Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рд╕рд╛рдзреЗ рдкрд╛рд╕рд╡рд░реНрдб рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╕рддрд╛рдд рдЖрдгрд┐ рдЬрдЯрд┐рд▓ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рдЕрд╢рдХреНрдп рдЕрд╕рддреЗ. рдореНрд╣рдгреВрдирдЪ рддреЗ рдмрд░реНтАНрдпрд╛рдЪрджрд╛ рдХреАрдмреЛрд░реНрдб рдХрд┐рдВрд╡рд╛ рдореЙрдирд┐рдЯрд░рд╡рд░ рдЪрд┐рдХрдЯ рдиреЛрдЯрд╡рд░ рд╕рдВрдкрддрд╛рдд. рдкрд╛рд╕рд╡рд░реНрдб "рд╡рд┐рд╕рд░рд▓реЗрд▓реНрдпрд╛" рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдордирд╛рдд рд░рд╛рд╣рддреАрд▓ рдЖрдгрд┐ рд╕рдВрд░рдХреНрд╖рдгрд╛рдЪреА рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдирд╖реНрдЯ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рджреЛрди-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг (2FA) рдЖрд╣реЗ.

рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рдЪреЗ рдорд╛рд▓рдХ рдЕрд╕рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪрд╛ рдкрд┐рди рдЬрд╛рдгреВрди рдШреЗрдгреЗ рдпрд╛ рджреЛрдиреНрд╣реАрдЪреНрдпрд╛ рд╕рдВрдпреЛрдЬрдирд╛рдореБрд│реЗ, рдкрд┐рди рд╕реНрд╡рддрдГрдЪ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рд╕реЛрдкреЗ рдЕрд╕реВ рд╢рдХрддреЗ. рдкрд┐рди рд▓рд╛рдВрдмреА рдХрд┐рдВрд╡рд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддреЗрдордзреАрд▓ рддреЛрдЯреЗ рднреМрддрд┐рдХ рддрд╛рдмрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрдгрд┐ рдкрд┐рди рдмреНрд░реВрдЯ рдлреЛрд░реНрд╕рд╡рд░реАрд▓ рдирд┐рд░реНрдмрдВрдзрд╛рдВрджреНрд╡рд╛рд░реЗ рдСрдлрд╕реЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╕рд░рдХрд╛рд░реА рд╕рдВрд╕реНрдерд╛рдВрдордзреНрдпреЗ рдЕрд╕реЗ рдШрдбрддреЗ рдХреА рддреНрдпрд╛рдВрдирд╛ рд╕рд░реНрд╡ рдХрд╛рд╣реА GOST рдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ. рд▓рд┐рдирдХреНрд╕рдордзреНрдпреЗ рд▓реЙрдЧ рдЗрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛ 2FA рдкрд░реНрдпрд╛рдпрд╛рд╡рд░ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЬрд╛рдИрд▓. рдореА рджреБрд░реВрдирдЪ рд╕реБрд░реБрд╡рд╛рдд рдХрд░реЗрди.

PAM рдореЙрдбреНрдпреВрд▓реНрд╕

рдкреНрд▓рдЧреЗрдмрд▓ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдореЙрдбреНрдпреБрд▓реНрд╕ (PAM) рд╣реЗ рдорд╛рдирдХ API рдЕрд╕рд▓реЗрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреАрд▓ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдпрдВрддреНрд░рдгреЗрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рддрд╛рдд.
PAM рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрдгрд╛рд░реНтАНрдпрд╛ рд╕рд░реНрд╡ рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рддреНрдпрд╛рдВрдирд╛ рдЙрдЪрд▓рддрд╛рдд рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд.
рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд, рд╣реЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдХрд╛рд░реНрдп рдХрд░рддреЗ: рд▓реЙрдЧрд┐рди рдХрдорд╛рдВрдб PAM рд▓рд╛ рдХреЙрд▓ рдХрд░рддреЗ, рдЬреА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореЙрдбреНрдпреВрд▓реНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рддрдкрд╛рд╕рдгреНрдпрд╛ рдХрд░рддреЗ рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдо рдкрд░рдд рд▓реЙрдЧрд┐рди рдХрдорд╛рдВрдбрд╡рд░ рдкрд░рдд рдХрд░рддреЗ.

