信息安全输入处理系统和方法以及智能卡的制作方法

文档序号:7698649阅读:126来源:国知局

专利名称::信息安全输入处理系统和方法以及智能卡的制作方法
技术领域
:本发明涉及信息安全技术,特别涉及信息安全输入处理系统、信息安全输入处理方法、以及智能卡和拥护信息安全输入的装置。
背景技术
:互联网技术飞速发展,网上交易已经深入到日常生活与工作中,其中最具有代表性的就是“网上银行”与“电子商务”的应用。以“网上银行”为例,其作为一种用户服务提交渠道,使得用户无论在家里、办公室、还是在旅途中,都可以基于例如移动设备、PC机等客户端,并通过网络办理包括查询、转账、缴费等各种银行业务,管理自己的资产。但“网上银行”的安全性问题也日益突出地显现出来,用户在客户端输入的例如帐号等用户识别码、以及密码等资料,在通过网络传输至网银服务器的交易过程中极易被盗,从而会侵害用户的利益,这不仅直接影响到网上交易的信誉,也对网上交易发展产生不利的负面影响。例如,木马病毒可以盗取网上银行等系统的交易账户号和密码,同时,在中毒电脑中安装某种木马,黑客通过木马可以进一步远程控制中毒电脑,窃取电脑中所有文件,包括网上银行数字证书,即使网上银行用户使用了数字证书,也难保网上银行资金安全。现有技术可使用“动态密码”或“签名信息”进行网银身份保护,但遭遇病毒和黑客的攻击时,一旦用户输入“动态密码”或“签名信息”并通过网络传送,位于用户与网银服务器通信通道间的黑客便可通过键盘监听、内存读取等方式将其截获,使用户无法完成登录,并造成网络连接断开、连接超时等假象;另一方面黑客利用截获的“动态密码”或“签名信息”假冒用户登录到网银,肆意作案,使用户蒙受损失。USBKey数字证书身份认证是借助一种基于USB接口称为USBkey的硬件设备来完成的,是近几年发展起来的一种身份认证技术。USBKey采用内置单片机或智能卡芯片,存储用户的基于公钥基础设施(PublicKeylnfrastructure,PKI)构架的数字证书。数字证书是由可信任的第三方认证机构颁发的一组包含例如密钥等用户身份信息的数据结构,PKI体系通过采用密码学算法构建了一套完善的流程来保证数字证书的持有人的身份和数据安全。数字证书身份认证原理是被认证者产生一段文字信息然后对这段文字信息进行单向不可逆的变换。被认证者再用自己的秘密密钥对生成的文字变换进行加密,并将原始的文字信息和加密后的文字变换结果传送给指定的接收者。这段经过加密的文字变换结果就被称作数字签名。文字信息和加密后的文字变换的接收者将收到的文字信息进行同样的单向不可逆变换,同时也用被认证者的公开密钥对加密的文字变换进行解密。如果解密后的文字变换和接收者自身产生的文字变换一致,接收者就可以相信被认证者的身份,因为只有被认证者的密钥才能够产生加密后的文字变换。然而,数字证书本身也是一种数字身份,还是存在被非法复制的危险,于是,USBKey作为数字证书存储介质增加了很多自毁措施,在受到破解的时候自动毁灭所存储的数字证书。而且PKI体系的一些安全措施,使得USBKey可以保证用户数字证书无法被复制。另外,根据使用数字证书进行身份认证的原理可以看出,不管是签名的信息还是证书,当在网络中传输时,仍然有被截获的可能,从而遭到重传攻击,如果每次的签名不同就可以阻止重传攻击,但是仍然无法阻止每一次认证中的中间人攻击。假设通信链路使用加密信道,如使用SSL协议保护,可以阻止网络截获签名信息或数字证书,但仍然无法阻止每一次中的连接劫持攻击。例如当浏览器向httpS://XXX.com的连接时,该证书会在SSL握手期间进行交换。证书中保存的公钥就被用于会话的加密。连接时如果客户没有这个认证中心(CA)的公钥,浏览器就会提示用户接受还是拒绝这个证书。这对于交互式的客户程序是必须的,不过事实上对于太多的站点发行的证书,客户并没有相应的公钥来检查证书的合法性,对于例如浏览器等普通的交互式客户程序,在这种情况下就可能造成使SSL连接失去意义。使用交互式客户程序登陆网络的用户无法知道是否遭到连接劫持攻击,因为这些用户无法分辨使用未知CA的提示信息是否是真实的、或者是自己遭到了连接劫持攻击。而且,即使用户之前曾浏览过该站点并保存了该网站的数字证书,也仍然可能被攻击者得逞。另外,由于目前的攻击技术能很容易地突破SSL协议,所以即使客户能够检查网站证书的合法性,在一次身份认证中仍会遭到类似连接劫持的攻击。可见,现有技术中通常使用USBKey作为载体,对网络银行用户身份进行认证和交易数据的加密、签名等,除上面受到的身份攻击外,在交易时还存在以下安全问题输入窗口存在交互操作安全漏洞,用户的输入为明文输入,输入数据易于被修改;USBKey无法防止数据被篡改,用户输入的业务数据在送入USBKey加密前,可能会被黑客拦截篡改,从而在用户不知情的情况下篡改交易;用户输入USBKey的PIN码容易被攻击者获得,从而可能获取用户的私钥信息或使用权;木马程序会容易地在内存获取并修改用户的业务交易数据。
发明内容有鉴于此,本发明提供了一种信息安全输入处理系统、一种智能卡、一种用于信息安全输入的装置、以及一种信息安全输入处理方法,能够提高信息交互的安全性。本发明提供的一种信息安全输入处理系统,包括供客户端呈现的伪键盘、以及随机序列恢复模块,其中,所述伪键盘中的各按键与该系统随机生成的各随机序列一一对映,用于被所述客户端调用、供用户在所述客户端输入与各按键对映的随机序列;所述随机序列恢复模块,用于按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。该系统进一步包括随机序列生成模块、随机序列映射模块、随机序列传输模块、以及承载所述伪键盘的伪键盘模块,其中,随机序列生成模块,用于在所述客户端中每次启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且每次启动业务程序时生成的随机序列完全不同;随机序列映射模块,用于建立所述生成的随机序列与所述伪键盘中各按键的一一对映关系;随机序列传输模块,用于将所述一一对映关系输出至伪键盘模块;伪键盘模块,用于根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;根据所述伪键盘呈现时输入的按键信息,将对映的随机序列经所述客户端输出至所述随机序列恢复模块。所述随机序列为多维随机序列。每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随机序列生成时间的时间戳。伪键盘模块、随机序列生成模块、随机序列映射模块、随机序列传输模块、随机序列恢复模块承载于智能卡中。随机序列生成模块、随机序列映射模块、随机序列传输模块、随机序列恢复模块承载于智能卡中;伪键盘模块则承载于所述客户端中;且,该系统进一步包括承载于所述客户端的安全交互模块,用于所述客户端与所述智能卡之间的安全传输。本发明提供的一种智能卡,包括供客户端呈现的伪键盘、以及随机序列恢复模块,其中,所述伪键盘中的各按键与该智能卡随机生成的各随机序列一一对映,用于被所述客户端调用、供用户在所述客户端输入与各按键对映的随机序列;所述随机序列恢复模块,用于按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。所述智能卡进一步包括随机序列生成模块、随机序列映射模块、随机序列传输模块、以及承载所述伪键盘的伪键盘模块,其中,随机序列生成模块,用于在所述客户端中每次启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且每次启动业务程序时生成的随机序列完全不同;随机序列映射模块,用于建立所述生成的随机序列与所述伪键盘中各按键的一一对映关系;随机序列传输模块,用于将所述一一对映关系输出至伪键盘模块;伪键盘模块,用于根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;根据所述伪键盘呈现时输入的按键信息,将对映的随机序列经由所述客户端输出至所述随机序列恢复模块;所述随机序列恢复模块进一步用于依据所述一一对映关系,将接收到的随机序列恢复为对映的按键信息。所述随机序列为多维随机序列。每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随即序列生成时间的时间戳。本发明提供的一种用于信息安全输入的装置,包括供客户端呈现的伪键盘、以及随机序列恢复模块,其中,所述伪键盘中的各按键与该智能卡随机生成的各随机序列一一对映,用于被所述客户端调用、供用户在所述客户端输入与各按键对映的随机序列;所述随机序列恢复模块,用于按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。该装置进一步包括随机序列生成模块、随机序列映射模块、随机序列传输模块、以及承载所述伪键盘的伪键盘模块,其中,随机序列生成模块,用于在所述客户端中每次启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且每次启动业务程序时生成的随机序列完全不同;随机序列映射模块,用于建立所述生成的随机序列与所述伪键盘中各按键的一一对映关系;随机序列传输模块,用于将所述一一对映关系输出至伪键盘模块;伪键盘模块,用于根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;根据所述伪键盘呈现时输入的按键信息,将对映的随机序列经所述客户端输出至所述随机序列恢复模块。所述随机序列为多维随机序列。每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随即序列生成时间的时间戳。本发明提供的一种信息安全输入处理方法,预设可被客户端调用的伪键盘,且该方法包括将所述伪键盘中的各按键与生成的随机序列一一对映,使得用户能够通过该伪键盘在所述客户端输入与各按键对映的随机序列;按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。该方法在接入至网络的客户端中启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且当前启动业务程序时生成的随机序列与前一次完全不同;该方法进一步建立与所述伪键盘中按键数量相同的随机序列、与所述伪键盘中各按键的一一对映关系;并根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;且该方法进一步根据所述一一对映关系执行所述将来自所述客户端的随机序列恢复为对映按键的按键信息。所述随机序列为多维随机序列。每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随即序列生成时间的时间戳。由上述技术方案可见,本发明提供能够在客户端呈现的伪键盘、该伪键盘中的各按键与该系统生成的随机序列一一对映,在该伪键盘被所述客户端调用后,用户能够通过该伪键盘在客户端输入与各按键对映的随机序列,然后再将来自客户端的随机序列恢复为对映的按键信息,从而具有如下功能1)、无需按照现有在输入窗口直接输入信息的输入方式,因而能够避免现有输入窗口所存在的安全漏洞,从而避免输入信息被修改;2)、用户通过客户端的伪键盘输入的任何信息均体现为对映的随机序列、而非该信息本身的明文,实现了输入信息的非真实性,能够避免木马等病毒程序在客户端的内存中获取随机序列,而无法获取到用户在客户端输入的信息,从而避免客户端输入的信息在内存中被修改;3)、客户端输出的是对映的随机序列、而非信息本身的明文,即便能够拦截随机序列,但由于无法获知按键与随机序列的一一对映关系,因而能够避免信息被截获修改。可见,本发明能够提高信息交互的安全性。本发明中的技术方案可基于软件在例如智能卡等任意设备中实现,因而具有较高的兼容性、实用性等效果。图1为本发明中信息安全输入处理系统的一种示例性结构图;图2为本发明中信息安全输入处理系统所涉及的伪键盘实例的示意图;图3为本发明系统实施例一中信息安全输入处理系统的结构示意图;图4为本发明系统实施例二中信息安全输入处理系统的结构示意图;图5为本发明中信息安全输入处理方法的一种示例性流程图;图6为本发明方法实施例一中信息安全输入处理方法的流程示意图;图7为本发明方法实施例二中信息安全输入处理方法的流程示意图。具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本发明中设置一具有若干按键的伪键盘,该伪键盘中的各按键与随机生成的随机序列一一对映,用于被所述客户端调用、以实现在客户端输入与各按键对映的随机序列。伪键盘可以是能够在客户端呈现的软键盘,也可以是针对各种物理键盘的后台程序,还可以为其他任意方式。本发明还在客户端中,将用户通过伪键盘输入的任何按键信息均体现为对映的随机序列、而非该按键信息本身的明文,即实现输入信息的非真实性,即使木马等病毒程序能够在客户端的内存中获取随机序列,但无法获取到用户输入的真实信息,从而避免客户端输入的信息在内存中被修改。本发明待客户端输出随机序列后,再将其还原为对映的按键信息,由于客户端输出的也仅仅是按键信息对映的随机序列、而非按键信息本身的明文,即便能够拦截到随机序列,但由于无法获知按键与随机序列的一一对映关系,因而能够避免信息被截获修改。图1为本发明中信息安全输入处理系统的一种示例性结构图。如图1所示,本发明中信息安全输入处理系统包括伪键盘模块110,该伪键盘模块110中承载有供客户端调用的伪键盘;该系统还包括随机序列生成模块111、随机序列映射模块112、随机序列传输模块113、以及随机序列恢复模块114。随机序列生成模块111,用于在客户端中每次启动例如浏览器等业务程序时,生成与伪键盘中按键数量相同的随机序列,且每次启动业务程序时生成的随机序列完全不同;生成随机序列的时机并不仅限于业务程序启动;随机序列映射模块112与随机序列生成模块111相连,用于建立随机序列生成模块111每次生成的随机序列与伪键盘中各按键的一一对映关系;随机序列传输模块113与随机序列映射模块112相连,用于将随机序列映射模块112每次建立的上述一一对映关系输出至伪键盘模块110;伪键盘模块110与随机序列传输模块113相连,用于根据随机序列传输模块113输出的上述一一对映关系配置内部承载的伪键盘,以供在客户端呈现;且,根据伪键盘在呈现时由各按键输入的按键信息,通过客户端的业务程序将对映的随机序列输出至随机序列恢复模块114、而非上述的按键信息本身,其中,可以按照按键信息的输入顺序,顺序输出对映的随机序列,也可以采用例如并行等其他非顺序方式输出;客户端业务程序的输入窗口中可同时显示用户通过伪键盘实际输入的信息,以便用户直观地获知其输入的按键信息是否正确;随机序列恢复模块114与伪键盘模块110和随机序列生成模块111相连,用于从随机序列恢复模块114读取伪键盘模块110配置伪键盘所依据的一一对映关系,并依据伪键盘模块110配置伪键盘所依据的一一对映关系,将接收到的随机序列恢复为对映的按键信息,即,将输入的随机序列转变为用户实际需要输入的信息。只要用户在客户端通过呈现的伪键盘所输入的按键信息,为当前启动的业务程序所需要的正确按键信息,则当随机序列恢复模块114恢复得到的按键信息与用户实际输入的按键信息一致时,即可保证该按键信息经被认证方的身份认证处理后,能够得到认证方的认可;当客户端输出的随机序列被截获并篡改后,随机序列恢复模块114恢复得到的按键信息就会与用户实际输入的按键信息不一致,此时,该按键信息经被认证方的身份认证处理后,是无法得到认证方认可的;当客户端输出的随机序列被截获并篡改后,由于篡改后的随机序列并非一一对映关系中包含的随机序列,因而随机序列恢复模块114无法恢复得到的按键信息,从而拒绝修改,并向客户端中的业务程序进一步返回错误提示。可见,上述系统能够提高信息交互的安全性。上述系统仅仅是一种实现方式,实际应用中也可通过其他方式来实现随机序列的生成、以及伪键盘中各按键与各随机序列的一一对映,在此不再一一列举。本发明为了进一步提高安全性,生成的每一个随机序列均可以为多维随机序列。其中,每个多维随机序列中至少包含至少两个随机数、且至少两个随机数由不同随机函数产生,除此之外,为了再进一步提高安全性,每个多维随机序列中还可进一步包含表示该多维随机序列生成时间的时间戳。参见图2,以伪键盘为包含10个数字按键的数字伪键盘、以及包含由不同随机函数产生的两个随机数和一个时间戳的多维随机序列为例。假设数字09所一一对映的多维随机序列表示为(i,j,k),其中,i、j为不同随机函数产生的随机数,i=Randomx,j=Randomy,Randomx和Randomy可以取不同的随机函数,也可以取部分相同的随机函数,每个随机数长度可以根据需要设定,如定义为20字节;k为时间戳,其格式可以包含年、月、日。即数字伪键盘中的任意数字键的按键信息a=(Randomx,Randomy,k),如(1234567890,0987654321,2008121212121212),ae;χ,ye。对于如图1所示的系统,客户端中的业务程序每次启动时,伪键盘模块110可根据随机序列生成模块111所产生的随机序列与数字伪键盘中各数字按键的一一对映关系,在伪键盘模块110内部设置如表1所示的映射关系表,并依据如表1所示的该映射关系表配置伪键盘、以实现将伪键盘中的各按键与随机序列的一一对映。<table>tableseeoriginaldocumentpage12</column></row><table>表1由于每次启动业务程序时生成的随机序列完全不同,因此,如表1所示的映射关系表中各随机数每次的取值也完全不同。随机序列传输模块113将随机序列映射模块112每次建立的上述一一对映关系输出至伪键盘模块110;伪键盘模块110则根据随机序列传输模块113最近一次输出的、即针对当前启动的业务程序所建立的一一对映关系配置内部承载的伪键盘,以供客户端调用。此后,随机序列恢复模块114可根据随机序列生成模块111所产生的随机序列与数字伪键盘中各数字按键的一一对映关系,在随机序列恢复模块114内部建立如表2所示的映射关系表,并在恢复多维随机序列时依据如表2所示的映射关系表。<table>tableseeoriginaldocumentpage13</column></row><table>表2用户可通过点击如图2所示的数字伪键盘的数字按键输入每个数字对映的随机序列(或称之为多维数组),基于如表2所示的映射关系表,随机序列恢复模块114即可将接收到的随机序列恢复为对映的数字按键信息。以上是对本发明中信息安全输入处理系统的总体说明,上述系统中的各功能模块可以全部承载于例如SIM卡、UIM卡、SD卡、或USBKey等智能卡中,或者,上述系统中的伪键盘模块承载于客户端、而其他功能模块承载于智能卡中。下面,以伪键盘为软件盘为例,针对两种实现方式进行进一步说明。系统实施例一图3为本发明系统实施例一中信息安全输入处理系统的结构示意图。如图3所示,伪键盘模块110、随机序列生成模块111、随机序列映射模块112、随机序列传输模块113、随机序列恢复模块114均承载于智能卡310中,且客户端320中包括伪键盘显示程序321、业务程序322、以及安全输入窗口323。在本实施例中,由于能够呈现伪键盘的伪键盘显示程序321、以及伪键盘模块110分别位于客户端320和智能卡310中,因此,本实施例中的伪键盘模块110需要进一步将其配置的伪键盘封装为应用程序包接口,供客户端320中的伪键盘显示程序321调用后能够呈现伪键盘。本实施例中各模块的处理过程和交互如下客户端320中的业务程序322启动,并向用户显示业务应用数据和操作交互界面,业务程序322还调用安全输入窗口323,以向智能卡中的随机序列恢复模块114输入待处理的业务数据。业务程序322可根据需求调用数个安全输入窗口323。客户端320中的伪键盘显示程序321在业务程序322启动时,通过智能卡310中的伪键盘应用模块110,向智能卡310中的随机序列生成模块111请求生成随机序列。智能卡310中的随机序列生成模块111接收到上述请求,获知客户端320中的业务程序322启动,并在保证每次启动业务程序时生成的随机序列完全不同的前提下,生成与伪键盘中按键数量相同的随机序列。智能卡310中的随机序列映射模块112建立随机序列生成模块111生成的随机序列与伪键盘中各按键的一一对映关系。智能卡310中的随机序列传输模块113将随机序列映射模块112建立的上述一一对映关系输出至智能卡310中的伪键盘模块110。智能卡310中的伪键盘模块110根据随机序列传输模块113输出的上述一一对映关系配置内部承载的伪键盘,即将每一按键与其对映的随机序列一一对映,然后将其配置的伪键盘封装为应用程序包接口。一一对映的方式既可以为设置如类似于表1所示的映射关系表,也可以为每个按键的按键信息设定传递函数,仍以如图2所示的数字伪键盘、以及前述多维随机序列为例,假设各数字按键的按键信息\=1^=0,1,2,3,4,5,6,7,8,9,对映的多维随机序列Rx=(ix,jx,k),则设定传递函数Ax=Ry,y=0,1,2,3,4,5,6,7,8,9。客户端320中的伪键盘显示程序321调用智能卡中的伪键盘并呈现。以数字伪键盘为例,伪键盘显示程序321呈献给用户09的输入形式,以便于用户的业务输入。本实施例只是将智能卡中的伪键盘封装后的结果呈献给用户,伪键盘中设定的各按键与随机序列的一一对映关系不会在伪键盘显示程序321调用,从而保证了一一对映关系的安全性。为了增加伪键盘的安全性,本实施例还可以对伪键盘显示程序321进行完整性签名,以防止攻击者对伪键盘显示程序321的分析攻击,每次运行时要首先对伪键盘显示程序321进行签名验证,验证是在智能卡中进行的,从而保证攻击者无法分析或修改随机伪键盘显示程序。用户使用伪键盘显示程序321呈现的伪键盘输入业务数据,用户可通过鼠标点击伪键盘上的按键来输入,当点击某一个按键时,其对映的随机序列就输入到安全输入窗口323中。仍以数字伪键盘为例,用户点击数字伪键盘上的09数字,输入对映的随机序列到安全输入窗口323,但在安全输入窗口323展示给用户的仍然是09的数字。输入至安全输入窗口323的随机序列通过业务程序322输出至智能卡310中的随机序列恢复模块114。智能卡310中的随机序列恢复模块114则依据伪键盘模块110配置伪键盘所依据的一一对映关系,将接收到的随机序列恢复为对映的按键信息,即用户输入的业务数据,以供智能卡310中的现有其他功能模块(图中未示出)进行后续处理。以数字伪键盘为例,随机序列恢复模块114根据随机序列与09数字的一一对映关系,将随机序列恢复成实际的09数字形式。系统实施例二图4为本发明系统实施例二中信息安全输入处理系统的结构示意图。如图4所示,在本实施例中,随机序列生成模块111、随机序列映射模块112、随机序列传输模块113、随机序列恢复模块114承载于智能卡410中,而伪键盘模块110则承载于客户端420中,且客户端420中还包括能够呈现伪键盘的伪键盘显示程序421、业务程序422、以及安全输入窗口423。伪键盘模块110与其他功能模块分别位于客户端420和智能卡410中,就需要在客户端420和智能卡410之间传输上述的一一对映关系、或各按键一一对映的随机序列。为了保证安全性,客户端420和智能卡410之间不能采用明文传输,因此,本实施例相比于实施例一,还需要进一步包括承载于客户端420的安全交互模块424,用于客户端420与智能卡410之间的安全传输。安全传输可以采用多种方式来实现,例如加解密处理、安全协议传输等方式,对于不同的安全传输方式,安全输入窗口423的连接关系也可随之不同。例如,随机序列传输模块113进一步将上述一一对映关系、或各按键一一对映的随机序列加密;安全交互模块则用于将加密后的一一对映关系、或各按键一一对映的随机序列解密后,再传送至伪键盘模块110,并将伪键盘模块110通过业务程序422输出的随机序列加密后再传送至随机序列恢复模块114;随机序列恢复模块114进一步用于对加密后的随机序列解密,然后恢复为对映的按键信息。对于其他安全传输方式,在此不再一一列举。以上述列举的这种安全传输方式为例,本实施例中各模块的处理过程和交互如下客户端420中的业务程序422启动,并向用户显示业务应用数据和操作交互界面,业务程序322还调用安全输入窗口423,以向智能卡中的随机序列恢复模块114输入待处理的业务数据。业务程序422可根据需求调用数个安全输入窗口423。客户端420中的伪键盘显示程序421在业务程序422启动时,通过客户端420中的伪键盘应用模块110,向智能卡410中的随机序列生成模块111请求生成随机序列。智能卡410中的随机序列生成模块111接收到上述请求,获知客户端420中的业务程序422启动,并在保证每次启动业务程序时生成的随机序列完全不同的前提下,生成与伪键盘中按键数量相同的随机序列。上述生成随机序列的过程可通过运行在智能卡安全区内的伪键盘算法来实现,仍以数字伪键盘为例,假设随机序列生成模块111每次收到安全交互程序的产生随机序列请求时,会产生与数字09一一对映的多维随机序列表示为(i,j,k),i、j为不同随机函数产生的随机数,i=Randomx、j=Randomy,k为时戳,则i0=Random01,j0=Random02I1=Random11,丄=Random12i2=Random21,j2=Random22i3=Random31,j3=Random32i4=Random41,j4=Random42i5=Random51,j5=Random52i6=Random61,j6=Random62i7=Random71,j7=Random72i8=Random81,j8=Random82i9=Random91,j9=Random92智能卡410中的随机序列映射模块112建立随机序列生成模块111生成的随机序列与伪键盘中各按键的一一对映关系。智能卡410中的随机序列传输模块113将上述一一对映关系或与各按键一一对映的随机序列加密后,输出至客户端420中的安全交互模块424。例如,随机序列传输模块113利用公钥算法加密。客户端420中的安全交互模块424进行解密后,传输至客户端420中的伪键盘模块110。客户端420中的伪键盘模块110将每一按键与其对映的随机序列一一对映,并与随机序列映射模块112中的一一对映关系保持一致。一一对映的方式既可以为设置如类似于表1所示的映射关系表,也可以为每个按键的按键信息设定传递函数,仍以如图2所示的数字伪键盘、以及前述多维随机序列为例,假设各数字按键的按键信息Ax=χ,χ=0,1,2,3,4,5,6,7,8,9,对映的多维随机序列Rx=(ix,jx,k),则设定传递函数Ax=Ry,y=0,1,2,3,4,5,6,7,8,9。为了增加伪键盘的安全性,本实施例还可以对伪键盘程序110进行完整性签名,以防止攻击者对伪键盘程序110的分析攻击,每次运行时要首先对伪键盘程序110进行签名验证,验证是在智能卡中进行的,从而保证攻击者无法分析或修改随机伪键盘显示程序,进而保证随即序列不会被利用。本实施例中,将随机序列加密后传送给安全交互模块424的同时,验证随机伪键盘模块110的签名。客户端420中的伪键盘显示程序421调用智能卡中的伪键盘,以数字伪键盘为例,伪键盘显示程序421呈献给用户09的输入形式,以便于用户的业务输入。用户使用伪键盘显示程序421呈现的伪键盘输入业务数据,用户可通过鼠标点击伪键盘上的按键来输入,当点击某一个按键时,其对映的随机序列就输入到安全输入窗口423中。仍以数字伪键盘为例,用户点击数字伪键盘上的09数字,输入对映的随机序列到安全输入窗口423,但在安全输入窗口423展示给用户的仍然是09的数字。输入至安全输入窗口423的随机序列通过业务程序422输出至安全交互模块424进行加密,然后再传送至智能卡410中的随机序列恢复模块114;智能卡410中的随机序列恢复模块114则先对接收到的加密后的随机序列进行解密,然后依据上述一一对映关系,将接收到的随机序列恢复为对映的按键信息,即用户输入的业务数据,以供智能卡410中的现有其他功能模块(图中未示出)进行后续处理。可选地,安全交互模块424还可将来自智能卡加密或签名处理后的业务数据传给业务程序422。本发明中信息安全输入处理系统中的各功能模块还可承载于其他各种设备中,在此不再一一列举。以上,是对本发明中信息安全输入处理系统的说明,下面,再对本发明中信息安全输入处理方法进行详细说明。本发明中的信息安全输入处理方法预设可被客户端调用的伪键盘,且该方法包括a、将伪键盘中的各按键与生成的随机序列一一对映,使得用户能够通过该伪键盘在所述客户端输入与各按键对映的随机序列;b、按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映的按键信息。图5为本发明中信息安全输入处理方法的一种示例性流程图。如图5所示,本发明中信息安全输入处理方法需要预设可在客户端呈现的伪键盘,且在接入至网络的客户端中每次启动业务程序时,还需要执行如下步骤步骤501,生成与所述伪键盘中按键数量相同的随机序列,且当前启动业务程序时生成的随机序列与前一次完全不同;步骤502,建立与所述伪键盘中按键数量相同的随机序列、与所述伪键盘中各按键的一一对映关系;步骤503,根据所述一一对映关系配置呈现在所述客户端的所述伪键盘;步骤504,根据伪键盘呈现时输入的按键信息,通过客户端中的业务程序输出对映的随机序列、而非上述的按键信息本身;其中,可以按照按键信息的输入顺序,顺序输出对映的随机序列,也可以采用例如并行等其他非顺序方式输出;在本步骤中,伪键盘在呈现时由各按键输入的真实按键信息,也可以在客户端业务程序的输入窗口同时显示的,以便用户直观地获知其输入的按键信息是否正确;步骤505,依据所述一一对映关系,将所述步骤504输出的随机序列恢复为对映的按键信息,即,将输入的随机序列转变为用户实际输入的信息。至此,本流程结束。在执行上述流程之后,只要用户在客户端通过呈现的伪键盘所输入的按键信息,为当前启动的业务程序所需要的正确按键信息,则当步骤505恢复得到的按键信息与用户实际输入的按键信息一致时,即可保证该按键信息经被认证方的身份认证处理后,能够得到认证方的认可;当客户端输出的随机序列被截获并篡改后,步骤505恢复得到的按键信息就会与用户实际输入的按键信息不一致,此时,该按键信息经被认证方的身份认证处理后,是无法得到认证方认可的;当客户端输出的随机序列被截获并篡改后,由于篡改后的随机序列并非一一对映关系中包含的随机序列,因而步骤505无法恢复得到的按键信息,从而拒绝修改,并返回错误提示。可见,上述方法能够提高信息交互的安全性。在上述流程中,为了进一步提高安全性,步骤501所生成的每一个随机序列均可以为多维随机序列。其中,每个多维随机序列中至少包含由不同随机函数产生的至少两个随机数;为了再进一步提高安全性,每个多维随机序列中还可进一步包含表示该多维随机序列生成时间的时间戳。上述流程仅仅是一种实现方式,实际应用中也可通过其他方式来实现随机序列的生成、以及伪键盘中各按键与各随机序列的一一对映,在此不再一一列举。以上是对本发明中信息安全输入处理方法的总体说明,实际应用中,上述方法中的各步骤全部由例如SIM卡、UIM卡、SD卡、或USBKey等智能卡来执行,或者,上述方法中的步骤503504由客户端执行、而其他步骤则由智能卡执行。下面,以伪键盘为软件盘为例,针对两种实现方式进行进一步说明。方法实施例一图6为本发明方法实施例一中信息安全输入处理方法的流程示意图。如图6所示,本实施例中信息安全输入处理方法需要预设可被客户端调用的伪键盘、并由智能卡承载,且在接入至网络的客户端中每次启动业务程序时,还需要执行如下步骤步骤601,客户端向智能卡请求生成随机序列,并向用户显示业务应用数据和操作交互界面,客户端中的业务程序还调用安全输入窗口,以向智能卡输入待处理的业务数据。业务程序可根据需求调用数个安全输入窗口。步骤602,智能卡接收到上述请求,获知客户端中的业务程序启动,并在保证每次启动业务程序时生成的随机序列完全不同的前提下,生成与伪键盘中按键数量相同的随机序列。步骤603,智能卡建立随机序列与伪键盘中各按键的一一对映关系。步骤604,智能卡根据上述一一对映关系配置内部承载的伪键盘,即将每一按键与其对映的随机序列一一对映,然后进一步将其配置的伪键盘封装为应用程序包接口;一一对映的方式既可以为设置如类似于表1所示的映射关系表,也可以为每个按键的按键信息设定传递函数,仍以如图2所示的数字伪键盘、以及前述多维随机序列为例,假设各数字按键的按键信息4=1^=0,1,2,3,4,5,6,7,8,9,对映的多维随机序列艮=(ix,jx,k),则设定传递函数Ax=Ry,y=0,1,2,3,4,5,6,7,8,9。步骤605,客户端调用智能卡中的伪键盘并呈现。以数字伪键盘为例,客户端呈献给用户09的输入形式,以便于用户的业务输入。本实施例只是将智能卡中的伪键盘封装后的结果呈献给用户,伪键盘中设定的各按键与随机序列的一一对映关系不会被调用,从而保证了一一对映关系的安全性。此后,用户使用伪键盘输入业务数据,用户可通过鼠标点击伪键盘上的按键来输入,当点击某一个按键时,其对映的随机序列就输入到安全输入窗口中。仍以数字伪键盘为例,用户点击数字伪键盘上的09数字,输入对映的随机序列到安全输入窗口,但在安全输入窗口展示给用户的仍然是09的数字。步骤606,输入至安全输入窗口的随机序列通过业务程序输出至智能卡中。由于用户点击伪键盘而输入的按键信息会被立即转换为的随机序列,因此,在客户端的内存中也不会保留用户点击伪键盘而输入的按键信息;步骤607,智能卡则依据配置伪键盘所依据的一一对映关系,判断是否能将接收到的随机序列恢复为对映的按键信息,如果是,则执行步骤609,否则执行步骤608。步骤609,智能卡向客户端返回错误提示,并结束本流程。步骤610,智能卡将接收到的随机序列恢复为对映的按键信息,S卩,将接收到的随机序列转变为用户实际输入的信息,还可按照现有方式进行后续处理,并结束本流程。以数字伪键盘为例,随机序列恢复模块114根据随机序列与09数字的一一对映关系,将随机序列恢复成实际的09数字形式。至此,本流程结束。方法实施例二图7为本发明方法实施例二中信息安全输入处理方法的流程示意图。如图7所示,本实施例信息安全输入处理方法需要预设可在客户端呈现的伪键盘、并由客户端承载,且在接入至网络的客户端中每次启动业务程序时,还需要执行如下步骤步骤701,客户端向智能卡请求生成随机序列,并向用户显示业务应用数据和操作交互界面,客户端中的业务程序还调用安全输入窗口,以向智能卡输入待处理的业务数据。业务程序可根据需求调用数个安全输入窗口。步骤702,智能卡接收到上述请求,获知客户端中的业务程序启动,并在保证每次启动业务程序时生成的随机序列完全不同的前提下,生成与伪键盘中按键数量相同的随机序列。步骤703,智能卡建立随机序列与伪键盘中各按键的一一对映关系。步骤704,智能卡将各按键对映的随机序列加密后输出至客户端。步骤705,客户端将加密后的随机序列解密后,再将各按键与随机序列一一对映,并与步骤703建立的一一对映关系保持一致。对映的方式既可以为设置如类似于表1所示的映射关系表,也可以为每个按键的按键信息设定传递函数,仍以如图2所示的数字伪键盘、以及前述多维随机序列为例,假设各数字按键的按键信息Ax=χ,χ=0,1,2,3,4,5,6,7,8,9,对映的多维随机序列Rx=(ix,jx,k),则设定传递函数Ax=Ry,y=0,1,2,3,4,5,6,7,8,9。步骤706,客户端直接调用所配置的伪键盘并呈现。以数字伪键盘为例,客户端呈献给用户09的输入形式,以便于用户的业务输入。本实施例只是将智能卡中的伪键盘封装后的结果呈献给用户,伪键盘中设定的各按键与随机序列的一一对映关系不会被调用,从而保证了一一对映关系的安全性。此后,用户使用伪键盘输入业务数据,用户可通过鼠标点击伪键盘上的按键来输入,当点击某一个按键时,其对映的随机序列就输入到安全输入窗口中。仍以数字伪键盘为例,用户点击数字伪键盘上的09数字,输入对映的随机序列到安全输入窗口,但在安全输入窗口展示给用户的仍然是09的数字。步骤707,客户端将各按键信息所对映的随机序列加密后再输出至由于用户点击伪键盘而输入的按键信息会被立即转换为的随机序列,因此,在客户端的内存中也不会长时间保留用户点击伪键盘而输入的按键信息;智能卡。步骤708,智能卡对加密后的随机序列进行解密,并依据步骤703建立的一一对映关系,判断是否能将接收到的随机序列恢复为对映的按键信息,如果是,则执行步骤710,否则执行步骤709。步骤709,智能卡向客户端返回错误提示,并结束本流程。步骤710,智能卡将接收到的随机序列恢复为对映的按键信息,S卩,将解密后的随机序列转变为用户实际输入的信息,还可按照现有方式进行后续处理,并结束本流程。以数字伪键盘为例,随机序列恢复模块114根据随机序列与09数字的一一对映关系,将随机序列恢复成实际的09数字形式。至此,本流程结束。上述流程中,步骤704、705、707、708所涉及的加解密过程,为客户端与智能卡之间的安全传输过程。实际应用中,该安全传输过程也可以采用安全协议等其他方式来实现,在此不再一一赘述。由上述实施例可见本发明从防截取修改、内存读取修改的角度解决输入篡改的问题。本发明解决用户的窗口输入存在交互操作安全漏洞的问题。目前网络银行等使用的USBKey无法防止数据被篡改,客户的一笔交易在送入USBKey加密前,可能会被黑客拦截篡改为另一笔交易,这样可以在用户不知情的情况下篡改交易,本算法和实现方案解决了这个安全隐患,为用户从技术上提供可靠的安全保证。同时根据本算法实施的方案能防止木马程序在内存中获取并修改交易数据的问题。本发明提供的伪键盘既能解决针对内存读取修改、传输拦截修改交易数据所面临的安全攻击问题,又能解决发明方案实施中的兼容性、普适性、性价比、方便性问题。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。权利要求一种信息安全输入处理系统,其特征在于,该系统包括供客户端呈现的伪键盘、以及随机序列恢复模块,其中,所述伪键盘中的各按键与该系统随机生成的各随机序列一一对映,用于被所述客户端调用、供用户在所述客户端输入与各按键对映的随机序列;所述随机序列恢复模块,用于按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。2.如权利要求1所述的信息安全输入处理系统,其特征在于,该系统进一步包括随机序列生成模块、随机序列映射模块、随机序列传输模块、以及承载所述伪键盘的伪键盘模块,其中,随机序列生成模块,用于在所述客户端中每次启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且每次启动业务程序时生成的随机序列完全不同;随机序列映射模块,用于建立所述生成的随机序列与所述伪键盘中各按键的一一对映关系;随机序列传输模块,用于将所述一一对映关系输出至伪键盘模块;伪键盘模块,用于根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;根据所述伪键盘呈现时输入的按键信息,将对映的随机序列经所述客户端输出至所述随机序列恢复模块。3.如权利要求1或2所述的信息安全输入处理系统,其特征在于,所述随机序列为多维随机序列。4.如权利要求3所述的信息安全输入处理系统,其特征在于,每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随机序列生成时间的时间戳。5.如权利要求2所述的信息安全输入处理系统,其特征在于,伪键盘模块、随机序列生成模块、随机序列映射模块、随机序列传输模块、随机序列恢复模块承载于智能卡中。6.如权利要求2所述的信息安全输入处理系统,其特征在于,随机序列生成模块、随机序列映射模块、随机序列传输模块、随机序列恢复模块承载于智能卡中;伪键盘模块则承载于所述客户端中;且,该系统进一步包括承载于所述客户端的安全交互模块,用于所述客户端与所述智能卡之间的安全传输。7.一种智能卡,其特征在于,该智能卡包括供客户端呈现的伪键盘、以及随机序列恢复模块,其中,所述伪键盘中的各按键与该智能卡随机生成的各随机序列一一对映,用于被所述客户端调用、供用户在所述客户端输入与各按键对映的随机序列;所述随机序列恢复模块,用于按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。8.如权利要求7所述的智能卡,其特征在于,所述智能卡进一步包括随机序列生成模块、随机序列映射模块、随机序列传输模块、以及承载所述伪键盘的伪键盘模块,其中,随机序列生成模块,用于在所述客户端中每次启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且每次启动业务程序时生成的随机序列完全不同;随机序列映射模块,用于建立所述生成的随机序列与所述伪键盘中各按键的一一对映关系;随机序列传输模块,用于将所述一一对映关系输出至伪键盘模块;伪键盘模块,用于根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;根据所述伪键盘呈现时输入的按键信息,将对映的随机序列经由所述客户端输出至所述随机序列恢复模块;所述随机序列恢复模块进一步用于依据所述一一对映关系,将接收到的随机序列恢复为对映的按键信息。9.如权利要求7或8所述的智能卡,其特征在于,所述随机序列为多维随机序列。10.如权利要求9所述的智能卡,其特征在于,每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随即序列生成时间的时间戳。11.一种用于信息安全输入的装置,其特征在于,该装置包括供客户端呈现的伪键盘、以及随机序列恢复模块,其中,所述伪键盘中的各按键与该智能卡随机生成的各随机序列一一对映,用于被所述客户端调用、供用户在所述客户端输入与各按键对映的随机序列;所述随机序列恢复模块,用于按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。12.如权利要求11所述的装置,其特征在于,该装置进一步包括随机序列生成模块、随机序列映射模块、随机序列传输模块、以及承载所述伪键盘的伪键盘模块,其中,随机序列生成模块,用于在所述客户端中每次启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且每次启动业务程序时生成的随机序列完全不同;随机序列映射模块,用于建立所述生成的随机序列与所述伪键盘中各按键的一一对映关系;随机序列传输模块,用于将所述一一对映关系输出至伪键盘模块;伪键盘模块,用于根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;根据所述伪键盘呈现时输入的按键信息,将对映的随机序列经所述客户端输出至所述随机序列恢复模块。13.如权利要求11或12所述的装置,其特征在于,所述随机序列为多维随机序列。14.如权利要求13所述的装置,其特征在于,每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随即序列生成时间的时间戳。15.一种信息安全输入处理方法,其特征在于,预设可被客户端调用的伪键盘,且该方法包括将所述伪键盘中的各按键与生成的随机序列一一对映,使得用户能够通过该伪键盘在所述客户端输入与各按键对映的随机序列;按照各按键一一对映的随机序列,将来自所述客户端的随机序列恢复为对映按键的按键信息。16.如权利要求15所述的信息安全输入处理方法,其特征在于,该方法在接入至网络的客户端中启动业务程序时,生成与所述伪键盘中按键数量相同的随机序列,且当前启动业务程序时生成的随机序列与前一次完全不同;该方法进一步建立与所述伪键盘中按键数量相同的随机序列、与所述伪键盘中各按键的一一对映关系;并根据所述一一对映关系将所述伪键盘中的各按键与随机序列一一对映;且该方法进一步根据所述一一对映关系执行所述将来自所述客户端的随机序列恢复为对映按键的按键信息。17.如权利要求15或16所述的信息安全输入处理方法,其特征在于,所述随机序列为多维随机序列。18.如权利要求17所述的信息安全输入处理方法,其特征在于,每个所述多维随机序列中包含至少两个随机数,且所述至少两个随机数由不同随机函数产生;或者,每个所述多维随机序列中包含所述至少两个随机数、以及表示该多维随即序列生成时间的时间戳。全文摘要本发明公开了一种信息安全输入处理系统和方法以及智能卡。本发明提供能够在客户端呈现的伪键盘、该伪键盘中的各按键与该系统生成的随机序列一一对映,在该伪键盘被客户端调用后、用户能够通过该伪键盘在客户端输入与各按键对映的随机序列,然后再将来自客户端的随机序列恢复为对映的按键信息,因而能够避免输入信息被修改、也能够避免客户端输入的信息在内存中被修改、还能够避免信息被截获修改,从而能够提高信息交互的安全性。文档编号H04L9/18GK101808077SQ20091007773公开日2010年8月18日申请日期2009年2月13日优先权日2009年2月13日发明者刘宏伟,姚俊武,王四军申请人:普天信息技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1