JPH10260903A - グループ暗号方法、及びファイル暗号システム - Google Patents

グループ暗号方法、及びファイル暗号システム

Info

Publication number
JPH10260903A
JPH10260903A JP9065898A JP6589897A JPH10260903A JP H10260903 A JPH10260903 A JP H10260903A JP 9065898 A JP9065898 A JP 9065898A JP 6589897 A JP6589897 A JP 6589897A JP H10260903 A JPH10260903 A JP H10260903A
Authority
JP
Japan
Prior art keywords
file
key
data
encryption
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9065898A
Other languages
English (en)
Inventor
Hiromichi Ito
浩道 伊藤
Seiichi Suzaki
誠一 洲崎
Masato Arai
正人 荒井
Hisashi Umeki
久志 梅木
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9065898A priority Critical patent/JPH10260903A/ja
Publication of JPH10260903A publication Critical patent/JPH10260903A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【課題】本発明の目的は、複数のユーザーが同一のファ
イル利用する場合にも暗号化ファイルが一個で済み且つ
安全なファイル暗号システムおよびその制御方法を提供
することにある。 【解決手段】クライアント情報処理装置110上に、共
用ファイル暗号プログラム21とファイルI/Oフック
プログラム22を設け、アプリケーションプログラム2
3からのファイル操作要求をフックし、自動的に暗号化
復号化を行うようにした。また、暗号化の対象とするデ
ィレクトリと暗号化したファイルを復号可能なユーザー
リストとを予めユーザー毎に設定可能とした。これによ
り前記アプリケーションプログラム操作時にユーザーが
明示的に暗号化や復号化の操作を指示しなくても、ファ
イルの暗号化、復号化処理を行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置にお
けるデータ等のファイルの暗号化に係り、特に、複数の
ユーザーが復号可能な暗号ファイルを作成、あるいは復
号化する場合に好適な、グループ暗号方法、及びファイ
ル暗号システムに関する。
【0002】
【従来の技術】パーソナルコンピュータなどの情報処理
装置が普及するにつれて、各情報処理装置毎の磁気記憶
装置上に保管していたユーザーのプログラムファイル、
データファイルなどを一箇所の大容量磁気記憶装置に保
管し、各情報処理装置のユーザーがファイルを共用す
る、といった使い方が行われるようになってきた。一般
的には、ファイルサーバプログラムが搭載されたサーバ
情報処理装置と該サーバ情報処理装置へアクセスするた
めのクライアントプログラムが搭載された複数のクライ
アント情報処理装置をネットワークで接続し、サーバ情
報処理装置上のファイルを各クライアント情報処理装置
からアクセスし利用する。このようなファイル共用シス
テムは、従来は企業等の内部で閉じていたが、インター
ネットと呼ばれる世界的規模のネットワークの普及と共
に、このインターネットと企業内ネットワークを接続し
企業外からもアクセス可能とするケースが増大してい
る。上述のようなファイル共用システムの普及とネット
ワークの広域化は、ファイルサーバ上の共用ファイルの
セキュリティ即ち不正アクセスに対する防御の必要性を
従来にも増して高くしている。
【0003】サーバ情報処理装置上のファイルのセキュ
リティを保つ方法としては、ファイルサーバプログラム
が具備するユーザー認証機構と、該ユーザー認証に基づ
いた、各ファイルへのアクセス権限設定/確認機構を用
いるのが一般的である。しかし、この方式ではネットワ
ーク上を流れるデータの暗号化が行われないため、盗聴
による不正アクセスが可能である。そこで、より高いセ
キュリティが必要な場合には、格納しているファイル或
いはネットワーク上を流れるファイルのデータを暗号化
するのが一般的である。これらの暗号化方法について
は、「データ保護と暗号化の研究」一松信監修、日本経
済新聞社(昭58)などで詳しく開示されている。
【0004】一般に、情報の暗号化に際しては、暗号ア
ルゴリズムと暗号鍵とが必要である。暗号アルゴリズム
とは、平文と呼ばれる誰でも正しい内容を理解できる情
報を、暗号文と呼ばれる全く意味の分からない形の情報
に変換する処理手順(暗号化)、及びその逆変換を行う
処理手順(復号化)のことである。暗号鍵とは、上記暗
号アルゴリズムの変換処理で使用する制御パラメータで
あり、同じ暗号アルゴリズムを使って平文を暗号化して
も、その際に使用する暗号鍵が異なると異なる暗号文に
変換される。そのため、ある暗号文をもとの平文に正し
く復号化するためには、暗号化時に使用したものと同じ
暗号鍵、あるいは暗号化時に使用した暗号鍵と対になっ
た暗号鍵が必要となる。前者のように、暗号化時と復号
化時に全く同じ暗号鍵を使用する暗号アルゴリズムを対
称鍵暗号、あるいは秘密鍵暗号といい、後者のように、
暗号化時と復号化時に異なる暗号鍵を使用する暗号アル
ゴリズムを非対称鍵暗号、あるいは公開鍵暗号という。
【0005】さて、通常、一つの暗号システム利用環境
では、すべてのユーザが同一の暗号アルゴリズムを使用
し、暗号鍵を情報毎に使い分けることで機密保護を実現
する。例えば、個人的な情報、すなわち、暗号化した本
人だけが復号化することができればよい情報は、そのユ
ーザだけが保持している暗号鍵を使って暗号化すればよ
い。それに対して、二人あるいはそれ以上のユーザ間で
共有する情報、すなわち、暗号化した本人以外にもその
情報の正しい内容を知る権利をもつユーザがいる情報
は、それらすべてのユーザが共通に保持している暗号鍵
を使って暗号化することが必要となる。
【0006】したがって、暗号を使って情報の機密保護
を行うためには、使用した暗号鍵を正当な権利を持つユ
ーザ間で共有しつつ、かつそれ以外の第三者に対して秘
密に管理する手段が必要である。
【0007】暗号鍵を管理する上での課題として、以下
の二つがあげられる。
【0008】一つは、暗号鍵の保管方法である。前述の
ように、暗号鍵は第三者に対して秘密に保持しなければ
ならない。例えば、HDやFDに格納するファイルを暗
号化する場合、そのファイルをいつ復号化するかわから
ないので、暗号鍵もいっしょに保管しておくことが必要
となる。その際、ある一つの暗号鍵を使ってすべてのフ
ァイルを暗号化していると、もしもその暗号鍵を第三者
に知られてしまった場合に、すべてのファイルが復号可
能となってしまい、被害が甚大である。そのため、暗号
化の対象毎にそれぞれ異なる暗号鍵を使うといったこと
が望ましい。
【0009】しかしその場合、ファイルの数が増えると
それにしたがって保管しなければならない暗号鍵も増え
てしまい、暗号鍵の管理が煩雑となる。また、そのため
に暗号鍵が第三者に漏れる危険性も増加する。
【0010】ファイルを暗号化する際に使用する暗号鍵
の保管方法については、例えば「暗号と情報セキュリテ
ィ(編著:辻井重雄、笠原正雄;発行:昭晃堂)」に開
示されている。
【0011】上記開示例では、まずランダムに生成した
乱数でファイルを暗号化して暗号文ファイルを生成す
る。さらに、その乱数もマスタ鍵と呼ぶ秘密数値で暗号
化し、暗号文鍵(暗号化された暗号鍵)を生成する。そ
して、この暗号文鍵を暗号文ファイルと合わせてHDや
FDに格納する。暗号文ファイルを読み取る場合には、
まず併せて保管されている暗号文鍵をマスタ鍵で復号化
してから暗号文ファイルを復号化する。したがって、こ
の開示例では、マスタ鍵だけを秘密に保持すれば、各情
報をそれぞれ別々の暗号鍵で暗号化することができる。
【0012】もう一つの課題は、暗号鍵の共有方法であ
る。例えば、電子メールやファイルサーバに格納するフ
ァイル等、二人あるいはそれ以上のユーザ間で共有され
る情報を暗号化する場合、それらユーザ間で、あらかじ
め何らかの方法により暗号鍵を共有しておくことが必要
である。
【0013】この暗号鍵の共有という課題に対しては、
従来より様々な方法が提案されており、例えば「暗号理
論入門(著:岡本栄司、発行:共立出版)」において、
いくつかの方法(分類)が開示されている。
【0014】上記分類の一つとして、ICカード等の物
理的安全性が保証された装置を使った暗号鍵共有方法が
ある。この方法では、各ユーザはICカードを持ってお
り、そのカードの保護領域(ICカードの所有者自身で
も読み書きできない領域)には、すべてのICカードに
共通なコア情報(CK)と、そのICカードの所有者の
識別情報(ID)、さらにそれら情報とICカード外部
より入力された情報から暗号鍵を生成するプログラムが
格納されている。
【0015】例えば、ユーザAが、ユーザBおよびユー
ザCと共有するファイルを暗号化する場合、ユーザA
は、まずユーザBとユーザCのIDを自分のICカード
に入力する。ICカードでは、入力された二つのID
と、カード内に格納されているユーザAのIDおよびC
KからユーザA、B、C用の暗号鍵(KABC)が生成
され、出力される。KABCを得たユーザAは、次にラ
ンダムに生成した乱数でファイルを暗号化して暗号文フ
ァイルを生成する。さらに、その乱数をKABCで暗号
化し、暗号文鍵を生成する。そして、この暗号文鍵を暗
号文ファイルと合わせて、電子メールとしてユーザBや
ユーザCに送付したりファイルサーバに格納したりす
る。
【0016】電子メールやファイルサーバにある暗号文
ファイルを読み取る場合には、まず自分を除くユーザの
IDを自分のICカードに入力し、KABCを手に入れ
る。そして、暗号文鍵をそのKABCで復号化してから
電子メールや暗号文ファイルを復号化する。したがっ
て、この開示例では、自分のICカードだけをきちんと
保管すれば情報の機密性を確保することができる。ただ
し、上述のとおり、ICカード内部の情報やプログラム
等は、正当な所有者であっても改変できないことが必要
である。なぜならば、その条件が満たされていなけれ
ば、自分のIDを他ユーザのIDに書き換えることによ
って、そのユーザのすべての暗号鍵(そのユーザIDを
要素の一つとして生成するすべての暗号鍵)を手に入れ
ることができてしまうからである。
【0017】ICカードを使った暗号鍵共有方法の具体
的な実現方式としては、例えば、「暗号通信方法および
暗号通信システム(特願平4−319457、出願人:
株式会社日立製作所、日立ソフトウェアエンジニアリン
グ株式会社、出願日:平成4年11月4日)」に開示さ
れている。
【0018】上記開示例は、電子メールシステム等によ
り同報通信を行う場合において、通信者が任意の一人ま
たは複数の通信相手と暗号鍵を共有することができる暗
号通信方法及び暗号通信システムに関するものであり、
各ユーザは、グループ識別番号と個人識別番号という二
つの識別番号を持っており、それら識別番号に基づいて
生成した暗号鍵を使って情報の機密保護を実現してい
る。
【0019】以下に、図46を用いて上記従来方式を簡
単に説明する。
【0020】図46において、4600は端末4610
とICカード4620、およびリーダライタ4630か
らなる情報処理装置であり、4640は情報処理装置4
600が他の情報処理装置との間でデータのやり取りを
行うための通信網である。
【0021】平文4651を暗号化する場合、まず端末
4610は、宛先リスト4650と呼ばれるグループの
名称やそのグループに含まれるユーザの名称とそれらの
識別番号とを対応づけた表を参照して、平文4651の
正当な開示先を示す配布先情報4652を生成する。具
体的には、配布先情報4652は、0あるいは1のいず
れかの値を取るビット列であり、それぞれのビットが各
ユーザの識別情報と1対1対応している。すなわち、当
該ビットが1であるユーザには正しい情報を手に入れる
権利があり、当該ビットが0であるユーザには正しい情
報を手に入れる権利がないことを示す。
【0022】次に、端末4610は、上記配布先情報4
652をリーダライタ4630を介してICカード46
20に送る。
【0023】ICカード4620は、入力された配布先
情報4652と、カード内に記憶された識別情報465
5とを比較し、識別情報4655に対応した配布先情報
4652のビットが0であるか1であるかをチェックす
る。そして、当該ビットが1である場合にのみ、上記配
布先情報4652とカード内に記憶されたマスタ鍵46
56とからグループ鍵4657を生成し、端末4610
に返送する。
【0024】グループ鍵4657を得た端末4610
は、乱数4653を生成し、それで平文4651を暗号
化して暗号文4654を生成する。また、その乱数46
53をICカードより受け取ったグループ鍵4657で
暗号化して暗号文鍵4658を生成する。そして、配布
先情報4652と暗号文鍵4658、および暗号文46
54を組にして通信相手に送信する。
【0025】受信側で受け取った暗号文を復号化し、元
の正しい平文に復元する手順も、基本的には上記暗号化
手順と同様である。
【0026】また、本開示例では電子メールシステムへ
の適用を想定しているが、ファイルサーバ等に格納され
る共用ファイルの暗号化にも適用可能であることは明ら
かである。
【0027】また、前記インターネットにおいては、情
報発信機能を持つWWW(World−Wide We
b)サーバを利用し、ハイパーテキストと呼ばれる形式
の文書ファイルで情報を提供するのが一般的となってい
る。前記ハイパーテキストを解釈し、グラフィカルに表
示するソフトウェアはブラウザと呼ばれ、広く普及して
いる。前記ハイパーテキストの言語仕様としては、HT
ML(HyperText Markup Langu
age)が一般に用いられており、この言語仕様やHT
MLで記述されたファイルを表示するブラウザについて
は、「UNIXMAGAZINE」(1994.10)
pp.52−60などで詳しく述べられている。
【0028】なお、殆どのHTMLファイルは他のHT
MLファイルやイメージデータファイルとリンクしてお
り、前記ブラウザはHTMLファイルを受信した後で、
それがリンクしているイメージデータファイルを受信
し、該HTMLファイルの内容と合わせて同一画面に表
示する。これらHTMLファイルとそれにリンクされた
イメージデータファイルを総括してページと呼ぶ。
【0029】上記WWWサーバは、HTTP(Hype
rtext Transfer Protocol)と
いう通信規約に基づいて、上記HTMLファイルやイメ
ージデータをブラウザに送信する。この時、インターネ
ット上を流れるデータは暗号化されていないため、WW
Wサーバに機密情報を含むページを格納することはセキ
ュリティ上問題がある。インターネット上を流れるデー
タの暗号化手段としては、例えばSecureHTTP
やSSL(Secure Socket Layer)
などが挙げられる。また、これらの技術については、
「日経コミュニケーション」日経BP社(1995.1
2.4 p75−80)などに記載されている。
【0030】
【発明が解決しようとする課題】上述の暗号化は不正ア
クセスに対する防御という観点からは十分ではあるが、
複数のユーザーが同一のファイルを安全にアクセスでき
るようにするためには、ユーザー毎に異なる鍵を用いる
必要があり鍵の管理が困難であるという課題がある。ま
た、格納されているファイルを暗号化する場合には、鍵
毎に暗号化ファイルを作成する必要があり、記憶装置の
記憶容量を多く消費してしまうという課題がある。
【0031】また、図46で示した従来例では、例え
ば、非常に多くのユーザが利用するシステムにおいて、
以下のようないくつかの問題がある。
【0032】第1の問題は、配布先情報の増加である。
上記従来技術では、各ユーザに識別情報として1ビット
ずつ割り当てるために、ユーザ数が増えるにしたがって
配布先情報のビット数が増えてしまう。また、一人のユ
ーザに対して暗号文を送信する場合と数千人、数万人の
ユーザに対して送信する場合に同じサイズの配布先情報
が必要となり、無駄が多い。
【0033】第2の問題は、ユーザの利便性である。例
えば、企業においては、ある情報は部長以上の人ならば
見ることができ、また別の情報は総務課の女性だけが見
ることができるなどといった場合がある。つまり、個人
名以外にも所属や役職などといった個々のユーザを区分
するためのグループ識別情報(それらユーザをグループ
に分けている識別情報)、あるいはそれらの組み合わせ
によって、情報の開示先を木目細かく制御する必要があ
るということである。しかし、上記従来技術では、例え
ば、部長以上といったら誰なのか、総務課の女性といっ
たら誰なのか、ということをユーザが自分自身で考え
て、適切な配布先を指定しなければならない。
【0034】また、ファイル共用システムの場合、クラ
イアント情報処理装置が必ずしも復号化ソフトウェアプ
ログラムを具備しているとは限らない。暗号化されたフ
ァイルを復号化ソフトウェアが具備されていない情報処
理装置上のアプリケーションプログラムで読み出した場
合、該情報処理装置のモニタ画面上に意味のない文字や
記号が表示されたり、該アプリケーションプログラムが
異常動作することがあるという課題がある。
【0035】また、格納するファイルを暗号化する方法
では、ユーザーが暗号化操作を忘れてしまい、不正なア
クセスから防御すべきファイルを平文で格納してしまう
という課題がある。
【0036】また、格納するファイルを暗号化する方法
では、そのファイルをいつまで秘密に保つかを指定でき
ないという課題がある。
【0037】また、格納するファイルを暗号化する方法
では、そのファイルの復号権をもつユーザーにいつまで
復号を許すかを指定できないという課題がある。
【0038】また、通信時にネットワーク上のデータを
暗号化する方法においては、暗号化処理のためアクセス
速度が低下してしまうという課題と、WWWサーバが機
密情報を平文ファイルで管理しているため、該平文ファ
イルを管理する情報処理装置に直接アクセスすることで
機密情報が漏れてしまうという課題とがある。
【0039】さらに、WWWサーバからプロキシサーバ
を経由して機密情報ファイルを平文のまま受信すると、
機密情報ファイルがプロキシサーバ上にキャッシュされ
るため、直接プロキシサーバにアクセスすることで機密
情報が漏れてしまうという課題がある。
【0040】また、上記ブラウザを具備するクライアン
ト情報処理装置が必ずしも復号化ソフトウェアプログラ
ムを具備しているとは限らない。暗号化されたファイル
を復号化ソフトウェアが具備されていない情報処理装置
上のブラウザで読み出した場合、該情報処理装置のモニ
タ画面上に意味のない文字や記号が表示されたり、該ブ
ラウザプログラムが異常動作することがあるという課題
がある。
【0041】そこで、本発明の目的は、個人的な情報と
複数のユーザによって共有される情報とを、同様の手段
により、ユーザにあまり負担を掛けることなく適式に暗
号化して安全性を高めることができるグループ暗号方法
を提供することにある。
【0042】また本発明の他の目的は、非常に多くのユ
ーザが利用するシステムにおいて、比較的少数のユーザ
が利用するシステムと同様な情報の機密保護を、少ない
システム負荷で効率的に実現するためのグループ暗号方
法を提供することにある。
【0043】また本発明の他の目的は、企業情報システ
ムで利用する場合に、個人名だけでなく所属や役職など
といったグループ情報、およびそれらの任意の組み合わ
せによって情報の開示先、すなわち暗号を解読すること
ができるユーザを木目細かく指定可能なグループ暗号方
法を提供することにある。
【0044】また本発明の他の目的は複数のユーザーが
同一のファイル利用する場合にも暗号化ファイルが一個
で済み且つ安全なファイル暗号システムおよびその制御
方法を提供することにある。
【0045】また、本発明の他の目的は、複数のユーザ
ーが同一のディレクトリ内のファイルを暗号化する場合
に、復号化を許可するユーザーをユーザー毎に設定可能
なファイル暗号システムおよびその制御方法を提供する
ことにある。
【0046】また本発明の他の目的は、復号化ソフトウ
ェアを具備していないクライアント情報処理装置におい
て暗号化されたファイルを読み出した場合にも、異常動
作することのないファイル暗号システムおよびその制御
方法を提供することにある。また本発明の他の目的は、
ユーザーが暗号化を忘れることのないファイル暗号シス
テムおよびその制御方法を提供することにある。
【0047】また本発明の他の目的は、ファイルの暗号
化において、そのファイルをいつまで秘密に保つかを指
定可能であり、該指定にしたがって復号可否を制御可能
なファイル暗号システムおよびその制御方法を提供する
ことにある。
【0048】また本発明の他の目的は、ファイルの暗号
化において、そのファイルの復号権をもつユーザーにい
つまで復号を許すかを指定可能であり、該指定にしたが
って復号可否を制御可能なファイル暗号システムおよび
その制御方法を提供することにある。
【0049】また本発明の他の目的は、複数のユーザー
が同一のページをWWWサーバから受信する場合にも暗
号ファイルが1ファイルにつき一個で済み、且つ安全な
暗号ファイル受信システム及びその制御方法を提供する
ことにある。
【0050】また本発明の他の目的は、復号化ソフトウ
ェアを具備していないクライアント情報処理装置におい
て暗号化されたファイルを読み出した場合にも、異常動
作することのない暗号ファイル受信システム及びその制
御方法を提供することにある。
【0051】さらに本発明の他の目的は、受信した暗号
ファイルの復号化処理を、ユーザーがファイル毎に明示
的に指示する必要のない暗号ファイル受信システム及び
その制御方法を提供することにある。
【0052】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係わるグループ暗号方法は、与えられた平
文を、期待される情報開示先を示す宛先リストと呼ぶ情
報に基づいて生成したグループ鍵によって暗号化する暗
号方法であって、上記グループ暗号利用環境は、該環境
を構築、管理するシステム管理者と、一般ユーザとから
なり、該システム管理者は、あらかじめ、マスタ鍵と呼
ぶ全システム共通の秘密数値と、個々のユーザを他のユ
ーザと区分するグループ識別情報(例えば、名前や性
別、年齢、所属、役職など)とを決定し、各ユーザに対
して、該グループ識別情報の要素であるユーザ識別情報
(例えば、日立太郎、男、35歳、人事部、課長など)
を割り当て、該ユーザ識別情報(ID情報)とマスタ鍵
とを個人用媒体に格納して各ユーザに配布するようにす
る。
【0053】平文を暗号化しようとするユーザ(暗号
者)は、宛先リスト生成手段を用いて期待される情報開
示先であるユーザ(復号者)のユーザ識別情報、または
複数の該ユーザ識別情報の組み合わせから宛先リストを
生成し、グループ鍵生成手段を用いて該宛先リストに基
づくグループ鍵を生成し、暗号化手段を用いて平文を該
グループ鍵で暗号化して暗号文を生成し、情報伝達手段
を用いて該宛先リストと暗号文とを組にして復号者に渡
すようにする。
【0054】さらに、復号者は、グループ鍵生成手段を
用いて受け取った宛先リストに基づくグループ鍵を生成
し、復号化手段を用いて受け取った暗号文を該グループ
鍵で復号化して平文を生成するようにする。
【0055】上記処理過程において、暗号者と復号者は
同じユーザでもよく、また異なるユーザでもよい。さら
に、暗号化対象は、個人的な情報でもあってもよく、ま
た複数のユーザによって共有される情報でもあってもよ
い。つまり、本発明によれば、個人的な情報と複数のユ
ーザによって共有される情報とを、同様の手段により、
ユーザにあまり負担を掛けることなく適式に暗号化して
安全性を高めることができる。
【0056】本発明において、宛先リスト生成手段は、
例えば、“性別が女性であり、かつ所属が人事部あるい
は経理部である”というように、暗号者が指定した一つ
あるいは複数のユーザ識別情報から、それらを論理和演
算(OR演算)や論理積演算(AND演算)で結合した
条件式(上記例では、(人事部AND女性)OR(経理
部AND女性))である宛先リストを生成するようにす
る。
【0057】さらに、グループ鍵生成手段は、暗号者あ
るいは復号者の個人用媒体から、該暗号者あるいは復号
者のユーザ識別情報を読み取り、該ユーザ識別情報と上
記宛先リストとを照合し、暗号者あるいは復号者が上記
宛先リストが示す条件に合致したときのみ、該宛先リス
トと、個人用媒体に格納されたマスタ鍵とからグループ
鍵を生成するようにする。
【0058】また、暗号化手段および復号化手段は、与
えられた平文/暗号文を上記グループ鍵で暗号化/復号
化するようにする。
【0059】以上のような手段を用いることにより、本
発明では、非常に多くのユーザが利用するシステムにお
いても、グループ鍵生成の基となる宛先リストを比較的
短くすることができ、効率的である。さらに、個人名だ
けでなく所属や役職等も含んだユーザ識別情報およびそ
れらの任意の組み合わせによって情報の開示先、すなわ
ち暗号を解読することができるユーザを木目細かく指定
することができ、便利である。
【0060】上記暗号化手段は、与えられたグループ鍵
を用いて暗号化を行うのではなく、暗号者が生成した乱
数を用いて平文の暗号化を行ってもよい。ただし、その
場合には、該乱数をグループ鍵で暗号化して暗号文鍵を
生成し、該暗号文鍵を宛先リストや暗号文と組にし、情
報伝達手段を用いて復号者に渡すようにすることが必要
になる。さらに、復号化手段は、宛先リストに基づいて
生成したグループ鍵を用いて、暗号文鍵を復号化して上
記乱数を復元し、該乱数を用いて暗号文を復号化するよ
うにすることが必要になる。 しかし、これにより、ユ
ーザの負担を減らすことができる。何らかの理由により
情報の開示先を変更する必要が発生した場合に、比較的
データ量が大きく、負担のかかる情報そのものの再暗号
化を行うことなく、データ量が少なく、負担のかからな
い暗号文鍵の再暗号化を行うだけでよいからである。
【0061】情報伝達手段としては、例えば、電子メー
ルといった通信アプリケーションを用いて直接的に伝達
する場合や、暗号者がファイルサーバに書き込み、復号
者がファイルサーバから読み取るという形で伝達する場
合などがある。また、暗号者と復号者が同じ場合には、
端末に接続されたHDやFDに記憶しておくことも上記
情報伝達の役目を果たしている。
【0062】個人用媒体は、可搬である程度の記憶領域
をもち、何らかの手段によりパソコン等とデータのやり
取りできるものを用いるとよい。個人用媒体としては、
例えば、ICカードやFDを用いる。
【0063】また、個人用媒体に前記ユーザ識別情報や
マスタ鍵と共に、該個人用媒体の正当な所有者であるこ
とを確認するためのパスワードを記憶しておき、該ユー
ザ識別情報とパスワードを使って本人確認処理を行い、
正しいユーザであることが確認されたときだけ、上記個
人用媒体を利用可能となるようにすれば、さらに情報の
安全性を確保できる。本人確認処理は、パスワードの代
わりに指紋や網膜パターンのような生物学的特徴によっ
て行うようにしてもよい。
【0064】また、上記他の目的は、少なくともファイ
ルへの入出力制御機能を持つオペレーティングシステム
(OS)と、前記ファイルを格納する記憶装置とを具備
する情報処理装置において、暗号化を行う対象ディレク
トリを予めユーザー毎に複数設定可能な暗号化ディレク
トリ記憶手段と、前記記憶手段の記憶データを暗号化す
る手段と、前記OS上で動作するアプリケーションプロ
グラムから前記ディレクトリ内のファイルへの書き込み
データを暗号化する暗号化手段とを設けることによって
達成される。
【0065】また、上記他の目的は、少なくともファイ
ルへの入出力制御機能を持つオペレーティングシステム
(OS)と、前記ファイルを格納する記憶装置と、前記
ファイルを暗号化するファイル暗号化手段と、前記ファ
イルを復号化する復号化手段とを具備する情報処理装置
において、前記ファイル暗号化手段は、アプリケーショ
ンプログラムが解釈し処理する文法に従って記述された
平文ファイルのデータ暗号化において、前記文法におけ
る前記アプリケーションプログラム処理時に処理対象外
として無視する注釈文とするための記述子を前記暗号化
後のデータに付加し暗号ファイルとして格納し、前記フ
ァイル復号化手段は、前記暗号ファイルのデータ復号化
において、前記注釈文のための記述子によって注釈文と
されたデータ部分を復号化し、暗号化前の平文ファイル
のデータとして格納することによって達成される。
【0066】また、上記他の目的は、前記アプリケーシ
ョンプログラムから前記OSに発行されるファイル操作
要求をフックするフック手段を設け、前記ファイル操作
要求発行時に自動的に暗号化あるいは復号化を行う手段
を設けることによって達成される。
【0067】また、上記他の目的は、暗号化および復号
化を行う際に用いる鍵を生成するための情報に鍵生成の
有効期限を付加する手段と、前記鍵を生成する際に前記
有効期限をチェックし、有効期限を超過していた場合に
は前記鍵生成を行わない鍵生成手段とを設けることによ
って達成される。
【0068】また、上記他の目的は、暗号化および復号
化を行う際に用いる鍵を生成するための情報にユーザー
或いはグループ毎の復号権限制御を行う期限を付加する
手段と、前記鍵を生成する際に前記期限をチェックし、
前記期限を超過していた場合にはユーザー或いはグルー
プ毎の復号権限制御を行わない鍵生成手段とを設けるこ
とによって達成される。
【0069】また、上記他の目的は、少なくとも通信制
御機能とファイルへの入出力制御機能を持つオペレーテ
ィングシステム(OS)と、前記ファイルを格納する記
憶装置とを具備する第一の情報処理装置と、該第一の情
報処理装置とはネットワークで接続され、少なくとも前
記第一の情報処理装置上の記憶装置からファイルを受信
するための通信制御機能を持つオペレーティングシステ
ム(OS)を具備する第二の情報処理装置から構成され
るシステムにおいて、前記ファイルを暗号化して該暗号
ファイルに情報開示先となるユーザーのリストを添付す
るファイル暗号化手段と、前記第二の情報処理装置を利
用するユーザーが、前記記憶装置に登録された前記暗号
ファイルを受信したときに、該暗号ファイルを復号化す
る受信ファイル復号化手段と、前記ユーザーが前記ユー
ザーリストに含まれている場合には、前記受信ファイル
復号化手段を呼び出し、含まれていない場合には復号化
を行わないよう制御する復号権利判別手段とを設けるこ
とによって達成される。
【0070】また、上記他の目的は、少なくともファイ
ルへの入出力制御機能を持つオペレーティングシステム
(OS)と、前記ファイルを格納する記憶装置と、前記
ファイルを暗号化するファイル暗号化手段とを具備する
第一の情報処理装置において、前記ファイル暗号化手段
は、アプリケーションプログラムが解釈し処理する文法
に従って記述された平文ファイルのデータ暗号化におい
て、前記文法における前記アプリケーションプログラム
処理時に処理対象外として無視する注釈文とするための
記述子を前記暗号化後のデータに付加し暗号ファイルと
して格納し、前記受信ファイル復号化手段は、前記暗号
ファイルのデータ復号化において、前記注釈文のための
記述子によって注釈文とされたデータ部分を復号化し、
暗号化前の平文ファイルのデータとしてアプリケーショ
ンプログラムに渡すことによって達成される。
【0071】また、上記他の目的は、前記第二の情報処
理装置において、前記アプリケーションプログラムから
前記OSに発行されるデータ送受信要求をフックするフ
ック手段を設け、該フック手段により前記アプリケーシ
ョンプログラムより先に受信データをチェックし、該受
信データが前記暗号ファイルのデータであれば復号化を
行い、前記アプリケーションプログラムに渡すことによ
って達成される。
【0072】
【発明の実施の形態】以下、本発明の一実施例を図を用
いて説明する。
【0073】まず、全体のシステム構成を説明する。図
1は、本発明の共用ファイル暗号システムの一構成例で
ある。110はクライアント情報処理装置、120はサ
ーバ情報処理装置である。サーバ情報処理装置120に
は、中央処理装置(CPU)1b、メモリ2b、LAN
コントローラ3b、ディスクコントローラ4b、磁気デ
ィスク5bが具備されている。前記サーバ情報処理装置
120の起動時には、オペレーティングシステム(O
S)20bおよびファイルサーバプログラム25が、デ
ィスクコントローラ4bを介して磁気ディスク5bから
メモリ2b上にロードされる。クライアント情報処理装
置110には、CPU1a、メモリ2a、LANコント
ローラ3a、ディスクコントローラ4a、磁気ディスク
5a、ICカードコントローラ6がそれぞれ具備されて
いる。前記クライアント情報処理装置110の起動時に
は、OS20a、クライアントプログラム24、共用フ
ァイル暗号プログラム21、ファイルI/Oフックプロ
グラム22が、前記ディスクコントローラ4aを介して
前記磁気ディスク5aから前記メモリ2a上にロードさ
れる。また、アプリケーションプログラム23は、前記
クライアント情報処理装置110のユーザー(以下単に
ユーザーと呼ぶ)の指示によって前記ディスクコントロ
ーラ4aを介して前記磁気ディスク5aから前記メモリ
2a上にロードされる。前記ファイルI/Oフックプロ
グラム22は、アプリケーションプログラム23が前記
OS1aに発行するファイルI/O APIをフック
(横取り)し、ファイルデータの暗号化・復号化をバッ
クグラウンドで自動的に行うものである。
【0074】前記サーバ情報処理装置120と前記クラ
イアント情報処理装置110は、ローカルエリアネット
ワーク(LAN)101を介して相互に接続されてお
り、各々のLANコントローラ3を介して通信を行う。
図1では一台のクライアント情報処理装置110を示し
たが、実際には、同じ構成のクライアント情報処理装置
110が複数前記LAN101に接続されており、これ
らのクライアント情報処理装置110間で、前記サーバ
情報処理装置120の前記磁気ディスク5bに格納され
たファイルを共用する。ユーザーは前記共用を行うた
め、前記クライアントプログラム24を介して前記磁気
ディスク5b上の共用ファイルをアクセスする。
【0075】また、クライアント情報処理装置110の
ICカードコントローラ6は、ICカード130が脱着
可能となっている。前記ICカード130内には、CP
U1c、不揮発性メモリ7、入出力インタフェース8が
具備されている。前記不揮発性メモリ7には、アクセス
制御プログラム30、グループ暗号プログラム28、I
D情報29、マスタ鍵31が書き込まれている。前記不
揮発性メモリ7の内容は、前記入出力インタフェース8
を介して外部からアクセスすることができる。ただし、
不正なアクセスから前記不揮発性メモリ7の記憶内容を
保護する為、前記CPU1cによるユーザー認証制御が
必ず介在する仕組みとなっている。
【0076】図27は、前記共用ファイル暗号プログラ
ム21と前記ファイルI/Oフックプログラム22を構
成するプログラムルーチンを示す図である。前記共用フ
ァイル暗号プログラム21は、前記ICカード130へ
のログイン、ログアウトを行うログイン制御ルーチン1
000、ログアウト制御ルーチン1100、ユーザーが
ファイルの暗号化をその都度明示的に指示し暗号化する
手動ファイル暗号化ルーチン2000、前記手動ファイ
ル暗号化をHTML(Hyper TextMarku
p Language)で記述した共用ファイル向けに
アレンジしたHTMLファイル暗号化ルーチン2100
から構成される。前記ファイルI/Oフックプログラム
22は、ファイルオープンフックルーチン1200、フ
ァイルクリエイトフックルーチン1300、ファイルリ
ードフックルーチン1400、ファイルライトフックル
ーチン1500、ファイルクローズフックルーチン16
00、ファイルリネームフックルーチン1700から構
成される。
【0077】図2は、前記ID情報29の内容の一例を
示す図である。ここでは、カテゴリ毎の内容を示すデー
タとそのコードを10組まで登録できるようになってい
る。実際に前記不揮発性メモリ7に記憶するのは、デー
タとコードの値だけである。
【0078】次に、上記グループ暗号プログラム28の
動作について説明する。グループ暗号では、復号化を許
す相手の宛先リストを作成し、該宛先リストをハッシュ
関数に入力することによって得られるハッシュ値を、暗
号化・復号化の鍵に用いる。前記鍵をグループ鍵51と
呼ぶ。本実施例における宛先リストは、前記ID情報2
9を条件式で連結した形で表現する。具体的には、「カ
テゴリ番号」「データコード識別子」「演算子」「デー
タ」を一組とし、カンマ(、)で区切って並べる。この
カンマは論理和の意味を持つ。演算子としては、等しい
(=)の他、大小(>、<)や論理積(^)を用いるこ
とができる。例えば、図2で示した前記ID情報29の
定義を用いた場合、 「システム研究所の第四部の主任以上と暗号太郎」 という宛先に対する宛先リストは、 「5C=676^6C=04^8C>=5、2D=暗号
太郎」 となる。
【0079】図3は、前記宛先リストのハッシュ値を計
算し前記グループ鍵51を作成する手順の一例を示す図
である。31はマスタ鍵、41は宛先リスト、51はグ
ループ鍵、32はハッシュ関数である。まず、前記ID
情報を元に作成した宛先リストのデータ長が8の倍数の
バイト数になっていない場合には不足分を空白文字で補
い更に8バイトの乱数を付加する。宛先リストが丁度8
の倍数であった場合には単に8バイトの乱数を付加す
る。8の倍数とした宛先リストを以下では単に宛先リス
ト41と呼ぶ。このように乱数を付加することによっ
て、同じ宛先でも毎回異なるグループ鍵が生成されるの
でセキュリティを向上することができる。
【0080】次にハッシュ関数32の動作を簡単に説明
する。まず、前記宛先リスト41を先頭から8バイトず
つブロック暗号方式によって暗号化し、該暗号化の結果
と初期値との排他的論理和を取り次の段のブロック暗号
の初期値として用いる。この処理を前記宛先リスト41
の最後まで繰り返し、最後の段から出力される暗号化結
果と初期値との排他的論理和をグループ鍵51とする。
なお、前記ブロック暗号では、8バイトのマスタ鍵31
と8バイトの初期値を用いて入力データの暗号化を行
う。なお、データを暗号化するユーザーと復号化するユ
ーザーは、同じ値の前記マスタ鍵31を使用する。
【0081】図4は、前記ICカード130内の前記グ
ループ暗号プログラム28の処理内容を示すフロー図で
ある。グループ暗号プログラム28では、上述のグルー
プ鍵生成方法を用いて前記宛先リスト41からグループ
鍵51を作成する。ステップ401では、前記ICカー
ド130のアクセス制御プログラム27に対するログイ
ンが完了しているかどうかを検査し、完了していなけれ
ばステップ411でエラーコードを設定して本プログラ
ムを終了する。前記ログインが完了している場合には、
入力された宛先リスト41をステップ402で解析し、
前記ID情報29に該当する宛先があるかどうかを検査
する。該検査の結果宛先が該当していればステップ40
3を実行し、該当していなければステップ412でエラ
ーコードを設定し本プログラムを終了する。ステップ4
03では、図3で説明した方法でグループ鍵を生成す
る。以上の処理によって、ICカード130にログイン
済みで且つ前記宛先リストの宛先としてICカード13
0内のID情報29に該当するものがある場合のみグル
ープ鍵を生成するように制御することができる。
【0082】以上説明したグループ鍵51を用いてデー
タを暗号化することによって、前記宛先リスト41に含
まれるID情報29を持つ者だけが該データの復号化を
可能とすることができる。
【0083】次に、上述のグループ暗号をファイルの暗
号に適用した例について説明する。図5は、ファイルの
暗号化手順と暗号化後のファイルの構成を示す図であ
る。501は暗号化する前の平文ファイル、502は暗
号化後の暗号文ファイルである。61は乱数として生成
された実行鍵、504は前記実行鍵61を鍵として前記
ファイル501の内容を暗号化した暗号文データ、50
5は暗号文データ504に付加するヘッダ、506から
511は前記ヘッダ505の内容であり、506は使用
した暗号化方式を示す文字列、507は前記平文ファイ
ル501のファイル名、508前記平文ファイル501
のファイルサイズ、509は前記実行鍵61をグループ
鍵51で暗号化した暗号化実行鍵、510は前記宛先リ
スト41のサイズ、511は前記宛先リスト41を前記
マスタ鍵31で暗号化した暗号化宛先リストである。前
記暗号文ファイル502は、図6に示すように上記手順
と全く逆の手順で復号化することができる。上述のファ
イル暗号化においては、前記グループ鍵51は前記実行
鍵61を暗号化する為に用い、ファイルデータの暗号化
には前記実行鍵61を用いた。したがって、前記宛先リ
スト41を変更する場合には、まず前記実行鍵61を変
更前の前記宛先リスト41で生成した前記グループ鍵5
1で復号化し、次に変更後の前記宛先リスト41から生
成した前記グループ鍵51で再暗号化すればよい。これ
により、前記宛先リスト41の変更時にも前記実行鍵6
1に比べデータ量の多いファイルデータは再暗号化が不
要とすることができ、変更処理を高速に行うことができ
る。
【0084】次に、上記ファイルの暗号化を用いてユー
ザーが操作するファイルを自動的に暗号化・復号化する
機能について説明する。ここで用いるファイルシステム
は、最近のOSが具備する一般的なものであり、ツリー
状の階層構造を持つ。ツリーの節の部分はディレクトリ
と呼ばれ、各ディレクトリに存在するファイルはディレ
クトリファイルと呼ばれるファイルによって管理され
る。ファイルの物理的な格納場所は、前記クライアント
情報処理装置110の前記磁気ディスク5aあるいは前
記サーバ情報処理装置120の前記磁気ディスク5bの
どちらでもよい。図7はユーザーから見た論理的なディ
レクトリの構成を示す図である。本実施例のファイルの
自動暗号化、復号化を導入していない場合は前記論理的
なディレクトリ構成と物理的なディレクトリ構成は同一
である。図8は、ファイルの自動暗号化、復号化を導入
した後の物理的なディレクトリ構成を示す図である。ユ
ーザーがファイルの自動暗号化、復号化を行うディレク
トリには、ファイル名としてユーザー名とその末尾
に「.dei」を付加したファイル名で宛先リストファ
イル901を作成する。また、全ユーザーに共通な宛先
を設定して暗号化を行う場合には、「default.
dei」というファイル名で宛先リストファイル901
を作成する。このように前記宛先リストファイル901
を作成しておくと、前記宛先リストファイル901に記
載された宛先リストを宛先としたファイルの自動暗号化
が行われ、連番とその末尾に「.ssf」を付加したフ
ァイル名で格納される。例えば、図7のファイル「os
aka.doc」は「0001.ssf」として格納さ
れる。また前記自動暗号化が行われたディレクトリに
は、「fileinfo.dei」という名称の暗号フ
ァイル情報ファイル902が作成される。図9は、前記
宛先リストファイル901、前記暗号ファイル情報ファ
イル902の内容の一例を示す図である。各ユーザーの
宛先リストファイル901は、該ユーザーを宛先とした
グループ暗号で暗号化している。また、「defaul
t.dei」は、前記マスタ鍵31を用いて暗号化して
いる。これによって、宛先リストファイルの不正な読み
出しや改竄を防止できる。一方、暗号ファイル情報ファ
イル902には、暗号化後のファイル名、暗号化前の平
文ファイル名、暗号化前の平文ファイルのサイズが書き
込まれている。上述のファイル名称はあくまでも一例で
あり他の名称を用いてもよい。
【0085】以下、図8に示したような物理的構造を持
つファイルを図7に示した論理的ファイル構造として扱
うための処理プログラムの詳細を説明する。
【0086】まず、共用ファイル暗号プログラム21内
のログイン処理ルーチン1000、ログアウト処理ルー
チン1100について説明する。図10は、前記ICカ
ード130へのログイン処理ルーチン1000の処理フ
ローを示す図である。まず、ステップ1001でユーザ
ーがIDとパスワードの入力を行い、ステップ1002
では前記ユーザーIDと前記パスワードを用いて前記I
Cカード130にログインを試み、ステップ1003で
前記ログインが成功したかどうかを判定する。前記判定
の結果、失敗の場合はステップ1009を実行し、3回
続けて失敗するまではステップ1001以下を繰り返す
よう制御する。ログインに成功すると、ステップ100
4でイベント待ち状態となる。イベントが到着すると、
ログアウト要求かどうかを調べ、ログアウト要求ならば
ステップ1008でログアウト処理を行い終了する。前
記イベントがログアウト要求でなければステップ100
6でタイマイベントかどうかを調べ、タイマイベントで
なければステップ1004に戻る。タイマイベントであ
った場合には、ICカード130が前記クライアント情
報処理装置110に接続されているかどうかを調べ、接
続されていればステップ1004に戻り、接続されてい
ない場合は、ステップ1008のログアウト処理を実行
し、終了する。このように、タイマイベントを用いて定
期的に前記ICカード130の接続を調べることによっ
て前記ICカード130を抜いた際のログアウト処理を
自動化することができる。
【0087】図11は、前記ICカード130からのロ
グアウト処理ルーチン1100の処理フローを示す図で
ある。まず、ステップ1101でオープン中の暗号ファ
イルがあるかどうかを調べ、あればステップ1102で
ユーザーにログアウトを中止するか否かを尋ねる。ログ
アウト処理を中止する場合には、本ルーチンを終了す
る。中止しない場合には、ステップ1103でオープン
中の暗号ファイルのクローズ処理を行い、処理を継続す
る。ステップ1104では、ICカード130がクライ
アント情報処理装置110に接続されているかどうかを
調べ、接続されていればステップ1105でICカード
130に対してログアウトコマンドを送出し処理を終了
する。接続されていなければそのまま処理を終了する。
【0088】次に、前記ファイルI/Oフックプログラ
ム22内の各ルーチンの処理について説明する。まず、
ファイルのデータ入出力とその管理方法から説明する。
【0089】図18は、本実施例のファイル暗号化・復
号化におけるデータの入出力方法を示す図である。前記
暗号文ファイル502の前記暗号文データ504は、暗
号文ブロックバッファ82のサイズ単位で前記暗号文ブ
ロックバッファ82との間で読み出し・書き込みが行わ
れる。前記暗号文ブロックバッファ82のデータは復号
化し平文ブロックバッファ81に転送される。また、前
記平文ブロックバッファ81のデータは暗号化し前記暗
号文ブロックバッファ82に転送される。
【0090】図19は、オープン中の暗号ファイルを管
理するためのファイルハンドルテーブル90である。ハ
ンドル番号1902、オープンモード1903、平文フ
ァイルポインタ1904、暗号ファイルポインタ190
5、バッファポインタ1906、更新フラグ1907、
宛先リスト41の各情報を、オープン中の各ファイル毎
にポインタ1901を用いてリスト構造で記憶してい
る。ここでハンドル番号1902は、ファイルをオープ
ンした際に前記OS20から与えられる管理番号、オー
プンモード1903とは、読み出し専用、書き込み専
用、あるいは読み書き用などのモードを示す値である。
前記平文ファイルポインタ1904は復号化後の平文フ
ァイル501に対するリード・ライトを行う際の起点を
示すものであり、平文ファイル501の先頭からのバイ
ト数で示される。なお、平文ファイル501は、平文ブ
ロックバッファ81を通して読み書きする論理的なファ
イルとして存在する。暗号ファイルポインタ1905
は、暗号文ファイルに対するリード・ライトを行う際の
起点を示すものであり、502のヘッダ505を含む先
頭からのバイト数で示される。前記暗号ファイルポイン
タ1905は、ファイルの最後のブロック部分以外では
バッファサイズ単位で増減する。バッファポインタ19
06は、平文ブロックバッファ81および暗号文ブロッ
クバッファ82に転送されているデータの先頭が前記平
文ファイル501のどの部分に該当するデータであるか
を示す値であり、前記平文ファイル501の先頭からの
バイト数が格納してある。前記バッファポインタ190
6はバッファサイズの単位でのみ増減する。更新フラグ
1907は、前記平文ブロックバッファ81のデータ
が、ライトI/O操作によって更新されているが暗号文
ブロックバッファ82への転送と暗号文ファイル502
への書き込みが完了していない状態を示すフラグであ
る。
【0091】図12は、前記ファイルオープンフックル
ーチン1200の処理フローを示す図である。まず、ス
テップ1281で、フックしたファイルのディレクトリ
に前記暗号ファイル情報ファイル902が存在するか否
かを調べ、存在すれば前記暗号ファイル情報ファイル9
02の内容を参照し、フックしたファイルのファイル名
が登録されているか否かを調べる。登録されていれば、
ステップ1282で対応する暗号文ファイル502のフ
ァイル名称にファイル名称を変更する。次に、ステップ
1201で前記OS20aに対しファイルオープン要求
を発行する。該オープンが成功したかどうかをステップ
1202で調べ、失敗した場合は本ルーチンを終了す
る。次にステップ1203で、ICカード130へのロ
グインが終了しているかどうかを調べ、ログイン済みの
場合は、ステップ1207に処理を移す。ログイン済み
でなかった場合には、ステップ1204で当該ファイル
が暗号ファイルであるかどうかを調べ、暗号ファイルで
なかった場合は本ルーチンの処理を終了する。暗号ファ
イルの場合には、ステップ1205で前記ログイン処理
ルーチン1000を呼び出すことによってICカード1
30へのログイン処理を行う。ステップ1206では、
前記ログイン処理が成功したかどうかを調べ、成功しな
かった場合はステップ1215でメッセージ2 125
2を表示して本ルーチンを終了する。ログインに成功し
た場合は、ステップ1207で当該ファイルの復号権限
があるか、即ち宛先にログイン中のユーザーが含まれて
いるかどうかを判定する。前記判定は暗号ファイルの前
記ヘッダ505の前記暗号化宛先リスト511を復号化
することによって前記宛先リスト41を取得し、該宛先
リスト41を前記ICカード130の前記グループ暗号
プログラム28に入力し、グループ鍵51が出力される
かエラーコードが出力されるかで行う。復号権限がない
場合には、ステップ1215でメッセージ2 1252
を表示して本ルーチンを終了する。復号権限がある場合
にはステップ1209において、当該ユーザーまたは共
通の前記宛先リストファイル901が当該ディレクトリ
に存在するかどうかを調べ、存在すれば暗号化対象ディ
レクトリであると判定する。暗号化対象ディレクトリで
なければステップ1216を実行し、フックしているフ
ァイルが暗号ファイルであるかどうかを調べ、暗号ファ
イルでなければ本ルーチンを終了する。暗号ファイルの
場合は、ステップ1217でメッセージ3 1253を
表示し、処理を中断するか否かをユーザーに問い合わせ
る。上記ステップ1209で暗号化対象ディレクトリと
判定した場合は、ステップ1210でフックしているフ
ァイルが暗号ファイルかどうかを調べ、暗号ファイルで
なかった場合には、ステップ1211でメッセージ1
1251を表示し、処理を中断するか否かをユーザーに
問い合わせる。ステップ1210の判定で、暗号ファイ
ルであった場合には、ステップ1218で当該ファイル
の宛先リスト41と当該ディレクトリの宛先リストファ
イル901に書かれた宛先リスト41の宛先が同じか異
なるかを調べ、異なっていた場合には、ステップ121
9でメッセージ4 1254を表示し、処理を中断する
か否かをユーザーに問い合わせる。前記ステップ121
8で宛先が同じと判定した場合には、ステップ1220
でファイルハンドルテーブル90への登録を行い、本ル
ーチンを終了する。また、前記ステップ1217、12
11、1219でのメッセージ表示に対し、ユーザーが
処理の中止を選択したかどうかはステップ1212で判
定し、中止の場合はステップ1213でファイルをクロ
ーズし、ステップ1214でリターンコードにオープン
エラーを設定し本ルーチンを終了する。前記ステップ1
212での前記判定が中止でなければ、前記ステップ1
220を実行し、本ルーチンを終了する。
【0092】図13は、ファイルクリエイトフックルー
チン1300の処理フローを示す図である。まず、ステ
ップ1301で、ICカード130へのログインが終了
しているかどうかを調べ、ログイン済みの場合はステッ
プ1306に処理を移す。ログイン済みでなかった場合
には、ステップ1302で当該ユーザーまたは共通の前
記宛先リストファイル901が当該ディレクトリに存在
するかどうかを調べ、存在すれば暗号化対象ディレクト
リであると判定する。暗号化対象ディレクトリでなけれ
ば、ステップ1331でファイルクリエィトを実行し本
ルーチンを終了する。暗号化対象ディレクトリの場合
は、ステップ1303でメッセージ5 1355を表示
し、ステップ1304で前記ログイン処理ルーチン10
00を呼び出すことによって前記ICカード130への
ログイン処理を行う。ステップ1305では、前記ログ
イン処理が成功したかどうかを調べ、成功しなかった場
合はステップ1341でメッセージ6 1356を表示
してファイルクリエイトを中止するか否かユーザーに問
い合わせる。ステップ1342でユーザーの選択を判定
し、中止の場合はステップ1343でクリエイトエラー
を設定し本ルーチンを終了する。中止でない場合は、ス
テップ1320でファイルクリエイトを実行し本ルーチ
ンを終了する。一方、ステップ1305でログインに成
功した場合は、ステップ1306で、当該ディレクトリ
に当該ユーザーまたは共通の前記宛先リストファイル9
01が存在するかどうかを調べ、存在すれば暗号化対象
ディレクトリであると判定する。暗号化対象ディレクト
リでなければステップ1320でファイルクリエイトを
実行し、本ルーチンを終了する。暗号化対象ディレクト
リである場合は、ステップ1307でファイル名称を、
連番とその末尾に「.ssf」を付加したファイル名に
置き換え、ステップ1308でファイルクリエイトを実
行する。ステップ1309では、前記ファイルクリエィ
トが成功したかどうかを調べ、失敗ならば本ルーチンを
終了し、成功ならばステップ1310以下を実行する。
ステップ1310では、暗号ファイルの前記ヘッダ50
5を生成し、ステップ1308で作成したファイルの先
頭部分に書き込む。続くステップ1311では前記暗号
ファイル情報ファイル902への登録を行い、さらにス
テップ1312でファイルハンドルテーブル90への登
録を行い本ルーチンを終了する。
【0093】図14は、リードフックルーチン1400
の処理フローを示す図である。まず、ステップ1401
でリードI/Oのパラメータに含まれるファイルハンド
ル番号が前記ファイルハンドルテーブル90に既に登録
されているかどうかを調べ、登録されていなければ暗号
・復号対象のファイルではないのでステップ1421で
通常のファイルリードI/Oを実行し、本ルーチンを終
了する。ファイルハンドルテーブル90に登録済みの場
合は、ステップ1402で、前記ファイルハンドルテー
ブル90の前記オープンモード1903がリード可にな
っているかどうかを調べ、リード不可であれば処理が継
続できないので、ステップ1422でエラーコードを設
定して本ルーチンを終了する。次に、ステップ1403
で前記平文ファイルポインタ1904を取得する。ステ
ップ1404では、前記平文ファイルポインタ1904
が、前記バッファポインタ1906から始まるバッファ
の中を指し示しているかどうかを調べる。指し示してい
ればステップ1413に処理を移し、指し示していなけ
ればステップ1405以下を実行する。ステップ140
5では前記更新フラグ1907を参照し、前記平文ブロ
ックバッファ81中に更新データがあるかどうかを調
べ、あればステップ1406で実際の暗号文ファイル5
02のファイルポインタをOSへのシークコマンドによ
って前記バッファポインタ1906へと移動させる。ス
テップ1407で平文ブロックバッファ81のデータを
暗号化し、暗号文ブロックバッファ82に転送すると共
に、暗号文ファイル502に書き戻す。ステップ140
8では前記更新フラグ1907をクリアし、前記平文ブ
ロックバッファ81中に更新データがないことを示すよ
うに設定する。ステップ1409で実際の暗号文ファイ
ル502のファイルポインタをOSへのシークコマンド
によって前記暗号ファイルポインタ1905へと移動さ
せる。ステップ1410では、ブロックサイズ分のデー
タを前記暗号文ファイル502から暗号文ブロックバッ
ファ82へと読み出す。ステップ1411では、前記暗
号文ファイルポインタ1905、前記バッファポインタ
1906を更新する。ステップ1412では、暗号文ブ
ロックバッファ82のデータを復号化し平文ブロックバ
ッファ81に転送する。ステップ1413では、フック
したファイルリードI/Oの要求元アプリケーションプ
ログラム23が指定した要求バッファに平文ブロックバ
ッファ81からデータを転送する。ステップ1414で
は、前記転送を行ったバイト数を前記平分ファイルポイ
ンタ1904に加算する。ステップ1415では、フッ
クしたファイルリードI/Oの要求元が要求したサイズ
分のデータを前記要求バッファに転送したかどうかを調
べ、未完了ならばステップ1410以下を再び実行し、
完了ならば本ルーチンを終了する。
【0094】図15は、ライトフックルーチン1500
の処理フローを示す図である。まず、ステップ1501
でフックしたライトI/Oのパラメータに含まれるファ
イルハンドル番号が前記ファイルハンドルテーブル90
に既に登録されているかどうかを調べ、登録されていな
ければ暗号・復号対象のファイルではないのでステップ
1521で通常のファイルリードI/Oを実行し、本ル
ーチンを終了する。ファイルハンドルテーブル90に登
録済みの場合は、ステップ1502で、前記ファイルハ
ンドルテーブル90の前記オープンモード1903が
「リードライト可」になっているかどうかを調べ、「リ
ードライト可」でなければステップ1531でエラーコ
ードを設定して本ルーチンを終了する。「ライト可」だ
けではなく「リードライト可」の必要があるのは、暗号
化のブロック単位よりも小さなサイズの書込に対して
は、不足分のデータをリードした上で暗号化して書き戻
すリードモディファイライト処理が必要なためである。
前記ファイルオープンフックルーチンで「ライト可」を
強制的に「リードライト可」に置き換えてファイルをオ
ープンしておいてもよい。次に、ステップ1503で前
記平文ファイルポインタ1904を取得する。ステップ
1504では、前記平文ファイルポインタ1904が、
前記バッファポインタ1906から始まるバッファの中
を指し示しているかどうかを調べる。指し示していれば
ステップ1513に処理を移し、指し示していなければ
ステップ1505以下を実行する。ステップ1505で
は前記更新フラグ1907を参照し、前記平文ブロック
バッファ81中に更新データがあるかどうかを調べ、更
新データがなければステップ1510に処理を移し、更
新データがあればステップ1506で実際の暗号文ファ
イル502のファイルポインタをOSへのシークコマン
ドによって前記バッファポインタ1906へと移動させ
る。ステップ1507では、平文ブロックバッファ81
のデータを暗号化し、暗号文ブロックバッファ82に転
送すると共に、暗号文ファイル502に書き戻す。ステ
ップ1508では前記更新フラグ1907をクリアし、
前記平文ブロックバッファ81中に更新データがないこ
とを示すように設定する。ステップ1509では、暗号
文ファイル502のファイルポインタをOSへのシーク
コマンドによって前記暗号ファイルポインタ1905が
指し示す位置へと移動させる。ステップ1510では、
フックしたファイルライトI/O要求の書込データ領域
が、現在の平文ブロックバッファ81全体を包含するか
否かを調べる。前記調査の結果全体を包含していない場
合は、不足分を読み出しマージする必要があるので、ス
テップ1511で暗号文ブロックバッファ82のサイズ
分だけ暗号文ファイル502をリードする。リードした
データは、前記暗号文ブロックバッファ82に格納する
と共に、復号化し前記平文ブロックバッファ81に格納
する。一方、前記ステップ1510での調査の結果、全
体を包含していれば不足分を読み出す必要がないのでス
テップ1518でステップ1511のリードサイズと同
じサイズ分だけシーク処理を行う。ステップ1512で
は、暗号文ファイルポインタ1905、バッファポイン
タ1906を更新する。ステップ1513では、平文フ
ァイルポインタ1904の指し示す位置から暗号文ファ
イルポインタ1905の指し示す位置の手前までのデー
タを、フックしたファイルI/O要求の書込データバッ
ファから平文ブロックバッファ81に転送する。ステッ
プ1514では、平文ブロックバッファ81の内容が更
新されたことを示す更新フラグ1907をセットし、ス
テップ1515でフックしたファイルI/Oライト要求
の全データの転送を完了したかどうかを判定し、完了し
ていなければステップ1506以下を完了するまで繰り
返し実行する。以上の処理によって、平文ブロックバッ
ファ81は、先読みと先復号化キャッシュとして動作
し、且つライトバックキャッシュとして動作するので、
暗号化・復号化によるファイルI/O処理速度の低下を
少なく抑えることができる。
【0095】図16は、クローズフックルーチン160
0の処理フローを示す図である。まず、ステップ160
1で前記ファイルハンドルテーブル90に、当該クロー
ズ要求のあったファイルハンドルが登録されているかど
うかを調べ、登録されていなければステップ1607に
処理を移行し、ファイルをクローズして終了する。前記
ファイルハンドルテーブル90に登録済みのファイルで
あった場合には、前記ファイルハンドルテーブル90の
更新フラグ1907を参照し、前記更新フラグ1907
がセット、即ちファイルに書き戻されていない更新デー
タが平文ブロックバッファ81に存在するかどうかを調
べる。前記更新フラグ1907がセットされていた場合
には、ステップ1603で平文ブロックバッファ81の
内容を暗号化し、ファイルに書き戻す処理を行う。続く
ステップ1604では、前記平文ブロックバッファ81
を、全て0などのデータを書き込むことによってクリア
し、ステップ1605で前記平文ブロックバッファ81
と前記暗号文ブロックバッファ82を解放する。ステッ
プ1606では、前記ファイルハンドルテーブル90か
ら当該ファイルのノードを削除し、ステップ1607で
ファイルクローズ要求をOSに発行し、本ルーチンを終
了する。
【0096】図17は、ファイルリネームフックルーチ
ン1700の処理フローを示す図である。まず、ステッ
プ1701でリネームの対象がディレクトリファイルか
どうかを判定し、ディレクトリファイルならばステップ
1721でリネームを実行し、本ルーチンを終了する。
ディレクトリファイルでなければ、ステップ1702で
対象ファイルが暗号ファイルかどうかを判定し、暗号フ
ァイルでなければ前記ステップ1721でリネームを実
行し、本ルーチンを終了する。続くステップ1703で
は、当該ファイルの復号権限があるか、即ち前記ヘッダ
505の宛先リスト41にログイン中のユーザーのID
情報29とマッチする項目が含まれているかどうかを判
定し、復号権限がなければ、ステップ1711で権限が
ない旨のメッセージを表示し、ステップ1712でエラ
ーコードを設定し本ルーチンを終了する。復号権限があ
る場合は、ステップ1704で、当該ファイルのヘッダ
505の平文ファイル名507を前記アプリケーション
プログラム23が指示した新名称に変更し、ステップ1
705では暗号ファイル情報ファイル902に記載され
た当該ファイルの平文ファイル名称を前記ステップ17
04と同様に新名称に変更し、本ルーチンを終了する。
【0097】以上説明したファイルI/Oフックプログ
ラム22の各ルーチンの処理によって、所望のディレク
トリ内のファイルの暗号化・復号化をアプリケーション
プログラム23からは透過に実現することができる。
【0098】次に、前記共用ファイル暗号プログラム2
1に含まれる手動ファイル暗号化ルーチン2000につ
いて図20を用いて説明する。このルーチンは、暗号化
を行う平文ファイルのファイル名称と、暗号化後の暗号
文ファイル名称と宛先リスト41を入力として動作す
る。まず、ステップ2001では、指定された平文ファ
イルをオープンし、ステップ2002で仮の名称を付け
た一時ファイルを作成する。ステップ2004では指定
された前記宛先リスト41を前記ICカード130のグ
ループ暗号プログラム28に与えることによってグルー
プ鍵を生成する。前記生成には前記ICカード130へ
のログインが必要であるが、上記の実施例と同様である
のでここでは記述を省略している。ステップ2005で
は乱数である前記実行鍵41を生成し、ステップ200
6で前記ヘッダ505を前記一時ファイルの先頭部分に
書き込む。ステップ2009では、平文ファイルからデ
ータを読み出し、ステップ2010で該データを暗号化
し、ステップ2011で該暗号化データを一時ファイル
に書き込む。ステップ2012では、前記平文ファイル
の全データの暗号化を終了したかどうかを判定し、終了
するまで前記ステップ2009、2010、2011を
繰り返し実行するように制御する。ステップ2013で
は、前記平文ファイルと前記一時ファイルの両方をクロ
ーズする。ステップ2014では、指定された平文ファ
イル名と暗号文ファイル名が同一かどうかを判定し、同
一ならばステップ2015で前記平文ファイルを削除す
る。ステップ2016では、前記一時ファイルのファイ
ル名称を指定された暗号文ファイル名称に変更し、本プ
ログラムを終了する。
【0099】次に、本発明の他の実施例を図を用いて説
明する。
【0100】まず、全体のシステム構成を説明する。図
33は、本発明の暗号ファイル受信システム及びその制
御方法の一構成例である。110はクライアント情報処
理装置、120はサーバ情報処理装置である。サーバ情
報処理装置120には、中央処理装置(CPU)1b、
メモリ2b、LANコントローラ3b、ディスクコント
ローラ4b、磁気ディスク5bが具備されている。前記
サーバ情報処理装置120の起動時には、オペレーティ
ングシステム(OS)20bとWWW(World−W
ide Web)サーバプログラム26、および共用フ
ァイル暗号プログラム21bが、ディスクコントローラ
4bを介して磁気ディスク5bからメモリ2b上にロー
ドされる。クライアント情報処理装置110には、CP
U1a、メモリ2a、LANコントローラ3a、ディス
クコントローラ4a、磁気ディスク5a、ICカードコ
ントローラ6がそれぞれ具備されている。前記クライア
ント情報処理装置110の起動時には、OS20a、共
用ファイル暗号プログラム21a、通信API(App
lication Program Interfac
e)フックプログラム27が、前記ディスクコントロー
ラ4aを介して前記磁気ディスク5aから前記メモリ2
a上にロードされる。また、ブラウザプログラム19
は、前記クライアント情報処理装置110のユーザー
(以下単にユーザーと呼ぶ)の指示によって前記ディス
クコントローラ4aを介して前記磁気ディスク5aから
前記メモリ2a上にロードされる。前記通信APIフッ
クプログラム27は、ブラウザプログラム19が前記O
S1aに発行する通信APIをフック(横取り)し、受
信ファイルデータの復号化をバックグラウンドで自動的
に行うものである。また、コピー用バッファ9は、前記
クライアント情報処理装置110のユーザーがエディタ
等によりファイルから任意の部分データを選択してコピ
ーコマンドを実行すると、前記OS20aがメモリ2a
上に割り当てるバッファであり、前記部分データが格納
される。その後に前記ユーザーがファイルの任意の場所
に対して貼り付けコマンドを実行すると、前記部分デー
タが貼り付けられる。
【0101】前記サーバ情報処理装置120と前記クラ
イアント情報処理装置110は、ローカルエリアネット
ワーク(LAN)101を介して相互に接続されてお
り、各々のLANコントローラ3を介して通信を行う。
なお、前記サーバ情報処理装置120と前記クライアン
ト情報処理装置110は互いに遠隔地に存在し、電話回
線や専用回線を介して接続されていてもよい。図33で
は一台のクライアント情報処理装置110を示したが、
実際には、同じ構成のクライアント情報処理装置110
が複数前記LAN101に接続されており、これらのク
ライアント情報処理装置110間で、前記サーバ情報処
理装置120の前記磁気ディスク5bに格納されたHT
MLファイルやイメージデータファイルを共用する。ユ
ーザーは前記共用を行うため、前記ブラウザプログラム
19を使用して前記磁気ディスク5b上のファイルをア
クセスする。なお、前記HTMLファイルやイメージデ
ータファイルは、前記サーバ情報処理装置120上で作
成して前記磁気ディスク5bに格納しても良いし、クラ
イアント情報処理装置110上で作成してから磁気ディ
スク5bに格納しても良い。
【0102】また、クライアント情報処理装置110の
ICカードコントローラ6は、ICカード130が脱着
可能となっている。前記ICカード130内には、CP
U1c、不揮発性メモリ7、入出力インタフェース8が
具備されている。前記不揮発性メモリ7には、アクセス
制御プログラム30、グループ暗号プログラム28、I
D情報29、マスタ鍵31が書き込まれている。前記不
揮発性メモリ7の内容は、前記入出力インタフェース8
を介して外部からアクセスすることができる。ただし、
不正なアクセスから前記不揮発性メモリ7の記憶内容を
保護する為、前記CPU1cによるユーザー認証制御が
必ず介在する仕組みとなっている。
【0103】図34は、前記共用ファイル暗号プログラ
ム21と前記通信APIフックプログラム27を構成す
るプログラムルーチンを示す図である。前記共用ファイ
ル暗号プログラム21は、前記ICカード130へのロ
グイン、ログアウトを行うログイン制御ルーチン100
0、ログアウト制御ルーチン1100、ユーザーがファ
イルの暗号化をその都度明示的に指示し暗号化する手動
ファイル暗号化ルーチン2000、前記手動ファイル暗
号化をHTML(Hyper Text Markup
Language)で記述した共用ファイル向けにア
レンジしたHTMLファイル暗号化ルーチン2100か
ら構成される。前記通信APIフックプログラム27
は、sendフックルーチン1800、recvフック
ルーチン1820、close socketフックル
ーチン1840から構成される。
【0104】次に、HTMLファイルの暗号化を行う実
施例について説明する。図22の2201は、平文のH
TMLファイルの一例である。前記HTMLファイル
は、ブラウザで表示すると図23に示す画面となる。図
24の2401は、暗号化したHTMLファイルの一例
であり、リーダ部分2402、前記平文のHTMLファ
イル2201を暗号化した本体部分2403、フッタ部
分2404を合成したものである。リーダ部分2402
の最後はHTMLでのコメント文開始を示す「<!―
―」が、フッタ部分2404の最初はHTMLでのコメ
ント文終了を示す「――>」が設定されており、前記合
成によって本体部分2403はコメント文の内容とな
る。ブラウザによる表示において、前記コメント文の内
容は表示されないので、前記の暗号化HTMLファイル
2401をブラウザで表示した結果は、図25に示すよ
うな画面となる。このように、暗号化した結果をコメン
ト文として埋め込むことによって、復号化プログラムを
具備しないクライアント情報処理装置110で暗号化フ
ァイルを誤って表示した場合にも、意味のない文字列を
画面に表示することを防止することができる。図21
は、上記のHTMLファイル暗号化を行うHTMLファ
イル暗号化プログラムの処理フローを示す図である。ス
テップ2101では、指定された平文のHTMLファイ
ル2201をオープンし、ステップ2102で仮の名称
を付けた一時ファイルを作成する。ステップ2104で
は指定された前記宛先リスト41を前記ICカード13
0のグループ暗号プログラム28に与えることによって
グループ鍵を生成する。ステップ2105ではリトライ
カウンタを初期化し、ステップ2106では乱数である
前記実行鍵41を生成する。ステップ2107では前記
ヘッダ505を前記一時ファイルの先頭部分に書き込
む。ステップ2109では、前記リーダ部分2402を
前記一時ファイルの前記ヘッダ505の続きに書き込
む。ステップ2110では、前記平文のHTMLファイ
ル2201からデータを読み出し、ステップ2111で
該データを暗号化する。ステップ2112では、暗号化
後のデータの中に前記コメントの終了文字列「――>」
がないかどうかを調べ、あればステップ2131以下を
実行し、なければステップ2113で前記一時ファイル
に前記暗号化後のデータを書き込む。ステップ2114
では、前記平文のHTMLファイル2201の全データ
の暗号化を終了したかどうかを判定し、終了するまで前
記ステップ2110、2111、2112、2113を
繰り返し実行するように制御する。ステップ2115で
は、前記フッタ部分2404を前記一時ファイルに書き
込み、ステップ2116で前記平文のHTMLファイル
2201と前記一時ファイルの両方をクローズする。ス
テップ2117では、指定された平文のHTMLファイ
ル名と暗号化後のHTMLファイル名が同一かどうかを
判定し、同一ならばステップ2118で前記平文のHT
MLファイル2201を削除する。ステップ2119で
は、前記一時ファイルのファイル名称を指定された暗号
化後のHTMLファイル名称に変更し、本プログラムを
終了する。一方、前記ステップ2112において、暗号
化後のデータの中に前記コメントの終了文字列「――
>」あると判定された場合は、ステップ2131で前記
一時ファイルに書き込んだ内容をクリアする。次に、ス
テップ2132で前記リトライカウンタをカウントアッ
プし、ステップ2133で前記リトライカウンタが予め
設定した上限値(本実施例では10回とした)を越えて
いないかを検査し、越えていなければステップ2106
からの部分を再度実行する。この再実行では、前記ステ
ップ2106で前回とは異なる乱数が実行鍵61として
使われるので、前記ステップ2111の暗号化で再び前
記コメントの終了文字列「――>」が現れる確率はかな
り低い。それにも拘わらず、前記上限値を越えてしまっ
た場合は、ステップ2134で前記平文のHTMLファ
イル2201と前記一時ファイルの両方をクローズす
る。さらにステップ2115で前記一時ファイルを削除
し、ステップ2136でエラーメッセージを表示し、本
プログラムを終了する。なお、暗号化したデータはラン
ダムな値となるので、前記コメントの終了文字列「――
>」が現れる確率は、一文字は1バイト(=8ビット)
で表現されるので「(2の8乗)の3乗」分の1、即ち
16777216分の1である。言い換えれば約16M
バイトのデータに一回起こる程度ということである。し
たがって、上述のように実行鍵61を替えてリトライす
る制御を組み込んでおけば、実用上全く問題がないこと
が判る。また、前記コメントの終了文字列「――>」が
前記本体部分2403に出現することを避ける別の手段
として、暗号化したデータを16進表示によるテキスト
文字列として格納することもできる。この方法で作成し
た暗号化HTMLファイルを図26に示す。ただし、こ
の方法では、1バイトのデータを表現するために2文字
即ち2バイトが必要であり、データ量が倍になってしま
うという問題もある。
【0105】以上の暗号化処理を施したHTMLファイ
ルは、情報提供者によって前記サーバ情報処理装置の磁
気ディスク5bに格納される。
【0106】次に、前記ブラウザプログラム19が、W
WWサーバ26から前記暗号ファイルを受信する際の通
信APIフックプログラム27の処理について説明す
る。まず、受信ファイルデータの入出力とその管理方法
から説明する。
【0107】図38は、本実施例における受信ファイル
復号化の際のデータ入出力を示す図である。83は、ブ
ラウザプログラム19が用意する受信バッファであり、
暗号文が含まれている。通信APIフックモジュール
は、後述するrecvフック処理の中で、受信した前記
暗号文を暗号文ブロックバッファ82にコピーする。こ
のとき、暗号文ブロックバッファ82が満たされた場
合、該暗号文の復号化処理を実行し平文を平文ブロック
バッファ81にコピーする。さらに、平文をブラウザプ
ログラム19へ渡すために、前記平文ブロックバッファ
81の中身を前記暗号文受信バッファに上書きコピーす
る。受信バッファ83から暗号文ブロックバッファ82
へコピーした暗号文が、前記暗号文ブロックバッファ8
2を満たしていない場合は、復号化処理を行わずに次の
受信ファイルデータを待つ。以後、受信した暗号ファイ
ルデータの前記暗号文ブロックバッファ82へのコピ
ー、前記復号化処理と平文ブロックバッファへのコピ
ー、および暗号文受信バッファへの平文コピーを、受信
した暗号ファイルデータがなくなるまで繰り返す。
【0108】図39は、オープン中のソケットを管理す
るためのソケット情報テーブル91である。ソケット記
述子1912、受信フラグ1913、受信データポイン
タ1914、暗号化実効鍵509、暗号化宛先リストの
サイズ510、暗号化宛先リスト511、グループ鍵5
1、実効鍵61、暗号文ブロックバッファポインタ19
15、平文ブロックバッファポインタ1916の各情報
を、オープン中の各ソケット毎にポインタ1901を用
いてリスト構造で記憶している。ここでソケット記述子
1912は、ソケットをオープンした際に前記OS20
から与えられる管理番号である。受信フラグ1913と
は、前記ソケット記述子1912を使用して暗号ファイ
ルのデータを1度も受信していない場合には“0”、暗
号ファイルのデータを1回以上受信した場合には“1”
とするフラグである。前記受信データポインタ1914
は、受信したファイルデータから暗号文を読み込む際の
起点を示すものであり、後述するrecvフックルーチ
ン1820が、データ受信時に受信バッファの先頭アド
レスを登録する。暗号文ブロックバッファポインタ19
15と平文ブロックバッファポインタ1916は、それ
ぞれ図38における暗号文ブロックバッファ82と平文
ブロックバッファ81へのポインタであり、復号化処理
時にバッファ間で暗号文や平文をコピーする際の起点と
なるものである。また、前記暗号化実効鍵509と前記
暗号化宛先リストサイズ510、および暗号化宛先リス
ト511は、暗号ファイル受信時に前記ヘッダー505
から読み込んで登録する。なお、該暗号化宛先リスト5
11は、図6で示したようにマスタ鍵によって復号化さ
れる。更に、該宛先リスト41からグループ鍵51を生
成し、また前記暗号化実効鍵509を前記グループ鍵5
1で復号化して実効鍵61を求め、それぞれソケット情
報テーブル91に登録する。
【0109】次に、前記通信APIフックプログラム2
7内の各ルーチンの処理について説明する。図35は、
前記sendフックルーチン1800の処理フローを示
す図である。まず、ステップ1801で、ブラウザプロ
グラム19がWWWサーバプログラム26へ送信するデ
ータ中にファイル取得用コマンドである“GET”が存
在するか否かを調べる。存在すればステップ1804で
前記ソケット情報テーブル91を参照し、フックしたソ
ケットの記述子が登録されているか否かを調べる。登録
されていれば、ステップ1806で該当するソケット情
報のうち、受信フラグ1913を“0”にして、ステッ
プ1807のsend処理を行う。登録されていない場
合、ステップ1805でソケット情報をテーブル91に
登録する。前記ステップ1801で、送信データ中に前
記ファイル取得用コマンドが存在しなければ、フックし
たソケットの記述子が前記ソケット情報テーブルに登録
されているか否かをステップ1802で調べる。登録さ
れていれば、ステップ1803で該当するソケット情報
を削除する。登録されていなければ、ステップ1807
でsend処理を実行する。次に、ステップ1808で
send処理のエラーが発生し、かつステップ1809
で該当するソケット情報がテーブルに登録済みの場合
は、ステップ1810で該当するソケット情報を前記ソ
ケット情報テーブル91から削除し、ステップ1811
で前記ブラウザプログラム19にリターンする。前記ス
テップ1808でエラーが発生しなければ、なにもせず
にステップ1811で前記ブラウザプログラム19にリ
ターンする。
【0110】図36は、recvフックルーチン182
0の処理フローを示す図である。まず、ステップ182
1でブラウザプログラム19がコールしたrecvの処
理を行い、ステップ1822で前記recv処理のエラ
ーチェックを行う。このときエラーが発生した場合、ス
テップ1835で前記エラーを前記ブラウザプログラム
19にリターンする。なお、エラーに関するメッセージ
は前記ブラウザプログラム19が表示するので、rec
vフックルーチン1820がエラーメッセージを表示す
る必要はない。エラーなしの場合は、ステップ1823
でソケットの記述子が前記ソケット情報テーブル91に
登録済みであるかどうかを調べる。ここで、sendフ
ックルーチンの中でソケット情報テーブル91に登録さ
れたソケット記述子は、WWWサーバ26が管理するH
TMLファイルやイメージデータファイルの受信に使用
するソケットを指す。そこで、ソケット情報テーブル9
1に登録済みの場合はステップ1824で受信データの
有無をチェックする。登録されてない場合は、ステップ
1835で受信データをブラウザプログラム19にリタ
ーンする。
【0111】ステップ1824で受信データが存在しな
い場合は、データの受信が完了したことを意味するの
で、該当するソケット情報を前記ソケット情報テーブル
91から削除し、ステップ1835で前記ブラウザプロ
グラム19にリターンする。受信データが存在する場合
は、ステップ1825でrecvフラグをチェックす
る。前記recvフラグが“0”であれば、前記sen
d処理に対する1回目の受信データであると判断し、ス
テップ1826で前記受信データをチェックする。ステ
ップ1827で、受信データが本発明の暗号化方式によ
り暗号化されたファイルである場合、ステップ1828
でログイン中のユーザーが存在するかチェックする。存
在しない場合は、ステップ1318でメッセージ183
7を表示する。存在する場合は、ステップ1829で宛
先リストに、前記ログインユーザーが含まれているかを
調べる。前記ログインユーザーが含まれている場合は、
ステップ1830で前記recvフラグを“1”に設定
し、ステップ1832で前記受信ファイルデータを復号
化する。一方、前記宛先リストに前記ログインユーザー
が含まれていない場合は、ステップ1831でメッセー
ジ1836を表示し、ステップ1834でソケット情報
を前記ソケット情報テーブル91から削除してリターン
する。
【0112】一方、前記ステップ1827で、受信ファ
イルデータが暗号化されていない場合は、ステップ18
34でソケット情報を前記ソケット情報テーブルから削
除してリターンする。
【0113】図37は、closesocketフック
ルーチン1840の処理フローを示す図である。まずス
テップ1841では、前記ブラウザプログラム19がコ
ールしたclosesocket関数の引数に指定され
たソケット記述子が、ソケット情報テーブル91に登録
されているかを調べる。登録されている場合は、ステッ
プ1842で前記ソケット記述子に対応するソケット情
報をテーブル91から削除し、ステップ1843のcl
osesocket処理を実行して前記ブラウザプログ
ラム19にリターンする(ステップ1844)。一方、
前記ソケット情報テーブルに登録されていない場合は、
ステップ1843のclosesocket処理を実行
してリターンする。
【0114】以上説明した通信APIフックプログラム
27の各ルーチンの処理によって、所望のページの復号
化をブラウザプログラム19からは透過に実現すること
ができる。
【0115】次に、本実施例において、実際のWWW運
用システムの一例について図40を用いて説明する。1
40は、代理サーバ情報処理装置であり、代理サーバプ
ログラム18により、前記クライアント情報処理装置1
10と前記サーバ情報処理装置120との間の送受信デ
ータを中継する。また、前記代理サーバプログラム18
は、前記サーバ情報処理装置120が前記クライアント
情報処理装置110からの要求に応じて発信したHTM
Lファイルやイメージデータファイルを、ディスクコン
トローラ4cを介して磁気ディスク5c内にキャッシュ
する機能を持つ。以後、前記クライアント情報処理装置
110からファイル転送要求を出した場合、該ファイル
が前記磁気ディスク5c内にキャッシュされていれば、
前記代理サーバプログラム18が該キャッシュファイル
を前記クライアント情報処理装置110へ転送する。
【0116】本実施例においては、機密情報に関するフ
ァイルは全て暗号化されて前記サーバ情報処理装置12
0の磁気ディスク5bに格納されている。したがって、
ファイル転送時に前記磁気ディスク5cにキャッシュさ
れる機密情報は全て暗号ファイルとなる。なお、本実施
例で示した代理サーバプログラムは、一般にはプロキシ
サーバと呼ばれている。
【0117】次に、本発明の第二の実施例として、HT
MLなどのテキストファイルを部分的に暗号化する例に
ついて説明する。図41の2501は、平文のHTML
ファイルの一例である。前記HTMLファイルは、ブラ
ウザで表示すると図45の2801に示す画面となる。
図42の4201は、部分的に暗号化したHTMLファ
イルの一例である。4202は、前記平文のHTMLフ
ァイル2501の部分データ2502をコピーコマンド
によって前記コピー用バッファ9に書き込み、後述のH
TML部分暗号化プログラム2300によって暗号化し
た結果である。該暗号化データ4202を、前記平文の
部分データ2502の位置に貼り付けることで部分的に
暗号化されたファイル4201を作成できる。前記暗号
化データ4202は、リーダ部分4203、前記部分デ
ータ2502を暗号化した本体部分4204、フッタ部
分4205を合成したものである。リーダ部分4203
の最初はHTMLでのコメント文開始を示す「<!―
―」が、フッタ部分4205はHTMLでのコメント文
終了を示す「――>」が設定されており、前記リーダと
フッタの合成によって本体部分4204はコメント文の
内容となる。ブラウザによる表示において、前記コメン
ト文の内容は表示されないので、前記の暗号化HTML
ファイル4201をブラウザで表示した結果は、図45
の2802に示すように「経営情報」がメニューとして
表示されない画面となる。このように、暗号化した結果
をコメント文として埋め込むことによって、復号化プロ
グラムを具備しないクライアント情報処理装置110で
暗号ファイルを誤って表示した場合にも、意味のない文
字列を画面に表示することを防止することができる。
【0118】図43は、HTMLなどのテキストファイ
ルを部分的に暗号化するHTML部分暗号化プログラム
2300の処理フローを示す図である。ステップ230
1では、OS20aが割り当てる前記コピー用バッファ
9中に平文データが存在するか否かを調べ、データがな
ければステップ2313でエラーメッセージを表示して
終了する。データが有ればステップ2302で指定され
た前記宛先リスト41を前記ICカード130のグルー
プ暗号プログラム28に与えることによってグループ鍵
を生成する。ステップ2303では乱数である前記実効
鍵41を生成し、ステップ2304では、前記リーダ部
分2603を前記コピー用バッファ9の先頭部分に書き
込む。ステップ2305では前記ヘッダ505を作成
し、該ヘッダ505をステップ2306で前記コピー用
バッファ9の前記リーダ部分2603の続きに書き込
む。ステップ2307では、前記コピー用バッファ9か
らデータを読み出し、ステップ2308で該データを暗
号化する。ステップ2309では、前記暗号化データを
テキストデータへエンコードし、ステップ2310で
は、エンコード後の暗号化データを前記コピー用バッフ
ァ9に書き込む。ステップ2311では、前記平文の全
データの暗号化を終了したかどうかを判定し、終了する
まで前記ステップ2307、2308、2309、23
10を繰り返し実行するように制御する。ステップ23
12では、前記フッタ部分2605を前記コピー用バッ
ファ9に書き込み、本プログラムを終了する。ここで、
前記ステップ2309のエンコード処理では、24ビッ
トデータを1ブロックとして暗号化データを分割し、更
に各ブロックを4個の6ビットデータに分割して、それ
らをテキストデータに変換する。前記テキストデータに
は、英数字と「+」および「/」の64種類が含まれ
る。また、暗号文の最後のブロックが24ビットに満た
ない場合は、パディング情報として「=」を付加する。
例えば、最後のブロックが8ビットしかない場合、該ブ
ロックのエンコード結果は2個のテキストデータと2個
の「=」となる。また、最後のブロックが16ビットし
かない場合、該ブロックのエンコード結果は3個のテキ
ストデータと1個の「=」となる。エンコード処理の結
果、3バイトの暗号化データが4バイトのテキストデー
タに変換されるため、暗号化データサイズは3分の4倍
に増える。しかし、エンコード後のデータに「−」およ
び「>」は含まれないため、該データ中に前記コメント
の終了文字列「――>」は出現しない。したがって、前
記HTMLファイル暗号化プログラム2100のステッ
プ2112のようなコメント終了文字列の有無をチェッ
クする処理は不要となる。
【0119】次に、前記ブラウザプログラム19が、W
WWサーバ26から前記部分暗号化ファイルを受信する
際のrecvフックルーチン1820の処理について図
44を用いて説明する。まず、ステップ2701でブラ
ウザプログラム19がコールしたrecvの処理を行
い、ステップ2702で前記recv処理のエラーチェ
ックを行う。このときエラーが発生した場合、ステップ
2715で前記エラーを前記ブラウザプログラム19に
リターンする。なお、エラーに関するメッセージは前記
ブラウザプログラム19が表示するので、recvフッ
クルーチン1820がエラーメッセージを表示する必要
はない。エラーなしの場合は、ステップ2703でソケ
ットの記述子が前記ソケット情報テーブル91に登録済
みであるかどうかを調べる。ここで、sendフックル
ーチン1800がソケット情報テーブル91に登録した
ソケット記述子は、WWWサーバ26が管理するHTM
Lファイルやイメージデータファイルの受信に使用する
ソケットを指す。そこで、ソケット情報テーブル91に
登録済みの場合はステップ2704で受信データの有無
をチェックする。登録されてない場合は、ステップ27
15で受信データをブラウザプログラム19にリターン
する。
【0120】ステップ2704で受信データが存在しな
い場合は、データの受信が完了したことを意味するの
で、前記ブラウザプログラム19にリターンする。受信
データが存在する場合は、ステップ2705でrecv
フラグをチェックする。前記recvフラグが“0”で
あれば、前記リーダ部分2603をまだ発見していない
と判断し、ステップ2706で前記受信データから前記
リーダ部分2603を検索する。前記受信データ中に前
記リーダ部分2603がある場合、ステップ2707で
ログイン中のユーザーが存在するかチェックする。存在
しない場合は、ステップ2714で暗号化データを呼び
飛ばしてリターンする。存在する場合は、ステップ27
08で宛先リスト41に、前記ログインユーザーが含ま
れているかを調べる。前記ログインユーザーが含まれて
いる場合は、ステップ2709で前記recvフラグを
“1”に設定し、ステップ2710で前記受信データを
デコードしてからステップ2711で該デコードデータ
を復号化する。また、前記受信データ中に前記フッタ部
分2605が含まれる場合は、recvフラグを“0”
に設定して、再びステップ2706で前記リーダ部分2
603を検索する。
【0121】一方、前記宛先リスト41に前記ログイン
ユーザーが含まれていない場合は、ステップ2716で
メッセージ1837を表示し、ステップ2717でソケ
ット情報を前記ソケット情報テーブル91から削除して
リターンする。
【0122】一方、前記ステップ2706で、受信ファ
イルデータ中に前記リーダ部分2603が含まれない場
合はリターンする。
【0123】以上のrecvフックルーチン1820の
処理によって、前記暗号化HTMLファイル2601を
受信したとき、前記宛先リスト41に含まれるユーザー
であれば、ブラウザ19の画面は図45の2801のよ
うになる。一方、前記宛先リスト41に含まれないユー
ザーであれば、ブラウザ19の画面には、2802に示
すように「経営情報」が省かれたものが表示される。
【0124】本実施例では、HTMLファイルの一部分
のみを暗号化した場合について示したが、複数の部分を
暗号化し、暗号化する部分毎に異なる宛先リストを設定
することも可能である。また、本実施例ではHTMLで
記述されたドキュメントファイルについて述べたが、解
釈時に無視されるコメント文を記述するための書式を備
えた文法であれば同様に本発明を適用することができる
ことは明らかである。次に、第一の実施例で示した共用
ファイル暗号システムの別の実施例を図28を用いて以
下説明する。本実施例では、第一の実施例ではICカー
ド130を用いて生成したグループ鍵51を、ICカー
ド130ではなく鍵生成サーバ情報処理装置140を用
いて生成する。図28において、110aはクライアン
ト情報処理装置、140は鍵生成サーバ情報処理装置、
120はサーバ情報処理装置である。鍵生成サーバ情報
処理装置140には、CPU1d、メモリ2d、LAN
コントローラ3d、ディスクコントローラ4d、磁気デ
ィスク5dが具備されている。前記鍵生成サーバ情報処
理装置140の起動時には、OS 20d、アクセス制
御プログラム30d、およびグループ暗号プログラム2
8dが、ディスクコントローラ4dを介して磁気ディス
ク5dからメモリ2d上にロードされる。磁気ディスク
5d内には、マスタ鍵31dと各ユーザーのID情報2
9dも記憶されている。前記アクセス制御プログラム3
0d、および前記グループ暗号プログラム28dは、第
一の実施例で説明したアクセス制御プログラム30、お
よび前記グループ暗号プログラム28とそれぞれ同じ動
作を行う。クライアント情報処理装置110aには、C
PU1a、メモリ2a、LANコントローラ3a、ディ
スクコントローラ4a、磁気ディスク5aがそれぞれ具
備されている。前記クライアント情報処理装置110a
の起動時には、OS20a、クライアントプログラム2
4、共用ファイル暗号プログラム21a、ファイルI/
Oフックプログラム22が、前記ディスクコントローラ
4aを介して前記磁気ディスク5aから前記メモリ2a
上にロードされる。また、アプリケーションプログラム
23は、ユーザーの指示によって前記ディスクコントロ
ーラ4aを介して前記磁気ディスク5aから前記メモリ
2a上にロードされる。前記ファイルI/Oフックプロ
グラム22は、アプリケーションプログラム23が前記
OS1aに発行するファイルI/O APIをフック
(横取り)し、ファイルデータの暗号化・復号化をバッ
クグラウンドで自動的に行うものである。共用ファイル
暗号プログラム21aは、第一の実施例で説明した共用
ファイル暗号プログラム21と同じ働きをするものであ
るが、ログイン、ログアウト、グループ鍵51の生成依
頼の通信先が、ICカード130から鍵生成サーバ情報
処理装置140に変わっている。
【0125】前記鍵生成サーバ情報処理装置140とサ
ーバ情報処理装置120および前記クライアント情報処
理装置110aは、LAN101を介して相互に接続さ
れており、各々のLANコントローラ3を介して通信を
行う。図28では一台のクライアント情報処理装置11
0aを示したが、実際には、同じ構成のクライアント情
報処理装置110aが複数、前記LAN101に接続さ
れており、これらのクライアント情報処理装置110a
間で、前記サーバ情報処理装置120の前記磁気ディス
ク5bに格納されたファイルを共用する。ユーザーは前
記共用を行うため、前記クライアントプログラム24を
介して前記磁気ディスク5b上の共用ファイルをアクセ
スする。
【0126】図29は、共用ファイル暗号プログラム2
1aに含まれるログイン処理ルーチン2900の処理フ
ローを示す図である。まずステップ2990において、
前記鍵生成サーバ情報処理装置140と前記クライアン
ト110aが、安全に通信を行うためのセッション鍵の
取得を行う。該セッション鍵の取得を行った後の前記鍵
生成サーバ情報処理装置140と前記クライアント11
0a間の通信データは、前記セッション鍵を用いて暗号
化する。該通信データの暗号化により、前記鍵生成サー
バ情報処理装置140へのログインパスワードの送出
や、前記鍵生成サーバ情報処理装置140で生成したグ
ループ鍵51の受信を、第三者による盗聴などを防止し
安全に行うことができる。次に、ステップ2901でユ
ーザーがIDとパスワードの入力を行い、ステップ29
02では前記ユーザーIDと前記パスワードを用いて前
記鍵生成サーバ情報処理装置140にログインを試み、
ステップ2903で前記ログインが成功したかどうかを
判定する。前記判定の結果、失敗の場合はステップ29
09を実行し、3回続けて失敗するまではステップ29
01以下を繰り返すよう制御する。ログインに成功する
と、ステップ2904でイベント待ち状態となる。イベ
ントが到着すると、ログアウト要求かどうかを調べ、ロ
グアウト要求ならばステップ2908でログアウト処理
を行い終了する。図30は、前記鍵生成サーバ情報処理
装置140からのログアウト処理ルーチン3000の処
理フローを示す図である。まず、ステップ3001でオ
ープン中の暗号ファイルがあるかどうかを調べ、あれば
ステップ3002でユーザーにログアウトを中止するか
否かを尋ねる。ログアウト処理を中止する場合には、本
ルーチンを終了する。中止しない場合には、ステップ3
003でオープン中の暗号ファイルのクローズ処理を行
い、処理を継続する。ステップ3005では前記鍵生成
サーバ140に対してログアウトコマンドを送出し処理
を終了する。上述のログインが成功してからログアウト
するまでの期間に、前記クライアント情報処理装置11
0aから前記鍵生成サーバ情報処理装置140に前記宛
先リスト41を送信することによって、前記グループ暗
号プログラム28dがグループ鍵51を生成し、該グル
ープ鍵51をクライアント情報処理装置110aに送信
する。このようにして、本実施例では鍵生成サーバ情報
処理装置140を用いてグループ鍵51を生成できるの
で、上述の実施例で示したファイルの暗号化などをIC
カード130を用いることなく実現できる。
【0127】次に、本発明におけるグループ暗号プログ
ラムに複数のマスタ鍵31への対応機能と暗号データの
有効期間の制御機能を付加した実施例について説明す
る。図31は、本実施例における宛先リスト41bの構
成を示す図である。宛先リスト41bでは、第一の実施
例で説明した前記宛先リスト41と同じ前記宛先41
0、前記乱数411に加え、マスタ鍵情報412、グル
ープ鍵情報413が追加されている。前記マスタ鍵情報
412はマスタ鍵名称414とマスタ鍵バージョン番号
415から、グループ鍵情報413は有効期限416と
暗号化期限417からそれぞれ構成される。前記有効期
限416は、前記宛先リスト41bを用いたグループ鍵
51の生成を許可する期限を年月日で示している。ま
た、前記暗号化期限417は、前記宛先リスト41bを
用いてグループ鍵51を生成できるユーザーを制限する
期限を年月日で示している。図32は、前記宛先リスト
41bを用いてグループ鍵51の生成を行うグループ暗
号プログラム28eの処理フローを示す図である。ステ
ップ3201では、前記ICカード130のアクセス制
御プログラム27に対するログインが完了しているかど
うかを検査し、完了していなければステップ3251で
エラーコードを設定して本プログラムを終了する。前記
ログインが完了している場合には、ステップ3202で
入力された宛先リスト41bに含まれるマスタ鍵情報4
12を読み取り、該情報に合致するマスタ鍵31を選択
する。次に、ステップ3204でグループ鍵情報413
に含まれる有効期限416と現在の日時とを比較し、有
効期限を超過しているかを調べる。有効期限を超過して
いる場合には、ステップ3252でエラーコードを設定
し、グループ鍵を生成せずにグループ暗号プログラム2
8eを終了する。有効期限を超過していなかった場合に
は、ステップ3205でグループ鍵情報413に含まれ
る暗号化期限417と現在の日時とを比較し、暗号化期
限を超過しているかを調べる。暗号化期限を超過してい
ない場合にはステップ3206を実行し、超過している
場合にはステップ3207を実行する。ステップ320
6では、前記ID情報29に該当する宛先があるかどう
かを検査する。該検査の結果宛先が該当していればステ
ップ3207を実行し、該当していなければステップ3
253でエラーコードを設定し本プログラムを終了す
る。ステップ3207では、図3で説明した方法でグル
ープ鍵51を生成する。ただし、宛先リストとしては図
31で示した41bを、マスタ鍵31には前記マスタ鍵
情報412のマスタ鍵名称414とマスタ鍵バージョン
番号415で示されたものをそれぞれ用いる。以上の処
理によって、ICカード130にログイン済みで且つ前
記宛先リストの宛先としてICカード130内のID情
報29に該当するものがあり且つ有効期限が超過してい
ない場合、あるいはICカード130にログイン済みで
且つ暗号化期限が超過しており且つ有効期限が超過して
いない場合にのみグループ鍵51を生成するように制御
することができる。これにより、暗号化時に設定した有
効期限が過ぎた宛先リスト41bからはグループ鍵51
を生成できないので、有効期限後のデータの復号を禁止
することができる。また、暗号化時に設定した暗号化期
限を過ぎた宛先リスト41bからは、たとえ前記宛先4
10に該当しないユーザーでもグループ鍵51を生成で
きるので、暗号化期限後は自由にデータの復号を行うこ
とができる。また、前記マスタ鍵情報412によってマ
スタ鍵31の選択を行うので、複数のマスタ鍵を用いる
ことや、安全のためマスタ鍵を定期的に変更することも
できる。
【0128】本実施例では、ICカード130を用いた
場合を例に説明したが、上述の実施例のように鍵生成サ
ーバ情報処理装置140を用いる場合でも同様に実施で
きることは明らかである。
【0129】次に、第一の実施例で示した共用ファイル
暗号システムの別の実施例を図47を用いて以下説明す
る。本実施例では、第一の実施例ではICカード130
を用いて生成したグループ鍵51を、ICカード130
ではなくクライアント情報処理装置110f上で生成す
る。図47において、28aはグループ暗号プログラム
であり、第一の実施例で説明したグループ暗号プログラ
ム28と同じ動作を行う。995は可搬型磁気記憶媒体
の一種であるフロッピーディスク(FD)、996はF
Dへの読み書きを制御するFDコントローラ、997は
ID/マスタ鍵暗号復号プログラム、998は予め本暗
号システムに組み込まれたシステム鍵である。その他の
構成要素は、第一の実施例で述べたものと全く同じであ
る。
【0130】ID/マスタ鍵暗号復号プログラム997
は、グループ暗号プログラム28aからの書き込み要求
に従い、ID情報29及びマスタ鍵31を、システム鍵
998で暗号化し、それぞれ暗号化ID情報29f、暗
号化マスタ鍵31fとしてFDコントローラ996を介
してFD995に書き込む。また、グループ暗号プログ
ラム28aからの読出し要求に従い、FD995上のI
D情報29f及びマスタ鍵31fをFDコントローラ9
96を介して読出し、システム鍵998で復号化し、そ
れぞれID情報29、マスタ鍵31としてグループ暗号
プログラム28aに返す。グループ暗号プログラム28
aは、このようにして得たID情報29、マスタ鍵31
を用いて第一の実施例と同様にグループ鍵を生成する。
本実施例では、基本的には第一の実施例と同様の効果が
得られる。しかし、宛先リスト41に本人の項目が該当
するか等のチェックを行う前記グループ暗号プログラム
28aがクライアント情報処理装置110f上で動作す
るため、リバースエンジニアリング等の手法を用いるこ
とにより前記グループ暗号プログラム28aを改竄し、
前記チェック処理部分をバイパスするなどの不正が行わ
れる恐れがある。また、システム鍵998やマスタ鍵3
1といったユーザに秘密にすべきデータをクライアント
情報処理装置110fのメモリ上で扱っているため、メ
モリダンプ等によりそれらの正しい値をユーザ(不正
者)に知れれてしまう恐れもある。
【0131】そのため、本実施例においては、上記のよ
うな不正に対処するための手法を併せて用いることが望
ましい。例えば、必要時以外にはメモリ上にデータを保
持せず、また、不必要になったらすぐにそれらデータを
消去する(ビットを0にする)こと等である。
【0132】一方、本実施例は、既にFDコントローラ
996を内蔵した情報処理装置が数多く普及しているこ
とから、第一の実施例と比較して実現が容易である。ま
た、一般にICカードよりもFDのほうがより安価であ
り、定コストで実現できるというメリットもある。
【0133】
【発明の効果】以上説明したように、本発明によれば、
暗号者が作成した宛先リストと、復号者のICカードに
格納されたユーザ識別情報とを照合し、復号者が該宛先
リストが示す条件に合致するかどうかにより、暗号文を
復号化できるかどうかが決まる。暗号者が宛先リストに
自分自身のみを指定すれば、その暗号者だけが復号化で
きることになり、また、複数のユーザを指定すれば、そ
れら指定されたユーザだけが復号化できることになる。
したがって、暗号者は個人的な情報と複数のユーザによ
って共有される情報とを同じように暗号化できる。
【0134】また、宛先リストを、カテゴリ、データ、
およびコードで構成することにより、非常に多くのユー
ザが利用するシステムにおいても、比較的少ないシステ
ム負荷で効率的に機密保護を実現できる。
【0135】さらに、ユーザ識別情報を各ユーザの名前
や性別、所属、役職等により構成し、該ユーザ識別情報
を論理和演算や論理積演算で結合した条件式を宛先リス
トとしているため、暗号者は情報の開示先である復号者
を、個人名だけでなく所属や役職等の組み合わせによっ
て木目細かく指定することができる。
【0136】また、本発明はファイルの暗号化におい
て、復号化を許可するユーザーのリストをファイルに付
加するグループ暗号用いるので、複数のユーザーが同一
のファイル利用する場合にも暗号化ファイルが一個で済
み且つ安全であるという効果がある。
【0137】また、暗号化の対象ディレクトリと復号を
許可するユーザーの宛先リストをユーザー毎に設定可能
であるので、複数のユーザーがディレクトリを共用し該
ディレクトリ内のファイルを異なる宛先リストを用いて
ファイル暗号化を行うことができるという効果がある。
【0138】また、本発明は、アプリケーションプログ
ラムが解釈し処理する文法に従って記述された平文ファ
イルのデータ暗号化において、前記文法における前記ア
プリケーションプログラム処理時に処理対象外として無
視する注釈文とするための記述子を前記暗号化後のデー
タに付加し暗号ファイルとして格納するので、本暗号化
システムに対応した復号プログラムを具備しない情報処
理装置で前記暗号化ファイルを読み出した場合にも、異
常動作することがないという効果がある。
【0139】また、本発明は、アプリケーションプログ
ラムからOSに発行されるファイル操作要求をフックす
るフック手段を設け、前記ファイル操作要求発行時に自
動的に暗号化あるいは復号化を行うので、ユーザーが暗
号化を忘れることがないという効果がある。
【0140】また、本発明は、暗号化および復号化を行
う際に用いる鍵を生成するための情報に鍵生成の有効期
限を付加する手段と、前記鍵を生成する際に前記有効期
限をチェックする鍵生成手段とを設け、有効期限を超過
していた場合には前記鍵生成を行わないよう動作するの
で、復号を許可されたユーザーでも有効期限を超過して
復号できないように制御することができるという効果が
ある。
【0141】また、本発明は、暗号化および復号化を行
う際に用いる鍵を生成するための情報にユーザー或いは
グループ毎の復号権限制御を行う期限を付加する手段
と、前記鍵を生成する際に前記期限をチェックする鍵生
成手段とを設け、前記期限を超過していた場合にはユー
ザー或いはグループ毎の復号権限制御を行わないよう動
作するので、前記期限を過ぎた暗号化データはどのユー
ザーでも復号できるように制御することができるという
効果がある。
【図面の簡単な説明】
【図1】本発明の実施例における共用ファイル暗号シス
テムの一構成例を示す図である。
【図2】本発明の実施例におけるID情報の内容の一例
を示す図である。
【図3】本発明の実施例において、宛先リストのハッシ
ュ値を計算し前記グループ鍵を作成する手順の一例を示
す図である。
【図4】本発明の一実施例におけるICカード内のグル
ープ暗号プログラムの処理内容を示すフロー図である。
【図5】本発明の一実施例におけるファイルの暗号化手
順と暗号化後のファイルの構成を示す図である。
【図6】本発明の一実施例におけるファイルの復号化手
順を示す図である。
【図7】本発明の一実施例におけるユーザーから見た論
理的なディレクトリの構成を示す図である。
【図8】本発明の一実施例におけるファイルの自動暗号
化、復号化を導入した後の物理的なディレクトリ構成を
示す図である。
【図9】本発明の一実施例における宛先リストファイ
ル、前記暗号ファイル情報ファイルの内容の一例を示す
図である。
【図10】本発明の一実施例におけるICカードへのロ
グイン処理ルーチンの処理フローを示す図である。
【図11】本発明の一実施例におけるICカードからの
ログアウト処理ルーチンの処理フローを示す図である。
【図12】本発明の一実施例におけるファイルオープン
フックルーチンの処理フローを示す図である。
【図13】本発明の一実施例におけるファイルクリエイ
トフックルーチンの処理フローを示す図である。
【図14】本発明の一実施例におけるリードフックルー
チンの処理フローを示す図である。
【図15】本発明の一実施例におけるライトフックルー
チンの処理フローを示す図である。
【図16】本発明の一実施例におけるクローズフックル
ーチンの処理フローを示す図である。
【図17】本発明の一実施例におけるファイルリネーム
フックルーチンの処理フローを示す図である。
【図18】本発明の一実施例におけるファイル暗号化・
復号化時のデータの入出力方法を示す図である。
【図19】本発明の一実施例におけるオープン中の暗号
ファイルを管理するためのファイルハンドルテーブルの
構成を示す図である。
【図20】本発明の一実施例における手動ファイル暗号
化ルーチンの処理フローの一例を示す図である。
【図21】本発明の第一の実施例における第一のサーバ
情報処理装置のディレクトリ構造を示す図である。
【図22】本発明の一実施例における平文のHTMLフ
ァイルの一例を示す図である。
【図23】本発明の一実施例において平文のHTMLフ
ァイルをブラウザで表示した画面の例を示す図である。
【図24】本発明の一実施例における暗号化したHTM
Lファイルの一例を示す図である。
【図25】本発明の一実施例において暗号化した平文の
HTMLファイルをブラウザで表示した画面の例を示す
図である。
【図26】本発明の一実施例における暗号化したHTM
Lファイルの他の例を示す図である。
【図27】本発明の第一の実施例における前記共用ファ
イル暗号プログラム21と前記ファイルI/Oフックプ
ログラム22を構成するプログラムルーチンを示す図で
ある。
【図28】本発明の他の実施例における共用ファイル暗
号システムの一構成例を示す図である。
【図29】本発明の他の実施例における鍵生成サーバ情
報処理装置へのログイン処理ルーチンの処理フローを示
す図である。
【図30】本発明の他の実施例における鍵生成サーバ情
報処理装置からのログアウト処理ルーチンの処理フロー
を示す図である。
【図31】本発明の他の実施例における宛先リストの構
成を示す図である。
【図32】本発明の他の実施例における鍵生成サーバ情
報処理装置内の前記グループ暗号プログラムの処理内容
を示すフロー図である。
【図33】本発明の他の実施例における暗号ファイル受
信システムの一構成例を示す図である。
【図34】本発明の他の実施例における前記共用ファイ
ル暗号プログラムと前記通信APIフックプログラムを
構成するプログラムルーチンを示す図である。
【図35】本発明の他の実施例におけるsendフック
ルーチンの処理フローを示す図である。
【図36】本発明の他の実施例におけるrecvフック
ルーチンの処理フローを示す図である。
【図37】本発明の他の実施例におけるcloseso
cketフックルーチンの処理フローを示す図である。
【図38】本発明の他の実施例における受信ファイル復
号化時のデータの入出力方法を示す図である。
【図39】本発明の他の実施例におけるオープン中のソ
ケット情報を管理するためのソケット情報テーブルの構
成を示す図である。
【図40】本発明の他の実施例において実際のWWWを
運用するシステムの一構成例を示す図である。
【図41】本発明の他の実施例における平文のHTML
ファイルの一例を示す図である。
【図42】本発明の他の実施例において部分的に暗号化
したHTMLファイルの一例を示す図である。
【図43】本発明の他の実施例におけるHTMLファイ
ルの部分暗号化ルーチンの処理フローの一例を示す図で
ある。
【図44】本発明の他の実施例におけるrecvフック
ルーチンの処理フローを示す図である。
【図45】本発明の他の実施例において平文のHTML
ファイルと部分的に暗号化したHTMLファイルをブラ
ウザで表示した画面の例を示す図である。
【図46】従来例の構成を示す図である。
【図47】本発明の他の実施例における共用ファイル暗
号システムの一構成例を示す図である。
【符号の説明】
1…CPU、2…メモリ、3…LANコントローラ、4
…ディスクコントローラ、5…磁気ディスク、6…IC
カードコントローラ、7…不揮発メモリ、8…入出力イ
ンタフェース、20…OS、21…共用ファイル暗号プ
ログラム、22…ファイルI/Oフックプログラム、2
3…アプリケーションプログラム、24…クライアント
プログラム、25…ファイルサーバプログラム、28…
グループ暗号プログラム、29…ID情報、30…アク
セス制御プログラム、31…マスタ鍵、101…LA
N、110…クライアント情報処理装置、120…サー
バ情報処理装置、130…ICカード、140…鍵生成
サーバ情報処理装置。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H04L 9/32 H04L 9/00 601D // H04L 12/22 673E 11/26 (72)発明者 梅木 久志 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内

Claims (93)

    【特許請求の範囲】
  1. 【請求項1】通信網によって相互に接続された複数の端
    末と当該複数の端末からアクセス可能な記憶装置とを備
    え、前記複数の端末により複数のユーザによって共有さ
    れる前記記憶装置上の情報の暗号化を行うグループ暗号
    方法であって、 前記端末は、演算機能を備えた記憶媒体を接続可能と
    し、当該記憶媒体は予めユーザに配布され当該記憶媒体
    の所有者のユーザ識別情報およびマスタ鍵と呼ばれる秘
    密数値を記憶し、 前記記憶装置への、任意の一つの端末からの情報の書き
    込みは、 書き込む情報の開示先を示すユーザ識別情報のリストで
    ある宛先リストを生成すると共に、当該宛先リストを前
    記端末から当該端末に接続された前記記憶媒体に送信す
    るステップと、 前記記憶媒体において、受信した宛先リストが示す条件
    に当該記憶媒体内に記憶した前記ユーザ識別情報が合致
    するか否かを検査するステップと、 当該検査ステップにより、受信した前記宛先リストが示
    す条件に前記憶媒体内の前記ユーザ識別情報が合致する
    場合は、前記宛先リストと前記記憶媒体内に記憶した前
    記マスタ鍵とに基づいてグループ鍵を生成して前記端末
    に返送するステップと、 前記端末において、データ鍵と呼ぶ乱数を生成し、当該
    データ鍵を用いて平文を暗号化して暗号文を生成するス
    テップと、 前記記憶媒体より返送された前記グループ鍵を用いて前
    記データ鍵を暗号化して暗号文鍵を生成するステップ
    と、 前記暗号文鍵、前記宛先リスト、および前記暗号文を、
    前記記憶装置に書き込むステップとにより行うことを特
    徴とするグループ暗号方法。
  2. 【請求項2】通信網によって相互に接続された複数の端
    末と当該複数の端末からアクセス可能な記憶装置とを備
    え、前記複数の端末により複数のユーザによって共有さ
    れる前記記憶装置上の情報の暗号化を行うグループ暗号
    方法であって、 前記端末は、演算機能を備えた記憶媒体を接続可能と
    し、当該記憶媒体は予めユーザに配布され当該記憶媒体
    の所有者のユーザ識別情報およびマスタ鍵と呼ばれる秘
    密数値を記憶し、 前記記憶装置には、情報の開示先を示す宛先リスト、当
    該情報の開示先であるユーザのみ復号化し、平文の暗号
    化に用いられたデータ鍵に復元することができる暗号文
    鍵、および前記データ鍵で平文を暗号化して生成された
    暗号文が予め記憶されており、 前記記憶装置からの任意の一つの端末による情報の読み
    出しは、 前記記憶装置から前記暗号文鍵、前記宛先リスト、およ
    び前記暗号文を読み取るステップと、 読み取った前記宛先リストを、前記端末に接続された前
    記記憶媒体に送信するステップと、 前記記憶媒体において、受信した宛先リストが示す条件
    に前記記憶媒体内に記憶したユーザ識別情報が合致する
    か否かを検査するステップと、 当該検査ステップにより、受信した前記宛先リストが示
    す条件に前記憶媒体内に記憶した前記ユーザ識別情報が
    合致する場合は、前記宛先リストと前記記憶媒体内に記
    憶した前記マスタ鍵とに基づいてグループ鍵を生成して
    端末に返送するステップと、 前記端末において、前記記憶装置より読み取った前記暗
    号文鍵を、前記グループ鍵を用いて復号化してデータ鍵
    を生成するステップと、 前記記憶装置より読み取った前記暗号文を、前記データ
    鍵を用いて復号化して平文を生成するステップとにより
    行うことを特徴とするグループ暗号方法。
  3. 【請求項3】通信網によって相互に接続された複数の端
    末と当該複数の端末からアクセス可能な記憶装置とを備
    え、前記複数の端末により複数のユーザによって共有さ
    れる前記記憶装置上の情報の暗号化を行うグループ暗号
    方法であって、 前記端末は、演算機能を備えた記憶媒体を接続可能と
    し、当該記憶媒体は予めユーザに配布され当該記憶媒体
    の所有者のユーザ識別情報およびマスタ鍵と呼ばれる秘
    密数値を記憶し、 前記記憶装置への、任意の一つの端末からの情報の書き
    込みは、 書き込む情報の開示先を示すユーザ識別情報のリストで
    ある宛先リストを生成すると共に、当該宛先リストを前
    記端末から当該端末に接続された前記記憶媒体に送信す
    るステップと、 前記記憶媒体において、受信した宛先リストが示す条件
    に当該記憶媒体内に記憶した前記ユーザ識別情報が合致
    するか否かを検査するステップと、 当該検査ステップにより、受信した前記宛先リストが示
    す条件に前記憶媒体内の前記ユーザ識別情報が合致する
    場合は、前記宛先リストと前記記憶媒体内に記憶した前
    記マスタ鍵とに基づいてグループ鍵を生成して前記端末
    に返送するステップと、 前記端末において、データ鍵と呼ぶ乱数を生成し、当該
    データ鍵を用いて平文を暗号化して暗号文を生成するス
    テップと、 前記記憶媒体より返送された前記グループ鍵を用いて前
    記データ鍵を暗号化して暗号文鍵を生成するステップ
    と、 前記暗号文鍵、前記宛先リスト、および前記暗号文を、
    前記記憶装置に書き込むステップとにより行い、 前記記憶装置からの任意の一つによる情報の読み出し
    は、 前記記憶装置から前記暗号文鍵、前記宛先リスト、およ
    び前記暗号文を読み取るステップと、 読み取った前記宛先リストを、前記端末に接続された前
    記記憶媒体に、送信するステップと、 前記該記憶媒体において、受信した前記宛先リストが示
    す条件に前記憶媒体内に記憶したユーザ識別情報が合致
    するか否かを検査するステップと、 当該検査ステップにより、受信した前記宛先リストが示
    す条件に前記記憶媒体内に記憶した前記ユーザ識別情報
    が合致する場合は、前記宛先リストと前記記憶媒体内に
    記憶したマスタ鍵とに基づいて前記グループ鍵を生成し
    て前記端末に返送するステップと、 前記端末において、前記記憶装置より読み取った前記暗
    号文鍵を、前記グループ鍵を用いて復号化してデータ鍵
    を生成するステップと、 前記記憶装置より読み取った前記暗号文を、前記データ
    鍵を用いて復号化して平文を生成するステップとにより
    行うことを特徴とするグループ暗号方法。
  4. 【請求項4】請求項1、又は請求項2、又は請求項3に
    記載のグループ暗号方法において、 前記記憶媒体がICカードであることを特徴とするグル
    ープ暗号方法。
  5. 【請求項5】請求項1、又は請求項3に記載のグループ
    暗号方法において、 前記記憶装置への情報の書き込み時に、前記記憶媒体が
    グループ鍵を生成して前記端末に返送するステップは、 前記受信した前記宛先リストが示す条件に前記記憶媒体
    内に記憶した前記ユーザ識別情報が合致するときにの
    み、前記グループ鍵の生成と前記端末への返送を行うこ
    とを特徴とするグループ暗号方法。
  6. 【請求項6】請求項2、又は請求項3に記載のグループ
    暗号方法において、 前記記憶装置からの情報の読み出し時に、前記記憶媒体
    が前記グループ鍵を生成して前記端末に返送するステッ
    プは、受信した前記宛先リストが示す条件に前記憶媒体
    内に記憶した前記ユーザ識別情報が合致するときにの
    み、グループ鍵の生成と端末への返送を行うことを特徴
    とするグループ暗号方法。
  7. 【請求項7】通信網によって相互に接続された複数の端
    末と当該複数の端末からアクセス可能な記憶装置とを備
    え、前記複数の端末により複数のユーザによって共有さ
    れる前記記憶装置上の情報の暗号化を行うグループ暗号
    方法であって、 前記端末は、演算機能を備えた記憶媒体を接続可能と
    し、当該記憶媒体は予めユーザに配布され、当該記憶媒
    体の所有者のユーザ識別情報およびマスタ鍵と呼ばれる
    秘密数値を前記端末が記憶しているシステム鍵と呼ばれ
    る秘密数値で暗号化し、当該暗号化されたユーザ識別情
    報およびマスタ鍵を記憶し、 前記記憶装置への、任意の一つの端末からの情報の書き
    込みは、 書き込む情報の開示先を示す前記ユーザ識別情報のリス
    トである宛先リストを生成するステップと、 前記端末に接続された前記記憶媒体から、暗号化した前
    記ユーザ識別情報を読み取るステップと、 暗号化した前記ユーザ識別情報を前記システム鍵で復号
    化してユーザ識別情報を生成し、前記宛先リストが示す
    条件に前記ユーザ識別情報が合致する否かを検査するス
    テップと、 当該検査ステップにより、前記宛先リストが示す条件に
    ユーザ識別情報が合致する場合は、前記端末に接続され
    た記憶媒体から、暗号化した前記マスタ鍵を読み取るス
    テップと、 暗号化した前記マスタ鍵を前記システム鍵で復号化して
    前記マスタ鍵を生成し、当該マスタ鍵と前記宛先リスト
    とに基づいてグループ鍵を生成するステップと、 データ鍵と呼ぶ乱数を生成し、当該データ鍵を用いて平
    文を暗号化して暗号文を生成するステップと、 前記グループ鍵を用いて前記データ鍵を暗号化して暗号
    文鍵を生成するステップと、 前記暗号文鍵、前記宛先リスト、および前記暗号文を、
    前記記憶装置に書き込むステップとにより行うことを特
    徴とするグループ暗号方法。
  8. 【請求項8】通信網によって相互に接続された複数の端
    末と当該複数の端末からアクセス可能な記憶装置とを備
    え、前記複数の端末により複数のユーザによって共有さ
    れる前記記憶装置上の情報の暗号化を行うグループ暗号
    方法であって、 前記端末は、演算機能を備えた記憶媒体を接続可能と
    し、当該記憶媒体は予めユーザに配布され、当該記憶媒
    体の所有者のユーザ識別情報およびマスタ鍵と呼ばれる
    秘密数値を前記端末が記憶しているシステム鍵と呼ばれ
    る秘密数値で暗号化し、当該暗号化されたユーザ識別情
    報およびマスタ鍵を記憶し、 前記記憶装置には、情報の開示先を示す宛先リスト、当
    該情報の開示先であるユーザのみ復号化し、平文の暗号
    化に用いられたデータ鍵に復元することができる暗号文
    鍵、および前記データ鍵で平文を暗号化して生成された
    暗号文が予め記憶されており、 前記記憶装置からの任意の一つの端末による情報の読み
    出しは、 前記記憶装置から前記暗号文鍵、前記宛先リスト、およ
    び前記暗号文を読み取るステップと、 前記端末に接続された前記記憶媒体から、暗号化した前
    記ユーザ識別情報を読み取るステップと、 暗号化した前記ユーザ識別情報を前記システム鍵で復号
    化して前記ユーザ識別情報を生成し、前記記憶装置より
    読み取った前記宛先リストが示す条件に前記ユーザ識別
    情報が合致するか否かを検査するステップと、 当該検査ステップにより、前記宛先リストが示す条件に
    前記ユーザ識別情報が合致する場合は、前記端末に接続
    された前記記憶媒体から、暗号化した前記マスタ鍵を読
    み取るステップと、 暗号化した前記マスタ鍵を前記システム鍵で復号化して
    前記マスタ鍵を生成し、当該マスタ鍵と前記宛先リスト
    とに基づいてグループ鍵を生成するステップと、 前記端末に接続された前記記憶媒体から、暗号化した前
    記ユーザ識別情報を読み取るステップと、 暗号化した前記ユーザ識別情報を前記システム鍵で復号
    化して前記ユーザ識別情報を生成し、前記宛先リストが
    示す条件に前記ユーザ識別情報が合致するか否かを検査
    するステップと、 当該検査ステップにより、前記宛先リストが示す条件に
    前記ユーザ識別情報が合致する場合は、前記端末に接続
    された前記記憶媒体から、暗号化した前記マスタ鍵を読
    み取るスッテプと、 暗号化した前記マスタ鍵を前記システム鍵で復号化して
    マスタ鍵を生成し、前記マスタ鍵と宛先リストとに基づ
    いてグループ鍵を生成するステップと、 前記記憶装置より読み取った前記暗号文鍵を、前記グル
    ープ鍵を用いて復号化してデータ鍵を生成するステップ
    と、 前記記憶装置より読み取った前記暗号文を、前記データ
    鍵を用いて復号化して平文を生成するステップとにより
    行うことを特徴とするグループ暗号方法。
  9. 【請求項9】通信網によって相互に接続された複数の端
    末と当該複数の端末からアクセス可能な記憶装置とを備
    え、前記複数の端末により複数のユーザによって共有さ
    れる前記記憶装置上の情報の暗号化を行うグループ暗号
    方法であって、 前記端末は、演算機能を備えた記憶媒体を接続可能と
    し、当該記憶媒体は予めユーザに配布され、当該記憶媒
    体の所有者のユーザ識別情報およびマスタ鍵と呼ばれる
    秘密数値を前記端末が記憶しているシステム鍵と呼ばれ
    る秘密数値で暗号化し、当該暗号化されたユーザ識別情
    報およびマスタ鍵を記憶し、 前記記憶装置への、任意の一つの端末からの情報の書き
    込みは、 書き込む情報の開示先を示す前記ユーザ識別情報のリス
    トである宛先リストを生成するステップと、 前記端末に接続された前記記憶媒体から、暗号化した前
    記ユーザ識別情報を読み取るステップと、 暗号化した前記ユーザ識別情報を前記システム鍵で復号
    化して前記ユーザ識別情報を生成し、前記宛先リストが
    示す条件に該ユーザ識別情報が合致するか否かを検査す
    るステップと、 当該検査ステップにより、前記宛先リストが示す条件に
    前記ユーザ識別情報が合致する場合は、前記端末に接続
    された前記記憶媒体から、暗号化した前記マスタ鍵を読
    み取るスッテプと、 暗号化した前記マスタ鍵を前記システム鍵で復号化して
    前記マスタ鍵を生成し、前記マスタ鍵と宛先リストとに
    基づいてグループ鍵を生成するステップと、 データ鍵と呼ぶ乱数を生成し、当該データ鍵を用いて平
    文を暗号化して暗号文を生成するステップと、 前記グループ鍵を用いて前記データ鍵を暗号化して暗号
    文鍵を生成するステップと、 前記暗号文鍵、前記宛先リスト、および前記暗号文を、
    前記記憶装置に書き込むステップとにより行い、 前記記憶装置からの任意の一つの端末による情報の読み
    出しは、 前記記憶装置から前記暗号文鍵、前記宛先リスト、およ
    び前記暗号文を読み取るステップと、 前記端末に接続された前記記憶媒体から、暗号化した前
    記ユーザ識別情報を読み取るステップと、 暗号化した前記ユーザ識別情報を前記システム鍵で復号
    化して前記ユーザ識別情報を生成し、前記記憶装置より
    読み取った前記宛先リストが示す条件に前記ユーザ識別
    情報が合致するか否かを検査するステップと、 当該検査ステップにより、前記宛先リストが示す条件に
    前記ユーザ識別情報が合致する場合は、前記端末に接続
    された前記記憶媒体から、暗号化した前記マスタ鍵を読
    み取るステップと、 暗号化した前記マスタ鍵を前記システム鍵で復号化して
    前記マスタ鍵を生成し、当該マスタ鍵と前記宛先リスト
    とに基づいてグループ鍵を生成するステップと、 前記端末に接続された前記記憶媒体から、暗号化した前
    記ユーザ識別情報を読み取るステップと、 暗号化した前記ユーザ識別情報を前記システム鍵で復号
    化して前記ユーザ識別情報を生成し、前記宛先リストが
    示す条件に前記ユーザ識別情報が合致するか否かを検査
    するステップと、 当該検査ステップにより、前記宛先リストが示す条件に
    前記ユーザ識別情報が合致する場合は、前記端末に接続
    された前記記憶媒体から、暗号化した前記マスタ鍵を読
    み取るスッテプと、 暗号化した前記マスタ鍵を前記システム鍵で復号化して
    前記マスタ鍵を生成し、当該マスタ鍵と前記宛先リスト
    とに基づいてグループ鍵を生成するステップと、 前記記憶装置より読み取った前記暗号文鍵を、前記グル
    ープ鍵を用いて復号化して前記データ鍵を生成するステ
    ップと、 前記記憶装置より読み取った前記暗号文を、前記データ
    鍵を用いて復号化して平文を生成するステップとにより
    行うことを特徴とするグループ暗号方法。
  10. 【請求項10】請求項7、又は請求項8、又は請求項9
    に記載のグループ暗号方法において、前記記憶媒体が、
    フロッピーディスクであることを特徴とするグループ暗
    号方法。
  11. 【請求項11】請求項7、又は請求項9に記載のグルー
    プ暗号方法において、 前記記憶装置への情報の書き込み時に、端末が、記憶媒
    体より読み取った暗号化したユーザ識別情報をシステム
    鍵を用いて復号化し、グループ鍵を生成するステップ
    は、ユーザが生成した宛先リストが示す条件に復号化し
    たユーザ識別情報が合致するときにのみ、グループ鍵の
    生成を行うことを特徴とするグループ暗号方法。
  12. 【請求項12】請求項8、又は請求項9に記載のグルー
    プ暗号方法において、 前記記憶装置からの情報の読み出し時に、端末が、記憶
    媒体より読み取った暗号化したユーザ識別情報をシステ
    ム鍵を用いて復号化し、グループ鍵を生成するステップ
    は、ユーザが生成した宛先リストが示す条件に復号化し
    たユーザ識別情報が合致するときにのみ、グループ鍵の
    生成を行うことを特徴とするグループ暗号方法。
  13. 【請求項13】請求項1、又は請求項2、又は請求項
    3、又は請求項7、又は請求項8、請求項9に記載のグ
    ループ暗号方法において、 前記記憶媒体内に記憶したユーザ識別情報が、当該記憶
    媒体の所有者を他のユーザと区分する条件を表す1つま
    たは複数の情報を含んでいることを特徴とするグループ
    暗号方法。
  14. 【請求項14】請求項13に記載のグループ暗号方法に
    おいて、 前記記憶媒体内に記憶したユーザ識別情報が、カテゴリ
    と呼ばれる該記憶媒体の所有者を他のユーザと区分する
    条件、その条件に対して該記憶媒体の所有者を特定する
    データ、および該データを数値化したコード、からなる
    ことを特徴とするグループ暗号方法。
  15. 【請求項15】請求項13に記載のグループ暗号方法に
    おいて、前記記憶媒体の所有者を他のユーザと区分する
    条件が、氏名、年齢、生年月日、性別、個人番号、所
    属、役職の中の1つあるいは複数の情報であることを特
    徴とするグループ暗号方法。
  16. 【請求項16】請求項1、又は請求項2、又は請求項
    3、又は請求項7、又は請求項8、請求項9に記載のグ
    ループ暗号方法において、 前記宛先リストが、情報の開示先となるユーザのユーザ
    識別情報に基づいて生成される条件式であることを特徴
    とするグループ暗号方法。
  17. 【請求項17】請求項16記載のグループ暗号方法にお
    いて、 前記宛先リストが、カテゴリとデータ、あるいはコード
    とを論理和記号や論理積記号、等価記号、大小関係記号
    で連結した論理式であることを特徴とするグループ暗号
    方法。
  18. 【請求項18】請求項1、又は請求項2、又は請求項
    3、又は請求項7、又は請求項8、請求項9に記載のグ
    ループ暗号方法において、 前記宛先リストとマスタ鍵に基づいてグループ鍵を生成
    することを特徴とするグループ暗号方法。
  19. 【請求項19】請求項18記載のグループ暗号方法にお
    いて、 前記グループ鍵の生成は、宛先リストとマスタ鍵とを連
    結したものをハッシュ処理し、算出した値をグループ鍵
    とすることを特徴とするグループ暗号方法。
  20. 【請求項20】請求項1、又は請求項2、又は請求項3
    に記載のグループ暗号方法において、 前記各記憶媒体は、更に当該記憶媒体の所有者のパスワ
    ードを記憶しており、当該記憶媒体内でグループ鍵を生
    成する場合に、当該パスワードを使って、グループ鍵を
    生成する権利があるか否かを検査することを特徴とする
    グループ暗号方法。
  21. 【請求項21】請求項7、又は請求項8、又は請求項9
    に記載のグループ暗号方法において、 前記各記憶媒体は、更に当該記憶媒体の所有者のパスワ
    ードを記憶しており、当該記憶媒体から暗号化したユー
    ザ識別情報や暗号化したマスタ鍵を読み取る場合に、前
    記パスワードを使って、グループ鍵を生成する権利があ
    るか否かを検査することを特徴とするグループ暗号方
    法。
  22. 【請求項22】請求項20、又は請求項21に記載のグ
    ループ暗号方法において、 グループ鍵を生成する権利があるかどうかの検査に、前
    記記憶媒体の所有者の生物学的特徴を使うことを特徴と
    するグループ暗号方法。
  23. 【請求項23】演算手段と、リーダライタインタフェー
    スと、記憶手段とを備え、当該記憶手段には、ユーザ識
    別情報とマスタ鍵を記憶したICカードにおいて、 前記リーダライタインタフェースを介して宛先リストを
    受信したときに、当該宛先リストが示す条件に前記ユー
    ザ識別情報が合致した場合には、グループ鍵を生成して
    出力することを特徴とするICカード。
  24. 【請求項24】少なくともファイルへの入出力制御機能
    を持つオペレーティングシステムと、前記ファイルを格
    納する記憶装置、あるいはネットワークで接続された第
    二の情報処理装置上の記憶装置へのファイル格納手段と
    を具備する情報処理装置において、 ツリー状の階層管理を行う前記ファイル格納手段のノー
    ド位置即ちディレクトリの内、暗号化を行う対象ディレ
    クトリを予め設定しファイルに記憶する暗号化ディレク
    トリ記憶手段と、 前記オペレーティングシステム上で動作するアプリケー
    ションプログラムから前記ディレクトリ内のファイルへ
    の書き込みデータを暗号化する暗号化手段とを設けたこ
    とを特徴とするファイル暗号システム。
  25. 【請求項25】請求項24記載のファイル暗号システム
    であって、 前記暗号化ディレクトリ記憶手段は、前記情報処理装置
    を利用するユーザー毎に、独立した複数の暗号化対象デ
    ィレクトリを設定可能であることを特徴とするファイル
    暗号システム。
  26. 【請求項26】請求項24記載のファイル暗号システム
    であって、 前記暗号化ディレクトリ記憶手段は、前記対象ディレク
    トリ毎に復号可能なユーザーのリストを記憶することを
    特徴とするファイル暗号システム。
  27. 【請求項27】請求項25記載のファイル暗号システム
    であって、 前記暗号化ディレクトリ記憶手段は、前記対象ディレク
    トリ毎に復号可能なユーザーのリストを記憶することを
    特徴とするファイル暗号システム。
  28. 【請求項28】請求項26記載のファイル暗号システム
    であって、 前記ユーザーのリストを記憶したファイルを、前記対象
    ディレクトリ毎に前記対象ディレクトリ内に作成するこ
    とを特徴とするファイル暗号システム。
  29. 【請求項29】請求項24記載のファイル暗号システム
    であって、 前記暗号化手段は、当該ディレクトリに暗号化対象ディ
    レクトリであることを示すファイルがある場合にファイ
    ルへの書き込みデータを暗号化することを特徴とするフ
    ァイル暗号システム。
  30. 【請求項30】請求項27、又請求項28、又は請求項
    29に記載のファイル暗号システムであって、 前記ユーザーのリストを暗号化し記憶することを特徴と
    するファイル暗号システム。
  31. 【請求項31】請求項24、又は請求項25、又は請求
    項26、又は請求項27、又は請求項28、又は請求項
    29、又は請求項30記載のファイル暗号システムであ
    って、 前記アプリケーションプログラムから見た論理的ファイ
    ル名と、前記暗号化手段によって格納される物理的ファ
    イル名とが異なることを特徴とするファイル暗号システ
    ム。
  32. 【請求項32】少なくともファイルへの入出力制御機能
    を持つオペレーティングシステムと、前記ファイルを格
    納する記憶装置、あるいはネットワークで接続された第
    二の情報処理装置上の記憶装置へのファイル格納手段と
    を具備する情報処理装置において、 暗号化を行う対象ディレクトリを予め設定しファイルに
    記憶する暗号化ディレクトリ記憶手段と、 アプリケーションプログラムから前記ディレクトリ内の
    ファイルへの書き込みデータの暗号化と読み出しデータ
    の復号化とを行う暗号復号手段とを設けたことを特徴と
    するファイル暗号システム。
  33. 【請求項33】請求項32記載のファイル暗号システム
    であって、 前記暗号復号手段は、アプリケーションプログラムから
    のファイル書き込み或いは読み出しのサイズとは独立し
    たサイズの平文ブロックバッファと暗号文ブロックバッ
    ファとを具備し、暗号化および復号化の処理は、前記ブ
    ロックバッファ上の全データを一度に処理することによ
    って行うことを特徴とするファイル暗号システム。
  34. 【請求項34】少なくともファイルへの入出力制御機能
    を持つオペレーティングシステムと、前記ファイルを格
    納する記憶装置あるいはネットワークで接続された第二
    の情報処理装置上の記憶装置へのファイル格納手段と、
    前記ファイルを暗号化するファイル暗号化手段とを具備
    する情報処理装置において、 前記ファイル暗号化手段は、アプリケーションプログラ
    ムが解釈し処理する文法に従って記述された平文ファイ
    ルのデータ暗号化において、前記文法における前記アプ
    リケーションプログラム処理時に処理対象外として無視
    する注釈文とするための記述子を前記暗号化後のデータ
    に付加し格納することを特徴とするファイル暗号システ
    ム。
  35. 【請求項35】請求項34記載のファイル暗号システム
    であって、 前記暗号化後のデータに前記注釈文の終了を示す記述子
    が存在しないような暗号化鍵を選択し使用することを特
    徴とするファイル暗号システム。
  36. 【請求項36】請求項34、又は請求項35記載のファ
    イル暗号システムであって、 当該ファイルが暗号文のファイルであることを前記アプ
    リケーションプログラムが表示するための記述文を、前
    記暗号化後のデータを含む前記注釈文の前あるいは後ろ
    に付加し格納することを特徴とするファイル暗号システ
    ム。
  37. 【請求項37】少なくともファイルへの入出力制御機能
    を持つオペレーティングシステムと、前記ファイルを格
    納する記憶装置あるいはネットワークで接続された第二
    の情報処理装置上の記憶装置へのファイル格納手段と、
    前記記憶装置に格納されたファイルを復号化するファイ
    ル復号化手段とを具備する情報処理装置において、 前記ファイル復号化手段は、アプリケーションプログラ
    ムが解釈し処理する文法に従って記述された暗号ファイ
    ルのデータ復号化において、前記文法における前記アプ
    リケーションプログラム処理時に処理対象外として無視
    する注釈文とするための記述子によって注釈文とされた
    データ部分を復号化し、該復号化後のデータを暗号化前
    の平文ファイルのデータとして格納することを特徴とす
    るファイル暗号システム。
  38. 【請求項38】請求項24、又は請求項25、又は請求
    項26、又は請求項27、又は請求項28、又は請求項
    29、又は請求項30、又は請求項31、又は請求項3
    2、又は請求項33、又は請求項34、又は請求項3
    5、又は請求項36、又は請求項37記載のファイル暗
    号システムであって、 前記暗号化手段あるいは復号化手段は、前記アプリケー
    ションプログラムから前記OSに発行されるファイル操
    作要求をフックするフック手段によって呼び出されるこ
    とを特徴とするファイル暗号システム。
  39. 【請求項39】請求項24、又は請求項25、又は請求
    項26、又は請求項27、又は請求項28、又は請求項
    29、又は請求項30、又は請求項31、又は請求項3
    2、又は請求項33、又は請求項34、又は請求項3
    5、又は請求項36、又は請求項37、又は請求項38
    記載のファイル暗号システムであって、 前記暗号化手段は、復号を許可するユーザーのリストの
    文字列をハッシュ関数によって圧縮することによって作
    成した数値を暗号化の鍵として用いることを特徴とする
    ファイル暗号システム。
  40. 【請求項40】請求項24、又は請求項25、又は請求
    項26、又は請求項27、又は請求項28、又は請求項
    29、又は請求項30、又は請求項31、又は請求項3
    2、又は請求項33、又は請求項34、又は請求項3
    5、又は請求項36、又は請求項37、又は請求項38
    記載のファイル暗号システムであって、 前記暗号化手段は、復号を許可するユーザーのリストの
    文字列をハッシュ関数によって圧縮することによって作
    成した数値で暗号化の鍵を暗号化し、該暗号化鍵を暗号
    化ファイルに付加することを特徴とするファイル暗号シ
    ステム。
  41. 【請求項41】請求項24、又は請求項25、又は請求
    項26、又は請求項27、又は請求項28、又は請求項
    29、又は請求項30、又は請求項31、又は請求項3
    2、又は請求項33、又は請求項34、又は請求項3
    5、又は請求項36、又は請求項37、又は請求項38
    記載のファイル暗号システムであって、 前記暗号化手段は、復号を許可するユーザーのリストと
    マスタ鍵と呼ぶ秘密の数値とをもとに作成した数値を暗
    号化の鍵として用いることを特徴とするファイル暗号シ
    ステム。
  42. 【請求項42】請求項24、又は請求項25、又は請求
    項26、又は請求項27、又は請求項28、又は請求項
    29、又は請求項30、又は請求項31、又は請求項3
    2、又は請求項33、又は請求項34、又は請求項3
    5、又は請求項36、又は請求項37、又は請求項38
    記載のファイル暗号システムであって、 前記暗号化手段は、復号を許可するユーザーのリストの
    文字列とマスタ鍵と呼ぶ秘密の数値とをもとに作成した
    数値で暗号化の鍵を暗号化し、該暗号化鍵を暗号化ファ
    イルに付加することを特徴とするファイル暗号システ
    ム。
  43. 【請求項43】少なくとも中央処理装置(CPU)と記
    憶装置とを具備する情報処理装置において、 復号を許可するユーザーのリストの文字列とマスタ鍵と
    呼ぶ秘密の数値とをもとに作成した数値を暗号化の鍵と
    して用いることを特徴とするデータ暗号システム。
  44. 【請求項44】請求項43記載のデータ暗号システムで
    あって、 前記復号を許可するユーザーのリストの文字列に復号期
    限の日付情報を含むことを特徴とするデータ暗号システ
    ム。
  45. 【請求項45】請求項43記載のデータ暗号システムで
    あって、 前記復号を許可するユーザーのリストの文字列に該ユー
    ザーのリストによる復号可否制御の有効期限の日付情報
    を含むことを特徴とするデータ暗号システム。
  46. 【請求項46】請求項43記載のデータ暗号システムで
    あって、 前記復号を許可するユーザーのリストの文字列に前記復
    号化の鍵の生成に用いるマスタ鍵を識別する情報を付加
    することを特徴とするデータ暗号システム。
  47. 【請求項47】請求項43、又は請求項44記載のデー
    タ暗号システムであって、 前記ユーザーのリストの文字列を暗号化データに付加す
    ることを特徴とするデータ暗号システム。
  48. 【請求項48】請求項43、又は請求項44、又は請求
    項45、又は請求項46、又は請求項47記載のデータ
    暗号システムであって、 前記情報処理装置に接続され、前記情報処理装置の前記
    CPUとは別のCPUを具備する鍵生成装置を用いて前
    記鍵の生成を行うことを特徴とするデータ暗号システ
    ム。
  49. 【請求項49】請求項48記載のデータ暗号システム及
    びその制御方法であって、前記鍵生成装置はICカード
    であることを特徴とするデータ暗号システム及びその制
    御方法。
  50. 【請求項50】請求項48記載のデータ暗号システムで
    あって、 前記鍵生成装置は前記情報処理装置とネットワークで接
    続された別の情報処理装置であることを特徴とするデー
    タ暗号システム。
  51. 【請求項51】少なくともCPUと記憶装置とを具備す
    る情報処理装置において、 復号を許可するユーザーのリストの文字列とマスタ鍵と
    呼ぶ秘密の数値とをもとに作成した数値を復号化の鍵と
    して用いることを特徴とするデータ暗号システム。
  52. 【請求項52】請求項51記載のデータ暗号システムで
    あって、 前記復号を許可するユーザーのリストの文字列に含まれ
    る復号期限の日付情報にしたがい、鍵の生成の可否を制
    御することを特徴とするデータ暗号システム。
  53. 【請求項53】請求項51記載のデータ暗号システムで
    あって、 前記復号を許可するユーザーのリストの文字列に含まれ
    る該ユーザーのリストによる復号可否制御の有効期限の
    日付情報にしたがい、該ユーザーのリストによる鍵の生
    成の可否制御を行うか否かを制御することを特徴とする
    データ暗号システム。
  54. 【請求項54】請求項51記載のデータ暗号システムで
    あって、 前記復号を許可するユーザーのリストの文字列に含まれ
    るマスタ鍵情報にしたがい、前記復号化の鍵の生成に用
    いるマスタ鍵を選択することを特徴とするデータ暗号シ
    ステム。
  55. 【請求項55】請求項51、又は請求項52、又は請求
    項53、又は請求項54記載のデータ暗号システムであ
    って、 前記ユーザーのリストの文字列として、暗号化データに
    付加されたユーザーのリストの文字列を用いることを特
    徴とするデータ復号システム。
  56. 【請求項56】請求項51、又は請求項52、又は請求
    項53、又は請求項54、又は請求項55記載のデータ
    暗号システムであって、 前記情報処理装置に接続され、前記情報処理装置の前記
    CPUとは別のCPUを具備する鍵生成装置を用いて前
    記鍵の生成を行うことを特徴とするデータ暗号システ
    ム。
  57. 【請求項57】請求項56記載のデータ復号システム及
    びその制御方法であって、 前記鍵生成装置はICカードであることを特徴とするデ
    ータ復号システム。
  58. 【請求項58】請求項56記載のデータ復号システムで
    あって、 前記鍵生成装置は前記情報処理装置とネットワークで接
    続された別の情報処理装置であることを特徴とするデー
    タ暗号システム。
  59. 【請求項59】少なくともCPUと記憶装置とを具備す
    る情報処理装置において、 データの暗号化を行うデータ暗号システム及びその制御
    方法であって、暗号化を行う際に該暗号化によって作成
    された暗号データの復号を許可する期限の日時が指定可
    能であることを特徴とするデータ暗号システム。
  60. 【請求項60】少なくともCPUと記憶装置とを具備す
    る情報処理装置において、 データの暗号化を行うデータ暗号システム及びその制御
    方法であって、暗号化を行う際に該暗号化によって作成
    された暗号データを復号するための鍵の取得を制限する
    期間の日時が指定可能であることを特徴とするデータ暗
    号システム。
  61. 【請求項61】少なくともCPUと記憶装置とを具備す
    る情報処理装置において、 データの復号化を行うデータ復号システム及びその制御
    方法であって、該暗号化データに対し指定された復号を
    許可する期限の日時を超過していた場合には復号を行わ
    ないことを特徴とするデータ暗号システム。
  62. 【請求項62】少なくともCPUと記憶装置とを具備す
    る情報処理装置において、 データの復号化を行うデータ復号システム及びその制御
    方法であって、該暗号化データに対し指定された鍵の取
    得を制限する期間の日時を超過していた場合には、前記
    制限に拘わらず復号を行うことを特徴とするデータ暗号
    システム。
  63. 【請求項63】少なくとも通信制御機能とファイルへの
    入出力制御機能を持つオペレーティングシステムと、前
    記ファイルを格納する記憶装置とを具備する第一の情報
    処理装置と、該第一の情報処理装置とはネットワークで
    接続され、少なくとも通信制御機能を持つオペレーティ
    ングシステムと、該OS上で動作し、前記第一の情報処
    理装置上の記憶装置からファイルを受信する機能を持つ
    アプリケーションプログラムとを具備する第二の情報処
    理装置によって構成されたシステムにおいて、 前記ファイルを暗号化するファイル暗号化手段と、 前記アプリケーションプログラムが前記第一の情報処理
    装置から前記暗号ファイルを受信する際に、該受信ファ
    イルを復号化してから前記アプリケーションプログラム
    に渡す受信ファイル復号化手段とを設けたことを特徴と
    するファイル暗号システム。
  64. 【請求項64】請求項63記載のファイル暗号システム
    であって、 前記ファイル暗号化手段によって、前記暗号ファイルに
    復号可能なユーザーのリストが付加されたファイルを受
    信して、復号化することを特徴とするファイル暗号シス
    テム。
  65. 【請求項65】請求項63記載のファイル暗号システム
    であって、 前記受信ファイル復号化手段は、アプリケーションプロ
    グラムが前記OSに発行するデータ送受信要求をフック
    するフック手段によって呼び出されることを特徴とする
    ファイル暗号システム。
  66. 【請求項66】請求項63、又は請求項64、又は請求
    項65記載のファイル暗号システムであって、 前記フック手段は、前記第二の情報処理装置のユーザー
    の身元を確認するユーザー認証手段によって認証された
    ユーザーが存在する場合にのみ前記受信ファイル復号化
    手段を呼び出すことを特徴とするファイル暗号システ
    ム。
  67. 【請求項67】請求項63、又は請求項64、又は請求
    項65、又は請求項66記載のファイル暗号システムに
    おいて、 前記フック手段は、アプリケーションプログラムが前記
    OSに発行するファイル受信要求の監視と、該要求に対
    する受信データの内容の調査を行い、該受信データが暗
    号化ファイルであれば前記受信ファイル復号化手段によ
    り復号化したデータを前記アプリケーションプログラム
    に渡し、暗号化ファイルでなければ受信データをそのま
    ま前記アプリケーションプログラムに渡すことを特徴と
    するファイル暗号システム。
  68. 【請求項68】請求項63、又は請求項64、又は請求
    項65、又は請求項66、又は請求項67のファイル暗
    号システムにおいて、 記載前記フック手段と前記受信ファイル復号化手段を、
    前記ユーザー認証手段によってユーザーを認証したとき
    にロードすることを特徴とするファイル暗号システム。
  69. 【請求項69】請求項63、又は請求項64、又は請求
    項65、又は請求項66、又は請求項67のファイル暗
    号システムであって、 前記受信ファイル復号化手段は、前記ユーザー認証手段
    によって認証されたユーザーが、前記復号可能なユーザ
    ーのリストに含まれているか否かを判別する復号権利判
    別手段によって復号権利があると判断された場合にのみ
    呼び出されることを特徴とするファイル暗号システム。
  70. 【請求項70】請求項63記載のファイル暗号システム
    であって、 前記暗号ファイルに、復号可能なユーザーのリストを暗
    号化して付加したファイルを受信して復号化することを
    特徴とする暗号ファイル受信システム。
  71. 【請求項71】請求項63、又は請求項64、又は請求
    項65、又は請求項66、又は請求項67、又は請求項
    68、又は請求項69、又は請求項70記載のファイル
    暗号システムであって、 前記第一の情報処理装置上の記憶装置には、前記ファイ
    ル暗号化手段によって予め暗号化されたファイルが格納
    されていることを特徴とするファイル暗号システム。
  72. 【請求項72】請求項63、又は請求項64、又は請求
    項65、又は請求項66、又は請求項67、又は請求項
    68、又は請求項69、又は請求項70、又は請求項7
    1記載のファイル暗号システムであって、 前記フック手段は、前記アプリケーションプログラム
    が、前記第一の情報処理装置へ送信したファイル転送要
    求コマンドに対する受信ファイルのみを復号化の対象と
    して処理することを特徴とするファイル暗号システム。
  73. 【請求項73】少なくとも通信制御機能とファイルへの
    入出力制御機能を持つオペレーティングシステムと、前
    記ファイルを暗号化するファイル暗号化手段と、前記暗
    号化ファイルを格納する記憶装置とを具備する第一の情
    報処理装置と、該第一の情報処理装置とはネットワーク
    で接続され、少なくとも通信制御機能を持つオペレーテ
    ィングシステムと、該オペレーティングシステム上で動
    作し、前記第一の情報処理装置上の記憶装置から前記暗
    号ファイルを受信する機能を持つアプリケーションプロ
    グラムとを具備する第二の情報処理装置から構成された
    システムにおいて、 前記ファイル暗号化手段は、前記アプリケーションプロ
    グラムが解釈し処理する文法に従って記述された平文フ
    ァイルのデータ暗号化において、前記文法における前記
    アプリケーションプログラム処理時に処理対象外として
    無視する注釈文とするための記述子を、前記暗号化後の
    データに付加したものを暗号ファイルとするものであ
    り、 前記アプリケーションプログラムが前記暗号ファイルを
    受信したとき、前記記述子が付加されて注釈文となって
    いるデータ部分のみを取り出して復号化する受信ファイ
    ル復号化手段を設けたことを特徴とするファイル暗号シ
    ステム。
  74. 【請求項74】少なくとも通信制御機能とファイルへの
    入出力制御機能を持つオペレーティングシステムと、前
    記ファイルを暗号化するファイル暗号化手段と、前記暗
    号化ファイルを格納する記憶装置とを具備する第一の情
    報処理装置と、該第一の情報処理装置とはネットワーク
    で接続され、少なくとも通信制御機能を持つオペレーテ
    ィングシステムを具備する第二の情報処理装置と、前記
    ネットワークで接続され、前記第二の情報処理装置が前
    記第一の情報処理装置へ送信するデータや、反対に前記
    第二の情報処理装置が前記第一の情報処理装置から受信
    するデータを中継する機能と、該受信データをキャッシ
    ュするキャッシュ機能とを具備する第三の情報処理装置
    とから構成されるシステムにおいて、 前記第二の情報処理装置が、前記暗号ファイルの転送要
    求を出すと、該暗号ファイルが前記第一の情報処理装置
    から前記第三の情報処理装置を経由して前記第二の情報
    処理装置へ転送されると共に、該暗号ファイルは前記キ
    ャッシュ機能によってキャッシュされ、前記第二の情報
    処理装置が、再度同じ暗号ファイルの転送要求を出す
    と、前記キャッシュ機能によりキャッシュされた暗号フ
    ァイルが前記第三の情報処理装置から前記第二の情報処
    理装置へ転送されることを特徴とするファイル暗号シス
    テム。
  75. 【請求項75】請求項73記載のファイル暗号システム
    であって、 前記ファイル暗号化手段は、ユーザーが選択したファイ
    ルの任意の部分を暗号化し、該暗号化データに前記注釈
    文とするための記述子を付加したものを部分暗号化ファ
    イルとすることで、該部分暗号化ファイルを復号化せず
    に前記アプリケーションプログラムが表示すると、平文
    データ部分のみが表示または処理され、暗号化データ部
    分は表示または処理されないことを特徴とするファイル
    暗号システム。
  76. 【請求項76】請求項73、又は請求項74記載のファ
    イル暗号システムにおいて、 前記ファイル暗号化手段は、暗号化する部分毎に復号可
    能なユーザーのリストを付加することを特徴とするファ
    イル暗号システム。
  77. 【請求項77】前記ファイル暗号化手段は、前記ユーザ
    ーが選択したファイルの任意の部分データが前記OSが
    具備するコピー用バッファに書き込まれた時に、該デー
    タを読み込んで暗号化し、該暗号化データを前記コピー
    用バッファに上書きすることを特徴とする請求項73記
    載の暗号ファイル受信システム及びその制御方法。
  78. 【請求項78】請求項73、又は請求項74、又は請求
    項75記載のファイル暗号システムであって、 前記受信ファイル復号化手段は、前記アプリケーション
    プログラムが前記部分暗号化ファイルを受信したとき、
    前記記述子が付加されて注釈文となっている暗号化デー
    タ部分を取り出して復号化し、該復号化データと平文デ
    ータ部分とを合せて前記アプリケーションプログラムに
    渡すことを特徴とするファイル暗号システム。
  79. 【請求項79】請求項73、又は請求項75、又は請求
    項78記載のファイル暗号システムであって、 前記受信ファイル復号化手段は、前記アプリケーション
    プログラムが前記部分暗号化ファイルを受信したとき、
    前記記述子が付加されて注釈文となっている暗号化デー
    タ部分を取り出して、前記第二の情報処理装置のユーザ
    ーの身元を確認するユーザー認証手段によって認証され
    たユーザーが前記ユーザーのリストに含まれている場合
    は復号化し、該復号化データと平文データ部分とを合せ
    て前記アプリケーションプログラムに渡し、前記ユーザ
    ーが前記リストに含まれていない場合は、受信ファイル
    から前記暗号化データ部分を削除したものを前記アプリ
    ケーションプログラムに渡すことを特徴とするファイル
    暗号システム。
  80. 【請求項80】前記ファイル暗号化手段により暗号化す
    る情報は、ファイルであることを特徴とする請求項63
    又は請求項73記載の暗号ファイル受信システム及びそ
    の制御方法。
  81. 【請求項81】請求項73、又は請求項75記載のファ
    イル暗号システムであって、 前記ファイル暗号化手段は、暗号化前のファイルがテキ
    スト形式であれば暗号化後のバイナリデータをテキスト
    形式に変換したものを暗号ファイルとするものであり、 前記受信ファイル復号化手段は、前記アプリケーション
    プログラムが前記暗号化ファイルを受信したとき、前記
    テキスト形式の暗号化データをバイナリ形式に逆変換し
    てから復号化することを特徴とするファイル暗号システ
    ム。
  82. 【請求項82】請求項67、又は請求項73、又は請求
    項75、又は請求項76記載のファイル暗号システムで
    あって、 前記アプリケーションプログラムが前記暗号ファイルを
    受信したとき、前記受信ファイル復号化手段は、前記復
    号権利判別手段によって前記暗号ファイルを復号化する
    権利がないと判断した場合は、前記注釈文とするための
    記述子を含む暗号化データ部分を削除し、平文データ部
    分のみを前記アプリケーションプログラムに渡すことを
    特徴とするファイル暗号システム。
  83. 【請求項83】請求項82記載のファイル暗号システム
    であって、 前記受信ファイル復号化手段は、受信ファイル中に平文
    データ及び復号権利のある暗号化データが全く存在しな
    い場合には、前記アプリケーションプログラムにエラー
    を返すことを特徴とするファイル暗号システム。
  84. 【請求項84】少なくともファイルへの入出力制御機能
    とファイルの部分データのコピー処理に必要なコピー用
    バッファとを持つオペレーティングシステムと、前記フ
    ァイルを格納する記憶装置あるいはネットワークで接続
    された第二の情報処理装置上の記憶装置へのファイル格
    納手段とを具備する情報処理装置とを有するファイル暗
    号システムにおいて、 前記コピー用バッファへの入出力機能を持つコピー用バ
    ッファ入出力手段と、前記ファイルを暗号化するファイ
    ル暗号化手段と、該ファイル暗号化手段により暗号化さ
    れたファイルを復号化するファイル復号化手段とを設け
    たことを特徴とするファイル暗号システム。
  85. 【請求項85】請求項84記載のファイル暗号システム
    であって、 前記ファイル暗号化手段は、前記コピー用バッファ入出
    力手段により読み出したバッファ中のデータを暗号化
    し、該暗号化データを前記コピー用バッファ入出力手段
    によりバッファへ書き込むことを特徴とするファイル暗
    号システム。
  86. 【請求項86】請求項84記載のファイル暗号システム
    であって、 前記ファイル復号化手段は、前記コピー用バッファ入出
    力手段により読み出したバッファ中の暗号化データを復
    号化し、該復号化データを前記コピー用バッファ入出力
    手段によりバッファへ書き込むことを特徴とするファイ
    ル暗号システム。
  87. 【請求項87】請求項84、又は請求項85、又は請求
    項86記載のファイル暗号システムであって、 前記ファイル暗号化手段は、前記OS上で動作するアプ
    リケーションプログラムが解釈し処理する文法に従って
    記述された平文データの暗号化において、前記文法にお
    ける前記アプリケーションプログラム処理時に処理対象
    外として無視する注釈文とするための記述子を、前記暗
    号化後のデータに付加したものを暗号化データとするも
    のであり、前記アプリケーションプログラムが前記暗号
    化ファイルを読み込んで処理する際に、前記記述子が付
    加されて注釈文となっている暗号化データ部分は処理対
    象外として無視されることを特徴とするファイル暗号シ
    ステム。
  88. 【請求項88】請求項84、又は請求項85、又は請求
    項86、又は請求項87記載のファイル暗号システムで
    あって、 前記ファイル復号化手段は、前記暗号化ファイルを読み
    出して前記記述子が付加されたデータが暗号化データで
    あれば該暗号化データを復号化し、前記記述子が付加さ
    れていないデータについては処理しないことを特徴とす
    るファイル暗号システム。
  89. 【請求項89】請求項84、又は請求項85、又は請求
    項86、又は請求項87、又は請求項88記載のファイ
    ル暗号システムであって、 前記コピー用バッファには、ユーザーがファイルから暗
    号化または復号化したい部分データを選択してコピーコ
    マンドを発行すると前記部分データが書き込まれ、 前記ファイル暗号化手段または前記ファイル復号化手段
    により暗号化または復号化された前記コピー用バッファ
    中のデータは、ユーザーが貼り付けコマンドを発行する
    と読み出されて前記ファイル中に書き込まれることを特
    徴とするファイル暗号システム。
  90. 【請求項90】請求項84、又は請求項85、又は請求
    項86、又は請求項87、又は請求項88記載のファイ
    ル暗号システムであって、 前記フック手段は、アプリケーションプログラムからの
    ファイル読み出し要求をフックし、読み出されたファイ
    ルデータが暗号化された前記部分データであれば前記フ
    ァイル復号化手段により復号化してから前記アプリケー
    ションプログラムへ渡し、平文データであれば何もせず
    に前記アプリケーションプログラムへ渡すことを特徴と
    するファイル暗号システム。
  91. 【請求項91】請求項84、又は請求項85、又は請求
    項86、又は請求項87、又は請求項88、又は請求項
    89、又は請求項90記載のファイル暗号システムであ
    って、 前記ファイル復号化手段は、前記第二の情報処理装置の
    ユーザーの身元を確認するユーザー認証手段によって認
    証されたユーザーが前記ユーザーのリストに含まれてい
    る場合は復号化し、該復号化データと平文データ部分と
    を合せて前記アプリケーションプログラムに渡し、前記
    ユーザーが前記リストに含まれていない場合は、読み込
    んだファイルデータから前記暗号化データ部分を削除し
    たものを前記アプリケーションプログラムに渡すことを
    特徴とするファイル暗号システム。
  92. 【請求項92】請求項84、又は請求項85、又は請求
    項86、又は請求項87、又は請求項88、又は請求項
    89、又は請求項90記載のファイル暗号システムであ
    って、 前記ファイル復号化手段は、前記第二の情報処理装置の
    ユーザーの身元を確認するユーザー認証手段によって認
    証されたユーザーが前記ユーザーのリストに含まれてい
    る場合は復号化し、該復号化データと平文データ部分と
    を合せて前記アプリケーションプログラムに渡し、前記
    ユーザーが前記リストに含まれていない前記暗号化デー
    タ部分については、何も処理せずに前記アプリケーショ
    ンプログラムに渡すことを特徴とするファイル暗号シス
    テム。
  93. 【請求項93】少なくとも通信制御機能とファイルへの
    入出力制御機能とを持つオペレーティングシステムと、
    前記ファイルを格納する記憶装置とを具備する第一の情
    報処理装置と、該第一の情報処理装置とはネットワーク
    で接続され、少なくとも通信制御機能を持つオペレーテ
    ィングシステムと、該オペレーティングシステム上で動
    作し、前記第一の情報処理装置上の記憶装置からファイ
    ルを受信する機能を持つアプリケーションプログラムと
    を具備する第二の情報処理装置によって構成されたシス
    テムにおいて、 前記ファイルを暗号化するファイル暗号化手段と、 前記アプリケーションプログラムが前記第一の情報処理
    装置から前記暗号ファイルを受信する際に、該受信ファ
    イルを復号化してから前記アプリケーションプログラム
    に渡す受信ファイル復号化手段とを設けたことを特徴と
    するファイル暗号システム。
JP9065898A 1997-03-19 1997-03-19 グループ暗号方法、及びファイル暗号システム Pending JPH10260903A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9065898A JPH10260903A (ja) 1997-03-19 1997-03-19 グループ暗号方法、及びファイル暗号システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9065898A JPH10260903A (ja) 1997-03-19 1997-03-19 グループ暗号方法、及びファイル暗号システム

Publications (1)

Publication Number Publication Date
JPH10260903A true JPH10260903A (ja) 1998-09-29

Family

ID=13300252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9065898A Pending JPH10260903A (ja) 1997-03-19 1997-03-19 グループ暗号方法、及びファイル暗号システム

Country Status (1)

Country Link
JP (1) JPH10260903A (ja)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215602A (ja) * 1999-01-21 2000-08-04 Nissan Motor Co Ltd 情報提供装置、デ―タ送受信方法および記憶媒体
JP2000253024A (ja) * 1999-03-03 2000-09-14 Kobe Steel Ltd 通信システム及び通信装置
JP2001306524A (ja) * 2000-04-19 2001-11-02 Nec Corp 営業端末の共用化システム及びその方法
JP2002108945A (ja) * 2000-09-29 2002-04-12 Kansai Electric Power Co Inc:The データ収集システムおよびデータ収集方法
WO2002087146A1 (fr) * 2001-04-18 2002-10-31 Pumpkin House Incorporated Systeme de chiffrement et procede de commande dudit systeme
JP2003248627A (ja) * 2002-02-25 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> ファイルアクセス制御方法、プログラム及び記憶媒体
JP2004362552A (ja) * 2003-05-02 2004-12-24 Microsoft Corp 作動中に暗号化/解読を行うためのusbデータの動的置換
JP2005165738A (ja) * 2003-12-03 2005-06-23 Fusionsys:Kk 電子コンテンツ管理システム、電子コンテンツ管理方法、及びそのプログラム
JP2005196620A (ja) * 2004-01-09 2005-07-21 Chugoku Electric Power Co Inc:The 文書保護管理システムおよび方法
JP2005196626A (ja) * 2004-01-09 2005-07-21 Chugoku Electric Power Co Inc:The 文書保護管理システムおよび方法
JP2005196611A (ja) * 2004-01-09 2005-07-21 Chugoku Electric Power Co Inc:The 文書保護管理システムおよび方法
JP2006099491A (ja) * 2004-09-30 2006-04-13 Quality Kk 情報処理システム,管理サーバおよび管理サーバ用プログラム
JP2006139475A (ja) * 2004-11-11 2006-06-01 Hitachi Software Eng Co Ltd 既存アプリケーションの機密情報保護システム
JP2006215912A (ja) * 2005-02-04 2006-08-17 Sony Corp ファイルロック/アンロック用プログラム、記録媒体及び電子ファイル転送処理システム
JP2007025809A (ja) * 2005-07-12 2007-02-01 Hitachi Software Eng Co Ltd 外部記憶媒体へのデータ保存・読み出し方法
US7188086B2 (en) 2001-02-07 2007-03-06 Fujitsu Limited Confidential information management system and information terminal for use in the system
JP2007088802A (ja) * 2005-09-22 2007-04-05 Nippon Hoso Kyokai <Nhk> コンテンツ送信装置およびコンテンツ送信プログラム、並びに、コンテンツ受信装置およびコンテンツ受信プログラム
WO2007072568A1 (ja) * 2005-12-22 2007-06-28 Fujitsu Limited プログラム処理装置、プログラム処理方法、プログラム及びコンピュータ読取可能な記録媒体
JP2007524878A (ja) * 2003-01-23 2007-08-30 ヴァーダシス・インコーポレーテッド 適応的透過暗号化
WO2008013161A1 (fr) * 2006-07-28 2008-01-31 Aquacast Corporation Système de communication
US7346171B2 (en) 2001-10-19 2008-03-18 International Business Machines Corporation Network system, terminal, and method for encryption and decryption
JP2008226225A (ja) * 2007-03-12 2008-09-25 Teruten Inc Drmコンテンツ再生方法及びその装置
CN100452076C (zh) * 2007-07-10 2009-01-14 北京鼎信高科信息技术有限公司 一种构造透明编码环境的方法
JP2009508412A (ja) * 2005-09-08 2009-02-26 サンディスク コーポレーション メディアコンテンツのセキュアストレージと配信のためのモバイルメモリシステム
JP2009245443A (ja) * 2003-09-30 2009-10-22 Dainippon Printing Co Ltd 情報処理装置、情報処理システム及びプログラム
US7672933B2 (en) 2004-12-15 2010-03-02 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and storage medium
JP2010511956A (ja) * 2006-12-06 2010-04-15 韓國電子通信研究院 スマートカードに基づく複製防止機能を有するデータ保存装置、そのデータ保存方法及び伝送方法
JP4538838B1 (ja) * 2009-08-18 2010-09-08 システムインテリジェント株式会社 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
JP2013211800A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd 格納方法、取得方法、作成方法、格納装置、取得装置、作成装置、格納プログラム、取得プログラム、および作成プログラム
KR101413248B1 (ko) * 2012-12-11 2014-06-30 한국과학기술정보연구원 데이터 암호화 장치 및 데이터 암호화를 수행하는 프로그램을 저장하는 저장매체
US8793507B2 (en) 2012-03-13 2014-07-29 Nec Corporation Information processing apparatus, file encryption determination method and authority determination method
US8918633B2 (en) 2003-09-30 2014-12-23 Dai Nippon Printing Co., Ltd. Information processing device, information processing system, and program
JP2016046799A (ja) * 2014-08-19 2016-04-04 セーファー ゾーン カンパニー,リミテッド セキュリティクラウドサービスを提供するためのエージェントおよびセキュリティクラウドサービスのためのセキュリティ鍵装置
JP2018014629A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
JP2018014628A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
US10116442B2 (en) 2015-02-20 2018-10-30 Mitsubishi Electric Corporation Data storage apparatus, data updating system, data processing method, and computer readable medium
US10592682B2 (en) 2015-02-20 2020-03-17 Mitsubishi Electric Corporation Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
US10691815B2 (en) 2016-04-27 2020-06-23 Mitsubishi Electric Corporation Attribute linkage apparatus, transfer system, attribute linkage method and computer readable medium
JP2020160985A (ja) * 2019-03-27 2020-10-01 日本電気株式会社 ファイル暗号化装置と方法とプログラム
CN116522382A (zh) * 2023-04-17 2023-08-01 广州市安洛网络有限责任公司 一种应用程序用户信息保护方法和系统

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215602A (ja) * 1999-01-21 2000-08-04 Nissan Motor Co Ltd 情報提供装置、デ―タ送受信方法および記憶媒体
JP2000253024A (ja) * 1999-03-03 2000-09-14 Kobe Steel Ltd 通信システム及び通信装置
US6457079B1 (en) 1999-03-03 2002-09-24 Kobe Steel, Ltd. Communication apparatus with means for allocating alternate designation information to each function unit, and communication system with said two communication apparatuses
JP2001306524A (ja) * 2000-04-19 2001-11-02 Nec Corp 営業端末の共用化システム及びその方法
JP2002108945A (ja) * 2000-09-29 2002-04-12 Kansai Electric Power Co Inc:The データ収集システムおよびデータ収集方法
US7188086B2 (en) 2001-02-07 2007-03-06 Fujitsu Limited Confidential information management system and information terminal for use in the system
WO2002087146A1 (fr) * 2001-04-18 2002-10-31 Pumpkin House Incorporated Systeme de chiffrement et procede de commande dudit systeme
US7272230B2 (en) 2001-04-18 2007-09-18 Pumpkin House Incorporated Encryption system and control method thereof
US7346171B2 (en) 2001-10-19 2008-03-18 International Business Machines Corporation Network system, terminal, and method for encryption and decryption
JP2003248627A (ja) * 2002-02-25 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> ファイルアクセス制御方法、プログラム及び記憶媒体
JP4667361B2 (ja) * 2003-01-23 2011-04-13 ヴァーダシス・インコーポレーテッド 適応的透過暗号化
JP2007524878A (ja) * 2003-01-23 2007-08-30 ヴァーダシス・インコーポレーテッド 適応的透過暗号化
JP2004362552A (ja) * 2003-05-02 2004-12-24 Microsoft Corp 作動中に暗号化/解読を行うためのusbデータの動的置換
US8918633B2 (en) 2003-09-30 2014-12-23 Dai Nippon Printing Co., Ltd. Information processing device, information processing system, and program
JP2009245443A (ja) * 2003-09-30 2009-10-22 Dainippon Printing Co Ltd 情報処理装置、情報処理システム及びプログラム
JP2012074079A (ja) * 2003-09-30 2012-04-12 Dainippon Printing Co Ltd 情報処理装置、情報処理システム及びプログラム
JP2005165738A (ja) * 2003-12-03 2005-06-23 Fusionsys:Kk 電子コンテンツ管理システム、電子コンテンツ管理方法、及びそのプログラム
JP2005196620A (ja) * 2004-01-09 2005-07-21 Chugoku Electric Power Co Inc:The 文書保護管理システムおよび方法
JP2005196611A (ja) * 2004-01-09 2005-07-21 Chugoku Electric Power Co Inc:The 文書保護管理システムおよび方法
JP2005196626A (ja) * 2004-01-09 2005-07-21 Chugoku Electric Power Co Inc:The 文書保護管理システムおよび方法
JP4666921B2 (ja) * 2004-01-09 2011-04-06 中国電力株式会社 文書保護管理システムおよび方法
JP4666922B2 (ja) * 2004-01-09 2011-04-06 中国電力株式会社 文書保護管理システムおよび方法
JP4662722B2 (ja) * 2004-01-09 2011-03-30 中国電力株式会社 文書保護管理システムおよび方法
JP2006099491A (ja) * 2004-09-30 2006-04-13 Quality Kk 情報処理システム,管理サーバおよび管理サーバ用プログラム
JP2006139475A (ja) * 2004-11-11 2006-06-01 Hitachi Software Eng Co Ltd 既存アプリケーションの機密情報保護システム
US7672933B2 (en) 2004-12-15 2010-03-02 Canon Kabushiki Kaisha Information processing apparatus, information processing method, program, and storage medium
JP2006215912A (ja) * 2005-02-04 2006-08-17 Sony Corp ファイルロック/アンロック用プログラム、記録媒体及び電子ファイル転送処理システム
JP4671340B2 (ja) * 2005-07-12 2011-04-13 株式会社日立ソリューションズ 外部記憶媒体へのデータ保存・読み出し方法
JP2007025809A (ja) * 2005-07-12 2007-02-01 Hitachi Software Eng Co Ltd 外部記憶媒体へのデータ保存・読み出し方法
JP2009508412A (ja) * 2005-09-08 2009-02-26 サンディスク コーポレーション メディアコンテンツのセキュアストレージと配信のためのモバイルメモリシステム
JP2007088802A (ja) * 2005-09-22 2007-04-05 Nippon Hoso Kyokai <Nhk> コンテンツ送信装置およびコンテンツ送信プログラム、並びに、コンテンツ受信装置およびコンテンツ受信プログラム
JP4818279B2 (ja) * 2005-12-22 2011-11-16 富士通株式会社 プログラム処理装置、プログラム処理方法及びプログラム
WO2007072568A1 (ja) * 2005-12-22 2007-06-28 Fujitsu Limited プログラム処理装置、プログラム処理方法、プログラム及びコンピュータ読取可能な記録媒体
JP2008035136A (ja) * 2006-07-28 2008-02-14 Aquacast Corp 通信方式
WO2008013161A1 (fr) * 2006-07-28 2008-01-31 Aquacast Corporation Système de communication
JP2010511956A (ja) * 2006-12-06 2010-04-15 韓國電子通信研究院 スマートカードに基づく複製防止機能を有するデータ保存装置、そのデータ保存方法及び伝送方法
JP2008226225A (ja) * 2007-03-12 2008-09-25 Teruten Inc Drmコンテンツ再生方法及びその装置
CN100452076C (zh) * 2007-07-10 2009-01-14 北京鼎信高科信息技术有限公司 一种构造透明编码环境的方法
JP2011039953A (ja) * 2009-08-18 2011-02-24 System Intelligent Kk 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
JP4538838B1 (ja) * 2009-08-18 2010-09-08 システムインテリジェント株式会社 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
US8793507B2 (en) 2012-03-13 2014-07-29 Nec Corporation Information processing apparatus, file encryption determination method and authority determination method
JP2013211800A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd 格納方法、取得方法、作成方法、格納装置、取得装置、作成装置、格納プログラム、取得プログラム、および作成プログラム
KR101413248B1 (ko) * 2012-12-11 2014-06-30 한국과학기술정보연구원 데이터 암호화 장치 및 데이터 암호화를 수행하는 프로그램을 저장하는 저장매체
JP2016046799A (ja) * 2014-08-19 2016-04-04 セーファー ゾーン カンパニー,リミテッド セキュリティクラウドサービスを提供するためのエージェントおよびセキュリティクラウドサービスのためのセキュリティ鍵装置
US10116442B2 (en) 2015-02-20 2018-10-30 Mitsubishi Electric Corporation Data storage apparatus, data updating system, data processing method, and computer readable medium
US10592682B2 (en) 2015-02-20 2020-03-17 Mitsubishi Electric Corporation Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
US10691815B2 (en) 2016-04-27 2020-06-23 Mitsubishi Electric Corporation Attribute linkage apparatus, transfer system, attribute linkage method and computer readable medium
JP2018014629A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
JP2018014628A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム
JP2020160985A (ja) * 2019-03-27 2020-10-01 日本電気株式会社 ファイル暗号化装置と方法とプログラム
CN116522382A (zh) * 2023-04-17 2023-08-01 广州市安洛网络有限责任公司 一种应用程序用户信息保护方法和系统
CN116522382B (zh) * 2023-04-17 2023-11-21 广州市安洛网络有限责任公司 一种应用程序用户信息保护方法和系统

