(57)【要約】 【課題】電子文書のアーカイブに適した暗号化処理をして高いセキュリティレベルを実現する共に、高い信頼性を有する電子データアーカイブシステムを提供することを課題とする。【解決手段】電子データ毎に異なる暗号化鍵で暗号化したデータが書き込まれる第１の記憶手段１０５と、前記データの復号化鍵が、公開鍵を用いて暗号化して書き込まれる第２の記憶手段１０９と、前記復号化鍵を、前記秘密鍵を用いて復号化して出力する第３の装置１１０とを備え、アーカイブデータを書き込む時に、前記第１の記憶手段１０５に書き込まれた前記アーカイブデータが正しく復号化されることを検証する第４の検証手段１０４と、前記第２の記憶手段１０９に書き込まれた復号化鍵が正しく復号化されることを検証する第５の検証手段１０６、１１０とを備えることを特徴とする。【選択図】図１
2007065860.tif 000002
【特許請求の範囲】
【請求項１】
共通鍵暗号方式により、電子データ毎に異なる暗号化鍵で暗号化したデータが書き込まれる第１の記憶手段と、
前記データの復号化鍵が、公開鍵暗号方式に基づく公開鍵と秘密鍵のペアのうち、公開鍵を用いて暗号化して書き込まれる第２の記憶手段と、
前記公開鍵で暗号化した前記復号化鍵を、前記秘密鍵を用いて復号化して出力する第３の装置とを備える電子データアーカイブシステムであって、
アーカイブデータを書き込む時に、前記第１の記憶手段に書き込まれた前記アーカイブデータが正しく復号化されることを検証する第４の検証手段と、
前記第２の記憶手段に書き込まれた復号化鍵が正しく復号化されることを検証する第５の検証手段とを備える
ことを特徴とする電子データアーカイブシステム。
【請求項２】
請求項１に記載の電子データアーカイブシステムにおいて、
前記第４の検証手段により、前記アーカイブデータの書き込み前のデータと読み込まれたデータとに不一致が検出された場合は、再度書き込みを実行する手段を備える
ことを特徴とする電子データアーカイブシステム。
【請求項３】
請求項１または２に記載の電子データアーカイブシステムにおいて、
前記第５の検証手段により、前記復号化鍵の書き込み前のデータと読み込まれたデータとに不一致が検出された場合は、再度書き込みを実行する手段を備える
ことを特徴とする電子データアーカイブシステム。
【請求項４】
請求項１ないし３のいずれかに記載の電子データアーカイブシステムにおいて、
前記第３の装置は、他の装置との通信を制限することによって通信データを第三者に傍受されてもアーカイブに用いる共通鍵が漏洩することがない
ことを特徴とする電子データアーカイブシステム。
【請求項５】
請求項４に記載の電子データアーカイブシステムにおいて、
前記制限は、前記第３の装置との通信に通信用関数を用いることにより制限され、
前記通信用関数ｇ（ｘ）が、前記共通鍵方式における共通鍵をｘ、前記公開鍵を用いた暗号化関数をｆ（ｘ）としたときに、ｈ（ｆ（ｘ））＝ｆ（ｇ（ｘ））を満たす一対一の関数ｈ（ｘ）と、通信用関数ｇ（ｘ）からｘは算出できない通信用関数ｇ（ｘ）とその逆関数ｇ−１（ｘ）とを生成する通信用関数生成手段により生成される
ことを特徴とする電子データアーカイブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アーカイブデータを暗号化して保存する電子データアーカイブシステムに関する。
【背景技術】
【０００２】
近年、電子データの長期保存の必要性から、電子化された文書（電子文書）等の電子データを長期に保存する必要性が高まってきている。一般に電子文書等のアーカイブは、大容量で長期保存され、更新されず、さらに、参照される頻度が少ない等の特徴を持つ。これらの特徴を持つ電子データの機密性を確保するために、データを暗号化してアーカイブすることは有効な対策である。データを暗号化してアーカイブする場合、装置内のデータや暗号化鍵が漏洩した場合にも被害を最小限にとどめる目的で、定期的に暗号化鍵を変更することと、復号鍵は参照時以外に装置内に持たないことが望ましい。後者の条件を満たすためには、公開鍵暗号系の暗号方式を用いることが有効である。
【０００３】
しかし、一般に公開鍵暗号系の暗号方式は処理速度が遅いため、大容量のデータの暗号化には適していない。また、処理速度の速い共通鍵暗号を用いた場合、鍵の管理が難しくなるという問題が発生する。そこで、データの暗号化には共通鍵暗号方式を用い、データの暗号化に用いた共通鍵を公開鍵暗号で暗号化するハイブリッド方式も考えられている。
【０００４】
上述のような暗号方式に関する技術として、例えば、特許文献１では、公開鍵と秘密鍵をもつ受信装置で自装置の公開鍵を更新した場合に、更新前の公開鍵を利用している送信側装置に対して、迅速かつ確実に更新後の公開鍵を配信できるようにする技術が開示されている。
【０００５】
また、特許文献２では、文書データを一括して他の文書管理サーバやクライアント端末装置へ転送する場合に、改ざん検出などを行ってデータの安全性を確保できると共に効率良く文書データを処理することができる文書管理システムを提供する技術が開示されている。
【０００６】
一方で、アーカイブされたデータの信頼性を高めるために、データが媒体に正しく書き込まれたことを確認することは重要である。アーカイブデータの信頼性を向上させる一つの有効な手段として、書き込んだデータを書き込んだ直後に読み出し、書き込み前のデータと比較するRead After Writeがある。確実にデータがアーカイブされていることを確認するために、書き込んだデータの読み出しを実施して正しくデータが記録されていることを確認するRead After Writeを実施することは有効であり、アーカイブシステムが持つべき機能の一つである。
【０００７】
【特許文献１】特開２００２−１１８５４６号公報
【特許文献２】特開２００１−２４３１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１、２に記載の技術は暗号化の要求は満たしているものの、データの信頼性に関しては記載がなく不明である。さらに、暗号化機能の要件を満たしつつ、Read After Writeを実施しようとする場合、暗号化したアーカイブデータの書き込みの際に、復号化鍵によってデータを復号する必要があり、復号化鍵の管理等、十分なセキュリティレベルの確保が難しいという問題があった。
【０００９】
上記問題点に鑑み、本発明は、電子文書のアーカイブに適した暗号化処理をして高いセキュリティレベルを実現する共に、高い信頼性を有する電子データアーカイブシステムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、以下の特徴を有する。
本発明の電子アーカイブシステムは、共通鍵暗号方式により、電子データ毎に異なる暗号化鍵で暗号化したデータが書き込まれる第１の記憶手段と、前記データの復号化鍵が、公開鍵暗号方式に基づく公開鍵と秘密鍵のペアのうち、公開鍵を用いて暗号化して書き込まれる第２の記憶手段と、前記公開鍵で暗号化した前記復号化鍵を、前記秘密鍵を用いて復号化して出力する第３の装置とを備える電子データアーカイブシステムであって、アーカイブデータを書き込む時に、前記第１の記憶手段に書き込まれた前記アーカイブデータが正しく復号化されることを検証する第４の検証手段と、前記第２の記憶手段に書き込まれた復号化鍵が正しく復号化されることを検証する第５の検証手段とを備えることを特徴とする。
【００１１】
また、前記第４の検証手段により、前記アーカイブデータの書き込み前のデータと読み込まれたデータとに不一致が検出された場合は、再度書き込みを実行する手段を備える  ことを特徴とする。
また、前記第５の検証手段により、前記復号化鍵の書き込み前のデータと読み込まれたデータとに不一致が検出された場合は、再度書き込みを実行する手段を備えることを特徴とする。
【００１２】
また、前記第３の装置は、他の装置との通信を制限することによって通信データを第三者に傍受されてもアーカイブに用いる共通鍵が漏洩することがないことを特徴とする。
また、前記制限は、前記第３の装置との通信に通信用関数を用いることにより制限され、前記通信用関数が、Ｘを任意の本システムで用いる共通鍵、前記通信用関数をｇ（Ｘ）、前記公開鍵を用いた暗号化関数をｆ（Ｘ）としたときに、ｈ（ｆ（Ｘ））＝ｆ（ｇ（Ｘ））を満たす一対一の関数ｈ（Ｘ）と、ｘをある共通鍵としたとき通信用関数ｇ（Ｘ）と暗号化されたｇ（ｘ）からは元のｘが算出できないような特質をもつ通信用関数ｇ（Ｘ）とその逆関数ｇ−１（Ｘ）とを生成する通信用関数生成手段により生成されることを特徴とする。
【発明の効果】
【００１３】
本発明により、電子文書のアーカイブに適した暗号化処理をして高いセキュリティレベルを実現する共に、高い信頼性を有する電子データアーカイブシステムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明を実施するための最良の形態を図面に基づいて説明する。
【００１５】
図１は、本発明の電子データアーカイブシステムの実施形態の例を示す構成図である。
図１に示すように、アーカイブデータ入力装置１０１からアーカイブデータ暗号化及び暗号化確認装置１０２（以下、「装置１０２」）にアーカイブの対象となるデータが入力される。装置１０２は、共通鍵生成装置１０３、アーカイブデータ暗号化・復号化装置１０４（以下、「装置１０４」）、共通鍵で暗号化したアーカイブデータの記憶装置１０５（以下、「記憶装置１０５」）、共通鍵暗号化装置１０６、その中で管理される公開鍵１０７、通信用関数生成装置１０８、共通鍵を公開鍵で暗号化したデータの記憶装置１０９（以下、「記憶装置１０９」）、公開鍵で暗号化したデータを複号化する装置１１０（以下、「装置１１０」）及び秘密鍵１１１を有する。
【００１６】
図２は、本発明のデータ暗号化処理の概要を示すフローチャートである。以下に、本発明のアーカイブデータの暗号化及び暗号化確認処理の概要を、図２に示すフローチャートに基づいて説明する。
【００１７】
最初に、アーカイブデータ入力装置１０１からアーカイブデータを入力する（ステップ２０１）。
次に、共通鍵生成装置１０３により、入力されたアーカイブデータを暗号化する共通鍵を生成する（ステップ２０２）。
次に、アーカイブデータ暗号化・復号化装置１０４を用いてアーカイブデータを暗号化する（ステップ２０３）。
次に、共通鍵で暗号化したアーカイブデータを本発明の第１の記憶手段に相当する記憶装置１０５に書き込む（ステップ２０４）。
【００１８】
次に、暗号化されたアーカイブデータのRead After Writeを実施する（ステップ２０５）。Read After Writeのより詳細な実施方法は後述する。Read After Writeの結果、装置１０４内の本発明の第４の検証手段により、アーカイブデータが正しく書き込めていないことが判明した場合は、再度共通鍵によるアーカイブデータの暗号処理（ステップ２０３）から実行する。
次に、第４の検証手段により、正しく書き込めていることが確認できた場合は、暗号化前のアーカイブデータを消去する（ステップ２０６）。
次に、アーカイブデータの暗号化に用いた共通鍵を公開鍵１０７によって暗号化する（ステップ２０７）。
【００１９】
次に、公開鍵１０７で暗号化された共通鍵のデータを、本発明の第２の記憶手段である記憶装置１０９に書き込む（ステップ２０８）。
次に、暗号化前のアーカイブデータの共通鍵のデータと、暗号化した共通鍵を秘密鍵で復号化した共通鍵のデータとの比較を実施する（ステップ２０９）。比較は、装置１０６内の本発明の第５の検証手段により行う。より詳細な実施方法は後述する。
次に、第５の検証手段により比較した結果が等しくない場合は、再度、共通鍵の暗号化の処理を実施する（ステップ２０７）。
最後に、第５の検証手段により比較した結果が等しい場合は、暗号化前の共通鍵を消去してアーカイブデータの処理を終了する（ステップ２１０）。
【００２０】
次に、ステップ２０５のアーカイブデータのRead After Write処理を説明する。
図３は、ステップ２０５のアーカイブデータのRead After Write処理の概要を示すフローチャートである。
最初に、共通鍵で暗号化したアーカイブデータの記憶装置１０５からアーカイブデータを読み込む（ステップ３０１）。
次に、復号に必要な対応する共通鍵を取得する（ステップ３０２）。
次に、共通鍵を用いて復号化する（ステップ３０３）。
次に、装置１０４における本発明の第４の検証手段により記憶装置１０５に書き込む前の元のデータと比較する（ステップ３０４）。
最後に比較した結果を装置１０４の図示しない処理監視部に返して終了する（ステップ３０５）。このとき、比較した結果が異なるときは再度アーカイブデータのRead After Write処理を実施することになる。
このようにRead After Write処理をすることで、保管されるアーカイブデータの信頼性を確保することが可能になる。
【００２１】
図４は、本発明の共通鍵確認処理の概要を示すフローチャートである。
本処理は、アーカイブデータの暗号化に用いた共通鍵のデータを暗号化して記憶装置１０８へ書き込み、読み出して、書き込む前の共通鍵のデータと比較するまでの処理であり、共通鍵暗号化装置１０６、通信用関数生成装置１０８及び公開鍵暗号化データ復号化装置１１０における処理である。
【００２２】
最初に、アーカイブデータを暗号化した共通鍵のデータをｘ、ｘを装置１０６内にある公開鍵１０７により暗号化した暗号化関数をｆ（ｘ）と表す（ステップ４０１）。
次に、公開鍵暗号化データ復号化装置１１０との通信に用いる関数ｇ（ｘ）、その逆関数ｇ−１（ｘ）、ｆ（ｘ）、ｇ（ｘ）に対してｈ（ｆ（ｘ））＝ｆ（ｇ（ｘ））を満足する一対一の関数ｈ（ｘ）を通信用関数生成装置１０８で生成する（ステップ４０２）。ここで、入力される共通鍵のデータｘが異なると関数ｇ（ｘ）も異なる性質を持っている。そして、関数ｇ（ｘ）からｘを求める逆関数ｇ−１（ｘ）は、ｘとｇ（ｘ）のみからは求めることができない性質を有している。また、関数ｆ（ｘ）をそのまま装置１１０へ送信してもよいが、本発明のように通信にのみ用いる関数を定義し、その関数を用いて公開鍵を暗号化して送信することで、よりセキュリティー強度を上げることが可能になる。
【００２３】
次に、装置１０６でｈ（ｆ（ｘ））を計算する（ステップ４０３）。
次に、計算したｈ（ｆ（ｘ））であるｆ（ｇ（ｘ））を本発明の第３の装置である公開鍵暗号化データ復号化装置１１０に送信する（ステップ４０４）。
次に、公開鍵暗号化データ復号化装置１１０において第５の検証手段により秘密鍵１１１を用いて、ｆ（ｇ（ｘ））からｇ（ｘ）を算出する（ステップ４０５）。
次に、算出したｇ（ｘ）を共通鍵暗号化装置１０６に送信する（４０６）。
次に、共通鍵暗号化装置１０６においてｘ’＝ｇ−１（ｇ（ｘ））を計算する（４０７）。
【００２４】
次に、装置１０６の第５の検証手段により、ｘとｘ’とを比較する（ステップ４０８）。こうして得られたｘ’は、ここまでの処理が全て正常に行われていれば、元のアーカイブデータを暗号化した共通鍵のデータｘと等しいはずであるが、記憶装置１０９への書き込み失敗等が発生した場合には等しくならないケースも考えられる。
最後に、装置１０６における処理結果を監視する図示しない処理監視部へ比較結果を返す（ステップ４０９）。
【００２５】
本発明の上記のような特徴を有する通信関数は、多くの公開鍵暗号に対して存在するが、ここで具体例として、公開鍵暗号方式の一つであるＲＳＡ暗号を用いて説明する。Xをアーカイブデータの暗号化に用いる任意の共通鍵鍵とする。ｆ（X）、ｇ（X）に対して、ある一対一の関数ｈ（X）が存在し、ｈ（ｆ（X））＝ｆ（ｇ（X））を満たしているという条件に当てはまる具体例を説明する。Ｐ、Ｑは異なる大きな素数、ｅをＰとＱとの互いに素な整数ｆ（Ｘ）＝Ｘｅmod PQと定義する。整数ｄをde≡１（mod PQ）を満たす整数としたときに、このＲＳＡ暗号の暗号化鍵が（PQ，e）で復号化鍵が（P，Q，d）になる。また、ｃをＰとＱと互いに素な整数とし、ｇ（X）＝ｃX mod PQ  と  ｈ（X）＝（ｃｅ）＊X（mod PQ）を装置１０７で生成する。ｇ−１（X）はｃ−１ X mod PQとなる。
次に、ｘをある共通鍵として装置１０６ではｈ（ｆ（ｘ））＝（ｘｅmod PQ）＊（ｃｅmod PQ）＝（ｘｃ）ｅmod PQを計算して装置１１０に送信する。装置１１０では秘密鍵１１１を用いて、（ｘｃ）ｅmod PQからｘｃを算出する。得られたｘｃを装置１１０から装置１０６に送信する。次に、装置１０６では、ｇ−１（ｘｃ）よりｘ’を生成してｘと比較する。
【００２６】
このように、第３の装置である公開鍵暗号化データ復号化装置１１０は、共通鍵暗号装置１０６との通信は通信用関数を用いて通信を行うように制限されている。これによって、通信データを第三者に傍受されても共通鍵が漏洩することはなく、装置１１０での処理のセキュリティレベルを高く保つことができる。
【００２７】
図５は、本発明の電子データアーカイブシステムからアーカイブデータを読み出す処理の概要を示すフローチャートである。
【００２８】
最初に、暗号化したアーカイブデータを記憶装置１０５から読み込む（ステップ５０１）。
次に、上記アーカイブデータの暗号化に用いた、公開鍵１０７で暗号化された共通鍵のデータを記憶装置１０９より読み込む（ステップ５０２）。
次に、装置１１０より秘密鍵を取得する（ステップ５０３）。
次に、秘密鍵１１１を用いて暗号化された共通鍵を復号する（ステップ５０４）。
最後に、復号した共通鍵を用いて暗号化されたアーカイブデータを復号する（ステップ５０５）。
【００２９】
以上のように、上記実施形態によれば、アーカイブデータに暗号化を実施して秘密鍵をよりセキュリティレベルの高い装置に保管することができ、Read After Writeを実施し、書き込みに失敗していれば再度の書き込みを実施することでアーカイブデータに対して高い機密性と信頼性を確保することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の電子データアーカイブシステムの実施形態の例を示す構成図である。
【図２】本発明のデータ暗号化処理の概要を示すフローチャートである。
【図３】ステップ２０５のアーカイブデータのRead After Write処理の概要を示すフローチャートである。
【図４】本発明の共通鍵確認処理の概要を示すフローチャートである。
【図５】本発明の電子データアーカイブシステムからアーカイブデータを読み出す処理の概要を示すフローチャートである。
【符号の説明】
【００３１】
１０１  アーカイブデータ入力装置
１０２  アーカイブデータ暗号化及び暗号化確認装置
１０３  共通鍵生成装置
１０４  アーカイブデータ暗号化・復号化装置
１０５  共通鍵で暗号化したアーカイブデータの記憶装置（第１の記憶手段）
１０６  共通鍵暗号化装置
１０７  公開鍵
１０８  通信用関数生成装置
１０９  共通鍵を公開鍵で暗号化したデータの記憶装置（第２の記憶手段）
１１０  公開鍵暗号化データ復号化装置
１１１  秘密鍵
【図１】
2007065860.tif 000003
【図２】
2007065860.tif 000004
【図３】
2007065860.tif 000005
【図４】
2007065860.tif 000006
【図５】
2007065860.tif 000007