JP2004312197A - 通信装置、証明書発行装置及び通信システム - Google Patents

通信装置、証明書発行装置及び通信システム Download PDF

Info

Publication number
JP2004312197A
JP2004312197A JP2003100866A JP2003100866A JP2004312197A JP 2004312197 A JP2004312197 A JP 2004312197A JP 2003100866 A JP2003100866 A JP 2003100866A JP 2003100866 A JP2003100866 A JP 2003100866A JP 2004312197 A JP2004312197 A JP 2004312197A
Authority
JP
Japan
Prior art keywords
server
revocation
certificate
server certificate
unit
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.)
Pending
Application number
JP2003100866A
Other languages
English (en)
Inventor
信二 ▲浜▼井
Shinji Hamai
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
Priority to JP2003100866A priority Critical patent/JP2004312197A/ja
Priority to EP04717858A priority patent/EP1616425A1/en
Priority to CNB2004800093354A priority patent/CN100550897C/zh
Priority to PCT/JP2004/002928 priority patent/WO2004091166A1/en
Priority to CA002513434A priority patent/CA2513434A1/en
Priority to KR1020057018743A priority patent/KR20060006910A/ko
Priority to US10/541,215 priority patent/US20060155855A1/en
Priority to TW093108891A priority patent/TW200503501A/zh
Publication of JP2004312197A publication Critical patent/JP2004312197A/ja
Pending 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は、サーバ証明書75の有効性を判断する基準となる情報である失効番号を保持するリポジトリ20から、失効番号を取得する失効番号検証部435と、取得された失効番号を記憶する失効番号蓄積部436と、サーバ証明書75を識別する識別番号をサーバ証明書75から読み出す証明書シリアル抽出部437と、読み出された識別番号と失効番号蓄積部436に記憶されている失効番号とを比較することによってサーバ証明書75の有効性を判断する失効判定部438と、サーバ証明書75が有効であると判断された場合に、アプリケーションサーバ30aとの通信を確立し、サーバ証明書75が有効でないと判断された場合に、アプリケーションサーバ30aとの通信を確立しない通信部420とを備える。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、通信装置、証明書発行装置及び通信システム等に関し、通信時においてサーバ証明書を用いてサーバ認証を行う通信装置、証明書発行装置及び通信システム等に関する。
【0002】
【従来の技術】
インターネットにおけるサーバ・クライアント間の通信時における盗聴、サーバなりすましに対抗する技術としてSSL(Secure Socket Layer)が特許文献1に、SSLを改良したTLS(Transport Layer Security)が特許文献2に記載されている(以下総称してSSLと呼ぶ)。
【0003】
図15は、SSL通信時における通信システムのシステム構成を示すブロック図である。
【0004】
通信システムは、認証局(CA)が運営するサーバ証明書作成装置1000及びリポジトリ2000と、アプリケーション提供者が使用する複数のアプリケーションサーバ3000a〜3000kと、ユーザが使用する複数の端末4000a〜4000nとから構成される。リポジトリ2000、各アプリケーションサーバ3000a〜3000k及び各端末4000a〜4000nは、インターネット5000に接続されている。
【0005】
サーバ証明書作成装置1000は、各端末4000a〜4000nに対してCA証明書6000を発行したり、アプリケーションサーバ3000a〜3000kに対してサーバ証明書7000を発行したり、リポジトリ2000に対してサーバ証明書無効化リスト(以下、「CRL」とも記す。)8000を配信したりするコンピュータ装置である。
【0006】
リポジトリ2000は、配信を要求した端末4000a〜4000nに対してCRL8000を配信するコンピュータ装置であり、サーバ証明書作成装置1000から配信されてきたCRL8000を蓄積するCRL蓄積部2100と、各端末4000a〜4000nからの配信要求を受け付けて、CRL蓄積部2100に蓄積されているCRL8000を配信を要求した端末4000a〜4000nに対して送信する通信部2200とを備える。
【0007】
各アプリケーションサーバ3000a〜3000kは、SSL通信時に通信を要求した端末4000a〜4000nに対してサーバ証明書7000を配信するコンピュータ装置であり、サーバ部3100と、サーバ証明書蓄積部3200と、通信部3300とを備える。
【0008】
各端末4000a〜4000nは、クライアント部4100と、CA証明書蓄積部4210及びCRL蓄積部4220を有するサーバ証明書検証部4200と、時計4300と、通信部4400とを備える。
【0009】
端末4000a〜4000nがアプリケーションサーバ3000a〜3000kと通信を行うまえにあらかじめ認証局はサーバ証明書作成装置1000でサーバ証明書を発行し、各アプリケーションサーバ3000a〜3000kにサーバ証明書7000を配布する。アプリケーションサーバ3000a〜3000kは配布されたサーバ証明書7000をサーバ証明書蓄積部3200に蓄積する。
【0010】
また、サーバ証明書7000を署名するCAの秘密鍵のペアとなるCAの公開鍵を含むCA証明書6000を端末4000a〜4000nに配布し、端末4000a〜4000nはCA証明書6000をCA証明書蓄積部4210に蓄積する。
【0011】
一方、認証局は、サーバ証明書7000の無効を調査し、無効と判断すればサーバ証明書作成装置1000でそのサーバ証明書7000のシリアルをリストに加えた新たなCRL8000を作成し、リポジトリ2000に配布する。
【0012】
リポジトリ2000は、CRL蓄積部2100にCRL8000を蓄積する。端末4000a〜4000nは、定期的にリポジトリ2000の通信部2200にCRL8000の配信を要求する。
【0013】
端末4000a〜4000nからの要求に応じてCRL8000を端末4000a〜4000nに配布する。リポジトリ2000はCRL蓄積部2100からCRL8000を取り出し、CRL8000を通信部2200から端末4000a〜4000nの通信部4400に送信する。端末4000a〜4000nは受信したCRL8000をCA証明書蓄積部4210に保管する。
【0014】
図16は、図15に示されるサーバ証明書7000の最小限の構成例を示す図である。なお、SSLではサーバ証明書としてx509形式が使用される。
【0015】
サーバ証明書7000は、バージョン7001と、シリアル7002と、署名アルゴリズム7003と、発行者7004と、有効期間7005と、名前7006と、公開鍵7007と、署名7008とから構成される。
【0016】
バージョン7001は、x509のバージョンを示す。シリアル7002は、発行者によってサーバ証明書に付与されるユニークな番号である。署名アルゴリズム7003は、発行者が署名する際のアルゴリズムを示す。発行者7004は、このサーバ証明書を発行した認証局の名前である。有効期間7005は、サーバ証明書が有効な期間を示す。名前7006は、サーバ証明書の発行先の名前である。公開鍵7007は、サーバの公開鍵である。署名7008は、このサーバ証明書の署名を除く部分に対して認証局が認証局のCA秘密鍵を用いて署名した署名である。
【0017】
図17は、図15に示されるCRL8000の最小限の構成を示す図である。CRL8000は、バージョン8001と、署名アルゴリズム8002と、発行者8003と、更新時間8004と、次回更新時間8005と、失効証明書8006と、署名アルゴリズム8007と、署名8008とから構成される。
【0018】
バージョン8001は、失効証明書リストのバージョンである。署名アルゴリズム8002は、発行者が署名した際のアルゴリズムを示す。発行者8003は、CRL8000の発行者である認証局の名前である。更新時間8004は、この失効証明書リストの発行された時間であり、次回更新時間8005は、次に更新する予定時間である。失効証明書8006は、失効したサーバ証明書のシリアル8006aとその失効時間8006bのリストである。認証局が発行者の名前で発行したサーバ証明書のうち、認証局が失効したと判断したサーバ証明書のシリアルがシリアル8006aにその失効した時間8006bとともに記載される。署名アルゴリズム8007は、発行者が署名した際のアルゴリズムを示す。署名8008は、CRL8000の署名を除く部分に対して認証局がCA秘密鍵を用いて署名した署名である。
【0019】
次いで、端末4000a〜4000n及びアプリケーションサーバ3000a〜3000k間で暗号化せずに通信を行う場合について説明する。
【0020】
図18は、暗号化せずに通信を行う場合のシーケンス図である。なおここでは、端末4000aとアプリケーションサーバ3000aとの間で行われた場合をその代表例として説明する。
【0021】
端末4000aのクライアント部4100は、アプリケーションサーバ3000aに対してリクエスト1を送るように通信部4400に指示をする(S801)。通信部4400は、アプリケーションサーバ3000aの通信部3300に対してリクエスト1を送信する(S802)。
【0022】
アプリケーションサーバ3000aの通信部3300は、受信したリクエスト1をサーバ部3100に出力する(S803)。サーバ部3100はリクエスト1を処理してレスポンス1を生成し、端末4000aに送るよう通信部3300に指示する(S804)。通信部3300は、端末4000aの通信部4400にレスポンス1を送信する(S805)。
【0023】
端末4000aの通信部4400は、レスポンス1をクライアント部4100に出力する(S806)。
【0024】
このようなシーケンスでリクエスト1、レスポンス1が暗号化されずに通信が行われる。
【0025】
次に端末4000a〜4000n及びアプリケーションサーバ3000a〜3000k間で暗号化して通信を行う場合について説明する。
【0026】
図19は、暗号化して通信を行う場合のシーケンス図である。なおここでは、端末4000aとアプリケーションサーバ3000aとの間で行われた場合をその代表例として説明する。
【0027】
端末4000aのクライアント部4100は、リクエスト2を暗号化してアプリケーションサーバ3000aに送るよう通信部4400に指示を行う(S900)。通信部4400は、共有鍵の種のひとつとなるクライアント乱数と通信部4400が処理できる暗号の種類を含んだClientHelloパケットをアプリケーションサーバ3000aの通信部3300に送信し、SSLのハンドシェークを開始する(S901)。
【0028】
アプリケーションサーバ3000aの通信部3300は、ClientHelloパケットから暗号の種類を決定し、共有鍵の種の一つとなるサーバ乱数とこの通信を一意に特定するセッションIDを生成し、決定した暗号の種類とサーバ乱数とセッションIDをServerHelloパケットで送り(S902)、サーバ証明書蓄積部3200からサーバ証明書を取り出し(S903)、サーバ証明書7000をCertificateパケットとして端末4000aの通信部4400に送信し(S904)、さらにServerHelloDoneパケットを通信部4400に送る(S907)。
【0029】
端末4000aの通信部4400は、Certificateパケットからサーバ証明書7000を取り出し、サーバ証明書検証部4200に送る(S905)。サーバ証明書検証部4200は、サーバ証明書が不正でないか検証し、検証結果を通信部4400に通知する(S906)。サーバ証明書が不正であれば、通信部4400は、アラートパケットをアプリケーションサーバ3000aの通信部3300に送信して通信を切断し、クライアント部4100にエラーを返す。これに対して、サーバ証明書が不正でない場合には、通信部4400は、暗号化の共有鍵を計算するためのプリマスターシークレットを作成して、サーバ証明書7000に含まれるサーバ公開鍵で暗号化し、ServerHelloDoneパケットの到着後に暗号化されたプリマスターシークレットを含むClientKeyExchangeパケットをアプリケーションサーバ3000aの通信部3300に送信し(S908)、さらにChangeCipherSpecパケットを通信部3300に送信する(S909)。ChangeCipherSpecパケットは、暗号化の開始を示すパケットである。通信部4400は、クライアント乱数とサーバ乱数とプリマスターシークレットから暗号化に使用する共通鍵Cを作成し、ハンドシェークの終了を示すFinishedパケットを作成した共通鍵Cで暗号化してアプリケーションサーバ3000aの通信部3300に送信する(S910)。
【0030】
アプリケーションサーバ3000aの通信部3300は、ClientKeyExchangeから暗号化されたプリマスターシークレットを取り出し、サーバ秘密鍵を用いてプリマスターシークレットに復号し、サーバ乱数、クライアント乱数とともに暗号化に使用する共通鍵Dを作成する。SSLのハンドシェークが正常に行われた場合、通信部3300の持つ共通鍵Cと通信部4400の持つ共通鍵Dは同一となる。通信部3300は、受信したFinishedパケットを共通鍵Dで復号し、正常に復号できればFinishパケットを暗号化して端末4000aの通信部4400に送信する(S911)。このFinished以降の通信は、すべて暗号化して行われる。
【0031】
端末4000aの通信部4400は、受信したFinishedパケットを復号し、正常に復号できれば、リクエスト2を暗号化してアプリケーションサーバ3000aの通信部3300に送付する(S912)。
【0032】
アプリケーションサーバ3000aの通信部3300は、リクエスト2を復号し、サーバ部3100に送る(S913)。サーバ部3100は、リクエスト2を処理してレスポンス2を生成し、端末4000a〜4000naに送るよう通信部3300に指示する(S914)。通信部3300は、端末4000aの通信部4400にレスポンス2を暗号化して送信する(S915)。
【0033】
端末4000aの通信部4400は、レスポンス2を復号してクライアント部4100に出力する(S916)。
以上のように暗号化を行い通信する。
【0034】
次いで、サーバ証明書検証部4200が行う検証について説明する。
図20は、サーバ証明書検証部4200が行うサーバ証明書7000の検証動作を示すフローチャートである。
【0035】
サーバ証明書検証部4200は、受信したサーバ証明書7000から有効期間7005を取り出し、また時計4300から現在時刻を取得する(S9051)。次いでサーバ証明書検証部4200は、有効期間7005の始期及び終期と現在時間をそれぞれ比較し、現在時間がサーバ証明書の有効期間7005でなければ期限外のエラーコードを通信部4400に通知して検証を終了する(S9057)。
【0036】
これに対して現在時間がサーバ証明書の有効期間7005内であれば、サーバ証明書7000の発行者7004を取り出し、さらに保管しているCA証明書蓄積部4210から、発行者7004のCA証明書6000を検索する。発行者のCA証明書6000があればそのCA証明書6000からCAの公開鍵を取り出し、CAの公開鍵を用いてサーバ証明書7000の署名7008のチェックを行う。署名7008が不正であれば、署名の検証エラーのエラーコードを通信部4400に通知して検証を終了する(S9057)。
【0037】
署名(1208)が正しければ、サーバ証明書検証部4200は、サーバ証明書7000からシリアル7002を取り出す。そしてCRL蓄積部4220からCRL8000を取り出し、取り出したシリアルがCRL8000に含まれているかどうかをチェックする。もし含まれていればそのサーバ証明書は失効していると判断し、失効のエラーコードを通信部4400に通知して検証を終了する(S9057)。もし含まれていないならばそのサーバ証明書は正しいと判断して通信部4400に正常終了を通知する。
【0038】
以上のように端末4000a〜4000nはアプリケーションサーバ3000と通信する際にSSLを用いた暗号化通信を行い、盗聴とサーバのなりすましを防止する。
【0039】
【特許文献1】
U.S.Patent 5657390
【0040】
【特許文献2】
RFC2246(IETF)
【0041】
【発明が解決しようとする課題】
しかしながら、従来の方法では次の点に課題がある。
【0042】
まず、従来の通信システムではCRLの大きさが固定でなく、サーバ証明書の失効が増えるとともにCRLのサイズが非常に大きくなる(数十〜数百kバイト)。このことから端末においてCRLを蓄積する容量として大きなものを用意しなければならないという課題がある。また、CRLが大きくなった場合、サーバ証明書の検証時にサーバ証明書のシリアルがCRLのリストに含まれているかどうか検索する時間が大きくなるという課題がある。また、CRLが大きくなった場合、端末がリポジトリからCRLを取得する際の通信路の容量及びリポジトリの処理能力に大きなものが必要となるという課題がある。
【0043】
さらにサーバ証明書の有効期間検証の際に現在時間と比較するために正確な時計が必要であるという課題がある。
【0044】
すなわち、サーバ装置の正当性を示すサーバ証明書に基づいて当該サーバ装置と通信するため、従来のシステムでは端末(通信装置)などに容量の大きなメモリや、精度の高い時計、通信インターフェースなど十分なリソースが必要であった。
【0045】
本発明は、上述の技術的課題を解決し、簡単なリソースでサーバ装置の正当性を示すサーバ証明書に基づいて当該サーバ装置と通信することができる通信装置、証明書発行装置及び通信システム等を提供することを目的とする。
【0046】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る通信装置は、サーバ装置の正当性を示すサーバ証明書に基づいて前記サーバ装置と通信する通信装置であって、前記サーバ証明書の有効性を判断する基準となる情報である失効番号を保持するリポジトリ装置から、前記失効番号を取得する失効番号取得手段と、取得された失効番号を記憶する失効番号記憶手段と、前記サーバ証明書を識別する識別番号を前記サーバ証明書から読み出す識別番号読み出し手段と、読み出された識別番号と前記失効番号記憶手段に記憶されている失効番号とを比較することによって前記サーバ証明書の有効性を判断する証明書判断手段と、前記サーバ証明書が有効であると判断された場合に、前記サーバ装置との通信を確立し、前記サーバ証明書が有効でないと判断された場合に、前記サーバ装置との通信を確立しない通信制御手段とを備えることを特徴とする。
【0047】
具体的には、前記有効性判断手段は、前記識別番号が前記失効番号と同じか大きい場合に、前記サーバ証明書が有効であると判断することを特徴としてもよい。
【0048】
これにより、従来のようにサーバ証明書の有効期限が過ぎたか否かを時計を用いて判断したり、従来のようにリポジトリからサイズの大きなCRLを取得して、たくさんのリストを記憶し、このたくさんのリストの中にサーバ証明書の識別番号が載っているか否か検索したりする必要がなくなり、通信装置は、リポジトリから失効番号を1つだけ取得し、これを記憶している1つの失効番号で、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。したがって、通信装置及びリポジトリのメモリ容量などのリソースが簡単で済み、簡単なリソースでサーバ装置の正当性を示すサーバ証明書に基づいて当該サーバ装置と通信することができる。
【0049】
また、前記通信装置は、さらに、前記失効番号の有効性を判断する失効番号判断手段を備え、前記証明書判断手段は、前記失効番号判断手段によって前記失効番号が有効であると判断された場合に、前記失効番号を用いて、前記サーバ証明書の有効性を判断することを特徴としてもよい。具体的には、前記失効番号判断手段は、前記リポジトリ装置の正当性を示すリポジトリ証明書の識別番号と前記失効番号記憶手段に記憶されている失効番号とを比較することによって前記失効番号の有効性を判断することを特徴とすることができ、また、前記失効番号判断手段は、前記識別番号が前記失効番号と同じか大きい場合に、前記リポジトリ装置が有効であると判断することを特徴とすることができる。
【0050】
これにより、通信装置は、サーバ装置との通信と同じ手順でリポジトリ証明書を取得し、リポジトリ証明書を用いてリポジトリを認証したり、リポジトリが正当である場合に失効番号を暗号通信で取得したり、正常な失効番号だけを取得して、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。
【0051】
また、前記失効番号判断手段は、前記失効番号取得手段によって取得された失効番号と前記失効番号記憶手段に記憶されている失効番号とを比較することによって前記失効番号取得手段によって取得された失効番号の有効性を判断することを特徴とすることができ、具体的には、前記失効番号判断手段は、前記失効番号取得手段によって取得された失効番号が前記失効番号記憶手段に記憶されている失効番号と同じか大きい場合に、前記失効番号が有効であると判断することを特徴とする。
【0052】
これにより、通信装置は、リポジトリが正当である場合に失効番号を暗号なしの通信で取得したり、正常な失効番号だけを取得して、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。
【0053】
また、サーバ装置の正当性を示すサーバ証明書を発行する証明書発行装置であって、サーバ証明書の有効性を判断する基準となる情報である失効番号を記憶する失効番号記憶手段と、新たなサーバ証明書を発行する発行手段とを備え、前記発行手段は、前記失効番号記憶手段に記憶されている失効番号と同じか大きい値を示す識別番号を含ませて、前記サーバ証明書を発行することを特徴とする。
【0054】
具体的には、前記証明書発行装置は、さらに、失効させるサーバ証明書の識別番号の通知を取得すると、前記失効番号記憶手段に記憶されている失効番号を前記識別番号よりも大きい番号に更新する失効番号更新手段を備えることを特徴とすることができる。
【0055】
これにより、従来のようにサーバ証明書の有効期限が過ぎたか否かを時計を用いて判断させたり、従来のようにリポジトリからサイズの大きなCRLを取得させたりして、たくさんのリストを記憶させたりし、このたくさんのリストの中にサーバ証明書の識別番号が載っているか否か検索させたりする必要がなくなり、通信装置は、リポジトリから失効番号を1つだけ取得し、これを記憶している1つの失効番号で、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。したがって、通信装置及びリポジトリのメモリ容量などのリソースが簡単で済み、簡単なリソースでサーバ装置の正当性を示すサーバ証明書に基づいて当該サーバ装置と通信することができる。
【0056】
また、前記証明書発行装置は、さらに、サーバ証明書の有効期限が近づいたサーバ証明書の識別番号を特定し、前記失効番号記憶手段に記憶されている失効番号を前記識別番号よりも大きい番号に更新する失効番号更新手段を備えることを特徴とする。
【0057】
これにより、有効期間が近づいたサーバー証明書を失効させることができる。
【0058】
また、前記発行手段は、前記失効番号更新手段によって失効番号が更新された場合に、更新後の失効番号よりも小さな値の識別番号をもつサーバ証明書に対応するサーバ装置に対して、新たなサーバ証明書を発行することを特徴とする。
【0059】
これによりサーバ装置は、新たなサーバ証明書を用いて認証を受けることができる。
【0060】
なお、本発明は、このような通信装置、証明書発行装置として実現することができるだけでなく、このサーバ装置と、サーバ装置の正当性を示すサーバ証明書を発行する証明書発行装置と、前記サーバ証明書に基づいて前記サーバ装置と通信する通信装置とから構成される通信システムとして実現したり、このような通信装置、証明書発行装置が備える特徴的な手段をステップとする通信方法、証明書発行方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【0061】
【発明の実施の形態】
(実施の形態1)
以下、本発明の実施の形態1に係る通信システムついて説明する。
【0062】
図1は、本発明の実施の形態1に係る通信システム1の全体構成を示すブロック図である。
【0063】
この通信システム1は、公開鍵暗号方式を使って安全な通信を行うためのインフラPKI(Public Key Infrastructure)を提供するために、CA証明書60、サーバ証明書75及び失効情報90を基本のツールとして、アプリケーションサーバを認証するシステムであり、認証局(以下、「CA」とも記す。)が使用するサーバ証明書作成装置10及びリポジトリ20と、映像コンテンツなどのアプリケーション提供者が使用する複数のアプリケーションサーバ30a〜30kと、ユーザが使用する複数の端末40a〜40nと、リポジトリ20、アプリケーションサーバ30a〜30k及び端末40a〜40nを接続するインターネット50とから構成される。なお、各アプリケーションサーバ30a〜30kが同じ構成であるのでの同図においてはアプリケーションサーバ30aの詳細構成だけが図示されており、また端末40a〜40nが同じ構成であるので同図においてはアプリケーションサーバ30aの詳細構成だけが図示されている。
【0064】
サーバ証明書作成装置10は、ワークステーション等のコンピュータ装置であり、通信システム1における基本のツールを提供する基本的なサーバとして機能する。具体的には、サーバ証明書作成装置10は、端末40a〜40nに対してCA証明書60を予め発行したり、アプリケーションサーバ30a〜30kからの証明書要求(Certificate Signing Request、以下、「CSR」とも記す。)70に応じて、「0」から「1」ずつ単調に増加され、かつこのシステムにおいてユニークなシリアルを含み、かつ各アプリケーションサーバ30a〜30kに専用のサーバ証明書75を発行したり、サーバ証明書75の有効期限が近づいたような場合においてサーバ証明書75を失効させるとき、該当するアプリケーションサーバに対して証明書失効(証明書更新要求)を予め通知したり、「0」から必要数単調に増加され、サーバ証明書75が失効しているか否かを判断するためのシリアル(以下、「失効シリアル」あるいは「失効番号」とも記す。)を含む失効情報90をリポジトリ20に送信したりする。
【0065】
なお、CA証明書60は、例えばこの証明書の発行者と、署名アルゴリズムと、この証明書の有効期間(例えば、10年)と、CAの公開鍵(CA公開鍵)と、このCA公開鍵とペアのCAの秘密鍵(CA秘密鍵)による署名とが含められて構成されている。また、CSR70は、CSRを発したサーバの名前と、そのサーバの公開鍵(サーバ公開鍵)とが含められて構成されている。
【0066】
リポジトリ20は、ワークステーション等のコンピュータ装置であり、サーバ証明書作成装置10から通知された最新の失効情報90を蓄積し、インターネット50を介して端末40a〜40nから失効情報90の要求(リクエスト)があると、要求した端末40a〜40nに失効情報90をレスポンスとして暗号なしの通信で配信する。
【0067】
アプリケーションサーバ30a〜30kは、ワークステーション等のコンピュータ装置であり、サーバ証明書作成装置10から証明書失効通知があった場合など、必要に応じてサーバの名前及びそのサーバの公開鍵を含むCSR70をサーバ証明書作成装置10に対して行い、サーバ証明書作成装置10が発行した自己専用のサーバ証明書75を保持する。そして、アプリケーションサーバ30a〜30kは、端末40a〜40nからアプリケーションのダウンロードなどの要求(リクエスト)があった際にSSLの通信プロトコルに従ってサーバ証明書75を送信し、認証を受けた後セッション鍵(共有鍵)を用いて暗号通信で要求されたアプリケーションをレスポンスとして配信する。なお、暗号化せずに通信を行う場合は、従来と同様の手順が用いられる。
【0068】
端末40a〜40nは、ネット家電(例えば、ビデオレコーダ)などのコンピュータ装置であり、サーバ証明書作成装置10が発行したCA証明書60を予め取得し、これを保持する。また、各端末40a〜40nは、リポジトリ20に対して定期的(例えば1月に1回)の通信部202に失効情報90の配信を要求し、配信されてきた失効情報90に含まれる最新の失効番号を保持する。そして、端末40a〜40nは、アプリケーションをダウンロードする際にSSLの通信プロトコルに従ってアプリケーションサーバ30a〜30kから送信されてきたサーバ証明書75と、予め保持するCA証明書60と、失効情報90の失効番号とに基づいてサーバを認証し、サーバ認証後セッション鍵を用いてリクエスト及びレスポンスを暗号通信する。
【0069】
これによって、リクエスト及びレスポンスの盗聴とを防止する。
【0070】
図2は、図1に示されるサーバ証明書75の構成例を示す図である。なお、このサーバ証明書75においても、従来と同様、サーバ証明書としてx509形式が使用される。
【0071】
このサーバ証明書75は、バージョン751と、シリアル752と、署名アルゴリズム753と、発行者754と、有効期間755と、サーバの名前756と、サーバ公開鍵757と、署名758との各フィールドから構成される。
【0072】
バージョン751は、x509のバージョンを示し、例えば「2」が格納される。シリアル752は、発行者によってサーバ証明書に付与されるユニークな番号であり、例えば「0x0011」(図示例では2バイト)が格納される。署名アルゴリズム753は、発行者が署名する際のアルゴリズムを示す。発行者754は、このサーバ証明書を発行した認証局の名前であり、例えば「Panasign」が格納される。有効期間755は、サーバ証明書が有効な期間を示し、例えばこのサーバ証明書75が発行された時刻(有効期間の始期、2003年、4月1日…)と、13月後の時刻(有効期間の終期、2004年、5月1日…)とが格納される。名前756は、サーバ証明書の発行先の名前であり、例えば「針ウド映画」が格納される。サーバ公開鍵757は、サーバの公開鍵であり、例えば針ウド映画の公開鍵、Pubk_11が格納される。署名758は、このサーバ証明書の署名を除く部分の特徴、いわゆる指紋に対する署名であり、例えばサーバの名前針ウド映画とサーバ公開鍵Pubk_11との連結を認証局のCA秘密鍵で暗号化した値が格納される。
【0073】
このように構成されたサーバ証明書75をアプリケーションサーバ30a〜30kからもらった端末40a〜40nは、署名758を認証局のCA公開鍵で復号化することによって、サーバ証明書75が認証局によって正規に発行されたものかを検証したりすることが可能となる。
【0074】
図3は、図1に示される失効情報90の構成例を示す図である。
【0075】
図3に示されるように失効情報90は、発行者91と、失効番号92と、署名93の各フィールドから構成される。
【0076】
発行者91は、失効情報90の発行者である認証局CAの名称であって、失効情報90が対象とするサーバ証明書75の発行者754と同一であり、Panasignが格納される。失効番号92は、発行者が発行しているサーバ証明書75の内、その時点で有効な最小のシリアルであり、例えば、0x0011(図示例では2バイト)だけが格納される。署名93は、このサーバ証明書の署名を除く部分の特徴、発行者91及び失効番号92に対する署名であり、例えば発行者91と失効番号92との連結をCA秘密鍵で暗号化した値が格納される。
【0077】
このように構成された失効情報90をリポジトリ20からもらった端末40a〜40nは、署名93を認証局のCA公開鍵で復号化することによって、失効情報90が認証局によって正規に発行されたものかを検証したり、アプリケーションサーバ30a〜30kからもらったサーバ証明書75のシリアルと失効番号92との大小関係とからそのサーバ証明書75が失効しているか否かを判断したりすることが可能となる。
【0078】
次いで、サーバ証明書作成装置10、リポジトリ20、アプリケーションサーバ30a〜30k及び端末40a〜40nの各構成を順次さらに詳細に説明する。
【0079】
図1に示されるようにサーバ証明書作成装置10は、鍵ペア作成部101と、CA証明書作成部102と、CA秘密鍵蓄積部103と、時計104と、シリアル蓄積部105と、CSR受信部106と、サーバ証明書組立部107と、署名部108と、サーバ証明書送信部109と、サーバ証明書履歴蓄積部110と、サーバ証明書期限検索部111と、サーバ証明書失効通知部112と、失効証明書検索部113と、証明書失効通知部114と、失効番号蓄積部115と、失効情報署名部116と、失効情報通知部117等とを備える。
【0080】
鍵ペア作成部101は、サーバ証明書75の署名を行うためのCA秘密鍵と、署名の検証を行うためのCA公開鍵とを作成する。そして鍵ペア作成部101は、作成したCA公開鍵及びCA秘密鍵をCA証明書作成部102に出力し、CA秘密鍵をCA秘密鍵蓄積部103に出力する。
【0081】
CA証明書作成部102は、鍵ペア作成部101で作成されたCA公開鍵などと、鍵ペア作成部101で作成されたCA秘密鍵で署名とでCA証明書60を作成し、端末40a〜40nに送る。
【0082】
CA秘密鍵蓄積部103は、鍵ペア作成部101で作成されたCA秘密鍵を蓄積する。
時計104は、現在時刻を正確に計時する。
【0083】
シリアル蓄積部105は、次に発行するサーバ証明書75に付与されるべきシリアルを蓄積する。具体的には、サーバ証明書作成装置10でシリアル「4」のサーバ証明書75まで既に発行している場合には、シリアル蓄積部105は、シリアル「5」を蓄積する。なお、シリアル蓄積部105が蓄積するシリアルの初期値は「0」である。
【0084】
CSR受信部106は、各アプリケーションサーバ30a〜30kからCSR70を受信すると、受信したCSR70をサーバ証明書組立部107に出力する。なお、CSR70は、サーバの名前及びサーバ公開鍵を含めて構成される。
【0085】
サーバ証明書組立部107は、サーバ証明書75に必要な情報を組み立てる。具体的には、サーバ証明書組立部107は、シリアル蓄積部105から読み出したシリアルをシリアル752に設定し、また時計104から取得した現在時刻を有効期間755の始期に設定し、現在時刻から13ヶ月後の時刻を有効期間755の終期、すなわち有効期限に設定する。そして、サーバ証明書組立部107は、CSR70に含まれる名前及びサーバ公開鍵を名前756及びサーバ公開鍵757にそれぞれ設定し、予め定められたバージョン、発行者、署名アルゴリズムをバージョン751、発行者754、署名アルゴリズム753にそれぞれ設定し、サーバ証明書75に必要な情報を署名部108に出力する。
【0086】
そして、サーバ証明書75に必要な情報を組み立てが終わると、サーバ証明書組立部107は、サーバ証明書75に必要な情報の内、名前756、シリアル752、有効期間755の終期(有効期限)を出力し、サーバ証明書履歴蓄積部110のサーバ証明書履歴テーブル110aに蓄積させる。さらに、サーバ証明書組立部107は、発行するサーバ証明書75のシリアルに1加えたもの(例えば、新規発行されるサーバ証明書75のシリアルが「0x0010」であれば「0x0011」)を次に付与すべきシリアルとしてシリアル蓄積部105に蓄積させる。
【0087】
署名部108は、CA秘密鍵蓄積部103からCA秘密鍵を取り出し、サーバ証明書組立部107から出力されたバージョン751、シリアル752、署名アルゴリズム753、発行者754、有効期間755、名前756、サーバ公開鍵757に対して取り出したCA秘密鍵を関与させること署名758を作成し、サーバ証明書75を完成させた後、このサーバ証明書75をサーバ証明書送信部109に出力する。
【0088】
サーバ証明書送信部109は、署名部108から出力されたサーバ証明書75をCSR70を発したアプリケーションサーバ30a〜30kに送信する。この際、サーバ証明書送信部109は、新たなサーバ証明書75の送信を失効証明書検索部113に通知する。
【0089】
サーバ証明書履歴蓄積部110は、サーバ証明書組立部107がサーバ証明書75を組み立てるごとに、そのサーバの名前、サーバ証明書のシリアル、有効期限をサーバ証明書履歴テーブル110aに順次蓄積する。
【0090】
図4は、サーバ証明書履歴蓄積部110が蓄積するサーバ証明書履歴テーブル110aの構成例を示す図である。
【0091】
図4に示されるようにサーバ証明書履歴テーブル110aは、この通信システム1において現在有効なサーバ証明書75におけるサーバの名前1101、サーバ証明書のシリアル1102及び有効期限1103をそれぞれ格納するフィールドと、複数のレコードとからなる。
【0092】
このように構成されたサーバ証明書履歴テーブル110aを用いると、サーバの名前1101でサーバ証明書75を保持するアプリケーションサーバ30a〜30kを特定したり、シリアル1102で現在有効なサーバ証明書75のシリアルの最小値(Se min、図示例では「0x0011」)やシリアルの最大値(Se max、図示例では「0x0110」)を特定したり、有効期限の到来によるサーバ証明書の失効等を管理したりすることができる。
【0093】
サーバ証明書期限検索部111は、定期的にサーバ証明書履歴蓄積部110に蓄積されているサーバ証明書履歴テーブル110aの有効期限を参照し、有効期限が1月以内に迫ったサーバ証明書75を検索する。具体的には、サーバ証明書期限検索部111は、時計104から現在時刻を読み取り、現在時刻から1ヶ月後までの間に有効期限が切れるサーバ証明書75を検索する。そしてもし現在時刻から1ヵ月後までの間に有効期限が切れるサーバ証明書75が存在すれば、その有効期限が迫ったサーバ証明書75のシリアル(例えば、図4において針ウド映画と大波ゲームの有効期限が1月以内に迫っている場合には、大きな値を有する大波ゲームのシリアル「0x0012」)を実際に失効させるべきシリアルとして失効証明書検索部113に通知する。
【0094】
サーバ証明書失効通知部112は、失効させるサーバ証明書75のシリアルの入力を受け付けて、そのシリアルを失効証明書検索部113に通知する。すなわち、認証局では、アプリケーションサーバのサーバ証明書75の安全性を常にチェックしており、次の(1)〜(3)の場合等に、認証局はサーバ証明書失効通知部112から失効させるサーバ証明書75のシリアル(例えば、図4においてロボット調教師のサーバ証明書75を失効させる場合には、ロボット調教師のシリアル「0x0049」)を実際に失効させるべきシリアルとしてサーバ証明書失効通知部112から入力し、サーバ証明書75の失効を行う。
(1) アプリケーションサーバのサーバ秘密鍵が暴露された
(2) アプリケーションサーバの運用を停止した
(3) アプリケーションサーバの名前を変更した
【0095】
失効証明書検索部113は、サーバ証明書期限検索部111あるいはサーバ証明書失効通知部112から通知された失効させるべきシリアルと同じか、それより小さいシリアルをサーバ証明書履歴テーブル110aの中すべて列挙し、証明書失効通知部114にその名前をすべて通知する。そして、失効証明書検索部113は、列挙したシリアルに対してサーバ証明書75の更新がすべて終了した後に、失効させるべきシリアルの最大値に「1」加えたものに失効番号を更新し、失効番号蓄積部115に蓄積する。また、失効証明書検索部113は、列挙したシリアルに対してサーバ証明書75の更新がすべて終了した後に、サーバ証明書履歴蓄積部110から列挙したシリアルのサーバ証明書75に関する情報を削除する。
【0096】
証明書失効通知部114は、失効証明書検索部113から通知された名前のアプリケーションサーバ30a〜30kに対してサーバ証明書75の更新要求を行う。アプリケーションサーバ30a〜30kはサーバ証明書75の更新要求に従ってサーバ証明書75を更新する。この際、サーバ証明書送信部109は、更新されたサーバ証明書75の送信を失効証明書検索部113に通知する。
【0097】
失効番号蓄積部115は、サーバ証明書送信部109から発行されたサーバ証明書75のシリアルの内、現在も有効な最も小さいシリアルを失効番号として蓄積する。なお、失効番号の初期値は「0」である。失効番号蓄積部115に蓄積された失効番号は、失効情報署名部116に送られる。
【0098】
失効情報署名部116は、失効情報90に必要な発行者91と、失効番号92と、署名93とで失効情報90を組み立てて、失効情報通知部117に出力する。なお、署名93は、ここでは発行者91及び失効番号92を連結したものをCA秘密鍵蓄積部103に蓄積されたCA秘密鍵で暗号化することで作成されている。
【0099】
失効情報通知部117は、失効情報90をリポジトリ20に通知する。
リポジトリ20は、失効情報蓄積部201と、通信部202とを備える。
【0100】
リポジトリ20の失効情報蓄積部201は、サーバ証明書作成装置10から失効情報90が送信されてくると、送信されてきた失効情報90を失効情報蓄積部201に蓄積する。
【0101】
通信部202は、上述の暗号なしのプロトコル等に従ってインターネット50を介して端末40a〜40nと通信するインターフェースであり、端末40a〜40nから失効情報90配信のリクエストがあった場合、失効情報蓄積部201に蓄積されている失効情報90をリクエストを発した端末40a〜40nに送信する。このとき、通信は暗号化する必要はなく、またリポジトリのサーバ認証も必要がない。
【0102】
アプリケーションサーバ30a〜30kは、鍵ペア作成部301と、CSR作成部302と、サーバ秘密鍵蓄積部303と、サーバ証明書蓄積部304と、アプリサーバ部305と、通信部306とを備える。
【0103】
鍵ペア作成部301は、アプリケーションサーバ30a〜30k設置時に、RSA暗号で暗号及び復号する時の鍵ペアであるサーバ公開鍵とサーバ秘密鍵を作成する。
【0104】
CSR作成部302は、認証局に対してサーバ証明書75を作成させる時の雛形、すなわちサーバ公開鍵とサーバの名前を含むCSR70を作成し、サーバ証明書作成装置10に送付する。
【0105】
サーバ秘密鍵蓄積部303は、鍵ペア作成部301が作成したサーバ秘密鍵を蓄積する。
【0106】
サーバ証明書蓄積部304は、サーバ証明書作成装置10から受信したサーバ証明書75を蓄積する。
【0107】
なお、サーバ証明書作成装置10からサーバ証明書75の更新要求があった場合には、鍵ペア作成部301は新しいサーバ公開鍵及びサーバ秘密鍵を作成し、設置時と同様にCSR作成部302は新しいサーバ公開鍵でCSR70を作成しサーバ証明書作成装置10にサーバ証明書75の作成を依頼し、サーバ証明書蓄積部304は新しいサーバ証明書75をサーバ証明書作成装置10から受け取り蓄積する。
【0108】
アプリサーバ部305は、通信部306を介して受信したリクエストを処理してレスポンスを作成し、作成したレスポンスを通信部306に出力する。
【0109】
通信部306は、上述の暗号化のためのプロトコル等に従ってインターネット50を介して端末40a〜40nと通信するインターフェースであり、端末40a〜40nから送信されてきたリクエストやコマンドを解析したり、その結果に応じてサーバ認証のためにサーバ証明書75をサーバ証明書蓄積部304から取り出し端末40a〜40nに送信したり、端末40a〜40nから受信した暗号の種類をサーバ秘密鍵蓄積部303に蓄積したサーバ秘密鍵で復号し、暗号化通信の共有鍵を作成したり、端末40a〜40nから暗号化した通信でリクエストを受けた場合、リクエストを復号してアプリサーバ部305に出力したり、アプリサーバ部305から依頼されたレスポンスを暗号化して端末40a〜40nに出力したりする。
【0110】
端末40a〜40nは、アプリケーションサーバ30a〜30kに対するリクエストを出力した、アプリケーションサーバ30a〜30kからのレスポンスを受信するアプリクライアント部410と、通信部420と、上記リクエスト及びレスポンスの送受信の前にアプリケーションサーバ30a〜30kから送られてくるサーバ証明書75を検証するサーバ証明書検証部430とを備える。
【0111】
通信部420は、上述の暗号化あるいは非暗号のプロトコル等に従ってインターネット50を介してアプリケーションサーバ30a〜30kやリポジトリ20と通信したりするインターフェースであり、アプリケーションサーバ30a〜30kから送信されてきたコマンドを解析したり、その結果に応じてサーバ証明書検証部430に処理を依頼したり、アプリクライアント部410やサーバ証明書検証部430から渡されたデータをアプリケーションサーバ30a〜30kに送信したり、サーバ証明書検証部430から渡されたデータをリポジトリ20に送信したり、リポジトリ20から失効情報90を受信したりする。
【0112】
具体的には、通信部420は、通信部306に対して暗号化通信の開始を要求する。また、通信部420は、通信部306からサーバ証明書75を受信し、受信したサーバ証明書75をサーバ証明書検証部430に出力する。そして通信部420は、サーバ証明書検証部430からサーバ証明書75の異常や失効を通知された場合、サーバ証明書75の異常を通信部306に通知して通信を切断し、エラーをアプリクライアント部410に通知する。また、通信部420は、サーバ証明書75の署名が正常であり、かつ、サーバ証明書75が失効されていないときは、プリマスタシークレットを作成し、サーバ証明書75に含まれるサーバ公開鍵を用いてプリマスタシークレットを暗号化して通信部306に送信する。また通信部420は、それまでの得たデータから暗号化通信の暗号鍵を作成する。そして以降の通信において暗号鍵を用いた暗号化通信を行う。さらに、通信部420は、リポジトリ20の通信部202に失効情報90の配信を要求し、リポジトリ20から受信した失効情報90を署名検証部434に出力する。
【0113】
サーバ証明書検証部430は、失効情報要求部431と、署名検証部432と、CA証明書蓄積部433と、署名検証部434と、失効番号検証部435と、失効番号蓄積部436と、証明書シリアル抽出部437と、失効判定部438等とからなる。
【0114】
失効情報要求部431は、定期的にリポジトリ20から失効情報90を取得するよう通信部420に要求する。
【0115】
署名検証部432は、通信部420からサーバ証明書75を受信すると、CA証明書蓄積部433からCA公開鍵を取り出し、サーバ証明書75の署名を検証し、署名が異常であれば通信部420に異常を通知する。
【0116】
CA証明書蓄積部433は、サーバ証明書作成装置10から入手したCA証明書60を、予め蓄積する。
【0117】
署名検証部434は、通信部420から失効情報90を受信すると、CA証明書蓄積部433からCA公開鍵を取り出し、失効情報90の署名の検証を行い、署名が正しければ失効番号を失効番号検証部435に出力する。
【0118】
失効番号検証部435は、失効番号蓄積部436から現在の失効番号を呼び出し、署名検証部434から入力された失効番号が現在の失効番号より大きい場合に限って入力された失効番号を新しい失効番号として失効番号蓄積部436に蓄積する。
【0119】
失効番号蓄積部436は、失効番号の初期値として「0」を予め記憶しており、失効番号検証部435から失効番号が出力されるごとにその時点の最新の失効番号を更新しつつ蓄積する。
【0120】
証明書シリアル抽出部437は、入力されたサーバ証明書75からシリアルを抽出し、失効判定部438に出力する。
【0121】
失効判定部438は、失効番号蓄積部436から失効番号を取り出し、抽出したシリアルと比較する。失効判定部438は抽出したシリアルが失効番号より小さい場合は、失効判定部438は、サーバ証明書75が失効していることを通信部420に通知する。
【0122】
次いで、サーバ証明書作成装置10、アプリケーションサーバ30a〜30k及び端末40a〜40nの動作を詳述する。
【0123】
図5は、サーバ証明書組立部107が行う証明書用シリアル設定処理の動作を示すフローチャートである。
【0124】
サーバ証明書組立部107は、まずサーバ証明書75に設定すべきシリアルSeの初期値として「0」を設定し(S11)、CSR受信部106を介してCSR70を受信するのを待つ(S12)。CSR70を受信すると(S12でYes)、サーバ証明書組立部107は、シリアル蓄積部105からシリアルSeを読み取り(S13)、時計104から読み取った現在時刻やCSR70等を用いてサーバ証明書を組み立て(S14)、組み立てたサーバ証明書を署名部108に出力した後、シリアル蓄積部105に蓄積させるシリアルSeを「1」インクリメントし(S15)、サーバ証明書の要部、名前、シリアル、有効期限をサーバ証明書履歴テーブル110aに蓄積させる(S16)。このような処理(S12〜S16)を繰り返すことにより、シリアルが単調増加するサーバ証明書75が順次発行されることになる。
【0125】
次いでサーバ証明書期限検索部111が行う証明書期限管理処理を説明する。
【0126】
図6は、サーバ証明書期限検索部111が行う証明書期限管理処理の動作を示すフローチャートである。なお、この処理は、所定の時間ごとに定期的に行われる。
【0127】
サーバ証明書期限検索部111は、まずサーバ証明書履歴テーブル110aのシリアルをサーチし、サーバ証明書履歴テーブル110aに格納されているシリアルの最小値Semin及びシリアルの最大値Semaxを取得し、有効期限の到来が早いシリアル、すなわちシリアルの最小値Seminをセットする(S21)。そして、サーバ証明書期限検索部111は、そのシリアルについて1月以内に有効期限が到来するか否か判断する(S22)。判断の結果到来する場合には(S22でYes)、サーバ証明書期限検索部111は、そのシリアルを実際に失効させるべきシリアルの最大値Seendにセットし、次のレコードの有効期限をサーチするためにシリアルSeを「1」インクリメントする(S23)。シリアルSeのインクリメントが終わると、サーバ証明書期限検索部111は、サーバ証明書履歴テーブル110aの最後のレコードのシリアルSemaxまですべて有効期限の到来をみたか判断する(S24)。最後のレコードまでみていなければ(S24でNo)、サーバ証明書期限検索部111は、ステップS22〜S24を繰り返し実行し、実際に失効させるべきシリアルの最大値Seendを順次取得する。
【0128】
判断の結果1月以内に有効期限が到来しない場合(S22でNo)、あるいは最後のレコードまでみた場合(S24でYes)には、サーバ証明書期限検索部111は、実際に失効させるべきシリアルの最大値Seendを失効証明書検索部113に通知する(S25)。
【0129】
このような処理を繰り返すことにより有効期限が到来するサーバ証明書75のシリアルが時々刻々失効証明書検索部113に通知される。
【0130】
次いで、失効証明書検索部113が行う有効期限到来による失効証明書検索処理を説明する。
【0131】
図7は、失効証明書検索部113が有効期限到来による失効証明書検索処理の動作を示すフローチャートである。なお、この処理は、所定の時間ごとに定期的に行われる。
【0132】
失効証明書検索部113は、サーバ証明書期限検索部111から実際に失効させるべきシリアルの最大値Seendの通知がくるのを待つ(S31)。実際に失効させるべきシリアルの最大値Seendの通知がくると(S31でYes)、失効証明書検索部113は、サーバ証明書履歴テーブル110aの最小のシリアルSeminからこのシリアルの最大値Seendまでのシリアルに対応するサーバの名前を証明書失効通知部114に通知する(S32)。これにより、証明書失効通知部114から各アプリケーションサーバ30a〜30kに失効通知80が送られ、この失効通知80を受けたアプリケーションサーバ30a〜30kがCSR70を送信し、これらのアプリケーションサーバ30a〜30kに単調に増加するシリアルが付されたサーバ証明書75が順次新たに発行されることになる。
【0133】
そして、失効証明書検索部113は、シリアルの値が増加された新たなサーバ証明書が全て発行されるのを待つ(S33)。
【0134】
サーバ証明書75を発行し終わると(S33でYes)、失効証明書検索部113は、シリアルSemin〜Seendのレコードを全て削除し(S34)、実際に失効させるべきシリアルの最大値Seendに「1」加えた値を失効シリアルとして失効番号蓄積部115に格納する(S32)。
【0135】
このような処理を繰り返すことにより、有効期限を迎えるサーバ証明書75は順次失効の対処とされ、この失効の対象とされたサーバ証明書75を有するアプリケーションサーバ30a〜30kはシリアル番号が増加された新たなサーバ証明書75に更新することになる。
【0136】
次いで、失効証明書検索部113が行うサーバ証明書失効通知部112からの失効通知による失効検索処理を説明する。
【0137】
図8は、失効証明書検索部113が行う失効通知による失効証明書検索処理の動作を示すフローチャートである。なお、この処理は、所定の時間ごとに定期的に行われる。
【0138】
失効証明書検索部113は、サーバ証明書失効通知部112から失効通知がくるのを待つ(S41)。失効通知があると、失効証明書検索部113は、通知されたシリアルSeを特定し(S42)、サーバ証明書履歴テーブル110aの最小のシリアルSeminからこの特定されたシリアルSeまでのシリアルに対応するサーバの名前を証明書失効通知部114に通知する(S43)。これにより、証明書失効通知部114から各アプリケーションサーバ30a〜30kに失効通知80が送られ、この失効通知80を受けたアプリケーションサーバ30a〜30kがCSR70を送信し、これらのアプリケーションサーバ30a〜30kに単調に増加するシリアルが付されたサーバ証明書75が順次新たに発行されることになる。
【0139】
そして、失効証明書検索部113は、新たにサーバ証明書が全て発行されるのを待つ(S44)。
【0140】
サーバ証明書75を発行し終わると(S44でYes)、失効証明書検索部113は、シリアルSemin〜特定したシリアルSeのレコードを全て削除し(S45)、実際に失効させるべき特定されたシリアルSeに「1」加えた値を失効シリアルとして失効番号蓄積部115に格納する(S46)。
【0141】
このような処理を繰り返すことにより、失効の対象とされたサーバ証明書75のみならずこれより小さな値のシリアルが付されたサーバ証明書75は全て失効の対処とされ、この失効の対象とされたサーバ証明書75を有するアプリケーションサーバ30a〜30kはシリアル番号が増加された新たなサーバ証明書75に更新することになる。
【0142】
次いで、失効情報署名部116が行う失効情報組立処理を説明する。
【0143】
図9は、失効情報署名部116が行う失効情報組立処理の動作を示すフローチャートである。
【0144】
失効情報署名部116は、失効番号蓄積部115から失効シリアルSeの初期値「0」をセットする(S51)。そして、この失効シリアルSeと、予め保持している発行者と、CA秘密鍵蓄積部103から読み出したCA秘密鍵を用いて形成する署名とで失効情報90を組み立てて、失効情報通知部117に出力する。
【0145】
次いで、失効情報署名部116は、失効番号蓄積部115をモニタし、失効シリアルが失効シリアル変化するのをまつ(S52)。ここで、失効シリアルから「1」減算した値のシリアル以下のサーバ証明書75は全て失効の対象とされている。このため、このステップS52での実際の判断は、失効シリアルが増加したか否かの判断でたりる。失効シリアルが増加すると、失効情報署名部116は、変化後の失効シリアルSeを失効番号蓄積部115から読み取り(S53)、この失効シリアルSeと、予め保持している発行者と、CA秘密鍵蓄積部103から読み出したCA秘密鍵を用いて形成する署名とで失効情報90を組み立てて(S54)、失効情報通知部117に出力する。
【0146】
このような処理を繰り返すことにより、リポジトリ20の失効情報蓄積部201には、失効シリアルの値が増加する失効情報90が順次蓄積されることになる。
【0147】
次いで、端末40a〜40nのサーバ証明書検証部430が行う失効情報取得処理を説明する。
【0148】
図10は、サーバ証明書検証部430の各部が行う失効情報取得処理の動作を示すフローチャートである。なお、この処理は、所定の時間(1月に1回)ごとに定期的に行われる。
【0149】
各端末40a〜40nの失効情報要求部431は、先ず、リポジトリ20から失効情報90を定期的(1月に1回)に入手して、失効番号を蓄積する。具体的には、失効情報要求部431は、内部タイマーによる計時で1月経過するのを待ち(S61)、1月経過すると(S61でYes)、リポジトリ20に対して失効情報の配信を要求し(S62)、失効情報90が配信されるのを待つ(S63)。
【0150】
このとき、入手した失効情報90が偽である場合の失効番号を蓄積すると、正規のアプリケーションサーバを不正であると判断したり、不正なアプリケーションサーバを正規とみなしたりするので、次のチェックを行う。
【0151】
すなわち、失効情報90が送られてくると(S62でYes)、まず最初に署名検証部434は、失効情報90の署名が正しいかを確認する(S64)。失効情報90の署名はサーバ証明書作成装置10しか行えないため、署名が正しければそれは正しいデータとする。
【0152】
次に、失効番号が現在蓄積しているより大きな番号であることを確認する。具体的には、失効番号検証部435は、配信された失効シリアルを取得し(S65)、配信された失効シリアルの値が失効番号蓄積部436に蓄積している失効シリアルの値より大きいか否かを判断する(S66)。失効番号は、サーバ証明書75の失効により単調増加され、減少することがない。
【0153】
したがって、受信した失効情報90の失効番号が現在保持している失効番号より大きい番号であれば(S66でYes)、配信された失効シリアルを蓄積する(S67)。これに対してし、現在の失効番号より小さな番号であれば(S66でNo)、それは偽の失効番号であるか、なにかの手違いであると推定し、失効情報を廃棄する(S68)。
【0154】
このような処理を繰り返し行うことにより、サーバ証明書検証部430は値が単調に増加する正規の失効番号だけを蓄積することができる。
【0155】
次に端末40a〜40n及びアプリケーションサーバ30a〜30k間で暗号化して通信を行う場合について説明する。
【0156】
図11は、暗号化して通信を行う場合のシーケンス図である。なおここでは、端末40aとアプリケーションサーバ30aとの間で行われた場合をその代表例として説明する。
【0157】
端末40aのアプリクライアント部410は、暗号化してアプリケーションサーバ30aにリクエスト3を送るよう通信部420に指示を行う(S100)。通信部420は、クライアント乱数と通信部420が処理できる暗号の種類を含んだClientHelloパケットをアプリケーションサーバ30aの通信部306に送信し、SSLのハンドシェークを開始する(S101)。
【0158】
アプリケーションサーバ30aの通信部306は、ClientHelloパケットから暗号の種類を決定し、サーバ乱数とセッションIDとともにServerhelloパケットで暗号の種類を送り(S102)、サーバ証明書蓄積部304からサーバ証明書75を取り出し(S103)、サーバ証明書75をCertificateパケットとしてアプリケーションサーバ30aの通信部420に送信し(S104)、さらにServerHelloDoneパケットを通信部420に送る(S107)。
【0159】
端末40aの通信部420は、Certificateパケットからサーバ証明書75を取り出し、サーバ証明書検証部430に送る(S105)。サーバ証明書検証部430は、サーバ証明書75が不正でないか検証し、検証結果を通信部306に通知する(S106)。サーバ証明書75が不正であれば、通信部420は、アラートパケットを通信部306に送信して通信を切断し、アプリクライアント部410にエラーを返す。これに対して、サーバ証明書75が不正でない場合には、通信部420は、暗号化の共有鍵を計算するためのプリマスターシークレットを作成し、サーバ証明書75に含まれるサーバ公開鍵で暗号化し、ServerHelloDoneパケットの到着後に暗号化されたプリマスターシークレットを含むClientKeyExchangeパケットを通信部306に送信し(S108)、ChangeCipherSpecパケットを通信部306に送信する(S109)。ChangeCipherSpecパケットは暗号化の開始を示すパケットである。通信部420は、クライアント乱数とサーバ乱数とプリマスターシークレットから暗号化に使用する共通鍵Aを作成し、ハンドシェークの終了を示すFinishedパケットを作成した共通鍵Aで暗号化してアプリケーションサーバ30aの通信部306に送信する(S110)。
【0160】
アプリケーションサーバ30aの通信部306は、ClientKeyExchangeから暗号化されたプリマスターシークレットを取り出し、サーバ秘密鍵を用いてプリマスターシークレットに復号し、サーバ乱数、クライアント乱数とともに暗号化に使用する共通鍵Bを作成する。SSLのハンドシェークが正常に行われた場合、通信部306の持つ共通鍵Aと通信部420の持つ共通鍵Bは同一となる。通信部306は、受信したFinishedパケットを共通鍵Bで復号し、正常に復号できればFinishパケットを暗号化して通信部420に送付する(S111)。このFinishパケット以降の通信は、すべて暗号化して行われる。
【0161】
端末40aの通信部420は、受信したFinishedパケットを復号し、正常に復号できれば、リクエスト3を暗号化してアプリケーションサーバ30aの通信部306に送付する(S112)。
【0162】
アプリケーションサーバ30aの通信部306は、リクエスト3を復号し、アプリサーバ部305に送る(S113)。アプリサーバ部305は、リクエスト3を処理してレスポンス3を生成し、端末40a〜40nに送るよう通信部306に指示する(S114)。通信部306は、端末40aの通信部420にレスポンス3を暗号化して送信する(S115)。
【0163】
端末40aの通信部420は、レスポンス3を復号してアプリクライアント部410に送付する(S116)。
【0164】
以上のように暗号化を行い通信する。
【0165】
次いで、サーバ証明書検証部430が行う検証について説明する。
【0166】
図12は、サーバ証明書検証部430が行うサーバ証明書75の検証動作を示すフローチャートである。
【0167】
サーバ証明書検証部430の署名検証部432は、サーバ証明書75を取得すると、取得したサーバ証明書75から発行者を取り出し、CA証明書蓄積部433から、その発行者のCA証明書60を検索する。そして、CA証明書60からCAの公開鍵を取り出し、CAの公開鍵を用いてサーバ証明書75の署名のチェックをする。具体的には、署名検証部432は、サーバ証明書75が配信されてくるのを待ち(S81)、配信されてくると(S81でYes)、サーバ証明書75の発行者を取得し(S82)、発行者が同一のCA証明書60をCA証明書蓄積部433から検索する(S83)。そして、署名検証部432は、検索によって得られたCA証明書60のCA公開鍵を取り出し(S84)、公開鍵で復号化することによりサーバ証明書の署名が正しいか否か判断する(S85)。
【0168】
チェックの結果、サーバ証明書75の署名が不正であれば(S85で署名NG)、署名の検証エラーのエラーコードを通信部420に通知して(S90)、検証を終了する。これに対して、署名が正しければ(S85で署名OK)、証明書シリアル抽出部437は、サーバ証明書75からシリアル(サーバシリアル)を取り出す(S86)。そして、失効判定部438は、失効番号蓄積部436から失効番号を取り出し、証明書シリアル抽出部437が取り出したシリアルと比較する。すなわち、サーバシリアルと失効シリアルとの大小関係を判断する(S88)。
【0169】
もしシリアルが失効番号より小さければ(S88でNo)、失効判定部438は、そのサーバ証明書75が失効していると判断し、失効のエラーコードを通信部420に通知して(S90)、検証を終了する。これに対して、もしシリアルが失効番号より大きいか同じであれば(S88でYes)、失効判定部438は、そのサーバ証明書75は正しいと判断して、通信部420に正常終了を通知する。
【0170】
このような処理により署名が正当で、しかも失効番号以上の値のシリアルを含むサーバ証明書75をアプリケーションサーバ30aが送った場合にだけ認証される。
【0171】
ここで、サーバ証明書作成装置10が作成するサーバ証明書75のシリアルと失効番号の関係について説明する。
【0172】
図13は、サーバが4台あったときのサーバ証明書75のシリアルと失効番号との関係を示す図である。
【0173】
なお、ここでは各サーバをA,B,C,Dとし、サーバはそれぞれ時刻「a」,「b」,「c」,「d」に設置されるものとし、各サーバが保持するサーバ証明書75のシリアルはそれぞれ「0」,「1」,「2」,「3」であるものとして説明する。
【0174】
時刻「e」にサーバCのサーバ証明書75の安全性が危惧された場合、この時点におけるサーバ証明書履歴蓄積部110に蓄積されている情報は次のとおりである。
【0175】
Figure 2004312197
したがって、サーバ証明書作成装置10の失効証明書検索部113は、サーバCのサーバ証明書75のシリアル「2」より小さなシリアルをもつサーバ証明書75を検索する。結果はサーバA及びサーバBのサーバ証明書75である。従って、サーバ証明書作成装置10の証明書失効通知部114は、サーバA,B,Cに対してサーバ証明書75の更新要求(サーバ証明書75の失効通知)を行う。その結果サーバA,B,Cから新しいサーバ証明書75の作成要求があり、それぞれシリアルが「4」、「5」,「6」であるサーバ証明書75を新規に作成し、各アプリケーションサーバA〜Cに返送する。このとき作成したサーバ証明書75の有効期限はe+13ヶ月とする。また同時にサーバ証明書履歴蓄積部110のデータは
Figure 2004312197
に更新される。
【0176】
サーバ証明書作成装置10の失効番号蓄積部115は、各サーバのサーバ証明書75が更新された後に失効番号をその時点で有効かつ最小のシリアル「3」に変更し、このシリアルを含む失効情報90をリポジトリ20の失効情報蓄積部201に蓄積させる。すなわち、新しい失効番号は、失効原因となったサーバCの元のサーバ証明書75のシリアル「2」に「1」を加えた値である「3」である。
【0177】
端末40a〜40nは、リポジトリ20から失効番号を定期的に入手して蓄積する。このとき偽の失効番号を蓄積すると、正規のサーバを不正であると判断したり、不正なサーバを正規にみなしたりするので次のチェックを行う。まず最初に失効情報の署名を確認する。失効情報の署名はCAにしか署名できないため署名が正しければそれは正しいデータとする。次に失効番号が現在蓄積しているより大きな番号であることを確認する。失効番号はサーバ証明書の失効により増加を行うが、減少はしないので現在の失効番号より小さな番号であればそれは偽の失効番号であるか、なにかの手違いであると推定し、それを廃棄する。
【0178】
ところで、サーバCのサーバ証明書75を用いてサーバの成りすましがあったとした場合、なりすましたサーバのサーバ証明書75のシリアルは「2」であり、その時点で端末の失効番号は「3」であるため、失効番号より小さなシリアルを持つサーバ証明書75は失効されているという条件に合致し、そのサーバを信用することはない。
【0179】
また、サーバ証明書期限検索部111は、常にサーバ証明書履歴蓄積部110を検索し、現在時刻より1ヶ月内に有効期限がくるサーバ証明書75を検索する。例えばd+12ヶ月を過ぎれば、サーバDのサーバ証明書75の期限が1ヶ月内となる。このときサーバ証明書期限検索部111は、サーバDが保持するサーバ証明書75のシリアル「3」を失効証明書検索部113に通知し、証明書失効通知部114はサーバDに対してサーバ証明書75の更新を要求する。またサーバDのサーバ証明書75のシリアルより小さなシリアルを持つサーバ証明書75を持つサーバがあれば、そのサーバに対してもサーバ証明書75の更新要求を行う。そしてこれらのサーバ証明書75の更新が終わったあとで失効番号をサーバDのサーバ証明書75のシリアルに「1」を加えた「4」に更新する。
【0180】
このように有効期限が近づいたサーバ証明書75を更新するときに、有効期限の近づいたサーバ証明書75が持つシリアルより小さいシリアルをもつサーバ証明書75を全て更新し、期限の近づいたサーバ証明書75のシリアルに「1」加えたものをあらたな失効番号とすることにより、有効期限が切れたサーバ証明書75によってサーバが成りすまされた場合でも、時計がなく期限が正確に判断できない機器でも失効番号によってそのサーバ証明書75の失効を確認できる。
【0181】
なお、ここでは更新後のシリアルをサーバA,B,Cの順で「4」,「5」,「6」としたが、特にこの順でなくともよい。
【0182】
なお、本実施の形態1では、シリアルの初期値を「0」とし、サーバ証明書75の発行毎に「1」増加させたが、初期値は自由に設定でき、増加する値も単調増加する範囲において発行毎に異なっていてもよい。
【0183】
また、本実施の形態1では、失効番号の初期値を「0」としたが、シリアルの初期値以下の小さい値であれば、なんでもよい。つまり、例えばサーバ証明書75のシリアルの初期値を「1」とした場合、失効番号の初期値を「0」としてもよく、「1」としてもよい。
【0184】
また、サーバ証明書75のシリアルの初期値が失効番号の初期値以上の値に設定された状態で単調増加するシリアルのサーバ証明書75が発行されるので、失効シリアルを参照したのと同等の機能が確保されるため、この実施の形態では参照しなかったが、失効番号を実際に参照して失効番号以上のシリアルのサーバ証明書75を発行するようにしてもよい。
【0185】
以上のように、本実施の形態1によれば、有効期限が切れそうなサーバ証明書を保持するアプリケーションサーバに対して失効通知を送り、新たなサーバ証明書を発行し、もとのサーバ証明書を失効させて使えなくなるようにしている。したがって、端末40a〜40nは、有効期間をチェックする必要がなく、正確な時計を持つ必要もなくなる。また、失効情報90には1つの失効シリアルだけが記録され、端末40a〜40nはこれを記憶し、サーバ証明書75のシリアルと失効番号との大小関係でサーバ証明書75の有効性を判断するので、従来のようなリソースを用意する必要もなく、簡単なリソースでたり、ネット家電等にも適用できる。
【0186】
(実施の形態2)
以下、本発明の実施の形態2に係る通信システムついて説明する。
【0187】
図14は、本発明の実施の形態2に係る通信システム2の全体構成を示すブロック図である。なお、図1に示される通信システム1の構成と同じ構成部分に同じ番号を付し、その説明を省略する。
【0188】
この通信システム2は、実施の形態1の通信システム1と同様、認証局が使用するサーバ証明書作成装置11及びリポジトリ21と、映像コンテンツなどのアプリケーション提供者が使用する複数のアプリケーションサーバ30a〜30kと、ユーザが使用する複数の端末41a〜41nと、リポジトリ21、アプリケーションサーバ30a〜30k及び端末41a〜41nを接続するインターネット50とから構成される。
【0189】
ところで、実施の形態1の通信システム1は、サーバ証明書作成装置10からリポジトリ20に失効情報90を送信し、リポジトリ20から端末40a〜40nに失効情報90を送信するように構成されている。これに対して実施の形態2の通信システム2は、サーバ証明書作成装置11からリポジトリ21には失効番号だけで構成される失効情報90bを送信するように構成されており、この点が通信システム1の構成と大きく異なっている。
【0190】
また、通信システム1では、リポジトリ20から各端末40a〜40nに失効情報90を暗号なしで送信し、各端末において失効情報90の署名でその失効情報のすり替えをチェックするように構成されている。これに対して通信システム2は、リポジトリ21がは、サーバ証明書作成装置11からリポジトリ21にサーバ証明書75を発行し、リポジトリ21は、端末41a〜41nから失効番号配信の要求がくると、アプリケーションサーバ30a〜30kの場合と同様、サーバ証明書75を送信し、端末40a〜40nからサーバ認証を受け、SSLによるセッション鍵を共有した後、失効番号を暗号化して配信するように構成されており、この点が通信システム1の構成と大きく異なっている。
【0191】
このため、サーバ証明書作成装置11は、アプリケーションサーバ30a〜30kの場合と同様、鍵ペア作成部101、CA証明書作成部102、CA秘密鍵蓄積部103、時計104、シリアル蓄積部105、CSR受信部106、サーバ証明書組立部107、署名部108、サーバ証明書送信部109、サーバ証明書履歴蓄積部110、サーバ証明書期限検索部111、サーバ証明書失効通知部112、失効証明書検索部113、証明書失効通知部114を備え、リポジトリ21から送られてきたCSR70を受け付けて、リポジトリ21にサーバ証明書75を発行したり、このサーバ証明書75が失効の対象となった場合にリポジトリ21に失効通知80を送信したりするように構成されている。しかも、サーバ証明書作成装置11は、サーバ証明書作成装置10で用いられていた失効情報署名部116が削除され、失効番号蓄積部115に代えて失効番号蓄積部121を、失効情報通知部117に代えて失効番号通知部122を備えて構成される。この失効番号蓄積部121は失効番号蓄積部115と同様に、サーバ証明書送信部109から発行されたサーバ証明書75のシリアルの内、現在も有効な最も小さいシリアルを失効番号として蓄積する。なお、失効番号の初期値は「0」である。失効番号通知部122に蓄積された失効番号は、失効情報署名部116に送られる。失効番号通知部122は、失効番号蓄積部121に蓄積されている署名なしの失効番号だけを失効情報90bとしてリポジトリ21に通知する。
【0192】
リポジトリ21は、鍵ペア作成部203と、CSR70作成部204と、サーバ秘密鍵蓄積部205と、サーバ証明書蓄積部207と、失効情報蓄積部208と、通信部209とを備える。
【0193】
リポジトリ21は、アプリケーションサーバ30a〜30kと同様に、端末41a〜41nとの通信をSSLを用いて行う。このため、鍵ペア作成部203は、設置時やサーバ証明書作成装置11から失効通知80を受信するごとに、サーバ公開鍵とサーバ秘密鍵を新たに作成する。サーバ公開鍵はCSR70作成部204に送られ、サーバ秘密鍵はサーバ秘密鍵蓄積部205に蓄積される。
【0194】
CSR70作成部204は、サーバ公開鍵と予め保持するサーバの名前からCSR70を作成し、サーバ証明書作成装置11に送信する。これによって、サーバ証明書作成装置11は、受信したCSR70からサーバ証明書75を作成し、作成したサーバ証明書75をリポジトリ21に送信する。サーバ証明書蓄積部207は、サーバ証明書75を受信するごとに、受信した新しいサーバ証明書75を蓄積する。
【0195】
失効情報蓄積部208は、サーバ証明書作成装置11から失効番号だけで構成された失効情報90bを受信するごとに、新しい失効番号を蓄積する。
【0196】
通信部209は、上述の暗号化のためのプロトコル等に従ってインターネット50を介して端末41a〜41nと通信するインターフェースである。具体的には、通信部209は、端末41a〜41nから通信の開始要求を受けたとき、通信部306と同様、サーバ認証のためにサーバ証明書75をサーバ証明書蓄積部207から取り出し、端末41a〜41nに送る。また通信部209は、端末41a〜41nから受信した暗号の種類をサーバ秘密鍵蓄積部205に蓄積したサーバ秘密鍵で復号し、暗号化通信の共有鍵を作成する。その後通信部209は、端末41a〜41nから暗号化した通信で失効番号のリクエストを受けた場合、失効情報蓄積部208から失効情報90bを取り出し、失効情報90bを暗号化して端末41a〜41nに出力する。これに対して、暗号化しない通信でリクエストを受けた場合、通信部209は、通信を切断する。
【0197】
端末41a〜41nは、アプリクライアント部410と、通信部420に代えて用いられる通信部440と、サーバ証明書検証部430に代えて用いられるサーバ証明書検証部450とから構成される。サーバ証明書検証部450は、サーバ証明書検証部430と同様、署名検証部432、CA証明書蓄積部433、失効番号蓄積部436、失効判定部438を備えるほか、失効情報要求部431に代えて用いられる失効情報要求部451と、証明書シリアル抽出部437に代えて用いられる証明書シリアル抽出部452と、失効番号検証部435に代えて用いられる失効番号検証部453とから構成される。
【0198】
端末41a〜41nの失効情報要求部451は、定期的(例えば、1月に1回)にリポジトリ21から失効番号を取得するよう通信部440に要求する。
【0199】
署名検証部432は、CA証明書蓄積部433からCA証明書60を取り出し、サーバ証明書75の署名を検証し、署名が異常であれば通信部440に異常を通知する。
【0200】
証明書シリアル抽出部452は、入力されたサーバ証明書75からシリアルを抽出し、抽出したシリアルを失効判定部438と失効番号検証部453に出力する。
【0201】
失効番号検証部453は、失効番号蓄積部436に蓄積されている失効番号を取り出し、リポジトリ21から取得したシリアル(失効番号)と比較したり、証明書シリアル抽出部452から出力されたシリアルと比較する。そして、リポジトリ21から取得したシリアルが失効番号蓄積部436に蓄積されている失効番号より小さい場合は、失効番号検証部453は、何らかの原因で異常であることを通信部440に通知する。また、失効番号検証部453は、アプリケーションサーバ30a〜30kやリポジトリ21から抽出したサーバ証明書75のシリアルが失効番号より小さい場合は、サーバ証明書75が失効していることを通信部440に通知する。
【0202】
通信部440は、上述の暗号化あるいは非暗号のプロトコル等に従ってインターネット50を介してアプリケーションサーバ30a〜30kやリポジトリ21と通信したりするインターフェースであり、通信部420と同様にアプリケーションサーバ30a〜30kと通信するほか、リポジトリ21から送信されてきたコマンドを解析したり、その結果に応じてサーバ証明書検証部430に処理を依頼したり、アプリクライアント部410やサーバ証明書検証部450から渡されたデータをリポジトリ21に送信したり、リポジトリ21からサーバ証明書75及び失効情報90を受信したりする。つまり、通信部440は、図11に示される通信プロトコルを用いて失効情報90bを暗号化通信する。
【0203】
具体的には、通信部440は、失効情報要求部451からの失効情報90bの要求があると、リポジトリ21の通信部209に対して暗号化通信の開始を要求する。これにより、通信部440には、リポジトリ21の通信部209よりサーバ証明書75が通知される。
【0204】
通信部440は、受信したサーバ証明書75を、署名検証部432と、証明書シリアル抽出部452に出力する。この出力の結果署名検証部432から異常を通知された場合、通信部440は、サーバ証明書75の異常をリポジトリ21の通信部209に通知して通信を切断する。
【0205】
サーバ証明書75の署名が正常であり、サーバ証明書75が失効されていないときは、通信部440は、プリマスタシークレットを作成し、サーバ証明書75に含まれるサーバ公開鍵を用いてプリマスタシークレットを暗号化してリポジトリ21の通信部209に送信する。そして、通信部440は、それまでに得たデータから暗号化通信の暗号鍵を作成する。そして以降の通信において暗号鍵を用いた暗号化通信を行う。つまり、通信部440は、失効番号のリクエストをリポジトリ21に暗号化して送信する。リポジトリ21から暗号化された失効情報90b(失効番号)を受信すると、通信部440は、受信した暗号化された失効番号を復号し、失効番号検証部453に出力する。
【0206】
失効番号検証部453は、失効番号蓄積部436から現在の失効番号を読み出し、リポジトリ21から通知された失効番号と比較する。このとき現在の失効番号より通知された失効番号が小さければ通知された失効番号は無効と判断し、処理を終了する。なぜならば、失効番号は単調増加するので、現在の失効番号より小さな失効番号に変更されることはありえないからである。また、現在の失効番号と通知された失効番号が同じ場合には、変更がなかったとして処理を終了する。現在の失効番号より通知された失効番号が大きい場合には、失効番号検証部453は、通知された失効番号と証明書シリアル抽出部452から入力されるリポジトリ21のシリアルを比較する。失効番号検証部453は、通知された失効番号がリポジトリ21のシリアルより小さければ通知された失効番号は無効と判断し処理を終了する。なぜならば、通知された失効番号を有効と仮定すれば、リポジトリ21のシリアルが無効、すなわちサーバ証明書75が失効しているということになり、無効なサーバ証明書75を持つリポジトリ21から取得した失効番号が信用できないためである。失効番号検証部453は、通知された失効番号がリポジトリ21のシリアルより大きいか同じであれば、通知された失効番号を新たな失効番号として失効番号蓄積部436に蓄積する。
【0207】
なお、失効番号に対する攻撃として、失効番号を小さくして過去に脆弱となったサーバ証明書75を有効にする攻撃と、失効番号を大きくしてオーバフローさせる攻撃が考えられるが、これらに対するために以上のような失効番号の有効性の判定を行う。
【0208】
以上のようにすることで、失効情報90bの入手の際に署名のチェックを行わなくてもよく、正常な失効番号だけを保持することができる。
【0209】
なお、本発明の他の実施の形態として、発明の構成を、以下のようにしてもよい。
【0210】
証明書発行装置は、失効番号を蓄積する失効番号蓄積手段と、過去に発行したサーバ証明書の識別番号と期限と発行先を蓄積するサーバ証明書情報蓄積手段と、新たにサーバ証明書を発行する証明書発行手段を持ち、新たにサーバ証明書を発行する場合には失効番号蓄積手段に蓄積された失効番号と同じかより大きな識別番号を持つサーバ証明書を発行することを特徴としてもよい。
【0211】
また、証明書発行装置は、サーバ証明書を失効させるときに、サーバ証明書の識別番号を取得し、新たな失効番号として識別番号より大きな番号を失効番号として決定し、失効番号蓄積手段に蓄積し、サーバ証明書情報蓄積手段を検索し、サーバ証明書の識別番号と同じかより小さな識別番号を持つサーバ証明書(以下更新対象サーバ証明書)を取り出し、更新対象サーバ証明書を持つサーバに対して新たな失効番号と同じかより大きな識別番号を持つサーバ証明書に更新する構成としてもよい。
【0212】
また、証明書発行装置は、サーバ証明書情報蓄積手段から期限に近づいたサーバ証明書を検索し、サーバ証明書の識別番号を取得し、新たな失効番号として識別番号より大きな番号を失効番号として決定し失効番号蓄積手段に蓄積し、サーバ証明書情報蓄積手段を検索し、サーバ証明書の識別番号と同じかより小さな識別番号を持つサーバ証明書(以下更新対象サーバ証明書)を取り出し、更新対象サーバ証明書を持つサーバに対して新たな失効香号と同じかより大きな識別香号を持つサーバ証明書に更新する構成としてもよい。
【0213】
【発明の効果】
以上の説明から明らかなように、本発明に係る通信装置によれば、従来のようにサーバ証明書の有効期限が過ぎたか否かを時計を用いて判断したり、従来のようにリポジトリからサイズの大きなCRLを取得して、たくさんのリストを記憶し、このたくさんのリストの中にサーバ証明書の識別番号が載っているか否か検索したりする必要がなくなり、通信装置は、リポジトリから失効番号を1つだけ取得し、これを記憶している1つの失効番号で、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。したがって、通信装置及びリポジトリのメモリ容量などのリソースが簡単で済み、簡単なリソースでサーバ装置の正当性を示すサーバ証明書に基づいて当該サーバ装置と通信することができる。
【0214】
また、本発明に係る通信装置によれば、通信装置は、サーバ装置との通信と同じ手順でリポジトリ証明書を取得し、リポジトリ証明書を用いてリポジトリを認証したり、リポジトリが正当である場合に失効番号を暗号通信で取得したり、正常な失効番号だけを取得して、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。
【0215】
また、本発明に係る通信装置によれば、通信装置は、リポジトリが正当である場合に失効番号を暗号なしの通信で取得したり、正常な失効番号だけを取得して、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。
【0216】
また、本発明に係る証明書発行装置によれば、従来のようにサーバ証明書の有効期限が過ぎたか否かを時計を用いて判断させたり、従来のようにリポジトリからサイズの大きなCRLを取得させたりして、たくさんのリストを記憶させたりし、このたくさんのリストの中にサーバ証明書の識別番号が載っているか否か検索させたりする必要がなくなり、通信装置は、リポジトリから失効番号を1つだけ取得し、これを記憶している1つの失効番号で、この失効番号が対象とする全てのサーバ証明書が有効か否かを判断することができる。したがって、通信装置及びリポジトリのメモリ容量などのリソースが簡単で済み、簡単なリソースでサーバ装置の正当性を示すサーバ証明書に基づいて当該サーバ装置と通信することができる。
【0217】
また、本発明に係る証明書発行装置によれば、有効期間が近づいたサーバー証明書を失効させることができる。
【0218】
また、本発明に係る証明書発行装置によれば、サーバ装置は、新たなサーバ証明書を用いて認証を受けることができる。
【0219】
よって、本発明により、極めて簡単なリソースでサーバ装置を認証することができ、インターネットが普及し、リソースが小さいネット家電装置等が登場しつつある今日における本願発明の実用的価値は極めて高い。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係る通信システム1の全体構成を示すブロック図である。
【図2】図1に示されるサーバ証明書75の構成例を示す図である。
【図3】図1に示される失効情報90の構成例を示す図である。
【図4】図1に示されるサーバ証明書履歴テーブル110aの構成例を示す図である。
【図5】サーバ証明書組立部107が行う証明書用シリアル設定処理の動作を示すフローチャートである。
【図6】サーバ証明書期限検索部111が行う証明書期限管理処理の動作を示すフローチャートである。
【図7】失効証明書検索部113が有効期限到来による失効証明書検索処理の動作を示すフローチャートである。
【図8】失効証明書検索部113が行う失効通知による失効証明書検索処理の動作を示すフローチャートである。
【図9】失効情報署名部116が行う失効情報組立処理の動作を示すフローチャートである。
【図10】サーバ証明書検証部430の各部が行う失効情報取得処理の動作を示すフローチャートである。
【図11】暗号化して通信を行う場合のシーケンス図である。
【図12】サーバ証明書検証部430が行うサーバ証明書75の検証動作を示すフローチャートである。
【図13】サーバが4台あったときのサーバ証明書75のシリアルと失効番号との関係を示す図である。
【図14】本発明の実施の形態2に係る通信システム2の全体構成を示すブロック図である。
【図15】SSL通信時における通信システムのシステム構成を示すブロック図である。
【図16】図15に示されるサーバ証明書7000の最小限の構成例を示す図である。
【図17】図15に示されるCRL8000の最小限の構成を示す図である。
【図18】暗号化せずに通信を行う場合のシーケンス図である。
【図19】暗号化して通信を行う場合のシーケンス図である。
【図20】サーバ証明書検証部4200が行うサーバ証明書7000の検証動作を示すフローチャートである。
【符号の説明】
1,2 通信システム
10,11 サーバ証明書作成装置
20,21 リポジトリ
30a〜30k アプリケーションサーバ
40a〜40n,41a〜41n 端末
50 インターネット50
60 CA証明書
70 CSR
75 サーバ証明書
80 失効通知
90 失効情報
90b 失効情報
101 鍵ペア作成部
102 CA証明書作成部
103 CA秘密鍵蓄積部
104 時計
105 シリアル蓄積部
106 CSR受信部
107 サーバ証明書組立部
108 署名部
109 サーバ証明書送信部
110 サーバ証明書履歴蓄積部
110a サーバ証明書履歴テーブル
111 サーバ証明書期限検索部
112 サーバ証明書失効通知部
113 失効証明書検索部
114 証明書失効通知部
115 失効番号蓄積部
116 失効情報署名部
117 失効情報通知部
121 失効番号蓄積部
122 失効番号通知部
201 失効情報蓄積部
202 通信部
203 鍵ペア作成部
204 CSR作成部
205 サーバ秘密鍵蓄積部
207 サーバ証明書蓄積部
208 失効情報蓄積部
209 通信部
301 鍵ペア作成部
302 CSR作成部
303 サーバ秘密鍵蓄積部
304 サーバ証明書蓄積部
305 アプリサーバ部
306 通信部
410 アプリクライアント部
420 通信部
430 サーバ証明書検証部
431 失効情報要求部
432 署名検証部
433 CA証明書蓄積部
434 署名検証部
435 失効番号検証部
436 失効番号蓄積部
437 証明書シリアル抽出部
438 失効判定部
440 通信部
450 サーバ証明書検証部
451 失効情報要求部
452 証明書シリアル抽出部
453 失効番号検証部

