CN101593254B - 一种笔记本电脑安全输入方法及系统 - Google Patents

一种笔记本电脑安全输入方法及系统 Download PDF

Info

Publication number
CN101593254B
CN101593254B CN 200810112809 CN200810112809A CN101593254B CN 101593254 B CN101593254 B CN 101593254B CN 200810112809 CN200810112809 CN 200810112809 CN 200810112809 A CN200810112809 A CN 200810112809A CN 101593254 B CN101593254 B CN 101593254B
Authority
CN
China
Prior art keywords
key
ciphertext
assignments
production module
kbc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 200810112809
Other languages
English (en)
Other versions
CN101593254A (zh
Inventor
李志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN 200810112809 priority Critical patent/CN101593254B/zh
Publication of CN101593254A publication Critical patent/CN101593254A/zh
Application granted granted Critical
Publication of CN101593254B publication Critical patent/CN101593254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种笔记本电脑安全输入方法,包括以下步骤:接收键盘输入键值;基于所述键值,发送触发信号至密钥生成模块;接收所述密钥生成模块返回的密钥,将所述密钥作为所述键值加密用的密钥;将所述键值用所述密钥加密,生成第一密文;发送所述第一密文至应用程序;所述第一密文按照所述密钥进行解密,得到所述键值。本发明还提供了一种笔记本电脑安全输入的系统。采用上述方法来进行输入,能够有效地保证计算机键盘输入的安全性。

Description

一种笔记本电脑安全输入方法及系统
技术领域
本发明涉及一种输入方法,特别涉及一种笔记本电脑安全输入方法及系统。
背景技术
众所周知,现有的计算机结构对键盘输入数据的私密性没有有效的保护措施,导致计算机中的病毒、木马等可以非法获取用户键入的数据,如网银、网游和即时聊天工具的账号和口令,严重影响用户对计算机的信赖。
在键盘安全输入方面,现有技术可分成硬件方法、软件方法和非键盘输入方法三类。
硬件方法:一个典型的方法是使用具有加密功能的键盘,这要求在键盘中嵌入具有密码运算功能的硬件,要么对现有技术做较大改动,要么另外附件一个专门键盘。另一典型的方法,是键盘直接连接到显示装置,这种方法对现有技术的硬件改动更大,相当于另做了一个安全通道。
软件方法,从用户键盘输入口令到应用程序得到口令,中间要经过以下步骤和途径:即键盘输入到键盘驱动到键盘过滤驱动到内核缓存到键盘钩子到应用程序接收缓冲区。
非键盘输入方法,典型的是使用软件模拟出键盘并使用鼠标点击输入口令(软键盘)。
在发明本发明的过程中,现有技术至少存在如下问题:
采用硬件密码键盘的方法来进行安全输入,需要在键盘中嵌入具有密码运算功能的硬件,对现有技术改动较大。
采用软件方法来进行安全输入,由于键盘驱动的输出和内核缓存中的内容缺乏保护措施,键盘输入数据很可能被其它计算机侵入程序的键盘过滤驱动和键盘钩子获取,并且从理论上讲,即使在软件上从最底层中断实施保护措施,例如从键盘中断实施保护措施,但总可以找到比实施保护更早的入口,那么就可以从该入口上截获键值。如,现有技术的QQ键盘加密。虽然这种键盘加密方式能够自动实现对键盘信息的实时加密,但由于采用了软件实现方式,目前已经出现了通过键盘中断分析破解的方法。而且,对于软件保护方法,黑客还可以通过远程控制在用户的电脑中安装记录键盘的程序,这些被称作键盘记录器的工具可以记录用户从应用目标而言从键盘输入的所有信息。目前,保护键盘输入的另一个例子是网银软键盘。但这种网银软键盘能够由植入该客户计算机的木马程序通过记录使用软键盘的屏幕黑白图,发送到木马的客户端进行破解,无法有效地保证输入安全。
采用非键盘输入方法,对于木马截屏和分析就失效了,无法有效地保证输入安全。
因此,如何提供一种笔记本电脑安全输入方法及系统,能够有效地保证计算机键盘输入的安全性,是本领域技术人员亟需解决的技术问题。
发明内容
本发明实施例的目的是提供一种笔记本电脑安全输入方法及系统,能够有效地保证计算机键盘输入的安全性。
为了实现本发明实施例的发明目的,具体地,本发明实施例一方面提供了一种笔记本电脑安全输入方法,所述方法包括以下步骤:
接收键盘输入键值;
基于所述键值,发送触发信号至密钥生成模块;
接收所述密钥生成模块返回的密钥,将所述密钥作为所述键值加密用的密钥;
将所述键值用所述密钥加密,生成第一密文;
发送所述第一密文至应用程序;
所述第一密文按照所述密钥进行解密,得到所述键值。
优选地,在接收键盘输入键值的步骤之前包括:预先设置安全输入键,用于启动所述密钥生成模块。
优选地,在接收键盘输入键值的步骤之前包括:预先设置安全输入键,用于启动所述密钥生成模块,启动键盘控制器。
优选地,所述接收键盘输入键值,发送触发信号至密钥生成模块;具体为:
接收所述密钥生成模块按照预定时间间隔发送的密钥;
接收键盘输入键值,发送触发信号至所述密钥生成模块,以通知所述密钥生成模块有键盘输入。
优选地,所述接收所述密钥生成模块返回的密钥,将所述密钥作为所述键值加密用的密钥的步骤;具体为:
从接收到的所述密钥生成模块按照预定时间间隔发送的密钥中选择的某个密钥作为所述键值加密用密钥。
优选地,将所述键值用所述密钥加密,生成第一密文的步骤,具体为:
将每个所述键值按照所述密钥进行对称或非对称加密算法,生成相应第一密文。
优选地,所述第一密文所述按照所述密钥进行解密,得到所述键值之前,包括步骤:
所述密钥生成模块对接收来自应用程序的密文,进行合法性判断,当确认合法后,执行所述第一密文按照所述密钥进行解密得到所述键值的步骤。
优选地,所述密钥为随机数序列。
优选地,所述第一密文按照所述密钥进行解密,得到所述键值的步骤,具体为:
应用程序与所述密钥生成模块协商一个随机数,作为会话密钥;
所述应用程序将所述第一密文发送到所述密钥生成模块;
按照所述密钥进行解密后得到所述键值;
将所述键值按照所述会话密钥进行加密生成第二密文;
将所述第二密文发送到应用程序。
本发明实施例另一方面提供了一种笔记本电脑安全输入系统,包括:
键盘控制器触发单元,用于接收键盘输入键值,发送触发信号至密钥生成模块;
键盘控制器密钥确认单元,用于接收所述密钥生成模块返回的密钥,将所述密钥作为所述键值加密用的密钥;
键盘控制器加密单元,用于将所述键值用的所述密钥加密,将加密后生成的第一密文发送至应用程序;所述第一密文按照所述密钥进行解密,得到所述键值。
优选地,所述系统还包括安全输入键设置单元,预先设置用于启动所述密钥生成模块的安全输入键,或,预先设置用于启动所述密钥生成模块和键盘控制器的安全输入键。
本发明实施例具有以下有益效果:
本发明实施例的方法、装置通过接收到键盘输入的键值后,立刻发送触发信号至密钥生成模块,以通知所述密钥生成模块有键盘输入。所述密钥生成模块可以返回用于所述键值的加密用的密钥,将加密后得到的第一密文发送至应用程序,所述加密过程简单又易于实现。由于键值从最低层到应用的通道上全部为密文传输,这样,攻击者不论采用键盘过滤驱动还是键盘钩子技术,甚至直接跟踪键盘中断,均不能得到键盘口令的明文数据。而且解密是在所述密钥生成模块中实现,进一步保证了安全性。
附图说明
图1是本发明实施例笔记本电脑安全输入方法第一种实施方式流程图;
图2是本发明实施例笔记本电脑硬件原理图;
图3是本发明实施例笔记本电脑安全输入方法第二种实施方式流程图;
图4是本发明实施例笔记本电脑安全输入方法第三种实施方式流程图;
图5是本发明实施例笔记本电脑安全输入系统第一种实施方式结构图。
具体实施方式
本发明实施例提供一种笔记本电脑安全输入方法,能够有效地保证计算机键盘输入的安全性。
为了更加清楚地说明笔记本电脑安全输入方法及系统的工作原理和工作过程,下面结合附图具体说明。
为了便于理解本发明实施例所述笔记本电脑安全输入方法及系统,首先介绍一下现有笔记本电脑硬件情况。
芯片组(Chipset,简称CS)是现有技术中X86架构PC的主板的核心组成部分。按照在主板上的排列位置的不同,通常分为北桥芯片(NB CS)和南桥芯片(SB CS)。
北桥芯片提供对CPU的类型和主频、内存的类型和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持。北桥芯片起着主导性的作用,也称为主桥(Host Bridge)。
南桥芯片则提供对KBC(键盘控制器)、RTC(实时时钟控制器)、USB(通用串行总线)、Ultra DMA/33(66)EIDE数据传输方式和ACPI(高级能源管理)等的支持。
参见图1,该图是本发明实施例笔记本电脑安全输入方法第一种实施方式流程图。
本发明实施例笔记本电脑安全输入方法第一种实施方式,所述方法包括以下步骤:
S101、接收键盘输入键值。
S102、基于所述键值,发送触发信号至密钥生成模块。
基于所述接收到的键盘输入的键值,发送触发信号至密钥生成模块。所述密钥生成模块具体可以是可信平台模块或者可信计算模块,以通知所述可信平台模块或可信计算模块有键盘输入。
键盘控制器接收键盘输入键值后,经扫描并送到键盘控制器的缓冲区,发送触发信号至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,用于通知所述可信平台模块或可信计算模块有键盘输入。
S103、接收所述密钥生成模块返回的密钥,将所述密钥作为所述键值加密用的密钥。
接收所述密钥生成模块,具体可以是所述可信平台模块或可信计算模块返回的密钥,将所述密钥作为所述键值加密用密钥。
键盘控制器接收所述可信平台模块或可信计算模块返回的密钥,将所述密钥作为所述密钥为所述键值加密用密钥。
键盘控制器接收所述密钥生成模块,具体可以是所述可信平台模块或可信计算模块随机产生的随机数序列。在键盘控制器选择了加密用的随机数作为密钥后,通知所述密钥生成模块,具体可以是可信平台模块或可信计算模块哪些随机数是加密用密钥。并且所述密钥生成模块,具体可以是可信平台模块或可信计算模块负责记录每个密钥与用每个密钥加密键值得到的密文之间的对应关系。
S104、将所述键值用所述密钥加密,生成第一密文。
S105、发送所述第一密文至应用程序。
所述第一密文发送至需要接收输入信息的应用程序。
S106、所述第一密文按照所述密钥进行解密,得到所述键值。
所述第一密文通过所述密钥生成模块,具体可以是可信平台模块或可信计算模块按照所述密钥进行解密,得到所述键值。
键盘控制器用所述密钥加密所述键值,将加密后得到的第一密文通过键盘驱动程序,传递给需要接收输入信息的应用程序。
所述应用程序将所述第一密文发送至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,所述可信平台模块或可信计算模块按照所述密文对应的密钥进行解密,得到所述键值。
每个所述键值可以按照所述密钥进行流加密得到相应第一密文。
每个所述键值可以按照所述密钥进行对称或非对称加密算法得到相应第一密文。
本发明实施例所述笔记本电脑安全输入方法,当接收到键盘输入的键值后,立刻发送触发信号至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,以便通知密钥生成模块,有键盘输入。所述密钥生成模块可以返回密钥,所述密钥用于所述键值的加密,生成的第一密文发送至需要接收输入信息的应用程序。所述应用程序将上述第一密文发送所述密钥生成模块,所述密钥生成模块再通过先前加密用的密钥进行解密,得到原始的键值,这样可以有效地保证了计算机键盘输入的安全性。
本发明实施例所述笔记本电脑安全输入方法,通过键盘键入的键值,经扫描并送到键盘控制器的缓冲区,所述键值经过加密得到第一密文,所述加密过程简单又易于实现。而且解密是在所述密钥生成模块,具体可以是可信平台模块或可信计算模块中实现,进一步保证了安全性。
本发明实施例所述笔记本电脑安全输入方法,是可以应用于带有TPM(Truested Platform Module,可信平台模块)或TCM(Truested ComputingModule,可信计算模块)的笔记本电脑。
本发明实施例所述笔记本电脑安全输入方法,现以带有TPM的笔记本电脑为例进行说明,同样适用于带有TCM的笔记本电脑。
利用TPM空闲和未定义的GPIO作输出线,连接到EC(嵌入式控制器)中的KBC(键盘控制器)的键盘扫描线上,对用户输入的口令或者信息进行混乱和加密处理,可信平台模块记录下加密密钥。在接收口令或者敏感信息的应用程序中,将得到的加密后生成的第一密文发送给可信平台模块,由可信平台模块还原口令或者所述敏感信息。所述口令或者所述敏感信息还可以经转换加密后再返回给应用程序,应用程序重新解密后使用所述键值。
由于笔记本电脑一般均带有嵌入式控制器,本发明实施例所述笔记本电脑安全输入方法,可以在带有可信平台模块的笔记本电脑上,借助EC和可信平台模块的功能实现安全输入。
参见图2和图3,图2是本发明实施例笔记本电脑硬件原理图;图3是本发明实施例笔记本电脑安全输入方法第二种实施方式流程图。
本发明实施例所述笔记本电脑,以现有X86架构的笔记本电脑为例,图2中省略了与本发明实施例无关的硬件连接。
EC控制器和密钥生成模块均挂接在南桥芯片(SB CS)提供的LPC总线上。密钥生成模块具体可以是可信平台模块或可信计算模块。EC控制器用于实现电脑的电源管理、键盘控制器(KBC)以及BIOS设置等功能。可信平台模块或可信计算模块用于电脑的启动认证、访问的身份认证和加解密等功能。其中,在可信平台模块规范中,除了一个GPIO_Express00有明确定义外,其它多个GPIO预留给用户进行定义和使用,EC控制器也预留多条扫描线用于扩充。
在键盘上定义一个新的按键——安全输入键,安全输入键连接到可信平台模块第1条GPIO上,称为TPM_GPIO_Input0,同时连接到EC的键盘扫描阵列上。该安全输入键在被相继按下的两次期间,用户从键盘输入的键值将按照本发明实施例所述的安全输入方法进行加密。
将可信平台模块第2条GPIO连接到KBC键盘中断引脚,定义成输入线TPM_GPIO_Input1,当有键盘输入时,该引脚有效,用于通知可信平台模块用户按下了键盘。
将可信平台模块的第3条GPIO连接于EC的键盘扫描线上,定义为输出线TPM_GPIO_Output0,用于可信平台模块向KBC输入随机数序列。
本发明实施例笔记本电脑安全输入方法第二种实施方式,所述方法包括以下步骤:
S201、预先设置安全输入键,用于启动密钥生成模块。
预先设置安全输入键,用于启动可信平台模块或可信计算模块。
为了方便用户对键盘键入的内容进行安全模式和正常模式的切换,预先设置键盘上某个键或某几个组合键为安全输入键,安全输入键与密钥生成模块相连。具体方案安全输入键可以与可信平台模块和键盘控制器相连。安全输入键可以与可信计算模块和键盘控制器相连。
当用户需要键入的内容是对安全性要求很高的口令或者密码时,用户可以通过安全输入键切换到安全模式,即进入本发明实施例所述的安全输入方法。
当用户需要键入的内容是安全性要求不高的普通操作时,用户就没有必要进入安全模式,只需进入正常模式即可。这时,用户可以通过安全输入键切换到正常模式,即现有的键盘输入模式。
安全模式和正常模式的切换可以通过设定安全输入键的点击情况设定。当第一次点击安全输入键时,进入安全模式,此时安全输入键向密钥生成模块,具体可以向可信平台模块或可信计算模块发送启动信息,所述可信平台模块或可信计算模块进入安全模式。
当两次点击安全输入键后,进入正常模式,即现有的键盘输入模式。
在两次点击安全输入键之间的时间段,安全输入键均处于安全模式。
当用户正常使用键盘输入,即用户没有按下安全输入键或连续偶数次按下安全输入键时,EC中的FIRWARE(固件)按现有键盘输入流程采集键值,并产生键盘中断。
正常模式与安全模式的差别在于,安全模式下:1)密钥生成模块,具体可以是可信平台模块或可信计算模块要向键盘控制器发送随机数序列。2)键盘控制器流程中要增加启动加密操作用的模块进行加密。
S202、接收键盘输入键值。
由于通过安全输入键启动了安全模式,这样键盘控制器接收键盘输入键值后,经扫描并送到键盘控制器的缓冲区,还需要向所述密钥生成模块,具体可以是可信平台模块或可信计算模块发送触发信号,用于通知密钥生成模块,具体可以是可信平台模块或可信计算模块有键盘输入。
S203、基于所述键值,发送触发信号至密钥生成模块。
基于所述接收到的键盘输入的键值,发送触发信号至密钥生成模块。所述密钥生成模块具体可以是可信平台模块或者可信计算模块,以通知所述可信平台模块或可信计算模块有键盘输入。
键盘控制器接收键盘输入键值后,经扫描并送到键盘控制器的缓冲区,发送触发信号至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,用于通知所述可信平台模块或可信计算模块有键盘输入。
S204、接收所述密钥生成模块返回的密钥,将所述密钥作为所述键值加密用的密钥。
接收所述密钥生成模块,具体可以是所述可信平台模块或可信计算模块返回的密钥,将所述密钥作为所述键值加密用密钥。
键盘控制器接收所述可信平台模块或可信计算模块返回的密钥,将所述密钥作为所述密钥为所述键值加密用密钥。
键盘控制器接收所述密钥生成模块,具体可以是所述可信平台模块或可信计算模块随机产生的随机数序列。键盘控制器接收所述随机数序列。在键盘控制器选择了加密用的随机数作为密钥后,通知所述密钥生成模块,具体可以是可信平台模块或可信计算模块哪些随机数是加密用密钥。并且所述密钥生成模块,具体可以是可信平台模块或可信计算模块负责记录每个密钥与用每个密钥加密键值得到的密文之间的对应关系。
当用户需要启动安全模式时,用户按下键盘上的安全输入键,安全输入键的信号可以同时通知密钥生成模块和KBC。密钥生成模块具体可以是可信平台模块或可信计算模块。例如可信平台模块接收到该信号后,可信平台模块可以以预定时间间隔,例如键盘消抖的20ms,从TPM_GPIO_Output0引脚上向键盘控制器输出随机数序列。
而KBC接到按下安全输入键的信号直到再次接到按下安全输入键的信号,在这两个信号期间,KBC将对用户的键值进行混乱和加密处理。具体加密处理方式可以是:KBC将采集到的用户键入的键值,与当时可信平台模块或可信计算模块输入给KBC的随机数进行异或加密操作,将该随机数作为密钥,并将加密结果写到键盘缓冲器。
S205、将所述键值用所述密钥加密,生成第一密文。
S206、发送所述第一密文至应用程序。
所述第一密文发送至需要接收输入信息的应用程序。
S207、所述第一密文按照所述密钥进行解密,得到所述键值。
键盘控制器用所述密钥加密所述键值,将加密后生成的第一密文发送到应用程序。
所述应用程序将所述第一密文发送至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,通过所述可信平台模块或可信计算模块按照所述第一密文对应的密钥进行解密,得到所述键值。
在上述过程中,可信平台模块还需要对TPM_GPIO_Input1信号进行捕获,并记录下实际参与加密的随机数。
每个所述键值可以按照所述密钥进行流加密得到相应第一密文。例如,用户输入的键值为0x31、0x32、0x33、0x41、0x42和0x43,而在用户输入这些键值时,可信平台模块的TPM_GPIO_Output0当时发送的随机数为0xa1、0x58、x07f、0xde、0x6b和0xc9,进行异或处理后,则在键盘缓冲区中加密后的键值为:
0x31⊕0xa1=0x90
0x32⊕0x58=0x6a
0x33⊕0x7f=0x4c
0x41⊕0xde=0x9f
0x42⊕0x6b=0x29
0x43⊕0xc9=0x8a
应用程序得到加密的第一密文后,发送到所述可信平台模块或可信计算模块,通过所述可信平台模块或可信计算模块根据记录的对应的密钥进行解密,得到原始输入的键值,即得到原始的口令或敏感信息。
本发明实施例所述笔记本电脑安全输入方法,当接收到键盘输入的安全输入键值后,立刻发送触发信号至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,用于通知所述可信平台模块或可信计算模块有键盘输入。所述可信平台模块或可信计算模块开始向键盘控制器按照预定周期发送随机数,键盘控制器接收键盘输入键值后,启动加密模块。键盘控制器接收所述可信平台模块或可信计算模块传递来的随机数,并从中随机挑选随机数,作为加密用密钥。在键盘控制器选择了加密密钥后,再通知可信平台模块或可信计算模块,由可信平台模块或可信计算模块产生的哪些随机数被选为加密用密钥。加密模块用所述密钥对所述键值的加密,将加密后得到的密文发送至需要接收输入信息的应用程序。所述应用程序将上述密文发送所述可信平台模块或可信计算模块,所述可信平台模块或可信计算模块再通过先前加密用的密钥进行解密,得到原始的键值,这样可以有效地保证了计算机键盘输入的安全性。
参见图4,该图是本发明实施例所述笔记本电脑安全输入方法第三种实施方式流程图。
本发明实施例所述笔记本电脑安全输入方法第三种实施方式,所述方法包括以下步骤:
S301、预先设置安全输入键,用于启动密钥生成模块和键盘控制器。
密钥生成模块具体可以是可信平台模块或可信计算模块。
S302、接收所述密钥生成模块按照预定时间间隔发送的密钥。
接收所述可信平台模块或可信计算模块按照预定时间间隔发送的密钥。
S303、接收键盘输入键值,发送触发信号至所述密钥生成模块,用以通知密钥生成模块有键盘输入。
接收键盘输入键值,发送触发信号至所述可信平台模块或可信计算模块,用以通知可信平台模块或可信计算模块有键盘输入。
S304、从接收到的所述密钥生成模块按照预定时间间隔发送的密钥中选择的某个密钥作为所述键值加密用密钥。
从接收到的所述密钥生成模块按照预定时间间隔发送的密钥中选择的某个密钥作为所述键值加密用密钥。
选择的某个密钥作为所述键值加密用密钥,可以将所述可信平台模块或可信计算模块当前发送的随机数作为密钥,也可以是按照某种规则选定的随机数作为密钥。
键盘控制器选用哪个随机数作为密钥,需要通知所述可信平台模块或可信计算模块,可信平台模块或可信计算模块记录该密钥。
S305、将所述键值用所述密钥加密,将生成的第一密文发送至应用程序。
键盘控制器用所述密钥加密所述键值,将加密后生成的第一密文发送至需要接收输入信息的应用程序。
S306、对接收来自应用程序的第一密文,所述密钥生成模块确认该应用程序的合法性。
S307、按照所述密钥生成模块记录的对应密钥进行解密得到所述键值。
所述应用程序将所述第一密文发送至所述可信平台模块或可信计算模块,按照所述可信平台模块或可信计算模块记录的对应密钥进行解密,得到所述键值。
应用程序向可信平台模块或可信计算模块请求对加密键值的解密和转换加密处理,可信平台模块或可信计算模块对从应用程序接收来的数据做合法性判断,当确认为正确后,可信平台模块或可信计算模块首先对传递来的键值密文解密得到各个明文键值。解密在可信平台模块或可信计算模块的RAM中进行。
例如:可信平台模块还原第一个明文键值的操作为0x90⊕0xa1=0x31,同理可以得到0x32、0x33、0x41、0x42和0x43。
应用程序在向可信平台模块或可信计算模块发送所述第一密文之前可以通过与可信平台模块或可信计算模块协商,协商出一个密钥,作为会话密钥。此密钥可以是一个随机数。可信平台模块或可信计算模块可以使用所述会话密码对解密后的键值进行加密,例如DES加密,生成新的密文即第二密文,并输出至所述应用程序。所述应用程序应用所述会话密码解密所述第二密文,得到所述键值,比如原始的口令等信息。
从可信平台模块或可信计算模块到应用程序之间的会话密钥,可以采用分组加密方式,可以选择可信平台模块或可信计算模块支持的DES,DES3或AES等方式。
本发明实施例所述笔记本电脑安全输入方法,当接收到键盘输入的安全输入键值后,立刻发送触发信号至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,用于通知可信平台模块或可信计算模块有键盘输入。所述可信平台模块或可信计算模块开始向键盘控制器以预定周期发送随机数,键盘控制器接收键盘输入键值后,启动加密模块。键盘控制器接收所述可信平台模块或可信计算模块传递来的随机数,并从中随机挑选随机数作为加密用密钥。在键盘控制器选择了加密密钥后,反过来通知可信平台模块或可信计算模块,由可信平台模块或可信计算模块产生的哪些随机数被选为加密用密钥。加密模块用所述密钥对所述键值的加密,将加密后得到的第一密文发送至需要接收输入信息的应用程序。应用程序在向可信平台模块或可信计算模块发送所述第一密文之前可以通过与可信平台模块或可信计算模块协商出一个会话密钥。所述应用程序将上述第一密文发送所述可信平台模块或可信计算模块,所述可信平台模块或可信计算模块再通过先前加密用的密钥进行解密,得到原始的键值,再通过所述会话密钥进行二次加密,生成第二密文发送至所述应用程序。所述应用程序应用所述会话密码解密所述第二密文,得到所述键值,比如原始的口令等信息,这样更加有效地保证了计算机键盘输入的安全性。
本发明实施例提供一种笔记本电脑安全输入系统,能够有效地保证计算机键盘输入的安全性。
参见图5,该图是本发明实施例所述笔记本电脑安全输入系统第一种实施方式结构图。
本发明实施例所述笔记本电脑安全输入系统第一种实施方式,所述系统包括键盘控制器触发单元11、键盘控制器密钥确认单元12和键盘控制器加密单元13。
键盘控制器触发单元11,用于接收键盘输入键值,发送触发信号至密钥生成模块。
键盘控制器触发单元11接收键盘输入键值,发送触发信号至密钥生成模块,具体可以是可信平台模块或可信计算模块,用于通知所述可信平台模块或可信计算模块有键盘输入。
键盘控制器密钥确认单元12,用于接收所述密钥生成模块返回的密钥,将所述密钥作为所述键值加密用的密钥。
键盘控制器密钥确认单元12接收键盘控制器触发单元11触发的所述密钥生成模块,具体可以是可信平台模块或可信计算模块返回的密钥,将所述密钥作为所述键值加密用密钥。
键盘控制器加密单元13,用于将所述键值用的所述密钥加密,将加密后得到的第一密文发送至应用程序;所述第一密文按照所述密钥进行解密,得到所述键值。
键盘控制器加密单元13将所述键值用所述键盘控制器密钥确认单元12确定的密钥加密,将加密后得到的第一密文发送至需要接收输入信息的应用程序。所述应用程序将所述第一密文发送至所述可信平台模块或可信计算模块,所述可信平台模块或可信计算模块按照所述密钥进行解密,得到所述键值。
本发明实施例所述笔记本电脑安全输入系统,当键盘控制器触发单元11接收到键盘输入的键值后,立刻发送触发信号至所述密钥生成模块,具体可以是可信平台模块或可信计算模块,通知密钥生成模块,具体可以是可信平台模块或可信计算模块有键盘输入。键盘控制器密钥确认单元12接收所述可信平台模块或可信计算模块返回的密钥,将所述密钥作为所述键值加密用密钥。键盘控制器加密单元13通过所述密钥用于所述键值的加密,将加密后得到的第一密文发送至需要接收输入信息的应用程序。所述应用程序将上述第一密文发送所述可信平台模块或可信计算模块,所述可信平台模块或可信计算模块再通过先前加密用的密钥进行解密,得到原始的键值,发送到所述应用程序,这样就可以有效地保证了计算机键盘输入的安全性。
本发明实施例所述笔记本电脑安全输入系统,通过键盘键入的键值,所述键值经过加密得到第一密文,所述加密过程简单又易于实现。而且解密是在所述可信平台模块或可信计算模块中实现,进一步保证了安全性。
所述笔记本电脑安全输入系统还可以包括安全输入键设置单元(图中未表示)。安全输入键设置单元是预先设置的,用于启动所述密钥生成模块的安全输入键,或,用于启动所述密钥生成模块和键盘控制器的安全输入键。
安全输入键设置单元可以启动可信平台模块或可信计算模块的安全输入键,或者,启动可信平台模块和键盘控制器或可信计算模块和键盘控制器的安全输入键。
本发明实施例所述笔记本电脑安全输入系统相对于采用软件方法的口令保护技术,由于键值从最低层到应用的通道上全部为密文传输,这样,攻击者不论采用键盘过滤驱动还是键盘钩子技术,甚至直接跟踪键盘中断,均不能得到键盘口令的明文数据。
本发明实施例所述笔记本电脑安全输入系统相对于硬件方法,不要求增加带有密码运算功能的特定硬件芯片,不必更换键盘硬件,从而具有更好的兼容性和实施性。
本发明实施例所述笔记本电脑安全输入系统相对于软键盘,避免了病毒或木马通过截取屏幕的方法获取用户输入的漏洞。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (9)

1.一种笔记本电脑安全输入方法,其特征在于,所述方法包括以下步骤:
接收密钥生成模块按照预定时间间隔发送的密钥;
接收键盘输入键值,发送触发信号至所述密钥生成模块,以通知所述密钥生成模块有键盘输入;
从接收到的所述密钥生成模块按照预定时间间隔发送的密钥中选择的某个密钥作为所述键值加密用密钥;
将所述键值用所述密钥加密,生成第一密文;
发送所述第一密文至应用程序;
所述第一密文按照所述密钥进行解密,得到所述键值。
2.根据权利要求1所述的安全输入方法,其特征在于,在接收键盘输入键值的步骤之前包括:
预先设置安全输入键,用于启动所述密钥生成模块。
3.根据权利要求1所述的安全输入方法,其特征在于,在接收键盘输入键值的步骤之前包括:
预先设置安全输入键,用于启动所述密钥生成模块,启动键盘控制器。
4.根据权利要求1所述的安全输入方法,其特征在于,将所述键值用所述密钥加密,生成第一密文的步骤,具体为:
将每个所述键值按照所述密钥进行对称或非对称加密算法,生成相应第一密文。
5.根据权利要求1所述的安全输入方法,其特征在于,所述第一密文所述按照所述密钥进行解密,得到所述键值之前,包括步骤:
所述密钥生成模块对接收来自应用程序的密文,进行合法性判断,当确认合法后,执行所述第一密文按照所述密钥进行解密得到所述键值的步骤。
6.根据权利要求1至5任一所述的安全输入方法,其特征在于,所述密钥为随机数序列。
7.根据权利要求1所述的安全输入方法,其特征在于,所述第一密文按照所述密钥进行解密,得到所述键值的步骤,具体为:
应用程序与所述密钥生成模块协商一个随机数,作为会话密钥;
所述应用程序将所述第一密文发送到所述密钥生成模块;
按照所述密钥进行解密后得到所述键值;
将所述键值按照所述会话密钥进行加密生成第二密文;
将所述第二密文发送到应用程序。
8.一种笔记本电脑安全输入系统,其特征在于,所述系统的键盘控制器接收密钥生成模块按照预定时间间隔发送的密钥,所述系统包括:
键盘控制器触发单元,用于接收键盘输入键值,发送触发信号至密钥生成模块,以通知所述密钥生成模块有键盘输入;
键盘控制器密钥确认单元,用于从接收到的所述密钥生成模块按照预定时间间隔发送的密钥中选择的某个密钥作为所述键值加密用密钥;
键盘控制器加密单元,用于将所述键值用所述密钥加密,将加密后生成的第一密文发送至应用程序;所述第一密文按照所述密钥进行解密,得到所述键值。
9.根据权利要求8所述的安全输入系统,其特征在于,所述系统还包括安全输入键设置单元,预先设置用于启动所述密钥生成模块的安全输入键,或,预先设置用于启动所述密钥生成模块和键盘控制器的安全输入键。
CN 200810112809 2008-05-26 2008-05-26 一种笔记本电脑安全输入方法及系统 Active CN101593254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810112809 CN101593254B (zh) 2008-05-26 2008-05-26 一种笔记本电脑安全输入方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810112809 CN101593254B (zh) 2008-05-26 2008-05-26 一种笔记本电脑安全输入方法及系统

