一种智能卡安全会话系统的制作方法

文档序号:6606651阅读:111来源:国知局
专利名称:一种智能卡安全会话系统的制作方法
技术领域
本发明涉及一种终端应用程序与智能卡之间安全通信的系统,特别涉及一种计算 机安全以及智能卡应用安全领域的智能卡安全会话系统。
背景技术
智能卡作为一种保障电子政务、电子商务安全的手段,其应用范围越来越广;美国 R0CKVILLE市场调研组最新发布了关于智能卡的RNCOS报告,其报告表示在2012年智能卡 市场将增长13%,随之而来的问题是如何保障智能卡自身的安全,例如如何兼顾智能卡的 可靠性和灵活性,如何兼顾智能卡在使用过程中的便利和数据安全等等。智能卡的安全性是由其安全体系加以保障,对智能卡安全体系的研究目前主要集 中在安全访问控制模型和设备认证模型等方面;智能卡的安全体系是智能卡的C0S(Card Operating System)中一个极为重要的部分,包括三大部分安全属性、安全状态以及安全 机制;
安全属性是智能卡执行某个指令所需要的一些条件,只有智能卡满足了这些条 件,该指令才是可以执行的。安全状态是指智能卡在当前所处的一种安全级别,这种安全级别是在智能卡进行 完复位应答或者是在其处理完某操作指令之后得到的。安全机制是安全状态实现转移所采用的转移方法和手段,通常包括通行字鉴别, 密码鉴别,数据鉴别及数据加密等。按IS0/IEC 7816标准规定,智能卡中的数据在用户存储器中以树型文件结构的 形式组织存放,智能卡的安全属性是和内部文件相关联的,具体是指对某个文件或者文件 的一部分进行某种操作时必须达到的状态,有时称为访问权限;文件的访问权限是在文件 创立时指定的,密钥的访问权限是在密钥写入时指定的;通过设置安全状态和安全属性,可 以有效地控制文件的读写操作,从而保证数据的私密性。如图1所示,结合智能卡的安全体系和文件系统,现有的智能卡的应用控制流程 如下每个应用由一些具体的指令组成,这些指令通常都是对智能卡内文件的操作;指 令的执行有一定的先后顺序,后一个指令的执行必须建立在前一个指令完成的基础上;和应用相关的每个智能卡文件拥有自己的安全属性,这些属性规定了指令对文件 进行操作前应满足的安全条件;在一个指令的执行过程中,可以用文件当前已经满足的安 全条件的集合来表示文件的安全状态;每个指令在访问某个具体文件前,必须符合一定的安全条件;一旦该条件被满足, 指令就可以执行,并依据相应的安全机制改变文件当前的安全状态;当指令执行发生错误或者一个应用的所有指令都执行完毕,文件的安全状态被重 置为初始安全状态。在应用结束前,随着指令的执行,文件的安全状态被改变,指令所具备的文件访问权限逐步提升,以满足应用需要。在智能卡安全体系的具体内容里,大部分实现都是基于对智能卡的身份认证,以 保证终端的安全;从智能卡的角度来看,也面临类似的安全问题,即如何确认当前发送指令 的终端应用程序和上一次通过智能卡安全体系验证的终端应用程序是同一个,例如进行文 件操作的指令是否是前一个改变文件操作模式的指令的合法后继操作。如图1所示,现有的智能卡安全体系并不能保障是同一个应用导致的状态迁移, 从而可能存在以下攻击方式旁路攻击当合法进程以共享模式与智能卡交互、通过安全验证后,智能卡安全状 态会提升并保持一定时间,在应用操作结束前,非法进程就会利用已提升的智能卡安全状 态访问智能卡,甚至替换卡内的密钥文件,阻止合法操作的顺利进行等;如果完全禁止共享 模式,则会影响多个应用同时对智能卡的访问。中间人攻击攻击者通过各种技术手段将攻击软件或硬件装置放置在智能卡与终 端的合法应用程序之间,在智能卡和真正的应用程序之间传递消息,同时监视、篡改它们之 间通信的内容。综上所述,针对现有的智能卡安全体系存在的上述缺陷,特别需要一种智能卡的 安全会话系统,以解决以上提到的智能卡的安全性问题。

