专利名称:一种安全报文传输系统和方法
技术领域:
本发明涉及信息安全领域,特别涉及一种安全报文传输系统及方法。
背景技术:
计算机的高速发展使我们快速的步入了高度信息化的世界,信息安全已经密切影响到我 们生活的各个方面,例如通信、网上银行等业务的快速发展,要求我们有一个安全的通讯环 境,但是,由于黑客技术的发展和人们对各种加密技术的深入,我们已经越来越难以保障数 据的安全。现在,计算机已经广泛的应用在各个领域,数据的交换也越来越多,为了保证数 据的安全,人们已经基本上不使用明文传输的方式,开始对敏感数据加密后形成密文再进行 传输,接收方接收到信息后再进行解密得到明文进行读取,这样虽然浪费了时间,却极大的 保障了人们对数据保密的需求。
从计算机诞生以来,人们就开始研究各种加密传输技术,使用各种算法对数据进行保护, 在密码学中,我们使用密钥对数据进行加密。密钥是一种参数,它是在明文转换为密文或将 密文转换为明文的算法中输入的数据。密钥分为两种,对称密钥和非对称密钥。对于普通的 对称密码学,加密运算与解密运算使用同样的密钥。通常,使用的加密算法比较简便高效,密 钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性,所以,保管密钥是一 个严峻的问题,信息发送方和信息接收方只要有一方密钥泄露,就不能保证数据安全。而且 由于对称密码学中双方都使用相同的密钥,因此无法实现数据签名和不可否认性等功能。20 世纪70年代以来, 一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、 解密密钥的分离。加密密钥是公开的,解密密钥是保密的。这种新的密码体制,引起了密码 学界的广泛注意和探讨不像普通的对称密码学中采用相同的密钥加密、解密数据,非对称密 钥加密技术采用一对匹配的密钥进行加密、解密,具有两个密钥, 一个是公钥一个是私钥,
它们具有这种性质每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,
一把用于加密时,则另一把就用于解密。用公钥加密的文件只能用私钥解密,而私钥加密的 文件只能用公钥解密。
随着信息安全的发展,智能密钥装置、智能卡等信息安全设备开始广泛的应用与安全领 域,人们对信息安全设备的报文传输功能安全性要求更加严格。1978年电子产品小型化后, 智能卡的需求猛增,并逐渐普及。智能卡配备有CPU和RAM,可自行处理数量较多的数据 而不会干扰到主机CPU的工作。智能卡不但能够存储许多复杂的信息还能够独立处理大量数 据。智能卡根据装载芯片类型的不同、信息通讯方式的不同,又可以分为存储式卡片和微处 理器卡片以及接触式卡片、非接触式卡片和双界面卡片。 一般的,对于应用于PKI应用的智 能卡,都带有硬件真随机数发生器、RSA协处理器,可以硬件实现RSA的运算。另外,还具 有DES和SHA-1等密码算法,保证在硬件内部产生密钥对,并在硬件内部完成加、解密运 算。从智能卡硬件的安全特性看,在芯片设计制造中考虑了多种安全措施,如防止他人修改 数据等;在芯片的操作系统(COS)的设计上、在智能卡数据通信上都采取了各种不同的安 全措施。USBKey也是一种配备有CPU和RAM的智能芯片,它也具有存储功能,不同的是 它可以用USB 口进行数据交换,使用起来更加方便。
现阶段,绝大多数报文传输系统采用的都是采用在智能卡等接收设备中内置密钥的方法, 这种方法就是信息发送方和接收设备在报文传输之前协商好一个固定的密钥,信息发送方在 发送报文前使用密钥对报文进行加密形成密文再发送,接收设备接收后再使用密钥进行解密 得到明文,通过这样的方法来保证报文传输的保密性。尽管解密工作在智能芯片内部进行, 但是如果信息发送方的密钥意外泄露,攻击者还是可以对报文破解。另外,在信息接收设备 生产时不可能只生产一个,如果其中一个设备的密钥泄露,那么其他设备的安全性也将不存 在。
综上所述,目前的报文传输技术仍然存在缺陷,如果造成密钥泄露,用户传输的数据将 木再保密。
发明内容
鉴于现有技术的不足,本发明提供了一种安全报文传输系统和方法,具体实现过程如下
一种安全报文传输系统,其特征在于,所述系统包括主机和接收设备,所述主机包括 接口模块,所述接收设备包括随机数缓冲模块、随机数生成模块、第一处理模块、第二处理 模块、第三处理模块、第一存储模块、第二存储模块、第三存储模块、密钥生成模块。
所述接口模块,用于所述主机和所述接收设备之间的通讯和指令传递。
—所述随机数缓冲模块,用于存储所述随机数生成模块生成的随机数;所述随机数生成模块,用于生成一个随机数;
所述第一处理模块,用于响应所述主机的指令,查找密钥、随机数,主机与接收设备之间 密钥、随机数、密文的传递;
所述第二处理模块,用于对所述主机发送的密文进行解密操作;
所述第三处理模块,用于对所述主机发送的报文进行去扰操作;
所述第一存储模块,用于存储所述密钥生成模块生成的密钥对;
'所述第二存储模块,用于存储所述主机发送的报文;
所述第三存储模块,用于存储去扰操作后的报文;
优选的,所述接收设备为USB Key或智能卡设备。
相应地,所述接口模块为USB接口模块,所述接收设备与所述主机通过USB接口进行连 接,或,
所述接口模块为智能卡接口模块,所述智能卡接口模块包括接触式模块、非接触式模块。
优选的,所述随机数缓冲模块、随机数生成模块、第一处理模块、第二处理模块、第三处 理模块、第一存储模块、第二存储模块、第三存储模块、密钥生成模块集成在一个芯片中, 所述芯片为安全设计芯片,所述安全设计芯片包括智能卡芯片。
一种安全报文传输方法,包括如下步骤
主机向接收设备发送指令,所述接收设备判断指令类型,如果是获取随机数指令,则所 述接收设备生成随机数,将所述随机数保存到随机数缓冲区,并将所述随机数返回给所述主 机;
如果是获取第一密钥指令,则所述接收设备生成密钥对并将第一密钥返回给所述主机;
若果是其他指令,则所述接收设备判所述断随机数和所述密钥对是否都存在,如果都存 在,则所述接收设备利用第二密钥对所述主机发送的报文信息进行解密,得到明文形式的报 文信息,所述接收设备解析所述报文信息,执行指令,否则返回错误信息。
优选的,所述其他指令包括除了获取随机数指令和获取第一密钥指令之外的其他指令,或 数据信息。
优选的,所述主机与所述接收设备进行数据通信前,还包括所述接收设备自动清空随机
数缓冲区。
优选的,所述随机数由所述接收设备通过内置算法生成,所述随机数为八位随机数。
优选的,所述接收设备接收到所述主机发送的获取第一密钥指令,所述接收设备判断密钥 对是否存在,如果不存在,则所述接收设备生成密钥对,并将所述第一密钥返回给所述主机, 如果存在,则所述接收设备将所述第一密钥返回给所述主机。
优选的,所述密钥对还可以是在所述接收设备初始化时写入或生成。
优选的,所述主机利用所述随机数对所述经过加密后的报文信息进行加扰;
相应地,所述接收设备利用所述随机数对所述接收到的报文信息进行去扰,并利用所述第 二密钥对所述去扰后的报文信息进行解密。
优选的,所述主机利用所述第一密钥对所述经过加扰后的报文进行加密;
相应地,所述接收设备利用所述第二密钥对所述接收到的报文信息进行解密,并利用所述 随机数对所述解密后的报文信息进行去扰。
优选的,所述接收设备解析所述报文信息前,还包括所述接收设备自动清空随机数缓冲区。
优选的,所述加扰操作包括对所述报文进行异或处理。 优选的,所述密钥对为非对称密钥;
相应地,所述第一密钥为所述接收设备的公钥,所述第二密钥为所述接收设备的私钥; 相应地,所述密钥生成算法包括RSA算法、DES算法、ECC算法。 优选的,所述接收设备可以是USBKey、智能卡等。 与现有技术相比,本发明的有益效果是-
1) 本发明使用非对称密钥,在主机端使用公钥对报文进行加密,即使造成主机公钥的 泄露,也不会影响整个报文传输的保护机制;
2) 密文解密工作在芯片内部完成,私钥只在接收设备内部出现,接收设备中智能芯片 对私钥能进行良好的保护;
3) 本发明使用的非对称密钥动态生成,不同的接收设备中使用不同的密钥,不会因为 一个接收设备密钥的泄露而影响其他设备的安全性。
图1为本发明具体实施例中一种安全报文传输系统框图; 图2为本发明具体实施例中一种安全报文传输方法框图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
以下实施例中说明了在本发明的技术支持下,主机向接收设备发送一条密文指令,接收 设备接收解密并进行处理后得到明文指令的过程。明文指令是机器可以直接识别的指令,密 文指令为了达到保密的作用而对明文指令进行特殊处理和加密操作得到的指令。以下的实施
例中,接收设备以USBKey为例说明。 实施例l
本实施例提供了一种安全报文传输系统,包括主机l和USBKey2,主机1包括USB 接口模块ll; USBKey2包括指令处理模块21、随机数缓冲模块22、随机数生成模块23、 密钥存储模块24、密钥生成模块25、密文存储模块26、解密模块27、去扰操作处理模块28、 明文存储模块29。
在主机l中,
USB接口模块11,用于主机1和USB Key2之间的通讯及指令传递。 在USB Key装置2中,
指令处理模块21,用于响应主机1的指令,査找密钥、随机数,主机1与USB Key 2 之间密钥、随机数、密文的传递;
随机数缓冲模块22,用于存储随机数生成模块23生成的随机数;
. 随机数生成模块23,用于生成一个随机数并将随机数传送给随机数缓冲模块22;
密钥存储模块24,用于存储密钥生成模块25生成的密钥;
密钥生成模块25,用于生成非对称密钥对并传送给密钥存储模块24;
密文存储模块26,用于存储主机1发送给USB Key 2的密文;
解密模块27,用于对密文存储模块26中存储的密文进行解密操作,利用第一存储模块 24中存储的私钥对密文存储存储模块26中存储的密文进行解密操作;
去扰操作处理模块28,用于将解密模块27中解密后的信息进行去扰操作,利用随机数 缓冲模块22中存储的随机数对解密模块27中解密后的信息进行去扰操作;
明文存储模块29,用于存储明文,即在去扰操作处理模块28进行去扰操作后得到的报文。
实施例2
如图2所示,本实施例提供了一种安全报文传输方法,包括如下步骤-步骤201 , USB Key与主机建立连接,USB Key初始化清空随机数缓冲区; 步骤202, USBKey等待主机下发指令;
步骤203, USBKey判断主机发出的指令类型,如果是获取随机数指令,执行步骤204, 如果是获取RSA公钥指令,执行步骤206,如果是其他指令,执行步骤209;
在本实施例步骤203中,其他指令可以是交易指令、获取数字证书指令等除了获取随机 数指令、获取RSA公钥指令之外主机向USB Key发送的指令和信息,在本实施例中,其他 指令以验证PIN码指令为例进行说明。
在本实施例中,主机发送给USB Key的其他指令是经过主机加扰和加密操作后的密文指 令,USBKey在未进行处理前是不能识别和执行的。其他指令的加扰和加密过程是在主机内 完成的,这个加扰和加密的过程与本实施例下面将要叙述的过程是逆过程,主机先利用本实 施例步骤205中USB Key返回给主机的随机数对将要发送给USB Key的指令进行加扰操作 (可以进行异或处理,但是不局限于这一种方法),再利用步骤207中USB Key返回给主机 的公钥进行加密,得到加密后的指令并传送给USBKey,以下步骤是USB Key对主机发送的 其他指令进行解密和后续处理的过程。
步骤204, USB Key生成随机数并将生成的随机数保存在随机数缓冲区;
在本实施例步骤204中,USBKey生成的随机数可以是八位的,但并不局限于八位。
步骤205, USB Key将生成的随机数返回给主机,返回步骤202,等待主机下发新的指
令
在本实施例步骤205中,USBKey每次返回的随机数不同,目的是防止攻击者的重复攻 击,重复攻击是攻击者对主机和接收设备之间通讯的信息进行截取并二次利用截取到的信息 进行欺骗操作。USBKey将生成的随机数返回给主机,是为了实现主机对明文指令进行随机 数处理即加扰操作的过程。
步骤206, USB key检査密钥存储区是否存在密钥,如果密钥存储区存在密钥,执行步 骤207,如果密钥存储区不存在密钥,执行步骤208;
步骤207,将RSA公钥发送给主机,返回步骤202,等待主机下发新的指令;
在本实施例步骤207中,RSA密钥对的产生可以是USB Key初始化时生成或写入,也 可以主机下发获取密钥匙指令时生成。
步骤208, USB Key生成RSA密钥对,执行步骤207;
在本实施例步骤208中,USB Key生成的密钥为RSA非对称密钥对,密钥对包括公钥 和私钥,其中公钥发送给主机,用于实现主机对指令的加密过程,私钥存储在USBKey中, 用于实现USB Key对主机发送的密文指令进行解密操作。
步骤209,读取随机数缓冲区和密钥存储区,如所述果随机数缓冲区为空,执行步骤210, 如果密钥存储区为空,执行步骤210,如果随机数缓冲区和密钥存储区都不为空,执行步骤
211;
步骤210, USBKey的随机数缓冲区为空,USB Key无法读取随机数,不能对主机发送 给USBKey的其他指令进行去扰操作,USBKey返回错误,无法执行主机发送的其他指令; USB Key的密钥存储区为空,USB Key无法读取私钥,不能对主机发送给USB Key的其他指 令进行解密,USBKey返回错误;
步骤211, USBKey的随机数缓冲区和密钥存储区都不为空,USB Key读取随机数和私 钥,USB Key使用私钥对主机传送的的验证PIN码的指令进行解密;
步骤212, USB Key使用步骤209中读取的随机数对解密后的指令进行去扰操作,得到 明文形式的验证PIN码的指令;
歩骤213, USBKey清空随机数缓冲区;
步骤214, USB Key解析步骤212中得到的验证PIN码指令,根据解析结果进行操作并 返回步骤202,等待主机下发新的指令。
以上对本发明所提供的一种安全报文传输系统及方法进行了详细介绍,本文中应用了具 体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明 的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施 方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种安全报文传输系统,其特征在于,所述系统包括主机和接收设备,所述主机包括接口模块,所述接收设备包括随机数缓冲模块、随机数生成模块、第一处理模块、第二处理模块、第三处理模块、第一存储模块、第二存储模块、第三存储模块、密钥生成模块。所述接口模块,用于所述主机和所述接收设备之间的通讯和指令传递。所述随机数缓冲模块,用于存储所述随机数生成模块生成的随机数;所述随机数生成模块,用于生成一个随机数;所述第一处理模块,用于响应所述主机的指令,查找密钥、随机数,主机与接收设备之间密钥、随机数、密文的传递;所述第二处理模块,用于对所述主机发送的密文进行解密操作;所述第三处理模块,用于对所述主机发送的报文进行去扰操作;所述第一存储模块,用于存储所述密钥生成模块生成的密钥对;所述第二存储模块,用于存储所述主机发送的报文;所述第三存储模块,用于存储去扰操作后的报文。
2、 如权利要求1所述的系统,其特征在于,所述接收设备为USBKey或智能卡设备;相应地,所述接口模块为USB接口模块,所述接收设备与所述主机通过USB接口进行连 接,或,所述接口模块为智能卡接口模块,所述智能卡接口模块包括接触式模块、非接触式模块。
3、 如权利要求l所述的系统,其特征在于,所述随机数缓冲模块、随机数生成模块、第 一处理模块、第二处理模块、第三处理模块、第一存储模块、第二存储模块、第三存储模块、 密钥生成模块集成在一个芯片中,所述芯片为安全设计芯片,所述安全设计芯片包括智能卡 心片。
4、 一种安全报文传输方法,包括如下步骤主机向接收设备发送指令,所述接收设备判断指令类型,如果是获取随机数指令,则所 述接收设备生成随机数,将所述随机数保存到随机数缓冲区,并将所述随机数返回给所述主 机;如果是获取第一密钥指令,则所述接收设备生成密钥对并将第一密钥返回给所述主机; 若果是其他指令,则所述接收设备判断所述随机数和所述密钥对是否都存在,如果都存 在,则所述接收设备利用第二密钥对所述主机发送的报文信息进行解密,得到明文形式的报 文信息,所述接收设备解析所述报文信息,执行指令,否则返回错误信息。
5、 如权利要求4所述的方法,其特征在于,所述其他指令包括除了获取随机数指令和获 取第一密钥指令之外的其他指令,或数据信息。
6、 如权利要求4所述的方法,其特征在于,所述主机与所述接收设备进行数据通信前, 还包括所述接收设备自动清空随机数缓冲区。
7、 如权利要求4所述的方法,其特征在于,所述随机数由所述接收设备通过内置算法生成,所述随机数为八位随机数。
8、 如权利要求4所述的方法,其特征在于,还可以为所述接收设备接收到所述主机发送的获取第一密钥指令,所述接收设备判断密钥对是否存在,如果不存在,则所述接收设备 生成密钥对,并将所述第一密钥返回给所述主机,如果存在,则所述接收设备将所述第一密 钥返回给所述主机。
9、如权利要求4所述的方法,其特征在于,所述密钥对还可以是在所述接收设备初始化 时写入或生成。
10、 如权利要求4所述的方法,其特征在于,所述主机利用所述随机数对所述经过加密后 的报文信息进行加扰;相应地,所述接收设备利用所述随机数对所述接收到的报文信息进行去扰,并利用所述第 二密钥对所述去扰后的报文信息进行解密。
11、 如权利要求4所述的方法,其特征在于,所述主机利用所述第一密钥对所述经过加扰 后的报文进行加密; 相应地,所述接收设备利用所述第二密钥对所述接收到的报文信息进行解密,并利用所述 随机数对所述解密后的报文信息进行去扰。
12、 如权利要求4所述的方法,其特征在于,所述接收设备解析所述报文信息前,还包括: 所述接收设备自动清空随机数缓冲区。
13、 如权利要求ll所述的方法,其特征在于,所述加扰操作包括对所述报文进行异或处理。
14、 如权利要求4所述的方法,其特征在于,所述密钥对为非对称密钥; 相应地,所述第一密钥为所述接收设备的公钥,所述第二密钥为所述接收设备的私钥; 相应地,所述密钥生成算法包括RSA算法、DES算法、ECC算法。
全文摘要
本发明公开了一种安全报文传输系统和方法,属于信息安全领域。方法包括主机向接收设备发送指令,所述接收设备判断指令类型,根据指令类型分别执行生成随机数操作、生成密钥对操作、对密文进行解密、去扰、解析等操作。所述系统包括主机和接收设备,所述主机包括接口模块,所述接收设备包括随机数缓冲模块、随机数生成模块、第一处理模块、第二处理模块、第三处理模块、第一存储模块、第二存储模块、第三存储模块、密钥生成模块。利用本发明提供的系统和方法即使造成主机公钥的泄露,也不会影响整个报文传输的保护机制,不会因为一个接收设备密钥的泄露而影响其他设备的安全性。
文档编号H04L29/06GK101394411SQ20081022647
公开日2009年3月25日 申请日期2008年11月12日 优先权日2008年11月12日
发明者于华章, 舟 陆 申请人:北京飞天诚信科技有限公司