Kuinka Diffie-Hellman-avainten vaihto tarjoaa salattua viestintää


Tehokas kyberturvallisuuspolitiikka sisältää nykyaikaisen kryptografian turvalliseen tiedonsiirtoon. Tietojen salaaminen suojaa arkaluonteisia tietoja tiedonsiirron aikana niin, että vain ne, joilla on oikeus purkaa tietojen salaus, voivat käyttää niitä. Ilman salausta kaikki julkisen internetin kautta siirretyt tiedot ovat vaarassa siepata ja käyttää väärin uudelleen. Salaus auttaa estämään varastetut tiedot useiden työkalujen avulla, mukaan lukien salaussalaukset, kuten Diffie-Hellman-avaimenvaihto.

Tässä artikkelissa on lyhyt yleiskatsaus siitä, miten Diffie-Hellman-avaimenvaihto toimii salauksessa julkisen viestintäkanavan kautta, tunnistaa mahdollisen riskin Diffie-Hellman-alkulukuja käytettäessä ja hahmottelee kolme ratkaisua, joilla voit suojata Diffie-Hellman-algoritmin käytön.

Mikä on salausavainten vaihto?

Salauksessa avainten vaihdolla tarkoitetaan prosessia, jossa salausavaimia vaihdetaan kahden tai useamman osapuolen välillä. Avaimen avulla jokainen osapuoli voi salata lähettämänsä viestit ja purkaa vastaanottamiensa viestien salauksen.

Salaus tarjoaa suojauskerroksen tietojesi ja mahdollisten hyökkääjien välille. Monimutkaiset salausalgoritmit suojaavat tietoja mahdolliselta salauksen purkamiselta raa'an voiman hyökkäyksillä, jotka voivat arvata salausavaimen. Saatavilla on useita salaussarjoja, joissa on muuttuvia komponentteja. Salausstandardit muuttuvat jatkuvasti, mutta erilaisten julkisen avaimen infrastruktuurissa käytettävissä olevien työkalujen, kuten epäsymmetrisen ja symmetrisen avaimen salauksen, käyttäminen voi auttaa sinua ylläpitämään vahvaa kyberturvallisuusasemaa.

Epäsymmetrinen salaus perustuu avainpariin (julkinen avain ja yksityinen avain), jossa julkinen avain salaa tiedot ja yksityinen avain purkaa niiden salauksen. Viestiä tai dataa kutsutaan pelkäksi tekstiksi. Kun se on salattu avaimella, sitä kutsutaan salatekstiksi. Epäsymmetrinen avaimen salaus on perusta SSL/TLS-protokollille, jotka tarjoavat suojatun viestinnän HTTPS:n kautta.

Symmetrisen avaimen salauksessa lähettäjä ja vastaanottaja käyttävät yhtä samaa avainta viestien salauksen purkamiseen. Diffie-Hellman-avaimenvaihto on yksi yleisimmin käytetyistä symmetrisistä salausmenetelmistä, joita käytetään julkisen avaimen salauksessa.

Diffie-Hellman-avainten vaihto

Diffie-Hellman-avaimenvaihtoalgoritmi on menetelmä, jolla sovitaan ja lasketaan salainen symmetrinen avain osapuolten välillä suojaamattomassa kanavassa tai julkisessa verkossa. Näppäimet voivat olla lyhytaikaisia (käytetään yhdessä istunnossa), staattisia (pitkäaikaisia) tai näiden kahden yhdistelmää (puolistaattiset). Se on nimetty Whitfield Diffien ja Martin Hellmanin mukaan, jotka julkaisivat yhteistyönsä julkisen avaimen algoritmeista vuonna 1976. Hellman on ehdottanut, että se nimettäisiin uudelleen Diffie-Hellman-Merkle -avainpörssiksi, jotta se sisältäisi Ralph Merklen panokset.

Diffie-Hellman-avaimenvaihto yhdistää tyypillisesti julkisen muuttujan ja modulo-operaattorin kahteen yksityiseen muuttujaan, jolloin tuloksena on jaettu symmetrinen salausavain. Diffie-Hellman-avainten vaihto käyttää suuria alkulukuja avainten laskemiseen. Pörssi edellyttää sopimusta alkuperäisestä prime- ja modulo-operaattorista, jotta avainsopimuksen laskelma on johdonmukainen molempien osapuolten välillä, vaikka salaisia tietoja ei vaihdeta julkisten kanavien kautta.

Diffie-Hellman-avaimenvaihdossa osapuolet sopivat jaetusta julkisesta muuttujasta (generaattorista), jolla on jokin kokonaislukuarvo ja moduuli, joka on tyypillisesti suuri alkuluku 2000 tai 4000 bittiä. Jokaisella osapuolella on oma yksityinen muuttuja (jota joskus kutsutaan yksityiseksi avaimeksi), joka tarjoaa eksponenttifunktion. Vaikka näitä muuttujia kutsutaan joskus julkisiksi ja yksityisiksi avaimiksi, on tärkeää huomata, että Diffie-Hellman ei ole epäsymmetrinen avaimen salaus, vaan pikemminkin menetelmä jaetun symmetrisen avaimen laskemiseksi eksponentioinnin avulla.

Kumpikin osapuoli ottaa julkisen muuttujan yksityisen muuttujansa potenssiin, suorittaa modulo-operaation numeerisen tuloksen saavuttamiseksi ja vaihtaa sitten tuloksen. Kun kumpikin osapuoli on vastaanottanut julkisen muuttujan lähettäjän yksityisen muuttujan potenssiin, se ottaa tuloksen oman yksityisen muuttujansa potenssiin ja suorittaa modulo-operaation, joka laskee saman lopputuloksen molemmille osapuolille. Tämän laskennan tulos on jaettu salainen avain.

Koska jaettu salainen avain edellyttää sekä vaihdettavaa julkista muuttujaa että yksityisiä muuttujia, joita ei vaihdeta, hyökkääjän on vaikeampi määrittää jaettua salaista avainta, koska yhtälön juuren selvittäminen on laskennallisesti vaikeaa eikä hyökkääjällä ole suoraa pääsyä kummankaan osapuolen yksityiseen muuttujaan. Kun moduuli on poikkeuksellisen suuri, modulo-operaatiosta tulee erittäin vaikea murtaa. Diffie-Hellmanin suurten alkulukujen käyttö vaikeuttaa diskreetin logaritmin laskentaa, minkä vuoksi Diffie-Hellmania käytetään usein osana salaussarjaa.

Rajoituksia on kuitenkin olemassa, koska Diffie-Hellman-avainten vaihto ei vaadi todennusta osapuolten välillä. Esimerkiksi Logjam-haavoittuvuuden (CVE-2015-4000) avulla hyökkääjä voi pienentää suojattua yhteyttä ja käyttää logjam-esilaskentaa tunnetuille prime-luvuille, joita käytetään 512- ja 1024-bittisissä toteutuksissa. Kun määrität salausohjelmistosi ja valitset salausalgoritmin, varmista, että olet tasapainottanut komponenttien väliset rajoitukset.

Diffie-Hellmanin riskihavainnot

Diffie-Hellman-algoritmi tarjoaa menetelmän salaisen luvun määrittämiseen, joka on suhteellisen helppo saavuttaa ja laskennallisesti vaikea murtaa. Diffie-Hellmanin käyttöön liittyy edelleen joitain riskejä, varsinkin jos alkuluku on heikko tai yleinen.

Voit myös käyttää automaattista skannaustyökalua, joka ottaa huomioon tarvittavat tiedot varmistaaksesi, että voit nopeasti tunnistaa ulkoisten resurssien salausstandardien heikot lenkit. UpGuard BreachSight tarjoaa jatkuvan seurannan ja automaattisen tarkistuksen mahdollisten uhkien varalta, mukaan lukien tunnetut haavoittuvuudet, jotka liittyvät Diffie-Hellman-avainten vaihtoon:

  • Heikko Diffie-Hellman-alkuluku käytetään avainten vaihdossa
  • Tavallinen Diffie-Hellman-alkuluku, jota käytetään avainten vaihdossa

Pienet avainkoot ja ennustettavat alkuluvut voivat antaa hyökkääjille mahdollisuuden murtaa Diffie-Hellman-salausavaimen. Jotkut Diffie-Hellman-näppäimet käyttävät samoja yleisiä alkulukuja. Aiemmat haavoittuvuudet, kuten logum-haavoittuvuus, ovat antaneet hyökkääjille mahdollisuuden murtaa nämä tunnetut alkuluvut, mikä voi johtaa luvattomien agenttien passiiviseen kuunteluun ja väliintulohyökkäyksiin (tunnetaan myös nimellä väliintulohyökkäykset). UpGuard etsii myös Logjam-haavoittuvuutta Haavoittuva CVE-2015-4000 (Logjam) -löydöksellä.

Voit estää heikon alkuluvun varmistamalla, että käytät vähintään 2048-bittisiä alkulukuja. Voit myös vaihtaa ECDHE (Elliptic-Curve Diffie-Hellman Ephemeral) -avainten vaihtoon, joka käyttää Diffie-Hellman-protokollaa lyhytaikaisilla avaimilla ja elliptisen käyrän salauksella.

Kahden Diffie-Hellman-havainnon lisäksi UpGuard arvioi myös heikkoja tai turvattomia SSL/TLS- ja salauspaketteja varmistaakseen, että verkkosivustosi ottaa käyttöön vahvoja kyberturvallisuustoimenpiteitä. Jos haluat ymmärtää, miten UpGuard arvioi näitä havaintoja, lue artikkelimme heikosta SSL:stä.

Nykyiset UpGuard-käyttäjät voivat kirjautua sisään ja käyttää riskiprofiiliaan etsiäkseen Diffie-Hellmanin avainpörssin havaintoja omaisuudestaan. Jos et ole nykyinen UpGuard-käyttäjä ja haluat suorittaa omaisuutesi automaattisen tarkistuksen BreachSightin avulla, rekisteröidy kokeiluun.

