一种计算机网络安全输入认证系统和方法

文档序号:7960753阅读:247来源:国知局
专利名称:一种计算机网络安全输入认证系统和方法
技术领域
本发明涉及计算机网络安全认证领域,特别是涉及一种计算机网络安全输入系统和方法。
背景技术
随着网络发展,用户在网络上的应用越来越多,邮件,游戏,网络银行,这些应用为了安全,需要用户从输入设备中输入字符进行用户身份等方面的网络安全认证。
在计算机使用过程中,用户经常通过网络输入用户名、密码或者交易数据等敏感信息。在网络运行的过程中,个人计算机(PC)作为一个输入终端设备,接受用户的输入的用户名、密友或者交易数据等敏感信息,不进行处理或者进行初步的处理,传输给网络服务器,而在网络服务器上进行真正的数据处理,可能还需要和其他客户进行数据交换,然后通过网络反馈给个人计算机,通过个人计算机反馈给用户。
但是现有的个人计算机系统由于连接到网络上,而计算机及其应用(如IE浏览器)都可能存在潜在的缺陷、计算机病毒以及木马等恶意程序,这些缺陷、病毒以及恶意程序不仅会破坏操作系统,窃取用户保存在终端个人计算机上的敏感文件,而且也可以监听用户从输入设备输入的数据,进行撺改数据,窃取到用户从输入设备输入的发送到网络服务器的数据,进而假冒用户以合法身份进入网络服务器,进一步窃取用户或者网络服务器上的重要资源,如网络银行用的存款等。
目前,一种解决安全输入的方法是给计算机配置独立的密码键盘,额外增加一个专门用来输入口令的键盘,该设备将输入的口令加密,然后传送给计算机。如银行柜台上输入用户口令时使用的就是这种密码键盘。这种解决安全输入的方法的缺陷是,必须在个人计算机(PC)或者笔记本键盘之外,再提供一个密码键盘设备,这可能对用户而言是不可接受的。
另一方法是采用USB-Key设备进行计算机网络安全输入,避免信息输入过程中被窃取的风险。但一般的USB-Key仅保存网络应用使用的KEY。在认证过程中使用KEY作为认证的关键信息。但是,在网络上,USB-Key中的KEY存在被窃取的可能,即使在USB设备中嵌入安全加密功能,但仍存在USB设备丢失或者被窃取的可能。而且,USB等安全认证设备只能进行简单认证,不能帮助用户输入一些机密信息,不能保证输入数据安全。
目前市场上也存在一些密码生成器,可以随时生成密码,然后用户读取密码生成器的密码,输入到电脑中。但这种方法的缺陷是一方面需要用户生成,并读取输入,其使用很不方便,另一方面,在密码输入的过程中,窃密者可能通过计算机的缺陷、病毒或者木马程序可能提前截取输入的密码。而且,这一方法仅解决用户安全登陆的问题,并没有解决在计算机网络应用过程中,保护用户输入机密信息不会被窃取的问题。
中国专利申请CN200410043080.5公开了一种具有键盘或者设备的安全通信。键盘和例如计算机上运行的一段软件的元件之间的安全通信。第一初始值是为键盘和元件都所知的。键盘和元件交换现时。键盘和元件基于现时和第一初始值分别计算第二初始值和第三初始值。由于键盘和元件都执行相同的计算,因此键盘和元件每个都有相同的第二和第三初始值。基于密钥和第二初始值,键盘加密数据运往使用CBC-3DES的元件,并且基于密钥和第三初始值为每个使用CBC-3DESMAC的创建消息验证码。元件解密和检验使用密钥和第二、第三初始值的键击。但是这种方法仅采用对称密钥安全认证方法,并为解决对称密钥交换问题,采用一个常量初始生成密钥,这样一方面其他程序需要知道此常量,以便生成相关的密码,这样,任何第三方均可获取此常量,均可结合其他技术获取密钥,从而破解加密输入的内容。

发明内容
本发明的目的在于提供一种计算机网络安全输入系统和方法,其采用安全加密的通讯方法,并结合时间戳,以保证计算机输入数据不会被窃取、破解或者伪造。
为实现本发明目的而提供的一种计算机网络安全输入系统,包括终端计算机和网络服务器,终端计算机和网络服务器通过网络连接,终端计算机的输入设备包括输入单元和接口单元。
所述终端计算机中,还包括控制单元和安全单元;控制单元,用于触发安全单元,使终端计算机进入安全输入模式,控制输入单元输入数据时将数据传输给安全单元,并在输入数据结束时控制输入结束,通知安全单元开始对本次输入的数据进行加密;安全单元,用于安全输入模式下接收从输入单元中输入的数据,并在接到输入结束的指令后,生成随机数,利用随机数和网络服务器发送来对称密钥计算出临时密钥;其后通过临时密钥利用对称算法加密输入的数据,用网络服务器传输过来的服务器公钥利用非对称算法将临时密钥加密签名;最后将加密的字符串,加密临时密钥和签名打成数据包,传输给网络服务器端;所述网络服务器中,包括加解密单元;加解密单元用于接收到终端传送的数据后,通过服务器私钥利用相应的非对称算法解密终端计算机传输来的数据包,得到临时密钥,验证临时密钥的签名合法性,再通过临时密钥利用相应的对称算法解密该加密字符串,得到用户输入的数据。
所述网络服务器中,还可以包括时间验证单元,用于保存上次时间计数,并在安全单元并触发时,根据以前的时间计数,计算出本次安全输入的时间计数;加解密单元用时间计数加密需要发送给终端计算机的对称密钥,用安全单元发送来的终端公钥对时间计数签名,并将时间计数签名和加密对称密钥打包发送给终端计算机;安全单元验证时间计数合法性,确认所收到的时间计数时网络服务器发送给自己的,再利用时间计数解密得到本次安全输入的对称密钥;安全单元在加密本次输入的数据后,利用服务器公钥将时间计数加密签名;加解密单元利用服务器私钥解密得到时间计数,确认与发送给终端计算机的时间计数相同。
所述终端计算机还可以包括安全输入显示装置,用于在显示终端计算机是否进入网络安全输入模式。
所述安全单元和控制单元可以设置在终端计算机输入设备的输入单元和接口单元之间。
所述安全单元和控制单元也可以设置在接口单元与中央处理器之间。
所述安全单元可以为可信赖的平台单元芯片。
为实现本发明目的,又提供了一种计算机网络安全输入方法,包括下列步骤步骤A)终端计算机激活安全单元,进入安全输入模式,网络服务器中的加解密单元生成对称密钥,将对称密钥发送给终端计算机;步骤B)终端计算机收到网络服务器发送来的信息后,得到对称密钥;终端计算机等待用户输入数据;步骤C)用户输入数据结束后,终端计算机生成随机数,利用随机数和网络服务器传送来的对称密钥一起生成临时密钥,通过临时密钥利用对称算法加密用户输入的数据;其后通过服务器公钥利用非对称算法将临时密钥加密签名;最后将加密的字符串,临时密钥加密签名打成数据包,传输给网络服务器端;步骤D)网络服务器接收到终端计算机传送的数据后,用服务器私钥通过相应的非对称算法解密终端计算机传输来的数据包,验证临时密钥的合法性,得到终端计算机的临时密钥,利用临时密钥通过相应的对称算法解密加密字符串,得到用户输入的数据。
本发明的安全输入方法,还可以包括下列步骤步骤N1)网络服务器中的时间验证单元保存上次安全输入模式的时间计数,当安全输入模式被触发时,时间验证单元计算出本次安全输入的时间计数;步骤N2)网络服务器中的加解密单元用时间计数加密需要发送给终端计算机的对称密钥,用终端计算机的安全单元发送来的终端公钥对时间计数签名,并将时间计数签名和加密对称密钥打包发送给终端计算机;步骤N3)安全单元验证时间计数合法性,确认所收到的时间计数时网络服务器发送给自己的,再利用时间计数解密得到本次安全输入的对称密钥;步骤N4)安全单元在加密本次输入的数据后,利用服务器公钥将时间计数加密签名;加解密单元利用服务器私钥解密得到时间计数,确认与发送给终端计算机的时间计数相同。
所述步骤A)前面还可以包括下列步骤步骤A1)在初始化终端计算机的安全单元和终端计算机的加解密单元时,网络服务器向终端计算机的安全单元发送激活指令,激活安全单元,进行密钥交换,网络服务器将服务器公钥传输给安全单元,安全单元生成对应的终端公私钥,并将终端公钥发送给网络服务器,完成初始化过程。
所述步骤A1)还可以包括下列步骤步骤A11)网络服务器得到终端计算机的响应后,时间验证单元中将时间计数清零。
所述步骤B)还可以包括下列步骤终端计算机的控制单元控制安全输入显示装置开通,显示当前的数据输入模式为安全数据输入模式。
所述对称算法可以为AES算法。
所述非对称算法可以为RSA算法或者ECC算法。
本发的的有益效果是本发明的计算机网络安全输入系统和方法,其中一种非安全的计算机网络安全环境下,解决用户在计算机上输入数据的安全认证问题,其保证用户能够安全登陆到网络,并安全地将键盘输入的内容传递给网络服务器,而不会被终端计算机内所存在的缺陷,病毒或者木马程序窃取的可能。基于本发明的计算机网络安全输入系统和方法,用户在登陆到网络服务时,其用户名和密码或者后续输入的内容不会被潜在的缺陷、病毒或者恶意程序窃取、破解或者伪造,从而避免用户名和密码在用户输入时被窃取的风险,造成用户重要信息损失。


