ืืกื™ืžื•ืŸ ืขื ืŸ PKCS#11 - ืžื™ืชื•ืก ืื• ืžืฆื™ืื•ืช?

PKCS#11 (Cryptoki) ื”ื•ื ืชืงืŸ ืฉืคื•ืชื— ืขืœ ื™ื“ื™ RSA Laboratories ืขื‘ื•ืจ ืชื•ื›ื ื™ื•ืช ืคืขื•ืœื” ื”ื“ื“ื™ื•ืช ืขื ืืกื™ืžื•ื ื™ ื”ืฆืคื ื”, ื›ืจื˜ื™ืกื™ื ื—ื›ืžื™ื ื•ื”ืชืงื ื™ื ื“ื•ืžื™ื ืื—ืจื™ื ื‘ืืžืฆืขื•ืช ืžืžืฉืง ืชื›ื ื•ืช ืžืื•ื—ื“ ื”ืžื™ื•ืฉื ื‘ืืžืฆืขื•ืช ืกืคืจื™ื•ืช.

ืชืงืŸ PKCS#11 ืœืงืจื™ืคื˜ื•ื’ืจืคื™ื” ืจื•ืกื™ืช ื ืชืžืš ืขืœ ื™ื“ื™ ื•ืขื“ืช ื”ืชืงื™ื ื” ื”ื˜ื›ื ื™ืช "ื”ื’ื ืช ืžื™ื“ืข ืงืจื™ืคื˜ื•ื’ืจืคื™" (TK 26).

ืื ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ืืกื™ืžื•ื ื™ื ืขื ืชืžื™ื›ื” ื‘ืงืจื™ืคื˜ื•ื’ืจืคื™ื” ืจื•ืกื™ืช, ืื– ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื“ื‘ืจ ืขืœ ืืกื™ืžื•ื ื™ ืชื•ื›ื ื”, ืืกื™ืžื•ื ื™ ืชื•ื›ื ื” ื•ื—ื•ืžืจื” ื•ืืกื™ืžื•ื ื™ ื—ื•ืžืจื”.

ืืกื™ืžื•ื ื™ื ืงืจื™ืคื˜ื•ื’ืจืคื™ื™ื ืžืกืคืงื™ื ื”ืŸ ืื—ืกื•ืŸ ืฉืœ ืชืขื•ื“ื•ืช ื•ืฆืžื“ื™ ืžืคืชื—ื•ืช (ืžืคืชื—ื•ืช ืฆื™ื‘ื•ืจื™ื™ื ื•ืคืจื˜ื™ื™ื) ื•ื”ืŸ ื‘ื™ืฆื•ืขื™ื ืฉืœ ืคืขื•ืœื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ื•ืช ื‘ื”ืชืื ืœืชืงืŸ PKCS#11. ื”ื—ื•ืœื™ื” ื”ื—ืœืฉื” ื›ืืŸ ื”ื™ื ืื—ืกื•ืŸ ื”ืžืคืชื— ื”ืคืจื˜ื™. ืื ื”ืžืคืชื— ื”ืฆื™ื‘ื•ืจื™ ืื‘ื“, ืชืžื™ื“ ืชื•ื›ืœ ืœืฉื—ื–ืจ ืื•ืชื• ื‘ืืžืฆืขื•ืช ื”ืžืคืชื— ื”ืคืจื˜ื™ ืื• ืœืงื—ืช ืื•ืชื• ืžื”ืื™ืฉื•ืจ. ืœืื•ื‘ื“ืŸ/ื”ืฉืžื“ื” ืฉืœ ืžืคืชื— ืคืจื˜ื™ ื™ืฉ ื”ืฉืœื›ื•ืช ืงืฉื•ืช, ืœืžืฉืœ, ืœื ืชื•ื›ืœ ืœืคืขื ื— ืงื‘ืฆื™ื ืžื•ืฆืคื ื™ื ื‘ืžืคืชื— ื”ืฆื™ื‘ื•ืจื™ ืฉืœืš, ื•ืœื ืชื•ื›ืœ ืœืฉื™ื ื—ืชื™ืžื” ืืœืงื˜ืจื•ื ื™ืช (ES). ื›ื“ื™ ืœื™ืฆื•ืจ ื—ืชื™ืžื” ืืœืงื˜ืจื•ื ื™ืช, ืชืฆื˜ืจืš ืœื™ืฆื•ืจ ื–ื•ื’ ืžืคืชื—ื•ืช ื—ื“ืฉ, ื•ื‘ืขื‘ื•ืจ ืงืฆืช ื›ืกืฃ, ืœืงื‘ืœ ืื™ืฉื•ืจ ื—ื“ืฉ ืžืื—ืช ืžืจืฉื•ื™ื•ืช ื”ืื™ืฉื•ืจื™ื.

ืœืžืขืœื” ื”ื–ื›ืจื ื• ืืกื™ืžื•ื ื™ ืชื•ื›ื ื”, ืงื•ืฉื—ื” ื•ื—ื•ืžืจื”. ืื‘ืœ ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืฉืงื•ืœ ืกื•ื’ ืื—ืจ ืฉืœ ืืกื™ืžื•ืŸ ืงืจื™ืคื˜ื•ื’ืจืคื™ - ืขื ืŸ.

ื”ื™ื•ื ืœื ืชืคืชื™ืข ืืฃ ืื—ื“ ื›ื•ื ืŸ ื”ื‘ื–ืง ื‘ืขื ืŸ. ื›ืœ ื™ืชืจื•ื ื•ืช ื•ื—ืกืจื•ื ื•ืช ื›ื•ื ื ื™ ื”ื‘ื–ืง ื‘ืขื ืŸ ื–ื”ื™ื ื›ืžืขื˜ ืœืืœื” ืฉืœ ืืกื™ืžื•ืŸ ืขื ืŸ.

ื”ืขื™ืงืจ ื›ืืŸ ื”ื•ื ืื‘ื˜ื—ืช ื”ื ืชื•ื ื™ื ื”ืžืื•ื—ืกื ื™ื ื‘ืืกื™ืžื•ืŸ ื”ืขื ืŸ, ื‘ืขื™ืงืจ ื”ืžืคืชื—ื•ืช ื”ืคืจื˜ื™ื™ื. ื”ืื ืืกื™ืžื•ืŸ ืขื ืŸ ื™ื›ื•ืœ ืœืกืคืง ื–ืืช? ืื ื—ื ื• ืื•ืžืจื™ื - ื›ืŸ!

ืื– ืื™ืš ืขื•ื‘ื“ ืืกื™ืžื•ืŸ ืขื ืŸ? ื”ืฉืœื‘ ื”ืจืืฉื•ืŸ ื”ื•ื ืจื™ืฉื•ื ื”ืœืงื•ื— ื‘ืขื ืŸ ื”ืืกื™ืžื•ืŸ. ืœืฉื ื›ืš, ื™ืฉ ืœืกืคืง ื›ืœื™ ืขื–ืจ ื”ืžืืคืฉืจ ืœืš ืœื’ืฉืช ืœืขื ืŸ ื•ืœืจืฉื•ื ื‘ื• ืืช ื”ื›ื ื™ืกื”/ื›ื™ื ื•ื™ ืฉืœืš:
ืืกื™ืžื•ืŸ ืขื ืŸ PKCS#11 - ืžื™ืชื•ืก ืื• ืžืฆื™ืื•ืช?

ืœืื—ืจ ื”ื”ืจืฉืžื” ื‘ืขื ืŸ, ืขืœ ื”ืžืฉืชืžืฉ ืœืืชื—ืœ ืืช ื”ื˜ื•ืงืŸ ืฉืœื•, ื›ืœื•ืžืจ ืœื”ื’ื“ื™ืจ ืืช ืชื•ื•ื™ืช ื”ืืกื™ืžื•ืŸ, ื•ื”ื›ื™ ื—ืฉื•ื‘, ืœื”ื’ื“ื™ืจ ืืช ื”-SO-PIN ื•ืงื•ื“ ื”-PIN ืฉืœ ื”ืžืฉืชืžืฉ. ืขืกืงืื•ืช ืืœื• ื—ื™ื™ื‘ื•ืช ืœื”ืชื‘ืฆืข ื‘ืขืจื•ืฅ ืžืื•ื‘ื˜ื—/ืžื•ืฆืคืŸ ื‘ืœื‘ื“. ื›ืœื™ ื”ืฉื™ืจื•ืช pk11conf ืžืฉืžืฉ ืœืืชื—ื•ืœ ื”ืืกื™ืžื•ืŸ. ื›ื“ื™ ืœื”ืฆืคื™ืŸ ืืช ื”ืขืจื•ืฅ, ืžื•ืฆืข ืœื”ืฉืชืžืฉ ื‘ืืœื’ื•ืจื™ืชื ื”ืฆืคื ื” Magma-CTR (GOST R 34.13-2015).

ื›ื“ื™ ืœืคืชื— ืžืคืชื— ืžื•ืกื›ื ืฉืขืœ ื‘ืกื™ืกื• ืชืขื‘ื•ืจ ืชื ื•ืขื” ื‘ื™ืŸ ื”ืœืงื•ื— ืœืฉืจืช ืชื”ื™ื” ืžื•ื’ื ืช/ืžื•ืฆืคื ืช, ืžื•ืฆืข ืœื”ืฉืชืžืฉ ื‘ืคืจื•ื˜ื•ืงื•ืœ ื”ืžื•ืžืœืฅ TK 26 SESPAKE - ืคืจื•ื˜ื•ืงื•ืœ ื™ืฆื™ืจืช ืžืคืชื— ืžืฉื•ืชืฃ ืขื ืื™ืžื•ืช ืกื™ืกืžื”.

