JP4302076B2 - 鍵判定装置 - Google Patents

鍵判定装置 Download PDF

Info

Publication number
JP4302076B2
JP4302076B2 JP2005107925A JP2005107925A JP4302076B2 JP 4302076 B2 JP4302076 B2 JP 4302076B2 JP 2005107925 A JP2005107925 A JP 2005107925A JP 2005107925 A JP2005107925 A JP 2005107925A JP 4302076 B2 JP4302076 B2 JP 4302076B2
Authority
JP
Japan
Prior art keywords
key
data
input
master key
encryption
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
Application number
JP2005107925A
Other languages
English (en)
Other versions
JP2005204347A (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.)
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Solutions Corp
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 Toshiba Solutions Corp filed Critical Toshiba Solutions Corp
Priority to JP2005107925A priority Critical patent/JP4302076B2/ja
Publication of JP2005204347A publication Critical patent/JP2005204347A/ja
Application granted granted Critical
Publication of JP4302076B2 publication Critical patent/JP4302076B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は鍵判定装置に関する。
近年、技術の進歩によりコンピュータの小型化が進み、操作者が所望の場所に移動させて操作できる携帯型パーソナルコンピュータが登場している。このような携帯型パーソナルコンピュータはハードディスク等の大容量外部記憶装置を内蔵しており、携帯型であっても種々のアプリケーションプログラムや作成したファイルを記憶することが可能である。
ところで、携帯型以外のコンピュータの場合は屋内に設置される場合が多いので、コンピュータが設置してある部屋への出入りを制限する等の方法によってコンピュータの内部に格納されている機密情報を不正な第3者から保護することが可能である。また、通信ネットワークの発展により、ローカルホストからリモートホストの内部に侵入して不正を行なうといったことが可能になったが、この場合でも、リモートホスト自体は物理的に隔絶された場所に配置されているのでリモートホスト自体に直接被害が及ぶということはない。
ところが上記した携帯型パーソナルコンピュータにおいては、携帯が可能であるために、装置自体が盗難されてその内部に格納されている機密情報が盗まれてしまう可能性がある。そこで、パスワードなどを用いて、たとえ盗難されてもパスワードの保持者以外は使用できないようにする方法が考えられる。しかしながら、このような方法を用いたとしても装置自体を分解して内蔵されているハードディスクを取り出し、ハードディスクに格納されている機密情報を入手することが可能である。分解できないパーソナルコンピュータを製造することは困難であり、仮に製造可能であったとしても、装置が大型になって携帯に適さなくなるとともに、製造コストが増大してしまうという問題が新たに発生する。
また、近年、データを複数のユーザで共有するケースが増加してきている。例えば、1台のパーソナルコンピュータを複数のユーザで共用する形態においてそのパーソナルコンピュータに内蔵されたハードディスク装置内のデータを共有する場合、あるいは各ユーザのパーソナルコンピュータをLANなどで接続し、このLANに接続された記録装置を複数のユーザで共用する形態においてこの記録装置内のデータを共有する場合などである。
従って、ユーザ個人のデータを安全に保存するだけでなく、複数のユーザで共有するデータで高い機密性を要するものについても安全性を確保する必要が生じている。
しかし、同一データを複数のユーザ間で共有する場合、暗号鍵と復号鍵の対は、個人用に加えて、グループ用のものを用意し、同一データを、これを共有するユーザの個人用暗号鍵やグループ用暗号鍵夫々で暗号化して、同一の内容を持つ複数の暗号化データを作成し保存することになるため、鍵の種類が多くなるとともに、暗号化データの種類も多くなり、鍵情報と暗号化データの管理が困難になるという問題点があった。
また、従来は、間違った鍵で暗号化データを復号したために、内容を破壊してしまうようなトラブルも生じる可能性があった。
上記したように、携帯型パーソナルコンピュータの出現によって利便性が向上したが、携帯型であるがために装置自体が盗難されて内部に格納されている機密情報が不正な第三者に知られてしまうという問題がある。また、パスワード等により機密情報へのアクセスを制限した場合でも、装置自体を分解して内蔵されているハードディスクを取り出し、ハードディスクに格納されている機密情報を入手することが可能であるという問題がある。
また、個人やグループが共有するデータを、各々のマスタ鍵により復号可能な形で暗号化し保存するためには、各々のマスタ鍵で暗号化したファイルを保存する必要があることから、ファイルのデータ量が多量になり、また暗号化に要する時間が長くなる問題点、マスタ鍵と暗号化データの管理が困難になる問題点、違うマスタ鍵での誤復号によりデータが破壊される可能性がある問題点など、種々の問題点があった。
上記課題を解決するために、本発明の第1の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、マスタ鍵M k を一次鍵S k で暗号化して得られるデータS k (M k )をチェック関数として入力する第2入力手段と、前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、前記特定のマスタ鍵M k を前記復号手段により得られた一次鍵S k で暗号化する暗号化手段と、前記第2入力手段により入力されたチェック関数S k (M k )と、前記暗号化手段により得られたデータS k (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第2の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、マスタ鍵M k を一次鍵S k で復号して得られるデータS k -1 (M k )をチェック関数として入力する第2入力手段と、前記第1の入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、前記特定のマスタ鍵M k を前記復号手段により得られた一次鍵S k で復号する復号手段と、前記第2の入力手段により入力されたチェック関数S k -1 (M k )と、前記復号手段により得られたデータS k -1 (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
を具備する。
また、本発明の第3の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、マスタ鍵M k をマスタ鍵M k で暗号化して得られるデータM k (M k )をチェック関数として入力する第2入力手段と、特定のマスタ鍵M k で該特定のマスタ鍵M k を暗号化する暗号化手段と、前記第2の入力手段により入力されたチェック関数M k (M k )と、前記暗号化手段により得られたデータM k (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第4の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、マスタ鍵M k を該マスタ鍵M k で復号して得られるデータM k -1 (M k )をチェック関数として入力する第2入力手段と、特定のマスタ鍵M k を該特定のマスタ鍵M k で復号する復号手段と、前記第2の入力手段により入力されたチェック関数M k -1 (M k )と、前記復号手段により得られたデータM k -1 (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第5の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、マスタ鍵M k に前記共有データd * を加えたデータ(M k +d * )をマスタ鍵M k で暗号化して得られるデータM k (M k +d * )をチェック関数として入力する第3入力手段と、特定のマスタ鍵M k に前記第2の入力手段により入力された共有データd * を加える加算手段と、前記加算手段により得られたデータ(M k +d * )を前記特定のマスタ鍵M k で暗号化する暗号化手段と、前記第3の入力手段により入力されたチェック関数M k (M k +d * )と、前記暗号化手段により得られたデータM k (M k +d * )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第6の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、マスタ鍵M k に前記共有データd * を加えたデータ(M k +d * )をマスタ鍵M k により復号して得られるデータM k -1 (M k +d * )をチェック関数として入力する第3入力手段と、特定のマスタ鍵M k に前記第2の入力手段により入力された共有データd * を加える加算手段と、前記加算手段により得られたデータ(M k +d * )を前記特定のマスタ鍵M k で復号する復号手段と、前記第3の入力手段により入力されたチェック関数M k -1 (M k +d * )と、前記復号手段により得られたデータM k -1 (M k +d * )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第7の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、マスタ鍵M k と一次鍵S k とを並置したデータ(M k ‖S k )のハッシュ関数h(M k ‖S k )をチェック関数として入力する第2入力手段と、前記第1の入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、前記特定のマスタ鍵M k と、前記復号手段により得られた一次鍵S k とを並置して連結する連結手段と、前記連結手段により得られたデータ(M k ‖S k )にハッシュ関数hを適用するハッシュ適用手段と、前記第2の入力手段により入力されたチェック関数h(M k ‖S k )と、前記ハッシュ適用手段により得られたデータh(M k ‖S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第8の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、前記共有データd * をマスタ鍵M k で暗号化して得られるデータM k (d * )をチェック関数として入力する第3入力手段と、前記第3の入力手段により入力されたデータM k (d * )を特定のマスタ鍵M k で復号する復号手段と、前記第2の入力手段により入力された共有データd * と、前記復号手段により得られた共有データd * とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第9の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、前記共有データd * をマスタ鍵M k で復号して得られるデータM k -1 (d * )をチェック関数として入力する第3入力手段と、前記第3の入力手段により入力されたデータM k -1 (d * )を特定のマスタ鍵M k で暗号化する暗号化手段と、前記第2の入力手段により入力された共有データd * と、前記暗号化手段により得られた共有データd * とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第10の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、マスタ鍵M k にハッシュ関数hを適用して得られたデータh(M k )を入力する第2入力手段と、特定のM k に対してハッシュ関数hを適用するハッシュ適用手段と、前記第2入力手段によって入力されたデータh(M k )と、前記ハッシュ適用手段により得られたデータh(M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第11の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、一次鍵S k をマスタ鍵M k で2回暗号化して得られるデータM k 2 (S k )をチェック関数として入力する第2入力手段と、前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で暗号化する暗号化手段と、前記第2入力手段により入力されたチェック関数M k 2 (S k )と、前記暗号化手段により得られたデータM k 2 (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第12の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、一次鍵S k をマスタ鍵M k で復号して得られるデータM k -1 (S k )をチェック関数として入力する第2入力手段と、前記第2入力手段により入力されたデータM k -1 (S k )を特定のマスタ鍵M k で暗号化する暗号化手段と、前記第1の入力手段により入力されたデータM k (S k )と、前記暗号化手段により得られたデータM k (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第13の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、一次鍵S k を該一次鍵S k で暗号化して得られるデータS k (S k )をチェック関数として入力する第2入力手段と、前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、前記復号手段により得られた一次鍵S k を該一次鍵S k で暗号化する暗号化手段と、前記第2入力手段により入力されたチェック関数S k (S k )と、前記暗号化手段により得られたデータS k (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第14の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、一次鍵S k を該一次鍵S k で暗号化して得られるデータS k (S k )をチェック関数として入力する第2入力手段と、前記第1の入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する第1復号手段と、前記第2入力手段により入力されたデータS k (S k )を、前記復号手段により得られた一次鍵S k で復号する第2復号手段と、前記第1復号手段により得られた一次鍵S k と、前記第2の復号手段により得られた一次鍵S k とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第15の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、一次鍵S k を該一次鍵S k で復号して得られるデータS k -1 (S k )をチェック関数として入力する第2入力手段と、前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する第1復号手段と、前記第1復号手段により得られた一次鍵S k を該一次鍵S k で復号する第2復号手段と、前記第2入力手段により入力されたチェック関数S k -1 (S k )と、前記第2復号手段により得られたデータS k -1 (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第16の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、一次鍵S k を該一次鍵S k で復号して得られるデータS k -1 (S k )をチェック関数として入力する第2入力手段と、前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、前記第2入力手段によって入力されたデータS k -1 (S k )を前記復号手段により得られた一次鍵S k で暗号化する暗号化手段と、前記暗号化手段により得られた一次鍵S k と、前記復号手段により得られた一次鍵S k とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第17の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、複数の人によって共有される共有データdを入力する第2入力手段と、前記共有データdを一次鍵S k によって暗号化されたデータS k (d)を入力する第3入力手段と、前記第1入力手段によって入力されたデータM k (S k )を特定のマスタ鍵M k で復号する第1復号手段と、前記第3入力手段によって入力されたデータS k (d)を前記第1復号手段により得られた一次鍵S k で復号する第2復号手段と、前記第2の入力手段により入力された共有データdと、前記第2復号手段により得られた共有データdとが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第18の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、複数の人によって共有される共有データdを入力する第2入力手段と、前記共有データdを一次鍵S k によって復号したデータS k -1 (d)を入力する第3入力手段と、前記第1入力手段によって入力されたデータM k (S k )を特定のマスタ鍵M k によって復号する復号手段と、前記第3入力手段によって入力されたデータS k -1 (d)を前記復号手段により得られた一次鍵S k で暗号化する暗号化手段と、前記第2の入力手段により入力された共有データdと、前記暗号化手段により得られた共有データdとが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
また、本発明の第19の態様に係る鍵判定装置は、鍵の真偽性を判定するための鍵判定装置であって、一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、一次鍵S k にハッシュ関数hを適用して得られたデータh(S k )を入力する第2入力手段と、前記第1入力手段によって入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、前記復号手段により得られた一次鍵S k に対してハッシュ関数hを適用するハッシュ適用手段と、前記第2入力手段によって入力されたデータh(S k )と、前記ハッシュ適用手段により得られたデータh(S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、を具備する。
本発明によれば、たとえ装置が盗難されたり分解されたりしても、内部に記憶された機械情報を保護することができる。
また、本発明によれば、複数のユーザで共有するデータを、効率的かつ安全に暗号化した形で保存できる。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の第1の実施の形態に係る情報処理システムが適用される携帯型情報処理システムにおいて、暗号化を行なう場合の装置構成を示す図である。
本発明の情報処理システムは、情報処理装置としての携帯型パーソナルコンピュータ(以下携帯型PCと呼ぶ)6と、この携帯型PC6に着脱可能に装着された外部記憶装置としてのICカード5とからなる。
図1において、携帯型PC6内部に設けられた第1鍵生成手段としての乱数生成器3によって生成された一時鍵(第1の鍵)は暗号化装置4(第1暗号化手段)に転送される。また、携帯型PC6内部の例えばハードディスク装置等から成る記憶装置12内に一時的に記憶されている機密情報を含むファイル1も、暗号化装置4に転送される。
この暗号化装置4において機密情報を含むファイル1に対する暗号化が行われて暗号化ファイル2の第1の暗号化データとしてのボディ部8となる。
一方、乱数発生器3によって生成された一時鍵は同時に外部インターフェース(以下外部I/Fと呼ぶ)7を介してICカード5内部の第2の暗号化手段としての暗号化装置10にも転送される。暗号化装置10はマスタ鍵記憶部(第2鍵記憶手段)9に記憶されているマスタ鍵(第2の鍵)を用いて、転送された一時鍵を暗号化し、暗号化された一時鍵は外部I/F7を介して携帯型PC6内部の記憶装置(関連付け記憶手段)12に転送されて暗号化ファイル2の第2の暗号化データとしてのヘッダー部11となる。
また、ICカード5内に乱数発生器3を設けて、ICカード3の内部で一時鍵を生成することも可能である。このようにすれば携帯型PC6とのデータ転送回数を減らすことができる。
このようにしてファイル1に対する暗号化が行われ、ヘッダー11とボディ部8とを合成することにより得られた暗号化ファイル2は記憶装置12に記憶されると同時に、元のファイル1を消去する。
図2は、暗号化を行った後の携帯型情報処理システムの構成の変更を示す図である。つまり、ファイル1を暗号化して暗号化ファイル2として記憶装置12に記憶する一方で、元の機密情報を含むファイル1は記憶装置12内からは削除される。またマスタ鍵を記憶しているICカード5を携帯型PC6から取り外し、携帯型PC6とICカード5とを別々に保管する。
すなわち、暗号化ファイル2として記憶されるのは、元のファイル1を暗号化した情報(ボディ部8)と暗号化の時に使用した一時鍵をマスタ鍵で暗号化した情報(ヘッダー部11)であり、いずれも暗号化された情報である。この暗号ファイル2のみを記憶した携帯型PC6が仮に盗難にあったとしても、マスタ鍵を記憶したICカード5を携帯型PC6と別に保管しておくことにより、マスタ鍵と暗号化情報が同時に盗難にあうことを防止でき、機密情報の漏洩は防止される。
なお、携帯型PC6内部の暗号化装置4で使用されるアルゴリズムと、ICカード5内部の暗号化装置10で使用されるアルゴリズムは同一のものであってもよいし、異なるアルゴリズムであってもよい。
また、暗号化のための一時鍵は乱数発生装置により発生されたものなので例えば、ファイル毎に異なるものであり、より安全性が高まっている。
図3は本発明の第1の実施の形態に係る情報処理システムが適用される携帯型情報処理システムにおいて、復号化を行なう場合の装置構成を示す図である。
この図3は、基本的に図1に示したシステム構成図に対して、暗号化の機能と復号化の機能を入れ替えた構成に対応し、実際の情報処理システムでは、これら暗号化の機能と復号化の機能の双方を備えたものが用いられる。ここでは、図1の暗号化の機能と図3に示す復号化の機能が同一の携帯型情報処理システム内で処理されることを想定し、同一構成、同一要素には同一記号を付して説明する。
図3における情報処理システムは、情報処理装置としての携帯型PC6と、この携帯型PC6に着脱可能に装着された外部記憶装置としてのICカード5とからなる。
図3において、携帯型PC6内部の暗号化ファイル2はヘッダー部11とボディ部8とに分解され、ヘッダー部11は外部I/F7を介してICカード5内部の第1の復号手段としての復号装置20に転送される。復号装置20はマスタ鍵記憶部9に記憶されているマスタ鍵を用いて復号を行って暗号化時に使用された元の一時鍵を抽出し、抽出された一時鍵を外部I/F7を介して携帯型PC6内部の第2復号手段としての復号装置14に転送する。復号装置14はこの一時鍵を用いて分解されたボディ部8の復号を行って元のファイル1を得る。
以上、上記した第1の実施の形態によれば、暗号化ファイルは、携帯型PCに対して着脱可能に装着されたICカードに格納されたマスタ鍵により暗号化した上で内部のハードディスクに保存されているので、ICカードを装着しない限りファイルの復号はできない。したがってICカードをPCとは別に携帯するようにすれば、たとえ携帯型PCが盗難されても機密情報は安全に保護される。
また、ファイル自体の暗号化は一時鍵を用いて携帯型PCの内部を行い、外部から装着されるICカードでは一時鍵のみをマスタ鍵によって暗号化しているので、暗号化の効率が向上するとともに、携帯型PCの内部にはマスタ鍵が読み込まれることがなく、かつ2重に暗号化を行っていることになるので、機密情報の安全性がより向上する。
また、計算能力のあるICカード内にマスタ鍵を格納した場合でも、マスタ鍵自体は携帯型PC内に読み込まれて記憶されることはないので、例えば、トロイの木馬などのようなプログラムが携帯型PC内に組み込まれてもマスタ鍵を不正な第三者に知られることはない。
また、計算能力の異なるICカードを適宜選択的に用いるようにすれば、暗号化、復号化時の処理を高速化することが可能である。これより、処理速度を重視しない場合は処理能力の劣るICカードを用いてもよい。
また、ファイル毎に鍵を変更しているので安全性がより高い。
さらに、仮にマスタ鍵が知られてしまってファイルを再び暗号化しなおさなければならない場合であっても、ヘッダー部のみを暗号化しなおすだけでよいので、短時間に暗号化を行うことができるという効果を奏する。
また、DES暗号においては、十分な数のファイルと暗号化ファイルとの対を収集することによって暗号化に用いられた鍵を導き出されることが知られているが、上記した実施形態によれば、ファイルを暗号化するたびに鍵を変更している上に、マスタ鍵による暗号化部分に対応する平文ファイルが復号時に携帯型PC内に格納されることはないので、ファイルの収集そのものが不可能であり、仮にファイルの収集ができたとしても、十分な数のファイルが収集されるまで暗号化処理を繰り返すことは実質的に不可能である。すなわち、マスタ鍵によりファイルを直接暗号化する方法では、たとえ数回の暗号化であっても、暗号化するファイルが十分に長ければ暗号化に用いられた鍵を導き出すことができる場合があるが、本実施形態ではマスタ鍵自体はファイルを直接暗号化するためには用いられないので、十分に長いファイルを暗号化しても、鍵を導き出すのに十分なファイルを収集することはできない。
なお、上記した実施形態ではマスタ鍵で暗号化した一時鍵を記憶するヘッダー部が1つの場合について説明したが、ヘッダー部は複数であってもよい。例えば、1台のPCを複数人で構成されるグループ内で使用して情報を共有したい場合は、各人が個々に使用する暗号化鍵と、そのグループ内で共通に使用できる暗号化鍵とが必要になるので、ヘッダー部は複数用意することになる。また、あらかじめ複数のヘッダー部を設けて複数の人が内部のファイルにアクセスできるようにしておくことにより、何らかの理由でアクセスできなくなった人の代わりに他の人がアクセスして情報を得ることができる。
また、上記した実施形態では携帯型PCに着脱可能なICカードを用いて情報処理装置と外部記憶装置との間で信号の受け渡しを行っているが、機械的に着脱可能に構成されていなくとも、例えば赤外線、無線、光(レーザ光等)通信などの方法により、情報処理装置と外部記憶装置との間で信号を受け渡すように構成してもよい。
図4は、本発明の第2実施形態として、図1乃至図3に示した情報処理システムに適用することが可能な、鍵の判定方法を実現するための鍵判定システムの構成図である。特に、図4は復号時に用いられるマスタ鍵を判定しながら、一時鍵を取り出す場合の装置構成を示す図である。ここでは暗号化時に、例えば図1のマスタ鍵記憶部9に記憶されたマスタ鍵を用いて暗号化された一時鍵をさらにマスタ鍵で暗号化して得られた一時鍵(マスタ鍵によって2回暗号化した一時鍵:第3の暗号化データ)が暗号化ファイルのヘッダー部11にあらかじめ記憶されているものとする。
そして、復号時には、図4に示すように第3の暗号化データとしての2回暗号化した一時鍵23と、第2の暗号化データとしての1回暗号化した一時鍵24とがICカード5に供給される。復号装置20aは、マスタ鍵記憶部9に記憶されたマスタ鍵(特定のマスタ鍵)を用いて2回暗号化した一時鍵23を復号して復号された一時鍵を出力する。比較部27はこの復号された一時鍵と、一回暗号化した一時鍵24とを比較して比較結果を一致判定部33に供給する。一致判定部33はこの比較結果に基づいて、復号された一時鍵と1回暗号化した一時鍵とが一致するか否かを判定する。
そして、一致すると判定された場合は一致信号28によってスイッチ34を閉じ、復号装置20aからの復号された一時鍵を復号装置20bにおいてマスタ鍵記憶部9に記憶されたマスタ鍵を用いてさらに復号して元の一時鍵31を得る。なお、図3のシステムに適用される場合には、ここで得られた元の一時鍵31は、携帯型PC6へ転送されて暗号ファイル2の復号に使用される。なお、復号装置20aと20bとは、機能ブロック上、2つの復号装置として示したが、実際には1つの復号化装置で良い。
また、一致判定部33で復号された一時鍵と1回暗号化した一時鍵24が一致しないと判定された場合は、不一致信号29が出力されてNGの状態32が得られる。
以上、上記した第2の実施の形態によれば、2回暗号化した一時鍵をマスタ鍵によって復号した一時鍵と、1回暗号化した一時鍵とを比較することによって一致した場合は、復号に使用したマスタ鍵が暗号化時に用いられたマスタ鍵と同じ鍵であると判定することができ、一致しない場合は暗号化時に使用されたマスタ鍵とは異なるマスタ鍵によって一時鍵が復号されたと判定することができる。
したがって、一致しない場合は当該マスタ鍵を使用不可にすることにより、機密ファイルの漏洩を防止することができるとともに、誤ってファイルを破壊してしまうことを防止することができる。さらに、一台の携帯型PCを複数人で使用する場合において、他人が暗号化したファイルを誤って復号してしまったときは一時鍵が失われてしまうので、もう一度暗号化しても元のファイルを復元することができないが、上記したように1回暗号化した一時鍵と、2回暗号化した一時鍵を復号した鍵とが一致しない場合は復号が行われないので、誤った一時鍵による復号を防止することができる。
なお、上記した図4の装置を構成を簡略化すると図5に示すような構成となる。図5において、Sk は一時鍵、Mk はマスタ鍵を表し、一時鍵Sk をマスタ鍵Mk によって1回暗号化して得られるデータ(図4の24)をMk(Sk )で表す。また、Dは復号を表している。Mk 2(Sk )はマスタ鍵によって2回暗号化して得られるデータ(図4の23)を表している。51、52は復号装置であり、図4の復号装置20a、20bにそれぞれ対応する。また、53は比較判定部であり、図4の比較部27、一致判定部33に対応する。
図6は図5に示す装置構成の変形例を示す図であり、2つの復号装置54、56と、比較判定部55と、スイッチ50とから構成される。このような構成によれば、図5に示す構成と比較して復号装置54、56での復号処理が同時に行われるので、処理が高速であるという利点がある。
図7は図5に示す装置構成の他の変形例を示す図であり、暗号化装置57と、復号装置58と、比較判定部59とから構成される。このような構成によれば、図6では2つの復号装置が必要になるのに対して、暗号化時の暗号化装置10を暗号化装置57として使用することができ、かつ、暗号化装置57での暗号化処理と復号装置58での復号処理が同時に行われるので処理が高速であるという利点がある。
上記した第1、第2実施形態によれば、本発明によれば、たとえ装置が盗難されたり分解されたりしても、内部に記憶された機密情報を保護することができるようになる。また、誤ったマスタ鍵による復号に起因するファイルの破壊や機密情報の漏洩を防止することができる。
図8は、本発明の第3実施形態に係る情報処理システム(暗号側)の構成を示す図である。
本実施形態に係る情報処理システムは、概略的には、暗号側となる情報処理装置において、所定の一時鍵を生成し、これを用いて暗号化対象となるデータを暗号化するとともに、この一時鍵の暗号化を、マスタ鍵を記憶している処理機能付き外部記憶装置に依頼し、処理機能付き外部記憶装置において、受け取った一時鍵に対し、自装置内に記憶されている所定のマスタ鍵を用いた所定の暗号化を施して、情報処理装置に暗号化鍵を戻すものである。
また、外部記憶装置の内部で一時鍵を発生させることも可能である。このようにすれば情報処理装置との間のデータ転送回数を減らすことができる。
同様に、本実施形態に係る情報処理システムは、概略的には、復号側となる情報処理装置において、暗号化データに含まれる一時鍵とマスタ鍵をもとにした暗号化鍵の復号化を、マスタ鍵を記憶している処理機能付き外部記憶装置に依頼し、処理機能付き外部記憶装置において、受け取った暗号化鍵の情報と自装置内に記憶されている所定のマスタ鍵をもとに、所定の復号化を行って、もとの一時鍵を取り出し、これを情報処理装置に戻し、情報処理装置において、渡された一時鍵を用いて、暗号化されたデータを復号するものである。
各情報処理装置は、単一ユーザであっても、複数ユーザで共用するものであっても良い。ただし、後述するマスタ鍵を保管した処理機能付き外部記憶装置は、ユーザ毎に容易するのが望ましい。
本実施形態では、あるデータaを鍵Kを用いて暗号化する操作をEK(a)と表現し、あるデータaを鍵Kを用いて復号化する操作をDK(a)と表現する。この表現を用いることにより、例えば、あるデータaを鍵K1を用いて暗号化し鍵K2を用いて復号する操作は、DK2(EK1(a))で表される。
なお、本実施形態では、暗号化対象となるデータの暗号方式と、このデータの暗号化や復号化に使用する一時鍵の暗号方式には、DESあるいはFEALなどの所望の共通鍵暗号方式を用いるものとする。なお、前者の処理対象データの暗号方式と後者の一時鍵の暗号方式とは同一であっても良いし、相違するものであっても良い。
ここで、暗号化の対象となるデータは、例えば、文書、音声、画像、プログラムなどである。その他にも、種々のものの形態が考えられる。
また、本実施形態では、復号化の対象となる暗号化データは、暗号化された鍵の情報を含むヘッダ部と、暗号化されたデータを含むデータ部からなるものとする。例えば、ファイルあるいはパケット、セルといったものがこれに該当する。
以下では、暗号側の情報処理システムと復号側の情報処理システムを順に説明する。なお、本発明を情報処理装置に適用する場合、暗号側の構成のみを持っても良いし、復号側の構成のみを持っても良いし、両方を兼ね備えても良い。同様に、本発明を処理機能付き外部記憶装置に適用する場合、暗号側の構成のみを持っても良いし、復号側の構成のみを持っても良いし、両方を兼ね備えても良い。
なお、平文のデータをData、一時鍵をSk 、マスタ鍵をMk 、一時鍵で暗号化されたデータをESk(Data)、マスタ鍵で暗号化された一時鍵をEMk(Sk )と、一時鍵で暗号化された一時鍵をESk(Sk )などと表すものとする。
まず、暗号側の情報処理システムについて説明する。
図8は、本発明の第3実施形態に係る情報処理システムにおいて、暗号化を行う側の情報処理装置101と外部記憶装置102の構成を示す図である。
ここで、情報処理装置101は第1実施形態の携帯型PC6に、外部記憶装置102はICカード5に、一時鍵生成部105は乱数生成部3に、暗号化部104、108は暗号化装置4、10に、暗号化データ生成部106は記憶装置10に対応している。
情報処理装置101は、一時鍵の生成やデータの暗号化などを行うものである。情報処理装置101には、例えば、パーソナルコンピュータを用いることができる。
外部記憶装置102は、マスタ鍵の保管、一時鍵の暗号化などを行うものである。外部記憶装置102には、例えば、処理機能を有するICカードを用いることができる。
情報処理装置101と外部記憶装置102とは、それぞれの持つインタフェース部(図示せず)を介して、データの受け渡しを行う。例えば、使用時に外部記憶装置102を情報処理装置101内のソケットに直接接続する方法を用いても良いし、赤外線などにより通信できるようにしても良い。
なお、外部記憶装置102を使用しないときは、これをユーザが安全な場所に保管しておくのが好ましい。
さて、図8に示すように、データの暗号化を行う側の情報処理装置101は、平文データ保持部103、暗号化部104、一時鍵生成部105、暗号化データ生成部106を備えている。
平文データ保持部103は、暗号化対象となる平文のデータを保持するためのものである。
暗号化の対象であるデータは、所定の記憶装置から読出したものでも良いし、有線や無線の通信回線を介して取得したものでも良いし、当該情報処理装置上で作成、編集などしたものであっても良いし、映像機器や音声機器などから直接当該情報処理装置に取り込んだものであっても良い。
一時鍵生成部105は、平文データ保持部103に保持されたデータを暗号化するために用いる一時鍵を生成する。また、一時鍵生成部105は、図示しない乱数発生器により生成された乱数を用いて、少なくともデータ毎に一時鍵を生成する。また、この乱数発生器は、例えば所定のタイミングで時計(図示せず)から得た時間情報をもとにして乱数を生成するようにしても良い。さらに、一時鍵は、同じデータでもこのデータを暗号化する度に異なる鍵を生成し使用するのが望ましい。なお、乱数発生器は、情報処理装置101側に設けても良いし、外部記憶装置102側に設けても良い。
なお、この一時鍵は、インタフェース部を介して外部記憶装置102にも渡される。
暗号化部104は、一時鍵生成部105で生成された一時鍵を用いて、平文データ保持部103に保持されたデータを暗号化する。
暗号化データ生成部106は、外部記憶装置102からインタフェース部を介して返された1または複数の所定のマスタ鍵をそれぞれ使用して暗号化された一時鍵と、一時鍵自身で暗号化された一時鍵の情報をヘッダ部161に含み、暗号化部104により生成された一時鍵で暗号化されたデータをデータ部162に含む暗号化データを生成する。なお、暗号化データ生成部106が暗号化データを作成した時点で、もとの平文データは削除されるものとする。
暗号化により得られた暗号化データは、例えば、この情報処理装置101の内蔵ハードディスク等の記憶装置あるいはフロッピー(登録商標)ディスクやCD−ROMなどのリムーバブルな記憶媒体に格納され、あるいはLANを介してファイル管理装置等に転送され、あるいは有線や無線の通信回線を介して所望の1または複数の転送先(復号側となる情報処理装置)に送り出される。
ここで、マスタ鍵の管理の仕方としては、すべてのマスタ鍵を個人用マスタ鍵とする方法、個人用マスタ鍵とグループで共有するグループマスタ鍵を導入する方法など、種々の方法が考えられる。例えば、個人用マスタ鍵とグループで共有するグループマスタ鍵を導入する場合、0、1または複数の個人用マスタ鍵で暗号化した一時鍵、0、1または複数のグループマスタ鍵で暗号化した一時鍵、一時鍵自身で暗号化した一時鍵を、暗号化データのヘッダ部に付加することになる。この場合、暗号化データのヘッダ部は可変長で使用すれば良い。
なお、一時鍵の暗号化に使用可能なマスタ鍵の最大個数を設定して、ヘッダ部を固定長で使用しても良い。
次に、一時鍵の暗号化を行う側の外部記憶装置102について説明する。
この外部記憶装置102は、マスタ鍵の情報を保管する機能を持つとともに、このマスタ鍵のデータ自体を自装置の外部に出さずに、情報処理装置101から渡された一時鍵の暗号化処理を全て自装置内で行ってその結果だけを情報処理装置1に返す働きを持つものである。
図8に示すように、一時鍵の暗号化を行う側の外部記憶装置102は、マスタ鍵記憶部109、暗号化部108を備えている。
マスタ鍵記憶部109は、1または複数のマスタ鍵の情報を記憶する。
このマスタ鍵記憶部109は、自装置外部からの読出しや書き込みなどのアクセスを不可とするのが望ましい。ただし、パスワード・チェックなどの認証に通過すれば、マスタ鍵の情報の追加、削除などの操作が可能となるようにしても良い。
暗号化部108は、インタフェース部を介して情報処理装置101から送信された一時鍵を受け取り、1または複数の所定のマスタ鍵を用いて一時鍵を暗号化するとともに、この一時鍵を、一時鍵自身で暗号化する。
図9に、外部記憶装置102の暗号化部108の内部構成の一例を示す。なお、図9の暗号化部181と暗号化部182とは、独立に設けても良いし、1つの暗号化部を切り換えて使用するようにしても良い。
1または複数のマスタ鍵でそれぞれ暗号化された一時鍵および一時鍵自身で暗号化された一時鍵は、インタフェース部を介して情報処理装置101に送信され、暗号化データ生成部106により暗号化データのヘッダ部161に格納される。
ところで、外部記憶装置102内での一時鍵の暗号化に用いるマスタ鍵の指定方法には、例えば次のような方法が考えられる。
(1)マスタ鍵記憶部109に記憶されているすべてのマスタ鍵を用いるものとし、それぞれのマスタ鍵毎に、マスタ鍵で暗号化された一時鍵を生成する。
(2)マスタ鍵記憶部109に記憶されているマスタ鍵のうち使用するものを、情報処理装置101側から指定し、外部記憶装置102側では、指定された各マスタ鍵毎に、マスタ鍵で暗号化された一時鍵を生成する。この場合の一例を図10と図11に示す。例えば、外部記憶装置102内のマスタ鍵記憶部109に、予め図11のように鍵IDと鍵データとユーザ情報(例えば、ユーザ名前等の個人情報および/またはユーザID)とを対応付けて記憶させておき、まず、情報処理装置101のマスタ鍵選択指示部131からマスタ鍵記憶部109に記憶された鍵データ以外の情報を取得し(鍵データは取得不可とする)、図12のように図示しない表示装置の表示画面221に、鍵選択指示用ウィンドウ222を開いて、各鍵データに対応するユーザ名やグループ名の一覧を表示する。そして、ユーザは、ウィンドウ222上の所望のユーザ名やグループ名の表示位置にアイコン223を位置させ図示しないマウスをクリックするなどして選択指示を行う。そして、ユーザにより選択指示されたユーザ名やグループ名に対応するユーザIDおよび/または鍵IDを含むマスタ鍵指定情報を、情報処理装置101から外部記憶装置102に伝える。その後、外部記憶装置102は、図11のテーブルを参照して、指示されたユーザIDなどに対応する鍵データを用いて暗号化を行う。
(3)その他、情報処理装置101から外部記憶装置102に、図11のユーザ情報に対する条件を含むマスタ鍵指定情報を送信し、その条件を満たすユーザ情報を持つ鍵情報を使用する方法など、種々の方法が考えられる。
図13に、本情報処理システムの動作手順を示す。
情報処理装置101側では、まず一時鍵生成部105により一時鍵Sk を生成し(ステップS11)、暗号化部104により、平文データ保持部103に格納された平文のデータDataを、一時鍵Sk で暗号化して、暗号化されたデータESk(Data)を生成する(ステップS12)。
なお、暗号化されたデータESk(Data)が生成されたら、平文データ保持部103に格納された平文のデータDataは消去しておく(ステップS13)。
一方、生成された一時鍵Sk は、外部記憶装置102に送信する(ステップS14)。なお、情報処理装置101側から外部記憶装置102側に使用する1または複数のマスタ鍵を指定する方法を取る場合には、マスタ鍵指定情報も送信する。
このステップS14の送信は、ステップS12もしくはステップS13の前に行っても構わない。
外部記憶装置102側では、一時鍵Sk(または一時鍵Sk とマスタ鍵指定情報)を受信すると(ステップS15)、一時鍵Sk を所定のマスタ鍵Mkiで暗号化してEMki(Sk )を生成するとともに(ステップS16)、一時鍵Sk を一時鍵Sk で暗号化してESk(Sk )を生成する(ステップS17)。
なお、所定のマスタ鍵とは、例えば、上記した(1)のマスタ鍵指定方法を採用する場合、マスタ鍵記憶部9に記憶されているすべてのマスタ鍵であり、(2)のマスタ鍵指定方法を採用する場合、情報処理装置101側からマスタ鍵指定情報により指示されたものである。
次に、これらEMki(Sk )とESk(Sk )を、情報処理装置101に送信する(ステップS18)。
情報処理装置101側では、これらEMki(Sk )とESk(Sk )を受信すると(ステップS19)、暗号化データ生成部6により、EMki(Sk )とESk(Sk )をヘッダ部に含み、ESk(Data)をデータ部とするファイルやパケットなどの暗号化データを作成する(ステップS20)。
以上のようにして生成された暗号化データは、所定の記憶装置に保存され、あるいはネットワークなどを介して所望の宛先装置(復号側となる情報処理装置)に転送される。
ここで、暗号化されたデータESk(Data)を解読するためには、EMki(Sk )を解読して一時鍵を取り出す必要があるので、復号側で該当するマスタ鍵を所有する場合にのみデータDataを取り出すことができる。例えば、Mk1、Mk2、Mk3をそれぞれ用いて一時鍵Sk を暗号化した場合、暗号化データのヘッダ部には、EMk1(Sk )、EMk2(Sk )、EMk3(Sk )が含まれるので、Mk1、Mk2、Mk3のいずれかのマスタ鍵を持つものが、平文のデータDataを得ることができる。なお、言うまでもなく、ヘッダ部の情報から一時鍵やマスタ鍵を解読するのはきわめて困難である。
また、復号側では、ヘッダ部に含まれる一時鍵自身で暗号化された一時鍵ESk(Sk )をもとにして、復号した一時鍵の検証を行うことができる。
さらに、1つの暗号化データを解読可能とするマスタ鍵の数にかかわらず、上記検証のために付加する情報は、一時鍵自身で暗号化された一時鍵のただ1つのみで良く、マスタ鍵の個数に相当する回数の一時鍵の暗号化と1回だけの一時鍵自身の暗号化を行うことにより、全てのマスタ鍵に対する検証を施すことができるので、同一データに対する複数のマスタ鍵の使用が容易になる。
例えば、各々のマスタ鍵で一時鍵を1回暗号化したものと2回暗号化したものを組にしてヘッダに格納し、復号化の際、同じマスタ鍵で同じ一時鍵を1回と2回復号化した2種類の一時鍵の一致判定を行うことにより、マスタ鍵の検証を行うこともできる。しかし、この方法によると、ヘッダに格納する暗号化された一時鍵の情報は、マスタ鍵の個数の2倍に相当するサイズになる。これに対して、上記の各々のマスタ鍵による一時鍵の暗号化と一時鍵自身による一時鍵の暗号化では、マスタ鍵の個数+1に相当する情報だけをヘッダに格納することができ、ヘッダサイズを小さく抑えることができる。
なお、一時鍵は少なくともデータ毎に生成されるので、たとえある暗号化データの一時鍵が解読されたとしても、他の暗号化データをその一時鍵で解読することはできない。
次に、復号側の情報処理システムについて説明する。
図14は、本発明の一実施形態に係る情報処理システムにおいて、復号化を行う側の情報処理装置111と外部記憶装置112の構成を示す図である。
情報処理装置111は、データの復号化などを行うものである。情報処理装置111には、例えば、パーソナルコンピュータを用いることができる。
外部記憶装置112は、マスタ鍵の保管、一時鍵の復号などを行うものである。外部記憶装置112には、例えば、処理機能を有するICカードを用いることができる。
情報処理装置111と外部記憶装置112とは、それぞれの持つインタフェース部(図示せず)を介して、データの受け渡しを行う。例えば、使用時に外部記憶装置112を情報処理装置111内のソケットに直接接続する方法を用いても良いし、赤外線などにより通信できるようにしても良い。
なお、外部記憶装置112を使用しないときは、これをユーザが安全な場所に保管しておくのが好ましい。
さて、図14に示すように、復号を行う側の情報処理装置111は、暗号化データ保持部116、復号化部114、復号化データ保持部113を備えている。
暗号化データ保持部116は、復号化対象となる暗号化データを保持するためのものである。
復号化の対象である暗号化データは、所定の記憶装置から読出したものでも良いし、有線や無線の通信回線を介して取得したものでも良い。
ここで、暗号化データ保持部116に保持されている暗号化データのヘッダ部に含まれるマスタ鍵で暗号化された一時鍵と一時鍵自身で暗号化された一時鍵の情報は、インタフェース部を介して外部記憶装置112に渡される。なお、外部記憶装置112にヘッダ部全体を送信するようにしても良い。
また、上記暗号化データのデータ部に含まれる一時鍵で暗号化されたデータは、復号化部114に渡される。
復号化部114では、外部記憶装置112からインタフェース部を介して返された一時鍵を用いて、上記の一時鍵で暗号化されたデータを復号化する。
復号化データ保持部113は、この復号化により得られた平文のデータを保持するためのものである。
なお、復号化により得られたデータは、例えば、CRTや液晶などの表示装置に表示され、あるいは画像や音声の再生装置に出力され、あるいはこの情報処理装置111の内蔵ハードディスク等の記憶装置あるいはフロッピー(登録商標)ディスクやCD−ROMなどのリムーバブルな記憶媒体にファイルとして格納され、あるいはLANを介してファイル管理装置に転送され、あるいはパケットやセルの形にして有線や無線の通信回線を介して所望の転送先に送り出される。
次に、一時鍵の復号化を行う側の外部記憶装置112について説明する。
この外部記憶装置112は、マスタ鍵の情報を保管する機能を持つとともに、このマスタ鍵のデータ自体を自装置の外部に出さずに、情報処理装置111から渡された所定のマスタ鍵で暗号化された一時鍵の情報をもとに復号化処理を全て自装置内で行ってその結果得られた一時鍵(または復号不可を示す制御信号)を情報処理装置111に返す働きを持つものである。
図14に示すように、一時鍵の復号化を行う側の外部記憶装置112は、マスタ鍵記憶部119、復号化部118を備えている。
マスタ鍵記憶部119は、1または複数のマスタ鍵を記憶する。
このマスタ鍵記憶部119は、自装置外部からの読出しや書き込みなどのアクセスを不可とするのが望ましい。ただし、パスワード・チェックなどの認証に通過すれば、マスタ鍵の情報の追加、削除などの操作が可能となるようにしても良い。
復号化部118は、インタフェース部を介して情報処理装置111から送信されたマスタ鍵で暗号化された一時鍵および一時鍵自身で暗号化された一時鍵を受け取り、マスタ鍵記憶部119内に記憶されているマスタ鍵を用い復号化を行って、平文の一時鍵を得ることと、鍵の検証とを同時に行う。
図15は、本発明の第4実施形態に係る鍵の判定を実現するための鍵判定システムの構成を示す図である。
1または複数のマスタ鍵でそれぞれ暗号化された一時鍵および一時鍵自身で暗号化された一時鍵が、インタフェース部を介して情報処理装置111から送信されると、復号化部281にて、マスタ鍵記憶部119に格納されているマスタ鍵を用いて、マスタ鍵で暗号化された一時鍵を復号する。この復号化された一時鍵を用いて、復号化部282にて、一時鍵自身で暗号化された一時鍵を復号する。そして、2つの一時鍵が一致するか否かを一致判定部283により判定する。2つの一時鍵が一致しないならば、マスタ鍵記憶部119に記憶された他のマスタ鍵を用いて、上記と同様に復号と判定を行う。
もし一時鍵の一致判定が成功したならば一致判定部283はゲート回路284を閉じ、一時鍵は、外部記憶装置112からインタフェース部を介して情報処理装置111に送信される。この場合、上記のように情報処理装置111内の復号化部114にてこの一時鍵を用いて復号が行われる。
もし、この外部記憶装置112内のマスタ鍵記憶部119に記憶された全マスタ鍵について一時鍵の一致判定に失敗したならば、この外部記憶装置112ではこの暗号化された一時鍵を解くことはできない。この場合、一致判定部283はその旨を示す制御信号を発し、これが外部記憶装置112からインタフェース部を介して情報処理装置111に送信される。もちろん、この場合、一時鍵は、情報処理装置111に送信されず、情報処理装置111では、暗号化データを復号化することはできない。
なお、図15の復号化部281と復号化部282とは、独立に設けても良いし、1つの復号化部を切り換えて使用するようにしても良い。
図16は鍵の判定動作手順の一例を示すフローチャートである。
情報処理装置111側では、まず暗号化データ保持部116に格納されている暗号化データのヘッダ部161に含まれるEMki(Sk )とESk(Sk )を、外部記憶装置112に送信する(ステップS21)。
外部記憶装置112側では、このEMki(Sk )とESk(Sk )を受信する(ステップS22)。なお、情報処理装置111側からヘッダ部161全体を送信するようにした場合には、ヘッダ部161からEMki(Sk )とESk(Sk )を取り出す。
次に、情報処理装置111から渡されたEMki(Sk )と、マスタ鍵記憶部119に記憶されているマスタ鍵Mkjの組を選択する(ステップS23)。
次に、マスタ鍵Mkjを用いて、復号化部281にて、暗号化された一時鍵EMki(Sk )を復号してSk’=DMkj(EMki(Sk ))を求める(ステップS24)。
次に、このSk’=DMkj(EMki(Sk ))を用いて、復号化部282にて、マスタ鍵で暗号化されたESk(Sk )を復号してSk’’=DSk’(ESk(Sk ))を求める(ステップS25)。
次に、一致判定部283にて、Sk’とSk’’を比較し、一致しない場合(ステップS26)、情報処理装置111から渡されたEMki(Sk )と、マスタ鍵記憶部119に記憶されているマスタ鍵Mkjの組でまだ選択していないものがあれば、(ステップS27)、ステップS23に戻る。
もし一致判定部283にてSk’とSk’’を比較し、一致した場合(ステップS26)、得られた一時鍵Sk(=Sk’=Sk’’)を、情報処理装置111に送信する(ステップS28)。
情報処理装置111側では、一時鍵Sk を受信すると(ステップS29)、暗号化されたデータESk(Data)を一時鍵Sk で復号して平文のデータDataを取り出す(ステップS30)。
なお、情報処理装置111から渡されたEMki(Sk )と、マスタ鍵記憶部119に記憶されているマスタ鍵Mkjの組すべてについてステップS23〜S26までの処理を試行し、そのすべてにおいてSk’=Sk’’が得られなかった(ステップS26でNoとなった)場合、暗号化に使用したマスタ鍵が存在しないために一時鍵を復号化できなかった旨を示す制御信号を情報処理装置111に送信する。
なお、図17に、鍵判定システムの他の構成を示す。図15との相違は、マスタ鍵MkjでEMki(Sk )を復号してSk’=DMkj(EMk(Sk ))を求め、このSk’をSk’自身で暗号化してESk’(Sk’)を求め、EMki(Sk )とESk’(Sk’)の一致により検証を行う点である。この処理手順のフローチャートは、図16のステップS25の処理で、Sk’をSk’自身で暗号化してESk’(Sk’)を求める点、ステップS26でEMki(Sk )とESk’(Sk’)を比較する点以外は、図16と同様である。
なお、図17の復号化部281と暗号化部285の処理が同内容になる暗号方式を採用する場合、復号化部281と暗号化部285とは、独立に設けても良いし、1つの回路を切り換えて使用するようにしても良い。
前述したように、暗号化されたデータESk(Data)を解読するためには、EMk1(Sk )を解読して一時鍵を取り出す必要があるので、復号側で該当するマスタ鍵を所有する場合にのみデータDataを取り出すことができる。例えば、暗号化データのヘッダ部にEMk1(Sk )、EMk2(Sk )、EMk3(Sk )が含まれる場合には、Mk1、Mk2、Mk3のいずれかのマスタ鍵を持つものが、平文のデータDataを得ることができる。
つまり、このDataをMk1、Mk2、Mk3のいずれかのマスタ鍵を持つユーザによって共有し、他のユーザには内容を秘匿することができる。
また、ヘッダ部に含まれる一時鍵自身で暗号化された一時鍵ESk(Sk )をもとにして、復号した一時鍵の検証を行い、検証を通過しない場合には復号化の処理が実行されないので、異なる鍵を用いて誤って暗号化されたデータを破壊するようなトラブルを回避することができる。
さらに、1つの暗号化データを解読可能とするマスタ鍵の数にかかわらず、上記検証のために不可する情報は、一時鍵自身で暗号化された一時鍵のただ1つのみで良いという利点がある。
また、以上のような本実施形態によれば、一時鍵の暗号化、復号化は、情報処理装置の外部で行われるため、マスタ鍵と情報処理装置が分離され、マスタ鍵を安全に扱うことができる。例えば、不正な第3者が本情報処理装置にアクセスしたとしても、マスタ鍵は情報処理装置内には存在しないので、マスタ鍵を盗用されることはない。
また、データの暗号化および復号化は、暗号化する度に生成される一時鍵を用いて行うので、ある暗号化データの一時鍵が解読された場合でも、他の暗号化データをその一時鍵で解読することはできない。
また、データを暗号化する一時鍵を変更せずに、マスタ鍵だけを変更する場合、ヘッダ部に所望のマスタ鍵で暗号化した一時鍵を追加し、あるいはヘッダ部から該当するマスタ鍵で暗号化した一時鍵を削除すれば良く、データを再暗号化する必要がない。
また、暗号方式として任意の方式を用いる場合、暗号方式の識別子を暗号化データのヘッダ部に付加しておけば、暗号方式を自由に選択することが可能である。
なお、暗号側で用いる処理機能付き外部記憶装置1と復号側で用いる処理機能付き外部記憶装置11とを1つの外部記憶装置で共用する場合、暗号化に用いるマスタ鍵と復号化に用いるマスタ鍵を同一にしても良いし、暗号化にのみ使用可能なマスタ鍵記憶部と復号化にのみ使用可能なマスタ鍵記憶部を設け、それぞれに所望のマスタ鍵を記憶させるようにしても良い。
ここで、本実施形態に係る情報処理システムの利用例について述べる。例えば、前述した暗号側と復号側の機能を兼ね備える情報処理装置を複数台、LANなどに接続する。また、このLANにはファイルを蓄積・管理するファイル管理装置が接続されているものとする。各情報処理装置のユーザは、前述のようにマスタ鍵を保管してある処理機能付き外部記憶装置を用いて、暗号化されたデータを含むファイルを作成し、LANを介して上記のファイル管理装置に保存する。その際、そのファイルのヘッダに所望のユーザのマスタ鍵により暗号化された一時鍵を付加しておけば、当該暗号化ファイルは、該当するユーザであればいずれも解読することができる。このようにして、暗号化ファイルを安全に共有するシステムを構築することができる。
もちろん、1つのスタンドアローンの情報処理装置を複数ユーザで共用しており、この情報処理装置に内蔵のハードディスク装置に格納されるファイルを複数ユーザで共有するような場合にも、本発明は適用可能である。
ところで、暗号化対象であるデータの暗号方式と一時鍵の暗号方式の少なくとも一方に、RSAなどの所望の公開鍵暗号方式を用いても良い。例えば、一時鍵の暗号方式に所望の公開鍵暗号方式を用いる場合、暗号化する際、マスタ鍵として対象ユーザの公開鍵を使用し、復号化する際、マスタ鍵として自身の秘密鍵を使用する。また、例えば、暗号化対象であるデータの暗号方式に、暗号化鍵と復号化鍵が異なる暗号方式を用いる場合、暗号化する際、一時鍵として暗号化鍵と復号化鍵の対を生成し、暗号化鍵でデータを暗号化するとともに、復号化鍵を暗号化し、これをヘッダ部に格納する。
また、マスタ鍵を格納する外部記憶装置を使用しないならば、以下のようにマスタ鍵を生成し使用する。まず、暗号化、復号化を行う情報処理装置にパスワードやID番号を入力することにより、一方向性関数等を用いて、暗号化、復号化の鍵を生成するマスタ鍵生成部を用意する。このマスタ鍵生成部では、個人やグループのパスワードやID番号を入力することにより、異なるマスタ鍵を各々に対し生成する。これらのマスタ鍵は、上記した方法と同じように、暗号化装置では一時鍵を暗号化するときに使用し、復号化装置では一時鍵を復号するときに使用する。
以上の各構成は、ハード・ワイヤードで形成することも、相当するプログラムをCPUで実行させる形で実現することも可能である。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
以上、上記した第3、第4実施形態によれば、所定の一時鍵で暗号化されたデータに、所定のマスタ鍵で暗号化された一時鍵と、一時鍵自身で暗号化された一時鍵を付加するので、該当するマスタ鍵を持つユーザのみ鍵の検証と暗号化されたデータの復号化を行うことができ、その他のユーザには内容を秘匿することができる。
また、一時鍵自身で暗号化した一時鍵を用いて鍵の検証を行いながら復号化を行うので、正当ではないマスタ鍵の誤用などによる復号時のデータの破壊を避けることができる。しかも、一時鍵自身で暗号化された一時鍵を付加するだけで、すべてのマスタ鍵について鍵の検証を行うことができる。
従って、例えば、個人やグループなどの複数のユーザで共有するデータを、暗号化した形で安全に保存できるようになる。
また、一時鍵の暗号化、復号化は、情報処理装置の外部で行われるため、マスタ鍵と情報処理装置が分離され、マスタ鍵を安全に扱うことができる。例えば、不正な第3者が本情報処理装置にアクセスしたとしても、マスタ鍵は情報処理装置内には存在しないので、マスタ鍵を盗用されることはない。
図18は、本発明の第5実施形態として、鍵の判定方法を一般化した場合の鍵判定システムの構成を示す図である。第5実施形態に係る鍵判定システムでは、一時鍵Sk をマスタ鍵Mk で暗号化して得られるデータをMk(Sk )として入力するとともに、後述する複数のチェック関数の任意の一つをチェックデータとして選択的に入力する。判定部300はこれら2つのデータに基づいて、マスタ鍵を用いた所定の暗号化及び/または復号処理を行なうことにより、当該マスタ鍵が正しいか否かを判定し、この判定結果(YES/NO)を出力するとともに、復号された一時鍵Sk を出力する。
図19は鍵判定システムに対する入力となり得る複数のチェック関数を区分けして示すテーブルを示すものである。チェック関数X(a)とは鍵aを鍵Xで暗号化して得られるデータを意味し、X-1(a)は鍵aを鍵Xで復号して得られるデータを意味し、X2(a)は鍵aを鍵Xで2回暗号化して得られるデータを意味する。また、hはハッシュ関数を意味し、||は2つの鍵を並べることを意味し、+は加算を意味し、dは複数の人によって共有される共有データであり、d* は事変、すなわち、暗号化あるいは復号処理を行なう毎に異なる共有データを表す。
まず、Mk の暗号化あるいは復号を行なう場合に用いられる各チェック関数について説明する。
チェック関数がMk とSk を共に含む場合は、Sk(Mk )とSk -1(Mk )が存在し、いずれも含まない場合はh(Mk ||Sk )が存在する。また、チェック関数がMk のみか、あるいはMk と他のデータを含む場合には、Mk(Mk )、Mk -1(Mk )、Mk(Mk +d* )、Mk -1(Mk +d* )の4通りが存在し、含まない場合はMk(d* )、Mk -1(d* )、h(Mk )の3通りが存在する。また、チェック関数がSk のみか、あるいはSk と他のデータについてのチェック関数は存在しない。
次に、Sk の暗号化あるいは復号を行なう場合に用いられる各チェック関数について説明する。
チェック関数がMk とSk を共に含む場合は、Mk 2(Sk )とMk -1(Sk )が存在し、含まない場合はh(Mk ||Sk )が存在する。また、チェック関数がMk のみか、あるいはMk と他のデータについてのチェック関数は存在しない。また、チェック関数がSk のみか、あるいはSk と他のデータを含む場合はSk(Sk )、Sk -1(Sk )が存在し、含まない場合はSk(d)、Sk -1(d)、h(Sk )の3通りが存在する。
図20は、チェック関数として、Sk(Mk )が入力される場合の鍵判定システムの構成を示す図であり、復号回路301と暗号化回路302と一致判定部303とゲート304とを具備する。復号回路301、暗号化回路302、一致判定部303の動作は前記した通りである。矢印はマスタ鍵Mk の入力を意味する。また、ゲート304はデータを出力するかどうかを制御するのに用いられる。これらの説明は以下で述べるチェック関数にも適用されるものとする。
図21は、チェック関数として、Sk -1(Mk )が入力される場合の鍵判定システムの構成を示す図であり、復号回路305、306と、一致判定部307と、ゲート308を具備する。
図22は、チェック関数として、Mk(Mk )が入力される場合の鍵判定システムの構成を示す図であり、復号回路309と一致判定部310と暗号化回路311とゲート312とを具備する。
図23は、チェック関数として、Mk -1(Mk )が入力される場合の鍵判定システムの構成を示す図であり、ゲート313と復号回路314と一致判定部315と復号回路316とを具備する。
図24は、チェック関数として、d* 及びMk(Mk +d* )が入力される場合の鍵判定システムの構成を示す図であり、ゲート317と復号回路318と一致判定部319と暗号化回路320と加算回路321とを具備する。
図25は、チェック関数として、d* 及びMk -1(Mk +d* )が入力される場合の鍵判定システムの構成を示す図であり、ゲート322と復号回路323と一致判定部324と復号回路325と加算回路326とを具備する。
図26は、チェック関数として、h(Mk ||Sk )が入力される場合の鍵判定システムの構成を示す図であり、復号回路327と連結部328とハッシュ関数(h)329とゲート330と一致判定部331とを具備する。
図27は、チェック関数として、d* 及びMk(d* )が入力される場合の鍵判定システムの構成を示す図であり、復号回路332と一致判定部333とゲート334と復号回路335とを具備する。
図28は、チェック関数として、d* 及びMk -1(d* )が入力される場合の鍵判定システムの構成を示す図であり、暗号化回路336と一致判定部337とゲート338と復号回路339とを具備する。
図29は、チェック関数として、h(Mk )が入力される場合の鍵判定システムの構成を示す図であり、一致判定部340とハッシュ関数(h)341とゲート342と復号回路343とを具備する。
図30は、チェック関数として、Mk 2(Sk )が入力される場合の鍵判定システムの構成を示す図であり、復号回路344と暗号化回路345とゲート347と一致判定部346とを具備する。
図31は、チェック関数として、Mk -1(Sk )が入力される場合の鍵判定システムの構成を示す図であり、復号回路348と一致判定部349と暗号化回路350とを具備する。
図32(a)、(b)は、チェック関数として、Sk(Sk )が入力される場合の鍵判定システムの構成を示す図である。図32Aは復号回路360と暗号化回路361と一致判定部362とゲート363とを具備し、図32Bは復号回路364、365と一致判定部366とゲート367とを具備する。
図33(a)、(b)は、チェック関数として、Sk -1(Sk )が入力される場合の鍵判定システムの構成を示す図である。図33Aは復号回路368、369と一致判定部370とゲート371とを具備し、図33Bは復号回路372と暗号化回路373と一致判定部374とゲート375とを具備する。
図34は、チェック関数として、d及びSk(d)が入力される場合の鍵判定システムの構成を示す図であり、復号回路376、377と一致判定部378とゲート379とを具備する。
図35は、チェック関数として、d及びSk -1(d)が入力される場合の鍵判定システムの構成を示す図であり、復号回路380と暗号化回路381と一致判定部382とゲート383とを具備する。
図36は、チェック関数としてh(Sk )が入力される場合の鍵判定システムの構成を示す図であり、復号回路384とハッシュ関数(h)385と一致判定部386とゲート387とを具備する。
図37は、第5実施形態の鍵判定システムをDVD(デジタルビデオディスク)に応用した例を説明するための図である。
送信側は一時鍵Sk を複数の暗号化回路500−1〜500−nの各々に入力して異なるマスタ鍵Mk1〜Mknを用いて暗号化して同時に送信する。このとき、一時鍵Sk を自身の鍵Sk で暗号化したデータも同時に送信する。
受信側では複数の復号回路501−1〜501−nの各々に送信時に用いたマスタ鍵Mk1〜Mknを入力すればSk が得られる。このとき、例えば復号回路501−3においてMk3とは異なるマスタ鍵Mk3’を用いて復号した場合はSk とは異なる一時鍵Sk’が得られるので、比較部503で同じSk’で暗号化して得られるSk’(Sk’)を送信側から送られてきたSk(Sk )と比較しても一致しないのでSk が出力されずエラーとなる。このようにしてマスタ鍵の真偽判定が行われる。
図38は、第5実施形態の鍵判定システムを電子メールに応用した例を説明するための図である。
電子メールのヘッダ400には、一時鍵Sk を複数の異なるマスタ鍵Mk1〜Mknで暗号化したデータMk1(Sk )〜Mkn(Sk )と、Sk を同じSk で暗号化したSk(Sk )とを記録し、ボディ401には、本文をSk で暗号化したSk(本文)を記録して、各Mk1〜Mknに対応する宛先1〜nに同報的に送信する。ここで受信側としての宛先1は所持しているMk1を用いて復号してSk を取り出し、これを同じSk で暗号化したものと、受信したSk(Sk )とを比較し、一致した場合にはSk が得られるのでこのSk を用いて復号することにより本文を得ることができる。
ここで、不正な第3者が自身のマスタ鍵で復号しようとしても比較結果が一致しないのでSk を正しく復号できず本文が知られてしまうことはない。
図39は、第5実施形態の鍵判定システムをCATVに応用した例を説明するための図である。
第1の例は受信側が鍵のデータベースを有している例である。送信側としての放送局600がある特定地域の受信局に放送内容を送る場合に、この放送内容をSk で暗号化したデータSk(内容)と、Sk をMk で暗号化したデータMk(Sk )と、Sk をSk で暗号化したデータSk(Sk )と送信する。受信局のデコーダ601は複数の鍵からなる鍵データベース602を有しており、この鍵データベース602から受信したMk に一致するものを鍵セレクト部603で選択して、選択された鍵を用いて復号することによりSk を得る。次にこのSk をSk 自身で暗号化したものと、送られてきたSk(Sk )とを比較して一致したときにSk を復号回路604に出力する。復号回路604はこのSk を用いて受信したSk(内容)を復号して内容を取り出してTV605の画面に表示する。ここで、不正な第3者が自身のマスタ鍵で復号しようとしても比較結果が一致しないのでSk を正しく復号できず放送内容が見られてしまうことはない。
上記した構成において、鍵データベース602に、例えば受信局がその移転前に用いた鍵と、移転後に用いている鍵を記憶しておけば、移転した後でもその鍵が選択されるのでデコーダ601の構成を変更することなしに正常に内容を復号することができる。
次に第2の例を説明する。第2の例の基本的構成は第1の例と同様であるが、この例では送信側としての放送局600と受信局の双方が鍵のデータベースを有している。放送局600は鍵データベースの中から1つの鍵を選択して送信する。受信局のデコーダ601は鍵データベース602の中から対応する1つの鍵を選択して復号する。この場合、放送局600から送信される鍵はMk 、Sk 共に送信ごとに逐次変更され、しかも、放送局600はこの変更についての情報は受信局には送信しないようにする。このようにすれば第1の例の効果に加えて、安全性をより向上することができる。
次に第3の例を説明する。第3の例の基本的構成は第1の例と同じであり、この場合も受信局が鍵のデータベースを有しているものとする。
ここでは、鍵が漏洩してしまって新たな鍵に変更したい場合や、現在の鍵のバージョンを新たなバージョンに変更したい場合に対処するために、あらかじめ新旧バージョンの鍵を鍵のデータベース602に含めておく。このようにすれば、デコーダ601の構成を変更することなしに、変更後の新しい鍵が送られてきても正常に復号することができる。
本発明の第1実施形態に係る情報処理システムが適用される携帯型情報処理システムにおいて、暗号化を行なう場合の装置構成を示す図である。 暗号化を行った後の携帯型情報処理システムの構成の変更を示す図である。 本発明の第1実施形態に係る情報処理システムが適用される携帯型情報処理システムにおいて、復号化を行なう場合の装置構成を示す図である。 本発明の第2実施形態に係る鍵の判定を実現するための鍵判定システムの構成を示す図である。 図4に示す装置構成を簡略化した構成を示す図である。 図5に示す構成の変形例を示す図である。 図5に示す構成の他の変形例を示す図である。 本発明の第3実施形態に係る情報処理システム(暗号側)の構成を示す図である。 図8の外部記憶装置の内部構成の一例を示す図である。 マスタ鍵選択指示部を含めた情報処理システムの構成を示す図である。 鍵情報テーブルの一例を示す図である。 鍵選択指示用画面の一例を示す図である。 暗号化の動作手順の一例を示すフローチャートである。 本発明の第3実施形態に係る情報処理システム(復号側)の構成を示す図である。 本発明の第4実施形態に係る鍵の判定を実現するための鍵判定システムの構成を示す図である。 鍵の判定動作手順の一例を示すフローチャートである。 鍵判定システムの他の構成を示す図である。 本発明の第5実施形態として、鍵判定方法を一般化した場合の鍵判定システムの構成を示す図である。 鍵判定システムに対する入力となり得る複数のチェック関数を区分けして示すテーブルである。 チェック関数として、Sk(Mk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、Sk -1(Mk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、Mk(Mk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、Mk -1(Mk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、d* 及びMk(Mk +d* )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、d* 及びMk -1(Mk +d* )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、h(Mk ||Sk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、d* 及びMk(d* )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、d* 及びMk -1(d* )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、h(Mk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、Mk 2(Sk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、Mk -1(Sk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、Sk(Sk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、Sk -1(Sk )が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、d及びSk(d)が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、d及びSk -1(d)が入力された場合の鍵判定システムの構成を示す図である。 チェック関数として、h(Sk )が入力された場合の鍵判定システムの構成を示す図である。 本発明の第5実施形態の鍵判定システムの第1の応用例を説明するための図である。 本発明の第5実施形態の鍵判定システムの第2の応用例を説明するための図である。 本発明の第5実施形態の鍵判定システムの第3の応用例を説明するための図である。
符号の説明
1…ファイル
2…暗号化ファイル
3…乱数生成部
4…暗号化装置
5…ICカード
6…携帯型PC
7…I/F
8…ボディ
9…マスタ鍵記憶部
10…暗号化装置
11…ヘッダー
12…記憶装置

Claims (19)

  1. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    マスタ鍵M k を一次鍵S k で暗号化して得られるデータS k (M k )をチェック関数として入力する第2入力手段と、
    前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、
    前記特定のマスタ鍵M k を前記復号手段により得られた一次鍵S k で暗号化する暗号化手段と、
    前記第2入力手段により入力されたチェック関数S k (M k )と、前記暗号化手段により得られたデータS k (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置
  2. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    マスタ鍵M k を一次鍵S k で復号して得られるデータS k -1 (M k )をチェック関数として入力する第2入力手段と、
    前記第1の入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、
    前記特定のマスタ鍵M k を前記復号手段により得られた一次鍵S k で復号する復号手段と、
    前記第2の入力手段により入力されたチェック関数S k -1 (M k )と、前記復号手段により得られたデータS k -1 (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置
  3. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    マスタ鍵M k をマスタ鍵M k で暗号化して得られるデータM k (M k )をチェック関数として入力する第2入力手段と、
    特定のマスタ鍵M k で該特定のマスタ鍵M k を暗号化する暗号化手段と、
    前記第2の入力手段により入力されたチェック関数M k (M k )と、前記暗号化手段により得られたデータM k (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備するための鍵判定装置
  4. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    マスタ鍵M k を該マスタ鍵M k で復号して得られるデータM k -1 (M k )をチェック関数として入力する第2入力手段と、
    特定のマスタ鍵M k を該特定のマスタ鍵M k で復号する復号手段と、
    前記第2の入力手段により入力されたチェック関数M k -1 (M k )と、前記復号手段により得られたデータM k -1 (M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  5. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、
    マスタ鍵M k に前記共有データd * を加えたデータ(M k +d * )をマスタ鍵M k で暗号化して得られるデータM k (M k +d * )をチェック関数として入力する第3入力手段と、
    特定のマスタ鍵M k に前記第2の入力手段により入力された共有データd * を加える加算手段と、
    前記加算手段により得られたデータ(M k +d * )を前記特定のマスタ鍵M k で暗号化する暗号化手段と、
    前記第3の入力手段により入力されたチェック関数M k (M k +d * )と、前記暗号化手段により得られたデータM k (M k +d * )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  6. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、
    マスタ鍵M k に前記共有データd * を加えたデータ(M k +d * )をマスタ鍵M k により復号して得られるデータM k -1 (M k +d * )をチェック関数として入力する第3入力手段と、
    特定のマスタ鍵M k に前記第2の入力手段により入力された共有データd * を加える加算手段と、
    前記加算手段により得られたデータ(M k +d * )を前記特定のマスタ鍵M k で復号する復号手段と、
    前記第3の入力手段により入力されたチェック関数M k -1 (M k +d * )と、前記復号手段により得られたデータM k -1 (M k +d * )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  7. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    マスタ鍵M k と一次鍵S k とを並置したデータ(M k ‖S k )のハッシュ関数h(M k ‖S k )をチェック関数として入力する第2入力手段と、
    前記第1の入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、
    前記特定のマスタ鍵M k と、前記復号手段により得られた一次鍵S k とを並置して連結する連結手段と、
    前記連結手段により得られたデータ(M k ‖S k )にハッシュ関数hを適用するハッシュ適用手段と、
    前記第2の入力手段により入力されたチェック関数h(M k ‖S k )と、前記ハッシュ適用手段により得られたデータh(M k ‖S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と
    を具備することを特徴とする鍵判定装置
  8. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、
    前記共有データd * をマスタ鍵M k で暗号化して得られるデータM k (d * )をチェック関数として入力する第3入力手段と、
    前記第3の入力手段により入力されたデータM k (d * )を特定のマスタ鍵M k で復号する復号手段と、
    前記第2の入力手段により入力された共有データd * と、前記復号手段により得られた共有データd * とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置
  9. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    複数の人によって共有され、暗号化あるいは復号処理を行う毎に異なる共有データd * を入力する第2入力手段と、
    前記共有データd * をマスタ鍵M k で復号して得られるデータM k -1 (d * )をチェック関数として入力する第3入力手段と、
    前記第3の入力手段により入力されたデータM k -1 (d * )を特定のマスタ鍵M k で暗号化する暗号化手段と、
    前記第2の入力手段により入力された共有データd * と、前記暗号化手段により得られた共有データd * とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置
  10. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    マスタ鍵M k にハッシュ関数hを適用して得られたデータh(M k )を入力する第2入力手段と、
    特定のM k に対してハッシュ関数hを適用するハッシュ適用手段と、
    前記第2入力手段によって入力されたデータh(M k )と、前記ハッシュ適用手段により得られたデータh(M k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  11. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    一次鍵S k をマスタ鍵M k で2回暗号化して得られるデータM k 2 (S k )をチェック関数として入力する第2入力手段と、
    前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で暗号化する暗号化手段と、
    前記第2入力手段により入力されたチェック関数M k 2 (S k )と、前記暗号化手段により得られたデータM k 2 (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  12. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    一次鍵S k をマスタ鍵M k で復号して得られるデータM k -1 (S k )をチェック関数として入力する第2入力手段と、
    前記第2入力手段により入力されたデータM k -1 (S k )を特定のマスタ鍵M k で暗号化する暗号化手段と、
    前記第1の入力手段により入力されたデータM k (S k )と、前記暗号化手段により得られたデータM k (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  13. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    一次鍵S k を該一次鍵S k で暗号化して得られるデータS k (S k )をチェック関数として入力する第2入力手段と、
    前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、
    前記復号手段により得られた一次鍵S k を該一次鍵S k で暗号化する暗号化手段と、
    前記第2入力手段により入力されたチェック関数S k (S k )と、前記暗号化手段により得られたデータS k (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  14. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    一次鍵S k を該一次鍵S k で暗号化して得られるデータS k (S k )をチェック関数として入力する第2入力手段と、
    前記第1の入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する第1復号手段と、
    前記第2入力手段により入力されたデータS k (S k )を、前記復号手段により得られた一次鍵S k で復号する第2復号手段と、
    前記第1復号手段により得られた一次鍵S k と、前記第2の復号手段により得られた一次鍵S k とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  15. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    一次鍵S k を該一次鍵S k で復号して得られるデータS k -1 (S k )をチェック関数として入力する第2入力手段と、
    前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する第1復号手段と、
    前記第1復号手段により得られた一次鍵S k を該一次鍵S k で復号する第2復号手段と、
    前記第2入力手段により入力されたチェック関数S k -1 (S k )と、前記第2復号手段により得られたデータS k -1 (S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  16. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    一次鍵S k を該一次鍵S k で復号して得られるデータS k -1 (S k )をチェック関数として入力する第2入力手段と、
    前記第1入力手段により入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、
    前記第2入力手段によって入力されたデータS k -1 (S k )を前記復号手段により得られた一次鍵S k で暗号化する暗号化手段と、
    前記暗号化手段により得られた一次鍵S k と、前記復号手段により得られた一次鍵S k とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  17. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    複数の人によって共有される共有データdを入力する第2入力手段と、
    前記共有データdを一次鍵S k によって暗号化されたデータS k (d)を入力する第3入力手段と、
    前記第1入力手段によって入力されたデータM k (S k )を特定のマスタ鍵M k で復号する第1復号手段と、
    前記第3入力手段によって入力されたデータS k (d)を前記第1復号手段により得られた一次鍵S k で復号する第2復号手段と、
    前記第2の入力手段により入力された共有データdと、前記第2復号手段により得られた共有データdとが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  18. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    複数の人によって共有される共有データdを入力する第2入力手段と、
    前記共有データdを一次鍵S k によって復号したデータS k -1 (d)を入力する第3入力手段と、
    前記第1入力手段によって入力されたデータM k (S k )を特定のマスタ鍵M k によって復号する復号手段と、
    前記第3入力手段によって入力されたデータS k -1 (d)を前記復号手段により得られた一次鍵S k で暗号化する暗号化手段と、
    前記第2の入力手段により入力された共有データdと、前記暗号化手段により得られた共有データdとが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
  19. 鍵の真偽性を判定するための鍵判定装置であって、
    一次鍵S k をマスタ鍵M k で暗号化して得られるデータM k (S k )を入力する第1入力手段と、
    一次鍵S k にハッシュ関数hを適用して得られたデータh(S k )を入力する第2入力手段と、
    前記第1入力手段によって入力されたデータM k (S k )を特定のマスタ鍵M k で復号する復号手段と、
    前記復号手段により得られた一次鍵S k に対してハッシュ関数hを適用するハッシュ適用手段と、
    前記第2入力手段によって入力されたデータh(S k )と、前記ハッシュ適用手段により得られたデータh(S k )とが一致するか否かに基づいて前記特定のマスタ鍵M k の真偽性を判定する判定手段と、
    を具備することを特徴とする鍵判定装置。
JP2005107925A 1996-04-15 2005-04-04 鍵判定装置 Expired - Fee Related JP4302076B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005107925A JP4302076B2 (ja) 1996-04-15 2005-04-04 鍵判定装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9251696 1996-04-15
JP32029196 1996-11-29
JP2005107925A JP4302076B2 (ja) 1996-04-15 2005-04-04 鍵判定装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9097583A Division JPH10214233A (ja) 1996-04-15 1997-04-15 情報処理装置、情報処理システム、情報処理方法、プログラム記憶装置、及び鍵の判定方法及び判定装置

Publications (2)

Publication Number Publication Date
JP2005204347A JP2005204347A (ja) 2005-07-28
JP4302076B2 true JP4302076B2 (ja) 2009-07-22

Family

ID=34830860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005107925A Expired - Fee Related JP4302076B2 (ja) 1996-04-15 2005-04-04 鍵判定装置

Country Status (1)

Country Link
JP (1) JP4302076B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5161684B2 (ja) * 2007-12-19 2013-03-13 株式会社日立ソリューションズ 電子メール暗号化システムおよび電子メール暗号化プログラム

Also Published As

Publication number Publication date
JP2005204347A (ja) 2005-07-28

Similar Documents

Publication Publication Date Title
US6085323A (en) Information processing system having function of securely protecting confidential information
KR100753932B1 (ko) 컨텐츠 암호화 방법, 이를 이용한 네트워크를 통한 컨텐츠제공 시스템 및 그 방법
JP3086887B2 (ja) 情報伝達方法、情報発信方法、情報再生方法及び通信装置
JPH10214233A (ja) 情報処理装置、情報処理システム、情報処理方法、プログラム記憶装置、及び鍵の判定方法及び判定装置
US20110222691A1 (en) Recording system, playback system, key distribution server, recording device, recording medium device, playback device, recording method, and playback method
KR100683342B1 (ko) 디지털 데이터 기록장치, 디지털 데이터 메모리장치, 및제한정보를 포함하는 관리정보를 각 관리정보 송신/수신세션 내의 상이한 키를 이용하여 변환하는 디지털 데이터이용장치
EP1975841A2 (en) Method and system for mutual authentication between mobile and host devices
EP1120934B1 (en) Method and apparatus for key distribution using a key base
CN101533654A (zh) 用于处理信息的设备和方法
JPH11196084A (ja) 暗号化システム
WO2007001075A1 (ja) 暗号化処理装置、暗号化方法、復号化処理装置、復号化方法、及びデータ構造
CN103237010B (zh) 以加密方式提供数字内容的服务器端
JP2000347566A (ja) コンテンツ管理装置、コンテンツ利用者端末及びプログラムを記録したコンピュータ読み取り可能な記録媒体
CN103237011B (zh) 数字内容加密传送方法以及服务器端
CN101300776A (zh) 使用外部装置或服务和撤销机制的解密方法和设备以及解密支持方法和设备
JP3625354B2 (ja) ユニット装置、復号化ユニット装置、暗号化ユニット装置、暗号処理システム及び暗号化方法
JPH11346210A (ja) 暗号化方法及び装置、復号化方法及び装置、暗号化プログラムを記録した記録媒体、復号化プログラムを記録した記録媒体、電子署名方法、並びに電子署名検証方法
JP4302076B2 (ja) 鍵判定装置
JP2003216500A (ja) デジタル著作権管理システム
JPH10293726A (ja) 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法
JP3625355B2 (ja) 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法
JP2000243026A (ja) 情報記録方法、利用方法および配送方法
JP7086163B1 (ja) データ処理システム
JPH11352881A (ja) 暗号装置及び方法、データ復号装置及び方法、並びにデータ記憶システム
JP2001125481A (ja) 暗号通信端末、暗号通信センター装置及び暗号通信システム並びに記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050427

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080526

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: 20090331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090421

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130501

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140501

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees