一种认证方法及设备的制造方法

文档序号:10572480阅读:241来源:国知局
一种认证方法及设备的制造方法
【专利摘要】本发明公开了一种认证方法及设备,该方法包括:第一设备向第二设备发送要求第二设备进行会话密钥认证的请求;所述第一设备接收所述第二设备发送的第一随机数,并生成第二随机数;所述第一设备按照设定方式生成第一会话密钥,所述第一设备使用所述第一会话密钥加密预设的字符信息,生成第一密文;所述第一设备将所述第二随机数、所述第一设备的第二属性信息、所述预设的字符信息和所述第一密文发送给所述第二设备,以使所述第二设备生成第二会话密钥,并使用所述第二会话密钥加密所述预设的字符信息,生成第二密文;若所述第一密文和所述第二密文一致,则第二设备认证成功,用以解决现有技术中敏感信息的访问控制方式存在安全隐患的问题。
【专利说明】
_种认证方法及设备
技术领域
[0001 ]本发明涉及信息安全领域,尤其涉及一种认证方法及设备。
【背景技术】
[0002]中国人民银行推行的银行卡标准,简称PB0C(People’s Bank Of China)标准,是与简称是EMV标准的欧陆卡(Europay)、万事达卡(Mastercard)和维萨卡(Visa)银行卡标准并行的一种银行卡标准。目前基于PBOC标准的集成电路IC(Integrated Circuit,集成电路)卡大多是通过商户的销售终端机,简称P0S(Point Of Sale)机,或者自动出纳机(Automated Teller Machine,ATM)实现银行交易业务。随着基于便携终端的金融交易的普及,例如在移动终端上实现网上购物、网上转帐、网上支付等,更加需要利用PBOC标准保证移动终端的银行交易的安全性。
[0003]目前,用户通过可信服务管理系统,成功空中开卡后,可以在移动终端上加载PBOC应用,通过手机控件管理空中开卡的虚拟卡片,并可以直接查看到该卡片的敏感信息,例如卡号、CVN2、有效期和电子现金余额等,但是由于互联网的不安全性,这类敏感信息很有可能会被非法访问,造成敏感信息的外泄,给便携终端的金融交易带来安全隐患。

【发明内容】