librtpam

Aktiv рдХрдВрдкрдиреАрдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдШрд░рдЧреБрддреА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрдЪреНрдпрд╛ рдирд╡реАрдирддрдо рдорд╛рдирдХрд╛рдВрдиреБрд╕рд╛рд░ рдЕрд╕рдордорд┐рдд рдХреА рд╡рд╛рдкрд░реВрди рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдХрд┐рдВрд╡рд╛ USB рдЯреЛрдХрди рд╡рд╛рдкрд░рдгрд╛рд▒реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреЗ рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЬреЛрдбрддреЗ.

рдЪрд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдЪреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд╛рд╣реВ:

  • рдЯреЛрдХрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рдЦрд╛рдЬрдЧреА рдХреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ;
  • рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╣реЛрдо рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдЬрддрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ.

рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╣реЛрддреЗ:

  1. рд░реБрдЯреЛрдХреЗрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреЗ рд╡реИрдпрдХреНрддрд┐рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╢реЛрдзрддреЗ.
  2. рдЯреЛрдХрди рдкрд┐рдирдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдЖрд╣реЗ.
  3. рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рдереЗрдЯ рд░реБрдЯреЛрдХреЗрди рдЪрд┐рдкрдордзреНрдпреЗ рдЦрд╛рдЬрдЧреА рдХреАрд╡рд░ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдХреЗрд▓реЗрд▓рд╛ рдЖрд╣реЗ.
  4. рдкрд░рд┐рдгрд╛рдореА рд╕реНрд╡рд╛рдХреНрд╖рд░реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рддреАрд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡рд╛рдкрд░реВрди рд╕рддреНрдпрд╛рдкрд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ.
  5. рдореЙрдбреНрдпреВрд▓ рдХреЙрд▓рд┐рдВрдЧ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирд▓рд╛ рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдкрдбрддрд╛рд│рдгреА рдкрд░рд┐рдгрд╛рдо рдкрд░рдд рдХрд░рддреЗ.

рддреБрдореНрд╣реА GOST R 34.10-2012 рдХреА (рд▓рд╛рдВрдмреА 256 рдХрд┐рдВрд╡рд╛ 512 рдмрд┐рдЯреНрд╕) рдХрд┐рдВрд╡рд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдп GOST R 34.10-2001 рд╡рд╛рдкрд░реВрди рдкреНрд░рдорд╛рдгреАрдХреГрдд рдХрд░реВ рд╢рдХрддрд╛.

рддреБрдореНрд╣рд╛рд▓рд╛ рдХреАрдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдмрджреНрджрд▓ рдХрд╛рд│рдЬреА рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА - рддреЗ рдереЗрдЯ рд░реБрдЯреЛрдХреЗрдирдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдСрдкрд░реЗрд╢рдиреНрд╕ рджрд░рдореНрдпрд╛рди рддреНрдпрд╛рдВрдЪреА рдореЗрдорд░реА рдХрдзреАрд╣реА рд╕реЛрдбрдд рдирд╛рд╣реАрдд.

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

Rutoken EDS 2.0 NDV 4 рдиреБрд╕рд╛рд░ FSB рдЖрдгрд┐ FSTEC рджреНрд╡рд╛рд░реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреЗ рдЧреЛрдкрдиреАрдп рдорд╛рд╣рд┐рддреАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реАрдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд╛рдкрд░

рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреАрд╣реА рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рдХрд░реЗрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдЖрдореНрд╣реА xUbuntu 18.10 рд╡рд╛рдкрд░реВ.

1) рдЖрд╡рд╢реНрдпрдХ рдкреЕрдХреЗрдЬреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛

sudo apt-get install libccid pcscd opensc
рдЖрдкрдг рд╕реНрдХреНрд░реАрдирд╕реЗрд╡реНрд╣рд░рд╕рд╣ рдбреЗрд╕реНрдХрдЯреЙрдк рд▓реЙрдХ рдЬреЛрдбреВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ libpam-pkcs11.

2) GOST рд╕рдорд░реНрдердирд╛рд╕рд╣ PAM рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╛

