RSA:n kryptoanalyysi
RSA on jo neljän vuosikymmenen ajan säilyttänyt asemansa vahvana kryptografisena menetelmänä. Pitkä käytännön kokemus siis puoltaa ajatusta RSA:n turvallisuudesta, mutta periaatteellisella tasolla RSA:n vahvuuteen liittyy avoimia kysymyksiä. Paras saatavilla oleva tapa arvioida RSA:n turvallisuutta on koetella sitä käytännössä kryptoanalyysin keinoin.
RSA on tiedon salauksen ja digitaalisen allekirjoittamisen menetelmä, joka on ollut käytössä yli 40 vuotta. RSA esiteltiin vuonna 1977 eräänä ensimmäisistä julkisen avaimen salausmenetelmän toteutuksista. Salausmenetelmänä RSA:sta ei ole neljän vuosikymmenen aikana (tiettävästi) löydetty mitään sellaista perustavanlaatuista epäkohtaa tai haavoittuvuutta, joka olisi vesittänyt ajatuksen sen kryptografisesta vahvuudesta. RSA:ta käytetäänkin edelleen yleisesti ratkaisemaan niitä ongelmia, joiden ratkaisemiseksi se alunperin kehitettiin. Keskeisin näistä ongelmista on kahden (tai useamman) toisilleen entuudestaan tuntemattoman tahon kommunikointi turvattoman tietoverkon välityksellä. RSA tarjoaa välineet tiedon luottamuksellisuuden, aitouden ja kiistämättömyyden varmistamiseen. Oikein käytettynä RSA toimii myös ratkaisuna klassiseen avaimenvaihto-ongelmaan, jossa (symmetristä) salausavainta ei voida lähettää toiselle osapuolelle turvattoman tietoverkon välityksellä salausavaimen paljastumisen vaaran takia.
Ajatus RSA:sta vahvana kryptografisena menetelmänä on kahtalainen. Yhtäältä laaja ja pitkäaikainen käytännön kokemus ja empiirinen tutkimus tukee ajatusta RSA:n turvallisuudesta. Toisaalta RSA:n turvallisuutta ei ole koskaan pystytty osoittamaan periaatteellisella tasolla. Matematiikan ja formaalien mallien tasolla RSA:n asema vahvana kryptografisena menetelmänä on siis avoin kysymys, jolla on suora yhteys tiettyihin teoreettisen tietojenkäsittelytieteen ja lukuteorian toistaiseksi ratkaisemattomiin ongelmiin.
RSA salausmenetelmänä yleisesti
Julkisen avaimen salausmenetelmänä RSA perustuu kahden toisiinsa sidotun, mutta kuitenkin erillisen salausavaimen käyttöön. Näitä kahta salausavainta kutsutaan julkiseksi ja yksityiseksi avaimeksi, ja nimensä mukaisesti vain jälkimmäinen on tarkoitettu yksinomaan avainparin haltijan tietoon. Periaatteessa siis kuka tahansa voi salata viestin (digitaalisen tiedon) tahon X julkisella avaimella. Viestin salauksen purku ei kuitenkaan onnistu julkisella avaimella, vaan siihen tarvitaan vastaava yksityinen avain, jonka vain X tietää. Tähän perustuu se, että X voi kommunikoida luottamuksellisesti Y:n kanssa ilman yhteistä salaisuutta.
Mielenkiintoista RSA:n kahdessa salausavaimessa on sekin, että myös yksityisellä avaimella voi ”salata” viestejä, jolloin viestin saa takaisin alkuperäiseen muotoonsa vain vastaavalla julkisella avaimella. Tähän perustuu se, että RSA toimii myös välineenä tiedon aitouden ja kiistämättömyyden takaamisessa. Jos nimittäin viesti aukeaa X:n julkisella avaimella, on se osoitus siitä, että se oli lukittu X:n yksityisellä avaimella.
”RSA tarjoaa välineet tiedon luottamuksellisuuden, aitouden ja kiistämättömyyden varmistamiseen.”
RSA-avainparin luominen on laskennallisesti sen verran kevyt toimenpide, että se onnistuu tavallisella kotikoneella tai matkapuhelimella. Samoin RSA:lla tehtävä salaus ja salauksen purku ovat algoritmisessa mielessä melko tehokkaita toimenpiteitä. Kuten muutkin julkisen avaimen salausmenetelmät, RSA perustuu ajatukselle yksisuuntaisesta funktiosta eli siihen, että tietty toimenpide on helppo suorittaa yhteen suuntaan, mutta vaikea suorittaa käänteiseen suuntaan. RSA:n tapauksessa keskeinen esimerkki tästä on se, että hyvinkin suurten kokonaislukujen kertominen keskenään käy tehokkaasti, kun taas päinvastainen suunta eli kokonaislukujen tekijöihinjako on laskennallisesti vaikea toimenpide.
RSA ja laskennan vaativuusteoria
Eräs laskennan vaativuusteorian peruskysymyksistä on se, onko annetun laskennallisen ongelman ratkaisemiseksi löydettävissä tehokasta algoritmia. Ongelmaa voidaan pitää vaikeana tai laskennallisesti raskaana niin kauan, kunnes tehokas algoritmi sen ratkaisemiseksi löydetään. Jos kaikki ongelman tunnetut ratkaisualgoritmit ovat ei-tehokkaita, kasvavat ongelman ratkaisemiseksi tarvittavat laskennalliset resurssit eksponentiaalisesti ongelman mittasuhteiden kasvaessa lineaarisesti.
RSA:n toimintaperiaatteen lähtökohta on se, että kun alkuluvut p ja q ovat riittävän suuria, niin niiden tulon pq tekijöihinjako on käytännössä mahdotonta. Ei siis tunneta tehokasta tekijöihinjaon algoritmia. Toisaalta on kuitenkin periaatteessa mahdollista, että tällainen algoritmi vielä joskus löydetään. RSA:n turvallisuuden arviointi edellyttää siis laskennan vaativuusteorian ja lukuteorian uusimpien tulosten seuraamista.
RSA:n toteuttamiskelpoisuus selittyy osittain sillä, että sen tarvitsemiin näennäisesti raskaisiin laskennallisiin operaatioihin on olemassa tehokkaat algoritmit. Esimerkkinä tästä on modulaarinen potenssiinkorotus kantaluvulla, eksponentilla ja moduluksella, joiden kymmenkantaiset esitykset ovat monisatanumeroisia.
RSA:n kryptoanalyysi
Kandidaatintutkielmani keskeinen teema on RSA:n kryptoanalyysi. Pääasiallinen syy valinnalleni on se, että RSA:n kryptografisen vahvuuden osoittaminen periaatteellisella tasolla ei näytä olevan käytännössä mahdollista. Tällöin ainoaksi mahdollisuudeksi arvioida RSA:n turvallisuutta jää sen toimintaperiaatteen haastaminen ja koetteleminen käytännössä eli RSA:n kryptoanalyysi.
Rinnastan tutkielmassani RSA:n toimintaperiaatteen ymmärtämisen sen kryptoanalyysin opiskelulle. Kysymykset miten RSA toimii ja miksi RSA toimii ovat eroavat vahvasti toisistaan ja mielestäni vain jälkimmäinen niistä on olennainen.
Teksti: Henrik Lindberg
Lindbergin kandidaattityö sai kunniamaininnan Tietoturva ry:n opinnäytetyökilpailussa, jonka tunnustukset jaettiin 7.11.2019. Lindbergin kandidaattityö on luettavissa verkossa : https://bit.ly/kandi-lindberg
Lisätietoja
Tagit
Erikoisosaaminen
Tietoturva |
Omat tagit
TIVIA ry - Asiantuntijat ja yhteyshenkilöt
TIVIA ry - Muita referenssejä
TIVIA ry - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- Laura - Mobiilikehittäjä, Android
- Laura - Ohjelmistoarkkitehti, Tampere/Oulu
- Laura - Development Team Manager, Sports Games
- Taito United Oy - Senior Full Stack -kehittäjä
- Webscale Oy - Head of Sales, Cloud Services
- Laura - Hankinta-asiantuntija, tietohallinto
- Laura - Development Manager, Operations
Premium-asiakkaiden viimeisimmät referenssit
- SD Worx - Kehitystyö SD Worxin kanssa takaa Clas Ohlsonille parhaat palkanmaksun prosessit kasvun tiellä
- Digiteam Oy - Case Esperi Care Oy: Ketterä kumppanuus vei Esperin verkkosivu-uudistuksen maaliin sujuvasti ja aikataulussa
- Kisko Labs Oy - Howspace Hub - Mukautuva oppimisen hallintajärjestelmä kasvaviin oppimisalustavaatimuksiin
- Kisko Labs Oy - Sanoma Pro: Multimediasisältöjen hallinnan uudistaminen
- Kisko Labs Oy - Svean helppokäyttöinen palvelu asiakkaan verkko-ostosten hallintaan
- Kisko Labs Oy - Yhtenäinen käyttöliittymä luovien alojen ammattilaisille
- Codemate - Digitaalisen murroksen nopeuttaminen Flutterin avulla
Tapahtumat & webinaarit
- 27.11.2024 - Green ICT -ekosysteemitapaaminen III: Ohjelmistojärjestelmien virrankulutuksen mittaaminen ja kasvihuonepäästöjen arviointi
- 27.11.2024 - Digitaalisen asiakaskokemuksen uusi aikakausi
- 28.11.2024 - Webinaari: Keskity myyntityön laatuun!
- 28.11.2024 - Copilot-webinaari – Mielekkäämpää tietotyötä turvallisesti
- 04.12.2024 - Kuinka oikea matka- ja kululaskujärjestelmä tehostaa prosesseja?
- 05.12.2024 - Green ICT VICTIS -hankkeen kick off -tilaisuus
- 15.01.2025 - Datavastuullisuuden valmennus: hanki valmiudet vastuulliseen datan ja tekoälyn hyödyntämiseen
Premium-asiakkaiden viimeisimmät bloggaukset
- Kisko Labs Oy - Heroku: Millaisiin projekteihin se sopii ja mitkä ovat sen todelliset hyödyt ja haitat?
- Zimple Oy - Pipedrive vai Hubspot? Kumpi kannattaa valita?
- SC Software Oy - Jatkuvat palvelut – asiakaslähtöistä kumppanuutta projekteista ylläpitoon
- Timeless Technology - Ohjelmoitavat logiikat (PLC): Ratkaisevat työkalut automaatioon ControlByWebiltä.
- Kisko Labs Oy - Heroku: Ohjelmistokehittäjän ykköstyökalu skaalautuvien sovellusten rakentamiseen
- SD Worx - Näin luot vakuuttavan Business Casen palkkahallinnon ulkoistukselle
- Timeless Technology - Kyberriskien tunnistaminen Profitap IOTA verkkoanalysaattorin avulla.
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |