Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:noise_framework [2021/01/16 19:47]
ghorvat [Svojstva Noise Pipes složenog protokola]
racfor_wiki:noise_framework [2024/12/05 12:24] (trenutno)
Redak 3: Redak 3:
 ===== Sažetak ===== ===== Sažetak =====
  
 +Noise je radni okvir za izgradnju sigurnih kriptografskih protokola baziranih na Diffie-Hellman razmjeni ključeva. \\
 +Glavna ideja je da on pruža bazu koju korisnici nadopunjavaju kombiniranjem elemenata skupa osnovnih kriptografskih operacija da bi dobili različita sigurnosna svojstva. To omogućuje stvaranje protokola sa točno onim mogućnostima koje korisnicima trebaju što je idealno za IoT uređaje kojima su potrebni mali i jednostavni protokoli.
 +
 +Ključne riječi: Noise, Diffie-Hellman, razmjena ključeva, kriptografija
 ===== Uvod u protokole za razmjenu ključeva ===== ===== Uvod u protokole za razmjenu ključeva =====
  
Redak 42: Redak 46:
 Noise je radni okvir za izgradnju sigurnih kriptografskih protokola baziranih na Diffie-Hellman razmjeni ključeva. Fokusira se specifično na sigurnosne kanale. Noise je radni okvir za izgradnju sigurnih kriptografskih protokola baziranih na Diffie-Hellman razmjeni ključeva. Fokusira se specifično na sigurnosne kanale.
  
