paint-brush
Прынцып «Сеткі даверу», або як працуе PGPпа@web3judge
291 чытанні

Прынцып «Сеткі даверу», або як працуе PGP

па Judge5m2024/09/22
Read on Terminal Reader

Занадта доўга; Чытаць

PGP - гэта адкрыты стандарт для шыфравання і дэшыфравання тэкстаў, паведамленняў электроннай пошты, файлаў, каталогаў і цэлых раздзелаў дыска. Сучасныя версіі PGP сумяшчальныя з GnuPG і іншымі сістэмамі, сумяшчальнымі з OpenPGP. PGP дазваляе свабодна публікаваць свой адкрыты ключ без шкоды для бяспекі.
featured image - Прынцып «Сеткі даверу», або як працуе PGP
Judge HackerNoon profile picture

Вашы месенджары, сайты з пратаколам HTTPS, аўтарызацыя ў інтэрнэт-сэрвісах, бяспечнае сховішча файлаў, а часам нават будзільнікі - усё гэта выкарыстоўвае PGP. Але што гэта наогул такое? Вікіпедыя дае наступнае вызначэнне:


Pretty Good Privacy ( PGP ) - гэта праграма шыфравання , якая забяспечвае крыптаграфічную прыватнасць і аўтэнтыфікацыю для перадачы дадзеных . PGP выкарыстоўваецца для подпісу , шыфравання і дэшыфравання тэкстаў, паведамленняў электроннай пошты , файлаў, каталогаў і цэлых раздзелаў дыска, а таксама для павышэння бяспекі сувязі па электроннай пошце. Філ Цымерман распрацаваў PGP у 1991 годзе.


PGP і падобнае праграмнае забеспячэнне адпавядае стандарту OpenPGP (RFC 4880), адкрытаму стандарту для шыфравання і дэшыфравання даных . Сучасныя версіі PGP сумяшчальныя з GnuPG і іншымі OpenPGP-сумяшчальнымі сістэмамі.


На словах гэта зразумела, але давайце паглядзім, як гэта працуе.

Канцэпцыя

Давайце ўявім, што ў нас ёсць карыстальнік А і карыстальнік Б. Ім трэба пачаць зносіны, але так, каб ніхто не мог даведацца пра змест іх перапіскі. Вось тут і ўваходзіць шыфраванне.



Сучасныя сістэмы выкарыстоўваюць алгарытмы Rjindael (у цяперашні час AES), DES, RC4 і некаторыя іншыя.


Не буду ўдавацца ў падрабязнасці іх працы. Усё, што вам трэба ведаць пра іх, гэта тое, што калі вы даяце ім зыходныя даныя і ключ, вы атрымаеце зашыфраваны масіў байтаў, які можна адмяніць тым жа ключом. Як навясны замок, яны адчыняюцца і зачыняюцца, але без ключа зрабіць гэта практычна немагчыма (эфектыўных спосабаў узламаць гэтыя алгарытмы няма). Такія алгарытмы шыфравання называюцца сіметрычнымі алгарытмамі шыфравання.


І гэта адказ, ці не так? Няхай карыстальнік А аддасць свой ключ карыстальніку Б. Тады вы зможаце зашыфраваць вашу перапіску з абодвух бакоў, і ніхто не будзе ведаць, што яны пішуць адзін аднаму.


Вядома, калі абодва карыстальнікі ведаюць адзін аднаго ў рэальным жыцці, адзін можа падарыць другому флэшку з ключом.


Але ў інтэрнэце гэта зрабіць немагчыма, карыстальнікаў далёка не два, а адзін сэрвіс можа абслугоўваць мільёны розных карыстальнікаў у дзень. Акрамя таго, не заўсёды ёсць магчымасць перадаць свой асабісты ключ шыфравання ўсім, з кім вы асабіста перапісваецеся падчас сустрэчы.

Электронны подпіс

Паколькі перадача прыватнага ключа ад таго ж AES падобная на пагрозу вашай бяспецы, узнікае пытанне - як карыстальнік A можа бяспечна перадаць свой ключ карыстальніку B?


Рашэнне - падпісваць ключы і электронныя лісты іншым ключом! Але толькі гэты другі ключ будзе з асіметрычнага алгарытму шыфравання. Сутнасць тая ж, што і ў сіметрычным, але цяпер ад замка няма аднаго ключа - іх два. Адзін з іх «публічны», толькі ім можна зашыфраваць даныя, а другі — «прыватны», які здольны расшыфраваць дадзеныя, апрацаваныя адкрытым ключом сваёй пары.


