一种数字证书与密钥下载方法转让专利

申请号 : CN200580052026.X

文献号 : CN101305542B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 华国栋许军宁吕吉梁广德

申请人 : 中兴通讯股份有限公司

摘要 :

一种数字证书与密钥下载方法,下载请求方根据第一摘要算法对第一综合信息进行摘要处理,对摘要值按第一密钥生成算法生成加密密钥,对自身特征信息加密;再根据加密内容和摘要值构造下载请求消息发给下载服务提供方;提供方收到后,对摘要值按第一密钥生成算法生成加密密钥后对消息中加密内容解密,得到下载请求方特征信息;对该特征信息进行合法性校验通过后,根据该特征信息查询相应的数字证书和终端私钥,并对第二综合信息按第二密钥生成算法生成加密密钥,对该数字证书和终端私钥加密,构造出下载响应消息发送到请求方;请求方收到后对第二综合信息按第二密钥生成算法生成加密密钥后对响应消息的加密内容解密,得到请求的数字证书和密钥。

权利要求 :

1.一种数字证书与密钥下载方法,包括以下步骤:

(a)下载请求方根据第一摘要算法对至少包括自身的特征信息在内的第一综合信息进行摘要处理,生成特征信息的摘要值;对该摘要值按第一密钥生成算法生成请求消息加密密钥,利用该密钥对所述特征信息加密;再根据加密后的内容和所述摘要值构造出数字证书与密钥下载请求消息,发送给下载服务提供方;

(b)所述下载服务提供方收到下载请求消息后对其进行分解,对其中的摘要值,按第一密钥生成算法生成请求消息加密密钥;利用该加密密钥对消息中的加密内容按相应解密算法解密,得到下载请求方的特征信息;根据系统中的记录对该特征信息进行合法性校验,进行合法性校验时,从系统中提取出该特征信息对应的附加信息,并将该提取出的附加信息和所述特征信息按第一摘要算法进行摘要处理,得到摘要值如果和从下载请求消息中分解的摘要值相同,则合法性校验通过,检验通过后,再执行步骤(c);

(c)所述下载服务提供方根据所述特征信息在系统中查询相应的数字证书和终端私钥,并对至少包含该特征信息在内的第二综合信息按第二密钥生成算法生成响应消息加密密钥;利用该密钥对查询到的数字证书和终端私钥加密,以加密后的内容构造出下载响应消息,发送到所述下载请求方;

(d)所述下载请求方收到响应消息后,对所述第二综合信息按第二密钥生成算法生成响应消息加密密钥,利用该密钥对响应消息中的加密内容进行解密,得到所请求的数字证书和密钥。

2.如权利要求1所述的方法,其特征在于,所述特征信息至少包括表征下载请求方设备特征的硬件特征信息和/或能够表征下载请求方用户身份的用户特征信息。

3.如权利要求2所述的方法,其特征在于,所述特征信息还包括厂商信息和/或软件特征信息。

4.如权利要求1所述的方法,其特征在于,所述第一综合信息和/或第二综合信息中还包括有附加信息,该附加信息是所述下载请求方和下载服务提供方事先约定的,并且不以明文或加密方式出现在数字证书与密钥下载请求消息体中。

5.如权利要求4所述的方法,其特征在于,所述步骤(b)中,下载服务提供方根据系统中的记录对所述特征信息进行合法性校验时,如果系统中找不到所述特征信息或两个摘要值不相同,则丢弃所述下载请求消息。

6.如权利要求1所述的方法,其特征在于,所述步骤(b)中,所述下载服务提供方收到所述下载请求后,先进行预处理,预处理的内容至少包括重放攻击保护或地址限制保护,预处理通过后,再进行后续处理,否则丢弃该下载请求。

7.如权利要求1所述的方法,其特征在于,所述步骤(c)中,在以所述加密后的内容构造出下载响应消息时,还增加一个字段来保存下载服务提供方的X.509格式数字证书,并且构造好下载响应消息之后,再采用签名算法对该消息进行数字签名;所述步骤(d)中,所述下载请求方收到响应消息后,先从消息中解析出下载服务提供方的X.509格式数字证书,并向服务器验证下载服务提供方数字证书的有效性,如有效,从下载服务提供方数字证书中提取出下载服务提供方的公钥,用此公钥采用数字签名对应的签名校验算法对签名进行校验,校验通过,再进行后续处理。

8.如权利要求1所述的方法,其特征在于,所述步骤(b)或步骤(c)中,如果下载服务提供方接受请求,但处理时由于自身原因出错,则向所述下载请求方回复下载失败的响应。

9.如权利要求1所述的方法,其特征在于,所述第一密钥生成算法、第二密钥生成算法和第一摘要算法采用通用算法或私有算法。

说明书 :

一种数字证书与密钥下载方法

技术领域

[0001] 本发明涉及网络通信安全技术领域,尤其涉及加密下载。

背景技术

[0002] 随着因特网的高速发展,各种信息的传递量与日俱增,各种传输安全问题日益突出。为了保证网络信息交互安全,各种安全保障机制被相继提出,公共密钥基础设施(PKI)体系结构是其中最重要的之一。在PKI体系结构中,公私钥对以及非对称加解密方法是最为核心的基础之一,私钥的安全程度实际上决定了整个PKI体系结构的安全度,也正因为如此,私钥如何安全的从生成器传递到最终使用方,一直是安全方面的焦点问题之一。
[0003] 目前的高安全级别应用中,私钥的传送主要采用离线的方式进行,典型的方法有系统出厂或出售时预置密钥,私钥保存于USB匙(USB Key)中并随之移动等。这类方法由于密钥的存储介质和传送环境始终处于受控状态下,安全性较高。但另一方面也存在着手续繁琐,成本较高,灵活性差等问题。对于许多既要求有适度安全手段保护,又要求灵活快速大范围部署的应用场合,就显得不够合适。
[0004] 为了解决以上问题,若干专利或专利申请也被相继提出。专利号为US2003105965的美国专利“System and method for installing a remotecredit card authorization on a system with a TCPA complaint chipset”提出了一种利用电子邮件传送证书与密钥的方法。这虽然采用利用了网络传输,效率有一定提高,但仍然存在不足:一、邮件方式传送,并没有颁发传递到最终需求设备中,仍然需要人工干预;二、电子邮件传送并不能实质性的提高传输的安全性。
[0005] 在网络通讯安全领域,数字证书私钥传输的安全性和便捷性一直是一对矛盾实体,极其严格的安全保证必然导致传送程序繁琐,成本开销高昂,非常不利于业务的推广。因此,对于广大有着快速灵活需求的中低价值信息的传送场合,只要能够保证安全机制破解的成本大大高于破解后的利益,且一旦出现威胁,损害能够控制在一个极小的范围内,这种方案就是可以接受的。因此,适用上述场合的便捷数字证书与密钥下载方法是有必要的。
[0006] 广义而言,任何一种网络加密传输方法均可以用于数字证书和密钥的下载,但是为了提高内容处理的针对性,增强处理方法的内聚性并提高传输安全性,在传输机制中内嵌证书与密钥下载相关的特征信息也是有必要的。

发明内容

