JP4104315B2 - Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program - Google Patents
Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program Download PDFInfo
- Publication number
- JP4104315B2 JP4104315B2 JP2001311039A JP2001311039A JP4104315B2 JP 4104315 B2 JP4104315 B2 JP 4104315B2 JP 2001311039 A JP2001311039 A JP 2001311039A JP 2001311039 A JP2001311039 A JP 2001311039A JP 4104315 B2 JP4104315 B2 JP 4104315B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- information
- date
- decryption
- time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、暗号データを復号する復号鍵を管理するためのシステムに関し、特に、通信ネットワーク上で、複数のユーザに対する情報の同時公開を実現するのに好適なシステムに関する。
【0002】
【従来の技術】
近年、インターネットなどの通信ネットワークを介して、複数の端末間での情報のやり取りが盛んに行われている。
【0003】
ところで、通信ネットワークを介してやり取りされる情報のなかには、ある日時以前は秘密にしておく必要があるが、その後は開示しても構わないといった性質を有するものがある。たとえば、政府の機密情報などである。また、情報の開示が、複数の利用者に対して同時に行われていること(言い換えれば、複数の利用者が、情報の中身を同時に知ることができる状態にすること)を保証しなければならないものもある。たとえば、入札など商取引に関する情報などである。
【0004】
このような情報に対して、従来は、情報作成者側の端末において、作成した情報を当該情報の機密性が解除される日あるいは日時まで保持し、機密性が解除されたときに、すなわち機密期限が切れたときに、はじめて、複数の利用者に公開あるいは配布する方法が利用されている。
【0005】
【発明が解決しようとする課題】
しかしながら、上記の方法では、情報作成者は、公開あるいは配布すべき情報の量が膨大である場合や、配布対象となる利用者の数が多い場合、複数の利用者に対し情報を、同時にしかも確実に開示することが容易でない。
【0006】
また、情報作成者は、当該情報の公開あるいは配布日時を管理しなければならない。特に、複数種の情報を開示あるいは配布する場合において、これ等の情報の開示あるいは配布の日時が重なった場合、複数の利用者に対し情報の公開あるいは配布の同時性を保証することが困難である。
【0007】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、複数のユーザに対する情報の同時公開を実現するのに好適なシステムを提供する。
【0008】
【課題を解決するための手段】
本発明は、ネットワーク上を伝送される情報のセキュリティを確保する技術である鍵暗号方式を利用することで、上記課題を解決している。
【0009】
具体的には、暗号鍵を用いて情報を暗号化する情報暗号化装置と、復号鍵を用いて情報を復号化する情報復号化装置と、前記情報暗号化装置および前記情報復号化装置で用いる暗号鍵および復号鍵を管理する鍵管理装置とを備え、少なくとも前記情報暗号化装置および前記鍵管理装置間が通信ネットワークで接続された鍵管理システムであって、
前記鍵管理装置は、
少なくとも1組の暗号鍵および復号鍵を記憶する鍵記憶手段と、
前記記憶手段に記憶された復号鍵と、当該復号鍵の公開日あるいは公開日時と、の対応関係を示す管理テーブルを記憶する管理テーブル記憶手段と、
前記管理テーブル記憶手段に記憶された管理テーブルを参照することで、前記情報暗号化装置が要求した日あるいは日時に対応する復号鍵と対の暗号鍵を検索する鍵検索手段と、
前記検索手段で検索した暗号鍵を、通信ネットワークを介して前記情報暗号化装置に送信する暗号鍵送信手段と、
前記管理テーブル記憶手段に記憶された管理テーブルにしたがい、現在の日あるいは日時に対応する復号鍵を公開する復号鍵公開手段と、を備えており、
前記情報暗号化装置は、
暗号化すべき情報の機密性が解除される日あるいは日時に関する日時情報を、通信ネットワークを介して前記鍵管理装置に送信する日時情報送信手段と、
通信ネットワークを介して前記鍵管理装置から送られてきた、前記日時情報送信手段が送信した日時情報で特定される日あるいは日時に対応する暗号鍵を受信する暗号鍵受信手段と、
前記暗号鍵受信手段で受信した暗号鍵を用いて、情報を暗号化する暗号化手段と、
前記暗号化手段で暗号化された情報に当該情報についての前記日時情報を付与して、前記情報復号化装置に配布する暗号化情報を作成する暗号化情報作成手段と、を備えており、
前記情報復号化装置は、
前記情報暗号化装置によって作成された暗号化情報を取得する暗号化情報取得手段と、
前記暗号化情報取得手段で取得した暗号化情報に付与された日時情報で特定される日あるいは日時になったときに、前記鍵管理装置で公開されている復号鍵を取得する復号鍵取得手段と、
前記復号鍵取得手段で取得した復号鍵を用いて、前記暗号化情報取得手段で取得した暗号化情報を復号化する復号化手段と、を備えている。
【0010】
ここで、暗号鍵および復号鍵とは、たとえば、公開鍵暗号方式における公開鍵および秘密鍵である。
【0011】
本発明は、前記の構成により、情報作成者は、作成した情報を、当該情報の機密性が解除される日あるいは日時以前に、当該情報を暗号化して利用者に配布することができる。したがって、情報作成者は、作成した情報の公開日時を管理する必要がなくなる。
【0012】
また、情報の利用者は、受け取った暗号化情報の機密性が解除される日あるいは日時になるまで、当該情報を復号化するための復号鍵を取得することができない。したがって、その日あるいは日時まで情報を機密にすることができる。
【0013】
さらに、情報の利用者は、受け取った情報の機密性が解除される日あるいは日時以降は、当該情報を復号化するための復号鍵を取得することができる。したがって、当該復号鍵を用いて予め受け取った暗号化情報を復号化することにより、複数の利用者に対して、情報公開の同時性を保証することができる。
【0014】
なお、本発明において、前記情報復号化装置が複数ある場合、当該複数の情報復号化装置各々と前記鍵管理装置とを通信ネットワークを介して接続し、前記鍵管理装置の復号鍵公開手段が、前記複数の情報復号化装置を宛先とするブロードキャストパケットあるいはマルチキャストパケットにより、復号鍵を、通信ネットワークを介して前記複数の情報復号化装置に一斉同報通信するようにしてもよい。あるいは、当該複数の情報復号化装置各々と前記鍵管理装置とを通信ネットワークを介して接続することなく、前記鍵管理装置の復号鍵公開手段が、無線放送を利用することで、前記複数の情報復号化装置に対して復号鍵の公開を行うようにしてもよい。
【0015】
また、本発明において、前記鍵管理装置に、前記情報暗号化装置が要求した日あるいは日時に対応する復号鍵が前記管理テーブル記憶手段に記憶された管理テーブルにない場合に、新たに1組の暗号鍵および復号鍵を生成する鍵生成手段と、前記鍵生成手段で生成した暗号鍵および復号鍵に、前記情報暗号化装置が要求した日あるいは日時を対応付けて、前記管理テーブルに追加する管理テーブル作成手段と、をさらに備えてもよい。
【0016】
【発明の実施の形態】
以下に、本発明の一実施形態について説明する。
【0017】
図1は、本実施形態が適用された鍵管理システムの全体構成を示す図である。
【0018】
ここで、符号50は鍵管理装置、符号60は情報送信装置、符号70は情報受信装置である。これ等の装置は、LANなどの通信ネットワーク90を介して互いに接続されている。
【0019】
なお、ここでは、情報送信装置60および情報受信装置70を各々1つ示しているが、これに限定されるものではなく、各々複数あってもよい。
【0020】
図1に示す各装置50、60、70は、通信機能を備えた情報処理装置、たとえばパーソナルコンピュータを用いることで、実現可能である。
【0021】
鍵管理装置50は、情報暗号処理に用いる暗号鍵および情報復号処理に用いる復号鍵の管理を行う機能を有する。この機能は、CPU1aが、ディスクコントローラ4aを介して磁気ディスク5aからメモリ2a上にロードされた暗号鍵/復号鍵管理プログラム21、暗号鍵サービスプログラム22、復号鍵サービスプログラム23、および復号鍵配布プログラム24を実行することで実現される。なお、図1において、符号20aはオペレーティングシステム(OS)、符号3aは、ネットワーク90を介した通信を実現するためのネットワークコントローラである。
【0022】
磁気ディスク5aには、上記のOS20a、暗号鍵/復号鍵管理プログラム21、暗号鍵サービスプログラム22、復号鍵サービスプログラム23、および復号鍵配布プログラム24の他、少なくとも1組の暗号鍵および復号鍵が記憶されている。この少なくとも1組の暗号鍵および復号鍵は、各々当該復号鍵の公開日時と対応付けられて、鍵管理テーブル100として記憶される。
【0023】
鍵管理テーブル100の一例を図2に示す。この例では、磁気ディスク5aに記憶されている複数組の暗号鍵102および復号鍵103が、各々復号鍵103の公開日時である日付時刻101に対応付けられている。
【0024】
ここで、暗号鍵102および復号鍵103は、公開鍵暗号方式における公開鍵および秘密鍵である。公開鍵暗号方式における公開鍵および秘密鍵は、いずれか一方から他方を求めることが極めて困難であるといった性質を有する。そこで、公開鍵暗号方式では、暗号化用の公開鍵を秘密にせずに公開しておき、復号用の秘密鍵のみを秘密にしておく。すなわち、公開されている公開鍵を取得することで、誰でも情報の暗号化を行うことができるが、当該公開鍵で暗号化された情報の復号化については、当該公開鍵と対の秘密鍵を所有する者のみが行うことができるようにすることで、ネットワーク上を伝送される情報のセキュリティを確保している。
【0025】
公開鍵暗号方式における公開鍵および秘密鍵は、初期値から結果の値を求めることは容易でも、結果の値から初期値を求めることは極めて困難な一方向性関数を用いて実現されている。ここでは、現在広く用いられているRSA(Rivest,Shamir,Adleman)と呼ばれるシステムについて簡単に説明する。
【0026】
まず、二つの大きな素数p、qを用意する。そして、pとqとの積pqをnとする。次に、nのオイラー関数
φ(n)=(p−1)(q−1)
に関し、互いに素である任意の数eを選ぶ。そして、φ(n)のモジュロの基でのeの逆数
ed=1mod φ(n)
となる数dを求める。すると、平文M、暗号文Cに関して、
C=(Me)mod n
M=(Cd)mod n
が成り立つことが証明される。したがって、dを秘密鍵とし、eとnの組を公開鍵とすることができる。図2におけるe112およびn122は、上記の式におけるe、nに相当する。
【0027】
公開鍵暗号化方式については、たとえば「データ保護と暗号化の研究、一松信監修、日本経済新聞社(昭58)」などで詳しく述べられている。
【0028】
情報送信装置60は、情報の暗号化を行う機能を有する。この機能は、CPU1bが、ディスクコントローラ4bを介して磁気ディスク5bからメモリ2b上にロードされた暗号鍵取得プログラム31およびファイル暗号化プログラム32を実行することで実現される。なお、図1において、符号20bはOS、符号3bは、通信ネットワーク90を介した通信を実現するためのネットワークコントローラである。
【0029】
情報受信装置70は、情報の復号化を行う機能を有する。この機能は、CPU1cが、ディスクコントローラ4cを介して磁気ディスク5cからメモリ2c上にロードされた復号鍵取得プログラム41およびファイル復号化プログラム42を実行することで実現される。なお、図1において、符号20cはOS、符号3cは、通信ネットワーク90を介した通信を実現するためのネットワークコントローラである。
【0030】
上記構成の鍵管理システムの動作について簡単に説明する。
【0031】
まず、情報送信装置60は、暗号化すべき情報の機密性が解除される日時に関する情報を、通信ネットワーク90を介して鍵管理装置50へ送信する。
【0032】
これを受けて、鍵管理装置50は、磁気ディスク5aに記憶されている鍵管理テーブル100を参照することで、情報送信装置60から送られてきた情報によって特定される日時に対応する暗号鍵を検索する。そして、検索した暗号鍵を、通信ネットワーク90を介して、情報送信装置60へ送信する。
【0033】
また、鍵管理装置50は、磁気ディスク5aに記憶されている鍵管理テーブル100にしたがい、現在の日時に対応する復号鍵を順次読み出して公開する。
【0034】
情報送信装置60は、鍵管理装置50から送られてきた暗号鍵を用いて、情報受信装置70へ送信する情報を暗号化する。そして、暗号化した情報(以下、暗号化情報ともいう)に、当該情報の機密性が解除される日時に関する情報を付加して、情報受信装置60へ、通信ネットワーク90を介して送信する。
【0035】
これを受けて、情報受信装置70は、現在の日時が、情報送信装置60から送られてきた暗号化情報に付与された日時に関する情報で特定される日時になるまで待ち、当該日時となったときに、鍵管理装置50で公開されている復号鍵を取得する。そして、取得した復号鍵で、情報送信装置60から送られてきた暗号化情報を復号化する。
【0036】
次に、本実施形態システムを構成する各装置の詳細について説明する。
【0037】
まず、鍵管理装置50の詳細について説明する。
【0038】
最初に、鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵/復号鍵管理プログラム21を実行した場合の動作について説明する。
【0039】
図3は、鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵/復号鍵管理プログラム21を実行した場合の動作を説明するためのフロー図である。
【0040】
まず、図示していない表示装置などを用いて、鍵管理装置50のオペレータに対して、鍵管理テーブル100に追加する鍵を特定するための情報である、開始日時、終了日時、および時間間隔を入力するように促す。これを受けて、ステップ601〜603において、図示していない入力装置に入力された開始日時、終了日時、および時間間隔を受け付ける。
【0041】
ステップ604では、暗号鍵/復号鍵生成ルーチンを呼び出して、一組の暗号鍵(e,n)および復号鍵(d)を生成する。この暗号鍵/復号鍵生成ルーチンについては後述する。
【0042】
ステップ605では、鍵管理テーブル100に日付時刻を追加する。ここで、日付時刻とは、図3に示すフローにおいて、ステップ605での処理が一回目である場合は、ステップ601で受け付けた開始日時、二回目以降の場合は、後述するステップ609で算出した日付時刻である。
【0043】
ステップ606では、ステップ604で生成した暗号鍵(e,n)を、鍵管理テーブル100の、ステップ605で当該鍵管理テーブル100に追加した日付時刻に対応する欄に追加する。
【0044】
ステップ607では、ステップ604で生成した復号鍵(d)を、鍵管理テーブル100の、ステップ605で当該鍵管理テーブル100に追加した日付時刻に対応する欄に追加する。
【0045】
ステップ608では、ステップ605で鍵管理テーブル100に追加した日付時刻が、ステップ602で受け付けた終了日時以降の日時となったか否かを判断する。終了日時以降の日時となっていない場合は、ステップ609へ移行して、ステップ605で鍵管理テーブル100に追加した日付時刻に、ステップ603で受け付けた日時間隔を加算し、得られた結果を新たな日付時刻に設定する。
【0046】
一方、終了日時以降の日時となっている場合は、このフローを終了する。
【0047】
上記のフローにより、CPU1aは、暗号鍵/復号鍵管理プログラム21を実行することで、図2に示すような、公開鍵及び復号鍵と、復号鍵を公開する日付時刻と、を対応付けた鍵管理テーブル100を作成することができる。
【0048】
次に、図3に示すフローのステップ604での処理(暗号鍵/復号鍵生成ルーチン)について説明する。
【0049】
図4は、鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵/復号鍵管理プログラム21のうちの暗号鍵/復号鍵生成ルーチン700を実行した場合の動作を説明するためのフロー図である。
【0050】
まず、二つの大きな素数p、qを生成し(ステップ701)、その後、この生成したpとqとの積n(=pq)を生成する(ステップ702)。
【0051】
次に、この積nのオイラー関数
φ(n)=(p−1)(q−1)
に関し、互いに素である任意の数eを選択する(ステップ703)。そして、φ(n)のモジュロの基でのeの逆数
ed=1mod φ(n)
となる数dを求める(ステップ704)。次に、上記のステップ702〜704で得たe、n、dを、戻り値として設定し(ステップ705)、その後、呼び出し元にリターンする(ステップ799)。
【0052】
次に、鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵サービスプログラム22を実行した場合の動作について説明する。
【0053】
図5は、鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵サービスプログラム22を実行した場合の動作を説明するためのフロー図である。なお、暗号鍵サービスプログラム22は、鍵管理装置50の常駐プログラムとして動作する。
【0054】
まず、暗号鍵要求が通信ネットワーク90経由で送られてくるのを待つ(ステップ801)。暗号鍵要求を受信すると、当該要求元から送られてくる日時に関する情報を取得する(ステップ802)。
【0055】
次に、ステップ802で取得した情報で特定される日時が、磁気ディスク5aに記憶された鍵管理テーブル100に存在するかどうかを調べる(ステップ803)。存在しない場合は、暗号鍵/復号鍵管理プログラム21を呼び出し、ステップ802で取得した情報で特定される日時を図3のステップ601、602で受け付ける開始日時および終了日時に設定し、図3のステップ603で受け付ける日時間隔を適当な時間に設定して、当該プログラムを実行する(ステップ804)。これにより、当該日時に対応付けられた暗号鍵および公開鍵が鍵管理テーブル100に追加される。ステップ804での処理を完了した後、ステップ805へ移行する。
【0056】
一方、ステップ802で取得した情報で特定される日時が鍵管理テーブル100に存在する場合は、ステップ804を実行することなく、ステップ805へ移行する。
【0057】
ステップ805では、鍵管理テーブル100からステップ802で取得した情報で特定される日時に対応付けられた暗号鍵を取り出す。その後、取り出した暗号鍵を、暗号鍵の要求元に送信する(ステップ806)。以上の処理を行った後、ステップ801に戻り、再び、暗号鍵要求が通信ネットワーク90経由で送られてくるのを待つ。
【0058】
次に、鍵管理装置50において、CPU1aがメモリ2a上にロードされた復号鍵サービスプログラム23を実行した場合の動作について説明する。
【0059】
図6は、鍵管理装置50において、CPU1aがメモリ2a上にロードされた復号鍵サービスプログラム23を実行した場合の動作を説明するためのフロー図である。なお、復号鍵サービスプログラム23は、鍵管理装置50の常駐プログラムとして動作する。
【0060】
まず、復号鍵要求が通信ネットワーク90経由で送られてくるのを待つ(ステップ901)。復号鍵要求を受信すると、当該要求元から送られてくる日時に関する情報を取得する(ステップ902)。
【0061】
次に、ステップ902で取得した情報で特定される日時が、磁気ディスク5aに記憶された鍵管理テーブル100に存在するかどうかを調べる(ステップ803)。存在しない場合は、復号鍵の要求元にエラーコードを送信し(ステップ906)、その後、ステップ901に戻り、再び、復号鍵要求が通信ネットワーク90経由で送られてくるのを待つ。
【0062】
一方、ステップ902で取得した情報で特定される日時が鍵管理テーブル100に存在する場合、当該日時に対応付けられた復号鍵を取り出し(ステップ904)、取り出した復号鍵を、復号鍵の要求元に送信する(ステップ905)。その後、ステップ901に戻り、再び、復号鍵要求が通信ネットワーク90経由で送られてくるのを待つ。
【0063】
次に、鍵管理装置50において、CPU1aがメモリ2a上にロードされた復号鍵配布プログラム24を実行した場合の動作について説明する。
【0064】
図7は、鍵管理装置50において、CPU1aがメモリ2a上にロードされた復号鍵配布プログラム24を実行した場合の動作を説明するためのフロー図である。なお、復号鍵配布プログラム24は、鍵管理装置50の常駐プログラムとして動作する。
【0065】
まず、OS20aが有する機能を利用して現在日時を取得し(ステップ1001)、その後、取得した現在日時に対応付けられた復号鍵を、鍵管理テーブル100から取り出す(ステップ1002)。
【0066】
次に、鍵管理テーブル100から、ステップ1001で取得した日時の次の日時を検索する(ステップ1003)。そして、OS20aが有する機能を利用して取得した現在日時が、ステップ1003で検索した次の日時以降となったか否かを判断する(ステップ1004)。
【0067】
次の日時以降となっていない場合は、ステップ1002で取得した復号鍵を、当該復号鍵に対応付けられた日時に関する情報とともに、情報受信装置70(情報送信装置70が複数ある場合はその全て)に対して、通信ネットワーク90を介して一斉同報通信する(ステップ1005)。一斉同報通信は、通信ネットワークを用いた通信システムで利用されているブロードキャストパケットあるいはマルチキャストパケットを用いることで、実現可能である。ここで、ブロードキャストパケットとは、パケットのヘッダに、複数の宛先のアドレス各々を付与したものである。また、マルチキャストパケットとは、パケットのヘッダに、複数の宛先を示す1つのアドレスを付与したものである。
【0068】
ステップ1005での処理を終了した後、OS20aが有する機能を利用して現在日時を取得し(ステップ1006)、ステップ1004へ戻る。
【0069】
一方、ステップ1004において、次の日時以降となっている場合は、ステップ1002へ戻る。
【0070】
上記のフローにより、鍵管理テーブル100に格納された複数の復号鍵各々は、自己に対応付けられた日時から次に公開すべき復号鍵に対応付けられた日時となるまで、繰り返し一斉同報通信される。ここで、上記のフローによって鍵管理装置50から送出される復号鍵の履歴の一例を図8に示す。
【0071】
次に、情報送信装置60の詳細について説明する。
【0072】
最初に、情報送信装置60で生成された暗号化情報の構成について説明する。
【0073】
図9は、情報送信装置60で生成された暗号化情報の構成例を説明するための図である。なお、暗号化すべき情報は、データベースや電子メールなど電子的なデータならどのようなものでもよいが、ここでは、情報をファイル単位で暗号化した場合の例について示す。
【0074】
図9において、符号202は、暗号化後の暗号文ファイルである。暗号文ファイル202は、平文ファイルを暗号化したデータである暗号文データ204と、暗号文データ204に付加されたヘッダ205と、から成る。
【0075】
ヘッダ205には、復号が可能となる日時(すなわち、機密性が解除される日時)を示す情報である復号許可日時206と、暗号文データ204の元となる平文ファイルのファイル名207と、この平文ファイルのファイルサイズ208と、この平文ファイルの暗号化に用いたデータ鍵を、鍵管理装置50から取得した暗号鍵および後述する個別暗号鍵を用いて二重に暗号化したデータである二重暗号化データ鍵209と、で成る。
【0076】
図9に示す暗号化情報の構成例から分かるように、本実施形態では、鍵管理装置50から取得した暗号鍵を用いて、平文ファイルを直接暗号化するのではなく、対称鍵暗号方式で用いられる鍵、すなわち暗号化および復号化の両方に共通して用いられるデータ鍵を用いて、平文ファイルを暗号化するようにしている。そして、鍵管理装置50から取得した暗号鍵は、平文ファイルの暗号化に用いたデータ鍵を暗号化するのに用いるようにしている。
【0077】
次に、情報送信装置60において、CPU1bがメモリ2b上にロードされたファイル暗号化プログラム32を実行した場合の動作について説明する。
【0078】
図10は、情報送信装置60において、CPU1bがメモリ2b上にロードされたファイル暗号化プログラム32を実行した場合の動作を説明するためのフロー図である。
【0079】
まず、図示していない表示装置などを用いて、情報送信装置60のユーザに対して、暗号化する平文のファイル名および当該ファイルの復号許可日時を入力するように促す。これを受けて、ステップ1101、1102において、図示していない入力装置に入力されたファイル名、および復号許可日時を受け付ける。
【0080】
次に、ステップ1103において、ステップ1101で受け付けたファイル名で特定されるファイルをオープンにする。その後、仮の名称を付けた一時ファイルを作成する(ステップ1104)。
【0081】
次に、ステップ1105では、データ鍵である乱数を生成する。その後、暗号鍵取得プログラム31を実行して、鍵管理装置50から、ステップ1102で受け付けた復号許可日時に公開される復号鍵と対の暗号鍵を取得する(ステップ1106)。
【0082】
ステップ1107では、ステップ1105で生成したデータ鍵を、ステップ1106で鍵管理装置50から取得した暗号鍵を用いて暗号化して、暗号化データ鍵を生成する。その後、図示していない表示装置などを用いて、情報送信装置60のユーザに対して、ステップ1107で生成した暗号化データ鍵を二重に暗号化するための鍵である個別暗号鍵を入力するように促す。これを受けて、ステップ1108において、図示していない入力装置に入力された個別暗号鍵を受け付ける。
【0083】
次に、ステップ1109では、ステップ1107で生成した暗号化データ鍵を、ステップ1108で受け付けた個別暗号鍵を用いて暗号化して、二重暗号化データ鍵を生成する。
【0084】
ステップ1110では、ステップ1104で作成した一時ファイルの先頭部分にヘッダを付加する。そして、付加したヘッダに、ステップ1102で受け付けた復号許可日時を特定する情報、ステップ1101で受け付けたファイル名、このファイル名で特定されるファイルのサイズ、およびステップ1109で生成した二重暗号化データ鍵を、この順序で書き込む(ステップ1111)。
【0085】
次に、ステップ1112では、ステップ1103でオープンにした平文ファイルからデータを読み出す。そして、読み出したデータを、ステップ1109で生成した二重暗号化データ鍵を用いて暗号化して、暗号データを生成し(ステップ1113)、その後、この暗号データをステップ1104で作成した一時ファイルに書き込む(ステップ1114)。
【0086】
ステップ1115では、ステップ1103でオープンにした平文ファイルの全データの暗号化が終了したか否かを判定する。終了していない場合は、終了するまで上記のステップ1112〜ステップ1114を繰り返し実行する。そして、平文ファイルの全データの暗号化が終了した後、平文ファイルおよび一時ファイルの両方をクローズにする。
【0087】
ステップ1117では、ステップ1101で受け付けた平文ファイルのファイル名と、ステップ1104で作成した一時ファイルの仮の名称とが同一であるか否かを判定する。同一である場合は、平文ファイルを削除し(ステップ1118)、その後、一時ファイルのファイル名を、ステップ1101で受け付けた平文ファイルのファイル名に変更する。そして、このフローを終了する。
【0088】
一方、同一でない場合は、ステップ1104で作成した一時ファイルのファイル名を、ステップ1101で受け付けた平文ファイルのファイル名に変更して、このフローを終了する。
【0089】
情報送信装置60は、上記のようにして作成した暗号文ファイルを、通信ネットワーク90を介して、所望の情報受信装置70に送信することができる。
【0090】
次に、情報送信装置60において、CPU1bがメモリ2b上にロードされた暗号鍵取得プログラム31を実行した場合の動作について説明する。
【0091】
図11は、情報送信装置60において、CPU1bがメモリ2b上にロードされた暗号鍵取得プログラム31を実行した場合の動作を説明するためのフロー図である。このフローは、図10に示すフローのステップ1106が行われることで、実行される。
【0092】
まず、ステップ1301において、情報送信装置60を、通信ネットワーク90を介して、鍵管理装置50に接続する。
【0093】
次に、ステップ1302において、図10に示すフローのステップ1102で受け付けた復号許可日時を特定する情報を、鍵管理装置50へ送信する。これを受けて、鍵管理装置50は、暗号鍵サービスプログラム22により、鍵管理テーブル100から復号許可日時に対応付けられた復号鍵を検索して、当該復号鍵を、復号許可日時を特定する情報を送信した情報送信装置60に送信する。
【0094】
ステップ1303では、鍵管理装置50から送られてきた、ステップ1302で鍵管理装置に送信した復号許可日時に対応付けられた暗号鍵を受信する。次に、鍵管理装置50との接続を解除し(ステップ1304)、その後、ステップ1303で受信した暗号鍵を戻り値に設定して(ステップ1305)、このフローを終了する。
【0095】
次に、情報受信装置70の詳細について説明する。
【0096】
最初に、情報受信装置70において、CPU1cがメモリ2c上にロードされたファイル復号化プログラム42を実行した場合の動作について説明する。
【0097】
図12は、情報受信装置70において、CPU1cがメモリ2c上にロードされたファイル復号化プログラム42を実行した場合の動作を説明するためのフロー図である。
【0098】
まず、図示していない表示装置などを用いて、情報受信装置70のユーザに対して、情報送信装置60から送られてきた暗号文ファイルのうち、復号しようとしている暗号文ファイルの名称を入力するように促す。これを受けて、ステップ1201において、図示していない入力装置に入力されたファイル名を受け付ける。
【0099】
次に、ステップ1202において、ステップ1201で受け付けたファイル名で特定される暗号文ファイルをオープンにした後、この暗号文ファイルのヘッダから二重暗号化データ鍵を取り出す(ステップ1203)。その後、図示していない表示装置などを用いて、情報受信装置60のユーザに対して、取り出した二重暗号化データ鍵を復号化するのに用いる個別暗号鍵を入力するように促す。これを受けて、ステップ1204において、図示していない入力装置に入力された個別暗号鍵を受け付ける。
【0100】
なお、個別暗号鍵は、暗号文ファイルの送信者から予め知らされているものとする。
【0101】
次に、ステップ1205では、ステップ1203で取り出した二重暗号化データ鍵を、ステップ1204で受け付けた個別暗号鍵を用いて、一重の暗号化データ鍵に変換する。
【0102】
ステップ1206では、ステップ1203でオープンにした暗号文ファイルのヘッダから復号許可日時に関する情報を取り出す。その後、この情報で特定される日時を引数として、復号鍵取得プログラム41を実行する(ステップ1207)。これにより、鍵管理装置50から、復号許可日時に対応付けられた復号鍵を取得する。
【0103】
次に、ステップ1208では、ステップ1207で実行した復号鍵取得プログラム41からの戻り値を参照することで、復号鍵の取得に成功したか否かを判定する。取得に成功しなかった場合は、ステップ1202でオープンにした暗号文ファイルをクローズにし(ステップ1289)、このフローを終了する。
【0104】
一方、復号鍵の取得に成功した場合は、ステップ1209に移行する。
【0105】
ステップ1209では、ステップ1205で得た一重の暗号化データ鍵を、ステップ1207で取得した復号鍵を用いて復号化することで、暗号文ファイルの暗号化に用いたデータ鍵を得る。
【0106】
次に、ステップ1210では、仮の名称を付けた一時ファイルを作成する。その後、ステップ1202でオープンにした暗号文ファイルから暗号データを読み出す(ステップ1211)。そして、読み出した暗号データを、ステップ1209で生成したデータ鍵を用いて復号化して、平文データを生成し(ステップ1212)、その後、この平文データをステップ1210で作成した一時ファイルに書き込む(ステップ1213)。
【0107】
ステップ1214では、ステップ1202でオープンにした暗号文ファイルの全暗号データの復号化が終了したか否かを判定する。終了していない場合は、終了するまで上記のステップ1211〜ステップ1213を繰り返し実行する。そして、暗号文ファイルの全暗号データの復号化が終了した後、暗号文ファイルおよび一時ファイルの両方をクローズにする。
【0108】
ステップ1216では、ステップ1201で受け付けた暗号文ファイルのファイル名と、ステップ1210で作成した一時ファイルの仮の名称とが同一であるか否かを判定する。同一である場合は、暗号文ファイルを削除し(ステップ12176)、その後、一時ファイルのファイル名を、ステップ1201で受け付けた暗号文ファイルのファイル名に変更する。そして、このフローを終了する。
【0109】
一方、同一でない場合は、ステップ1210で作成した一時ファイルのファイル名を、ステップ1201で受け付けた暗号文ファイルのファイル名に変更して、このフローを終了する。
【0110】
次に、情報受信装置70において、CPU1cがメモリ2c上にロードされた復号鍵取得プログラム41を実行した場合の動作について説明する。
【0111】
図13は、情報受信装置70において、CPU1cがメモリ2c上にロードされた復号鍵取得プログラム41を実行した場合の動作を説明するためのフロー図である。このフローは、図12に示すフローのステップ1207が行われることで、実行される。
【0112】
まず、ステップ1401において、OS20cが有する機能を利用して現在日時を取得する。次に、この取得した現在日時と、引数として受け取った復号許可日時とを比較する(ステップ1402)。この結果、現在日時が復号許可日時以降である場合はステップ1406に移行し、復号許可日時よりも前の日時である場合はステップ1403へ移行する。
【0113】
ステップ1403では、図示していない表示装置などを用いて、情報受信装置70のユーザに対して、現在の日時が復号許可日時になるまで待機するか否かを問い合わせる。そして、図示していない入力装置に、ユーザに指示が入力されるの待つ。
【0114】
入力されたユーザの指示が、現在の日時が復号許可日時になるまで待機しないことを示す場合は、エラーコードを戻り値に設定し(ステップ1489)、その後、このフローを終了する。
【0115】
一方、入力されたユーザの指示が、現在の日時が復号許可日時になるまで待機することを示す場合、OS20cが有する機能を利用して現在日時を取得し(ステップ1404)、その後、この取得した現在日時と、引数として受け取った復号許可日時とを比較する(ステップ1405)。このステップ1404およびステップ1405での処理を、取得した現在日時が、引数として受け取った復号許可日時以降となるまで、繰り返し実行する。
【0116】
ステップ1406では、鍵管理装置50が公開している(通信ネットワーク90上を流れている)復号鍵を受信し、その中に、引数として受け取った復号許可日時に対応付けられた復号鍵があるか否かを判定する。この判定は、受信した復号鍵に付加されている日時に関する情報を基に行う。
【0117】
引数として受け取った復号許可日時に対応付けられた復号鍵がある場合は、この復号鍵を戻り値に設定して(ステップ1479)、このフローを終了する。一方、引数として受け取った復号許可日時に対応付けられた復号鍵がない場合は、ステップ1408へ移行する。
【0118】
ステップ1408では、情報受信装置70を、通信ネットワーク90を介して、鍵管理装置50に接続する。
【0119】
次に、ステップ1409において、引数として受け取った復号許可日時を特定する情報を、鍵管理装置50へ送信する。これを受けて、鍵管理装置50は、復号鍵サービスプログラム23により、鍵管理テーブル100から復号許可日時に対応付けられた復号鍵を検索して、当該復号鍵を、復号許可日時を特定する情報を送信した情報受信装置70に送信する。
【0120】
ステップ1410では、鍵管理装置50から送られてきた、復号許可日時に対応付けられた復号鍵を受信する。その後、鍵管理装置50との接続を解除する(ステップ1411)。次に、復号鍵の受信結果を調べて、復号鍵をエラーなく取得することができたか否かを判断する(ステップ1412)。
【0121】
エラーなく取得することができた場合は、この取得した復号鍵を戻り値に設定して(ステップ1479)、このフローを終了する。一方、エラーがあり、取得に失敗した場合は、エラーコードを戻り値に設定し(ステップ1489)、その後、このフローを終了する。
【0122】
上記説明した本実施形態の鍵管理システムでは、情報送信装置60のユーザは、作成した情報を、当該情報の機密性が解除される日時以前に、当該情報を暗号化して利用者に配布することができる。したがって、作成した情報の公開日時を管理する必要がなくなる。
【0123】
また、情報受信装置70のユーザは、受け取った暗号化情報の機密性が解除される日時になるまで、当該情報を復号化するための復号鍵を取得することができない。したがって、その日あるいは日時まで情報を機密にすることができる。
【0124】
さらに、情報受信装置70のユーザは、受け取った情報の機密性が解除される日あるいは日時以降は、当該情報を復号化するための復号鍵を取得することができる。したがって、当該復号鍵を用いて予め受け取った暗号化情報を復号化することにより、複数の情報受信装置70のユーザに対して、情報公開の同時性を保証することができる。
【0125】
なお、上記の実施形態では、鍵管理装置50での復号鍵の公開(一斉同報通信)を、図8に示すように1個のチャネルを用いて行うものについて説明した。しかしながら、本発明はこれに限定されるものではない。たとえば、図14に示すように、複数個のチャネルを用いて、復号鍵の公開を行うようにしてもよい。この場合、同一の復号鍵の公開(一斉同報通信)期間を長くすることができる。これにより、情報受信装置70は、復号許可日時に達してからしばらく経った後でも、当該復号許可日時に対応する復号鍵を、鍵管理装置50にアクセスすることなく取得することが可能となる。
【0126】
また、上記の実施形態では、鍵管理装置50において、鍵の公開を通信ネットワーク90を利用したブロードキャストパケットあるいはマルチキャストパケットにより行うものについて説明した。しかしながら、本発明は、これに限定されるものではない。復号鍵の公開は、図15に示すような衛星などを用いた無線放送によっても実現可能である。衛星などの無線放送を用いることで、複数の情報受信装置70全てに対して、同時に復号鍵を配布することが可能となる。
【0127】
さらに、上記の実施形態では、個別暗号鍵でデータ鍵を暗号化する場合について説明したが、鍵管理装置50から取得する暗号鍵および復号鍵を、データの暗号化および復号化に直接用いることも可能である。ただし、この場合、復号許可日時が同一である暗号データは、この復号許可日時に対応付けられた復号鍵で全て復号できるという点に注意する必要がある。
【0128】
くわえて、上記の実施形態では、情報送信装置60にて暗号化した情報を、通信ネットワークを介して情報受信装置70へ送信するものについて説明したが、暗号化した情報の配布は、通信ネットワークを介さずに、たとえば、フロッピーディスクやCD−ROMなどの記憶媒体に記録して行うようにしてもよい。また、上記の実施形態では、一台の鍵管装置50を用いて、暗号鍵および復号鍵の管理やサービスなどを行う場合について説明したが、これ等の処理を複数の情報処理装置に分担させるようにしてもよい。
【0129】
また、上記の実施形態では、鍵管理システムを構成する各装置で実行される各種プログラムを、磁気ディスクに記憶させたものについて説明した。しかしながら、本発明はこれに限定されるものではなく、たとえばCD−ROMなどの光ディスクやその他の記録媒体に記憶するようにしてもよい。
【0130】
【発明の効果】
以上説明したように、本発明によれば、複数のユーザに対する情報の同時公開を実現するのに好適なシステムを提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態が適用された鍵管理システムの全体構成を示す図である。
【図2】鍵管理装置50の磁気ディスク5aに記憶されている鍵管理テーブル100の一例を示す図である。
【図3】鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵/復号鍵管理プログラム21を実行した場合の動作を説明するためのフロー図である。
本発明の実施例における暗号鍵管理システムの一構成例を示す図である。
【図4】鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵/復号鍵管理プログラム21のうちの暗号鍵/復号鍵生成ルーチン700を実行した場合の動作を説明するためのフロー図である。
【図5】鍵管理装置50において、CPU1aがメモリ2a上にロードされた暗号鍵サービスプログラム22を実行した場合の動作を説明するためのフロー図である。
【図6】鍵管理装置50において、CPU1aがメモリ2a上にロードされた復号鍵サービスプログラム23を実行した場合の動作を説明するためのフロー図である。
【図7】鍵管理装置50において、CPU1aがメモリ2a上にロードされた復号鍵配布プログラム24を実行した場合の動作を説明するためのフロー図である。
【図8】図7に示すフローによって鍵管理装置50から送出される復号鍵の履歴の一例を示す図である。
【図9】情報送信装置60で生成された暗号化情報の構成例を説明するための図である。
【図10】情報送信装置60において、CPU1bがメモリ2b上にロードされたファイル暗号化プログラム32を実行した場合の動作を説明するためのフロー図である。
【図11】情報送信装置60において、CPU1bがメモリ2b上にロードされた暗号鍵取得プログラム31を実行した場合の動作を説明するためのフロー図である。
【図12】情報受信装置70において、CPU1cがメモリ2c上にロードされたファイル復号化プログラム42を実行した場合の動作を説明するためのフロー図である。
【図13】情報受信装置70において、CPU1cがメモリ2c上にロードされた復号鍵取得プログラム41を実行した場合の動作を説明するためのフロー図である。
【図14】本発明の一実施形態の変形例を説明するための図であり、複数個のチャネルを用いて復号鍵の配布を行なった場合における、鍵管理装置50から送出される復号鍵の履歴の一例を示す図である。
【図15】本発明の一実施形態の変形例を説明するための図であり、復号鍵の配布に衛星などを用いた無線放送を用いた例を示す図である。
【符号の説明】
1a〜1c CPU
2a〜2c メモリ
3a〜3cネットワークコントローラ
4a〜4c ディスクコントローラ
5a〜5c 磁気ディスク
20a〜20c OS
21 暗号鍵/復号鍵管理プログラム
22 暗号鍵サービスプログラム
23 復号鍵サービスプログラム
24 復号鍵配布プログラム
31 暗号鍵取得プログラム
32 ファイル暗号化プログラム
41 復号鍵取得プログラム
42 ファイル復号化プログラム
50 鍵管理装置
60 情報送信装置
70 情報受信装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a system for managing a decryption key for decrypting encrypted data, and more particularly to a system suitable for realizing simultaneous disclosure of information to a plurality of users on a communication network.
[0002]
[Prior art]
In recent years, information has been actively exchanged between a plurality of terminals via a communication network such as the Internet.
[0003]
By the way, some information exchanged via a communication network must be kept secret before a certain date and time but may be disclosed thereafter. For example, confidential government information. Also, it must be ensured that information is disclosed to multiple users at the same time (in other words, multiple users can know the contents of information at the same time). There are also things. For example, information on commercial transactions such as bidding.
[0004]
For such information, conventionally, the created information is held at the terminal of the information creator until the date or date when the confidentiality of the information is released. A method of releasing or distributing to a plurality of users is used for the first time when the time limit has expired.
[0005]
[Problems to be solved by the invention]
However, in the above method, the information creator can simultaneously send information to a plurality of users when the amount of information to be disclosed or distributed is enormous or the number of users to be distributed is large. It is not easy to disclose reliably.
[0006]
In addition, the information creator must manage the disclosure date or distribution date of the information. In particular, when multiple types of information are disclosed or distributed, it is difficult to guarantee the disclosure or distribution of information to multiple users at the same time when such information is disclosed or distributed. is there.
[0007]
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a system suitable for realizing simultaneous disclosure of information to a plurality of users.
[0008]
[Means for Solving the Problems]
The present invention solves the above-mentioned problems by using a key encryption method that is a technique for ensuring the security of information transmitted over a network.
[0009]
Specifically, the information encryption device that encrypts information using the encryption key, the information decryption device that decrypts information using the decryption key, and the information encryption device and the information decryption device are used. A key management system comprising a key management device for managing an encryption key and a decryption key, wherein at least the information encryption device and the key management device are connected by a communication network,
The key management device includes:
Key storage means for storing at least one pair of encryption key and decryption key;
A management table storage means for storing a management table indicating a correspondence relationship between the decryption key stored in the storage means and the release date or release date of the decryption key;
A key search means for searching for an encryption key paired with a decryption key corresponding to the date or date and time requested by the information encryption device by referring to the management table stored in the management table storage means;
An encryption key transmitting means for transmitting the encryption key searched by the search means to the information encryption apparatus via a communication network;
According to a management table stored in the management table storage means, and a decryption key release means for releasing a decryption key corresponding to the current date or date and time,
The information encryption device includes:
Date / time information transmitting means for transmitting date / time information on the date or date / time when the confidentiality of the information to be encrypted is released to the key management device via a communication network;
An encryption key receiving means for receiving an encryption key corresponding to the date or date specified by the date and time information sent from the key management device via the communication network and sent by the date and time information sending means;
An encryption means for encrypting information using the encryption key received by the encryption key receiving means;
Providing the date and time information about the information to the information encrypted by the encryption means, and creating encrypted information to be distributed to the information decryption device, and encryption information creation means,
The information decoding device includes:
Encrypted information acquisition means for acquiring encrypted information created by the information encryption device;
A decryption key acquisition means for acquiring a decryption key published by the key management device when the date or the date specified by the date information given to the encryption information acquired by the encryption information acquisition means is reached; ,
Decryption means for decrypting the encrypted information obtained by the encrypted information obtaining means using the decryption key obtained by the decryption key obtaining means.
[0010]
Here, the encryption key and the decryption key are, for example, a public key and a secret key in a public key cryptosystem.
[0011]
According to the present invention, according to the above configuration, the information creator can encrypt the created information and distribute it to the user before the date or date when the confidentiality of the information is released. Therefore, the information creator need not manage the date and time when the created information is disclosed.
[0012]
Further, the information user cannot acquire a decryption key for decrypting the received information until the date or date when the confidentiality of the received encrypted information is released. Therefore, information can be kept confidential until that date or date.
[0013]
Furthermore, the user of information can obtain a decryption key for decrypting the information after the date or date when the confidentiality of the received information is released. Accordingly, by decrypting the encrypted information received in advance using the decryption key, it is possible to guarantee the simultaneity of information disclosure to a plurality of users.
[0014]
In the present invention, when there are a plurality of the information decryption devices, each of the plurality of information decryption devices and the key management device are connected via a communication network, and the decryption key disclosure unit of the key management device includes: A broadcast key or a multicast packet destined for the plurality of information decryption apparatuses may be broadcast simultaneously to the plurality of information decryption apparatuses via a communication network. Alternatively, without connecting each of the plurality of information decryption devices and the key management device via a communication network, the decryption key disclosure unit of the key management device uses the wireless broadcast, so that the plurality of information The decryption key may be disclosed to the decryption device.
[0015]
In the present invention, when the key management device does not have a decryption key corresponding to the date or date requested by the information encryption device in the management table stored in the management table storage means, A key generation unit that generates an encryption key and a decryption key, and a management that associates the date or date requested by the information encryption device with the encryption key and the decryption key generated by the key generation unit and adds them to the management table And a table creation means.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described.
[0017]
FIG. 1 is a diagram showing an overall configuration of a key management system to which the present embodiment is applied.
[0018]
Here,
[0019]
Here, one
[0020]
The
[0021]
The
[0022]
In addition to the OS 20a, the encryption key / decryption
[0023]
An example of the key management table 100 is shown in FIG. In this example, a plurality of sets of the
[0024]
Here, the
[0025]
The public key and the secret key in the public key cryptosystem are realized by using a one-way function that is easy to obtain a result value from an initial value but extremely difficult to obtain an initial value from a result value. Here, a system called RSA (Rivest, Shamir, Adleman) which is widely used now will be briefly described.
[0026]
First, two large prime numbers p and q are prepared. A product pq of p and q is n. Next, Euler function of n
φ (n) = (p−1) (q−1)
Choose any number e that is relatively prime. And the reciprocal of e in the modulo group of φ (n)
ed = 1 mod φ (n)
A number d is obtained. Then, regarding plaintext M and ciphertext C,
C = (M e ) Mod n
M = (C d ) Mod n
Is proved to hold. Therefore, d can be a secret key and a set of e and n can be a public key. E112 and n122 in FIG. 2 correspond to e and n in the above formula.
[0027]
The public key encryption method is described in detail, for example, in “Research on Data Protection and Encryption, Supervised by Shin Ichimatsu, Nikkei Inc. (Showa 58)”.
[0028]
The
[0029]
The
[0030]
The operation of the key management system configured as described above will be briefly described.
[0031]
First, the
[0032]
In response to this, the
[0033]
Further, the
[0034]
The
[0035]
In response to this, the
[0036]
Next, details of each device constituting the system of the present embodiment will be described.
[0037]
First, details of the
[0038]
First, an operation when the CPU 1a executes the encryption key / decryption
[0039]
FIG. 3 is a flowchart for explaining the operation when the CPU 1a executes the encryption key / decryption
[0040]
First, the start date / time, end date / time, and time interval, which are information for specifying the key to be added to the key management table 100, are displayed to the operator of the
[0041]
In
[0042]
In
[0043]
In
[0044]
In
[0045]
In
[0046]
On the other hand, if the date is after the end date, this flow ends.
[0047]
By executing the encryption key / decryption
[0048]
Next, the process (encryption key / decryption key generation routine) at
[0049]
FIG. 4 is a flowchart for explaining the operation when the CPU 1a executes the encryption key / decryption key generation routine 700 in the encryption key / decryption
[0050]
First, two large prime numbers p and q are generated (step 701), and then a product n (= pq) of the generated p and q is generated (step 702).
[0051]
Next, the Euler function of this product n
φ (n) = (p−1) (q−1)
, Select any number e that is relatively prime (step 703). And the reciprocal of e in the modulo group of φ (n)
ed = 1 mod φ (n)
A number d is obtained (step 704). Next, e, n, and d obtained in
[0052]
Next, in the
[0053]
FIG. 5 is a flowchart for explaining the operation in the
[0054]
First, it waits for an encryption key request to be sent via the communication network 90 (step 801). When the encryption key request is received, information on the date and time sent from the request source is acquired (step 802).
[0055]
Next, it is checked whether or not the date and time specified by the information acquired in
[0056]
On the other hand, if the date and time specified by the information acquired in
[0057]
In
[0058]
Next, in the
[0059]
FIG. 6 is a flowchart for explaining the operation when the CPU 1a executes the decryption
[0060]
First, it waits for a decryption key request to be sent via the communication network 90 (step 901). When the decryption key request is received, information regarding the date and time sent from the request source is acquired (step 902).
[0061]
Next, it is checked whether or not the date and time specified by the information acquired in
[0062]
On the other hand, if the date and time specified by the information acquired in
[0063]
Next, in the
[0064]
FIG. 7 is a flowchart for explaining the operation when the CPU 1a executes the decryption
[0065]
First, the current date and time is acquired using the function of the OS 20a (step 1001), and then the decryption key associated with the acquired current date and time is extracted from the key management table 100 (step 1002).
[0066]
Next, the key management table 100 is searched for the date and time next to the date and time acquired in step 1001 (step 1003). Then, it is determined whether or not the current date and time acquired using the function of the OS 20a is after the next date and time searched in Step 1003 (Step 1004).
[0067]
If it is not after the next date and time, the information receiving device 70 (if there are a plurality of information transmitting devices 70) together with the information related to the date and time associated with the decryption key, the decryption key acquired in
[0068]
After the processing in
[0069]
On the other hand, if it is after the next date and time in
[0070]
According to the above flow, each of the plurality of decryption keys stored in the key management table 100 is repeatedly broadcast from the date associated with itself to the date associated with the next decryption key to be disclosed. Is done. Here, an example of the history of the decryption key sent from the
[0071]
Next, details of the
[0072]
Initially, the structure of the encryption information produced | generated by the
[0073]
FIG. 9 is a diagram for explaining a configuration example of the encrypted information generated by the
[0074]
In FIG. 9,
[0075]
The
[0076]
As can be seen from the configuration example of the encryption information shown in FIG. 9, in the present embodiment, the plaintext file is not directly encrypted using the encryption key acquired from the
[0077]
Next, in the
[0078]
FIG. 10 is a flowchart for explaining the operation when the CPU 1b executes the
[0079]
First, using a display device (not shown), the user of the
[0080]
Next, in
[0081]
Next, in
[0082]
In
[0083]
Next, in
[0084]
In
[0085]
Next, in step 1112, data is read from the plain text file opened in
[0086]
In
[0087]
In
[0088]
On the other hand, if they are not the same, the file name of the temporary file created in step 1104 is changed to the file name of the plain text file accepted in
[0089]
The
[0090]
Next, in the
[0091]
FIG. 11 is a flowchart for explaining the operation when the CPU 1b executes the encryption
[0092]
First, in
[0093]
Next, in
[0094]
In
[0095]
Next, details of the
[0096]
First, the operation when the CPU 1c executes the
[0097]
FIG. 12 is a flowchart for explaining the operation when the CPU 1c executes the
[0098]
First, the name of a ciphertext file to be decrypted among ciphertext files sent from the
[0099]
Next, in step 1202, the ciphertext file specified by the file name accepted in
[0100]
The individual encryption key is assumed to be known in advance from the sender of the ciphertext file.
[0101]
Next, in
[0102]
In
[0103]
Next, in
[0104]
On the other hand, if acquisition of the decryption key is successful, the process proceeds to step 1209.
[0105]
In
[0106]
Next, in
[0107]
In
[0108]
In step 1216, it is determined whether or not the file name of the ciphertext file received in
[0109]
On the other hand, if they are not the same, the file name of the temporary file created in
[0110]
Next, in the
[0111]
FIG. 13 is a flowchart for explaining the operation when the CPU 1c executes the decryption
[0112]
First, in
[0113]
In
[0114]
If the input user instruction indicates that the current date / time does not wait until the current date / time becomes the decoding permission date / time, the error code is set as a return value (step 1489), and then this flow ends.
[0115]
On the other hand, when the input user instruction indicates that the current date / time is to wait until the current date / time becomes the decryption permission date / time, the current date / time is acquired using the function of the
[0116]
In step 1406, the
[0117]
If there is a decryption key associated with the decryption permission date and time received as an argument, this decryption key is set as a return value (step 1479), and this flow ends. On the other hand, if there is no decryption key associated with the decryption permission date and time received as an argument, the process proceeds to step 1408.
[0118]
In
[0119]
Next, in
[0120]
In
[0121]
If it can be acquired without error, this acquired decryption key is set as a return value (step 1479), and this flow is terminated. On the other hand, if there is an error and acquisition fails, the error code is set as a return value (step 1489), and then this flow ends.
[0122]
In the key management system of the present embodiment described above, the user of the
[0123]
Further, the user of the
[0124]
Furthermore, the user of the
[0125]
In the above embodiment, the description has been given of the case where the
[0126]
In the above-described embodiment, the
[0127]
Further, in the above-described embodiment, the case where the data key is encrypted with the individual encryption key has been described. However, the encryption key and the decryption key acquired from the
[0128]
In addition, in the above-described embodiment, the information transmitted by the
[0129]
Further, in the above-described embodiment, the description has been given of the case where various programs executed by the respective devices constituting the key management system are stored on the magnetic disk. However, the present invention is not limited to this, and may be stored in, for example, an optical disc such as a CD-ROM or other recording medium.
[0130]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a system suitable for realizing simultaneous disclosure of information to a plurality of users.
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of a key management system to which an embodiment of the present invention is applied.
FIG. 2 is a diagram showing an example of a key management table 100 stored on the magnetic disk 5a of the
FIG. 3 is a flowchart for explaining the operation when the CPU 1a executes the encryption / decryption
It is a figure which shows the example of 1 structure of the encryption key management system in the Example of this invention.
FIG. 4 is a flowchart for explaining an operation in the
FIG. 5 is a flowchart for explaining an operation when the CPU 1a executes the encryption
FIG. 6 is a flowchart for explaining an operation when the CPU 1a executes the decryption
FIG. 7 is a flowchart for explaining the operation when the CPU 1a executes the decryption
8 is a diagram showing an example of a history of decryption keys sent from the
FIG. 9 is a diagram for explaining a configuration example of encrypted information generated by the
FIG. 10 is a flowchart for explaining the operation when the CPU 1b executes the
FIG. 11 is a flowchart for explaining the operation when the CPU 1b executes the encryption
12 is a flowchart for explaining the operation when the CPU 1c executes the
FIG. 13 is a flowchart for explaining the operation when the CPU 1c executes the decryption
FIG. 14 is a diagram for explaining a modification of the embodiment of the present invention, and shows the decryption key sent from the
FIG. 15 is a diagram for explaining a modification of the embodiment of the present invention, and is a diagram illustrating an example in which wireless broadcasting using a satellite or the like is used for distributing a decryption key.
[Explanation of symbols]
1a to 1c CPU
2a-2c memory
3a-3c network controller
4a-4c disk controller
5a-5c magnetic disk
20a-20c OS
21 Encryption key / decryption key management program
22 Cryptographic key service program
23 Decryption key service program
24 Decryption key distribution program
31 Encryption key acquisition program
32 File encryption program
41 Decryption key acquisition program
42 File decryption program
50 Key management device
60 Information transmitter
70 Information receiver
Claims (7)
前記鍵管理装置は、The key management device includes:
少なくとも1組の暗号鍵および復号鍵が当該復号鍵の公開日あるいは公開日時に対応付けられて登録された管理テーブルを記憶する管理テーブル記憶手段と、Management table storage means for storing a management table in which at least one pair of encryption key and decryption key is registered in association with the release date or release date of the decryption key;
前記情報暗号化装置より送られてきた日時情報が示す日あるいは日時を公開日あるいは公開日時とする復号鍵と対の暗号鍵を、前記管理テーブルから検索する鍵検索手段と、A key search unit that searches the management table for an encryption key paired with a decryption key whose date or date indicated by the date and time information sent from the information encryption device is a public date or a public date and time;
前記鍵検索手段で検索した暗号鍵を、前記情報暗号化装置に送信する暗号鍵送信手段と、An encryption key transmitting means for transmitting the encryption key searched by the key searching means to the information encryption device;
前記管理テーブルを参照することで、現在の日あるいは日時を公開日あるいは公開日時とする復号鍵を特定し、当該復号鍵を公開する復号鍵公開手段と、を備えており、By referring to the management table, the decryption key is disclosed to specify the decryption key having the current date or date and time as the public date or the public date and time, and to disclose the decryption key,
前記情報暗号化装置は、The information encryption device includes:
暗号化すべき情報の機密性が解除される日あるいは日時に関する復号許可日時情報を、前記鍵管理装置に送信する日時情報送信手段と、Date and time information transmitting means for transmitting to the key management device the decryption permission date and time information related to the date or date and time when the confidentiality of the information to be encrypted is released;
前記鍵管理装置より送られてきた、前記日時情報送信手段が送信した日時情報で特定される日あるいは日時に公開される復号鍵に対応する暗号鍵を、受信する暗号鍵受信手段と、An encryption key receiving means for receiving the encryption key corresponding to the date or date and time disclosed by the date and time information sent by the date and time information sending means sent from the key management device;
前記暗号鍵受信手段で受信した暗号鍵を用いて、前記暗号化すべき情報を暗号化する暗号化手段と、An encryption means for encrypting the information to be encrypted using an encryption key received by the encryption key receiving means;
前記暗号化手段で暗号化された情報に、当該情報の復号許可日時情報を付与して暗号化情報を作成し、当該暗号化情報を、当該日時情報が示す日あるいは日時に先立って前記情報復号化装置に配布する暗号化情報作成手段と、を備えており、The information encrypted by the encryption means is added with the decryption permission date / time information of the information to create encrypted information, and the encrypted information is decrypted before the date or date indicated by the date / time information. Encryption information creation means distributed to the encryption device,
前記情報復号化装置は、The information decoding device includes:
前記情報暗号化装置によって配布された暗号化情報を取得する暗号化情報取得手段と、Encrypted information acquisition means for acquiring encrypted information distributed by the information encryption device;
現在日時を取得し、現在日時と、復号許可日時とを比較し、Get the current date and time, compare the current date and time with the decryption permission date,
その結果、現在日時が復号許可日時以降である場合は、As a result, if the current date is after the decryption permission date,
復号鍵を、当該鍵管理装置から取得する復号鍵取得手段と、Decryption key acquisition means for acquiring a decryption key from the key management device;
現在日時が復号許可日時よりも前の日時である場合は、If the current date is before the decryption permission date,
情報復号化装置のユーザに対して、現在の日時が復号許可日時になるまで待機するか否かを問い合わせ、ユーザの指示の入力を待ち、Asks the user of the information decryption apparatus whether to wait until the current date and time becomes the decryption permission date and time, waits for the input of the user's instruction,
入力されたユーザの指示が、現在の日時が復号許可日時になるまで待機することを示す場合、現在日時を取得し、現在日時と、復号許可日時とを比較し、現在日時が復号許可日時以降となるまで、繰り返し実行し、When the input user instruction indicates to wait until the current date / time becomes the decryption permission date / time, the current date / time is acquired, the current date / time is compared with the decryption permission date / time, and the current date / time is after the decryption permission date / time. Run repeatedly until
復号鍵を、当該鍵管理装置から取得する復号鍵取得手段と、Decryption key acquisition means for acquiring a decryption key from the key management device;
前記復号鍵取得手段で取得した復号鍵を用いて、前記暗号化情報取得手段で取得した暗号化情報を復号化する復号化手段と、を備えていることDecrypting means for decrypting the encrypted information obtained by the encrypted information obtaining means using the decryption key obtained by the decryption key obtaining means.
を特徴とする鍵管理システム。Key management system characterized by
前記情報復号化装置は複数あり、There are a plurality of the information decoding devices,
前記鍵管理装置の復号鍵公開手段は、The decryption key disclosure unit of the key management device includes:
前記複数の情報復号化装置を宛先とするブロードキャストパケットあるいはマルチキャストパケットにより、復号鍵を、通信ネットワークを介して前記複数の情報復号化装置に一斉同報通信するものであることThe broadcast key or the multicast packet destined for the plurality of information decryption devices is used to broadcast the decryption key to the plurality of information decryption devices via a communication network.
を特徴とする鍵管理システム。Key management system characterized by
前記情報復号化装置は複数あり、There are a plurality of the information decoding devices,
前記鍵管理装置の復号鍵公開手段は、The decryption key disclosure unit of the key management device includes:
無線放送を利用することで、前記複数の情報復号化装置に対して復号鍵の公開を行うものであることBy using wireless broadcasting, the decryption key is disclosed to the plurality of information decryption devices.
を特徴とする鍵管理システム。Key management system characterized by
前記鍵管理装置は、The key management device includes:
前記情報暗号化装置より送られてきた日時情報が示す日あるいは日時を公開日あるいは公開日時とする復号鍵が前記管理テーブルに登録されていない場合に、新たに1組の暗号鍵および復号鍵を生成する鍵生成手段と、When a decryption key whose date or date indicated by the date / time information sent from the information encryption device is not registered in the management table is newly registered as a set of encryption key and decryption key. A key generation means for generating;
前記鍵生成手段で新たに生成した1組の暗号鍵および復号鍵を、前記日時情報が示す日あるいは日時を当該復号鍵の公開日あるいは公開日時に設定して、前記管理テーブルに追加する管理テーブル作成手段と、をさらに備えていることA management table for adding a set of encryption key and decryption key newly generated by the key generation means to the management table by setting the date or date indicated by the date / time information to the date of disclosure or date / time of the decryption key And a creation means
を特徴とする鍵管理システム。Key management system characterized by
前記情報暗号化装置において、In the information encryption apparatus,
前記暗号化手段は、The encryption means includes
前記暗号化すべき情報をデータ鍵を用いて暗号化するとともに、当該データ鍵を、操作者によって入力された個別暗号鍵および前記暗号鍵受信手段で受信した暗号鍵を用いて二重に暗号化するものであり、The information to be encrypted is encrypted using a data key, and the data key is double-encrypted using the individual encryption key input by the operator and the encryption key received by the encryption key receiving means. Is,
前記暗号化情報作成手段は、The encrypted information creating means includes:
前記暗号化手段で暗号化された情報に、当該情報の機密性が解除される日あるいは日時に関する日時情報および前記暗号化手段で二重に暗号化されたデータ鍵を付与して、前記情報復号化装置に配布する暗号化情報を作成するものであり、The information decrypted by adding to the information encrypted by the encryption means date / time information related to the date or date when the confidentiality of the information is released and a data key double-encrypted by the encryption means Encryption information to be distributed to the encryption device,
前記情報復号化装置において、In the information decoding apparatus,
前記復号化手段は、The decoding means includes
操作者によって入力された前記個別暗号鍵および前記復号鍵取得手段で取得した復号鍵を用いて、前記暗号化情報取得手段で取得した暗号化情報に付加された、二重に暗号化されたデータ鍵を復号化するとともに、当該復号化されたデータ鍵を用いて暗号化情報を復号化するものであることDouble-encrypted data added to the encryption information acquired by the encryption information acquisition unit using the individual encryption key input by the operator and the decryption key acquired by the decryption key acquisition unit The key is decrypted and the encrypted data is decrypted using the decrypted data key.
を特徴とする鍵管理システム。Key management system characterized by
前記情報暗号化装置は、The information encryption device includes:
前記暗号化情報作成手段で作成した暗号化情報を通信ネットワークを介して前記情報復号化装置に送信する暗号化情報送信手段をさらに備えていることAnd further comprising encrypted information transmitting means for transmitting the encrypted information created by the encrypted information creating means to the information decrypting apparatus via a communication network.
を特徴とする鍵管理システム。Key management system characterized by
情報暗号化装置によって、復号許可日時情報を付与して暗号化情報を作成されて配布された暗号化情報を、当該暗号化情報に付与されている日時情報が示す日あるいは日時に先立って取得する暗号化情報取得手段と、The encrypted information that is created and distributed with the decryption permission date and time information added by the information encryption device is acquired prior to the date or time indicated by the date and time information given to the encrypted information. Encrypted information acquisition means;
現在日時を取得し、現在日時と、復号許可日時とを比較し、Get the current date and time, compare the current date and time with the decryption permission date,
その結果、現在日時が復号許可日時以降である場合は、As a result, if the current date is after the decryption permission date,
復号鍵を、当該鍵管理装置から取得する復号鍵取得手段と、Decryption key acquisition means for acquiring a decryption key from the key management device;
現在日時が復号許可日時よりも前の日時である場合は、If the current date is before the decryption permission date,
情報復号化装置のユーザに対して、現在の日時が復号許可日時になるまで待機するか否かを問い合わせ、ユーザの指示の入力を待ち、Asks the user of the information decryption apparatus whether to wait until the current date and time becomes the decryption permission date and time, waits for the input of the user's instruction,
入力されたユーザの指示が、現在の日時が復号許可日時になるまで待機することを示す場If the input user instruction indicates that the current date / time will wait until the decryption permission date / time is reached 合、現在日時を取得し、現在日時と、復号許可日時とを比較し、現在日時が復号許可日時以降となるまで、繰り返し実行し、The current date and time, compare the current date and time with the decryption permission date, and repeat until the current date and time is after the decryption permission date and time,
復号鍵を、当該鍵管理装置から取得する復号鍵取得手段と、Decryption key acquisition means for acquiring a decryption key from the key management device;
前記復号鍵取得手段で取得した復号鍵を用いて、前記暗号化情報を復号化する復号化手段と、を備えていることDecryption means for decrypting the encrypted information using the decryption key obtained by the decryption key obtaining means.
を特徴とする情報復号化装置。An information decoding device characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001311039A JP4104315B2 (en) | 2001-10-09 | 2001-10-09 | Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001311039A JP4104315B2 (en) | 2001-10-09 | 2001-10-09 | Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18118697A Division JP3657396B2 (en) | 1997-07-07 | 1997-07-07 | Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002190797A JP2002190797A (en) | 2002-07-05 |
JP2002190797A5 JP2002190797A5 (en) | 2005-05-19 |
JP4104315B2 true JP4104315B2 (en) | 2008-06-18 |
Family
ID=19129932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001311039A Expired - Fee Related JP4104315B2 (en) | 2001-10-09 | 2001-10-09 | Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4104315B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7580330B2 (en) | 2021-04-26 | 2024-11-11 | Cyberdyne株式会社 | Evacuation support system and evacuation support method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702904B2 (en) | 2002-11-15 | 2010-04-20 | Nec Corporation | Key management system and multicast delivery system using the same |
JP5097145B2 (en) * | 2009-02-09 | 2012-12-12 | 日本電信電話株式会社 | Encryption system and encryption method |
-
2001
- 2001-10-09 JP JP2001311039A patent/JP4104315B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7580330B2 (en) | 2021-04-26 | 2024-11-11 | Cyberdyne株式会社 | Evacuation support system and evacuation support method |
Also Published As
Publication number | Publication date |
---|---|
JP2002190797A (en) | 2002-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3657396B2 (en) | Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program | |
US11316677B2 (en) | Quantum key distribution node apparatus and method for quantum key distribution thereof | |
US8396218B2 (en) | Cryptographic module distribution system, apparatus, and program | |
US20030081774A1 (en) | Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure | |
JP6326173B1 (en) | Data transmission / reception system and data transmission / reception method | |
CN111193703B (en) | Communication apparatus and communication method used in distributed network | |
US6813358B1 (en) | Method and system for timed-release cryptosystems | |
JP2016158189A (en) | Change direction with key control system and change direction with key control method | |
CN111192050B (en) | Digital asset private key storage and extraction method and device | |
JP2001244925A (en) | System and method for managing enciphered data and storage medium | |
CN113300999A (en) | Information processing method, electronic device, and readable storage medium | |
JP2010224655A (en) | Database processing method, database processing program and encryption device | |
CN114499836B (en) | Key management method, device, computer equipment and readable storage medium | |
KR20040097016A (en) | Method and System of Web Storage Service with Cipher | |
CN114945170B (en) | Mobile terminal file transmission method based on commercial cryptographic algorithm | |
JP4104315B2 (en) | Key management system, key management apparatus, information encryption apparatus, information decryption apparatus, and storage medium storing program | |
Zheng et al. | Improved anonymous proxy re-encryption with CCA security | |
CN113824713B (en) | Key generation method, system and storage medium | |
JPH11331145A (en) | Information sharing system, information preserving device, information processing method and recording medium therefor | |
JPH11187008A (en) | Delivering method for cryptographic key | |
US11451518B2 (en) | Communication device, server device, concealed communication system, methods for the same, and program | |
JP2003501878A (en) | Method and apparatus for securely generating a public key-private key pair | |
CA2849174C (en) | System and method for the safe spontaneous transmission of confidential data over unsecure connections and switching computers | |
JP2006279269A (en) | Information management device, information management system, network system, user terminal, and their programs | |
KR20070062632A (en) | Mobile message and file security implementation by cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040706 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040706 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
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: 20080304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080325 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110404 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120404 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120404 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130404 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140404 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |