Nykyaikaisen kryptografian taustalla oleva turvallisuusmalli perustuu useisiin vakiintuneisiin periaatteisiin, joista tärkein on Kerckhoffin periaate. Tämä periaate väittää, että kryptografisen protokollan turvallisuuden tulisi perustua yksinomaan avaimen salaisuuteen, ei salaamiseen tai salauksen purkamiseen käytettyjen algoritmien salaisuuteen.
Eli siis kysymykseen vastatakseni: Ei, itse salaus- ja salauksenpurkutoimintoja ei tarvitse pitää salassa, jotta kryptografinen protokolla pysyisi turvallisena.
Teoreettinen säätiö
Kerckhoffin periaate, joka muotoiltiin 19-luvulla, toteaa: "Kryptosysteemin tulisi olla turvallinen, vaikka kaikki järjestelmässä, paitsi avain, olisi julkista tietoa." Tämä käsite tarjoaa perustavanlaatuisen ohjenuoran nykyaikaiselle kryptografiselle käytännölle. Perusteluna on, että jos protokollan turvallisuus riippuu algoritmien hämäräperäisyydestä, järjestelmästä tulee haavoittuvainen, kun kyseiset algoritmit löydetään, analysoidaan tai käänteisesti suunnitellaan. Sitä vastoin, jos vain avain on pidettävä salassa, järjestelmä pysyy turvallisena, vaikka vastustaja tietäisi algoritmin kaikki yksityiskohdat.
Käytännön seuraukset
Nykyaikaiset kryptografiset protokollat, kuten Advanced Encryption Standardissa (AES), Rivest–Shamir–Adlemanissa (RSA) ja Elliptic Curve Cryptographyssa (ECC) käytetyt protokollat, on kaikki suunniteltu julkisilla algoritmeilla. Nämä algoritmit julkaistaan laajalti, niitä tarkastellaan akateemisen ja ammatillisen yhteisön toimesta ja analysoidaan perusteellisesti sen varmistamiseksi, ettei mahdollista hyökkäystä ole olemassa, edellyttäen, että avain pysyy salaisena ja riittävän vahvana.
Kryptografisten algoritmien avoimella julkaisemisella on useita tarkoituksia:
1. Vertaisarviointi ja validointi: Julkiset algoritmit hyötyvät laajasta vertaisarvioinnista, joka auttaa tunnistamaan ja ratkaisemaan mahdolliset haavoittuvuudet ennen niiden laajamittaista käyttöönottoa.
2. yhteentoimivuus: Kun algoritmit ovat julkisesti saatavilla, eri toimittajat voivat toteuttaa yhteensopivia järjestelmiä, mikä helpottaa laajaa ja turvallista viestintää.
3. luotettavuus: Avoimet algoritmit antavat käyttäjille mahdollisuuden arvioida tietoturvaominaisuuksia itsenäisesti, mikä vähentää piilovirheiden tai tahallisten takaporttien riskiä.
Historiallinen konteksti
Historiallisesti jotkin kryptografiset järjestelmät luottivat algoritmin salassapitoon turvallisuuden takaamiseksi (ns. "turvallisuus hämärän läpi"). Tunnettu esimerkki on Saksan toisen maailmansodan aikana käyttämä Enigma-kone. Sen turvallisuus riippui paitsi avaimesta (päivittäisistä roottorin asetuksista) myös koneen sisäisen toiminnan salassapidosta. Kun liittoutuneiden kryptoanalyytikot rekonstruoivat Enigman mekanismin, järjestelmän turvallisuus heikkeni dramaattisesti.
Nykyaikana salaisiin algoritmeihin turvautumista ei suositella. Omistetut tai dokumentoimattomat algoritmit sisältävät todennäköisemmin havaitsemattomia haavoittuvuuksia, eivätkä ne voi hyötyä kryptografisen yhteisön kollektiivisesta asiantuntemuksesta.
Symmetrinen vs. epäsymmetrinen kryptografia
Sekä symmetriset (esim. AES, DES) että epäsymmetriset (esim. RSA, ECC) kryptografiset järjestelmät noudattavat periaatetta, että algoritmi voidaan tuntea julkisesti vaarantamatta turvallisuutta. Symmetrisessä kryptografiassa samaa avainta käytetään sekä salaukseen että salauksen purkamiseen. Epäsymmetrisessä kryptografiassa julkinen avain salaa tiedot, kun taas yksityinen avain purkaa niiden salauksen. Molemmissa tapauksissa turvallisuus perustuu avaimen (tai epäsymmetrisessä tapauksessa yksityisen avaimen) johtamisen mahdottomuuteen algoritmin ja salaustekstin perusteella.
Esimerkiksi AES-salauksen spesifikaatio on julkaistu NIST:n toimesta nimellä FIPS 197. Kuka tahansa voi ladata standardin ja ottaa algoritmin käyttöön. AES-salatun viestin turvallisuus riippuu kokonaan avaimen salassapidosta ja ennalta-arvaamattomuudesta, ei algoritmin salassapidosta.
Algoritmin luottamuksellisuus: Riskit ja rajoitukset
Salaus- tai salauksen purkutoimintojen salassa pitäminen tuo mukanaan useita riskejä:
- Avoimuuden puute: Suljettujen algoritmien turvallisuutta ei voida arvioida itsenäisesti, mikä lisää havaitsemattomien haavoittuvuuksien tai tahallisten heikkouksien riskiä.
- Käänteinen suunnittelu: Riittävän pääsyn ansiosta salattuihin ja salauksesta purettuihin tietoihin vastustaja voi usein rekonstruoida algoritmin ja poistaa salailun tuoman edun.
- Avaintenhallinnan monimutkaisuus: Jos sekä algoritmi että avain on pidettävä salassa, turvallisen jakelun ja tallennuksen logistiikasta tulee huomattavasti haastavampi.
- Vanhentuminen ja joustamattomuus: Jos salainen algoritmi vaarantuu, koko järjestelmä on ehkä vaihdettava, kun taas julkisen algoritmijärjestelmän avaimen vaarantuminen voidaan korjata myöntämällä uusia avaimia.
Esimerkit
1. AES (Advanced Encryption Standard): Algoritmi on julkinen, vertaisarvioitu ja laajalti käytössä. Turvallisuus piilee kokonaan avaimen salassapidossa.
2. RSA (Rivest–Shamir–Adleman): Salauksen ja salauksen purkamisen algoritmi on julkinen. Yksityisen avaimen on pysyttävä salassa; julkinen avain ja algoritmi ovat avoimia.
3. Caesarin salakirjoitus: Yksi yksinkertaisimmista klassisista salausmenetelmistä, jossa funktio (kirjainten siirtäminen) on helposti löydettävissä. Turvallisuus perustui siirron määrään, mutta käytännössä tällaiset salausmenetelmät murtuvat helposti, kun funktio on tiedossa niiden heikon rakenteen vuoksi.
4. Omistetut algoritmit (esim. DVD Content Scramble System – CSS): CSS yritti pitää algoritmin salassa, mutta se käännettiin. Kun algoritmi tunnettiin, sen tietoturvaheikkouksia hyödynnettiin nopeasti.
Didaktinen arvo
Kryptografisen turvallisuuden periaatteen opettaminen, jonka mukaan kryptografisen turvallisuuden tulisi riippua yksinomaan avaimesta eikä algoritmisalaisuudesta, tarjoaa useita koulutuksellisia etuja:
- Edistää kestävää suunnittelua: Opiskelijat ja ammattilaiset kehittävät altistumiselle vastustuskykyisiä järjestelmiä, mikä vähentää riippuvuutta hämärästä.
- Kannustaa avoimuuteen: Se tukee tieteellistä prosessia, jossa avoin keskustelu ja analyysi vahvistavat turvallisuusväitteitä.
- Kehittää vastakkainasettelua: Oppijat ymmärtävät, että vastustajilla on usein merkittäviä resursseja ja he voivat saada haltuunsa algoritmien yksityiskohtia, joten järjestelmät on rakennettava vastaavasti.
- Avaintenhallinnan tärkeyden kohokohdat: Tehokas tietoturvakoulutus keskittyy avainten asianmukaiseen generointiin, jakeluun ja tallennukseen, jotka ovat monien reaalimaailman järjestelmien todellisia heikkouksia.
Vastaesimerkkejä ja selvennyksiä
On tilanteita, joissa käytetään suljetun tai salaisen algoritmin suojattuja ominaisuuksia, usein sovelluksissa, joissa kryptografia on upotettu laitteistoon, tai rajoitetuissa ympäristöissä, joissa sovelletaan lisensointi- tai sääntelyyn liittyviä huolenaiheita. Tällaisia järjestelmiä pidetään kuitenkin yleensä vähemmän turvallisina kuin niitä, jotka käyttävät hyvin tarkastettuja julkisia algoritmeja. Hämärän tuoma turvallisuus voi tarjota tilapäisen edun, mutta se ei voi korvata järkevää kryptografista suunnittelua.
Joissakin sotilas- tai tiedusteluyhteyksissä vastustajien viivyttämiseen voidaan käyttää omia algoritmeja, mutta tämä on yleensä lisäkerros eikä niinkään turvallisuuden perusta.
Algoritmisalaisuuden rooli tietoturvassa
Vaikka oletusarvoinen ja suositeltu käytäntö on olettaa algoritmien tulevan tunnetuiksi, voi olla toiminnallisia syitä pitää tietyt tiedot yksityisinä rajoitetun ajan (esim. uudet kryptografiset rakenteet, joita ei ole vielä standardoitu). Algoritmien pitkäaikaiseen salassapitoon luottaminen on kuitenkin ristiriidassa kryptografian parhaiden käytäntöjen kanssa.
Kryptografisia järjestelmiä opetettaessa tai suunniteltaessa on parasta olettaa, että vastustajilla on täysi tietämys salaus- ja salauksenpurkuprosesseista. Tämä ajattelutapa varmistaa, että vain avaimen salassapito on este turvallisen järjestelmän ja tietomurron välillä, mikä on linjassa Kerckhoffin periaatteen ja nykyaikaisten turvallisuuskäsitysten kanssa.
Kryptografisen turvallisuuden ei pitäisi eikä käytännössä riipu salaus- ja salauksenpurkutoimintojen salaisuudesta. Kryptografisen protokollan vahvuus mitataan sen kyvyllä kestää hyökkäyksiä, vaikka algoritmit olisivat täysin paljastettuja ja kenen tahansa analysoitavissa. Tätä periaatetta noudattamalla kryptografiset järjestelmät saavuttavat korkeamman turvallisuus-, luottamus- ja kestävyystason.
Muita viimeaikaisia kysymyksiä ja vastauksia liittyen EITC/IS/CCF: n klassisen salauksen perusteet:
- Otettiinko julkisen avaimen kryptografia käyttöön salauksessa?
- Kutsutaanko tietyn kryptografisen protokollan kaikkien mahdollisten avainten joukkoa kryptografiassa avainavaruudeksi?
- Korvataanko siirtosalauksessa aakkosten lopussa olevat kirjaimet aakkosten alussa olevilla kirjaimilla modulaarisen aritmetiikan mukaisesti?
- Mitä lohkosalauksen tulisi sisältää Shannonin mukaan?
- Otettiinko DES-protokolla käyttöön AES-kryptojärjestelmien turvallisuuden parantamiseksi?
- Riippuuko lohkosalausten turvallisuus sekaannus- ja diffuusiooperaatioiden yhdistämisestä useita kertoja?
- Voidaanko kryptoanalyysiä käyttää turvalliseen kommunikointiin suojaamattoman viestintäkanavan yli?
- Kuuluvatko internet, GSM ja langattomat verkot suojaamattomiin viestintäkanaviin?
- Onko tyhjentävä avainhaku tehokas korvaussalauksia vastaan?
- Sisältääkö AES MixColumn -alitaso epälineaarisen muunnoksen, joka voidaan esittää 4×4-matriisin kertolaskuna?
Katso lisää kysymyksiä ja vastauksia artikkelista EITC/IS/CCF Classical Cryptography Fundamentals