[0004]本发明实施例提供一种认证方法及设备,用以解决现有技术中敏感信息的访问控制方式存在安全隐患的问题。
[0005]本发明方法包括一种认证方法,该方法包括:第一设备向第二设备发送要求第二设备进行会话密钥认证的请求;所述第一设备接收所述第二设备发送的第一随机数,并生成第二随机数;所述第一设备按照设定方式生成第一会话密钥,所述设定方式为:利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥;所述第一设备使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥;所述第一设备使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥;所述第一设备使用所述第一会话密钥加密预设的字符信息,生成第一密文;所述第一设备将所述第二随机数、所述第一设备的第二属性信息、所述预设的字符信息和所述第一密文发送给所述第二设备,以使所述第二设备生成第二会话密钥,并使用所述第二会话密钥加密所述预设的字符信息,生成第二密文;若所述第一密文和所述第二密文一致,则第二设备认证成功。
[0006]基于同样的发明构思,本发明实施例还提供一种认证设备,该设备包括:发送单元,用于向第二设备发送要求第二设备进行会话密钥认证的请求;生成随机数单元,用于接收所述第二设备发送的第一随机数,并生成第二随机数;生成会话密钥单元,用于按照设定方式生成第一会话密钥,所述设定方式为:利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥;使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥;使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥;生成密文单元,用于使用所述第一会话密钥加密预设的字符信息,生成第一密文;将所述第二随机数、所述第一设备的第二属性信息、所述预设的字符信息和所述第一密文发送给所述第二设备,以使所述第二设备生成第二会话密钥,并使用所述第二会话密钥加密所述预设的字符信息,生成第二密文;认证单元,用于若所述第一密文和所述第二密文一致,则第二设备认证成功。
[0007]本发明实施例一方面提供一种特殊的会话密钥生成算法,第一设备利用这种生成算法得到第一会话密钥的过程是:所述第一设备利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥;所述第一设备使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥;所述第一设备使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥,这种会话密钥的生成算法可以保证被该种会话密钥加密后的敏感信息的安全性;另一方面,当第二设备向第一设备发起敏感信息的访问之前,本发明实施例进一步地提供一种认证方式,即第二设备连接第一设备,第一设备就向第二设备发送要求第二设备进行会话密钥认证的请求,然后第二设备就相同的预设字符信息加密后与第一设备使用会话密钥生成的密文若完全一致,则认证成功。通过这种认证方法,进一步保证访问第一设备的敏感信息的设备是可信设备,从而对敏感信息起到进一步地保护作用。综上,本发明实施例提供的认证方法可以保证敏感信息的安全。
【附图说明】
[0008]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0009]图1为本发明实施例提供一种认证方法流程示意图;
[0010]图2为本发明实施例提供一种会话密钥生成方法流程示意图;
[0011]图3为本发明实施例提供一种会话密钥分散数据生成方法示意图;
[0012]图4为本发明实施例提供一种基于会话密钥认证的交互图;
[0013]图5为本发明实施例提供一种基于普通密钥认证的交互图;
[0014]图6为本发明实施例提供一种一种认证设备结构示意图。
【具体实施方式】
[0015]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0016]本发明实施例中以两个设备之间的交互为例,两个设备分别具有各自的加密算法,通过验证两个设备加密后的信息是否一致来认定两个设备间是否可访问彼此的敏感信息。本发明实施例分别提供了对第一设备的认证过程和对第二设备的认证过程及第一设备与第二设备的双向认证。
[0017]参见图1所示,本发明实施例提供一种认证方法流程示意图,具体地实现方法包括:
[0018]步骤SlOl,第一设备向第二设备发送要求第二设备进行会话密钥认证的请求。
[0019]步骤S102,所述第一设备接收所述第二设备发送的第一随机数,并生成第二随机数。
[0020]步骤S103,所述第一设备按照设定方式生成第一会话密钥,所述设定方式为:利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥;
[0021]所述第一设备使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥;
[0022]所述第一设备使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥。
[0023]步骤S104,所述第一设备使用所述第一会话密钥加密所述预设的字符信息,生成第一密文。
[0024]步骤S105,所述第一设备将所述第一随机数、所述第一设备的第二属性信息、所述预设的字符信息和所述第一密文发送给所述第二设备,以使所述第二设备生成第二会话密钥,并使用所述第二会话密钥加密所述预设的字符信息,生成第二密文;
[0025]步骤S106,若所述第一密文和所述第二密文一致,则第二设备认证成功。
[0026]在步骤S104中,第一设备中的预设的字符信息可以是由所述第一随机数和第一设备的卡片选择号码(CSN)组成;或者是由第一设备中的与敏感信息无关的明文信息组成。例如,将CSN和第一设备中的第一随机数拼接在一起生成预设的字符信息,或者是将第一设备关于虚拟卡片的卡名称信息和第一随机数进行组合拼接生成预设的字符信息。
[0027]步骤S103中,按照预设的方式生成会话密钥的过程共包含三个过程,概括来讲,第一个过程是由根密钥生成第一密钥;第二过程是由第一密钥生成第二密钥;第三个过程是由第二密钥生成会话密钥。其中,第一个过程具体来说,所述第一属性信息包括第一子属性信息和第二子属性信息;所述第一设备利用预设的根密钥对分别对所述第一子属性信息和所述第二子属性信息加密,生成用于加密的第一密钥和用于MAC验证的第一密钥。
[0028]在生成第一密钥的过程中,假设第一设备是包含虚拟卡片信息的移动终端,所述第二设备是服务器,那么第一设备侧就包含虚拟卡片的机构代码和卡片随机数等信息。因此可以利用卡片的机构代码进行不同变形生成第一属性信息的第一子属性信息和第二子属性信息。具体地,将第一设备归属的机构代码与全I字符串拼接的结果作为第一子属性信息,将第一设备归属的机构代码与全O字符串拼接的结果作为第二子属性信息。
[0029]生成第二密钥的第二过程,具体来说,所述第一设备使用所述用于加密的第一密钥对所述第一设备的第二属性信息加密,生成用于加密的第二密钥;所述第一设备使用所述用于MAC验证的第一密钥对所述第一设备的第二属性信息加密,生成用于MAC验证的第二密钥。第二过程中的第二属性信息指的是第一设备中关于卡片的离散数据,可以包括卡片的CSN等信息。
[0030]生成会话密钥的第三过程,具体来讲,所述第一设备使用所述用于加密的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于加密的第一会话密钥;所述第一设备使用所述用于MAC验证的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于MAC验证的第一会话密钥。其中,第一随机数和所述第二随机数组成的分散数据可以通过对所述第一随机数和所述第二随机数的高低位字节按设定规则置换位置得到;也可以将第一随机数和所述第二随机数中数据按照一定规则调整顺序得到。
[0031]本发明实施例进一步地提供图2所示的生成会话密钥的示意图,进一步举例描述上述按照设定方式生成会话密钥的过程。
[0032]步骤一,将4字节机构代码(设备卡对应的实例的字节10至字节13)与十二字节长全零字符串拼接在一起,生成一组机构密钥分散数据I;将4字节机构代码(设备卡对应的字节10至字节13)与十二字节长全一字符串拼接在一起,生成另一组机构密钥分散数据2;然后使用根密钥分别对上述两组机构密钥分散数据做对称加密(如DES、3DES、RC2、RC4、RC5和Blowfish等),得到机构密钥,该机构密钥包括是用于加密的机构密钥和用于MAC验证的机构密钥。
[0033]步骤二,通过Apdu(Applicat1nProtocolDataUnit,应用协议数据单元)指令,从第一设备的虚拟卡片上获取卡片密钥分散数据,所谓卡片密钥分散数据可以是CSN等,使用机构密钥(用于加密的机构密钥和用于MAC验证的机构密钥)对卡片密钥分散数据做对称加密,得到卡片密钥,同样,卡片密钥包括用于加密的卡片密钥和用于MAC验证的卡片密钥。
[0034]步骤三,仍然通过Apdu指令,从第一设备的虚拟卡片上获取卡片随机数,与第二设备生成的主机随机数按图3所示的规则进行置换,生成会话密钥分散数据。图3中最后生成的会话密钥分散数据是由卡片随机数低位四字节、主机随机数高位四字节、卡片随机数高位四字节、主机随机数低位四字节拼接生成的。使用步骤二中生成的卡片密钥对上述会话密钥分散数据做对称加密,生成了会话密钥,同样,会话密钥也是包括用于加密的会话密钥与用于MAC验证的会话密钥。
[0035]当确定上述生成会话密钥的规则之后,第一设备基于会话密钥的生成规则生成会话密钥,并利用用于加密的会话密钥加密设定的字符信息得到第一密文,然后第一设备将第一密文和生成会话密钥的相关信息、设定的字符信息发送到第二设备。第二设备假若是可信设备,也会按照会话密钥的生成规则得到会话密钥,利用用于加密的会话密钥加密设定的字符信息生成密文一定会与第一密文一致,则第二设备认证成功;但是第二设备若是非法设备,很可能无法按照会话密钥的生成规则,无法生成与第一密文一致的密文,则第二设备认证失败。
[0036]当第二设备认证成功之后,还需要进行第一设备侧的认证,具体为:所述第一设备接收所述第二设备发送的转换后的字符信息和第一 MAC值;所述转换后的字符信息是通过转换所述预设的字符信息得到的;所述第一 MAC值是所述转换后的字符信息通过使用所述第二会话密钥加密生成的MAC值;所述第一设备使用所述用于MAC的第一会话密钥加密所述转换后的字符信息,得到第二MAC值;若所述第二MAC值与所述第一MAC值一致,则第一设备认证成功。
[0037]其中,转换后的字符信息可以是依据预设的字符信息按照一定的规则调整字符顺序得到的,也可以是将预设的字符信息进行随机转换得到的随机数。
[0038]本发明实施例通过提供第一设备和第二设备之间的交互图,如图4所示,基于交互图中的每个步骤,进一步阐述上述双向认证的过程。
[0039]步骤S201,第二设备向第一设备发起建立连接的指示信息。
[0040]步骤S202,因为第一设备处于会话密钥保护状态,因此第一设备向第二设备发送要求第二设备进行会话密钥认证的请求。
[0041]步骤S203,第二设备接收到请求后,主动向第一设备发送第一随机数。
[0042]步骤S204,第一设备接收到第一随机数,然后主动提取本次设备内虚拟卡片的CSN,并基于CSN生成第二随机数。
[0043]步骤S205,第一设备基于第一随机数、第二随机数、虚拟卡片的CSN等信息,按照上述会话密钥的生成规则生成会话密钥。
[0044]步骤S206,第一设备基于第二随机数、虚拟卡片的CSN等信息拼接生成字符信息,并将字符信息使用用于加密的会话密钥加密生成第一密文。
[0045]步骤S207,第一设备将第一随机数、第二随机数、虚拟卡片的CSN等信息、以及字符信息、第一密文发送给第二设备。
[0046]步骤S208,第二设备基于上述信息生成会话密钥,假若第二设备是可信的访问设备,那么第二设备生成会话密钥的规则与第一设备相同,因此第二设备利用该用于加密的会话密钥加密字符信息得到的密文与第一密文一致,则第二设备认证成功。
[0047]步骤S209,第二设备基于字符信息进行转换得到另一个转换后的字符信息,然后利用用于MAC验证的会话密钥加密转换后的字符信息,加密生成MAC值。
[0048]步骤S210,第二设备将生成MAC值和转换后的字符信息发送至第一设备。
[0049]步骤S211,第一设备利用用于MAC验证的会话密钥加密转换后的字符信息得到MAC值,比较二者是否一致,另外,第一设备同样将字符信息进行转换,验证生成的转换字符信息与第二设备发送的是否一致,若一致,双向认证成功。证明第二设备是可信设备。
[0050]若上述双向认证成功,则第二设备通过步骤S212向第一设备发送敏感信息的获取请求之后,第一设备通过步骤S213就可以将经过会话密钥加密后的敏感信息发送至第二设备。所谓敏感信息指的是卡号、CVN2、有效期和电子现金余额等信息。
[0051]图4中描述的是第一设备处于会话密钥保护状态时的交互过程,假若第一设备中安全等级降低,关闭了会话密钥的保护,则所述第一设备向所述第二设备发送要求第二设备进行普通密钥认证的请求。所谓普通密钥认证过程包括:所述第一设备接收所述第二设备发送的第三随机数,并生成第四随机数;所述第一设备利用预设的根密钥对所述第三随机数和所述第四随机数加密,生成第三密文;所述第一设备将所述第三随机数、第四随机数发送给所述第二设备,以使所述第二设备利用预设的根密钥对所述第三随机数和所述第四随机数加密,生成第四密文;若所述第三密文和所述第四密文一致,则第二设备认证成功。
[0052]可见,这一过程不再包含会话密钥的生成和利用会话密钥生成密文的验证过程,为了更加清晰地区分普通密钥认证和会话密钥认证之间的区别,本发明实施例进一步地提供图5所示的交互图,描述普通密钥认证的认证过程。
[0053]步骤S301,第二设备向第一设备发起建立连接的指示信息。
[0054]步骤S302,因为第一设备不处于会话密钥保护状态,因此第一设备向第二设备发送要求第二设备进行普通密钥认证的请求。
[0055]步骤S303,第二设备接收到请求后,主动向第一设备发送第一随机数。
[0056]步骤S304,第一设备接收到第一随机数,然后主动提取本次设备内虚拟卡片的CSN,并基于CSN生成第二随机数。
[0057]步骤S305,第一设备基于第一随机数、第二随机数、虚拟卡片的CSN等信息,利用预设的根密钥加密生成第一密文。
[0058]步骤S306,第一设备将第一随机数、第二随机数、虚拟卡片的CSN等信息、以及字符信息、第一密文发送给第二设备。
[0059]步骤S307,第二设备基于本地存储的根密钥加密字符信息,验证生成密文与接收的密文是否一致。
[0060]步骤S308,第二设备基于字符信息进行转换得到另一个转换后的字符信息。
[0061]步骤S309,第二设备将转换后的字符信息发送至第一设备。
[0062]步骤S310,第一设备按照约定规则转换字符信息,验证转换后的字符信息是否与接收的转换后的字符信息一致。
[0063]步骤S311,若完全一致,则普通密钥的双向认证成功,第二设备向第一设备发送敏感信息的获取请求
[0064]步骤S312,第一设备直接将敏感信息发送给第二设备。
[0065]综上可见,用户可以根据需要选择启用或关闭会话密钥对卡片敏感信息的保护功能,高安全级别要求时,则打开会话密钥的保护状态,而安全级别降低时,则关闭会话密钥的保护状态,有利于适用不同的应用场景。
[0066]基于相同的技术构思,本发明实施例还提供一种设备,该设备可执行上述方法实施例。本发明实施例提供的设备如图6所示,包括:发送单元401、生成随机数单元402、生成会话密钥单元403、生成密文单元404、认证单元405,其中:
[0067]发送单元401,用于向第二设备发送要求第二设备进行会话密钥认证的请求;
[0068]生成随机数单元402,用于接收所述第二设备发送的第一随机数,并生成第二随机数;
[0069]生成会话密钥单元403,用于按照设定方式生成第一会话密钥,所述设定方式为:利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥;使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥;使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥;
[0070]生成密文单元404,用于使用所述第一会话密钥加密预设的字符信息,生成第一密文;将所述第一随机数、所述第一设备的第二属性信息、所述预设的字符信息和所述第一密文发送给所述第二设备,以使所述第二设备生成第二会话密钥,并使用所述第二会话密钥加密所述预设的字符信息,生成第二密文;
[0071 ]认证单元405,用于若所述第一密文和所述第二密文一致,则第二设备认证成功。
[0072]进一步地,所述生成会话密钥单元具体用于:
[0073]所述第一属性信息包括第一子属性信息和第二子属性信息;
[0074]利用预设的根密钥对分别对所述第一子属性信息和所述第二子属性信息加密,生成用于加密的第一密钥和用于MAC验证的第一密钥;
[0075]使用所述用于加密的第一密钥对所述第一设备的第二属性信息加密,生成用于加密的第二密钥;
[0076]使用所述用于MAC验证的第一密钥对所述第一设备的第二属性信息加密,生成用于MAC验证的第二密钥;
[0077]使用所述用于加密的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于加密的第一会话密钥;
[0078]使用所述用于MAC验证的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于MAC验证的第一会话密钥;
[0079]使用所述用于加密的第一会话密钥加密所述预设的字符信息,得到第一密文。
[0080]其中,所述第一子属性信息为所述第一设备归属的机构代码与全I字符串拼接的结果,所述第二子属性信息为所述第一设备归属的机构代码与全O字符串拼接的结果;所述第一随机数和所述第二随机数组成的分散数据为对所述第一随机数和所述第二随机数的高低位字节按设定规则置换位置后所得。
[0081]另外,所述第一设备为包含卡片信息的移动终端,所述第二设备为服务器;所述第一设备归属的机构代码为所述卡片的发卡机构的机构代码;所述第一设备的第二属性信息为所述卡片的卡片选择号码CSN。
[0082]所述预设的字符信息是由所述第一随机数和第一设备的CSN组成;或者,所述预设的字符信息是由第一设备中的与敏感信息无关的明文信息组成。
[0083]接收单元,用于接收所述第二设备发送的转换后的字符信息和第一MAC值;所述转换后的字符信息是通过转换所述预设的字符信息得到的;所述第一 MAC值是所述转换后的字符信息通过使用所述第二会话密钥加密生成的MAC值;
[0084]进一步地,还包括接收单元406,用于接收所述第二设备发送的转换后的字符信息和第一 MAC值;所述转换后的字符信息是通过转换所述预设的字符信息得到的;所述第一MAC值是所述转换后的字符信息通过使用所述第二会话密钥加密生成的MAC值;
[0085]生成MAC值单元407,用于使用所述用于MAC的第一会话密钥加密所述转换后的字符信息,得到第二 MAC值;
[0086]所述认证单元405还用于:若所述第二 MAC值与所述第一 MAC值一致,则第一设备认证成功。
[0087]进一步地,所述接收单元还用于:接收所述第二设备发送的敏感信息获取请求;
[0088]所述发送单元401还用于:使用所述用于加密的第一会话密钥加密敏感信息,并将加密后的所述敏感信息发送给所述第二设备。
[0089]进一步地,还包括确定单元408,用于确定所述第一设备处于会话密钥保护状态时,所述第一设备向第二设备发送要求第二设备进行会话密钥认证的请求;确定所述第一设备不处于会话密钥保护状态时,所述第一设备向所述第二设备发送要求第二设备进行普通密钥认证的请求。
[0090]若确定单元408确定所述第一设备不处于会话密钥保护状态时,所述接收单元406还用于:接收所述第二设备发送的第三随机数,并生成第四随机数;
[0091]所述生成密文单元404还用于:利用预设的根密钥对所述第一随机数和所述第二随机数加密,生成第三密文;将所述第三随机数、第四随机数发送给所述第二设备,以使所述第二设备利用预设的根密钥对所述第三随机数和所述第四随机数加密,生成第四密文;
[0092]所述认证单元405还用于:若所述第三密文和所述第四密文一致,则第二设备认证成功。
[0093]综上所述,本发明实施例一方面提供一种特殊的会话密钥生成算法,第一设备利用这种生成算法得到第一会话密钥的过程是:所述第一设备利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥;所述第一设备使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥;所述第一设备使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥,这种会话密钥的生成算法可以保证被该种会话密钥加密后的敏感信息的安全性;另一方面,当第二设备向第一设备发起敏感信息的访问之前,本发明实施例进一步地提供一种认证方式,即第二设备连接第一设备,第一设备就向第二设备发送要求第二设备进行会话密钥认证的请求,然后第二设备就相同的预设字符信息加密后与第一设备使用会话密钥生成的密文若完全一致,则认证成功。通过这种认证方法,进一步保证访问第一设备的敏感信息的设备是可信设备,从而对敏感信息起到进一步地保护作用。综上,本发明实施例提供的认证方法可以保证敏感信息的安全。
[0094]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0095]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0096]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0097]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0098]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种认证方法,其特征在于,该方法包括: 第一设备向第二设备发送要求第二设备进行会话密钥认证的请求; 所述第一设备接收所述第二设备发送的第一随机数,并生成第二随机数; 所述第一设备按照设定方式生成第一会话密钥,所述设定方式为:利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥; 所述第一设备使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥; 所述第一设备使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥; 所述第一设备使用所述第一会话密钥加密预设的字符信息,生成第一密文; 所述第一设备将所述第二随机数、所述第一设备的第二属性信息、所述预设的字符信息和所述第一密文发送给所述第二设备,以使所述第二设备生成第二会话密钥,并使用所述第二会话密钥加密所述预设的字符信息,生成第二密文; 若所述第一密文和所述第二密文一致,则第二设备认证成功。2.如权利要求1所述的方法,其特征在于,所述第一设备利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥,包括: 所述第一属性信息包括第一子属性信息和第二子属性信息; 所述第一设备利用预设的根密钥对分别对所述第一子属性信息和所述第二子属性信息加密,生成用于加密的第一密钥和用于MAC验证的第一密钥; 所述第一设备使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥,包括: 所述第一设备使用所述用于加密的第一密钥对所述第一设备的第二属性信息加密,生成用于加密的第二密钥; 所述第一设备使用所述用于MAC验证的第一密钥对所述第一设备的第二属性信息加密,生成用于MAC验证的第二密钥; 所述第一设备使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥,包括: 所述第一设备使用所述用于加密的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于加密的第一会话密钥; 所述第一设备使用所述用于MAC验证的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于MAC验证的第一会话密钥; 所述第一设备使用所述第一会话密钥加密所述预设的字符信息生成第一密文,包括:所述第一设备使用所述用于加密的第一会话密钥加密所述预设的字符信息,得到第一密文。3.如权利要求1所述的方法,其特征在于,所述若所述第一密文和所述第二密文一致,则第二设备认证成功之后,还包括: 所述第一设备接收所述第二设备发送的转换后的字符信息和第一 MAC值;所述转换后的字符信息是通过转换所述预设的字符信息得到的;所述第一 MAC值是所述转换后的字符信息通过使用所述第二会话密钥加密生成的MAC值; 所述第一设备使用所述用于MAC的第一会话密钥加密所述转换后的字符信息,得到第二 MAC 值; 若所述第二 MAC值与所述第一 MAC值一致,则第一设备认证成功。4.如权利要求3所述的方法,其特征在于,所述第一设备认证成功之后,还包括: 所述第一设备接收所述第二设备发送的敏感信息获取请求; 所述第一设备使用所述用于加密的第一会话密钥加密敏感信息,并将加密后的所述敏感信息发送给所述第二设备。5.如权利要求1?4任一项所述的方法,其特征在于,还包括: 确定所述第一设备处于会话密钥保护状态时,所述第一设备向第二设备发送要求第二设备进行会话密钥认证的请求; 确定所述第一设备不处于会话密钥保护状态时,所述第一设备向所述第二设备发送要求第二设备进行普通密钥认证的请求。6.如权利要求5所述的方法,其特征在于,所述第一设备向所述第二设备发送要求第二设备进行普通密钥认证的请求之后,还包括: 所述第一设备接收所述第二设备发送的第三随机数,并生成第四随机数; 所述第一设备利用预设的根密钥对所述第三随机数和所述第四随机数加密,生成第三密文; 所述第一设备将所述第三随机数、第四随机数发送给所述第二设备,以使所述第二设备利用预设的根密钥对所述第三随机数和所述第四随机数加密,生成第四密文; 若所述第三密文和所述第四密文一致,则第二设备认证成功。7.如权利要求1?4任一项所述的方法,其特征在于,所述第一子属性信息为所述第一设备归属的机构代码与全I字符串拼接的结果,所述第二子属性信息为所述第一设备归属的机构代码与全O字符串拼接的结果; 所述第一随机数和所述第二随机数组成的分散数据为对所述第一随机数和所述第二随机数的高低位字节按设定规则置换位置后所得。8.如权利要求1?4任一项所述的方法,其特征在于,所述第一设备为包含卡片信息的移动终端,所述第二设备为服务器; 所述第一设备归属的机构代码为所述卡片的发卡机构的机构代码; 所述第一设备的第二属性信息为所述卡片的卡片选择号码CSN。9.如权利要求1?4任一项所述的方法,其特征在于,所述预设的字符信息是由所述第一随机数和第一设备的CSN组成;或者, 所述预设的字符信息是由第一设备中的与敏感信息无关的明文信息组成。10.一种认证设备,其特征在于,该设备包括: 发送单元,用于向第二设备发送要求第二设备进行会话密钥认证的请求; 生成随机数单元,用于接收所述第二设备发送的第一随机数,并生成第二随机数; 生成会话密钥单元,用于按照设定方式生成第一会话密钥,所述设定方式为:利用预设的根密钥对所述第一设备的第一属性信息加密,生成第一密钥;使用所述第一密钥对所述第一设备的第二属性信息加密,生成第二密钥;使用所述第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成第一会话密钥; 生成密文单元,用于使用所述第一会话密钥加密预设的字符信息,生成第一密文;将所述第二随机数、所述第一设备的第二属性信息、所述预设的字符信息和所述第一密文发送给所述第二设备,以使所述第二设备生成第二会话密钥,并使用所述第二会话密钥加密所述预设的字符信息,生成第二密文; 认证单元,用于若所述第一密文和所述第二密文一致,则第二设备认证成功。11.如权利要求10所述的设备,其特征在于,所述生成会话密钥单元具体用于: 所述第一属性信息包括第一子属性信息和第二子属性信息; 利用预设的根密钥对分别对所述第一子属性信息和所述第二子属性信息加密,生成用于加密的第一密钥和用于MAC验证的第一密钥; 使用所述用于加密的第一密钥对所述第一设备的第二属性信息加密,生成用于加密的第二密钥; 使用所述用于MAC验证的第一密钥对所述第一设备的第二属性信息加密,生成用于MAC验证的第二密钥; 使用所述用于加密的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于加密的第一会话密钥; 使用所述用于MAC验证的第二密钥对所述第一随机数和所述第二随机数组成的分散数据加密,生成用于MAC验证的第一会话密钥; 使用所述用于加密的第一会话密钥加密所述预设的字符信息,得到第一密文。12.如权利要求10所述的设备,其特征在于,还包括: 接收单元,用于接收所述第二设备发送的转换后的字符信息和第一 MAC值;所述转换后的字符信息是通过转换所述预设的字符信息得到的;所述第一 MAC值是所述转换后的字符信息通过使用所述第二会话密钥加密生成的MAC值; 生成MAC值单元,用于使用所述用于MAC的第一会话密钥加密所述转换后的字符信息,得到第二 MAC值; 所述认证单元还用于:若所述第二 MAC值与所述第一 MAC值一致,则第一设备认证成功。13.如权利要求12所述的设备,其特征在于,所述接收单元还用于:接收所述第二设备发送的敏感信息获取请求; 所述发送单元还用于:使用所述用于加密的第一会话密钥加密敏感信息,并将加密后的所述敏感信息发送给所述第二设备。14.如权利要求10?13任一项所述的设备,其特征在于,还包括: 确定单元,用于确定所述第一设备处于会话密钥保护状态时,所述第一设备向第二设备发送要求第二设备进行会话密钥认证的请求; 确定所述第一设备不处于会话密钥保护状态时,所述第一设备向所述第二设备发送要求第二设备进行普通密钥认证的请求。15.如权利要求14所述的设备,其特征在于,若确定单元确定所述第一设备不处于会话密钥保护状态时,所述接收单元还用于:接收所述第二设备发送的第三随机数,并生成第四随机数; 所述生成密文单元还用于:利用预设的根密钥对所述第三随机数和所述第二随机数加密,生成第三密文;将所述第三随机数、第四随机数发送给所述第二设备,以使所述第二设备利用预设的根密钥对所述第三随机数和所述第四随机数加密,生成第四密文; 所述认证单元还用于:若所述第三密文和所述第四密文一致,则第二设备认证成功。16.如权利要求10?13任一项所述的设备,其特征在于,所述第一子属性信息为所述第一设备归属的机构代码与全I字符串拼接的结果,所述第二子属性信息为所述第一设备归属的机构代码与全O字符串拼接的结果; 所述第一随机数和所述第二随机数组成的分散数据为对所述第一随机数和所述第二随机数的高低位字节按设定规则置换位置后所得。17.如权利要求10?13任一项所述的设备,其特征在于,所述第一设备为包含卡片信息的移动终端,所述第二设备为服务器; 所述第一设备归属的机构代码为所述卡片的发卡机构的机构代码; 所述第一设备的第二属性信息为所述卡片的卡片选择号码CSN。18.如权利要求10?13任一项所述的设备,其特征在于,所述预设的字符信息是由所述第一随机数和第一设备的CSN组成;或者, 所述预设的字符信息是由第一设备中的与敏感信息无关的明文信息组成。
【文档编号】H04L9/32GK105933119SQ201510990166
【公开日】2016年9月7日
【申请日】2015年12月24日
【发明人】王逸钦, 田丰, 傅宜生, 冀乃庚
【申请人】中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1