Kryptografia

Mitä on kryptografia? Peruskäsitteet ja käyttötarkoitukset

Helppo
10 min

Mitä on kryptografia?

Kryptografia on tietotekniikan ja matematiikan ala, jonka avulla tietoa muutetaan toiseen muotoon (salakirjoitukseksi), jotta ulkopuoliset eivät pysty ymmärtämään sitä ilman avainta. Tämän muunnetun tiedon sanotaan olevan salattua. Kryptografian päätavoitteena on varmistaa viestinnän...

  • luottamuksellisuus: Tiedot säilyvät salassa
  • eheys: Tiedot säilyvät muuttumattomana
  • autentikointi: Tiedon alkuperä voidaan todentaa

Kryptografia siis suojaa tietoja luvattomalta pääsyltä tai muutoksilta sekä varmistaa, että tiedon lähettäjä ja vastaanottaja ovat todellakin ne, jotka väittävät olevansa.

Kahdenlaista kryptografiaa

Bruce Schneier toteaa kirjansa Applied Cryptography toisen painoksen esipuheessa (vapaa suomennos): "Maailmassa on kahdenlaista kryptografiaa: kryptografiaa, joka estää pikkusiskoasi lukemasta päiväkirjaasi, ja kryptografiaa, joka estää hallitusten vakoilun.

Tämä kurssi (kuten myös Schneierin kirja) käsittelee jälkimmäistä kryptografiaa. Tosin osiossa "Historialliset salaustekniikat" tutustumme Caesar-salaukseen jonka voisi arugmentoida kuuluvan "pikkusiskokategoriaan"!

Kryptografian peruskäsitteet

Yleinen terminologia

  • Salaus (Encryption): Prosessi, jossa alkuperäinen tieto (selkoteksti) muunnetaan salaiseksi koodiksi (salateksti) estämään luvaton pääsy.
  • Salauksen purku (Decryption): Salatun tiedon muuntaminen takaisin alkuperäiseen muotoonsa (selkoteksti).
  • Avain (Key): Salaus- ja purkuprosessissa käytettävä tieto, joka määrittää, miten muunnos tapahtuu.
  • Algoritmi: Menetelmä tai kaava, jota käytetään tiedon salaamiseen ja purkamiseen.
  • Selväkielinen teksti (Plaintext): Tieto ennen salaamista. Selväkielinen teksti on muodossa, jossa se on suoraan luettavissa ja ymmärrettävissä ilman tarvetta purkamiselle.
  • Salattu teksti (Ciphertext): Tiedon muoto sen jälkeen, kun se on salattu. Salattu teksti on selväkielisen tekstin muunnettu versio, joka on saatu käyttämällä salausta ja avainta. Salattua tekstiä ei voi ymmärtää ilman oikeaa avainta ja purkamismenetelmää.

Symmetrinen salaus

Symmetrinen salaus käyttää samaa avainta sekä tiedon salaamiseen että sen purkamiseen. Tämä menetelmä on nopea ja tehokas, mutta se asettaa haasteen avaimen turvalliselle jakamiselle osapuolten välillä. Tyypillisiä symmetrisen salauksen algoritmeja ovat AES (Advanced Encryption Standard) ja DES (Data Encryption Standard).

Asymmetrinen salaus

Asymmetrinen salaus, tai julkisen avaimen kryptografia, käyttää kahta avainta: julkista avainta tiedon salaamiseen ja yksityistä avainta sen purkamiseen. Tämä mahdollistaa turvallisen avaimen jakamisen, sillä julkista avainta voidaan jakaa vapaasti. Asymmetrisen salauksen tunnetuimpia esimerkkejä ovat RSA, ECC (Elliptic Curve Cryptography), ja Diffie-Hellman -avainvaihto.

Hajautusfunktiot (Hash-funktiot)

Hajautusfunktiot, joita voidaan tämän kurssin kontekstissa usein kutsua myös kryptografisiksi tiivisteiksi, ovat yksisuuntaisia funktioita, jotka muuntavat minkä tahansa koon tietomäärän tietyksi, kiinteän pituiseksi bittijonoksi. Tiivisteitä käytetään varmistamaan tiedon eheys, sillä pienikin muutos lähtötiedoissa aiheuttaa merkittäviä muutoksia tiivisteessä.