Similar Documents

Publication Publication Date Title
JPH10260903A (ja) グループ暗号方法、及びファイル暗号システム
US10229279B2 (en) Methods and systems for providing access control to secured data
US8918633B2 (en) Information processing device, information processing system, and program
US7913311B2 (en) Methods and systems for providing access control to electronic data
US6289450B1 (en) Information security architecture for encrypting documents for remote access while maintaining access control
US8341406B2 (en) System and method for providing different levels of key security for controlling access to secured items
JP3741357B2 (ja) データの保存方法およびシステム並びにデータ保存処理用記録媒体
EP1320012B1 (en) System and method for providing distributed access control to secured items
US7792300B1 (en) Method and apparatus for re-encrypting data in a transaction-based secure storage system
US10360545B2 (en) Method and apparatus for accessing secured electronic data off-line
US8572372B2 (en) Method for selectively enabling access to file systems of mobile terminals
TW201814511A (zh) 加密使用者資料傳輸及儲存(nuts)
JP2006526851A (ja) 動的、分散的および協働的な環境におけるデータオブジェクトの管理
JP2005295570A (ja) プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム
WO2000065766A2 (en) Controlling and tracking access to disseminated information
KR20060052219A (ko) 컨텐츠 암호화 방법, 이를 이용한 네트워크를 통한 컨텐츠제공 시스템 및 그 방법
KR100810368B1 (ko) 그룹 내 문서에 대한 유출 방지 및 접근 제어 시스템
JPH09251426A (ja) ファイル暗号化システム及びその制御方法ならびに暗号ファイル受信システム及びその制御方法
JPH11265317A (ja) 著作権保護システム
JPH09247141A (ja) グループ暗号方法
JPH10200522A (ja) Icカード利用暗号化方法およびシステムおよびicカード
JPH11212850A (ja) 暗号化共有ファイル送受信システム
CA3196276A1 (en) Encrypted file control