社保卡的安全体系研究

时间:2022-08-06 07:38:06

【前言】社保卡的安全体系研究由文秘帮小编整理而成,但愿对你的学习工作带来帮助。(1.Hefei University of Technology, Hefei 230009, China; 2.Bengbu Labour Security Information Center, Bengbu 233000, China) Abstract: IC card as a kind of micro intelligent products, is widely used in all fields. Social Security Card uses one of IC ...

社保卡的安全体系研究

摘要:IC卡作为一种微型智能产品,目前广泛应用于各行各业。社保卡采用的是IC卡其中的一种,即CPU卡。社保卡作为在劳动保障领域办理有关事务的身份验证和交易消费的唯一电子凭证,安全性尤为重要。通过对社保卡内部结构和安全体系的设计要求的分析,在着重探讨社保卡的安全体系划分(安全状态、安全属性、安全机制、密码算法和密钥管理)、如何通过卡内操作系统COS来管理卡内软硬件资源以及如何通过安全通道与外界交换信息来保证用户数据安全的传输的基础上,以达到社保卡安全应用的目的。

关键词:社保卡;安全体系;COS

中图分类号:TP309 文献标识码:A 文章编号:1009-3044(2010)02-495-03

The Security of Social Security Card System

ZHENG Bin1,2, ZHANG Ren-bin2, SONG Wei2

(1.Hefei University of Technology, Hefei 230009, China; 2.Bengbu Labour Security Information Center, Bengbu 233000, China)

Abstract: IC card as a kind of micro intelligent products, is widely used in all fields. Social Security Card uses one of IC cards, which is known as the CPU card. Social Security Card as the sole electronics certificate for authentication-related affairs and transactions in the field of Labor and Social Security, the security of it is particularly important. Through the analysis of introduce the internal structure and security system design requirements of Social Security Card. In the while, in order to achieve the purpose of security applications, we focused on how to compartmentalize the security system of Social Security Card(security status, security attributes, security mechanisms, cryptographic algorithms and key management), and how to manage hardware and software through the card operating system (COS) and how to ensure the safety of user data transmission through a secure channel to exchange information with the outside.

Key words: social security card; security system; COS

IC卡(Integrate Circuit Card)是将集成电路芯片镶嵌于塑料基片中,封装成卡的形式,它因体积小、存储容量大、安全性高、 使用方便等优点被广泛应用于各行各业。IC卡分为存储卡(Memory Card) 、逻辑加密卡(Logical Encrypt Card)和CPU卡(CPU Card)。中华人民共和国社会保障卡(简称社保卡)使用的是CPU卡 。劳动和社会保障部于1999年制定并了《社会保障卡建设总体规划》,按照此规划,社保卡将实行“一卡多用”和“全国通用”。社保卡作为劳动者在劳动保障领域办理有关事务的身份验证和交易消费的唯一电子凭证,其安全性尤为重要。

1 社保卡内部结构

1.1 物理结构

社保卡的内部包含五部分:CPU及加密逻辑、RAM、ROM、EEPROM及I/O,是一个完整的计算机安全体系[1],如图1所示。

其中,CPU及加密逻辑保证EEPROM中数据安全,防止外界用非法手段获取EEPROM中的数据;RAM存放命令参数、返回结果、安全状态、临时密钥等数据,掉电后自动丢失。社保卡操作系统COS掩膜在ROM中,保证COS的代码安全。用户信息以文件形式存放在EEPROM中,在拥有相应权限的前提下可进行读或写。

1.2 文件组织结构

社保卡的文件系统是完全遵照《社会保障(个人)卡规范》[2]和ISO/IEC 7816-4[3]来组织的,它是具有树型结构的多级目录系统,由主文件MF(Master File)、目录文件DF(Directory File)、和基本文件EF(Element File)组成,其中包含下级目录的DF为DDF,不包含下级目录的DF为ADF。文件系统在社保卡的EEPROM中建立。MF在社保卡内唯一存在,在MF和DF下可以有多个EF和多个下一级DF。社保卡支持多层目录结构,同层目录中文件不能有相同的ID。在应用系统中,各个不同的应用可以创建不同的DF,使一张社保卡可以适用于多个应用。社保卡具体的层次结构如图2所示。

2 社保卡安全体系的设计要求

