一种可信支付计算机系统 【技术领域】
本发明涉及信息安全技术领域,特别是可信支付计算机系统。
背景技术
随着电子支付产业的蓬勃发展,为了确保电子支付的安全性,很多的安全措施已被应用到各个支付环节中。账户加口令方式是最简单,也是安全性最低的方式。网络钓鱼、假冒网站、诈骗短信等方式很容易使用户的账户和口令被骗取。键盘嗅探器通过记录用户击键事件,可以盗取用户的用户名和口令。为了防止上述攻击,诞生了浏览器安全控件和软键盘技术,但不断发展的rootkit攻击技术还是可以击破这种防御措施。数字证书技术是目前安全性最高的一种身份认证技术,但是数字证书系统中非对称公私钥的机密存储问题还没有得到很好的解决。
现有技术的可信计算技术采用“白名单”方式,只有被信任的软件才能在客户端计算机中运行,通过这种方式可以确保计算环境的可信性。在电子支付过程中,通常需要输入用户的账号和密码。由于输入的账号和密码在支付终端计算机中是以明文出现,非常容易遭到安全攻击。而且,由于用户经常性地要输入很长的数字串,容易出错,这使得电子支付服务的易用性降低,不方便用户使用。
【发明内容】
为了解决上述现有技术中存在的问题,本发明的目的是提供一种可信支付计算机系统。它方便易用,能可靠保证整个可信支付业务的安全性。
为了达到上述发明目的,本发明的技术方案以如下方式实现:
一种可信支付计算机系统,它包括依次相连的输入设备、可信计算机主机、输出设备以及通过USB-HID接口与可信计算机主机相互连接的可信刷卡设备。所述输入设备为键盘和鼠标,输出设备为显示器。其结构特点是,所述可信计算机主机内嵌入TCM芯片作为可信度量根、可信报告根和可信存储根。可信计算机主机内部的可信度量系统逐级度量TCM——可信BIOS——MBR——OS Kernel和可信监控程序——PE文件的完整性。可信计算机主机上安装的软件系统中包含TCM管理程序、可信刷卡设备管理程序和支付交易管理程序。
在上述可信支付计算机系统中,所述可信刷卡设备以单独的USB设备以USB-HID协议方式与可信计算机主机相连或者与PC键盘整合并行接入USB-HUB后以USB-HID协议方式与可信计算机主机相连。
在上述可信支付计算机系统中,所述TCM管理程序实现TCM初始化、Owner口令修改、备份与恢复、可信计算机主机平台身份标识和密钥管理的功能。
在上述可信支付计算机系统中,所述支付交易管理程序负责管理和协调整个电子支付交易过程。
在上述可信支付计算机系统中,所述可信刷卡设备包括组件:
处理器,负责算术和逻辑运算,为可信刷卡设备中软件的运行提供运算支持;
存储单元,负责存储程序Firmware和数据,程序Firmware负责实现软件功能;
存储管理保护单元,实现对存储单元的空间分配和访问控制;
随机数发生器,生成符合国家密码管理局标准的真随机数;
ECC引擎,符合国家密码管理局的ECC标准,实现系统参数、密钥对生成、数字签名算法、密钥交换协议和加密算法;
银行卡读卡器,读取银行卡磁道信息;
小键盘,为用户向可信刷卡设备输入数字提供输入接口;
液晶屏,以字符输出方式向用户提供提示信息;
语音提示模块,以语音输出方式向用户提供提示信息;
USB控制器,组织内部数据以USB信号方式提供给外部设备,并将外部输入的USB信号转化为可信刷卡设备内部可以处理的信号;
可信刷卡设备的各组件之间通过总线相互通信。
在上述可信支付计算机系统中,所述处理器采用标准8051核或兼容8051的指令集。
在上述可信支付计算机系统中,所述存储单元中存储的数据是临时数据或者是永久存储的数据,存储单元中的程序和数据均以加密方式存储。
本发明由于采用了上述结构,通过使用可信刷卡设备,用户可以以刷卡操作来代替手工输入账号,易用性增强。从可信刷卡设备中输入的银行卡账号和密码以密文的方式进入可信计算机主机并被转发到电子支付系统中的远程服务器端,使得主机中的恶意软件无法获得用户的银行卡账号和密码的明文信息。同时,可信刷卡设备和可信计算机主机之间通过相互认证,可以防止恶意软件和用户伪造或篡改可信刷卡设备,进一步确保整个可信支付计算机系统的安全性。本发明可防止简单能量分析SPA(Simple Power Analysis)和差分能量分析DPA(Differential Power Analysis)攻击。
下面结合附图和具体实施方式对本发明作进一步说明。
【附图说明】
图1是本发明可信刷卡设备直接与可信PC主机相连的可信支付计算机系统结构示意图;
图2是本发明集成可信刷卡设备的PC键盘与可信PC主机相连的可信支付计算机系统结构示意图;
图3是本发明可信度量系统的工作原理图;
图4是本发明可信刷卡设备的结构示意图;
图5为本发明的应用方式流程图。
【具体实施方式】
参看图1至图4,本发明包括依次相连的输入设备、可信计算机主机、输出设备以及通过USB-HID接口与可信计算机主机相互连接的可信刷卡设备。输入设备为键盘和鼠标,输出设备为显示器。可信刷卡设备以单独的USB设备以USB-HID协议方式与可信计算机主机相连或者与PC键盘整合并行接入USB-HUB后以USB-HID协议方式与可信计算机主机相连。可信计算机主机内嵌入TCM芯片作为可信度量根、可信报告根和可信存储根,可信计算机主机内部的可信度量系统逐级度量TCM——可信BIOS——MBR——OS Kernel和可信监控程序——PE文件的完整性。可信计算机主机上安装的软件系统中包含TCM管理程序、可信刷卡设备管理程序和支付交易管理程序。
TCM管理程序主要实现TCM初始化、Owner口令修改、备份与恢复、可信计算机主机平台身份标识和密钥管理等功能。对于可信计算机主机平台身份标识功能,主要由下述操作完成。
(1)TCM内部生成一对ECC(Elliptic curve cryptography,椭圆曲线密码算法)公私钥对(ECC算法即为《可信计算密码支撑平台功能与接口规范》中所述及的SM2算法,以下同),其中ECC私钥置于TCM芯片内部进行加密保护,ECC公钥交由可信第三方签署平台身份数字证书,该平台身份数字证书对外表征此可信计算机主机平台的唯一性。
(2)平台身份数字证书导入TCM芯片内部进行加密保护,只有TCM Owner才有访问权限。
(3)在电子交易过程中,由主机向外传送的数据均由TCM进行数字签名,其它交易实体可通过验证此签名来信任所接收到数据包是否由该主机发出。
由于ECC私钥、平台身份数字证书、数字签名过程等全部在TCM芯片内部完成,且TCM规范提供完善的存储保护和访问控制机制,使得恶意软件和用户无法伪造出一个与本机相同的新的主机系统。从而解决了可信计算机主机系统在电子交易过程中的身份唯一性问题,为电子交易地顺利进行奠定了坚实的基础。
在实际应用过程中,一个可信计算机主机平台可通过多个经由可信第三方签署的平台身份证书来表征自身的身份,这些平台身份数字证书均可对外表征可信计算机主机平台的唯一性。
支付交易管理程序负责管理和协调整个电子支付交易过程,完成下述主要功能:
(1)协调和管理TCM管理程序向国家CA(CertificateAuthority)机构请求数字证书服务,数字证书中的签名算法采用符合国家密码管理局标准的ECC算法。
(2)协调和管理可信刷卡设备管理程序向国家CA(CertificateAuthority)机构请求数字证书服务,数字证书中的签名算法采用符合国家密码管理局标准的ECC算法。
(3)调度TCM管理程序和可信刷卡设备管理程序,以数字证书方式,实现TCM和可信刷卡设备的双向认证,并向用户反馈认证结果。
(4)负责在可信支付计算机系统和网上电子支付系统远程服务器端建立SSL(Secure Sockets Layer)安全通信信道,在SSL中,非对称算法采用符合国家密码管理局标准的ECC算法,对称算法采用符合国家密码管理局标准的SMS4算法。
(5)在电子支付过程中的某个环节,通知可信刷卡设备管理程序完成用户刷卡、用户输入密码等操作,接收从可信刷卡设备管理程序输入的对卡号和密码进行加密和签名过的数据报文,并经该数据报文和其它交易信息转发给TCM管理程序。
(6)TCM对上述报文和其它交易信息进行数字签名,并将签名后的数据输送给支付交易管理程序。
(7)支付交易管理程序将上述数据通过已建立的SSL通道传送给网上电子支付系统远程服务器端。
整个可信度量系统的运行包含下述内容:
(1)计算机启动或复位时,TCM芯片自检。若自检不通过,系统终止运行。自检通过,转入步骤(2)。
(2)TCM对可信BIOS的完整行进行度量,并将度量值与上一次系统正常运行时保存在PCR(Platform Configuration Register,平台配置寄存器)中的度量值进行比对,若比对结果为不一致,则提示用户,由用户决定是否继续运行。若比对结果为两者一致,则转入步骤(3)。若系统是第一次进行初始化,则将度量值写入PCR。
(3)可信BIOS对MBR(Master Boot Record,主引导记录)的完整性进行度量,并将度量值与上一次系统正常运行时保存在PCR中的度量值进行比对,若比对结果为不一致,则提示用户,由用户决定是否继续运行。若比对结果为两者一致,系统继续引导,并将控制权提交至Trusted GRUB。若系统是第一次进行初始化,则将度量值写入PCR。
(4)Trusted GRUB对OS Kernel(Operating System Kernel,操作系统内核)的完整性进行度量,并将度量值与上一次系统正常运行时保存在PCR中的度量值进行比对,若比对结果为不一致,则提示用户,由用户决定是否继续运行。同时,Trusted GRUB还对可信监控程序及其附属的文件摘要值数据库进行完整性度量,并将度量值与上一次系统正常运行时保存在PCR中的度量值进行比对,若比对结果为不一致,则提示用户,由用户决定是否继续运行。若上述两项度量均通过,系统控制权提交至OS Kernel。若系统是第一次进行初始化,则将两项度量值写入PCR。
(5)OS Kernel启动完成后,系统准备就绪,此时各种应用程序可以开始运行。每项程序运行前,可信监控程序对该程序的PE文件进行完整性度量,并将度量值与文件摘要值数据库中的相应表项进行比对。若比对结果为一致,则该项应用程序启动运行。若比对结果为不一致,则提示用户,由用户决定是否继续运行该程序。若程序第一次运行,可行监控程序对该程序的PE文件进行完整性度量后写入文件摘要值数据库。
(6)TCM管理程序、可信刷卡设备管理程序和支付交易管理程序等均由可信监控程序实时监控。一旦这几个程序遭到非法篡改,可信监控程序会立即报警,提示用户进行相应操作,以确保整个支付交易过程的安全。
本发明的可信刷卡设备包括组件:
处理器,采用标准8051核或兼容8051的指令集,负责算术和逻辑运算,为可信刷卡设备中软件的运行提供运算支持;
存储单元,负责存储程序Firmware和数据,程序Firmware负责实现软件功能;存储单元中存储的数据是临时数据或者是永久存储的数据,存储单元中的程序和数据均以加密方式存储;
存储管理保护单元,实现对存储单元的空间分配和访问控制;
随机数发生器,生成符合国家密码管理局标准的真随机数;
ECC引擎,符合国家密码管理局的ECC标准,实现系统参数、密钥对生成、数字签名算法、密钥交换协议和加密算法;
银行卡读卡器,读取银行卡磁道信息;
小键盘,为用户向可信刷卡设备输入数字提供输入接口;
液晶屏,以字符输出方式向用户提供提示信息;
语音提示模块,以语音输出方式向用户提供提示信息;
USB控制器,组织内部数据以USB信号方式提供给外部设备,并将外部输入的USB信号转化为可信刷卡设备内部可以处理的信号;
可信刷卡设备的各组件之间通过总线相互通信。
参看图5,可信刷卡设备与可信刷卡设备管理程序相配合,其应用方法步骤为:
(1)可信刷卡设备初始化时,内部生成ECC密钥对,该密钥对中的私钥保存于存储单元并受安全保护,公钥通过支付交易管理程序输出至可信第三方。
(2)可信第三方根据(1)中生成的公钥及该可信刷卡设备的其它相关信息(如可信刷卡设备的唯一硬件序列号等)制作数字证书,并将制作好的数字证书通过支付交易管理程序反馈给可信刷卡设备。
(3)可信刷卡设备导入可信第三方颁发的数字证书,并存储于存储单元。此数字证书用于向外部表征自己的身份。
(4)可信刷卡设备在使用过程中,可以输入外部实体(如可信计算机主机、网上电子支付系统服务器端)用来表征自身身份的数字证书,可以验证该数字证书的有效性,并能从该数字证书中提取出主体的公钥。
(5)用户进行刷卡操作时,银行卡的磁道信息被获取,该磁道信息使用表征第三方交易实体(如网上电子支付系统服务器端、中国银联支付接入前置服务器等)身份的数字证书中的公钥进行ECC加密,并用可信刷卡设备的私钥进行ECC签名,签名完成后的信息被输送到可信计算机主机。
(6)用户通过小键盘输入银行卡密码时,液晶屏显示“*”号,可信舒卡设备读取密码,该密码使用表征第三方交易实体(如网上电子支付系统服务器端、中国银联支付接入前置服务器等)身份的数字证书中的公钥进行ECC加密,并用可信刷卡设备的私钥进行ECC签名,签名结果以USB-HID信号输送到可信PC主机。
(7)可信PC主机将经过可信刷卡设备加密和签名的银行卡账号和密码信息通过安全网络通道提交给银联服务器,银联服务器使用自身ECC私钥对以上信息进行解密,获得用户银行卡账号和密码;
(8)银联服务器接着对用户账户进行余额查询、扣款等操作,并将操作结果反馈给可信PC主机;
(9)若扣款等操作成功,可信PC将扣款金额等信息反馈给可信刷卡设备,并在液晶屏上显示,结束操作。