JP2016116134A - 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法 - Google Patents

署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法 Download PDF

Info

Publication number
JP2016116134A
JP2016116134A JP2014254570A JP2014254570A JP2016116134A JP 2016116134 A JP2016116134 A JP 2016116134A JP 2014254570 A JP2014254570 A JP 2014254570A JP 2014254570 A JP2014254570 A JP 2014254570A JP 2016116134 A JP2016116134 A JP 2016116134A
Authority
JP
Japan
Prior art keywords
signature
server certificate
hash value
public key
key
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
JP2014254570A
Other languages
English (en)
Inventor
正克 松尾
Masakatsu Matsuo
正克 松尾
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 Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2014254570A priority Critical patent/JP2016116134A/ja
Priority to US15/528,908 priority patent/US20170324567A1/en
Priority to PCT/JP2015/006022 priority patent/WO2016098303A1/ja
Publication of JP2016116134A publication Critical patent/JP2016116134A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/3247Cryptographic 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 digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Abstract

【課題】コストを低減し、セキュリティを確保して、署名検証の精度の低下を抑制できる署名検証装置を提供する。【解決手段】署名検証装置は、第2の公開鍵を含む第2のサーバ証明書と、第1の公開鍵と鍵ペアである秘密鍵を用いて第2のサーバ証明書から導出されたハッシュ値が暗号化されて生成された署名データと、を受信する通信部と、記憶部に記憶された第1の公開鍵を用いて署名データを復号し、第1のハッシュ値を取得する署名処理部と、第2のサーバ証明書から第2のハッシュ値を導出する一方向性関数導出部と、第1のハッシュ値と第2のハッシュ値とが一致した場合、署名データを生成した署名生成装置が正当であると判定する署名検証部と、を備える。【選択図】図5

Description