发明内容
本发明的目的在于提供一种智能卡安全会话系统,针对现有技术的不足,解决现 有技术中智能卡安全性的问题,基于非对称技术的智能卡安全会话机制,通过通信安全会 话的方式,由完整的安全通信机制流程实现智能卡安全会话。本发明所解决的技术问题可以采用以下技术方案来实现一种智能卡安全会话系统,包括智能卡,其特征在于,所述智能卡由安全会话管理 器、传输管理器、命令解析器和加解密模块构成,所述智能卡中预置有安全会话公私钥对, 所述安全会话管理器、传输管理器和命令解析器互相连接,所述加解密模块与所述命令解 析器互相连接;终端应用程序发起安全会话,由终端应用程序产生随机数作为安全会话对 称密钥,并用智能卡的安全会话公钥加密安全会话对称密钥,然后通过智能卡的传输管理 器发送给命令解析器,命令解析器调用加解密模块中的安全会话私钥解密得到安全会话对 称密钥,并传送给安全会话管理器,安全会话管理器生成安全会话标识,与安全会话对称密 钥做映射,然后将安全会话标识用安全会话对称密钥加密,返回给终端应用程序,建立起终 端应用程序与智能卡通信的一个安全会话连接。在本发明的一个实施例中,当终端应用程序进行后续智能卡操作时,由终端应用 程序通过传输管理器发送安全会话标识和用随机数加密的指令及其摘要,智能卡的命令解 析器根据安全会话标识向安全会话管理器查询相应的安全会话对称密钥,然后调用加解密 模块解密后对指令进行解析执行。在本发明的一个实施例中,采用具备典型双证体系的智能卡,所述加解密模块使 用的安全会话公私钥对包括由CA托管的用于加解密的公私钥对和由COS自行生成的用于 签名的公私钥对,所述加解密模块使用的安全会话公私钥采用CA托管的用于加解密的公 私钥对。
在本发明的一个实施例中,所述安全会话管理器的安全会话的生命周期包括安全 会话初始化、安全会话通信和安全会话资源释放。进一步,当安全会话执行过程中发生错误,安全会话自动终止,安全会话管理器自 动释放安全会话资源。进一步,安全会话的执行时间超过安全会话管理器的时间限制,安全会话自动终 止,安全会话资源被释放。进一步,通信过程中掉电,安全会话管理器全部重置,安全会话资源被释放。本发明的智能卡安全会话系统主要具有如下优点1、通信的唯一性。即在一个安全会话里,与智能卡通信的对象是确定的,不同的安 全会话ID标明不同的通信对象,来自同一终端的不同的应用程序对应不同的安全会话ID。2、通信状态的一致性。在智能卡和多个应用程序通信时,保持安全会话状态的一 致性是很重要的;否则,当用户在一个新的、而不是一开始保存安全会话信息的应用程序提 交访问请求的时候,智能卡会因为无法获知原来的安全会话状态而产生问题。安全会话的 建立,使得不同应用程序与智能卡通信时所影响到的智能卡安全状态之间彼此独立,保障 了通信状态的一致性。本发明的智能卡安全会话系统,在现有智能卡安全体系中,引入安全会话的概念, 采用在一定时间内建立起智能卡与终端应用程序间的一种半永久性的、带有自动回收机制 的、交互式的信息交换方式,将应用程序与自身发出的请求关联起来,从而使得不同的应用 程序的安全会话是相互独立的;另外,安全会话一旦建立,就应当一直存在,直到应用程序 操作结束,或者其他使得安全会话终止的情况出现;会话的安全性由安全会话对称密钥和 安全会话公私钥对保护,实现本发明的目的。本发明的特点可参阅本案图式及以下较好实施方式的详细说明而获得清楚地了解。