-Glavna ideja Noise radnog okvira je da on pruža bazu koju korisnici nadopunjavaju kombiniranjem skupa osnovnih kriptografskih operacija da bi dobili različita sigurnosna svojstva. Na taj način se olakšava stvaranje novog protokola korisnicima jer ne moraju raditi protokol od nule. Jedna od primarnih koristi Noise radnog okvira je da omogućuje stvaranje protokola sa točno onim mogućnostima koje korisniku trebaju kao i analizu prisutnosti tih mogućnosti. U tome pomaže i alat [[https://noiseexplorer.com/|Noise Explorer]] koji automatski analizira uzorke rukovanja te grafički demonstrira razinu sigurnosti u svakom koraku rukovanja.+Glavna ideja Noise radnog okvira je da on pruža bazu koju korisnici nadopunjavaju kombiniranjem skupa osnovnih kriptografskih operacija da bi dobili različita sigurnosna svojstva. Na taj način se olakšava stvaranje novog protokola korisnicima jer ne moraju raditi protokol od nule. Jedna od primarnih prednosti Noise radnog okvira je da omogućuje stvaranje protokola sa točno onim mogućnostima koje korisniku trebaju kao i analizu prisutnosti tih mogućnosti. U tome pomaže i alat [[https://noiseexplorer.com/|Noise Explorer]] koji automatski analizira uzorke rukovanja te grafički demonstrira razinu sigurnosti u svakom koraku rukovanja.
  
 Noise zahtjeva minimalan skup osnovnih operacija: Noise zahtjeva minimalan skup osnovnih operacija:
Redak 50: Redak 54:
  
 Svaki Noise protokol počinje rukovanjem jedinstvenim uzorkom. Tijekom te faze stranke razmjenjuju DH javne ključeve i obavljaju niz DH operacija. Krajnji rezultat rukovanja je šifrirani kanal koji jamči povjerljivost, integritet i autentičnost. Svaki Noise protokol počinje rukovanjem jedinstvenim uzorkom. Tijekom te faze stranke razmjenjuju DH javne ključeve i obavljaju niz DH operacija. Krajnji rezultat rukovanja je šifrirani kanal koji jamči povjerljivost, integritet i autentičnost.
 +
 +==== Jezgra Noise sustava ====
  
 Jezgra Noise sustava je skup varijabla koje održavaju stranke tijekom faze rukovanja, te pravila slanja i primanja poruka rukovanja dobivenih procesiranjem tokena. Jezgra Noise sustava je skup varijabla koje održavaju stranke tijekom faze rukovanja, te pravila slanja i primanja poruka rukovanja dobivenih procesiranjem tokena.
Redak 70: Redak 76:
  
 Uzorak poruke dobiva se iz nekog niza tokena iz skupa {‘e’, ‘s’, ‘ee’, ‘es’, ‘se’, ‘ss’, ‘psk’}. Uzorak poruke dobiva se iz nekog niza tokena iz skupa {‘e’, ‘s’, ‘ee’, ‘es’, ‘se’, ‘ss’, ‘psk’}.
 +
 +==== Imenovanje uzoraka ====
  
 Imena uzoraka sastoje se od dva znaka, a označavaju stanje statičkog ključeva inicijatora i odgovaratelja.  Imena uzoraka sastoje se od dva znaka, a označavaju stanje statičkog ključeva inicijatora i odgovaratelja. 
Redak 86: Redak 94:
 Primjeni nekih imenovanih uzoraka: Primjeni nekih imenovanih uzoraka:
  
-|NN():|XX(ss, rs):|KN(s):|IK(s, rs):| +NN(): XX(ss, rs): KN(s): ^IK(s, rs): ^ 
-|-> e|::: -e|-> s|<- s| +| -> e \\ <- e, eez | -> e \\ <- e, ee, s, es \\ -> s, se| -> s \\ ... \\ -> e \\ <- e, ee, se <- s \\ ... \\ -> e, es, s, ss \\ <- e, ee, se| 
-|<e, ee|::: <- e, ee, s, es|...|...| +
-||::: -> s, se|-> e|-> e, es, s, ss+
-| ::: |::: |<- e, ee, se|<- e, ee, se|+
  
 U prvom primjeru, uzorak NN opisuje neautentificirano DH rukovanje. U prvom primjeru, uzorak NN opisuje neautentificirano DH rukovanje.
Redak 104: Redak 110:
 ===== Noise Pipes složeni protokol ===== ===== Noise Pipes složeni protokol =====
  
-Do sada se pretpostavljalo da Alice Bob žele izvršiti jedan Noise protokol izabran od strane inicijatora. Neka to bude Alice. No postoje brojni razlozi zašto bi možda Bob želio zamijeniti protokol s nekim drugim Noise protokolom nakon primitka poruke od Alice.+Do sada se pretpostavljalo da Ana Branko žele izvršiti jedan Noise protokol izabran od strane inicijatora. Neka to bude Ana. No postoje brojni razlozi zašto bi možda Branko želio zamijeniti protokol s nekim drugim Noise protokolom nakon primitka poruke od Ane.
  
 Na primjer: Na primjer:
-  * Alice je možda odabrala protokol baziran na šifriranju, DH funkciji, ili rukovanju kojeg Bob ne podržava. +  * Ana je možda odabrala protokol baziran na šifriranju, DH funkciji, ili rukovanju kojeg Branko ne podržava. 
-  * Alice je možda poslala zero-RTT šifriranu inicijalnu poruku baziranu na zastarjeloj verziji Bobovog statičkog javnog ključa.+  * Ana je možda poslala zero-RTT šifriranu inicijalnu poruku baziranu na zastarjeloj verziji Brankovog statičkog javnog ključa.
  
-Rješavanje takvog scenarija zahtjeva složeni protokol gdje se Bob prebacuje s inicijalnog Noise protokola odabranog od Alice u novi Noise protokol. U takvom složenom protokolu role inicijatora i odgovaratelja bi bili obrnute. Bob bi postao inicijator novog Noise protokola, a Alice odgovaratelj.+Rješavanje takvog scenarija zahtjeva složeni protokol gdje se Branko prebacuje s inicijalnog Noise protokola odabranog od Ane u novi Noise protokol. U takvom složenom protokolu role inicijatora i odgovaratelja bi bile obrnute. Branko bi postao inicijator novog Noise protokola, a Ana odgovaratelj.
  
-Složeni protokoli uvode kompleksnost budući da Alice treba objaviti Noise protokol s kojim počinje i Noise protokole u koje se može prebaciti, a obje stranke moraju ugovoriti sigurnu tranziciju.+Složeni protokoli uvode kompleksnost budući da Ana treba objaviti Noise protokol s kojim počinje i Noise protokole u koje se može prebaciti, a obje stranke moraju ugovoriti sigurnu tranziciju.
  
 Tipični složeni protokol za zero-RTT šifriranje uključuje tri različita Noise protokola: Tipični složeni protokol za zero-RTT šifriranje uključuje tri različita Noise protokola:
-  * Potpuni protokol je korišten ako Alice ne posjeduje pohranjene informacije o Bobu koje bi omogućile zero-RTT šifriranje, ili se jednostavno ne želi koristiti zero-RTT rukovanje.+  * Potpuni protokol je korišten ako Ana ne posjeduje pohranjene informacije o Branku koje bi omogućile zero-RTT šifriranje, ili se jednostavno ne želi koristiti zero-RTT rukovanje.
   * Zero-RTT protokol koji omogućuje šifriranje podataka u inicijalnoj poruci.   * Zero-RTT protokol koji omogućuje šifriranje podataka u inicijalnoj poruci.
-  * Zamjenski protokol koji je aktiviran ako Bob ne može dešifrirati Aliceinu prvu zero-RTT rukovanje poruku+  * Zamjenski protokol koji je aktiviran ako Branko ne može dešifrirati Aninu prvu zero-RTT rukovanje poruku.
  
 Noise Pipes podržava sve iznad navedene slučaje, a sljedeća rukovanja ga definiraju: Noise Pipes podržava sve iznad navedene slučaje, a sljedeća rukovanja ga definiraju:
  
-XX uzorak je korišten za potpuno rukovanje ako obje stranke nisu komunicirale nikad prije, nakon čega će Alice zapamtiti Bobov statički javni ključ.+XX uzorak je korišten za potpuno rukovanje ako obje stranke nisu komunicirale nikad prije, nakon čega će Ana zapamtiti Brankov statički javni ključ.
 <code>XX:   <code>XX:  
 -> e -> e
Redak 134: Redak 140:
 <- e, ee, se</code> <- e, ee, se</code>
  
-XXfallback je rezervni uzorak korišten za obrnuto rukovanje ako Bob ne uspije dešifrirati početnu IK poruku (recimo ako je promijenio svoj statički ključ).+XXfallback je rezervni uzorak korišten za obrnuto rukovanje ako Branko ne uspije dešifrirati početnu IK poruku (recimo ako je promijenio svoj statički ključ).
  
 <code>XXfallback:                    <code>XXfallback:                   
Redak 144: Redak 150:
 ==== Svojstva Noise Pipes složenog protokola ==== ==== Svojstva Noise Pipes složenog protokola ====
  
-Prije nego napišemo svojstva Noise Pipes složenog protokola, definirajmo sljedeće: +Dane su sljedeće definicije\\ 
- +**Noise Boxes** – zaštićene zasebne poruke (slično kao PGP, NaCl, itd.) \\ 
-**Noise Boxes** – zaštićene zasebne poruke (slične kao PGP, NaCl, itd.) \\ +**Noise Pipes** – zaštićene interaktivne sjednice (slično kao SSL, SSH, CurveCP, itd.)
-**Noise Pipes** – zaštićene interaktivne sjednice (slične kao SSL, SSH, CurveCP, itd.)+
  
 Noise Pipes nadograđuje Noise Boxes protokol, pa nasljeđuje sva njegova svojstva: Noise Pipes nadograđuje Noise Boxes protokol, pa nasljeđuje sva njegova svojstva:
Redak 166: Redak 171:
 Protokoli poput TLS, IPsec i SSH razvijani su veliki broj godina i zbog njihove kompleksnosti teško ih je nadograđivati s novim kriptografskim funkcionalnostima koje se svakodnevno pojavljuju. Protokoli poput TLS, IPsec i SSH razvijani su veliki broj godina i zbog njihove kompleksnosti teško ih je nadograđivati s novim kriptografskim funkcionalnostima koje se svakodnevno pojavljuju.
  
-Uz veliku popularnost Internet svari, ljudi imaju potrebu za malim i jednostavnim protokolima koje mogu prilagoditi svojim potrebama.+Uz veliku popularnost Internet svari, raste potreba za malim i jednostavnim protokolima koji se mogu prilagoditi individualnim potrebama.
  
-Implementacija novog protokola uvijek je morala ići od nule što bi zahtijevalo puno posla. Taj posao bi bio ponavljajući budući da su mnogi elementi poput izvedbe ključa, potvrde ključa, analize sigurnosti, modela sigurnosti, dokaza sigurnosti, itd. jednaki svima.+Implementacija novog protokola uvijek je morala ići od nule što bi zahtijevalo puno posla. Taj posao bi bio ponavljajući budući da su mnogi elementi poput izvedbe ključa, potvrde ključa, analize sigurnosti, modela sigurnosti, dokaza sigurnosti, i dr.jednaki svima.
  
 Noise se pojavio 2015. godine, i rješava upravo te probleme. Noise se pojavio 2015. godine, i rješava upravo te probleme.
Redak 177: Redak 182:
  
 Njegov potencijal prepoznaje sve više kompanija koje ga koriste za vlastite projekte: Njegov potencijal prepoznaje sve više kompanija koje ga koriste za vlastite projekte:
-  * WhatsApp - za šifriranje komunikacije između klijenta i poslužitelja +  * [[https://www.wireguard.com/|WireGuard]] - za uspostavu šifriranih kanala između klijenata 
-  * WireGuard - za uspostavu šifriranih kanala između klijenata +  * [[https://signal.org/|WhatsApp]] - za šifriranje komunikacije između klijenta i poslužitelja 
-  * Slackov Nebula projekt, The Lightning Network, I2P, i drugi.+  * [[https://github.com/slackhq/nebula|Slack Nebula projekt]][[https://lightning.network/|The Lightning Network]][[https://geti2p.net/en/|I2P]], i drugi.
  
 ===== Literatura ===== ===== Literatura =====
  
-[1] [[https://en.wikipedia.org/wiki/Key_exchange]]+[1] [[https://en.wikipedia.org/wiki/Key_exchange|Key exchange]]
  
-[2] [[https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange]]+[2] [[https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange|Diffie-Hellman key exhange]]
  
-[3] [[https://github.com/noiseprotocol/noise_spec/wiki]] +[3] [[https://github.com/noiseprotocol/noise_spec/wiki|Noise protocol]] 
  
-[4] [[https://noiseprotocol.org/noise.html]]  +[4] [[https://noiseprotocol.org/noise.html|Trevor Perrin, The Noise Protocol Framework]]  
  
-[5] [[https://duo.com/labs/tech-notes/noise-protocol-framework-intro]]+[5] [[https://duo.com/labs/tech-notes/noise-protocol-framework-intro|Nick Mooney, An Introduction To the Noise Protocol Framework]]
  
  
racfor_wiki/noise_framework.1610826473.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0