Kun olet tunnistanut salausriskin resursseissasi, voit korjata ongelman määrittämällä turvatoimia, jotta käyttäjät pysyvät suojattuina käyttäessään verkkosivustoasi.

Diffie-Hellman-avaimenvaihdon käyttöönotto SSL/TLS-salausta varten

Diffie-Hellman-avaimenvaihto on hyödyllistä julkisten verkkojen salauksessa. Voit varmistaa, että Diffie-Hellmanin käyttö edellyttää tarvittavia suojatoimia, kun voit ottaa käyttöön Diffie-Hellman-vaihto Transport Layer Security (TLS) -palvelun seuraavien kolmen suosituksen avulla.

Poista Export Cipher Suites käytöstä

Vientisalausohjelmistot ovat heikkoja salaussalausohjelmistoja, jotka voivat käynnistää TLS-yhteyksien downgrade-hyökkäyksiä. Vientisalausohjelmistot ovat rakenteeltaan heikkoja, ja ne tulisi poistaa, ellei sitä nimenomaisesti vaadita sääntelytarpeiden vuoksi.

Ota käyttöön elliptisen käyrän Diffie-Hellman-lyhytaikainen (ECDHE)

Elliptisen käyrän salaus käyttää elliptisiä käyriä äärellisissä kentissä salausavaimen luomiseen. Kun Diffie-Hellman-avainten vaihtoon käytetään väliaikaisia, lyhytaikaisia avaimia, jokainen salausvaihto vaatii uuden avaimen staattisen avaimen uudelleenkäytön sijaan. ECDHE-salaus lisää myös elliptisen käyrän diskreetin logaritmiongelman ongelmaan, mikä lisää ongelman monimutkaisuutta ja alentaa saman suojaustason bittikynnystä. ECDHE mahdollistaa myös täydellisen eteenpäin salassapidon. Useimmat selaimet suosivat Elliptisen käyrän Diffie-Hellman (ECDH) -avaimenvaihtoa äärellisen kentän Diffie-Hellmanin sijaan.

Käytä vahvaa Diffie-Hellman-ryhmää

Esilaskennan ja mahdollisten salakuuntelijoiden estämiseksi käytä vahvaa Diffie-Hellman-ryhmää, jonka pituus on vähintään 2048 bittiä. Useimmat nykyaikaiset verkkoselaimet, mukaan lukien Google Chrome, Mozilla Firefox ja Microsoft Internet Explorer, vaativat vähintään 1024 bitin ryhmäkoon Diffie-Hellmanin julkisen avaimen salaukselle, ja laskentaa on vaikeampi murtaa suuremmilla bittikokoilla.

Varmistaaksesi, että palvelimesi käyttää vahvoja ECDHE-parametreja, ota käyttöön Mozillan suosittelemat salausohjelmistot, kun määrität palvelimen. Mozillan palvelinpuolen TLS tarjoaa oppaan konfigurointiin ja suositellut salausohjelmistot turvallisuuden takaamiseksi. Voit käyttää SSL-määritysgeneraattoria konfigurointikoodin luomiseen palvelimesi ja ympäristösi tarpeiden mukaan.

Jotkut palvelinohjelmistojen tarjoajat tarjoavat myös käyttöönottoon liittyviä neuvoja:

  • Microsoft Internet Information Services (IIS): Päivitetty tuki Diffie-Hellman-avaimenvaihdolle
  • Amazonin elastinen kuormituksen tasapainotus: Ennalta määritetyt SSL-suojauskäytännöt klassisille kuormituksentasaajille
>

Muiden ohjelmistojen kohdalla käytä asianmukaista määritystiedostoa muutosten tekemiseen:

  • Apachen HTTP-palvelin: [.rt-script]httpd.conf[.rt-script] tai tietyille virtuaalisille isännille, jotka löytyvät [.rt-script]/etc/apache2/sites-available/[.rt-script]-hakemistosta
  • Apache Tomcat: [.rt-skripti]server.xml[.rt-skripti]
  • Dovecot: [.rt-script]/etc/dovecot.conf[.rt-script]
  • HAProxy: [.rt-skripti]/etc/haproxy/haproxy.cfg[.rt-skripti]
  • Lighttpd: [.rt-script]/etc/lighttpd/lighttpd.conf[.rt-script]
  • Nginx: palvelinlohko, joka on [.rt-script]/etc/nginx/sites-enabled/default[.rt-script]-hakemistossa
  • Jälkiliite SMTP: [.rt-skripti]/etc/postfix/main.cf[.rt-skripti]
  • Sendmail: [.rt-script]/etc/mail/sendmail.mc[.rt-script]

Kun olet ottanut käyttöön päivitetyt määritysasetukset, voit täydentää Diffie-Hellmanin käyttöä muilla salaustyökaluilla, kuten digitaalisilla allekirjoituksilla todentamista varten. Voit esimerkiksi käyttää ECDHE-RSA-varmenteita, jotta RSA-algoritmi voi todentaa viestin lähteen.