专利名称:一种密码键盘装置及其实现方法
技术领域:
本发明设计一种密码安全装置及其方法,尤其设计的是一种密码键盘 的实现装置及其实现方法。背景4支术现有技术中,随着网络技术的发达,日常的消费和娱乐活动逐渐转向 了网络提供方式,但不管是目前的网上银行还是网游、网上购物等涉及经 济往来的帐户中,用户都需要在计算机上进行身份认证及密码、号码、文 字及其它信息(这些信息需要安全机制进行保护)的输入,由于在输入时 需要首先确认信息的准确性,往往需要进行一些信息的显示和声音提示 等。随着网络的普及,目前大量的公共设施中已经出现专用于网络服务的 终端设备,包括网吧和路边上网终端,但由于目前网络信息'安全技术的隐 忧和缺陷,这种公共"^殳施的利用还存在安全性的障碍。在目前市场上,网上交易业务需要进行进行身份鉴别时,大多数使用的USBKEY,即U盾,他可有效地解决个人的网上身份鉴别的问题。通 过非对称密钥和证书的相关技术,可使得网上银行的服务端能够通过 UBSKEY (U盾)来识别正在上网的客户身份,并允许进行规定的操作。 这解决了客户的身份认证安全问题,但是,却并不能解决客户在做网上交 易时的信息安全,具体说明如下; 1、网上交易的身份认证问题目前的网上交易大多数采用的是PKI的数字证书方式。USBKey (U盾)是把数字证书存放在USBKey中,在做身份认证时通过USBKey中的 证书来识别客户的身份。目前USBKey作为身份认证方式在公认中是很安 全的。
2、 网上交易客户的账号和密码的安全问题
大多数客户在网上交易时,并不是简单地要求验证一下身份,而是要 进行一些业务交易。在进行业务交易时避免不了要通过键盘输入一些帐 号、密码等的一些数据。由于当前计算机的木马程序非常猖獗,能够通过 各种技术手段从主机的键盘上或USB通讯的线路上截获数据,来盗取由 用户输入的帐号和密码等数据。然后窃取者可通过仿制银行的帐号和密 码,通过银行的交易设备盗取客户的资金或在商场的POS上用仿制的卡进 行盗刷。而银行对于银行卡已有约定,由于客户的密码丟失所造成的损失 是由客户自己承担的,这样,现有技术中的银行客户就存在很大的风险。
3、 网上交易数据的篡改问题
用户在网上交易时需要输入账号、密码、资金额等数据,如果在PC 机上的键盘输入并在PC机的显示屏上显示输入的数据,就可能会遭到木 马程序的攻击。目前的木马程序可以截获到键盘输入的数据,然后篡改输 入的数据,但在屏幕上仍然显示客户输入的数据。而在点击确认后,却是 使用了篡改后的数据进行传输,这样就可能会造成用户的损失。
在现有的USBKey的安全体系中,在网上交易时,每次交易需要由 USB来签名,即一个硬件的USBKEY。服务端在收到交易请求后,验证 签名是否合法,如果签名验证通过,将接受客户的交易请求。
如果客户在做完交易后没取下USBKEY,或在交易过程中,木马程序 有可能在取得账号和密码后产生一个仿造的交易包发给USBKEY要其签 名(这在公共网络服务终端中很常见),由于USBKEY的签名是由程序自 动完成的,有时会在客户不在意的情况下完成签名,而发给服务端,服务 端在对签名验证通过后,如果认可了这笔交易,也会使客户产生损失。
因此,现有技术还存在有待改进之处。
发明内容
本发明的目的在于提供一种密码键盘装置及其实现方法,用于克服现 有技术数据被仿冒的问题,提供一种完全防止帐号和密码等数据被违法授 权。
本发明的技术方案包括
一种密码键盘装置,其包括一与计算机端连接的接口,其中,所述密 码键盘装置还包括一硬件芯片,通过所述接口与所述计算机端应用层软件 进行数据通讯;所述密码键盘装置上还设置有设备内软件,用于与所述接 口的内部通讯;在所述设备内软件中,在所述接口之上还设置有智能卡 层,该智能卡层设置包括加密算法库、信息输入模块,所述加密算法库中 包含有现有已有的多种算法;所述设备内软件用于依约定的算法对所述信
息输入模块的信息进行加密,并向所述计算机端应用层发送加密后的信 自
所述的密码键盘装置,其中,所述接口为USB接口,所述设备内软件 中还包括控制所述USB接口的传输层、文件管理模块、安全控制模块用 以实现USB接口层对向所述计算机端发送的信息进行签名。
所述的密码键盘装置,其中,还包括一显示装置及一蜂鸣提示装置, 所述显示装置用于显示信息的输入,所述蜂鸣提示装置用于提示计算机端 的签名请求。
所述的密码键盘装置,其中,所述信息输入模块为一键盘。 一种密码键盘装置的实现方法,其包括如下步骤
A、 在所述密码键盘装置上进行登录,根据在显示装置上的显示,将 用户的PIN码输入,由所述密码键盘装置进行验证;
B、 在用户PIN码输入正确后,在显示装置上显示等待输入的交易数
据,该输入的交易数据经过对应的智能卡层处理,进行数字签名,并向所
述客户端的计算机主机发送;
C、所述计算机主机进行审核验证,如果未通过则放弃处理;如果通 过,则通过互联网向服务器端提交交易数据;本地程序则结束退出。
所述的实现方法,其中,所述步骤A还包括
Al 、所述计算机主机端应用程序向所述密码键盘装置发送密码验证指 令,并指出是由主机发送密码还是从密码键盘上输入密码,如果由主机发 送密码,则由密码键盘装置直接验证登录,并返回验证结果。如果为从密 码键盘装置上输入则按下述方式进行;
A2、所述密码键盘装置在接收到该命令后在所述显示装置上显示输入 PIN码的提示,等待用户输入PIN码;
A3、用户在输入完后按确认按键,由密码键盘装置进行验证并返回结 果。同时输入的密码数据由所述密码键盘装置按约定的加密算法进行加密 处理;加密后的数据返回给所述计算机主机中的应用程序。
所述的实现方法,其中,所述步骤B中的数字签名过程还包括
B1 、所述计算机主机端的应用程序向所述密码键盘装置发送需要签名 的数据和命令;
B2、所述密码键盘装置上的设备内软件检查是否在用户登录状态,如 果不是则返回出错代码;如果是则在显示装置上显示有签名的动作,并等 待用户从键盘上输入并确认;
B3、在用户按下确认键时,则通过所述智能卡层进行数字签名处理, 并将签名结果返回给计算机主机端。
所述的实现方法,其中,所述步骤A2中,如果出现PIN验证错误, 则进行错误提示和终止程序处理。
所述的实现方法,其中,所述步骤A2中还设置所述密码键盘装置在 预定次数的PIN验证错误后,锁死整个密码键盘装置系统。 所述的实现方法,其中,所述交易数据包括帐户、密码信息。 本发明所提供的一种密码键盘装置及其实现方法,由于采用了在一个
硬件设备上集成设置的USBKEY、键盘、屏幕等功能,并通过一定的加密 方法对从USBKEY密码键盘上输入的数据进行数据加密,通过传输加密 后数据,提高了数据的安全性。
图1为本发明密码#:盘装置的结构示意图2为本发明密码键盘装置的流程方法示意图3为本发明密码键盘装置实现方法中网上交易流程示意图4为本发明密码键盘装置及其实现方法中PIN码输入的流程示意
图5为本发明密码4建盘装置及其实现方法中交易数据输入的流程示意
图6为本发明密码一睫盘装置及其实现方法中数字签名过程的流程示意图。
具体实施例方式
以下结合附图,将对本发明的各较佳实施例进行更为详细的说明。 本发明所提供的密码键盘装置及其实现方法中,主要是针对网上交易
客户的账号和密码的安全问题(PIN码,账号、密码等),这里的PIN码 指USBKEY上应用的登录密码,账号如银行的账号,密码指如银行卡的 密码。
本发明密码键盘装置,如图1所示的,其包括一硬件芯片,通过USB 接口与计算机端应用层计算机软件进行数据的发送和接收;所述计算机软
件包括用户界面、CAPI、 CSP以及底层的API硬件接口 (ELIB库函数)
等;所述密码键盘装置上还可以设置有键盘显示屏,用于显示相关的信 息。CSP实际上是一个动态连结数据库(Dynamic Link Library, DLL文 件),应用程序透过WindowsCryptoAPI(CAPI)呼叫CSP提供的函数,来达 到产生密钥对、数据加解密、签验章等功能。
所述密码键盘装置上设置有设备内软件,用于与所述USB接口的内 部通讯,包括传输层、文件管理模块、安全控制模块等,作为USB接口 层的实现功能;在所述设备内软件中,在所述USB接口层之上还设置有 智能卡层,该智能卡层设置包括加密算法库、信息输入模块、显示装置及 蜂鸣提示装置等,所述加密算法库中包含有现有已有的多种算法,例如 DES、 RSA、 MAC等加密算法。
本发明所述USBKey密码键盘装置的内部结构,如图1所示,以一个 智能卡安全芯片为核心,同时通过智能卡安全芯片扩展出来的输入输出管 脚,扫描信息输入才莫块即键盘上输入的按键值,同时控制显示屏显示相关 的文字,图片等信息。该显示屏可以采用LCD屏。
本发明密码键盘装置中还设置有控制灯或蜂鸣器等通过闪动来提示是 否有数据在传输,通过蜂鸣器的不同声音的鸣叫,来提示输入信息的对与 错,以实现数据输入的人性化提示。
同时在本发明密码键盘装置中嵌入了输入法,可以输入ASCII字符, 及汉字等。这样,在本发明智能卡芯片中,在进行银行(服务器端)和个 人(客户端)之间进行认证的时候, 一些需要特别保密的信息,可以通过 专用的密码键盘装置来输入,再通过智能卡芯片把输入的信息进行加密处 理,然后再通过USB接口传出,这样就可以有效的防止"网络偷窥",提 高系统处理的安全性。同时,这些信息,以及上面传下的需要加密的信 息,也可以通过智能卡芯片"签名"后再传输出去,这样就有效的防止了 "网络篡改",完全符合PKI体系的要求,本发明密码键盘装置的结构如 图1所示。
本发明之USBKEY密码键盘是集合了 USBKEY和密码键盘的功能。 USBKEY部分与现有技术一样用于个人身份的认证和数据加密。而密码键 盘用于客户在进行网上交易时输入帐号、密码交易金额等数据,可以离线 输入上述数据。在本发明密码键盘上输入的数据按照使用方式的约定,在 所述密码键盘装置内会进行数据加密,加密后的数据在通过USB接口上 传给^L行的客户端程序,由于数据的传输过程是加密上传的,即使计算机 主机端的密码程序监控获取到了 USBKEY密码键盘传输过来的数据,由 于数据已被加密,也无法解读其中的内容,如此可保证数据输入和传输时 的安全性。
本发明所述计算机端软件在接收到所述密码键盘装置传输过来的加密 数据时,可根据约定的使用方式进行加解密处理,加解密处理过程包括了 客户端解密和服务端解密。
在客户端解密的数据如USBKEY的密码等的信息,如服务端需要在 客户端进行对数据解密然后打包,在交给USBKEY签名时可用客户端解 密方式。对于更严格的安全要求,在应用阶段进行交易时,USBKEY使用 与服务端约定的密钥进行加解密,这样客户端即所述计算机主机端向服务 器端发送的数据也是加密数据,只有服务器端才能根据预先的约定进行解 密获得有效数据,而包括客户端在内的各应用程序即使获得了这些加密后 的传输数据,也无法得到原始数据,如此可保护网上银行客户的信息之安 全。
在本发明所述USBKey密码键盘装置中集成了键盘(即信息输入模 块)和显示器,应用程序可以发命令要求客户从USBKey密码键盘上输入 数据,在密码键盘上输入的数据可显示在屏幕上,这时显示的数据和输入 的数据是一致的,但该显示的数据计算机主机端是读取不到的,因为目前 的木马、盗号等程序都是基于计算机主机的;在将输入的数据上传给计算 机主机时,要通过采用所述加密算法库中预先预定的某种加密算法进行加
密处理,而木马程序是取不到原文数据的,因此保证了网上交易数据的不 被篡改。由于本发明密码键盘装置在设备上集成了 USBKEY、密码键盘和液晶 显示器,当USBKEY接收到要求签名的请求后(即用户可能插入到客户 端计算机主机准备进行交易数据的输入,包括帐户、密码等等),由USB 的主控程序在本密码4建盘装置的显示屏幕上提示有签名请求,由用户通过 密码键盘输入确认是否允许签名。如果用户进行了交易,需要进行签名处 理,则按下确认键表示同意。在用户不认可按下取消键或超过预定时间没 有按键时,本发明所述密码键盘装置将拒绝该命令。由此保证了签名确认 的安全有效性。本发明所述USBKey密码键盘装置,是在原来的USB KEY的基础 上,加上密码键盘、显示屏、蜂鸣器等部件,并把体积做的很小,可以单 手手持输入密码等信息。本发明密码键盘装置中内置了智能卡芯片,能够 存储私钥和其他私密凄t据,并可以内置密钥算法,在智能卡层内部完成数 字签名所需的处理工作。当需要进行数字签名时,计算机主机给所述USB Key密码键盘装置发 送签名的命令,本发明所述USB Key密码键盘装置通过其内部的智能卡层 和USB接口层处理进行签名,然后将签名结果返回给计算机主机即客户 端,而加密所用的私钥永远不会暴露在本发明USB Key密码键盘装置外, 网络偷盗技术手段也永远不可能得到用户的私钥,更无法假冒用户的身 份。在使用USBKey键盘之前,必须由用户输入正确的USBKey密码键 盘装置的个人识别码,这样,即使本发明的USBKey密码键盘装置丢失, 也不会被非法使用。因此,可以这样认为本发明USB Key密码键盘装置 是一个可以随身携带的超微型安全计算机,是一个受芯片技术保护的私人 电子印章。在本发明密码键盘装置的应用阶段通过用户身份认证后,密码键盘可 接受输入帐号和密码的命令,如果是在服务器端进行解密,在用服务器密 码加密方式时,从键盘取到数据后用指定对称密码按预定算法进行加密。 如果是在客户端进行解密,则由密码键盘和客户端通过客户端的应用密码 进行加解密,并由随机数进行干扰,实现一次会话一个密钥。本发明密码键盘装置的实现方法中,其主要是对设备内软件的实现流
程,其中,对COS层(COS:是指芯片级的操作系统。COS层是指在芯 片操作系统这个层次。)的设计包括采用IS07816的要求设计文件系统 合接口命令;设计文件系统用来完成相关证书的存放,和个人信息、各种 密码和PIN码的存放等,并含有相关的安全机制。
本发明密码键盘装置的系统接口命令完成一些指定的功能操作,如密 码验证,数字签名,数据加密,键盘和屏幕的操作等等,这些具体的软件 实现过程是本领域普通编程人员所熟知的,因此不再赘述。
本发明COS层的驱动程序设计,与芯片支持的驱动有关,如可釆 用SMART CARD的驱动,HID的驱动等等。
如图1所示,在本发明密码键盘装置对应的计算机主机上的支持程序 包括CSP:完成于微软的CAPI的接口。 ECLIB:底层API,通过驱动程 序和USBKey密码键盘进行命令级的交互,完成相应的功能,用于支持对 CSP和密码键盘、屏幕、蜂鸣器等的控制。本发明所述密码键盘装置还可以再设置一个指紋识别模块,让从单纯 的数字个人密码,到生物信息密码。如果加上,目前也只能解决的是个人 客户端的认证;如果在银行端能够设置通过一维或二维的指紋的信息来作 为支付密码等安全信息,则本发明密码键盘装置中的指紋模块,才可以真 正的发挥其有效的作用。本发明密码键盘装置的实现方法,具体如图2所示的,数据的传输过 程包括在应用服务器程序端,通过INTERNET互联网,通讯连接应用客 户端程序;在该应用客户端程序中,通过计算机主机上的CAPI、 CSP、
USB驱动程序等,与本发明密码键盘装置中的USBKEY (即USB接口 层)、密码键盘、显示屏、蜂鸣器及智能卡层等进行数据传输。
本发明所述密码键盘装置中,其实现过程如图3所示的,需要在所述 密码键盘装置上进行登录,根据在显示屏上的显示,将用户的PIN码输 入,由所述密码键盘装置进行验证,如果出现PIN验证错误,则进行错误 提示和终止程序处理;甚至本发明密码键盘装置还可以设置在预定次数的 错误后锁死整个密码键盘装置系统。
在用户PIN码输入正确后,可进行身份的验证,如果未通过,则进入 失败处理程序;如果通过则在显示屏上显示等待输入的交易数据,例如包 括帐户、密码等等;该输入的数据经过对应的智能卡层处理,进行数字签 名,并向所述客户端的计算机主机发送。所述计算机主机进行审核验证, 如果未通过则放弃处理;如果通过,则通过互联网向服务器端提交交易数 据;本地程序则结束退出。
本发明所述密码4建盘装置的实现方法中,所述PIN码的输入过程,如 图4所示,包括以下步骤计算机主机端应用程序向本发明密码键盘装置 发送有关显示等待输入用户PIN码的命令;所述密码4建盘装置在接收到该 命令后在所述显示屏屏幕上显示输入PIN码的提示,等待用户输入PIN 码;用户在输入完后按确认按键,由所述密码键盘装置按约定的加密算法 进行加密处理;加密后的数据返回给上层程序,即所述计算机主机中的应 用程序;所述计算机主机端的应用程序接到数据后可按约定加解密算法方 式解密,然后进行后续验证处理。由于数据的传输都是经过加密后处理 的,因此保证了传输数据的安全性。
本发明所述密码键盘装置实现方法中,其数字签名过程如图6所示 的,具体包括以下步骤首先计算机主机端的应用程序向本发明密码键盘 装置发送需要签名的数据和命令;所述密码键盘装置上的程序检查是否在 用户登录状态,如果不是则返回出错代码;如果是则在显示器上显示有签
名的动作,并等待客户从键盘上输入确认键;如果用户按下的是取消键, 则本发明密码键盘装置返回出错代码;如果用户按下的是确认键,则通过 所述智能卡芯片进行数字签名,并将签名结果返回给计算机主机端;所述 计算机主机端的程序在接到数据后,判斯是否出错,是做出错处理;否则 将进行下一步的验证处理。
本发明密码键盘装置及其实现方法通过单独智能卡芯片对核心数据的 加密后传输方式,本发明密码键盘装置就等于是一种个人随身携带的电子 印章,在目前和未来的网络技术应用中,必然会形成一个全新的网络完全 认证模式,有利于促进普通网络终端在公共场所的应用,由此本发明密码 键盘装置及其实现方法技术在保证安全性的前提下,将促使网络交易的跨 越性发展。本发明技术具有不可估量的技术应用背景。
应当理解的是,上述针对本发明较佳实施例的描述较为详细和具体, 并不能因此而认为是对本发明专利保护范围的限制,本发明的专利保护范 围应以所附权利要求为准。
权利要求
1、一种密码键盘装置,其包括一与计算机端连接的接口,其特征在于,所述密码键盘装置还包括一硬件芯片,通过所述接口与所述计算机端应用层软件进行数据通讯;所述密码键盘装置上还设置有设备内软件,用于与所述接口的内部通讯;在所述设备内软件中,在所述接口之上还设置有智能卡层,该智能卡层设置包括加密算法库、信息输入模块,所述加密算法库中包含有现有已有的多种算法;所述设备内软件用于依约定的算法对所述信息输入模块的信息进行加密,并向所述计算机端应用层发送加密后的信息。
2、 根据权利要求1所述的密码键盘装置,其特征在于,所述接口 为USB接口,所述设备内软件中还包括控制所述USB接口的传输层、文 件管理模块、安全控制模块用以实现USB接口层对向所述计算机端发送 的信息进行签名。
3、 根据权利要求2所述的密码键盘装置,其特征在于,还包括一 显示装置及一蜂鸣提示装置,所述显示装置用于显示信息的,输入,所述蜂 鸣提示装置用于提示计算机端的签名请求。
4、 根据权利要求3所述的密码键盘装置,其特征在于,所述信息 输入模块为一键盘。
5、 一种密码键盘装置的实现方法,其包括如下步骤A、 在所述密码键盘装置上进行登录,根据在显示装置上的显示,将 用户的PIN码输入,由所述密码键盘装置进行验证;B、 在用户PIN码输入正确后,在显示装置上显示等待输入的交易数 据,该输入的交易数据经过对应的智能卡层处理,进行数字签名,并向所 述客户端的计算机主机发送;C、 所述计算机主机进行审核验证,如果未通过则放弃处理;如果通 过,则通过互联网向服务器端提交交易数据;本地程序则结束退出。
6、 根据权利要求5所述的实现方法,其特征在于,所述步骤A还 包括Al、所述计算机主机端应用程序向所述密码键盘装置发送有关显示等 待输入用户PIN码的命令;A2、所述密码键盘装置在接收到该命令后在所述显示装置上显示输入 PIN码的提示,等待用户输入PIN码;A3、用户在输入完后按确认按^:,由所述密码键盘装置按约定的加密 算法进行加密处理;加密后的数据返回给所述计算机主机中的应用程序
7、 根据权利要求6所述的方法,其特征在于,所述步骤B中的数 字签名过程还包括Bl、所述计算机主机端的应用程序向所述密码键盘装置发送需要签名 的数据和命令;B2、所述密码键盘装置上的设备内软件检查是否在用户登录状态,如 果不是则返回出错代码;如果是则在显示装置上显示有签名的动作,并等 待用户从4建盘上输入并确认;B3、在用户按下确认键时,则通过所述智能卡层进行数字签名处理, 并将签名结果返回给计算机主机端。
8、 根据权利要求6所述的实现方法,其特征在于,所述步骤A2 中,如果出现PIN验证错误,则进行错误提示和终止程序处理。
9、 根据权利要求8所述的实现方法,其特征在于,所述步骤A2中 还设置所述密码一睫盘装置在预定次数的PIN-险证错误后,锁死整个密码键 盘装置系统。
10、 根据权利要求5至9任一所述的实现方法,其特征在于,所述 交易数据包括帐户、密码信息。
全文摘要
本发明公开了一种密码键盘装置及其实现方法,其装置包括一与计算机端连接的接口,以及一硬件芯片,通过所述接口与所述计算机端应用层软件进行数据通讯;在所述设备内软件中,在所述接口之上还设置有智能卡层,该智能卡层设置包括加密算法库、信息输入模块,所述加密算法库中包含有现有已有的多种算法;所述设备内软件用于依约定的算法对所述信息输入模块的信息进行加密,并向所述计算机端应用层发送加密后的信息。本发明密码键盘装置及其实现方法由于采用了在一个硬件设备上集成设置的USBKEY、键盘、屏幕等功能,并通过一定的加密方法对从USBKEY密码键盘上输入的数据进行数据加密,通过传输加密后数据,提高了数据的安全性。
文档编号H04L9/38GK101340294SQ20081014226
公开日2009年1月7日 申请日期2008年8月7日 优先权日2008年8月7日
发明者刚 徐, 花纯威, 葛志腾, 蔡彬彬 申请人:深圳市紫金支点技术股份有限公司