本発明は、署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法に関する。
従来、サーバ装置が端末にサーバ証明書(公開鍵を含む)を送信する場合、サーバ証明書が正規のものであることを保証するために、認証局(CA(Certificate Authority)局)が発行したデジタル署名(署名データ)をサーバ証明書に添付することが行われる。
端末は、認証局の署名データが添付されているサーバ証明書を受信すると、認証局の公開鍵で署名データを復号し、そのハッシュ値Hを計算する。
端末は、サーバ証明書のハッシュ値H´を計算し、ハッシュ値Hとハッシュ値H´を比較して一致している場合、サーバ証明書が不正なものでないと判断し、サーバ証明書に含まれる公開鍵を取得する。以後、サーバ装置と端末は公開鍵暗号方式で暗号通信が可能となる。
この種の先行技術として、非特許文献1には、デジタル署名に関する技術が記述されている。
金子俊夫(編集者)、「最新の暗号技術によるセキュリティの実現」、OPENDESIGN、NO.14、CQ出版、1996年6月、p104
非特許文献1に記載されたデジタル署名では、デジタル署名を取得するためのコストを要し、セキュリティが不十分となり、署名検証の精度が低下することがあった。
本発明は、上記事情に鑑みてなされたものであり、コストを低減し、セキュリティを確保して、署名検証の精度の低下を抑制できる署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法を提供する。
本発明の署名検証装置は、第1の公開鍵を含む第1のサーバ証明書を記憶する記憶部と、第2の公開鍵を含む第2のサーバ証明書と、前記第1の公開鍵と鍵ペアである秘密鍵を用いて前記第2のサーバ証明書から導出されたハッシュ値が暗号化されて生成された署名データと、を受信する通信部と、前記第1の公開鍵を用いて前記署名データを復号し、第1のハッシュ値を取得する署名処理部と、前記第2のサーバ証明書から第2のハッシュ値を導出する一方向性関数導出部と、前記第1のハッシュ値と前記第2のハッシュ値とが一致した場合、前記署名データを生成した署名生成装置が正当であると判定する署名検証部と、を備える。
本発明の署名生成装置は、第1の公開鍵及び第1の秘密鍵の鍵ペアと、第2の公開鍵及び第2の秘密鍵の鍵ペアを生成する鍵生成部と、前記第1の公開鍵を含む第1のサーバ証明書を生成し、前記第1のサーバ証明書を更新して前記第2の公開鍵を含む第2のサーバ証明書を生成する証明書生成部と、前記第2のサーバ証明書からハッシュ値を導出する一方向性関数導出部と、前記第1の秘密鍵を用いて前記ハッシュ値を暗号化し、署名データを生成する署名生成部と、を備える。
本発明の署名処理システムは、署名生成装置と署名検証装置とがネットワークを介して接続された署名処理システムであって、前記署名生成装置は、第1の公開鍵及び第1の秘密鍵の鍵ペアと、第2の公開鍵及び第2の秘密鍵の鍵ペアを生成する鍵生成部と、前記第1の公開鍵を含む第1のサーバ証明書を生成し、前記第1のサーバ証明書を更新して前記第2の公開鍵を含む第2のサーバ証明書を生成する証明書生成部と、前記第2のサーバ証明書からハッシュ値を導出する一方向性関数導出部と、前記第1の秘密鍵を用いて前記ハッシュ値を暗号化し、署名データを生成する署名生成部と、前記第2のサーバ証明書と前記署名データとを送信する第1の通信部と、を備え、前記署名検証装置は、前記第1の公開鍵を含む前記第1のサーバ証明書を記憶する記憶部と、前記第2のサーバ証明書及び前記署名データを受信する第2の通信部と、前記第1の公開鍵を用いて前記署名データを復号し、第1のハッシュ値を取得する署名処理部と、前記第2のサーバ証明書から第2のハッシュ値を導出する一方向性関数導出部と、前記第1のハッシュ値と前記第2のハッシュ値とが一致した場合、前記署名生成装置が正当であると判定する署名検証部と、を備える。
本発明の署名検証方法は、第1の公開鍵を含む第1のサーバ証明書を記憶する記憶部を備える署名検証装置における署名検証方法であって、第2の公開鍵を含む第2のサーバ証明書と、前記第1の公開鍵と鍵ペアである秘密鍵を用いて前記第2のサーバ証明書から導出されたハッシュ値が暗号化されて生成された署名データと、を受信するステップと、前記第1の公開鍵を用いて前記署名データを復号し、第1のハッシュ値を取得するステップと、前記第2のサーバ証明書から第2のハッシュ値を導出するステップと、前記第1のハッシュ値と前記第2のハッシュ値とが一致した場合、前記署名データを生成した署名生成装置が正当であると判定するステップと、を備える。
本発明の署名生成方法は、署名生成装置が署名データを生成する署名生成方法であって、第1の公開鍵及び第1の秘密鍵の鍵ペアを生成するステップと、前記第1の公開鍵を含む第1のサーバ証明書を生成するステップと、第2の公開鍵及び第2の秘密鍵の鍵ペアを生成するステップと、前記第1のサーバ証明書を更新して前記第2の公開鍵を含む第2のサーバ証明書を生成するステップと、前記第2のサーバ証明書からハッシュ値を導出するステップと、前記第1の秘密鍵を用いて前記ハッシュ値を暗号化し、署名データを生成するステップと、を備える。
本発明によれば、デジタル署名を取得するためのコストを低減し、セキュリティを確保して、署名検証の精度の低下を抑制できる。
実施形態における署名処理システムの構成例を示すブロック図 実施形態におけるサーバ装置の構成例を示すブロック図 実施形態における端末の構成例を示すブロック図 実施形態におけるサーバ装置によるサーバ証明書及び署名データの更新を説明するための模式図 実施形態における署名処理システムによるサーバ証明書の更新動作の一例を示すタイミングチャート (A)実施形態におけるサーバ装置によるサーバ証明書及び署名データの生成動作手順の一例を示すフローチャート、(B)実施形態におけるサーバ装置による通信動作手順の一例を示すフローチャート 実施形態における端末による署名検証動作手順の一例を示すフローチャート
以下、本発明の実施形態について、図面を用いて説明する。
(本発明の一形態を得るに至った経緯)
非特許文献1に記載されたデジタル署名では、サーバ装置が端末にサーバ証明書(公開鍵を含む)を送信する際、第三者である認証局が介在しなければならなかった。このため、認証局によるデジタル署名に対する費用が発生する。
また、認証局は、サーバ証明書を申請する申請者としてのサーバ装置が、正当なサーバ装置であることを前提として、申請者の正当性の調査が不十分な状態で、認証局による署名データが付されたサーバ証明書を発行していた。この場合、端末は、不正な申請者としてのサーバ装置から、公開鍵を含むサーバ証明書を取得する可能性がある。つまり、不正なサーバ装置が正当なサーバ装置であるとして成りすましでき、この場合には端末の通信に係るセキュリティが低下する。
また、セキュリティの観点からサーバ証明書が定期的に更新された場合、端末が保持するサーバ証明書とサーバ装置が保持するサーバ証明書とのバージョンがずれ、つまりサーバ証明書について同期ずれすることがある。この場合、仮に正当なサーバ装置がサーバ証明書を発行した場合でも、端末は、サーバ証明書を用いた署名検証によりサーバ装置が不当であると誤認識することになる。つまり、署名検証の精度が低下する。
以下、コストを低減し、セキュリティを確保して、署名検証の精度の低下を抑制できる署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法について説明する。
(実施形態)
図1は実施形態における署名処理システム10の構成例を示すブロック図である。署名処理システム10は、サーバ装置20及び端末30がネットワーク等に接続され、通信可能に接続された構成を有する。サーバ装置20と端末30とは、公開鍵暗号方式で暗号通信する。ここでは、サーバ装置20に1台の端末30が接続される場合を例示するが、複数台の端末30が接続される場合も同様である。
図2はサーバ装置20の構成例を示すブロック図である。サーバ装置20は、通信部21、ハッシュ計算部22、サーバ証明書生成部23、署名処理部24、鍵生成部25、署名データ記憶部26、秘密鍵記憶部27及びサーバ証明書記憶部28を有する。
サーバ装置20は、例えば、CPU(Central Processing Unit)又はDSP(Digital Signal Processor)を有する。サーバ装置20は、ROM(Read Only Memory)又はRAM(Random Access Memory)を有する。例えば、CPU又はDSPがROM又はRAMに保持されたプログラムを実行することで、ハッシュ計算部22、サーバ証明書生成部23、署名処理部24、及び鍵生成部25の各部の機能を実現する。
鍵生成部25は、公開鍵暗号方式で用いられる公開鍵と秘密鍵からなる鍵ペアを、例えば定期的に生成する。これにより、鍵ペアが更新されない場合と比較すると、セキュリティを向上できる。なお、鍵ペアはサーバ装置20の外で生成し、サーバ装置20に登録するものとしても良い。
秘密鍵記憶部27は、鍵生成部25により生成された秘密鍵を記憶する。秘密鍵が更新された場合、サーバ証明書の一連の更新作業が終了するまで使用されていた秘密鍵は破棄するのがセキュリティ上好ましい。
サーバ証明書生成部23は、鍵生成部25により生成された公開鍵を用いて、サーバ証明書を例えば定期的に生成する。サーバ証明書には、例えば公開鍵及び付加情報(会社名等)が含まれる。これにより、サーバ証明書が更新されない場合と比較すると、セキュリティを向上できる。尚、サーバ証明書には、上記付加情報が含まれなくてもよい。つまり、サーバ証明書と公開鍵とが同じでもよい。またサーバ証明書も鍵ペアと同様、サーバ装置20の外で生成し、サーバ装置20に登録するものとしても良い。
サーバ証明書記憶部28は、サーバ証明書生成部23により生成されたサーバ証明書を記憶する。サーバ証明書が更新された場合、当該更新まで使用されていたサーバ証明書は破棄されてもよいし、サーバ証明書記憶部28に引き続き保持されてもよい。
例えば、サーバ証明書は、時系列にサーバ証明書A、B、Cの順に生成される(図4参照)。つまり、サーバ証明書Aが最も古く、サーバ証明書Cが最新である。尚、公開鍵、秘密鍵、署名データ、ハッシュ値についても、サーバ証明と同様に、時系列で対応する符号が付される。
ハッシュ計算部22は、一方向性関数の1つであるハッシュ関数を用いて、サーバ証明書記憶部28に記憶されたサーバ証明書のハッシュ値を計算する。一方向性関数として、例えば、MD5(Message Digest Algorithm 5)、SHA(Secure Hash Algorithm)1、SHA256、SHA512、PRF(Pseudo Random Function)関数が用いられる。一方向性関数は、端末30と同じ関数であれば、特に限定されない。
署名処理部24は、ハッシュ計算部22により計算されたハッシュ値を、秘密鍵記憶部27に記憶された秘密鍵で暗号化し、署名データを生成する。例えば、署名処理部24は、サーバ証明書Bのハッシュ値HBを、前回(一世代前)の秘密鍵KSAで暗号化し、署名データSAを生成する(図4参照)。
署名データ記憶部26は、書き込み可能な記憶媒体であり、署名処理部24により生成された署名データを記憶する。
通信部21は、各種データを通信する。通信部21は、例えば、サーバ証明書記憶部28に記憶されたサーバ証明書、及び署名データ記憶部26に記憶された署名データを端末30に送信する。例えば、サーバ証明書Bと署名データSAとは、1セットで送信されても良いし(図5参照)、別々に送信されても良い。また、署名データSAをサーバ証明書Bに組み入れても良い。
また、通信部21は、例えば、端末30との間で、公開鍵暗号方式に従って暗号通信(例えばSSL(Secure Sockets Layer)通信)を行う。通信部21は、例えば、ネットワークを介して端末30との間で通信する。ネットワークは、例えば、インターネット、有線LAN(Local Area Network)、無線LANを含む。通信部21は、Bluetooth(登録商標)等の近距離無線通信を用いて、端末30と通信してもよい。
図3は、端末30の構成例を示すブロック図である。端末30は、通信部31、受信データ記憶部32、ハッシュ計算部33、判定部34、暗号復号処理部35及び証明書記憶部36を有する。
端末30は、例えば、CPU又はDSP、ROM又はRAMを有する。例えば、CPU又はDSPがROM又はRAMに保持されたプログラムを実行することで、ハッシュ計算部33、判定部34、及び暗号復号処理部35の各部の機能を実現する。
通信部31は、各種データを通信する。通信部31は、例えば、サーバ装置20から送信されるサーバ証明書及び署名データを受信する。例えば、サーバ証明書Bと署名データSAとは、1セットで受信される(図5参照)。
通信部31は、例えば、サーバ装置20との間で、公開鍵暗号方式に従って暗号通信(例えばSSL通信)を行う。通信部31は、例えば、ネットワークを介してサーバ装置20との間で通信する。ネットワークは、例えば、インターネット、有線LAN、無線LANを含む。通信部31は、Bluetooth(登録商標)等の近距離無線通信を用いて、サーバ装置20と通信してもよい。
受信データ記憶部32は、書き込み可能な記憶媒体であり、通信部31により受信されたサーバ証明書及び署名データを記憶する。
ハッシュ計算部33は、一方向性関数の1つであるハッシュ関数を用いて、受信データ記憶部32に記憶されたサーバ証明書のハッシュ値を計算する。一方向性関数として、例えば、MD5、SHA1、SHA256、SHA512、PRF関数が用いられる。一方向性関数は、サーバ装置20と同じ関数であれば、特に限定されない。
暗号復号処理部35は、受信データ記憶部32に記憶された署名データを、証明書記憶部36に記憶されたサーバ証明書に含まれる公開鍵で復号し、サーバ証明書のハッシュ値を得る。例えば、暗号復号処理部35は、署名データSAを、一世代前(前回)のサーバ証明書Aに含まれる公開鍵KPAで復号し、サーバ証明書Bのハッシュ値HBを得る(図4参照)。
暗号復号処理部35は、サーバ装置20との間での最新の公開鍵を用いた暗号通信時、サーバ装置20から受信したデータを、最新の公開鍵を用いて復号する。また、暗号復号処理部35は、サーバ装置20との間での最新の公開鍵を用いた暗号通信時、サーバ装置20へ送信するデータを、最新の公開鍵を用いて暗号化する。
判定部34は、暗号復号処理部35により得られたサーバ証明書のハッシュ値と、ハッシュ計算部33により計算されたハッシュ値とを比較し、これらのハッシュ値が一致するか否かを判定する。端末30は、双方のハッシュ値が一致する場合、署名データが正当であると判定できるので、正当なサーバ装置20から更新後のサーバ証明書を取得したと認識できる。
暗号復号処理部35は、判定部34による判定の結果、双方のハッシュ値が一致している場合、受信データ記憶部32に記憶された公開鍵を含むサーバ証明書を、証明書記憶部36に記憶させる。証明書記憶部36に既にサーバ証明書が記憶されている場合、暗号復号処理部35は、受信データ記憶部32に記憶された公開鍵を含むサーバ証明書で、サーバ証明書を更新する。尚、暗号復号処理部35は、証明書記憶部36に、サーバ証明書を記憶させずに、公開鍵を記憶させ又は更新してもよい。
証明書記憶部36は、書き込み可能な記憶媒体である。例えば、端末30の製造時に、初期の公開鍵を含むサーバ証明書(ここでは、サーバ証明書A)が証明書記憶部36に記憶される。
なお、判定部34による判定の結果、不一致である場合、暗号復号処理部35は、特に処理を行わない、又は、サーバ装置20との間に確立された通信セッションを切断してもよい。
次に、署名処理システム10の動作例について説明する。
図4はサーバ証明書及び署名データの更新の一例を説明するための模式図である。図中矢印aに示すように、上方に向かう程、日時は最近となる。
端末30の製造当初、サーバ装置20では、鍵生成部25は、初期の公開鍵KPA及び秘密鍵KSAからなる鍵ペアを生成し、サーバ証明書生成部23は、公開鍵KPAを含むサーバ証明書Aを作成する。秘密鍵KSAは、秘密鍵記憶部27に記憶される。初期の公開鍵KPAを含むサーバ証明書Aは、サーバ装置20から端末30へ送られ、端末30の証明書記憶部36に書き込まれる。なお、サーバ証明書Aを、サーバ装置20から端末30に送る方法は、ネットワーク転送に限られることに限られず、例えば、外部の記憶媒体を介して送られてもよい。
その後、サーバ装置20では、鍵生成部25は、新しい公開鍵KPB及び秘密鍵KSBからなる鍵ペアを生成し、サーバ証明書生成部23は、公開鍵KPBを含むサーバ証明書Bを作成する。秘密鍵記憶部27には、新たな秘密鍵KSBが記憶される。ハッシュ計算部22は、サーバ証明書Bのハッシュ値HBを計算する。署名処理部24は、ハッシュ値HBを、一世代前(前回)の秘密鍵KSAで暗号化することで、署名データSAを生成する。署名処理部24は、署名データSAの作成後、それまで使用されていた秘密鍵KSAを破棄して良い。
このように、サーバ証明書の公開鍵と鍵ペアである秘密鍵と、署名データの生成に用いられる秘密鍵とは、一世代異なる。例えば、署名データSAとサーバ証明書Bが1セットとして、サーバ装置20から端末30に送信される。なお、説明を簡便にするため、ここではサーバ証明書の公開鍵と鍵ペアである秘密鍵と、署名データの生成に用いられる秘密鍵とは、一世代異なるものしているが、二世代以上異なるとすることも可能である。
更にその後、サーバ装置20では、鍵生成部25は、新たな公開鍵KPC及び秘密鍵KSCからなる鍵ペアを生成し、サーバ証明書生成部23は、公開鍵KPCを含むサーバ証明書Cを作成する。秘密鍵記憶部27には、秘密鍵KSCが記憶される。ハッシュ計算部22は、サーバ証明書Cのハッシュ値HCを計算する。署名処理部24は、ハッシュ値HCを秘密鍵KSBで暗号化することで、署名データSBを生成する。署名処理部24は、署名データSBの作成後、それまで使用されていた秘密鍵KSBを捨てて良い。例えば、署名データSBとサーバ証明書Cが1セットとして、サーバ装置20から端末30に送信される。
尚、ハッシュ値は、公開鍵に付加情報が付加されたサーバ証明書から導出されてもよいし、公開鍵に付加情報が付加されていないサーバ証明書から導出されてもよい。
図5はサーバ証明書の更新動作例を示すタイミングチャートである。図5では、サーバ装置20が鍵ペア及びサーバ証明書を2世代分更新した後、端末30が同様に2世代分更新することを例示する。
サーバ装置20では、鍵生成部25は、秘密鍵KSB及び公開鍵KPBからなる鍵ペアを生成し、サーバ証明書生成部23は、公開鍵KPBを含むサーバ証明書Bを生成する。鍵生成部25は、秘密鍵記憶部27に記憶された公開鍵KPAを公開鍵KPBで更新し、サーバ証明書生成部23は、サーバ証明書記憶部28に記憶されたサーバ証明書Aをサーバ証明書Bで更新する(T0)。
ハッシュ計算部22は、サーバ証明書Bのハッシュ値HBを計算する。署名処理部24は、ハッシュ値HBを、一世代前(前回)の秘密鍵KSAで暗号化することで、署名データSAを生成する。
同様に、鍵生成部25は、秘密鍵KSC及び公開鍵KPCからなる鍵ペアを生成し、サーバ証明書生成部23は、公開鍵KPCを含むサーバ証明書Cを生成する。鍵生成部25は、秘密鍵記憶部27に記憶された公開鍵KPBを公開鍵KPCで更新し、サーバ証明書生成部23は、サーバ証明書記憶部28に記憶されたサーバ証明書Bをサーバ証明書Cで更新する(T0)。
ハッシュ計算部22は、サーバ証明書Cのハッシュ値HCを計算する。署名処理部24は、ハッシュ値HCを、一世代前(前回)の秘密鍵KSBで暗号化することで、署名データSBを生成する。
通信部21は、端末30に対し、サーバ証明書C及び署名データSB(1セット)と、サーバ証明書B及び署名データSA(1セット)とを送信する(T1)。
なお、説明を簡便にするため、ここでは通信部21は、端末30に対して、サーバ証明書C及び署名データSB(1セット)と、サーバ証明書B及び署名データSA(1セット)とを1度で送信するとしているが、端末30の指示に従って送ってもよい。
実際の利用においては、例えば、端末30がサーバ装置20から受信したサーバ証明書を記憶していない場合に、端末30がサーバ証明書をサーバ装置20へ要求すると、転送効率が向上する。その際、端末30は、サーバ装置20に対して、現在記憶しているサーバ証明書を提示することが好ましい。サーバ装置20は、端末30が記憶しているサーバ証明書とサーバ装置20が記憶している最新のサーバ証明書との世代の違いを認識し、その世代分のサーバ証明書及び署名データを送信することが好ましい。
端末30では、通信部31は、サーバ装置20から、サーバ証明書C及び署名データSBと、サーバ証明書B及び署名データSAとを受信し、受信データ記憶部32に記憶する(T2)。
暗号復号処理部35は、例えば製造時に証明書記憶部36に記憶されたサーバ証明書Aに含まれる公開鍵KPAを用いて、署名データSAを復号し、サーバ証明書Bのハッシュ値HBを得る。ハッシュ計算部33は、受信データ記憶部32に記憶されたサーバ証明書Bのハッシュ値HB´を計算する。判定部34は、ハッシュ値HBとハッシュ値HB´とを比較する(T3)。
この比較の結果、ハッシュ値HBとハッシュ値HB´とが一致していた場合、暗号復号処理部35は、受信データ記憶部32に記憶されたサーバ証明書Bに含まれる公開鍵KPBを用いて、署名データSBを復号し、サーバ証明書Cのハッシュ値HCを得る。ハッシュ計算部33は、受信データ記憶部32に記憶されたサーバ証明書Cのハッシュ値HC´を計算する。判定部34は、ハッシュ値HCとハッシュ値HC´を比較する(T4)。
この比較の結果、ハッシュ値HCとハッシュ値HC´とが一致していた場合、判定部34は、サーバ装置20が正当なサーバ装置であると判定する。そして、サーバ装置20と端末30とは、最新の公開鍵KPCを用いて、公開鍵暗号方式で暗号通信を行う(T5)。なお、端末30は、このサーバ証明書C、若しくは公開鍵KPCを記憶し、次回の通信から、このサーバ証明書C又は公開鍵KPCを利用するのが好ましい。
一方、ハッシュ値HBとハッシュ値HB´とが不一致である場合、又はハッシュ値HCとハッシュ値HC´とが不一致である場合、判定部34は、サーバ装置20が不当なサーバ装置であると判定する。この場合、サーバ装置20と端末30とは、T5における暗号通信は行わない。
尚、ここでは、サーバ証明書C及び署名データSBと、サーバ証明書B及び署名データSAとの2セット分を、古い順に更新処理する場合を示したが、3セット分以上を古い順から更新処理する場合も、同様である。
また、サーバ証明書が1回だけ更新された場合も同様である。この場合、サーバ装置20では、通信部21が、サーバ証明書Bと署名データSAとを送信する。端末30では、暗号復号処理部35が、例えば製造時に書き込まれた公開鍵KPAで署名データSAを復号し、サーバ証明書Bのハッシュ値HBを取得する。また、ハッシュ計算部33は、受信されたサーバ証明書Bのハッシュ値HB´を計算する。ハッシュ値HBとハッシュ値HB´とが一致している場合、判定部34は、サーバ証明書Bに含まれる公開鍵KPBを最新の公開鍵と判定する。これにより、サーバ装置20と端末30との双方が、公開鍵KPBを最新の公開鍵であると認識できる。
署名処理システム10の動作によれば、セキュリティの観点からサーバ証明書が定期的に更新された場合でも、サーバ装置20が保持する最新のサーバ証明書と、端末30が保持する最新のサーバ証明書とでバージョンのずれを解消できる。従って、署名処理システム10は、セキュリティを確保しつつ、端末30とサーバ装置20との間で行われるサーバ証明書の署名検証の精度の低下を抑制できる。
また、サーバ装置20と端末30との間に、第三者である認証局が必須ではないので、署名処理システム10は、認証局によるデジタル署名に対する費用が発生せず、経費を削減できる。また、署名処理システム10は、端末30が不正な公開鍵を取得することを抑制でき、端末30の接続相手として、不正なサーバ装置がなりすましとなる可能性を低減できる。
また、サーバ装置20が正当であると判定された際の、最新のサーバ証明書に含まれる公開鍵を用いて暗号通信が行われるので、署名処理システム10は、通信時のセキュリティを確保できる。
図6(A),(B)は、サーバ装置20の動作例を示すフローチャートである。図6(A)はサーバ装置20によるサーバ証明書及び署名データの生成動作手順の一例を示すフローチャートである。
まず、鍵生成部25は、所定時間の経過等のイベント(例えば定期的なイベント)によって、鍵生成のタイミングになるまで待つ(S1)。
鍵生成のタイミングになると、鍵生成部25は、公開鍵及び秘密鍵からなる鍵ペアを生成する(S2)。サーバ証明書生成部23は、この公開鍵を含むサーバ証明書を生成する(S2)。
秘密鍵記憶部27は、鍵生成部25によって生成された鍵ペアのうち、秘密鍵を記憶する(S3)。サーバ証明書記憶部28は、生成されたサーバ証明書を記憶する(S3)。
サーバ装置20の制御部(不図示)は、今回の鍵生成が最初(1回目)であるか否かを判別する(S4)。端末30の製造時等、1回目である場合、サーバ装置20はS1の処理に戻る。一方、今回の鍵生成が2回目以降である場合、サーバ装置20はS5の処理に進む。ここでS1に処理が戻るのは、世代を異なるデータを用いて署名データを生成するためである。
ハッシュ計算部22は、S2で生成されたサーバ証明書のハッシュ値を計算する(S5)。署名処理部24は、一世代前(前回)の鍵生成で生成された、前回の秘密鍵を用いて、S5で計算されたハッシュ値を暗号化し、署名データを生成する(S6)。署名データ記憶部26は、S6で生成された署名データを記憶する(S7)。この後、サーバ装置20はS1の処理に戻る。
図6(B)は、サーバ装置20による通信動作手順の一例を示すフローチャートである。通信部21は、端末30に対し、例えば前述したサーバ証明書C及び署名データSBと、サーバ証明書B及び署名データSAとを送信する(S11)。
端末30により署名データSBが検証され、検証結果が正常である場合(例えば上記のハッシュ値HB,HB´が一致)、通信部21は、端末30との間で、秘密鍵記憶部27に記憶された秘密鍵KSCを用いて、公開鍵暗号方式で暗号通信を行う(S12)。この後、サーバ装置20は本動作を終了する。
サーバ装置20の動作によれば、セキュリティの観点からサーバ証明書が定期的に更新された場合でも、サーバ装置20が保持する最新のサーバ証明書と、端末30が保持する最新のサーバ証明書とでバージョンのずれを解消できる。従って、サーバ装置20は、セキュリティを確保しつつ、端末30とサーバ装置20との間で行われるサーバ証明書の署名検証の精度の低下を抑制できる。
また、サーバ装置20と端末30との間に、第三者である認証局が必須ではないので、サーバ装置20は、認証局によるデジタル署名に対する費用が発生せず、経費を削減できる。また、サーバ装置20は、端末30が不正な公開鍵を取得することを抑制でき、端末30の接続相手として、不正なサーバ装置がなりすましとなる可能性を低減できる。
また、サーバ装置20は、最新のサーバ証明書に含まれる公開鍵を用いて端末30との間で暗号通信できるので、通信時のセキュリティを確保できる。
尚、サーバ装置20は、鍵の更新を行う場合、端末30に対し、最初にサーバ証明書C及び署名データSBと、サーバ証明書B及び署名データSAと、を送らず、まず、通常の公開鍵暗号方式で暗号通信を行ってもよい。
この場合、サーバ装置20は、最新の証明書であるサーバ証明書Cを端末30に送って公開鍵暗号方式で暗号通信を試みる。端末30がサーバ証明書Cを認識できないと返信した場合、言い換えると端末30が最新のサーバ証明書を要求するための要求信号を送信した場合、サーバ装置20は、サーバ証明書C及び署名データSBと、サーバ証明書B及び署名データSAを送るようにしてもよい。つまり、端末30からの要求信号を受信した場合に、サーバ装置20が鍵更新に関する処理を行ってもよい。これにより、サーバ証明書B及び署名データSB,SAが不要の場合には通信処理の負荷を軽減でき、ネットワーク上のトラフィックを抑制できる。
また、サーバ装置20は、端末30からの要求信号を受信した場合に限らず、サーバ装置20自身において通信要求が発生した場合に、サーバ装置20が鍵更新に関する処理を行ってもよい。
また、端末30は、サーバ証明書Cを認識不能である旨を返信する場合、端末30が保持するサーバ証明書(例えばサーバ証明書B,A)をサーバ装置20に通知してもよい。これにより、例えば、既に、端末30がサーバ証明書Bを保持しているにもかかわらず、サーバ装置20がサーバ証明書Bを端末へ送るような不要な動作を可否できる。
図7は、端末30による署名検証動作手順の一例を示すフローチャートである。図7では、図5と同様のケースを想定している。つまり、初期状態として、サーバ装置20では、サーバ証明書C,B及び署名データSB,SAが保持され、端末30では、公開鍵KPAを含むサーバ証明書Aが保持されている。
まず、通信部31は、サーバ装置20からデータを受信するまで待つ(S21)。通信部31は、データを受信すると、受信されたデータである、サーバ証明書C及び署名データSBと、サーバ証明書B及び署名データSAと、を受信データ記憶部32に記憶させる(S22)。
暗号復号処理部35は、証明書記憶部36に記憶された公開鍵KPAで署名データSAを復号し、ハッシュ値HBを取得する。ハッシュ計算部33は、サーバ証明書Bのハッシュ値HB´を計算する(S23)。
判定部34は、ハッシュ値HBとハッシュ値HB´とを比較し、これらが一致するか否かを判別する(S24)。これらが一致した場合、暗号復号処理部35は、サーバ証明書Bに含まれる公開鍵KPBで署名データSBを復号し、ハッシュ値HCを取得する。ハッシュ計算部33は、サーバ証明書Cのハッシュ値HC´を計算する(S25)。
判定部34は、ハッシュ値HCとハッシュ値HC´とを比較し、これらが一致するか否かを判別する(S26)。これらが一致した場合、通信部31は、端末30に対し、最新の公開鍵KPCを用いて、公開鍵暗号方式で暗号通信を行う(S27)。この後、端末30は本動作を終了する。
一方、S24又はS26において、判定部34が不一致であると判別した場合、端末30は、暗号通信を行わずに本動作を終了する。
端末30の動作によれば、セキュリティの観点からサーバ証明書が定期的に更新された場合でも、サーバ装置20が保持する最新のサーバ証明書と、端末30が保持する最新のサーバ証明書とでバージョンのずれを解消できる。従って、端末30は、セキュリティを確保しつつ、端末とサーバ装置との間で行われるサーバ証明書の署名検証の精度の低下を抑制できる。
また、サーバ装置20と端末30との間に、第三者である認証局が必須ではないので、認証局によるデジタル署名に対する費用が発生せず、経費が削減される。また、端末30は、端末30が不正な公開鍵を取得することを抑制でき、端末30の接続相手として、不正なサーバ装置がなりすましとなる可能性を低減できる。
また、端末30は、最新のサーバ証明書に含まれる公開鍵を用いてサーバ装置20との間で暗号通信できるので、通信時のセキュリティを確保できる。
また、端末30は、端末30が組み込み機器であり、リモートメンテナンス機能を有する場合でも、リモートメンテナンスを指示する通信相手(サーバ装置、リーダー等)が正当な通信相手であるか否かを検証できる。従って、端末30は、リモートメンテナンスに係るセキュリティを向上できる。
以上、図面を参照しながら実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
上記実施形態では、サーバ証明書のハッシュ値を暗号化して署名データを生成することを主に例示したが、サーバ証明書に含まれる公開鍵、若しくは公開鍵の一部データを含む何らかのデータ、のハッシュ値を暗号化して、署名データを生成してもよい。これにより、署名データを生成する際、付加情報の暗号化処理が省かれるので、暗号化処理の負荷を低減できる。また、通信時のデータ量が少なくなるので、ネットワーク上のトラフィックを低減できる。
上記実施形態では、サーバ装置20は、最新の秘密鍵で暗号化されたデータを端末30が認識できない場合、過去に生成したサーバ証明書(製造時のサーバ証明書を除く)及び署名データを端末に送信することを主に例示した。この代わりに、サーバ装置20は、端末30が保持する最新のサーバ証明書のバージョンの情報を受信して、そのバージョン以降のサーバ証明書及び署名データを送信してもよい。これにより、通信時のデータ量が少なくなるので、処理負荷を軽減でき、ネットワーク上のトラフィックを低減できる。
以上のように、端末30は、証明書記憶部36と、通信部31と、暗号復号処理部35と、ハッシュ計算部33と、判定部34と、を備える。証明書記憶部36は、公開鍵KPAを含むサーバ証明書Aを記憶する。通信部31は、公開鍵KPBを含むサーバ証明書Bと、公開鍵KPAと鍵ペアである秘密鍵KSAを用いてサーバ証明書Bから導出されたハッシュ値HBが暗号化されて生成された署名データSAと、を受信する。暗号復号処理部35は、公開鍵KPAを用いて署名データHAを復号し、ハッシュ値HB´を取得する。ハッシュ計算部33は、サーバ証明書Bからハッシュ値HBを導出する。判定部34は、ハッシュ値HB´とハッシュ値HBとが一致した場合、署名データSAを生成したサーバ装置20が正当であると判定する。
尚、端末30は、署名検証装置の一例である。サーバ装置20は、署名生成装置の一例である。証明書記憶部36は、記憶部の一例である。暗号復号処理部35は、署名処理部の一例である。ハッシュ計算部33は、一方向性関数導出部の一例である。判定部34は、署名検証部の一例である。公開鍵KPAは第1の公開鍵の一例である。公開鍵KPBは第2の公開鍵の一例である。サーバ証明書Aは、第1のサーバ証明書の一例である。サーバ証明書Bは、第2のサーバ証明書の一例である。ハッシュ値HB´は第1のハッシュ値の一例である。ハッシュ値HBは第2のハッシュ値の一例である。
これにより、ハッシュ値を用いて容易に署名検証でき、サーバ装置の成りすましを低減できる。そのため、端末30とサーバ装置20との間の通信に係るセキュリティを確保できる。また、端末30とサーバ装置20とが保持するサーバ証明書のバージョンがずれても、世代の異なる公開鍵又はサーバ証明書に基づいて生成された署名データを用いて、サーバ装置20の正当性を適切に検証できる。従って、署名検証の精度を向上できる。
また、通信部31は、判定部34によりサーバ装置20が正当であると判定された場合、公開鍵KPBを用いて、サーバ装置20との間で暗号通信してもよい。
これにより、端末30とサーバ装置20が保持するサーバ証明書のバージョンが異なる場合でも、端末30は更新後のサーバ証明書を安全に取得して、暗号通信に用いることができる。
また、証明書記憶部36は、判定部34によりサーバ装置20が正当であると判定された場合、サーバ証明書Bを記憶してもよい。
これにより、端末30がサーバ証明書を更新した後は、サーバ装置20が更にサーバ証明書を更新するまで、サーバ証明書を用いてサーバ装置20との間で安全に暗号通信できる。
また、サーバ装置20は、鍵生成部25と、サーバ証明書生成部23と、ハッシュ計算部22と、署名処理部24と、を備える。鍵生成部25は、公開鍵KPA及び秘密鍵KSAの鍵ペアと、公開鍵KPB及び秘密鍵KSBの鍵ペアを生成する。サーバ証明書生成部23は、公開鍵KPAを含むサーバ証明書Aを生成し、サーバ証明書Aを更新して公開鍵KPBを含むサーバ証明書Bを生成する。ハッシュ計算部22は、サーバ証明書Bからハッシュ値HBを導出する。署名処理部24は、秘密鍵KSAを用いてハッシュ値HBを暗号化し、署名データSAを生成する。
尚、サーバ証明書生成部23は、証明書生成部の一例である。ハッシュ計算部22は、一方向性関数導出部の一例である。署名処理部24は、署名生成部の一例である。秘密鍵KSAは、第1の秘密鍵の一例である。秘密鍵KSBは、第2の秘密鍵の一例である。
これにより、認証局が署名データを用いる必要がないので、デジタル署名に対する費用を低減できる。また、ハッシュ値を用いて容易に署名生成でき、サーバ装置の成りすましを低減できる。そのため、端末30とサーバ装置20との間の通信に係るセキュリティを確保できる。また、サーバ装置20が世代の異なる公開鍵又はサーバ証明書に基づく情報を用いて署名データを生成するので、端末30とサーバ装置20とが保持するサーバ証明書のバージョンがずれても、署名データを用いてサーバ装置20の正当性を適切に検証できる。従って、署名検証の精度を向上できる。
また、通信部21は、サーバ証明書Bと署名データSAとを送信してもよい。
これにより、端末30は、サーバ証明書Bと署名データSAとを取得し、署名検証に係る処理を実施できる。
また、通信部21は、署名データSAを検証する端末30から要求信号を受信し、要求信号に応じて、サーバ証明書Bと署名データSAとを端末30へ送信してもよい。
これにより、端末30は、例えばサーバ装置20と端末30とが保持するサーバ証明書のバージョンが異なる場合に更新情報を要求することで、サーバ証明書Bと署名データSAとを取得し、署名検証に係る処理を実施できる。従って、サーバ装置20及び端末30の負荷を低減し、ネットワークトラフィックを低減できる。
また、署名処理システム10は、サーバ装置20と端末30とがネットワークを介して接続されたシステムである。
これにより、認証局が署名データを用いる必要がないので、デジタル署名に対する費用を低減できる。また、ハッシュ値を用いて容易に署名生成及び署名検証でき、サーバ装置の成りすましを低減できる。そのため、端末30とサーバ装置20との間の通信に係るセキュリティを確保できる。また、サーバ装置20及び端末30が、世代の異なる公開鍵又はサーバ証明書に基づく情報を用いて署名生成及び署名検証するので、端末30とサーバ装置20とが保持するサーバ証明書のバージョンがずれても、サーバ装置20の正当性を適切に検証できる。従って、署名検証の精度を向上できる。
また、端末30における署名検証方法は、以下の第1〜第4のステップを備える。第1のステップでは、公開鍵KPBを含むサーバ証明書Bと、公開鍵KPAと鍵ペアである秘密鍵KSAを用いてサーバ証明書Bから導出されたハッシュ値HBが暗号化されて生成された署名データSAと、を受信する。第2のステップでは、公開鍵KPAを用いて署名データSAを復号し、ハッシュ値HB´を取得する。第3のステップでは、サーバ証明書Bからハッシュ値HBを導出する。第4のステップでは、ハッシュ値HB´とハッシュ値HBとが一致した場合、署名データSAを生成したサーバ装置20が正当であると判定する。
これにより、ハッシュ値を用いて容易に署名検証でき、サーバ装置の成りすましを低減できる。そのため、端末30とサーバ装置20との間の通信に係るセキュリティを確保できる。また、端末30とサーバ装置20とが保持するサーバ証明書のバージョンがずれても、世代の異なる公開鍵又はサーバ証明書に基づいて生成された署名データを用いて、サーバ装置20の正当性を適切に検証できる。従って、署名検証の精度を向上できる。
また、サーバ装置20における署名生成方法は、以下の第1〜第6のステップを備える。第1のステップでは、公開鍵KPA及び秘密鍵KSAの鍵ペアを生成する。第2のステップでは、公開鍵KPAを含むサーバ証明書Aを生成するステップと、第3のステップでは、公開鍵KPB及び秘密鍵KSBの鍵ペアを生成する。第4のステップでは、サーバ証明書Aを更新して公開鍵KPBを含むサーバ証明書Bを生成する。第5のステップでは、サーバ証明書Bからハッシュ値HBを導出する。第6のステップでは、秘密鍵KSAを用いてハッシュ値HBを暗号化し、署名データSAを生成する。
これにより、認証局が署名データを用いる必要がないので、デジタル署名に対する費用を低減できる。また、ハッシュ値を用いて容易に署名生成でき、サーバ装置の成りすましを低減できる。そのため、端末30とサーバ装置20との間の通信に係るセキュリティを確保できる。また、サーバ装置20が世代の異なる公開鍵又はサーバ証明書に基づく情報を用いて署名データを生成するので、端末30とサーバ装置20とが保持するサーバ証明書のバージョンがずれても、署名データを用いてサーバ装置20の正当性を適切に検証できる。従って、署名検証の精度を向上できる。
本発明は、コストを低減し、セキュリティを確保して、署名検証の精度の低下を抑制できる署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法等に有用である。
10 署名処理システム
20 サーバ装置
21 通信部
22 ハッシュ計算部
23 サーバ証明書生成部
24 署名処理部
25 鍵生成部
26 署名データ記憶部
27 秘密鍵記憶部
28 サーバ証明書記憶部
30 端末
31 通信部
32 受信データ記憶部
34 判定部
33 ハッシュ計算部
35 暗号復号処理部
36 証明書記憶部

Claims (9)

  1. 第1の公開鍵を含む第1のサーバ証明書を記憶する記憶部と、
    第2の公開鍵を含む第2のサーバ証明書と、前記第1の公開鍵と鍵ペアである秘密鍵を用いて前記第2のサーバ証明書から導出されたハッシュ値が暗号化されて生成された署名データと、を受信する通信部と、
    前記第1の公開鍵を用いて前記署名データを復号し、第1のハッシュ値を取得する署名処理部と、
    前記第2のサーバ証明書から第2のハッシュ値を導出する一方向性関数導出部と、
    前記第1のハッシュ値と前記第2のハッシュ値とが一致した場合、前記署名データを生成した署名生成装置が正当であると判定する署名検証部と、
    を備える署名検証装置。
  2. 請求項1に記載の署名検証装置であって、更に、
    前記通信部は、前記署名検証部により前記署名生成装置が正当であると判定された場合、前記第2の公開鍵を用いて、前記署名生成装置との間で暗号通信する、署名検証装置。
  3. 請求項1または2に記載の署名検証装置であって、
    前記記憶部は、前記署名検証部により前記署名生成装置が正当であると判定された場合、前記第2のサーバ証明書を記憶する、署名検証装置。
  4. 第1の公開鍵及び第1の秘密鍵の鍵ペアと、第2の公開鍵及び第2の秘密鍵の鍵ペアを生成する鍵生成部と、
    前記第1の公開鍵を含む第1のサーバ証明書を生成し、前記第1のサーバ証明書を更新して前記第2の公開鍵を含む第2のサーバ証明書を生成する証明書生成部と、
    前記第2のサーバ証明書からハッシュ値を導出する一方向性関数導出部と、
    前記第1の秘密鍵を用いて前記ハッシュ値を暗号化し、署名データを生成する署名生成部と、
    を備える署名生成装置。
  5. 請求項4に記載の署名生成装置であって、更に、
    前記第2のサーバ証明書と前記署名データとを送信する通信部を備える、署名生成装置。
  6. 請求項5に記載の署名生成装置であって、更に、
    前記通信部は、前記署名データを検証する署名検証装置から要求信号を受信し、前記要求信号に応じて、前記第2のサーバ証明書と前記署名データとを前記署名検証装置へ送信する、署名生成装置。
  7. 署名生成装置と署名検証装置とがネットワークを介して接続された署名処理システムであって、
    前記署名生成装置は、
    第1の公開鍵及び第1の秘密鍵の鍵ペアと、第2の公開鍵及び第2の秘密鍵の鍵ペアを生成する鍵生成部と、
    前記第1の公開鍵を含む第1のサーバ証明書を生成し、前記第1のサーバ証明書を更新して前記第2の公開鍵を含む第2のサーバ証明書を生成する証明書生成部と、
    前記第2のサーバ証明書からハッシュ値を導出する一方向性関数導出部と、
    前記第1の秘密鍵を用いて前記ハッシュ値を暗号化し、署名データを生成する署名生成部と、
    前記第2のサーバ証明書と前記署名データとを送信する第1の通信部と、
    を備え、
    前記署名検証装置は、
    前記第1の公開鍵を含む前記第1のサーバ証明書を記憶する記憶部と、
    前記第2のサーバ証明書及び前記署名データを受信する第2の通信部と、
    前記第1の公開鍵を用いて前記署名データを復号し、第1のハッシュ値を取得する署名処理部と、
    前記第2のサーバ証明書から第2のハッシュ値を導出する一方向性関数導出部と、
    前記第1のハッシュ値と前記第2のハッシュ値とが一致した場合、前記署名生成装置が正当であると判定する署名検証部と、
    を備える署名処理システム。
  8. 第1の公開鍵を含む第1のサーバ証明書を記憶する記憶部を備える署名検証装置における署名検証方法であって、
    第2の公開鍵を含む第2のサーバ証明書と、前記第1の公開鍵と鍵ペアである秘密鍵を用いて前記第2のサーバ証明書から導出されたハッシュ値が暗号化されて生成された署名データと、を受信するステップと、
    前記第1の公開鍵を用いて前記署名データを復号し、第1のハッシュ値を取得するステップと、
    前記第2のサーバ証明書から第2のハッシュ値を導出するステップと、
    前記第1のハッシュ値と前記第2のハッシュ値とが一致した場合、前記署名データを生成した署名生成装置が正当であると判定するステップと、
    を備える署名検証方法。
  9. 署名生成装置における署名生成方法であって、
    第1の公開鍵及び第1の秘密鍵の鍵ペアを生成するステップと、
    前記第1の公開鍵を含む第1のサーバ証明書を生成するステップと、
    第2の公開鍵及び第2の秘密鍵の鍵ペアを生成するステップと、
    前記第1のサーバ証明書を更新して前記第2の公開鍵を含む第2のサーバ証明書を生成するステップと、
    前記第2のサーバ証明書からハッシュ値を導出するステップと、
    前記第1の秘密鍵を用いて前記ハッシュ値を暗号化し、署名データを生成するステップと、
    を備える署名生成方法。
JP2014254570A 2014-12-16 2014-12-16 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法 Pending JP2016116134A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014254570A JP2016116134A (ja) 2014-12-16 2014-12-16 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
US15/528,908 US20170324567A1 (en) 2014-12-16 2015-12-04 Signature verification device, signature generation device, signature processing system, signature verification method, and signature generation method
PCT/JP2015/006022 WO2016098303A1 (ja) 2014-12-16 2015-12-04 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014254570A JP2016116134A (ja) 2014-12-16 2014-12-16 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法

Publications (1)

Publication Number Publication Date
JP2016116134A true JP2016116134A (ja) 2016-06-23

Family

ID=56126211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014254570A Pending JP2016116134A (ja) 2014-12-16 2014-12-16 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法

Country Status (3)

Country Link
US (1) US20170324567A1 (ja)
JP (1) JP2016116134A (ja)
WO (1) WO2016098303A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020088726A (ja) * 2018-11-29 2020-06-04 富士通株式会社 鍵生成装置、鍵更新方法および鍵更新プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766914B (zh) * 2016-08-23 2021-04-13 华大恒芯科技有限公司 用于电子标签有限次操作的安全防护方法
US10951422B2 (en) * 2017-02-22 2021-03-16 CTIA—The Wireless Association Mobile message source authentication
EP3530602B1 (en) * 2018-02-23 2020-06-17 Otis Elevator Company Safety circuit for an elevator system, device and method of updating such a safety circuit
JP6952661B2 (ja) * 2018-08-30 2021-10-20 株式会社東芝 情報処理装置、通信機器、情報処理システム、情報処理方法、および情報処理プログラム
CN109831311B (zh) * 2019-03-21 2022-04-01 深圳市网心科技有限公司 一种服务器验证方法、系统、用户终端及可读存储介质
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11361660B2 (en) * 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation
CN112910627B (zh) * 2019-12-03 2023-02-10 华为技术有限公司 密钥的更新方法、数据解密方法、数字签名的验证方法
US11645372B2 (en) 2020-01-22 2023-05-09 International Business Machines Corporation Multifactor handwritten signature verification
CN112713996B (zh) * 2020-12-15 2023-05-12 中国联合网络通信集团有限公司 基于区块链的故障验证方法、服务器和终端
CN113051630A (zh) * 2021-03-31 2021-06-29 联想(北京)有限公司 一种控制方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001517818A (ja) * 1997-09-22 2001-10-09 プルーフスペース インコーポレイテッド トランジエント鍵ディジタルスタンプ方法およびシステム
WO2001097441A2 (en) * 2000-06-16 2001-12-20 International Business Machines Corporation Method, systems and computer program for reducing hacking susceptibility
JP2002297548A (ja) * 2001-03-30 2002-10-11 Matsushita Electric Ind Co Ltd 端末登録システムとそれを構成する装置及び方法
JP2006522552A (ja) * 2003-04-01 2006-09-28 松下電器産業株式会社 通信装置および認証装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133576A (ja) * 1996-10-31 1998-05-22 Hitachi Ltd 公開鍵暗号方法および装置
US7813512B2 (en) * 2003-10-16 2010-10-12 Panasonic Corporation Encrypted communication system and communication device
CN1886712B (zh) * 2003-11-28 2010-09-08 松下电器产业株式会社 数据处理装置
US8291215B2 (en) * 2006-05-04 2012-10-16 Research In Motion Limited System and method for processing certificates located in a certificate search
US8189793B2 (en) * 2007-08-28 2012-05-29 Panasonic Corporation Key terminal apparatus, crypto-processing LSI, unique key generation method, and content system
CN101965711B (zh) * 2008-04-09 2014-12-03 松下电器产业株式会社 签名及验证方法、签名生成装置及签名验证装置
US8621203B2 (en) * 2009-06-22 2013-12-31 Nokia Corporation Method and apparatus for authenticating a mobile device
JP5744855B2 (ja) * 2010-04-26 2015-07-08 パナソニック株式会社 改ざん監視システム、管理装置及び改ざん管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001517818A (ja) * 1997-09-22 2001-10-09 プルーフスペース インコーポレイテッド トランジエント鍵ディジタルスタンプ方法およびシステム
WO2001097441A2 (en) * 2000-06-16 2001-12-20 International Business Machines Corporation Method, systems and computer program for reducing hacking susceptibility
JP2002297548A (ja) * 2001-03-30 2002-10-11 Matsushita Electric Ind Co Ltd 端末登録システムとそれを構成する装置及び方法
JP2006522552A (ja) * 2003-04-01 2006-09-28 松下電器産業株式会社 通信装置および認証装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
今井秀樹,古原和邦: "公開鍵暗号とディジタル署名", 現代暗号とマジックプロトコル, JPN6018033600, 25 September 2000 (2000-09-25), pages 38 - 47 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020088726A (ja) * 2018-11-29 2020-06-04 富士通株式会社 鍵生成装置、鍵更新方法および鍵更新プログラム
JP7174237B2 (ja) 2018-11-29 2022-11-17 富士通株式会社 鍵生成装置、鍵更新方法および鍵更新プログラム

Also Published As

Publication number Publication date
WO2016098303A1 (ja) 2016-06-23
US20170324567A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
JP2016116134A (ja) 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
JP6168415B2 (ja) 端末認証システム、サーバ装置、及び端末認証方法
US9525557B2 (en) Certificate issuing system, client terminal, server device, certificate acquisition method, and certificate issuing method
KR102015201B1 (ko) 보안 접속 및 관련 서비스를 위한 효율적인 개시
US10104522B2 (en) Hearing device and method of hearing device communication
US10447669B2 (en) System and method for key exchange based on authentication information
JP6167990B2 (ja) 署名検証システム、検証装置、及び署名検証方法
US10158953B2 (en) Hearing device and method of updating a hearing device
US10931447B2 (en) Data receiving device, data transmission system, and key generating device
KR101297648B1 (ko) 서버와 디바이스간 인증방법
JP2017163612A (ja) 端末認証システム、サーバ装置、及び端末認証方法
JP6331031B2 (ja) 認証方法、認証システム及び通信機器
JP2016100632A (ja) 通信システム及び通信装置
CN104836784A (zh) 一种信息处理方法、客户端和服务器
KR20150135032A (ko) Puf를 이용한 비밀키 업데이트 시스템 및 방법
CN111654481B (zh) 一种身份认证方法、装置和存储介质
WO2018076798A1 (zh) 一种传输数据的方法和装置
JP2007110487A (ja) Lanシステムおよびその通信方法
CN110740109A (zh) 网络设备、用于安全的方法和计算机可读存储介质
JP5835162B2 (ja) 暗号通信システム及び暗号通信方法
KR20120039133A (ko) 인증정보를 생성하고 인증정보를 증명하는 장치 및 방법
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
WO2016112860A1 (zh) 无线设备的通讯方法、无线设备和服务器
KR20150135717A (ko) 모바일 멀티홉 네트워크에서 비밀키를 공유하는 장치 및 방법
JPWO2004105310A1 (ja) 暗号化装置、暗号化方法および暗号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180828