(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022119457
(43)【公開日】2022-08-17
(54)【発明の名称】電子署名システム、電子署名方法、電子署名プログラム及び送信側装置
(51)【国際特許分類】
H04L 9/32 20060101AFI20220809BHJP
H04L 9/08 20060101ALI20220809BHJP
G06F 21/64 20130101ALI20220809BHJP
【FI】
H04L9/00 675B
H04L9/00 601F
G06F21/64
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021016594
(22)【出願日】2021-02-04
(11)【特許番号】
(45)【特許公報発行日】2022-06-23
(71)【出願人】
【識別番号】395011562
【氏名又は名称】三菱電機ITソリューションズ株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】溝井国際特許業務法人
(72)【発明者】
【氏名】森口 修
(57)【要約】
【課題】公開鍵が正当であることを確認可能にする。
【解決手段】データの受信側である受信側装置20が、受信側装置20のルート証明書を発行元として、データの送信側である送信側装置10に対する中間証明書を発行する。送信側装置10が、中間証明書を発行元として、送信側におけるユーザの個人証明書を発行し、個人証明書を用いて、対象データに対する電子署名を生成し、電子署名と対象データとを含む送信データを受信側装置20に送信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データの送信側である送信側装置と、データの受信側である受信側装置とを備える電子署名システムであり、
前記受信側装置は、
前記受信側装置のルート証明書を発行元として、前記送信側装置に対する中間証明書を発行する中間証明書発行部
を備え、
前記送信側装置は、
前記中間証明書発行部によって発行された前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行部と、
前記個人証明書発行部によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名部と、
前記電子署名部によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信部と
を備える電子署名システム。
【請求項2】
前記電子署名には、前記個人証明書が前記中間証明書を発行元として発行されたことを検証するための中間検証情報が含まれており、
前記受信側装置は、さらに、
前記データ送信部によって生成された前記電子署名に含まれる前記中間検証情報に基づき、前記個人証明書が前記中間証明書を発行元として発行されたことを検証する検証部
を備える請求項1に記載の電子署名システム。
【請求項3】
前記電子署名には、前記中間証明書が前記ルート証明書を発行元として発行されたことを検証するためのルート検証情報が含まれており、
前記検証部は、前記電子署名に含まれる前記ルート検証情報に基づき、前記中間証明書が前記ルート証明書を発行元として発行されたことを検証する
請求項2に記載の電子署名システム。
【請求項4】
前記中間証明書発行部は、中間秘密鍵及び中間公開鍵のペアと、前記ルート証明書に含まれるルート秘密鍵によって生成されたルート署名値とを含む前記中間証明書を発行し、
前記個人証明書発行部は、個人秘密鍵及び個人公開鍵のペアを含むとともに、前記中間証明書に含まれる前記中間秘密鍵によって生成された中間署名値を前記中間検証情報とし、前記ルート署名値を前記ルート検証情報として含む前記個人証明書を発行し、
前記電子署名部は、前記個人秘密鍵によって前記対象データに対して生成されたデータ署名値と、前記中間検証情報である前記中間署名値と、前記ルート検証情報である前記ルート署名値とを含む前記電子署名を生成する
請求項3に記載の電子署名システム。
【請求項5】
前記検証部は、前記中間署名値を前記中間公開鍵により検証することにより前記個人証明書が前記中間証明書を発行元として発行されたことを検証し、前記ルート署名値を前記ルート秘密鍵に対応するルート公開鍵により検証することにより前記中間証明書が前記ルート証明書を発行元として発行されたことを検証する
請求項4に記載の電子署名システム。
【請求項6】
前記受信側装置は、さらに、
前記送信側装置から前記中間証明書の発行依頼が受け付けられると、前記送信側装置の信用を審査する信用審査部
を備え、
前記中間証明書発行部は、前記信用審査部によって前記送信側装置の信用が確認されると、前記中間証明書を発行する
請求項1から5までのいずれか1項に記載の電子署名システム。
【請求項7】
データの受信側である受信側装置が、前記受信側装置のルート証明書を発行元として、データの送信側である送信側装置に対する中間証明書を発行し、
前記送信側装置が、前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行し、
前記送信側装置が、前記個人証明書を用いて、対象データに対する電子署名を生成し、
前記送信側装置が、前記電子署名と前記対象データとを含む、前記受信側装置に送信するための送信データを生成する電子署名方法。
【請求項8】
データの送信側である送信側装置としてコンピュータを機能させる送信側プログラムと、データの受信側である受信側装置としてコンピュータを機能させる受信側プログラムとを備える電子署名プログラムであり、
前記受信側プログラムは、
前記受信側装置のルート証明書を発行元として、前記送信側装置に対する中間証明書を発行する中間証明書発行処理
をコンピュータに実行させ、
前記送信側プログラムは、
前記中間証明書発行処理によって発行された前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行処理と、
前記個人証明書発行処理によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名処理と、
前記電子署名処理によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信処理と
をコンピュータに実行させる電子署名プログラム。
【請求項9】
受信側装置のルート証明書を発行元として発行された中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行部と、
前記個人証明書発行部によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名部と、
前記電子署名部によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信部と
を備える送信側装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、公開鍵暗号基盤を利用した電子署名技術に関する。
【背景技術】
【0002】
電子署名技術は、電子データの改竄検知と成りすまし防止と否認防止とを実現する技術である。データの送信側は、秘密鍵を用いて電子データに対する電子署名を生成する。データの受信側は、秘密鍵に対応する公開鍵を用いて電子署名を検証する。これにより、改竄検知等が実現される。
【0003】
検証に用いられる公開鍵が正当であることを保証するために、第三者認証機関から得られた証明書が用いられる(特許文献1参照)。この方法では、公開鍵を含む証明書に第三者認証機関の電子署名が付されており、この証明書により、公開鍵の正当性が示される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
第三者認証機関から得られた証明書を用いる場合には、第三者認証機関に証明書を発行してもらわなければならない。そのため、証明書を得るための時間及び費用がかかってしまう。
本開示は、簡便な構成により、公開鍵が正当であることを確認可能にすることを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る電子署名システムは、
データの送信側である送信側装置と、データの受信側である受信側装置とを備える電子署名システムであり、
前記受信側装置は、
前記受信側装置のルート証明書を発行元として、前記送信側装置に対する中間証明書を発行する中間証明書発行部
を備え、
前記送信側装置は、
前記中間証明書発行部によって発行された前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行部と、
前記個人証明書発行部によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名部と、
前記電子署名部によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信部と
を備える。
【0007】
前記電子署名には、前記個人証明書が前記中間証明書を発行元として発行されたことを検証するための中間検証情報が含まれており、
前記受信側装置は、さらに、
前記データ送信部によって生成された前記電子署名に含まれる前記中間検証情報に基づき、前記個人証明書が前記中間証明書を発行元として発行されたことを検証する検証部
を備える。
【0008】
前記電子署名には、前記中間証明書が前記ルート証明書を発行元として発行されたことを検証するためのルート検証情報が含まれており、
前記検証部は、前記電子署名に含まれる前記ルート検証情報に基づき、前記中間証明書が前記ルート証明書を発行元として発行されたことを検証する。
【0009】
前記中間証明書発行部は、中間秘密鍵及び中間公開鍵のペアと、前記ルート証明書に含まれるルート秘密鍵によって生成されたルート署名値とを含む前記中間証明書を発行し、
前記個人証明書発行部は、個人秘密鍵及び個人公開鍵のペアを含むとともに、前記中間証明書に含まれる前記中間秘密鍵によって生成された中間署名値を前記中間検証情報とし、前記ルート署名値を前記ルート検証情報として含む前記個人証明書を発行し、
前記電子署名部は、前記個人秘密鍵によって前記対象データに対して生成された個人署名値と、前記中間検証情報である前記中間署名値と、前記ルート検証情報である前記ルート署名値とを含む前記電子署名を生成する。
【0010】
前記検証部は、前記中間署名値を前記中間公開鍵により検証することにより前記個人証明書が前記中間証明書を発行元として発行されたことを検証し、前記ルート署名値を前記ルート秘密鍵に対応するルート公開鍵により検証することにより前記中間証明書が前記ルート証明書を発行元として発行されたことを検証する。
【0011】
前記受信側装置は、さらに、
前記送信側装置から前記中間証明書の発行依頼が受け付けられると、前記送信側装置の信用を審査する信用審査部
を備え、
前記中間証明書発行部は、前記信用審査部によって前記送信側装置の信用が確認されると、前記中間証明書を発行する。
【0012】
本開示に係る電子署名方法は、
データの受信側である受信側装置が、前記受信側装置のルート証明書を発行元として、データの送信側である送信側装置に対する中間証明書を発行し、
前記送信側装置が、前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行し、
前記送信側装置が、前記個人証明書を用いて、対象データに対する電子署名を生成し、
前記送信側装置が、前記電子署名と前記対象データとを含む、前記受信側装置に送信するための送信データを生成する。
【0013】
本開示に係る電子署名プログラムは、
データの送信側である送信側装置としてコンピュータを機能させる送信側プログラムと、データの受信側である受信側装置としてコンピュータを機能させる受信側プログラムとを備える電子署名プログラムであり、
前記受信側プログラムは、
前記受信側装置のルート証明書を発行元として、前記送信側装置に対する中間証明書を発行する中間証明書発行処理
をコンピュータに実行させ、
前記送信側プログラムは、
前記中間証明書発行処理によって発行された前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行処理と、
前記個人証明書発行処理によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名処理と、
前記電子署名処理によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信処理と
をコンピュータに実行させる。
【0014】
本開示に係る送信側装置は、
受信側装置のルート証明書を発行元として発行された中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行部と、
前記個人証明書発行部によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名部と、
前記電子署名部によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信部と
を備える。
【発明の効果】
【0015】
本開示では、受信側装置のルート証明書を発行元として中間証明書が発行され、中間証明書を発行元として個人証明書が発行され、個人証明書を用いて電子署名が生成される。そのため、電子署名を生成する際に用いられた個人証明書が正当であることを、受信側装置のルート証明書に基づき確認可能である。
【図面の簡単な説明】
【0016】
【
図1】実施の形態1に係る電子署名システム100の構成図。
【
図2】実施の形態1に係る送信側装置10の構成図。
【
図3】実施の形態1に係る受信側装置20の構成図。
【
図4】実施の形態1に係る電子署名システム100の全体的な処理の流れを示すフローチャート。
【
図5】実施の形態1に係る中間証明書取得処理のフローチャート。
【
図6】実施の形態1に係る中間証明書131の説明図。
【
図7】実施の形態1に係る個人証明書発行処理のフローチャート。
【
図8】実施の形態1に係る個人証明書132の説明図。
【
図9】実施の形態1に係るデータ送信処理のフローチャート。
【
図11】実施の形態1に係るデータ受入処理のフローチャート。
【発明を実施するための形態】
【0017】
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る電子署名システム100の構成を説明する。
電子署名システム100は、送信側装置10と、受信側装置20とを備える。送信側装置10と受信側装置20とは、伝送路30を介して接続されている。
【0018】
図2を参照して、実施の形態1に係る送信側装置10の構成を説明する。
送信側装置10は、コンピュータである。
送信側装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0019】
送信側装置10は、機能構成要素として、発行依頼部111と、証明書取得部112と、個人証明書発行部113と、電子署名部114と、データ送信部115とを備える。送信側装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、送信側装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、送信側装置10の各機能構成要素の機能が実現される。
【0020】
ストレージ13には、中間証明書131と、個人証明書132と、サーバ証明書133とが記憶される。サーバ証明書133は、SSL(Secure Sockets Layer)のサーバ証明書である。
【0021】
図3を参照して、実施の形態1に係る受信側装置20の構成を説明する。
受信側装置20は、コンピュータである。
受信側装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0022】
受信側装置20は、機能構成要素として、発行受付部211と、信用審査部212と、中間証明書発行部213と、データ受信部214と、検証部215と、受理部216とを備える。受信側装置20の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ23には、受信側装置20の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、受信側装置20の各機能構成要素の機能が実現される。
【0023】
ストレージ23には、ルート証明書231と、サーバ証明書232とが記憶される。サーバ証明書232は、SSLのサーバ証明書である。
【0024】
プロセッサ11,21は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11,21は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
【0025】
メモリ12,22は、データを一時的に記憶する記憶装置である。メモリ12,22は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
【0026】
ストレージ13,23は、データを保管する記憶装置である。ストレージ13,23は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ13,23は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
【0027】
通信インタフェース14,24は、外部の装置と通信するためのインタフェースである。通信インタフェース14,24は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High-Definition Multimedia Interface)のポートである。
【0028】
図2では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。同様に、
図3では、プロセッサ21は、1つだけ示されていた。しかし、プロセッサ21は、複数であってもよく、複数のプロセッサ21が、各機能を実現するプログラムを連携して実行してもよい。
【0029】
***動作の説明***
図4から
図11を参照して、実施の形態1に係る電子署名システム100の動作を説明する。
実施の形態1に係る電子署名システム100の動作手順は、実施の形態1に係る電子署名方法に相当する。また、実施の形態1に係る電子署名システム100の動作を実現するプログラムは、実施の形態1に係る電子署名プログラムに相当する。
【0030】
図4を参照して、実施の形態1に係る電子署名システム100の全体的な処理の流れを説明する。
(ステップS1:中間証明書取得処理)
送信側装置10は、受信側装置20のルート証明書231を発行元として発行された中間証明書131を、受信側装置20から取得する。
【0031】
(ステップS2:個人証明書発行処理)
送信側装置10は、ステップS1で取得された中間証明書131を発行元として、送信側におけるユーザの個人証明書132を発行する。
【0032】
(ステップS3:データ送信処理)
送信側装置10は、ステップS2で発行された個人証明書132を用いて、対象データに対して電子署名を生成する。送信側装置10は、電子署名と対象データとを含む送信データを受信側装置20に送信する。
【0033】
(ステップS4:データ受入処理)
受信側装置20は、ステップS2で送信された送信データに含まれる電子署名を検証するとともに、電子署名の生成に用いられた個人証明書132が正当であることを、中間証明書131及びルート証明書231を用いて検証する。
【0034】
図5を参照して、実施の形態1に係る中間証明書取得処理(
図4のステップS1)を説明する。
(ステップS11:発行依頼処理)
送信側装置10の発行依頼部111は、通信インタフェース14を介して、中間証明書131の発行依頼データを受信側装置20に送信する。この際、発行依頼部111は、サーバ証明書232の公開鍵で発行依頼データを暗号化した上で受信側装置20に送信する。
【0035】
(ステップS12:発行受付処理)
受信側装置20の発行受付部211は、ステップS11で送信された暗号化された発行依頼データを受け付ける。発行受付部211は、サーバ証明書232の秘密鍵により発行依頼データを復号する。
【0036】
(ステップS13:審査処理)
受信側装置20の信用審査部212は、送信側装置10の信用を審査し、確認する。
具体例としては、信用審査部212は、送信側装置10とサーバ証明書133を用いた暗号化通信を行い、サーバ証明書133の発行元を確認する。信用審査部212は、サーバ証明書133の発行元に加えて、あるいは、サーバ証明書133の発行元に代えて、サーバ証明書133のドメインの所有者情報と、サーバ証明書133のドメインのグローバルIPアドレスの使用権と、サーバ証明書133の所有者の法人登記情報と、サーバ証明書133の所有者の法人住所の物理的な存在と、サーバ証明書133の所有者の法人の銀行口座の保有状況等を確認してもよい。
信用審査部212は、送信側装置10の信用が確認できた場合には、処理をステップS14に進める。一方、信用審査部212は、送信側装置10の信用が確認できない場合には、処理を終了する。
【0037】
(ステップS14:中間証明書発行処理)
受信側装置20の中間証明書発行部213は、受信側装置20のルート証明書231を発行元として、送信側装置10に対する中間証明書131を発行する。
具体的には、
図6に示すように、中間証明書発行部213は、秘密鍵である中間秘密鍵と公開鍵である中間公開鍵とのペアと、ルート公開鍵と、ルート署名値とを含む中間証明書131を発行する。中間秘密鍵と中間公開鍵とのペアは、中間証明書発行部213によって任意に生成された鍵のペアである。ルート公開鍵は、ルート証明書231に含まれる公開鍵である。ルート署名値は、ルート証明書231に含まれる秘密鍵であるルート秘密鍵によって、例えば中間公開鍵に対して生成された署名値であり、ルート検証情報である。
【0038】
(ステップS15:中間証明書送信処理)
中間証明書発行部213は、通信インタフェース24を介して、ステップS14で生成された中間証明書131を送信側装置10に送信する。この際、中間証明書発行部213は、サーバ証明書133の公開鍵で中間証明書131を暗号化した上で送信側装置10に送信する。
なお、中間証明書131から中間秘密鍵を取得するためにはパスフレーズが必要なように設定される。このパスフレーズは、中間証明書発行部213が生成して、中間証明書131とは別に、郵送といった手段によって送信側装置10に送信する。なお、送信側装置10の発行依頼部111が、パスフレーズを発行依頼データに含めて送信し、中間証明書発行部213は、このパスフレーズにより中間証明書131から中間秘密鍵を取得できるように中間証明書131を生成してもよい。但し、中間証明書発行部213がパスフレーズを生成して、中間証明書131とは別に、郵送といった手段によってパスフレーズを送信側装置10に送信する方がセキュリティは高くなる。
【0039】
(ステップS16:証明書取得処理)
送信側装置10の証明書取得部112は、ステップS15で送信された中間証明書131を取得する。証明書取得部112は、中間証明書131をストレージ13に書き込む。なお、送信側装置10は、パスフレーズは、別途安全に管理する。
【0040】
図7を参照して、実施の形態1に係る個人証明書発行処理(
図4のステップS2)を説明する。
(ステップS21:個人証明書生成処理)
送信側装置10の個人証明書発行部113は、中間証明書131を発行元として個人証明書132を生成する。
具体的には、
図8に示すように、個人証明書発行部113は、秘密鍵である個人秘密鍵と公開鍵である個人公開鍵とのペアと、中間公開鍵と、中間署名値と、ルート公開鍵と、ルート署名値とを含む個人証明書132を発行する。個人秘密鍵と個人公開鍵とのペアは、個人証明書発行部113によって任意に生成された鍵のペアである。中間署名値は、中間証明書131に含まれる中間秘密鍵によって、例えば個人公開鍵に対して生成された署名値であり、中間検証情報である。中間公開鍵とルート公開鍵とルート署名値とは、中間証明書131に含まれるデータである。
なお、個人証明書発行部113は、中間署名値を生成する際、パスフレーズを用いて中間証明書131から中間秘密鍵を取得する必要がある。
【0041】
(ステップS22:個人証明書記憶処理)
送信側装置10の個人証明書発行部113は、ステップS21で生成された個人証明書132をストレージ13に書き込む。なお、個人証明書132から個人秘密鍵を取得するためには、パスフレーズが必要である。送信側装置10は、このパスフレーズは、中間証明書131から中間秘密鍵を取得するためのパスフレーズと同様に、安全に管理する。
【0042】
図9を参照して、実施の形態1に係るデータ送信処理(
図4のステップS3)を説明する。
(ステップS31:データ受付処理)
送信側装置10の電子署名部114は、送信する対象データを取得する。
具体的には、電子署名部114は、ユーザによって入力装置が操作され入力された対象データを取得する。対象データは、具体例としては、受信側に申請する電子申請書データである。
【0043】
(ステップS32:電子署名処理)
送信側装置10の電子署名部114は、個人証明書132を用いて、ステップS31で取得された対象データに対する電子署名を生成する。
具体的には、
図10に示すように、電子署名部114は、個人公開鍵と、データ署名値と、中間公開鍵と、中間署名値と、ルート公開鍵と、ルート署名値とを含む電子署名を生成する。データ署名値は、個人証明書132に含まれる個人秘密鍵によって、対象データに対して生成された署名値である。個人公開鍵と中間公開鍵と中間署名値とルート公開鍵とルート署名値とは、個人証明書132に含まれるデータである。
なお、電子署名部114は、データ署名値を生成する際、パスフレーズを用いて個人証明書132から個人秘密鍵を取得する必要がある。
【0044】
(ステップS33:データ送信処理)
送信側装置10のデータ送信部115は、通信インタフェース14を介して、対象データと電子署名とを含む送信データを生成する。そして、データ送信部115は、送信データを受信側装置20に送信する。この際、データ送信部115は、サーバ証明書232の公開鍵で送信データを暗号化した上で受信側装置20に送信する。
【0045】
図11を参照して、実施の形態1に係るデータ受入処理(
図4のステップS4)を説明する。
(ステップS41:データ受信処理)
受信側装置20のデータ受信部214は、ステップS33で送信された暗号化された送信データを受信する。データ受信部214は、サーバ証明書232の秘密鍵で送信データを復号した上で、検証部215に渡す。
【0046】
(ステップS42:検証処理)
受信側装置20の検証部215は、ステップS41で渡された送信データに含まれる電子署名を検証する。
具体的には、検証部215は、データ署名値を個人公開鍵により検証することにより、対象データに改竄がされていないこと等を検証する。検証部215は、中間署名値を中間公開鍵により検証することにより個人証明書132が中間証明書131を発行元として発行されたことを検証する。検証部215は、ルート署名値をルート公開鍵により検証することにより中間証明書131がルート証明書231を発行元として発行されたことを検証する。
検証部215は、全ての検証が成功した場合には、処理をステップS43に進める。一方、検証部215は、1つでも検証が失敗した場合には、処理を終了する。
【0047】
(ステップS43:受理処理)
受理部216は、対象データを受理する。対象データが電子申請書である場合には、受理部216は、電子申請書を受理し、申請を受け付ける。
【0048】
***実施の形態1の効果***
以上のように、実施の形態1に係る送信側装置10は、受信側装置20のルート証明書231を発行元として中間証明書131が発行され、中間証明書131を発行元として個人証明書132が発行され、個人証明書132を用いて電子署名が生成される。そのため、電子署名を生成する際に用いられた個人証明書132が正当であることを、受信側装置20のルート証明書231に基づき確認可能である。
これにより、第三者認証機関による証明書の発行を行うことなく、電子署名の検証に用いる公開鍵が正当であることを簡便に確認可能である。
【0049】
実施の形態1に係る送信側装置10は、個人証明書132から個人秘密鍵を取得するために必要なパスフレーズをユーザに渡さず、安全に管理する。そのため、電子署名の生成をユーザが任意に行うことが防止される。これにより、法人コンプライアンス(法人の承認ルール遵守、証明書の選定誤り防止、電子署名の実績管理、電子申請書の保管、人事異動に追随した個人証明書再発行等)を維持することが可能である。
【0050】
***他の構成***
<変形例1>
実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例1として、各機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
【0051】
図12を参照して、変形例1に係る送信側装置10の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、送信側装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
【0052】
図13を参照して、変形例1に係る受信側装置20の構成を説明する。
各機能構成要素がハードウェアで実現される場合には、受信側装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、電子回路25を備える。電子回路25は、各機能構成要素と、メモリ22と、ストレージ23との機能とを実現する専用の回路である。
【0053】
電子回路15,25としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
各機能構成要素を1つの電子回路15,25で実現してもよいし、各機能構成要素を複数の電子回路15,25に分散させて実現してもよい。
【0054】
<変形例2>
変形例2として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【0055】
プロセッサ11,21とメモリ12,22とストレージ13,23と電子回路15,25とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
【0056】
なお、以上の説明における「部」を、「回路」、「工程」、「手順」、「処理」又は「処理回路」に読み替えてもよい。
【0057】
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【0058】
100 電子署名システム、10 送信側装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、15 電子回路、111 発行依頼部、112 証明書取得部、113 個人証明書発行部、114 電子署名部、115 データ送信部、131 中間証明書、132 個人証明書、133 サーバ証明書、20 受信側装置、21 プロセッサ、22 メモリ、23 ストレージ、24 通信インタフェース、25 電子回路、211 発行受付部、212 信用審査部、213 中間証明書発行部、214 データ受信部、215 検証部、216 受理部、231 ルート証明書、232 サーバ証明書。
【手続補正書】
【提出日】2022-04-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データの送信側である送信側装置と、データの受信側である受信側装置とを備える電子署名システムであり、
前記受信側装置は、
前記受信側装置のルート証明書を発行元として、前記送信側装置に対する中間証明書を発行する中間証明書発行部
を備え、
前記送信側装置は、
前記中間証明書発行部によって発行された前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行部と、
前記個人証明書発行部によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名部であって、前記個人証明書が前記中間証明書を発行元として発行されたことを検証するための中間検証情報を含む電子署名を生成する電子署名部と、
前記電子署名部によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信部と
を備え、
前記受信側装置は、さらに、
前記データ送信部によって生成された前記電子署名に含まれる前記中間検証情報に基づき、前記個人証明書が前記中間証明書を発行元として発行されたことを検証する検証部
を備える電子署名システム。
【請求項2】
前記電子署名には、前記中間証明書が前記ルート証明書を発行元として発行されたことを検証するためのルート検証情報が含まれており、
前記検証部は、前記電子署名に含まれる前記ルート検証情報に基づき、前記中間証明書が前記ルート証明書を発行元として発行されたことを検証する
請求項1に記載の電子署名システム。
【請求項3】
前記中間証明書発行部は、中間秘密鍵及び中間公開鍵のペアと、前記ルート証明書に含まれるルート秘密鍵によって生成されたルート署名値とを含む前記中間証明書を発行し、
前記個人証明書発行部は、個人秘密鍵及び個人公開鍵のペアを含むとともに、前記中間証明書に含まれる前記中間秘密鍵によって生成された中間署名値を前記中間検証情報とし、前記ルート署名値を前記ルート検証情報として含む前記個人証明書を発行し、
前記電子署名部は、前記個人秘密鍵によって前記対象データに対して生成されたデータ署名値と、前記中間検証情報である前記中間署名値と、前記ルート検証情報である前記ルート署名値とを含む前記電子署名を生成する
請求項2に記載の電子署名システム。
【請求項4】
前記検証部は、前記中間署名値を前記中間公開鍵により検証することにより前記個人証明書が前記中間証明書を発行元として発行されたことを検証し、前記ルート署名値を前記ルート秘密鍵に対応するルート公開鍵により検証することにより前記中間証明書が前記ルート証明書を発行元として発行されたことを検証する
請求項3に記載の電子署名システム。
【請求項5】
前記受信側装置は、さらに、
前記送信側装置から前記中間証明書の発行依頼が受け付けられると、前記送信側装置の信用を審査する信用審査部
を備え、
前記中間証明書発行部は、前記信用審査部によって前記送信側装置の信用が確認されると、前記中間証明書を発行する
請求項1から4までのいずれか1項に記載の電子署名システム。
【請求項6】
データの受信側である受信側装置が、前記受信側装置のルート証明書を発行元として、データの送信側である送信側装置に対する中間証明書を発行し、
前記送信側装置が、前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行し、
前記送信側装置が、前記個人証明書を用いて、対象データに対する電子署名であって、前記個人証明書が前記中間証明書を発行元として発行されたことを検証するための中間検証情報を含む電子署名を生成し、
前記送信側装置が、前記電子署名と前記対象データとを含む、前記受信側装置に送信するための送信データを生成し、
前記受信側装置が、前記電子署名に含まれる前記中間検証情報に基づき、前記個人証明書が前記中間証明書を発行元として発行されたことを検証する電子署名方法。
【請求項7】
データの送信側である送信側装置としてコンピュータを機能させる送信側プログラムと、データの受信側である受信側装置としてコンピュータを機能させる受信側プログラムとを備える電子署名プログラムであり、
前記受信側プログラムは、
前記受信側装置のルート証明書を発行元として、前記送信側装置に対する中間証明書を発行する中間証明書発行処理
をコンピュータに実行させ、
前記送信側プログラムは、
前記中間証明書発行処理によって発行された前記中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行処理と、
前記個人証明書発行処理によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名処理であって、前記個人証明書が前記中間証明書を発行元として発行されたことを検証するための中間検証情報を含む電子署名を生成する電子署名処理と、
前記電子署名処理によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信処理と
をコンピュータに実行させ、
前記受信側プログラムは、さらに、
前記データ送信処理によって生成された前記電子署名に含まれる前記中間検証情報に基づき、前記個人証明書が前記中間証明書を発行元として発行されたことを検証する検証処理
をコンピュータに実行させる電子署名プログラム。
【請求項8】
受信側装置のルート証明書を発行元として発行された中間証明書を発行元として、送信側におけるユーザの個人証明書を発行する個人証明書発行部と、
前記個人証明書発行部によって発行された前記個人証明書を用いて、対象データに対する電子署名を生成する電子署名部であって、前記個人証明書が前記中間証明書を発行元として発行されたことを検証するための中間検証情報を含む電子署名を生成する電子署名部と、
前記電子署名部によって生成された前記電子署名と、前記対象データとを含む、前記受信側装置に送信するための送信データを生成するデータ送信部と
を備える送信側装置。