рд╡рд░реВрди рд▓рд╛рдпрдмреНрд░рд░реА рд▓реЛрдб рдХрд░рдд рдЖрд╣реЗ https://download.rutoken.ru/Rutoken/PAM/
PAM рдлреЛрд▓реНрдбрд░рдЪреА рд╕рд╛рдордЧреНрд░реА librtpam.so.1.0.0 рд╕рд┐рд╕реНрдЯрдо рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдХреЙрдкреА рдХрд░рд╛
/usr/lib/ рдХрд┐рдВрд╡рд╛ /usr/lib/x86_64-linux-gnu/рдХрд┐рдВрд╡рд╛ /usr/lib64

3) librtpkcs11ecp.so рд╕рд╣ рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛

рд▓рд┐рдВрдХрд╡рд░реВрди DEB рдХрд┐рдВрд╡рд╛ RPM рдкреЕрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдЖрдгрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛: https://www.rutoken.ru/support/download/pkcs/

4) Rutoken EDS 2.0 рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рдХрд╛рд░реНрдп рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рддрдкрд╛рд╕рд╛

рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗ рдЖрдореНрд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЛ
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
рдУрд│ рджрд┐рд╕рд▓реА рддрд░ Rutoken ECP <no label> - рдпрд╛рдЪрд╛ рдЕрд░реНрде рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ.

5) рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд╛рдЪрд╛

рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рддрдкрд╛рд╕рдд рдЖрд╣реЗ
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
рдЬрд░ рдУрд│реАрдирдВрддрд░:
Using slot 0 with a present token (0x0)

  • рдорд╛рд╣рд┐рддреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ рдХреА рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдмрджреНрджрд▓, рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд╛рдЪрд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рддреЗ рдбрд┐рд╕реНрдХрд╡рд░ рд╕реЗрд╡реНрд╣ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЦрд╛рд▓реАрд▓ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛, рдЬрд┐рдереЗ рддреБрдореНрд╣рд╛рд▓рд╛ {id} рдРрд╡рдЬреА рддреБрдореНрд╣реА рдорд╛рдЧреАрд▓ рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рдкрд╛рд╣рд┐рд▓реЗрд▓рд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ ID рдмрджрд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:
    $ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
    cert.crt рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХреЗрд▓реА рдЕрд╕рд▓реНрдпрд╛рд╕, рдЪрд░рдг 6 рд╡рд░ рдЬрд╛).
  • рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА, рдирдВрддрд░ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рд░рд┐рдХреНрдд рдЖрд╣реЗ. рддреБрдордЪреНрдпрд╛ рдкреНрд░рд╢рд╛рд╕рдХрд╛рд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрд╛ рдХрд┐рдВрд╡рд╛ рдкреБрдвреАрд▓ рдкрд╛рдпрд░реА рдлреЙрд▓реЛ рдХрд░реВрди рд╕реНрд╡рддрдГ рдХреА рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддрдпрд╛рд░ рдХрд░рд╛.

5.1) рдЪрд╛рдЪрдгреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддрдпрд╛рд░ рдХрд░рд╛

рд▓рдХреНрд╖ рджреНрдпрд╛! рдХреА рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреА рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗрдд рдЖрдгрд┐ рд▓рдврд╛рдК рдореЛрдбрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗрддреВ рдирд╛рд╣реАрдд. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рд╕рдВрд╕реНрдереЗрдЪреНрдпрд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд╛рдиреЗ рдХрд┐рдВрд╡рд╛ рдорд╛рдиреНрдпрддрд╛рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд╛рдиреЗ рдЬрд╛рд░реА рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреА рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.
PAM рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдирд┐рдХ рд╕рдВрдЧрдгрдХрд╛рдВрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рд▓рд╣рд╛рди рд╕рдВрд╕реНрдерд╛рдВрдордзреНрдпреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ. рдХрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рдкреНрд░рд╢рд╛рд╕рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рд░рджреНрдж рдХрд░рдгреНрдпрд╛рд╡рд░ рд▓рдХреНрд╖ рдареЗрд╡реВ рд╢рдХрддреЛ рдЖрдгрд┐ рдЦрд╛рддреА рдореЕрдиреНрдпреБрдЕрд▓реА рдмреНрд▓реЙрдХ рдХрд░реВ рд╢рдХрддреЛ, рддрд╕реЗрдЪ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╡реИрдзрддреЗрдЪрд╛ рдХрд╛рд▓рд╛рд╡рдзреА. CRL рд╡рд╛рдкрд░реВрди рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдЪреА рдкрдбрддрд╛рд│рдгреА рдХрд╢реА рдХрд░рд╛рдпрдЪреА рдЖрдгрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рдЪреА рд╕рд╛рдЦрд│реА рдХрд╢реА рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреА рд╣реЗ PAM рдореЙрдбреНрдпреВрд▓рд▓рд╛ рдЕрджреНрдпрд╛рдк рдорд╛рд╣рд┐рдд рдирд╛рд╣реА.

рд╕реЛрдкрд╛ рдорд╛рд░реНрдЧ (рдмреНрд░рд╛рдЙрдЭрд░рджреНрд╡рд╛рд░реЗ)

рдЪрд╛рдЪрдгреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд╛рдкрд░рд╛ рд╡реЗрдм рд╕реЗрд╡рд╛ "рд░реБрдЯреЛрдХреЗрди рдиреЛрдВрджрдгреА рдХреЗрдВрджреНрд░". рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕ 5 рдорд┐рдирд┐рдЯрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│ рд▓рд╛рдЧрдгрд╛рд░ рдирд╛рд╣реА.

рдЧреАрдХрдЪрд╛ рдорд╛рд░реНрдЧ (рдХрдиреНрд╕реЛрд▓ рдЖрдгрд┐ рд╢рдХреНрдпрддреЛ рдХрдВрдкрд╛рдЗрд▓рд░рджреНрд╡рд╛рд░реЗ)

OpenSC рдЖрд╡реГрддреНрддреА рддрдкрд╛рд╕рд╛
$ opensc-tool --version
рдЖрд╡реГрддреНрддреА 0.20 рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕рд▓реНрдпрд╛рд╕, рдирдВрддрд░ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛ рдХрд┐рдВрд╡рд╛ рддрдпрд╛рд░ рдХрд░рд╛ GOST-11 рд╕рдорд░реНрдердирд╛рд╕рд╣ pkcs2012-рдЯреВрд▓ рд╢рд╛рдЦрд╛ рдЖрдордЪреНрдпрд╛ GitHub рд╡рд░реВрди (рдпрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдЪреНрдпрд╛ рд╡реЗрд│реА, рд░рд┐рд▓реАрдЭ 0.20 рдЕрджреНрдпрд╛рдк рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓реЗ рдирд╛рд╣реА) рдХрд┐рдВрд╡рд╛ рдирдВрддрд░ рдореБрдЦреНрдп OpenSC рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рдореБрдЦреНрдп рд╢рд╛рдЦреЗрддреВрди рд╡рдЪрдирдмрджреНрдз 8cf1e6f

рдЦрд╛рд▓реАрд▓ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рдПрдХ рдХреА рдЬреЛрдбреА рддрдпрд╛рд░ рдХрд░рд╛:
--key-type: GOSTR3410-2012-512:╨Р (╨У╨Ю╨б╨в-2012 512 ╨▒╨╕╤В c ╨┐╨░╤А╨░╨╝╤Б╨╡╤В╨╛╨╝ ╨Р), GOSTR3410-2012-256:A (╨У╨Ю╨б╨в-2012 256 ╨▒╨╕╤В ╤Б ╨┐╨░╤А╨░╨╝╤Б╨╡╤В╨╛╨╝ A)

