Firwat eng méi laang Blowfish-Schlëssel e 64-Bit-Block net reparéiere kann
Blowfish-Schlëssele kënnen 448 Bit erreechen, während de Block bei 64 Bit bleift. Iwwerpréift de ausgehandelte Chiffrement a plangt en ënnerstëtzten Ersatz amplaz vun engem méi laange Schlëssel.
E VPN-Profil bitt Blowfish mat engem 448-Bit-Schlëssel un, an een proposéiert de längste Schlëssel ze benotzen, fir de Chiffrement ze behalen. D'Schlëssellängt ass real, awer et ass déi falsch Zuel fir ze optimiséieren. Blowfish transforméiert 64-Bit-Blöck, egal wéi laang de Schlëssel ass, an d'Blockbreet ass dat, wat limitéiert, wéi vill Verkéier ee Schlëssel sécher ka schützen. Féiert d'Kontrollen hei drënner an der Rei aus a stoppt bei der éischter, déi den Déngscht fräisetzt, well e spéidere Schrëtt en éischtere net reparéiere kann.
Kontrolléiert, wat d'Peeren tatsächlech aushandelen
Liest de Chiffrement vum Datenkanal op béide Säiten, net aus dem Profil, dat Dir wousst wëllt ausrollen. Eng Clientkonfiguratioun kann e puer Chiffrementer oplëschten, an de gewielten ass d'Resultat vun der Aushandlung tëschent zwou Implementéierungen an hire Versiounen. Erhéicht d'Logdetail op enger Testverbindung a liest d'Datenkanallinn, déi de Chiffrement an d'Schlësselgréisst nennt, déi tatsächlech initialiséiert goufen.
Wann de ausgehandelte Chiffrement AES-GCM oder ChaCha20-Poly1305 ass, stoppt hei. Déi Konstruktioune benotzen e 128-Bit-Block an authentifizéieren d'Payload, dofir gëllt d'Kollisiounsargument vun 64 Bit hei drënner net fir si.
Trennt d'Schlëssellängt vun der Blockbreet
Blowfish akzeptéiert Schlësselen vun 32 bis 448 Bit, an d'Dokumentatioun vum Algorithmus-Auteur féiert béid Zuelen getrennt op. De Schlëssel ass de Geheimnis; de Block ass d'Eenheet vun der Transformatioun. En méi laangt Geheimnis mécht d'Roden schwéier a mécht näischt un der Breet vum Block, deen de Chiffrement verschafft.
Am CBC-Modus gëtt de Chiffrement op Blöck vu fester Breet ugewannt, mat dem virege Chiffretextblock verkett an um Enn opgefëllt. Fir Blowfish ass déi Breet 64 Bit, oder aacht Byte. De Schlësselplang ka sou grouss sinn wéi Dir wëllt; d'Kette ruckelt nach ëmmer aacht Byte op eemol.
Dofir ass eng méi laang Schlëssellängt keng Géigemoossnam. Si adresséiert Brute-Force géint de Schlëssel, während de Kollisiounsrisiko hei drënner eng Proprietéit vun der Blockbreet an dem Modus ass.
Rechent d'Gebuertsdagsarithmetik op d'Blockgréisst
E 64-Bit-Block huet eng Gebuertsdagsskala vun ongeféier 2^32 Bléck, déi ënner engem Schlëssel verschlësselt ginn, ier Kollisiounen wahrscheinlech ginn. Jiddere Block dréit aacht Byte, dofir ass déiselwecht Skala ongeféier 2^35 Byte, oder 32 GiB Daten ënner engem eenzege Schlëssel.
Betruecht dat als eng Skala, net als eng Quot. Kollisioune si probabilistesch, an ob eng eppes verroden, hänkt vum Modus, dem Verkéiersmuster an dovun of, ob den Ugräifer den Ëmgéigend Klartext erkenne kann oder beaflosse kann. Dat éischt Byte iwwer 32 GiB ass keen Entschlësselungsereignis, an déi éischt 32 GiB sinn net als sécher zertifizéiert.
D'Sweet32-Fuerscher hunn 2016 praktesch Ugrëffer géint 64-Bit-Blockchiffrementer demonstréiert, dorënner en OpenVPN-Szenario, ënner Konditiounen, déi Observatioun a Verkéiersgeneratioun erfuerderten. Hir publizéiert Standardwäerter a Softwareversioune sinn historesche Kontext, keng Beschreiwung vun Ärer Ausrollung.
Entscheet, ob CBC-Wiederverwendung hei relevant ass
Am CBC bedeit en widderhuelte Chiffretextblock, datt sech déi zwee Klartextbléck ëm eng bekannt Relatioun ënnerscheeden, well de Verkettungs-XOR sech ophiewt. En Ugräifer, deen de Chiffretext beobachten kann an ee vun de Klartexter kennt oder beaflosse kann, kann méiglecherweis Informatioun iwwer deen aneren erëmgewannen. De Blowfish-Schlëssel ass dofir ni noutwendeg.
Déi relevant Froen sinn also, wéi laang ee Schlëssel am Déngscht bleift, wéi vill Verkéier ënner him leeft an ob een dee Verkéier ka beobachten a steieren. D'Schlësselnéierstellung senkt d'Blockzuel pro Schlëssel, awer en Zäitintervall ass keen Byte-Limit: en ausgelaschte Tunnel ka wäit méi Daten bewegen wéi en idle an der selwechter Stonn. Wann Dir en alen Chiffrement behält, leet d'Limit vun der Konstruktioun an dem tatsächleche Volumen of, net vun enger ronner Zuel.
Wann de gemoossene Volumen pro Schlëssel wäit ënner der Gebuertsdagsskala bleift, ass d'Expositioun méi kleng. Si ass awer nach ëmmer net null an nach ëmmer e Grond, eng Migratioun ze plangen, amplaz sech keng Suergen méi ze maachen.
Ersetzt de Chiffrement, net de Schlëssel
Verlagert den Déngscht op en ënnerstëtzten AEAD-Chiffrement a bestätegt, datt béid Peeren, hir Versiounen an hir kryptografesch Backends en aushandele kënnen. Eng méi laang Blowfish-Schlëssellängt ännert näischt, wat zielt, an eng nei Direktiv op engem Client ze roden ass de Wee, wéi en funktionéierenden Tunnel en ënnerbrachene gëtt. Test d'Ännerung op engem Client an engem Server, ier Dir de Rescht vun der Flott beréiert. Halt dat aalt Profil fir e Rollback disponibel, bis den neien Chiffrement en komplette Verbindungszyklus bestanen huet.
Halt d'Zertifikatspréifung an d'Kontauthentifizéierung wärend der Ännerung oprecht. Si beäntweren ënnerschiddlech Froen: eng erfollegräich Umeldung kann ee Block net verbreeden, an en besseren Datenchiffrement entschëllegt net, dem falschen Server ze vertrauen.
Schléisst d'Kontroll of, andeem Dir den ausgehandelte Chiffrement nach eng Kéier op enger neier Verbindung liest an duerno bestätegt, datt den alen Chiffrement net méi akzeptéiert gëtt. Wann e Peer en nach ubitt, ass d'Migratioun net fäerdeg, wat och ëmmer d'Profil op der anerer Säit seet.