社保卡的安全体系有以下几个阶段:在芯片制造商完成芯片的制造后,社保卡处于未初始化状态;卡片制造厂商封装完成后进行初始化和检测,此时社保卡处于初始化阶段;初始化和检测完成后社保卡处于未个人化阶段;发卡方使用专用密钥进行个人化,此时处于个人化阶段,这个过程中发卡方设计自己应用的安全体系并封装到卡片中,当个人化过程结束后,社保卡在发卡方规划的安全体系的保护下对《社会保障(个人)卡规范》和ISO/IEC7816-4中的指令进行解释和执行。因此,社保卡安全体系的设计需具备以下要求:

从设计上保证即使攻击者(含设计者)得到社保卡代码,也不会影响卡片安全性。

卡片中所有密钥(口令密钥、密码算法密钥)无论在什么条件下均不可由外界读出,因而卡片密钥内容是不可复制的。

卡片中对文件的读写根据应用需求设计安全级别,必须保证拥有相应的级别才可读或写。

无其它隐含命令可直接读写卡中的数据。

ROM中的代码不能从外部读出,也不能被驻留在EEPROM中的程序读取。

EEPROM中的数据只能通过社保卡命令访问。

3 社保卡安全体系划分

社保卡的安全体系可分为社保卡自身安全与应用安全。应用安全又分为安全状态、安全属性、安全机制、密码算法和密钥管理等几个方面。社保卡的核心软件是卡内操作系统COS(Chip Operation System)。社保卡通过COS来管理卡内软硬件资源,并通过安全通道与外界交换信息,保证用户数据安全的传输,达到社保卡安全应用的目的。

3.1 安全状态

安全状态指的是一种安全级别。在环境目录(DDF/MF)和应用目录(ADF)中各有15个等级的安全状态。环境目录下的安全状态,称为全局安全状态字;应用目录下的安全状态,称为局部安全状态字。如果卡工作在环境目录下(DDF/MF),则局部安全状态无意义。

安全状态是通过对KEY进行外部认证后,将KEY数据信息中的安全级别字(SSB)映射到安全状态字上。若认证密钥在DDF/MF下,则映射到全局安全状态字上;若认证密钥在ADF下,则映射到局部安全状态字上。SSB的高4位表示安全级别的下限(1~15),SSB的低4位表示安全级别的上限(1~15)。假设KEY的SSB为‘XY’,表示认证KEY成功后可获得X至Y区域内的安全级别。例如:在DDF/MF下有Key1,其安全级别设置为‘46’,即SSB=‘46’。Key1认证通过后,卡的全局安全状态为4,5,6三级。若在ADF下有Key2,SSB=‘AD’,则Key2认证通过后,卡的局部安全状态为10、11、12、13四级。若SSB=‘00’表示Key认证通过后对安全状态无影响。‘X’>‘Y’的组合为不合理数据。

3.2 安全属性

安全属性是指对社保卡的操作权限,用户只有达到安全属性规定的权限才能通过COS命令对卡内文件和KEY进行操作。Right定义了对文件和KEY操作的权限,用2个字节表示,高字节对应全局安全状态,低字节对应局部安全状态。每个字节的高4位表示安全状态的下限,低4位表示安全状态的上限。假设权限的高字节为‘XY’,若‘X’‘Y’表示文件或KEY的全局安全级别在‘X’至‘Y’区域内,对文件或KEY访问前,先要满足文件或KEY的访问权限;若‘X’>‘Y’,表示文件或KEY被禁止访问;若为‘0Y’,表示对文件或KEY的访问无安全级别限制。

安全属性往往和COS文件系统相关联, 根据对不同文件类型的操作权限,可以设计不同的安全属性。

增加权限:在当前目录下创建新文件的权限。

激活权限:激活失效安全机制的权限。

终止权限:永久终止的权限,对于MF来说表示卡锁定,对于ADF文件来说表示当前应用永久锁定,即: 应用失效。

读权限:对EF文件内容的读 操作权限。

写权限:对EF文件内容的写操作权限。

安装权限:表示安装密钥或密码的权限。

使用权限:表示使用密钥或密码的权限。

修改权限:修改密钥或密码的权限。

解锁权限:解锁密码PIN的权限,此权限只有PIN才有。

3.3 安全机制

安全机制是指安全状态的改变所采用的方法和手段以及安全属性和安全状态之间的控制关系。COS命令在执行过程中,首先要检查COS环境所处的安全状态是否符合执行命令要求的安全属性。假设当前COS所处的是安全状态A,执行COS命令安全属性要求安全状态B ,在执行COS命令前要通过安全机制涉及安全提升方法,将安全状态提升到安全状态B ,这样COS命令才能正常执行。安全状态、安全机制、 安全属性,三者的关系见图3。

社保卡的安全机制根据《社会保障(个人)卡规范》规定,有三方面的要求,即:内部/外部认证、PIN验证和安全报文MAC(Message Authentication Code)。

3.3.1 内部/外部认证

内部认证和外部认证是一种互认证过程。内部认证是用读卡设备来认证卡, 保证卡的合法性,内部认证可以防止伪造的卡在读卡设备上进行操作。外部认证是用卡来认证外部读卡设备的合法性,外部认证可以防止恶意对卡进行操作,读取和更改卡内信息。

外部认证还可以改变社保卡的安全状态,一般卡内存储了多个外部认证密钥,每个外部认证密钥所能改变的安全状态不一样,在进行外部认证时,必须通过密钥索引参数选择相对应的外部认证密钥完成外部认证。

3.3.2 PIN验证

PIN实际上就是密码,根据《社会保障(个人)卡安全要求》[4]规定,社保卡只有一个密码PIN,持卡用户可以修改密码,通过密码验证,改变卡的安全状态,达到安全要求。

3.3.3 安全报文MAC

传送安全报文的目的是保证数据的可靠性、完整性和发送方的认证。数据完整性和对发送方的认证是通过使用MAC来实现,数据可靠性通过数据域的加密来得以保障。

3.4 密码算法

社保卡用的加密算法都是对称分组加密算法,一般通用的对称加密算法主要是DES(Data Encryption Standard)。

DES算法,见图4,需要满足4个要求:提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;具有相当高的复杂性;使得破译的开销超过可能获得的利益;便于理解和掌握;

DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。如果Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式作为DES的输出结果。在使用DES时,双方预先约定使用的“密码”即Key,然后用Key去加密数据;接收方得到密文后使用同样的Key解密得到原数据,这样便实现了安全性较高的数据传输。

3.5 密钥管理

社保卡的密钥的装载、更新和下发都有一整套安全管理办法。社保卡的密钥分为三个级别:国家级密钥、省级密钥和地市级密钥,采用多级密钥管理方式,逐级分散下发。从而保证用于加(解)密算法的非对称私有密钥或对称加密密钥在没经授权的情况下,不会被泄漏。如果增设个人密码,则应保证其在社保卡中的安全存放。社保卡的COS在设计、封装时将所有密钥存放在专用的文件中,即:密钥存放到密钥文件中,密码存放到密码文件中,并且外部不能访问这两种文件,每一种密钥只能执行特定的功能,这样可以保障密钥和密码不外泄漏, 同时又能正常使用。

4 结束语

为了适应社会保障信息化发展要求,满足社保卡系统建设、应用和管理的需求,实现“一卡多用”、“全国通用”,社保卡安全体系的研究是解决卡片信息安全问题的关键和基础技术。随着社保卡应用领域和功能的不断地扩展,社保卡安全体系的研究和设计也将随之发展,从而保证卡内信息的安全。

参考文献:

[1] GB/T16649.1-1996.识别卡带触点的集成电路卡-第1部分:物理特性[S].

[2] LB002-2000.社会保障(个人)卡规范[S].

[3] ISO7816-4:1987.识别卡带触点的集成电路卡-第4部分:行业间交换用命令[S].

[4] 社会保障(个人)卡安全要求[S].

[5] 尚为兵.CPU卡芯片设计研究[J].上海:复旦大学学报,2004.

[6] JR/T0025-2005.中国金融集成电路(IC)卡规范[S].

[7] 周爱兵.一种高安全性CPU卡芯片的设计与研究[J].北京:清华大学学报,1999.

[8] 耿力,宋晔.CPU卡操作系统及其检测方法[M].北京:信息技术与标准化出版社,2004.

[9] 杨振野.IC卡技术及其应用[M].北京:科学出版社,2006.

上一篇:互联网用户行为控制系统功能设计及应用 下一篇:基于LabVIEW的PC机与Cortex-M3微处理器的以太...