--id: рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ (CKA_ID) ASCII рдЯреЗрдмрд▓рдордзреАрд▓ рджреЛрди-рдЕрдВрдХреА рд╣реЗрдХреНрд╕ рд╡рд░реНрдг рд╕рдВрдЦреНрдпрд╛ рдореНрд╣рдгреВрди. рдкреНрд░рд┐рдВрдЯ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЕрдХреНрд╖рд░рд╛рдВрд╕рд╛рдареА рдлрдХреНрдд ASCII рдХреЛрдб рд╡рд╛рдкрд░рд╛, рдХрд╛рд░рдг... рдЖрдпрдбреА рдУрдкрдирдПрд╕рдПрд╕рдПрд▓рд▓рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореНрд╣рдгреВрди рдкрд╛рд╕ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, ASCII рдХреЛрдб тАЬ3132тАЭ рд╕реНрдЯреНрд░рд┐рдВрдЧ тАЬ12тАЭ рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ. рд╕реЛрдпреАрд╕рд╛рдареА, рдЖрдкрдг рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ ASCII рдХреЛрдбрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛.

$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132

рдкреБрдвреЗ рдЖрдкрдг рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддрдпрд╛рд░ рдХрд░реВ. рдЦрд╛рд▓реА рджреЛрди рдорд╛рд░реНрдЧрд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЬрд╛рдИрд▓: рдкрд╣рд┐рд▓рд╛ CA рджреНрд╡рд╛рд░реЗ (рдЖрдореНрд╣реА рдЪрд╛рдЪрдгреА CAs рд╡рд╛рдкрд░реВ), рджреБрд╕рд░рд╛ рд╕реНрд╡-рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдХреЗрд▓реЗрд▓рд╛ рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдердо рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдЖрд╡реГрддреНрддреА 1.1 рдХрд┐рдВрд╡рд╛ рдирдВрддрд░рдЪреА рдЖрд╡реГрддреНрддреА рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдореЕрдиреНрдпреБрдЕрд▓ рд╡рд╛рдкрд░реВрди рд░реБрдЯреЛрдХреЗрдирд╕рд╣ рд╡рд┐рд╢реЗрд╖ rtengine рдореЙрдбреНрдпреВрд▓рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рд╛. OpenSSL рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ.
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде: '- рд╕рд╛рдареА-id 3132OpenSSL рдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ " рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗpkcs11:id=12".

рддреБрдореНрд╣реА рдЪрд╛рдЪрдгреА CA рдЪреНрдпрд╛ рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рддреНрдпрд╛рдкреИрдХреА рдЕрдиреЗрдХ рдЖрд╣реЗрдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛ ╨╕ рдкрд╛рд╣рд╛, рдкрд╛рд╣рд╛, рдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╛рдареА рд╡рд┐рдирдВрддреА рддрдпрд╛рд░ рдХрд░реВ

рджреБрд╕рд░рд╛ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгрдЬреЗ рдЖрд│рд╢реАрдкрдгрд╛ рд╕реНрд╡реАрдХрд╛рд░рдгреЗ рдЖрдгрд┐ рд╕реНрд╡рдд: рдЪреА рд╕реНрд╡рд╛рдХреНрд╖рд░реА рддрдпрд╛рд░ рдХрд░рдгреЗ
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr

рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдкрд▓реЛрдб рдХрд░рдд рдЖрд╣реЗ
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer

6) рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдЪреА рдиреЛрдВрджрдгреА рдХрд░рд╛

рддреБрдордЪреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмреЗрд╕64 рдлрд╛рдЗрд▓рд╕рд╛рд░рдЦреЗ рджрд┐рд╕рдд рдЕрд╕рд▓реНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛:

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рддреБрдордЪреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрд╕реЗ рджрд┐рд╕рдд рдЕрд╕рд▓реНрдпрд╛рд╕:

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбреАрдИрдЖрд░ рдлреЙрд░рдореЕрдЯрдордзреВрди рдкреАрдИрдПрдо рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд░реБрдкрд╛рдВрддрд░рд┐рдд рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ (рдмреЗрд╕64)

$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
рдЖрдореНрд╣реА рдкреБрдиреНрд╣рд╛ рддрдкрд╛рд╕рддреЛ рдХреА рдЖрддрд╛ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЖрд╣реЗ.

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬреЛрдбрд╛
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates

рд╢реЗрд╡рдЯрдЪреА рдУрд│ рдЗрддрд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдЪреБрдХреВрди рдХрд┐рдВрд╡рд╛ рд╣реЗрддреБрдкреБрд░рд╕реНрд╕рд░ рдмрджрд▓рдгреНрдпрд╛рдкрд╛рд╕реВрди рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рддреЗ. рд╣реЗ рдПрдЦрд╛рджреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдпреЗрдереЗ рдЬреЛрдбрдгреНрдпрд╛рдкрд╛рд╕реВрди рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рд╡рддреАрдиреЗ рд▓реЙрдЧ рдЗрди рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдгреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддреЗ.

7) рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯ рдХрд░рд╛

рдЖрдордЪреЗ PAM рдореЙрдбреНрдпреБрд▓ рд╕реЗрдЯ рдХрд░рдгреЗ рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рдорд╛рдирдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдЗрддрд░ рдореЙрдбреНрдпреБрд▓ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдкреНрд░рдорд╛рдгреЗрдЪ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдлрд╛рдЗрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдХрд░рд╛ /usr/share/pam-configs/rutoken-gost-pam рдореЙрдбреНрдпреБрд▓рдЪреЗ рдкреВрд░реНрдг рдирд╛рд╡, рддреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗ рдЖрд╣реЗ рдХрд╛, рдореЙрдбреНрдпреВрд▓рдЪреЗ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдЖрдгрд┐ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕рдорд╛рд╡рд┐рд╖реНрдЯреАрдд рдЖрд╣реЗ.
рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдордзреНрдпреЗ рдСрдкрд░реЗрд╢рдирдЪреНрдпрд╛ рдпрд╢рд╕реНрд╡реАрддреЗрд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗрдд:

  • рдЖрд╡рд╢реНрдпрдХ: рдЕрд╢рд╛ рдореЙрдбреНрдпреВрд▓реНрд╕рдиреЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рд╕рд╛рдж рджрд┐рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рдореЙрдбреНрдпреВрд▓ рдХреЙрд▓рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдордзреНрдпреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рд╕рд╛рдж рдЕрд╕рд▓реНрдпрд╛рд╕, рдпрд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рддреНрд░реБрдЯреАрдордзреНрдпреЗ рд╣реЛрдИрд▓. рд╡рд┐рдирдВрддреА рд╕реЛрдбрд▓реА рдЬрд╛рдИрд▓, рдкрд░рдВрддреБ рдЙрд░реНрд╡рд░рд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.
  • рдЖрд╡рд╢реНтАНрдпрдХ: рдЖрд╡рд╢реНтАНрдпрдХрддреЗрдкреНрд░рдорд╛рдгреЗ, рдкрд░рдВрддреБ рд▓рдЧреЗрдЪрдЪ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдпрд╢рд╕реНрд╡реА рд╣реЛрддреЗ рдЖрдгрд┐ рдЗрддрд░ рдореЙрдбреНрдпреВрд▓реНрд╕рдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рддреЗ.
  • рдкреБрд░реЗрд╕реЗ: рдЬрд░ рдЕрд╢рд╛ рдореЙрдбреНрдпреВрд▓рдЪреНрдпрд╛ рдЖрдзреА рдЖрд╡рд╢реНрдпрдХ рдХрд┐рдВрд╡рд╛ рдкреБрд░реЗрд╢рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдореЙрдбреНрдпреВрд▓рдиреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджрд┐рд▓рд╛ рдирд╛рд╣реА, рддрд░ рдореЙрдбреНрдпреВрд▓ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдИрд▓. рдЙрд░реНрд╡рд░рд┐рдд рдореЙрдбреНрдпреВрд▓реНрд╕рдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.
  • рдкрд░реНрдпрд╛рдпреА: рдЬрд░ рд╕реНрдЯреЕрдХрд╡рд░ рдХреЛрдгрддреЗрд╣реА рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓реНрд╕ рдирд╕рддреАрд▓ рдЖрдгрд┐ рдкреБрд░реЗрд╕реЗ рдореЙрдбреНрдпреВрд▓реНрд╕рдкреИрдХреА рдХреЛрдгрддреЗрд╣реА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджреЗрдд рдирд╕рддреАрд▓, рддрд░ рдХрд┐рдорд╛рди рдПрдХ рдкрд░реНрдпрд╛рдпреА рдореЙрдбреНрдпреВрд▓рдиреЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рджрд┐рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ.

