JP2017147654A - 仮想端末管理装置、及び文書保護方法 - Google Patents
仮想端末管理装置、及び文書保護方法 Download PDFInfo
- Publication number
- JP2017147654A JP2017147654A JP2016029100A JP2016029100A JP2017147654A JP 2017147654 A JP2017147654 A JP 2017147654A JP 2016029100 A JP2016029100 A JP 2016029100A JP 2016029100 A JP2016029100 A JP 2016029100A JP 2017147654 A JP2017147654 A JP 2017147654A
- Authority
- JP
- Japan
- Prior art keywords
- key
- virtual terminal
- encrypted
- common key
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Abstract
【課題】機密文書をクラウドストレージサービス管理者のミスや害意から文書を保護するとともに、簡単な運用で機密文書を安全にクラウドストレージに保管することを可能とする技術を提供する。
【解決手段】仮想端末113が、共通鍵を管理する秘密鍵管理装置130から、複数種類の鍵を保護するための第1の共通鍵であって、暗号化された第1の共通鍵を取得し、暗号化された第1の共通鍵を、仮想端末管理装置110に固有のコンピュータ秘密鍵112と仮想端末のそれぞれに固有のユーザ秘密鍵115で復号して平文の第1の共通鍵を取得する。また、仮想端末113は、平文の第1の共通鍵で、文書を暗号化するためのデータ鍵を暗号化して保護済データ鍵を生成する。そして、仮想端末113は、保護済データ鍵と暗号化文書をクラウドサービスに設けられた暗号化文書管理装置100に送信して保存させる。
【選択図】図1
【解決手段】仮想端末113が、共通鍵を管理する秘密鍵管理装置130から、複数種類の鍵を保護するための第1の共通鍵であって、暗号化された第1の共通鍵を取得し、暗号化された第1の共通鍵を、仮想端末管理装置110に固有のコンピュータ秘密鍵112と仮想端末のそれぞれに固有のユーザ秘密鍵115で復号して平文の第1の共通鍵を取得する。また、仮想端末113は、平文の第1の共通鍵で、文書を暗号化するためのデータ鍵を暗号化して保護済データ鍵を生成する。そして、仮想端末113は、保護済データ鍵と暗号化文書をクラウドサービスに設けられた暗号化文書管理装置100に送信して保存させる。
【選択図】図1
Description
本発明は、仮想端末管理装置、及び文書保護方法に関し、例えば、機密情報の保護技術に関するものである。
企業における情報システムでは、運用コストの削減を目的としてクラウドの活用が進んでいる。中でも、クラウドストレージの活用は、企業間での文書の相互活用などに有効である。クラウドストレージサービスとしては現在多くのものが知られており、例えば非特許文献1及び2に開示されるサービスがある。
企業におけるクラウドストレージの利活用には課題がある。まず、企業で取り扱う文書のほとんどは機密文書であるため、クラウドストレージ上の文書を攻撃者から保護できるようにする必要がある。このことは、通信路の暗号化やストレージの暗号化などによってある程度は実現することができる。しかし、クラウドストレージの管理者はストレージの暗号化に必要な鍵を知っているため、当該管理者のミスや害意などによって機密文書を盗み見される可能性がある。つまり、このような脅威からも機密文書を保護する必要がある。さらに、この保護対策が実効性のあるものにするには、ユーザサイドや管理者サイドの運用を簡単なものにする必要がある。
このような脅威への対策としては、暗号鍵をクラウドではなくクライアント端末に保持するというものが考えられる。例えば、データ鍵と呼ぶ暗号鍵で暗号化した文書を保管する暗号化文書管理装置をクラウドに設定し、この暗号化文書管理装置へのアクセスもシステム鍵と呼ぶ暗号鍵で制限をかける。復号に用いるデータ鍵やシステム鍵はクライアント端末で保管し、クライアント端末でこれらの復号鍵を用いて、クライアント端末に設置されている、復号処理を実行する暗号処理部によって復号を実施する。
https://drive.google.com
https://aws.amazon.com/jp/s3
しかしながら、上述の方式には、ユーザの端末にホストの鍵と文書の鍵の2種類が存在するため、鍵の運用管理が煩雑になる。運用を簡単にするには、ユーザ端末で管理される鍵は1つにすることが望ましい。その一方で、鍵をユーザが使用する物理的な端末に保存すると、文書が盗み見られるリスクが残ってしまい都合が悪い。
本発明はこのような状況に鑑みてなされたものであり、機密文書をクラウドストレージサービス管理者のミスや害意から文書を保護するとともに、簡単な運用で機密文書を安全にクラウドストレージに保管することを可能とする技術を提供するものである。
上記課題を解決するために、本発明では、仮想端末が、共通鍵を管理する外部サーバから、複数種類の鍵を保護するための第1の共通鍵であって、暗号化された第1の共通鍵を取得し、暗号化された第1の共通鍵を、仮想端末管理装置に固有のコンピュータ秘密鍵と仮想端末のそれぞれに固有のユーザ秘密鍵で復号して平文の第1の共通鍵を取得する。また、仮想端末は、平文の第1の共通鍵で、文書を暗号化するためのデータ鍵を暗号化して保護済データ鍵を生成する。そして、仮想端末は、保護済データ鍵と暗号化文書をクラウドサービスに設けられた暗号化文書管理装置に送信して保存させる。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
本発明によれば、機密文書をクラウドストレージサービス管理者のミスや害意から文書を保護するとともに、簡単な運用で機密文書を安全にクラウドストレージに保管することが可能となる。
本実施形態では、仮想端末管理装置は、少なくとも1つの仮想端末をクライアント端末に提供する。当該仮想端末は、共通鍵を管理する外部サーバ(秘密鍵管理装置)から、複数種類の鍵を保護するための第1の共通鍵(組織鍵)であって、暗号化された第1の共通鍵を取得し、暗号化された第1の共通鍵を、仮想端末管理装置に固有のコンピュータ秘密鍵と当該仮想端末に固有のユーザ秘密鍵で復号して平文の第1の共通鍵を取得する。そして、仮想端末は、平文の第1の共通鍵で、文書を暗号化するためのデータ鍵を暗号化して保護済データ鍵を生成し、これと暗号化文書をクラウドサービスに送信して保存する。このようにすることにより、仮想端末管理装置の管理者であってもミスや害意により機密文書を開示したり、盗み見したりすることはできなくなる(ユーザ秘密鍵を取得できないため)。また、1つの仮想端末が管理しなければならない鍵は1つ(1組のユーザ公開鍵及び秘密鍵)だけであるため、システム運用が非常に簡単になるという利点もある。
また、仮想端末は、共通鍵を管理する外部サーバから、インデックスを保護するための第2の共通鍵(インデックス鍵)であって、暗号化された第2の共通鍵を取得し、暗号化された第2の共通鍵を、平文の第1の共通鍵で復号して平文の第2の共通鍵を取得する。そして、仮想端末は、文書と平文の第2の共通鍵に基づいて保護済インデックスを生成し、これをクラウドサービスに送信して保存する。このようにすることにより、文書を検索するために生成されたインデックスさえもユーザ公開鍵で保護された第1の共通鍵(組織鍵)で保護されているので、仮想端末管理装置の管理者であってもインデックスを見ることができず、どのような文書が存在するかさえ知ることができない。
なお、仮想端末は、第1の共通鍵(組織鍵)及び第2の共通鍵(インデックス鍵)をランダムに生成する。そして、仮想端末は、第2の共通鍵を第1の共通鍵で暗号化し、共通鍵を管理する外部サーバ(秘密鍵管理装置)に暗号化された第2の共通鍵を送信して保存する。また、仮想端末は、第1の共通鍵を、コンピュータ公開鍵とユーザ公開鍵で暗号化し、共通鍵を管理する外部サーバに暗号化された第1の共通鍵を送信して保存する。
また、既存ユーザが新規ユーザを共通のグループに入れる場合、第1の仮想端末(既存ユーザ)は、第2の仮想端末(新規ユーザ)に固有のユーザ公開鍵を取得し、平文の第1の共通鍵(組織鍵)を、コンピュータ公開鍵と新規ユーザのユーザ公開鍵で暗号化して保護済の第1の共通鍵(新規ユーザ用)を生成する。そして、第1の仮想端末は、共通鍵を管理する外部サーバに新規ユーザ用の保護済の第1の共通鍵を送信して保存する。このようにすることにより、新規ユーザ(第2の仮想端末)と既存ユーザ(第1の仮想端末)は、第1の共通鍵(組織鍵)を機密性を保ちながら共有することができるようになる。
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
以下では、主に「仮想端末」を主語(動作主体)として本発明の実施形態における各処理について説明を行うが、仮想端末は仮想端末管理装置のプロセッサやメモリ等のハードウェアの一部を用いて実現されるものであるため、プロセッサを主語とした説明としてもよい。また、仮想端末がフローチャートに従って実行するプログラムに関しては、そのプログラムの一部または全てを専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
<文書保護システムの構成>
図1は、本発明の実施形態による文書保護システム(「文書管理システム」と称することも可能)1の概略構成を示す図である。
図1は、本発明の実施形態による文書保護システム(「文書管理システム」と称することも可能)1の概略構成を示す図である。
文書保護システム1は、例えば、クラウドサービスとしての暗号化文書管理装置100と、仮想端末管理装置110と、証明書管理装置120と、秘密鍵管理装置130と、少なくとも1つのクライアント端末140と、を備えている。仮想端末管理装置110、証明書管理装置120、及び秘密鍵管理装置130は、それぞれサーバ装置として位置づけられるようにしても良い。
暗号化文書管理装置100は、平文の文書をデータ鍵という共通鍵で暗号化した暗号化文書を格納する暗号化文書格納部101と、データ鍵を組織鍵という別の共通鍵で保護した保護済データ鍵を格納する保護済データ鍵格納部102と、暗号化文書格納部101に格納された各暗号化文書を復号せずに検索できるようにするためのインデックスであって、インデックス鍵という共通鍵で暗号化したインデックスを格納する暗号化インデックス格納部103と、文書の登録や検索などの操作を受け付けて暗号化や復号などを自動的に実行する暗号処理部104と、を備えている。暗号化文書格納部101、保護済データ鍵格納部102、及び暗号化インデックス格納部103は別々の記憶装置として設けても良いし、1つの記憶装置の記憶領域を区分して用いるようにしても良い。
証明書管理装置120は、文書へのアクセスに必要なコンピュータ公開鍵証明書(正当な仮想端末管理装置であることを証明する証書)とユーザ公開鍵証明書(正当な仮想端末であることを証明する証書)とを発行する機能を有している。
秘密鍵管理装置130は、ユーザごとに組織鍵を前述のコンピュータ公開鍵証明書に付随する公開鍵であるコンピュータ公開鍵111と前述のユーザ公開鍵証明書に付随するユーザ公開鍵114で暗号化した保護済組織鍵を保護済組織鍵格納部131で、インデックス鍵を組織鍵で保護した保護済インデックス鍵を保護済インデックス鍵格納部132で保管する機能を有する。
仮想端末管理装置110は、コンピュータ公開鍵111とそれに付随する秘密鍵であるコンピュータ秘密鍵112とを持ち、ユーザごとに仮想端末113を提供する機能と、仮想端末113にユーザ公開鍵114とそれに付随する秘密鍵であるユーザ秘密鍵115とを保持させ、これらの鍵を用いて暗号化文書管理装置100の暗号化文書格納部101にアクセスする機能と、を有する。当該仮想端末113は、暗号処理部104で生成された所定の画面データ(例えば、図3や4のUI)を取得し、対応するクライアント端末140に転送する。データを受信したクライアント端末140は、その画面データを表示画面上に表示する。
クライアント端末140は、仮想端末管理装置110を経由して暗号化文書管理装置100にアクセスすることができるように構成されている。
仮想端末管理装置110、証明書管理装置120、及び秘密鍵管理装置130はそれぞれオンプレミスで構成されるようにすることが機密保持上望ましいが、別々の企業体などで構成されるようにしても良い。
<データ構成例>
図2は、本実施形態による暗号化及び復号の形態(データ構成)を説明するための図である。図2において、錠前マークは暗号化するための鍵を表し、鍵マークは復号するための鍵を表している。
図2は、本実施形態による暗号化及び復号の形態(データ構成)を説明するための図である。図2において、錠前マークは暗号化するための鍵を表し、鍵マークは復号するための鍵を表している。
暗号化文書は、管理対象となる文書を、データ鍵と呼ぶ文書ごとの共通鍵(暗号化及び復号で同一の鍵を使うもの)によって暗号化したものである。共通鍵による暗号化の方式は、例えばAESによる。以下、共通鍵による暗号化の方式の例については、特記すべきことがなければ繰り返さない。データ鍵は、文書によって異なり、文書の登録時に生成される。
保護済データ鍵は、文書を暗号化・復号するために用いるデータ鍵を、組織鍵と呼ぶ、文書を共有する単位(共有単位:例えば、所定のグループ)ごとの共通鍵によって暗号化したものである。組織鍵は、共有単位を形成する度に生成される。
暗号化インデックスは、管理対象となる文書を検索するためのインデックスを、インデックス鍵と呼ぶ共通鍵によって暗号化したものである。インデックス鍵は、共有単位を形成する度に生成される。
保護済インデックス鍵は、インデックス鍵を、組織鍵によって暗号化したものである。
コンピュータ公開鍵は、仮想端末管理装置110に付随する固有の公開鍵であり、証明書管理装置120によってその公開鍵証明書が発行される。公開鍵による暗号化の方式は、例えばRSAによる。以下、公開鍵による暗号化の方式の例については、特記すべきことがなければ繰り返さない。コンピュータ秘密鍵は、仮想端末管理装置110に付随する固有の秘密鍵であり、コンピュータ公開鍵と対となり、コンピュータ公開鍵で暗号化したデータの復号を仮想端末管理装置110のみにおいて可能とするものである。
ユーザ公開鍵は、仮想端末113に付随する固有の公開鍵であり、証明書管理装置120によってその公開鍵証明書が発行される。ユーザ公開鍵は、仮想端末ごとに異なる。ユーザ秘密鍵は、仮想端末113に付随する固有の秘密鍵であり、ユーザ公開鍵と対となり、ユーザ公開鍵で暗号化したデータの復号を仮想端末113のみにおいて可能とするものである。ユーザ秘密鍵は、仮想端末ごとに異なる。
保護済組織鍵は、組織鍵を、コンピュータ公開鍵で暗号化し、それをさらにユーザ公開鍵で暗号化したものである。これにより、組織鍵を使用するには、保護済組織鍵をユーザ秘密鍵で復号し、さらにコンピュータ秘密鍵で復号する必要がある。このため、組織鍵の使用は、ユーザがクライアント端末140から仮想端末管理装置110を通して仮想端末113を用いる場合のみによって可能になり、この場合にのみ保護済データ鍵や保護済インデックス鍵の復号、暗号化文書や暗号化インデックスの復号が可能になる。この結果、仮想端末管理装置110を通さずに暗号化文書管理装置100の文書を利用しようとしても組織鍵が使えないため、文書が保護される。
<文書を登録・一覧表示するユーザインタフェースの例>
図3は、本実施形態による、文書を登録・一覧表示するユーザインタフェース(UI)300の例を示す図である。ユーザインタフェース300は、例えばHTMLによって提供され、登録済文書表示領域301と、ファイル追加領域302と、を含んでいる。
図3は、本実施形態による、文書を登録・一覧表示するユーザインタフェース(UI)300の例を示す図である。ユーザインタフェース300は、例えばHTMLによって提供され、登録済文書表示領域301と、ファイル追加領域302と、を含んでいる。
登録済文書表示領域301は、登録済みの文書を表示する領域である。文書の表示内容は、例えば、ファイルの種類、名前、サイズおよび更新日時であるが、これに限るものではない。
ファイル追加領域302は、ファイルを追加するためのユーザインタフェースを提供する。ファイル追加領域302にファイルをOSのファイル管理GUIなどからドラッグアンドドロップすると、仮想端末113は、当該ファイルをデータ鍵で暗号化する。そして、仮想端末113は、当該登録されるファイルに対する暗号化インデックスを作成して暗号化文書管理装置100に送信する。暗号化文書管理装置100は、受け取った暗号化インデックスを暗号化インデックス格納部103に保存する。ファイルの追加方法はこれに限るものではなく、例えば、追加するファイルを選択するダイアログを表示させるユーザインタフェースと、選択したファイルを追加するためのボタンを備えたものであってもよい。
また、例えば、登録済文書表示領域301に表示されたファイルの名前をクリックすると、仮想端末113は、選択したファイルを暗号化されたままの状態でダウンロードする。そして、当該暗号化ファイルは、復号された後に仮想端末113の記憶領域に保存される。この操作は、典型的にはWebブラウザのファイルダウンロード機能を利用するので、ユーザの選択によっては復号後のファイルを開くことになってもよい。
<文書を検索するユーザインタフェースの例>
図4は、本実施形態による、文書を検索するユーザインタフェース400の例を示す図である。ユーザインタフェース400は、仮想端末113が暗号化文書管理装置100の暗号処理部104に対して検索を要求すると仮想端末113を介してクライアント端末140の画面上に表示されるものである。
図4は、本実施形態による、文書を検索するユーザインタフェース400の例を示す図である。ユーザインタフェース400は、仮想端末113が暗号化文書管理装置100の暗号処理部104に対して検索を要求すると仮想端末113を介してクライアント端末140の画面上に表示されるものである。
ユーザインタフェース400は、検索キーワード入力領域401と、検索開始ボタン402と、検索結果表示領域403と、を含んでいる。
検索キーワード入力領域401は、目的の文書をヒットさせるためのキーワードを入力するための領域である。検索開始ボタン402は、検索キーワード入力領域401で入力したキーワードを基に暗号化文書管理装置100に問い合わせ、検索結果を返すためのボタンである。検索結果表示領域403は、検索開始ボタン402を押したときの検索結果を示す領域である。図4に表示されている検索結果は、キーワードとして「マニュアル」を入力して検索を実行したときの結果例を示している。なお、ここでは、検索結果の表示内容はファイルの種類、名前、サイズおよび更新日時としているが、これに限るものではない。
また、例えば、検索結果で表示されたファイルの名前をクリックすると、仮想端末113は、選択したファイルを暗号化されたままの状態でダウンロードする。当該暗号化ファイルは、復号された後に仮想端末113の記憶領域に保存される。この操作は、典型的にはWebブラウザのファイルダウンロード機能を利用するので、ユーザの選択によっては復号後のファイルを開くことになってもよい。
<コンピュータ証明書とユーザ証明書の発行処理>
図5は、コンピュータ証明書とユーザ証明書を発行する処理を説明するためのフローチャートである。なお、証明書管理装置では、コンピュータ証明書・ユーザ証明書ともに、発行した証明書からの秘密鍵のエクスポートを禁止する設定をあらかじめしておくものとする。
図5は、コンピュータ証明書とユーザ証明書を発行する処理を説明するためのフローチャートである。なお、証明書管理装置では、コンピュータ証明書・ユーザ証明書ともに、発行した証明書からの秘密鍵のエクスポートを禁止する設定をあらかじめしておくものとする。
(A)コンピュータ証明書発行処理
コンピュータ証明書発行処理は、仮想端末管理装置110が初めて運用されるときに1回だけ実行される初期処理である。
コンピュータ証明書発行処理は、仮想端末管理装置110が初めて運用されるときに1回だけ実行される初期処理である。
(i)ステップ501
管理ユーザが仮想端末管理装置110を操作してコンピュータ証明書発行を指示すると、仮想端末管理装置110は、ランダムにコンピュータ公開鍵とコンピュータ秘密鍵を作成する。そして、仮想端末管理装置110は、証明書管理装置120に対して、生成したコンピュータ公開鍵とコンピュータ秘密鍵と共にコンピュータ証明書の発行の要求を送信する。
管理ユーザが仮想端末管理装置110を操作してコンピュータ証明書発行を指示すると、仮想端末管理装置110は、ランダムにコンピュータ公開鍵とコンピュータ秘密鍵を作成する。そして、仮想端末管理装置110は、証明書管理装置120に対して、生成したコンピュータ公開鍵とコンピュータ秘密鍵と共にコンピュータ証明書の発行の要求を送信する。
(ii)ステップ502
証明書管理装置120は、ステップ501の要求に応答して、コンピュータ証明書を仮想端末管理装置110に対して発行する。コンピュータ証明書は、例えば、承認されたコンピュータ公開鍵及びコンピュータ秘密鍵を含んでいる。ただし、上述のように、コンピュータ秘密鍵は、証明書からエクスポートできないようになっている。
証明書管理装置120は、ステップ501の要求に応答して、コンピュータ証明書を仮想端末管理装置110に対して発行する。コンピュータ証明書は、例えば、承認されたコンピュータ公開鍵及びコンピュータ秘密鍵を含んでいる。ただし、上述のように、コンピュータ秘密鍵は、証明書からエクスポートできないようになっている。
(iii)ステップ503
仮想端末管理装置110は、発行されたコンピュータ証明書を自装置にインストールする。同時に、これに付随するコンピュータ公開鍵がインストールされる。これらの手続きは、仮想端末管理装置110へのログインなどの操作によって自動的に実行されてもよい。コンピュータ秘密鍵については、コンピュータ証明書発行前に仮想端末管理装置110が生成したものを用いれば良い。なお、コンピュータ証明書は、コンピュータ公開鍵及びコンピュータ秘密鍵の両方について、単に承認した事実のみを情報として含むようにしても良い。その場合、仮想端末管理装置110は、証明書発行要求前に自身が作成したコンピュータ公開鍵及びコンピュータ秘密鍵を用いることになる。
仮想端末管理装置110は、発行されたコンピュータ証明書を自装置にインストールする。同時に、これに付随するコンピュータ公開鍵がインストールされる。これらの手続きは、仮想端末管理装置110へのログインなどの操作によって自動的に実行されてもよい。コンピュータ秘密鍵については、コンピュータ証明書発行前に仮想端末管理装置110が生成したものを用いれば良い。なお、コンピュータ証明書は、コンピュータ公開鍵及びコンピュータ秘密鍵の両方について、単に承認した事実のみを情報として含むようにしても良い。その場合、仮想端末管理装置110は、証明書発行要求前に自身が作成したコンピュータ公開鍵及びコンピュータ秘密鍵を用いることになる。
(B)ユーザ証明書発行処理
ユーザ証明書発行処理は、仮想端末113が初めて運用されるときに1回だけ実行される初期処理である。
ユーザ証明書発行処理は、仮想端末113が初めて運用されるときに1回だけ実行される初期処理である。
(i)ステップ504
事前に通知されたログイン情報に基づいて、ユーザはクライアント端末140を操作して仮想端末管理装置110にログインすると、クライアント端末140は、仮想端末113に接続する。
事前に通知されたログイン情報に基づいて、ユーザはクライアント端末140を操作して仮想端末管理装置110にログインすると、クライアント端末140は、仮想端末113に接続する。
(ii)ステップ505
接続に成功した後、ユーザが仮想端末113を操作してユーザ証明書発行を指示すると、仮想端末113は、ランダムにユーザ公開鍵とユーザ秘密鍵を作成する。そして、仮想端末113は、証明書管理装置120に対して、生成したユーザ公開鍵とユーザ秘密鍵と共にユーザ証明書の発行の要求を送信する。
接続に成功した後、ユーザが仮想端末113を操作してユーザ証明書発行を指示すると、仮想端末113は、ランダムにユーザ公開鍵とユーザ秘密鍵を作成する。そして、仮想端末113は、証明書管理装置120に対して、生成したユーザ公開鍵とユーザ秘密鍵と共にユーザ証明書の発行の要求を送信する。
(iii)ステップ506
証明書管理装置120は、ステップ505の要求に応答して、ユーザ証明書を仮想端末管理装置110の仮想端末113に対して発行する。ユーザ証明書は、例えば、承認されたユーザ公開鍵及びユーザ秘密鍵を含んでいる。ただし、上述のように、ユーザ秘密鍵は、証明書からエクスポートできないようになっている。
証明書管理装置120は、ステップ505の要求に応答して、ユーザ証明書を仮想端末管理装置110の仮想端末113に対して発行する。ユーザ証明書は、例えば、承認されたユーザ公開鍵及びユーザ秘密鍵を含んでいる。ただし、上述のように、ユーザ秘密鍵は、証明書からエクスポートできないようになっている。
(iv)ステップ507
仮想端末113は、発行されたユーザ証明書を自端末にインストールする。同時に、これに付随するユーザ公開鍵がインストールされる。これらの手続きは、仮想端末113へのログインなどの操作によって自動的に実行されてもよい。ユーザ秘密鍵については、ユーザ証明書発行前に仮想端末113が生成したものを用いれば良い。なお、ユーザ証明書は、ユーザ公開鍵及びユーザ秘密鍵の両方について、単に承認した事実のみを情報として含むようにしても良い。その場合、仮想端末113は、証明書発行要求前に自身が作成したユーザ公開鍵及びユーザ秘密鍵を用いることになる。
仮想端末113は、発行されたユーザ証明書を自端末にインストールする。同時に、これに付随するユーザ公開鍵がインストールされる。これらの手続きは、仮想端末113へのログインなどの操作によって自動的に実行されてもよい。ユーザ秘密鍵については、ユーザ証明書発行前に仮想端末113が生成したものを用いれば良い。なお、ユーザ証明書は、ユーザ公開鍵及びユーザ秘密鍵の両方について、単に承認した事実のみを情報として含むようにしても良い。その場合、仮想端末113は、証明書発行要求前に自身が作成したユーザ公開鍵及びユーザ秘密鍵を用いることになる。
<最初のユーザの保護済組織鍵および保護済インデックス鍵の作成処理>
図6は、最初のユーザの保護済組織鍵および保護済インデックス鍵を作成する処理を説明するためのフローチャートである。当該処理は、最初のユーザが仮想端末113にログインしたうえで、仮想端末113から秘密鍵管理装置130にアクセスすることで実行される。例えば、仮想端末113に、保護済組織鍵および保護済インデックス鍵を作成するプログラムをインストールしておき、それを実行する。あるいは、暗号処理部104に同等の機能を組み込んでおき、そこから実行してもよい。
図6は、最初のユーザの保護済組織鍵および保護済インデックス鍵を作成する処理を説明するためのフローチャートである。当該処理は、最初のユーザが仮想端末113にログインしたうえで、仮想端末113から秘密鍵管理装置130にアクセスすることで実行される。例えば、仮想端末113に、保護済組織鍵および保護済インデックス鍵を作成するプログラムをインストールしておき、それを実行する。あるいは、暗号処理部104に同等の機能を組み込んでおき、そこから実行してもよい。
(i)ステップ601
仮想端末113は、平文の組織鍵をランダムに生成する。組織鍵は、あるグループ(文書の共有単位)内で共有される鍵である。
仮想端末113は、平文の組織鍵をランダムに生成する。組織鍵は、あるグループ(文書の共有単位)内で共有される鍵である。
(ii)ステップ602
仮想端末113は、平文のインデックス鍵をランダムに生成する。インデックス鍵は、登録される文書のインデックスを暗号化するための鍵であり、組織鍵と同様に、上記グループ内で共有される鍵である。
仮想端末113は、平文のインデックス鍵をランダムに生成する。インデックス鍵は、登録される文書のインデックスを暗号化するための鍵であり、組織鍵と同様に、上記グループ内で共有される鍵である。
(iii)ステップ603
仮想端末113は、平文のインデックス鍵を平文の組織鍵で暗号化する。
仮想端末113は、平文のインデックス鍵を平文の組織鍵で暗号化する。
(iv)ステップ604
仮想端末113は、ステップ603における暗号化結果を保護済インデックス鍵として、秘密鍵管理装置130に送信する。そして、秘密鍵管理装置130は、受信した保護済インデックス鍵を保護済インデックス鍵格納部132に保存する。
仮想端末113は、ステップ603における暗号化結果を保護済インデックス鍵として、秘密鍵管理装置130に送信する。そして、秘密鍵管理装置130は、受信した保護済インデックス鍵を保護済インデックス鍵格納部132に保存する。
(v)ステップ605
仮想端末113は、平文の組織鍵をコンピュータ公開鍵で暗号化する。なお、コンピュータ鍵は、仮想端末管理装置110に保持されているので、これが用いられる。
仮想端末113は、平文の組織鍵をコンピュータ公開鍵で暗号化する。なお、コンピュータ鍵は、仮想端末管理装置110に保持されているので、これが用いられる。
(vi)ステップ606
仮想端末113は、ステップ605での暗号化結果をさらにユーザ公開鍵で暗号化する。ユーザ公開鍵は、当該仮想端末113にユーザがログインしたときに生成されているため、これが用いられる。
仮想端末113は、ステップ605での暗号化結果をさらにユーザ公開鍵で暗号化する。ユーザ公開鍵は、当該仮想端末113にユーザがログインしたときに生成されているため、これが用いられる。
(vii)ステップ607
仮想端末113は、ステップ606での暗号化結果を保護済組織鍵として、秘密鍵管理装置130に送信する。そして、秘密鍵管理装置130は、保護済組織鍵を保護済組織鍵格納部131に保存する。
仮想端末113は、ステップ606での暗号化結果を保護済組織鍵として、秘密鍵管理装置130に送信する。そして、秘密鍵管理装置130は、保護済組織鍵を保護済組織鍵格納部131に保存する。
<2人目以降のユーザの保護済組織鍵の作成処理>
図7は、2人目以降のユーザの保護済組織鍵を作成する処理を説明するためのフローチャートである。ここでは、既存ユーザが仮想端末113にログインしたうえで、新規ユーザを招待する形(既存ユーザが新規ユーザの保護済組織鍵を作成して受け渡す)で、新規ユーザの保護済組織鍵を作成する。例えば、仮想端末113に、保護済組織鍵を作成するプログラムをインストールしておき、それを実行する。あるいは、暗号処理部104に同等の機能を組み込んでおき、そこから実行してもよい。
図7は、2人目以降のユーザの保護済組織鍵を作成する処理を説明するためのフローチャートである。ここでは、既存ユーザが仮想端末113にログインしたうえで、新規ユーザを招待する形(既存ユーザが新規ユーザの保護済組織鍵を作成して受け渡す)で、新規ユーザの保護済組織鍵を作成する。例えば、仮想端末113に、保護済組織鍵を作成するプログラムをインストールしておき、それを実行する。あるいは、暗号処理部104に同等の機能を組み込んでおき、そこから実行してもよい。
(i)ステップ701
既存ユーザ(招待者)の指示に応答して、仮想端末(既存ユーザの仮想端末)113は、秘密鍵管理装置130に問い合わせて、自身の保護済組織鍵を取得する。
既存ユーザ(招待者)の指示に応答して、仮想端末(既存ユーザの仮想端末)113は、秘密鍵管理装置130に問い合わせて、自身の保護済組織鍵を取得する。
(ii)ステップ702
仮想端末113は、ステップ701で取得した保護済組織鍵を、既存ユーザのユーザ秘密鍵で復号する。
仮想端末113は、ステップ701で取得した保護済組織鍵を、既存ユーザのユーザ秘密鍵で復号する。
(iii)ステップ703
仮想端末113は、ステップ702での復号結果を、既存ユーザの仮想端末113が属する仮想端末管理装置110のコンピュータ秘密鍵で復号する。これによって平文の組織鍵が得られる。
仮想端末113は、ステップ702での復号結果を、既存ユーザの仮想端末113が属する仮想端末管理装置110のコンピュータ秘密鍵で復号する。これによって平文の組織鍵が得られる。
(iv)ステップ704
仮想端末113は、新規ユーザ(被招待者)から取得したユーザIDを含む情報を証明書管理装置120に送信して当該新規ユーザのユーザ公開鍵について問い合わせ、新規ユーザのユーザ公開鍵を取得する。なお、ここでは、招待する時点で当該新規ユーザが自身の仮想端末にログインしていて自身のユーザ公開鍵を既に生成済であることを前提としている。
仮想端末113は、新規ユーザ(被招待者)から取得したユーザIDを含む情報を証明書管理装置120に送信して当該新規ユーザのユーザ公開鍵について問い合わせ、新規ユーザのユーザ公開鍵を取得する。なお、ここでは、招待する時点で当該新規ユーザが自身の仮想端末にログインしていて自身のユーザ公開鍵を既に生成済であることを前提としている。
(v)ステップ705
既存ユーザの仮想端末113は、平文の組織鍵を、コンピュータ公開鍵で暗号化する。
既存ユーザの仮想端末113は、平文の組織鍵を、コンピュータ公開鍵で暗号化する。
(vi)ステップ706
仮想端末113は、ステップ705での暗号化結果を、ステップ704で取得した新規ユーザのユーザ公開鍵で暗号化する。
仮想端末113は、ステップ705での暗号化結果を、ステップ704で取得した新規ユーザのユーザ公開鍵で暗号化する。
(vii)ステップ707
仮想端末113は、ステップ706での暗号化結果を新規ユーザの保護済組織鍵として、秘密鍵管理装置130に送信する。そして、秘密鍵管理装置130は、受信した保護済組織鍵を保護済組織鍵格納部131に保存する。
仮想端末113は、ステップ706での暗号化結果を新規ユーザの保護済組織鍵として、秘密鍵管理装置130に送信する。そして、秘密鍵管理装置130は、受信した保護済組織鍵を保護済組織鍵格納部131に保存する。
<暗号化文書の保存処理>
図8は、暗号化文書を保存する処理を説明するためのフローチャートである。ここでは、ユーザが仮想端末113から暗号化文書管理装置100にアクセスし、暗号処理部104をブラウザ(図3参照)に表示してから、暗号処理部104のファイル追加インタフェース302にファイルをドラッグアンドドロップすることで処理が開始する。
図8は、暗号化文書を保存する処理を説明するためのフローチャートである。ここでは、ユーザが仮想端末113から暗号化文書管理装置100にアクセスし、暗号処理部104をブラウザ(図3参照)に表示してから、暗号処理部104のファイル追加インタフェース302にファイルをドラッグアンドドロップすることで処理が開始する。
(i)ステップ801
仮想端末113は、文書の登録操作を受けて、当該文書に固有のデータ鍵をランダムに生成する。
仮想端末113は、文書の登録操作を受けて、当該文書に固有のデータ鍵をランダムに生成する。
(ii)ステップ802
仮想端末113は、ステップ801で生成したデータ鍵で文書を暗号化する。
仮想端末113は、ステップ801で生成したデータ鍵で文書を暗号化する。
(iii)ステップ803
仮想端末113は、秘密鍵管理装置130に問い合わせて、文書を登録するユーザの保護済組織鍵を取得する。
仮想端末113は、秘密鍵管理装置130に問い合わせて、文書を登録するユーザの保護済組織鍵を取得する。
(iv)ステップ804
仮想端末113は、ステップ803で取得した保護済組織鍵を、文書を登録するユーザのユーザ秘密鍵で復号する。
仮想端末113は、ステップ803で取得した保護済組織鍵を、文書を登録するユーザのユーザ秘密鍵で復号する。
(v)ステップ805
仮想端末113は、ステップ804における復号結果をさらに、文書を登録するユーザのコンピュータ秘密鍵で復号する。これによって、平文の組織鍵が得られる。
仮想端末113は、ステップ804における復号結果をさらに、文書を登録するユーザのコンピュータ秘密鍵で復号する。これによって、平文の組織鍵が得られる。
(vi)ステップ806
仮想端末113は、ステップ805で得られた平文の組織鍵で、ステップ801で生成したデータ鍵を暗号化し、保護済データ鍵を作成する。
仮想端末113は、ステップ805で得られた平文の組織鍵で、ステップ801で生成したデータ鍵を暗号化し、保護済データ鍵を作成する。
(vii)ステップ807
仮想端末113は、秘密鍵管理装置130に問い合わせて、保護済インデックス鍵を取得する。
仮想端末113は、秘密鍵管理装置130に問い合わせて、保護済インデックス鍵を取得する。
(viii)ステップ808
仮想端末113は、ステップ807で取得した保護済インデックス鍵を平文の組織鍵で復号し、平文のインデックス鍵を得る。
仮想端末113は、ステップ807で取得した保護済インデックス鍵を平文の組織鍵で復号し、平文のインデックス鍵を得る。
(ix)ステップ809
仮想端末113は、登録する文書と、ステップ808で取得した平文のインデックス鍵を基に、暗号化インデックスを作成する。
仮想端末113は、登録する文書と、ステップ808で取得した平文のインデックス鍵を基に、暗号化インデックスを作成する。
(x)ステップ810
仮想端末113は、暗号化文書・保護済データ鍵を暗号化文書管理装置100に送信する。暗号化文書管理装置100は、受信した暗号化文書及び保護済データ鍵を、暗号化文書格納部101および保護済データ鍵格納部102にそれぞれ保存する。
仮想端末113は、暗号化文書・保護済データ鍵を暗号化文書管理装置100に送信する。暗号化文書管理装置100は、受信した暗号化文書及び保護済データ鍵を、暗号化文書格納部101および保護済データ鍵格納部102にそれぞれ保存する。
(xi)ステップ811
仮想端末113は、暗号化インデックスを暗号化文書管理装置100に送信する。暗号化文書管理装置100は、受信した暗号化インデックスを暗号化インデックス格納部103に保存する。
仮想端末113は、暗号化インデックスを暗号化文書管理装置100に送信する。暗号化文書管理装置100は、受信した暗号化インデックスを暗号化インデックス格納部103に保存する。
<登録済み文書の検索処理>
図9は、登録済み文書を検索する処理を説明するためのフローチャートである。ここでは、ユーザが仮想端末113から暗号化文書管理装置100にアクセスし、暗号処理部104をブラウザ(図4参照)に表示してから、暗号処理部104の検索キーワード入力領域401に検索キーワードを入力して検索ボタン402をクリックすることで処理が開始する。
図9は、登録済み文書を検索する処理を説明するためのフローチャートである。ここでは、ユーザが仮想端末113から暗号化文書管理装置100にアクセスし、暗号処理部104をブラウザ(図4参照)に表示してから、暗号処理部104の検索キーワード入力領域401に検索キーワードを入力して検索ボタン402をクリックすることで処理が開始する。
(i)ステップ901
仮想端末113は、文書の取得操作を受けて、秘密鍵管理装置130から保護済組織鍵および保護済インデックス鍵を取得する。
仮想端末113は、文書の取得操作を受けて、秘密鍵管理装置130から保護済組織鍵および保護済インデックス鍵を取得する。
(ii)ステップ902
仮想端末113は、ステップ901で取得した保護済組織鍵を、文書を検索するユーザのユーザ秘密鍵で復号する。
仮想端末113は、ステップ901で取得した保護済組織鍵を、文書を検索するユーザのユーザ秘密鍵で復号する。
(iii)ステップ903
仮想端末113は、ステップ902における復号結果をさらに、文書を検索する仮想端末113が属する仮想端末管理装置110のコンピュータ秘密鍵で復号する。これによって、平文の組織鍵が得られる。
仮想端末113は、ステップ902における復号結果をさらに、文書を検索する仮想端末113が属する仮想端末管理装置110のコンピュータ秘密鍵で復号する。これによって、平文の組織鍵が得られる。
(iv)ステップ904
仮想端末113は、ステップ903で取得した組織鍵を用いて、保護済インデックス鍵を復号する。これによって、平文のインデックス鍵が得られる。
仮想端末113は、ステップ903で取得した組織鍵を用いて、保護済インデックス鍵を復号する。これによって、平文のインデックス鍵が得られる。
(v)ステップ905
仮想端末113は、ステップ904で取得したインデックス鍵でキーワードを暗号化する。
仮想端末113は、ステップ904で取得したインデックス鍵でキーワードを暗号化する。
(vi)ステップ906
仮想端末113は、ステップ905における処理結果である暗号化キーワードを暗号化文書管理装置100に送信する。
仮想端末113は、ステップ905における処理結果である暗号化キーワードを暗号化文書管理装置100に送信する。
(vii)ステップ907
暗号化文書管理装置100は、受信した暗号化キーワードにマッチする文書を一意に識別する、暗号化ドキュメント識別子のリストを返却する。
暗号化文書管理装置100は、受信した暗号化キーワードにマッチする文書を一意に識別する、暗号化ドキュメント識別子のリストを返却する。
(viii)ステップ908
仮想端末113は、返却された暗号化ドキュメント識別子のリストをインデックス鍵で復号し、平文のドキュメント識別子を得る。
仮想端末113は、返却された暗号化ドキュメント識別子のリストをインデックス鍵で復号し、平文のドキュメント識別子を得る。
(ix)ステップ909
仮想端末113は、ステップ908で得た平文のドキュメント識別子を暗号化文書管理装置100に送信し、検索結果について問い合わせる。そして、仮想端末113は、暗号化文書管理装置100から検索結果の文書名とアクセスするための場所の情報を取得する。
仮想端末113は、ステップ908で得た平文のドキュメント識別子を暗号化文書管理装置100に送信し、検索結果について問い合わせる。そして、仮想端末113は、暗号化文書管理装置100から検索結果の文書名とアクセスするための場所の情報を取得する。
(x)ステップ910
仮想端末113は、ステップ909で取得した、検索結果の文書名とアクセスするための場所の情報に基づいて検索結果リスト(検索結果表示領域403)を表示する。ユーザが検索結果リスト(検索結果表示領域403)に表示されている1つのファイル名をクリックすると、図10で説明する平文の文書が取得される。
仮想端末113は、ステップ909で取得した、検索結果の文書名とアクセスするための場所の情報に基づいて検索結果リスト(検索結果表示領域403)を表示する。ユーザが検索結果リスト(検索結果表示領域403)に表示されている1つのファイル名をクリックすると、図10で説明する平文の文書が取得される。
<登録済み文書の復号及び取得処理>
図10は、登録済み文書を復号し、平文として取得する処理を説明するためのフローチャートである。ここでは、ユーザが仮想端末113から暗号化文書管理装置100にアクセスし、暗号処理部104をブラウザ(図4参照)に表示してから、暗号処理部104のファイル名をクリックすることで処理が開始する。
図10は、登録済み文書を復号し、平文として取得する処理を説明するためのフローチャートである。ここでは、ユーザが仮想端末113から暗号化文書管理装置100にアクセスし、暗号処理部104をブラウザ(図4参照)に表示してから、暗号処理部104のファイル名をクリックすることで処理が開始する。
(i)ステップ1001
仮想端末113は、文書の取得操作を受けて、暗号化文書管理装置100から暗号化文書および保護済データ鍵を取得する。
仮想端末113は、文書の取得操作を受けて、暗号化文書管理装置100から暗号化文書および保護済データ鍵を取得する。
(ii)ステップ1002
仮想端末113は、秘密鍵管理装置130に問い合わせて、文書を取得するユーザの保護済組織鍵を取得する。
仮想端末113は、秘密鍵管理装置130に問い合わせて、文書を取得するユーザの保護済組織鍵を取得する。
(iii)ステップ1003
仮想端末113は、ステップ1002で取得した保護済組織鍵を、文書を取得するユーザのユーザ秘密鍵で復号する。
仮想端末113は、ステップ1002で取得した保護済組織鍵を、文書を取得するユーザのユーザ秘密鍵で復号する。
(iv)ステップ1004
仮想端末113は、ステップ1003における復号結果をさらに、文書を取得するユーザのコンピュータ秘密鍵で復号する。これによって、平文の組織鍵が得られる。
仮想端末113は、ステップ1003における復号結果をさらに、文書を取得するユーザのコンピュータ秘密鍵で復号する。これによって、平文の組織鍵が得られる。
(v)ステップ1005
仮想端末113は、ステップ1004で得られた平文の組織鍵で、ステップ1001で取得した保護済データ鍵を復号する。これによって、平文のデータ鍵が得られる。
仮想端末113は、ステップ1004で得られた平文の組織鍵で、ステップ1001で取得した保護済データ鍵を復号する。これによって、平文のデータ鍵が得られる。
(vi)ステップ1006
仮想端末113は、ステップ1005で得られた平文のデータ鍵で、ステップ1001で取得した暗号化文書を復号し、平文の文書を得る。
仮想端末113は、ステップ1005で得られた平文のデータ鍵で、ステップ1001で取得した暗号化文書を復号し、平文の文書を得る。
(vii)ステップ1007
仮想端末113は、ユーザの操作に応じて、平文の文書を表示または自身の記憶領域(仮想端末の記憶領域)に保存する。
仮想端末113は、ユーザの操作に応じて、平文の文書を表示または自身の記憶領域(仮想端末の記憶領域)に保存する。
<まとめ>
(i)本発明の実施形態では、コンピュータ公開鍵とコンピュータ秘密鍵を用いることでアクセス可能な物理端末を仮想環境のホスト機(仮想端末管理装置)のみに限定する。また、ユーザ公開鍵とユーザ秘密鍵を用いることでこの仮想環境にアクセス可能なユーザを限定する。さらに、秘密鍵の利用は仮想環境においてのみ行い、ユーザはリモートデスクトップからアクセスさせる。また、各証明書の秘密鍵は仮想環境から出せないように、エクスポートを禁止する。さらに、秘密鍵によって組織鍵等を保護し、仮想環境のみで閲覧や検索できるようにする。
(i)本発明の実施形態では、コンピュータ公開鍵とコンピュータ秘密鍵を用いることでアクセス可能な物理端末を仮想環境のホスト機(仮想端末管理装置)のみに限定する。また、ユーザ公開鍵とユーザ秘密鍵を用いることでこの仮想環境にアクセス可能なユーザを限定する。さらに、秘密鍵の利用は仮想環境においてのみ行い、ユーザはリモートデスクトップからアクセスさせる。また、各証明書の秘密鍵は仮想環境から出せないように、エクスポートを禁止する。さらに、秘密鍵によって組織鍵等を保護し、仮想環境のみで閲覧や検索できるようにする。
以上を実現するために、暗号化文書と暗号化文書の暗号化に用いた鍵を組織鍵という別の共通鍵で保護した保護済データ鍵と暗号化文書を復号せずに検索できるようにするための暗号化インデックスとを格納する機能を備え、仮想端末で使用するために文書の登録や検索などの操作を受け付けて暗号化や復号などを自動的に実行する暗号処理部を備えたクラウドサービスである暗号化文書管理装置と、文書へのアクセスに必要なコンピュータ公開鍵証明書とユーザ公開鍵証明書とを発行する機能をオンプレミスで持つ証明書管理装置と、ユーザごとに組織鍵をコンピュータ証明書の公開鍵とユーザ証明書の公開鍵で暗号化した保護済組織鍵と、暗号化インデックスの保護に用いたインデックス鍵という秘密鍵を組織鍵で保護した保護済インデックス鍵とを保管する機能をオンプレミスで持つ秘密鍵管理装置と、証明書管理装置が発行したコンピュータ公開鍵証明書に付随するコンピュータ公開鍵とコンピュータ秘密鍵とを持ち、仮想端末のユーザごとに、証明書管理装置が発行したユーザ公開鍵証明書に付随するユーザ公開鍵とユーザ秘密鍵とを持ち、これらの鍵を用いて暗号化文書管理装置の暗号化文書にアクセスする仮想端末管理装置と、暗号化文書管理装置へ仮想端末管理装置を経由してアクセスするクライアント端末とを設ける。
このようにすることにより、仮想環境以外の装置ではコンピュータ秘密鍵がないため復号できず、組織鍵が漏えいしたとしても、コンピュータ秘密鍵で暗号化されているため、仮想環境外の環境では使えず、平文の文書にアクセスできない。このため、クライアント端末を紛失しても文書が漏えいすることはない。また、コンピュータ秘密鍵は利用者が使う仮想端末から直接はアクセスできないので、利用者はコンピュータ秘密鍵を盗めず、仮想端末がウィルスに感染してもコンピュータ秘密鍵が漏洩することがないので、害意の利用者やマルウェアからも文書を保護できる。このように、安全に文書を取り扱え、検索を含めた文書の効果的な活用ができる。
さらに、ユーザが管理する鍵はユーザ秘密鍵一つなのでユーザの運用の手間を極小化できる。さらに、ユーザ秘密鍵は仮想端末という組織的に管理された環境にあるので安全にユーザ秘密鍵を保管できる。管理者の運用も証明書管理のオペレーションに集約されるので運用を簡易化できる。例えば、管理者がユーザを追加するときは仮想端末上の鍵ペアの証明書を発行すればよいし、万が一ユーザがユーザ秘密鍵を紛失・漏洩したときは、管理者は対応する証明書を失効させればよい。
(ii)本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
1 文書保護システム、100 暗号化文書管理装置、101 暗号化文書格納部、102 保護済データ鍵格納部、103 暗号化インデックス格納部、104 暗号処理部、110 仮想端末管理装置、113 仮想端末、120 証明書管理装置、130 秘密鍵管理装置、131 保護済組織鍵格納部、132 保護済インデックス鍵格納部、140 クライアント端末
Claims (8)
- 少なくとも1つの仮想端末をクライアント端末に提供する仮想端末管理装置であって、
前記仮想端末は、
共通鍵を管理する外部サーバから、複数種類の鍵を保護するための第1の共通鍵であって、暗号化された前記第1の共通鍵を取得し、
前記暗号化された第1の共通鍵を、前記仮想端末管理装置に固有のコンピュータ秘密鍵と前記仮想端末のそれぞれに固有のユーザ秘密鍵で復号して平文の前記第1の共通鍵を取得し、
前記平文の第1の共通鍵で、文書を暗号化するためのデータ鍵を暗号化して保護済データ鍵を生成し、
前記保護済データ鍵と暗号化文書をクラウドサービスに設けられた暗号化文書管理装置に送信して保存させる、仮想端末管理装置。 - 請求項1において、
前記仮想端末は、
前記共通鍵を管理する外部サーバから、インデックスを保護するための第2の共通鍵であって、暗号化された前記第2の共通鍵を取得し、
前記暗号化された第2の共通鍵を、前記平文の第1の共通鍵で復号して平文の前記第2の共通鍵を取得し、
前記文書に基づいてインデックスを生成し、当該インデックスを前記平文の第2の共通鍵で暗号化して保護済インデックスを生成し、
前記保護済インデックスを前記暗号化文書管理装置に送信して保存させる、仮想端末管理装置。 - 請求項2において、
前記仮想端末は、
入力された検索キーワードに対応する、暗号化された文書識別情報を前記暗号化文書管理装置から取得し、
前記暗号化された文書識別情報を、前記平文の第2の共通鍵で復号して平文の文書識別情報を取得し、
前記平文の文書識別情報に基づいて前記暗号化文書管理装置から、前記検索キーワードに対応する検索結果のリストを取得し、前記クライアント端末に提供する、仮想端末管理装置。 - 請求項3において、
前記仮想端末は、前記平文の第2の共通鍵で前記検索キーワードを暗号化して前記暗号化文書管理装置に送信し、前記暗号化された検索キーワードに対応する前記暗号化された文書識別情報を前記暗号化文書管理装置から取得する、仮想端末管理装置。 - 請求項3において、
前記仮想端末は、
前記暗号化文書管理装置から、所望の前記暗号化文書と当該暗号化文書を復号するための前記保護済データ鍵を取得し、
前記平文の第1の共通鍵で前記保護済データ鍵を復号し、
前記復号されたデータ鍵で前記所望の暗号化文書を復号する、仮想端末管理装置。 - 請求項2において、
前記仮想端末は、
前記第1の共通鍵をランダムに生成し、
前記第2の共通鍵をランダムに生成し、
前記第2の共通鍵を前記第1の共通鍵で暗号化し、前記共通鍵を管理する外部サーバに前記暗号化された第2の共通鍵を送信して保存させ、
前記第1の共通鍵を、前記仮想端末管理装置に固有のコンピュータ公開鍵と前記仮想端末のそれぞれに固有のユーザ公開鍵で暗号化し、前記共通鍵を管理する外部サーバに前記暗号化された第1の共通鍵を送信して保存させる、仮想端末管理装置。 - 請求項1において、
第1の仮想端末は、
第2の仮想端末に固有のユーザ公開鍵を取得し、
前記平文の第1の共通鍵を、前記仮想端末管理装置に固有のコンピュータ公開鍵と前記第2の仮想端末に固有のユーザ公開鍵で暗号化して第2の仮想端末の保護済の第1の共通鍵を生成し、
前記共通鍵を管理する外部サーバに前記第2の仮想端末の保護済の第1の共通鍵を送信して保存させることにより、前記第1の共通鍵を前記第2の仮想端末と共有する、仮想端末管理装置。 - クラウドサービスを利用して文書を保存し、保護する文書保護方法であって、
仮想端末管理装置が、少なくとも1つの仮想端末をクライアント端末に提供することと、
前記仮想端末が、共通鍵を管理する外部サーバから、複数種類の鍵を保護するための第1の共通鍵であって、暗号化された前記第1の共通鍵を取得することと、
前記仮想端末が、前記暗号化された第1の共通鍵を、前記仮想端末管理装置に固有のコンピュータ秘密鍵と前記仮想端末のそれぞれに固有のユーザ秘密鍵で復号して平文の前記第1の共通鍵を取得することと、
前記仮想端末が、前記平文の第1の共通鍵で、文書を暗号化するためのデータ鍵を暗号化して保護済データ鍵を生成することと、
前記仮想端末が、前記保護済データ鍵と暗号化文書をクラウドサービスに設けられた暗号化文書管理装置に送信することと、
前記暗号化文書管理装置が、前記保護済データ鍵と前記暗号化文書を記憶領域に保存することと、
を含む、文書保護方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016029100A JP2017147654A (ja) | 2016-02-18 | 2016-02-18 | 仮想端末管理装置、及び文書保護方法 |
PCT/JP2016/085264 WO2017141520A1 (ja) | 2016-02-18 | 2016-11-29 | 仮想端末管理装置、及び文書保護方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016029100A JP2017147654A (ja) | 2016-02-18 | 2016-02-18 | 仮想端末管理装置、及び文書保護方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017147654A true JP2017147654A (ja) | 2017-08-24 |
Family
ID=59624926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016029100A Pending JP2017147654A (ja) | 2016-02-18 | 2016-02-18 | 仮想端末管理装置、及び文書保護方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2017147654A (ja) |
WO (1) | WO2017141520A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137222B2 (en) * | 2012-10-31 | 2015-09-15 | Vmware, Inc. | Crypto proxy for cloud storage services |
US9037854B2 (en) * | 2013-01-22 | 2015-05-19 | Amazon Technologies, Inc. | Privileged cryptographic services in a virtualized environment |
JP6348004B2 (ja) * | 2014-06-30 | 2018-06-27 | Kddi株式会社 | 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム |
-
2016
- 2016-02-18 JP JP2016029100A patent/JP2017147654A/ja active Pending
- 2016-11-29 WO PCT/JP2016/085264 patent/WO2017141520A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2017141520A1 (ja) | 2017-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2756048C2 (ru) | Адресация доверенной среды исполнения с использованием ключа шифрования | |
US20220343017A1 (en) | Provision of risk information associated with compromised accounts | |
EP3606003B1 (en) | Securely storing content within public clouds | |
US9473467B2 (en) | Customer controlled data privacy protection in public cloud | |
CN107506659B (zh) | 一种基于sgx的通用数据库的数据保护系统及方法 | |
CN104618096B (zh) | 保护密钥授权数据的方法、设备和tpm密钥管理中心 | |
JP5749236B2 (ja) | 鍵付け替え管理装置および鍵付け替え管理方法 | |
US20120036565A1 (en) | Personal data protection suite | |
WO2013069770A1 (ja) | データベース装置と方法及びプログラム | |
US20190332792A1 (en) | Access management system, access management method and program | |
JP2017112592A (ja) | ウェブページの暗号化送信のためのシステム及び方法 | |
KR101648364B1 (ko) | 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법 | |
US9787668B1 (en) | Sensitive user information management system and method | |
US20160330022A1 (en) | Cryptographic system, key generation apparatus, re-encryption apparatus and user terminal | |
KR102010776B1 (ko) | 블록체인 기반의 패스워드 처리 방법, 사용자 로그인 인증 지원 방법 및 이를 이용한 서버 | |
CN110022207B (zh) | 密钥管理及处理数据的方法、装置、设备和计算机可读介质 | |
JP4587688B2 (ja) | 暗号鍵管理サーバ、暗号鍵管理プログラム、暗号鍵取得端末、暗号鍵取得プログラム、暗号鍵管理システム及び暗号鍵管理方法 | |
CN105187379B (zh) | 基于多方互不信任的密码拆分管理方法 | |
Waqar et al. | User privacy issues in eucalyptus: A private cloud computing environment | |
CN110875903B (zh) | 一种安全防御方法及设备 | |
JP5678150B2 (ja) | ユーザ端末、鍵管理システム、及びプログラム | |
Song et al. | A private walk in the clouds: Using end-to-end encryption between cloud applications in a personal domain | |
WO2017141520A1 (ja) | 仮想端末管理装置、及び文書保護方法 | |
JP6965885B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
WO2021119036A1 (en) | Wrapped keys with access control predicates |