Puncte:0

Criptare cu cheie simetrică Fernet

drapel ua

Criptare cu cheie simetrică Fernet

Pentru a cripta și a furniza date â de ex. Șiruri JSON într-o bază de date â folosind Python. Mă întreb care este o abordare bună (pachet) pentru criptarea cu cheie simetrică.

Modulele standard Python sunt doar despre hash-uri și numere aleatoare securizate: https://docs.python.org/3/library/crypto.html, așa că am început cu https://github.com/pyca/cryptography la fel de https://github.com/pycrypto/pycrypto pare destul de blocat. Fostul se referă la Fernet, dar în mod ciudat nu găsesc o intrare pe Wikipedia, nici prea mult fundal sau investigații terță parte asupra ei (vezi și https://github.com/fernet/spec/ și https://cryptography.io/).

Având în vedere cheia este schimbată în siguranță

  • Există vreo problemă cu https://github.com/pyca/cryptography Fernet implementare?
  • Există lecturi suplimentare (poate sub alt nume decât „Fernet”) care acceptă, este bine în ceea ce privește securitatea datelor?
kelalaka avatar
drapel in
NaCL și [API-ul Python al acestuia](https://github.com/pyca/pynacl). Utilizați cheia de 256 de biți.
thoku avatar
drapel ua
Mulțumesc! După sugestia dvs., am găsit și referința lor https://cryptography.io/en/latest/faq/#how-does-cryptography-compare-to-nacl-networking-and-cryptography-library. Dacă ai pune comentariul tău ca răspuns, l-aș accepta, deoarece https://doc.libsodium.org/ arată mai bine documentat (...și are mai multe stele GitHub, dar nu văd un motiv pentru a argumenta împotriva https://cryptography.io).
kelalaka avatar
drapel in
NaCL [echipa de bază](http://nacl.cr.yp.to/index.html) include Bernstein.Comentariul meu nu poate fi un răspuns, deoarece ați întrebat despre probleme cu Fernet. Consultați [funcțiile](http://nacl.cr.yp.to/features.html) ale paginii lor.
Puncte:1
drapel ru

Nu sunt sigur de unde provine numele de criptare Fernet, ci a lor spec indică faptul că folosesc AES-128 în Modul CBC iar apoi autentificarea textului cifrat cu a SHA256 HMAC. Apoi, ei codifică totul în base64, astfel încât criptograma să fie imprimabilă ASCII.

Nu voi pretinde că am făcut o revizuire a codului, dar punctul lor de plecare este utilizarea primitivelor criptografice bune într-un mod sensibil.

thoku avatar
drapel ua
Acesta nu este exact răspunsul pe care îl așteptam din punct de vedere al securității, dar împreună cu comentariile lui @kelalaka de mai sus și compararea utilizării (pachete dependente) a ambelor biblioteci [pyca/cryptography](https://github.com/pyca/cryptography/network/dependents) vs. [libsodium](https://github.com/jedisct1/libsodium/network/dependents) Mă simt suficient de în siguranță acum.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.