рдкреВрд░реНрдг рдлрд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА /usr/share/pam-configs/rutoken-gost-pam:
Name: Rutoken PAM GOST
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient /usr/lib/librtpam.so.1.0.0 /usr/lib/librtpkcs11ecp.so

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рдлрд╛рдЗрд▓ рд╕реЗрд╡реНрд╣ рдХрд░рд╛, рдирдВрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛
$ sudo pam-auth-update
рджрд┐рд╕рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдВрдбреЛрдордзреНрдпреЗ, рддреНрдпрд╛рдЪреНрдпрд╛ рдкреБрдвреЗ рдПрдХ рддрд╛рд░рд╛ рдареЗрд╡рд╛ Rutoken PAM GOST рдЖрдгрд┐ рдзрдХреНрдХрд╛ OK

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

8) рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рддрдкрд╛рд╕рд╛

рд╕рд░реНрд╡рдХрд╛рд╣реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд▓реЙрдЧ рдЗрди рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЧрдорд╛рд╡реВ рдирдХрд╛, рдХрдорд╛рдВрдб рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛
$ sudo login
рддреБрдордЪреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡ рдПрдВрдЯрд░ рдХрд░рд╛. рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдкрд┐рди рдХреЛрдб рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рд╕рд░реНрд╡рдХрд╛рд╣реА рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ.

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

9) рдЯреЛрдХрди рдХрд╛рдврд▓реНрдпрд╛рд╡рд░ рдмреНрд▓реЙрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдВрдЧрдгрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛

рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ libpam-pkcs11 рдЙрдкрдпреБрдХреНрддрддрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ pkcs11_eventmgr, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ PKCS#11 рдШрдЯрдирд╛ рдШрдбрд▓реНрдпрд╛рд╡рд░ рд╡рд┐рд╡рд┐рдз рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.
рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╛рдареА pkcs11_eventmgr рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреЗ: /etc/pam_pkcs11/pkcs11_eventmgr.conf
рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ Linux рд╡рд┐рддрд░рдгрд╛рдВрд╕рд╛рдареА, рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдб рдХрд┐рдВрд╡рд╛ рдЯреЛрдХрди рдХрд╛рдврд▓реНрдпрд╛рд╡рд░ рдЦрд╛рддреЗ рд▓реЙрдХ рд╣реЛрдгреНрдпрд╛рд╕ рдХрд╛рд░рдгреАрднреВрдд рдЕрд╕рдгрд╛рд░реА рдХрдорд╛рдВрдб рд╡реЗрдЧрд│реА рдЕрд╕реЗрд▓. рд╕реЗрдореА. event card_remove.
рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЦрд╛рд▓реА рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ:

pkcs11_eventmgr
{
    # ╨Ч╨░╨┐╤Г╤Б╨║ ╨▓ ╨▒╤Н╨║╨│╤А╨░╤Г╨╜╨┤╨╡
    daemon = true;
     
    # ╨Э╨░╤Б╤В╤А╨╛╨╣╨║╨░ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╣ ╨╛╤В╨╗╨░╨┤╨║╨╕
    debug = false;
 
    # ╨Т╤А╨╡╨╝╤П ╨╛╨┐╤А╨╛╤Б╨░ ╨▓ ╤Б╨╡╨║╤Г╨╜╨┤╨░╤Е
    polling_time = 1;
 
    # ╨г╤Б╤В╨░╨╜╨╛╨▓╨║╨░ ╤В╨░╨╣╨╝-╨░╤Г╤В╨░ ╨╜╨░ ╤Г╨┤╨░╨╗╨╡╨╜╨╕╨╡ ╨║╨░╤А╤В╤Л
    # ╨Я╨╛-╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О 0
    expire_time = 0;
 
    # ╨Т╤Л╨▒╨╛╤А pkcs11 ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨╕ ╨┤╨╗╤П ╤А╨░╨▒╨╛╤В╤Л ╤Б ╨а╤Г╤В╨╛╨║╨╡╨╜
    pkcs11_module = usr/lib/librtpkcs11ecp.so;
 
    # ╨Ф╨╡╨╣╤Б╤В╨▓╨╕╤П ╤Б ╨║╨░╤А╤В╨╛╨╣
    # ╨Ъ╨░╤А╤В╨░ ╨▓╤Б╤В╨░╨▓╨╗╨╡╨╜╨░:
    event card_insert {
        # ╨Ю╤Б╤В╨░╨▓╨╗╤П╨╡╨╝ ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О (╨╜╨╕╤З╨╡╨│╨╛ ╨╜╨╡ ╨┐╤А╨╛╨╕╤Б╤Е╨╛╨┤╨╕╤В)
        on_error = ignore ;
 
        action = "/bin/false";
    }
 
    # ╨Ъ╨░╤А╤В╨░ ╨╕╨╖╨▓╨╗╨╡╤З╨╡╨╜╨░
    event card_remove {
        on_error = ignore;
         
        # ╨Т╤Л╨╖╤Л╨▓╨░╨╡╨╝ ╤Д╤Г╨╜╨║╤Ж╨╕╤О ╨▒╨╗╨╛╨║╨╕╤А╨╛╨▓╨║╨╕ ╤Н╨║╤А╨░╨╜╨░
        
        # ╨Ф╨╗╤П GNOME 
        action = "dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock";
        
        # ╨Ф╨╗╤П XFCE
        # action = "xflock4";
        
        # ╨Ф╨╗╤П Astra Linux (FLY)
        # action = "fly-wmfunc FLYWM_LOCK";
    }
 
    # ╨Ъ╨░╤А╤В╨░ ╨┤╨╛╨╗╨│╨╛╨╡ ╨▓╤А╨╡╨╝╤П ╨╕╨╖╨▓╨╗╨╡╤З╨╡╨╜╨░
    event expire_time {
        # ╨Ю╤Б╤В╨░╨▓╨╗╤П╨╡╨╝ ╨╖╨╜╨░╤З╨╡╨╜╨╕╤П ╨┐╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О (╨╜╨╕╤З╨╡╨│╨╛ ╨╜╨╡ ╨┐╤А╨╛╨╕╤Б╤Е╨╛╨┤╨╕╤В)
        on_error = ignore;
 
        action = "/bin/false";
    }
}

рддреНрдпрд╛рдирдВрддрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреЛрдбрд╛ pkcs11_eventmgr рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, .bash_profile рдлрд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛:
$ nano /home/<╨╕╨╝╤П_╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П>/.bash_profile
рдлрд╛рдИрд▓рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА pkcs11_eventmgr рдУрд│ рдЬреЛрдбрд╛ рдЖрдгрд┐ рд░реАрдмреВрдЯ рдХрд░рд╛.

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдо рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрд╛рдпрд▒реНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд╛рдордзреНрдпреЗ рдирд┐рд░реНрджреЗрд╢ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рдШрд░рдЧреБрддреА рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.

Rutoken рд╡рд░ GOST-2012 рдХреА рд╡рд╛рдкрд░реВрди Linux рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕рд╛рдареА PAM рдореЙрдбреНрдпреВрд▓ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рдирд┐рд╖реНрдХрд░реНрд╖

рд░рд╢рд┐рдпрди рд╕рд░рдХрд╛рд░реА рдПрдЬрдиреНрд╕реАрдордзреНрдпреЗ рд▓рд┐рдирдХреНрд╕ рдкреАрд╕реА рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрдд рдЖрд╣реЗрдд рдЖрдгрд┐ рдпрд╛ OS рдордзреНрдпреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рджреНрд╡рд┐-рдШрдЯрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯ рдХрд░рдгреЗ рдиреЗрд╣рдореАрдЪ рд╕реЛрдкреЗ рдирд╕рддреЗ. рдпрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХрд╛рд╕рд╣ "рдкрд╛рд╕рд╡рд░реНрдб рд╕рдорд╕реНрдпреЗрдЪреЗ" рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ PC рд╡рд░ рдЬрд╛рд╕реНрдд рд╡реЗрд│ рди рдШрд╛рд▓рд╡рддрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рд╡реЗрд╢рд╛рдЪреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрд░рд┐рддреНрдпрд╛ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рдгреНрдпрд╛рдд рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдирдВрдж рд╣реЛрдИрд▓.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