一种安全连接的方法、POS终端及密码键盘与流程

文档序号:14124393阅读:397来源:国知局
一种安全连接的方法、POS终端及密码键盘与流程

本发明属于数据安全技术领域,尤其涉及一种安全连接的方法、pos终端、密码键盘及计算机可读存储介质。



背景技术:

现行刷卡消费中广泛使用密码支付,用户个人密码安全成为保护用户资金的一个重要保障。用户个人密码如果以明文形式从终端传送到前台主机,在通信过程中极易被监听,因此明文密码键盘不足以满足安全性要求,存在极大的安全隐患。

为防止用户密码在通信过程中被窃取,提高支付过程的安全性,最简便的方法就是采用直接加密键盘,例如:采用在安全房中注入密钥的方式或者是在商用环境下注入密钥。然而,这两种做法都比较繁琐,安全性较差,都无法真正提升密码键盘的安全性,从而无法保护用户在密码键盘上输入的个人识别码在输入和传输过程中的安全。



技术实现要素:

有鉴于此,本发明实施例提供了一种安全连接的方法、pos终端及密码键盘,以在普通环境下建立pos终端与密码键盘之间的安全连接,提高pos终端与密码键盘之间数据传输的安全性。

本发明实施例的第一方面提供了一种安全连接的方法,应用于pos终端和密码键盘pinpad,包括:

所述pos终端在接收到与所述pinpad建立连接的信息后,向所述pinpad发送认证请求信息;

所述pinpad在接收到所述认证请求信息后,将预先存储的数字证书发送给所述pos终端;

所述pos终端在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥;

所述pos终端生成传输密钥,并通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad;

所述pinpad在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥,以通过所述传输密钥建立与所述pos终端的安全连接。

本发明实施例的第二方面提供了一种安全连接的方法,应用于pos终端,包括:

在接收到与pinpad建立连接的信息后,向所述pinpad发送认证请求信息,以使得所述pinpad在接收到所述认证请求信息后,将预先存储的数字证书发送给所述pos终端;

在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥;

生成传输密钥,并通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad,以使得所述pinpad在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥,以通过所述传输密钥建立与所述pos终端的安全连接。

本发明实施例的第三方面提供了一种安全连接的方法,应用于密码键盘pinpad,包括:

在接收到pos终端发送的认证请求信息后,将预先存储的数字证书发送给所述pos终端,以使得所述pos终端在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥,同时生成传输密钥,并通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad;

在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥,以通过所述传输密钥建立与所述pos终端的安全连接。

本发明实施例的第四方面提供了一种pos终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面所述方法的步骤。

本发明实施例的第五方面提供了一种计算机可读存储介质,包括:该计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述第二方面所述的方法的步骤。

本发明实施例的第六方面提供了一种密码键盘,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第三方面所述方法的步骤。

本发明实施例的第七方面提供了一种计算机可读存储介质,包括:该计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述第三方面所述的方法的步骤。

由上可知,本发明实施例与现有技术相比存在的有益效果是:本发明实施例所述pos终端在接收到与所述pinpad建立连接的信息后,向所述pinpad发送认证请求信息,所述pinpad在接收到所述认证请求信息后,将预先存储的数字证书发送给所述pos终端,所述pos终端在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥,生成传输密钥,通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad,所述pinpad在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥。通过本发明实施例,pos终端可以在普通环境(非安全房)下与pinpad建立安全连接,提高了pos终端与密码键盘之间数据传输的安全性。本发明实施例采用pos终端向pinpad单向认证的方式确保pinpad的合法性,然后在pos终端和pinpad之间建立安全链路,再对会话进行加密,具有安全性高、防泄密、移植性好、效率高的特点,能够快速的完成认证,并能有效的防止数据篡改、中间人攻击、伪造签名等各种攻击手段,提高交易数据和个人密码的安全,具有较强的易用性和实用性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的安全连接方法的实现流程示意图;

图2是本发明实施例二提供的安全连接方法的实现流程示意图;

图3是本发明实施例三提供的安全连接方法的实现流程示意图;

图4是本发明实施例四提供的pos终端示意图;

图5是本发明实施例五提供的密码键盘的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

应理解,下述方法实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对各实施例的实施过程构成任何限定。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一

本发明实施例提供了一种安全连接的方法,请参阅图1,本发明实施例中的安全连接方法包括以下步骤:

步骤s101:所述pos终端在接收到与所述密码键盘pinpad建立连接的信息后,向所述pinpad发送认证请求信息。

具体的可以是,所述pos终端在接受到用户发出的与所述密码键盘pinpad建立连接的指令后,向所述pinpad发送认证请求信息;其中所述pos终端,又称销售终端(pointofsale,pos),是一种多功能终端,把它安装在信用卡的特约商户和受理网点中与计算机联成网络,就能实现电子资金自动转帐,它具有支持消费、预授权、余额查询和转帐等功能。

在本实施例中,所述认证请求信息中可以携带有所述pos终端的标识符信息,所述pinpad主要用于提供个人识别码pin的输入以及对输入的pin进行加密保护的安全设备。

步骤s102:所述pinpad在接收到所述认证请求信息后,将预先存储的数字证书发送给所述pos终端。

需要说明的是,所述数字证书(digitalcertificate)是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印,可以认为它是加在数字身份证上的一个签名。

进一步地,所述pinpad在将预先存储的数字证书发送给所述pos终端之前,还可以包括:

所述pinpad生成公钥和私钥,并将所述私钥存储至预先创建的安全区域,基于所述公钥生成包含所述公钥的数字证书;

所述pinpad将包含所述公钥的数字证书发送至签名服务器,以使得所述签名服务器在接收到包含所述公钥的数字证书之后,对包含所述公钥的数字证书进行签名,并将签名后的所述数字证书发送给所述pinpad;

所述pinpad在接收到签名后的所述数字证书后,将签名后的所述数字证书存储至所述安全区域。

具体可以是,通过调用pinpad提供的公私钥密钥对的生成接口来生成公私密钥对,所述公钥和私钥可以是rsa公私密钥对。

其中,所述安全区域可以是pinpad内的flash安全区域。

具体的可以是,pinpad生成rsa公私密钥对,并将rsa私钥保存在flash安全区域,根据rsa公钥生成包含rsa公钥的x509数字证书,然后将所述x509数字证书发送到paxca签名服务器,通过paxca签名服务器的私钥对所述x509数字证书进行签名后生成pincax509数字证书,然后返回给pinpad,pinpad将所述pincax509数字证书保存在所述flash安全区域,而pos终端在生产阶段需要注入用于认证pinpad合法性的paxca根证书,并将所述paxca根证书固化在pos终端的操作系统里。

步骤s103:所述pos终端在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥。

本实施例中,在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥可以包括:

在接收到所述数字证书后,通过固化的根证书验证接收到的所述数字证书的签名是否正确,若签名正确,验证接收到的所述数字证书的颁发者和使用者是否正确,若颁发者和使用者正确,验证接收到的所述数字证书是否超过有效期,若未超过有效期,则确定接收到的所述数字证书验证通过,获取该数字证书中的公钥。

其中,所述根证书可以在生产阶段注入到pos终端设备并固化在pos终端的操作系统里。所述根证书用于认证pinpad的合法性,如果认证通过,则认为pinpad是可信任的,可以进行pin输入;否则认为pinpad不可信任,pin输入是不安全的。在本实施例中,由于pin加密密钥tpk(terminalpinkey,tpk)始终存在于pos终端,不会注入到pinpad,保证了tpk的安全性和私密性,即使pinpad受到攻击,tpk也不会外泄。

其中,所述数字证书的颁发者是指权威机构——证书授权中心(certificateauthority,ca)。数字证书的作用是证明证书中列出的用户名称与证书中列出的公开密钥相对应。需要说明的是,pinpad将包含所述公钥的数字证书发送至签名服务器ca之前,一般是先发送给数字证书注册中心(registerauthority,ra),该系统具有证书的申请、审批、下载等一系列功能,为整个机构体系提供电子认证服务,由ra系统完成相应的审核后,再提交ca签发,ca同意申请则会用ca自己的证书私钥对通过审核的数字证书进行签名认证,并将签名处理后的数字证书信息发送至pinpad。

步骤s104:所述pos终端生成传输密钥,并通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad。

示例性的,在数字证书验证通过后,则表明pinpad是可信任的,此时pos终端可以生成一段16字节随机数作为传输密钥,并通过从所述数字证书中提取出来的公钥加密传输密钥,得到传输密钥密文并发送给pinpad。

步骤s105:所述pinpad在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥,以通过所述传输密钥建立与所述pos终端的安全连接。

进一步的,在所述pinpad获得所述传输密钥之后,还包括:

所述pos终端向所述pinpad发送要求输入个人识别码pin的指令;

所述pinpad在接收到所述指令之后,输入pin,并通过所述传输密钥对输入的pin进行加密,将加密后的pin返回给所述pos终端;

所述pos终端在接收到所述加密后的pin之后,通过所述传输密钥对所述加密后的pin进行解密,获得pin,并通过预先存储的加密密钥对所述pin进行加密获得pinblock密文;

所述pos终端将所述pinblock发送至交易后台,以完成支付交易。

其中,个人识别码(personalidentitynumber,pin),pin通常是由0-9中的任意4-12位数字组成。

需要说明的是,实际应用中,由于个人识别码pin长度一般为6位,不符合加密算法的固定分组长度要求,所以需要对pin进行填充使之达到一个分组的长度(8字节/64位),然后加密计算从而保证pin的机密性,填充后的pin的分组数据块就称之为pinblock。其中加密后的pinblock的数据格式具体可以如下表1所示:

表1

其中,1-64表示pinblock的位数,共64位;

c为控制字段,默认为1,即:0001;

n是pin的长度,范围从4(0100)-12(1100);

p为pin的每一位十进制数对应的二进制数值,范围为0(0000)-9(1001);

p/t这些字段的具体数值是由pin长度确定;

t是随机填充数,范围为0(0000)-15(1111),随机填充数的位数w=56-(4*n)可唯一确定。

示例性的,当pos端获得明文的pin后,会根据指定的模式生成pinblock,如果指定了模式1(不带主账号信息),则在用户输入的pin为“123456”时,随机填充数均为0时,8字节的pinblock的各个bit如下所示:

1-4位控制字段:0001(固定值);

5-8位pin的长度:0110(即pin长度为6);

9-12位pin值:0001(pin第一个字节“1”);

13-16位pin值:0010(pin第二个字节“2”);

17-20位pin值:0011(pin第三个字节“3”);

21-24位pin值:0100(pin第四个字节“4”);

25-28位pin值:0101(pin第五个字节“5”);

29-32位pin值:0110(pin第六个字节“6”);

33-36位随机填充数:0000;

37-40位随机填充数:0000;

41-44位随机填充数:0000;

45-48位随机填充数:0000;

49-52位随机填充数:0000;

53-56位随机填充数:0000;

57-60位随机填充数:0000;

61-64位随机填充数:0000。

那么pinblock的从1-64位二进制数是:0001011000010010001101000101011000000000000000000000000000000000;

对应的16进制的8字节数为:0x160x120x340x560x000x000x000x00;

最后再用tpk对这8个字节进行des加密,得到pinblock密文,发送至交易后台,从而完成支付交易。

由上可见,本发明实施例中通过pos端对pinpad发送数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥,生成传输密钥,能够有效防止伪造签名,保证了pinpad是可信任的设备;通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad,所述pinpad在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥,保证了在与pinpad建立非对称连接的同时pinpad可以获得与pos端相同的传输密钥,确保在此安全链路的基础上后续建立的会话可以被加密传输;并且pos终端利用预先存储的加密密钥对所述pinblock加密生成pinblock密文,能够有效的保证pin输入的安全性。

实施例二

本发明实施例提供了一种安全连接的方法,请参阅图2,本发明实施例中的安全连接方法包括以下步骤:

步骤s201:在接收到与pinpad建立连接的信息后,向所述pinpad发送认证请求信息,以使得所述pinpad在接收到所述认证请求信息后,将预先存储的数字证书发送给所述pos终端。

步骤s202:在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥。

所述获取数字证书中公钥的具体方法步骤与上述实施例一中的步骤s103中的获取方法相同,具体可参见步骤s103相关描述,在此不再赘述。

步骤s203:生成传输密钥,并通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad,以使得所述pinpad在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥,以通过所述传输密钥建立与所述pos终端的安全连接。

通过图2的实施例可知,在本发明实施例中,通过接收到pinpad发送的数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥,生成传输密钥,并通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad,可以在确认pinpad为安全输入设备的情形下通过发送传输密钥的方式与pos终端建立安全连接。

实施例三

本发明实施例提供了一种安全连接的方法,请参阅图3,本发明实施例中的安全连接方法包括以下步骤:

步骤s301:在接收到pos终端发送的认证请求信息后,将预先存储的数字证书发送给所述pos终端,以使得所述pos终端在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,获取所述数字证书中的公钥,同时生成传输密钥,并通过所述公钥加密所述传输密钥,将加密后的传输密钥发送给所述pinpad。

步骤s302:在接收到所述加密后的传输密钥后,通过预先存储的与所述公钥对应的私钥解密所述加密后的传输密钥,获得所述传输密钥,以通过所述传输密钥建立与所述pos终端的安全连接。

需要说明的是,上述步骤s301与上述实施例一中的步骤s102中相同,具体可参见步骤s102的相关描述;步骤s302与上述实施例一种的步骤s105相关描述,具体可参见步骤s105的相关描述,在此不再赘述。

通过图3的实施例可知,在本发明实施例中,pinpad通过将预先存储的数字证书发送给所述pos终端,以使得所述pos终端在接收到所述数字证书后,对所述数字证书的有效性进行验证,并在验证通过后,接受pos终端发送的加密后的传输密钥,既可以与pos终端建立安全的非对称连接;又可以获取与pos终端相同的传输密钥,保证了后续与pos终端的对话可以以加密的方式进行,从而保证了pinpad上的pin输入可以安全的传输到pos终端。

实施例四

本发明实施例提供了一种pos终端的示意图,请参阅图4,本实施例中的pos终端4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述实施例二中的一种安全连接方法的步骤,例如图2所示的步骤201至203。所述pos终端设备4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是pos终端4的示例,并不构成对pos终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

所称处理器40可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器41可以是所述pos终端4的内部存储单元,例如pos终端4的硬盘或内存。所述存储器41也可以是所述pos终端4的外部存储设备,例如所述pos终端4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器41还可以既包括所述pos终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述pos终端设备4所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

实施例五

本发明实施例提供了一种密码键盘的示意图,请参阅图5,本实施例中的密码键盘5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述实施例三中的一种安全连接的方法的步骤,例如图3所示的步骤301至302。

所述密码键盘5可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是密码键盘5的示例,并不构成对密码键盘5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

所称处理器50可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器51可以是所述密码键盘的内部存储单元,例如:密码键盘5的硬盘或内存。所述存储器51也可以是所述密码键盘5的外部存储设备,例如:所述密码键盘5上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器51还可以既包括所述密码键盘5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述密码键盘5所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

另外,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1