Digitaaliset allekirjoitukset

Digitaaliset allekirjoitukset mahdollistavat dokumentin tai viestin eheyden varmistamisen sekä lähettäjän identiteetin todentamisen. Ne perustuvat asymmetriseen salaukseen ja tiivisteiden käyttöön. Allekirjoitus luodaan laskemalla viestin tiiviste, joka salataan lähettäjän yksityisellä avaimella. Vastaanottaja voi purkaa allekirjoituksen käyttäen lähettäjän julkista avainta ja verrata laskettua tiivistettä viestin tiivisteeseen.

Jatkosalaisuus (Forward Secrecy)

Jatkosalaisuus on turvallisuusperiaate, jossa käytetään jokaiseen viestintäsessioon ainutlaatuista avainta, jotta vaikka pitkäaikainen yksityinen avain murretaan, aiemmin salatut viestit pysyvät turvattuina. Tämä saavutetaan usein käyttämällä avainvaihtoalgoritmeja, kuten Diffie-Hellman, luomaan sessiokohtaiset avaimet.

Kryptografian käyttötarkoituksia

Kryptografia on digitaalisen maailmamme kulmakivi, joka suojaa tietojemme luottamuksellisuutta, eheyttä ja saatavuutta. Vaikka kryptografian teoreettiset perusteet voivat tuntua monimutkaisilta, sen sovellukset ovat osa jokapäiväistä digitaalista elämäämme.

Alla olevissa kuvauksissa mainitaan esimerkiksi monia algoritmeja joita sinun ei odotetakaan tunnistavan vielä tässä vaiheessa. Lue kuitenkin kuvaukset läpi, tarkoitus on antaa sinulle etukäteen kontekstia sille teorialle jota tulet pian oppimaan.

Internet-selaaminen: HTTPS ja SSL/TLS

Kun vierailet "https://" -alkuisilla verkkosivustoilla, käytät SSL/TLS-protokollaa (Secure Sockets Layer/Transport Layer Security), joka suojaa tietosi salaamalla ne matkalla selaimeltasi palvelimelle. Protokolla käyttää pääasiassa symmetrisiä salausalgoritmeja, kuten AES (Advanced Encryption Standard), tiedonsiirron salaamiseen, kun taas asymmetrinen salaus, esimerkiksi RSA (Rivest-Shamir-Adleman), mahdollistaa turvallisen avaintenvaihdon alussa. Tämä takaa, että henkilötietosi, kuten salasanat ja luottokorttitiedot, pysyvät suojattuina.

VPN-yhteydet: Turvallinen Etäyhteys

VPN (Virtual Private Network) luo suojatun tunnelin laitteesi ja VPN-palvelimen välille, mahdollistaen turvallisen yhteyden julkisen internetin yli. VPN käyttää yleisesti AES-salausta datan suojaamiseen, ja avaintenvaihtoon hyödynnetään usein Diffie-Hellman -menetelmää. Tämä yhdistelmä varmistaa, että yhteys pysyy turvattuna, estäen ulkopuolisia pääsemästä käsiksi siirrettävään tietoon.

SSH: Turvallinen Etäkomentojen Suoritus

SSH (Secure Shell) on protokolla, joka mahdollistaa salatun yhteyden muodostamisen etäpalvelimelle. Se käyttää monia samoja algoritmeja kuin SSL/TLS, kuten RSA ja AES, suojatakseen komentojen suorituksen ja tiedostojen siirron etänä. SSH:n avulla voit hallinnoida palvelimia ja suorittaa komentoja turvallisesti, tietäen, että yhteys on suojattu.

Pikaviestimet: Päästä päähän -salaus

Sovellukset kuten WhatsApp ja Signal tarjoavat päästä päähän -salauksen käyttäjien viestinnälle. Ne hyödyntävät Signal-protokollaa, joka käyttää Curve25519 avaintenvaihtoon, AES-256 tiedon salaamiseen ja HMAC-SHA256 viestien eheyden varmistamiseen. Tämä tarkoittaa, että vain viestin lähettäjä ja vastaanottaja voivat dekryptata ja lukea viestin sisällön.

Levysalaus

Levysalauksella, kuten BitLocker (Windows) ja FileVault (macOS), suojataan koko kiintolevyn sisältö salaamalla se. Nämä järjestelmät käyttävät tyypillisesti AES-algoritmia datan salaamiseen, varmistaen, että ilman oikeaa avainta tiedot ovat käyttökelvottomia. Levysalauksen avulla voit suojata arkaluonteiset tiedot, kuten henkilökohtaiset dokumentit ja yrityksen data, fyysiseltä varkaudelta tai laittomalta pääsyltä.

Lohkoketjut

Lohkoketjuteknologia, joka on tunnettu erityisesti kryptovaluuttojen, kuten Bitcoinin, taustalla, hyödyntää kryptografiaa varmistaakseen transaktioiden eheyden ja turvallisuuden. Jokainen lohko sisältää datan tiivisteen (hash) edellisestä lohkosta, luoden ketjun, joka on muuttumaton ja väärentämätön. SHA-256 on yleisesti käytetty hash-funktio lohkoketjuissa, tarjoten vahvan suojan manipulaatiota vastaan. Avaintenvaihdossa ja digitaalisissa allekirjoituksissa käytetään yleisesti RSA:ta tai ECC:tä (elliptiset käyrät), varmistamaan osapuolten välisen kommunikaation turvallisuus.

Kryptovaluutta

Kryptovaluutat, kuten Bitcoin ja Ethereum, ovat digitaalisia tai virtuaalisia valuuttoja, jotka käyttävät kryptografiaa transaktioiden suojaamiseen, uusien yksiköiden luomiseen ja varojen siirtoon. Kryptovaluutat hyödyntävät lohkoketjuteknologiaa, joka mahdollistaa hajautetun ja manipulaation kestävän kirjanpidon. Salaus ja digitaaliset allekirjoitukset takaavat, että vain valuutan omistaja voi siirtää varoja, tarjoten samalla anonyymin ja turvallisen tavan käydä kauppaa.

Salasananhallintaohjelmat

Salasananhallintaohjelmat, kuten 1Password ja BitWarden, tarjoavat turvallisen tavan säilyttää ja hallinnoida salasanoja. Ne käyttävät päästä päähän -salausta, mikä tarkoittaa, että salasanat salataan käyttäjän laitteella ennen niiden siirtämistä pilveen. Tämä salaus perustuu vahvaan symmetriseen algoritmiin, kuten AES-256, ja varmistaa, että vain käyttäjällä on pääsy salasanoihin. Palveluntarjoaja ei pääse purkamaan tietoja, sillä purkuavain on suojattu käyttäjän pääsalasanalla, joka ei koskaan lähetetä palveluntarjoajalle. Tämä toteutustapa takaa, että salasanat pysyvät suojattuina mahdollisilta ulkopuolisilta uhkilta ja jopa itse palveluntarjoajalta.

Wi-Fi:n Salaus

Wi-Fi-verkkojen suojauksessa käytetään erilaisia salausprotokollia, kuten WEP (Wired Equivalent Privacy), WPA (Wi-Fi Protected Access) ja WPA2/WPA3, joista jälkimmäiset tarjoavat vahvemman turvan. WPA2 käyttää AES (Advanced Encryption Standard) -salausta ja CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) -protokollaa datan suojaukseen, kun taas WPA3 tuo parannuksia avaintenvaihtoon ja yksityisyyden suojaan. Nämä salausmenetelmät estävät luvattoman pääsyn tietoihin ja suojaavat dataa ollessaan siirrossa laitteiden ja reitittimen välillä.

Puhelinverkon Salaus

Puhelinverkoissa, kuten GSM:ssä (Global System for Mobile communications) ja 3G/4G/5G-verkoissa, käytetään myös kryptografiaa puheluiden ja datan suojaamiseen. GSM käyttää A5/1- tai A5/3-salausalgoritmeja puheen ja tekstiviestien salaukseen, mutta näiden turvallisuustaso on osoittautunut ajan myötä riittämättömäksi. Uudemmissa verkko-standardeissa, kuten 4G ja 5G, on otettu käyttöön vahvempia salausmenetelmiä ja turvallisuusprotokollia, jotka suojaavat tehokkaammin käyttäjän dataliikennettä ja yksityisyyttä, kuten AES-GCM ja ChaCha20-Poly1305.

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.