Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:unix:lab_szyfrowanie [2013/08/21 16:06] gjn utworzono |
pl:dydaktyka:unix:lab_szyfrowanie [2019/06/27 15:50] (aktualna) |
====== Praktyczne wykorzystanie narzędzi szyfrujących ====== | ====== Praktyczne wykorzystanie narzędzi szyfrujących ====== |
<code> | |
better !pout !cry | |
better watchout | |
lpr why | |
santa claus town | |
| |
cat /etc/passwd >list | |
ncheck list | |
ncheck list | |
cat list | grep naughty >nogiftlist | |
cat list | grep nice >giftlist | |
santa claus town | |
| |
who | grep sleeping | |
who | grep awake | |
who | egrep 'bad|good' | |
for (goodness sake) { | |
be good | |
} | |
| |
/* Nadesłał: Jakub Pelczar, IS 2012 */ | |
</code> | |
| |
===== DO_PRZYGOTOWANIA ===== | ===== DO_PRZYGOTOWANIA ===== |
| |
Samodzielnie należy przed tym laboratorium przygotować: | Samodzielnie należy przed tym laboratorium przygotować: |
* przeczytać [[http://dewinter.com/gnupg_howto/english/GPGMiniHowto.html|Gnu Privacy Guard Mini Howto]] | * przeczytać [[https://www.gnupg.org/howtos/en/GPGMiniHowto.html|Gnu Privacy Guard Mini Howto]] ([[http://7thguard.net/archiwalne_pliki/gpg.html|fragment po polsku]])) |
* przeglądnąć [[http://www.gnupg.org/gph/en/manual.html|The GNU Privacy Handbook]] | * przeglądnąć [[http://www.gnupg.org/gph/en/manual.html|The GNU Privacy Handbook]] |
| |
===== WPROWADZENIE ===== | ===== WPROWADZENIE ===== |
| |
| |
<code> | <code> |
$ gpg --encrypt --armor -o moj_plik.asc moj_plik | $ gpg --encrypt --armor -o moja_wiadomosc.asc moja_wiadomosc |
You did not specify a user ID. (you may use "-r") | You did not specify a user ID. (you may use "-r") |
| |
Enter the user ID: Nalepa | Enter the user ID: Nalepa |
$ head -5 moj_plik.asc | $ head -5 moja_wiadomosc.asc |
-----BEGIN PGP MESSAGE----- | -----BEGIN PGP MESSAGE----- |
Version: GnuPG v1.0.6 (GNU/Linux) | Version: GnuPG v1.0.6 (GNU/Linux) |
| |
hQEOA7Ek7eXZ0wFpEAP9ErVtkzekylOUMOyf2d+tw17eVUd7w5OGK++AZ6IZRXLB | hQEOA7Ek7eXZ0wFpEAP9ErVtkzekylOUMOyf2d+tw17eVUd7w5OGK++AZ6IZRXLB |
$ file moj_plik.asc | $ file moja_wiadomosc.asc |
moj_plik.asc: PGP armored text message | moja_wiadomosc.asc: PGP armored text message |
</code> | </code> |
| |
| |
<code> | <code> |
$ gpg --decrypt -o moj_plik moj_plik.asc | $ gpg --decrypt -o moja_wiadomosc moja_wiadomosc.asc |
| |
You need a passphrase to unlock the secret key for | You need a passphrase to unlock the secret key for |
| |
<code> | <code> |
$ gpg --sign --armor -o moj_plik.sign moj_plik | $ gpg --sign --armor -o moja_wiadomosc.sign moja_wiadomosc |
| |
You need a passphrase to unlock the secret key for | You need a passphrase to unlock the secret key for |
1024-bit DSA key, ID 51DDA662, created 2003-01-08 | 1024-bit DSA key, ID 51DDA662, created 2003-01-08 |
| |
$ head -5 moj_plik.sign | $ head -5 moja_wiadomosc.sign |
-----BEGIN PGP MESSAGE----- | -----BEGIN PGP MESSAGE----- |
Version: GnuPG v1.0.6 (GNU/Linux) | Version: GnuPG v1.0.6 (GNU/Linux) |
| |
<code> | <code> |
$ gpg --clearsig -o moj_plik.asc moj_plik | $ gpg --clearsig -o moja_wiadomosc.asc moja_wiadomosc |
You need a passphrase to unlock the secret key for | You need a passphrase to unlock the secret key for |
user: "Grzegorz J. Nalepa (Akademia Gorniczo-Hutnicza) <gjn@agh.edu.pl>" | user: "Grzegorz J. Nalepa (Akademia Gorniczo-Hutnicza) <gjn@agh.edu.pl>" |
1024-bit DSA key, ID 51DDA662, created 2003-01-08 | 1024-bit DSA key, ID 51DDA662, created 2003-01-08 |
$ grep -A1 '^-----BEGIN' moj_plik.asc | |
| $ grep -A1 '^-----BEGIN' moja_wiadomosc.asc |
-----BEGIN PGP SIGNED MESSAGE----- | -----BEGIN PGP SIGNED MESSAGE----- |
Hash: SHA1 | Hash: SHA1 |
-----BEGIN PGP SIGNATURE----- | -----BEGIN PGP SIGNATURE----- |
Version: GnuPG v1.0.6 (GNU/Linux) | Version: GnuPG v1.0.6 (GNU/Linux) |
| |
| $ gpg --verify moja_wiadomosc.asc |
| gpg: Signature made Fri Nov 29 00:55:22 2003 CET using DSA key ID 51DDA662 |
| gpg: Good signature from "Grzegorz J. Nalepa (Akademia Gorniczo-Hutnicza) <gjn@agh.edu.pl>" |
| </code> |
| <code> |
$ gpg --verify patch-2.4.20.gz.sign patch-2.4.20.gz | $ gpg --verify patch-2.4.20.gz.sign patch-2.4.20.gz |
gpg: Signature made Fri Nov 29 00:57:46 2002 CET using DSA key ID 517D0F0E | gpg: Signature made Fri Nov 29 00:57:46 2002 CET using DSA key ID 517D0F0E |
| |
<code> | <code> |
$ gpg -sear Wojnicki -o do_igora.asc moj_plik | $ gpg -sear Wojnicki -o moja_wiadomosc_do_igora.asc moja_wiadomosc_do_igora |
| |
You need a passphrase to unlock the secret key for | You need a passphrase to unlock the secret key for |
1024-bit DSA key, ID 51DDA662, created 2003-01-08 | 1024-bit DSA key, ID 51DDA662, created 2003-01-08 |
</code> | </code> |
| |
==== Uwierzytelnianie SSH ==== | ==== Uwierzytelnianie SSH ==== |
| |
| |
<code> | <code> |
enterprise$ ssh-keygen -t dsa | enterprise$ ssh-keygen -t rsa |
Generating public/private dsa key pair. | Generating public/private rsa key pair. |
Enter file in which to save the key (/home/gjn/.ssh/id_dsa): | Enter file in which to save the key (/home/gjn/.ssh/id_rsa): |
Enter passphrase (empty for no passphrase): | Enter passphrase (empty for no passphrase): |
Enter same passphrase again: | Enter same passphrase again: |
Your identification has been saved in /home/gjn/.ssh/id_dsa. | Your identification has been saved in /home/gjn/.ssh/id_rsa. |
Your public key has been saved in /home/gjn/.ssh/id_dsa.pub. | Your public key has been saved in /home/gjn/.ssh/id_rsa.pub. |
The key fingerprint is: | The key fingerprint is: |
b2:2e:01:08:31:21:43:04:87:65:dc:ea:1c:dc:07:95 gjn@enterprise | b2:2e:01:08:31:21:43:04:87:65:dc:ea:1c:dc:07:95 gjn@enterprise |
| |
<code> | <code> |
enterprise$ scp .ssh/id_dsa.pub gjn@voyager:.ssh/id_dsa.pub-enterpise | enterprise$ scp .ssh/id_rsa.pub gjn@voyager:.ssh/id_rsa.pub-enterpise |
gjn@voyager's password: | gjn@voyager's password: |
id_dsa.pub 100% |*****************************| 604 00:00 | id_rsa.pub 100% |*****************************| 604 00:00 |
</code> | </code> |
| |
| |
<code> | <code> |
enterprise$ ssh voyager 'cat .ssh/id_dsa.pub-enterpise >> | enterprise$ ssh voyager 'cat .ssh/id_rsa.pub-enterpise >> |
.ssh/authorized_keys' | .ssh/authorized_keys' |
gjn@voyager's password: | gjn@voyager's password: |
<code> | <code> |
enterprise$ ssh voyager | enterprise$ ssh voyager |
Enter passphrase for key '/home/gjn/.ssh/id_dsa': | Enter passphrase for key '/home/gjn/.ssh/id_rsa': |
Linux voyager 2.4.20 #4 Sun Jan 5 20:32:43 CET 2003 i586 unknown | Linux voyager 2.4.20 #4 Sun Jan 5 20:32:43 CET 2003 i586 unknown |
voyager$ | voyager$ |
| |
<code> | <code> |
enterprise$ ssh-add .ssh/id_dsa | enterprise$ ssh-add .ssh/id_rsa |
Enter passphrase for /home/gjn/.ssh/id_dsa: | Enter passphrase for /home/gjn/.ssh/id_rsa: |
Identity added: /home/gjn/.ssh/id_dsa (/home/gjn/.ssh/id_dsa) | Identity added: /home/gjn/.ssh/id_rsa (/home/gjn/.ssh/id_rsa) |
Identity added: .ssh/id_dsa (.ssh/id_dsa) | Identity added: .ssh/id_rsa (.ssh/id_rsa) |
enterprise$ ssh [-A] voyager | enterprise$ ssh [-A] voyager |
Linux enterprise 2.4.20 #4 Sun Jan 5 20:32:43 CET 2003 i586 unknown | Linux enterprise 2.4.20 #4 Sun Jan 5 20:32:43 CET 2003 i586 unknown |
==== - GnuPG ==== | ==== - GnuPG ==== |
//Uwaga//: ćwiczymy na studencie! | //Uwaga//: ćwiczymy na studencie! |
- wygenerować swój klucz, ''gpg --gen-key'', //NIE// należy zmieniać proponowanych wartości domyślnych (algorytm=''DSA and ElGamal'') | - wygenerować swój klucz, ''gpg -‐gen-key'', //NIE// należy zmieniać proponowanych wartości domyślnych (poza pierwszą algorytm (2) = ''DSA and ElGamal'') |
- //NIE// należy podpisywać kluczy (''--sign'') | - //NIE// należy podpisywać kluczy (''-‐sign'') |
- zaszyfrować i rozszyfrować wybrany plik dla siebie, | - zaszyfrować i rozszyfrować wybrany plik dla siebie, |
- wymienić się kluczami z sąsiadką/em, za/rozszyfrować dla siebie pliki, (należy wyeksportować swój klucz publiczny, przekazać drugiej osobie, i zaimportować jej/jego wyeksportowany klucz publiczny): | - wymienić się kluczami z sąsiadką/em, za/rozszyfrować dla siebie pliki, (należy wyeksportować swój klucz publiczny, przekazać drugiej osobie, i zaimportować jej/jego wyeksportowany klucz publiczny): |
* //PRZED// przystąpieniem do ćwiczenia przechodzimy do katalogu ///tmp//: ''cd /tmp'' | * //PRZED// przystąpieniem do ćwiczenia przechodzimy do katalogu ///tmp//: ''cd /tmp'' |
* wszystkie pliki (klucze, pliki do zaszyfrowania) mają się znajdować w tym katalogu | * wszystkie pliki (klucze, pliki do zaszyfrowania) mają się znajdować w tym katalogu |
* wyświetlić listę kluczy: ''gpg --list-keys'' | * wyświetlić listę kluczy: ''gpg -‐list-keys'' |
* //UWAGA//: identyfikator klucza, to dowolny fragment linii z napisem (a nie login!) | * //UWAGA//: identyfikator klucza, to dowolny fragment linii z napisem (a nie login!) |
* eksport klucza: ''--export'' | * eksport klucza: ''-‐export'' |
* import klucza: ''--import'' | * import klucza: ''-‐import'' |
- podpisać elektronicznie plik, | - podpisać elektronicznie plik, |
- ew. podpisać elektronicznie plik i zaszyfrować dla drugiej osoby. | - ew. podpisać elektronicznie plik i zaszyfrować dla drugiej osoby. |
| |
==== - SSH ==== | ==== - SSH ==== |
| |