Sui izmantotā kriptogrāfijas bibliotēka Fastcrypto ir pārspējusi daudzus ātruma rekordus, un mūsu darbs pie etaloniem un drošības analīzes ir novērsis daudzas drošības ievainojamības, vienlaikus paverot durvis inovācijām, identificējot jaunus optimizācijas trikus.

Rakstā Fastcrypto: Novatoriskā kriptogrāfija, izmantojot nepārtrauktu salīdzinošo novērtēšanu, kas nesen tika prezentēts Londonas Imperiālās koledžas Starptautiskās veiktspējas inženierijas konferences (ICPE) salīdzinošās novērtēšanas seminārā, ir aprakstīta mūsu nepārtrauktā un sistemātiskā kriptogrāfijas funkciju salīdzinošā novērtēšana Fastcrypto bibliotēkā.

Prezentācija bija daļa no sesijas "Inovācijas veiktspējas testēšanā: stratēģijas un tehnoloģijas" programmatūras sistēmu slodzes testēšanas un salīdzinošās novērtēšanas seminārā. Konference piesaistīja viesus gan no akadēmiskajām aprindām, gan nozares, tostarp MongoDB un Amazon pārstāvjus, kuri arī uzstājās tajā pašā seminārā.

Mēs uzsvērām Fastcrypto bibliotēkas sistemātisko un nepārtraukto salīdzinošo novērtēšanu, kas ir kriptogrāfijas funkciju, piemēram, ciparparakstu, jaucējfunkciju un nulles zināšanu pierādījumi, kolekcija. Programmā Fastcrypto visas funkcijas tiek nepārtraukti salīdzinātas pēc izlaišanas un pēc pieprasījuma, un rezultāti tiek publicēti tiešsaistē. Līdzīgas funkcijas var viegli salīdzināt, un mēs saglabājam vēsturiskos datus, lai varētu izsekot veiktspējai laika gaitā.

Prezentācijā tika uzsvērts, kā šie etaloni ir veicinājuši apzinātāku lēmumu pieņemšanu Fastcrypto un Sui izstrādē, ietekmējot atkarību un lietojuma izvēli, kā arī optimizējot izstrādātāja resursu fokusu.

Kvalificēta lēmumu pieņemšana no etaloniem

Gadījuma izpētē no dokumenta tika risināts izaicinājums izvēlēties parakstu shēmu Sui pārbaudītājiem. Lai lietotājs varētu iesniegt darījumu Sui, darījums ir jāparaksta apstiprinātāju kvorumam, kas jāapvieno darījuma sertifikātā. Ar aptuveni 100 pārbaudītājiem un vienādi sadalītu likmi kvorums sastāv no 67 pārbaudītājiem, kas nozīmē, ka katram pārbaudītājam ir jāpārbauda 67 paraksti katrā darījumā.

BLS parakstu shēma ļauj pārbaudīt vairākus parakstus tā, it kā tie būtu viens paraksts, taču tas ir daudz lēnāks nekā alternatīvas, piemēram, EdDSA. Detalizēta salīdzinošā novērtēšana atklāja, ka līdzsvara punkts starp šīm divām shēmām ir no 40 līdz 45 parakstiem. Tādējādi Sui gadījumā BLS izmantošana ir efektīvāka, un tas patiešām tiek izmantots šodien.

EdDSA un BLS parakstu shēmu salīdzinošais novērtējums atklāja 40 līdz 45 pakešu parakstu rentabilitātes punktu, parādot, ka, izmantojot Sui validatoru kopu, BLS ir efektīva izvēle.

“Jums vajadzētu arī uztraukties, ja programmatūra pēkšņi ir daudz ātrāka”

Prezentācijā tika arī parādīts, kā etaloni var atklāt neparedzētas programmatūras darbības. Viens piemērs ietvēra bibliotēkas, kas ieviesa EdDSA paraksta shēmu, kas pieņēma, ka publiskā atslēga ir jāglabā kešatmiņā un jānodrošina kā parakstīšanas funkcijas ievade. Ja tika norādīta nepareiza publiskā atslēga, tas var izraisīt privātās atslēgas izvilkšanu (kā parādīts mūsu ed25519-unsafe-libs GitHub).

Šī problēma tika atklāta, jo dažas bibliotēkas uzrādīja neparasti ātru veiktspēju, apejot publiskās atslēgas atvasināšanu un kā argumentu izmantojot potenciāli nepareizo. Lai gan etalonu mērķis bieži ir programmatūras paātrināšana, "jums vajadzētu arī uztraukties, ja programmatūra pēkšņi ir daudz ātrāka", kā atzīmēja semināra auditorijas dalībnieks.