Kas ir asimetriskā šifrēšana?

Kriptogrāfijai ir daudz dažādu daļu. Tomēr, ja vēlaties šifrēt dažus datus, varat izmantot divu veidu algoritmus: simetriskos šifrēšanas algoritmus un asimetriskos šifrēšanas algoritmus. Koncepcija ir tāda pati: tie var šifrēt datus, bet darbojas pēc dažādiem principiem, un tiem ir citi lietošanas gadījumi.

Tomēr nominālā atšķirība apraksta šifrēšanas atslēgas. Simetriskā šifrēšanas algoritms datu šifrēšanai un atšifrēšanai izmanto vienu koplietotu atslēgu. Asimetriskā šifrēšanas algoritms izmanto divas saistītas atslēgas, vienu atšifrēšanai un otru atšifrēšanai.

Terminoloģija

Asimetriskās šifrēšanas algoritmi balstās uz divu atšķirīgu atslēgu izmantošanu. Vienu atslēgu var izmantot datu šifrēšanai, bet otru atšifrēšanai. Abas šifrēšanas atslēgas nav tikai kādas vecas divas vērtības. Tie ir savstarpēji saistīti, un tie ir jāģenerē, izmantojot atslēgu ģenerēšanas algoritmu.

Alternatīvs asimetriskas šifrēšanas nosaukums ir publiskās atslēgas šifrēšana. Tas ir tāpēc, ka ir paredzēts, ka viena no divām atslēgām ir publiska. Tradicionālā koncepcija ir tāda, ka šifrēšanas atslēga tiek publiski koplietota, un atšifrēšanas atslēga tiek turēta stingri privāta. Šī iemesla dēļ šifrēšanas atslēga tiek saukta par publisko atslēgu, un atšifrēšanas atslēga ir privātā atslēga.

Šī konfigurācija ļauj ikvienam šifrēt ziņojumu, lai to atšifrētu tikai privātās atslēgas īpašnieks. Tas ir noderīgi, jo ikviens var droši sazināties ar paredzēto adresātu, izmantojot vienu publicētu šifrēšanas atslēgu. Lai droši sazinātos, adresātam ir jāizmanto sākotnējā sūtītāja publiskā atslēga.

Teorētiski nav iemesla, ka nevarētu apmainīt atslēgas un koplietot atšifrēšanas atslēgu, vienlaikus saglabājot šifrēšanas atslēgu privātu. To var izmantot, lai pārbaudītu avota autentiskumu, ja tas nenodrošina nozīmīgu drošību. Tomēr praksē tas netiek darīts, jo pastāv citi mehānismi tāda paša rezultāta sasniegšanai.

Simetrisko šifrēšanas algoritmu īpašības

Asimetriskiem šifrēšanas algoritmiem, nodrošinot tādu pašu drošības līmeni, ir jāizmanto daudz lielākas atslēgas nekā simetriskiem šifrēšanas algoritmiem. Parasti simetriskas šifrēšanas algoritms ar 128 bitu šifrēšanas atslēgu tiek uzskatīts par drošu, lai gan priekšroka tiek dota 256 bitu atslēgām. Asimetriskā šifrēšanas algoritmā 2048 bitu atslēgas tiek uzskatītas par drošām.

2048 bitu atslēgas piemērs attiecas uz RSA, kas jau sen ir asimetriskas šifrēšanas standarts. Eliptiskās līknes kriptogrāfija tomēr ir jaunāka koncepcija, kas ir arī asimetriska, bet izmanto ievērojami mazākas atslēgas. 2048 bitu RSA atslēga nodrošina līdzvērtīgu drošību 224 bitu eliptiskās līknes atslēgai.

Padoms: Iepriekš minētās vērtības tiek uzskatītas par drošām komerciālai lietošanai, taču NSA ir nepieciešamas spēcīgākas atslēgas īpaši slepenai šifrēšanai. Nepieciešamas vismaz 3072 bitu RSA atslēgas, savukārt ir nepieciešamas 384 bitu eliptiskās līknes atslēgas. Ir vērts atzīmēt, ka 3072 bitu RSA atslēga ir vājāka nekā 384 bitu eliptiskās līknes atslēga.

Asimetriskās šifrēšanas algoritmi mēdz būt salīdzinoši lēni, salīdzinot ar simetriskas šifrēšanas algoritmiem. Drošu saziņu var veikt nedrošā kanālā, ja abas puses ģenerē asimetrisku atslēgu pāri un pēc tam apmaina publiskās atslēgas. Tādā veidā abas puses var nosūtīt ziņojumus, kurus tikai otra var atšifrēt.

Praksē vismaz vienai no pusēm ir jāpārbauda savas publiskās atslēgas integritāte. Tas tiek darīts, izmantojot PKI vai publiskās atslēgas infrastruktūru. Tas izpaužas kā sertifikācijas iestādes, kas paraksta citu personu atslēgas, lai parādītu, ka viņu identitāte ir pārbaudīta. Šajā sistēmā ir jāuzticas visām sertifikācijas iestādēm; bez tā sistēma sabruks.

Izmantot praksē

Asimetriskas šifrēšanas algoritmi parasti netiek izmantoti lielapjoma šifrēšanai, it īpaši, ja problēma ir saistīta ar laiku vai veiktspēju. Tos var izmantot, lai šifrētu vienreizējus ziņojumus, piemēram, e-pasta saturu. Tomēr to spēja nodrošināt nedrošu kanālu padara tos par lielisku izvēli atslēgu apmaiņas protokolam, kas pārraida simetriskas atslēgas, kuras pēc tam var izmantot efektīvākai lielapjoma šifrēšanai.

Šis ir TLS lietošanas gadījums, kas nodrošina drošību HTTPS. Lietotājs izveido savienojumu ar tīmekļa serveri; pēc tam viņi apmainās ar publiskajām atslēgām, lai šifrētu mazus ziņojumus viens otram. Pēc tam serveris ģenerē simetrisku atslēgu, šifrē to ar lietotāja publisko atslēgu un nosūta viņiem. Lietotājs atšifrē atslēgu un pēc tam var izmantot simetrisko atslēgu, lai efektīvi šifrētu turpmākos sakarus ar serveri.

Sertifikācijas iestāde iepriekš minētajā procesā pārbauda servera publisko atslēgu. Tas ļauj lietotājam būt pārliecinātam, ka viņš sazinās ar to, ar ko viņš mēģina sazināties. Vairumā gadījumu lietotājs ģenerē vienreiz lietojamu atslēgu, jo serverim nav jāpārbauda, ​​ar kuru lietotāju tas sazinās.

Secinājums

Asimetriskās šifrēšanas algoritmi izmanto divas atšķirīgas atslēgas. Viena atslēga tiek izmantota šifrēšanai, bet otra - atšifrēšanai. Atslēgas ir matemātiski saistītas, un tās jāģenerē ar atslēgu ģenerēšanas algoritmu; nejaušās vērtības nedarbojas. Parasti šifrēšanas atslēga tiek kopīgota publiski, ļaujot ikvienam šifrēt ziņojumu, kas paredzēts atslēgu pāra īpašniekam.

Kamēr atšifrēšanas atslēga paliek privāta, tikai atslēgas īpašnieks var atšifrēt ziņojumus, kas šifrēti ar publisko atslēgu. Kā tādu asimetrisko šifrēšanu bieži sauc arī par publiskās atslēgas kriptogrāfiju.