Claims (16)

  1. サーバ装置の正当性を示すサーバ証明書に基づいて前記サーバ装置と通信する通信装置であって、
    前記サーバ証明書の有効性を判断する基準となる情報である失効番号を保持するリポジトリ装置から、前記失効番号を取得する失効番号取得手段と、
    取得された失効番号を記憶する失効番号記憶手段と、
    前記サーバ証明書を識別する識別番号を前記サーバ証明書から読み出す識別番号読み出し手段と、
    読み出された識別番号と前記失効番号記憶手段に記憶されている失効番号とを比較することによって前記サーバ証明書の有効性を判断する証明書判断手段と、
    前記サーバ証明書が有効であると判断された場合に、前記サーバ装置との通信を確立し、前記サーバ証明書が有効でないと判断された場合に、前記サーバ装置との通信を確立しない通信制御手段と
    を備えることを特徴とする通信装置。
  2. 前記有効性判断手段は、前記識別番号が前記失効番号と同じか大きい場合に、前記サーバ証明書が有効であると判断する
    ことを特徴とする請求項1記載の通信装置。
  3. 前記通信装置は、さらに、前記失効番号の有効性を判断する失効番号判断手段を備え、
    前記証明書判断手段は、前記失効番号判断手段によって前記失効番号が有効であると判断された場合に、前記失効番号を用いて、前記サーバ証明書の有効性を判断する
    ことを特徴とする請求項1記載の通信装置。
  4. 前記失効番号判断手段は、前記リポジトリ装置の正当性を示すリポジトリ証明書の識別番号と前記失効番号記憶手段に記憶されている失効番号とを比較することによって前記失効番号の有効性を判断する
    ことを特徴とする請求項3記載の通信装置。
  5. 前記失効番号判断手段は、前記識別番号が前記失効番号と同じか大きい場合に、前記リポジトリ装置が有効であると判断する
    ことを特徴とする請求項4記載の通信装置。
  6. 前記失効番号判断手段は、前記失効番号取得手段によって取得された失効番号と前記失効番号記憶手段に記憶されている失効番号とを比較することによって前記失効番号取得手段によって取得された失効番号の有効性を判断する
    ことを特徴とする請求項3記載の通信装置。
  7. 前記失効番号判断手段は、前記失効番号取得手段によって取得された失効番号が前記失効番号記憶手段に記憶されている失効番号と同じか大きい場合に、前記失効番号が有効であると判断する
    ことを特徴とする請求項6記載の通信装置。
  8. サーバ装置の正当性を示すサーバ証明書を発行する証明書発行装置であって、
    サーバ証明書の有効性を判断する基準となる情報である失効番号を記憶する失効番号記憶手段と、
    新たなサーバ証明書を発行する発行手段とを備え、
    前記発行手段は、前記失効番号記憶手段に記憶されている失効番号と同じか大きい値を示す識別番号を含ませて、前記サーバ証明書を発行する
    ことを特徴とする証明書発行装置。
  9. 前記証明書発行装置は、さらに、失効させるサーバ証明書の識別番号の通知を取得すると、前記失効番号記憶手段に記憶されている失効番号を前記識別番号よりも大きい番号に更新する失効番号更新手段を備える
    ことを特徴とする請求項8記載の証明書発行装置。
  10. 前記証明書発行装置は、さらに、サーバ証明書の有効期限が近づいたサーバ証明書の識別番号を特定し、前記失効番号記憶手段に記憶されている失効番号を前記識別番号よりも大きい番号に更新する失効番号更新手段を備える
    ことを特徴とする請求項8記載の証明書発行装置。
  11. 前記発行手段は、前記失効番号更新手段によって失効番号が更新された場合に、更新後の失効番号よりも小さな値の識別番号をもつサーバ証明書に対応するサーバ装置に対して、新たなサーバ証明書を発行する
    ことを特徴とする請求項9又は10記載の証明書発行装置。
  12. サーバ装置と、サーバ装置の正当性を示すサーバ証明書を発行する証明書発行装置と、前記サーバ証明書に基づいて前記サーバ装置と通信する通信装置とから構成される通信システムであって、
    前記証明書発行装置は、
    サーバ証明書の有効性を判断する基準となる情報である失効番号を記憶する失効番号記憶手段と、
    新たなサーバ証明書を発行する発行手段とを備え、
    前記発行手段は、前記失効番号記憶手段に記憶されている失効番号と同じか大きい値を示す識別番号を含ませて、前記サーバ証明書を発行し、
    前記通信装置は、
    前記サーバ証明書の有効性を判断する基準となる情報である失効番号を保持するリポジトリ装置から、前記失効番号を取得する失効番号取得手段と、
    取得された失効番号を記憶する失効番号記憶手段と、
    前記サーバ証明書を識別する識別番号を前記サーバ証明書から読み出す識別番号読み出し手段と、
    読み出された識別番号と前記失効番号記憶手段に記憶されている失効番号とを比較することによって前記サーバ証明書の有効性を判断する証明書判断手段と、
    前記サーバ証明書が有効であると判断された場合に、前記サーバ装置との通信を確立し、前記サーバ証明書が有効でないと判断された場合に、前記サーバ装置との通信を確立しない通信制御手段と備える
    ことを特徴とする通信システム。
  13. サーバ装置の正当性を示すサーバ証明書に基づいて前記サーバ装置と通信する通信方法であって、
    前記サーバ証明書の有効性を判断する基準となる情報である失効番号を保持するリポジトリ装置から、前記失効番号を取得する失効番号取得ステップと、
    取得された失効番号を記憶手段に格納する失効番号格納ステップと、
    前記サーバ証明書を識別する識別番号を前記サーバ証明書から読み出す識別番号読み出しステップと、
    読み出された識別番号と前記記憶手段に記憶されている失効番号とを比較することによって前記サーバ証明書の有効性を判断する証明書判断ステップと、
    前記サーバ証明書が有効であると判断された場合に、前記サーバ装置との通信を確立し、前記サーバ証明書が有効でないと判断された場合に、前記サーバ装置との通信を確立しない通信制御ステップと
    を含むことを特徴とする通信方法。
  14. サーバ装置の正当性を示すサーバ証明書を発行する証明書発行方法であって、
    サーバ証明書の有効性を判断する基準となる情報である失効番号を記憶手段に格納する失効番号記憶ステップと、
    新たなサーバ証明書を発行する発行ステップとを含み、
    前記発行ステップでは、前記記憶手段に記憶されている失効番号と同じか大きい値を示す識別番号を含ませて、前記サーバ証明書を発行する
    ことを特徴とする証明書発行方法。
  15. サーバ装置の正当性を示すサーバ証明書に基づいて前記サーバ装置と通信する通信装置のためのプログラムであって、
    前記サーバ証明書の有効性を判断する基準となる情報である失効番号を保持するリポジトリ装置から、前記失効番号を取得する失効番号取得ステップと、
    取得された失効番号を記憶手段に格納する失効番号格納ステップと、
    前記サーバ証明書を識別する識別番号を前記サーバ証明書から読み出す識別番号読み出しステップと、
    読み出された識別番号と前記記憶手段に記憶されている失効番号とを比較することによって前記サーバ証明書の有効性を判断する証明書判断ステップと、
    前記サーバ証明書が有効であると判断された場合に、前記サーバ装置との通信を確立し、前記サーバ証明書が有効でないと判断された場合に、前記サーバ装置との通信を確立しない通信制御ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  16. サーバ装置の正当性を示すサーバ証明書を発行する証明書発行装置のためのプログラムであって、
    サーバ証明書の有効性を判断する基準となる情報である失効番号を記憶手段に格納する失効番号記憶ステップと、
    新たなサーバ証明書を発行する発行ステップとをコンピュータに実行させ、
    前記発行ステップでは、前記記憶手段に記憶されている失効番号と同じか大きい値を示す識別番号を含ませて、前記サーバ証明書を発行する
    ことを特徴とするプログラム。
JP2003100866A 2003-04-03 2003-04-03 通信装置、証明書発行装置及び通信システム Pending JP2004312197A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2003100866A JP2004312197A (ja) 2003-04-03 2003-04-03 通信装置、証明書発行装置及び通信システム
EP04717858A EP1616425A1 (en) 2003-04-03 2004-03-05 Apparatuses, methods and computer software productus for judging the validity of a server certificate
CNB2004800093354A CN100550897C (zh) 2003-04-03 2004-03-05 用于判断服务器证书有效性的设备、方法
PCT/JP2004/002928 WO2004091166A1 (en) 2003-04-03 2004-03-05 Apparatuses, methods and computer software productus for judging the validity of a server certificate
CA002513434A CA2513434A1 (en) 2003-04-03 2004-03-05 Communication apparatus, certificate issuing apparatus, and communication system
KR1020057018743A KR20060006910A (ko) 2003-04-03 2004-03-05 서버 증명서의 유효성을 판단하기 위한 장치, 방법 및컴퓨터 소프트웨어 제품
US10/541,215 US20060155855A1 (en) 2003-04-03 2004-03-05 Apparatus, methods and computer software productus for judging the validity of a server certificate
TW093108891A TW200503501A (en) 2003-04-03 2004-03-31 Communication apparatus, certificate issuing apparatus, and communication system

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2004312197A true JP2004312197A (ja) 2004-11-04

Family

ID=33156741

Family Applications (1)

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

Country Status (8)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006197057A (ja) * 2005-01-12 2006-07-27 Matsushita Electric Ind Co Ltd 情報表示システム、情報表示の方法およびそのプログラム
JP2007116456A (ja) * 2005-10-20 2007-05-10 Sharp Corp 情報通信端末、認証装置、情報通信システム、および記録媒体
WO2016047105A1 (ja) * 2014-09-25 2016-03-31 日本電気株式会社 通信制御装置、通信制御方法、通信制御プログラムが格納された記録媒体、及び、情報システム

Families Citing this family (39)

* 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
MXPA06010776A (es) * 2004-03-22 2006-12-15 Samsung Electronics Co Ltd Autentificacion entre un dispositivo y un almacenamiento portatil.
DE602005018038D1 (de) * 2004-04-30 2010-01-14 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
JP4596333B2 (ja) * 2004-09-24 2010-12-08 シンクプラス リミテッド データ通信方法
JP2007042204A (ja) * 2005-08-02 2007-02-15 Sony Corp 再生装置、期限通知方法および期限通知プログラム
JP4449899B2 (ja) * 2005-12-28 2010-04-14 ブラザー工業株式会社 管理装置及びプログラム
JP4449931B2 (ja) 2006-03-30 2010-04-14 ブラザー工業株式会社 管理装置、および管理システム
CN101490688A (zh) * 2006-07-07 2009-07-22 桑迪士克股份有限公司 使用证书撤回列表的内容控制系统和方法
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
CN101568930B (zh) * 2007-10-02 2012-08-01 松下电器产业株式会社 著作权保护系统、再现装置及再现方法
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
JP5952266B2 (ja) 2011-04-22 2016-07-13 パナソニック株式会社 無効化リスト生成装置、無効化リスト生成方法及びコンテンツ管理システム
US8997216B2 (en) * 2011-04-25 2015-03-31 Panasonic Corporation Recording medium apparatus and control method for authenticating a device based on a revocation list
JP5899751B2 (ja) * 2011-09-28 2016-04-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
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
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 阿里巴巴集团控股有限公司 可信远程证明方法、装置和系统
WO2020006760A1 (zh) 2018-07-06 2020-01-09 巽晨国际股份有限公司 加速食品氧化速率的系统与方法
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006197057A (ja) * 2005-01-12 2006-07-27 Matsushita Electric Ind Co Ltd 情報表示システム、情報表示の方法およびそのプログラム
JP2007116456A (ja) * 2005-10-20 2007-05-10 Sharp Corp 情報通信端末、認証装置、情報通信システム、および記録媒体
WO2016047105A1 (ja) * 2014-09-25 2016-03-31 日本電気株式会社 通信制御装置、通信制御方法、通信制御プログラムが格納された記録媒体、及び、情報システム
JPWO2016047105A1 (ja) * 2014-09-25 2017-06-08 日本電気株式会社 通信制御装置、通信制御方法、通信制御プログラム、及び、情報システム
US10367848B2 (en) 2014-09-25 2019-07-30 Nec Corporation Transmitting relay device identification information in response to broadcast request if device making request is authorized

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2004312197A (ja) 通信装置、証明書発行装置及び通信システム
US6993652B2 (en) Method and system for providing client privacy when requesting content from a public server
JP4770227B2 (ja) Sipメッセージの暗号化方法,および暗号化sip通信システム
US20060156391A1 (en) Method and apparatus providing policy-based revocation of network security credentials
US20060294366A1 (en) Method and system for establishing a secure connection based on an attribute certificate having user credentials
CN113497778B (zh) 一种数据的传输方法和装置
EP2779524A1 (en) Secure data transmission method, device and system
US20120204025A1 (en) System and method for client-side authentication for secure internet communications
US7120793B2 (en) System and method for electronic certificate revocation
US20050138365A1 (en) Mobile device and method for providing certificate based cryptography
US8274401B2 (en) Secure data transfer in a communication system including portable meters
JP2007328482A (ja) 通信処理方法及びコンピュータ・システム
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
KR101621044B1 (ko) IoT 환경에서 공개키 배포를 이용한 정보 보안 장치 및 방법
US11777743B2 (en) Method for securely providing a personalized electronic identity on a terminal
Li et al. A secure sign-on protocol for smart homes over named data networking
CN111756528A (zh) 一种量子会话密钥分发方法、装置及通信架构
US11283629B2 (en) Automated replacement of renewable server certificates
CN110138558B (zh) 会话密钥的传输方法、设备及计算机可读存储介质
CN112053477B (zh) 智能门锁的控制系统、方法、装置及可读存储介质
EP4236137A1 (en) Data transmission method and apparatus, device, system, and storage medium
JP2009212689A (ja) 共通鍵自動配布システム、クライアント、第三者認証機関側サーバ、及び共通鍵自動共有方法
CN114598455A (zh) 数字证书签发的方法、装置、终端实体和系统
Stoev et al. An approach for securing MQTT protocol in ESP8266 WiFi module
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100126