Такі працэс дазваляе вам свабодна публікаваць свой адкрыты ключ без шкоды для вашай бяспекі.


Гэта з'яўляецца асновай прынцыпу працы «электронных подпісаў».



Яны патрэбныя для таго, каб карыстальнік B дадзеных мог быць упэўнены, што дадзеныя былі зашыфраваны ключом, які належыць карыстальніку A, і наадварот.


Подпіс ствараецца з хэша зыходных даных і далучаецца да адпраўленага пакета.


Атрымальнік расшыфроўвае подпіс адкрытым ключом, параўноўвае яго з хэшам атрыманых даных, і калі яны супадаюць, то адпраўнік - сапраўдны карыстальнік, а не махляр.

Сетка даверу

Добра, як ажыццявіць рукапацісканне (рукапацісканне - гэта працэс фарміравання абароненага канала сувязі) мы разабраліся.


Цяпер уявіце, што паміж карыстальнікамі A і B ёсць іншы карыстальнік, C.


«C» - гэта зламыснік, якому неабходна ведаць падрабязнасці зносін A і B.


Ён стварае дзве пары ключоў для подпісу і яшчэ два ключы для шыфравання даных.


Карыстальніку A ён прадстаўляе сябе як карыстальнік B, а для карыстальніка B як карыстальнік A. Рэальнасць такая, што ў рэаліях Інтэрнэту нельга быць на 100% упэўненым у сапраўднасці электроннага подпісу і ключа.


Такім чынам, калі такі сцэнар сапраўды магчымы, нашы А і Б не будуць у бяспецы?


Ёсць выратаванне! Цяпер мы падышлі да галоўнай тэмы - «Сетка даверу».


Гэтая сетка заключаецца ў тым, што ўсе карыстальнікі ведаюць адкрытыя ключы электронных подпісаў адзін аднаго, і кожнаму ўдзельніку сеткі можна задаць пытанне: «Ці належыць гэты ключ, які мне даслаў карыстальнік Б, яму, а не якому-небудзь зламыснік?»


У гэтым выпадку сетка даверу можа быць вельмі эфектыўнай нават пры невялікай колькасці ўдзельнікаў, бо калі адзін ведае другога, трэці, спытаўшы першага, даведаецца адкрыты ключ другога. Як карані дуба, Web of Trust пераплятаецца, што дазваляе карыстальнікам абменьвацца дадзенымі.




Цяпер наш карыстальнік C больш не можа выдаваць сябе за іншых карыстальнікаў. Толькі калі ён паспрабуе, карыстальнік А, спытаўшы каго-небудзь з удзельнікаў сеткі, зразумее, што нехта стаіць паміж ім і карыстальнікам Б і перахоплівае паведамленні.

Абагульненне

А цяпер давайце аб'яднаем усе гэтыя паняцці ў адну простую схему.


Карыстальнікі A і B знаходзяцца ў адной даверанай сетцы і хочуць пачаць бяспечную сувязь.


“A” запытвае ў некалькіх удзельнікаў сеткі адкрыты ключ “B”. Выкарыстоўваючы гэты ключ, ён адпраўляе запыт рукапаціскання карыстальніку B. «B», у сваю чаргу, пазнае адкрыты ключ карыстальніка A, генеруе сіметрычны ключ для далейшай сувязі і, выкарыстоўваючы адкрыты ключ карыстальніка A, адпраўляе сіметрычны ключ назад.


Усе паведамленні ў гэтай схеме таксама падпісваюцца электроннымі подпісамі.


Дзякуючы такой сувязі немагчыма ўмяшанне звонку, і нашы карыстальнікі могуць нарэшце пачаць перапіску.


Няма сэнсу выкарыстоўваць гэтую схему ўручную - яна ўжо ўбудаваная ва ўсе магчымыя пратаколы інтэрнэт-камунікацыі вашымі браўзерамі і праграмамі.

Ніжняя лінія

Ні адна сістэма не з'яўляецца ідэальнай. MITM (Чалавек пасярэдзіне, у нашым выпадку - спосаб падробкі сертыфікатаў шляхам праверкі падробленых ключоў з подпісамі, якім давярае браўзер ахвяры) атакі выконваюцца і сёння.


Але калі вы бачыце «зялёны замок» каля адраснага радка вашага браўзера, вашы даныя знаходзяцца ў надзейных руках алгарытму PGP.