Rutoken เชชเชฐ GOST-2012 เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Linux เชฎเชพเช‚ เชธเซเชฅเชพเชจเชฟเช• เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ PAM เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

Rutoken เชชเชฐ GOST-2012 เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Linux เชฎเชพเช‚ เชธเซเชฅเชพเชจเชฟเช• เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ PAM เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชธเชฐเชณ เชชเชพเชธเชตเชฐเซเชกเซเชธ เชธเซเชฐเช•เซเชทเชฟเชค เชจเชฅเซ€ เช…เชจเซ‡ เชœเชŸเชฟเชฒ เชชเชพเชธเชตเชฐเซเชกเซเชธ เชฏเชพเชฆ เชฐเชพเช–เชตเชพ เช…เชถเช•เซเชฏ เช›เซ‡. เชคเซ‡เชฅเซ€ เชœ เชคเซ‡เช“ เช•เซ€เชฌเซ‹เชฐเซเชก เชนเซ‡เช เชณ เช…เชฅเชตเชพ เชฎเซ‹เชจเชฟเชŸเชฐ เชชเชฐ เช˜เชฃเซ€ เชตเชพเชฐ เชธเซเชŸเซ€เช•เซ€ เชจเซ‹เชŸ เชชเชฐ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡. เชชเชพเชธเชตเชฐเซเชกเซเชธ "เชญเซ‚เชฒเซ€ เช—เชฏเซ‡เชฒเชพ" เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเชพ เชฎเช—เชœเชฎเชพเช‚ เชฐเชนเซ‡ เช…เชจเซ‡ เชธเซเชฐเช•เซเชทเชพเชจเซ€ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏเชคเชพ เช–เซ‹เชตเชพเชˆ เชจ เชœเชพเชฏ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฌเซ‡-เชชเชฐเชฟเชฌเชณ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ (2FA) เช›เซ‡.

เช‰เชชเช•เชฐเชฃเชจเซ€ เชฎเชพเชฒเชฟเช•เซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ PIN เชœเชพเชฃเชตเชพเชจเชพ เชธเช‚เชฏเซ‹เชœเชจเชจเซ‡ เชฒเซ€เชงเซ‡, PIN เชชเซ‹เชคเซ‡ เชœ เชธเชฐเชณ เช…เชจเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเชพเชฎเชพเช‚ เชธเชฐเชณ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡. PIN เชฒเช‚เชฌเชพเชˆ เช…เชฅเชตเชพ เชฐเซ‡เชจเซเชกเชฎเชจเซ‡เชธเชฎเชพเช‚ เช—เซ‡เชฐเชซเชพเชฏเชฆเชพ เชญเซŒเชคเชฟเช• เช•เชฌเชœเชพเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เช…เชจเซ‡ PIN เชฌเซเชฐเซเชŸ เชซเซ‹เชฐเซเชธ เชชเชฐเชจเชพ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเซ‹ เชฆเซเชตเชพเชฐเชพ เชธเชฐเชญเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชตเชงเซเชฎเชพเช‚, เชคเซ‡ เชธเชฐเช•เชพเชฐเซ€ เชเชœเชจเซเชธเซ€เช“เชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“ เช‡เชšเซเช›เซ‡ เช›เซ‡ เช•เซ‡ เชฌเชงเซเช‚ เชœ GOST เช…เชจเซเชธเชพเชฐ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡. Linux เชฎเชพเช‚ เชฒเซ‰เช— เช‡เชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช† 2FA เชตเชฟเช•เชฒเซเชชเชจเซ€ เชšเชฐเซเชšเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชนเซเช‚ เชฆเซ‚เชฐเชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชถ.

PAM เชฎเซ‹เชกเซเชฏเซเชฒเซ‹

เชชเซเชฒเช—เซ‡เชฌเชฒ เช“เชฅเซ‡เชจเซเชŸเชฟเช•เซ‡เชถเชจ เชฎเซ‹เชกเซเชฏเซเชฒเซเชธ (PAM) เช เชธเซเชŸเชพเชจเซเชกเชฐเซเชก API เช…เชจเซ‡ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชฎเชพเช‚ เชตเชฟเชตเชฟเชง เช“เชฅเซ‡เชจเซเชŸเชฟเช•เซ‡เชถเชจ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเซเชธเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชธเชพเชฅเซ‡เชจเชพ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เช›เซ‡.
เชคเชฎเชพเชฎ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ เช…เชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชœเซ‡ PAM เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชคเซ‡ เชคเซ‡เชฎเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.
เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚, เชคเซ‡ เช•เช‚เชˆเช• เช†เชจเชพ เชœเซ‡เชตเซเช‚ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡: เชฒเซ‹เช—เชฟเชจ เช•เชฎเชพเชจเซเชก PAM เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เชคเชชเชพเชธ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเชจเซ‡ เชฒเซ‹เช—เชฟเชจ เช†เชฆเซ‡เชถ เชชเชฐ เชชเชพเช›เซเช‚ เช†เชชเซ‡ เช›เซ‡.

librtpam

เชเช•เซเชŸเชฟเชต เช•เช‚เชชเชจเซ€ เชฆเซเชตเชพเชฐเชพ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชฎเซ‹เชกเซเชฏเซเชฒ เช˜เชฐเซ‡เชฒเซเช‚ เช•เซเชฐเชฟเชชเซเชŸเซ‹เช—เซเชฐเชพเชซเซ€เชจเชพ เชจเชตเซ€เชจเชคเชฎ เชงเซ‹เชฐเชฃเซ‹ เช…เชจเซเชธเชพเชฐ เช…เชธเชฎเชชเซเชฐเชฎเชพเชฃ เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชฎเชพเชฐเซเชŸ เช•เชพเชฐเซเชกเซเชธ เช…เชฅเชตเชพ เชฏเซเชเชธเชฌเซ€ เชŸเซ‹เช•เชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซเช‚ เชฆเซเชตเชฟ-เชชเชฐเชฟเชฌเชณ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡.

เชšเชพเชฒเซ‹ เชคเซ‡เชจเชพ เช“เชชเชฐเซ‡เชถเชจเชจเชพ เชธเชฟเชฆเซเชงเชพเช‚เชคเชจเซ‡ เชœเซ‹เชˆเช:

  • เชŸเซ‹เช•เชจ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเชพ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เช–เชพเชจเช—เซ€ เช•เซ€เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡;
  • เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เชนเซ‹เชฎ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชคเชฐเซ€เช•เซ‡ เชธเชพเชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เชฅเชพเชฏ เช›เซ‡:

  1. Rutoken เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเชพ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฎเชพเชŸเซ‡ เชถเซ‹เชง เช•เชฐเซ‡ เช›เซ‡.
  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 เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชฎเชพเชฃเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช—เซเชชเซเชค เชฎเชพเชนเชฟเชคเซ€เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซ€ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฃเชพเชฒเซ€เช“เชฎเชพเช‚ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

เชตเซเชฏเชตเชนเชพเชฐเซ เช‰เชชเชฏเซ‹เช—

เชฒเช—เชญเช— เช•เซ‹เชˆเชชเชฃ เช†เชงเซเชจเชฟเช• Linux เช•เชฐเชถเซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เช†เชชเชฃเซ‡ 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 เชฎเซ‹เชกเซเชฏเซเชฒ เชธเซเชฅเชพเชจเชฟเช• เช•เชฎเซเชชเซเชฏเซเชŸเชฐเซเชธเชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชจเชพเชจเซ€ เชธเช‚เชธเซเชฅเชพเช“เชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡. เชฅเซ‹เชกเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชนเซ‹เชตเชพเชฅเซ€, เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเชพ เชฐเชฆเชฌเชพเชคเชฒเชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชเช•เชพเช‰เชจเซเชŸเซเชธเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชคเซ‡เชฎเชœ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเซ€ เชฎเชพเชจเซเชฏเชคเชพ เช…เชตเชงเชฟ. PAM เชฎเซ‹เชกเซเชฏเซเชฒ เชนเชœเซ เชธเซเชงเซ€ CRL เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชšเช•เชพเชธเชตเซเช‚ เช…เชจเซ‡ เชตเชฟเชถเซเชตเชพเชธเชจเซ€ เชธเชพเช‚เช•เชณเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ€ เชคเซ‡ เชœเชพเชฃเชคเซเช‚ เชจเชฅเซ€.

