Julkinen avain, yksityinen avain ja epäsymmetrinen salaus
Tässä artikkelissa olemme esitelleet käsitteet julkisista avaimista, yksityisistä avaimista ja epäsymmetrisen salauksen periaatteista. Olemme verranneet niiden etuja ja haittoja symmetriseen salaukseen sekä niiden käyttöskenaarioiden eroja.
Olet ehkä kuullut yksityisistä avaimista ja julkisista avaimista monissa yhteyksissä, mutta tiedätkö todella, mitä ne ovat?
Epäsymmetrinen kryptografia vs symmetrinen kryptografia
Yksityiset avaimet ja julkiset avaimet ovat käsitteitä epäsymmetrisessä kryptografiassa (tunnetaan myös nimellä julkisen avaimen kryptografia, PKC).
Epäsymmetrinen kryptografia viittaa menetelmään, jossa tietoja salataan tai allekirjoitetaan käyttämällä kahta eri avainta (yksityinen avain + julkinen avain), jotka vastaavat salauksen purkamisen tai allekirjoituksen tarkistamisen tarvetta. Julkinen avain on kenen tahansa nähtävillä, kun taas yksityinen avain on vain avaimen omistajan käytettävissä. Tämä käy helposti ilmi avainten nimistä.
Samoin voit todennäköisesti arvata, että symmetrinen kryptografia viittaa menetelmään, jossa tietojen salaamisessa ja purkamisessa käytetään samaa avainta.
Käytämme yksinkertaista merkintää näyttämään sekä symmetrisen että epäsymmetrisen kryptografian salaus/purku -prosessia.
On tärkeää huomata, että salauksen/purkamisen funktiot symmetrisissä ja epäsymmetrisissä salausalgoritmeissa ovat erilaisia ja usein käytetään erilaisia algoritmeja. Yleisiä symmetrisiä salausalgoritmeja ovat mm. DES, AES, RC2, RC4 ja muut, kun taas yleisiä epäsymmetrisiä salausalgoritmeja ovat RSA ja EC.
Logto käyttää EC-algoritmia tietojen siirrossa salaukseen ja purkuun, koska se on tehokkaampi ja turvallisempi kuin RSA, voit lukea tämän artikkelin saadaksesi lisätietoja. Logto aikoo tukea myös RSA:ta seuraavassa julkaisussa parantaakseen yhteensopivuutta joidenkin vanhojen järjestelmien kanssa.
Miksi käyttää epäsymmetristä kryptografiaa?
Epäsymmetrinen kryptografia ratkaisee symmetrisen kryptografian avainten jakeluun liittyvän ongelman.
Koska symmetrisessä salauksessa käytetään samaa avainta, avaimen jakaminen epäluotettavan verkkoyhteyden kautta voi vaarantaa avaimen paljastumisen haitallisille kolmansille osapuolille. Haitallinen kolmas osapuoli voisi käyttää varastettua avainta saadakseen pääsyn mihin tahansa kyseisellä avaimella salattuun tietoon, mikä aiheuttaa merkittävän turvallisuusriskin.
Kaksi yleistä epäsymmetrisen kryptografian käyttötapausta
Salaustietojen lähettäminen
Lähettäjä voi käyttää vastaanottajan julkista avainta tietojen salaamiseen ja vastaanottaja käyttää yksityistä avaintaan tietojen purkuun.
Koska julkiset avaimet ovat teoreettisesti saatavilla monille ihmisille, ihanteellisessa tilanteessa vastaanottaja voi vastaanottaa salattuja tietoja monilta lähettäjiltä. Lisäksi useat lähettäjät eivät voi tietää, millaisia tietoja muut lähettäjät ovat lähettäneet vastaanottajalle, koska vain vastaanottaja (yksityisen avaimen haltija) pystyy purkamaan ja palauttamaan tiedot.
Julkiset ja yksityiset avaimet luodaan usein samanaikaisesti. Mitä yllä mainitsimme, on yksityisten ja julkisten avainten luominen yhdelle osapuolelle ja sitten julkisen avaimen jakaminen sen käyttäjille. Jos sinun on varmistettava turvallinen viestintä molempien osapuolten välillä, silloin molempien osapuolten on luotava omat yksityiset ja julkiset avaimensa ja vaihdettava keskenään julkisia avaimiaan. Tällä tavalla molemmilla osapuolilla on toistensa julkiset avaimet, ja he voivat käyttää omia yksityisiä avaimiaan ja toisen osapuolen julkista avainta salauksen ja purkamisen suorittamiseen.
Allekirjoituksen käyttäminen tietojen uskollisuuden varmistamiseen
Epäsymmetrisessä kryptografiassa yksityisen avaimen haltija voi allekirjoittaa lähettämänsä tiedot. Sen jälkeen vastaanottaja, jolla on julkinen avain, voi vahvistaa tietojen ja allekirjoituksen yhdenmukaisuuden vastaanottaessaan tiedot, varmistaen, että tietoja ei ole peukaloitu lähetyksen aikana.
Käyttämällä edellisessä osassa määriteltyä merkintää, allekirjoituksen ja allekirjoituksen tarkistus voidaan esittää seuraavasti:
Digitaalisen allekirjoituksen tarkistaminen todistaa, että allekirjoituksen luonut osapuoli tuntee vastaavan yksityisen avaimen.
Olet todennäköisesti huomannut, että nämä kaksi yllä mainittua käyttötapausta ovat hyvin tuttuja. Päivittäisessä elämässämme melkein kaikki palvelut palvelin-asiakas -arkkitehtuurissa käyttävät epäsymmetristä kryptografiaa varmistaakseen tietojen turvallisuuden.
Nopeasti kasvava käyttäjän identiteettikehys, Logto, hyödyntää myös laajasti PKC:tä varmistaakseen käyttäjätietojen turvallisuuden. Kun käyttäjät ovat suorittaneet kirjautumisprosessin, Logto myöntää käyttäjille käyttöoikeustokenin, joka antaa heille erityisiä oikeuksia päästä tarvittaviin resursseihin. Logton julkaistua julkista avainta käytetään vahvistamaan, että käyttöoikeustoken on todellakin Logton myöntämä eikä sitä ole väärennetty haitallisten hyökkääjien toimesta.
Epäsymmetrisen kryptografian haitat
Yleisesti ottaen symmetrisen salauksen avaimen pituus on 128 tai 256 bittiä, kun taas epäsymmetrisen salauksen avaimen pituus voi olla jopa 4 096 bittiä. Tämä johtuu siitä, että yksityinen avain ja julkinen avain ovat matemaattisesti sidoksissa ja ainutlaatuisia avainpareja. Teoriassa julkisen avaimen tunteminen mahdollistaa yksityisen avaimen arvon laskemisen, mutta mukana olevien algoritmien monimutkaisuuden vuoksi se vie usein huomattavan määrän aikaa. Tehdäkseen yksityisen avaimen "murtamisen" "mahdottomaksi", pidempien avainpituuksien käyttö on suoraviivainen lähestymistapa.
Yhteenveto
Epäsymmetrinen salaus kuluttaa enemmän laskentaresursseja ja aikaa verrattuna symmetriseen salaukseen laskelmien aikana edellisessä osassa käsitellyllä tavalla. Sovelluksissa, joissa viestintä on tiheää, epäsymmetrisen salauksen laaja käyttö voi vaikuttaa suorituskykyyn ja käyttökokemukseen.
Liiketoimintaskenaarioissa symmetrinen ja epäsymmetrinen salaus käytetään usein yhdessä tasapainottamaan suorituskykyä ja tietoturvaa. Kun rakennat omaa palveluasi, voit harkita tietoturvavaatimuksia kussakin vaiheessa ja valita sopivat salausalgoritmit sen mukaisesti.