图1为现有的智能卡安全体系的应用工作的流程图;图2为本发明的智能卡安全会话系统的智能卡的结构框图;图3为本发明的智能卡安全会话系统的工作流程示意图。
具体实施例方式为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结 合具体图示,进一步阐述本发明。如图2、图3所示,本发明的智能卡安全会话系统,包括智能卡100,智能卡100由 安全会话管理器110、传输管理器120、命令解析器130和加解密模块140构成,安全会话管 理器110、传输管理器120和命令解析器130互相连接,加解密模块140与命令解析器130互 相连接;在本发明中,加解密模块140包括非对称加解密模块141和对称加解密模块142。传输管理器120的主要功能是接收来自终端硬件的电气信号,转换成逻辑数据传 递给命令解析器;将来自智能卡的响应信息以电气信号传递给终端硬件。命令解析器130的主要功能是在安全会话初始化阶段用安全会话私钥解密安全
5会话对称密钥,并对指令解析处理;在安全会话建立之后,用安全会话对称密钥解密指令, 并对指令解析处理。调用加解密模块140获得安全会话标识ID、安全会话对称密钥R和 cmd,并对指令进行解析。加解密模块140包括非对称加解密模块141和对称加解密模块142。非对称加解密 模块141所使用的公私钥对可以是由CA托管的用于加解密的公私钥对或由COS自行生成 的用于签名的公私钥对;对称加解密模块142所使用的对称密钥是由终端应用程序生成的 随机数R。加解密模块140的功能是在安全会话的初始化阶段,调用非对称加解密模块141 用安全会话私钥解密得到随机数R,将R作为安全会话对称密钥提交给会话管理器110,并 与安全会话管理器生成的安全会话标识ID绑定;在会话建立之后,根据安全会话标识ID, 从安全会话管理器处查询得到安全会话对称密钥,调用对称加解密模块142解密指令,并 交命令解析器解析后执行。安全会话管理器110的主要功能是管理包括安全会话标识ID和安全会话对称密 钥R的会话信息,并根据会话信息修改相应的安全状态。终端应用程序发起安全会话,由终端应用程序产生随机数R作为安全会话对称密 钥并用安全会话公钥加密,加密后的安全会话对称密钥被发送给智能卡100的传输管理器 120,传递至命令解析器130 ;命令解析器130调用非对称加解密模块141用安全会话私钥 解密得到安全会话对称密钥R,然后执行创建会话工作,将安全会话对称密钥R发送给安全 会话管理器110 ;安全会话管理器110产生安全会话标识ID,将安全会话对称密钥R与安 全会话标识ID绑定,然后返回用安全会话对称密钥R做了对称加密的安全会话标识ID给 终端应用程序,以此建立与终端应用程序的一个会话;当会话建立之后,终端应用程序访问 智能卡100时,由终端应用程序通过传输管理器120发送安全会话标识ID和用安全会话对 称密钥R加密的指令及指令的hash摘要;命令解析器130在接收到加密的指令后,对照安 全会话标识ID在安全会话管理器110查找对应的安全会话对称密钥R,调用对称加密模块 142用安全会话对称密钥R解密得到指令及其摘要,通过指令的验证后,进行命令执行。在本发明中,安全会话管理器110的安全会话的生命周期包括安全会话初始化、 安全会话通信和安全会话资源释放。能建立安全会话的智能卡100必须能够支持非对称加解密功能,也就是需要有一 对能够进行加解密的公私钥对,对创建会话时的通信进行加密保护。在本发明中,非对称加 解密模块141所使用的密钥包括由CA托管的用于加解密的公私钥对(记为PK1和SK1)或 者由COS自行生成的用于签名的公私钥对(PK2* SK2)。对于采用双证体系的智能卡,一般 建议使用由CA托管的用于加解密的公私钥对。在安全会话的初始化阶段,智能卡还需生成终端应用程序的标识ID,用于区分不 同的终端应用程序。安全会话有一定的生存时间,安全会话管理器既可以定义不同的安全 会话生存时间,也可以对所有的安全会话实行统一的生存时间限制。安全会话的最后一个阶段是安全会话的资源释放。除了终端主动终结一个安全会 话的情况外,以下任意一种情况出现时,安全会话资源就被释放1、当安全会话执行过程中发生错误,安全会话自动终止,安全会话管理器110自 动释放安全会话资源;2、安全会话的执行时间超过安全会话管理器110的时间限制,安全会话自动终止,安全会话资源被释放;3、通信过程中掉电,安全会话管理器110全部重置,安全会话资源被释放。实施例基于以上的智能卡系统设计,本发明以非对称加解密RSA算法和对称加密3DES算 法为例,假设智能卡上有CA托管的用于加解密的公私钥对PK1和SK1,以此密钥对作为安全 会话公私钥对,提出如下智能卡安全会话通信工作流程(参见图3)1)终端应用程序读取智能卡上的公钥作为安全会话公钥PK1 ;2)终端应用程序生成随机数R,用安全会话公钥PK1加密随机数R得到Rpki并将其 发给智能卡;3)智能卡用安全会话私钥SK1解密Rpki得到随机数R,然后生成当前应用程序的 安全会话标识ID,安全会话管理器110保存记录对S :ID<->R,其中ID用于标识当前安全会 话,R作为该安全会话对称密钥;智能卡将安全会话标识ID用R对称加密,把加密所得到的 IDk返回给终端应用程序;4)终端应用程序用R解密IDk得到ID ;5)终端应用程序生成需要执行的指令cmd,并且对cmd的摘要计算Hash值,然 后将指令和摘要一起用随机数R对称加密,连同安全会话标识ID —起,组成信息串C ID+(Cmd+CmdHash)K发送给智能卡;6)智能卡收到信息串C后,通过比对安全会话标识ID,得到对应的安全会话对称 密钥R,解密C中被加密的指令得到cmd并计算其Hash值,验证摘要;7)如果第6步验证通过,则cmd执行;否则智能卡将出错信息返回给终端应用程 序,并记录出错次数;当多次出错达到容错上限,安全会话管理器110将清除记录S,重置智 能卡初始安全状态,结束安全会话;8)如果应用程序还有其他cmd需要执行,重复第5、6、7步操作;9)如果应用程序操作结束,则终端主动通知智能卡关闭安全会话,释放安全会话 资源。本发明的智能卡安全会话系统,在终端应用程序与智能卡之间建立安全会话,能 够解决旁路攻击、中间人攻击的问题;在普通智能卡的应用中,如网上银行使用的U盾、市 民卡、社保卡等,终端与智能卡的交互过程不存在会话机制,智能卡无法确定当前的终端处 于何种状态,所以可能无法避免旁路攻击行为;本发明的智能卡安全会话系统通过加入安 全会话机制,在一定程度上能够防止非法终端程序以旁路方式或中间人方式访问智能卡内 R^f η 息。以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变 化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其 等效物界定。
权利要求
一种智能卡安全会话系统,包括智能卡,其特征在于,所述智能卡由安全会话管理器、传输管理器、命令解析器和加解密模块构成,所述智能卡中预置有安全会话公私钥对,所述安全会话管理器、传输管理器和命令解析器互相连接,所述加解密模块与所述命令解析器互相连接;终端应用程序发起安全会话,由终端应用程序产生随机数作为安全会话对称密钥,并用智能卡的安全会话公钥加密安全会话对称密钥,然后通过智能卡的传输管理器发送给命令解析器,命令解析器调用加解密模块中的安全会话私钥解密得到安全会话对称密钥,并传送给安全会话管理器,安全会话管理器生成安全会话标识,与安全会话对称密钥做映射,然后将安全会话标识用安全会话对称密钥加密,返回给终端应用程序,建立起终端应用程序与智能卡通信的一个安全会话连接。
2.如权利要求1所述的智能卡安全会话系统,其特征在于,当终端应用程序进行后续 智能卡操作时,由终端应用程序通过传输管理器发送安全会话标识和用随机数加密的指令 及其摘要,智能卡的命令解析器根据安全会话标识向安全会话管理器查询相应的安全会话 对称密钥,然后调用加解密模块解密后对指令进行解析执行。
3.如权利要求1所述的智能卡安全会话系统,其特征在于,所述加解密模块使用的安 全会话公私钥对包括由CA托管的用于加解密的公私钥对和由COS自行生成的用于签名的 公私钥对。
4.如权利要求1所述的智能卡安全会话系统,其特征在于,所述安全会话管理器的安 全会话的生命周期包括安全会话初始化、安全会话通信和安全会话资源释放。
5.如权利要求4所述的智能卡安全会话系统,其特征在于,当安全会话执行过程中发 生错误,安全会话自动终止,安全会话管理器自动释放安全会话资源。
6.如权利要求4所述的智能卡安全会话系统,其特征在于,安全会话的执行时间超过 安全会话管理器的时间限制,安全会话自动终止,安全会话资源被释放。
7.如权利要求4所述的智能卡安全会话系统,其特征在于,通信过程中掉电,安全会话 管理器全部重置,安全会话资源被释放。
全文摘要
本发明的目的在于公开一种智能卡安全会话系统,包括智能卡,所述智能卡由安全会话管理器、传输管理器、命令解析器和加解密模块构成,安全会话管理器、传输管理器和命令解析器互相连接,加解密模块与命令解析器互相连接;在现有智能卡安全体系中,引入安全会话的概念,采用在一定时间内建立起智能卡与终端应用程序间的一种半永久性的、带有自动回收机制的、交互式的信息交换方式,将应用程序与自身发出的请求关联起来,从而使得不同的应用程序的安全会话是相互独立的;另外,安全会话一旦建立,就应当一直存在,直到应用程序操作结束,或者其他使得安全会话终止的情况出现;会话的安全性由安全会话对称密钥和安全会话公私钥对保护。
文档编号G06F21/00GK101894235SQ20101023805
公开日2010年11月24日 申请日期2010年7月27日 优先权日2010年7月27日
发明者姚静晶, 张勇, 胡永涛, 赵宏伟 申请人:公安部第三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1