JP7037705B2 - 機密データ管理装置、プログラム及び記録媒体 - Google Patents

機密データ管理装置、プログラム及び記録媒体 Download PDF

Info

Publication number
JP7037705B2
JP7037705B2 JP2021539570A JP2021539570A JP7037705B2 JP 7037705 B2 JP7037705 B2 JP 7037705B2 JP 2021539570 A JP2021539570 A JP 2021539570A JP 2021539570 A JP2021539570 A JP 2021539570A JP 7037705 B2 JP7037705 B2 JP 7037705B2
Authority
JP
Japan
Prior art keywords
confidential data
protection code
encrypted
data protection
unit
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.)
Active
Application number
JP2021539570A
Other languages
English (en)
Other versions
JPWO2021181736A1 (ja
Inventor
ボー スティグ ハンセン
エミル モーリア
キリル ジョージェフ
トーマス ワン
ユシャオ ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Soliton Systems KK
Original Assignee
Soliton Systems KK
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Soliton Systems KK filed Critical Soliton Systems KK
Publication of JPWO2021181736A1 publication Critical patent/JPWO2021181736A1/ja
Application granted granted Critical
Publication of JP7037705B2 publication Critical patent/JP7037705B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、機密データ管理装置、プログラム及び記録媒体に関する。
従来、共通鍵暗号及び公開鍵暗号の両方の暗号技術を用いてファイルを暗号化するシステムに関する技術が開示されている(特許文献1参照)。当該システムは、共通鍵を用いてファイルを暗号化し、当該共通鍵を、ユーザや管理人の公開鍵によって暗号化する。暗号化された共通鍵は、暗号化されたファイルと共に保存される。
システムは、ユーザからファイルの読出し要求を受信し、適切な秘密鍵が使用された場合に当該暗号化された共通鍵を復号し、得られた共通鍵を用いて暗号化されたファイルを復号して、ユーザに返信する。
また、記憶媒体に暗号化データを保存するユーザ側データ処理装置と、その暗号化データが復号不能となる非常時に復旧作業を行う復旧処理装置とが、分担・協業してデータを復旧する技術が開示されている(特許文献2)。
復旧処理装置は、公開鍵と個人鍵のペアを作成して公開鍵のみをユーザ側装置に渡す。ユーザ側装置は、データを暗号化するための暗号鍵を作成し、公開鍵でその暗号鍵を暗号化して記憶媒体の所定箇所に書き込む。非常時になると、ユーザ側装置は、暗号化された暗号鍵を記憶媒体から取り出して復旧処理装置に渡す。復旧処理装置は、個人鍵によって復号化した暗号鍵をユーザ側装置に送り返す。その結果、ユーザ側装置は、データの復旧が可能になる。
また、第1のデバイスに格納されたコンテンツを保護するためのコンテンツ保護鍵を、第2のデバイスで管理された秘密鍵/公開鍵対の公開鍵で暗号化することで、当該第2のデバイスで認証可能なユーザだけがその秘密鍵を用いて暗号化コンテンツ保護鍵を復号し、得られたコンテンツ保護鍵で第1のデバイスに格納されたコンテンツを復号、利用できるようにする技術が開示されている(特許文献3)。
また、第1及び第2のシステムとの間で、マスター鍵を用いて暗号化したメッセージを双方向通信する技術が開示されている(特許文献4参照)。
第1のシステムは、一対の第1の公開鍵及び第1の秘密鍵と、一対の第2の公開鍵及び第2の秘密鍵とを生成する。第2のシステムは、一対の第3の公開鍵及び第3の秘密鍵と、一対の第4の公開鍵及び第4の秘密鍵とを生成する。但し、第2及び第4の公開鍵は、第1及び第2のシステムの間で共有される機密情報に基づいて生成される。
第1及び第2のシステムは、互いに自身の2つの公開鍵を交換する。第1のシステムは、第1及び第2の秘密鍵と、第3及び第4の公開鍵と、に基づいてマスター鍵を生成する。第2のシステムは、第1及び第2の公開鍵と、第3及び第4の秘密鍵と、に基づいてマスター鍵を生成する。第1及び第2でそれぞれ生成されるマスター鍵は、同じものである。このため、第1及び第2のシステムは、公開鍵を交換することでマスター鍵を共有して、この共有鍵を用いてメッセージを交換する。
米国特許第6249866号公報 特開2007-13484号公報 米国特許出願公開2007/0300080号明細書 特許第4701238号公報
本発明は、従来技術の問題を解決するために提案されたものである。
本発明の第1態様である機密データ管理装置は、複数の機密データアクセス支援端末と通信する機密データ管理装置であって、所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、前記機密データ保護コード生成部により生成された前記機密データ保護コードを入力とする鍵導出関数を用いて、第1の共通鍵を生成する共通鍵生成部と、前記共通鍵生成部により生成された前記第1の共通鍵を用いて、機密データを暗号化して暗号化機密データを生成する機密データ暗号化部と、前記複数の機密データアクセス支援端末のそれぞれから提供された公開鍵を用いて、前記機密データ保護コードを前記公開鍵毎に暗号化して、複数の暗号化機密データ保護コードを生成する機密データ保護コード暗号化部と、前記暗号化機密データの生成後に前記第1の共通鍵及び前記機密データを削除し、前記複数の暗号化機密データ保護コードの生成後に前記機密データ保護コードを削除する削除部と、前記暗号化機密データの復号開始の操作が行われた場合に、前記複数の公開鍵の1つである第1の公開鍵を提供した機密データアクセス支援端末へ、当該第1の公開鍵によって暗号化して生成された第1の暗号化機密データ保護コードを送信する送信部と、前記第1の公開鍵を提供した機密データアクセス支援端末から、前記第1の暗号化機密データ保護コード復号することによって生成された機密データ保護コードを受信する受信部と、第2の共通鍵を用いて、前記暗号化機密データを復号する機密データ復号部と、記暗号化機密データの復号開始の操作が行われ、前記第1の暗号化機密データ保護コードが前記送信部によって送信されない場合に、前記第1の公開鍵とは異なる第2の公開鍵によって暗号化して生成された第2の暗号化機密データ保護コードを表示する表示部と、前記第2の公開鍵を提供した機密データアクセス支援端末が、前記表示部に表示された前記第2の暗号化機密データ保護コードを復号することによって生成された機密データ保護コードを入力する入力部と、を備える。
前記共通鍵生成部は、前記受信部により前記機密データ保護コードが受信された場合は、前記受信部により受信された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第2の共通鍵を生成し、前記入力部により前記機密データ保護コードが入力された場合は、前記入力部により入力された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第2の共通鍵を生成する。
本発明の第2態様である機密データ管理装置は、複数の機密データアクセス支援端末と通信する機密データ管理装置であって、所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、前記機密データ保護コード生成部により生成された前記機密データ保護コードを入力とする鍵導出関数を用いて、第1の共通鍵を生成する第1の共通鍵生成部と、前記第1の共通鍵生成部により生成された前記第1の共通鍵を用いて、機密データを暗号化して暗号化機密データを生成する機密データ暗号化部と、前記複数の機密データアクセス支援端末のそれぞれと事前に交換された所定の情報を用いて、前記複数の機密データアクセス支援端末の各々に対応した第2の共通鍵を生成する第2の共通鍵生成部と、前記複数の機密データアクセス支援端末の各々に対応した前記第2の共通鍵を用いて、前記機密データ保護コードを前記第2の共通鍵毎に暗号化して、複数の暗号化機密データ保護コードを生成する機密データ保護コード暗号化部と、前記暗号化機密データの生成後に前記第1の共通鍵及び前記機密データを削除し、前記複数の暗号化機密データ保護コードの生成後に前記機密データ保護コードを削除する削除部と、前記暗号化機密データの復号開始の操作が行われた場合に、前記複数の所定の情報の1つである第1の所定の情報を事前に交換した機密データアクセス支援端末へ、当該第1の所定の情報を用いて生成された第3の共通鍵によって暗号化して生成された第1の暗号化機密データ保護コードを送信する送信部と、前記第1の所定の情報を事前に交換した前記機密データアクセス支援端末から、前記第1の暗号化機密データ保護コード復号することによって生成された機密データ保護コードを受信する受信部と、第4の共通鍵を用いて、前記暗号化機密データを復号する機密データ復号部と、前記暗号化機密データ復号開始の操作が行われ、前記第1の暗号化機密データ保護コードが前記送信部によって送信されない場合に、前記第1の所定の情報とは異なる第2の所定の情報を用いて生成された第5の共通鍵よって暗号化して生成された第2の暗号化機密データ保護コードを表示する表示部と、前記第2の所定の情報を事前に交換した機密データアクセス支援端末が、前記表示部に表示された前記第2の暗号化機密データ保護コード復号することによって生成された機密データ保護コードを入力する入力部と、を備える。
前記第1の共通鍵生成部は、前記受信部により前記機密データ保護コードが受信された場合は、前記受信部により受信された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第4の共通鍵を生成し、前記入力部により前記機密データ保護コードが入力された場合は、前記入力部により入力された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第4の共通鍵を生成する。
本発明の第3態様であるプログラムは、コンピュータを前記機密データ管理装置の各部として機能させるためのプログラムである。
本発明の第4態様である記録媒体は、前記プログラムが記録された記録媒体である。
本発明は、機密データの安全性を向上させることができる。
図1は、第1実施形態の一例である機密データ管理システムを示す概要図である。 図2は、機密データアクセス支援端末及び機密データ管理装置として使用されるコンピュータの一例を示すブロック図である。 図3は、第1実施形態における機密データの初期暗号化ルーチンを示すフローチャートである。 図4は、第1実施形態におけるステップS13の詳細な処理である機密データの暗号化サブルーチンを示すフローチャートである。 図5は、第1実施形態における機密データの暗号化後に、機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図6は、第1実施形態における機密データの復号ルーチンを示すフローチャートである。 図7は、複数の機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図8は、第2実施形態における機密データの暗号化サブルーチンを示すフローチャートである。 図9は、第2実施形態における機密データの暗号化後に、機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図10は、第2実施形態における機密データの復号ルーチンを示すフローチャートである。 図11は、第3実施形態における機密データの初期暗号化ルーチンを示すフローチャートである。 図12は、第3実施形態における機密データの暗号化サブルーチンを示すフローチャートである。 図13は、第3実施形態における機密データの暗号化後に、機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図14は、第3実施形態における機密データの復号ルーチンを示すフローチャートである。
以下、本発明の実施形態について、添付図面を参照しながら、詳細に説明する。 ここでは、すべてではないが、複数の実施形態が示されている。本発明の実施形態は、他にも多くの様々な形態で具現化される。すなわち本発明の実施形態は本明細書に記載された実施形態に限定されると解釈すべきではない。これらの実施形態は、明細書の記載要件を満たすように提供される。なお、図面全体において、同じ数字は、同じ要素・ステップを指す。本発明の各実施形態は、例えば、次のようなケースに適用可能であるが、その他のケースにも適用可能である。
第1のケースは、PC(すなわち、コンピューティングデバイス)のログイン時に、機密データ(例えばPCのパスワードまたはPCのパスワードが暗号化された変形データなど)を一時的に利用可能にするケースである。これにより、例えばスマートフォンを利用したパスワード不要のログイン処理が実現される。
第2のケースは、複数のパスワードを保存するパスワードデータベースを管理するためのマスターパスワードを一時的に利用可能にするケースである。なお、マスターパスワードは、暗号化されたパスワードデータベース全体を復号する場合、またはパスワードデータベースから読み出された個々の暗号化されたパスワードを復号する場合などに、利用される。
第3のケースは、スマートフォンを用いて、秘密の小部屋への出入りを一時的に許可する入退室管理システムのケースである。第4のケースは、スマートフォンを用いて、自動車の操作を一時的(乗車中)に可能にするエンジンキーのケースである。
[第1実施形態]
図1は、第1実施形態の一例である機密データ管理システム1を示す概要図である。機密データ管理システム1は、機密データアクセス支援端末Bと、機密データ管理装置Aと、を備えている。機密データアクセス支援端末B及び機密データ管理装置Aとしては、例えばコンピュータが使用される。
図2は、本実施形態において機密データアクセス支援端末B及び機密データ管理装置Aとして使用されるコンピュータ100の一例を示すブロック図である。
コンピュータ100は、例えば、ユーザの操作情報やその他の情報が入力される入力部101、暗号化処理などを行うCPU102、データの記憶/読出しを行う記憶部103、データのワークエリアであるRAM104、CPU102の制御プログラムなどが記憶されたROM105、ユーザインターフェースやCPU102の処理結果などを表示する表示部106、ネットワークを介して外部機器とデータ通信を行う通信部107を有する。
通信部107は、有線、無線、P2P、その他の既存のネットワーク通信技術を用いてデータ通信が可能である。なお、通信部107が提供する機能は、後述するように、2次元バーコード画像(イメージデータ)を表示するディスプレイと、当該2次元バーコード画像を撮影するカメラによっても体現可能である。さらに、通信部107は、テキストを表示するディスプレイと、ユーザが当該テキストを認識して直接入力するためのキーボードによっても体現可能である。
コンピュータ100は、図2に示した形態に限定されるものではなく、ハードウェア、ソフトウェア、又はそれらの両方を備えた形態でもよい。入力部101は、先述したテキストデータを入力するためのキーボードやイメージデータを入力するためのカメラ、操作パネルなどであってもよい。また、コンピュータ100は、図2では互いに独立した入力部101及び表示部106を備えているが、それらの代わりに、入力部101と表示部106の機能が一体になったタッチパネルを備えてもよい。
また、コンピュータ100は、デスクトップ型、ラップトップ(ノートブック)型、タブレット型のいずれであってもよいし、いわゆるスマートフォンであってもよい。すなわち、コンピュータ100は、後述する図3及び図4などのそれぞれのフローチャートの各ステップを実行可能であれば、どのような形態であっても適用可能である。
機密データアクセス支援端末Bは、例えば、携帯可能であり、持ち運びの容易な大きさのコンピュータ100であって、例えばいわゆるスマートフォンが好ましい。機密データ管理装置Aは、機密データその他の様々なデータを取り扱うコンピュータ100である。
[暗号化処理(機密データSDの暗号化)]
つぎに、機密データ管理装置Aに保存されている機密データSDの最初の暗号化処理について説明する。暗号化処理の際には、機密データアクセス支援端末Bと機密データ管理装置Aとの間でデータの送受信が行われる。
データの送受信の形態は、一方のコンピュータ100からデータが出力され、他方のコンピュータ100へ当該データが入力されるのであれば、特に限定されるものではない。データの送受信の形態は、例えば次のような(1)~(3)のケースが該当する。
(1)一方のコンピュータ100の表示部106に2次元バーコード画像又はテキスト画像が表示され、他方のコンピュータ100の入力部101(例えばカメラ)がその画像を撮影し、CPU102がその画像を復号又はテキスト認識するケース
(2)ネットワーク通信(有線又は無線)を経由して、一方のコンピュータ100の通信部107がデータを送信し、他方のコンピュータ100の通信部107が当該データを受信するケース
(3)一方のコンピュータ100の表示部106にテキスト画像が表示され、当該画像として描画されたテキストデータをユーザが認識し他方のコンピュータ100の入力部101(例えばキーボード)を操作することによって、他方のコンピュータ100の入力部101に当該テキストデータが入力されるケース
図3は、第1実施形態における機密データSDの初期暗号化ルーチンを示すフローチャートである。機密データ管理装置A又は機密データアクセス支援端末Bに初期暗号化開始の操作が行われた後に、初期暗号化ルーチンが実行される。
なお、以下、「暗号鍵」又は単なる「鍵」という用語は、暗号化アルゴリズムの機能出力を決定するデジタル情報の一片を示す。つまり、暗号鍵又は鍵は、平文から暗号文への変換、又はその逆の変換方法を決定する。
ステップS1では、機密データアクセス支援端末Bは、秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。
ステップS2では、機密データアクセス支援端末Bは、公開鍵PubKを機密データ管理装置Aへ送信する。
ステップS11では、機密データ管理装置Aは、機密データアクセス支援端末Bから送信された公開鍵PubKを受信して保存する。
ステップS12では、機密データ管理装置Aは、例えばパスワードなどの機密データSDを準備する。なお、機密データSDは、外部装置から送信されたものでもよいし、予め機密データ管理装置A内に保存されていたものでもよい。
ステップS13では、機密データ管理装置Aは、機密データSDを暗号化する。なお、ステップS13の詳細は後述する。
ステップS14では、機密データ管理装置Aは、機密データSDを削除する。これにより、機密データ管理装置Aには、機密データSDは存在しておらず、暗号化された機密データSDのみが記憶される。
図4は、図3におけるステップS13の詳細な処理である機密データSDの暗号化サブルーチンを示すフローチャートである。
ステップS21では、機密データ管理装置Aは、機密データ保護コードSDPCを生成する。なお、機密データ保護コードSDPCは、ランダムに生成され、ユーザによるタイプ入力が可能な程度の短い文字列として構成される秘密データである。機密データ保護コードSDPCは、例えば、256バイト又はそれ以下の文字列であればよい。なお、機密データ保護コードSDPCは、16バイトの文字列が最も好ましいが、それ以下の例えばキャッシュカードの暗証番号の慣習に従い、4バイトの文字列の場合もある。
ステップS22では、機密データ管理装置Aは、予め定義された鍵導出関数を用いて、機密データ保護コードSDPCを入力とした共通鍵SymKを生成する。ここで鍵導出関数とは、短いデータ長の秘密の値を入力として、暗号化ハッシュ関数などの疑似乱数関数を用いて、長いデータ長の暗号化鍵を導出する関数をいう。共通鍵SymKの長さは、暗号化された機密データSDの安全性が十分に担保される程度の長さ、例えば、256ビットである。
ステップS23では、機密データ管理装置Aは、共通鍵SymKを用いて機密データSDを暗号化して、暗号化機密データSymK[SD]を生成する。暗号化機密データSymK[SD]は、機密データ管理装置Aの内部に保存される。
ステップS24では、機密データ管理装置Aは、共通鍵SymKを削除する。
ステップS25では、機密データ管理装置Aは、機密データアクセス支援端末Bから受信した公開鍵PubKを用いて、ステップS21で生成された機密データ保護コードSDPCを暗号化して、暗号化機密データ保護コードPubK[SDPC]を生成する。なお、公開鍵PubKは、機密データアクセス支援端末Bから直接受信したものに限らず、機密データ管理装置Aが、機密データアクセス支援端末Bが登録した公開鍵データベースを検索した結果として入手したものでもよい。
なお、公開鍵暗号方式の1つである楕円曲線暗号(Elliptic Curve Integrated Encryption Scheme:ECIES)は、よく知られているRSA暗号よりも、短い鍵の長さで同程度の暗号化強度を得ることができる。一般に楕円曲線暗号では、224ビット以上の鍵長が推奨される。そこで本実施形態では、224ビットの鍵を持つ楕円曲線暗号(以下、ECIES224という)を使用する。
いま、機密データ保護コードSDPCが16バイトであると仮定すると、機密データ保護コード楕円曲線暗号を用いた場合、暗号化機密データ保護コードPubK[SDPC]の長さは、1008ビット(126バイト)となり、これはBase64変換の168文字に相当する。これに対し、同程度の暗号化強度を有するRSA暗号であるRSA2048を使用した場合、暗号化機密データ保護コードPubK[SDPC]の長さは、2048ビット、すなわち楕円曲線暗号を用いた場合と比較して約2倍の長さになってしまう。
ステップS26では、機密データ管理装置Aは、ステップS21で生成された機密データ保護コードSDPCを削除する。
図5は、図3及び図4で示した機密データSDの暗号化後に、機密データアクセス支援端末B及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
機密データSDの暗号化後、機密データアクセス支援端末Bには、秘密鍵PriKが保存される。一方、機密データ管理装置Aには、公開鍵PubK、暗号化機密データ保護コードPubK[SDPC]、及び暗号化機密データSymK[SD]が保存される。
すなわち、機密データ管理装置Aでは、機密データ保護コードSDPCは、そのままの状態では保存されていない。このため、第三者は、正当な復号処理を行わずに機密データSDにアクセスすることができない。
[復号処理(機密データSDの復号と利用)]
つぎに、暗号化された機密データSDの復号処理について説明する。復号処理の際にも、機密データアクセス支援端末Bと機密データ管理装置Aとの間でデータの送受信が行われる。
機密データ管理装置Aは、最初に、暗号化機密データ保護コードPubK[SDPC]を機密データアクセス支援端末Bへ送信し、その後、機密データアクセス支援端末Bから返信される機密データ保護コードSDPCを用いて共通鍵SymKを再生成する。機密データ管理装置Aは、当該共通鍵SymKと用いて暗号化機密データSymK[SD]を復号して、機密データSDを得る。具体的には、機密データアクセス支援端末B及び機密データ管理装置Aでは、次の処理が行われる。
図6は、第1実施形態における機密データSDの復号ルーチンを示すフローチャートである。機密データ管理装置A又は機密データアクセス支援端末Bに復号開始の操作が行われた後に、復号ルーチンが実行される。
ステップS31では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]を受信する。暗号化機密データ保護コードPubK[SDPC]は、後述するステップS41において、機密データ管理装置Aから送信される。
ステップS32では、機密データアクセス支援端末Bは、ユーザの認証を行う。認証が成功した後は、ユーザは、第1実施形態だけでなく他の実施形態においても、機密データアクセス支援端末Bを自由に操作することができる。
ステップS33では、機密データアクセス支援端末Bは、保存されている秘密鍵PriKを用いて、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]を復号して、機密データ保護コードSDPCを得る。
ステップS34では、機密データアクセス支援端末Bは、ステップS33で得られた機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
一方、ステップS41では、機密データ管理装置Aは、内部に保存されている暗号化機密データ保護コードPubK[SDPC]を読み出して、それを機密データアクセス支援端末Bへ送信する。その後、機密データアクセス支援端末Bは、上述したステップS31~S34の処理を実行して、機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
ステップS42では、機密データ管理装置Aは、機密データアクセス支援端末Bから機密データ保護コードSDPCを受信する。
ステップS43では、機密データ管理装置Aは、ステップS42で受信された機密データ保護コードSDPCを入力とし、図4のステップS22で用いた鍵導出関数を用いて共通鍵SymKを再生成する。
ステップS44では、機密データ管理装置Aは、内部に保存されている暗号化機密データSymK[SD]を読み出して、ステップS43で再生成された共通鍵SymKを用いて復号処理を行い、機密データSDを得る。これにより、図3のステップS12で用意された機密データSDが完全に復元される。
ステップS45及びステップS46では、機密データ管理装置Aは、機密データSDを利用し、そして、後述するステップS47及びステップS48の処理の終了を確認後、当該機密データSDを削除する。
ステップS47では、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]及び暗号化機密データSymK[SD]を削除する。
ステップS48では、機密データ管理装置Aは、図4のサブルーチンを実行して、再び機密データSDを暗号化する。
以上のように、本実施形態では、暗号化された機密データSDを復元するために、以下に示すプロセス(1)~(3)が必要になる。
プロセス1:機密データ保護コードSDPCの復元
プロセス2:機密データ保護コードSDPCを用いた共通鍵SymKの再生成
プロセス3:再生成された共通鍵SymKを用いた復号処理(機密データSDの復元)
機密データ管理装置Aは、機密データアクセス支援端末Bから提供される公開鍵PubKを用いて機密データ保護コードSDPCを暗号化できるが、それを復元することができない。つまり、機密データ管理装置Aは、自身が保存するデータ(図5)だけでは、プロセス1を実行することができず、その結果、機密データSDを復元できない。また、機密データ管理装置A内のすべてのデータが外部に漏洩しても、漏洩したデータだけでは機密データSDを復元することができないので、機密データSDの安全性が担保される。
そこで、機密データ管理装置Aは、機密データアクセス支援端末Bにプロセス1を実行させて、機密データアクセス支援端末Bから機密データ保護コードSDPCを受信することで初めて、プロセス2及び3を実行して、機密データSDを復元することができる。この結果、単一のコンピュータ100がプロセス1~3をすべて行う場合に比べて、機密データSDが外部に漏洩するリスクを抑制することができる。
ここまでは、機密データ管理装置Aは、1つの機密データアクセス支援端末Bを使用して機密データSDを暗号化したが、この実施形態に限定されるものではない。例えば、機密データ管理装置Aは、複数の機密データアクセス支援端末Bを使用して機密データSDを暗号化してもよい。
この場合、機密データ管理装置Aは、最初に機密データSDの複製を生成して、機密データアクセス支援端末Bの個数と同じ数の機密データSDを用意する。つぎに、機密データ管理装置Aは、機密データアクセス支援端末B毎に、図3から図4の各ルーチンを実施して、各々の機密データSDを暗号化する。この結果、次のデータが得られる。
図7は、複数の機密データアクセス支援端末B1、B2、・・・によって各々の機密データSDが暗号化された場合に、複数の機密データアクセス支援端末B1、B2、・・・及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
複数の機密データアクセス支援端末B1、B2、・・・は、それぞれが固有の秘密鍵PriKB1、PriKB2、・・・と、それらの各々に対応する公開鍵PubKB1、PubKB2、・・・を生成する。そして公開鍵PubKB1、PubKB2、・・・は、機密データ管理装置Aに送信される。
機密データ管理装置Aは、受信した公開鍵PubKB1、PubKB2、・・・を用いて、それぞれに対応した暗号化機密データ保護コードPubKB1[SDPC]、PubKB2[SDPC]、・・・及び、暗号化機密データSymK[SD]、SymK[SD]、・・・を生成する。
この結果、図7に示すように、機密データ管理装置Aには、機密データアクセス支援端末B毎に、データ群(公開鍵PubK、暗号化機密データ保護コードPubK[SDPC]、暗号化機密データSymK[SD])が保存される。複数の機密データアクセス支援端末Bは、万一いずれかを紛失した場合に予備の機密データアクセス支援端末Bとして用いられる他、そのうちの少なくとも1つを、機密データ管理システム1(図1)を管理する管理者に預けてもよい。この場合、管理者に預けられた機密データアクセス支援端末Bは、緊急時に使用される「管理端末」となる。
ユーザは、例えば自身が保有し日常的に使用する機密データアクセス支援端末Bを紛失した場合、通常は、上述したプロセス1を実行できないため、機密データSDを復元できない。しかし、予め複数の機密データアクセス支援端末Bを準備しておくことで、自身が保有する他の機密データアクセス支援端末Bが残っていれば、それを用いてプロセス1を実行することができ、機密データSDを復元して利用することができる。
さらにユーザは、そのうちの1つを管理端末として管理者に預けることで、手元に予備の機密データアクセス支援端末Bがなかったとしても、当該管理者を通じてプロセス1を実行することができる。その具体的な方法については後述する。
なお、後述する第2及び第3実施形態においても同様に、機密データ管理装置Aは、複数の機密データアクセス支援端末Bを使用することができる。この場合も、機密データ管理装置Aには、機密データアクセス支援端末B毎に、データ群(暗号化された機密データ保護コードSDPC、暗号化機密データSymK[SD]など)が保存される。
ところで本実施形態では、機密データ管理装置Aにおける共通鍵SymKの生成時(例えば図4のステップS22)において、機密データ保護コードSDPCは、以下に示すように、鍵導出関数(KeyDefFunc())の入力値として使用される。
KeyDefFunc(SDPC)→SymK
当該入力値は、オリジナルの機密データ保護コードSDPCそのものではなく、オリジナルの機密データ保護コードSDPCと、機密データ管理装置Aにおいて別途生成、保存された固有データ(例えばPIN(Personal Identification Number))と、を連結したものであってもよい。その場合、以下のような変形例が考えられる。
KeyDefFunc(SDPC+PIN)→ SymK
この時、PINは、機密データアクセス支援端末Bには認識されない。このため、機密データアクセス支援端末Bが管理端末として管理者に預けられ、仮に管理者が鍵導出関数の具体的な内容を知っていたとしても、管理者は、機密データ保護コードSDPC単体だけでは共通鍵SymKを生成できない。よって、この変形例は、緊急時に管理端末を使用する場合に、対管理者も含めた機密データの安全性を向上させるのに、特に有効である。この変形例は、すべての実施形態に適用可能である。
[第2実施形態]
つぎに、第2の実施形態について説明する。なお、上述した実施形態と同一の部位については同一の符号を付し、重複する説明は省略する。
第1実施形態の復号処理において、機密データ保護コードSDPCのデータ長は、その定義上短い。これに対し、通常のECIES224またはRSA2048を用いた場合、公開鍵PubKを使用して生成された暗号化機密データ保護コードPubK[SDPC]のデータ長は、それぞれ1008ビットまたは2048ビット(Base64変換の168文字または344文字に相当)となるが、これは暗号化された機密データSDの復号処理の際に手動で入力するには長すぎる。
そこで、第2実施形態では、当該復号処理の際の機密データアクセス支援端末Bへの入力データが手動で入力するのに十分な程度に短いものになるよう、機密データSDの暗号化処理の段階で、暗号化機密データ保護コードPubK[SDPC]の大部分である部分データを予め機密データアクセス支援端末Bへ送信しておくことにする。これにより、当該復号処理において、機密データアクセス支援端末Bへ入力すべきデータ長が短くなることから、データ通信だけでなく手動操作でも容易に当該復号処理を実施することができる。
図8は、第2実施形態における機密データSDの暗号化サブルーチンを示すフローチャートである。すなわち、第2実施形態では、機密データ管理装置Aは、図4に示すサブルーチンの代わりに、図8に示すサブルーチンを実行する。なお、図8のサブルーチンは、図4のサブルーチンとほぼ同様に構成されているが、図4のステップS25とステップS26との間にステップS25-1を追加し、さらにステップS50を追加したものである。
ステップS25-1では、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]の大部分である部分データを機密データアクセス支援端末Bへ送信し、その後、送信済みの部分データを暗号化機密データ保護コードPubK[SDPC]から削除する。これにより、機密データ管理装置Aには、暗号化機密データ保護コードPubK[SDPC]のうち、当該部分データが削除された後のデータ(以下、残りデータという)が保存される。当該残りデータは、例えば256バイト以下であればよい。なお、残りデータは、16バイトが最も好ましい。
ステップS50では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]の部分データを受信して保存する。
図9は、図3及び図8で示した機密データSDの暗号化後に、機密データアクセス支援端末B及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
機密データSDの暗号化後、機密データアクセス支援端末Bには、秘密鍵PriKに加えて、暗号化機密データ保護コードPubK[SDPC]の部分データが保存される。一方、機密データ管理装置Aには、公開鍵PubK、暗号化機密データ保護コードPubK[SDPC]の残りデータ、及び暗号化機密データSymK[SD]が保存される。
図10は、第2実施形態における機密データSDの復号ルーチンを示すフローチャートである。第2実施形態では、機密データアクセス支援端末Bは、図6のステップS31~S34の代わりに、図10のステップS31-1~S34を実行する。ここで、図10のステップS31-1~S34は、図6のステップS31~S34とほぼ同様に構成されているが、図6のステップS31の代わりに、図10のステップS31-1,S31-2を追加したものである。
機密データ管理装置Aは、図6のステップS41~S48ルーチンの代わりに、図10のステップS41-1~S48-1を実行する。図10のステップS41-1~S48-1は、図6のステップS41~S48とほぼ同様に構成されているが、図6のステップS41,S48の代わりに、図10のステップS41-1,S48-1をそれぞれ追加したものである。
ステップS31-1では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]の残りデータを受信 する。当該残りデータは、詳しくは後述するステップS41-1において、機密データ管理装置Aから送信されたものである。
ステップS31-2では、機密データアクセス支援端末Bは、自身が保存する暗号化機密データ保護コードPubK[SDPC]の部分データと、機密データ管理装置Aから送信された残りデータと、を結合することで、暗号化機密データ保護コードPubK[SDPC]を再構築する。
その後、機密データアクセス支援端末Bは、第1実施形態と同様に、ユーザ認証(ステップS32)の後、秘密鍵PriKを用いて暗号化機密データ保護コードPubK[SDPC]を復号する(ステップS33)。その結果、機密データ保護コードSDPCが生成される。そして、機密データアクセス支援端末Bは、機密データ保護コードSDPCを機密データ管理装置Aへ送信する(ステップS34)。
一方、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]のうち、送信済みの部分データが欠落した残りデータを用いて次の処理を実行する。
ステップS41-1では、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]の残りデータを機密データアクセス支援端末Bへ送信する。その後、機密データアクセス支援端末Bは、上述した図10のステップS31-1~S34を実行して、機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
そして、機密データ管理装置Aは、機密データアクセス支援端末Bから送信された機密データ保護コードSDPCを受信すると(ステップS42)、第1実施形態と同様の処理(ステップS44~ステップS47)を実行した後、再び機密データSDを暗号化する(ステップS48-1)。
ステップS48-1では、機密データ管理装置Aは、上述した図8のサブルーチンを実行する。
以上のように、第2実施形態の機密データ管理装置Aは、機密データSDの暗号化処理の段階で、暗号化機密データ保護コードPubK[SDPC]の大部分である部分データを予め機密データアクセス支援端末Bに送信する。
そして、機密データ管理装置Aは、機密データSDの復号処理の段階では、暗号化機密データ保護コードPubK[SDPC]の残りデータを機密データアクセス支援端末Bへ送信する。このデータの送信は、暗号化機密データ保護コードPubKの大部分である部分データを送信した後の残りデータが対象となるため、手動操作でも容易に実現することができる。
このように、ユーザは、例えば機密データSDにアクセスしたいもののネットワークが利用できない緊急の場合であっても、機密データ管理装置Aの表示部106に暗号化機密データ保護コードPubK[SDPC]の残りデータが表示されたならば、その残りデータを機密データアクセス支援端末Bの入力部101を通じて手動操作で直接入力し、機密データ保護コードSDPCを取得することで、機密データSDを利用することができる。
また、第2実施形態は、もう1つの機密データアクセス支援端末Bを管理端末として追加した場合でも適用可能である。暗号化機密データ保護コードPubK[SDPC]の残りデータと機密データ保護コードSDPCのいずれのデータ長も、上述したように、手動操作で入力できるほど短い。よって、機密データSDの復号処理において、管理端末(機密データアクセス支援端末B)と機密データ管理装置Aとの双方向のデータの送受信は、例えば、次のように行われる。
最初に、ユーザは、機密データ管理装置Aの表示部106に表示された暗号化機密データ保護コードPubK[SDPC]の残りデータを、管理者に口頭で通知する。そして、管理者は、手動操作によって、ユーザから聞いた暗号化機密データ保護コードPubK[SDPC]の残りデータを管理端末に入力し、機密データ保護コードSDPCを取得する。
つぎに、管理者は、取得した機密データ保護コードSDPCを、ユーザに口頭で通知する。最後に、ユーザは、手動操作によって、管理者から聞いた機密データ保護コードSDPCを機密データ管理装置Aに入力する。
さらに、機密データ管理装置Aは、例えば管理端末に対しては、図8のステップS25-1において、暗号化機密データ保護コードPubK[SDPC]の部分データではなく、その全部を送信してもよい。この場合、機密データ管理装置Aは、機密データSDの復号処理の段階において、管理端末に対して、暗号化機密データ保護コードPubK[SDPC]の残りデータを送信する必要がない(図10のステップS41-1が不要)。
一方、管理端末は、図10のステップS31-1,S31-2を省略して、ユーザ認証後に、直ちに、機密データ保護コードSDPCを得ることが可能になる。
このような場合、ユーザが、自身が保有し日常的に使用する機密データアクセス支援端末Bを紛失したとしても、管理端末を預けた管理者に対して電話などで連絡することができれば、当該管理者から機密データ保護コードSDPCを直接聞き出すことで、機密データSDへのアクセスが可能になる。具体的には、次の通りである。
管理者は、機密データアクセス支援端末Bを紛失したユーザからの連絡を受けた場合、最初に、ユーザの正当性(ユーザが機密データアクセス支援端末Bの正当な所有者であるか)を確認する。正当性の確認方法は特に限定されず、例えば口頭による本人確認でもよい。管理者は、ユーザの正当性を確認した後、つぎに、自身に預けられた管理端末を用いて機密データ保護コードSDPCを得て、最後に、当該機密データ保護コードSDPCをユーザに口頭で伝える。この結果、ユーザは、管理者から伝えられた機密データ保護コードSDPCを機密データ管理装置Aに手動操作で入力すれば、機密データSDを復元して利用することができる。
[第3実施形態]
つぎに、第3の実施形態について説明する。なお、上述した実施形態と同一の部位については同一の符号を付し、重複する説明は省略する。第3実施形態では、楕円曲線ディフィー・ヘルマン(Elliptic curve Diffie-Hellman:ECDH)鍵共有が使用される。ECDH鍵共有は、楕円曲線を使ったディフィー・ヘルマン(Diffie-Hellman:DH)鍵共有である。
以下、簡単のため、楕円曲線を使わない一般的なDH鍵共有について説明する。
DH鍵共有では、お互いに予備知識のない2人の当事者(例えば、アリスとボブ)が、安全でないチャネルを介して、共通鍵を共有することができる。この共通鍵は、後続の通信を暗号化するために使用される。DH鍵共有の具体例を以下に示す。
1.アリスが、2つの素数gとpを選び、それらが何であるかをボブに伝える。
2.ボブは、秘密の数aを選ぶが、誰にも公開しない。
ボブは、A(=g mod p)を計算し、その計算結果Aをアリスに送信する。
3.アリスは、秘密の数bを選ぶが、誰にも公開しない。
アリスは B(=g mod p)を計算し,その計算結果Bをボブに送信する。
4.ボブは、計算結果Bを用いて、B mod pを計算する。
5.アリスは、計算結果Aを用いて、A mod pを計算する。
ステップ4の計算結果とステップ5の計算結果は、同じ値になり、当該当事者で共有される共通鍵となる。その理由は、次の2つの式が成立するからである。
(g mod p) mod p = gab mod p
(g mod p) mod p = gba mod p
さて、本実施形態では、機密データアクセス支援端末B及び機密データ管理装置Aは、ECDH鍵交換における所定の楕円曲線(例えば、楕円曲線を定義する式、基点G、その位数nなどのパラメータ)を予め共有する。機密データアクセス支援端末B及び機密データ管理装置Aは、共有された楕円曲線に基づいて、それぞれが秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。
図11は、第3実施形態における機密データSDの初期暗号化ルーチンを示すフローチャートである。第3実施形態では、機密データアクセス支援端末Bは、図3のステップS1~S2の代わりに図11のステップS61~S63を実行する。また、機密データ管理装置Aは、図3のステップS11~S14の代わりに図11のステップS71~S76を実行する。
ステップS61では、機密データアクセス支援端末Bは、機密データ管理装置Aと共有された楕円曲線に基づいて、秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。ここで、秘密鍵PriKは、[1,n-1]の中からランダムに選択された整数である。公開鍵PubKは、次の式に基づいて生成される。
PubK=PriK・G
ステップS62では、機密データアクセス支援端末Bは、機密データ管理装置Aと公開鍵PubKを交換する。なお、ステップS62は、詳しくは後述するステップS72と同時に行われる。具体的には、機密データアクセス支援端末Bは、ステップS61で生成された公開鍵PubKを機密データ管理装置Aへ送信し、機密データ管理装置Aから公開鍵PubKを受信する。ここで公開鍵PubKは、詳しくは後述するステップS71で生成されたものである。
すなわち、上述したステップS61及びS62においては、機密データアクセス支援端末Bは、選択した秘密鍵PriK(上述の例でアリスが選んだ秘密の数 a に相当)と、予め機密データ管理装置Aと共有した基点G(上述の例でアリスが選んだ素数 g に相当)から公開鍵PubKを計算し、機密データ管理装置Aとの間で、互いの公開鍵PubKを交換(送受信)する。
ステップS63では、機密データアクセス支援端末Bは、機密データ保護コードSDPCを暗号化するための共通鍵SymKを、次の式に基づいて生成する。
SymK=PriK・PubK
但し、共通鍵SymKは、機密データアクセス支援端末Bの秘密鍵PriKと、後述する機密データ管理装置Aの公開鍵PubKとの関係から、以下の条件を満たす。
SymK=PriK・PubK
=PriK・PriK・G
ステップS71では、機密データ管理装置Aは、機密データアクセス支援端末Bと共有された楕円曲線に基づいて、秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。ここで、秘密鍵PriKは、[1,n-1]の中からランダムに選択された整数である。公開鍵PubKは、次の式に基づいて生成される。
PubK=PriK・G
ステップS72では、機密データ管理装置Aは、機密データアクセス支援端末Bと公開鍵PubKを交換する。具体的には、機密データ管理装置Aは、ステップS71で生成された公開鍵PubKを機密データアクセス支援端末Bへ送信し、機密データアクセス支援端末Bから公開鍵PubKを受信する。
ステップS73では、機密データ管理装置Aは、機密データ保護コードSDPCを暗号化するための共通鍵SymKを、次の式に基づいて生成する。
SymK=PriK・PubK
但し、共通鍵SymKは、機密データ管理装置Aの秘密鍵PriKと、先述した機密データアクセス支援端末Bの公開鍵PubKとの関係から、以下の条件を満たす。
SymK=PriK・PubK
=PriK・PriK・G
ステップS63及びステップS73の結果、機密データアクセス支援端末B及び機密データ管理装置Aは、それぞれが同一の共通鍵SymKを得る。
ステップS74では、機密データ管理装置Aは、例えばパスワードなどの機密データSDを準備する。なお、機密データSDは、外部装置から送信されたものでもよいし、予め機密データ管理装置A内に保存されていたものでもよい。
ステップS75では、機密データ管理装置Aは、機密データSDを暗号化する。なお、ステップS75の詳細は後述する。
ステップS76では、機密データ管理装置Aは、機密データSDを削除する。これにより、機密データ管理装置Aには、機密データSDは存在しておらず、暗号化された機密データSDのみが記憶されている。
図12は、第3実施形態における機密データSDの暗号化サブルーチンを示すフローチャートである。
ステップS75において、機密データ管理装置Aは、図4のサブルーチンの代わりに、図12のサブルーチンを実行する。なお、図12のサブルーチンは、図4のサブルーチンとほぼ同様に構成されているが、図4のステップS25の代わりに、図12のステップS25-2を追加したものである。
ステップS25-2では、機密データ管理装置Aは、図11のステップS73で生成された共通鍵SymKを用いて、ステップS21で生成された機密データ保護コードSDPCを暗号化して、暗号化機密データ保護コードSymK[SDPC]を生成する。そして、機密データ管理装置Aは、ステップS21で生成された機密データ保護コードSDPCを削除する(ステップS26)。
図13は、図11及び図12で示した機密データSDの暗号化後に、機密データアクセス支援端末B及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
機密データSDの暗号化後、機密データアクセス支援端末Bには、機密データ管理装置Aの公開鍵PubK、自身の秘密鍵PriK、及び共通鍵SymKが保存される。一方、機密データ管理装置Aには、機密データアクセス支援端末Bの公開鍵PubK、自身の秘密鍵PriK、共通鍵SymK、暗号化機密データ保護コードSymK[SDPC]、及び暗号化機密データSymK[SD]が保存される。
図14は、第3実施形態における機密データSDの復号ルーチンを示すフローチャートである。図14のステップS31-3~S34は、図6のステップS31~S34とほぼ同様に構成されているが、図6のステップS31,S33の代わりに、図14のステップS31-3,S33-1をそれぞれ追加したものである。
図14のステップS41-2~S48-2は、図6のステップS41~S48とほぼ同様に構成されているが、図6のステップS41,S47,S48の代わりに、図14のステップS41-2,S47-1,S48-2をそれぞれ追加し、さらに、図6のステップS44の後に図14のステップS44-1を追加したものである。
ステップS31-3では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードSymK[SDPC]を受信する。暗号化機密データ保護コードSymK[SDPC]は、後述するステップS41-2において、機密データ管理装置Aから送信されるものである。
ステップS32では、機密データアクセス支援端末Bは、ユーザの認証を行う。
ステップS33-1では、機密データアクセス支援端末Bは、図11のステップS63で生成された共通鍵SymKを用いて、機密データ管理装置Aから送信された暗号化機密データ保護コードSymK[SDPC]を復号して、機密データ保護コードSDPCを得る。
ステップS34では、機密データアクセス支援端末Bは、ステップS33で得られた機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
一方、ステップS41-2では、機密データ管理装置Aは、内部に保存されている暗号化機密データ保護コードSymK[SDPC]を読み出して、それを機密データアクセス支援端末Bへ送信する。その後、機密データアクセス支援端末Bは、上述したステップS31-3~S34の処理を実行して、機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
そして、機密データ管理装置Aは、機密データアクセス支援端末Bから送信された機密データ保護コードSDPCを受信すると(図14のステップS42)、第1実施形態と同様にステップS43~S44を実行する。
ステップS44-1では、機密データ管理装置Aは、暗号化機密データSymK[SD]の復号が成功したか(機密データSDが復元されたか)否かを判定する。復号が成功した場合は、機密データ管理装置Aは、機密データSDが利用し、そして、後述するステップS47-1及びステップS48-2の処理の終了を確認後、当該機密データSDを削除する(ステップS45~S46)。復号が成功しなかった場合は、本ルーチンが終了する。
ステップS47-1では、機密データ管理装置Aは、暗号化機密データ保護コードSymK[SDPC]及び暗号化機密データSymK[SD]を削除する。
ステップS48-2では、機密データ管理装置Aは、図12のサブルーチンを実行して、再び機密データSDを暗号化する。
以上のように、第3実施形態では、機密データアクセス支援端末B及び機密データ管理装置Aは、互いに共有された楕円曲線に基づく公開鍵PubKを交換して、それぞれが機密データ保護コードSDPCの暗号化・復号のための共通鍵SymKを生成する。このため、次の効果が得られる。
機密データアクセス支援端末B及び機密データ管理装置Aは、それぞれが生成した共通鍵SymKを用いて、それぞれの内部において、機密データ保護コードSDPCの暗号化及び復号を行うことが可能になる。
すなわち、本実施形態では、機密データ保護コードSDPCを暗号化及び復号するための共通鍵SymKが機密データ管理装置A内に保存されていることから、暗号化機密データ保護コードSymK[SDPC]は、理論上は、機密データアクセス支援端末Bが存在しなくとも、機密データ管理装置Aだけで復号可能である。
しかし、本実施形態では、いわゆる「チャレンジ&レスポンス」認証を実現するために、機密データ管理装置Aと機密データアクセス支援端末Bの間で、次の(a)~(c)の処理が実施される。
(a)機密データ管理装置Aは、機密データアクセス支援端末Bへ、暗号化機密データ保護コードSymK[SDPC]を送信する。
(b)機密データアクセス支援端末Bは、暗号化機密データ保護コードSymK[SDPC]を復号して得られた機密データ保護コードSDPCを、機密データ管理装置Aに返信する。
(c)機密データ管理装置Aは、機密データアクセス支援端末Bから返信された機密データ保護コードSDPCを用いて共通鍵SymKを再生成の上、暗号化機密データSymK[SD]を復号して、機密データSDを得る。
この結果、正規の機密データアクセス支援端末Bを所有するユーザのみが、正しい機密データ保護コードSDPCを機密データ管理装置Aへ返信し、機密データ管理装置Aに暗号化機密データSymK[SD]を復号させ、機密データSDを得ることに成功する。したがって、最終的には、第3実施形態では、上述した他の実施形態と同じ効果が得られる。
ところで、暗号化機密データ保護コードSymK[SDPC]のデータ長は、機密データ保護コードSDPCのデータ長と同様、手動で入力するのに十分な程度に短い。このため、機密データアクセス支援端末Bが管理端末の場合、機密データSDの復号において、緊急時には、上述した実施形態と同様、機密データ管理装置Aと管理端末との間の送受信を手動操作で行うことが可能である。
さらに、本実施形態では、機密データSDの暗号化の段階(図12)において、機密データ管理装置Aから機密データアクセス支援端末Bへのデータ送信は不要である。
これに対して、第2実施形態の場合、その機密データSDの復号において、緊急時に暗号化機密データ保護コードPubK[SDPC]の残りデータを手動で入力できるようにするためには、機密データSDの暗号化の段階(図8)において送信される、暗号化機密データ保護コードPubK[SDPC]の部分データのデータ長を十分に長くする必要がある。しかし、その場合、当該部分データを手動で入力するのは甚だ困難になる。この点において、本実施形態は、上述した第2実施形態よりも優れている。
A 機密データ管理装置
B 機密データアクセス支援端末
100 コンピュータ
101 入力部
102 CPU
106 表示部
107 通信部


Claims (10)

  1. 複数の機密データアクセス支援端末と通信する機密データ管理装置であって、
    所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、
    前記機密データ保護コード生成部により生成された前記機密データ保護コードを入力とする鍵導出関数を用いて、第1の共通鍵を生成する共通鍵生成部と、
    前記共通鍵生成部により生成された前記第1の共通鍵を用いて、機密データを暗号化して暗号化機密データを生成する機密データ暗号化部と、
    前記複数の機密データアクセス支援端末のそれぞれから提供された公開鍵を用いて、前記機密データ保護コードを前記公開鍵毎に暗号化して、複数の暗号化機密データ保護コードを生成する機密データ保護コード暗号化部と、
    前記暗号化機密データの生成後に前記第1の共通鍵及び前記機密データを削除し、前記複数の暗号化機密データ保護コードの生成後に前記機密データ保護コードを削除する削除部と、
    前記暗号化機密データの復号開始の操作が行われた場合に、前記複数の公開鍵の1つである第1の公開鍵を提供した機密データアクセス支援端末へ、当該第1の公開鍵によって暗号化して生成された第1の暗号化機密データ保護コードを送信する送信部と、
    前記第1の公開鍵を提供した機密データアクセス支援端末から、前記第1の暗号化機密データ保護コード復号することによって生成された機密データ保護コードを受信する受信部と、
    第2の共通鍵を用いて、前記暗号化機密データを復号する機密データ復号部と、
    記暗号化機密データの復号開始の操作が行われ、前記第1の暗号化機密データ保護コードが前記送信部によって送信されない場合に、前記第1の公開鍵とは異なる第2の公開鍵によって暗号化して生成された第2の暗号化機密データ保護コードを表示する表示部と、
    前記第2の公開鍵を提供した機密データアクセス支援端末が、前記表示部に表示された前記第2の暗号化機密データ保護コードを復号することによって生成された機密データ保護コードを入力する入力部と、を備え、
    前記共通鍵生成部は、前記受信部により前記機密データ保護コードが受信された場合は、前記受信部により受信された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第2の共通鍵を生成し、前記入力部により前記機密データ保護コードが入力された場合は、前記入力部により入力された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第2の共通鍵を生成する
    機密データ管理装置。
  2. 前記送信部は、前記複数の暗号化機密データ保護コードの生成後に、前記公開鍵を提供した前記機密データアクセス支援端末の各々へ、対応する公開鍵で暗号化して生成された暗号化機密データ保護コードの内、所定のデータ長の第1の部分データを除外した第2の部分データを送信し、前記暗号化機密データの復号開始の操作が行われた場合に、前記第1の公開鍵を提供した前記機密データアクセス支援端末へ、前記第1の暗号化機密データ保護コードの前記第1の部分データを送信し、
    前記受信部は、前記第1の公開鍵を提供した前記機密データアクセス支援端末から、前記第1の暗号化機密データ保護コードの前記第2の部分データ及び前記第1の部分データを復号することによって生成された機密データ保護コードを受信し、
    前記表示部は、前記暗号化機密データの復号開始の操作が行われ、前記第1の暗号化機密データ保護コードの前記第1の部分データが前記送信部によって送信されない場合に、前記第2の暗号化機密データ保護コードの前記第1の部分データを表示し、
    前記入力部は、前記第2の公開鍵を提供した前記機密データアクセス支援端末が、前記第2の暗号化機密データ保護コードの前記第2の部分データ及び前記表示部に表示された前記第1の部分データを復号することによって生成された機密データ保護コードを入力する
    請求項1に記載の機密データ管理装置。
  3. 前記送信部は、前記複数の暗号化機密データ保護コードの生成後に、前記公開鍵を提供した前記機密データアクセス支援端末の各々へ、対応する公開鍵で暗号化して生成された暗号化機密データ保護コードの全部を送信し、
    前記受信部は、前記暗号化機密データの復号開始の操作が行われた場合に、前記第1の公開鍵を提供した前記機密データアクセス支援端末から、前記第1の暗号化機密データ保護コードの前記全部復号することによって生成された機密データ保護コードを受信し、
    前記入力部は、前記暗号化機密データの復号開始の操作が行われ、前記第1の暗号化機密データ保護コードの前記全部を復号することによって生成された前記機密データ保護コードが前記受信部によって受信されない場合に、前記第2の公開鍵を提供した前記機密データアクセス支援端末が、前記第2の暗号化機密データ保護コードを復号することによって生成された機密データ保護コードを入力する
    請求項1に記載の機密データ管理装置。
  4. 前記機密データ保護コード生成部は、前記機密データ復号部により復号された前記機密データがユーザにアクセスされた後に、新たな機密データ保護コードを生成し、
    前記共通鍵生成部は、前記新たな機密データ保護コードを入力とする前記鍵導出関数を用いて、第3の共通鍵を生成し、
    前記機密データ暗号化部は、前記共通鍵生成部により生成された前記第3の共通鍵を用いて、前記機密データ復号部により復号された機密データを再び暗号化して新たな暗号化機密データを生成し、
    前記機密データ保護コード暗号化部は、前記複数の機密データアクセス支援端末のそれぞれから提供された前記公開鍵を用いて、前記新たな機密データ保護コードを前記公開鍵毎に暗号化して、複数の新たな暗号化機密データ保護コードを生成し、
    前記削除部は、前記新たな暗号化機密データの生成後に前記第3の共通鍵及び復号された前記機密データを削除し、前記複数新たな暗号化機密データ保護コードの生成後に前記新たな機密データ保護コードを削除する
    請求項1から請求項3のいずれか1項に記載の機密データ管理装置。
  5. 前記共通鍵生成部は、前記機密データ保護コードと自身が保有する固有情報とを組み合わせた情報を入力とする前記鍵導出関数を用いて、前記第1の共通鍵、前記第2の共通鍵及び前記第3の共通鍵を生成する
    請求項4に記載の機密データ管理装置。
  6. 複数の機密データアクセス支援端末と通信する機密データ管理装置であって、
    所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、
    前記機密データ保護コード生成部により生成された前記機密データ保護コードを入力とする鍵導出関数を用いて、第1の共通鍵を生成する第1の共通鍵生成部と、
    前記第1の共通鍵生成部により生成された前記第1の共通鍵を用いて、機密データを暗号化して暗号化機密データを生成する機密データ暗号化部と、
    前記複数の機密データアクセス支援端末のそれぞれと事前に交換された所定の情報を用いて、前記複数の機密データアクセス支援端末の各々に対応した第2の共通鍵を生成する第2の共通鍵生成部と、
    前記複数の機密データアクセス支援端末の各々に対応した前記第2の共通鍵を用いて、前記機密データ保護コードを前記第2の共通鍵毎に暗号化して、複数の暗号化機密データ保護コードを生成する機密データ保護コード暗号化部と、
    前記暗号化機密データの生成後に前記第1の共通鍵及び前記機密データを削除し、前記複数の暗号化機密データ保護コードの生成後に前記機密データ保護コードを削除する削除部と、
    前記暗号化機密データの復号開始の操作が行われた場合に、前記複数の所定の情報の1つである第1の所定の情報を事前に交換した機密データアクセス支援端末へ、当該第1の所定の情報を用いて生成された第3の共通鍵によって暗号化して生成された第1の暗号化機密データ保護コードを送信する送信部と、
    前記第1の所定の情報を事前に交換した前記機密データアクセス支援端末から、前記第1の暗号化機密データ保護コード復号することによって生成された機密データ保護コードを受信する受信部と、
    第4の共通鍵を用いて、前記暗号化機密データを復号する機密データ復号部と、
    前記暗号化機密データ復号開始の操作が行われ、前記第1の暗号化機密データ保護コードが前記送信部によって送信されない場合に、前記第1の所定の情報とは異なる第2の所定の情報を用いて生成された第5の共通鍵よって暗号化して生成された第2の暗号化機密データ保護コードを表示する表示部と、
    前記第2の所定の情報を事前に交換した機密データアクセス支援端末が、前記表示部に表示された前記第2の暗号化機密データ保護コード復号することによって生成された機密データ保護コードを入力する入力部と、を備え、
    前記第1の共通鍵生成部は、前記受信部により前記機密データ保護コードが受信された場合は、前記受信部により受信された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第4の共通鍵を生成し、前記入力部により前記機密データ保護コードが入力された場合は、前記入力部により入力された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される前記第4の共通鍵を生成する
    機密データ管理装置。
  7. 前記機密データ復号部による前記暗号化機密データの復号の成功あるいは失敗を判定する判定部を更に備え、
    前記機密データ保護コード生成部は、前記判定部による判定が成功の場合、前記機密データ復号部により復号された前記機密データがユーザにアクセスされた後に、新たな機密データ保護コードを生成し、
    前記第1の共通鍵生成部は、前記新たな機密データ保護コードを入力とする前記鍵導出関数を用いて、第6の共通鍵を生成し、
    前記機密データ暗号化部は、前記第1の共通鍵生成部により生成された前記第6の共通鍵を用いて、前記機密データ復号部により復号された機密データを再び暗号化して新たな暗号化機密データを生成し、
    前記機密データ保護コード暗号化部は、前記複数機密データアクセス支援端末の各々に対応した前記第2の共通鍵を用いて、前記新たな機密データ保護コードを前記第2の共通鍵毎に暗号化して、複数の新たな暗号化機密データ保護コードを生成し、
    前記削除部は、前記新たな暗号化機密データの生成後に前記第6の共通鍵及び前記機密データを削除し、前記複数新たな暗号化機密データ保護コードの生成後に前記新たな機密データ保護コードを削除する
    請求項6に記載の機密データ管理装置。
  8. 前記第1の共通鍵生成部は、前記機密データ保護コードと自身が保有する固有情報とを組み合わせた情報を入力とする前記鍵導出関数を用いて、前記第1の共通鍵、前記第4の共通鍵及び前記第6の共通鍵を生成する
    請求項7に記載の機密データ管理装置。
  9. コンピュータを請求項1から請求項8のいずれか1項に記載の機密データ管理装置の各部として機能させるためのプログラム。
  10. 請求項9に記載のプログラムが記録された記録媒体。
