ΠΠ° ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π°ΡΠ° Π² ΠΠ΅ΡΠΌΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ 39C3 (Chaos Communication Congress) Π±ΡΡ Π° ΡΠ°Π·ΠΊΡΠΈΡΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ Π·Π° 12 Π΄ΠΎΡΠ΅Π³Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ΠΈΠ·ΠΏΡΠ°Π²Π΅Π½ΠΈ (0-day) ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π·Π° Π·Π°ΡΠΈΡΠ΅Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ GnuPG (GNU Privacy Guard), ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΡΠ΅ OpenPGP ΠΈ S/MIME ΡΡΠΈΠ»ΠΈΡΠΈ Π·Π° ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°Π±ΠΎΡΠ° Ρ Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅. ΠΠ°ΠΉ-ΠΎΠΏΠ°ΡΠ½ΠΈΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ASCII ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ (ASCII Armor). Π Π°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡ ΠΈ ΠΏΠ°ΡΡΠΎΠ²Π΅ ΠΎΠ±Π΅ΡΠ°Π²Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ. CVE ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³ Π½Π° ΡΠΎΡΠΌΠ°ΡΠΈ ΠΈ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π² ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΡΠ΅ΡΠΊΠ° Π² ΠΏΠ°ΡΡΠ΅ΡΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΡΠΈΠ² ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΡΠ·Π΄Π°Π²Π° ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π΅ ΡΡΠ²ΠΏΠ°Π΄Π°Ρ Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ Π΄Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈΡ ΠΊΠ»ΡΡ.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
- ΠΡΠ΅ΡΠΊΠ° Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠ° Π½Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΡΠΎΡΠΌΠ°Ρ ASCII-Armor (ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π±Π»ΠΎΠΊ 'BEGIN/END PGP ARMORED FILE'), Π²ΠΎΠ΄Π΅ΡΠ° Π΄ΠΎ Π·Π°ΠΏΠΈΡ ΠΈΠ·Π²ΡΠ½ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π² gpg Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΎΡΠΎΡΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π° Π² ΡΡΠ½ΠΊΡΠΈΡΡΠ° armor_filter() ΠΈ Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π° ΠΎΡ Π΄Π²ΠΎΠΉΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡΡΠ° 'n' Π² ΡΠΈΠΊΡΠ»Π° 'for' β Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΡΠΎ 'n++' Π² ΡΠ°ΠΌΠΈΡ ΡΠΈΠΊΡΠ», Π±ΡΠΎΡΡΡΡ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΠΈ Π² ΡΡΠ»ΠΎΡΠΎ Π½Π° ΡΠΈΠΊΡΠ»Π° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π±ΡΡΠ΅ΡΠ° 'buf[n++]'. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΈΠ·Π²ΡΠ½ Π±ΡΡΠ΅ΡΠ° ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° ΠΈΠ·Π»ΠΈΡΠ΅Π½ Π±Π°ΠΉΡ, Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° 'ret_len' Π·Π°Π΅ΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ, Π½Π°Π΄Ρ Π²ΡΡΠ»ΡΡΠ° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ°.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ», Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡΠ΅ ΠΏΡΠ°Π²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΊΠΎΡΠ΅ΠΊΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ 'filename' Π² ΠΏΠ°ΠΊΠ΅Ρ Ρ Π΄Π°Π½Π½ΠΈ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ 'gpg βdecrypt poc.enc' ΠΈ 'gpg poc.enc' Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΡ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ ΡΠ°ΠΉΠ» poc.enc. ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π· ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ~/ .bash_completion ΠΈΠ»ΠΈ ~/ .ssh/authorized_keys.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΠΎΡΠΊΡΠΈΡΠΈΡ ΡΠ΅ΠΊΡΡ, ΠΏΠΎΠΊΠ°Π·Π²Π°Π½ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΏΡΠΈ ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΡ Β«βdecryptΒ» ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ (Detached Signature, ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ΅ Ρ ΠΎΠΏΡΠΈΡ Β«βdetach-sigΒ» ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ sig-ΡΠ°ΠΉΠ»). Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΅, ΡΠ΅ ΠΏΡΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ sig-ΡΠ°ΠΉΠ», Π°ΡΠ°ΠΊΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠΈ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊ (MITM), ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²Π½Π΅ΡΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² sig-ΡΠ°ΠΉΠ»Π°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° ΠΎΡΡΠ°Π²Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ sig-ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠΏΡΠΈΡΡΠ° Β«βdecryptΒ» ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. echo Plaintext > plaintext gpg βdetach-sig plaintext # ΠΏΡΠΎΠΌΡΠ½Π° plaintext.sig ΠΎΡ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ Ρ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΊΡΡ gpg βverify plaintext.sig plaintext # ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ gpg βdecrypt plaintext.sig # ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ, Π½ΠΎ ΠΈΠ·Π»ΠΈΠ·Π° ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠ΅ΠΊΡΡ
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΄ΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΡΡΠΏΠ΅ΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° Π·Π°ΡΠ°Π΄ΠΈ ΠΎΡΡΡΠ·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΎΡ 20000 Π·Π½Π°ΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Ρ Π΅Ρ.
- ΠΠ΅ΠΊΠΎΡΠ΅ΠΊΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ (MDC β Modification Detection Codes), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΠΎ ΡΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, ΡΠ΅ ΠΏΡΠΈ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΊΠ°ΡΠΎ Π΄ΡΡΠ³ ΡΠΈΠΏ ΠΏΠ°ΠΊΠ΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ·ΠΏΡΠΈΠ΅ΡΠΎ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π·Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ ΠΎΡΠΊΡΠΈΡ ΠΊΠ»ΡΡ).
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² CS-ΠΏΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ (Cleartext Signature), ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ»Π°Π³Π° Β«βnot-dash-escapedΒ» ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ (Detached Signature). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΡΠ°Π»ΡΠΈΠ²ΠΎ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ Π·Π° ΡΠΎΠ²Π°, ΠΊΠ°ΠΊΠ²ΠΈ Π΄Π°Π½Π½ΠΈ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈ ΠΎΡ Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΊΠ»ΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡ, Π½ΠΎ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° MITM-Π°ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ iso-ΠΎΠ±ΡΠ°Π· ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π² ΠΏΠΎΠ΄ΠΏΠΈΡΠ° ΠΊΡΠΌ ΠΎΠ±ΡΠ°Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Ρ Π΅Ρ, ΠΏΠΎ ΡΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π· Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ ΠΊΠ»ΡΡ.
- ΠΠΎΠ΄ΠΌΡΠ½Π° Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ASCII-ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° CS-ΠΏΠΎΠ΄ΠΏΠΈΡΠ° (Cleartext Signature) ΡΡΠ΅Π· Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» Ρ Π½ΡΠ»Π΅Π² ΠΊΠΎΠ΄. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΠ΅ΠΊΡΡ Π² Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Hash.
- ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΡΡΠ»ΠΊΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° OpenPGP Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ βOne-Pass Signed Messageβ Π² ASCII-ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΊΠ°ΡΠΎ βCleartext Signatureβ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ°. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ Ρ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π·Π° ΡΡΠΏΠ΅ΡΠ½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
- ΠΠΈΠΏΡΠ°ΡΠ° Π½Π° ΡΡΠ½ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΡΠΏΠ΅ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π»ΡΠΈΠ²ΠΈ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° βgpg βdecryptβ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΠΎ Π°Π²ΡΠ΅Π½ΡΠΈΡΠ½ΠΈ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° OpenPGP-ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π² gpg ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π² Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° OpenPGP. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ ΠΏΠΎΡΠΎΠ΄Π΅Π½ ΠΎΡ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ»Π³ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ Π² ASCII-ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° OpenPGP-Π΄Π°Π½Π½ΠΈ.
- Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΡ Π·Π° ΠΎΡΠΊΠ°Ρ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Ρ Π΅Ρ Π΄ΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈΡ SHA1.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ Π²ΡΠΎΡΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ (subkey) Π±Π΅Π· ΡΡΡ Π½ΠΎΡΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° ΠΌΠ°ΡΡΠ΅Ρ-ΠΊΠ»ΡΡΠ°. ΠΡΠ°ΠΊΠ°ΡΠ° ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ°Π»ΡΠΈΠ² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ Ρ ΠΎΠΏΡΠΈΡΡΠ° ββkeyringβ.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π΄Π²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² minisign, ΠΎΠΏΡΠΎΡΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ. Π Π΄Π²Π΅ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (1, 2) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° (β\e[1Eβ) ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ (β\rβ) Π² ΠΏΠΎΠ»Π΅ΡΠΎ Π·Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ, Π·Π° Π΄Π° ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ° ΠΈΠ·Ρ
ΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
