面向签名数据的安全认证方法及其系统的制作方法

文档序号:7652253阅读:176来源:国知局
专利名称:面向签名数据的安全认证方法及其系统的制作方法
技术领域
本发明涉及一种面向签名数据的安全认证方法及其系统,尤其涉及一种应用于在线交互系统的签名数据安全认证方法及其系统,属于信息安全技术领域。
背景技术
在现有的网络交易环境中,人们往往采用独立的签名认证设备进行交易中的安全处理,例如银行发行的USB Key。但实践表明,即使采用了独立的安全设备,网络交易仍然存在很大的安全隐患。究其原因就在于,用户在交易中所使用的客户端环境不安全。这里的客户端环境是指安装在用户计算机上的应用程序及其相关的软硬件运行环境。目前用户所使用的客户端大都采用安全等级较低的通用操作系统,例如Windows XP等。由于网络交易系统无法控制用户的计算机并对其进行安全性检查,因此,用户往往是通过一个不安全的客户端在与网络交易系统进行交互,并由客户端交易软件代表用户在进行交易。
即使使用了安全的签名认证设备,但由于这些设备是被动的受控于不安全的交易客户端,因此也无法保证整个交易过程的安全性,存在各种安全隐患,例如由客户端送入到签名认证设备中的交易数据被客户端上的恶意软件伪造或篡改,无法确保“所见即所签”,使用户在交易中造成损失。事实上,最近的研究也表明,针对目前所广泛采用的普通USB Key的网上交易系统,存在两种称为“交易劫持”和“交易伪造”的新攻击,通过破坏交易用户身份的真实性和交易内容的真实性,使用户在完全不知情的情况下冒充用户进行交易,或直接窃取用户的资金,给用户造成更大的损失。
由于目前网上交易的广泛应用,使用带硬件认证设备进行交易的用户也已突破百万,而人们往往认为采用了USB Key就可以进行安全的交易,并没有意识到存在的安全隐患及其严重性。事实上,现有的网上银行,对交易数据的确认都是在客户端上完成的,用户确认完毕后,才将此交易数据传输给USB Key进行签名运算。然而,隐藏在用户计算机上的恶意程序会监控网上银行客户端软件与USB Key之间的通信,会截取交易数据,然后伪造或篡改其中的金额并传输给USB Key,导致用户签署的并不是刚才确认过的交易数据。
因此,迫切需要采用新的技术手段解决上述安全问题。由于用户在交易过程中,是被动的接受交易系统处理的结果,其前提是假设交易系统是安全的,不会违背用户的意愿进行操作,而用户无法干预交易系统的行为,因为用户和交易客户端之间的交互也是一种逻辑过程。这样就给客户端上的恶意程序以可乘之机。因此,一种解决思路是从增强用户对交易过程的可控性,也即提高用户在交易过程中的参与程度,使用户能够直接对交易内容进行认证,控制交易流程。由于用户的参与是物理过程,它无法由任何恶意程序模拟,因此可以有效杜绝上述安全隐患。另一方面,还必须考虑新的解决方案对现有网上交易系统的影响以及应用的紧迫性,这就要求新方案对现有系统改动尽可能小,同时又能快速应用。
本发明涉及一种已有技术,称为CAPTCHA技术,其英文全称为“Completely Automated Program to Tell Computer and Human Apart”,或者“Completely Automated Public Turing test to tell Computer andHuman Apart”。其含义都是指“一个完全自动的程序来区分人和机器”,这里的“机器”包括硬件设备和其上运行的软件。其思想是设计一种程序,使得人能够很容易的通过该程序的测试,而机器(程序)却无法通过测试,从而达到分辨人和机器的目的。该项技术在互联网领域得到广泛的应用,几乎每一个需要用户注册的网站都使用了某种形式的CAPTCHA,如常见的在登录网站时要输入的一个图片形式的验证码。此时,图片形式的验证码就是这种测试程序,人能够很容易识别图片形式的验证码中的内容,而计算机程序却很难识别,从而防止程序的自动注册或认证。该技术的原理和实现很简单,但其达到的效果却很好,例如图7所示的一种典型的CAPTCHA验证图片。
该图片一般正常人都可以识别为AKSXB7,但对一个计算机程序而言就很困难,因为字母现状、位置都没有规律,而且还加入了干扰和阴影处理等。CAPTCHA技术实现简单,可以根据不同的应用及安全需要实现不同程度的认证图片。利用CAPTCHA技术生成的认证图片就可以将物理认证过程引入到交易流程中,因为用户对认证图片的识别是物理过程,从而使用户直接参与到交易过程中。并且这种物理过程无法由任何计算机程序所模拟,也就使得恶意程序无法模拟或篡改认证图片所包含的交易内容。
但是就本发明人所知,目前还没有将物理认证和CAPTCHA技术生成的认证图片结合起来进行安全认证的技术。

发明内容
本发明的目的在于提供一种面向签名数据的安全认证方法及其系统。该方法及其系统可以解决目前急需解决的“交易伪造”和“交易劫持”等新的安全问题,并能够有效防止各种利用客户端安全漏洞所发起的针对在线电子交易的攻击行为,尤其是提高目前广泛使用的带USB Key设备的网上交易的安全性。
为了实现前述目的,本发明提出一种面向签名数据的安全认证方法,通过通信链路在相互连接的客户端与服务端之间传送数据,其特征在于,所述安全认证方法包括以下步骤S1用户通过客户端向服务端发出待签名的数据;S2服务端向客户端返回待认证信息,并在客户端以逻辑方式显示待认证信息;S3用户对客户端显示的待认证信息进行识别,并且确认待认证信息的内容是否正确,如果待认证信息内容正确,用户发起物理认证操作,并进入步骤S5,否则,进入步骤S4;S4取消认证操作;S5在客户端对S1中的所述数据进行数字签名,并发送到服务端。
本发明还提出一种面向签名数据的安全认证系统,其中,客户端与服务端通过通信链路连接,其特征在于包括客户端设备,用于用户输入待签名的数据,并向服务端发出所述数据,以逻辑方式显示来自服务端的待认证信息;服务端设备,接收客户端发出的数据,并且基于所述数据生成待认证信息返回给客户端;带按键签名设备,与所述终端设备连接,用于用户对所述待认证信息的确认,当用户确认所述待认证信息后,用户启动所述带按键签名设备对所述数据进行数字签名。
这样,使合法使用者能够以物理方式,例如按键的方式,对待认证信息进行确认,提高了安全性。本发明既能满足“所见即所签”的安全需求,防止“交易伪造”和“交易劫持”两种新的攻击,同时对现有带签名认证设备的交易系统改动很小,使用户在投入极少量成本的情况下,获得更高的安全性。本发明符合技术成本和安全性的要求,满足现有应用中最迫切的安全需求。
本发明适用于在线交互系统,例如网上购物、网上银行业务、网上报税等。
本发明的特点和优点如下1.利用CAPTCHA技术的特点,结合交易流程的改进,从而解决目前广泛使用的带USB Key的在线电子交易中存在的严重的安全问题。用户只需要使用带有按键的签名设备即可,而这种增加按键的签名设备相比目前使用的USB Key设备仅增加极小的成本,仍然符合用户的使用习惯,能够快速应用到现有系统中,满足紧迫性需求。
2.本发明无需对现有交易系统的客户端进行改进,仅需要对服务器端交易系统进行极小的改动,并且实现改动的复杂性很低,易于快速实施和应用。
3.通过流程设计,确保了待签名数据从签名设备端到服务器端的加密传输,保证签名设备和服务器端数据的一致性,防止客户端恶意程序对数据的篡改。
4.通过按键操作,首先能够确保交易按照合法用户的意愿进行,客户端上恶意程序无法伪造用户身份进行交易;其次,能够确保待签名数据在用户认可的情况下进行签名,保证了交易数据符合用户意愿。


下面结合附图和具体实施方式
对本发明作进一步的说明。
图1是表示本发明实施方式中认证方案系统的结构图。
图2是表示本发明实施方式中使用的带按键签名设备的结构图。
图3是表示本发明实施方式中使用的带按键签名设备的内部逻辑结构图。
图4是表示应用本发明实施方式中的认证方案的典型交易流程图。
图5是表示本发明实施方式中使用的包含待认证数据的CAPTCHA图片示例的图。
图6是表示利用本发明实现网上银行转账业务的示例的图。
图7是表示一种典型的CAPTCHA验证图片的图。
具体实施例方式
利用物理认证和CAPTCHA技术生成的认证图片结合起来进行安全认证,要求采用CAPTCHA技术生成的包含交易内容的图片要满足1、图片内容是否通过验证,必须由用户控制,并且是否通过的判断结果,不能在用户计算机上输入;2、如果图片是攻击者伪造的,用户可以立即识别;3,图片很难篡改,如果被篡改,用户应可立即识别。
参考本申请人在先申请的第200610113569.4号中国发明专利申请《数字签名设备与其对端设备实现数据交互的方法》,采用带按键并具备操作控制列表技术的带按键的数字签名设备USB Key能够满足第一个要求,因为,交易的发起和确认可以直接由用户通过按键控制,程序无法模拟用户的行为或伪造用户的判断结果,并且也可避免在客户端直接输入认证结果;其次,要满足上述第二条要求,需要用户和服务方之间必须有一个共同约定的“交易识别码”,以确保该图片是从真实的服务方而来,并且该识别码以离线方式协商确定,不在用户计算机上保存,在交易过程中也不会以文本方式出现,只能以CAPTCHA图片方式显示给用户进行确认。由于攻击者无法利用程序方式获取该信息,同时由CAPTCHA图片的随机性和干扰性使得攻击者很难直接从图片中扫描获取该识别码,因此,攻击者无法伪造成服务方,确保了信息来源的身份真实性;最后,要满足第三条要求,首先,服务方发往客户端用户进行认证的交易信息完全由图片方式表示,不包含任何文本信息,其次,利用多重CAPTCHA技术处理,将交易识别码和待认证信息叠加在图片中,使其难以被分割和分离。由于攻击者无法获取交易识别码,因此它不能直接伪造出符合服务方真实身份的图片,即使直接篡改原图片中待认证信息的内容,也将破坏原图片中交易识别码,因此很容易被用户识别。
图1是表示本发明实施方式中认证方案系统的结构图。如图所示,认证方案涉及四个实体服务方、客户端交易软件、带按键签名设备和用户。其中虚线箭头表示离线操作过程,用于用户和服务方针对某种服务进行的协商操作。实线箭头表示数据流向,其中用户到带按键签名设备之间的箭头表示用户的按键操作。
(1)服务方提供电子交易的服务方,位于电子交易服务提供商一端,通常包含大型数据库和交易服务端软件,存储和处理服务内容、客户信息、以及交易信息等,由服务提供商确保高度安全性。需要说明的是,在本发明设计的流程中,可以假设服务方是可信的,也就是说,服务方处理的数据不会被恶意程序攻击,或这种攻击的可能性很小或代价很高。就如同我们相信银行不会把用户账户的金额弄错一样。在现实环境中,该假设是合理的。
(2)客户端交易软件位于用户计算机上,是用户进行电子交易的操作平台,为用户提供基本的交易服务功能。它接收具有安全保护的用户输入,与电子交易服务方进行数据交互,形成交易数据,并将交易数据发送给签名设备,得到数字签名结果后发送给服务方。同样,在本发明设计的流程中,我们也假设客户端交易环境是不安全的,也即客户端交易软件存在被恶意程序攻击的可能性。用户输入的数据以及交易软件处理的数据可能会被伪造或篡改。在现实环境中,按照一般情况,用户计算机均安装的安全级别低的通用操作系统,例如WINDOWS系统,该假设是合理的。
(3)带按键签名设备同目前通用的USB Key类似,通过USB接口与用户计算机相连,存放用户的签名私钥和证书。不同之处在于,该签名设备带有按键,用户通过按键能够直接控制签名设备进行某种特定的操作,包括对待签名数据的确认和加密及签名运算功能。同样,我们假设带按键签名设备是可信的,其内部的数据存储或处理不会或很难被恶意程序攻击,或者这种攻击的代价极大。在现实环境中,该假设是合理的。
(4)用户用户是交易的发起方和交易最终的确认方。在系统结构中,用户除了在交易过程中通过按键参与到交易中,还在交易之前的某个时刻需要和服务方通过离线方式(例如通过服务方提供的营业柜台办理业务等)就所提供的服务达成某种协议(例如签订服务协议,开通服务等),其中包括对服务方身份信息达成共识(例如采用某种共同认可的数字或图片方式的识别码)。
需要强调的是,在本发明中,用户和服务方离线协商的关键是标识服务方身份的“交易识别码”。它是用户在交易的认证过程中识别服务方的身份,防止恶意程序冒充服务方发出伪造的待认证信息。并且,该识别码在离线协商过程中由用户获取后,并在整个交易过程中,只以CAPTCHA图片的形式在客户端进行显示,不在客户端以文本方式输入或存储,确保该信息不会或很难被攻击者以程序方式获取。
图2是表示本发明实施方式中使用的带按键签名设备的结构图。图3是表示本发明实施方式中使用的带按键签名设备的内部逻辑结构图。上图显示了本发明所采用的带按键签名设备的典型的内部组成结构,由于在本申请人申请的前述专利文件中已做出详细说明,在此不再累述,只有与本发明的论述有关的装置和单元才加以说明。带按键签名设备是在电子交易中常用的签名设备,如银行发行的USB Key,并且,该签名设备带有按键,也即具备物理认证能力,技术细节可参考本申请人的前述专利申请。用户能够通过按键发出不同的操作指令,主要包括两种一是“交易发起”操作,即用户通过按键通知签名设备执行“交易发起”;二是“确认交易”操作,即用户确认交易数据后,通过该操作通知签名设备执行签名。同样,签名设备自身是一个安全封闭的计算环境,其自身的安全性能也不在本发明的考虑之列。如该图所示,本发明所采用的签名设备与现有的USB Key相比,增加了待签名数据的验证装置,确保进入签名设备中的交易数据正确无误并符合用户意愿。总体而言,该签名设备包括中央处理器,以及与其相连的加密与签名运算装置、待签名数据的验证装置、存储器、输入输出接口。
中央控制器,用于控制和协调与之相连的其他装置。在实际应用中,中央控制器一种优选的实现方式是,硬件方面采用32位的ARM处理器,软件方面采用芯片操作系统(COS,Chip Operating System)。
加密与签名运算装置,能够保证指令与应答的机密性和完整性,能够保证签名密钥和运算过程的安全性。该装置一种优选的实现方式是,硬件上配置为协处理器,可以执行标准的多种长度的算术运算,例如乘法、求幂等。它可以直接执行一般的加解密功能,独立完成3DES/AES和RSA算法。它还可以在中央控制器的控制下完成由3DES/AES和RSA算法组成的混合密码体制,以实现加解密运算、数字签名等功能。
存储器,用于保存密钥、证书、交易数据等。对于该发明的方案来说,可以同时采用多种类型的存储器,包括RAM、EEPROM、Flash ROM等。
输入/输出接口,用于接收、处理和响应来自客户端的指令。当该签名设备利用USB Key来实现时,输入/输出接口采用USB控制器。
待签名数据的验证装置,根据用户的按键操作对待签名数据进行相应的加密或签名操作。
应当指出,上述各个装置不限于以独立实体的形式存在,这些装置中每一个都可以作为中央控制器的一个组成部分,还可将其中任意几个装置结合为一个独立实体。
更进一步地,参照图3描述待签名数据的验证装置。该装置包括交易指令判断单元、交易数据处理单元、按键指令判断单元。
交易指令判断单元,用于判断签名设备从客户端收到的指令的类型,并在判断为包含交易数据的指令时将其指令体传递给交易数据处理单元。该单元的具体功能是根据指令头来判断所接收的指令的类型,并通知相应设备进行处理。如果判断出收到的指令为包含交易数据的指令,则指令判断单元从该指令中分离出指令体传递给交易数据处理单元。
交易数据处理单元,用于从传递过来的指令体中解析出实际的交易数据,并根据按键指令判断单元的判断结果执行相应的处理。主要包括两类处理,一种是将交易数据进行加密处理,一种是对交易数据进行签名操作。
按键指令判断单元,用于接收和判断用户根据所识别的交易数据的情况发出的按键指令。数字签名设备通过按键指令判断单元检测到对应于不同操作的按键时,才会执行相应的加密或签名操作。如图2所示,在签名设备USB Key上,按键指令判断单元包括“交易发起键”和“交易确认键”。用户在交易初始输入交易数据后按下“交易发起键”,随后,将根据自己的意愿对客户端上显示的交易数据项进行确定或否定,如果确认数据项正确无误并符合用户意愿,就按下“交易确认键”,否则无需按键。系统根据不同按键的按下识别用户的操作指令,以决定是否执行相应的加密或签名操作。
基于上述实体和软件进行电子交易和数字签名的过程如图4所示,包括以下步骤在步骤400,用户和服务方离线协商一个共同认可的“交易识别码”。用户保存该交易识别码,以作为在实际交易过程验证服务方身份的凭证。服务方在后台数据库中建立识别码和该用户之间的关联。该步骤不在实际交易过程中发生,而在任何实际交易之前非计算机网络途径协商好,例如电话、短信、刮刮卡或面对面协商。该步骤可以完成一次后,执行多次交易有效,也可定期进行,更新交易识别码。识别码由图片生成者统一派发到用户手中,由用户保存。前述的派发是指不经由计算机设备的其他任何方式。
在步骤401,用户使用客户端上的交易软件,实施基本的交易操作,输入交易信息。输入完成后按下带按键签名设备(以下简称USB Key)上的“交易发起键”,通过这样的物理操作,发起认证。需要指出的是,“交易发起键”及后述的“交易确认键”不仅可以是按键也可以是拔动键、软键盘、手写输入等输入部件。
在步骤402,USB Key接收到“交易发起”指令后,将从客户端交易软件接收到的交易数据进行加密处理,并将加密后的交易数据返回给客户端交易软件,由其发送给服务器。
在步骤403,服务器接收到加密后的交易数据后,解密数据并将其中的交易关键信息(例如用户名、账号、交易金额等)以及和该用户对应的交易识别码一同交给CAPTCHA模块进行处理。
在步骤404,CAPTCHA模块首先随机生成带干扰信息的背景图片,然后分别对交易数据和交易识别码进行处理后叠加到图片背景上,通常可以将信息量大的交易数据放在底层,交易识别码叠放在交易数据之上,原则是两者不容易分割,同时又不会影响识别。完成后返回包含交易数据和交易识别码的待认证图片。
在步骤405,服务器将待认证图片返回客户端交易软件,由其显示在屏幕上,并提示用户进行识别确认。
在步骤406,用户识别图片内容,首先识别图片中的交易识别码是否和自己在400步骤所协商的交易识别码一致,然后识别图片中的交易数据是否符合自己的交易意愿。在此,识别是指用户以肉眼直接辨识信息内容。
在步骤407,如果上述两者均正确,则转到步骤409,否则,只要其中一项不正确,则转到步骤408。
在步骤408,对待认证数据的认证失败,客户端交易软件将取消本次交易,并根据不同情况,执行某些后续操作。对待认证数据的认证过程完成。
在步骤409,对待认证数据的认证成功,用户此时通过按下“交易确认”键通知USB Key对交易数据的认可。
在步骤410,USB Key接收到“交易确认”按键指令后,将对先前收到的交易数据进行签名,并将签名后的数据返回给客户端交易软件。
在步骤411,客户端交易软件将签名后的交易数据发送给服务器,并继续本次交易的后续操作或结束交易。本次交易中对待认证数据的认证过程完成。
在上述过程中,客户端和服务方是电子交易的参与双方,经由Internet进行通信,遵循TCP/IP协议,需要通过加密和签名保证通信数据的机密性、完整性和真实性。上述的逻辑和物理相结合的认证方法,在一次认证过程中,同时采用程序逻辑和物理控制两种方式对信息内容进行确认,可以提高安全性。
客户端的交易软件包含两方面的功能。其一,与服务端进行交互,完成基本交易功能;其二,集成签名软件,支持USB Key,通过USB Key驱动向USB Key发出数字签名命令,并接收USB Key的响应。当然也可以把签名软件与交易软件分开。
客户端交易软件与USB Key的命令和数据交互,需要USB Key驱动的支持。目前存在于客户端的驱动是木马程序攻击的目标之一。木马程序替换或隐藏于驱动中的某个动态链接库文件,就可以截获和篡改进入USB Key的数据。可以在上述技术方案中增加检验驱动的完整性的过程以及相关装置,但这已没有必要,因为USB Key内部能够根据用户的物理识别对交易数据进行确认,如果数据遭受篡改,用户可以拒绝签名。
在上述过程中,签名设备USB Key提供了超时机制,在规定的时间内会终止相关操作,结束本次交易。超时机制能够限制恶意程序对待认证图片攻击的时间,加大图片被伪造或篡改的难度,增强认证过程的安全性。超时机制同时也能够使用户在交易过程中尽管已经“发起”交易,并识别交易数据正确后,因某种原因,无法按下USB Key上的按键时,自动终止本次交易,确保用户认可的交易信息不会长时间处于有效状态,给攻击程序以可乘之机。另一方面,服务方也可设置超时机制,和USB Key中的超时机制配合使用。
需要说明的是,USB Key只提供了“确认”按键,可以不提供“取消”按键,而所有用户需要取消交易的操作直接由客户端交易软件以界面形式提供,这种方式不会对认证过程带来额外的安全问题。因为,针对客户端交易软件的攻击程序有可能将用户输入的“取消”操作截获,并替换为“确定”操作,但该信息对服务方而言是无效的,服务方只接收来自USB Key内部具有私钥签名的确认信息,而该私钥攻击程序无法得到,因此无法达到攻击目的。
另外,由于交易识别码在多次交易中是相同的,攻击者可以在一次认证过程中截获认证图片,分析出其中的交易识别码,在下次交易中就可以伪造认证图片。因此本认证方案建议用户和服务方定期协商新的交易识别码,或采取动态的交易识别码(例如在协商一个固定的交易识别码后,附加上简单的改变规则),以增加攻击者获取交易识别码的难度。
下面,以网上个人银行的转账业务为例说明本发明。
图5是表示本发明实施方式中使用的包含待认证数据的CAPTCHA图片示例的图。该图只是举例说明服务方交易系统利用CAPTCHA技术生成的包含交易识别码和交易数据的CAPTCHA图片。其中,IXG5B为“交易识别码”,它是由用户和服务方在交易之前协商好的数字和字符类型的识别码。而背景上的户名、账号、金额等信息是交易数据。网上个人银行客户端交易软件显示该图片,并要求用户对类似图5这样的交易数据进行确认,确认正确后通过“交易确认”键通知USB Key进行数字签名,交易才会继续进行。
本发明的重点在于,在服务方相对安全的计算环境中,利用CAPTCHA技术生成很难被恶意程序伪造或篡改的认证图片,将交易信息包含在其中,在客户端由用于对图片内容识别并确认,同时,直接用物理方式控制USB Key对交易数据进行签名。即,逻辑和物理相结合的认证方法,是指在一次认证过程中,同时采用程序逻辑和物理控制两种方式对信息内容进行确认。在下述示例中,逻辑方式使用的是CAPTCHA技术,认证信息是利用CAPTCHA技术生成的可由计算机显示的包含待认证信息的图片。
利用本发明的实际的网上银行转帐业务详细流程如图6所示。
在步骤600,用户在银行柜台申请网上个人银行业务时,针对转帐业务设置交易识别码。
在步骤601,用户使用网上个人银行客户端交易软件输入交易信息。
在步骤602,客户端交易软件将交易信息发送USB Key。
在步骤603,客户端交易软件显示交易信息,并提示用户按“交易发起键”。
在步骤604,用户在确认自己输入的交易信息无误后,按下USB Key上的“交易发起”键。
在步骤605,USB Key将交易信息加密后返回客户端交易软件。
在步骤606,客户端交易软件向银行发出交易请求以及加密的交易数据。
在步骤607,银行后台交易系统获取该用户的交易识别码,将其和交易数据利用CAPTCHA模块进行处理,生成待认证图片,并返回给客户端交易软件进行显示。
在步骤608,用户识别认证图片内容,如果其中交易识别码和交易数据均正确,则进入步骤613,否则,只要有一项不正确,则进入步骤609。
在步骤609,客户端交易软件判断用户是否在按下取消交易按钮。如果是,则进入步骤610,否则进入步骤611。
在步骤610,客户端交易软件通知USB Key取消交易。USB Key进行相应的处理。
在步骤611,USB Key在一定时间后自动取消本次交易,并向客户端报告错误原因。
在步骤612,客户端交易软件向银行报告错误并取消本次交易,通知用户,流程结束。
在步骤613,用户按下USB Key上的“交易确认”键。操作命令包括安全运算命令和数据读写命令,所述安全运算命令包括数据加密、数据解密、数字签名、数字摘要,所述数据读写命令包括SCSI(Small ComputerSystems Interface小型计算机系统接口)规定的读写命令。
在步骤614,USB Key要求客户端交易软件提示用户输入签名私钥保护PIN。
在步骤615,客户端交易软件将用户输入的PIN送入USB Key,USB Key判断PIN是否正确。如果PIN正确,则进入步骤617,否则进入步骤616。
在步骤616,USB Key向客户端交易软件报告错误并取消操作。
在步骤617,USB Key进行对交易数据数字签名运算。
在步骤618,USB Key将签名数据返回给客户端交易软件。
在步骤619,客户端交易软件将签名后的交易数据发送给银行。
在步骤620,银行验证签名合法性并执行转帐操作,同时保存交易记录。
因此,本发明的客户端向服务器发送请求消息后,服务器端返回一组认证图片(CAPTCHA图片),该图片包含了服务器端身份信息和需签名数据信息,客户端通知用户对该信息进行确认,通过后由用户通过按键通知签名装置进行签名。这就实现了在客户端以物理方式对需签名数据进行确认,增加了客户端篡改和伪造数据的难度,加强了进行签名数据的安全性。
本发明既能满足“所见即所签”的安全需求,防止“交易伪造”和“交易劫持”两种新的攻击,同时对现有带签名认证设备的交易系统改动很小,使用户在投入极少量成本的情况下,获得更高的安全性。本发明符合技术成本和安全性的要求,满足现有应用中最迫切的安全需求。
权利要求
1.一种面向签名数据的安全认证方法,通过通信链路在相互连接的客户端与服务端之间传送数据,其特征在于,所述安全认证方法包括以下步骤S1用户通过客户端向服务端发出待签名的数据;S2服务端向客户端返回待认证信息,并在客户端以逻辑方式显示待认证信息;S3用户对客户端显示的待认证信息进行识别,并且确认待认证信息的内容是否正确,如果待认证信息内容正确,用户发起物理认证操作,并进入步骤S5,否则,进入步骤S4;S4取消认证操作;S5在客户端对S1中的所述数据进行数字签名,并发送到服务端。
2.根据权利要求1所述的安全认证方法,其特征在于在步骤S3中所述的物理认证操作,是指通过带按键签名设备,以物理的方式发出确认指令。
3.根据权利要求1所述的安全认证方法,其特征在于在步骤S1中,用户通过所述带按键签名设备进行手动触发,发起对所述数据的认证,通过客户端向服务端发出所述数据。
4.根据权利要求1所述的安全认证方法,其特征在于在步骤S1中,用户先输入所述数据,然后手动触发认证,所述带按键签名设备对所述数据进行加密后,用户通过客户端向服务端发出已加密的所述数据。
5.根据权利要求4所述的安全认证方法,其特征在于在步骤S2中,所述服务端接收到已加密的所述数据之后,解密得到所述数据,并且,将加上与用户事先协商好的识别码,生成待认证信息,并返回给客户端。
6.根据权利要求1或5中任一项所述的安全认证方法,其特征在于在步骤S2中,服务端利用CAPTCHA技术或者多重CAPTCHA技术生成待认证信息,并返回给客户端。
7.根据权利要求1所述的安全认证方法,其特征在于在步骤S2中,以逻辑方式显示待认证信息,是指显示利用CAPTCHA技术或者多重CAPTCHA技术生成的、包括待认证信息的图片。
8.根据权利要求1所述的安全认证方法,其特征在于在步骤S2中显示的待认证信息,包括表示所述待认证信息生成者的身份信息以及所述数据。
9.根据权利要求8所述的安全认证方法,其特征在于在步骤S3中,确认待认证信息的内容是否正确,包括基于用户事先获取的服务端识别码来确认所述待认证信息生成者的身份信息是否正确;以及,通过确认所述待认证信息中包括的所述数据是否与用户在步骤S1中发出的数据相一致,而确认所述数据是否正确。
10.根据权利要求1所述的安全认证方法,其特征在于在步骤S5中,对步骤S1中的所述数据进行数字签名,是由所述带按键签名设备对步骤S1中的所述数据进行数字签名后,由客户端发送给所述服务端。
11.一种面向签名数据的安全认证系统,其中,客户端与服务端通过通信链路连接,其特征在于包括客户端设备,用于用户输入待签名的数据,并向服务端发出所述数据,以逻辑方式显示来自服务端的待认证信息;服务端设备,接收客户端发出的数据,并且基于所述数据生成待认证信息返回给客户端;带按键签名设备,与所述终端设备连接,用于用户对所述待认证信息的确认,当用户确认所述待认证信息后,用户启动所述带按键签名设备对所述数据进行数字签名。
12.根据权利要求11所述的安全认证系统,其特征在于所述带按键签名设备独立于所述客户端,并且具有输入部件。
13.根据权利要求11所述的安全认证系统,其特征在于所述客户端以逻辑方式显示来自服务端的待认证信息,是指显示利用CAPTCHA技术或者多重CAPTCHA技术生成的、包括待认证信息的图片。
14.根据权利要求11所述的安全认证系统,其特征在于所述带按键签名设备对于所述数据进行数字签名后,由所述客户端发送给所述服务端。
15.根据权利要求11所述的安全认证系统,其特征在于所述带按键签名设备对于用户输入的数据进行加密,然后发给客户端,由客户端发送给服务端。
16.根据权利要求11所述的安全认证系统,其特征在于所述待认证信息包括表示所述待认证信息生成者的身份信息以及所述数据。
全文摘要
本发明涉及一种面向签名数据的安全认证方法及系统。该安全认证方法包括以下步骤S1用户通过客户端向服务端发出待签名的数据;S2服务端向客户端返回待认证信息,并在客户端以逻辑方式显示待认证信息;S3用户对客户端显示的待认证信息进行识别,并且确认待认证信息的内容是否正确,如果待认证信息内容正确,用户发起物理认证操作,在客户端对所述的数据进行数字签名,并发送到服务端,否则,取消认证操作。本发明成本低、安全性高,适用于在线交互系统,例如网上购物、网上银行业务、网上报税等。
文档编号H04L12/56GK101051907SQ20071009915
公开日2007年10月10日 申请日期2007年5月14日 优先权日2007年5月14日
发明者陈幼雷, 冯秀涛, 高翔 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1