区域联网电子不停车收费系统应用示范技术规范第7部分电子收费OBE_SAM安全模块技术要求交通部公路科学研究院2008年10月1目次T1.范围.......................................................................................................................22.缩略语...................................................................................................................23.OBE-SAM的主要功能...........................................................................................24.OBE-SAM文件结构...............................................................................................25.文件详细说明........................................................................................................46.OBE-SAM内密钥说明...........................................................................................77.OBE-SAM密钥管理...............................................................................................78.OBE-SAM复位信息的约定....................................................................................79.OBE-SAM应用命令集...........................................................................................82电子收费OBE-SAM安全模块技术要求1.范围本标准规定了OBE-SAM的主要功能、OBE-SAM文件结构、文件详细说明、OBE-SAM内密钥说明、OBE-SAM密钥管理、ESAM复位信息的约定、OBE-SAM应用命令集。2.缩略语an:字母数字型(Alphanumeric)b:二进制(Binary)cn:压缩数字(CompressedNumeric)3.OBE-SAM的主要功能OBE-SAM的主要功能如下:z数据安全存储功能;z数据安全读取功能;z硬件DES协处理器;zTDES加解密计算功能;zTDESMAC计算功能;z文件访问控制功能;z拆卸判定标志位安全设定功能;z电源电压:1.8V—3.6V能正常工作;z外部工作时钟频率不低于5MHzz操作速度:最低57600bps,各家厂商根据自身情况自由选购。4.OBE-SAM文件结构4.1.文件结构图345.文件详细说明5.1.系统信息文件文件标识(FID)‘EF01’文件类型二进制文件文件大小99字节读取:自由写入:DAMK_MF线路保护(明文+MAC)字节类型长度(字节)内容1–8cn8服务提供商编码9cn1协约类型10cn1合同版本11–18cn8合同序列号19–22cn4合同签署日期格式:CCYYMMDD23–26cn4合同过期日期格式:CCYYMMDD27B1拆卸状态28–99an72预留拆卸状态说明:值状态描述0000RS由路侧根据防拆信息控制OBU的通行0001OB由OBU根据防拆信息设置自身工作状态1111NU防拆信息未启用高4位注:其它值被保留0000PF标签已被非法拆卸0001OK正常工作状态低4位注:其它值被保留5.2.MF下保留文件文件标识(FID)‘EF02’文件类型二进制文件文件大小512字节读取:自由写入:DAMK_MF线路保护(明文+MAC)字节类型长度(字节)内容1–512an512预留55.3.ETC应用车辆信息文件文件标识(FID)‘EF01’文件类型二进制文件文件大小79字节读取:RK2_DF01线路保护(密文)写入:DAMK_DF01线路保护(明文+MAC)字节类型长度(字节)内容1–12an12车牌号13–14an2车牌颜色15cn1车型16cn1车辆用户类型17–20cn4车辆尺寸(长[2字节]X宽[1字节]X高[1字节])21cn1车轮数22cn1车轴数23–24cn2轴距25–27cn3车辆载重/座位数28–43an16车辆特征描述44–59an16车辆发动机号60–79b20保留字段5.4.ETC应用交易记录文件文件标识(FID)‘EF02’文件类型循环定长记录文件文件大小57字节X50条记录读取:自由写入:自由字节类型长度(字节)内容1–4Datetime4出入口时间(UNIX时间)5-6b2路网编码(参见公路联网收费技术要求)7–8b2收费站编码(参见公路联网收费技术要求)9b1收费车道编码(参见公路联网收费技术要求)10b1卡类型标志(1储值卡2记帐卡3公务卡4…)(参见公路联网收费技术要求)11-18b8卡号19b1车型20-31b12车牌号32-33SmallInt2收费额34-37b4OBU的MAC地址38-57b20保留字段65.5.应用保留文件1文件标识(FID)‘EF03’文件类型二进制文件文件大小512字节读取:自由写入:DAMK_DF01线路保护(明文+MAC)字节类型长度(字节)内容1–512an512预留5.6.应用保留文件2文件标识(FID)‘EF04’文件类型二进制文件文件大小512字节读取:自由写入:自由字节类型长度(字节)内容1–512an512预留5.7.应用保留文件3文件标识(FID)‘EF05’文件类型二进制文件文件大小512字节读取:认证读(安全报文)写入:DAMK_DF01线路保护(明文+MAC)字节类型长度(字节)内容1–512an512预留5.8.OBU应用预留文件1文件标识(FID)‘EF06’文件类型二进制文件文件大小512字节读取:自由写入:DAMK_DF01线路保护(明文+MAC)字节类型长度(字节)内容1–512an512预留5.9.OBU应用预留文件27文件标识(FID)‘EF07’文件类型二进制文件文件大小512字节读取:自由写入:自由字节类型长度(字节)内容1–512An512预留6.OBE-SAM内密钥说明密钥说明用途标识版本长度分散级数MF下安全文件MK_MFMF主控密钥000000160DAMK_MFMF系统维护密钥010100160DF01下安全文件MK_DF01DF01主控密钥000000160DAMK_DF01DF01应用维护密钥010100160RK1_DF01DF01应用认证密钥010200160RK2_DF01DF01应用加密密钥010300160RK2_DF01DF01应用加密密钥010301160RK2_DF01DF01应用加密密钥010302160注:密钥用途说明。‘00’外部认证密钥,用于外部认证命令;‘01’传输密钥,用于数据传输时加密或计算MAC。7.OBE-SAM密钥管理分类密钥用途MK_MF控制MF下文件的建立和密钥的写入主控密钥MK_DF01控制DF01下文件的建立和密钥的写入DAMK_MF应用维护密钥DAMK_DF01发卡方或应用提供方用于产生更新二进制文件或记录命令的MAC计算密钥RK1_DF01用于产生读二进制文件或记录命令的MAC计算密钥RK2_DF01用于加密读取车辆信息文件信息。注1:所有密钥的装载和修改必须使用密文+MAC的方式。8.OBE-SAM复位信息的约定ESAM复位信息中历史字节的约定如下(共15字节):名称类型长度(字节)说明交通部标识An1固定为’4A’芯片商注册标识号An2芯片厂商注册标识8OBE厂商标识An2由ITS分配COS版本号Cn1主版本号+次版本号,范围1.0~9.9COS修订版本号Cn1范围0~99YEARCn1生产年份MONCn1生产月份DAYCn1生产日ESAM结构版本Cn1ESAM结构版本号流水号An4唯一性(在卡商内部)9.OBE-SAM应用命令集9.1.DECREASECOUNTER命令9.1.1.定义和范围将拆卸次数减19.1.2.命令报文代码数值CLA‘00’INS‘59’P1‘00’P2‘00’Lc不存在DATA不存在Le‘01’9.1.3.命令报文数据域每次固定减1,命令报文数据域不存在。9.1.4.响应报文数据域返回剩余次数。9.1.5.响应报文状态码SW1SW2说明9000命令执行成功96581写EEPROM失败6700Lc长度错误6985使用条件不满足,拆卸次数已经为06A81功能不支持6A82未找到文件6A86P1、P2参数错6D00命令不存在6E00CLA错9303应用永久锁定9.2.GETCHALLENGE命令9.2.1.定义和范围GETCHALLENGE命令请求一个用于安全相关过程(例如:安全报文)的随机数。该随机数只能用于下一条指令,无论下一条指令是否使用了该随机数,该随机数都将立即失效。9.2.2.命令报文代码数值CLA‘00’INS‘84’P1‘00’P2‘00’Lc不存在DATA不存在Le‘04’,‘08’9.2.3.命令报文数据域命令报文数据域不存在。9.2.4.响应报文数据域响应报文数据域包括随机数,长度为4字节或8字节。9.2.5.响应报文状态码ESAM回送的响应信息中可能出现的状态码有:SW1SW2说明109000命令执行成功6700Le长度错误6A81功能不支持6A86P1、P2参数错6D00命令不存在6E00CLA错9.3.GETRESPONSE命令9.3.1.定义和范围当APDU不能用现有协议传输时,GETRESPONSE命令提供了一种从ESAM向接口设备传送APDU(或APDU的一部分)的传输方法。9.3.2.命令报文代码数值CLA‘00’INS‘C0’P1‘00’P2‘00’Lc不存在DATA不存在Le响应的最大数据长度9.3.3.命令报文数据域命令报文数据域不存在。9.3.4.响应报文数据域响应报文数据域的长度由Le的值决定。如果Le的值为零,在附加数据有效时,ESAM必须回送状态码’6CXX’,否则回送状态码’6F00’。9.3.5.响应报文状态码ESAM回送的响应信息中可能出现的状态码有:SW1SW2说明9000命令执行成功61xx还有xx字节需要返回116281回送数据可能有错6700Lc或Le长度错误6A86P1、P2参数错6Cxx长度错误,‘xx’表示实际长度6D00命令不存在6E00CLA错6F00数据无效9.4.READDATA命令9.4.1.定义和范围READDATA命令用于读出应用车辆信息文件中的数据,读出的数据为密文。9.4.2.命令报文代码数值CLA‘00’INS‘B4’P1偏移地址高字节P2偏移地址低字节Lc‘0A’DATA随机数(8B)+期望读取的信息数据明文长度(1B)+密钥版本(1B)Le009.4.3.命令报文数据域命令报文长度为‘0A’,读取车辆信息文件时,ESAM将先通过随机数和期望读取的明文数据计算鉴别码。然后以下面格式组织数据并加密:鉴别码+期望读取的数据明文9.4.4.响应报文数据域命令执行后,ESAM会先计算鉴别码,然后将鉴别码+读取数据,并以密文形式返回加密读取结果。鉴别码的计算方法:a)将文件数据进行CRC计算(多项式X16+X12+X5+1,起始FFFFH),产生两字节CRC0和CR