CN104811303B - 双向认证的方法、装置及*** - Google Patents
双向认证的方法、装置及*** Download PDFInfo
- Publication number
- CN104811303B CN104811303B CN201410036296.2A CN201410036296A CN104811303B CN 104811303 B CN104811303 B CN 104811303B CN 201410036296 A CN201410036296 A CN 201410036296A CN 104811303 B CN104811303 B CN 104811303B
- Authority
- CN
- China
- Prior art keywords
- nonce
- certification
- terminal
- response value
- value
- 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
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种双向认证的方法、装置及***,该双向认证方法中:终端向服务器发起认证请求;服务器产生随机数,根据随机数、认证密钥和上次认证的认证因子响应值计算本次认证的认证因子响应值,并将随机数和加密的认证密钥下发至终端;终端根据随机数、加密的认证密钥、终端根密钥和上次认证的认证因子响应值计算本次认证的认证因子响应值,并将其上传至服务器;服务器将终端发送的本次认证的认证因子响应值与自身计算出的本次认证的认证因子响应值进行比较,如果匹配,则通过认证。本发明有效防止了对终端的克隆,保障了终端的安全。此外,本发明还提高了终端的通用性,实现了终端市场的水平化。
Description
技术领域
本发明涉及数字电视技术领域,尤其是涉及一种双向认证的方法、装置及***。
背景技术
目前数字电视领域中,基于单、双向网络的业务及内容保护***的终端(例如机顶盒)的安全芯片均采用《ETSI TS103162V1.1.1(2010-10)》标准。其生产安全芯片的通用做法如下:
1、有线运营商向当地的业务及内容方案提供商提出采购安全芯片需求,业务及内容方案商提供给运营商已经与方案商集成的安全芯片厂商列表;
2、有线运营商选择安全芯片厂商后,向安全芯片厂商提出定制与当地业务及内容方案提供商匹配的安全芯片;
3、业务及内容方案提供商在每个已集成的安全芯片厂商放置一个黑盒子,业务及内容方案提供商将运营商定制安全芯片的安全密钥(SCK)发送给黑盒子,其中,安全芯片的安全密钥(SCK)也称为终端根密钥。
4、黑盒子将安全密钥(SCK)写入安全芯片,安全芯片厂商生产安全芯片;
5、安全芯片厂商将生产的安全芯片发给业务及内容方案提供商同时返还安全芯片的安全密钥(SCK);
6、业务及内容方案提供商将采购的安全芯片和安全密钥(SCK)提供给有线运营商。
由上述过程可知,现有技术中,每个终端的安全芯片在生产时都要预埋安全密钥(SCK),而安全密钥(SCK)需要业务及内容方案提供商来提供,并且每个业务及内容方案提供商的安全密钥(SCK)都不相同,这就导致了终端只能匹配自己的密钥提供商,也就是说,只有采用了密钥提供商方案的数字运营商才能使用这些终端,从而导致了终端的通用性差。
此外,按照《ETSI TS103162V1.1.1(2010-10)》标准,***认证过程只需前端服务器产生随机数,终端将随机数作为nonce(认证因子)送入自身的安全芯片,终端的安全芯片产生nonce response(认证因子响应)返回前端服务器即完成认证。在这种认证过程中,只要克隆者获取前端服务器下发的随机数,破解nonce应答机制就可完成对终端的克隆,因此,现有终端的安全性不高,存在被截取克隆的风险。
发明内容
本发明的目的在于提供一种双向认证的方法、装置及***,以提高终端的安全性。
为达到上述目的,本发明提供了一种终端认证方法,包括以下步骤:
向服务器发起认证请求;
接收所述服务器发送的随机数Random和加密的认证密钥EK3(K2);
根据所述Random、所述EK3(K2)、终端根密钥SCK和上一次认证的认证因子响应L_Nonce Response值获取本次认证的认证因子响应Nonce Response值;
将所述Nonce Response值上传至所述服务器。
本发明的终端认证方法,所述根据所述Random、所述EK3(K2)、所述SCK和所述L_Nonce Response值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述SCK生成运营商根密钥K3;
用所述K3解密所述EK3(K2)得到认证密钥K2;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值。
本发明的终端认证方法,所述SCK通过以下方式获得:
在预先注册过程中,终端接收所述服务器下发的加密的终端根密钥ESCK,将所述ESCK解密后得到所述SCK并将其写入自身的只读存储器内。
本发明的终端认证方法,所述在预先注册过程中,终端接收所述服务器下发的ESCK,具体为:
向所述服务器发起注册申请,所述注册申请包含终端ID和根加密机签发的第一终端证书;
接收所述服务器在验证所述第一终端证书合法后发送的运营商证书、所述ESCK和运营商加密机签发的第二终端证书。
为达到上述目的,本发明还提供了一种服务器认证方法,包括以下步骤:
接收终端发起的认证请求;
产生随机数Random,并根据所述Random、认证密钥K2和上一次认证的认证因子响应L_Nonce Response值获取本次认证的认证因子响应Nonce Response值;
将所述Random和加密的认证密钥EK3(K2)下发给所述终端;
接收所述终端发送的Nonce Response值;
将所述终端发送的Nonce Response值与自身计算出的Nonce Response值进行比较,如果匹配,则通过认证。
本发明的服务器认证方法,所述根据所述Random、所述K2、所述SCK和所述L_NonceResponse值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值。
本发明的服务器认证方法,所述K2和所述EK3(K2)通过以下方式获得:
根据认证密钥KeyID生成所述K2;
用运营商根密钥K3加密所述K2,生成所述EK3(K2)。
为达到上述目的,本发明还提供了一种双向认证方法,包括以下步骤:
终端向服务器发起认证请求;
所述服务器产生随机数Random,并根据所述Random、认证密钥K2和上一次认证的认证因子响应L_Nonce Response值计算本次认证的认证因子响应Nonce Response值,并将所述Random和加密的认证密钥EK3(K2)下发至所述终端;
所述终端根据所述Random、所述EK3(K2)、终端根密钥SCK、和所述L_NonceResponse值计算出Nonce Response值,并将其上传至所述服务器;
所述服务器将所述终端发送的Nonce Response值与自身计算出的NonceResponse值进行比较,如果匹配,则通过认证。
为达到上述目的,本发明还提供了一种终端,包括:
请求发送模块,用于向服务器发起认证请求;
数据接收模块,用于接收所述服务器发送的随机数Random和加密的认证密钥EK3(K2);
认证计算模块,用于根据所述Random、所述EK3(K2)、终端根密钥SCK和上一次认证的认证因子响应L_Nonce Response值获取本次认证的认证因子响应Nonce Response值;
响应发送模块,用于将所述Nonce Response值上传至所述服务器。
本发明的终端,所述SCK通过以下方式获得:
在预先注册过程中,终端接收所述服务器下发的加密的终端根密钥ESCK,将所述ESCK解密后得到所述SCK并将其写入自身的只读存储器内。
为达到上述目的,本发明还提供了一种服务器,包括:
请求接收模块,用于接收终端发起的认证请求;
认证处理模块,用于产生随机数Random,并根据所述Random、认证密钥K2和上一次认证的认证因子响应L_Nonce Response值获取本次认证的认证因子响应Nonce Response值;
数据下发模块,用于将所述Random和加密的认证密钥EK3(K2)下发给所述终端;
响应接收模块,用于接收所述终端发送的Nonce Response值;
认证比较模块,用于将所述终端发送的Nonce Response值与自身计算出的NonceResponse值进行比较,如果匹配,则通过认证。
本发明的服务器,所述SCK通过以下方式获得:
在预先注册过程中,所述服务器向所述终端下发加密的终端根密钥ESCK;
所述终端将所述ESCK解密后得到所述SCK并将其写入自身的只读存储器内。
为达到上述目的,本发明还提供了一种双向认证***,包括:
至少一个上述的终端以及上述的服务器。
本发明的双向认证方法,即使克隆者能够截取到服务器下发的随机数,但由于克隆终端无法获得上一次认证的认证因子响应值,也就无法得出本次认证的认证因子响应值,从而无法完成与服务器的双向认证,因此,本发明可有效防止对终端的克隆,提高了终端的安全性。
此外,由于本发明的双向认证方法中,在预先注册时,服务器为终端分配加密的认证密钥,终端的安全芯片也就无需预埋终端根密钥了,这样,市场上所有支持双向网络且能接收服务器信号的终端均能适用,而不再局限于预埋终端根密钥的定制终端了,因此,本发明提高了终端的通用性,实现了终端市场的水平化。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明的终端认证方法的一个实施例的流程图;
图2为本发明的服务器认证方法的一个实施例的流程图;
图3为本发明的双向认证方法的一个实施例的流程图;
图4为本发明的双向认证方法的另一个实施例的流程图;
图5为本发明的双向认证***的一个实施例的结构示意图。
图6为本发明的双向认证***中终端的结构示意图;
图7为本发明的双向认证***中服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
下面结合附图,对本发明的具体实施方式作进一步的详细说明。
参考图1所示,本发明实施例的终端认证方法包括以下步骤:
步骤S11、向服务器发起认证请求。
步骤S12、接收服务器发送的随机数(即Random)和加密的认证密钥(即EK3(K2))。
步骤S13、根据Random、EK3(K2)、终端根密钥(即SCK)和上一次认证的认证因子响应值(即L_Nonce Response值)计算本次认证的认证因子响应值(即Nonce Response值)。具体的,首先,根据Random和L_Nonce Response值并采用认证因子生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到本次认证的认证因子值(即Nonce值),其中,认证因子生成算法中,L_NonceResponse作为秘钥,Random作为输入;然后,根据SCK生成运营商根密钥(即K3);然后,用K3解密EK3(K2)得到K2(认证密钥);最后,根据Nonce值和K2并采用认证因子响应生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce Response值,其中,认证因子响应生成算法中,K2作为密钥,Nonce作为输入。
步骤S14、将Nonce Response值上传至服务器。
此外,本发明实施例中,终端的SCK通过以下方式获得:
在预先注册过程中,终端接收服务器下发的加密的终端根密钥(即ESCK),将ESCK解密后得到SCK并将其写入自身的OTP(One Time Programable,一次性可编程)只读存储器内。其中,在预先注册过程中,终端接收服务器下发的ESCK,具体过程为:
终端向服务器发起注册申请,注册申请包含终端ID和根加密机签发的第一终端证书;然后,终端接收服务器在验证第一终端证书合法后发送的运营商证书、ESCK和运营商加密机签发的第二终端证书。
本发明实施例中,终端在每次与服务器通讯时,都需要得到服务器的认证,认证通过才能获得相关的信息。这样,即使克隆者能够截取到服务器下发的随机数,但由于克隆终端无法获得上一次认证的认证因子响应值,也就无法得出本次认证的认证因子响应值,从而无法完成与服务器的双向认证,因此,本发明实施例可有效防止对终端的克隆,提高了终端的安全性。
本发明实施例中,由于在注册时服务器为终端分配SCK,终端就无需预埋SCK了,这样,市场上所有支持双向网络且能接收服务器信号的终端(例如双向机顶盒、智能手机等)均能适用,而不再局限于预埋SCK的定制终端了,从而提高了终端的通用性,实现了终端市场的水平化。
参考图2所示,本发明实施例的服务器认证方法包括以下步骤:
步骤S21、接收终端发起的认证请求。
步骤S22、产生Random,根据Random、K2和L_Nonce Response值计算本次认证的Nonce Response值。具体的,首先,根据Random和L_Nonce Response值并采用认证因子生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到本次认证的Nonce值,其中,认证因子生成算法中,L_NonceResponse作为秘钥,Random作为输入;然后,根据Nonce值和K2并采用认证因子响应生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce Response值,其中,认证因子响应生成算法中,K2作为密钥,Nonce作为输入。
步骤S23、将Random和EK3(K2)下发给终端。
步骤S24、接收终端发送的Nonce Response值。
步骤S25、将终端发送的Nonce Response值与自身计算出的Nonce Response值进行比较,如果匹配,则通过认证;否则,服务器认定终端非法并拒绝通过认证。
此外,本发明实施例中,K2和EK3(K2)通过以下方式获得:
根据认证密钥(即KeyID)生成K2;
用K3加密K2,生成EK3(K2)。
本发明实施例中,终端在每次与服务器通讯时,都需要得到服务器的认证,认证通过才能获得相关的信息。这样,即使克隆者能够截取到服务器下发的随机数,但由于克隆终端无法获得上一次认证的认证因子响应值,也就无法得出本次认证的认证因子响应值,从而无法完成与服务器的双向认证,因此,本发明实施例可有效防止对终端的克隆,提高了终端的安全性。
参考图3所示,本发明实施例的双向认证方法包括以下步骤:
步骤S31、终端向服务器发起认证请求。
步骤S32、服务器产生Random,根据Random、K2和L_Nonce Response值计算本次认证的Nonce Response值,并将Random和EK3(K2)下发至终端。具体的,首先,根据Random和L_Nonce Response值并采用认证因子生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到本次认证的Nonce值,其中,认证因子生成算法中,L_NonceResponse作为秘钥,Random作为输入;然后,根据Nonce值和K2并采用认证因子响应生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce Response值,其中,认证因子响应生成算法中,K2作为密钥,Nonce作为输入;最后将Random和EK3(K2)下发至终端。
步骤S33、终端根据Random、EK3(K2)、SCK和上一次认证的认证因子响应值L_NonceResponse值计算Nonce Response值,并将其上传至服务器。具体的,首先,根据Random和L_Nonce Response值并采用认证因子生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce值,其中,认证因子生成算法中,L_NonceResponse作为秘钥,Random作为输入;然后,根据SCK生成K3;然后,用K3解密EK3(K2)得到K2;然后,根据Nonce值和K2并采用认证因子响应生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce Response值,其中,认证因子响应生成算法中,K2作为密钥,Nonce作为输入,最后,将计算得到的NonceResponse值上传至服务器。
步骤S34、服务器将终端发送的Nonce Response值与自身计算出的NonceResponse值进行比较,如果匹配,则通过认证;否则,服务器认定终端非法并拒绝通过认证。
此外,本发明实施例中,终端的SCK通过以下方式获得:
在预先注册过程中,终端接收服务器下发的加密的终端根密钥(即ESCK),将ESCK解密后得到SCK并将其写入自身的OTP只读存储器内。其中,在预先注册过程中,终端接收服务器下发的ESCK,具体过程为:
终端向服务器发起注册申请,注册申请包含终端ID和根加密机签发的第一终端证书;然后,终端接收服务器在验证第一终端证书合法后发送的运营商证书、ESCK和运营商加密机签发的第二终端证书。
本发明实施例中,终端在每次与服务器通讯时,都需要得到服务器的认证,认证通过才能获得相关的信息。这样,即使克隆者能够截取到服务器下发的随机数,但由于克隆终端无法获得上一次认证的认证因子响应值,也就无法得出本次认证的认证因子响应值,从而无法完成与服务器的双向认证,因此,本发明实施例可有效防止对终端的克隆,提高了终端的安全性。
本发明实施例中,由于在注册时服务器为终端分配SCK,终端就无需预埋SCK了,这样,市场上所有支持双向网络且能接收服务器信号的终端(例如双向机顶盒、智能手机等)均能适用,而不再局限于预埋SCK的定制终端了,从而提高了终端的通用性,实现了终端市场的水平化。
参考图4所示,本发明另实施例的双向认证方法包括以下步骤:
步骤S41、终端向前端服务器发起认证请求。
步骤S42、前端服务器判断该终端是否已注册,如果已注册则执行步骤S43,否则拒绝前端服务器的认证请求,也可以同时向前端服务器发送注册提示。本步骤为可选步骤。
步骤S43、前端服务器根据认证请求向运营商加密机发送认证处理指令。该认证处理指令中包含KeyID以及L_Nonce Response值。步骤S44、运营商加密机根据认证处理指令计算本次认证的Nonce Response值,即根据认证处理指令进行认证处理。具体处理过程如下:
1)、运营商加密机根据认证处理指令中的KeyID生成密钥K2;
2)、运营商加密机用K3加密K2,生成EK3(K2);
3)、运营商加密机产生Random;
4)、运营商加密机根据Random和L_Nonce Response值并采用认证因子生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce值,其中,认证因子生成算法中,L_NonceResponse作为秘钥,Random作为输入;
5)、运营商加密机根据Nonce和K2并采用认证因子响应生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce Response值,其中,认证因子响应生成算法中,K2作为密钥,Nonce作为输入。
步骤S45、运营商加密机将Random、EK3(K2)和Nonce Response值发给前端服务器,作为对认证处理指令的响应。
步骤S46、前端服务器将Random和EK3(K2)下发给终端,作为对认证请求的响应。
步骤S47、终端根据Random、L_Nonce Response值、SCK和EK3(K2)计算NonceResponse值,具体过程如下:
1)、终端根据Random和L_Nonce Response值并采用认证因子生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce值,其中,认证因子生成算法中,L_NonceResponse作为秘钥,Random作为输入;
2)、根据SCK生成K3;
3)、用K3解密EK3(K2)得到K2;
4)、根据Nonce值和K2并采用认证因子响应生成算法(例如AES、DES、3DES、RSA或RC4等算法)计算得到Nonce Response值,其中,认证因子响应生成算法中,K2作为密钥,Nonce作为输入。
步骤S48、终端返回Nonce Response值至前端服务器,同时保留该Nonce Response值。
步骤S49、前端服务器将终端返回的Nonce Response值与运营商加密机发送的Nonce Response值进行比较;如果匹配,则通过认证。否则,前端服务器认定终端非法并拒绝通过认证。
与图3所示双向认证方法的不同之处在于,本发明实施例中的服务器的工作由前端服务器和运营商加密机分工合作完成。并且,本发明实施例中,前端服务器接收到认证请求之后还进行注册判断,只有是已注册的终端,前端服务器才为其提供认证服务。
此外,本发明实施例中,终端的SCK通过以下方式获得:
在预先注册过程中,终端接收服务器下发的加密的终端根密钥(即ESCK),将ESCK解密后得到SCK并将其写入自身的OTP只读存储器内。其中,在预先注册过程中,终端接收服务器下发的ESCK,具体过程为:
终端向服务器发起注册申请,注册申请包含终端ID和根加密机签发的第一终端证书;然后,终端接收服务器在验证第一终端证书合法后发送的运营商证书、ESCK和运营商加密机签发的第二终端证书。
本发明实施例中,终端在每次与服务器通讯时,都需要得到服务器的认证,认证通过才能获得相关的信息。这样,即使克隆者能够截取到服务器下发的随机数,但由于克隆终端无法获得上一次认证的认证因子响应值,也就无法得出本次认证的认证因子响应值,从而无法完成与服务器的双向认证,因此,本发明实施例可有效防止对终端的克隆,提高了终端的安全性。
本发明实施例中,由于在注册时服务器为终端分配SCK,终端就无需预埋SCK了,这样,市场上所有支持双向网络且能接收服务器信号的终端(例如双向机顶盒、智能手机等)均能适用,而不再局限于预埋SCK的定制终端了,从而提高了终端的通用性,实现了终端市场的水平化。
参考图5所示,本发明实施例的双向认证***包括服务器52和至少一个终端51。
结合图6所示,终端51包括请求发送模块511、数据接收模块512、认证计算模块513和响应发送模块514。请求发送模块511用于向服务器发起认证请求;数据接收模块512用于接收服务器发送的Random和EK3(K2);认证计算模块用于根据Random、EK3(K2)、SCK和L_Nonce Response值获取Nonce Response值(具体过程参见上述终端认证方法实施例);响应发送模块514用于将Nonce Response值上传至服务器。其中,SCK通过以下方式获得:
在预先注册过程中,终端接收服务器下发的ESCK,将ESCK解密后得到SCK并将其写入自身的OTP只读存储器内。
结合图7所示,服务器52包括请求接收模块521、认证处理模块522、数据下发模块523、响应接收模块524和认证比较模块525。请求接收模块521用于接收终端发起的认证请求;认证处理模块522用于产生Random,并根据Random、K2和L_Nonce Response值获取NonceResponse值(具体过程参见上述服务器认证方法实施例);数据下发模块523用于将Random和EK3(K2)下发给终端;响应接收模块524用于接收终端发送的Nonce Response值;认证比较模块525用于将终端发送的Nonce Response值与自身计算出的Nonce Response值进行比较,如果匹配,则通过认证,否则,认定终端非法并拒绝通过认证。
本发明实施例中,终端在每次与服务器通讯时,都需要得到服务器的认证,认证通过才能获得相关的信息。这样,即使克隆者能够截取到服务器下发的随机数,但由于克隆终端无法获得上一次认证的认证因子响应值,也就无法得出本次认证的认证因子响应值,从而无法完成与服务器的双向认证,因此,本发明实施例可有效防止对终端的克隆,提高了终端的安全性。
本发明实施例中,由于在注册时服务器为终端分配SCK,终端就无需预埋SCK了,这样,市场上所有支持双向网络且能接收服务器信号的终端(例如双向机顶盒、智能手机等)均能适用,而不再局限于预埋SCK的定制终端了,从而提高了终端的通用性,实现了终端市场的水平化。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块、单元和步骤可以通过硬件、软件或两者的结合来实现。至于是通过硬件还是软件来实现取决于特定的应用和整个***的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种终端认证方法,其特征在于,包括以下步骤:
向服务器发起认证请求;
接收所述服务器发送的随机数Random和加密的认证密钥EK3(K2);
根据所述Random、所述EK3(K2)、终端根密钥SCK和上一次认证的认证因子响应L_NonceResponse值获取本次认证的认证因子响应Nonce Response值;
将所述Nonce Response值上传至所述服务器;其中,
所述根据所述Random、所述EK3(K2)、所述SCK和所述L_Nonce Response值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述SCK生成运营商根密钥K3;
用所述K3解密所述EK3(K2)得到认证密钥K2;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值。
2.根据权利要求1所述的终端认证方法,其特征在于,所述SCK通过以下方式获得:
在预先注册过程中,终端接收所述服务器下发的加密的终端根密钥ESCK,将所述ESCK解密后得到所述SCK并将其写入自身的只读存储器内。
3.根据权利要求2所述的终端认证方法,其特征在于,所述在预先注册过程中,终端接收所述服务器下发的ESCK,具体为:
向所述服务器发起注册申请,所述注册申请包含终端ID和根加密机签发的第一终端证书;
接收所述服务器在验证所述第一终端证书合法后发送的运营商证书、所述ESCK和运营商加密机签发的第二终端证书。
4.一种服务器认证方法,其特征在于,包括以下步骤:
接收终端发起的认证请求;
产生随机数Random,并根据所述Random、认证密钥K2和上一次认证的认证因子响应L_Nonce Response值获取本次认证的认证因子响应Nonce Response值;
将所述Random和加密的认证密钥EK3(K2)下发给所述终端;
接收所述终端发送的Nonce Response值;
将所述终端发送的Nonce Response值与自身计算出的Nonce Response值进行比较,如果匹配,则通过认证;其中,
所述根据所述Random、所述K2和所述L_Nonce Response值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值。
5.根据权利要求4所述的服务器认证方法,其特征在于,所述K2和所述EK3(K2)通过以下方式获得:
根据认证密钥KeyID生成所述K2;
用运营商根密钥K3加密所述K2,生成所述EK3(K2)。
6.一种双向认证方法,其特征在于,包括以下步骤:
终端向服务器发起认证请求;
所述服务器产生随机数Random,并根据所述Random、认证密钥K2和上一次认证的认证因子响应L_Nonce Response值计算本次认证的认证因子响应Nonce Response值,并将所述Random和加密的认证密钥EK3(K2)下发至所述终端;
所述终端根据所述Random、所述EK3(K2)、终端根密钥SCK、和所述L_Nonce Response值计算出Nonce Response值,并将其上传至所述服务器;
所述服务器将所述终端发送的Nonce Response值与自身计算出的Nonce Response值进行比较,如果匹配,则通过认证;其中,
所述根据所述Random、所述EK3(K2)、所述SCK和所述L_Nonce Response值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述SCK生成运营商根密钥K3;
用所述K3解密所述EK3(K2)得到认证密钥K2;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值;
所述根据所述Random、所述K2和所述L_Nonce Response值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值。
7.一种终端,其特征在于,包括:
请求发送模块,用于向服务器发起认证请求;
数据接收模块,用于接收所述服务器发送的随机数Random和加密的认证密钥EK3(K2);
认证计算模块,用于根据所述Random、所述EK3(K2)、终端根密钥SCK和上一次认证的认证因子响应L_Nonce Response值获取本次认证的认证因子响应Nonce Response值;
响应发送模块,将所述Nonce Response值上传至所述服务器;其中,
所述根据所述Random、所述EK3(K2)、所述SCK和所述L_Nonce Response值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述SCK生成运营商根密钥K3;
用所述K3解密所述EK3(K2)得到认证密钥K2;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值。
8.根据权利要求7所述的终端,其特征在于,所述SCK通过以下方式获得:
在预先注册过程中,终端接收所述服务器下发的加密的终端根密钥ESCK,将所述ESCK解密后得到所述SCK并将其写入自身的只读存储器内。
9.一种服务器,其特征在于,包括:
请求接收模块,用于接收终端发起的认证请求;
认证处理模块,用于产生随机数Random,并根据所述Random、认证密钥K2和上一次认证的认证因子响应L_Nonce Response值获取本次认证的认证因子响应Nonce Response值;
数据下发模块,用于将所述Random和加密的认证密钥EK3(K2)下发给所述终端;
响应接收模块,用于接收所述终端发送的Nonce Response值;
认证比较模块,用于将所述终端发送的Nonce Response值与自身计算出的NonceResponse值进行比较,如果匹配,则通过认证;其中,
所述根据所述Random、所述K2和所述L_Nonce Response值获取所述Nonce Response值,具体包括:
根据所述Random和所述L_Nonce Response值并采用认证因子生成算法计算得到本次认证的认证因子Nonce值;
根据所述Nonce值和所述K2并采用认证因子响应生成算法计算得到所述NonceResponse值。
10.一种双向认证***,其特征在于,包括:
至少一个权利要求7所述的终端以及权利要求9所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410036296.2A CN104811303B (zh) | 2014-01-24 | 2014-01-24 | 双向认证的方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410036296.2A CN104811303B (zh) | 2014-01-24 | 2014-01-24 | 双向认证的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104811303A CN104811303A (zh) | 2015-07-29 |
CN104811303B true CN104811303B (zh) | 2018-12-18 |
Family
ID=53695822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410036296.2A Active CN104811303B (zh) | 2014-01-24 | 2014-01-24 | 双向认证的方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104811303B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108476224B (zh) * | 2016-01-19 | 2020-12-04 | 英国电讯有限公司 | 认证通信连接的方法、数据通信装置和存储介质 |
CN107704758A (zh) * | 2017-08-25 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种sql注入漏洞检测方法和检测装置 |
CN108718237A (zh) * | 2018-03-20 | 2018-10-30 | 如般量子科技有限公司 | 一种基于对称密钥池的改进型aka身份认证***和方法 |
WO2020172887A1 (zh) * | 2019-02-28 | 2020-09-03 | 云图有限公司 | 数据处理方法、装置、智能卡、终端设备和服务器 |
CN112016082B (zh) * | 2020-10-26 | 2021-01-22 | 成都掌控者网络科技有限公司 | 一种权限清单安全控制方法 |
CN112738043B (zh) * | 2020-12-22 | 2023-06-27 | 北京八分量信息科技有限公司 | 大数据***中对用户身份进行合法性认证的方法、***及相关产品 |
CN112751674B (zh) * | 2020-12-30 | 2023-05-02 | 上海优咔网络科技有限公司 | 虚拟专用网络接入认证方法、***、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807994A (zh) * | 2009-12-18 | 2010-08-18 | 北京握奇数据***有限公司 | 一种ic卡应用数据传输的方法及*** |
CN102047266A (zh) * | 2008-10-10 | 2011-05-04 | 松下电器产业株式会社 | 信息处理装置、认证***、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 |
-
2014
- 2014-01-24 CN CN201410036296.2A patent/CN104811303B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047266A (zh) * | 2008-10-10 | 2011-05-04 | 松下电器产业株式会社 | 信息处理装置、认证***、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 |
CN101807994A (zh) * | 2009-12-18 | 2010-08-18 | 北京握奇数据***有限公司 | 一种ic卡应用数据传输的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN104811303A (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104811303B (zh) | 双向认证的方法、装置及*** | |
CN107079034B (zh) | 一种身份认证的方法、终端设备、认证服务器及电子设备 | |
CN105050081B (zh) | 网络接入设备接入无线网络接入点的方法、装置和*** | |
JP6586446B2 (ja) | 通信端末および関連システムのユーザーの識別情報を確認するための方法 | |
EP2854433B1 (en) | Method, system and related device for realizing virtual sim card | |
CN107358441B (zh) | 支付验证的方法、***及移动设备和安全认证设备 | |
CN102045367B (zh) | 实名认证的注册方法及认证服务器 | |
CN106878245B (zh) | 图形码信息提供、获取方法、装置及终端 | |
US9769654B2 (en) | Method of implementing a right over a content | |
CN109040026A (zh) | 一种数字资产的授权方法、装置、设备及介质 | |
US8397281B2 (en) | Service assisted secret provisioning | |
CN101841525A (zh) | 安全接入方法、***及客户端 | |
CN109992949A (zh) | 一种设备认证方法、空中写卡方法及设备认证装置 | |
CN104660412A (zh) | 一种移动设备无密码安全认证方法及*** | |
US8863241B2 (en) | System and method for managing usage rights of software applications | |
CN102821112A (zh) | 移动设备、服务器和移动设备数据验证方法 | |
CN102404337A (zh) | 数据加密方法和装置 | |
CN107609878B (zh) | 一种共享汽车的安全认证方法及*** | |
CN107819766B (zh) | 安全认证方法、***及计算机可读存储介质 | |
CN106656955A (zh) | 一种通信方法及***、客户端 | |
WO2015168878A1 (zh) | 支付方法和装置以及支付要素处理方法和装置 | |
CN103592927A (zh) | 一种通过license绑定产品服务器及业务功能的方法 | |
CN113079002B (zh) | 数据加密方法、解密方法、密钥管理方法、介质和设备 | |
CN105430649B (zh) | Wifi接入方法及设备 | |
CN107395600B (zh) | 业务数据验证方法、服务平台及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |