CN112260987B - 一种数字内容保护系统中双向安全认证方法及系统 - Google Patents
一种数字内容保护系统中双向安全认证方法及系统 Download PDFInfo
- Publication number
- CN112260987B CN112260987B CN202010947873.9A CN202010947873A CN112260987B CN 112260987 B CN112260987 B CN 112260987B CN 202010947873 A CN202010947873 A CN 202010947873A CN 112260987 B CN112260987 B CN 112260987B
- Authority
- CN
- China
- Prior art keywords
- authentication
- message
- authentication message
- algorithm
- full
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000002457 bidirectional effect Effects 0.000 title claims abstract description 43
- 239000003999 initiator Substances 0.000 claims abstract description 71
- 238000012795 verification Methods 0.000 claims description 34
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- GPUADMRJQVPIAS-QCVDVZFFSA-M cerivastatin sodium Chemical compound [Na+].COCC1=C(C(C)C)N=C(C(C)C)C(\C=C\[C@@H](O)C[C@@H](O)CC([O-])=O)=C1C1=CC=C(F)C=C1 GPUADMRJQVPIAS-QCVDVZFFSA-M 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数字内容保护系统中双向安全认证方法及系统,其中,发起方的安全认证方法包括:根据认证发起方类型以及算法要求标识进行算法参数配置,以生成第一完全认证消息,并向响应方发送所述第一完全认证消息;接收第二完全认证消息;对所述第二完全认证消息进行认证,并在认证通过后保存第二主密钥,同时生成第三完全认证消息,以便于响应方对所述第三完全认证消息进行认证,从而完成双向安全认证。本发明为数字内容保护系统提供了功能更全面、适应性更强的实体间双向认证方案,且可以根据情况进行完全认证或快速认证,提高了效率;同时支持多种算法选择,并且在认证协议中实现l了连接层级的控制,使得算法应用场景更加广泛和灵活。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种数字内容保护系统中双向安全认证方法及系统。
背景技术
多媒体内容的数字化以及消费数字电子终端的普及化使得用户可以很方便的获得数字化的多媒体内容的拷贝并进行传播,这种情况使得高清的数字媒体内容在实体间传输时很容易发生被盗版的现象,对数字内容的版权拥有者的利益造成了很大的损害。为了防止数字内容在实体间传输时被非法拷贝、拦截和篡改,出现了HDCP(High-bandwidthDigital Content Protection System,高带宽数字内容保护系统)、DTCP(DigitalTransmission Content Protection,数字传输内容保护)和DICP(电子行业标准SJT11407.1-2009数字接口内容保护系统技术规范)等可以应用在数字接口,如HDMI、DVI和IEEE 1394-1995等或者可以接收解码播放数字内容的电子设备上的数字内容保护系统。在上述内容保护系统中,实体认证过程必不可少。一般认证过程包括认证与密钥协商(AKE)、位置检查以及会话密钥交换几部分。其中双认证与密钥协商部分用于数字内容的发送方与接收方相互确认对方的身份并建立共享主密钥,完成后发送方和接收方可以相互确认对方是合法的实体并与之建立了新鲜的共享主密钥,共享主密钥用于后续的会话密钥和内容密钥传递。
目前,现有技术中主要采用HDCP标准和DTCP标准进行安全认证,其中,HDCP标准主要是基于RSA公钥密码体制通过公钥加密进行密钥传输完成单向身份认证并建立共享密钥,并通过协议发起方(发送端)存储使用协议响应方(接收端)私钥加密的主密钥和对应的接收端ID在后续与该接收端认证时使用已经存在的主密钥进行快速认证。DTCP标准中的完全认证方式主要是基于ECC公钥密码体制通过数字签名完成双向身份认证以及对临时EC-DH协商参数的来源以及完整性验证,通过EC-DH算法建立共享密钥。
然而,HDCP标准中在认证后需要依靠HDCP Reapter逐层上报下方相连的全部设备的ID以及层级来进行连接设备的吊销检查和层级限制,该上报流程需要在沿途的每一个接口之间传递ID列表、层级信息并进行完整性验证,当设备数量较多时,传递的列表将比较庞大,设备连接拓补频繁变化时,该过程将会频繁进行,带来一定的通信和计算负担,降低了效率。同时,HDCP标准中只有发送端作为发起方对接收端进行单向认证,接收端不能确认发送端是否合法,不能应用于某些场景(例如有接收端回传重要信息的场景),限制了标准的应用范围。而DTCP标准中的完全认证方式不能依据过去建立过的主密钥进行快速认证,每次认证都需要执行非对称密钥协商以及签名、验签操作,会增长认证的耗时。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种数字内容保护系统中双向安全认证方法及系统。本发明要解决的技术问题通过以下技术方案实现:
一种数字内容保护系统中发起方的安全认证方法,包括:
根据认证发起方类型以及算法要求标识进行算法参数配置,以生成第一完全认证消息,并向响应方发送所述第一完全认证消息;
接收第二完全认证消息;其中,所述第二完全认证消息由响应方根据所述第一完全认证消息的认证结果生成;
对所述第二完全认证消息进行认证,并在认证通过后保存第二主密钥,同时生成第三完全认证消息,以便于响应方对所述第三完全认证消息进行认证,从而完成双向安全认证;其中,所述第二主密钥由所述第二完全认证消息确定的算法计算得到,且其与所述第二完全认证消息中的第二证书主体标识相对应。
在本发明的一个实施例中,所述的数字内容保护系统中发起方的安全认证方法还包括:
接收第一快速认证消息;其中,所述第一快速认证消息由响应方根据所述第一完全认证消息的认证结果生成;
对所述第一快速认证消息进行认证,并根据认证结果生成第二快速认证消息或者第三快速认证消息,以方便响应方根据所述第二快速认证消息生成第二完全认证消息或者对所述第三快速认证消息进行认证,从而完成双向安全认证。
在本发明的一个实施例中,所述的数字内容保护系统中发起方的安全认证方法,还包括:
当认证发起方发出所述第一完全认证消息或者所述第二快速认证消息后,若在预设时间内未收到所述第二完全认证消息或者所述第一快速认证消息时,重复发送所述第一完全认证消息或所述第二快速认证消息;
若重复发送次数超过预设最大次数,则结束认证。
在本发明的一个实施例中,根据认证发起方类型以及算法要求标识进行算法参数配置,以生成第一完全认证消息,包括:
认证发起方为源端时:
当算法要求标识规定了算法,并进一步判断该源端支持所述算法要求标识规定的算法时,按照该规定的算法计算第一参数列表,并生成第一完全认证消息,否则,结束认证;当算法要求标识未规定算法时,按照源端的若干第一预设算法计算第一参数列表,并生成第一完全认证消息;
其中,所述第一完全认证消息包括第一完全认证消息标识、第一证书列表、第一CA证书列表、第一参数列表以及第一随机数;
或者,认证发起方为路由端时:
在检测到所述算法要求标识存在且该路由端支持所述算法要求标识规定的算法时,按照规定的算法或者路由的预设算法进行参数配置,并生成第一完全认证消息。
在本发明的一个实施例中,所述第一完全认证消息还包括层级限制参数,以便于在所述层级限制参数存在但不为0时,向响应方发送所述第一完全认证消息;其中,所述层级限制参数的值为允许的最大连接层数。
在本发明的一个实施例中,对所述第二完全认证消息进行认证,并在认证通过后保存第二主密钥,同时生成第三完全认证消息,包括:
根据所述第二完全认证消息中的第二证书列表或所述算法要求标识选择后续协议采用的算法;
对所述第二完全认证消息中的第二证书列表和第二CA证书列表进行验证,并根据选定算法对所述第二完全认证消息中的第二签名进行验证;其中,层级限制参数由所述第一完全认证消息确定;
验证通过后根据确定的算法计算第二主密钥,并根据所述第二主密钥重新计算第二消息认证码;
将计算得到的第二消息认证码与接收到的所述第二完全认证消息中的第二消息认证码进行验证,并在验证通过后,保存所述第二主密钥;
根据确定的算法计算第一消息认证码和第一签名,并生成第三完全认证消息;其中,所述第三完全认证消息包括第三完全认证消息标识、第一签名以及第一消息认证码。
在本发明的一个实施例中,对所述第一快速认证消息进行认证,并根据认证结果生成第二快速认证消息或者第三快速认证消息,包括:
若判断发起方不存在与所述第一快速认证消息中的第二证书主体标识相对应的主密钥或者发起方存在与所述第一快速认证消息中的第二证书主体标识相对应的主密钥且快速认证次数达到预设上限时,生成第二快速认证消息;否则,
对所述第一快速认证消息中的第二证书列表和第二CA证书列表进行验证,并根据选定算法计算第二主密钥,并根据所述第二主密钥重新计算第三消息认证码;
将计算得到的第三消息认证码与接收到的所述第一快速认证消息中的第三消息认证码进行验证,并在验证通过后,保存所述第二主密钥;
根据确定的算法计算第四消息认证码,并生成第三快速认证消息。
本发明的另一个实施例还提供了一种数字内容保护系统中响应方的安全认证方法,包括:
接收第一完全认证消息并进行认证,当响应方不存在与所述第一完全认证消息中的第一证书主体标识相对应的主密钥时,计算第一主密钥,同时生成第二完全认证消息;
其中,所述第一主密钥与所述第一完全认证消息中的第一证书主体标识相对应;所述第二完全认证消息包括第二完全认证消息标识、第二证书列表、第二CA证书列表、第二参数列表、第二签名以及第二消息认证码;
接收第三完全认证消息并进行认证,以完成双向安全认证;其中,所述第三完全认证消息由发起方根据所述第二完全认证消息的认证结果生成。
在本发明的一个实施例中,所述的数字内容保护系统中响应方的安全认证方法还包括:
接收第一完全认证消息并进行认证,并当响应方存在与所述第一完全认证消息中的第一证书主体标识相对应的主密钥时,生成第一快速认证消息;
其中,所述第一快速认证消息包括第一快速认证消息标识、第二证书列表、第二CA证书列表、第二随机数以及第三消息认证码;
接收第二快速认证消息并生成第二完全认证消息,或者,
接收第三快速认证消息,并对其进行认证,以完成双向安全认证。
本发明的又一个实施例还提供了一种数字内容保护系统,包括发起装置和响应装置,所述发起装置可以实现上述实施例所述的数字内容保护系统中发起方的安全认证方法,所述响应装置可以实现上述实施例所述的数字内容保护系统中响应方的安全认证方法;其中,
所述发起装置包括内容源端或者路由端,所述响应装置包括内容接收端或者路由端。
本发明的有益效果:
1、本发明在数字内容保护系统中的发起方和响应方均通过存储认证产生的主密钥和主体名进行配对,实现了双向完全认证的同时,在后续认证中还可以根据过去存储的主密钥进行快速认证和主密钥更新,提高了认证效率;
2、本发明在参与方支持多套算法时,可以基于预设的算法要求标识和发起方发送的证书列表中的证书个数以及响应方返回的证书协商确定本次协议中使用的算法,以此达成对多套算法的支持;
3、本发明在认证消息中增加了可选的层级限制参数,当内容保护系统需要控制连接实体层级时,可以在认证协议中传递并验证该参数,并且根据收到的认证信息中的参数值确定是否发起认证,以在认证协议中完成系统的连接层级控制,不再需要一个额外的收集流程并减少了无效认证的出现,提高了效率,同时使得应用场景更加广泛灵活。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种数字内容保护系统中发起方的安全认证方法流程示意图;
图2是本发明实施例提供的一种数字内容保护系统中响应方的安全认证方法流程示意图;
图3是本发明实施例提供的双向完全认证基本流程示意图;
图4是本发明实施例提供的双向快速认证基本流程示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1是本发明实施例提供的一种数字内容保护系统中发起方的安全认证方法流程示意图,包括:
步骤1:根据认证发起方类型以及算法要求标识进行算法参数配置,以生成第一完全认证消息,并向响应方发送第一完全认证消息。
在本实施例中,提供了一种数字内容保护系统的架构,其包括内容源端(Source)、路由端(Router)和内容接收端(Sink),其中,Source可直接与Sink建立连接传输受保护的数字内容,或者Source通过Router与Sink建立连接,通过Router向Sink转发受保护的数字内容。因此,本实施例中的认证发起方可以是内容源端(Source),也可以是路由端(Router)。
为了更清楚、方便的描述本实施例的方法,下面通过表1列举出了本实施例所使用的部分符号及其含义。
表1
(1)当认证发起方A(协议发起方)为源端时:
先检测是否有下级实体的连接信号,若检测到连接信号,说明可以发起认证,则进一步地进行参数配置。
具体地,当算法要求标识规定了算法,并进一步判断该源端支持算法要求标识规定的算法时,按照该规定的算法计算第一参数列表,并生成第一完全认证消息,否则,结束认证。当算法要求标识未规定算法时,按照源端的若干第一预设算法计算第一参数列表,并生成第一完全认证消息。其中,第一完全认证消息包括第一完全认证消息标识、第一证书列表、第一CA证书列表、第一参数列表以及第一随机数。
在本实施例中,源端可以预设多种算法,也即第一预设算法,例如可以设置两种算法(算法1和算法2),也就是说源端支持采用算法1和算法2进行参数配置以及后续协议采用的算法。
例如,本实施例可以将认证发起方记为A,将算法要求标识记为AlgID。当源端规定了算法,也即设置了AlgID=01或10,其分别对应本次协议必须使用算法1或算法2,且源端正好支持这两种算法,则根据规定的算法计算参数列表xGlist=xG,构造证书列表CertAlist为CertA,CA证书CertA_Admlist为CertA_Adm。如果A不支持所规定的算法,则认证失败,结束认证。当源端与下级实体断开连接时,AlgID应该清除。
若源端没有强制使用算法时,AlgID=00,此时,源端需要与下游设备协商确定算法,协商方法见认证协议。具体地,A如果存有两套证书,即A预设了算法1和算法2两套算法,则构造A持有的证书列表CertAlist为CertA1||CertA2(CertA1靠前表示该证书支持的算法为优先支持算法),对应的CA证书CertA_Admlist为CertA_Adm 1||CertA_Adm 2,根据CertAlist中证书的顺序构造对应算法下的参数列表xGlist为xGlist=x1G1||x2G2。如果发起方A只存有一套证书,则构造A持有的证书列表CertAlist为CertA,对应的CA证书CertA_Admlist为CertA_Adm,采用此证书支持算法构造xGlist=xG。
然后,在完成了CertAlist||CertA_Admlist||xGlist|的构造后,A端产生128位第一随机数RA,并生成第一完全认证消息MBiAuth1,记为:
MBiAuth1=BiAuth1||CertAlist||CertA_Admlist||xGlist||RA||;
其中,BiAuth1表示第一完全认证消息标识,CertAlist表示第一证书列表,CertA_Admlist表示第一CA证书列表,xGlist表示第一参数列表,RA表示第一随机数。
进一步地,在需要层级限制时,源端还可以配置一个层级限制参数LD,其值为允许的最大连接层数,记为LD=LLD_MAX。则此时,需要将该参数一起生成第一完全认证消息MBiAuth1,也即MBiAuth1为:
MBiAuth1=BiAuth1||CertAlist||CertA_Admlist||xGlist||RA||[LD]。
当源端不需要进行层级限制时,LD不存在。
(2)当认证发起方A(协议发起方)为路由端(Router)时:
在检测到下级实体的连接信号后,当算法配置AlgID存在时随即发起双向认证,当Router与上级实体断开连接时,AlgID应该清除。
具体地,发起方即路由端循环检查AlgID是否存在,AlgID存在后,如果存在LD且LD=0,则不发起认证,认证失败;否则根据AlgID的取值(01或10分别表示本次协议必须使用算法1或算法2)检查是否支持规定算法,如果路由端支持规定的算法,则使用规定算法计算参数列表xGlist=xG,构造证书列表CertAlist为CertA,CA证书CertA_Admlist为CertA_Adm。并生成第一完全认证消息,该第一完全认证消息的内容与发起方为源端时的内容相同。如果路由端不支持所规定的算法,则认证失败,结束认证。
在发起方生成第一完全认证消息MBiAuth1后,当层级限制参数存在但不为0,或者层级限制参数不存在时,向响应方发送所述第一完全认证消息。
进一步地,当认证发起方发出第一完全认证消息后,若在预设时间内未收到第二完全认证消息或者第一快速认证消息时,则重复发送第一完全认证消息;若重复发送次数超过预设最大次数,则结束认证。
具体地,认证发起方在发出第一完全认证消息后,会收到响应方基于该第一认证消息的验证结果发出的相应的反馈信息,如第二完全认证消息或第一快速认证消息。在发送完第一完全认证消息后,发起方会开启定时计数器,如果定时计数器超过TAUTH_MAX,且当本次协议中重发次数小于LLAUTH_MAX时,发起方重发消息MBiAuth1,如果重试次数超过LLAUTH_MAX,则本次双向认证协议失败,发起方A清除本次协议相关数据并放弃本次双向认证协议。其中,TAUTH_MAX表示等待接收下一条消息的最大时长,LLAUTH_MAX表示单条协议消息重发的最大次数。如果未超时情况下收到反馈消息,则继续后面的验证。
步骤2:接收第二完全认证消息;其中,第二完全认证消息由响应方根据第一完全认证消息的认证结果生成。
具体地,当发起方发出第一完全认证消息之后,会接收到来自响应方的反馈,该反馈信息是由响应方根据第一完全认证消息的认证结果生成。例如,其可以是第二完全认证消息MBiAuth2,以用于实现后续的完全认证过程。该第二完全认证消息MBiAuth2包括第二完全认证消息标识、第二证书列表、第二CA证书列表、第二参数列表、第二签名以及第二消息认证码,依次记为:
BiAuth2||CertB||CertB_Adm||yG||SB(M)||HMAC(K1,SB(M)||ID_A||ID_B)。
步骤3:对第二完全认证消息进行认证,并在认证通过后保存第二主密钥,同时生成第三完全认证消息,以便于响应方对第三完全认证消息进行认证,从而完成双向安全认证;其中,第二主密钥由第二完全认证消息确定的算法计算得到,且其与第二完全认证消息中的第二证书主体标识相对应。
在本实施例中,对第二完全认证消息进行认证,并在认证通过后保存第二主密钥,同时生成第三完全认证消息,包括:
1)根据第二完全认证消息中的第二证书列表或算法要求标识选择后续协议采用的算法。
具体地,在接收到第二完全认证消息后,如果AlgID=00,则从第二证书列表CertB中提取算法字段的值,依据该字段确定本次协议采用的算法;否则,根据AlgID的值确定后续协议采用的算法。
2)对第二完全认证消息中的第二证书列表和第二CA证书列表进行验证,并根据选定算法对第二完全认证消息中的第二签名进行验证;其中,层级限制参数由所述第一完全认证消息确定。
具体地,先从第二完全认证消息的第二证书列表CertB中提取该证书,并进行系统完整性查询,如果该证书被吊销,则直接结束认证,并清除相关数据。若证书完整合格,则进一步读取本地根证书公钥,并对第二CA证书列表中的子CA证书CertB_Adm进行验证,通过后再利用子证书CertB_Adm中的公钥对证书CertB进行验证,全部通过验证之后才进行后续认证过程,否则,结束认证并清除相关数据。
3)验证通过后根据确定的算法计算第二主密钥,并根据所述第二主密钥重新计算第二消息认证码。
在步骤2)的证书验证通过后,先组合信息M=“XXXX”||yG||xG||[LD]||ID_A,其中,LD字段是否存在则根据消息MBiAuth1确定。然后根据选定的算法对第二签名SB(M)进行验证,如果签名验证失败,则结束认证并清除相关数据。其中,当A发送的xGlist中有两项时,此处的xG为A采用算法对应的xG。否则,进一步计算第二主密钥,并进行第二消息认证码的验证。
本实施例以椭圆曲线上的签名和验证作为签名方案,以HMAC(Hash-basedMessage Authentication Code,哈希消息认证码)消息认证码,ECDH(Elliptic CurveDiffie-Hellman椭圆曲线密钥交换体制)作为密钥协商方案,其中使用的椭圆曲线私钥均为256bit长度。
具体地,先根据点xyG计算第二主密钥Km,为:
Km=KDF(xyG,“MainKey”||yG||xG,256)
其中,xyG是A的随机数x与收到的点yG使用标量乘算法EM(*x,*yG)后输出的点。
然后,计算导出密钥K1:
K1=KDF(Km,“HMACKey1”||yG0-255||xG0-255,256)。
再利用计算的导出密钥K1以及第二完全认证消息MBiAuth2中收到的第二签名,也即响应方的签名SB(M)计算第二消息认证码HMAC(K1,SB(M)||ID_A||ID_B)。
4)将计算得到的第二消息认证码与接收到的第二完全认证消息中的第二消息认证码进行验证,并在验证通过后,保存第二主密钥。
具体地,利用步骤3)计算得到的HMAC值和收到的第二完全认证消息MBiAuth2中的第二消息认证码的值对比验证,若HMAC值验证不通过,则结束验证,否则,继续进行后续认证流程。
5)根据确定的算法计算第一消息认证码和第一签名,并生成第三完全认证消息;其中,第三完全认证消息包括第三完全认证消息标识、第一签名以及第一消息认证码。
具体地,利用私钥SKA以及合成的消息M1=“XXXX”||yG||ID_B||xG根据选定算法计算第一签名SA(M1)。
然后计算导出密钥K2,并利用K2为密钥、第一签名SA(M1)||ID_A||ID_B作为消息计算第一消息认证码,其中,
K2=KDF(Km,“HMACKey2”||xG256-511||yG256-511,256)
第一消息认证码表示为:HMAC(K2,SA(M1)||ID_B||ID_A)。
将第一签名SA(M1)和第一消息认证码HMAC(K2,SA(M1)||ID_B||ID_A)生成第三完全认证消息,表示为:
MBiAuth3=BiAuth3||SA(M1)||HMAC(K2,SA(M1)||ID_B||ID_A)
其中,BiAuth3表示第三完全认证消息标识。
最后将第三完全认证消息MBiAuth3发送给响应方,并存储第二主密钥Km及其对应的第二证书主体标识ID_B,并令快速认证次数LFastAuth=0。
在本发明的另一个实施例中,当发起方发出第一完全认证消息之后,接收到来自响应方的反馈信息还可以是第一快速认证消息,该第一快速认证消息由响应方根据第一完全认证消息的认证结果生成。然后对该第一快速认证消息进行认证,并根据认证结果生成第二快速认证消息或者第三快速认证消息,以方便响应方根据第二快速认证消息生成第二完全认证消息或者对第三快速认证消息进行认证,从而完成双向安全认证。
具体地,第一快速认证消息包括:第一快速认证消息标识、第二证书列表、第二CA证书列表、第二随机数以及第三消息认证码,表示为:
MFastAuth1=FastAuth1||CertB||CertB_Adm||RB||HMAC(K1,RB||RA||[LD]||ID_A)
进一步地,对第一快速认证消息进行认证,并根据认证结果生成第二快速认证消息或者第三快速认证消息,包括:
a)若判断发起方不存在与第一快速认证消息中的第二证书主体标识相对应的主密钥或者发起方存在与所述第一快速认证消息中的第二证书主体标识相对应的主密钥且快速认证次数达到预设上限时,生成第二快速认证消息。
具体地,在接收到第一快速认证消息后,提取CertB中存储的第二证书主体标识ID_B,检查是否有与ID_B对应的Km’存储,如果没有对应的主密钥或者发起方存在与所述第一快速认证消息中的第二证书主体标识相对应的主密钥且已进行的快速认证次数LFastAuth达到预设的快速认证的次数上限LFASTAUTH_MAX,则生成第二快速认证消息,并发送至响应方,以使响应方生成第二完全认证消息,并进行完全认证流程。第二快速认证消息可以表示为:
MFastAuth2=FastAuth2||”FAILED”。
在本实施例中,认证发起方在发出第二快速认证消息MFastAuth2后,会收到响应方基于该第二快速认证消息发出的第二完全认证消息以将认证流程由快速认证转换成完全认证。在发送完第二快速认证消息后,发起方会开启定时计数器,如果定时计数器超过TAUTH_MAX,且当本次协议中重发次数小于LLAUTH_MAX时,发起方重发消息MFastAuth2,如果重试次数超过LLAUTH_MAX,本次双向认证协议失败,发起方A清除本次协议相关数据并放弃本次双向认证协议。其中,TAUTH_MAX表示等待接收下一条消息的最大时长,LLAUTH_MAX表示单条协议消息重发的最大次数。如果未超时情况下收到反馈消息,则继续后面的验证。
b)若存在对应的主密钥,且已进行的快速认证次数LFastAuth小于预设的快速认证的次数上限LFASTAUTH_MAX,则说明可以进行快速认证,并生成第三快速认证消息,包括:
b1)对第一快速认证消息中的第二证书列表和第二CA证书列表进行验证,并根据选定算法计算第二主密钥,进而根据第二主密钥重新计算第三消息认证码。
具体地,先根据AlgID的值确定本次协议采用的算法,如果AlgID=00,使用CertB中算法字段对应的算法为本次协议中使用的算法,对CertB进行系统完整性查询,如果该证书被吊销,则结束认证并清除相关数据。验证通过则读取本地根证书公钥,对子CA证书CertB_Adm进行验证,通过后利用证书CertB_Adm中的公钥对证书CertB进行验证。
全部通过验证后,计算第二主密钥,并根据第二主密钥重新计算第三消息认证码。具体为:
计算第二主密钥Km=KDF(Km’,“MainKey”||RA||RB,256),计算导出秘钥K1=KDF(Km,“HMACKey1”||RA0-63||RB0-63,256),以K1为密钥计算第三消息认证码HMAC(K1,RB||RA||[LD]||ID_A)。
b2)将计算得到的第三消息认证码与接收到的第一快速认证消息中的第三消息认证码进行验证,并在验证通过后,保存第二主密钥。
将计算得到的第三消息认证码与收到第一快速认证消息中的第三消息认证码做对比。其中,LD是否存在根据MBiAuth1确定。验证通过后,保存第二主密钥,并继续进行快速认证流程;否则,认证结束,并清除相关数据。
进一步地,在该过程中,如果第三消息认证码对比失败,则发起方需要清除之前存储的第二证书主体标识及其对应的主密钥以及快速认证次数等相关信息。
b3)根据确定的算法计算第四消息认证码,并生成第三快速认证消息。
具体地,根据第二主密钥计算第二导出秘钥K2,K2=KDF(Km,“HMACKey2”||RA64-127||RB64-127,256),以K2为密钥计算第四消息认证码HMAC(K2,RA||RB||ID_B),,并生成第三快速认证消息,其中,第三快速认证消息可以表示为:
MFastAuth3=FastAuth3||HMAC(K2,RA||RB||ID_B)。
最后,将第三快速认证消息MFastAuth3发送给响应方,并存储第二主密钥Km及其对应的第二证书主体标识ID_B,并令快速认证次数LFastAuth加1。
本实施例通过在数字内容保护系统中双方都存储认证产生的主密钥和主体名进行配对,在双方没有过去建立的主密钥时,基于PKI(公钥基础设施)验证证书链保证公钥的完整性,基于数字签名和验证进行身份认证和DH参数传递,基于DH(Diffie-Hellman)算法协商进行双方密钥协商,双向的身份认证需协议发起方和响应方相互验证对方的证书列表和签名,确认对方持有证书以及相应的私钥,实现双向安全完全认证。在双方都持有过去建立的主密钥时,通过相互确认双方持有主密钥进行快速认证同时交换随机数进行主密钥更新,建立新的共享主密钥,即可在后续认证中根据过去的存储主密钥进行快速认证和主密钥更新,实现了双向安全快速认证,提高了认证效率。
此外,本实施例在认证协议中传递内容保护系统中增加层级信息并验证完整性,下级实体是否发起认证与层级信息相关,达成层级控制,进一步提高了效率;同时,本实施例在认证协议中使用证书列表在双方支持多套身份认证算法时进行算法选择,实现了支持多套算法的发起方与响应方相互认证和主密钥协商。
实施例二
请参见图2,图2是本发明实施例提供的一种数字内容保护系统中响应方的安全认证方法流程示意图,包括:
步骤一:接收第一完全认证消息并进行认证,当响应方不存在与第一完全认证消息中的第一证书主体标识相对应的主密钥时,计算第一主密钥,同时生成第二完全认证消息,以便于在所述层级限制参数不存在或者存在但不为0时,发起认证;
其中,第一主密钥与第一完全认证消息中的第一证书主体标识相对应;第二完全认证消息包括第二完全认证消息标识、第二证书列表、第二CA证书列表、第二参数列表、第二签名以及第二消息认证码。
具体地,响应方B收到发起方A发送的双向认证消息MBiAuth1后,需要进行算法确定和证书确认。
首先,如果判断收到的第一完全认证消息中存在LD字段,则存储LD=LD-1,若不存在,则相应的清空本地的LD。然后响应方根据发起方的第一证书列表CertAlist中的证书算法类型字段选择本次认证采用的算法。
如果CertAlist仅有一个证书,则响应方根据此证书的算法字段内容得到此次认证采用的算法,如果B所持有的证书支持该算法,则存储该算法,例如存储AlgID=01(算法1)或者AlgID=10(算法2),然后继续进行认证,否则认证失败,清除本地存储的AlgID数据,协议结束。
如果CertAlist有多种证书,若B本身持有多种证书即支持多种算法,则选择CertAlist中紧接MBiAuth1标识的证书中采用的算法作为本次认证采用的算法;若B只持有1种证书即只支持1种算法,则使用此算法作为本次认证所采用的算法,存储AlgID=01(算法1)或者AlgID=10(算法2),并继续进行认证。
然后,对证书CertAlist中的全部证书进行系统完整性查询,如果有任一证书被吊销,则认证失败,清除相关数据。
接着读取本地根证书公钥,对子CA证书列表CertA_Admlist进行验证,验证通过后提取子CA的公钥对发起方A的证书列表CertAlist中的相应证书进行验证,如果证书CertA_Admlist或CertAlist验证失败,则结束认证,并清除所有数据。
所有证书验证通过后,再判断响应方是否存在与第一完全认证消息中的第一证书主体标识相对应的主密钥。
具体地,响应方B提取CertAlist中的主体标识ID_A,也即第一证书主体标识进行查询,如果不存在与ID_A相对应的的主密钥Km’,则计算第一主密钥,同时生成第二完全认证消息。具体如下:
根据选定的算法生成随机数y,并计算点yG,计算LD=LD+1,合成消息:M=“XXXX”||yG||xG||[LD]||ID_A。
计算第二签名SB(M),SB(M)代表响应方B利用私钥SKB和选定算法对消息M的签名,LD字段是否存在根据收到的消息MBiAuth1确定。其中,yG是B的随机数y与基点G使用标量乘算法EM(*y,*G)后输出的点。
需要说明的是,当B收到的xGlist中有两项时,此处的xG为B采用算法对应的xG。
计算点xyG,计算第一主密钥,为:
Km=KDF(xyG,“MainKey”||yG||xG,256)
计算导出密钥,为:
K1=KDF(Km,“HMACKey1”||yG0-255||xG0-255,256)
其中,xyG是B的随机数y与收到的点xG使用标量乘算法EM(*y,*xG)后输出的点。
然后以第二签名SB(M)||ID_A||ID_B为消息,利用导出密钥K1计算第二消息认证码:HMAC(K1,SB(M)||ID_B||ID_A),并生成第二完全认证消息。
其中,第二完全认证消息MBiAuth2可以表示为:
BiAuth2||CertB||CertB_Adm||yG||SB(M)||HMAC(K1,SB(M)||ID_A||ID_B)。
然后将第二完全认证消息发送给发起方,并存储第一主密钥Km及其对应的第一证书主体标识ID_A。
在发送完第二完全认证消息后,响应方会开启定时计数器,如果定时计数器超过TAUTH_MAX,且当本次协议中重发次数小于LLAUTH_MAX时,响应方重发消息MBiAuth2,如果重试次数超过LLAUTH_MAX,则本次双向认证协议失败,响应方B清除本次协议相关数据并放弃本次双向认证协议。其中,TAUTH_MAX表示等待接收下一条消息的最大时长,LLAUTH_MAX表示单条协议消息重发的最大次数。如果未超时情况下收到反馈消息,即第三完全认证消息,则继续后面的验证。
步骤二:接收第三完全认证消息并进行认证,以完成双向安全认证;其中,第三完全认证消息由发起方根据第二完全认证消息的认证结果生成。
具体地,响应方B接收到第三完全认证消息MBiAuth3后,合成消息M1'=“XXXX”||yG||ID_B||xG,利用从CertA中提取的公钥PKA、M1'和第三完全认证消息收到的第一签名SA(M1)调用选定的签名验证算法进行签名验证。
签名验证通过后,计算导出密钥K2:
K2=KDF(Km,“HMACKey2”||xG256-511||yG256-511,256);
利用密钥K2以及第一签名SA(M1)||ID_B||ID_A计算第一消息认证码HMAC(K2,SA(M1)||ID_B||ID_A),利用该认证码与收到的第三完全认证消息MBiAuth3的第一消息认证码的值对比,对比通过后存储第一证书主体标识ID_A及对应的第一主密钥Km,以完成双向完全认证。
在本发明的另一个实施例中,接收第一完全认证消息并进行认证后,若当响应方存在与第一完全认证消息中的第一证书主体标识相对应的主密钥时,生成第一快速认证消息,以便于在所述层级限制参数不存在或者存在但不为0时,启动快速认证过程。
具体地,先根据之前确定的算法生成随机数计算第二随机数RB,计算第一主密钥:Km=KDF(Km’,“MainKey”||RA||RB,256);
计算导出秘钥:K1=KDF(Km,“HMACKey1”||RA0-63||RB0-63,256),并设置LD=LD+1,以K1为密钥计算第三消息认证码:
HMAC(K1,RB||RA||[LD]||ID_A)。
其中,LD是否存在根据第一完全认证消息MBiAuth1确定。
然后生成第一快速认证消息,记为:
MFastAuth1=FastAuth1||CertB||CertB_Adm||RB||HMAC(K1,RB||RA||[LD]||ID_A)
其依次包括第一快速认证消息标识、第二证书列表、第二CA证书列表、第二随机数以及第三消息认证码。
最后发送消息MFastAuth1给发起方A。
相应的,在发送完MFastAuth1后,响应方会开启定时计数器,如果定时计数器超过TAUTH_MAX,且当本次协议中重发次数小于LLAUTH_MAX时,响应方重发消息MFastAuth1,如果重试次数超过LLAUTH_MAX,则本次双向认证协议失败,响应方B清除本次协议相关数据并放弃本次双向认证协议。其中,TAUTH_MAX表示等待接收下一条消息的最大时长,LLAUTH_MAX表示单条协议消息重发的最大次数。如果未超时情况下收到反馈消息,即第二快速认证消息或者第三快速认证消息,则继续后面的验证。
若接收到第二快速认证消息,则生成第二完全认证消息,以将快速认证转换到完全认证流程。
若接收到第三快速认证消息,则对其进行认证,以完成双向安全认证。
具体地,收到消息第三快速认证消息MFastAuth3之后,计算第一主密钥Km=KDF(Km’,“MainKey”||RA||RB,256),并计算导出秘钥K2=KDF(Km,“HMACKey2”||RB64-127||RA64-127,256),以K2为密钥计算第四消息认证码HMAC(K2,RA||RB||ID_B),并与收到MFastAuth3中的第四消息认证码做对比,对比通过后对比通过后存储第一证书主体标识ID_A及对应的第一主密钥Km,以完成双向完全认证。
实施例三
为了更清楚的说明本发明提供的双向认证方法,本实施例在上述实施例一和二的基础上,综合发起方和响应方对本发明提供的完全认证过程和快速认证过程分别进行说明。
请参见图3,图3是本发明实施例提供的双向完全认证基本流程示意图;其具体过程包括以下步骤:
S11:发起方A根据AlgID计算DH协商参数,根据LD确定是否发起认证,并向发送MBiAuth1。
S12:响应方B接收MBiAuth1,并进行以下操作:
S12-1:确定LD和算法,并存储LD、AlgID;
S12-2:检查证书完整性,验证证书合法性;
S12-3:查找对应Km不存在,计算第二签名SB(M),计算第一主密钥,计算第二消息认证码,生成并发送MBiAuth2。
S13:发起方A接收MBiAuth2,并进行以下操作:
S13-1:根据B的证书以及AlgID确定算法;
S13-2:检查证书完整性,验证证书合法性;
S13-3:验证第二签名,并计算第二主密钥,验证第二消息认证码,通过后存储第二主秘钥;
S13-4:计算第一签名,计算第一消息认证码,生成并发送MBiAuth3。
S14:响应方B接收MBiAuth3,验证第一签名,验证第一消息认证码,通过后存储步骤S12-3得到的第一主密钥。
至此,完成双向完全认证。其中,关于发送方A和响应方B进行完全认证的具体步骤参见上述实施例一和实施例二,在此不再赘述。
请参见图4,图4是本发明实施例提供的双向快速认证基本流程示意图,其具体过程包括以下步骤:
S21:发起方A根据AlgID计算DH协商参数,根据LD确定是否发起认证,并发送MBiAuth1。
S22:响应方B接收MBiAuth1,并进行以下操作:
S22-1:确定LD和算法,存储LD、AlgID;
S22-2:检查证书完整性,验证证书合法性;
S22-3:查找对应Km′存在,计算第一主密钥,计算第三消息认证码,生成并发送MFastAuth1。
S23:发起方A接收MFastAuth1,并进行以下操作:
S23-1:检查是否存在对应的Km’,不存在则生成并发送MFastAuth2;
S23-2:若存在对应的Km’,根据B的证书以及AlgID确定算法;检查证书完整性,验证证书合法性;
S23-3:计算第二主密钥,验证第三消息认证码,通过后存储第二主秘钥;
S23-4:计算第四消息认证码,生成并发送MFastAuth3。
S24:响应方B接收MFastAuth2或MFastAuth3。
若接收到MFastAuth2,则生成并发送MBiAuth2,跳转至全面认证的步骤S13。
若接收到MFastAuth3,则验证第四消息认证码,通过后存储步骤S22-3得到的第一主秘钥。
至此,完成双向快速认证。其中,关于发送方A和响应方B进行快速验证的具体步骤参见上述实施例一和实施例二,在此不再赘述。
实施例四
在上述实施例一到三的基础上,本实施例提供了一种数字内容保护系统,包括发起装置和响应装置,所述发起装置可以实现上述实施例一所述的数字内容保护系统中发起方的安全认证方法,所述响应装置可以实现上述实施例二所述的数字内容保护系统中响应方的安全认证方法;具体实现方法在此不再赘述。
其中,所述发起装置包括内容源端或者路由端,所述响应装置包括内容接收端或者路由端。
本发明为数字内容保护系统提供了功能更全面、适应性更强的实体间双向认证方案,该方案可以根据情况进行完全认证或快速认证,提高了效率,并且支持多种算法选择并且在认证协议中实现连接层级的控制,应用场景更加广泛和灵活。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种数字内容保护系统中发起方的安全认证方法,其特征在于,包括:
根据认证发起方类型以及算法要求标识进行算法参数配置,以生成第一完全认证消息,并向响应方发送所述第一完全认证消息;所述第一完全认证消息表示为:
MBiAuth1=BiAuth1||CertAlist||CertA_Admlist||xGlist||RA||,或者
MBiAuth1=BiAuth1||CertAlist||CertA_Admlist||xGlist||RA||[LD];
其中,BiAuth1表示第一完全认证消息标识,CertAlist表示第一证书列表,CertA_Admlist表示第一CA证书列表,xGlist表示第一参数列表,RA表示第一随机数,LD表示层级限制参数;
接收第二完全认证消息;其中,所述第二完全认证消息由响应方根据所述第一完全认证消息的认证结果生成;所述第二完全认证消息表示为:
MBiAuth2=BiAuth2||CertB||CertB_Adm||yG||SB(M)||HMAC(K1,SB(M)||ID_A||ID_B);
其中,BiAuth2表示第二完全认证消息标识,CertB表示第二证书列表,CertB_Adm表示第二CA证书列表,yG表示第二参数列表,SB(M)表示第二签名,HMAC(K1,SB(M)||ID_A||ID_B)表示第二消息认证码;
对所述第二完全认证消息进行认证,并在认证通过后保存第二主密钥,同时生成第三完全认证消息,以便于响应方对所述第三完全认证消息进行认证,从而完成双向安全认证;其中,所述第二主密钥由所述第二完全认证消息确定的算法计算得到,且其与所述第二完全认证消息中的第二证书主体标识相对应;所述第三完全认证消息表示为:
MBiAuth3=BiAuth3||SA(M1)||HMAC(K2,SA(M1)||ID_B||ID_A);
其中,BiAuth3表示第三完全认证消息标识,SA(M1)表示第一签名,HMAC(K2,SA(M1)||ID_B||ID_A)表示第一消息认证码;
接收第一快速认证消息;其中,所述第一快速认证消息由响应方根据所述第一完全认证消息的认证结果生成;所述第一快速认证消息表示为:
MFastAuth1=FastAuth1||CertB||CertB_Adm||RB||HMAC(K1,RB||RA||[LD]||ID_A)
其中,FastAuth1表示第一快速认证消息标识,RB表示第二随机数;
对所述第一快速认证消息进行认证,并根据认证结果生成第二快速认证消息或者第三快速认证消息,以方便响应方根据所述第二快速认证消息生成第二完全认证消息或者对所述第三快速认证消息进行认证,从而完成双向安全认证,具体包括:
若判断发起方不存在与所述第一快速认证消息中的第二证书主体标识相对应的主密钥或者发起方存在与所述第一快速认证消息中的第二证书主体标识相对应的主密钥且快速认证次数达到预设上限时,生成第二快速认证消息;其中,第二快速认证消息表示为:
MFastAuth2=FastAuth2||”FAILED”;
其中,FastAuth2表示第二快速认证消息标识;
否则,对所述第一快速认证消息中的第二证书列表和第二CA证书列表进行验证,并根据选定算法计算第二主密钥,进而根据所述第二主密钥重新计算第三消息认证码;
将计算得到的第三消息认证码与接收到的所述第一快速认证消息中的第三消息认证码进行验证,并在验证通过后,保存所述第二主密钥;
根据确定的算法计算第四消息认证码,并生成第三快速认证消息;所述第三快速认证消息表示为:
MFastAuth3=FastAuth3||HMAC(K2,RA||RB||ID_B);
其中,FastAuth3表示第三快速认证消息标识。
2.根据权利要求1所述的数字内容保护系统中发起方的安全认证方法,其特征在于,还包括:
当认证发起方发出所述第一完全认证消息或者所述第二快速认证消息后,若在预设时间内未收到所述第二完全认证消息或者所述第一快速认证消息时,重复发送所述第一完全认证消息或所述第二快速认证消息;
若重复发送次数超过预设最大次数,则结束认证。
3.根据权利要求1所述的数字内容保护系统中发起方的安全认证方法,其特征在于,根据认证发起方类型以及算法要求标识进行算法参数配置,以生成第一完全认证消息,包括:
认证发起方为源端时:
当算法要求标识规定了算法,并进一步判断该源端支持所述算法要求标识规定的算法时,按照该规定的算法计算第一参数列表,并生成第一完全认证消息,否则,结束认证;当算法要求标识未规定算法时,按照源端的若干第一预设算法计算第一参数列表,并生成第一完全认证消息;
其中,所述第一完全认证消息包括第一完全认证消息标识、第一证书列表、第一CA证书列表、第一参数列表以及第一随机数;
或者,认证发起方为路由端时:
在检测到所述算法要求标识存在且该路由端支持所述算法要求标识规定的算法时,按照规定的算法或者路由的预设算法进行参数配置,并生成第一完全认证消息。
4.根据权利要求3所述的数字内容保护系统中发起方的安全认证方法,其特征在于,所述第一完全认证消息还包括层级限制参数,以便于在所述层级限制参数存在但不为0时,向响应方发送所述第一完全认证消息;其中,所述层级限制参数的值为允许的最大连接层数。
5.根据权利要求1所述的数字内容保护系统中发起方的安全认证方法,其特征在于,对所述第二完全认证消息进行认证,并在认证通过后保存第二主密钥,同时生成第三完全认证消息,包括:
根据所述第二完全认证消息中的第二证书列表或所述算法要求标识选择后续协议采用的算法;
对所述第二完全认证消息中的第二证书列表和第二CA证书列表进行验证,并根据选定算法对所述第二完全认证消息中的第二签名进行验证;其中,层级限制参数由所述第一完全认证消息确定;
验证通过后根据确定的算法计算第二主密钥,并根据所述第二主密钥重新计算第二消息认证码;
将计算得到的第二消息认证码与接收到的所述第二完全认证消息中的第二消息认证码进行验证,并在验证通过后,保存所述第二主密钥;
根据确定的算法计算第一消息认证码和第一签名,并生成第三完全认证消息;其中,所述第三完全认证消息包括第三完全认证消息标识、第一签名以及第一消息认证码。
6.一种数字内容保护系统中响应方的安全认证方法,其特征在于,包括:
接收第一完全认证消息并进行认证,当响应方不存在与所述第一完全认证消息中的第一证书主体标识相对应的主密钥时,计算第一主密钥,同时生成第二完全认证消息;所述第一完全认证消息表示为:
MBiAuth1=BiAuth1||CertAlist||CertA_Admlist||xGlist||RA||,或者
MBiAuth1=BiAuth1||CertAlist||CertA_Admlist||xGlist||RA||[LD];
其中,BiAuth1表示第一完全认证消息标识,CertAlist表示第一证书列表,CertA_Admlist表示第一CA证书列表,xGlist表示第一参数列表,RA表示第一随机数,LD表示层级限制参数;
所述第二完全认证消息表示为:
MBiAuth2=BiAuth2||CertB||CertB_Adm||yG||SB(M)||HMAC(K1,SB(M)||ID_A||ID_B);
其中,BiAuth2表示第二完全认证消息标识,CertB表示第二证书列表,CertB_Adm表示第二CA证书列表,yG表示第二参数列表,SB(M)表示第二签名,HMAC(K1,SB(M)||ID_A||ID_B)表示第二消息认证码;
所述第一主密钥与所述第一完全认证消息中的第一证书主体标识相对应;
接收第三完全认证消息并进行认证,以完成双向安全认证;其中,所述第三完全认证消息由发起方根据所述第二完全认证消息的认证结果生成;所述第三完全认证消息表示为:
MBiAuth3=BiAuth3||SA(M1)||HMAC(K2,SA(M1)||ID_B||ID_A);
其中,BiAuth3表示第三完全认证消息标识,SA(M1)表示第一签名,HMAC(K2,SA(M1)||ID_B||ID_A)表示第一消息认证码;
接收第一完全认证消息并进行认证,并当响应方存在与所述第一完全认证消息中的第一证书主体标识相对应的主密钥时,生成第一快速认证消息;所述第一快速认证消息表示为:
MFastAuth1=FastAuth1||CertB||CertB_Adm||RB||HMAC(K1,RB||RA||[LD]||ID_A)
其中,FastAuth1表示第一快速认证消息标识,RB表示第二随机数;
接收第二快速认证消息并生成第二完全认证消息,或者,
接收第三快速认证消息,并对其进行认证,以完成双向安全认证;其中,所述第二快速认证消息表示为:
MFastAuth2=FastAuth2||”FAILED”;
其中,FastAuth2表示第二快速认证消息标识;
所述第三快速认证消息表示为:
MFastAuth3=FastAuth3||HMAC(K2,RA||RB||ID_B);
其中,FastAuth3表示第三快速认证消息标识。
7.一种数字内容保护系统,其特征在于,包括发起装置和响应装置,所述发起装置可以实现如权利要求1-5任一项所述的数字内容保护系统中发起方的安全认证方法,所述响应装置可以实现如权利要求6任一项所述的数字内容保护系统中响应方的安全认证方法;其中,
所述发起装置包括内容源端或者路由端,所述响应装置包括内容接收端或者路由端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010947873.9A CN112260987B (zh) | 2020-09-10 | 2020-09-10 | 一种数字内容保护系统中双向安全认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010947873.9A CN112260987B (zh) | 2020-09-10 | 2020-09-10 | 一种数字内容保护系统中双向安全认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112260987A CN112260987A (zh) | 2021-01-22 |
CN112260987B true CN112260987B (zh) | 2021-12-21 |
Family
ID=74232254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010947873.9A Active CN112260987B (zh) | 2020-09-10 | 2020-09-10 | 一种数字内容保护系统中双向安全认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112260987B (zh) |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE1011304A3 (fr) * | 1997-07-25 | 1999-07-06 | Banksys | Procede et systeme de paiement par cheque electronique. |
CN1832397B (zh) * | 2005-11-28 | 2010-09-29 | 四川长虹电器股份有限公司 | 电子设备接口间基于公钥证书的认证密钥协商和更新方法 |
CN101009910A (zh) * | 2006-01-25 | 2007-08-01 | 华为技术有限公司 | 在无线网络中实现扩展认证协议认证的方法及装置 |
CN100558035C (zh) * | 2006-08-03 | 2009-11-04 | 西安电子科技大学 | 一种双向认证方法及系统 |
CN100488099C (zh) * | 2007-11-08 | 2009-05-13 | 西安西电捷通无线网络通信有限公司 | 一种双向接入认证方法 |
CN101420694A (zh) * | 2008-12-16 | 2009-04-29 | 天津工业大学 | 一种wapi-xg1接入及快速切换认证方法 |
CN101610507A (zh) * | 2009-06-16 | 2009-12-23 | 天津工业大学 | 一种接入3g-wlan互联网络的方法 |
CN101854629B (zh) * | 2010-05-21 | 2013-02-27 | 西安电子科技大学 | 家庭基站系统中用户终端接入认证及重认证的方法 |
US9516640B2 (en) * | 2014-08-01 | 2016-12-06 | Cisco Technology, Inc. | System and method for a media access control scheduler for a long term evolution unlicensed network environment |
CN105141602A (zh) * | 2015-08-18 | 2015-12-09 | 西安电子科技大学 | 基于收敛加密的文件所有权证明方法 |
CN105553981B (zh) * | 2015-12-18 | 2019-03-22 | 成都三零瑞通移动通信有限公司 | 一种wlan网络快速认证和密钥协商方法 |
US10382206B2 (en) * | 2016-03-10 | 2019-08-13 | Futurewei Technologies, Inc. | Authentication mechanism for 5G technologies |
CN106383735A (zh) * | 2016-09-21 | 2017-02-08 | 中科信息安全共性技术国家工程研究中心有限公司 | 一种实时监测云环境中虚拟机主机安全的系统及方法 |
CN106790278A (zh) * | 2017-02-21 | 2017-05-31 | 中国信息安全测评中心 | 一种双向认证方法及通信系统 |
CN109257327B (zh) * | 2017-07-14 | 2021-01-08 | 中国电力科学研究院 | 一种配电自动化系统的通信报文安全交互方法及装置 |
CN107919956B (zh) * | 2018-01-04 | 2020-09-22 | 重庆邮电大学 | 一种面向物联网云环境下端到端安全保障方法 |
CN109410406B (zh) * | 2018-11-14 | 2021-11-16 | 北京华大智宝电子系统有限公司 | 一种授权方法、装置和系统 |
-
2020
- 2020-09-10 CN CN202010947873.9A patent/CN112260987B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112260987A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022213564A1 (zh) | 一种物联网无线终端量子密钥分发与协商方法 | |
KR101019300B1 (ko) | 애드 혹 무선 네트워크에서 인증 키 요소의 보안 처리를 위한 방법 및 시스템 | |
CN1832397B (zh) | 电子设备接口间基于公钥证书的认证密钥协商和更新方法 | |
US8422687B2 (en) | Key management for communication networks | |
EP1571790A2 (en) | Secure routing method for ad hoc networks, corresponding mobile node and network system | |
EP1610202A1 (en) | Using a portable security token to facilitate public key certification for devices in a network | |
US20100100740A1 (en) | System and Method for Security Association Between Communication Devices Within a Wireless Home Network | |
JP2018522500A (ja) | 量子鍵配布プロセスのための認証方法、デバイス及びシステム | |
CN110635901B (zh) | 用于物联网设备的本地蓝牙动态认证方法和系统 | |
CN110223064B (zh) | 一种基于区块链的不可否认安全数据传输方法 | |
CN110572418A (zh) | 车辆身份认证的方法、装置、计算机设备及存储介质 | |
US8892882B2 (en) | Content transmission security protection device system and method | |
CN103905384B (zh) | 基于安全数字证书的嵌入式终端间会话握手的实现方法 | |
JP7440026B2 (ja) | 分散化認証方法 | |
WO2008083628A1 (fr) | Serveur d'authentification, procédé, système et dispositif d'authentification mutuelle dans un réseau sans fil maillé | |
JP2000511382A (ja) | 第1のコンピュータユニットと第2のコンピュータユニットの間の暗号化キー管理方法 | |
CN111756529A (zh) | 一种量子会话密钥分发方法及系统 | |
CN113630248A (zh) | 一种会话密钥协商方法 | |
CN108040071B (zh) | 一种VoIP音视频加密密钥动态切换方法 | |
CN111654481A (zh) | 一种身份认证方法、装置和存储介质 | |
CN112398644B (zh) | 内容密钥共享方法、系统及存储介质 | |
JP2002024179A (ja) | 認証方法、コンテンツ送信側機器、コンテンツ受信側機器、認証システム | |
JP2007259386A (ja) | 通信システム及び通信装置 | |
CN112260987B (zh) | 一种数字内容保护系统中双向安全认证方法及系统 | |
CN114760046A (zh) | 一种身份鉴别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230428 Address after: 21a, Guoshi building, 1801 Shahe West Road, high tech community, Yuehai street, Nanshan District, Shenzhen, Guangdong 518063 Patentee after: SHENZHEN NATIONAL ENGINEERING LABORATORY OF DIGITAL TELEVISION Co.,Ltd. Address before: No.2, Taibai South Road, Yanta District, Xi'an City, Shaanxi Province Patentee before: XIDIAN University |
|
TR01 | Transfer of patent right |