JP2021539570A 2020-03-13 2020-09-30 機密データ管理装置、プログラム及び記録媒体 Active JP7037705B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062989473P 2020-03-13 2020-03-13
US62/989,473 2020-03-13
PCT/JP2020/037347 WO2021181736A1 (ja) 2020-03-13 2020-09-30 機密データ管理装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2021181736A1 JPWO2021181736A1 (ja) 2021-09-16
JP7037705B2 true JP7037705B2 (ja) 2022-03-16

Family

ID=77671517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021539570A Active JP7037705B2 (ja) 2020-03-13 2020-09-30 機密データ管理装置、プログラム及び記録媒体

Country Status (5)

Country Link
US (1) US11924337B2 (ja)
EP (1) EP3902197A4 (ja)
JP (1) JP7037705B2 (ja)
CN (1) CN115280716A (ja)
WO (1) WO2021181736A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021181736A1 (ja) 2020-03-13 2021-09-16 株式会社ソリトンシステムズ 機密データ管理装置、プログラム及び記録媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005318229A (ja) 2004-04-28 2005-11-10 Matsushita Electric Ind Co Ltd アンテナ装置
JP2007013484A (ja) 2005-06-29 2007-01-18 Suri Kagaku Kenkyusho:Kk 非常時用データ復旧システム、方法およびコンピュータプログラム
JP2015022460A (ja) 2013-07-18 2015-02-02 日本電信電話株式会社 情報記憶システム、情報記憶装置、その方法、及びプログラム
JP2019079092A (ja) 2017-10-20 2019-05-23 株式会社バカン コインロッカーシステム
JP2019149767A (ja) 2018-02-28 2019-09-05 パナソニック液晶ディスプレイ株式会社 表示装置用校正システム、表示装置、撮影装置、サーバ装置、及び、表示装置の校正方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
CA2561796C (en) 2004-04-02 2012-04-17 Research In Motion Limited Key agreement and re-keying over a bidirectional communication path
JP4765262B2 (ja) * 2004-04-28 2011-09-07 富士電機株式会社 電子データ保管装置、プログラム
US20070300080A1 (en) 2006-06-22 2007-12-27 Research In Motion Limited Two-Factor Content Protection
US7899186B2 (en) * 2007-09-20 2011-03-01 Seagate Technology Llc Key recovery in encrypting storage devices
US10951406B2 (en) * 2018-01-24 2021-03-16 Salesforce.Com, Inc. Preventing encryption key recovery by a cloud provider
US11431498B2 (en) * 2019-02-12 2022-08-30 Nxm Labs, Inc. Quantum-augmentable hybrid encryption system and method
US11614901B2 (en) * 2019-02-13 2023-03-28 Electronics And Telecommunications Research Institute Apparatus and method for processing sensitive data
WO2021181736A1 (ja) 2020-03-13 2021-09-16 株式会社ソリトンシステムズ 機密データ管理装置、プログラム及び記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005318229A (ja) 2004-04-28 2005-11-10 Matsushita Electric Ind Co Ltd アンテナ装置
JP2007013484A (ja) 2005-06-29 2007-01-18 Suri Kagaku Kenkyusho:Kk 非常時用データ復旧システム、方法およびコンピュータプログラム
JP2015022460A (ja) 2013-07-18 2015-02-02 日本電信電話株式会社 情報記憶システム、情報記憶装置、その方法、及びプログラム
JP2019079092A (ja) 2017-10-20 2019-05-23 株式会社バカン コインロッカーシステム
JP2019149767A (ja) 2018-02-28 2019-09-05 パナソニック液晶ディスプレイ株式会社 表示装置用校正システム、表示装置、撮影装置、サーバ装置、及び、表示装置の校正方法

