(57)【要約】【課題】ＩＣカードやＵＳＢトークンなどのセキュリティデバイスを用いず、秘密鍵が漏洩する可能性を低減して秘密鍵の管理負荷を軽減する、電子署名の仕組みを提供する。【解決手段】署名システム１−１は、仮署名サーバ１０、ユーザ端末２０−１を備える。仮署名サーバ１０は、秘密鍵ＳＫ０から２つに分割された仮署名鍵ＳＫ１と復元鍵ＳＫ２とのうち仮署名鍵ＳＫ１を保管し、仮署名鍵ＳＫ１を用いて、平文のハッシュ値から仮署名値を生成する。ユーザ端末２０−１は、仮署名サーバ１０が生成した仮署名値を取得し、保有する復元鍵ＳＫ２を用いて仮署名値を演算することにより、仮署名値から平文の署名値を復元する。【選択図】図１
2018029268.tif 000002
【特許請求の範囲】
【請求項１】
一つの鍵情報が２つに分割された一方の第１分割鍵と他方の第２分割鍵とのうち、第１分割鍵を保管する第１分割鍵保管部と、
第１分割鍵を用いてデータを暗号化し、暗号化データを生成する暗号化データ生成部と
を有する第１の暗号装置と、
暗号化データ生成部が生成した暗号化データを取得する暗号化データ取得部と、
第２分割鍵を保管する第２分割鍵保管部と、
前記暗号化データ取得部が取得した暗号化データを第２分割鍵を用いて演算することにより、第１分割鍵による暗号化前の前記データを第１分割鍵と第２分割鍵との元になる前記鍵情報を用いて暗号化した場合の暗号化データと同一の値の演算データを生成する演算データ生成部と
を有する第２の暗号装置と
を備える暗号システム。
【請求項２】
前記第２分割鍵保管部は、
複数の鍵情報の各鍵情報から分割された、複数の第２分割鍵を保管しており、
前記演算データ生成部は、
前記暗号化データから前記演算データを生成するための第２分割鍵を検索し、検索によってヒットした第２分割鍵を用いて前記暗号化データを演算する請求項１に記載の暗号システム。
【請求項３】
前記一つの鍵情報は、
公開鍵暗号における秘密鍵である請求項１または請求項２に記載の暗号システム。
【請求項４】
前記データは、
平文のハッシュ値であり、
第１鍵による暗号化前の前記データを前記鍵情報を用いて暗号化した場合の暗号化データは、
前記ハッシュ値を前記鍵情報を用いて暗号化した、前記平文の電子署名である請求項３に記載の暗号システム。
【請求項５】
一つの鍵情報が２つに分割された一方の第１分割鍵と他方の第２分割鍵とのうち、前記第１分割鍵を用いてデータを暗号化し、暗号化データを生成する第１の暗号装置が生成した前記暗号化データを取得する暗号化データ取得部と、
前記第２分割鍵を保管する第２分割鍵保管部と、
前記暗号化データ取得部が取得した前記暗号化データを前記第２分割鍵を用いて演算することにより、前記第１分割鍵による暗号化前の前記データを第１分割鍵と第２分割鍵との元になる前記鍵情報を用いて暗号化した場合の暗号化データと同一の値の演算データを生成する演算データ生成部と
を備える暗号装置。
【請求項６】
コンピュータに、
一つの鍵情報が２つに分割された一方の第１分割鍵と他方の第２分割鍵とのうち、前記第１分割鍵を用いてデータを暗号化し、暗号化データを生成する第１の暗号装置が生成した前記暗号化データを取得する処理と、
前記第２分割鍵を保管する処理と、
取得した前記暗号化データを前記第２分割鍵を用いて演算することにより、前記第１分割鍵による暗号化前の前記データを第１分割鍵と第２分割鍵との元になる前記鍵情報を用いて暗号化した場合の暗号化データと同一の値の演算データを生成する処理と
を実行させるための暗号プログラム。
【請求項７】
第１の暗号装置が、
一つの鍵情報が２つに分割された一方の第１分割鍵と他方の第２分割鍵とのうち前記第１分割鍵を用いてデータを暗号化して暗号化データを生成し、
第２の暗号装置が、
前記暗号化データを取得し、
前記第２分割鍵を用いて前記暗号化データを演算することにより、前記鍵情報を用いて前記データを暗号化した場合の暗号化データと同一の値の演算データを生成する暗号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、暗号システム、暗号装置、暗号プログラム及び暗号方法に関する。例えば、この発明は電子署名の生成に関する。
【背景技術】
【０００２】
公開鍵暗号技術を用いた電子署名では、秘密鍵を用いて電子署名を生成し、公開鍵を用いて電子署名の正しさを確認する。電子署名は、署名生成に用いた秘密鍵を持ち主しか持ち得ないことが、手書きによる署名と同等の意味を持つ。
【０００３】
電子署名において、秘密鍵を持ち主しか持ち得ない方法の一つとして、複製に耐性を持つＩＣカードやＵＳＢトークンなどのセキュリティデバイスに秘密鍵を格納し、電子署名処理を行う方法がある。
また別の方式として、秘密鍵を分割してそれぞれの分割鍵を複数の異なる場所に分散して保管し、署名生成時にのみ秘密鍵を一か所に集めて復元する技術がある（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２３１４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＣカードに秘密鍵を格納する場合には、ＩＣカードの秘密鍵を用いた電子署名処理が必要となり実装の費用や処理の負荷が掛かり、また個々のＩＣカードをそれぞれの持ち主へ配付する手間や費用が掛かるといった課題があった。
【０００６】
また、特許文献１の方法では署名生成時に秘密鍵を一か所に集めて、復元した秘密鍵を利用するため、復元した秘密鍵が漏洩する可能性があるという課題があった。
【０００７】
この発明は、ＩＣカードやＵＳＢトークンなどのセキュリティデバイスを用いず、秘密鍵が漏洩する可能性を低減して秘密鍵の管理負荷を軽減する、電子署名の仕組みの提供を目的とする。
【課題を解決するための手段】
【０００８】
この発明の暗号システムは、
一つの鍵情報が２つに分割された一方の第１分割鍵と他方の第２分割鍵とのうち、第１分割鍵を保管する第１分割鍵保管部と、
第１分割鍵を用いてデータを暗号化し、暗号化データを生成する暗号化データ生成部と、
を有する第１の暗号装置と、
暗号化データ生成部が生成した暗号化データを取得する暗号化データ取得部と、
第２分割鍵を保管する第２分割鍵保管部と、
前記暗号化データ取得部が取得した暗号化データを第２分割鍵を用いて演算することにより、第１分割鍵による暗号化前の前記データを第１分割鍵と第２分割鍵との元になる前記鍵情報を用いて暗号化した場合の暗号化データと同一の値の演算データを生成する演算データ生成部と、
を有する第２の暗号装置と
を備える。
【発明の効果】
【０００９】
この発明の暗号システムは、第２の暗号装置を有するので、第１分割鍵による暗号化前のデータを第１分割鍵と第２分割鍵との元になる鍵情報を用いて暗号化した場合の暗号化データと同一の値の演算データを生成することができる。よって秘密鍵の漏洩の可能性が低減する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１の図で、署名システム１−１の構成図。
【図２】実施の形態１の図で、認証局装置３０において、秘密鍵を分割する処理を示すフローチャート。
【図３】実施の形態１の図で、仮署名サーバ１０において、受信した証明書、仮署名鍵ＳＫ１を登録する処理を示すフローチャート。
【図４】実施の形態１の図で、署名システム１−１において、署名生成処理を示すフローチャート。
【図５】実施の形態２の図で、署名システム１−２の構成図。
【図６】実施の形態２の図で、通常署名サーバ４０に復元鍵ＳＫ２を登録する処理を示すフローチャート。
【図７】実施の形態２の図で、署名システム１−２において、署名生成処理を示すフローチャート。
【図８】実施の形態１、実施の形態２の仮署名サーバ１０等のハードウェア構成を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
以下の実施の形態では公開鍵暗号による秘密鍵、この秘密鍵を２つに分割した一方の鍵である仮署名鍵、他方の鍵である復元鍵が登場する。秘密鍵は秘密鍵ＳＫ０と記し、仮署名鍵は仮署名鍵ＳＫ１と記し、復元鍵は復元鍵ＳＫ２と記す。仮署名鍵ＳＫ１は第１分割鍵ＳＫ１と、復元鍵ＳＫ２は第２分割鍵ＳＫ２と記す場合がある。
【００１２】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、実施の形態１における、署名システム１−１の全体構成を示すブロック図である。署名システム１−１は暗号システムである。署名システム１−１は、仮署名生成サーバ装置１０、ユーザ端末装置２０−１、認証局装置３０を備えている。仮署名生成サーバ装置１０、ユーザ端末装置２０−１、認証局装置３０は通信網５０に接続されている。ユーザ端末装置２０−１は一台のみを記載しているが、署名システム１−１には複数のユーザ端末装置２０−１が接続される。通信網５０によって電子署名に関するデータをクラウド中継するシステムが実現される。仮署名生成サーバ１０は、以下、仮署名サーバ１０と記す。ユーザ端末装置２０は、以下、ユーザ端末２０−１と記す。
【００１３】
まず、仮署名サーバ１０の構成を説明する。仮署名サーバ１０は、コンピュータである。仮署名サーバ１０は、ハードウェアとして、プロセッサ９１Ａ、記憶装置９２Ａ、通信装置９３Ａを備える。
【００１４】
記憶装置９２Ａは、補助記憶装置９２Ａ−１、メモリ９２Ａ−２を含む。補助記憶装置９２Ａ−１には、仮署名鍵ＳＫ１、証明書が格納される仮署名データベース１６が格納されている。仮署名データベース１６は、以下、仮署名ＤＢ１６と記す。メモリ９２Ａ−２には補助記憶装置９２Ａ−１のデータが読み出される。メモリ９２Ａ−２は、具体的には、フラッシュメモリ、または、ＲＡＭ（Ｒａｎｄｏｍ  ＡｃｃｅＳＳ  Ｍｅｍｏｒｙ）である。
【００１５】
通信装置９３Ａは、通信網５０を介して、ユーザ端末２０−１、認証局装置３０と通信する。通信装置９３Ａは、データを受信するレシーバおよびデータを送信するトランスミッタを含む。通信装置９３Ａは、具体的には、通信チップまたはＮＩＣ（Ｎｅｔｗｏｒｋ
Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００１６】
プロセッサ９１Ａは、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１７】
仮署名サーバ１０は、機能要素として、仮側ユーザ認証部１１、仮側連携部１２、仮署名生成部１３、仮側証明書管理部１４、仮署名鍵管理部１５を備える。仮側ユーザ認証部１１と、仮側連携部１２と、仮署名生成部１３と、仮側証明書管理部１４と、仮署名鍵管理部１５との機能を、仮署名サーバ１０の「部の機能」という。仮署名サーバ１０の「部の機能」は、ソフトウェアにより実現される。
【００１８】
プロセッサ９１Ａは、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９１Ａは、具体的には、ＣＰＵ（Ｃｅｎｔｒａｌ  ＰｒｏｃｅＳＳｉｎｇ  Ｕｎｉｔ）である。
【００１９】
補助記憶装置９２Ａ−１には、仮署名サーバ１０の「部の機能」を実現するプログラムが記憶されている。このプログラムは、メモリ９２Ａ−２にロードされ、プロセッサ９１Ａに読み込まれ、プロセッサ９１Ａによって実行される。補助記憶装置９２Ａ−１には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  ＳｙＳｔｅｍ）も記憶されている。ＯＳの少なくとも一部がメモリ９２Ａ−２にロードされ、プロセッサ９１ＡはＯＳを実行しながら、仮署名サーバ１０の「部の機能」を実現するプログラムを実行する。
【００２０】
ユーザ端末２０−１もコンピュータである。ユーザ端末２０−１も仮署名サーバ１０と類似のハードウェア構成であるが、ユーザ端末２０−１はハードウェアとして表示装置９４Ｂも備える。このように、ユーザ端末２０−１は、ハードウェアとして、プロセッサ９１Ｂ、記憶装置９２Ｂ、通信装置９３Ｂ、表示装置９４Ｂを備える。表示装置９４Ｂは、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。ユーザ端末２０−１は機能要素として、端末側連携部２１、端末側署名生成部２２を備えている。端末側連携部２１と、端末側署名生成部２２とをユーザ端末２０−１の「部の機能」という。ユーザ端末２０−１の「部の機能」はプロセッサ９１Ｂによって実現される。ユーザ端末２０−１の「部の機能」とハードウェアとの関係は、仮署名サーバ１０と同じであるので説明は省略する。なお、メモリ９２Ｂ−２には復元鍵ＳＫ２が格納される。
【００２１】
認証局装置３０もコンピュータである。認証局装置３０も仮署名サーバ１０と同様のハードウェア構成である。認証局装置３０は、ハードウェアとして、プロセッサ９１Ｃ、記憶装置９２Ｃ、通信装置９３Ｃを備える。認証局装置３０は機能要素として、局側連携部３１、局側鍵分割部３２、局側サーバ部３３を備えている。局側連携部３１と、局側鍵分割部３２と、局側サーバ部３３とを、認証局装置３０の「部の機能」という。認証局装置３０の「部の機能」は、プロセッサ９１Ｃによって実現される。認証局装置３０の「部の機能」とハードウェアとの関係は、仮署名サーバ１０と同じであるので説明は省略する。なお、補助記憶装置９２Ｃ−１には、秘密鍵ＳＫ０が格納されている。局側鍵分割部３２は、秘密鍵ＳＫ０をメモリ９２Ｃ−２にロードし、秘密鍵ＳＫ０をメモリ９２Ｃ−２から読み出して、仮署名鍵ＳＫ１と復元鍵ＳＫ２とに分割する。
【００２２】
仮署名サーバ１０は第１の暗号装置９１０である。仮署名サーバ１０の仮署名ＤＢ１６を格納する補助記憶装置９２Ａ−１は、第１分割鍵保管部９１１である。第１分割鍵保管部９１１は、一つの鍵情報である秘密鍵ＳＫ０が２つに分割された一方の第１分割鍵ＳＫ１と他方の第２分割鍵ＳＫ２とのうち、第１分割鍵ＳＫ１を保管する。仮署名サーバ１０の仮署名生成部１３は、暗号化データ生成部９１２である。暗号化データ生成部９１２は、第１分割鍵ＳＫ１を用いてデータとしてのハッシュ値ｈ（Ｍ）を暗号化し、後述の暗号化データ（ｈ（Ｍ））ＳＫ１を生成する。
ユーザ端末２０−１は、第２の暗号装置である。ユーザ端末２０−１は、暗号化データ取得部９２１である通信装置９３Ｂ、第２分割鍵保管部９２２であるメモリ９２Ｂ−２、演算データ生成部９２３である端末側署生成部２２を備える。暗号化データ取得部９２１は、暗号化データ生成部９１２（仮署名生成部１３）が生成した暗号化データ（ｈ（Ｍ））ＳＫ１を取得する。第２分割鍵保管部９２２は、第２分割鍵ＳＫ２を保管する。演算データ生成部９２３は、暗号化データ取得部９２１が取得した暗号化データ（ｈ（Ｍ））ＳＫ１を第２分割鍵ＳＫ２を用いて演算することにより、第１分割鍵ＳＫ１による暗号化前のデータｈ（Ｍ）を第１分割鍵ＳＫ１と第２分割鍵ＳＫ２との元になる鍵情報である秘密鍵ＳＫ０を用いて暗号化した場合の暗号化データ（ｈ（Ｍ））ＳＫ０と同一の値の演算データを生成する。
【００２３】
＊＊＊動作の説明＊＊＊
署名システム１−１では、大きく分けて、
（１）仮署名鍵ＳＫ１と証明書の登録、
（２）復元鍵ＳＫ２の配付、
（３）電子署名の生成、
の処理がある。
【００２４】
図２、図３を参照して、「（１）仮署名鍵ＳＫ１と証明書の登録」及び「（２）復元鍵ＳＫ２の配付」を説明する。認証局装置３０を有する認証局３００は、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  ＩｎｆｒａＳｔｒｕｃｔｕｒｅ）に基づく電子署名や電子認証で利用される「証明書」や「秘密鍵」を発行する機関である。認証局装置３０は、ユーザ２４の申請情報を基に、局側サーバ部３３で、ユーザの「証明書」やＲＳＡアルゴリズムによって「秘密鍵ＳＫ０」を発行する。
【００２５】
図２は、認証局装置３０の処理を示すフローチャートである。局側サーバ部３３による証明書、秘密鍵ＳＫ０の発行後、局側分割部３２は、以下の「１．しきい値署名方式に関する文献」あるいは「２．鍵分割署名方式に関する文献」のいずれかの方式に基づき、秘密鍵ＳＫ０を２つに分割（ステップＳ１０１、ステップＳ１０２）し、一方を仮署名鍵ＳＫ１、もう一方を復元鍵ＳＫ２とする。
【００２６】
（１．しきい値署名方式に関する文献）
「Ｓｏｍｅ  ＡｐｐｌｉｃａｔｉｏｎＳ  ｏｆ  Ｍｕｌｔｉｐｌｅ  Ｋｅｙ  ＣｉｐｈｅｒＳ，１９８８  Ｃ．Ｂｏｙｄ」
（２．鍵分割署名方式に関する文献）
「Ｍｅｄｉａｔｅｄ  ＲＳＡ  ｃｒｙｐｔｏｇｒａｐｈｙ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｆｏｒ  ａｄｄｉｔｉｖｅ  ｐｒｉｖａｔｅ  ｋｅｙ  Ｓｐｌｉｔｔｉｎｇ，２０１２  Ｍ．  ＫｕｔｙｌｏｗＳＫｉ  ＲＦＣ  Ｄｒａｆｔ  ｄｒａｆｔ−ｋｕｔｙｌｏｗＳＫｉ−ｍｒＳａ−ａｌｇｏｒｉｔｈｍ−０３」
【００２７】
秘密鍵の分割後、認証局３００は、ユーザ２４へ復元鍵ＳＫ２を送付（ステップＳ１０３）する。また、局側連携部３１は、仮署名サーバ１０へ、ユーザ２４の仮署名鍵ＳＫ１と証明書とを送付（ステップＳ１０４）する。なお、復元鍵ＳＫ２の送付は、認証局装置３０が通信網５０を介してユーザ端末２０−１に送信してもよいし、郵送あるいは手渡しでもよい。仮署名鍵ＳＫ１、証明書の送付も復元鍵ＳＫ２と同様である。
なお、認証局３００では、仮署名鍵ＳＫ１と復元鍵ＳＫ２とが送付された後は、局側サーバ部３３が、発行した秘密鍵ＳＫ０を削除してもよい。
【００２８】
図３は、仮署名サーバ１０による仮署名鍵ＳＫ１の登録のフローチャートである。仮署名サーバ１０は、認証局装置３０から、通信装置９３Ａを介してユーザ２４の仮署名鍵ＳＫ１と証明書の登録要求を受信した場合（ステップＳ２０１）、仮側ユーザ認証部１１が、認証局装置３０の電子認証（ステップＳ２０２）を行う。仮側ユーザ認証部１１は、なりすましが無ければ、仮署名鍵管理部１５へ、ユーザ２４の仮署名鍵ＳＫ１と証明書を送信する。仮署名鍵管理部１５は、仮署名鍵ＳＫ１と証明書を、仮署名ＤＢ１６へ登録（ステップＳ２０３）する。
【００２９】
なお本実施の形態１及び後述の実施の形態２では認証処理が登場するが、その認証情報はＰＫＩに基づく証明書と秘密鍵を用いるものとする。認証情報は証明書と秘密鍵に限らず、ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）とパスワード、生体認証などその他の認証方式を用いることも可能である。
【００３０】
図４は、仮署名値の生成及び署名値の生成を示すフローチャートである。次に図４を参照して、電子署名生成の手順を説明する。
【００３１】
ユーザ２４は、ユーザ端末２０−１で平文である署名対象データＭを作成、または、ユーザ端末２０−１の外部から署名対象データＭを入力（ステップＳ３０１）する。端末側署名生成部２２は、署名対象データＭを受け取り、署名対象データＭのハッシュ値ｈ（Ｍ）を生成（ステップＳ３０２）する。署名対象データＭのハッシュ値ｈ（Ｍ）の生成後、端末側連携部２１は、通信装置９３Ｂを介して、仮署名サーバ１０へ、認証情報を含む仮署名生成要求と、ハッシュ値ｈ（Ｍ）を送信（ステップＳ３０３）する。
【００３２】
仮署名サーバ１０は、ユーザ端末２０−１から仮署名生成要求とハッシュ値ｈ（Ｍ）を受信した場合、仮側ユーザ認証部１１が、ユーザ２４の電子認証（ステップＳ３０４）を行う。なりすましが無ければ、仮側ユーザ認証部１１は、仮側連携部１２へ、ハッシュ値ｈ（Ｍ）と認証情報を渡す。
【００３３】
署名対象データのハッシュ値ｈ（Ｍ）と認証情報は、仮側連携部１２を経由して仮署名生成部１３に送信される。仮署名生成部１３は、認証情報に含まれるユーザ２４の情報を検索条件として、仮側証明書管理部１４へユーザ２４の証明書を要求し、仮署名鍵管理部１５へユーザ２４の仮署名鍵ＳＫ１を要求する。
【００３４】
仮側証明書管理部１４は、ユーザ２４の情報を検索条件として、仮署名ＤＢ１６からユーザ２４の証明書を取得（ステップＳ３０５）し、仮署名生成部１３へ証明書を送信する。
【００３５】
仮署名鍵管理部１５は、ユーザ２４の情報を検索条件として、仮署名ＤＢ１６からユーザ２４の仮署名鍵ＳＫ１を取得（ステップＳ３０６）し、仮署名生成部１３へ仮署名鍵ＳＫ１を送信する。
【００３６】
仮署名生成部１３は、ユーザ２４の仮署名鍵ＳＫ１を用いて、ハッシュ値ｈ（Ｍ）に対して、上記「１．しきい値署名方式に関する文献」によるしきい値署名方式、あるいは上記「２．鍵分割署名方式に関する文献」による鍵分割署名方式に基づく仮署名値（ステップＳ３０７）を生成する。ここでは、仮署名鍵ＳＫ１を用いて生成された仮署名値を
（ｈ（Ｍ））ＳＫ１
と記す。仮署名生成部１３は、仮署名値（ｈ（Ｍ））ＳＫ１と、ユーザ２４の証明書を、仮側連携部１２へ送信する。
【００３７】
仮側連携部１２は、通信装置９３Ａを介して、仮署名値（ｈ（Ｍ））ＳＫ１とユーザ２４の証明書とを、ユーザ端末２０−１へ送信する（ステップＳ３０８）。
【００３８】
ユーザ端末２０−１では、通信装置９３Ｂが仮署名値（ｈ（Ｍ））ＳＫ１とユーザ２４の証明書とを受信する。端末側署名生成部２２は、通信装置９３Ｂ及び端末側連携部２１を経由して、仮署名値（ｈ（Ｍ））ＳＫ１とユーザ２４の証明書を取得する。端末側署名生成部２２は、ユーザ２４に復元鍵ＳＫ２の入力を要求する（ステップＳ３０９）。具体的には、端末側署名生成部２２は、表示装置９４Ｂに、復元鍵ＳＫ２の入力を要求する画面を表示する。画面表示に従って復元鍵ＳＫ２が入力された場合は、端末側署名生成部２２は、入力された復元鍵ＳＫ２をメモリ９２Ｂ−２に格納する。なお、端末側署名生成部２２は、復元鍵ＳＫ２を、不揮発性の記憶装置である補助記憶装置９２Ｂ−１に保存してもよい。
【００３９】
端末側署名生成部２２は、メモリ９２Ｂ−２から復元鍵ＳＫ２を読み出し、復元鍵ＳＫ２を用いて、仮署名値（ｈ（Ｍ））ＳＫ１に対して、上記「１．しきい値署名方式に関する文献」によるしきい値署名方式、あるいは上記「２．鍵分割署名方式に関する文献」による鍵分割署名方式に基づく署名値を生成する（ステップＳ３１０）。これを以下のように表す。
（（ｈ（Ｍ））ＳＫ１）ＳＫ２＝（ｈ（Ｍ））ＳＫ０
つまり、仮署名値（ｈ（Ｍ））ＳＫ１に復元鍵ＳＫ２を作用させることで、ハッシュ値ｈ（Ｍ）と秘密鍵ＳＫ０とから生成される通常の電子署名（ｈ（Ｍ））ＳＫ０が得られる。
【００４０】
端末側署名生成部２２は、署名対象データＭ、署名値（ｈ（Ｍ））ＳＫ０、ユーザ２４の証明書を用いて、署名データを生成（ステップＳ３１１）し、署名データをユーザ端末２０−１の補助記憶装置９２Ｂ−１に保存する。ここで端末側署名生成部２２によって生成される署名データは、ＣＡｄＥＳ（ＣＭＳ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｉｃ  Ｓｉｇｎａｔｕｒｅｓ）やＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）署名、ＸＡｄＥＳ（ＸＭＬ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｉｃ  Ｓｉｇｎａｔｕｒｅｓ）、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）署名、ＰＡｄＥＳ（ＰＤＦ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｉｃ  Ｓｉｇｎａｔｕｒｅｓ）などの署名値を含む署名データとする。
【００４１】
＊＊＊実施の形態１の効果＊＊＊
（１）以上の署名システム１−１では、仮署名鍵ＳＫ１と復元鍵ＳＫ２とから秘密鍵ＳＫ０を復元するのではなく、仮署名鍵ＳＫ１を用いて生成した仮署名値に対して、復元鍵ＳＫ２を用いて演算することで、秘密鍵ＳＫ０を用いた場合の通常の電子署名を生成する。よって秘密鍵の漏えいの恐れが低減する。
（２）署名システム１−１によれば、ユーザが復元鍵ＳＫ２を紛失し第三者が取得したとしても仮署名鍵ＳＫ１がなければ電子署名は生成できない。仮署名鍵ＳＫ１は仮署名サーバ１０によって管理されているので、この点でも電子署名の安全性が高まる。
（３）署名システム１−１では通信網５０を介したデータのやり取りによって電子署名を得ることができるので、ＩＣカードは不要となる。
【００４２】
実施の形態２．
図５〜図８を参照して実施の形態２の署名システム１−２を説明する。実施の形態１ではユーザ端末２０−１が署名値を生成する。これに対して実施の形態２の署名システム１−２では、署名生成サーバ装置４０が追加され、署名生成サーバ装置４０が、仮署名値から署名値を生成する。以下では署名生成サーバ装置４０は以下、通常署名サーバ４０と記す。
【００４３】
図５は、署名システム１−２の構成図である。署名システム１−２は、仮署名サーバ１０、ユーザ端末２０−２、認証局装置３０、通常署名サーバ４０を備える。
（１）仮署名サーバ１０は実施の形態１と同じ構成である。
（２）ユーザ端末２０−２は、端末側Ｗｅｂブラウザ２３を備える。端末側Ｗｅｂブラウザ２３はプロセッサ９１Ｂにより実行されるソフトウェアである。
（３）認証局装置３０は実施の形態１と同じ構成である。
（４）通常署名サーバ４０は、実施の形態１のユーザ端末２０−１と同様に、仮署名値から署名値を生成する。通常署名サーバ４０は、通常側ユーザ認証部４１、通常側連携部４２、通常側署名生成部４３、通常側復元鍵管理部４４、通常側署名データベース４５を備える。通常側署名データベース４５は、以下、通常側署名ＤＢ４５と記す。
【００４４】
なお、仮署名サーバ１０、ユーザ端末２０−２、認証局装置３０のハードウェア構成は実施の形態１と同等である。また通常署名サーバ４０のハードウェア構成は、仮署名サーバ１０と同様である。通常署名サーバ４０はハードウェアとして、プロセッサ９１Ｄ、記憶装置９２Ｄ、通信装置９３Ｄを備える。記憶装置９２Ｄは補助記憶装置９２Ｄ−１とメモリ９２Ｄ−２を備える。補助記憶装置９２Ｄ−１は通常側署名ＤＢ４５を格納している。通常側署名ＤＢ４５には、複数のユーザのそれぞれの復元鍵ＳＫ２が格納されている。
【００４５】
また、通常側ユーザ認証部４１と、通常側連携部４２と、通常側署名生成部４３と、通常側復元鍵管理部４４との機能を、通常署名サーバ４０の「部の機能」と呼ぶ。通常署名サーバ４０の「部の機能」は、プロセッサ９１Ｄによって実現される。
【００４６】
実施の形態２では、実施の形態１と同様に仮署名サーバ１０は第１の暗号装置９１０であるが、第２の暗号装置９２０は通常署名サーバ４０が該当する。通常署名サーバ４０は、第２の暗号装置である。通常署名サーバ４０は、暗号化データ取得部９２１である通信装置９３Ｄ、第２分割鍵保管部９２２である補助記憶装置９２Ｄ−１、演算データ生成部９２３である通常側署生成部４３を備える。暗号化データ取得部９２１（通信装置９３Ｄ）は、暗号化データ生成部９１２（仮署名生成部１３）が生成した暗号化データ（ｈ（Ｍ））ＳＫ１を取得する。第２分割鍵保管部９２２（補助記憶装置９２Ｄ−１）は、第２分割鍵ＳＫ２を保管する。演算データ生成部９２３（通常側署名生成部４３）は、暗号化データ取得部９２１（通信装置９３Ｄ）が取得した暗号化データ（ｈ（Ｍ））ＳＫ１を第２分割鍵ＳＫ２を用いて演算することにより、第１分割鍵ＳＫ１による暗号化前のデータｈ（Ｍ）を第１分割鍵ＳＫ１と第２分割鍵ＳＫ２との元になる鍵情報である秘密鍵ＳＫ０を用いて暗号化した場合の暗号化データ（ｈ（Ｍ））ＳＫ０と同一の値の演算データを生成する。第２分割鍵保管部９２２である補助記憶装置９２Ｄ−１の通常側署名ＤＢ４５には、複数の秘密鍵の各鍵情報から分割された、複数の第２分割鍵が保管されている。演算データ生成部９２３である通常側署名生成部４３は、通常側復元鍵管理部４４介して、暗号化データ（ｈ（Ｍ））ＳＫ１から演算データ（ｈ（Ｍ））ＳＫ０を生成するための第２分割鍵ＳＫ２を検索する。通常側署名生成部４３は、検索によってヒットした第２分割鍵ＳＫ２を用いて暗号化データ（ｈ（Ｍ））ＳＫ１を演算する。
【００４７】
署名システム１−２の処理は、実施の形態１と同様に以下の（１）〜（３）の処理がある。
（１）仮署名鍵ＳＫ１と証明書の登録、
（２）復元鍵ＳＫ２の配付、
（３）電子署名の生成
【００４８】
「（１）仮署名鍵ＳＫ１と証明書の登録」及び「（２）復元鍵ＳＫ２の配付」は、実施の形態１の図２（復元鍵の配布）、図３（証明書、仮署名鍵の登録）と同じなので説明は省略する。
【００４９】
実施の形態２では、ユーザ２４は、認証局装置３０から受け取った復元鍵ＳＫ２を、ユーザ端末２０−２から通常署名サーバ４０へ登録する。ユーザ２４は、ユーザ端末２０−２上で動作するオペレーティングシステムに標準でインストールされている端末側Ｗｅｂブラウザ２３から通常署名サーバ４０に接続し、端末側Ｗｅｂブラウザ２３によって表示装置９４Ｂに「復元鍵ＳＫ２の登録画面」を表示する。ユーザ２４は、端末側Ｗｅｂブラウザ２３によって表示した「復元鍵ＳＫ２の登録画面」に，認証局装置３０から受け取った復元鍵ＳＫ２を入力し、通常署名サーバ４０へ送信することで復元鍵ＳＫ２を登録する。
【００５０】
図６は、通常署名サーバ４０に復元鍵ＳＫ２を登録する処理を示すフローチャートである。通常署名サーバ４０では、通信装置９３Ｄが復元鍵ＳＫ２及び復元鍵ＳＫ２の登録要求を受信する（ステップＳ４０１）。登録要求を受信した場合、通常側ユーザ認証部４１は、ユーザ２４の電子認証を行う（ステップＳ４０２）。なりすましが無ければ、通常側ユーザ認証部４１は、通常側復元鍵管理部４４へ、通信装置９３Ｄが受信した復元鍵ＳＫ２を送信する。通常側復元鍵管理部４４は、通常側ユーザ認証部４１から受信した復元鍵ＳＫ２を、署名ＤＢ４０５へ登録する（ステップＳ４０３）。
【００５１】
（電子署名の生成）
図７は、署名システム１−２における署名生成処理を示すフローチャートである。
図７を参照して電子署名の生成手順を説明する。
【００５２】
ユーザ２４は、ユーザ端末２０−２で署名対象データＭを作成、またはユーザ端末２０−２に署名対象データＭを入力する（ステップＳ５０１）。
【００５３】
ユーザ２４は、ユーザ端末２０−２上で動作する端末側Ｗｅｂブラウザ２３によって通常署名サーバ４０に接続し、端末側Ｗｅｂブラウザ２３が「署名対象データＭの登録画面」を表示する。ユーザ２４は、端末側Ｗｅｂブラウザ２３が表示した「署名対象データＭの登録画面」に署名対象データＭを入力し、通常署名サーバ４０へ送信（ステップＳ５０２）する。
【００５４】
通常署名サーバ４０は、通信装置９３Ｄによってユーザ端末２０−２から署名対象データＭの登録要求を受け取ると、通常側ユーザ認証部４１がユーザ２４の電子認証（ステップＳ５０３）を行う。なりすましが無ければ、通常側ユーザ認証部４１は、通常側連携部４２経由で、署名対象データＭを通常側署名生成部４３へ送信する。通常側連携部４２は、ユーザ端末２０−２へ、通信装置９３Ｄを介して「署名生成確認画面」を返す（ステップＳ５０４）。
【００５５】
ユーザ２４は、ユーザ端末２０−２上で動作する端末側Ｗｅｂブラウザ２３が表示（ステップＳ５０５）した「署名生成確認画面」の確認ボタンを押し下げし、署名生成要求を通常署名サーバ４０へ送信する（ステップＳ５０６）。
【００５６】
通常署名サーバ４０は、ユーザ端末２０−２から署名生成要求を受け取ると、通常側ユーザ認証部４１はユーザ２４の電子認証を行う（ステップＳ５０７）。なりすましが無ければ、通常側ユーザ認証部４１は、通常側連携部４２経由で、署名生成要求を通常側署名生成部４３へ送信する。通常側署名生成部４３は、署名対象データＭのハッシュ値ｈ（Ｍ）を生成する（ステップＳ５０８）。
【００５７】
本実施の形態では、署名生成サーバ４０において都度、電子認証を行っているが、クッキーなどによるセッション管理によって電子認証を省略することも可能である。
【００５８】
通常側署名生成部４３は、署名対象データのハッシュ値ｈ（Ｍ）を通常側連携部４２に送信する。通常側連携部４２は、仮署名サーバ１０のＵＲＬ（Ｕｎｉｆｏｒｍ  ＲｅＳｏｕｒｃｅ  Ｌｏｃａｔｏｒ）へのリダイレクトと、署名対象データのハッシュ値ｈ（Ｍ）をユーザ端末２０−２へ送信する（ステップＳ５０９）。
【００５９】
ユーザ端末２０−２では、仮署名サーバ１０のＵＲＬへのリダイレクトとハッシュ値ｈ（Ｍ）を通信装置９３Ｂを介して端末側Ｗｅｂブラウザ２３が受け取る（ステップＳ５１０）。
端末側Ｗｅｂブラウザ２３は、リダイレクト命令の通り仮署名サーバ１０に接続し、ハッシュ値ｈ（Ｍ）を仮署名サーバ１０へ送信する（ステップＳ５１１）。
【００６０】
本実施の形態では、仮署名サーバ１０へのアクセスはＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のリダイレクトを用いることとする。アクセスはリダイレクトに限らず、ユーザ端末２０−２のアクセス用プログラムなどその他の方式を用いることも可能である。
【００６１】
仮署名サーバ１０は、通信装置９３Ａによって、ユーザ端末２０−２から、認証情報を含む仮署名生成要求と、ハッシュ値ｈ（Ｍ）を受信する。仮側ユーザ認証部１１は、ユーザ２４の電子認証を行う（ステップＳ５１２）。なりすましが無ければ、仮側ユーザ認証部１１は仮側連携部１２へハッシュ値ｈ（Ｍ）と認証情報を渡す。
【００６２】
仮側連携部１２を経由して、ハッシュ値ｈ（Ｍ）と認証情報とは、仮署名生成部１３に送信される。仮署名生成部１３は、認証情報に含まれるユーザ２４の情報を検索条件として、仮側証明書管理部１４へユーザ２４の証明書を要求し、仮署名鍵管理部１５へユーザ２４の仮署名鍵ＳＫ１を要求する。
【００６３】
仮側証明書管理部１４は、ユーザ２４の情報を検索条件として、仮署名ＤＢ１６からユーザ２４の証明書を取得し、仮署名生成部１３へ証明書を渡す（ステップＳ５１３）。
【００６４】
仮署名鍵管理部１５は、ユーザ２４の情報を検索条件として、仮署名ＤＢ１６からユーザ２４の仮署名鍵ＳＫ１を取得し、仮署名生成部１３へユーザ２４の仮署名鍵ＳＫ１を渡す（ステップＳ５１４）。
【００６５】
仮署名生成部１３は、ユーザ２４の仮署名鍵ＳＫ１を用いて、署名対象データのハッシュ値ｈ（Ｍ）に対して、実施の形態１で述べた「１．しきい値署名方式に関する文献」によるしきい値署名方式、あるいは「２．鍵分割署名方式に関する文献」による鍵分割署名方式に基づく仮署名値（ｈ（Ｍ））ＳＫ１を生成する（ステップＳ５１５）。
【００６６】
仮署名生成部１３は、仮署名値（ｈ（Ｍ））ＳＫ１とユーザ２４の証明書を仮側連携部１２へ送信する。仮側連携部１２は、通常署名サーバ４０のＵＲＬへのリダイレクトと、仮署名値（ｈ（Ｍ））ＳＫ１と、ユーザ２４の証明書を、ユーザ端末２０−２へ送信する（ステップＳ５１６）。
【００６７】
ユーザ端末２０−２では、通常署名サーバ４０のＵＲＬへのリダイレクトと、仮署名値（ｈ（Ｍ））ＳＫ１と、ユーザ２４の証明書とを端末側Ｗｅｂブラウザ２３が通信装置９３Ｂを介して受け取る（ステップＳ５１７）。端末側Ｗｅｂブラウザ２３は、リダイレクト命令の通り通常署名サーバ４０に接続し、仮署名値（ｈ（Ｍ））ＳＫ１と、ユーザ２４の証明書とを、通常署名サーバ４０へ送信する（ステップＳ５１８）。
【００６８】
通常署名サーバ４０は、ユーザ端末２０−２から仮署名値（ｈ（Ｍ））ＳＫ１とユーザ２４の証明書を受け取ると、通常側ユーザ認証部４１がユーザ２４の電子認証を行う（ステップＳ５１９）。なりすましが無ければ、通常側ユーザ認証部４１は、通常側連携部４２経由で、仮署名値（ｈ（Ｍ））ＳＫ１とユーザ２４の証明書とを通常側署名生成部４３へ送信する。
【００６９】
通常側署名生成部４３は、通常側署名ＤＢ４５を検索してユーザ２４の復元鍵ＳＫ２を取得する（ステップＳ５２０）。通常側署名生成部４３は、検索でヒットした復元鍵ＳＫ２を用いて、仮署名値（ｈ（Ｍ））ＳＫ１に対して、実施の形態１で述べた「１．しきい値署名方式に関する文献」によるしきい値署名方式、あるいは「２．鍵分割署名方式に関する文献」による鍵分割署名方式に基づく署名値を生成する（ステップＳ５２１）。つまり、実施の形態１のステップＳ３１０（図４）と同様に、仮署名値（ｈ（Ｍ））ＳＫ１に復元鍵ＳＫ２を作用させることで、ハッシュ値ｈ（Ｍ）と秘密鍵ＳＫ０とから生成される通常の電子署名（ｈ（Ｍ））ＳＫ０が得られる。
【００７０】
通常側署名生成部４３は、署名対象データＭ、署名値（ｈ（Ｍ））ＳＫ０、ユーザ２４の証明書を用いて、署名データを生成する（ステップＳ５２２）。生成する署名データは、ＣＡｄＥＳやＸＭＬ署名、ＸＡｄＥＳ、ＰＤＦ署名、ＰＡｄＥＳなどの署名値を含む署名データとする。
【００７１】
通常側署名生成部４３は、生成した署名データを通常側連携部４２に送信する。
通常側連携部４２は、通信装置９３Ｄを介して、署名データをユーザ端末２０−２へ送信する（ステップＳ５２３）。
【００７２】
ユーザ端末２０−２は、署名データを端末側Ｗｅｂブラウザ２３が通信装置９３Ｂを介して受信する（ステップＳ５２４）。端末側Ｗｅｂブラウザ２３は表示装置９４Ｂの画面上に「ファイル保存の確認画面」を表示し、署名データをユーザ端末２０−２の補助記憶装置９２Ｂ−１に保存する。
【００７３】
＊＊＊実施の形態２の効果＊＊＊
（１）実施の形態２の署名システム１−２では通常署名サーバ４０を備えたので、ユーザ端末２０−２はＷｅｂブラウザが動作するだけでよい。したがって、実施の形態１の効果に加え、ユーザは専用のアプリケーションをユーザ端末２０−２にインストールすることなく、署名システム１−２によって、仮署名値から署名値を得ることができる。
（２）ユーザは復元鍵ＳＫ２を通常署名サーバ４０に登録するので、実施の形態１に対して、復元鍵ＳＫ２の紛失の恐れが低減するので、電子署名の安全性が向上する。
【００７４】
＊＊＊他の構成＊＊＊
図８は、処理回路９９を示す図である。実施の形態１、実施の形態２では、仮署名サーバ１０、ユーザ端末２０−１、２０−２等の「部の機能」はソフトウェアで実現されるが、変形例として、仮署名サーバ１０、ユーザ端末２０−１、２０−２等の「部の機能」がハードウェアで実現されてもよい。つまり、処理回路９９によって、前述したプロセッサ９１Ａ、９１Ｂとして示す「部の機能」、及び「記憶装置」の機能を実現する。処理回路９９は信号線９９ａに接続している。処理回路９９は、仮署名サーバ１０、ユーザ端末２０−１，２０−２の「部の機能」、及び「記憶装置」の機能を実現する専用の電子回路である。処理回路９９は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ・Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ・Ｓｐｅｃｉｆｉｃ・Ｉｎｔｅｇｒａｔｅｄ・Ｃｉｒｃｕｉｔ）、又は、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ・Ｇａｔｅ・Ａｒｒａｙ）である。
【００７５】
仮署名サーバ１０、ユーザ端末２０−１，２０−２等は、処理回路９９を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として、仮署名サーバ１０、ユーザ端末２０−１，２０−２の「部の機能」が実現される。それぞれの処理回路は、処理回路９９と同じように、専用の電子回路である。
【００７６】
別の変形例として、仮署名サーバ１０、ユーザ端末２０−１，２０−２等の機能が、ソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、仮署名サーバ１０等の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
【００７７】
仮署名サーバ１０については、プロセッサ９１Ａ、記憶装置９２Ａ及び処理回路９９を、総称して「プロセッシングサーキットリ」という。つまり、仮署名サーバ１０の「部の機能」、及び記憶装置は、プロセッシングサーキットリにより実現される。これはユーザ端末２０−１，ユーザ端末２０−２についても同様である。
【００７８】
「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部の機能」をファームウェアで実現してもよい。つまり、仮署名サーバ１０、ユーザ端末２０−１，２０−２の動作は、暗号プログラム、暗号方法としても把握できる。また、「部の機能」は、暗号プログラムを格納する記録媒体して実現することもできる。
【００７９】
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つを組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、２つを部分的に組み合わせて実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００８０】
１−１，１−２  署名システム１−２、ＳＫ０  秘密鍵、ＳＫ１  仮署名鍵、ＳＫ２  復元鍵、１０  仮署名サーバ、１１  仮側ユーザ認証部、１２  仮側連携部、１３  仮署名生成部、１４  仮側証明書管理部、１５  仮署名鍵管理部、１６  仮署名ＤＢ、２０−１，２０−２  ユーザ端末、２１  端末側連携部、２２  端末側署名生成部、２３  端末側Ｗｅｂブラウザ、２４  ユーザ、３０  認証局装置、３１  局側連携部、３２  局側鍵分割部、３３  局側サーバ部、４０  通常署名サーバ、４１  通常側ユーザ認証部、４２
通常側連携部、４３  通常側署名生成部、４４  通常側復元鍵管理部、４５  通常側署名ＤＢ、５０  通信網、９１Ａ，９１Ｂ，９１Ｃ，９１Ｄ  プロセッサ、９２Ａ，９２Ｂ，９２Ｃ，９２Ｄ  記憶装置、９３Ａ，９３Ｂ，９３Ｃ，９３Ｄ  通信装置、９２Ａ−１，９２Ｂ−１，９２Ｃ−１，９２Ｄ−１  補助記憶装置、９２Ａ−２，９２Ｂ−２，９２Ｃ−２，９２Ｄ−２  メモリ、９９  処理回路、９９ａ  信号線、３００  認証局、９１０  第１の暗号装置、９１１  第１分割鍵保管部、９１２  暗号化データ生成部、９２０  第２の暗号装置、９２１  暗号化データ取得部、９２２  第２分割鍵保管部、９２３  演算データ生成部。
【図１】
2018029268.tif 000003
【図２】
2018029268.tif 000004
【図３】
2018029268.tif 000005
【図４】
2018029268.tif 000006
【図５】
2018029268.tif 000007
【図６】
2018029268.tif 000008
【図７】
2018029268.tif 000009
【図８】
2018029268.tif 000010