(57)【要約】【課題】秘密鍵を保持する装置から秘密鍵を移動させることなく電子署名を行うことが可能な署名装置を提供する。【解決手段】第１〜第３のサーバ装置１０〜３０から構成されている署名装置３には、情報処理装置４、端末装置５及び認証局６がＬＡＮ２やインターネット３を介して接続されている。情報処理装置４は、ｍｏｄ演算によって秘密鍵７から第１及び第２の分割鍵９ａ，９ｂを生成する。第１のサーバ装置１０は電子文書１４のハッシュ値Ｈを計算する。第２のサーバ装置２０はハッシュ値Ｈに第１の分割鍵９ａによる第１の暗号化を施して暗号化データＪを生成し、第３のサーバ装置３０は暗号化データＪに対して第２の分割鍵９ｂによる第２の暗号化を施して署名データＬを生成する。この署名データＬにより、第１のサーバ装置１０は電子文書１４への電子署名を実施する。【選択図】図１
2010154098.tif 000002
【特許請求の範囲】
【請求項１】
電子文書に関するデータに対し、秘密鍵を少なくとも２つに分割して得られた第１及び第２の分割鍵のうち、前記第１の分割鍵を用いて暗号化を施す第１の暗号化部と、
前記第１の暗号化部によって暗号化された暗号化データを前記第２の分割鍵を用いて暗号化を施すことにより前記電子文書の署名データを生成する第２の暗号化部と、
を備えた署名装置。
【請求項２】
前記複数の分割鍵は、前記秘密鍵からｍｏｄ演算によって生成されている請求項１に記載の署名装置。
【請求項３】
前記電子文書のデータのハッシュ値を算出して前記電子文書に関するデータとして前記第１の暗号化部に出力するハッシュ計算部を更に備えた請求項１に記載の署名装置。
【請求項４】
前記第１及び第２の暗号化部、及び前記ハッシュ計算部は、ネットワークを介して互いに接続された複数のサーバ装置に分散して設けられた請求項３に記載の署名装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、署名装置に関する。
【背景技術】
【０００２】
インターネットの普及に伴い、文書を他人に渡す場合、郵便等によらず電子的に送ることが多くなっている。この場合、受信者にとっては、送られてきた電子文書が信用できるか否かが問題になる。そこで、送信者が送信時に電子文書に電子署名を付け、送信者が真正か否かを受信側で検証できるようにし、悪意の第３者による改竄等の防止を図っている。
【０００３】
一般に、インターネットで署名付きの電子文書を送信する場合、送信者は公開鍵と秘密鍵とのペアを作り、秘密鍵に基づいて生成した電子署名を電子文書に付けて送信し、受信側では、受信者が予め入手した公開鍵により電子署名の検証を行っている。
【０００４】
しかし、秘密鍵が他人に漏れると、印鑑が他人に悪用されるのと同じ状態が生じる。そこで、安全性を高めるため、秘密鍵を分割して保管する方法が知られている（例えば、特許文献１参照）。
【特許文献１】特開２０００−２５２９７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、秘密鍵を保持する装置から秘密鍵を移動させることなく電子署名を行うことが可能な署名装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、上記目的を達成するため、以下の署名装置を提供する。
【０００７】
［１］電子文書に関するデータに対し、秘密鍵を少なくとも２つに分割して得られた第１及び第２の分割鍵のうち、前記第１の分割鍵を用いて暗号化を施す第１の暗号化部と、前記第１の暗号化部によって暗号化された暗号化データを前記第２の分割鍵を用いて暗号化を施すことにより前記電子文書の署名データを生成する第２の暗号化部と、を備えた署名装置。
【０００８】
［２］前記複数の分割鍵は、前記秘密鍵からｍｏｄ演算によって生成されている前記［１］に記載の署名装置。
【０００９】
［３］前記電子文書のデータのハッシュ値を算出して前記電子文書に関するデータとして前記第１の暗号化部に出力するハッシュ計算部を更に備えた前記［１］に記載の署名装置。
【００１０】
［４］前記第１及び第２の暗号化部、及び前記ハッシュ計算部は、ネットワークを介して互いに接続された複数のサーバ装置に分散して設けられた前記［３］に記載の署名装置。
【発明の効果】
【００１１】
請求項１に記載の発明によれば、秘密鍵を保持する装置から秘密鍵を移動させることなく電子署名を行うことができる。
【００１２】
請求項２に記載の発明によれば、秘密鍵を用いることなく署名データを生成することができる。
【００１３】
請求項３に記載の発明によれば、汎用の暗号化技術を用いて暗号化を行うことができる。
【００１４】
請求項４に記載の発明によれば、第１及び第２の暗号化部、及びハッシュ計算部を１つのサーバ装置に設けた構成と比べて、電子文書が改竄され難くなる。
【発明を実施するための最良の形態】
【００１５】
（情報処理システムの構成）
図１は、本発明の実施の形態に係る情報処理システムのブロック図である。情報処理システム１００は、インターネット１及びＬＡＮ２に接続された署名装置３と、ＬＡＮ２を介して署名装置３に接続されていると共にインターネット１に接続可能な情報処理装置４と、インターネット１に接続された端末装置５と、インターネット１に接続された認証局６とを備えている。
【００１６】
（署名装置の構成）
署名装置３は、インターネット１及びＬＡＮ２に接続された第１のサーバ装置（サーバＡ）１０と、ＬＡＮ２に接続された第２のサーバ装置（サーバＢ）２０と、ＬＡＮ２に接続された第３のサーバ装置（サーバＣ）３０とからなる。
【００１７】
第１乃至第３のサーバ装置１０〜３０及び情報処理装置４は、例えば、会社やオフィス内に設置されている。なお、第１乃至第３のサーバ装置１０〜３０が１つのサーバ装置に纏められてもよく、またはこれらのサーバ装置１０〜３０のうちいずれか２つが１つのサーバ装置に纏められてもよい。
【００１８】
第１のサーバ装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、インターフェース部等を備えて構成されたコンピュータ、又は、プリンタ、複写機、スキャナ及びファクシミリの各機能を備えた複合機（多機能周辺装置：ＭＦＰ）である。図１に示すように、第１のサーバ装置１０は、電子文書１４及び他の電子文書を格納する記憶部１１と、電子文書１４に対してハッシュ計算を行ってハッシュ値Ｈを得るハッシュ計算部１２と、署名データＬに基づいて電子署名を行う署名部１３とを備えている。
【００１９】
第２のサーバ装置２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、インターフェース部等を備えて構成されたコンピュータであり、更に、情報処理装置４から付与された第１の分割鍵９ａに基づいて第１のサーバ装置１０が生成したハッシュ値Ｈに対して第１の暗号化を実行する第１の暗号化部２１を備えている。
【００２０】
第３のサーバ装置３０は、第２のサーバ装置２０と同様にＣＰＵ、ＲＯＭ、ＲＡＭ、インターフェース部等を備えて構成されたコンピュータであり、更に、情報処理装置４から付与された第２の分割鍵９ｂに基づいて第２のサーバ装置２０からの暗号化データＪに対して第２の暗号化を行って上記署名データＬを生成する第２の暗号化部３１を備えている。
【００２１】
（情報処理装置、端末装置及び認証局の構成）
情報処理装置４は、ユーザ４０によって使用されているコンピュータ、例えば、携帯電話機、ノート型パーソナルコンピュータであり、秘密鍵７と該秘密鍵７とペアの関係にある公開鍵８とを情報処理装置４０内の記憶部（図示せず）に保持すると共に、秘密鍵を第１の分割鍵９ａと第２の分割鍵９ｂとに分割する処理を行う演算部４１を備えている。なお、この種の装置は、通常、複数台がインターネット１及びＬＡＮ２に接続されている。
【００２２】
端末装置５は、インターネット１を介して署名装置３や情報処理装置４と通信することができるように構成されている。この端末装置５は、例えば、ユーザ４０の所属する会社等とは異なる第３者が属する会社等に設置されている。
【００２３】
認証局６は、個人、法人等からの登録申請に応じて電子証明書を発行する機関であり、インターネット１に接続されたコンピュータ（図示せず）を備えている。本実施の形態においては、情報処理装置４のユーザ４０からの登録申請に対し、公開鍵８を含む電子証明書６１を発行しているものとする。
【００２４】
（情報処理システムの動作）
次に、本実施の形態の情報処理システム１００の動作を図２を参照して説明する。図２は、情報処理システムの動作を示すフローチャートである。ここでは、ユーザ４０が既に秘密鍵７及び公開鍵６を保持し、かつ認証局６により電子証明書６１が発行済みであるとする。
【００２５】
まず、ユーザ４０は、情報処理装置４を操作してアプリケーションを起動し、演算部４１を動作させて秘密鍵７から第１及び第２の分割鍵９ａ，９ｂを生成する（Ｓ１０１）。第１及び第２の分割鍵９ａ，９ｂは、ｍｏｄ演算により生成する。
【００２６】
ここで、秘密鍵７の鍵データをＳ、公開鍵８の鍵データをＣとする。また、第１の分割鍵９ａの鍵データをＥ、第２の分割鍵９ｂの鍵データをＦ、法をｎ、最大公約数をＫ、素数をｐ及びｑ、最小公倍数（least common multiple：ｌｃｍ）をｇとする。素数ｐ，ｑは乱数発生器により求められ、このｐ，ｑから、ｎ＝ｐ×ｑを得る。ｇは、ｇ＝ｌｃｍ（ｐ−１，ｑ−１）である。
【００２７】
第１及び第２の分割鍵９ａ，８ｂは、下式で表される。
Ｋ＝（Ｓ×Ｅ）ｍｏｄｇ
Ｋ＝（Ｓ×Ｆ）ｍｏｄｇ
例えば、Ｋ＝１とすると、
（Ｓ×Ｅ）ｍｏｄｇ＝１
（Ｓ×Ｆ）ｍｏｄｇ＝１
となり、Ｓ及びｇは既知であるから、Ｅ及びＦは容易に求められる。
【００２８】
情報処理装置４は、第１及び第２の分割鍵９ａ，９ｂを生成した後、第１の分割鍵９ａをＬＡＮ２を介して第２のサーバ装置（サーバＢ）２０へ転送すると共に第２の分割鍵９ｂをＬＡＮ２を介して第３のサーバ装置（サーバＣ）３０へ転送する（Ｓ１０２）。次に、ユーザ４０は、情報処理装置４を第１のサーバ装置１０に接続し、端末装置５に送信する電子文書を指定（ここでは、電子文書１４を指定）すると共に、電子署名の実行を第１のサーバ装置（サーバＡ）１０に指示する（Ｓ１０３）。
【００２９】
第１のサーバ装置１０では、ハッシュ計算部１２がハッシュ関数によって電子文書１４のデータのハッシュ値Ｈを算出し（Ｓ１０４）、このハッシュ値ＨをＬＡＮ２を介して第２のサーバ装置２０へ送信する。第２のサーバ装置２０は、第１のサーバ装置１０からのハッシュ値Ｈに対し、第１の分割鍵９ａ（Ｅ）を用いて第１の暗号化部２１により第１の暗号化を実行する（Ｓ１０５）。この暗号化は、Ｊ＝ＨＥｍｏｄｎの演算により行う。第２のサーバ装置２０は、第１の暗号化部２１による暗号化データＪをＬＡＮ２を介して第３のサーバ装置３０へ送信する。
【００３０】
第３のサーバ装置３０は、第２のサーバ装置２０からの暗号化データＪに対し、第２の暗号化部３１が第２の分割鍵９ｂ（Ｆ）を用いて第２の暗号化を実施し、署名データＬを得る（Ｓ１０６）。この第２の暗号化は、Ｌ＝ＪＦｍｏｄｎの演算により行う。第３のサーバ装置３０は、署名データＬを第１のサーバ装置１０へ送信する（Ｓ１０７）。
【００３１】
第１のサーバ装置１０は、署名部１３によって電子文書１４に第３のサーバ装置３０からの署名データＬを付け（Ｓ１０８）、これを署名付き電子文書１５としてインターネット１を介して端末装置５へ送信する（Ｓ１０９）。端末装置５では、受信した署名付き電子文書１５に対し、端末装置５のユーザが公開鍵８（Ｃ）によって電子署名を検証する。
【００３２】
上記の説明は、１つの電子文書に電子署名を行う場合であるが、複数の電子文書に対してバッチ署名を行うこともできる。この場合、第１のサーバ装置１０は、複数の電子文書に対してハッシュ計算を行う。
【００３３】
なお、第３のサーバ装置３０は、第２のサーバ装置２０からの暗号化データＪのデータ量が少なく第３のサーバ装置３０の負担は小さいので、ＩＣカード化することが可能である。
【００３４】
また、上記実施の形態においては、秘密鍵７から２つの分割鍵９ａ，９ｂを生成するものとしたが、任意の数にすることができる。この場合、分割鍵の数だけ暗号化処理部を設けることになる。
【図面の簡単な説明】
【００３５】
【図１】図１は、本発明の実施の形態に係る情報処理システムのブロック図である。
【図２】図２は、情報処理システムの動作を示すフローチャートである。
【符号の説明】
【００３６】
１…インターネット、２…ＬＡＮ、３…署名装置、４…情報処理装置、５…端末装置、
６…認証局、７…秘密鍵、８…公開鍵、９ａ…第１の分割鍵、９ｂ…第２の分割鍵、
１０…第１のサーバ装置、１１…記憶部、１２…ハッシュ計算部、１３…署名部、
１４…電子文書、１５…署名付き電子文書、２０…第２のサーバ装置、
２１…第１の暗号化部、３０…第３のサーバ装置、３１…第２の暗号化部、４０…ユーザ、
４１…演算部、６１…電子証明書、１００…情報処理システム
【図１】
2010154098.tif 000003
【図２】
2010154098.tif 000004