ืžื•ืฆืข ืœื”ืฉืชืžืฉ ื›ืกื™ืกืžื” ืฉืขืœ ื‘ืกื™ืกื” ื™ื™ื•ื•ืฆืจ ื”ืžืคืชื— ื”ืžืฉื•ืชืฃ ืžื ื’ื ื•ืŸ ืกื™ืกืžื ื—ื“ ืคืขืžื™. ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืžื“ื‘ืจื™ื ืขืœ ืงืจื™ืคื˜ื•ื’ืจืคื™ื” ืจื•ืกื™ืช, ื˜ื‘ืขื™ ืœื™ืฆื•ืจ ืกื™ืกืžืื•ืช ื—ื“ ืคืขืžื™ื•ืช ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ื ื™ื CKM_GOSTR3411_12_256_HMAC, CKM_GOSTR3411_12_512_HMAC ืื• CKM_GOSTR3411_HMAC.

ื”ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ืŸ ื–ื” ืžื‘ื˜ื™ื— ืฉื’ื™ืฉื” ืœืื•ื‘ื™ื™ืงื˜ื™ื ืืกื™ืžื•ื ื™ื ืื™ืฉื™ื™ื ื‘ืขื ืŸ ื‘ืืžืฆืขื•ืช ืงื•ื“ื™ SO ื•-USER PIN ื–ืžื™ื ื” ืจืง ืœืžืฉืชืžืฉ ืฉื”ืชืงื™ืŸ ืื•ืชื ื‘ืืžืฆืขื•ืช ื›ืœื™ ื”ืฉื™ืจื•ืช pk11conf.

ื–ื”ื•, ืœืื—ืจ ื”ืฉืœืžืช ื”ืฉืœื‘ื™ื ื”ืœืœื•, ืืกื™ืžื•ืŸ ื”ืขื ืŸ ืžื•ื›ืŸ ืœืฉื™ืžื•ืฉ. ื›ื“ื™ ืœื’ืฉืช ืœืืกื™ืžื•ืŸ ื”ืขื ืŸ, ืืชื” ืจืง ืฆืจื™ืš ืœื”ืชืงื™ืŸ ืืช ืกืคืจื™ื™ืช LS11CLOUD ื‘ืžื—ืฉื‘ ื”ืื™ืฉื™ ืฉืœืš. ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืืกื™ืžื•ืŸ ืขื ืŸ ื‘ืืคืœื™ืงืฆื™ื•ืช ื‘ืคืœื˜ืคื•ืจืžื•ืช ืื ื“ืจื•ืื™ื“ ื•-iOS, ืžืกื•ืคืง SDK ืชื•ืื. ืกืคืจื™ื” ื–ื• ื”ื™ื ืฉืชืฆื•ื™ืŸ ื‘ืขืช โ€‹โ€‹ื—ื™ื‘ื•ืจ ืืกื™ืžื•ืŸ ืขื ืŸ ื‘ื“ืคื“ืคืŸ Redfox ืื• ื›ืชื•ื‘ ื‘ืงื•ื‘ืฅ pkcs11.txt ืขื‘ื•ืจ. ืกืคืจื™ื™ืช LS11CLOUD ื’ื ืžืงื™ื™ืžืช ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืืกื™ืžื•ืŸ ื‘ืขื ืŸ ื‘ืืžืฆืขื•ืช ืขืจื•ืฅ ืžืื•ื‘ื˜ื— ื”ืžื‘ื•ืกืก ืขืœ SESPAKE, ืฉื ื•ืฆืจ ื‘ืขืช ืงืจื™ืื” ืœืคื•ื ืงืฆื™ื” PKCS#11 C_Initialize!

ืืกื™ืžื•ืŸ ืขื ืŸ PKCS#11 - ืžื™ืชื•ืก ืื• ืžืฆื™ืื•ืช?

ื–ื” ื”ื›ืœ, ืขื›ืฉื™ื• ืืชื” ื™ื›ื•ืœ ืœื”ื–ืžื™ืŸ ืื™ืฉื•ืจ, ืœื”ืชืงื™ืŸ ืื•ืชื• ื‘ืืกื™ืžื•ืŸ ื”ืขื ืŸ ืฉืœืš ื•ืœืขื‘ื•ืจ ืœืืชืจ ืฉื™ืจื•ืชื™ ื”ืžืžืฉืœื”.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”