Тест

Тест

Sergey Stupin

Для пользовательского PIN используется PKCS12 PBE с SHA1 и 3DES CBC. Вычисление зависит от challenge, PIN-кода и 20-байтового значения salt, считанного из файла 0x3F00\0x6666\0x5000\0x000F:

a.   3DESKEY(24) = PBE_KEY_ SHA1 ( PIN, SALT, 999 итераций)

b.   RESPONSE(8) = DES3_ENCRYPT_CBC ( 3DESKEY, CHALLENGE )


Для PIN администратора response зависит только от challenge и PIN-кода следующим образом:

a.   A(16) = MD5 hash от 0x00 + PIN

b.   B(16) = MD5 hash от 0x01 + PIN

c.   C(32) = A + B

d.   3DESKEY(24) = C[0...20] за счёт того, что верхние биты (0x80) всех байтов ключа равны нулю

e.   RESPONSE(8) = DES3_ENCRYPT_ECB ( 3DESKEY, CHALLENGE )


Ожидаемые ответы смарт-карты:

90 00

Команда выполнена успешно

63 00

Неверный PIN-код


Report Page