рдХреНрд▓рд╛рдЙрдб рдЯреЛрдХрди PKCS#11 тАУ рдорд┐рдердХ рд╡рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛?

PKCS#11 (Cryptoki) рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рдорд╛рд░реНрдлрдд рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдПрдХреАрдХреГрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдЯреЛрдХрдирд╣рд░реВ, рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдбрд╣рд░реВ рд░ рдЕрдиреНрдп рд╕рдорд╛рди рдпрдиреНрддреНрд░рд╣рд░реВрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ RSA рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдорд╛рдирдХ рд╣реЛред

рд░реВрд╕реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрдХреЛ рд▓рд╛рдЧрд┐ 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.

рдпреЛ рд╣реЛ, рдпреА рдЪрд░рдгрд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реЗрдкрдЫрд┐, рдХреНрд▓рд╛рдЙрдб рдЯреЛрдХрди рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫред рдХреНрд▓рд╛рдЙрдб рдЯреЛрдХрди рдкрд╣реБрдБрдЪ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ PC рдорд╛ LS11 CLOUD рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдПрдиреНрдбреНрд░реЛрдЗрдб рд░ рдЖрдИрдУрдПрд╕ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд╣рд░реВрдорд╛ рдХреНрд▓рд╛рдЙрдб рдЯреЛрдХрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рд╕рдореНрдмрдиреНрдзрд┐рдд SDK рдкреНрд░рджрд╛рди рдЧрд░рд┐рдиреНрдЫред рдпреЛ рдпреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛ рдЬреБрди рд░реЗрдбрдлрдХреНрд╕ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдХреНрд▓рд╛рдЙрдб рдЯреЛрдХрди рдЬрдбрд╛рди рдЧрд░реНрджрд╛ рд╡рд╛ pkcs11.txt рдлрд╛рдЗрд▓рдорд╛ рд▓реЗрдЦреНрджрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдиреЗрдЫред LS11CLOUD рдкреБрд╕реНрддрдХрд╛рд▓рдпрд▓реЗ PKCS#11 C_Initialize рдкреНрд░рдХрд╛рд░реНрдпрд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ SESPAKE рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд┐рдд рдЪреНрдпрд╛рдирд▓ рдорд╛рд░реНрдлрдд рдХреНрд▓рд╛рдЙрдбрдорд╛ рд░рд╣реЗрдХреЛ рдЯреЛрдХрдирд╕рдБрдЧ рдЕрдиреНрддрд░реНрдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрдЫ!

рдХреНрд▓рд╛рдЙрдб рдЯреЛрдХрди PKCS#11 тАУ рдорд┐рдердХ рд╡рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛?

рдпрддрд┐ рдорд╛рддреНрд░реИ рд╣реЛ, рдЕрдм рддрдкрд╛рдЗрдБ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрд░реНрдбрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпрд╕рд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ рдХреНрд▓рд╛рдЙрдб рдЯреЛрдХрдирдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рд╕рд░рдХрд╛рд░реА рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди