AEAD:n valinta tuotantojärjestelmiin
Sovella päätöksentekokehystä oikean AEAD-menetelmän valitsemiseen uhkamallin ja suorituskykyvaatimusten perusteella.
AEAD:n valinta tuotantojärjestelmiin on ilmainen Cryptology Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cryptology Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
AES-GCM: oletusvalinta
AES-GCM on oikea oletusvalinta useimpiin tuotantojärjestelmiin. AES-NI kiihdyttää sitä lähes kaikissa nykyaikaisissa x86- ja ARM64-suorittimissa, sitä tuetaan laajasti TLS-pinoissa ja kryptografisissa kirjastoissa, ja se hyötyy laajasta kryptanalyysistä sekä todellisista käyttökokemuksista.
AES-GCM:n nonce-rajat
AES-GCM käyttää 96-bittistä noncea. Satunnaisesti luotuja nonceja käytettäessä syntymäpäiväraja saavutetaan samalla avaimella noin 2^32 viestin jälkeen, jolloin nonce-törmäyksen todennäköisyys ei ole enää vähäinen. Suuren volyymin järjestelmissä noncejen hallinta laskurin avulla tai avaimen vaihtaminen 2^32 viestin jälkeen on välttämätöntä.
ChaCha20-Poly1305: kun AES-NI:tä ei ole
ChaCha20-Poly1305 on oikea valinta, kun AES-NI:tä ei ole saatavilla tai noncejen luominen saattaa olla epäluotettavaa. Se on nopea ohjelmistototeutuksena, vakioaikainen rakenteensa ansiosta (ja siten vastustuskykyinen ajoitussivukanaville), ja se on TLS 1.3:n pakollinen salauspaketti ympäristöissä, joissa ei ole AES-laitteistotukea.
AES-GCM-SIV noncejen suojaamiseen
Kun nonceja saatetaan käyttää uudelleen tai ne on luotava deterministisesti, kuten tilattomissa palveluissa tai avainten käärimisessä, AES-GCM-SIV (RFC 8452) on oikea valinta. Se tarjoaa suojan nonce-väärinkäyttöä vastaan kohtuullisin suorituskykykustannuksin verrattuna tavalliseen AES-GCM:ään.
AEGIS maksimaaliseen läpimenoon
AEGIS-128L on oikea valinta, kun salauksen suurin mahdollinen läpimeno on tarpeen ja AES-NI:n saatavuus taataan kaikissa käyttöympäristöissä. Suuren kaistanleveyden verkkolaitteet, VPN-keskittimet ja tallennustilan salausjärjestelmät ovat erityisen sopivia käyttökohteita, joissa AEGIS tarjoaa merkittävän suorituskykyedun AES-GCM:ään verrattuna.
Avaimen koon valinta: 128 vai 256 bittiä
AES-128 tarjoaa 128-bittisen turvallisuuden, jota pidetään riittävänä kaikkia nykyisiä ja ennakoitavissa olevia klassisen laskennan uhkia vastaan. AES-256 tarjoaa lisämarginaalia tulevaa kehitystä vastaan, ja sitä edellytetään joissakin vaatimustenmukaisuuskehyksissä, kuten NSA Suite B:n mukaisessa TOP SECRET -luokituksessa. Useimmissa sovelluksissa AES-128 riittää ja on hieman nopeampi.
Noncen koossa huomioitavaa
AES-GCM käyttää 96-bittisiä nonceja, ja myös AES-GCM-SIV käyttää 96-bittisiä nonceja. XSalsa20 (jota käytetään libsodiumin secretboxissa) käyttää 192-bittisiä nonceja, joten satunnaisten noncejen luominen on turvallista huomattavasti useammille viesteille samalla avaimella. Suuremmat noncet pienentävät tahattoman uudelleenkäytön riskiä suuren volyymin järjestelmissä.
Suositellut kirjastot
Käyttäkää vakiintuneita AEAD-kirjastoja sen sijaan, että toteuttaisitte primitiivit suoraan. libsodium tarjoaa yksinkertaisen AEAD-rajapinnan (crypto_aead_aes256gcm_encrypt, crypto_aead_chacha20poly1305_ietf_encrypt). Google Tink paketoi AEAD-primitiivit ja tarjoaa avainten kierrätyksen sekä versioinnin. Kielikohtaiset TLS-kirjastot käsittelevät AEAD:n automaattisesti siirtotien suojausta varten.
AES-CBC:stä siirtyminen
AES-CBC erillisellä HMAC-SHA256:lla (EtM-järjestyksessä) on hyväksyttävä mutta vanhentunut ratkaisu. Siirtyminen AES-GCM:ään yksinkertaistaa toteutusta korvaamalla kaksi primitiiviä yhdellä ja poistaa virheellisen yhdistämisen riskin. CBC-HMAC:lla levossa olevat tiedot tulisi salata uudelleen AES-GCM:llä suunnitellun avaintenkierron yhteydessä.
AEAD-toteutusten testaaminen
AEAD-toteutukset tulee testata NIST:n (AES-GCM) ja RFC 8439:n (ChaCha20-Poly1305) virallisia testivektoreita vasten. Testatkaa aina, että autentikointitagin tarkistuksen epäonnistuminen saa salauksen purkamisen palauttamaan virheen sen sijaan, että se palauttaisi osittaisen selvätekstin. Virheellinen virheenkäsittely on yleinen toteutuspuute.
Päätöksentekokaavio
Valitkaa AES-GCM, kun AES-NI on käytettävissä ja noncet ovat yksikäsitteisiä. Valitkaa ChaCha20-Poly1305, kun AES-NI:tä ei ole tai nonceihin ei voida luottaa yhtä hyvin. Valitkaa AES-GCM-SIV, kun noncejen uudelleenkäyttö on huolenaihe. Valitkaa AEGIS, kun suurin mahdollinen läpimeno ja taattu AES-NI-tuki ovat etusijalla. Älkää koskaan valitko uusia järjestelmiä varten AEAD:n ulkopuolisia toimintatiloja.
AEAD-valinnan tarkistus
Tilaton mikropalvelu on otettu käyttöön useana replikkana. Sen on salattava dataa, mutta se ei pysty koordinoimaan yhteistä nonce-laskuria. Mikä AEAD-tila on sopivin?
Oppitunnin yhteenveto: oikean AEAD:n valinta
AES-GCM on oletusvalinta. ChaCha20-Poly1305 sopii ympäristöihin, joissa ei ole AES-NI:tä. AES-GCM-SIV käsittelee nonceiltaan epäluotettavat ympäristöt. AEGIS maksimoi läpimenon, kun AES-NI:n saatavuus taataan. Käyttäkää primitiivien manuaalisen yhdistämisen sijaan kirjastoja, kuten libsodiumia tai Tinkiä. Testatkaa aina virallisia testivektoreita vasten ja varmistakaa, että autentikoinnin epäonnistumiset käsitellään oikein.
Opi Cryptology Academy tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 67
- Oppitunnit
- 261
Usein kysytyt kysymykset
Onko oppitunti ”AEAD:n valinta tuotantojärjestelmiin” ilmainen?
Kyllä – oppitunnin ”AEAD:n valinta tuotantojärjestelmiin” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cryptology Academy-kurssin, päivitä CoddyKit PROhon. Cryptology Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”AEAD:n valinta tuotantojärjestelmiin”?
Sovella päätöksentekokehystä oikean AEAD-menetelmän valitsemiseen uhkamallin ja suorituskykyvaatimusten perusteella. Harjoittelet Cryptology Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cryptology Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cryptology Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”AEAD:n valinta tuotantojärjestelmiin”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cryptology Academy-oppitunnilla?
Kyllä. Jokainen Cryptology Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Miksi Encrypt-Then-MAC on parempi kuin MAC-Then-Encrypt
- SIV-tila: nonce-väärinkäyttöä kestävä AEAD
- AEGIS: nopea todennettu salaus
- AEAD:n valinta tuotantojärjestelmiin