CN1771710A - 用于判断服务器证书有效性的设备、方法以及计算机软件产品 - Google Patents

用于判断服务器证书有效性的设备、方法以及计算机软件产品 Download PDF

Info

Publication number
CN1771710A
CN1771710A CNA2004800093354A CN200480009335A CN1771710A CN 1771710 A CN1771710 A CN 1771710A CN A2004800093354 A CNA2004800093354 A CN A2004800093354A CN 200480009335 A CN200480009335 A CN 200480009335A CN 1771710 A CN1771710 A CN 1771710A
Authority
CN
China
Prior art keywords
numbering
certificate
cancelling
server
server certificate
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.)
Granted
Application number
CNA2004800093354A
Other languages
English (en)
Other versions
CN100550897C (zh
Inventor
浜井信二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1771710A publication Critical patent/CN1771710A/zh
Application granted granted Critical
Publication of CN100550897C publication Critical patent/CN100550897C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

终端(40a)包括:撤销编号验证单元(435),用于从存储撤销编号的存储库(20)获得撤销编号,所述撤销编号是用作判断服务器证书(75)有效性的标准的信息;撤销编号存储单元(436),用于存储所获得的撤销编号;证书序号提取单元(437),用于从服务器证书(75)读出用于识别该服务器证书(75)的标识号;撤销判断单元(438),用于通过把所读出的标识号与所述撤销编号存储单元(436)存储的撤销编号进行比较来判断所述服务器证书(75)的有效性;以及通信单元(420),用于当所述服务器证书(75)被判断为有效时,建立与应用程序服务器(30a)的通信,并且当所述服务器证书(75)被判断为无效时,不建立与应用程序服务器(30a)的通信。

Description

用于判断服务器证书有效性的设备、方法以及计算机软件产品
技术领域
本发明涉及一种通信设备、证书发布设备以及通信系统等等,具体而言,涉及用于在通信过程中使用服务器证书来执行服务器验证的通信设备、证书发布设备以及通信系统等等。
背景技术
作为用于克服在服务器-客户端通信时在因特网上的窃听以及服务器欺骗问题的技术,美国专利5657390公开了一种涉及SSL(SecureSocket Layer,安全套接层)的技术,并且RFC2246(IETF)公开了一种涉及TLS(Transport Layer Security,传输层安全)的技术,该技术是SSL的改进型版本(以下把这些技术统称为“SSL”)。
图1是示出了在SSL通信时通信系统的系统配置的框图。
所述通信系统包括基于证书授权中心(CA)操作的服务器证书生成设备1000以及存储库2000、由应用程序供应商使用的多个应用程序服务器3000a~3000k以及由用户使用的多个终端4000a~4000n。所述存储库2000以及每个应用程序服务器3000a~3000k以及终端4000a~4000n与因特网5000相连。
所述服务器证书生成设备1000是一种计算机设备,用于(1)为每个终端4000a~4000n发布CA证书6000,(2)为每个应用程序服务器3000a~3000k发布服务器证书7000,以及(3)向存储库2000分发服务器证书撤销列表(以下也称为“CRL”)8000。
所述存储库2000是用于依照每个终端4000a~4000n的分发请求向每个终端4000a~4000n分发CRL 8000的计算机设备,其包括CRL存储单元2100以及通信单元2200,其中CRL存储单元2100用于存储从服务器证书生成设备1000分发的CRL 8000,通信单元2200用于当从终端4000a~4000n接收到分发请求时,把存储在CRL存储单元2100中的CRL 8000发送到每个终端4000a~4000n。
每个应用程序服务器3000a~3000k是一种计算机设备,用于在SSL通信中向已经提出通信请求的每个终端4000a~4000n分发服务器证书7000,并且每个应用程序服务器包括服务器单元3100、服务器证书存储单元3200以及通信单元3300。
每个终端4000a~4000n包括客户端单元4100、服务器证书验证单元4200、时钟4300以及通信单元4400,其中所述服务器证书验证单元4200具有CA证书存储单元4210以及CRL存储单元4220。
在所述终端4000a~4000n开始与所述应用程序服务器3000a~3000k通信以前,所述CA使服务器证书生成设备1000预先发布服务器证书7000并且向各个应用程序服务器3000a~3000k分发这种服务器证书7000。每个应用程序服务器3000a~3000k把所分发的服务器证书7000存储到服务器证书存储单元3200中。
此外,所述CA向每个终端4000a~4000n分发CA证书6000,所述CA证书6000包括与CA的私有密钥成对的CA公有密钥,其中所述CA私有密钥用于标记(sign)服务器证书7000。然后,每个终端4000a~4000n把CA证书6000存储到CA证书存储单元4210中。
同时,所述CA检验服务器证书7000的无效性。当断定这种服务器证书7000是无效时,所述CA使服务器证书生成设备1000把这种服务器证书7000的序号添加至当前CRL 8000,以便生成新的CRL8000,并且把它分发至存储库2000。
所述存储库2000把所接收到的CRL 8000存储到CRL存储单元2100中。所述终端4000a~4000n定期地请求存储库2000中的通信单元2200来分发所述CRL 8000。
所述存储库2000依照各个终端4000a~4000n的请求把CRL8000分发至各个终端4000a~4000n。在进行此种操作时,所述存储库2000从所述CRL存储单元2100读取CRL 8000,并且使通信单元2200将其发送到每个终端4000a~4000n。每个终端4000a~4000n把所接收到的CRL 8000存储到CA证书存储单元4210中。
图2是示出了图1中示出的服务器证书7000的最小结构的例子的列表。应该注意的是,服务器证书在SSL中采用x509的格式。
所述服务器证书7000包括版本7001、序号7002、签名算法7003、发布方7004、有效期7005、名称7006、公有密钥7007和签名7008。
所述版本7001指示x509格式的版本。所述序号7002是由发布方分配给服务器证书的唯一编号。所述签名算法7003指示在创建标记的过程中由发布方使用的算法。所述发布方7004是用于发布此服务器证书的证书授权中心的名称。所述有效期7005指示服务器证书保持有效的周期。所述名称7006是为其发布服务器证书的对象名称。公有密钥7007是服务器公有密钥。并且签名7008是由CA利用其CA私有密钥来创建的签名,其中所述CA私有密钥位于此服务器证书中排除此签名的部分上。
图3是示出了图1中示出的CRL证书8000的最小结构的例子的图表。
所述CRL 8000包括版本8001、签名算法8002、发布方8003、更新时间8004、下一更新时间8005、撤销证书8006、签名算法8007以及签名8008。
所述版本8001是此证书撤销列表的版本。所述签名算法8002指示在标记此证书撤销列表时由发布方使用的算法。所述发布方8003指示发布CRL 8000的CA的名称。所述更新时间8004是发布此证书撤销列表的日期与时间。所述下一更新时间8005是所述证书撤销列表下次将被更新的日期与时间。所述撤销证书8006是各个撤销服务器证书的序号8006b以及撤销时间8006b的列表。在由所述CA基于发布方的名称来向外发布的服务器证书中,由CA判断为无效的每一服务器证书的序号将被描述为序号8006b,以及其撤销时间8006b。所述签名算法8007是在标记此证书撤销列表时由发布CA使用的算法。以及签名8008是由CA利用其CA私有密钥来创建的签名,其中所述CA私有密钥位于CRL 8000排除此签名的部分上。
接下来,给出对以下这种情况的描述,即:终端4000a~4000n以及应用程序服务器3000a~3000k执行未加密通信。
图4是举例说明执行未加密通信的情况的顺序图。应注意的是,此处给出的描述是针对在终端4000a以及应用程序服务器3000a之间执行通信的情况。
在终端4000a中,所述客户端单元4100指示通信单元4400把请求1发送至应用程序服务器3000a(S801)。然后,所述通信单元4400把请求1发送至应用程序服务器3000a的通信单元3300(S802)。
在应用程序服务器3000a中,所述通信单元3300把所接收到的请求1输出至服务器单元3100(S803)。所述服务器单元3100处理这种请求1以便生成响应1,并且指示通信单元3300将其发送到终端4000a(S804)。然后,所述通信单元3300把这种响应1发送至终端4000a的通信单元4400(S805)。
所述终端4000a的通信单元4400向客户端单元4100输出响应1(S806)。
在不加密所述请求1和响应1的情况下依照上述顺序来执行通信。
接下来,给出对以下这种情况的描述,即:终端4000a~4000n以及应用程序服务器3000a~3000k实现加密通信。
图5是举例说明执行加密通信情况的顺序图。应注意的是,此处给出的描述是针对在终端4000a以及应用程序服务器3000a之间执行通信的情况。
在终端4000a中,所述客户端单元4100指示通信单元4400把请求2以加密形式发送至应用程序服务器3000a(S900)。然后,所述通信单元4400向应用程序服务器3000a的通信单元3300发送ClientHello分组,所述ClientHello分组包括(1)作为公用密钥的元素使用的客户端随机数和(2)所述通信单元4400可支持的加密类型,以便开始SSL握手(S901)。
在所述应用程序服务器3000a中,所述通信单元3300根据ClientHello分组确定所述加密类型,生成(1)作为公用密钥元素的服务器随机数和(2)用于唯一地指定所述通信的会话ID,并且发送ServerHello分组中所确定的加密类型、所述服务器随机数和会话ID(S902)。然后,所述通信单元3300从服务器证书存储单元3200读取服务器证书7000(S903),向终端4000a的通信单元4400发送这种作为证书分组的服务器证书7000(S904),并且向通信单元4400发送ServerHelloDone(S907)。
所述终端4000a的通信单元4400从所述证书分组中读取服务器证书7000,并且将其发送到服务器证书验证单元4200(S905)。所述服务器证书验证单元4200验证这种服务器证书7000是否为无效,并且向所述通信单元4400通知验证结果(S906)。当所述服务器证书无效时,所述通信单元4400向应用程序服务器3000a的通信单元3300发送告警分组,以便断开会话,并且向客户端单元4100返回一错误。同时,当所述服务器证书有效时,所述通信单元4400生成用于计算用于加密的公用密钥的预掌握(premaster)密钥,利用包含在服务器证书7000中的服务器公有密钥对该预掌握密钥进行加密,在ServerHelloDone分组到达之后,向应用程序服务器3000a的通信单元3300发送ClientKeyExchange分组,所述ClientKeyExchange分组包括经过加密的预掌握密钥(S908),并且还向通信单元3300发送ChangeCipherSpec分组(S909)。ChangeCipherSpec分组是表示加密启动的分组。所述通信单元4400根据客户端随机数、服务器随机数以及预掌握密钥生成用于加密的公用密钥C,并且利用所生成的公用密钥C来对指示握手完成的Finished分组进行加密,以便向应用程序服务器3000a的通信单元3300发送这种经过加密的分组(S910)。
应用程序服务器3000a的通信单元3300从ClientKeyExchange分组读取经过加密的预掌握密钥,利用服务器私有密钥将其解密为预掌握密钥,并且根据经过解密的预掌握密钥、所述服务器随机数以及客户端随机数来生成用于加密的公用密钥D。当SSL握手已经正常地进行时,那么通信单元3300拥有的公用密钥C以及通信单元4400拥有的公用密钥D变为相同。所述通信单元3300利用公用密钥D来解密所接收到的Finished分组,并且当这种解密继续时,加密这种Finished分组以便将其发送到终端4000a的通信单元4400(S911)。所述Finished分组之后的后续通信应该以加密的形式来执行。
终端4000a的通信单元4400解密所接收的Finished分组,并且当这种解密继续时,把请求2以加密的形式发送至应用程序服务器3000a的通信单元3300(S912)。
应用程序服务器3000a的通信单元3300对所述请求2进行解密,并且向服务器单元3100发送解密后的请求2(S913)。所述服务器单元3100处理这种请求2以便生成响应2,并且指示通信单元3300将其发送到终端4000a(S914)。然后,所述通信单元3300对响应2进行加密,并且把加密后的响应2发送至终端4000a的通信单元4400(S915)。
终端4000a的通信单元4400对加密后的响应2进行解密,并向客户端单元4100输出解密后的响应2(S916)。
所述通信是依照上述方式以加密的形式进行的。
接下来,给出对由服务器证书验证单元4200执行的验证的描述。
图6是示出了当验证服务器证书7000时由服务器证书验证单元4200执行的操作的流程图。
所述服务器证书验证单元4200从所接收的服务器证书7000读取有效期7005,并且根据时钟4300获得当前时间(S9051)。然后,所述服务器证书验证单元4200把当前时间与所述有效期7005的开始和期满日期进行比较,并且在当前时间不在服务器证书7000的有效期7005之内时,通知通信单元4400表示周期期满的错误代码,以结束验证(S9057)。
同时,在当前时间在服务器证书7000的有效期7005之内时,所述服务器证书验证单元4200从服务器证书7000读取发布方7004,并且在CA证书存储单元4210中搜索该发布方7004的CA证书6000。在存在与发布方7004对应的CA证书6000时,所述服务器证书验证单元4200从该CA证书6000中读取CA公有密钥,并且使用CA公有密钥来检验服务器证书7000上的签名7008。当所述签名7008无效时,所述服务器证书验证单元4200通知通信单元4400表示验证错误的错误代码,并且结束验证(S9057)。
当所述签名7008有效时,所述服务器证书验证单元4200从服务器证书7000中读取序号7002。然后,所述服务器证书验证单元4200从CRL存储单元4220读取CRL 8000,并且检验该序号7002是否包括在CRL 8000中。当所述CRL 8000包括序号7002时,所述服务器证书验证单元4200断定服务器证书7000被撤销,并且通知通信单元4400表示撤销的错误代码,从而结束所述验证(S9057)。同时,当CRL8000不包括序号7002时,所述服务器证书验证单元4200断定服务器证书7000是有效的,并且通知通信单元4400所述验证已经正常地结束。
如上所述,所述终端4000a~4000n在与应用程序服务器3000a~3000k通信时,通过使用SSL执行加密通信来防止窃听以及服务器欺骗。
然而,现存的方法具有如下问题。
首先,在现有通信系统中,CRL的大小是不固定的,因此CRL的大小随着被撤销的服务器证书数目的增加而变得非常大(几十千字节~几百千字节)。这产生了需要终端具有巨大存储容量来存储这种CRL的问题。此外,当CRL大小变得越大时,在验证所述服务器证书时,检测服务器证书的序号是否包括在CRL中所花费的时间会越长。此外,当所述CRL大小变得越大时,所述终端从存储库获得CRL所经由的通信通路需要能够处理巨大的数据量,并且这种存储库还需要能够存储大量的数据。
此外,还存在另一问题,终端需要具有精确的时钟以便在进行有效期验证时对当前时间与服务器证书的有效期进行比较。
换言之,为了根据表示这种服务器设备有效的服务器证书来与服务器设备进行通信,现有的通信系统要求终端(通信设备)具有足够的资源,诸如大容量存储器能力、非常精确的时钟以及通信接口。
本发明是鉴于上述技术问题而构思的,本发明的目的在于提供一种能够根据用于指示这种服务器设备有效性的服务器证书、使用少量资源与服务器设备进行通信的通信设备、证书发布设备以及通信系统等等。
发明内容
为了实现上述目的,根据本发明的通信设备是一种用于根据指示所述服务器设备有效性的服务器证书来与服务器设备进行通信的通信设备,该通信设备包括:撤销序号获取单元,用于从存储库设备获得撤销序号,其中所述存储库设备存储所述撤销序号,所述撤销序号是用作判断服务器证书有效性的标准的信息;撤消编号存储单元,用于存储所获得的撤消编号;标识号读取单元,用于从所述服务器证书中读出用于识别所述服务器证书的标识号;证书判断单元,用于通过把所读出的标识号与撤消编号存储单元中存储的撤消编号进行比较,以判断所述服务器证书的有效性;以及通信控制单元,用于当所述服务器证书被断定为有效时,建立与服务器设备的通信,以及当服务器证书被断定为无效时,不建立与服务器设备的通信。
更具体地说,当所述标识号等于或者大于撤消编号时,所述证书判断单元可以断定服务器证书是有效的。
因此,不必(1)像通常所要求的那样,使用时钟来判断服务器证书的有效期是否已经期满,或者(2)像通常所要求的那样,从所述存储库获得并且存储大规模CRL并且在这种大规模CRL中搜索服务器证书的标识号。这使通信设备能够只从存储库获得一个撤消编号并且使用该撤消编号来判断所有服务器证书是否都有效。因此,所述通信设备以及存储库只需要具备少量的资源(例如存储容量),这使得通信设备能够根据指示这种服务器设备有效性的服务器证书来与服务器设备通信。
此外,具有上述结构的通信设备还可以包括撤消编号判断单元,用于判断撤消编号的有效性,其中当所述撤消编号判断单元断定撤消编号有效时,所述证书判断单元使用撤消编号来判断服务器证书的有效性。更具体地说,所述撤消编号判断单元可以通过把指示存储库设备有效性的存储库证书的标识号与撤消编号存储单元中所存储的撤消编号进行比较来判断撤消编号的有效性。此外,当存储库证书的标识号等于或者大于由撤消编号存储单元所存储的撤消编号时,所述撤消编号判断单元可以断定所述存储库设备是有效的。
因此,对于通信设备而言,能够(1)使用与服务器设备通信时所使用的方法相同的方法来获得存储库证书,以便使用这种存储库证书来验证所述存储库,(2)当存储库有效时,获得加密通信中的撤消编号,并且(3)只获得有效的撤消编号,以便使用该有效撤消编号来判断所有服务器证书是否都有效。
此外,所述撤消编号判断单元可以通过把由撤消编号获取单元所获得的所述撤消编号与撤消编号存储单元中所存储的撤消编号进行比较来判断撤消编号的有效性。更具体地说,当所获得的撤消编号等于或者大于由撤消编号存储单元所存储的撤消编号时,所述撤消编号判断单元可以断定由撤消编号获取单元所获得的撤消编号是有效的。
因此,对于通信设备而言,能够当所述存储库是有效的时获得未加密通信中的撤消编号,并且只获得有效的撤消编号,以便使用该撤消编号判断所有服务器证书是否都是有效的。
而且,根据本发明的证书发布设备是用于发布指示服务器设备的有效性的服务器证书的证书发布设备,包括:撤消编号存储单元,用于存储撤消编号,所述撤消编号是用作判断服务器证书有效性的标准的信息;以及发布单元,用于发布新的服务器证书,其中所述发布部件发布包括有标识号的新的服务器证书,该标识号指示等于或者大于由撤消编号存储单元存储的撤消编号的值。
更具体地说,具有上述结构的所述证书发布设备还包括撤消编号更新单元,用于当被通知服务器证书的所述标识号待撤消时,把撤消编号存储单元中所存储的撤消编号更新为大于待撤消服务器证书的标识号的编号。
因此,不必令通信设备(1)像通常所要求的那样,使用时钟来判断服务器证书的有效期是否已经期满,或者(2)像通常所要求的那样,从所述存储库获得并且存储大规模CRL并且从这种大规模CRL中搜索服务器证书的标识号。这使所述通信设备能够只从存储库获得一个撤消编号并且使用该撤消编号来判断所有服务器证书是否都有效。因此,所述通信设备以及存储库只需要具备少量的资源(例如存储容量),这使得通信设备能够根据指示这种服务器设备有效性的服务器证书来与服务器设备通信。
此外,具有上述结构的证书发布设备还包括撤消编号更新单元,用于指定服务器证书的标识号、正在接近的期满日期,并且把撤消编号存储单元中所存储的撤消编号更新为大于所述标识号的编号。
因此,能够撤消接近期满的服务器证书。
此外,在撤消编号更新单元更新了由撤消编号存储单元存储的撤消编号的情况下,所述发布单元为具有被分配有小于已更新撤消编号的标识号的服务器证书的服务器发布新的服务器证书。
因此,对于服务器设备而言,能够根据其新的服务器证书来对其进行验证。
根据上述描述可知,根据本发明的通信设备,不必(1)像通常所要求的那样,使用时钟来判断服务器证书的有效期是否已经期满,或者(2)像通常所要求的那样,从所述存储库获得并且存储大规模CRL并且从这种大规模CRL中搜索服务器证书的标识号。这使通信设备能只从存储库获得一个撤消编号并且使用该撤消编号来判断所有服务器证书是否都有效。因此,所述通信设备以及存储库只需要具备少量的资源(例如存储容量),这使得通信设备能够根据指示这种服务器设备有效性的服务器证书来与服务器设备通信。
此外,根据本发明的通信设备,对于通信设备而言,能够(1)使用与服务器设备通信时所使用的方法相同的方法来获得存储库证书,以便使用该存储库证书来验证所述存储库,(2)当存储库有效时,获得加密通信中的撤消编号,并且(3)只获得有效的撤消编号,以便使用该撤消编号来判断所有服务器证书是否都有效。
此外,根据本发明的通信设备,能够当所述存储库有效时获得未加密通信中的撤消编号,并且只获得有效的撤消编号,以便使用该撤消编号判断所有服务器证书是否都是有效的。
而且,根据本发明的证书发布设备,不必让通信设备(1)像通常所要求的那样,使用时钟来判断服务器证书的有效期是否已经期满,或者(2)像通常所要求的那样,从所述存储库获得并且存储大规模CRL并且从这种大规模CRL中搜索服务器证书的标识号。这使通信设备能只从存储库获得一个撤消编号并且使用该撤消编号来判断所有服务器证书是否都有效。因此,所述通信设备以及存储库只需要具备少量的资源(例如存储容量),这使得通信设备能够根据指示这种服务器设备有效性的服务器证书来与服务器设备通信。
此外,根据本发明的证书发布设备,能够撤消接近期满的服务器证书。
此外,根据本发明的证书发布设备,对于服务器设备而言,能够根据新的服务器证书来对服务器设备进行验证。
由此,当广泛应用因特网并且当具有少量资源的联网设备投入市场时,只需要非常少量的资源来执行服务器验证的本发明如今非常适用。
应注意的是,不仅能够把本发明具体化为具有上述结构的通信设备和证书发布设备,而且还可以具体化为由服务器设备、用于发布指示服务器设备有效性的服务器证书的证书发布设备以及由根据这种服务器证书来与服务器设备通信的通信设备组成的通信系统。此外,本发明还可以被具体化为一种通信方法,依照其步骤,包括具有上述结构的通信设备和证书发布设备装备有的特征单元,并且进一步被具体化为使计算机执行这种步骤的程序。还应该注意的是,能够经由诸如CD-ROM的记录介质并且经由诸如因特网的传输介质来分发此程序。
作为涉及此申请的技术背景的其它信息,将2003年4月3日提交的日本专利申请No.2003-100866的内容引入于此,以供参考。
附图说明
结合附图根据如下描述将使本发明的这些以及其他目的、优势以及特征变得更加明显,所述附图举例说明了本发明的具体实施例。在所述附图中:
图1是示出了在SSL通信时通信系统的系统配置的框图;
图2是示出了图1中示出的服务器证书7000的最小结构的例子的列表;
图3是示出了图1中示出的CRL证书8000的最小结构的例子的图表;
图4是举例说明执行未加密通信的情况的顺序图;
图5是举例说明执行加密通信情况的顺序图。
图6是示出了当验证服务器证书7000时由服务器证书验证单元4200执行的操作的流程图;
图7是示出了依照本发明的第一实施例的通信系统1的整体配置的框图;
图8是示出了图7中示出的服务器证书75的结构例子的图表;
图9是示出了图7中示出的撤销信息90的结构例子的图表;
图10是示出了图7中示出的服务器证书历史记录表110a的例示结构的图表;
图11是示出了当为服务器证书设置序号时由服务器证书形成单元107执行的操作的流程图;
图12是示出了当进行证书有效期管理时由服务器证书有效期搜索单元111执行的操作的流程图;
图13是示出了当由于其有效期到达而搜索撤销证书时由撤销证书搜索单元113执行的操作的流程图;
图14是示出了响应于撤销通知,在搜索撤销证书时由撤销证书搜索单元113执行的操作的流程图;
图15是示出了当形成撤销信息时由撤销信息签名单元116执行的操作的流程图;
图16是示出了在获得撤销信息时由服务器证书验证单元430中的每一单元执行的操作的流程图;
图17是示出了执行加密通信的情况的顺序图;
图18是示出了当验证服务器证书75时由服务器证书验证单元430执行的操作的流程图;
图19是当存在四个服务器时服务器证书75的序号和撤销序号之间的关系的图表;和
图20是示出了依照本发明第二实施例的通信系统2的整体配置的框图。
发明详述
(第一实施例)
以下描述了按照本发明第一实施例的通信系统。
图7是示出了依照本发明第一实施例的通信系统1的整体配置的框图。
所述通信系统1是一种用于使用CA证书60、服务器证书75和撤销信息90作为基础工具来验证应用程序服务器的系统,意在提供一种公有密钥基础结构(PKI)来确保使用公有密匙加密方法进行的通信的安全。这种通信系统1包括均由证书授权中心(以下也称为“CA”)使用的服务器证书生成设备10和存储库20、由诸如视频内容的应用程序供应商使用的多个应用程序服务器30a~30k、由用户使用的多个终端40a~40n以及用于使存储库20、应用程序服务器30a~30k和终端40a~40n相互连接的因特网50。应注意的是,由于每个应用程序服务器30a~30k均具有相同的结构,故而在图表中仅仅举例说明了应用程序服务器30a的详细结构。同样,由于每个终端40a~40n均具有相同的结构,故而在图表中仅仅举例说明了终端40a的详细结构。
服务器证书生成设备10是一种计算机设备,用作基本服务器,用于提供用于通信系统1的基本工具。具体而言,所述服务器证书生成设备10(1)预先向每个终端40a~40n发布CA证书60,(2)根据来自于每个应用程序服务器30a~30k的证书标记请求(以下也称为“CSR”)70发布专用于每个应用程序服务器30a~30k的服务器证书75,并且所述服务器证书75包括从“0”开始以“1”为增量增加的序号,并且所述序号对于系统而言是唯一的,(3)例如当其服务器证书75接近期满时,在这种应用程序服务器的服务器证书75将要被撤销的情况下,向应用程序服务器给予证书撤销(证书更新请求)的预先通知,并且(4)向存储库20发送撤销信息20,所述撤销信息20包括序号(以下也称为“撤销序号”或者“撤销编号”),所述序号需要从“0”开始以单调编号递增,并且当就服务器证书75是否被撤销做出判断时进行使用。
应注意的是,CA证书60包括例如该证书的发布方、其签名算法、该证书的有效期(例如十年)、CA的公有密钥(CA公有密钥)以及由与这种CA公有密钥成对的CA私有密钥(CA私有密钥)创建的签名。同时,CSR 70例如包括做出此CSR的服务器的名称以及该服务器的公有密钥(服务器公有密钥)。
存储库20是一种计算机设备,用于存储由服务器证书生成设备10通知的最新的撤销信息90。当经由因特网从任一终端40a~40n请求撤销信息90时,作为响应,所述存储库20在未加密通信中将撤销信息90分发到请求终端。
每个应用程序服务器30a~30k是一种计算机设备,并且向服务器证书生成设备10做出CSR 70,所述请求包括服务器的名称并且必要时包括该服务器的公有密钥(例如当存在来自于服务器证书生成设备10的证书撤销通知时),并且保存由服务器证书生成设备10仅仅为每个应用程序服务器30a~30k发布的服务器证书75。基于来自于任一终端40a~40n的用于下载其应用程序的请求,每个应用程序服务器30a~30k按照SSL通信协议来发送其服务器证书75,并且作为响应,在服务器证书75被验证之后,使用会话密钥(公用密钥)在加密通信中来分发所请求的应用程序。应注意的是,所述过程相当于当以未加密形式执行通信时使用的常规的过程。
每个终端40a~40n是一种诸如网络设备(例如视频解码器)的计算机设备,用于预先获得由服务器证书生成设备10发布的CA证书60并且对其进行存储。此外,每个终端40a~40n定期地(例如一月一次)请求存储库20的通信单元202来分发撤销信息90,并且存储该分发信息90中包括的最新的撤销编号。然后,当从任一应用程序服务器30a~30k下载应用程序时,每个终端40a~40n按照SSL通信协议来基于从该服务器发送的服务器证书75、预存的CA证书60以及撤销信息90中的撤销编号来验证服务器。然后,在验证所述服务器之后,每个终端40a~40n使用会话密钥在加密通信中交换请求和响应。
因此,本发明能够防止对请求以及响应进行的窃听。
图8是示出了图7中示出的服务器证书75的结构例子的图表。应注意的是,如在常规方法中那样,此服务器证书75还可以具有x509格式。
这种服务器证书75包括如下字段:版本751、序号752、签名算法753、发布方754、有效期755、服务器名称756、服务器公有密钥757以及签名758。
所述版本751指示x509格式的版本,其中例如存储“1”。所述序号752是由发布方分配给服务器证书的唯一编号,其中例如存储“17”。所述签名算法753指示在标记此服务器证书时由发布方使用的算法。所述发布方754是用于发布此服务器证书的证书授权中心的名称,其中例如存储“Panasign”。所述有效期755表示服务器证书保持有效的周期,其中例如存储如下内容:发布服务器证书75的日期与时间(有效期的开始日期,2003.04.01...)以及在那之后十三个月的日期与时间(有效期的结束日期2004.05.01...)。所述名称756是为其发布服务器证书的对象的名称,其中例如存储“Hariwood movie”。所述服务器公有密钥757是服务器公有密钥,其中例如存储有Hariwoodmovie的公有密钥“Pubk_11”。并且所述签名758是关于此服务器证书中除签名以外部分的特征的签名,被称为指纹,其中例如存储如下内容:通过利用CA私有密钥对服务器名称“Hariwood movie”以及服务器公有密钥“Pubk_11”的组合进行加密获得的值。
因此,具有利用上述结构从相应应用程序服务器接收服务器证书75的每个终端40a~40n,可以通过利用CA公有密钥来对其签名758进行解密来验证该服务器证书75是否是由CA发布的授权证书。
图9是示出了图7中示出的撤销信息90的例示结构的图表。
如图9所示,该撤销信息90包括如下字段:发布方91、撤销编号92和签名93。
作为发布此撤销信息90的证书授权中心的名称的所述发布方91与将在撤销信息90中描述的服务器证书75中包括的发布方754相同。“Panasign”存储于此字段中。在由发布CA发布的服务器证书75的那些当中,此时,所述撤销编号92是最小的有效序号。例如,此字段中只存储“0x0011”。并且签名93是关于此服务器证书中除签名之外的部分的特征的签名,即为发布方91和撤销编号92创建的签名。例如存储通过利用CA私有密钥对发布方91和撤消编号92的组合进行加密而获得的值。
因此,利用上述结构从存储库20已经接收了撤销信息90的每个终端40a~40n,可以通过利用CA公有密钥对其签名93进行解密来验证该撤销信息90是否是由CA发布的授权信息,并且可以通过把该服务器证书75的序号的数值大小与撤销编号92的数值大小进行比较来判断从应用程序服务器接收的服务器证书75是否被撤销。
接下来,对服务器证书生成设备10、存储库20、应用程序服务器30a~30k和终端40a~40n的每一结构给出详细说明。
如图7所示,所述服务器证书生成设备10包括密钥对生成单元101、CA证书生成单元102、CA私有密钥存储单元103、时钟104、序号存储单元105、CSR接收单元106、服务器证书形成单元107、签名单元108、服务器证书发送单元109、服务器证书历史存储单元110、服务器证书有效期搜索单元111、服务器证书撤销通知单元112、撤销证书搜索单元113、证书撤销通知单元114、撤销编号存储单元115、撤销信息签名单元116和撤销信息通知单元117等。
所述密钥对生成单元101生成用于标记服务器证书75的CA私有密钥以及用于验证签名的CA公有密钥。然后,所述密钥对生成单元101向CA证书生成单元102输出该生成的CA公有密钥和CA私有密钥,并且向CA私有密钥存储单元103进一步输出所述CA私有密钥。
所述CA证书生成单元102根据由密钥对生成单元101生成的CA公有密钥等等以及使用由密钥对生成单元101生成的CA私有密钥创建的签名来生成CA证书60,并且把所生成的CA证书60发送到每个终端40a~40n。
所述CA私有密钥存储单元103存储由密钥对生成单元101生成的CA私有密钥。
所述时钟104准确地表示当前时间。
所述序号存储单元105存储待分配给将要被发布的下一服务器证书75的序号。更具体地说,当所述服务器证书生成设备10已发布了序号为“4”的服务器证书75时,所述序号存储单元105应该存储序号“5”。应注意的是,由序号存储单元105存储的默认序号是“0”。
在接收到来自于每个应用程序服务器30a~30k的CSR 70后,所述CSR接收单元106向服务器证书形成单元107输出该接收到的CSR70。应注意的是,每一CSR 70包括服务器名称和服务器公有密钥。
所述服务器证书形成单元107把服务器证书75所需的多条信息放置在一起。更具体地说,所述服务器证书形成单元107设置如下信息:从序号存储单元105读出的序号作为序号752;从时钟104获得的当前时间作为有效期755的开始日期和时间;以及当前时间之后十三个月的日期与时间作为有效期755的结束日期,即期满日期。然后,所述服务器证书形成单元107把CSR 70中包含的名称和服务器公有密钥分别设置为名称756和服务器公有密钥757,并且把预定版本、发布方和签名算法分别设置为版本751、发布方754和签名算法753,以便向签名单元108输出服务器证书75所必需的信息。
在把服务器证书75的必要信息放置在一起之后,所述服务器证书形成单元107输出服务器证书75的这种必要信息中的名称756、序号752以及有效期755的所述结束日期(期满日期),并且把所述输出信息存储到服务器证书生成设备10的服务器证书历史表110a中。此外,所述服务器证书形成单元107使序号存储单元105存储通过使待发布的服务器证书75的序号加“1”而获得的值(例如当新发布的服务器证书75的序号是“17(0x0011)”时,存储“16(0x0010)”)作为将分配给下一证书的序号。
所述签名单元108从CA私有密钥存储单元103读取CA私有密钥,并且通过把该读出的CA私有密钥与已经从服务器证书形成单元107输出的版本751、序号752、签名算法753、发布方754、有效期755、名称756以及服务器公有密钥757相关联来生成签名758。然后,在完成服务器证书75之后,所述签名单元108向服务器证书发送单元109输出该服务器证书75。
所述服务器证书发送单元109把从签名单元108输出的服务器证书75发送到已经做出CSR 70的应用程序服务器。在进行这样的操作时,所述服务器证书发送单元109通知所述撤销证书搜索单元113新的服务器证书75将被发送。
每当所述服务器证书形成单元107形成新的服务器证书75时,所述服务器证书历史存储单元110把所述名称、服务器序号以及服务器的有效期顺序地存储到服务器证书历史表110a中。
图10是示出了存储在服务器证书历史存储单元110中的服务器证书历史表110a的示例性结构的图表。
如图10所示,所述服务器证书历史表110a由多个记录和字段组成,这些记录和字段用于存储涉及通信系统1中当前有效的各个服务器证书75的如下信息的每个:服务器名称1101;服务器证书序号1102以及有效期1103。
利用上述结构使用服务器证书历史表110a能够(1)根据各个服务器名称1101指定具有服务器证书75的应用程序服务器30a~30k,(2)根据序号1102,指定当前有效的服务器证书75的序号中的最小序号(在图表中“Se min”以“0x0011”示出)以及最大序号(在图表中“Semax”以“0x0110”示出),并且(3)管理由服务器证书期满日期到达所引起的服务器证书的撤销等等。
所述服务器证书有效期搜索单元111定期地查阅存储在服务器证书历史存储单元110中的服务器证书历史表110a中描述的有效期,以便搜索在一个月内其有效性期满的服务器证书75。更具体地说,所述服务器证书有效期搜索单元111从时钟104读出当前时间,以便搜索其有效性在从这种当前时间开始一个月内期满的服务器证书75。如果存在其有效性在从当前时间开始一个月内期满的任何服务器证书75,那么所述服务器证书有效期搜索单元111通知撤销证书搜索单元113具有最大序号的服务器证书75的序号,并以此作为将实际被撤销的序号(例如在图10中,当“Hariwood movie”和“Big wavegame”的期满日期接近一个月时,被分配有较大值的“Big wave game”的序号“0x0012”应该被通知给撤销证书搜索单元113)。
所述服务器证书撤销通知单元112接收将撤销的服务器证书75的序号,并且将该序号通知给所述撤销证书搜索单元113。换言之,当如下情况(1)~(3)的至少一个应用时,所述CA始终检验应用程序服务器的服务器证书75的安全性,并且从所述服务器证书撤销通知单元112接收将被撤销的服务器证书75的序号(例如在图10中,当“Robot trainer”的服务器证书75将要被撤消时,其序号“0x0049”将被接受)作为将实际撤销的序号,其中所述情况例如是:
(1)应用程序服务器的服务器私有密钥被暴露;
(2)应用程序服务器停止操作;以及
(3)应用程序服务器的名称被改变。
所述撤销证书搜索单元113列出在服务器证书历史表110a中的所有序号,这些序号等于或者小于由服务器证书有效期搜索单元111或者服务器证书撤销通知单元112通知的将被撤消的序号,并且向证书撤销通知单元114通知与该序号对应的服务器名称。然后,在更新与所列出的序号对应的所有服务器证书75之后,所述撤销证书搜索单元113把撤销编号更新为一个值,所述值是通过把将被撤销的服务器证书的那些序号中最大序列号的值加“1”来获得的,并且撤销证书搜索单元113把该更新后的撤销编号存储到撤销编号存储单元115中。此外,在更新与上述列出的序号对应的所有服务器证书75之后,所述撤销证书搜索单元113从服务器证书历史存储单元110中删除涉及与该列出序号对应的服务器证书75的信息。
所述证书撤销通知单元114请求具有由撤销证书搜索单元113通知的名称的应用程序服务器30a~30k中的应用程序服务器,更新它们的服务器证书75。该应用程序服务器响应于更新所述服务器证书的这种请求来更新它们的服务器证书75。当执行此操作时,所述服务器证书发送单元109通知撤销证书搜索单元113:所更新的服务器证书75将被发送。
所述撤销编号存储单元115将当前有效且是从服务器证书发送单元109发送的服务器证书75的所有序号中最小的序号作为撤销编号存储。应注意的是,默认撤销编号是“0”。在撤销编号存储单元115中存储的撤销编号随后被发送给撤销信息签名单元116。
所述撤销信息签名单元116通过把撤销信息90所需的发布方91、撤销编号92和签名放置在一起来形成撤销信息90,并且向撤销信息通知单元117输出该撤销信息90。应注意的是,所述签名93是通过利用存储在CA私有密钥存储单元103中的CA私有密钥来对发布方91和撤销编号92的组合进行加密来生成的。
所述撤销信息通知单元117向存储库20通知撤销信息90。
所述存储库20包括撤销信息存储单元201和通信单元202。
在接收到来自于服务器证书生成设备10的撤销信息90后,所述存储库20的撤销信息存储单元201存储该接收到的撤销信息90。
所述通信单元202是用于按照未加密通信的上述协议等等来经由因特网50与终端40a~40n通信的接口。当存在来自于终端40a~40n之一的来分发所述撤销信息90的请求时,所述通信单元202把在撤销信息存储单元201中存储的撤销信息90发送到已经做出所述请求的每个终端。此通信不需要被加密。此外,不需要对所述存储库20执行服务器验证。
每个应用程序服务器30a~30b均包括密钥对生成单元301、CSR生成单元302、服务器私有密钥存储单元303、服务器证书存储单元304、应用程序服务器单元305和通信单元306。
在安装每个应用程序服务器30a~30k时,所述密钥对生成单元301生成服务器公有密钥和服务器私有密钥,这两个密钥是用于使用RSA加密技术进行加密与解密的一对密钥。
所述CSR生成单元302生成用于请求CA来生成服务器证书75的模板(template),即包括服务器公有密钥和服务器名称的CSR 70,并且把该生成的CSR 70发送至服务器证书生成设备10。
所述服务器私有密钥存储单元303存储由密钥对生成单元301生成的服务器私有密钥。
所述服务器证书存储单元304存储从服务器证书生成设备10接收的服务器证书75。
在接收到来自于服务器证书生成设备10的更新服务器证书75的请求后,所述密钥对生成单元301生成新的服务器公有密钥和新的服务器私有密钥,并且在安装所述服务器时,CSR生成单元302使用这种新的服务器公有密钥来生成CSR 70,以请求服务器证书生成设备10生成新的服务器证书75。然后,所述服务器证书存储单元304接收并且存储来自于服务器证书生成设备10的新的服务器证书75。
所述应用程序服务器305处理经由通信单元306接收的CSR 70,以便生成响应,并向通信单元306输出该生成的响应。
所述通信单元306是用于按照上述加密通信协议等等来经由因特网50与终端40a~40n通信的接口。所述通信单元306(1)分析从每个终端40a~40n发送的请求/命令,(2)根据该分析的结果,从服务器证书存储单元304读取服务器证书75以用于执行服务器验证,以便把所读出的服务器证书75发送至相应的终端,(3)利用存储在服务器私有密钥存储单元303中的服务器私有密钥对从终端接收的加密类型进行解密,以便生成用于加密通信的公用密钥,(4)当在加密通信中接收到来自于任何终端40a~40n的请求时,对该请求进行解密并向应用程序服务器305输出解密后的请求,并且(5)加密由应用程序服务器305请求的响应,并向相应的终端输出加密后的响应。
每个终端40a~40n包括应用程序客户端单元410、通信单元420以及服务器证书验证单元430。
所述应用程序客户端单元410向每个应用程序服务器30a~30k输出请求并且从每个应用程序服务器30a~30k接收响应。
所述通信单元420是用于按照上述加密或者未加密通信协议等等来经由因特网50与应用程序服务器30a~30k以及存储库20进行通信的接口。所述通信单元420(1)分析从每个应用程序服务器30a~30k发送的命令,(2)按照这种分析结果请求服务器证书验证单元430来进行处理,(3)把从客户端单元410以及服务器证书验证单元430传递的数据发送到相应应用程序服务器,(4)把从服务器证书验证单元430传递的数据发送到存储库20,并且(5)接收来自于存储库20的撤销信息90。
更具体地说,所述通信单元420请求通信单元306开始加密通信。然后,所述通信单元420接收来自于通信单元306的服务器证书75,并向服务器证书验证单元430输出所接收到的服务器证书75。当被通知来自于服务器证书验证单元430的这种服务器证书75的异常或者被撤销时,所述通信单元420向所述通信单元306通知服务器证书75的这种异常,以便断开所述会话,并且向应用程序客户端单元410通知一错误。同时,当服务器证书75上的签名正常,并且不撤销该服务器证书75时,所述通信单元420生成预掌握密钥,利用服务器证书75中包含的服务器公有密钥来对该预掌握密钥进行加密,并且把加密后的预掌握密钥发送至通信单元306。此外,所述通信单元420使用如此获得的数据来生成用于加密通信的加密密钥,以便使用这种加密密钥以加密形式执行后续通信。此外,所述通信单元420请求存储库20的通信单元202分发撤销信息90,并向签名验证单元434输出从存储库20接收的撤销信息90。
所述服务器证书验证单元430包括撤销信息请求单元431、签名验证单元432、CA证书存储单元433、签名验证单元434、撤销编号验证单元435、撤销编号存储单元436、证书序号提取单元437以及撤销判断单元438等等。
所述撤销信息请求单元431请求通信单元420定期地获得来自于存储库20的撤销信息90。
在从通信单元420接收到服务器证书75后,所述签名验证单元432从CA证书存储单元433读取CA公有密钥,使用该CA公有密钥来验证服务器证书75上的签名,并且向所述通信单元420通知所述签名是否异常。
所述CA证书存储单元433预存从服务器证书生成设备10中获得的CA证书60。
在从通信单元420接收到撤销信息90后,所述签名验证单元434从CA证书存储单元433读取CA公有密钥,使用该CA公有密钥来验证撤销信息90上的签名,并且如果所述签名有效,那么向撤销编号验证单元435输出撤销编号。
所述撤销编号验证单元435从撤销编号存储单元436读出当前撤销编号,并且只有当该输入的撤销编号大于当前撤销编号时,才把从签名验证单元434输入的撤销编号作为新的撤销编号存储到撤销编号存储单元436中。
所述撤销编号存储单元436预存“0”作为默认撤销编号,并且每次从撤销编号验证单元435输出撤销编号时,存储最新更新的撤销编号。
所述证书序号提取单元437从输入的服务器证书75中提取序号,并且将其输出至撤销判断单元438。
所述撤销判断单元438从撤销编号存储单元436读取撤销编号,并且把它与提取出的序号相比较。当所提取出的序号小于撤销编号时,所述撤销判断单元438向通信单元420通知所述服务器证书75撤销。
接下来,给出对服务器证书生成设备10、应用程序服务器30a~30k和终端40a~40n的每一操作的详细说明。
图11是示出了当为服务器证书设置序号时由服务器证书形成单元107执行的操作的流程图。
首先,所述服务器证书形成单元107设置“0”作为将为服务器证书75设置的序号Se的默认值(S11),并且等待经由CSR接收单元106待接收的CSR 70(S12)。在接收到CSR 70(在S12中为是)后,所述服务器证书形成单元107从序号存储单元105读出序号Se(S13),使用从时钟104读出的当前时间和CSR 70等等来形成服务器证书75(S14),在向签名单元108输出所形成的服务器证书75之后,将待存储在序号存储单元105中的序号Se增加“1”(S15),并且将服务器证书75的重要元素(即名称、序列号和有效期)存储在服务器证书历史表110a中(S16)。通过重复这些过程(S12~S16),基于每个证书来发布其序号单调递增的服务器证书75。
接下来,给出对由服务器证书有效期搜索单元111执行的证书有效期管理的描述。
图12是示出了当进行证书有效期管理时由服务器证书有效期搜索单元111执行的操作的流程图。应注意的是,此过程是依照预定时间间隔定期执行的。
所述服务器证书有效期搜索单元111首先在服务器证书历史表110a中搜索序号,以便获得在服务器证书历史表110a中存储的所有序号中的最小序号Se min以及最大序号Se max,并且把其期满数据比其他序号的期满数据到来得更早的序号、即最小序号Se min设置为序号Se(S21)。然后,所述服务器证书有效期搜索单元111判断这种序号的有效性是否在一个月内期满(S22)。当断定这种序号的期满日期接近一个月时(在S22中是“是”),所述服务器证书有效期搜索单元111把该序号设置为将实际撤销的所有序号中的最大值Se end,并且把序号Se加“1”,以便搜索下一记录的有效期(S23)。在增加所述序号Se之后,所述服务器证书有效期搜索单元111判断直到最后记录的序号Se max的服务器证书历史表110a中所有记录的有效期的来临是否都已经被检验了(S24)。当断定直到最后的记录还没有都进行完检验时(在S24中为“否”),那么服务器证书有效期搜索单元111重复地执行步骤S22~S24,以便获得将实际撤销的所有序号中的最大序号Se end。
当断定在一个月内没有序号期满时(在S22中为“否”),或者当直到最后的记录都已经完成了检验时(在S24中为“是”),所述服务器证书有效期搜索单元111向撤销证书搜索单元113通知将实际撤销的所有序号中的最大值Se end(S25)。
通过重复上述过程,其期满日期接近的服务器证书75的序号被随时地通知给撤销证书搜索单元113。
接下来,给出当由于撤销证书有效期来临而搜索撤销证书时由撤销证书搜索单元113执行的处理的描述。
图13是示出了当由于其有效期来临而搜索撤销证书时由撤销证书搜索单元113执行的操作的流程图。
所述撤销证书搜索单元113等待所述服务器证书有效期搜索单元111来通知将实际撤销的所有序号的最大值Se end(S31)。当被通知待实际撤销的序号的最大值Se end时(在S31中为“是”),所述撤销证书搜索单元113向证书撤销通知单元114通知与从最小序号Se min直到最大序号值Se end的序号对应的服务器名称(S32)。因此,所述证书撤销通知单元114把撤销通知80发送至每个相应的应用程序服务器30a~30k。然后,已经接收到撤销通知80的每个应用程序服务器30a~30k发送CSR 70,由此,将要为该应用程序服务器30a~30k的每个发布被分配有单调递增的序号的新服务器证书75。
随后,所述撤销证书搜索单元113等待待最新发布的所有服务器证书,每个服务器证书均被分配有增加的序号(S33)。
当所有服务器证书75已经被发布(在S33中为“是”)时,所述撤销证书搜索单元113删除与序号Se min~Se end对应的全部记录(S34),并且将通过向待实际撤销的序号的最大值Se end加“1”而获得的值作为撤销序号存储在撤销编号存储单元115中(S35)。
通过重复上述过程,其有效性接近期满的服务器证书75逐个经历撤销。因此,其服务器证书75将被撤销的应用程序服务器30a~30k需要把它们的当前服务器证书更新为被分配有递增序号的证书。
接下来,给出当响应于来自服务器证书撤销通知单元112的撤销通知而搜索撤销证书时由撤销证书搜索单元113执行的处理的描述。
图14是示出了响应于撤销通知,在搜索撤销证书时由撤销证书搜索单元113执行的操作的流程图。应注意的是,这种过程是依照预定时间间隔定期执行的。
所述撤销证书搜索单元113等待将从服务器证书撤销通知单元112发送的撤销通知(S41)。在接收到撤销通知后,所述撤销证书搜索单元113指定所通知的序号Se(S42),并且向证书撤销通知单元114通知与从最小序号Se min到该指定序号Se的序号对应的服务器名称(S43)。因此,所述证书撤销信息单元114把撤销信息80发送至每个相应的应用程序服务器30a~30k。然后,已经接收到撤销信息80的每个应用程序服务器30a~30k发送CSR 70,以便获得被分配有单调增加的序号的最新发布的服务器证书75。
然后,所述撤销证书搜索单元113等待将被最新发布的所有服务器证书(S44)。
当所有服务器证书75已经被发布(在S44中为“是”)时,所述撤销证书搜索单元113删除与从序号Se min直到指定序号Se的序号对应的全部记录(S45),并且将通过向待实际撤销的指定序号Se加“1”而获得的值作为撤销序号存储在撤销编号存储单元115中(S46)。
通过重复上述过程,不仅被认为是撤销目标的服务器证书75、而且被分配有比该服务器证书的序号更小的序号的所有服务器证书75都经历撤销。因此,其服务器证书75将被撤销的应用程序服务器30a~30k需要把它们的当前服务器证书更新为被分配有增加的序号的证书。
接下来,对在形成撤销信息时由撤销信息签名单元116执行的过程给出描述。
图15是示出了在形成撤销信息时由撤销信息签名单元116执行的操作的流程图。
所述撤销信息签名单元116从撤销编号存储单元115读出撤销序列号Se的默认值“0”,并且对其进行设置(S51)。然后,所述撤销信息签名单元116通过把该撤销序号Se、预存发布方以及使用从CA私有密钥存储单元103读出的CA私有密钥创建的签名放置在一起来形成撤销信息90,并且把形成的撤销信息90输出至撤销信息通知单元117。
然后,所述撤销信息签名单元116监控撤销编号存储单元115,以便等待撤销序号改变(S52)。此处,其序号等于或者小于通过从撤销序号减掉“1”而获得的值的所有服务器证书75被认为是要经历撤销的。由此,实际上应该在步骤S52执行的仅仅是判断撤销序号的值是否已经增加。当所述撤销序号增加时,所述撤销信息签名单元116从撤销编号存储单元115读出增加的撤销序号Se(S53),通过把该撤销序号Se、预存发布方以及使用从CA私有密钥存储单元103读出的CA私有密钥创建的签名放置在一起来形成撤销信息90(S54),并且把形成的撤销信息90输出到撤销信息通知单元117。
通过重复上述过程,其撤销序号在必要时增加的撤销信息90被顺序地存储到存储库20的撤销信息存储单元201中。
接下来,对于在获得撤销信息时由每个终端40a~40n的服务器证书验证单元430执行的过程给出描述。
图16是示出了在获得撤销信息时由服务器证书验证单元430中的每个单元执行的操作的流程图。应注意的是,这种过程是依照预定时间间隔定期执行的(一月一次)。
首先,每个终端40a~40n的撤销信息请求单元431定期地(一月一次)从存储库20获得撤销信息90,并且存储所述撤销编号。更具体地说,所述撤销信息请求单元431根据内部定时器等待一个月经过(S61)。当已经过去一个月时(在S61中为“是”),所述撤销信息请求单元431请求存储库20分发撤销信息90(S62),并且等待撤销信息90将被分发(S63)。
当执行此操作时,如果所获得的撤销信息90的撤销编号是错误的,那么被授权的应用程序服务器有可能被验证为未被授权的应用程序服务器,反之亦然。因此,应该进行如下检验。
在接收到撤销信息90后(在S63中为“是”),所述签名验证单元434首先验证该撤销信息90上的签名是否有效(S64)。由于只有服务器证书生成设备10被允许来标记撤销信息90,所以所述签名验证单元434认为:如果其签名是有效的,那么所述撤销信息90是授权数据。
接下来,检验所述撤销编号是否是大于当前所存储的撤销编号的编号。更具体地说,所述撤销编号验证单元435获得所分发的撤销序号(S65),以便判断该所分发的撤销序号的值是否大于由撤销编号存储单元436存储的撤销序号的值(S66)。在服务器证书75的每次撤销时,撤销编号是单调递增,因此撤销编号从不减少。
由此,当所接收到的撤销信息90的撤销编号大于当前撤销编号时(在S66中为“是”),所述分发的撤销序号应该被存储(S67)。另一方面,当所接收到的撤销信息90的撤销编号小于当前撤销编号时(在S66中为“否”),所接收到的撤销信息应该给破坏,被认为这种撤销编号是错误的或者存在某些差错(S68)。
通过重复上述过程,服务器证书验证单元430能够只存储单调递增的被授权的撤销编号。
接下来,给出对于在终端40a~40n和应用程序服务器30a~30k之间以加密形式执行通信的情况的描述。
图17是示出了执行加密通信的情况的顺序图。应注意的是,此处给出的描述是针对在终端40a和应用程序服务器30a之间执行通信的情况。
在终端40a中,所述应用程序客户端单元410指示通信单元420把请求3以加密形式发送至应用程序服务器30a(S100)。然后,所述通信单元420向应用程序服务器30a的通信单元306发送ClientHello分组,所述ClientHello分组包括客户端随机数和所述通信单元420可以支持的加密类型,以便开始SSL握手(S101)。
在应用程序服务器30a中,所述通信单元306根据ClientHello分组来确定加密类型,并且把由此确定的加密类型连同服务器随机数和ServerHello分组中的会话ID一起发送(S102)。然后,所述通信单元306从服务器证书存储单元304读取服务器证书75(S103),把该服务器证书75作为Certificate分组发送至应用程序服务器30a的通信单元420(S104),并且还把ServerHelloDone分组发送到通信单元420(S107)。
所述终端40a的通信单元420从Certificate分组中读取服务器证书75,并且将其发送到服务器证书验证单元430(S105)。所述服务器证书验证单元430验证该服务器证书75是否无效,并且向所述通信单元306通知验证结果(S106)。如果所述服务器证书75是无效的,那么所述通信单元420向通信单元306发送警告分组,以便断开会话,并且向应用程序客户端单元410返回一错误。同时,当所述服务器证书75是有效的时,所述通信单元420生成用于计算用于加密的公用密钥的预掌握密钥,利用在服务器证书75中包含的服务器公有密钥来加密这种预掌握密钥,在ServerHelloDone分组到达之后向通信单元306发送ClientKeyExchange分组,所述ClientKeyExchange分组包括加密后的预掌握密钥(S108),并且还向通信单元306发送ChangeCipherSpec分组(S109)。ChangeCipherSpec分组是指示加密启动的分组。所述通信单元420根据客户端随机数、服务器随机数以及预掌握密钥来生成用于加密的公用密钥A,并且利用生成的公用密钥A来对表示握手完成的Finished分组进行加密,以便向应用程序服务器30a的通信单元306发送该加密后的分组(S110)。
应用程序服务器30a的通信单元306从ClientKeyExchange分组中读取加密后的预掌握密钥以便利用服务器私有密钥将其解密为预掌握密钥,并且根据该预掌握密钥、所述服务器随机数以及客户端随机数来生成用于加密的公用密钥B。当SSL握手已经被正常地进行时,那么通信单元306具有的公用密钥A以及通信单元420具有的公用密钥B变为相同。所述通信单元306利用公用密钥B来对所接收到的FinisheB分组进行解密,并且当该解密继续时,对该FinisheB分组进行加密以便将其发送到通信单元420(S111)。所述Finished分组之后的后续通信应该以加密的形式来执行。
终端40a的通信单元420对所接收的Finished分组进行解密,并且当该解密继续时,把请求3以加密形式发送至应用程序服务器30a的通信单元306(S112)。
应用程序服务器30a的通信单元306解密所述请求3,并且把解密后的请求3发送至应用程序服务器单元305(S113)。所述应用程序服务器单元305处理该请求3以便生成响应3,并且指示通信单元306将其发送到终端40a(S114)。然后,所述通信单元306把响应3以加密形式发送至终端40a的通信单元420中(S115)。
终端40a的通信单元420对所加密的响应3进行解密,并向应用程序客户端单元410输出解密后的响应3(S116)。
所述通信是依照上述方式以加密的形式被执行的。
图18是示出了当验证服务器证书75时由服务器证书验证单元430执行的操作的流程图。
在获得所述服务器证书75之后,所述服务器证书验证单元430的签名验证单元432从由此获得的服务器证书75中读取发布方,并且在CA证书存储单元433中搜索该发布方的CA证书60。然后,所述签名验证单元432从搜索出的CA证书60中读取CA公有密钥,并且使用这种CA公有密钥来检验服务器证书75上的签名。更具体地说,所述签名验证单元432等待将被分发的服务器证书75(S81),并且当它被分发时(在S81中为“是”),从该服务器证书75中获得发布方(S82),并且在CA证书存储单元433中搜索同一发布方的CA证书60(S83)。然后,所述签名验证单元432从搜索出的CA证书60中读取CA公有密钥(S84),并且通过利用CA公有密钥将其解密来判断服务器证书75上的签名是否有效(S85)。
当服务器证书75的签名被判断为无效时(在S85中为“签名NG”),那么签名验证单元432向通信单元420通知指示签名验证错误的错误代码(S90),并且结束验证。另一方面,当判断所述签名是有效时(在S85中是“签名OK”),所述证书序号提取单元437从该服务器证书75中读取序号(服务器序号)(S86)。然后,所述撤销判断单元438从撤销编号存储单元436读取撤销编号,并且把它与通过证书序号提取单元437读出的序号相比较,即就它们的大小而言,判断服务器序号和撤销序号之间的关系(S88)。
当所述序号小于撤销编号时(在S88中为“否”),所述撤销判断单元438断定所述服务器证书75已被撤销,并且向通信单元420通知指示撤销的错误代码(S90),以便结束所述验证。同时,当所述序号大于或者等于撤销编号时(在S88中为“是”),所述撤销判断单元438断定该服务器证书75是有效的,并且向通信单元420通知所述验证已经正常地结束。
通过上述过程,只有当应用程序服务器30a发送包括有效签名以及等于或者大于撤销编号的序号的服务器证书75时,所述服务器证书75才被验证。
接下来,对于通过服务器证书生成设备10生成的服务器证书75以及撤销编号之间的关系给出描述。
图19是当存在四个服务器时服务器证书75的序号和撤销序号之间的关系的图表。
出于描述的目的,此处假定该服务器是A、B、C以及D,每个服务器分别在时间“a”、“b”、“c”以及“d”安装,并且各个服务器具有的服务器证书75的序号是“0”、“1”、“2”以及“3”。
当在时间“e”就服务器C的服务器证书75的安全性给予考虑时,在该时间点把如下信息存储在服务器证书历史记录存储单元110中,所述信息为:
  服务器名称   :序列号   :有效期
  ABCD   :0:1:2:3   :a+13(月):b+13(月):c+13(月):d+13(月)
因此,所述服务器证书生成设备10的撤销证书搜索单元113搜索具有小于“2”的序号的服务器证书75,这是服务器C具有的服务器证书75的序号。结果,服务器A以及服务器B的服务器证书75被搜索出来。因此,服务器证书生成设备10的证书撤销通知单元114请求服务器A、B以及C更新它们的服务器证书75(给出通知:它们的服务器证书75将撤销)。结果,每个服务器A、B以及C请求生成新的服务器证书75,并且分别被分配有序号“4”、“5”以及“6”的新的服务器证书75被最新生成,以便被分别发送给各个应用程序服务器A、B以及C。此处生成的每一服务器证书75的有效期应该是“e+13月”。因此,存储在所述服务器证书历史信息存储单元110中的数据应该如下被更新:
  服务器名称   :序列号   :有效期
  DABC   :3:4:5:6   :d+13(月):e+13(月):e+13(月):e+13(月)
在每一服务器的服务器证书75被更新之后,所述服务器证书生成设备10的撤销编号存储单元115把撤销编号改变为序号“3”,该序号在该时间点是有效的并且是最小的,并且使存储库20的撤销信息存储单元201存储包括该序号的撤销信息90。换言之,这种新的撤销编号“3”是通过由于撤销的原因而将服务器C具有的原始服务器证书75的序号“2”加“1”来获得的。
每个终端40a~40n定期地获得并且存储来自于存储库20的撤销编号。当执行此操作时,如果错误的撤销编号被存储,那么被授权的服务器有可能被验证为未被授权的服务器,反之亦然。因此,应该进行如下检验。首先,检验撤销信息上的签名。由于只有CA被允许来标记撤销信息,所以如果其签名是有效的,那么所述撤销信息被认为是授权数据。接下来,它检验所述撤销编号是否大于当前存储的撤销编号。撤销编号由于服务器证书的撤销而增加,但是从不减少。因此,当所述撤销编号小于当前撤销编号时,这种撤销编号会被破坏,同时认为这种撤销编号是错误的或者存在某些差错。
同时,当发生使用服务器C的服务器证书75的服务器欺骗时,被欺骗的服务器的服务器证书75的序号是“2”。然而,由于在该时间点的撤销编号是“3”,所以根据其序号小于撤消编号的任何服务器证书75应该被撤销的规则,这种被欺骗的服务器不可能得到信任。
此外,所述服务器证书有效期搜索单元111始终检验服务器证书历史存储单元110,以便搜索其有效性在从当前时间开始一个月内期满的服务器证书75。例如,当d+12个月已经过去,服务器D具有的服务器证书75的有效期将在一个月中期满。由此,所述服务器证书有效期搜索单元111向撤销证书搜索单元113通知服务器D具有的服务器证书75的序号“3”,并且证书撤销通知单元114请求服务器D更新其服务器证书75。此外,当存在具有被分配有比服务器D具有的服务器证书75更小的序号的服务器证书75的服务器时,所述证书撤销通知单元114还请求该服务器更新其服务器证书75。在这些服务器证书75被更新之后,所述撤销编号被更新为“4”,该值是通过把服务器D具有的服务器证书75的序号加“1”来获得的。
如上所述,当更新其有效期接近的服务器证书75时,其序号小于其有效期接近的服务器证书75的序号的所有服务器证书75应该被更新,并且应该把通过将其期满日期接近的服务器证书75的序号加“1”而获得的值设置为新的撤销编号。因此,即使当存在使用期满的服务器证书75的欺骗服务器时,对于不具有时钟的设备而言,它可以可能的,并且因此不能获得精确的时间来根据所述撤销编号确认该服务器证书75被撤销。
应注意的是,在本实施例中,更新的序号按照“4”、“5”、“6”的顺序被分配给服务器A、B和C,但是本发明不局限于此顺序。
此外,在第一实施例中,默认序号是“0”,每当发布新的的服务器证书75时该序号被加“1”,但是可以自由地设置默认序号,并且每次发布服务器证书时可以增加不同的值,只要这种值单调递增就行。
此外,在第一实施例中,把“0”用作默认撤销编号,但是默认撤销编号还可以是等于或者小于默认序号的其它值。换言之,例如当服务器证书75的默认序号被设定为“1”时,所述默认撤销编号可以是“0”或者“1”。
此外,在本实施例中,由于将发布的服务器证书75被分配有单调递增的序号,服务器证书75的默认序号被设置为等于或者大于默认撤销编号的值,所以能够享有这样的功能,所述功能相当于在查阅撤销序号时将被实现的那个功能,这就是为什么在本实施例中撤销编号不被用作参考的原因。然而,所述撤销编号实际上可以被查阅,以便发布其序号等于或者大于该撤销编号的服务器证书75。
如上所述,根据第一实施例,给予具有即将期满的服务器证书的应用程序服务器一撤销通知,并且为这种应用程序服务器发布新的服务器证书,以便通过将其撤销来使其原始的服务器证书不能使用。因此,对于每个终端40a~40n而言,无需检验服务器证书的有效期或者装备有精确的时钟。而且,由于只有一个撤销序号被并入撤销信息90,并且每个终端40a~40n存储该撤销信息90,以便根据该服务器证书75的序号和撤消编号之间就其大小而言的关系来检验服务器证书75的有效性,所以所述终端40a~40n不需要具有常规情况下的资源。因此,只需要少量资源,这意味着本发明适用于联网设备等等。
(第二实施例)
以下描述了按照本发明第二实施例的通信系统。
图20是示出了依照本发明第二实施例的通信系统2的整体配置的框图。应注意的是,与图7中示出的通信系统1的单元相同的单元被分配有相同的数字,并且省略了对这部分内容进行的描述。
通信系统2包括均由证书授权中心使用的服务器证书生成设备11和存储库21、由诸如视频内容的应用程序供应商使用的多个应用程序服务器30a~30k、由用户使用的多个终端41a~41n以及用于使存储库21、应用程序服务器30a~30k和终端41a~41n相互连接的因特网50,如同根据第一实施例的通信系统1的情形。
在根据第一实施例的通信系统1中,所述服务器证书生成设备10向存储库20发送撤销信息90,然后把撤销信息90发送至每个终端40a~40n。然而,由于服务器证书生成设备11向存储库21发送只由撤销编号构成的撤销信息90b,所以根据第二实施例的通信系统2极大地不同于通信系统1。
此外,在通信系统1中,所述存储库20把撤销信息90以加密形式发送至每个终端40a~40n,并且这种终端40a~40n中的每一个均根据撤销信息90上的签名来检验所接收的撤销信息90是否无效。然而,由于服务器证书生成设备11向存储库21发布服务器证书75,然后把这种服务器证书75依照它们的撤销编号分发要求发送至终端41a~41n,就像在应用程序服务器30a~30k的情况下一样,所以所述通信系统2极大地不同于第一实施例。然后,每个终端41a~41n在这种存储库21上执行服务器验证,并且在每个终端41a~41n共享SSL会话密钥之后,所述存储库21将撤销编号以加密形式分发。
如此,象在应用程序服务器30a~30k的情况下那样,所述服务器证书生成设备11包括密钥对生成单元101、CA证书生成单元102、CA私有密钥存储单元103、时钟104、序号存储单元105、CSR接收单元106、服务器证书形成单元107、签名单元108、服务器证书发送单元109、服务器证书历史存储单元110、服务器证书有效期搜索单元111、服务器证书撤销通知单元112、撤销证书搜索单元113和证书撤销通知单元114,以便服务器证书生成设备11接收从存储库21发送的CSR 70,向存储库21发布服务器证书75,并且当该服务器证书75要经历撤销时,向存储库21发送撤销通知80。此外,除上述部件以外,所述服务器证书生成设备11不包括服务器证书生成设备10具有的撤销信息签名单元116,但是进一步设置有撤销编号存储单元121和撤销编号通知单元122,而不是撤销编号存储单元115和撤销信息通知单元117。象在撤销编号存储单元115的情况下那样,所述撤销编号存储单元121把由服务器证书发送单元109发布的服务器证书75的所有序号中具有最小有效序号的撤销编号存储为撤销编号。应注意的是,默认撤销编号是“0”。存储在撤销编号存储单元121中的撤销编号被发送给撤销编号通知单元122。所述撤销编号通知单元122向存储库21只通知不包括签名的撤销编号,并且被存储在撤销编号存储单元121中作为撤销信息90b。
所述存储库21包括密钥对生成单元203、CSR生成单元204、服务器私有密钥存储单元205、服务器证书存储单元207、撤销信息存储单元208和通信单元209。
所述存储库21使用SSL与终端41a~41n通信,就像应用程序服务器30a~30k的情况下一样。为此,每次安装服务器并且从服务器证书生成设备11接收到撤销通知80时,所述密钥对生成单元203生成新的服务器公有密钥和新的服务器私有密钥。服务器公有密钥被发送给CSR生成单元204,并且服务器私有密钥被存储到服务器私有密钥存储单元205中。
所述CSR生成单元204根据服务器公有密钥和预存的服务器名称来生成CSR 70,并且把所生成的CSR 70发送到服务器证书生成设备11。随后,所述服务器证书生成设备11根据所接收的CSR 70生成服务器证书75,并且把所生成的服务器证书75发送到存储库21。每次接收该新的服务器证书75时,所述服务器证书存储单元207存储新的服务器证书75。
每次从服务器证书生成设备11接收到只由撤销编号构成的撤销信息90b时,所述撤销信息存储单元208存储新的撤销编号。
所述通信单元209是用于按照上述加密协议等等来经由因特网50与终端41a~41n通信的接口。更具体地说,当接收到来自于每个终端41a~41n的用于开始通信的请求时,所述通信单元209从服务器证书存储单元207读取服务器证书75以便执行服务器验证,并且把所读出的服务器证书75发送到每个终端41a~41n。此外,所述通信单元209利用存储在服务器私有密钥存储单元205中的服务器私有密钥对从每个终端41a~41n接收的加密类型进行解密,以便生成用于加密通信的公用密钥。随后,当存在来自于加密通信中的任何终端41a~41n的用于撤销编号的请求时,所述通信单元209从撤销信息存储单元208读取撤销信息90b,并且把该撤销信息90b以加密形式输出到已经做出请求的终端。同时,当在未加密通信中接收到请求时,所述通信单元209断开通信。
终端41a~41n的每个均包括应用程序客户端单元410、替代通信单元420的通信单元440以及替代服务器证书验证单元430的服务器证书验证单元450。所述服务器证书验证单元450包括签名验证单元432、CA证书存储单元433、撤销编号存储单元436以及撤销判断单元438,如同服务器证书验证单元430的情况,并还包括替代撤销信息请求单元431的撤销信息请求单元451、替代证书序号提取单元437的证书序号提取单元452以及替代撤销编号验证单元435的撤销编号验证单元453。
每个终端41a~41n的撤销信息请求单元451定期地(例如一月一次)请求通信单元440从存储库21获得撤销编号。
所述签名验证单元432从CA证书存储单元433读取CA证书60,以便验证服务器证书75上的签名,并且如果这种签名不正常的话,向通信单元440通知异常。
所述证书序号提取单元452从输入的服务器证书75中提取序号,并且将所提取的序号输出至撤销判断单元438和撤销编号验证单元453。
所述撤销编号验证单元453读出在撤销编号存储单元436中存储的撤销编号,以便把它与从存储库21中获得的序号(撤销编号)相比较,以及把所读出的撤销编号与从证书序号提取单元452输出的序号进行比较。然后,当从存储库21中获得的序号小于在撤销编号存储单元436中存储的撤销编号时,所述撤销编号验证单元453向通信单元440通知由于某些原因而存在异常的事实。此外,当从应用程序服务器30a~30k或者存储库21提取的服务器证书75的序号小于撤销编号时,所述撤销编号验证单元453向通信单元440通知该服务器证书75已被撤销。
所述通信单元440是用于按照上述加密或者未加密通信协议来经由因特网50与应用程序服务器30a~30k以及存储库21通信的接口。除与应用程序服务器30a~30k通信以外,就像在通信单元420的情况下,所述通信单元440(1)分析从存储库21发送的命令,(2)根据这种分析结果来请求服务器证书验证单元430来进行处理,(3)把从应用程序客户端单元410和服务器证书验证单元450传递的数据发送到存储库21,并且(4)从存储库21接收服务器证书75和撤销信息90b。换言之,所述通信单元440使用图17中示出的通信协议在加密通信中接收撤销信息90b。
更具体地说,依照来自撤销信息请求单元451的用于请求撤销信息90b的请求,所述通信单元440请求存储库21的通信单元209开始加密通信。结果,所述通信单元440从存储库21的通信单元209接收服务器证书75。
然后,所述通信单元440把所接收到的服务器证书75输出至签名验证单元432和证书序号提取单元452。当由签名验证单元432通知该服务器证书75异常时,所述通信单元440向存储库21中的通信单元209通知服务器证书75的这种异常,以便断开所述会话。
同时,当服务器证书75上的签名正常,或者不使该服务器证书75撤销时,所述通信单元440生成预掌握密钥,利用服务器证书75中包含的服务器公有密钥来对该预掌握密钥进行加密,并且把加密后的预掌握密钥发送至存储库21的通信单元209。此外,所述通信单元440使用该所获得的数据来生成用于加密通信的加密密钥,以便使用该加密密钥以加密形式执行后续通信。换言之,所述通信单元440以加密形式把用于请求撤销编号的请求发送至存储库21。然后,当从存储库21接收到加密后的撤销信息90b时(撤销编号),所述通信单元440解密所接收到的经过加密的撤销编号,并且把解密后的撤销编号输出到撤销编号验证单元453。
所述撤销编号验证单元453从撤销编号存储单元436读出当前撤销编号,并且把它与由存储库21通知的撤销编号相比较。当执行此操作时,如果所通知的撤销编号小于当前撤销编号,那么可以判断出所通知的撤销编号是无效的,并且此处理终止。这是因为撤销编号是单调递增的,因此撤销编号从未被替换为小于当前撤销编号的撤销编号。同时,当所通知的撤销编号等于当前撤销编号时,所述过程结束,由此断定没有撤销编号改变。此外,当所通知的撤销编号大于当前撤销编号时,所述撤销编号验证单元453把该所通知的撤销编号与从证书序号提取单元452输入的存储库21的序号进行比较。当所通知的撤销编号小于存储库21的序号时,所述撤销编号验证单元453断定所通知的撤销编号是无效的,并且结束处理。这是因为如果该所通知的撤销编号是有效的,那么这意味着存储库21的序号是无效的,即所述服务器证书75被撤销,因此具有这种无效服务器证书75的从存储库21中获得的撤销编号是不可信赖的。因此,当所通知的撤销编号等于或者大于存储库21的序号时,所述撤销编号验证单元453把该所通知的撤销编号存储到撤销编号存储单元436中作为新的撤销编号。
同时,对撤销编号的攻击包括:通过把更小的值欺骗性地设置为撤销编号来使过去被撤销的服务器证书75有效;并且把较大的值设置为撤销编号以导致溢出。这些攻击相抗衡的是使撤销编号按照上述方式经历有效性检查。
利用上述结构,能够只存储有效的撤销编号,而不需要检验所获得的撤销信息90b的签名。
应注意的是,作为本发明的又一实施例,还可以构想出如下结构。
所述证书发布设备包括:撤销编号存储单元,用于存储撤销编号;服务器证书信息存储单元,用于存储涉及过去发布的每个服务器证书的如下信息:标识号、有效期以及所述服务器证书被发布到的对象;以及证书发布单元,用于发布新的服务器证书,其中所述证书发布部件发布被分配有等于或者大于由撤销编号存储单元存储的撤销编号的标识号的新的服务器证书。
此外,当撤销服务器证书时,所述服务器证书发布设备(1)获得所述服务器证书的标识号,(2)确定大于所述标识号的编号作为新的撤销编号,(3)把所述新的撤销编号存储到撤销编号存储单元中,(4)在服务器证书信息存储单元中搜索以便读出其标识号等于或者小于服务器证书的标识号的服务器证书(以下简称为“待更新的服务器证书”),并且(5)向具有待更新的所述服务器证书的服务器发布新的服务器证书,其中所述服务器证书的标识号等于或者大于新的撤销编号。
此外,所述服务器证书发布设备(1)在服务器证书信息存储单元中搜索其有效期接近的服务器证书,以便获得所述服务器证书的标识号,(2)确定大于所述标识号的编号作为新的撤销编号,(3)把所述新的撤销编号存储到撤销编号存储单元中,(4)在所述服务器证书信息存储单元中搜索以便读出其标识号等于或者小于服务器证书标识号的服务器证书(以下简称为“待更新的服务器证书”),并且(5)向具有待更新的所述服务器证书的服务器发布其标识号等于或者大于新的撤销编号的新服务器证书。
工业实用性
根据本发明的通信设备、证书发布设备以及通信系统提供了使用少量资源来完成欺骗检验等等的作用,并且适合于用作诸如视频解码器的联网设备以及能够进行服务器验证的计算机设备,诸如移动电话以及个人数字助理。

Claims (17)

1、一种用于根据指示服务器设备有效性的服务器证书来与所述服务器设备进行通信的通信设备,包括:
撤销编号获取单元,用于从存储库设备获得撤销编号,所述存储库设备存储所述撤销编号,所述撤销编号是用作判断所述服务器证书有效性的标准的信息;
撤销编号存储单元,用于存储所获得的撤销编号;
标识号读取单元,用于从所述服务器证书中读出用于识别所述服务器证书的标识号;
证书判断单元,用于通过把所读出的标识号与所述撤销编号存储单元中存储的所述撤销编号进行比较来判断所述服务器证书的有效性;以及
通信控制单元,用于当所述服务器证书被判断为有效时,建立与所述服务器设备的通信,并且当所述服务器证书被判断为无效时,不建立与所述服务器设备的通信。
2、如权利要求1所述的通信设备,
其中当所述标识号等于或者大于所述撤销编号时,所述证书判断单元断定所述服务器证书是有效的。
3、如权利要求1所述的通信设备,还包括撤销编号判断单元,用于判断所述撤销编号的有效性,
其中当所述撤销编号判断单元断定所述撤销编号有效时,所述证书判断单元使用所述撤销编号来判断所述服务器证书的有效性。
4、如权利要求3所述的通信设备,
其中所述撤销编号判断单元通过把指示所述存储库设备有效性的存储库证书的标识号与由所述撤销编号存储单元存储的所述撤销编号进行比较来判断所述撤销编号的有效性。
5、如权利要求4所述的通信设备,
其中当所述存储库证书的标识号等于或者大于由所述撤销编号存储单元存储的所述撤销编号时,所述撤销编号判断单元断定所述存储库设备是有效的。
6、如权利要求3所述的通信设备,
其中所述撤销编号判断单元通过把由所述撤销编号获取单元所获得的所述撤销编号与所述撤销编号存储单元所存储的撤销编号进行比较来判断所述撤销编号的有效性。
7、如权利要求6所述的通信设备,
其中当所述获得的撤销编号等于或者大于由所述撤销编号存储单元所存储的撤销编号时,所述撤销编号判断单元断定由所述撤销编号获取单元所获得的撤销编号是有效的。
8、一种用于发布指示服务器设备有效性的服务器证书的证书发布设备,包括:
撤销编号存储单元,用于存储撤销编号,所述撤消编号是用作判断所述服务器证书有效性的标准的信息;以及
发布单元,用于发布新的服务器证书,
其中所述发布单元发布包括有标识号的新的服务器证书,该标示号指示等于或者大于由所述撤销编号存储单元存储的所述撤销编号的值。
9、如权利要求8所述的证书发布设备,还包括撤销编号更新单元,用于当被通知所述服务器证书的所述标识号将被撤销时,把所述撤销编号存储单元存储的撤销编号更新为大于将被撤销的服务器证书的标识号的编号。
10、如权利要求9所述的证书发布设备,
其中在所述撤销编号更新单元更新了由所述撤销编号存储单元存储的撤销编号的情况下,所述发布单元为其服务器证书被分配有小于所更新的撤销编号的标识号的服务器发布新的服务器证书。
11、如权利要求8所述的证书发布设备,还包括撤销编号更新单元,用于指定服务器证书的标识号,正在接近的期满日期,并且把由所述撤销编号存储单元存储的撤销编号更新为大于所述标识号的一编号。
12、如权利要求11所述的证书发布设备,
其中在所述撤销编号更新单元更新了由所述撤销编号存储单元存储的撤销编号的情况下,所述发布单元为其服务器证书被分配有小于已更新撤销编号的标识号的服务器发布新的服务器证书。
13、一种包括服务器设备、用于发布指示该服务器设备有效性的服务器证书的证书发布设备以及根据所述服务器证书与该服务器设备通信的通信设备的通信系统,
其中所述证书发布设备包括:
第一撤销编号存储单元,用于存储撤销编号,所述撤销编号是用作判断所述服务器证书有效性的标准的信息;以及
发布单元,用于发布新的服务器证书,
其中所述发布单元发布包括有标识号的新的服务器证书,该标示号指明等于或者大于由所述第一撤销编号存储单元存储的所述撤销编号的值,以及
所述通信设备包括:
撤销编号获取单元,用于从存储库设备获得撤销编号,所述存储库设备存储所述撤销编号,所述撤销编号是用作判断所述服务器证书有效性的标准的信息;
第二撤销编号存储单元,用于存储所获得的撤销编号;
标识号读取单元,用于从所述服务器证书中读出用于识别所述服务器证书的标识号;
证书判断单元,用于通过把所读出的标识号与所述第二撤销编号存储单元存储的所述撤销编号进行比较来判断所述服务器证书的有效性;以及
通信控制单元,用于当所述服务器证书被判断为有效时,建立与所述服务器设备的通信,并且当所述服务器证书被判断为无效时,不建立与所述服务器设备的通信。
14、一种用于根据指示服务器设备有效性的服务器证书来与所述服务器设备进行通信的通信方法,包括:
撤销编号获取步骤,用于从存储库设备获得撤销编号,所述存储库设备存储所述撤销编号,所述撤销编号是用作判断所述服务器证书有效性的标准的信息;
撤销编号存储步骤,用于把所获得的撤销编号存储到记录单元中;
标识号读取步骤,用于从所述服务器证书中读出用于识别所述服务器证书的标识号;
证书判断步骤,用于通过把所读出的标识号与所述记录单元存储的所述撤销编号进行比较来判断所述服务器证书的有效性;以及
通信控制步骤,用于当所述服务器证书被判断为有效时,建立与所述服务器设备的通信,而且当所述服务器证书被判断为无效时,不建立与所述服务器设备的通信。
15、一种用于发布指示服务器设备有效性的服务器证书的证书发布方法,包括:
撤销编号存储步骤,用于把撤销编号存储到记录单元中,所述撤销编号是用作判断所述服务器证书有效性的标准的信息;以及
发布步骤,用于发布新的服务器证书,
其中在所述发布步骤中,发布包括有标识号的新的服务器证书,所述标识号指明等于或者大于由所述记录单元存储的所述撤销编号的值。
16、一种用于根据指示服务器设备有效性的服务器证书来与所述服务器设备进行通信的通信设备的程序,所述程序使计算机执行如下步骤:
撤销编号获取步骤,用于从存储库设备获得撤销编号,所述存储库设备存储所述撤销编号,所述撤销编号是用作判断所述服务器证书有效性的标准的信息;
撤销编号存储步骤,用于把所获得的撤销编号存储到记录单元中;
标识号读取步骤,用于从所述服务器证书中读出用于识别该服务器证书的标识号;
证书判断步骤,用于通过把所读出的标识号与所述记录单元存储的所述撤销编号进行比较来判断所述服务器证书的有效性;以及
通信控制步骤,用于当所述服务器证书被判断为有效时,建立与所述服务器设备的通信,而且当所述服务器证书被判断为无效时,不建立与所述服务器设备的通信。
17、一种用于发布指示服务器设备有效性的服务器证书的证书发布设备的程序,所述程序使计算机执行如下步骤:
撤销编号存储步骤,用于把撤销编号存储到记录单元中,所述撤销编号是用作判断所述服务器证书有效性的标准的信息;并且
发布步骤,用于发布新的服务器证书,
其中在所述发布步骤中,发布包括有标识号的新的服务器证书,所述标识号指明等于或者大于由所述记录单元存储的所述撤销编号的值。
CNB2004800093354A 2003-04-03 2004-03-05 用于判断服务器证书有效性的设备、方法 Expired - Fee Related CN100550897C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP100866/2003 2003-04-03
JP2003100866A JP2004312197A (ja) 2003-04-03 2003-04-03 通信装置、証明書発行装置及び通信システム

Publications (2)

Publication Number Publication Date
CN1771710A true CN1771710A (zh) 2006-05-10
CN100550897C CN100550897C (zh) 2009-10-14

Family

ID=33156741

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800093354A Expired - Fee Related CN100550897C (zh) 2003-04-03 2004-03-05 用于判断服务器证书有效性的设备、方法

Country Status (8)

Country Link
US (1) US20060155855A1 (zh)
EP (1) EP1616425A1 (zh)
JP (1) JP2004312197A (zh)
KR (1) KR20060006910A (zh)
CN (1) CN100550897C (zh)
CA (1) CA2513434A1 (zh)
TW (1) TW200503501A (zh)
WO (1) WO2004091166A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101490689B (zh) * 2006-07-07 2012-05-16 桑迪士克股份有限公司 用于由存储装置验证实体的方法及使用该方法的存储装置
CN103035270A (zh) * 2011-09-28 2013-04-10 索尼公司 信息存储设备,信息处理设备,信息处理系统,信息处理方法和程序

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266838B2 (en) * 2002-10-31 2007-09-04 Hewlett-Packard Development Company, L.P. Secure resource
CA2560570C (en) * 2004-03-22 2011-09-13 Samsung Electronics Co., Ltd. Authentication between device and portable storage
ATE450950T1 (de) * 2004-04-30 2009-12-15 Research In Motion Ltd System und verfahren zur prüfung digitaler zertifikate
US8615653B2 (en) * 2004-09-01 2013-12-24 Go Daddy Operating Company, LLC Methods and systems for dynamic updates of digital certificates via subscription
DE102004045574A1 (de) * 2004-09-17 2006-03-30 Francotyp-Postalia Ag & Co. Kg Verfahren zum Austausch von Kryptograhiedaten
US20090254756A1 (en) * 2004-09-24 2009-10-08 Jun Kawakita Data communication method
JP4788141B2 (ja) * 2005-01-12 2011-10-05 パナソニック株式会社 情報表示システム
JP2007042204A (ja) * 2005-08-02 2007-02-15 Sony Corp 再生装置、期限通知方法および期限通知プログラム
JP2007116456A (ja) * 2005-10-20 2007-05-10 Sharp Corp 情報通信端末、認証装置、情報通信システム、および記録媒体
JP4449899B2 (ja) 2005-12-28 2010-04-14 ブラザー工業株式会社 管理装置及びプログラム
JP4449931B2 (ja) * 2006-03-30 2010-04-14 ブラザー工業株式会社 管理装置、および管理システム
US7853150B2 (en) * 2007-01-05 2010-12-14 Emcore Corporation Identification and authorization of optoelectronic modules by host system
US8601555B2 (en) * 2006-12-04 2013-12-03 Samsung Electronics Co., Ltd. System and method of providing domain management for content protection and security
US7881329B2 (en) * 2007-05-25 2011-02-01 Sharp Laboratories Of America, Inc. Method and system for maintaining high reliability logical connection
JP4268673B1 (ja) * 2007-10-02 2009-05-27 パナソニック株式会社 著作権保護システム、再生装置、及び再生方法
US8104091B2 (en) * 2008-03-07 2012-01-24 Samsung Electronics Co., Ltd. System and method for wireless communication network having proximity control based on authorization token
US8146159B2 (en) * 2009-01-20 2012-03-27 Check Point Software Technologies, Ltd. Methods for inspecting security certificates by network security devices to detect and prevent the use of invalid certificates
JP4660658B1 (ja) * 2010-02-09 2011-03-30 ネットエージェント株式会社 通信情報解析システム
CN101909053B (zh) * 2010-06-30 2014-10-08 华为技术有限公司 一种对时方法和基站
US9264235B2 (en) * 2010-11-16 2016-02-16 Blackberry Limited Apparatus, system and method for verifying server certificates
WO2012144193A1 (ja) 2011-04-22 2012-10-26 パナソニック株式会社 無効化リスト生成装置、無効化リスト生成方法及びコンテンツ管理システム
EP2704353B1 (en) * 2011-04-25 2017-09-20 Panasonic Corporation Recording medium apparatus and controller
US8782774B1 (en) * 2013-03-07 2014-07-15 Cloudflare, Inc. Secure session capability using public-key cryptography without access to the private key
EP3086504B1 (en) * 2013-12-16 2018-12-12 Panasonic Intellectual Property Management Co., Ltd. Administration of authentication certificates
US9603019B1 (en) 2014-03-28 2017-03-21 Confia Systems, Inc. Secure and anonymized authentication
JP6226080B2 (ja) * 2014-09-25 2017-11-08 日本電気株式会社 通信制御装置、通信制御方法、通信制御プログラム、及び、情報システム
US9660969B2 (en) * 2015-03-31 2017-05-23 Here Global B.V. Method and apparatus for providing key management for data encryption for cloud-based big data environments
US10791110B2 (en) * 2015-07-09 2020-09-29 Cloudflare, Inc. Certificate authority framework
US9602292B2 (en) * 2015-07-25 2017-03-21 Confia Systems, Inc. Device-level authentication with unique device identifiers
US10484359B2 (en) 2015-07-25 2019-11-19 Confia Systems, Inc. Device-level authentication with unique device identifiers
JP7208707B2 (ja) * 2017-02-17 2023-01-19 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
CN108667780B (zh) * 2017-03-31 2021-05-14 华为技术有限公司 一种身份认证的方法、系统及服务器和终端
CN109688042B (zh) * 2017-10-18 2021-12-31 阿里巴巴集团控股有限公司 一种消息处理方法及装置
CN109714168B (zh) 2017-10-25 2022-05-27 阿里巴巴集团控股有限公司 可信远程证明方法、装置和系统
JP2021528990A (ja) 2018-07-06 2021-10-28 ミリトロニック カンパニー リミテッドMillitronic Co., Ltd. 食品の酸化速度を加速するシステム及び方法
US11916895B1 (en) * 2018-11-01 2024-02-27 Amazon Technologies, Inc. Certificate authority breach detection for network-connected devices
US11451405B2 (en) * 2019-02-14 2022-09-20 Microsoft Technology Licensing, Llc On-demand emergency management operations in a distributed computing system
CN111193748B (zh) * 2020-01-06 2021-12-03 惠州市德赛西威汽车电子股份有限公司 一种交互式密钥安全认证方法及系统
US10903990B1 (en) 2020-03-11 2021-01-26 Cloudflare, Inc. Establishing a cryptographic tunnel between a first tunnel endpoint and a second tunnel endpoint where a private key used during the tunnel establishment is remotely located from the second tunnel endpoint
US11722317B2 (en) * 2020-12-22 2023-08-08 Blackberry Limited System and method for obtaining a signed certificate

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261002A (en) * 1992-03-13 1993-11-09 Digital Equipment Corporation Method of issuance and revocation of certificates of authenticity used in public key networks and other systems
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US6134551A (en) * 1995-09-15 2000-10-17 Intel Corporation Method of caching digital certificate revocation lists
GB9603263D0 (en) * 1996-02-16 1996-04-17 British Telecomm Receiver control
US5903651A (en) * 1996-05-14 1999-05-11 Valicert, Inc. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US6247127B1 (en) * 1997-12-19 2001-06-12 Entrust Technologies Ltd. Method and apparatus for providing off-line secure communications
US7117360B1 (en) * 2001-07-09 2006-10-03 Sun Microsystems, Inc. CRL last changed extension or attribute

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101490689B (zh) * 2006-07-07 2012-05-16 桑迪士克股份有限公司 用于由存储装置验证实体的方法及使用该方法的存储装置
CN103035270A (zh) * 2011-09-28 2013-04-10 索尼公司 信息存储设备,信息处理设备,信息处理系统,信息处理方法和程序

Also Published As

Publication number Publication date
CN100550897C (zh) 2009-10-14
CA2513434A1 (en) 2004-10-21
KR20060006910A (ko) 2006-01-20
EP1616425A1 (en) 2006-01-18
US20060155855A1 (en) 2006-07-13
TW200503501A (en) 2005-01-16
WO2004091166A1 (en) 2004-10-21
JP2004312197A (ja) 2004-11-04

Similar Documents

Publication Publication Date Title
CN1771710A (zh) 用于判断服务器证书有效性的设备、方法以及计算机软件产品
CN100338597C (zh) 信息处理设备和方法
CN1270246C (zh) 信息处理设备和方法
CN1266875C (zh) 内容发布/接收方法
CN1502186A (zh) 在计算机网络中有控制地分发应用程序代码和内容数据
CN1554053A (zh) 服务提供系统和服务提供方法
CN1701561A (zh) 基于地址的验证系统及其装置和程序
CN1365472A (zh) 用于注册与应用有关的域名的共享注册系统
CN1615632A (zh) 用于支持有线和无线客户端和服务器端认证的方法的机制
CN100337175C (zh) 移动终端加入域和获取版权对象的方法、系统和相关设备
CN1758589A (zh) 信息处理设备、信息处理方法和程序
CN1395191A (zh) 数据验证方法、数据验证装置及其处理程序产品
CN1756150A (zh) 信息管理仪器、信息管理方法和程序
CN1788263A (zh) 登录系统和方法
CN101044490A (zh) 将光盘用作智能密钥装置的方法和系统
CN1829144A (zh) 加密通信系统及方法
CN1581771A (zh) 验证系统、服务器和验证方法及程序
CN1758590A (zh) 信息处理装置、信息处理方法和程序
CN1764883A (zh) 数据保护管理装置和数据保护管理方法
CN1969501A (zh) 安全地产生共享密钥的系统和方法
CN1496628A (zh) 内容分配系统
CN1681238A (zh) 用于加密通信的密钥分配方法及系统
CN1942960A (zh) 内容再现装置和内容再现方法
CN1514616A (zh) 联合体环境中用户属性存储的用户登记方法和系统
CN1761317A (zh) 信息处理设备和信息处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1087861

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091014

Termination date: 20110305

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1087861

Country of ref document: HK