(57)【要約】【課題】  データを暗号化／復号化する暗号鍵の漏洩を防ぎ、かつ汎用性の高い暗号装置を提供する。【解決手段】  暗号鍵コンポーネント入力手段１１０から入力された複数の暗号鍵コンポーネントに基いて暗号鍵生成手段１３０が暗号鍵を生成し、生成された暗号鍵で対象データ入力手段から入力された対象データを暗号化／復号化する。暗号鍵の生成に複数の暗号鍵コンポーネントが必要であり、一つの暗号鍵コンポーネントが漏洩した場合でも暗号鍵そのものが漏洩することはない。また暗号鍵コンポーネントは、暗号文を伝送する先のシステムに合わせて、暗号鍵コンポーネント出力手段から出力される。【選択図】      図１
2005260614.tif 000002
【特許請求の範囲】
【請求項１】
暗号鍵の基になる複数の暗号鍵コンポーネントを入力する暗号鍵コンポーネント入力手段と、暗号化／復号化の対象となるデータを入力する対象データ入力手段と、前記暗号鍵コンポーネント入力手段から入力された複数の暗号鍵コンポーネントに基いて暗号鍵を生成する暗号鍵生成手段と、前記対象データ入力手段から入力された対象データを前記暗号生成手段で生成した暗号鍵を用いて暗号化／復号化する暗号／復号手段とを少なくとも備えたことを特徴とする暗号装置。
【請求項２】
暗号鍵の基になる複数の暗号鍵コンポーネントを生成する暗号鍵コンポーネント生成手段と、暗号鍵の基になる複数の暗号鍵コンポーネントを入力する暗号鍵コンポーネント入力手段と、暗号化／復号化の対象となる対象データを入力する対象データ入力手段と、前記暗号鍵コンポーネント生成手段で生成された複数の暗号鍵コンポーネントまたは前記暗号鍵コンポーネント入力手段から入力された複数の暗号鍵コンポーネントに基いて暗号鍵を生成する暗号鍵生成手段と、前記対象データ入力手段から入力された対象データを前記暗号生成手段で生成した暗号鍵を用いて暗号化／復号化する暗号／復号手段と、暗号鍵コンポーネントを出力する暗号鍵コンポーネント出力手段とを少なくとも備えたことを特徴とする暗号装置。
【請求項３】
前記暗号コンポーネント生成手段は乱数を用いて複数の前記暗号鍵コンポーネントを生成することを特徴とする請求項２に記載の暗号装置。
【請求項４】
前記暗号鍵コンポーネント出力手段は前記暗号鍵コンポーネントをＩＣカードに書き込む装置であることを特徴とす請求項２または請求項３に記載の暗号装置。
【請求項５】
前記暗号鍵コンポーネント出力手段は前記暗号鍵コンポーネントをフロ―ッピイディスクに出力する装置であることを特徴とする請求項２または請求項３に記載の暗号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化／復号化する暗号処理技術に関し、更に詳しくは暗号鍵の漏洩を防ぐ技術に関する。
【背景技術】
【０００２】
従来より、企業または個人において特に重要な機密情報を他人に伝達する際、第三者へ前記機密情報が漏洩することを防止すべく、前記機密情報を暗号化して伝達するケースが増えている。
【０００３】
当然暗号化された機密情報（以下、暗号文と記す）を伝達しても、暗号化の際に使用した暗号鍵が漏洩しては意味がないため、暗号鍵の漏洩を防ぐ発明が開示されている。例えば他人の出願に係る特許文献１においては、入力された入力データに基づいて、前記入力データと一意に対応する暗号鍵データを生成し、前記暗号鍵データを用いて暗号化することで、暗号鍵そのものを記憶装置に保存することが不要になり、暗号鍵の漏洩を防止できる暗号鍵作成装置を開示している。
【特許文献１】特開２００２−９７５１号公報
【０００４】
また、他人の出願に係る特許文献２においては、暗号鍵をＩＣカードに代表されるメモリカードに記録することで暗号鍵の漏洩を防ぐと共に、前記メモリカードが紛失した場合でもパスワードと鍵番号を入力することによりファイルを復号化できるファイル暗号復号装置を開示している。
【特許文献１】特開２００１−３４５７９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし上述した従来の技術においては、以下に述べる課題がある。第１の課題は、暗号化／復号化する際に必要となるパスワード等の入力データが一つしかない点である。パスワード等の入力データが一つしかないと、一つの入力データを盗み見された場合、暗号文の復号化が容易に行なわれてしまう。
【０００６】
また第２の課題は、ＩＣカードに代表されるメモリカードに暗号鍵を記憶させた場合は、暗号文を送信する側および前記暗号文を受信し復号化する側ともに、前記メモリカードに記憶された前記暗号鍵を読取るリーダライタおよびリーダライタを動作させるための専用ソフトが必要になり、前記リーダライタを所持していない相手には暗号文を送付できない点である。
【課題を解決するための手段】
【０００７】
前述の課題を鑑みて本発明は、データを暗号化／復号化する暗号鍵を生成するために複数のパスワード等の入力データを要し、かつ汎用性の高い暗号装置を提供することを目的とする。
【０００８】
前述の課題を解決するために、第１の発明は、暗号鍵の基になる複数の暗号鍵コンポーネントを入力する暗号鍵コンポーネント入力手段と、暗号化／復号化の対象となる対象データを入力する対象データ入力手段と、前記暗号鍵コンポーネント入力手段から入力された複数の暗号鍵コンポーネントに基いて暗号鍵を生成する暗号鍵生成手段と、前記対象データ入力手段から入力された対象データを前記暗号生成手段で生成した暗号鍵を用いて暗号化／復号化する暗号／復号手段とを少なくとも備えたことを特徴とする暗号装置である。暗号鍵を生成するために、複数の暗号鍵コンポーネントを要することで、一つの暗号鍵コンポーネントが漏洩したとしても、一つの暗号鍵コンポーネントから暗号鍵を生成することは不可能になり、暗号鍵の漏洩を防ぐことができる。
【０００９】
また第２の発明は、暗号鍵の基になる複数の暗号鍵コンポーネントを生成する暗号鍵コンポーネント生成手段と、暗号鍵の基になる複数の暗号鍵コンポーネントを入力する暗号鍵コンポーネント入力手段と、暗号化／復号化の対象となる対象データを入力する対象データ入力手段と、前記暗号鍵コンポーネント生成手段で生成された複数の暗号鍵コンポーネントまたは前記暗号鍵コンポーネント入力手段から入力された複数の暗号鍵コンポーネントに基いて暗号鍵を生成する暗号鍵生成手段と、前記対象データ入力手段から入力された対象データを前記暗号生成手段で生成した暗号鍵を用いて暗号化／復号化する暗号／復号手段と、暗号鍵コンポーネントを出力する暗号鍵コンポーネント出力手段とを少なくとも備えたことを特徴とする暗号装置である。前記暗号鍵コンポーネント生成手段を用いることで、対象データを暗号化するときに、前記暗号鍵コンポーネントを入力する必要がなくなる。また前記暗号鍵コンポーネント出力手段を設けることで、暗号文を受信する側の装置に合わせて、前記暗号鍵コンポーネントの出力形態を変更でき、暗号装置の汎用性が高まる。
【００１０】
また第３の発明は、前記暗号コンポーネント生成手段は乱数を用いて複数の前記暗号鍵コンポーネントを生成することを特徴とする第２の発明に記載の暗号装置である。前記暗号鍵コンポーネントの生成に乱数を使用することで、生成される前記暗号鍵コンポーネントの値を推測することは不可能になり、一つの暗号鍵コンポーネントから他のすべての暗号鍵コンポーネントを推測することはできない。
【００１１】
また第４の発明は、前記暗号鍵コンポーネント出力手段は前記暗号鍵コンポーネントをＩＣカードに書き込む装置であることを特徴とする第２の発明または第３の発明に記載の暗号装置である。暗号鍵コンポーネントをＩＣカードに記憶させることで、暗号鍵コンポーネントの機密性が高まる。
【００１２】
また第５の発明は、前記暗号鍵コンポーネント出力手段は前記暗号鍵コンポーネントをフロ―ッピイディスク（ＦＤと略す）に出力する装置であることを特徴とする第２の発明または第３の発明に記載の暗号装置である。暗号鍵コンポーネントをＦＤに記憶させることで、暗号鍵コンポーネントを入力する際、ＩＣカードリーダライタ等の特別な装置が必要でなくなる。
【発明の効果】
【００１３】
これまで述べた本発明によれば、対象データを暗号化／復号化する際は少なくとも２つ以上の暗号鍵コンポーネントが必要であり、たとえ一つの暗号鍵コンポーネントが漏洩したとしても暗号鍵そのものを復元することは困難である。また暗号鍵コンポーネント出力手段を設けることで、暗号文を伝達する相手の装置に合わせて暗号鍵コンポーネントを送付でき、暗号装置の汎用性が高まる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、図を参照しながら詳細に説明する。
【００１５】
図１は本発明の暗号装置の基本構成を説明するための図、図２は本発明の暗号装置を実現したコンピュータの構成図である。図３は暗号処理の動作フローを示した図、第４図は復号処理の動作フローを示した図である。
【００１６】
〔暗号装置の基本構成〕
本発明の暗号装置１０は、図１に示すごとく、暗号鍵の基になる暗号鍵コンポーネントを入力する３つの暗号鍵コンポーネント入力手段１１０と、暗号化／復号化の対象となる対象データを入力する対象データ入力手段１２０と、３つの暗号鍵コンポーネントを生成する暗号鍵コンポーネント生成手段１５０と、暗号鍵コンポーネント入力手段１１０から入力された３つの暗号鍵コンポーネントまたは暗号鍵コンポーネント生成手段１５０で生成された３つの暗号鍵コンポーネントから暗号鍵を生成する暗号鍵生成手段１３０と、暗号鍵生成手段１３０で生成した暗号鍵を用いて前記対象データを暗号化／復号化する暗号／復号手段１４０と、暗号鍵コンポーネントを出力する暗号鍵コンポーネント出力手段１６０とを備えている。
【００１７】
暗号鍵コンポーネント入力手段１１０は、暗号鍵の基になる暗号鍵コンポーネントを入力する手段である。暗号鍵コンポーネント入力手段１１０ａ、１１０ｂ、１１０ｃのそれぞれからは一つの暗号鍵コンポーネントが入力され、入力された３つ暗号鍵コンポーネントは暗号鍵生成手段１３０に送信され、暗号鍵生成手段１３０は３つの暗号鍵コンポーネントから暗号鍵を生成する。入力された暗号鍵コンポーネントと生成された暗号鍵は対象データの暗号化／復号化の処理が終了すると暗号装置１０内部から消去され仕組みであり、たとえ第三者が暗号装置１０を不正使用したとしても暗号鍵が漏洩することはない。
【００１８】
暗号鍵コンポーネント生成手段１５０は、前記暗号鍵コンポーネントを生成する手段で、本実施の形態においては３つの暗号鍵コンポーネントが生成される。生成された暗号鍵コンポーネントは暗号鍵生成手段１３０に送信され、生成された暗号鍵コンポーネントに基いて暗号鍵が生成される。生成された暗号鍵コンポーネントは、対象データの暗号化処理が終了した後、暗号鍵コンポーネント出力手段で出力され、暗号装置１０内部から消去される。
【００１９】
暗号鍵コンポーネント出力手段１６０は、暗号鍵コンポーネント入力手段１１０から入力された３つの暗号鍵コンポーネントもしくは暗号鍵コンポーネント生成手段１５０で生成した３つの暗号鍵コンポーネントを暗号装置１０外部に出力する手段である。暗号鍵コンポーネントの出力先は、暗号鍵コンポーネントを記録し読み取れればどのような形態でもかまわない。例えば、暗号鍵コンポーネントを印刷した紙でもよく、暗号鍵コンポーネントを磁気的に記録したＦＤまたは暗号鍵コンポーネントを電気的に記録したＩＣカードなどが好適である。
【００２０】
暗号鍵生成手段１３０は、暗号鍵コンポーネント入力手段１１０から入力された３つの暗号鍵コンポーネントもしくは暗号鍵コンポーネント生成手段１５０で生成された３つの暗号鍵コンポーネントから暗号鍵を生成する手段である。例えばＸＯＲ（排他的論理和、eXclusive ORの略）等の、３つの暗号鍵コンポーネントから一意的に値が定まる演算処理を行ない、暗号鍵生成手段１３０は３つの暗号鍵コンポーネントから暗号鍵を生成する。生成する暗号鍵の種類は特に限定はないが、暗号鍵のデータに制約条件が少ないＤＥＳ（Data Encryption Standardの略）に代表される共通暗号鍵が、様々な演算処理から生成できるので好適である。なお演算処理の内容自体を機密にすれば、すべての暗号鍵コンポーネントが漏洩したとしても暗号鍵自体が漏洩する危険性はなくなる。
【００２１】
暗号／復号手段１４０は、暗号鍵生成手段１３０で生成された暗号鍵を用いて入力された対象データを暗号化／復号化する手段である。対象データを暗号化／復号化するアルゴリズムは暗号鍵生成手段１３０で生成した暗号鍵に対応していればよい。なお、暗号化／復号化された対象データは暗号装置１０の外部に出力される。
【００２２】
対象データ入力手段１２０は、暗号化／復号化の対象となる対象データを入力する手段である。暗号化する際は平文である対象データが入力され、復号化する際は暗号化された対象データが入力される。
【００２３】
〔暗号装置の実現例〕
これまで述べた暗号装置１０をコンピュータを用いて実現した例について説明する。図２はコンピュータを用いて暗号装置１０を実現した例を説明するための図である。暗号装置１０は、少なくとも図２に示した各構成要素と、内部記憶装置２２０に記憶されている各構成要素を制御する制御プログラムが実行することにより実現される。
【００２４】
暗号鍵コンポーネント生成手段１５０、暗号鍵生成手段１３０ならびに暗号／復号手段１４０は央演算装置２１０（Central Processing Unit、以下ＣＰＵと略す）が有している演算機能により実現される。またＣＰＵ２１０は前記制御プログラムを実行し図２内の構成要素を制御することで暗号装置１０を実現する役割も果たす。
【００２５】
暗号鍵コンポーネント入力手段１１０は、キーボード２５０、外部記憶媒体２４０ならびにＩＣカード２８０で実現される。キーボード２５０から入力される暗号鍵コンポーネントはディスプレイ２７０に表示される。外部記憶媒体２４０とはコンピュータにデータを入力できる媒体で、ＦＤやメモリカードが好適である。外部記憶媒体２４０に暗号鍵コンポーネントを事前に記憶させ、ＣＰＵが外部記憶媒体２４０に記憶された暗号鍵コンポーネントを読取ることで、暗号鍵コンポーネントを入力することができる。またＩＣカードリーダライタ２６０はＩＣカード２８０に記憶されたデータを読み書きする装置で、ＩＣカード２８０に暗号鍵コンポーネントを事前に記憶し、ＩＣカードリーダライタ２６０がＩＣカード２８０に記憶された暗号鍵コンポーネントを読み出すことで、暗号鍵コンポーネントを入力できる。なお、入力された暗号鍵コンポーネントはＲＡＭ２３０（Random Access Memoryの略）に記憶され、暗号化／復号化処理が終了した時点でＲＡＭ２３０から消去される。
【００２６】
対象データ入力手段１２０は、キーボード２５０、外部記憶媒体２４０ならびに内部記憶装置２２０で実現される。ここで内部記憶装置２２０とはコンピュータに内蔵された記憶装置でハードディスクが好適であるが、コンピュータに接続できる記憶媒体、例えばＭＯ（Magneto-Opticの略）等でもかまわない。また内部記憶装置２２０および外部記憶媒体２４０は、暗号化／復号化された対象データを記憶する手段としても使用される。
【００２７】
暗号鍵コンポーネント出力手段１６０は、内部記憶装置２２０、外部記憶媒体２４０およびＩＣカード２８０で実現される。生成した３つの暗号鍵コンポーネントは、内部記憶装置２２０で記憶する場合は別々のファイルに、外部記憶媒体２４０で記憶する場合はそれぞれ異なる外部記憶媒体２４０に、ＩＣカード２８０で記憶する場合はそれぞれ異なるＩＣカード２８０に記憶されることが望ましい。
【００２８】
ＲＡＭ２３０は揮発性メモリであり、演算処理または暗号鍵コンポーネントの一時記憶するメモリとして利用される。
【００２９】
これより、暗号処理の動作手順について詳細に説明する。動作の開始は、内部記憶装置２２０に記憶されている暗号装置のプログラムが動作することにより暗号処理の動作が開始する。
【００３０】
最初のステップ（ステップＳ１００）は、ＣＰＵ２１０が演算機能を用いて、３つの暗号鍵コンポーネントを生成するステップである。暗号鍵コンポーネントの生成は乱数を用いることが望ましい。例えば一つの暗号鍵コンポーネントが１６バイトのデータである場合は、１６個の乱数を生成すればよい。暗号鍵コンポーネントを生成しない場合は、暗号鍵コンポーネント入力手段から３つの暗号鍵コンポーネントを入力する。
【００３１】
次のステップ（ステップＳ１１０）は、キーボード２５０や外部記憶媒体２４０から暗号化する対象データを入力するステップである。暗号化されるデータは、ファイル等の文書データでもよく、暗号鍵として使用するデータでも構わない。
【００３２】
次のステップ（ステップＳ１２０）は、ＣＰＵ２１０が演算機能を用いて、生成された３つの暗号鍵コンポーネント（または入力された３つの暗号鍵コンポーネント）からステップＳ１１０で入力された対象データを暗号化する暗号鍵を生成するステップである。演算処理は３つの暗号鍵コンポーネントのＸＯＲでもよく、セキュリティを高めるために複雑な演算式を用いてもよい。なお生成された暗号鍵はＲＡＭ２３０に記憶され、暗号処理が終了するとＲＡＭ２３０から消去される。
【００３３】
次のステップ（ステップＳ１３０）は、ＣＰＵ２１０が演算機能を用いて、ステップＳ１２０で生成した暗号鍵を用いて、ステップＳ１１０で入力された対象データを暗号化するステップである。
【００３４】
次のステップ（ステップＳ１４０）は，ステップＳ１３０で暗号化した対象データを出力するステップである。出力先としては内部記憶装置２２０または外部記憶媒体２４０が好適である。
【００３５】
最後のステップ（ステップＳ１５０）は、ステップＳ１００で生成した３つの暗号鍵コンポーネント（または入力された３つの暗号鍵コンポーネント）を出力するステップである。出力先としては、暗号文を伝達する相手に合わせて、外部記憶媒体２４０またはＩＣカード２８０から選択すればよい。すでに暗号鍵コンポーネントが出力されている場合は、暗号鍵コンポーネントを出力しなくてもよい。
【００３６】
これより、復号処理の動作手順について詳細に説明する。動作の開始は、内部記憶装置２２０に記憶されている暗号装置のプログラムが動作することにより復号処理の動作が開始する。
【００３７】
最初のステップ（ステップＳ２００）は、キーボード２５０、外部記憶媒体２４０、ＩＣカード２８０から暗号鍵コンポーネントを入力するステップである。本実施の形態においては、３つの暗号鍵コンポーネントが入力される。３つの暗号鍵コンポーネントは、それぞれ同一の手段で入力されてもよく（例えば、すべてキーボード２５０から入力される）、それぞれ異なる手段で入力されてもよい（例えば、キーボード２５０、外部記憶媒体２４０そしてＩＣカード２８０のそれぞれ３つの手段で３つの暗号鍵コンポーネントを入力する）。
【００３８】
次のステップ（ステップＳ２１０）は、キーボード２５０、外部記憶媒体２４０等から復号化する対象データを入力するステップである。復号化されるデータは、暗号化されたファイル等の文書データでもよく、暗号化された暗号鍵と使用するデータでも構わない。
【００３９】
次のステップ（ステップＳ２２０）は、ＣＰＵ２１０の演算機能を用いて、前記入力された３つの暗号鍵コンポーネントからステップＳ２１０で入力された対象データを復号化する暗号鍵を演算し生成するステップである。復号化の際は、暗号化時と同じ演算式で暗号鍵を生成しなければならない。
【００４０】
次のステップ（ステップＳ２３０）は、ＣＰＵ２１０の演算機能を用いて、ステップＳ２２０で生成した暗号鍵を用いて、ステップＳ２１０で入力された対象データを復号化するステップである。
【００４１】
最後のステップ（ステップＳ２４０）は，ステップＳ２３０で復号化した対象データを出力するステップである。出力先としては復号した対象データをディスプレイ２７０に表示してもよいし、内部記憶装置２２０または外部記憶媒体２４０に記憶してもよい。
【００４２】
〔発明の効果の説明〕
これまで述べた本発明によれば、対象とする対象データを暗号化／復号化する際は少なくとも２つ以上の暗号鍵コンポーネントが必要であり、たとえ一つの暗号鍵コンポーネントが漏洩したとしても暗号鍵そのものを復元することは困難である。例えば３つの暗号鍵コンポーネントをそれぞれ別々の者に送付すれば、送付した暗号文を復号化する際は前記３人の者が集まらなければ復号化することはできない（一つの暗号鍵コンポーネントを所持した者のみでは、暗号文を複合化することはできない）。
【００４３】
また暗号鍵コンポーネントは、暗号鍵コンポーネントをプリントした紙媒体、暗号鍵コンポーネントを記憶したＦＤ・ＩＣカード等と様々な形態で暗号文を伝達する相手に送付できるため汎用性が高くなる。例えばＩＣカードリーダライタを所有していない相手であれば前記紙媒体を郵送で送付することもできるし、よりセキュリティを高めたいならば暗号鍵コンポーネントを記憶したＩＣカードを送付することもできる。
【図面の簡単な説明】
【００４４】
【図１】本発明の暗号装置の基本構成を説明するための図。
【図２】コンピュータで本発明の暗号装置を実現したときの説明図。
【図３】暗号処理の動作フロー図。
【図４】復号処理の動作フロー図。
【符号の説明】
【００４５】
１０    暗号装置
１１０  暗号鍵コンポーネント入力手段
１２０  対象データ入力手段
１３０  暗号鍵生成手段
１４０  暗号／復号装置
１５０  暗号鍵コンポーネント生成手段
１６０  暗号鍵コンポーネント出力手段
２１０  ＣＰＵ
２２０  内部記憶装置
２３０  ＲＡＭ
２４０  外部記憶媒体
２５０  キーボード
２６０  ＩＣカードリーダライタ
２７０  ディスプレイ
２８０  ＩＣカード
【図１】
2005260614.tif 000003
【図２】
2005260614.tif 000004
【図３】
2005260614.tif 000005
【図４】
2005260614.tif 000006