рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ, GOSTs рднреА рдЗрддрдиреЗ рд╣реА рд╣реИрдВред YubiKey рджрд╛рди рдШрд╛рддрдХ рднреЗрджреНрдпрддрд╛ рдЬреЛ рдЯрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛



рд╣рд╛рдп% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо%!

13 рдЬреВрди, 2019 рдХреЛ, рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдПрдХ рдирд┐рд░реНрдорд╛рддрд╛, рдпреВрдмрд┐рдХреЛ рдиреЗ рдХреБрдЫ рдпреВрдмреАрдХрд┐рдП рджрд╛рди рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреЗрджреНрдпрддрд╛ рдХреЛ рдмрддрд╛рддреЗ рд╣реБрдП рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдиреЛрдЯрд┐рд╕ рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рднреЗрджреНрдпрддрд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ GOSTs рднреА рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ FIPS - рд╕рдВрдШреАрдп рд╕реВрдЪрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдорд╛рдирдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд░рд╛рдЬреНрдпред рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд╣рдорд╛рд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рдо рдпреВрд░реЛрдХреНрд░реАрдкреНрдЯ 2019 рдореЗрдВ рдорд┐рд▓реЗ рдереЗ, рдбреЗрдирд┐рд╢ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдПрдХ рдирд░рдХ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рдмрд╛рдд рдкрд░ рднреА рдХрд┐ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ, рд╕реНрдореГрддрд┐ рдореЗрдВ рдорд╛рди рдмрджрд▓реЗрдВ рдФрд░ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рдЧрд┐рд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдкреНрд░рдорд╛рдгрд┐рдд рд╣реЛрдирд╛ рдФрд░ рджрд╛рди рдЖрдЬреНрдЮрд╛рдХрд╛рд░реА рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреЛ рдЙрддреНрдкрд╛рдж рдФрд░ рдХрдВрдкрдирд┐рдпрд╛рдВ рд░рд╛рдЬреНрдп рдХреЛ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ, рдЙрдирдореЗрдВ рд╣рдорд╛рд░реА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реИрдВред

ECDSA


Yubico рдХреЗ рдпреВрдПрд╕рдмреА рдЯреЛрдХрди рдХреЗ рдЕрдВрджрд░ рдЪрд╛рдмрд┐рдпрд╛рдБ рдФрд░ рдПрдХ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рднрдВрдбрд╛рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ECDSAред рдкрдВрдЬреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди, рдЯреЛрдХрди рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рд▓реЙрдЧрд┐рди рдХреЗ рд╕рд╛рде, рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рднреЗрдЬрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдореЗрдЯрд╛-рд╕реВрдЪрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдбреЛрдореЗрдиред

рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд┐ рдХреИрд╕реЗ ECDSA рдпрд╛ рдЕрдгреНрдбрд╛рдХрд╛рд░ рд╡рдХреНрд░реЛрдВ рдкрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ:

  1. рд╣рдо рд╕рдВрджреЗрд╢ рд╕реЗ рд╣реИрд╢ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдИ=рдПрдЪрдПрдПрд╕рдПрдЪ(рдПрдо)ред
  2. рд╣рдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд░реВрдк рд╕реЗ рдордЬрдмреВрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ k рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред
  3. рдЧрдгрдирд╛ рдмрд┐рдВрджреБ (x,y)=kтИЧGрдЬрд╣рд╛рдБ G рд╡рдХреНрд░ рдХрд╛ рдЖрдзрд╛рд░ рдмрд┐рдВрджреБ рд╣реИ рдЬрд┐рд╕реЗ рдЬрдирд░реЗрдЯрд░ (рд╕реНрдерд┐рд░) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
  4. рд╣рдо рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ r=x mod nрдЖрдзрд╛рд░ рдмрд┐рдВрджреБ (рд╕реНрдерд┐рд░) рдХрд╛ рдХреНрд░рдо n рдХрд╣рд╛рдБ рд╣реИ
  5. рд╣рдо рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ s=kтИТ1(e+rтИЧd) bmodnрдЬрд╣рд╛рдВ d рдирд┐рдЬреА рдХреБрдВрдЬреА рд╣реИ
  6. рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ r, s рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╣реЛрддреА рд╣реИ

рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ k рди рдХреЗрд╡рд▓ рдЧреБрдкреНрдд рд╣реИ, рдмрд▓реНрдХрд┐ рд╣рдореЗрд╢рд╛ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред рдЕрдиреНрдпрдерд╛, рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ (рдЖрд░, рдПрд╕) рдФрд░ (рдЖрд░ 1, рдПрд╕ 1) рд╣реИрдВ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджреЗрд╢реЛрдВ рдПрдо рдФрд░ рдПрдо 1 рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдЧреБрдкреНрдд рдХрд╢реНрдореАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред

  • рд╣рдорд▓рд╛рд╡рд░ рдИ рдФрд░ рдИ 1 рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
  • рдЬреИрд╕реЗ sтИТs1=kтИТ1(eтИТe1)рддрдм рд╣рдо рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЗред k= fraceтИТe1sтИТs1
  • рдЬреИрд╕реЗ s=kтИТ1(e+rтИЧd), рддрдм рд╣рдо d рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред d= fracsтИЧkтИТer
  • рдбреА - рдирд┐рдЬреА рдХреБрдВрдЬреА

рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдХрд╢реНрдореАрд░ рднрд┐рдиреНрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИрдВ , рддреЛ рдЖрдк рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдмрд╕ рдереЛрдбрд╝рд╛ рдмрд▓ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реИрд╕реЗ, 2013 рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХреНрд▓реИрдорд┐рд▓реА (рдИрд╕реА) рдбреАрдПрд╕рдП рдХреЛ рдкреНрд▓реЗрд╕реНрдЯреЗрд╢рди рдФрд░ рдЕрдиреНрдп рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореИрдВ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

Yubico


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

рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?


рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд╕рдорд╕реНрдпрд╛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред 2013 рдХреЗ рдмрд╛рдж рд╕реЗ, RFC 6979 рд╣реИ , рдЬреЛ рдХрдИ рд╕рд╛рдзрд╛рд░рдг рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рдирд┐рдпрддрд╛рддреНрдордХ ECDSA рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 2014 рдореЗрдВ, рдЬрдм рдпреВ 2 рдПрдл рдорд╛рдирдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрд░рдкреАрдПрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдареАрдХ рдерд╛ рдХрд┐ FIPS рдиреЗ рдЦреБрд▓реЗ рддреМрд░ рдкрд░ рдирд┐рдпрддрд╛рддреНрдордХ рдИрд╕реАрдбреАрдПрд╕рдП рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЙрди рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ F * cked-up, Insecure, Persnickety Standards рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИред

Yubico рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛ k рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдирд┐рд╢ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХрд╢реНрдореАрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рдХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ XOR рдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдХрд┐ рд╡рд╣ рдПрдХ RNG (рдпрд╛ рдХреЗрдбреАрдПрдл рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдм рдХреБрдЫ рдЪрд▓рд╛рдХрд░) рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?


рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдЪреАрдЬ рд╣реИред GOST R 34.10-2012 - рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╣реА ECDSA, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрддрд╛ рдХреЗ рд╕рд╛рдеред рд╕рдВрдЦреНрдпрд╛ k рдкреИрджрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ ECDSA рдХреА рддрд░рд╣ рд╣реА рд░рд╣рддреА рд╣реИрдВред рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдЯреЛрдХрди рдХрд╛ рдХреЛрдИ рднреА рдирд┐рд░реНрдорд╛рддрд╛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ ECDSA рдХреЗ рдирд┐рд░реНрдзрд╛рд░рдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ? рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рд╕рдВрджреЗрд╣ рд╣реИред

рдпрджрд┐ рд░реВрд╕реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣реИрдВ, рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдкрд░ рдЙрдирдХреА рд░рд╛рдп рд╕реБрдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЙрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реИред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/hi456494/


All Articles