Kion fakte protektas pasfrazo sur privata ŝlosilo de VPN
Ĝi ŝlosas la dosieron sur la disko, ne la funkciantan tunelon aŭ vian kontan ensaluton. Lernu, kion la prompto kovras, kion ne, kaj kion fari se ĝi likas.
La prompto, kiu aperas kiam VPN-kliento startas, estas facile mislegi. Ĝi ne estas la pasvorto de la VPN-konto, ĝi ne estas la pasvorto por la tunelo, kaj enigi ĝin ne pruvas, ke la konekto estas sekura. Ĝi malŝlosas unu konservitan reprezentaĵon de privata ŝlosilo, por ke la kliento povu legi la ŝlosilan materialon kaj uzi ĝin por aŭtentikigi. Ĉio, kio okazas poste, estas alia demando.
En praktiko la respondo misfunkcias ĉe la randoj: homoj supozas, ke la pasfrazo protektas la funkciantan tunelon, aŭ ke ŝanĝi ĝin revokas kopion de la ŝlosilo, kiu jam likis. Ambaŭ supozoj malsukcesas, kaj ambaŭ malsukcesas tiel, ke akreditaĵo restas elmontrita dum la operatoro kredas, ke ĝi estas traktita.
Unu dialogo, pluraj malsamaj sekretoj
Prafrazo de privata ŝlosilo malĉifras dosieron. Konta pasvorto aŭtentikigas vin al servo. Importa pasvorto de PKCS#12 malĉifras pakaĵon, kiu enhavas ŝlosilon kaj ĝian atestilon, kaj ĝi eble ne estas la sama signoĉeno kiel la propra pasfrazo de la ŝlosilo. Ĉi tiuj promptoj povas aspekti preskaŭ identaj, kaj diveni, kiu sekreto iras kien, estas kiel ŝlosiloj finiĝas engluitaj en la malĝustan kampon.
La propra ĉifrado de la tunelo estas kvara afero. La datkanalo uzas sesiajn ŝlosilojn interkonsentitajn dum la manpremo; la pasfrazo de la privata ŝlosilo havas neniun rolon en protektado de unuopaj pakaĵoj. Se iu povas legi la ŝlosildosieron, li povas provi diveni la pasfrazon eksterrete, sed se li povas legi pakaĵojn, la pasfrazo estas senrelativa.
Kion kovras la ĉifrado sur la disko
Ĉifrita PEM-ŝlosilo venas en du formoj, kaj la kaplinio diras al vi, kiun vi havas. La moderna formo PKCS#8 komenciĝas per -----BEGIN ENCRYPTED PRIVATE KEY-----; la malnova formo PEM, ankoraŭ ofta en pli malnovaj OpenVPN-agordoj, komenciĝas per -----BEGIN RSA PRIVATE KEY----- kaj portas Proc-Type: 4,ENCRYPTED kaj linion DEK-Info tuj sube. La dosiero tenas la privatan ŝlosilon ĉifritan sub ŝlosilo derivita de via pasfrazo, kutime per pasvortbaza KDF kun donita ripetnombro aŭ laborfaktoro. La dokumentaro de OpenSSL pkey kovras la formatojn kaj la pasfrazajn opciojn, kiuj validas dum legado.
Du sekvoj sekvas. Malforta pasfrazo estas atakebla eksterrete laŭ la rapideco, kiun la KDF permesas, do dosierpermesoj kaj aliro al savkopioj ankoraŭ gravas eĉ kiam la dosiero estas ĉifrita. Kaj atakanto, kiu akiras nur la dosieron sen la pasfrazo, devas diveni; tiu, kiu akiras la dosieron kaj la pasfrazon, havas la ŝlosilon, same kiel se ĝi neniam estus ĉifrita.
head -3 vpn.key
openssl pkey -in vpn.key -noout -pubout
openssl pkcs12 -in bundle.p12 -info -noout
head -3 montras la kaplinian kaj, ĉe malnova dosiero, la liniojn Proc-Type kaj DEK-Info, kiuj pruvas ĉifradon; unu linio sola ne estas pruvo en iu ajn direkto. La linio pkey petas la pasfrazon kaj presas nur la publikan duonon, kio pruvas, ke la dosiero kaj la pasfrazo funkcias sen elmontri la privatan ŝlosilon. Ne uzu -text por tiu kontrolo: ĝi presas la privatajn komponentojn, privateExponent, prime1, prime2 kaj la reston, kaj tiu eligado neniam rajtas esti engluita ie ajn, nek en bileto, nek en babilejo, nek en protokolo. La komando PKCS#12 ankaŭ diras al vi, ĉu la pakaĵo havas apartan MAC- aŭ ĉifradpasvorton, kion indas scii antaŭ ol doni ĝin al kolego.
Kion ĝi ĉesas protekti post kiam la ŝlosilo estas ŝargita
Malŝloso estas unudirekta okazaĵo por tiu procezo. La kliento petas la ŝlosilon de la KDF, malĉifras la dosieron kaj tenas la privatan ŝlosilon en memoro tiom longe, kiom ĝi bezonas ĝin. De tiu momento la pasfrazo protektas nenion pri la funkcianta sesio: nek la procesan memoron, nek kernan dump-on, nek sencimigan sesion ligitan al la kliento, nek savkopion de la maŝino prenitan dum la ŝlosilo estis uzata.
Ĉi tio estas la sama limo kiel SSH-ŝlosilo kun pasfrazo, aŭ malŝlosita trezorejo de pasvortadministrilo. Ĝi altigas la koston de ŝtelo de la dosiero en ripozo kaj faras nenion kontraŭ malware funkcianta kiel via uzanto, rajtigita aplikaĵo, kiu petas la klienton subskribi, aŭ administranto, kiu povas legi memoron. Traktu ĝin kiel unu tavolo, ne kiel la regado, kiu igas ŝlosilon sekura lasi kuŝante.
Kial la prompto daŭre revenas
Kliento, kiu denove demandas ĉe ĉiu rekonekto, ne nepre estas difektita. Iuj klientoj kaŝmemorigas la pasfrazon por la sesio, iuj konservas ĝin en la ŝlosilringo de la operaciumo, kaj iuj povas esti direktitaj al helpanto, kiu provizas ĝin, do kian konduton vi ricevas dependas de la kliento kaj ĝia agordo, ne de la ŝlosildosiero.
Se la ripeta prompto estas la reala plendo, ekzamenu la kaŝmemorajn kaj aŭtentikigajn opciojn de la kliento antaŭ ol forigi ĉifradon de la ŝlosilo. Forigi la pasfrazon ŝanĝas protektitan dosieron en klartekstan ŝlosilon, kaj la rekonekto silentas je la kosto de la sola ripoza regado, kiun vi havis. Pli bona respondo kutime estas subtenata akreditaĵa konservejo kun la samaj dosierpermesoj, kiujn vi ĉiukaze uzus.
Perdo kaj elmontro ne estas la sama riparo
Perdita pasfrazo ne povas esti rekuperita el la atestilo. La atestilo estas publika materialo, kiu ligas nomon al ŝlosilo; ĝi enhavas neniun vojon reen al la privata ŝlosilo kaj neniun aludon pri la pasfrazo. La praktikaj elektoj estas rajtigita savkopio de la ŝlosilo aŭ nova identeco eldonita per la normala procezo de la operatoro. Ĉiu, kiu proponas 'rekuperi' la pasfrazon, proponas diveni ĝin.
Elmontro postulas alian respondon. Reĉifri la saman ŝlosilon per nova pasfrazo lasas la ŝlosilan materialon senŝanĝa, do kopio, kiu jam estis malŝlosita aliloke, ankoraŭ funkcias. La riparo estas revoki aŭ anstataŭigi la akreditaĵon: eldonu novan ŝlosilon kaj atestilon, distribuu ilin kaj retiru la malnovan ĉe la partnero. Ĝis tio okazos, ŝanĝi la dosieran pasvorton estas mastrumado, ne enhavado. Tenu la malnovan dosieron ekster savkopioj nur post kiam la nova identeco konfirmiĝas funkcianta, kaj notu, kiu seria numero aŭ fingrospuro anstataŭigis ĝin.