เชธเชฐเชณ เชฐเซ€เชค (เชฌเซเชฐเชพเช‰เชเชฐ เชฆเซเชตเชพเชฐเชพ)

เชชเชฐเซ€เช•เซเชทเชฃ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เชตเซ‡เชฌ เชธเซ‡เชตเชพ "เชฐเซเชŸเซ‹เช•เซ‡เชจ เชจเซ‹เช‚เชงเชฃเซ€ เช•เซ‡เชจเซเชฆเซเชฐ". เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ 5 เชฎเชฟเชจเชฟเชŸเชฅเซ€ เชตเชงเซ เชธเชฎเชฏ เชฒเชพเช—เชถเซ‡ เชจเชนเซ€เช‚.

เช—เซ€เช•เชจเซ‹ เชฎเชพเชฐเซเช— (เช•เชจเซเชธเซ‹เชฒ เช…เชจเซ‡ เชธเช‚เชญเชตเชคเชƒ เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชฆเซเชตเชพเชฐเชพ)

OpenSC เชธเช‚เชธเซเช•เชฐเชฃ เชคเชชเชพเชธเซ‹
$ opensc-tool --version
เชœเซ‹ เชธเช‚เชธเซเช•เชฐเชฃ 0.20 เช•เชฐเชคเชพ เช“เช›เซเช‚ เช›เซ‡, เชคเซ‹ เชชเช›เซ€ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‹ เช…เชฅเชตเชพ เชฌเชจเชพเชตเซ‹ GOST-11 เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ pkcs2012-เชŸเซ‚เชฒ เชถเชพเช–เชพ เช…เชฎเชพเชฐเชพ เช—เชฟเชŸเชนเชฌเชฎเชพเช‚เชฅเซ€ (เช† เชฒเซ‡เช–เชจเชพ เชชเซเชฐเช•เชพเชถเชจ เชธเชฎเชฏเซ‡, เชชเซเชฐเช•เชพเชถเชจ 0.20 เชนเชœเซ€ เชฌเชนเชพเชฐ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชจเชฅเซ€) เช…เชฅเชตเชพ เชชเช›เซ€เชฅเซ€ เชฎเซเช–เซเชฏ OpenSC เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เชฎเซเช–เซเชฏ เชถเชพเช–เชพเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเชคเชฟเชฌเชฆเซเชง 8cf1e6f

เชจเซ€เชšเซ‡เชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเชพเชฅเซ‡ เช•เซ€ เชœเซ‹เชกเซ€ เชฌเชจเชพเชตเซ‹:
--key-type: GOSTR3410-2012-512:ะ (ะ“ะžะกะข-2012 512 ะฑะธั‚ c ะฟะฐั€ะฐะผัะตั‚ะพะผ ะ), GOSTR3410-2012-256:A (ะ“ะžะกะข-2012 256 ะฑะธั‚ ั ะฟะฐั€ะฐะผัะตั‚ะพะผ A)

--id: เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช“เชณเช–เช•เชฐเซเชคเชพ (CKA_ID) ASCII เช•เซ‹เชทเซเชŸเช•เชฎเชพเช‚เชฅเซ€ เชฌเซ‡-เช…เช‚เช•เชจเชพ เชนเซ‡เช•เซเชธ เช…เช•เซเชทเชฐ เชจเช‚เชฌเชฐเซ‹ เชคเชฐเซ€เช•เซ‡. เช›เชพเชชเชตเชพ เชฏเซ‹เช—เซเชฏ เช…เช•เซเชทเชฐเซ‹ เชฎเชพเชŸเซ‡ เชฎเชพเชคเซเชฐ ASCII เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เช•เชพเชฐเชฃ เช•เซ‡... id เชจเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช— เชคเชฐเซ€เช•เซ‡ OpenSSL เชจเซ‡ เชชเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, ASCII เช•เซ‹เชก โ€œ3132โ€ เชถเชฌเซเชฆเชฎเชพเชณเชพ โ€œ12โ€ เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡. เชธเช—เชตเชก เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธเชจเซ‡ ASCII เช•เซ‹เชกเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‘เชจเชฒเชพเช‡เชจ เชธเซ‡เชตเชพ.

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

เช†เช—เชณ เช†เชชเชฃเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเซ€เชถเซเช‚. เชจเซ€เชšเซ‡ เชฌเซ‡ เชฐเซ€เชคเซ‹เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡: เชชเซเชฐเชฅเชฎ CA เชฆเซเชตเชพเชฐเชพ เช›เซ‡ (เช…เชฎเซ‡ เชŸเซ‡เชธเซเชŸ CA เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚), เชฌเซ€เชœเซ€ เชธเซเชต-เชธเชนเซ€ เช•เชฐเซ‡เชฒ เช›เซ‡. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชชเชนเซ‡เชฒเชพ เชฎเซ‡เชจเซเชฏเซเช…เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชชเซ‡เชถเชฟเชฏเชฒ rtengine เชฎเซ‹เชกเซเชฏเซเชฒ เชฆเซเชตเชพเชฐเชพ Rutoken เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ OpenSSL เชตเชฐเซเชเชจ 1.1 เช…เชฅเชตเชพ เชชเช›เซ€เชจเซเช‚ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช…เชจเซ‡ เช—เซ‹เช เชตเชตเซเช‚ เชชเชกเชถเซ‡. 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) เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซ€ เชจเซ‹เช‚เชงเชฃเซ€ เช•เชฐเซ‹

เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซเช‚ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ base64 เชซเชพเช‡เชฒ เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡:

Rutoken เชชเชฐ GOST-2012 เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Linux เชฎเชพเช‚ เชธเซเชฅเชพเชจเชฟเช• เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ PAM เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชœเซ‹ เชคเชฎเชพเชฐเซเช‚ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡:

Rutoken เชชเชฐ GOST-2012 เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Linux เชฎเชพเช‚ เชธเซเชฅเชพเชจเชฟเช• เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ PAM เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชชเช›เซ€ เชคเชฎเชพเชฐเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซ‡ DER เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚เชฅเซ€ PEM เชซเซ‹เชฐเซเชฎเซ‡เชŸ (base64)เชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

$ 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 เชฒเชพเช‡เชจ เช‰เชฎเซ‡เชฐเซ‹ เช…เชจเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซ‹.

เช‘เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฐเซเชฃเชตเซ‡เชฒ เชชเช—เชฒเชพเช‚เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเซเชฅเชพเชจเชฟเช• เชธเชนเชฟเชค เช•เซ‹เชˆเชชเชฃ เช†เชงเซเชจเชฟเช• Linux เชตเชฟเชคเชฐเชฃเชฎเชพเช‚ เชธเซ‚เชšเชจเชพเช“ เชคเชฐเซ€เช•เซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡.

Rutoken เชชเชฐ GOST-2012 เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Linux เชฎเชพเช‚ เชธเซเชฅเชพเชจเชฟเช• เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ PAM เชฎเซ‹เชกเซเชฏเซเชฒเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹

เชจเชฟเชทเซเช•เชฐเซเชท

เชฒเชฟเชจเช•เซเชธ เชชเซ€เชธเซ€ เชฐเชถเชฟเชฏเชจ เชธเชฐเช•เชพเชฐเซ€ เชเชœเชจเซเชธเซ€เช“เชฎเชพเช‚ เชตเชงเซเชจเซ‡ เชตเชงเซ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชฌเชจเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, เช…เชจเซ‡ เช† OS เชฎเชพเช‚ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชฆเซเชตเชฟ-เชชเชฐเชฟเชฌเชณ เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เชนเช‚เชฎเซ‡เชถเชพ เชธเชฐเชณ เชจเชฅเซ€. เช† เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเช•เชพ เชตเชกเซ‡ เชคเชฎเชจเซ‡ "เชชเชพเชธเชตเชฐเซเชก เชธเชฎเชธเซเชฏเชพ" เช‰เช•เซ‡เชฒเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชตเชพเชฎเชพเช‚ เช…เชฎเชจเซ‡ เช†เชจเช‚เชฆ เชฅเชถเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เช˜เชฃเซ‹ เชธเชฎเชฏ เชตเชฟเชคเชพเชตเซเชฏเชพ เชตเชฟเชจเชพ เชคเชฎเชพเชฐเชพ PCเชจเซ€ เชเช•เซเชธเซ‡เชธเชจเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชฐเซ€เชคเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