Grup DH i përbashkët, sekrete të freskëta: pse sulmi bëhet më i lirë
Sekretet e reja të sesionit nuk rregullojnë një grup të dobët të fushës së fundme. Ripërdorimi i një grupi të vetëm e shpërndan fazën më të kushtueshme të sulmit në çdo shkëmbim që e negocion atë.
Parametrat e grupit janë publikë sipas projektimit, dhe pikërisht ky publicitet i bën ata të lehtë për t'u anashkaluar. Në Diffie-Hellman mbi fushë të fundme, moduli dhe gjeneratori janë të përbashkët, ndërsa eksponentët privatë dhe çelësat e sesionit që rrjedhin prej tyre nuk janë. Faza e kushtueshme e një sulmi me sitë mbi fushë numrash varet nga grupi dhe jo nga një shkëmbim i vetëm, prandaj një grup i vetëm i dobët i përdorur kudo bëhet një përgjegjësi e përbashkët. Ta quash parametrat publikë është e saktë dhe jashtë teme, sepse kostoja që ripërdoret është kostoja e sulmit ndaj pikërisht atij grupi.
Gjysma publike nuk është gjysma e cenueshme, dhe aty është kurthi
Gjysmë-argumenti i zakonshëm thotë se parametrat janë botuar në një standard, prandaj një sulmues i njeh tashmë dhe fshehja e tyre nuk do të ndryshonte asgjë. Të dy pohimet janë të vërteta dhe asnjëri nuk rrjedh nga tjetri. Një grup i paracaktuar i dërguar është publik, dhe një grup privat që keni gjeneruar javën e kaluar është gjithashtu i dukshëm për këdo që përfundon shtrëngimin e duarve. Fshehtësia nuk ka qenë kurrë kontrolli; forca dhe validimi janë.
Ajo që ndryshon është sa vende ndajnë të njëjtën dobësi. Një organizatë që gjeneron grupin e vet prej 2048 bitësh paguan koston e vet të sulmit, ndërsa një vlerë e paracaktuar protokolli e zgjedhur nga miliona amortizon një kosto mbi të gjithë ata. Në këtë kuptim një grup i pazakontë nuk është automatikisht më i mirë. Një grup i pazakontë që është shumë i vogël është thjesht një sekret i përbashkët më i vogël me më pak sy mbi të.
Validimi ka po aq rëndësi sa madhësia. Një palë që dërgon një modul me faktorë të vegjël, ose një që nuk ka formën që protokolli pret, mund të rrjedhë informacion mbi eksponentin privat edhe kur gjatësia në bit duket e respektueshme. Bibliotekat që refuzojnë parametrat e keqformuar që në hyrje bëjnë punë të vërtetë, prandaj analiza e parametrave e shkruar me dorë është një vend i keq për të kursyer përpjekje.
Çfarë i jep vërtet paralkullimi një sulmuesi
Sita mbi fushë numrash ka një fazë që varet vetëm nga numri i thjeshtë, dhe dalja e saj është e ripërdorshme kundër çdo shkëmbimi që përdor atë numër të thjeshtë. Ky është i gjithë mekanizmi pas shqetësimit historik: pjesa e kushtueshme paguhet një herë, dhe kostoja marxhinale e çdo sesioni pasardhës bie. Eksponentët e freskët mbrojnë ende çdo shkëmbim individual nga një vëzhgues pasiv, për sa kohë grupi është aq i madh sa t'i bëjë sitat e pamundura. Të dy pohimet janë të pajtueshme, dhe shumica e debateve mbi këtë temë vijnë nga zgjedhja e njërit dhe hedhja e tjetrit.
Punimi Logjam i vitit 2015 demonstroi një ulje në Diffie-Hellman 512-bitësh të nivelit të eksportit dhe vlerësoi çfarë do të kushtonte sulmi ndaj grupeve më të mëdha e të ripërdorura gjerësisht me burime të konsiderueshme. Demonstrimi ishte konkret, vlerësimet ishin vlerësime, dhe asnjëra nuk ishte provë se një sesion i caktuar VPN ishte deshifruar.
Citoni punimin për mekanizmin dhe për uljen e demonstruar, jo si matje e vendosjes tuaj. Statistikat e vjetra për sa serverë ndanin një grup të paracaktuar përshkruajnë internetin e atij viti, jo një rrjet që mund ta inspektoni sot. Ajo që vlen të merret është pyetja: a negociojnë pajisjet tuaja ende një grup që është i vogël ose i validuar dobët?
I standardizuar nuk është njësoj si i dobët
RFC 7919 përcakton grupe të emërtuara të fushës së fundme, në mënyrë që të dy skajet të bien dakord për një grup sipas identifikuesit dhe të zbatojnë një politikë të qëndrueshme. Të jesh i standardizuar është avantazh, sepse heq paqartësinë e negociimit dhe i lejon një implementimi të refuzojë madhësi të pambështetura. Një grup i emërtuar është i dobët vetëm kur madhësia e tij është nën politikën që pretendoni se ndiqni, jo sepse shfaqet në një dokument. E njëjta logjikë vlen për grupet e kurbave eliptike, të cilat kanë strukturë tjetër dhe mënyra dështimi të tjera.
Mbani konstruksionet të ndara kur arsyetoni mbi ato. Një përfundim mbi Diffie-Hellman mbi fushë të fundme nuk thotë asgjë për X25519, dhe një përfundim mbi një grup MODP 1024-bitësh nuk thotë asgjë për një 3072-bitësh. Politika e forcës është për mekanizëm, për madhësi dhe për version protokolli, prandaj shprehja kriptografi e fortë nuk është pohim i rishikueshëm.
Vërtetimi është gjysma tjetër, dhe nuk zëvendëson. Një grup i fortë pa verifikim të palës lë një sulmues në mes, dhe një certifikatë e vlefshme nuk mund të shpëtojë një shkëmbim 768-bitësh. Rishikojini si dy linja të pavarura, pastaj konfirmoni se të dyja negociohen vërtet.
Lexoni grupin e negociuar në një lidhje reale
Lexoni grupin e negociuar nga pajisja dhe jo nga modeli i konfigurimit. Modelet përshkruajnë qëllimin, dhe vlera interesante është ajo për të cilën të dy skajet ranë dakord gjatë shtrëngimit të fundit të duarve. Në një pikë fundore IPsec dalja e statusit zakonisht shtyp propozimin e zgjedhur, duke përfshirë grupin MODP.
Kapni atë rresht para dhe pas një ndryshimi politike, dhe mbani të dyja në regjistrin e ndryshimeve. Krahasimi është prova.
ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -nooutNëse pas ndryshimit statusi ende tregon grupin e vjetër, lidhja nuk ka rinegociuar dhe redaktimi i konfigurimit nuk provoi asgjë. Rinisni palën ose fshini shoqatën e sigurisë, pastaj lexoni përsëri statusin. Një politikë e zbatuar vetëm për lidhjet e reja do t'i lërë tunelet jetëgjatë në parametrat e vjetër për sa kohë ato qëndrojnë lart.
Kontrolloni grupin dhe identitetin e palës veçmas
Ndani atë që mbron grupi nga kush është në skajin tjetër. Regjistroni metodën e shkëmbimit të çelësave, madhësinë e grupit dhe metodën e vërtetimit si tre fusha, sepse ato dështojnë në mënyrë të pavarur. Një tunel që negocioi një grup 3072-bitësh por pranon çdo certifikatë nuk është i njëjti rrezik si një që fikson një palë dhe përdor një grup 2048-bitësh.
Shkruani kriteret e pranimit para se të fillojë rishikimi, në mënyrë që rezultati të jetë krahasim dhe jo mendim. Një madhësi minimale grupi për çdo version protokolli, një listë lejimi e grupeve të emërtuara dhe verifikimi i detyrueshëm i palës mjaftojnë për ta bërë vendimin mekanik. Paqartësia në atë listë është ajo që e kthen një rishikim në një debat, dhe debatet nuk korrigjohen. Atëherë dalja është një listë pikash fundore që dështojnë një rregull të deklaruar.
ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'Mbyllni ciklin duke rilexuar vlerat e negociuara pas korrigjimit. Një skedar konfigurimi në përputhje nuk është provë se një tunel e ka pranuar. Dalja e statusit dhe një shtrëngim i freskët duarsh janë prova, dhe mbledhja e tyre kërkon më pak kohë se mbledhja mbi atë nëse nevojiten.