Publications (2)

Publication Number Publication Date
CN101593254A CN101593254A (zh) 2009-12-02
CN101593254B true CN101593254B (zh) 2012-05-09

Family

ID=41407906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810112809 Active CN101593254B (zh) 2008-05-26 2008-05-26 一种笔记本电脑安全输入方法及系统

Country Status (1)

Country Link
CN (1) CN101593254B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102393886B (zh) * 2011-06-29 2014-11-26 北京数码视讯科技股份有限公司 移动终端的安全控制方法、装置及系统
CN102681672B (zh) * 2012-04-17 2015-02-11 深圳市多彩实业有限公司 可复用加密键盘电路及其设计方法
EP2690838A1 (en) * 2012-07-23 2014-01-29 Alcatel Lucent Authentification system preserving secret data confidentiality
KR102195900B1 (ko) * 2013-12-20 2020-12-29 삼성전자주식회사 단말간 암호화된 메시지를 송수신하는 방법 및 장치
CN105991279A (zh) * 2015-02-05 2016-10-05 富泰华工业(深圳)有限公司 电子装置的加解密系统及其加解密方法
CN105389506B (zh) * 2015-10-20 2018-03-30 飞天诚信科技股份有限公司 一种提高输入安全性的方法和装置
CN105554010A (zh) * 2015-12-28 2016-05-04 上海瀚银信息技术有限公司 一种密码加密的方法及系统以及智能终端
CN105430022B (zh) * 2015-12-31 2019-10-11 宇龙计算机通信科技(深圳)有限公司 一种数据输入控制方法和终端设备
CN107590383A (zh) * 2017-08-30 2018-01-16 浙江九州量子信息技术股份有限公司 一种基于soc的主密码防护系统与方法
CN108874388A (zh) * 2018-06-08 2018-11-23 山东超越数控电子股份有限公司 一套代码支持多个主板实现资源共享的加密方法
CN109344608B (zh) * 2018-08-10 2021-09-21 天地融科技股份有限公司 一种信息传输方法及系统
CN109117678A (zh) * 2018-08-10 2019-01-01 天地融科技股份有限公司 一种信息传输方法及系统
CN111193740B (zh) * 2019-12-31 2023-03-14 苏宁金融科技(南京)有限公司 加密方法、装置、解密方法、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1472913A (zh) * 2002-08-02 2004-02-04 明基电通股份有限公司 通讯设备中用以保证用户信息安全的装置及方法
CN101136045A (zh) * 2006-08-29 2008-03-05 联想(北京)有限公司 虚拟机系统及其安全输入方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1472913A (zh) * 2002-08-02 2004-02-04 明基电通股份有限公司 通讯设备中用以保证用户信息安全的装置及方法
CN101136045A (zh) * 2006-08-29 2008-03-05 联想(北京)有限公司 虚拟机系统及其安全输入方法

Also Published As

Publication number Publication date
CN101593254A (zh) 2009-12-02

Similar Documents

Publication Publication Date Title
CN101593254B (zh) 一种笔记本电脑安全输入方法及系统
CN109921894B (zh) 数据传输加密方法、装置及存储介质、服务器
CN101908112B (zh) 安全芯片的测试方法与系统
CN101662469B (zh) 基于USBKey网上银行交易信息认证的方法和系统
CN101043326B (zh) 动态信息加密系统和方法
GB2574433A (en) Dongle for ciphering data
CN1319294A (zh) 具有保密功能的适配器及使用这种适配器的计算机保密系统
CN103716166A (zh) 一种自适应混合加密方法、装置以及加密通信系统
CN105790927B (zh) 一种总线分级加密系统
CN105592107A (zh) 一种基于fpga的工业过程数据安全采集装置及方法
CN103930899A (zh) 用于管理在设备处输入的公用数据和私人数据的方法
KR20080101333A (ko) 가상키보드를 이용한 보안방법
WO2023005734A1 (zh) 车辆数据上传方法、装置、车辆、系统及存储介质
CN100334519C (zh) 建立可信输入输出通道的方法
CN103996117A (zh) 安全手机
KR100996955B1 (ko) 가상키보드를 이용한 보안방법
CN100583174C (zh) 使用网上银行系统安全终端实现数据安全的处理方法
CN101169815A (zh) 计算机系统以及数据输入方法
CN201051744Y (zh) 一种安全的加密网卡装置
CN101547098B (zh) 公共网络数据传输安全认证方法及系统
CN101751522B (zh) 防止键盘按键被侧录的方法、装置及系统
CN102681672A (zh) 可复用加密键盘电路及其设计方法
KR101754519B1 (ko) 일회용 키를 이용하여 키보드를 통해 입력된 데이터를 보호하기 위한 키보드 보안 시스템 및 방법
KR20110014177A (ko) 맨 인 더 미들 컴퓨터 해킹 기술을 무력화하는 방법 및 시스템
CN101159540A (zh) 收发数据流的方法及处理设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant