เบฅเบฐเบซเบฑเบเบเปเบฒเบเบเปเบฒเบเปเปเบกเปเบเบเปเปเบเบญเบเปเบ, เปเบฅเบฐเบฅเบฐเบซเบฑเบเบเปเบฒเบเบเบตเปเบเบฑเบเบเปเบญเบเปเบกเปเบเบเปเปเบชเบฒเบกเบฒเบเบเบทเปเปเบเป. เบเปเบงเบเปเบซเบเบเบฑเปเบ, เบเบงเบเบกเบฑเบเบเบถเปเบเบกเบฑเบเบเบฐเบเบปเบเบฅเบปเบเบเปเบงเบเบเบฑเบเบเบถเบเบเบดเบเบขเบนเปเบเปเบญเบเปเบเปเบเบเบดเบก เบซเบผเบท เบเปเบเบฒเบ. เปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบฅเบฐเบซเบฑเบเบเปเบฒเบเบเบฑเบเบเบปเบเบขเบนเปเปเบเปเบเบเบญเบเบเบนเปเปเบเป "เบฅเบทเบก" เปเบฅเบฐเบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบทเบเบญเบเบเบฒเบเบเบปเบเบเปเบญเบเบเปเปเปเบเปเบชเบนเบเปเบชเบ, เบกเบตเบเบฒเบเบเบงเบเบชเบญเบเบชเบญเบเบเบฑเบเปเบ (2FA).
เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบญเบเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบญเบธเบเบฐเบเบญเบเปเบฅเบฐเบเบฒเบเบฎเบนเป PIN เบเบญเบเบกเบฑเบ, PIN เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบชเบฒเบกเบฒเบเบเปเบฒเบเปเบฅเบฐเบเบทเปเบเปเบฒเบเบเบงเปเบฒ. เบเปเปเปเบชเบเบเบญเบเบเบงเบฒเบกเบเบฒเบง PIN เบซเบผเบทเบเบงเบฒเบกเบชเบธเปเบกเปเบกเปเบเบเบปเบเปเบเบตเบเปเบเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบฒเบเบเบญเบเบเบญเบเบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบเปเบฅเบฐเบเปเปเบเปเบฒเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเบปเบเบเบฑเบเบเบฑเบเปเบเป PIN.
เบเบญเบเบเบฒเบเบเบฑเปเบ, เบกเบฑเบเปเบเบตเบเบเบทเปเบเปเบเบญเบปเบเบเบฒเบเบเบญเบเบฅเบฑเบเบเบฐเบเบฒเบเบเบตเปเบเบงเบเปเบเบปเบฒเบเปเบญเบเบเบฒเบเปเบซเปเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฒเบก GOST. เบเบฒเบเปเบฅเบทเบญเบ 2FA เบเบตเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ Linux เบเบฐเบเบทเบเบเบถเบเบชเบฒเบซเบฒเบฅเบท. เบเปเบญเบเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบ.
เปเบกเบเบนเบ PAM
Pluggable Authentication Modules (PAM) เปเบกเปเบเปเบกเบเบนเบเบเบตเปเบกเบต API เบกเบฒเบเบเบฐเบเบฒเบ เปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบปเบเปเบเบเบฒเบเบเบดเบชเบนเบเบขเบทเบเบขเบฑเบเบเปเบฒเบเปเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ.
เบญเบธเบเบฐเบเบณ เปเบฅเบฐ เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเปเบเบเบฑเบเปเบปเบเบเบตเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ PAM เปเบญเบปเบฒเบเบงเบเบกเบฑเบเบเบถเปเบ เปเบฅเบฐเบชเบฒเบกเบฒเบเปเบเปเบเบงเบเบกเบฑเบเปเบเบทเปเบญเบเบงเบเบชเบญเบเบเบนเปเปเบเป.
เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเปเบเบฑเปเบเบเบตเป: เบเปเบฒเบชเบฑเปเบเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบเปเบญเบตเปเบเบงเปเบฒ PAM, เปเบเบดเปเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบงเบเบชเบญเบเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฑเบเบซเบกเบปเบเปเบเบเปเบเปเปเบกเบเบนเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบชเบปเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบทเบเปเบเบซเบฒเบเปเบฒเบชเบฑเปเบเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ.
librtpam
เปเบกเบเบนเบเบเบตเปเบเบฑเบเบเบฐเบเบฒเปเบเบเบเปเบฅเบดเบชเบฑเบ Aktiv เปเบเบตเปเบกเบเบฒเบเบเบงเบเบชเบญเบเบชเบญเบเบเบฑเบเปเบเบเบญเบเบเบนเปเปเบเปเปเบเบเปเบเปเบเบฑเบเบญเบฑเบเบชเบฐเบฅเบดเบเบฐเบซเบผเบท USB tokens เปเบเบเปเบเปเบเบฐเปเบ asymmetric เบเบฒเบกเบกเบฒเบเบเบฐเบเบฒเบเบซเบฅเปเบฒเบชเบธเบเบเบญเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเบฒเบเปเบเบเบฐเปเบเบ.
เปเบซเปเปเบเบดเปเบเบซเบผเบฑเบเบเบฒเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเบกเบฑเบ:
- token เปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบขเบฑเปเบเบขเบทเบเบเบญเบเบเบนเปเปเบเปเปเบฅเบฐเบเบฐเปเบเบชเปเบงเบเบเบปเบงเบเบญเบเบกเบฑเบ;
- เปเบเบฎเบฑเบเบฎเบญเบเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเปเบเปเบฃเบฑเบเบเปเบฃเบตเบซเบผเบฑเบเบเบญเบเบเบนเปเปเบเปเปเบเบฑเบเบเบตเปเปเบเบทเปเบญเบเบทเปเบเป.
เบเบฐโเบเบงเบโเบเบฒเบโเบเบงเบโเบชเบญเบโเปเบเปโเปเบเบตเบโเบเบถเปเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
- Rutoken เบเบปเปเบเบซเบฒเปเบเบขเบฑเปเบเบขเบทเบเบชเปเบงเบเบเบปเบงเบเบญเบเบเบนเปเปเบเป.
- เบฎเปเบญเบเบเป PIN token.
- เบเปเปเบกเบนเบเปเบเบเบชเบธเปเบกเบเบทเบเปเบเบฑเบเปเบชเปเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเปเบเบเบเบปเบเปเบเบเบดเบ Rutoken.
- เบฅเบฒเบเปเบเบฑเบเบเบตเปเปเบเปเบฎเบฑเบเปเบกเปเบเปเบเปเบฎเบฑเบเบเบฒเบเบขเบฑเปเบเบขเบทเบเปเบเบเปเบเปเบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบฒเบเปเบเบขเบฑเปเบเบขเบทเบเบเบญเบเบเบนเปเปเบเป.
- เปเบกเบเบนเบเบชเบปเปเบเบเบปเบเบเบฒเบเบขเบฑเปเบเบขเบทเบเบฅเบฒเบเปเบเบฑเบเปเบซเปเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฒเบเปเบ.
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเปเบเบเปเบเปเบเบฐเปเบ GOST R 34.10-2012 (เบเบงเบฒเบกเบเบฒเบง 256 เบซเบผเบท 512 เบเบดเบ) เบซเบผเบท GOST R 34.10-2001 เบเบตเปเบฅเปเบฒเบชเบฐเปเบซเบก.
เบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเบงเบปเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบเบฐเปเบ - เบเบงเบเบกเบฑเบเบเบทเบเบเบฐเบฅเบดเบเปเบเบเบเบปเบเปเบ Rutoken เปเบฅเบฐเบเปเปเปเบเบตเบเบเปเบญเบเปเบซเปเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบญเบเบกเบฑเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบ.
Rutoken EDS 2.0 เปเบเปเบฎเบฑเบเบเบฒเบเบขเบฑเปเบเบขเบทเบเปเบเบ FSB เปเบฅเบฐ FSTEC เบญเบตเบเบเบฒเบก NDV 4, เบเบฑเปเบเบเบฑเปเบเบเบถเปเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบฅเบฐเบเบปเบเบเปเปเบกเบนเบเบเปเบฒเบงเบชเบฒเบเบเบตเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเปเบกเบนเบเบฅเบฑเบ.
เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบ
เปเบเบทเบญเบเบเบธเบ Linux เบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบเบฐเปเบฎเบฑเบ, เบเบปเบงเบขเปเบฒเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเป xUbuntu 18.10.
1) เบเบดเบเบเบฑเปเบเบเบธเบเบเบตเปเบเปเบฒเปเบเบฑเบ
sudo apt-get install libccid pcscd opensc
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบตเปเบกเบเบฒเบเบฅเบฑเบญเบเปเบเบฑเบชเบเบฑเบญเบเบเปเบงเบเบเบปเบงเบฎเบฑเบเบชเบฒเปเปเบฒเบเป, เปเบซเปเบเบดเบเบเบฑเปเบเบเบธเบเบเบฑเปเบเบเปเบฒเบงเบเบทเปเบก libpam-pkcs11
.
2) เปเบเบตเปเบกเปเบกเบเบนเบ PAM เบเบตเปเบกเบตเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ GOST
เบเบณเบฅเบฑเบเปเบซเบผเบเบซเปเบญเบเบชเบฐเปเบธเบเบเบฒเบ
เบชเบณเปเบเบปเบฒเปเบเบทเปเบญเปเบเบเบญเบเปเบเบเปเบเบต PAM librtpam.so.1.0.0 เปเบเปเบชเปเปเบเบเปเบเบตเบฅเบฐเบเบปเบ
/usr/lib/
เบซเบผเบท /usr/lib/x86_64-linux-gnu/
เบซเบผเบท /usr/lib64
3) เบเบดเบเบเบฑเปเบเปเบเบฑเบเปเบเบฑเบเบเปเบงเบ librtpkcs11ecp.so
เบเบฒเบงเปเบซเบผเบ เปเบฅเบฐเบเบดเบเบเบฑเปเบเปเบเบฑเบเปเบเบฑเบ DEB เบซเบผเบท RPM เบเบฒเบเบฅเบดเปเบ:
4) เบเบงเบเปเบเบดเปเบเบงเปเบฒ Rutoken EDS 2.0 เปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบฅเบฐเบเบปเบ
เปเบ terminal เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบ
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
เบเปเบฒเปเบเบปเปเบฒเปเบซเบฑเบเปเบชเบฑเปเบ Rutoken ECP <no label>
- เบกเบฑเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบ OK.
5) เบญเปเบฒเบเปเบเบขเบฑเปเบเบขเบทเบ
เบเบฒเบเบเบงเบเบชเบญเบเบงเปเบฒเบญเบธเบเบฐเบเบญเบเบกเบตเปเบเบขเบฑเปเบเบขเบทเบ
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
เบเปเบฒเบซเบผเบฑเบเบเบฒเบเปเบชเบฑเปเบ:
Using slot 0 with a present token (0x0)
- เบเปเปเบกเบนเบเบเบทเบเบชเบฐเปเบเบ เบเปเบฝเบงเบเบฑเบเบเบฐเปเบเปเบฅเบฐเปเบเบขเบฑเปเบเบขเบทเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบญเปเบฒเบเปเบเบขเบฑเปเบเบขเบทเบเปเบฅเบฐเบเบฑเบเบเบถเบเบกเบฑเบเปเบชเปเปเบเปเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป, เบเปเบญเบเบเบตเปเปเบเบเบเบตเปเบเบฐเปเบเบฑเบ {id}, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบปเบเปเบเบเปเบเบขเบฑเปเบเบขเบทเบเปเบเบขเบฑเปเบเบขเบทเบเบเบตเปเบเปเบฒเบเปเบซเบฑเบเบขเบนเปเปเบเบเบปเบเบเบฐเบฅเบดเบเบเบญเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเบฒเบเบกเบฒ:
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
เบเปเบฒเปเบเบฅเป cert.crt เปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ, เบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเปเบเบเบญเบ 6). - เบเปเปโเบกเบตโเบซเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบญเบธเบเบฐเบเบญเบเปเบกเปเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ. เบเบดเบเบเปเปเบเบนเปเปเบเบดเปเบเปเบเบเบฅเบฐเบเบปเบเบเบญเบเบเปเบฒเบ เบซเบผเบทเบชเปเบฒเบเบฅเบฐเบซเบฑเบ เปเบฅเบฐเปเบเบขเบฑเปเบเบขเบทเบเบเบปเบงเบเปเบฒเบเปเบญเบเปเบเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเบฑเปเบเบเบญเบเบเปเปเปเบ.
5.1) เบชเปเบฒเบเปเบเบขเบฑเปเบเบขเบทเบเบเบฒเบเบชเบญเบเปเบชเบฑเบ
เปเบญเบปเบฒเปเบเปเบชเป! เบงเบดเบเบตเบเบฒเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเปเบเบขเบฑเปเบเบขเบทเบเปเบกเปเบเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเบเปเปเปเบเปเบกเบตเบเบธเบเบเบฐเบชเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบฎเบนเบเปเบเบเบเบฒเบเบเปเปเบชเบนเป. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบฐเปเบเปเบฅเบฐเปเบเบขเบฑเปเบเบขเบทเบเบเบตเปเบญเบญเบเปเบซเปเปเบเบเบญเบปเบเบเบฒเบเบขเบฑเปเบเบขเบทเบเบเบตเปเปเบเบทเปเบญเบเบทเปเบเปเบเบญเบเบญเบปเบเบเบฒเบเบเบญเบเปเบเบปเปเบฒเบซเบผเบทเบญเบปเบเบเบฒเบเบขเบฑเปเบเบขเบทเบเบเบตเปเปเบเปเบฎเบฑเบเบเบฒเบเบฎเบฑเบเบฎเบญเบ.
เปเบกเบเบนเบ PAM เบเบทเบเบญเบญเบเปเบเบเบกเบฒเปเบเบทเปเบญเบเบปเบเบเปเบญเบเบเบญเบกเบเบดเบงเปเบเบตเบเปเบญเบเบเบดเปเบเปเบฅเบฐเบเบทเบเบญเบญเบเปเบเบเบกเบฒเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบซเบเบฒเบเบเปเบญเบ. เปเบเบทเปเบญเบเบเบฒเบเบกเบตเบเบนเปเปเบเปเบเปเบฒเบเบงเบเบซเบเปเบญเบ, Administrator เบชเบฒเบกเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบเบญเบเปเบเบขเบฑเปเบเบขเบทเบเปเบฅเบฐเบเบฑเบเบเบต block เบเปเบงเบเบเบปเบเปเบญเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบตเปเบเบทเบเบเปเบญเบเบเบญเบเปเบเบขเบฑเปเบเบขเบทเบ. เปเบกเบเบนเบ PAM เบเบฑเบเบเปเปเบเบฑเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเบงเบเบชเบญเบเปเบเบขเบฑเปเบเบขเบทเบเปเบเบเปเบเป CRLs เปเบฅเบฐเบชเปเบฒเบเบเปเบญเบเปเบชเปเบเบงเบฒเบกเปเบงเปเบงเบฒเบเปเบ.
เบงเบดเบเบตเบเบตเปเบเปเบฒเบ (เบเปเบฒเบ browser)
เปเบเบทเปเบญเปเบซเปเปเบเปเบฎเบฑเบเปเบเบขเบฑเปเบเบขเบทเบเบเบฒเบเบเบปเบเบชเบญเบ, เปเบเป
เบงเบดเบเบตเบเบฒเบเบเบญเบ geek (เบเปเบฒเบ console เปเบฅเบฐเบญเบฒเบเบเบฐเปเบเบฑเบ compiler)
เบเบงเบเปเบเบดเปเบเปเบงเบตเบเบฑเบ OpenSC
$ opensc-tool --version
เบเปเบฒเบฎเบธเปเบเบซเบเปเบญเบเบเบงเปเบฒ 0.20, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบเบธเบเบซเบผเบทเบชเปเบฒเบ
เบชเปเบฒเบเบเบนเปเบเบตเบเบตเปเบกเบตเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเปเปเปเบเบเบตเป:
--key-type: GOSTR3410-2012-512:ะ (ะะะกะข-2012 512 ะฑะธั c ะฟะฐัะฐะผัะตัะพะผ ะ), GOSTR3410-2012-256:A (ะะะกะข-2012 256 ะฑะธั ั ะฟะฐัะฐะผัะตัะพะผ A)
--id:
เบเบปเบงเบฅเบฐเบเบธเบงเบฑเบเบเบธ (CKA_ID) เปเบเบฑเบเบเบปเบงเปเบฅเบ hex เบชเบญเบเบเบปเบงเปเบฅเบเบเบฒเบเบเบฒเบเบฐเบฅเบฒเบ ASCII. เปเบเปเบเบฝเบเปเบเปเบฅเบฐเบซเบฑเบ ASCII เบชเปเบฒเบฅเบฑเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบชเบฒเบกเบฒเบเบเบดเบกเปเบเป, เปเบเบฒเบฐเบงเปเบฒ ... id เบเบฐเบเปเบญเบเบเบทเบเบชเบปเปเบเปเบเบซเบฒ OpenSSL เปเบเบฑเบเบชเบฐเบเบฃเบดเบ. เบเบปเบงเบขเปเบฒเบ, เบฅเบฐเบซเบฑเบ ASCII โ3132โ เบเบปเบเบเบฑเบเบชเบฒเบ โ12โ. เปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป
$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132
เบเปเปเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเปเบเบขเบฑเปเบเบขเบทเบ. เบชเบญเบเบงเบดเบเบตเบเบฐเบเบทเบเบญเบฐเบเบดเบเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป: เบเปเบฒเบญเบดเบเปเบกเปเบเบเปเบฒเบ CA (เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเป CAs เบเบปเบเบชเบญเบ), เบเบตเบชเบญเบเปเบกเปเบเปเบเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบญเบเบญเบทเปเบ เปเบปเบ เบเปเบฒเบเบเปเบญเบเบเบดเบเบเบฑเปเบเปเบฅเบฐเบเบฑเปเบเบเปเบฒ OpenSSL เบฅเบธเปเบ 1.1 เบซเบผเบทเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Rutoken เบเปเบฒเบเปเบกเบเบนเบ rtengine เบเบดเปเบชเบเปเบเบเปเบเปเบเบนเปเบกเบท.
เบเบปเบงเบขเปเบฒเบ: เบชเปเบฒเบฅเบฑเบ '--id 3132
'เปเบ OpenSSL เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฅเบฐเบเบธ "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:
เบเปเบฒเปเบเบฎเบฑเบเบฎเบญเบเบเบญเบเปเบเบปเปเบฒเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเบตเป:
เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒเบโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบเปโเบเปเบฝเบโเปเบโเบขเบฑเปเบโเบขเบทเบโเบเบฒเบโเบฎเบนเบโเปเบเบ 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
เบเบฐเบเบญเบเบกเบตเบเบทเปเปเบเบฑเบกเบเบญเบเปเบกเบเบนเบ, เบเปเปเบงเปเบฒเบเบฐเบเบทเบเปเบเบตเบเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบเบนเบฅเบดเบกเบฐเบชเบดเบเบเบญเบเปเบกเบเบนเบ, เปเบฅเบฐเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบขเบทเบเบขเบฑเบ.
เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบฎเบฑเบเบฎเบญเบเบกเบตเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบชเปเบฒเปเบฅเบฑเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ:
- เบเปเบญเบเบเบฒเบ: เปเบกเบเบนเบเบเบฑเปเบเบเปเบฒเบงเบเปเบญเบเบชเบปเปเบเบเบปเบเบเบญเบเปเบเบเปเบเบเบฒเบเบเบงเบ. เบเปเบฒเบเบปเบเบเบญเบเบเบฒเบเปเบเปเบกเบเบนเบเบกเบตเบเบฒเบเบเบญเบเปเบเปเบเบฒเบเบฅเบปเบ, เบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเบเบฒเบเบเบงเบเบชเบญเบ. เบเบฒเบเบฎเปเบญเบเบเปเบเบฐเบเบทเบเบซเบผเบธเบเบฅเบปเบ, เปเบเปเปเบกเบเบนเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเบเบฐเบเบทเบเปเบญเบตเปเบ.
- requisite: เบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเบเบตเปเบเปเบญเบเบเบฒเบ, เปเบเปเบเบฑเบเบเบตเบเบฑเบเปเบเบเบฒเบเบเบดเบชเบนเบเบขเบทเบเบขเบฑเบเบฅเบปเปเบกเปเบซเบฅเบงเปเบฅเบฐเบเปเปเบชเบปเบเปเบเปเบกเบเบนเบเบญเบทเปเบเป.
- เบเบฝเบเบเป: เบเปเบฒเบเปเปเบกเบตเปเบกเบเบนเบเบเบตเปเบเปเบญเบเบเบฒเบเบซเบผเบทเบเบฝเบเบเปเบเปเบญเบเบเบตเปเปเบกเบเบนเบเบเบฑเปเบเบเปเบฒเบงเบชเบปเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเบฒเบเบฅเบปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบกเบเบนเบเบเบฐเบชเบปเปเบเบเบทเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเปเบเบเบฒเบเบเบงเบ. เปเบกเบเบนเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเบเบฐเบเบทเบเบฅเบฐเปเบฅเบตเบ.
- เบเบฒเบเปเบฅเบทเบญเบ: เบเปเบฒเบเปเปเบกเบตเปเบกเบเบนเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบ stack เปเบฅเบฐเบเปเปเบกเบตเปเบกเบเบนเบเบเบตเปเบเบฝเบเบเปเปเบซเปเบเบปเบเปเบเปเบฎเบฑเบเปเบเบเบฒเบเบเบงเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบขเปเบฒเบเบซเบเปเบญเบเบซเบเบถเปเบเบเบญเบเปเบกเบเบนเบเบเบฒเบเปเบฅเบทเบญเบเบเบฐเบเปเบญเบเบชเบปเปเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบเบฒเบเบเบงเบ.
เปเบเบทเปเบญเปเบเปเบเบฅเปเปเบเบฑเบก /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
เบเบฑเบเบเบถเบเปเบเบฅเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบตเบเบเบฒเบ
$ sudo pam-auth-update
เบขเบนเปเปเบเบเปเบญเบเบขเปเบฝเบกเบเบตเปเบเบฒเบเบปเบ, เปเบซเปเปเบชเปเบเบฒเบงเบเปเบฒเบเบกเบฑเบ Rutoken PAM GOST เปเบฅเบฐเบเบปเบ OK
8) เบเบงเบเปเบเบดเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ
เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบทเบเบเบฑเปเบเบเปเบฒ, เปเบเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบเปเปเบชเบนเบเปเบชเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ, เปเบชเปเบเปเบฒเบชเบฑเปเบ.
$ sudo login
เปเบชเปเบเบทเปเบเบนเปเปเบเปเบเบญเบเบเปเบฒเบ. เบเบธเบเบขเปเบฒเบเบเบทเบเบเบฑเปเบเบเปเบฒเบขเปเบฒเบเบเบทเบเบเปเบญเบเบเปเบฒเบฅเบฐเบเบปเบเบเปเบญเบเบเบฒเบเบฅเบฐเบซเบฑเบ PIN เบเบญเบเบญเบธเบเบฐเบเบญเบ.
9) เบเบฑเปเบเบเปเบฒเบเบญเบกเบเบดเบงเปเบเบตเบเบตเปเบเบฐเบเบทเบเบเบดเบเบเบฑเปเบเปเบกเบทเปเบญ token เบเบทเบเบชเบฐเบเบฑเบเบญเบญเบ
เบฅเบงเบกเบขเบนเปเปเบเบเบธเบ libpam-pkcs11
เบฅเบงเบกเบเบปเบเบเบฐเปเบซเบเบ pkcs11_eventmgr,
เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบเปเปเบเปเบงเบฅเบฒเบเบตเปเปเบซเบเบเบฒเบ PKCS#11 เปเบเบตเบเบเบถเปเบ.
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒ pkcs11_eventmgr
เปเบฎเบฑเบเปเปเบฒเบเบตเปเปเบเบฑเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ: /etc/pam_pkcs11/pkcs11_eventmgr.conf
เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบเบขเบฒเบ Linux เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบเปเบฒเบชเบฑเปเบเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบฑเบเบเบตเบเบทเบเบฅเบฑเบญเบเปเบกเบทเปเบญเบเบฑเบเบญเบฑเบเบชเบฐเบฅเบดเบเบฐเบซเบผเบท token เบเบทเบเบฅเบถเบเบญเบญเบเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบ. เบเบฑเบโเบเบตโเปเบกเบฑเบ. 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 เบเบตเปเบเบฑเบเบชเบฐเปเบซเบก, เบฅเบงเบกเบเบฑเบเบเบฒเบเปเบเบเบฐเปเบเบ.
เบชเบฐเบซเบฅเบธเบ
Linux PCs เบเปเบฒเบฅเบฑเบเปเบเบฑเบเบเบตเปเบเบดเบเบปเบกเบเบฑเบเบซเบผเบฒเบเบเบถเปเบเปเบเบญเบปเบเบเบฒเบเบเบญเบเบฅเบฑเบเบเบฐเบเบฒเบเบฅเบฑเบเปเบเบ, เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบเบงเบเบชเบญเบเบชเบญเบเบเบฑเบเปเบเบเบตเปเปเบเบทเปเบญเบเบทเปเบเปเปเบ OS เบเบตเปเบเปเปเปเบกเปเบเปเบฅเบทเปเบญเบเบเปเบฒเบเบชเบฐเปเปเบตเปเบ. เบเบงเบโเปเบฎเบปเบฒโเบเบดเบโเบเบตโเบเบตเปโเบเบฐโเบเปเบงเบโเปเบซเปโเบเปเบฒเบโเปเบเปโเปเบ "เบเบฑเบโเบซเบฒโเบฅเบฐโเบซเบฑเบโเบเปเบฒเบโ" เบเบฑเบโเบเบนเปโเบกเบทโเบเบตเปโเปเบฅเบฐโเบเบงเบฒเบกโเปเบเบทเปเบญโเบเบทโเปเบเปโเบเบปเบโเบเบฑเบโเบฎเบฑเบโเบชเบฒโเบเบฒเบโเปเบเบปเปเบฒโเปเบเบดเบ PC เบเบญเบโเบเปเบฒเบโเปเบเบโเบเปเปโเบกเบตโเบเบฒเบโเปเบเปโเปเบงโเบฅเบฒโเบซเบผเบฒเบโเปเบโเบกเบฑเบโ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com