图1为本发明实施例中一种计算机网络安全输入系统结构示意图;图2为本发明实施例中另一种计算机网络安全输入系统结构示意图;图3为本发明计算机网络安全输入方法过程流程图;图4为本发明实施例数据加密过程流程图;图5为本发明实例例数据解密过程流程图。
具体实施例方式
下面结合附图1~5进一步详细说明本发明的计算机网络安全输入系统和方法。
本发明的核心要点是在终端计算机中嵌入安全加密单元,该单元可以根据需要被激活,当安全单元激活期间,先通过时间戳验证本次通讯的合法性,然后所有传输的输入数据均通过此安全加密单元加密,此时用户通过输入设备输入的数据(字符串),包括用户及及密码等字符信息,在终端的个人计算机内部以及网络传输过程中均处于加密状态。只有到达网络的应用服务器,如网络银行的服务器中时,因为网络服务器具有解密密钥,通过解密运算,得到用户输入的原始信息,如用户名和密码,然后经过验证,确认用户的合法性,从而避免用户名和密码在用户输入时被窃取的风险。
在本发明中,特别是以键盘作为输入设备而对本发明的计算机网络安全输入系统和方法而进行的描述,但本发明同样适用除了以上提到输入设备之外的任何输入设备,如手写输入设备,扫描输入设备,读卡输入设备,语音输入设备等的情况。
如图1或2所示,本发明的计算机网络安全输入系统包括终端计算机和网络服务器。
在终端计算机的输入设备中,包括输入单元4,接口单元5。
终端计算机和网络服务器可以通过公知的网络连接,如国际互联网(Internet),在网络上传输数据,包括从终端计算机向网络服务器传输的数据以及从网络服务器向终端计算机传输的数据。
一般地,输入单元4就是通常所述的键盘,用户从键盘输入单元4中输入数据,如用户名和密码等字符,通过接口单元5传输到终端计算机的中央处理器6处理,或者传输给远端的网络服务器,如网络银行的服务器处理。
本发明的安全输入系统,在终端计算机中,还包括控制单元1和安全单元2控制单元1从输入单元4、接口单元5接收控制指令,再根据相关指令控制输入单元4、接口单元5和安全单元2协同工作。
控制单元1控制接口单元5传递输入单元4输入的数据给个人计算机中央处理器6,其中包括二种模式一种模式是控制单元1控制接口单元5直接传递给个人计算机的中央处理器6;另一种模式是控制接口单元5先把数据发送给安全单元2处理后,再传回接口单元5,由控制单元1将处理后的数据传递给个人计算机中央处理器6。
在上述后一种模式下,控制单元1需要触发安全单元2,使终端计算机进入安全输入模式,控制输入单元4输入数据时将数据传输给安全单元2,并在输入数据结束时控制输入结束,通知安全单元2开始对本次输入的数据进行加密。
控制单元1触发安全单元2进入安全输入模式,可以由网络服务器传送激活指令,控制单元1在接收到激活指令后触发进入安全输入模式;也可以是在终端计算机上设置安全输入触发键,如键盘上的功能键或者组合键,当用户按下该触发键时,控制单元1触发安全单元2;也可以是在键盘输入单元4中设置特殊按键,当按下该特殊按键时,触发安全单元2进入安全输入模式;甚至可以在终端计算机上设置开关,控制进入安全输入模式。
安全单元2,用于安全输入模式下接收从输入单元4中输入的数据,如用户名或者密码字符;在接到输入结束的指令后,生成随机数,利用随机数和网络服务器发送来对称密钥计算出临时密钥;其后,通过临时密钥利用对称算法加密用户输入的数据,用网络服务器传输过来的服务器公钥利用非对称算法将临时密钥加密签名;最后将加密的字符串,加密临时密钥和签名打成数据包,传输给网络服务器端。
安全单元2利用随机数和对称密钥可以通过HASH算法计算出临时密钥HASH算法也称为散列或消息摘要或数字摘要算法,就是通过把单向HASH函数应用于信息,将任意长度的一块数据转换为一段定长的、不可逆转的数据,称为该数据的HASH值。从理论上讲,任何HASH算法,产生碰撞(即两块不同的数据具有相同的HASH值)是必然的。HASH算法的安全性有两层含义一是由HASH值不能反推出原数据;二是要构造两块具有相同HASH值的不同的数据在计算上是不可行的,尽管理论上是存在的。目前MD5、SHA1和SHA256被认为是比较安全的HASH算法。
对称算法就是指加密和解密过程均采用同一把密钥的算法。
在本发明实施例中,安全单元2通过临时密钥可以利用AES对称算法加密用户输入的数据AES算法是1997年1月由NIST提出的,其目的是开发一种新的能保证政府信息安全的编码算法。最后经过多方评估从15种算法中选出Rijndael算法作为AES编码标准算法。AES算法是对称加密的迭代分组密码。它把数据块分成比特阵列,每一项密码操作都是面向比特的。Rijndael算法分为四层,第一层是8×8比特置换(即输入8比特,输出8比特);第二、三层是线性混合层(阵列的行移位、列混合);第四层是子密钥与阵列的每比特异或。
AES的分组长度为128比特,密钥长度为128/192/256比特,相对应的轮数r为10/12/14,相应的密钥方案为在加密的过程中,需要r+1个子密钥,需要构造4(r+1)个32比特字。当种子密钥为128和192比特时,构造4(r+1)个32比特字的过程是一样的。但当种子密钥为256比特时,构造4(r+1)个32比特字的过程是不同的。
在本发明实施例中,安全单元2通过公私钥可以利用RSA算法以及ECC算法等非对称算法加解密数据。
RSA加密算法(Ron Rivest,Adi Shamir,Len Adleman公私钥算法)是一种非对称算法,其可以描述为公钥n=pq,(p,q为两个不同的很大的质数,p和q必须保密)将(p-1)和(q-1)相乘得到φ(n)选择一个整数e(1<e<φ(n))与φ(n)互质私钥d=e-1modφ(n),即计算一个数字d,使得它满足公式de=1modφ(n)加密c=mc(mod n)解密m=cd(mod n),m为明文,c为密文。
而椭圆曲线密码加密算法(Elliptic Curves Cryptography,ECC)是另一种非对称密钥加密算法,椭圆曲线用于密码算法,于1985年由Koblitz和Victor Miller分别独立地提出。它问世以来一直是密码分析学的研究对象。现在,在商业和政府的用途中,椭圆曲线密码系统(ECC)都被认为是安全的。根据已知的密码分析学知识,椭圆曲线密码系统相比于传统的密码系统来说提供了更高的安全性。
ECC加密算法描述如下大素数域上的椭圆曲线可通过同构映射将一般的曲线方程变换为特别简单的形式y2=x3+ax+b,其中曲线参数a,b∈Fp并且满足4a3+27b2≠0(modp)。
因此,满足下列方程的所有点(x,y),再加上无穷远点O∞,构成一条定义在大素数域Fp上的椭圆曲线。
Y2=x3+ax+b(mod p)其中x,y属于0到p-1间的大素数,并将这条椭圆曲线记为Ep(a,b)。
考虑如下等式K=kG[其中K,G为Ep(a,b)上的点,k为小于n(n是点G的阶)的整数,不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相当困难了。
这就是椭圆曲线密码系统基于的数学难题。把点G称为基点(base point),k(k<n,n为基点G的阶)称为私有密钥(private key,私钥),K称为公开密钥(public key,公钥)。
较佳地,可以在安全单元2中定义一些特殊控制键,如“CTRL+F10”,当用户输入这些键时,输入单元4直接将该输入的数据传输给接口单元5,由接口单元5直接传输给终端计算机中央处理器6或者网络服务器处理,而不再由安全单元2加密这些字符。
如图1所示该安全单元2和控制单元1可以设置在键盘内部的输入单元4和接口单元5之间;也可以如图2所示,该安全单元2和控制单元1设置在接口单元5与南桥芯片之间的主板上,再连接到中央处理器6(CPU)中。这时,较佳地,该安全单元2为可信赖的平台单元芯片(Trusted Platform Module,TPM)较佳地,终端计算机还包括安全输入显示装置3,用于在显示终端计算机是否进入网络安全输入模式。
当终端计算机进入网络安全输入模式时,安全输入显示装置3为真,表示处在安全输入状态;当终端计算机退出网络安全输入模式时,安全输入显示装置3为假,表示终端计算机的输入不在安全输入模式下。这样可以进一步方便用户使用。
本发明计算机网络安全输入系统的网络服务器中,包括加解密单元7,用于接收到终端传送的数据后,通过服务器私钥利用相应的非对称算法解密终端计算机传输来的数据包,得到临时密钥,验证临时密钥的签名合法性,再通过临时密钥利用相应的对称算法解密该加密字符串,同时验证时间计数比较确认其合法性后,得到用户输入的数据。
在该网络服务器中,还包括时间验证单元8,用于保存上次时间计数,并在安全单元被触发时,根据以前的时间计数,计算出本次安全输入的时间计数。
网络服务器中的时间验证单元8保存上次安全输入模式的时间计数,当安全输入模式被触发时,时间验证单元8计算出本次安全输入的时间计数,如采用计数方式,本次时间计数的值为上次的时间计数加1;或者本次计数的下一个质数。
其后,加解密单元7用时间计数加密需要发送给终端计算机的对称密钥,用安全单元2发送来的终端公钥对时间计数签名,并将时间计数签名和加密对称密钥打包发送给终端计算机。
然后,安全单元2验证时间计数合法性,确认所收到的时间计数时网络服务器发送给自己的,再利用时间计数解密得到本次安全输入的对称密钥。
安全单元2在加密本次输入的数据后,利用服务器公钥将时间计数加密签名;加解密单元7利用服务器私钥解密得到时间计数,确认与发送给终端计算机的时间计数相同。
通过双重验证,保证本次通讯的对称密钥的有效性,所有后续的输入数据字符用对称密钥加密,当然在有更高安全要求时,本次安全输入过程中,可以利用时间计数由服务器发送不同的对称密钥,再用不同的对称密钥加密输入的字符。
本发明在终端计算机的输入单元4和计算机中央处理器6(CPU)之间,设置安全单元2,使键盘输入的数据能够在传输到中央处理器6之前,能够得到加密处理,实现从键盘输入信息的保密保护,其键盘信息的加密在安全单元2中进行,内存攻击者无法监视和窃取到所输入的信息,而在计算机内存和网络上传递的信息都是经过安全单元2加密的,即使被攻击者得到,由于没有密钥,无法解密,也是没有用的,因此,其能够为网上银行、电子商务等网上交易提供安全的数据输入通道。
如图3所示,下面详细说明本发明的计算机网络安全输入方法步骤1)在初始化终端计算机的安全单元2和终端计算机的加解密单元7时,网络服务器向终端计算机的安全单元2发送激活指令,激活安全单元2,进行密钥交换,网络服务器将服务器公钥传输给安全单元2,安全单元2生成对应的终端公私钥,并将终端公钥发送给网络服务器,完成初始化过程。
用户在注册到网络服务器,如网络银行的服务时,网络服务器向终端计算机发送安全输入数据的安全输入激活指令,如果终端计算机中有相应的安全单元2,则激活向网络服务器响应,进行密钥交换,网络服务器按照与终端计算机预先设定的对应的非对称加解密算法,将网络服务器中的服务器公钥传输给终端计算机的安全单元2;安全单元2同时按照预先设定的与网络服务器对应的非对称加解密算法,生成对应的终端公私钥,将终端公钥传输给网络服务器。终端计算机接收到服务器公钥后,存储该服务器公钥以及自身的私钥。网络服务器接收到终端计算机传送的终端公钥后,存储该终端标识及终端公钥以及本次传送的服务器私钥。
本发明实施例的计算机网络安全输入方法中,所述非对称加解密算法为RSA算法或者ECC算法。
在初始化过程中,网络服务器得到终端计算机的响应后,时间验证单元8中将时间计数清零。
步骤2用户需要从终端计算机输入设备中输入安全数据时,终端计算机激活安全单元2,进入安全输入模式,网络服务器中的时间验证单元8计算出本次时间计数,加解密单元7生成对称密钥,利用时间计数加密对称密钥,然后通过终端公钥对时间计数加密签名后,将加密对称密钥和时间计数签名发送给终端计算机。
步骤21)用户需要从终端计算机输入设备输入安全数据时,可以由网络服务器传送激活指令,终端计算机的控制单元1在接收到激活指令后触发进入安全输入模式;也可以是在终端计算机上设置安全输入触发键,如键盘上的功能键或者组合键,当用户按下该触发键时,控制单元1触发安全单元2,进入安全输入模式并通知网络服务器;也可以是在键盘输入单元4中设置特殊按键,当按下该特殊按键时,触发安全单元2进入安全输入模式并通知网络服务器;甚至可以在终端计算机上设置开关,控制进入安全输入模式并通知网络服务器。
步骤22)网络服务器的时间验证单元8保存着上一次安全输入数据模式的时间计数,在本次发送前,根据上一次的时间计数,计算出本次时间计数,如采用计数方式,计算出本次时间计数的值为上次的时间计数值加1;或者本次时间计数为上一次时间计数值对应的下一个质数。
步骤23)网络服务器的加解密单元7生成对称算法密钥,即对称密钥,利用时间计数通过哈希(HASH)算法生成字符串,然后用字符串对对称密钥进行加密。
步骤24)网络服务器中的加解密单元7利用所保存的终端计算机的公钥对时间计数加密签名后发送给终端计算机。
加解密单元7中的对称算法,可以是AES算法,其对时间计数的签名算法可以是非对称加密算法,如RSA算法或者ECC算法。
步骤3终端计算机收到网络服务器发送来的信息后,利用终端私钥通过相应的非对称算法解密签名,得到时间计数,然后利用时间计数解密得到对称密钥;终端计算机的安全单元2等待用户从输入单元4输入数据并缓存到安全单元2中。
步骤31)终端计算机收到网络服务器发送来的信息后,安全单元2用终端私钥通过与网络服务器加密签名算法相对应的方法解密,得到时间计数,再通过HASH算法生成字符串,然后用字符串对解密,得到对称密钥。
步骤32)终端计算机中的安全单元2通知控制单元1,控制单元1控制输入单元4中输入的数据,先传输到安全单元2。
在控制单元1控制输入单元4输入的数据中,可以由预先定义数据范围,如可以是数字键0~9、小数点号以及大小写的26个字母,其它的功能键及字符不直接传输给安全单元2,而传输给终端计算机或者网络服务器。
较佳地,还包括下列步骤步骤321)控制单元1控制安全输入显示装置3开通,显示当前的数据输入模式为安全数据输入模式。
步骤33)用户开始从输入单元4,如键盘上开始输入安全数据(用户名、密码以及金额其他敏感信息),这些信息先传输到安全单元2中缓存,直到用户按下特定的控制键,表示输入信息结束,控制单元1控制结束本次输入过程,通知安全单元2对输入的内容加密传输。
步骤4用户输入数据结束后,安全单元2生成随机数,利用随机数和网络服务器传送来的对称密钥一起通过HASH算法生成临时密钥,利用临时密钥通过对称算法加密用户输入的数据;其后利用服务器公钥通过非对称算法将临时密钥和时间计数加密签名;最后将加密的字符串,临时密钥以及时间计数加密签名打成数据包,传输给网络服务器端。
如图4所示,其包括下列步骤步骤41)用户输入数据结束后,安全单元2生成一个随机数,利用随机数以及网络服务器传送来的对称密钥一起生成临时密钥。
安全单元2生成随机数后,利用随机数和对称密钥一起,通过HASH算法一起生成临时密钥。
步骤42)安全单元2利用临时密钥,通过与网络服务器相应的对称加密算法,加密用户输入的字符串;然后再利用服务器公钥通过非对称算法将临时密钥签名加密。
较佳地,该对称加密算法为AES算法。
利用服务器公钥将临时密钥签名加密的算法为ECC算法或者RSA算法。
步骤43)将加密字符串,加密临时密钥和签名打成数据包,传输给个人计算机的中央处理器6(CPU),再由个人计算机(PC)通过网络接口发给网络服务器端。
这样,使得数据包在传递到个人计算机的内存之后,或者在网络传送过程中不会被其他计算机缺陷,木马或者恶意程序破解而窃取安全数据。
步骤5网络服务器的加解密单元7接收到终端计算机传送的数据后,用服务器私钥通过相应的非对称算法解密终端计算机传输来的数据包,验证临时密钥的合法性,得到终端计算机的临时密钥和时间计数,利用临时密钥通过相应的对称算法解密加密字符串,同时验证时间计数确认其合法性后,得到用户输入的数据。
如图5所示,网络服务器在收到加密数据包后,用服务器私钥解密解密数据包,得到终端计算机的临时密钥,验证临时密钥的合法性,利用临时密钥解密加密字符串,同时与时间计数比较确认以防止重放攻击,保证数据的安全性。
本发明的计算机网络安全输入系统和方法,使得键盘信息的加密是在输入安全单元2中进行的,针对内存而进行的木马、恶意程序的攻击都无法对输入的信息进行监视和窃取,即使其得到打包后的数据,也无法解密,无法威胁用户和网络服务器运行的安全,本发明为网上银行、电子商务交易等提供了安全的数据输入通道。
最后要说明的是,以上实施例仅用以说明本发明的技术方案而不是对本发明的限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种计算机网络安全输入系统,包括终端计算机和网络服务器,终端计算机和网络服务器通过网络连接,终端计算机的输入设备包括输入单元(4)和接口单元(5),其特征在于所述终端计算机中,还包括控制单元(1)和安全单元(2);控制单元(1),用于触发安全单元(2),使终端计算机进入安全输入模式,控制输入单元(4)输入数据时将数据传输给安全单元(2),并在输入数据结束时控制输入结束,通知安全单元(2)开始对本次输入的数据进行加密;安全单元(2),用于安全输入模式下接收从输入单元(4)中输入的数据,并在接到输入结束的指令后,生成随机数,利用随机数和网络服务器发送来对称密钥计算出临时密钥;其后通过临时密钥利用对称算法加密输入的数据,用网络服务器传输过来的服务器公钥利用非对称算法将临时密钥加密签名;最后将加密的字符串,加密临时密钥和签名打成数据包,传输给网络服务器端;所述网络服务器中,包括加解密单元(7);加解密单元(7)用于接收到终端传送的数据后,通过服务器私钥利用相应的非对称算法解密终端计算机传输来的数据包,得到临时密钥,验证临时密钥的签名合法性,再通过临时密钥利用相应的对称算法解密该加密字符串,得到用户输入的数据。
2.根据权利要求1所述的安全输入系统,其特征在于,所述网络服务器中,还包括时间验证单元(8),用于保存上次时间计数,并在安全单元(2)并触发时,根据以前的时间计数,计算出本次安全输入的时间计数;加解密单元(7)用时间计数加密需要发送给终端计算机的对称密钥,用安全单元(2)发送来的终端公钥对时间计数签名,并将时间计数签名和加密对称密钥打包发送给终端计算机;安全单元(2)验证时间计数合法性,确认所收到的时间计数时网络服务器发送给自己的,再利用时间计数解密得到本次安全输入的对称密钥;安全单元(2)在加密本次输入的数据后,利用服务器公钥将时间计数加密签名;加解密单元(7)利用服务器私钥解密得到时间计数,确认与发送给终端计算机的时间计数相同。
3.根据权利要求1或2所述的安全输入系统,其特征在于,所述终端计算机还包括安全输入显示装置(3),用于在显示终端计算机是否进入网络安全输入模式。
4.根据权利要求1或2所述的安全输入系统,其特征在于,所述对称算法为AES算法。
5.根据权利要求4所述的安全输入系统,其特征在于,所述非对称算法为RSA算法或者ECC算法。
6.根据权利要求1或2所述的安全输入系统,其特征在于,所述安全单元(2)和控制单元(1)设置在终端计算机输入设备的输入单元(4)和接口单元(5)之间。
7.根据权利要求1或2所述的安全输入系统,其特征在于,所述安全单元(2)和控制单元(1)设置在接口单元(5)与中央处理器(6)之间。
8.根据权利要求7所述的安全输入系统,其特征在于,所述安全单元(2)为可信赖的平台单元芯片。
9.一种计算机网络安全输入方法,其特征在于,包括下列步骤步骤A)终端计算机激活安全单元(2),进入安全输入模式,网络服务器中的加解密单元(7)生成对称密钥,将对称密钥发送给终端计算机;步骤B)终端计算机收到网络服务器发送来的信息后,得到对称密钥;终端计算机等待用户输入数据;步骤C)用户输入数据结束后,终端计算机生成随机数,利用随机数和网络服务器传送来的对称密钥一起生成临时密钥,通过临时密钥利用对称算法加密用户输入的数据;其后通过服务器公钥利用非对称算法将临时密钥加密签名;最后将加密的字符串,临时密钥加密签名打成数据包,传输给网络服务器端;步骤D)网络服务器接收到终端计算机传送的数据后,用服务器私钥通过相应的非对称算法解密终端计算机传输来的数据包,验证临时密钥的合法性,得到终端计算机的临时密钥,利用临时密钥通过相应的对称算法解密加密字符串,得到用户输入的数据。
10.根据权利要求9所述的安全输入方法,其特征在于,还包括下列步骤步骤N1)网络服务器中的时间验证单元(8)保存上次安全输入模式的时间计数,当安全输入模式被触发时,时间验证单元(8)计算出本次安全输入的时间计数;步骤N2)网络服务器中的加解密单元(7)用时间计数加密需要发送给终端计算机的对称密钥,用终端计算机的安全单元(2)发送来的终端公钥对时间计数签名,并将时间计数签名和加密对称密钥打包发送给终端计算机;步骤N3)安全单元(2)验证时间计数合法性,确认所收到的时间计数时网络服务器发送给自己的,再利用时间计数解密得到本次安全输入的对称密钥;步骤N4)安全单元(2)在加密本次输入的数据后,利用服务器公钥将时间计数加密签名;加解密单元(7)利用服务器私钥解密得到时间计数,确认与发送给终端计算机的时间计数相同。
11.根据权利要求9或10所述的安全输入方法,其特征在于,所述步骤A)前面还包括下列步骤步骤A1)在初始化终端计算机的安全单元(2)和终端计算机的加解密单元(7)时,网络服务器向终端计算机的安全单元(2)发送激活指令,激活安全单元(2),进行密钥交换,网络服务器将服务器公钥传输给安全单元(2),安全单元(2)生成对应的终端公私钥,并将终端公钥发送给网络服务器,完成初始化过程。
12.根据权利要求11所述的安全输入方法,其特征在于,所述步骤A1)还包括下列步骤步骤A11)网络服务器得到终端计算机的响应后,时间验证单元(8)中将时间计数清零。
13.根据权利要求11所述的安全输入方法,其特征在于,所述步骤B)还包括下列步骤终端计算机的控制单元(1)控制安全输入显示装置(3)开通,显示当前的数据输入模式为安全数据输入模式。
14.根据权利要求9或10所述的安全输入方法,其特征在于,所述对称算法为AES算法。
15.根据权利要求9或10所述的安全输入方法,其特征在于,所述非对称算法为RSA算法或者ECC算法。
全文摘要
本发明公开了一种计算机网络安全输入认证系统和方法,包括终端计算机和网络服务器,终端计算机的输入设备包括输入单元(4)和接口单元(5),所述终端计算机中,还包括控制单元(1)和安全单元(2);安全单元(2)在安全输入模式下接收从输入单元(4)中输入的数据,通过密钥利用对称算法加密输入的数据,用网络服务器传输过来的服务器公钥利用非对称算法将临时密钥加密签名;所述网络服务器中,包括加解密单元(7);加解密单元(7)通过服务器私钥利用相应的非对称算法解密终端计算机传输来的数据包,得到密钥,验证临时密钥的签名合法性,再通过临时密钥利用相应的对称算法解密该加密字符串,得到用户输入的数据。其保证计算机输入数据不会被窃取、破解或者伪造。
文档编号H04L9/28GK101064595SQ20061007891
公开日2007年10月31日 申请日期2006年4月27日 优先权日2006年4月27日
发明者杨文兵, 毛兴中, 吕渊 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1