Deci îmi dau seama, bine, bine; Voi acorda fiecărui nod o pereche de chei private/publice, voi folosi criptarea hibridă pentru a cripta un mesaj cu cheia publică a destinatarului și voi folosi Semnătura digitală pentru a semna mesajul cu cheia privată a expeditorului.
Ai grijă că asta este criptare-apoi-semnare. Este OK numai dacă aveți încredere doar într-un anumit set de participanți și aveți încredere că participanții nu vor înlocui semnătura niciunui alt participant.
1. Este aceasta o proprietate fundamentală a mecanismelor criptografice implicate?
Nu, nu este. Și au uitat să arate criptare hibridă folosind RSA.
2. Nu există într-adevăr nicio modalitate de a folosi aceeași pereche de chei pentru semnare, precum și pentru criptare, sau poate chiar între oricare dintre mecanismele simetrice prezentate aici?
Da, puteți utiliza RSA pentru ambele, iar perechile de chei ECDH sunt în general compatibile și cu ECDSA. Cu toate acestea, acest API este pentru utilizarea în siguranță a criptografiei și pentru utilizarea aceleiași chei atât pentru generarea de semnături și decriptare nu este văzută ca cea mai bună practică.
3. Trebuie doar să urmăresc mai multe chei pe nod? Mi-am întreținut speranța de a identifica nodurile după cheia lor publică; mi s-a parut o solutie deosebit de eleganta....
Nu este. De obicei, trebuie să aveți managementul cheilor. Cheile au de obicei un interval de timp specificat în care sunt valabile. De exemplu, certificatele au nu inainte
și nuDupă
câmpuri care nu indică doar când este valabil certificatul, ci și cât timp poate fi utilizată cheia privată (și de obicei publică).
Se pare că această bibliotecă este o bibliotecă de ajutor pentru dezvoltatori. Nu prea specifică niciun protocol.Sincer să fiu, cred că acest tip de „biblioteci wrapper” care nu implementează și/sau nu sunt specifice aplicației au o utilizare limitată.
Vă recomand cu tărie să utilizați două perechi de chei, una pentru criptare și semnare. Pentru a crea un cadru de încredere, puteți utiliza PKI. În cele din urmă, se pare că aveți nevoie de securitatea transportului; în acest caz, aș recomanda TLS.