三代卡读卡解密方法
🛖 概述
和第一代、第二代社保卡不同,第三代社保卡的持卡人信息(EF06)是加密的,需要做外部认证才可以读取到。
🚲 分析
需要在在读取EF06中的数据前,做社保卡的外部认证。
🚙 处理
- 读取卡片基本验证信息
110000|0081544C9786841100800009F5|03|110000D15600000500069BA4CE2212FE|1C3F8B47D6DF6A4D|A61F5F464E88C6C3|B02F4C6F5BE9EC01|56E3BCBC839D67A0| 发卡地区行政区划代码(卡识别码前 6 位) 110000 卡复位信息(仅取历史字节) 0081544C9786841100800009F5 算法标识 3 卡识别码 110000D15600000500069BA4CE2212FE 内部认证过程因子 1C3F8B47D6DF6A4D 内部认证鉴别所需的原始信息 A61F5F464E88C6C3 外部认证过程因子 B02F4C6F5BE9EC01 外部认证鉴别所需的原始信息 56E3BCBC839D67A0 - 计算过内部认证密钥
使用PSAM卡进行密钥分散,计算外部认证密钥。
"00A404000F7378332E73682EC9E7BBE1B1A3D5CF" "00A4000002DF01" "BFDE670828" + sKeyBaseDate + sInterAuthKey + "0000000000000000" "80FA000010" + sInterAuthData + "0000000000000000" - 计算过外部认证密钥
使用PSAM卡计算
"BFDE670A28" + sKeyBaseDate + sExtAuthKey + "0000000000000000" "80FA000010" + sExtAuthData + "0000000000000000"
🚚 例子
认证原始数据:
{
"sSour":"110000|0081544C9786841100800009F5|03|110000D15600000500069BA4CE2212FE|1C3F8B47D6DF6A4D|A61F5F464E88C6C3|B02F4C6F5BE9EC01|56E3BCBC839D67A0|"
}认证后密钥信息:
{
"pKey":"06112A082A26BE11A61F5F464E88C6C3|FC7C1AA9BA0FD55C56E3BCBC839D67A0|"
}