[0007] 本发明要解决的技术问题是提供一种数字证书与密钥下载方法,在满足适度安全级别要求的前提下,提高加密下载数字证书与密钥的灵活性。
[0008] 为了解决上述技术问题,本发明提供了一种数字证书与密钥下载方法,包括以下步骤:
[0009] (a)下载请求方根据第一摘要算法对至少包括自身的特征信息在内的第一综合信息进行摘要处理,生成特征信息的摘要值;对该摘要值按第一密钥生成算法生成请求消息加密密钥,利用该密钥对所述特征信息加密;再根据加密后的内容和所述摘要值构造出数字证书与密钥下载请求消息,发送给下载服务提供方;
[0010] (b)所述下载服务提供方收到下载请求消息后对其进行分解,对其中的摘要值,按第一密钥生成算法生成加密密钥;利用该加密密钥对消息中的加密内容按相应解密算法解密,得到下载请求方的特征信息;根据系统中的记录对该特征信息进行合法性校验通过后,再执行步骤(c);
[0011] (c)所述下载服务提供方根据所述特征信息在系统中查询相应的数字证书和终端私钥,并对至少包含该特征信息在内的第二综合信息按第二密钥生成算法生成响应消息加密密钥;利用该密钥对查询到的数字证书和终端私钥加密,以加密后的内容构造出下载响应消息,发送到所述下载请求方;
[0012] (d)所述下载请求方收到响应消息后,对所述第二综合信息按第二密钥生成算法生成加密密钥,利用该密钥对响应消息中的加密内容进行解密,得到所请求的数字证书和密钥。
[0013] 进一步地,上述方法还可具有以下特点:所述特征信息至少包括表征下载请求方设备特征的硬件特征信息和/或能够表征下载请求方用户身份的用户特征信息。
[0014] 进一步地,上述方法还可具有以下特点:所述特征信息还包括厂商信息和/或软件特征信息。
[0015] 进一步地,上述方法还可具有以下特点:所述第一综合信息和/或第二综合信息中还包括有附加信息,该附加信息是所述下载请求方和下载服务提供方事先约定的,并且不以明文或加密方式出现在数字证书与密钥下载请求消息体中。
[0016] 进一步地,上述方法还可具有以下特点:所述步骤(b)中,下载服务提供方根据系统中的记录对所述特征信息进行合法性校验时,从系统中提取出该特征信息对应的附加信息,并将该提取出的附加信息和所述特征信息按第一摘要算法进行摘要处理,得到摘要值如果和从下载请求消息中分解的摘要值相同,则合法性校验通过,如果系统中找不到所述特征信息或两个摘要值不相同,则丢弃所述下载请求消息。
[0017] 进一步地,上述方法还可具有以下特点:所述步骤(b)中,所述下载服务提供方收到所述下载请求后,先进行预处理,预处理的内容至少包括重放攻击保护或地址限制保护,预处理通过后,再进行后续处理,否则丢弃该下载请求。
[0018] 进一步地,上述方法还可具有以下特点:所述步骤(c)中,在以所述加密后的内容构造出下载响应消息时,还增加一个字段来保存下载服务提供方的X.509格式数字证书,并且构造好下载响应消息之后,再采用签名算法该消息进行数字签名;所述步骤(d)中,所述下载请求方收到响应消息后,先从消息中解析出下载服务提供方的X.509格式数字证书,并向服务器验证下载服务提供方数字证书的有效性,如有效,从下载服务提供方数字证书中提取出下载服务提供方的公钥,用此公钥采用数字签名对应的签名校验算法对签名进行校验,校验通过,再进行后续处理。
[0019] 进一步地,上述方法还可具有以下特点:所述步骤(b)或步骤(c)中,如果下载服务提供方接受请求,但处理时由于自身原因出错,则向所述下载请求方回复下载失败的响应。
[0020] 进一步地,上述方法还可具有以下特点:所述第一密钥生成算法、第二密钥生成算法和第一摘要算法采用通用算法或私有算法。
[0021] 本发明提出了一种通过网络手段方便灵活地加密下载传送数字证书与密钥的方法,更加适合广大有着快速灵活需求的中低价值信息的传送场合。在本发明中,整个步骤通过一次请求响应过程就可以完成,安全性方面则通过关联特征信息,采用数据摘要、附加信息等多种手段加以增强,在满足适度安全级别要求的前提下,极大的提高了应用的灵活性。此外,本发明在附加信息、摘要单元以及密钥生成单元方面采用了开放式的设计:附加信息既可以具备,也可以为空;摘要算法和密钥生成算法既可以采用公开的算法,也可以采用私有算法。方便了设计时根据应用需要灵活取舍。
[0022] 附图概述
[0023] 图1是本发明实施例的消息交互示意图;
[0024] 图2是本发明实施例中下载请求方请求消息生成的流程图;
[0025] 图3是本发明实施例中下载服务提供方请求校验判断与响应消息生成的流程图;
[0026] 图4是本发明实施例中下载请求方解析响应消息的流程图;
[0027] 图5是本发明在采用数字权限管理(DRM)技术的网络电视(IPTV)领域中一个实例的消息交互示意图。
[0028] 本发明的最佳实施方式
[0029] 下面结合附图和实施例对本发明一种数字证书与密钥下载方法进行说明,这里所述的数字证书,是指符合X.509规范标准的数字证书;这里所述的密钥,是指包含私钥在内的数字证书相关密钥。
[0030] 如图1所示,本发明实施例的数字证书与密钥下载方法涉及到两个逻辑实体:
[0031] 下载请求方101,下载请求方101根据具体应用需求,向下载服务提供方102发送数字证书与密钥下载请求,接收响应,并解析出数字证书与密钥。下载请求方101必须是事先在下载服务提供方102登记过的逻辑实体,即其特征信息必须已经登记在或等效于登记在下载服务提供方102。
[0032] 下载服务提供方102,下载服务提供方102根据下载请求方101的请求,向合法的下载请求方101发送经过加密的数字证书与密钥。下载服务提供方102只对事先登记过的逻辑实体发送数字证书与密钥。
[0033] 如图所示,在一种下载成功的流程110中,下载请求方收集信息构造下载请求111;将下载请求发送给下载服务提供方112;下载服务提供方接受请求并校验下载请求方的身份和消息的合法性113;对于合法的请求,构造包含数字证书与密钥的响应114;发送给下载请求方115。
[0034] 在一种下载失败的流程120中,下载请求方收集信息构造下载请求121;将下载请求发送给下载服务提供方122;下载服务提供方接受请求并校验下载请求方的身份和消息的合法性123;对于非法的消息可以回复下载失败的响应,但出于安全性考虑也可以直接丢弃请求消息不做任何回应124。
[0035] 在一种下载失败的流程130中,下载请求方收集信息构造下载请求131;将下载请求发送给下载服务提供方132;下载服务提供方接受请求但处理时由于自身原因出错133;下载服务提供方回复下载失败的响应134。
[0036] 如图2所示,本实施例中下载请求方请求消息生成的流程如下:
[0037] 下载请求方的特征信息包括硬件特征信息201和用户特征信息202。下载请求方将硬件特征信息201、用户特征信息202以及附加信息203送入摘要单元210。其中硬件特征信息是指与下载请求方的硬件相关的固有信息,例如硬件序列号等。用户特征信息是指与用户密切相关的信息,例如用户名、用户特征码等。附加信息主要用于提高系统的安全性,且有赖于下载请求方与下载服务提供方的事先约定,比如下载服务提供方事先告知下载请求方一个可以在限定时间内一次使用的特征串等;或者也可以要求首次下载时不使用附加信息,即附加信息为空。
[0038] 摘要单元210根据预设的摘要算法对送入的信息进行摘要处理,得到特征信息摘要值211,具体的摘要算法既可以采用公开的通用算法,也可以采用自己的私有方式。例如,摘要单元将收到的信息依次串接,采用SHA-1摘要算法对串接后的信息串进行散列,得到特征信息摘要值。
[0039] 特征信息摘要值211作为构造请求消息加密密钥的原料被送入密钥生成单元甲220,得到请求消息加密密钥221。该单元的具体密钥生成算法也同样既可以采用公开的通用算法,也可以采用自己的私有方式。例如,采用X9.44标准中的KDF2算法生成密钥。
[0040] 利用请求消息加密密钥221对硬件特征信息201和用户特征信息202在加密单元甲230中进行加密;在一些有其他需求的应用场景中还可以对其他需要加密的内容,例如厂商信息、软件特征等额外的数据进行加密处理。具体的加密算法同样可以根据实际需要选择,例如可以采用AES、3DES等。加密后的输出结果包括已加密的硬件特征信息231、已加密的用户特征信息232以及其他需要加密的内容的加密结果。
[0041] 加密单元甲230的输出结果与特征信息摘要211一起被送入请求消息生成单元240,构造出数字证书与密钥下载请求消息241。
[0042] 如图3所示,本实施例中下载服务提供方请求校验判断与响应消息生成的流程如下:
[0043] 下载服务提供方接收到下载请求后,可以作一些额外的预处理,例如重放攻击保护、地址限制保护等。一种重放攻击保护方式如下:设置一个缓冲队列,以消息的散列值作为键值记录最近一段时间该消息出现的次数,如果检查发现超过一定限次则立即丢弃当前请求消息。如果重放攻击判断单元305检测到重放攻击,则丢弃当前消息306。一种地址限制保护方法如下:预置好一个下载请求许可地址列表,收到下载请求后,判断下载请求方的地址是否在下载请求许可地址列表中,如果是则继续处理,否则丢弃当前消息。
[0044] 下载服务提供方首先在请求消息分解单元310对消息进行解析,提取各特征数据内容,例如特征信息摘要311、已加密的特征信息等。在本实施例中已加密的特征信息包括已加密的硬件特征信息312和已加密的用户特征信息313。其中特征信息摘要311将被送往密钥生成单元甲320,产生请求消息加密密钥321。密钥生成单元甲320的具体算法必须与图2中的密钥生成单元甲220相同,以保证同样的输入能够生成完全一致的密钥。
[0045] 利用请求消息加密密钥321在解密单元甲330中分别对已加密的硬件特征信息312和已加密的用户特征信息313进行解密,得到硬件特征信息331和用户特征信息332。
这里,解密单元甲330的算法必须与图2中的加密单元甲230相匹配,以保证任意数据采用同一密钥加密后再解密,所得仍然与原来相同。
[0046] 解密后的硬件特征信息331和用户特征信息332被送往合法性验证和附加信息查询单元340,查找系统(如,运营支撑系统)中是否记录有相应的记录且该记录的状态为合法,如果查找失败或状态非法,则认为请求有误,丢弃当前消息;如果查找成功且状态为合法,再查询该记录对应的附加信息341,如果事先约定不采用附加信息而查找到附加信息为空,或者事先约定采用非空附加信息且查找到非空的附加消息,则认为查询成功,输出附加信息341。
[0047] 将附加信息341与硬件特征信息331和用户特征信息332输入摘要单元350,得到特征信息摘要351。同样地,摘要单元350的具体算法必须和图2中的摘要单元210完全相同,以保证相同输入能够产生一致的摘要结果。
[0048] 摘要单元350产生的特征信息摘要351需要与请求消息301中解析出的特征信息摘要311进行比较,如果两者不同,则请求消息的完整性校验失败,该消息可能已经被篡改,需要被丢弃;只有两个摘要完全相同,才可以认为请求消息合法,准备后续操作。
[0049] 请求消息合法性检查与校验完成后,硬件特征信息331和用户特征信息332被送入证书密钥查询单元365;而且,如果有必要的话,输入的内容还可以包括附加信息341等。如果查询到相应的数字证书和终端私钥,则同时将硬件特征信息331、用户特征信息332和附加信息341送入密钥生成单元乙360,得到响应消息加密密钥361;如果查询失败,则认为请求有误,丢弃当前消息。密钥生成单元乙360的具体算法可以根据实际需要而定,与图3中的密钥生成单元甲320的具体算法选择没有必然联系。
[0050] 利用前面得到的响应消息加密密钥361对查询得到的证书密钥信息366在加密单元乙370中进行加密处理,得到已加密的证书密钥信息371。加密单元乙370的具体算法选择可以与图2中的加密单元甲230相同,也可以相异。
[0051] 最后将已加密的证书密钥信息371送入响应消息生成单元380,构造出数字证书与密钥下载响应消息381发送到下载请求方,并通知系统变更该用户的状态。
[0052] 在构造下载响应的过程中,还可以根据需要添加一些其他的额外步骤,例如,下载服务提供方可以对响应消息作摘要后再用下载服务提供方的私钥进行签名,同时把包含下载服务提供方公钥的X.509格式数字证书附在消息中传递给下载服务请求方。具体步骤如下:响应消息生成单元380增加一项输入,内容为下载服务提供方的X.509格式数字证书,构造响应消息时,增加一个字段用以保存该证书;响应消息生成单元380之后再增加一个消息签名单元,根据需要选择合适的签名算法对已构造好的响应消息进行数字签名。这样可以对响应消息的来源和完整性做更好的保证。
[0053] 如图4所示,本发明实施例中下载请求方解析响应消息的流程如下:
[0054] 下载请求方接收到下载响应后,一方面将包括硬件特征信息402和用户特征信息403的特征信息以及附加信息404送入密钥生成单元乙415,导出响应消息加密密钥416;
另一方面将响应消息送解析单元410,提取出已加密的证书密钥信息411。这里密钥生成单元乙415的算法必须与图3中的密钥生成单元乙360保持一致。
[0055] 已加密的证书密钥信息411被送入解密单元乙420,并结合响应加密密钥416,可以得到最终需要的数字证书和密钥信息。
[0056] 另外,如果事先还约定了其他额外的响应消息内容,例如下载服务提供方做了数字签名,下载请求方还可以在收到响应消息时预先作相应的合法性检查与校验工作。数字签名的合法性检查与校验可以采用的步骤如下:首先从消息中解析出下载服务提供方的X.509格式数字证书,如果下载请求方支持OCSP接口,可以向OCSP服务器验证下载服务提供方数字证书的有效性;然后从下载服务提供方数字证书中提取出下载服务提供方的公钥,用此公钥采用数字签名对应的签名校验算法对签名进行校验,以确认消息的完整性以及消息发送者的身份。
[0057] 在采用数字权限管理(DRM)技术的网络电视(IPTV)领域的一个实例中,用户机顶盒在购买后首次使用、系统大幅升级或者证书过期后,可以在约定时限内从证书管理中心的证书下载服务器自动下载一份新的数字证书和终端私钥。为提高安全性,在约定时限超出后,终端用户必须向运营商申请一份证书下载附加码,并在新的约定时限内通过界面交互在机顶盒端输入该附加码,手工发起证书与密钥下载过程。如果新的约定时限又被超出,用户必须重复申请附加码并下载的过程。
[0058] 上述实例中下载数字证书与密钥的消息交互如图5所示:
[0059] 机顶盒501在自检后自动发起证书密钥下载流程或者在用户干预下发起下载流程时,首先收集机顶盒特征信息和附加信息511。对于自动发起下载流程,附加特征信息为空;对于用户发起的下载流程,附加特征信息为证书下载附加码。另外,机顶盒特征信息包括机顶盒的硬件特征标识串和用户标识串。接着机顶盒证书密钥下载代理程序依次计算信息摘要值512,生成请求消息加密密钥513,对机顶盒的硬件特征标识串以及用户标识串分别进行加密并构造下载请求消息体514。下载请求消息体中包括了用请求消息加密密钥加密后的硬件特征标识串和用户标识串,以及信息摘要值。
[0060] 证书下载服务器502在收到机顶盒501传来的下载请求520后,首先进行重放攻击保护等预处理521步骤,接着根据消息体中的摘要值计算请求消息加密密钥522,对消息中加密的硬件特征标识串和用户标识串进行解密运算523。然后,证书下载服务器502通过内部网络连接将硬件特征标识串和用户标识串发送给运营支撑系统503。运营支撑系统503首先根据收到的特征信息查找是否存在对应的记录,并确定该记录的状态是否合法531。对于状态为等待证书下载且附加信息为空的情况,直接回复证书下载服务器502用户状态合法且附加信息为空;对于状态为等待证书下载且附加信息非空的情况,查询附加信息后,再回复用户状态与附加信息查询结果到证书下载服务器502;对于其他情况,直接回复错误码。证书下载服务器502在收到运营支撑系统503的响应后,根据本地查询结果重新计算摘要值,并与下载请求消息中的摘要值进行比对,如果一致则继续构造响应,否则丢弃当前请求。
[0061] 证书下载服务器502在完成请求消息的校验后,通过内部网络连接向证书管理中心504提交证书获取请求550。该证书获取请求中包含了机顶盒的相应特征信息。证书管理中心根据配置情况,或者查询获取预先生成好的机顶盒数字证书和终端私钥,或者将机顶盒特征信息提交认证中心生成数字证书和终端私钥551。然后将数字证书和终端私钥放置于证书获取响应560中,发送给证书下载服务器。与此同时,证书下载服务器根据机顶盒特征信息和附加信息生成响应消息加密密钥561,并对从证书管理中心得到的数字证书和终端私钥进行加密,构造下载响应消息562。最后,证书下载服务器向机顶盒回复下载响应消息570,并通知运营支撑系统变更用户状态580。
[0062] 机顶盒501在收到下载响应消息后,根据本地数据计算出响应消息加密密钥571,再据此提取出下载响应消息中的数字证书和终端私钥572。
[0063] 工业实用性
[0064] 本发明可以应用于网络通信安全技术领域,使数字证书与密钥能通过网络方便灵活地打包加密下载。