Bonjour, J'essaie d'adapter une installation Fedora 28 avec son root disque crypté (cryptsetup/LUKS) de manière à pouvoir également la décrypter avec une smartcard SuisseID. J'ai bien trouvé les pistes suivantes:
https://randomoracle.wordpress.com/2015/12/21/getting-by-without-passwords-disk-encryption-part-iii/ https://blog.g3rt.nl/luks-smartcard-or-token.html Mais très vite, je rencontre des problèmes que je pense dus à la SuisseID, car dans un premier temps je ne cherche qu'à chiffrer un secret avec la clé publique puis déchiffrer le résultat avec la clé privée. C'est cette dernière étape qui ne fonctionne pas (commande 5 ci-dessous): (1) openssl rand -base64 -out secret 32 (2) pkcs15-tool --list-certificates Using reader with a card: Alcor Micro AU9560 00 00 X.509 Certificate [SwissSign Platinum CA - G2] Object Flags : [0x2], modifiable Authority : no Path : 3f00501543044301 ID : 50afcc078715476f38c5b465d1de95aae9df9ccc Encoded serial : 02 08 4EB200670C035D4F X.509 Certificate [SwissSign SuisseID Platinum CA 2010 - G2] Object Flags : [0x2], modifiable Authority : yes Path : 3f00501543044302 ID : e944868092ea4e5077c9e7920842d75fc0c22542 Encoded serial : 02 10 00D5CB89C293009BEDBD014BDC109602 X.509 Certificate [FirstnameLastnameAuthentication] Object Flags : [0x2], modifiable Authority : no Path : 3f00501543044303 ID : 27cf9867b14e95400b04fb024af4033b942dfbcd Encoded serial : 02 0F 2CDEFC16D0F80682A124BA02C027BB X.509 Certificate [SwissSign Qualified Platinum CA 2010 - G2] Object Flags : [0x2], modifiable Authority : yes Path : 3f00501543044304 ID : 7251e0aa9dfb7e3844ea026f40c89fce28bf1c77 Encoded serial : 02 10 00AB32CDBC9B59942304FA6D84E40DBD X.509 Certificate [FirstnameLastnameQualifiedSignature] Object Flags : [0x2], modifiable Authority : yes Path : 3f00501543044305 ID : ce936c6fdce7a323f1c42999e7280abc17ae8e48 Encoded serial : 02 0F 39223266752706098D39D1FED554B4 (3) pkcs15-tool --list-public-keys Using reader with a card: Alcor Micro AU9560 00 00 Public RSA Key [SwissSign_nonRep ] Object Flags : [0x2], modifiable Usage : [0x40], verify Access Flags : [0x0] ModLength : 2048 Key ref : -1 (0xFFFFFFFF) Native : no Path : 3f001fffc100 ID : ce936c6fdce7a323f1c42999e7280abc17ae8e48 Public RSA Key [SwissSign_digSig ] Object Flags : [0x2], modifiable Usage : [0x51], encrypt, wrap, verify Access Flags : [0x10], local ModLength : 2048 Key ref : -1 (0xFFFFFFFF) Native : no Path : 3f00501550754b02 ID : 27cf9867b14e95400b04fb024af4033b942dfbcd Public RSA Key [SwissSign_dataEnc ] Object Flags : [0x2], modifiable Usage : [0x51], encrypt, wrap, verify Access Flags : [0x10], local ModLength : 2048 Key ref : -1 (0xFFFFFFFF) Native : no Path : 3f00501550754b03 ID : b5424ded7e4c12e6ea4189dbced76b0f35246099 (4) pkcs15-tool --list-keys Using reader with a card: Alcor Micro AU9560 00 00 Private RSA Key [SwissSign_nonRep ] Object Flags : [0x3], private, modifiable Usage : [0x204], sign, nonRepudiation Access Flags : [0x1D], sensitive, alwaysSensitive, neverExtract, local ModLength : 2048 Key ref : 2 (0x2) Native : yes Path : 3f001fffc100 Auth ID : 11 ID : ce936c6fdce7a323f1c42999e7280abc17ae8e48 Private RSA Key [SwissSign_digSig ] Object Flags : [0x3], private, modifiable Usage : [0x26], decrypt, sign, unwrap Access Flags : [0x1D], sensitive, alwaysSensitive, neverExtract, local ModLength : 2048 Key ref : 2 (0x2) Native : yes Path : 3f00501550724b025502 Auth ID : 01 ID : 27cf9867b14e95400b04fb024af4033b942dfbcd Private RSA Key [SwissSign_dataEnc ] Object Flags : [0x3], private, modifiable Usage : [0x26], decrypt, sign, unwrap Access Flags : [0x1D], sensitive, alwaysSensitive, neverExtract, local ModLength : 2048 Key ref : 3 (0x3) Native : yes Path : 3f00501550724b035503 Auth ID : 01 ID : b5424ded7e4c12e6ea4189dbced76b0f35246099 (5) pkcs15-tool --read-certificate 27cf9867b14e95400b04fb024af4033b942dfbcd | openssl x509 -inform pem -noout -pubkey -out pubkey [...] PIN code correct. 0x7fae386ea740 17:11:27.983 [pkcs15-crypt] pkcs15-sec.c:212:sc_pkcs15_decipher: called 0x7fae386ea740 17:11:27.983 [pkcs15-crypt] pkcs15-sec.c:154:format_senv: Card does not support RSA with key length 2048 0x7fae386ea740 17:11:27.983 [pkcs15-crypt] pkcs15-sec.c:155:format_senv: returning with: -1408 (Not supported) 0x7fae386ea740 17:11:27.983 [pkcs15-crypt] pkcs15-sec.c:218:sc_pkcs15_decipher: Could not initialize security environment: -1408 (Not supported) Decrypt failed: Not supported [...] (6) echo $? 1 Après un moment de recherche, j'ai trouvé ces deux commandes: (7) pkcs11-tool --list-mechanisms Using slot 0 with a present token (0x0) Supported mechanisms: SHA-1, digest SHA256, digest SHA384, digest SHA512, digest MD5, digest RIPEMD160, digest GOSTR3411, digest (8) opensc-tool --list-algorithms Using reader with a card: Cherry Smart Card Reader USB (OKCM0031001140846037878527150909) 00 00 Algorithm: ec Key length: 192 Flags: Algorithm: ec Key length: 224 Flags: Algorithm: ec Key length: 256 Flags: Algorithm: ec Key length: 0 Flags: L'un de vous a-t-il de l'expérience dans le domaine? Comment pourrais-je crypter un secret qui ne serait déchiffrable qu'avec la clé privée si la méthode RSA ne fonctionne pas? Si cela s'avère plus compliquer, il existe également la possibilité d'une rémunération mais cela nécessitera une offre préalable (courier privé pour en arriver là). Merci d'avance pour votre input Tom PS: j'ai fait ces tests avec une SuisseID périmée (mais pas bloquée), mais les résultats sont les mêmes avec une non périmée. _______________________________________________ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull