Itusilẹ iduroṣinṣin akọkọ ti Ọjọ-ori, IwUlO fifi ẹnọ kọ nkan data kan

Filippo Valsorda, olupilẹṣẹ cryptographer kan ti o ni iduro fun aabo ti ede siseto Go ni Google, ti ṣe atẹjade itusilẹ iduroṣinṣin akọkọ ti ohun elo fifi ẹnọ kọ nkan data tuntun kan, Ọjọ-ori (Nitootọ fifi ẹnọ kọ nkan). IwUlO naa n pese wiwo laini aṣẹ ti o rọrun fun fifi ẹnọ kọ nkan awọn faili nipa lilo aami (ọrọ igbaniwọle) ati asymmetric (bọtini gbangba) awọn algoridimu cryptographic. Koodu ise agbese ti kọ ni Go ati pinpin labẹ iwe-aṣẹ BSD. Awọn ile ti pese sile fun Lainos, FreeBSD, macOS ati Windows.

Awọn iṣẹ ipilẹ wa ninu ile-ikawe kan ti o le ṣee lo lati ṣepọ iṣẹ ṣiṣe ti a pese nipasẹ ohun elo sinu awọn eto rẹ. Lọtọ, laarin ilana ti iṣẹ akanṣe ibinu, imuse yiyan ti iru ohun elo ati ile-ikawe, ti a kọ sinu ede Rust, ti wa ni idagbasoke. Fun fifi ẹnọ kọ nkan, awọn algoridimu ti a fihan ni a lo: HKDF (HMAC-based Extract-and-Expand Key Derivation function), SHA-256, HMAC (koodu Ijeri Ifiranṣẹ orisun Hash), X25519, Scrypt ati ChaCha20-Poly1305 AEAD.

Lara awọn ẹya ara ẹrọ ti Ọjọ ori, atẹle naa duro jade: agbara lati lo awọn bọtini gbangba 512-bit iwapọ, ni irọrun gbe nipasẹ agekuru agekuru; wiwo laini aṣẹ ti o rọrun ko ṣe apọju pẹlu awọn aṣayan; aini ti iṣeto ni awọn faili; O ṣeeṣe ti lilo ninu awọn iwe afọwọkọ ati ni apapo pẹlu awọn ohun elo miiran nipa kikọ pq awọn ipe ni aṣa UNIX. Mejeeji ti n ṣe awọn bọtini iwapọ tirẹ ati lilo awọn bọtini SSH ti o wa tẹlẹ (“ssh-ed25519”, “ssh-rsa”) ni atilẹyin, pẹlu atilẹyin fun awọn faili Github.keys. $ age-keygen -o key.txt Bọtini gbangba: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | age -r age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ ori --decrypt -i key.txt data.tar.gz.age > data.tar.Rgz/ $25519. > example.jpg.age $ ori -d -i ~/.ssh/id_ed25519 apere.jpg.age > example.jpg

Ipo fifi ẹnọ kọ nkan faili kan wa fun ọpọlọpọ awọn olugba ni ẹẹkan, ninu eyiti faili naa ti wa ni fifi ẹnọ kọ nkan nigbakanna ni lilo awọn bọtini gbangba pupọ ati pe atokọ kọọkan ti awọn olugba le sọ di mimọ. Awọn irin-iṣẹ tun pese fun fifi ẹnọ kọ nkan ti o da lori ọrọ igbaniwọle asami ati fun aabo awọn faili bọtini ikọkọ nipa fifi ẹnọ kọ nkan nipa lilo ọrọ igbaniwọle kan. Ẹya ti o wulo ni pe ti o ba tẹ ọrọ igbaniwọle ofo kan sii lakoko fifi ẹnọ kọ nkan, ohun elo naa yoo ṣe ipilẹṣẹ laifọwọyi ati funni ni ọrọ igbaniwọle to lagbara. $ age -p secrets.txt> secrets.txt.age Tẹ ọrọ igbaniwọle sii (fi silẹ ni ofo lati ṣe adaṣe kan ti o ni aabo): Lilo ọrọ igbaniwọle adaṣe adaṣe “release-response-step-brand-wrap-ankle-pair-dani-sword-train” . $ age -d secrets.txt.age > secrets.txt Tẹ ọrọ igbaniwọle sii: $ age-keygen | Ọjọ ori -p> key.age.age Gbangba: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YY9F2HDZTAHNEHNEHNEHNEHNEHNEHNEHPQRJPYX0 Tẹ PASSPHRASE (Fi Sofo silẹ si Autogenate aCure Ọkan): Lilo ST-BOYGRIN - PassphraSTRASNACure Ọkan): Lilo Afọwọṣe-BOGRIN-iwọle OKAN-INPUT-Oṣere”.

Awọn ero fun ojo iwaju pẹlu ṣiṣẹda afẹyinti fun titoju awọn ọrọ igbaniwọle ati olupin fun awọn bọtini pinpin (PAKE), atilẹyin fun awọn bọtini YubiKey, agbara lati ṣe ina awọn bọtini rọrun-lati-iranti ni irisi awọn ọrọ ti ṣeto, ati ẹda. ti ohun elo-oke IwUlO fun iṣagbesori ti paroko awọn faili tabi pamosi ni FS.

orisun: opennet.ru

Fi ọrọìwòye kun