专利名称:一种基于p2p的证书管理方法及其装置的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种基于P2P的证书管理方法及其装置。
背景技术:
利用信息安全技术来保障在开放的网络环境中传输敏感信息的问题是信息化建设中的重要基础问题。在这ー领域中,目前的主流技术是公钥基础设施(Public KeyInfrastructure, PKI)。PKI是利用公钥密码技术在开放的网络环境中提供数据加密以及数字签名服务的统ー密钥管理平台,其基本机制是定义、建立身份认证以及授权证书,然后分发、交换证书,并在网络之间解释、管理这些证书。利用PKI技术可以使用户通过证书信任链进行安全交流,从而建立起相对安全、值得信赖的网络环境。出于安全的角度考虑,PKI中由证书管理机构即认证中心(CertificateAuthority, CA)颁发的姆ー份证书都有其生存期,过期的证书必须作废。此外,在某些情况下,如用户名的更换、私钥泄露、机构重组等,尽管用户证书还没有过期,但也必须撤销。证 书撤销列表(Certificate Revocation List7CRL)是数字证书应用中关于证书撤销管理的
ー种方式。CRL是指已经被撤销或挂起的证书的列表,存储于网络上的任何节点。CRL中还包含一个颁发日期以及下ー个CRL的颁发日期。根据这两个日期,用户可及时地对当前拥有的CRL进行更新,并根据CRL中是否包含待验证的证书来判断给定证书的有效性。按照数字证书格式的X. 509标准,CRL的URL地址作为数字证书的ー项条目包含在证书中,用户可据此查找CRL,验证对应证书是否已经被撤销。在网络的规模不大、证书的撤销率不是很高的情况下,采用CRL是ー种简单有效的方法。但是,网络规模增长会导致CRL迅速增长,这将导致以下问题问题一由于大量用户同时请求CRL的更新,CRL发布节点的峰值负载较大并可能成为系统性能的瓶颈;问题ニ 多个证书共享ー个CRL给证书管理与证书验证带来了额外的负担。首先,由于颁发证书时无法实现估计证书何时将被撤销,实际撤销的证书将会随意分散在各个CRL中,会出现虽然ー个CRL中大部分证书已经被撤销,仍然要为其中没有被撤销的几个证书不断维护和更新这个CRL的情況,给证书管理带来负担;其次,某个证书的CRL会包含其他证书的撤销信息,给证书状态查询带来额外负担,如果需要同时查询的多个证书CRL不同,则需要分别下载各自的CRL ;最后,因为CRL的维护开销,其签发与更新需要一定的间隔时间,导致证书的撤销状态发布有相应延迟,増加了非授权访问的安全风险。现有技术还提供了基于P2P的证书管理机制。P2P的核心思想是通过參与系统节点(peer)之间的直接交互来实现系统资源和信息的共享。P2P系统强调节点之间的对等性,信息资源分散存储在各个參与节点,每个參与节点兼有服务器和客户端两种身份,都可以请求服务和提供服务,内容传输直接在节点间进行,避免了 C/S(即,Client/Server,客户端/服务器)架构中容易出现的网络和服务器瓶颈问题。因此,相比C/S架构而言,P2P系统能够充分利用网络终端的空闲资源,大大降低了系统的建设和运营成本,同时,节点越多服务资源也越多,系统因此具有良好的可扩展性和高度的自适应性,能够满足各种突发环境下的业务需求。互联网协议国际标准化组织正在制定P2P资源定位与发现基础协议(ResourceLocation and Discovery Base Protocol,简称RELOAD),希望为制定提供统一的叠加网peer和client协议,为各类P2P应用实现抽象的存储和路由服务。为解决节点间相互协作缺乏前提信任的问题,RELOAD提出了基于集中认证框架的安全解决方案,在peer/client接入网络之初,在集中部署的认证服务器(Enrollment Server, ES)在线申请证书,并在后续业务交互过程中必要时出示有效证书以获取对应的操作授权。为避免ES集中存放节点证书造成的性能与安全瓶颈,RELOAD提出可以利用P2P系统本身来实现节点证书的分布式存放事先约定好系统使用的关键字选择与映射算法,每个节点维护映射到自己id所在空间范围之内的节点证书。当某个节点需要下载自己或其他节点的证书时,只需提交相关请求到系统中的任意peer节点,RELOAD将自动路由请求消息到对应的维护peer节点。
然而,RELOAD中缺乏对应的证书撤销机制。为处理持有有效证书的已识别恶意节点,RELOAD在节点配置文件中添加了一个简单的黑名单字段,列出近期被撤销授权的节点id,并利用配置更新消息在节点之间进行授权撤销信息的发布。这种简单方案里然避免了维护CRL列表的繁琐处理与查询开销,但却存在不小的安全风险,因为配置更新并非即时生效,而是经由节点之间交互核对配置文件版本号来依次传播,从首次发布到最終实现全系统范围内的配置更新存在不小的延迟。对于配置仍未更新的授权检查节点而言,恶意节点只需提供自己仍然有效的证书就可骗得操作授权。
发明内容
本发明实施例提供一种基于P2P的证书管理方法及其装置,用以降低现有技术因使用配置信息消息方式发布证书撤销信息所帯来的安全风险。本发明实施例提供的基于P2P的证书管理方法,包括负责维护证书状态信息的节点接收P2P系统中管理节点的证书撤销信息,并根据接收到的证书撤销信息,删除其所存储的相应证书,将所述证书撤销信息作为相应证书的状态信息存储;当所述负责维护证书状态信息的节点接收到证书状态查询请求后,根据其所存储的证书状态信息,返回证书状态查询响应。本发明实施例提供的P2P网络通信设备,包括证书维护模块,用于在接收到P2P系统中的管理节点发布的证书撤销信息后,根据接收到的证书撤销信息,删除其所存储的相应证书,将所述证书撤销信息作为相应证书的状态信息存储;查询响应模块,用于当接收到证书状态查询请求后,根据其所存储的证书状态信息,返回证书状态查询响应。本发明实施例提供的另ー种P2P网络通信设备,包括缓存模块,用于在接收到证书状态查询响应后缓存该证书状态查询响应中携带的证书状态查询結果;其中,所述证书状态查询结果是负责维护证书状态信息的节点接收到证书状态查询请求后返回的,其中,所述负责维护证书状态信息的节点根据P2P系统中的管理节点所发布的证书撤销信息进行证书状态维护;查询响应模块,用于在接收到证书状态查询请求后,判断自己是否缓存有相应证书的状态查询结果,并在判断为是时,返回缓存的所述证书状态查询結果。通过上述本发明实施例的描述可以看出,一方面,本发明实施例由P2P系统的管理节点在需要对节点的授权证书撤销吋,发送证书撤销信息给负责维护证书状态信息的节点,与现有技术中采用配置信息消息方式发布证书撤销状态信息相比,可以使负责维护证书状态信息的节点及时进行证书状态维护,进而可以提高安全性;另ー方面,本发明实施例利用P2P系统分布式地存储节点证书撤销信息和处理相关的信息查询请求,与现有技术相比,无需在CA服务器集中维护CRL列表,消除了 CRL信息发布与查询访问的单点性能与安全瓶颈。
图I为本发明实施例提供证书签发流程示意图;图2为本发明实施例提供的证书撤销流程示意图;图3为图2所示流程中节点RP的处理流程示意图;图4为本发明实施例提供的证书状态的基本查询流程示意图;图5为本发明实施例提供的结合中间节点缓存的查询流程示意图;图6为本发明实施例提供的证书管理信令流程示意图;图7为本发明实施例提供的P2P网络通信设备的结构示意图之ー;图8为本发明实施例提供的P2P网络通信设备的结构示意图之ニ。
具体实施例方式下面结合附图对本发明实施例进行详细描述。 本发明实施例所应用的P2P系统中,包括Admin(系统管理实体)、CA(CertificateAuthority,认证中心)和Peer (节点)三类实体。其中,Admin负责管理系统内各Peer的用户信息,获知Peer的证书是否需要撤销'Ck负责发布证书。本发明实施例主要涉及证书签发、证书撤销和证书状态查询三个流程。P2P网络中的节点在不同流程中可能承担不同的角色,为了描述方便,本发明实施例中定义以下几种节点被认证节点,包括证书签发场景下的JP(Joining Peer,加入节点),以及证书撤销场景下的UP (Unauthorized Peer,授权撤销节点);NP (Neighboring Peer,邻居节点);请求消息或响应消息路由过程途径的CP (Current Peer,当前处理节点);维护对应证书相关信息的RP (Responsible Peer,负责节点)。下面结合上述P2P网络架构,对本发明实施例进行详细描述。參见图I,本发明实施例提供证书签发流程(Initial issue for originalcertificate)示意图,对应的信令流程可參见图6中的证书签发流程,包括以下步骤步骤101,JP加入网络,向CA发送证书申请。
具体实现时,首先,JP加入网络后的初始化过程中,获取CA的访问方式渠道(对于在线申请形式,可能是CA服务器的URL (Uniform Resource Locator,统ー资源定位符);对于离线申请形式,可能是CA营业厅的街道地址)。 其次,JP在本地产生ー个非对称密钥对(PKjP,SKjp),其中,SKjp作为私钥被JP保存在本地的可信存储空间,PKjp作为公钥被用于生成后续的证书请求。最后,JP针对PKjp向CA发起证书申请请求Cert_Req,并用SKjp对请求消息进行签名,用于向CA证明其对PKjp的所有权。进ー步的,除公钥PKjp和请求签名之外,Cert_Req之中还可包含JP在网络中的标识,其具体形式和数量与应用系统相关,例如可以包含ー个可读的用户名字User_name和/或若干个节点标识Node_id。步骤102,CA根据系统证书存储策略将证书发送至该JP和/或该证书的RP保存。进ー步的,JP在收到证书后,可向维护该证书的RP发布该证书。 具体实现时,首先,CA验证申请请求Cert_Req提交者身份与其中所包含内容的对应性,结合应用系统的标识授权规则对请求具体内容进行合法性检查。例如,标识授权规则要求确保系统中用户名与节点标识Nodejd的全局唯一性吋,CA检查所请求用户名与节点标识是否已在系统中注册并授权使用过。然后,CA依据系统指定的证书信息生成规范来填充节点证书具体内容。例如,是否采用Cert_Req中提供的内容,直接拒绝不合法或有冲突的请求,还是根据规范本地生成具体内容(例如随机生成用户名和/或节点标识)。可选地,CA还可在证书中包含时间參数该证书的签发时间和/或到期时间,用于指定该证书的有效时间区间。最后,CA使用自身私钥对生成的证书内容进行签名,并根据系统证书存储策略将签名后的证书发送给该JP和用于维护该证书的RP,该RP是第三方节点。该步骤中,CA将证书发送给JP后,也可以由JP转而提交给RP,这样CA不參与证书向RP的发布,因此也无需了解P2P系统映射规则细节。实际部署中,CA服务器与Peer可能是不同厂商提供的设备,逻辑上的独立划分可以实现更高的灵活性。当节点证书到期或快到期时,用户维护该证书的RP和/或拥有该证书的节点,会发起到期证书重签发流程(Renewal for expired certificate)。到期证书重签发流程与原始证书签发流程类似,取决于系统策略,例如,证书重签发请求节点可向CA提供已到期证书作为參考。对于证书重签发流程的具体实现此处不再赘述。通过以上证书签发流程可以看出,被核准签发的证书由用于维护该证书的节点保存,从而实现证书在P2P网络中的分布式存储。如前所述,出于对节点诚信状态的不确定性考虑,CA会在节点证书中包含有效期限參数,强制节点在证书到期之后提交证书的重新签发申请。这就要求CA不断重复地为每个合法节点签发新的有效证书。为此,证书的有效期一般设置的比较长(例如,以天为单位),以免给必须集中部署的可信CA服务器造成过重负担,使其成为系统瓶颈。特别是,对于以离线方式申请的公钥证书,出于方便用户简化管理成本的角度考虑也不宜设置过于频繁的证书更新周期。为此,针对持有有效证书但必须立即被排除出系统中的恶意节点,CA服务器可以根据系统需要,即时响应系统管理需求触发启动证书撤销流程。特别是,对于P2P系统这种具有开放用户群体、用户同时參与服务提供的应用环境,恶意用户的出现概率和影响范围是不容低估的。因此,有必要为其提供高效可靠的证书撤销机制,以确保应用系统的健康与稳定。參见图2,为本发明实施例提供的证书撤销流程示意图,对应的信令流程可參见图6中的证书撤销流程,该流程可包括步骤201, Admin向CA提交证书撤销请求。在具体实现时,根据监控信息,Admin可以依据系统既定的授权规范,在某个证书有效期范围内向CA发起证书撤销请求,要求CA立即发布针对该证书的撤销信息,以收回对应用户或节点所有的全部资源访问权限。步骤202,CA签发证书撤销信息,并返回签发的证书撤销信息给Admin。
在具体实现时,证书撤销信息的签发是以单个证书为単位的。如果采用撤销列表的角度来看,也就是所谓的“ー证ー表”。与证书签发过程类似的,撤销信息中指定被撤销的证书标识,并用CA私钥进行签名。进ー步的,撤销信息中还可包括对应的用户名和/或节点标识。步骤203,Admin向维护该被撤销证书的RP发布证书撤销信息,RP根据该证书撤销信息对相应证书进行证书状态维护处理。在具体实现吋,证书撤销信息原则上返回给提交证书撤销请求的Admin,并由Admin交由负责维护和存储该节点证书的节点RP保存,当然也可以将证书撤销信息发送给负责维护和存储该节点证书的节点RP。RP在接收到证书撤销请求后(其中携带证书撤销信息),在确认对应证书是否由自己负责保存且仍在有效期,以及使用CA公钥对撤销信息中的签名进行有效性验证通过后,删除本地保存的对应证书,保存对应证书的撤销信息,进一歩的,可将该证书撤销信息的有效期截止时间设置为与该证书中指定的有效期截止时间相同,即设置其保存该证书撤销信息的有效期至该证书中指定的有效期截止时间。图3示出了ー种RP的处理流程RP收到证书撤销请求后(步骤301),检查对应证书是否由自己负责保存且仍在有效期(步骤302),若是,则使用CA公钥验证撤销信息中签名的有效性,以确认其内容的完整性与来源的真实性(步骤303);否则,丢弃该证书撤销请求(步骤304)。如果签名有效性验证通过,则删除本地保存的对应证书,保存该证书的撤销信息,并设置该证书的撤销信息保存有效期至该证书中指定的有效期截止时间(步骤305);如果签名有效性验证未通过,则丢弃该证书撤销请求(步骤306)。进ー步的,根据系统既定策略,RP处理证书撤销请求后,可能需要进ー步确认被撤销授权的节点UP (Unauthorized Peer)是否在线,若在线,则触发如下流程以迫使该UP立即退出网络。该流程的发起者既可以是Admin也可以是完成撤销信息本地保存操作的RP。图2示出了由Admin触发UP退出网络的流程步骤204,Admin向被撤销授权的UP的邻居节点NP发送该UP被撤销授权的通知,接到通知的NP切断与该UP的连接关系。在具体实施吋,首先,触发UP退出网络的发起者(Admin或RP,本流程中为Admin,)通过网管系统或路由算法,定位与UP直接相连的所有在线节点集合NPs ( S卩,UP的邻居节点,Neighboring Peers);其次,发起者将UP的授权撤销消息通告NPs。具体方式可能包括
i.发起者直接向NPs群发有关UP的证书撤销信息;或ii.发起者向NPs中的某个或某些节点发送直接通知,而后者继而借助邻居间的路由更新机制通知所述NPs中的其他节点。最后,接到通告的NP确认自己与UP的邻居身份,使用CA公钥验证撤销信息合法性后,切断与UP的连接关系。当UP的全部邻居均切断与其连接关系之后,UP就被迫下线了。可选地,系统的配置服务器和/或公共的引导节点也可包括在上述被通告群体的范围之内。上述流程中,ー种替代实施例是Admin向CA提交证书撤销请求,并且CA签发证书撤销信息后,与步骤203中Admin向维护该被撤销证书的RP发布证书撤销信息不同的 是在CA 了解P2P映射规则以及且负荷不重的情况下,由CA向维护该被撤销证书的RP发布证书撤销信息。通过以上证书撤销流程可以看出,当需要将某节点的授权证书撤销吋,由Admin实时发起证书撤销流程,从而及时将证书撤销信息发布到相应证书的RP,与现有技术采用配置信息消息更新方式相比,提高了证书撤销信息发布的及时性。另外,在证书撤销流程中,还可以通过向被撤销授权的节点的邻居节点发送通知,以要求其断开与该被撤销授权的节点的连接,迫使该被撤销授权的节点退出网络,从而进ー步提高了安全性。本发明实施例还对证书状态查询过程提出了解决方案。本发明实施例中,根据应用、系统、管理等不同层面需求,给定应用环境可能采用以下原则之ー或组合来触发相关节点的证书状态查询流程i.每连接查询原则任何节点的P2P连接建立请求将触发ー个由对方节点针对连接请求发起者节点的证书状态查询请求。ii.姆会话查询原则对于并不直连的节点对,任何节点发起的涉及认证、授权或审计管理需求的应用会话请求,将触发一个由对方节点针对该会话请求发起者节点的证书状态查询请求。iii.每周期查询原则对于已经建立的涉及认证、授权或审计管理需求的应用会话连接,每隔固定周期(可做系统级、应用级或会话级配置),可由安全策略执行方节点发起针对对方节点的证书状态查询请求。參见图4,为本发明实施例提供的证书状态的基本查询流程示意图,对应的信令流程可參见图6中的证书状态查询流程。如图所示,该流程可包括步骤401,证书状态查询者节点QP发送证书状态查询请求。在具体实施时,首先,证书状态查询者节点QP (Querying Peer)本地生成证书状态查询请求Veri_Req,其中指定如下信息之一或任意组合待验证证书标识Cert, id、证书对应的用户名Cert, username、节点标识Cert, nodeid。其次,QP根据系统指定的证书撤销信息存储路由规则,根据Veri_Req中的Cert,id、Cert, username或Cert, nodeid计算查询请求的路由。最后,根据计算出的路由,将Veri_Req发给第一跳路由邻居节点NP。步骤402,接收到证书状态查询请求的节点CP确认证书是否由自己保存,若是,则转入步骤403 ;否则,转入步骤404。
在具体实施时,接收到来自节点QP的证书状态查询请求Veri_Req的节点CP,首先确认相应证书是否由自己保存(即是否是该证书的RP),若是由自己保存,则转入步骤403 ;若不是由自己保存,则转入步骤404。步骤403,CP根据所请求查询的证书的状态,返回证书状态查询結果。在具体实施时,可首先检查对应证书是否存在,若不存在,则返回证书被撤销的错误响应;如果存在,则进ー步检查证书是否到期,如果到期,则返回证书到期的错误响应,并本地删除对应证书;如果没有到期,则返回证书有效的响应。步骤404,CP作为中间节点继续按照指定路径或本地迭代计算路径向下一跳节点转发该请求,然后转入步骤402。上述流程中,证书查询结果的返回方式,取决于系统指定的响应消息路由方式,证书状态查询响应可能由最终响应者节点RP(Responsible Node)直接发回给请求发起者节点QP,也可能采用对称迭代方式沿请求路由原路逐一经过中间节点返回。 进ー步的,对于多跳P2P路由算法,可利用中间节点缓存证书状态查询结果,用于证书撤销信息进ー步发布的辅助手段。特别是,在查询路由路径上,越接近最終的证书状态查询响应者的中间节点在后续针对同一证书的状态查询请求的路径上重复出现的概率越大。因此,可优先选择在这些中间节点上缓存返回的证书状态查询结果(例如节点证书撤销信息)。在具体实现时,可预先指定路由跳数,在证书状态查询响应所经过的多跳路由路径上,从第一跳开始到相应跳的中间节点在接收到证书状态查询响应后缓存证书状态查询结果,以便在该节点作为证书状态查询请求的路由路径上的中间节点接收到针对该证书的状态查询请求时,将自己缓存的证书状态查询结果返回。例如,下面的实施例子,利用证书状态查询响应的对称迭代路由方式,可方便地将对应证书的撤销信息缓存在全部或某些中间节点上。这样ー来,路由证书状态查询请求的中间节点CP会首先检查本地缓存中是否已经保留了相关的证书撤销信息,若命中则直接响应请求。具体流程可如图5所示。參见图5,为本发明实施例提供的结合中间节点缓存的查询流程示意图,该流程以在中间节点上缓存证书撤销信息为例进行描述,对于在中间节点上缓存其它类型的证书状态信息,如有效或无效信息,其处理流程与此类似。步骤501,证书状态查询者节点QP发送证书状态查询请求。此步骤的具体实现同图4所示流程的步骤401,在此不再赘述。步骤502,接收到证书状态查询请求的节点CP确认证书是否由自己保存,若是,则转入步骤503 ;否则,转入步骤504。步骤503,CP根据所请求查询的证书的状态,返回证书状态查询結果。在具体实施时,可首先检查对应证书是否存在,若不存在,则返回证书被撤销的错误响应,并将来自于CA的证书撤销信息包含在返回的查询响应消息中,以便在查询响应消息的路由路径上的其它节点缓存该证书撤销信息;如果存在,则进ー步检查证书是否到期,如果到期,则返回证书到期的错误响应,井本地删除对应证书;如果没有到期,则返回证书有效的响应。步骤504,CP进ー步检查对应证书的撤销信息是否缓存在本地,若是,则转入步骤505 ;否则,转入步骤506。步骤505,CP返回证书被撤销的错误响应。
步骤506,CP作为中间节点继续按照指定路径或本地迭代计算路径向下一跳节点转发该请求,然后转入步骤502。上述流程中,证书状态查询响应者节点CP可采用对称迭代方式沿请求路由原路逐一经过中间节点返回发回给请求发起者节点QP。通过以上证书状态流程可以看出,一方面,由于证书是分布式存储于P2P系统的,因此其证书状态查询流程与现有技术的集中存储证书相比,一定程度上避免了查询证书状态所带来的性能瓶颈;另ー方面,通过将证书查询结果缓存于中间节点,这样再有相同证书的状态查询请求发起时,就可以由该中间节点进行响应,从而提高了查询效率,減少了网络资源消耗,并更进一步减少了因查询证书状态所帯来的RP的性能瓶颈。为了更清楚的说明本发明实施例,下面结合RELOAD上构建SIP (Session Initiated Protocol,起始会话协议)应用系统的场景,来描述本发明实施例的ー个应用实例。利用RELOAD提供的P2P基础设施,SIP用户代理可组织成一个覆盖网取代专门的SIP代理和注册■服务器来提供VoIP (Voice over Internet Protocol, IP语音业务)通话业务。其中,SIP用户代理使用RELOAD数据存储基础设施来存储或查询其SIP AoR(Address ofRecord,访问地址,如usernameOdomain)到其覆盖网节点标识Node-id的映射关系。一个简单的位置注册与呼叫请求流程包括第一步,Bob使用自己的AoR “sip bobidht. example, com”作为关键字,将自己的Node-id “1234”存储在SIP用户代理组成的覆盖网中。第二步,当Alice希望呼叫Bob时,她首先向覆盖网查询“sip bobidht. example,com” 注册的 Node-ID 并得至Ij “ 1234”。第三步,接下来,Alice利用RELOAD提供的应用层连接机制与节点“ 1234”建立连接。之后,就可以向节点1234发起标准的SIP INVITE呼叫请求了。一个直观的安全需求是,负责存储Bob位置映射管理的RELOAD peer必须确保只有合法的用户Bob本人才能发起针对自己AoR-Node-id映射关系的写操作。为此可在上述场景中,利用本发明实施例,在上述第一步过程中,存储peer节点可以要求Bob提交一个有效证书,并查询Bob提供的证书状态,如果所提交证书已经被撤销,则拒绝Bob的存储请求,并删除对应的映射关系。如果第一歩成功,则存储映射关系的peer节点可以向CA服务器(即ES)或负责存储Bob证书的peer节点RP订阅Bob的证书撤销事件,要求后者及时告知Bob证书的最新状态。通过上述本发明实施例的描述可以看出,一方面,本发明实施例利用P2P系统分布式地存储节点证书撤销信息和处理相关的信息查询请求,无需在CA服务器或第三方发布节点集中维护CRL列表,消除了 CRL信息发布与查询访问的单点性能与安全瓶颈;另一方面,针对特定证书的状态验证响应仅包含对应证书的状态信息,不再为多个证书事先进行CRL的组织管理与地址发布,实现“ー证ー表”,消除了额外的列表维护与查询开销。基于相同的技术构思,本发明实施例还提供了ー种P2P网络通信设备。參见图7,为本发明实施例提供的通信设备的结构示意图,如图所示,该设备可包括证书维护模块701,用于在接收到P2P系统中的管理节点发布的证书撤销信息后,根据接收到的证书撤销信息,删除其所存储的相应证书,将所述证书撤销信息作为相应证书的状态信息存储;查询响应模块702,用于当接收到证书状态查询请求后,根据其所存储的证书状态信息,返回证书状态查询响应。上述设备中,证书维护模块701在维护证书状态时,在确认对应证书是由自己维护,且该证书仍在有效期的情况下,删除所存储的对应的证书,并将所述证书撤销信息作为相应证书的状态信息存储。在所述证书撤销信息使用CA私钥进行签名的情况下,证书维护模块701可在使用CA公钥对该证书撤销信息进行合法性验证通过后,删除其所存储的相应证书,并将所述证书撤销信息作为相应证书的状态信息存储。进ー步的,证书维护模块701还可在存储所述证书撤销信息之后,将所述证书撤销信息的有效期截止时间设置为与该证书中指定的有效期截止时间相同。上述设备中,还可包括通知发送模块703、通知接收模块704和连接处理模块705,其中 通知发送模块703,用于在存储证书撤销信息之后,向被撤销授权的节点的邻居节点发送节点被撤销授权的通知。进ー步的,通知发送模块703或系统管理实体在发送所述通知时,可向被撤销授权的节点的所有邻居节点发送所述通知;或者,向被撤销授权的节点的部分邻居节点发送所述通知。上述设备中,还可包括通知接收模块704和连接处理模块705,其中通知接收模块704用于在本设备作为普通节点(非负责证书维护的节点)时,接收P2P系统中的管理节点(如Admin)或负责维护证书状态信息的节点发送的节点被撤销授权的通知;其中,所述系统管理实体检测被撤销授权的节点是否在线,并在检测为在线的情况下,向被撤销授权的节点的邻居节点发送节点被撤销授权的通知;连接处理模块705,用于根据通知接收模块704接收到的通知,切断本设备与该被撤销授权的节点之间的连接。进ー步的,该设备还可包括通知转发模块706,用于将接收到的所述通知向被撤销授权的节点的其它邻居节点转发。在所述通知中包括证书撤销信息,所述证书撤销信息使用CA私钥加密的情况下,连接处理模块705可在确认自己与被撤销授权的节点存在邻居关系,且使用CA公钥对所述通知中携帯的证书撤销信息的合法性验证通过后,切断与该被撤销授权的节点之间的连接。上述设备中,还可包括缓存模块707,用于在本设备作为证书状态查询响应所经过的多跳路由路径上的中间设备时,在接收到证书状态查询响应后缓存该证书状态查询响应中携帯的证书状态查询結果。相应的,查询响应模块702在本设备作为证书状态查询请求所经过的多跳路由路径上的中间设备时,在接收到证书状态查询请求后,判断自己是否缓存有相应证书的状态查询结果,并在判断为是时,返回缓存的所述证书状态查询結果。进ー步的,缓存模块707可根据预先指定的路由跳数,在判断本设备是证书状态查询响应所经过的多跳路由路径上该指定路由跳数范围内的设备时,在接收到证书状态查询响应后缓存证书状态查询结果。上述设备中所涉及到的证书撤销信息可包括被撤销证书的标识,还可进ー步包括被撤销证书对应的用户名或/和节点标识。上述设备中所涉及到的证书状态查询请求中可包括以下信息之一或任意组合待验证证书的标识、证书对应的用户名、节点标识。參见图8,为本发明另ー实施例提供的P2P网络通信设备。如图所示,该设备可包括缓存模块801,用于在接收到证书状态查询响应后缓存该证书状态查询响应中携带的证书状态查询結果;其中,所述证书状态查询结果是负责维护证书状态信息的节点接收到证书状态查询请求后返回的,其中,所述负责维护证书状态信息的节点根据P2P系统中的管理节点所发布的证书撤销信息进行证书状态维护;查询响应模块802,用于在接收到证书状态查询请求后,判断自己是否缓存有相应证书的状态查询结果,并在判断为是时,返回缓存的所述证书状态查询結果。 进ー步的,缓存模块801可根据预先指定的路由跳数,在判断本设备是证书状态查询响应所经过的多跳路由路径上该指定路由跳数范围内的设备时,在接收到证书状态查询响应后缓存证书状态查询结果。进ー步的,上述设备还可包括通知接收模块803和连接处理模块804,其中通知接收模块803,用于接收所述P2P系统的管理节点或负责维护证书状态信息的节点发送的节点被撤销授权的通知;其中,所述管理节点检测被撤销授权的节点是否在线,并在检测为在线的情况下,向被撤销授权的节点的邻居节点发送节点被撤销授权的通知;连接处理模块804,用于根据所述通知接收模块接收到的通知,切断本设备与该被撤销授权的节点之间的连接。在所述通知中包括证书撤销信息,所述证书撤销信息使用CA私钥加密的情况下,连接处理模块804可在确认自己与被撤销授权的节点存在邻居关系,且使用CA公钥对所述通知中携帯的证书撤销信息的合法性验证通过后,切断与该被撤销授权的节点之间的连接。进ー步的,上述设备还可包括通知转发模块805,用于将接收到的所述通知向被撤销授权的节点的其它邻居节点转发。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在ー个存储介质中,包括若干指令用以使得一台終端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种基于P2P的证书管理方法,其特征在于,该方法包括 负责维护证书状态信息的节点接收P2P系统中的管理节点发布的证书撤销信息,井根据接收到的证书撤销信息,删除其所存储的相应证书,将所述证书撤销信息作为相应证书的状态信息存储; 当所述负责维护证书状态信息的节点接收到证书状态查询请求后,根据其所存储的证书状态信息,返回证书状态查询响应。
2.如权利要求I所述的方法,其特征在干,所述P2P系统中的管理节点为系统管理实体,所述系统管理实体向负责维护证书状态信息的节点发送证书撤销信息之前,还包括系统管理实体针对有效期范围内的证书,向认证中心CA发送撤销该证书的请求,并接收所述CA签发并返回的证书撤销信息;或者 所述P2P系统中的管理节点为CA,所述CA向负责维护证书状态信息的节点发送证书撤销信息之前,还包括CA接收系统管理实体针对有效期范围内的证书发送的撤销该证书的请求,并签发证书撤销信息。
3.如权利要求I所述的方法,其特征在于,所述证书撤销信息使用CA私钥进行签名; 负责维护证书状态信息的节点接收到证书撤销信息后,在使用CA公钥对该证书撤销信息进行合法性验证通过后,删除其所存储的相应证书,并将所述证书撤销信息作为相应证书的状态信息存储。
4.如权利要求I所述的方法,其特征在于,负责维护证书状态信息的节点接收到的证书撤销消息后,在判断对应证书是由自己维护,且该证书仍在有效期的情况下,删除所存储的对应的证书,并将所述证书撤销信息作为相应证书的状态信息存储。
5.如权利要求I所述的方法,其特征在于,负责维护证书状态信息的节点存储所述证书撤销信息之后,还包括将所述证书撤销信息的有效期截止时间设置为与该证书中指定的有效期截止时间相同。
6.如权利要求1-5之一所述的方法,其特征在于,所述管理节点发布所述证书撤销信息之后,还包括检测被撤销授权的节点是否在线,并在检测为在线的情况下,向被撤销授权的节点的邻居节点发送节点被撤销授权的通知,接收到所述通知的节点切断与该被撤销授权的节点之间的连接;或者 所述负责维护证书状态信息的节点在存储所述证书撤销信息之后,还包括向被撤销授权的节点的邻居节点发送节点被撤销授权的通知,接收到所述通知的节点切断与该被撤销授权的节点之间的连接。
7.如权利要求6所述的方法,其特征在干,向被撤销授权的节点的邻居节点发送节点被撤销授权的通知,包括 向被撤销授权的节点的所有邻居节点发送所述通知;或者, 向被撤销授权的节点的部分邻居节点发送所述通知,接收到所述通知的节点向被撤销授权的节点的其它邻居节点发送所述通知。
8.如权利要求6所述的方法,其特征在于,所述通知中包括证书撤销信息,所述证书撤销信息使用CA私钥加密; 接收到所述通知的节点,在确认自己与被撤销授权的节点存在邻居关系,且使用CA公钥对所述通知中携帯的证书撤销信息的合法性验证通过后,切断与该被撤销授权的节点之间的连接。
9.如权利要求I所述的方法,其特征在于,若证书状态查询响应经过多跳路由返回,则还包括在证书状态查询响应返回的路径上,接收到证书状态查询响应的中间节点缓存该证书状态查询响应中携帯的证书状态查询结果; 当所述中间节点接收到证书状态查询请求后,判断自己是否缓存有相应证书的状态查询结果,并在判断为是时,返回缓存的所述证书状态查询結果。
10.如权利要求9所述的方法,其特征在于,根据预先指定的路由跳数,在所述证书状态查询响应所经过的多跳路由路径上,从第一跳开始到相应跳的中间节点在接收到证书状态查询响应后缓存证书状态查询结果。
11.如权利要求I或9所述的方法,其特征在于,所述证书状态查询响应由响应所述证书查询请求的节点返回给发出该请求的节点;或者,所述证书状态查询响应沿证书状态查询请求路由原路逐一经过中间节点返回。
12.如权利要求1-5、7-10之一所述的方法,其特征在于,所述证书撤销信息包括被撤销证书的标识。
13.如权利要求12所述的方法,其特征在于,所述证书撤销信息还包括被撤销证书对应的用户名或/和节点标识。
14.如权利要求1-5、7-10之一所述的方法,其特征在于,所述证书状态查询请求中包括以下信息之一或任意组合待验证证书的标识、证书对应的用户名、节点标识。
15.ー种P2P网络通信设备,其特征在于,包括 证书维护模块,用于在接收到P2P系统中的管理节点发布的证书撤销信息后,根据接收到的证书撤销信息,删除其所存储的相应证书,将所述证书撤销信息作为相应证书的状态信息存储; 查询响应模块,用于当接收到证书状态查询请求后,根据其所存储的证书状态信息,返回证书状态查询响应。
16.如权利要求15所述的设备,其特征在于,所述证书撤销信息使用CA私钥进行签名; 所述证书维护模块具体用于,在使用CA公钥对该证书撤销信息进行合法性验证通过后,删除其所存储的相应证书,并将所述证书撤销信息作为相应证书的状态信息存储。
17.如权利要求15所述的设备,其特征在于,所述证书维护模块具体用于,在确认对应证书是由自己维护,且该证书仍在有效期的情况下,删除所存储的对应的证书,并将所述证书撤销信息作为相应证书的状态信息存储。
18.如权利要求15所述的设备,其特征在于,所述证书维护模块还用于,在存储所述证书撤销信息之后,将所述证书撤销信息的有效期截止时间设置为与该证书中指定的有效期截止时间相同。
19.如权利要求15-18之一所述的设备,其特征在于,还包括 通知发送模块,用于在存储证书撤销信息之后,向被撤销授权的节点的邻居节点发送节点被撤销授权的通知。
20.如权利要求15-18之一所述的设备,其特征在于,所述证书撤销信息包括被撤销证书的标识。
21.如权利要求20所述的设备,其特征在于,所述证书撤销信息还包括被撤销证书对应的用户名或/和节点标识。
22.如权利要求15-18之一所述的设备,其特征在于,所述证书状态查询请求中包括以下信息之一或任意组合待验证证书的标识、证书对应的用户名、节点标识。
23.—种P2P网络通信设备,其特征在于,包括 缓存模块,用于在接收到证书状态查询响应后缓存该证书状态查询响应中携帯的证书状态查询結果;其中,所述证书状态查询结果是负责维护证书状态信息的节点接收到证书状态查询请求后返回的,其中,所述负责维护证书状态信息的节点根据P2P系统中的管理节点所发布的证书撤销信息进行证书状态维护; 查询响应模块,用于在接收到证书状态查询请求后,判断自己是否缓存有相应证书的状态查询结果,并在判断为是时,返回缓存的所述证书状态查询結果。
24.如权利要求23所述的设备,其特征在于,所述缓存模块具体用于,根据预先指定的路由跳数,在判断本设备是证书状态查询响应所经过的多跳路由路径上该指定路由跳数范围内的设备时,在接收到证书状态查询响应后缓存证书状态查询結果。
25.如权利要求23所述的设备,其特征在于,还包括 通知接收模块,用于接收所述P2P系统的管理节点或负责维护证书状态信息的节点发送的节点被撤销授权的通知;其中,所述管理节点检测被撤销授权的节点是否在线,并在检测为在线的情况下,向被撤销授权的节点的邻居节点发送节点被撤销授权的通知; 连接处理模块,用于根据所述通知接收模块接收到的通知,切断本设备与该被撤销授权的节点之间的连接。
26.如权利要求25所述的设备,其特征在于,还包括 通知转发模块,用于将接收到的所述通知向被撤销授权的节点的其它邻居节点转发。
27.如权利要求25所述的设备,其特征在于,所述通知中包括证书撤销信息,所述证书撤销信息使用CA私钥加密; 所述连接处理模块具体用干,在确认自己与被撤销授权的节点存在邻居关系,且使用CA公钥对所述通知中携帯的证书撤销信息的合法性验证通过后,切断与该被撤销授权的节点之间的连接。
全文摘要
本发明公开了一种基于P2P的证书管理方法及其装置,该方法包括负责维护证书状态信息的节点接收P2P系统中的管理节点发布的证书撤销信息,并根据接收到的证书撤销信息,删除其所存储的相应证书,将所述证书撤销信息作为相应证书的状态信息存储;当该节点接收到证书状态查询请求后,根据其所存储的证书状态信息,返回证书状态查询响应。另外,在发布证书撤销信息后,还可通过通知该被撤销授权的节点的邻居节点断开与该被撤销授权的节点的连接,以强制该被撤销授权的节点退出网络。另外,还可将证书状态查询响应缓存在该证书状态查询响应的路由路径的中间节点上,以使该中间节点能够在接收到相同证书的状态查询请求时返回查询结果。本发明可提高系统安全性。
文档编号H04L29/08GK102868709SQ20111018571
公开日2013年1月9日 申请日期2011年7月4日 优先权日2011年7月4日
发明者邓灵莉, 彭晋, 乐利锋, 张剑寅 申请人:中国移动通信集团公司