Also Published As

Publication number Publication date
CN115280716A (zh) 2022-11-01
US20220311605A1 (en) 2022-09-29
WO2021181736A1 (ja) 2021-09-16
EP3902197A1 (en) 2021-10-27
JPWO2021181736A1 (ja) 2021-09-16
US11924337B2 (en) 2024-03-05
EP3902197A4 (en) 2022-06-22

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
US7895436B2 (en) Authentication system and remotely-distributed storage system
US8509449B2 (en) Key protector for a storage volume using multiple keys
CN108650210A (zh) 一种认证系统和方法
CN110635901B (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN111404664B (zh) 基于秘密共享和多个移动设备的量子保密通信身份认证系统和方法
CN111294203B (zh) 信息传输方法
US10630466B1 (en) Apparatus and method for exchanging cryptographic information with reduced overhead and latency
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
CN110493124A (zh) 保护数据安全的加密即时通信系统及通信方法
JP2022117456A (ja) ハードウェアセキュリティモジュールを備えたメッセージ伝送システム
JPH10171717A (ja) Icカードおよびそれを用いた暗号通信システム
JP7037705B2 (ja) 機密データ管理装置、プログラム及び記録媒体
JP4794970B2 (ja) 秘密情報の保護方法及び通信装置
CN109257381A (zh) 一种密钥管理方法、系统及电子设备
CN113365264A (zh) 一种区块链无线网络数据传输方法、装置及系统
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
CN112187767A (zh) 基于区块链的多方合同共识系统、方法及介质
CN114285557B (zh) 通信解密方法、系统和装置
JP2001111539A (ja) 暗号鍵生成装置および暗号鍵伝送方法
JP2023157174A (ja) 暗号通信システム、暗号通信装置および暗号通信方法
CN111212068B (zh) 一种输入法对文字加解密的方法
CN109922042B (zh) 遗失设备的子密钥管理方法和系统
JP2721238B2 (ja) 署名機能を持つ鍵配送方式
KR101388452B1 (ko) 인증서 전송 서버를 이용하는 일회용 공개 정보 기반 이동 단말기로의 인증서 이동 방법 및 이를 이용한 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210706

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210706

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220304

R150 Certificate of patent or registration of utility model

Ref document number: 7037705

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150