(57)【要約】【課題】人のモラルに頼らずに、不正者による秘密情報漏洩を技術的に防止する。【解決手段】秘密文字コードをテンポラル文字コードに変換するための変換テーブルと、その逆の逆変換テーブルと（４０）、アドレスマッピングテーブルＲＡＭ２１１ａに基づきフォントＲＯＭ２１１ｂから対応するグリフデータを取り出しビットマップ展開部２１１ｒでラスタライズする復号部とを備えた装置２１Ａを、サーバとクライアントとの間の通信路に結合させておき、（ａ）サーバからの秘密文字コードを、該変換テーブルに基づいてテンポラル文字コードに変換しこれをクライアントに送信し、（ｂ）クライアント１１からのテンポラル文字コードを該逆変換テーブルに基づき秘密文字コードに変換し、これを該復号部でグリフイメージに変換し、クライアント１１に送信し、（ｃ）所定のタイミングで変換テーブルと逆変換テーブルとを更新する。【選択図】図１３
2006040186.tif 000002
【特許請求の範囲】
【請求項１】
フォント記憶部（図３、２１１ｂ）と、
クライアントを識別するためのデータを含む照合データが格納される照合データ記憶部（２１１ｄ）と、
供給される秘密文字コードに応答して、該フォント記憶部から対応するグリフデータを取り出す復号部（２１１ａ）と、
該照合データと供給される照合用データとに基づいて該クライアントに対する許可／禁止を判定する認証部（３１）と、
該クライアントから受信した識別データを該認証部に供給して該判定を行わせ、該認証部が許可を判定した場合には該クライアントから受信した秘密文字コードを該復号部に供給してグリフデータを取得し該グリフデータを該クライアントに送信する制御部（３０）と
を有することを特徴とする秘密文字コード復号装置。
【請求項２】
文字コードをテンポラル文字コードに変換するための変換テーブルを備えたコード変換部（図１８、４０１Ａ）と、
テンポラル文字コードを文字コードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
フォント記憶部（２１１ｂ）と、
文字コードに基づいて該フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブル記憶部を備えた復号部（２１１ａ）と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
サーバーから受信した文字コードを該コード変換部に供給してテンポラル文字コードを取得しこれをクライアントに送信し、該クライアントから受信したテンポラル文字コードを該コード逆変換部に供給して文字コードを取得しこれを該サーバーに送信し、該クライアントから受信したテンポラル文字コードを該逆変換テーブルに基づいて文字コードに変換し該文字コードを該復号部に供給してグリフデータを取得し該グリフデータを該クライアントに送信し、該変換を行わせる制御部と
を有することを特徴とするテンポラル文字コード作成・復号装置。
【請求項３】
文字コードをテンポラル文字コードに変換するための変換テーブルを備えたコード変換部（図２０、４０１Ａ）と、
テンポラル文字コードを文字コードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
文字コードに基づいてクライアント側フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブル記憶部（２１１ａ）と、
テンポラル文字コードに基づきクライアント側のフォント記憶部から対応するグリフデータを取り出すための第２アドレスマッピングテーブル記憶部（ＡＭＴ）と、
該逆変換テーブルと該第１アドレスマッピングテーブル記憶部との内容に基づいて、該第２アドレスマッピングテーブル記憶部の内容を定めるアドレスマッピングテーブル作成部（２１１ｇ）と、
該第２アドレスマッピングテーブル記憶部の内容が更新される毎にこれをクライアントに送信し、サーバーから受信した文字コードを該コード変換部に供給してテンポラル文字コードを取得しこれを該クライアントに送信し、該クライアントから受信したテンポラル文字コードを該コード逆変換部に供給して文字コードを取得しこれを該サーバーに送信し、該変換を行わせる制御部と
を有することを特徴とするコード変換・復号テーブル作成装置。
【請求項４】
該サーバーはデータベースサーバーを含み、
該コード変換部は、選択的に使用される互いに異なる該変換テーブルを複数備え（図２２、４１Ｃ）、
該コード逆変換部は、選択的に使用される、該複数の変換テーブルのそれぞれに対応した該逆変換テーブルを備え（図２３、４１Ｄ）、
該サーバー及び該クライアントから受信するデータはいずれも、文字コード及びテンポラル文字コードの列毎に開始コード及び終了コードが付与されており、
該制御部は、該サーバーから受信した開始コードのレコード上位置に基づいて該複数の変換テーブルの１つを選択し（図２２、４８Ａ、４７Ａ及び４６Ａ）、該クライアントから受信した開始コードのレコード上位置に基づいて該複数の逆変換テーブルの１つを選択する（図２３、４８Ｂ、４７Ｂ及び４６Ｂ）
ことを特徴とする請求項２又は３に記載の装置。
【請求項５】
該文字コードは秘密文字コードであり、
ワーク記憶部（図１９、４０４）と、
検索結果をソートする句を含むクエリーをソート句と該クエリーから該ソート句を除いた基本クエリーとに分割する検索前処理部（４０５）と、
該ワーク記憶部内のデータに含まれる秘密文字コードを普通文字コードに変換し、該変換された普通文字コードを含むデータを該ソート句に基づいてソートし、該ソートされたデータに含まれる普通文字コードを秘密文字コードに変換する検索後処理部（４０６）と、
をさらに備え、該制御部（３０Ｂ）は、該クライアントから受信したデータが、該サーバーに対するクエリーである場合、該検索前処理部に対し該分割を行わせ、該基本クエリーを該サーバーに送信し、該サーバーから検索結果のデータを受信して該ワーク記憶部に格納させ、該検索後処理部に処理を実行させ、その結果を該コード変換部（４０１Ａ）を介して該クライアントに送信する
ことを特徴とする請求項２乃至４のいずれか１つに記載の装置。
【請求項６】
クライアント及びアプリケーションプログラムの識別データが格納される記憶部（図２０、２１１ｄ）と、
該識別データと供給される識別用データとに基づいて該クライアントの該アプリケーションプログラムに対する許可／禁止を判定する認証部（３１）と、
をさらに有し、該制御部（３０Ｃ）は、クライアントから受信した識別データを該認証部に供給して該判定を行わせ、該認証部が許可を判定した場合には該クライアントに対する送信を有効にすることを特徴とする請求項２乃至５のいずれか１つに記載の装置。
【請求項７】
該制御部は、該認証部が禁止を判定した場合には、該第１アドレスマッピングテーブル記憶部の内容を書き換え又は消去する（図４、ＳＢ）ことを特徴とする請求項６に記載の装置。
【請求項８】
該第１アドレスマッピングテーブル記憶部は揮発性記憶装置（２１１ａ）に含まれ、
不揮発性記憶媒体（２１１ｄ）が着脱自在に装着され、該揮発性記憶装置に結合されたアダプタ（２１１ａｄ）をさらに備え、
該制御部は、該不揮発性記憶媒体の記憶内容に応じたデータを該揮発性記憶装置に書き込むことにより該第１アドレスマッピングテーブル記憶部の内容を定める
ことを特徴とする請求項７記載の装置。
【請求項９】
文字コードをテンポラル文字コードに変換するための変換テーブルを備えたコード変換部（図１８、４０１Ａ）と、
テンポラル文字コードを文字コードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
フォント記憶部（２１１ｂ）と、
文字コードに基づいて該フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブル記憶部を備えた復号部（２１１ａ）と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
文字コードを該コード変換部に供給してテンポラル文字コードを取得しこれをクライアントに送信し、該クライアントから受信したテンポラル文字コードを該コード逆変換部に供給して文字コードを取得し、取得した文字コードを該復号部に供給してグリフデータを取得し該グリフデータを該クライアントに送信し、該変換を行わせる制御部（３０Ｂ）と
を有することを特徴とするサーバー。
【請求項１０】
データが格納されたサーバー本体と、
コードを秘密コードに変換するための変換テーブルを備えたコード変換部（図３４、４０１Ａ）と、
該サーバー本体から文字コード又はバイナリコードを受け取り該文字コード又はバイナリコードを該コード変換部に供給して秘密文字コード又は秘密バイナリコードを取得しクライアントに送信する制御部（３０１Ａ）と
を有することにより、該サーバー本体に格納されているデータを見かけ上秘密コード化することを特徴とするサーバー。
【請求項１１】
該コード変換部は複数の変換テーブルを備え、
該複数の変換テーブルの１つを使用しているクライアントのアプリケーションプログラムの識別コードと該１つの変換テーブルとを対応させたデータが格納される記憶部（６３）
をさらに有することを特徴とする請求項１０記載のサーバー。
【請求項１２】
コードを秘密コードに変換するための変換テーブルを備えたコード変換部と、
サーバーから文字コード又はバイナリコードを受け取り該文字コード又はバイナリコードを該コード変換部に供給して秘密文字コード又は秘密バイナリコードを取得しクライアントに送信する制御部と
を有することにより、該サーバーに格納されているデータを見かけ上秘密コード化することを特徴とする秘密コード化装置。
【請求項１３】
該コード変換部は複数の変換テーブルを備え、
該複数の変換テーブルの１つを使用しているクライアントのアプリケーションプログラムの識別コードと該１つの変換テーブルとを対応させたデータが格納される記憶部
をさらに有することを特徴とする請求項１２記載の秘密コード化装置。
【請求項１４】
フォント記憶部（図３４、２１１Ｂ）と、
テンポラル文字コードを文字コードに変換するための逆変換テーブルを備えたコード逆変換部（４１Ｂ１）と、
文字コードに基づいて該フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブル記憶部を備えた復号部（２１１Ａ）と、
該逆変換部に対し該クライアントから受信したテンポラル文字コードを文字コードに変換させ、該文字コードを該復号部に供給してグリフデータを取得し、該グリフデータを該クライアントに送信する制御部（３０３）と
を有することを特徴とするフォントサーバー。
【請求項１５】
該コード逆変換部は複数の逆変換テーブルを備え、
該複数の逆変換テーブルの１つを使用しているクライアントのアプリケーションプログラムの識別コードと該１つの逆変換テーブルとを対応させたデータが格納される記憶部（５３）
をさらに有することを特徴とする請求項１４記載のフォントサーバー。
【請求項１６】
文字コードをテンポラル文字コードに変換するための変換テーブルを備えたコード変換部（図２０、４０１Ａ）と、
テンポラル文字コードを文字コードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
文字コードに基づいてクライアント側フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブル記憶部（２１１ａ）と、
テンポラル文字コードに基づきクライアント側のフォント記憶部から対応するグリフデータを取り出すための第２アドレスマッピングテーブル記憶部（ＡＭＴ）と、
該逆変換テーブルと該第１アドレスマッピングテーブル記憶部との内容に基づいて、該第２アドレスマッピングテーブル記憶部の内容を定めるアドレスマッピングテーブル作成部（２１１ｇ）と、
該第２アドレスマッピングテーブル記憶部の内容が更新される毎にこれをクライアントに送信し、文字コードを該コード変換部に供給してテンポラル文字コードを取得しこれを該クライアントに送信し、該クライアントから受信したテンポラル文字コードを該コード逆変換部に供給して文字コードを取得する制御部（３０Ｃ）と
を有することを特徴とするサーバー。
【請求項１７】
該コード変換部は、選択的に使用される互いに異なる該変換テーブルを複数備え（図２２、４１Ｃ）、
該コード逆変換部は、選択的に使用される、該複数の変換テーブルのそれぞれに対応した該逆変換テーブルを備え（図２３、４１Ｄ）、
該サーバーにおけるデータは文字コード列毎に開始コード及び終了コードが付与されており、クライアントから受信するデータはテンポラル文字コード列毎に開始コード及び終了コードが付与されており、
該制御部は、該サーバーにおける開始コードのレコード上位置に基づいて該複数の変換テーブルの１つを選択し（図２２、４８Ａ、４７Ａ及び４６Ａ）、該クライアントから受信した開始コードのレコード上位置に基づいて該複数の逆変換テーブルの１つを選択する（図２３、４８Ｂ、４７Ｂ及び４６Ｂ）
ことを特徴とする請求項９又は１６に記載の装置。
【請求項１８】
文字コードをテンポラル文字コードに変換するための変換テーブルを備たコード変換部（図３４、４０１Ａ）と、
サーバーからの文字コードを又は該サーバにおいて該文字コードを、該変換テーブルに基づいてテンポラル文字コードに変換しこれを該クライアントに送信するコード変換制御部（３０１Ａ）と、
テンポラル文字コードを文字コードに変換するための逆変換テーブル（４１Ｂ１）を備え、該クライアントからの復号要求に応答してテンポラル文字コードを該逆変換テーブルに基づき文字コードに変換し、第１アドレスマッピングテーブル（２１１Ａ）に基づき該文字コードを復号してグリフデータを取得し、これを該クライアントに送信する復号部と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と
を有することを特徴とする秘密情報漏洩防止システム。
【請求項１９】
文字コードをテンポラル文字コードに変換するための変換テーブルを備えたコード変換部（図２０、４０１Ａ）と、
サーバーからの文字コードを又は該サーバにおいて該文字コードを、該変換テーブルに基づいてテンポラル文字コードに変換しこれを該クライアントに送信するコード変換制御部（３０Ｃ）と、
テンポラル文字コードを文字コードに変換するための逆変換テーブル（４１Ｂ）と、文字コードに基づいてクライアント側フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブル記憶部（２１１ａ）と、テンポラル文字コードに基づきクライアント側のフォント記憶部から対応するグリフデータを取り出すための第２アドレスマッピングテーブル記憶部（ＡＭＴ）と、該逆変換テーブルと該第１アドレスマッピングテーブル記憶部との内容に基づいて、該第２アドレスマッピングテーブル記憶部の内容を定めこれをクライアントに送信するアドレスマッピングテーブル作成部（２１１ｇ）とを備えた文字復号データ作成部と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と
を有することを特徴とする秘密情報漏洩防止システム。
【請求項２０】
バイナリコードをテンポラルバイナリコードに変換するための変換テーブルを備えたコード変換部（図１８、４０１Ａ）と、
テンポラルバイナリコードをバイナリコードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
フォント記憶部（２１１ｂ）と、
バイナリコードに基づいて該フォント記憶部から対応するグリフデータを取り出す復号部と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
サーバーから受信したバイナリコードを該コード変換部に供給してテンポラルバイナリコードを取得しこれをクライアントに送信し、該クライアントから受信したテンポラルバイナリコードを該コード逆変換部に供給してバイナリコードを取得しこれを該サーバーに送信し、該クライアントから受信したテンポラルバイナリコードを該逆変換テーブルに基づいてバイナリコードに変換し該バイナリコードを該復号部に供給してグリフデータを取得し該グリフデータを該クライアントに送信し、該変換を行わせる（３０Ｂ）と
を有することを特徴とするテンポラルバイナリコード作成・復号装置。
【請求項２１】
バイナリコードをテンポラルバイナリコードに変換するための変換テーブルを備えたコード変換部（図２０、４０１Ａ）と、
テンポラルバイナリコードをバイナリコードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
バイナリコードをＮ進数コードに変換し該Ｎ進数コードの各桁を文字コードに変換するバイナリコード／文字コード変換部と、
文字コードに基づきクライアント側フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブルを備えた第１アドレスマッピングテーブル記憶部と、
テンポラルバイナリコードに基づきクライアント側のフォント記憶部から対応するグリフデータを取り出すための第２アドレスマッピングテーブル記憶部（ＡＭＴ）と、
該逆変換テーブルと該第１アドレスマッピングテーブル記憶部と該バイナリコード／文字コード変換部との内容に基づいて、該第２アドレスマッピングテーブル記憶部の内容を定めるアドレスマッピングテーブル作成部と、
該第２アドレスマッピングテーブル記憶部の内容が更新される毎にこれをクライアントに送信し、サーバーから受信したバイナリコードを該コード変換部に供給してテンポラルバイナリコードを取得しこれを該クライアントに送信し、該クライアントから受信したテンポラルバイナリコードを該コード逆変換部に供給してバイナリコードを取得しこれを該サーバーに送信し、該変換を行わせる制御部と
を有することを特徴とするコード変換・復号テーブル作成装置。
【請求項２２】
バイナリコードをテンポラルバイナリコードに変換するための変換テーブルを備えたコード変換部（図１８、４０１Ａ）と、
テンポラルバイナリコードをバイナリコードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
フォント記憶部（２１１ｂ）と、
バイナリコードに基づいて該フォント記憶部から対応するグリフデータを取り出す復号部と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
サーバーから受信したバイナリコードを該コード変換部に供給してテンポラルバイナリコードを取得しこれをクライアントに送信し、該クライアントから受信したテンポラルバイナリコードを該コード逆変換部に供給してバイナリコードを取得し、該クライアントから受信したテンポラルバイナリコードを該逆変換テーブルに基づいてバイナリコードに変換し該バイナリコードを該復号部に供給してグリフデータを取得し該グリフデータを該クライアントに送信し、該変換を行わせる（３０Ｂ）と
を有することを特徴とするサーバー。
【請求項２３】
バイナリコードをテンポラルバイナリコードに変換するための変換テーブルを備えたコード変換部（図２０、４０１Ａ）と、
テンポラルバイナリコードをバイナリコードに変換するための逆変換テーブルを備えたコード逆変換部（４０２Ａ）と、
所定のタイミングで該変換テーブルと該逆変換テーブルとを更新するために該変換テーブルと該逆変換テーブルとを作成するテーブル作成部（４０３Ａ）と、
バイナリコードをＮ進数コードに変換し該Ｎ進数コードの各桁を文字コードに変換するバイナリコード／文字コード変換部と、
文字コードに基づきクライアント側フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブルを備えた第１アドレスマッピングテーブル記憶部と、
テンポラルバイナリコードに基づきクライアント側のフォント記憶部から対応するグリフデータを取り出すための第２アドレスマッピングテーブル記憶部（ＡＭＴ）と、
該逆変換テーブルと該第１アドレスマッピングテーブル記憶部と該バイナリコード／文字コード変換部との内容に基づいて、該第２アドレスマッピングテーブル記憶部の内容を定めるアドレスマッピングテーブル作成部と、
該第２アドレスマッピングテーブル記憶部の内容が更新される毎にこれをクライアントに送信し、バイナリコードを該コード変換部に供給してテンポラルバイナリコードを取得しこれを該クライアントに送信し、該クライアントから受信したテンポラルバイナリコードを該コード逆変換部に供給してバイナリコードを取得する制御部と
を有することを特徴とするサーバー。
【請求項２４】
サーバーからクライアントが受信したデータの不正者による漏洩を防止する秘密情報漏洩防止方法において、該クライアントには表示装置が結合されており（図１）、
フォント記憶部と、秘密文字コードに応答して該フォント記憶部から対応するグリフデータを取り出す復号部とを備えた秘密文字コード復号装置を、該クライアントに結合しておき、
（ａ）該秘密文字コード復号装置と該クライアントとの間及び該クライアントと該サーバーとの間で相互認証を行い、その結果が正当であれば、
（ｂ）該サーバーは、該クライアントからの要求に応答して、秘密文字コードを含むデータを送信し、
（ｃ）該クライアントは、該秘密文字コードを該秘密文字コード復号装置に送信して復号要求し、
（ｄ）該秘密文字コード復号装置は、該復号要求に応答して該復号部を介し該フォント記憶部から、該秘密文字コードに対応するグリフデータを取り出して該クライアントに送信する
ステップを有することを特徴とする秘密情報漏洩防止方法。
【請求項２５】
サーバーからクライアントが受信したデータの不正者による漏洩を防止する秘密情報漏洩防止方法において、該クライアントには表示装置が結合されており（図１２）、
文字コードをテンポラル文字コードに変換するための変換テーブルを備えた変換部と、テンポラル文字コードを文字コードに逆変換するための逆変換テーブルを備えた逆変換部と、第１アドレスマッピングテーブルに基づきフォント記憶部から文字コードに対応するグリフデータを取り出す復号部とのいずれも、該サーバーと該クライアントとを結合する通信路に結合し又は該サーバーに備えておき、
（ａ）該サーバーからの文字コードを又は該サーバにおいて該文字コードを、該変換テーブルに基づいてテンポラル文字コードに変換しこれを該クライアントに送信し、
（ｂ）該クライアントからの要求に応答してテンポラル文字コードを該逆変換テーブルに基づき文字コードに変換し、該第１アドレスマッピングテーブルに基づき該文字コードを復号してグリフデータを取得し、これを該クライアントに送信し、
（ｃ）所定のタイミングで該変換テーブルと該逆変換テーブルとを更新する
ことを特徴とする秘密情報漏洩防止方法。
【請求項２６】
該変換部（図１３、４０）、該逆変換部（４０）及び該復号部（２１１ａ、２１１ｂ）は装置（２１Ａ）に備えられ、該装置が該クライアントと該サーバーとの間の通信路に結合されていることを特徴とする請求項２５記載の秘密情報漏洩防止方法。
【請求項２７】
該変換部、該逆変換部及び該復号部は該サーバー（図２８）に備えられていることを特徴とする請求項２５記載の秘密情報漏洩防止方法。
【請求項２８】
該変換部はサーバーに備えられ（図３４、４０１Ａ）、該逆変換部（４１Ｂ１）及び該復号部（２１１Ａ、２１１Ｂ）はフォントサーバーに備えられていることを特徴とする請求項２５記載の秘密情報漏洩防止方法。
【請求項２９】
サーバーからクライアントが受信したデータの不正者による漏洩を防止する秘密情報漏洩防止方法において、該クライアントには表示装置が結合されており（図２０、２１）、
文字コードをテンポラル文字コードに変換するための変換テーブルを備えた変換部と、テンポラル文字コードを文字コードに逆変換するための逆変換テーブルを備えた逆変換部と、文字コードに基づきクライアント側フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブルを備えた第１アドレスマッピングテーブル記憶部とのいずれも、該サーバーと該クライアントとを結合する通信路に結合し又は該サーバーに備えておき、
テーブル更新処理と文字コード変換処理と復号処理とを有し、
該テーブル更新処理では、
（ａ）所定のタイミングで該変換テーブルと該逆変換テーブルとを更新し、該第１アドレスマッピングテーブルと該更新された逆変換テーブルとに基づいて、テンポラル文字コードに対応するグリフデータを該フォント記憶部から取り出すための第２アドレスマッピングテーブルを更新し、
（ｂ）該第２アドレスマッピングテーブルが更新される毎にこれを該クライアントに送信し、
該文字コード変換処理では、
（ｃ）該サーバーからの文字コードを又は該サーバにおいて該文字コードを、該変換テーブルに基づいてテンポラル文字コードに変換しこれを該クライアントに送信し、
該復号処理では、
（ｄ）該クライアントにおいて、該テンポラル文字コードに対応するグリフデータを、該第２アドレスマッピングテーブルに基づき該フォント記憶部から取得する
ことを特徴とする秘密情報漏洩防止方法。
【請求項３０】
該変換部は、互いに異なる該変換テーブルを複数備え（図２２）、
該逆変換部は、該複数の変換テーブルのそれぞれに対応した該逆変換テーブルを複数備え（図２３）、
該ステップ（ａ）では、該サーバーからのレコードに含まれる文字コード列のカラム位置に応じて該複数の変換テーブルの１つを選択し、
該クライアントでは、該カラム位置が文字表示領域に対応付けられており、
該ステップ（ｂ）では、該クライアントからのテンポラル文字コード列を該文字表示領域に応じて該複数の逆変換テーブルの１つを選択する
ことを特徴とする請求項２５に記載の秘密情報漏洩防止方法。
【請求項３１】
該更新においては、乱数を発生させ該乱数に基づいて該変換テーブル又は該逆変換テーブルを更新する（図１５）ことを特徴とする請求項２５乃至３０のいずれか１つに記載の秘密情報漏洩防止方法。
【請求項３２】
該第１アドレスマッピングテーブルを備えた装置と該クライアントとの間及び該クライアントと該サーバーとの間で相互認証を行い、その結果が正当でなければ、該第１アドレスマッピングテーブルを書き換え又は消去する（図４、ＳＢ）ことを特徴とする請求項２５乃至３１のいずれか１つに記載の秘密情報漏洩防止方法。
【請求項３３】
サーバーからクライアントが受信したデータの不正者による漏洩を防止する秘密情報漏洩防止方法において、該クライアントには表示装置が結合されており、
バイナリコードをテンポラルバイナリコードに変換するための変換テーブルを備えた変換部（図３２（Ａ））と、テンポラルバイナリコードをバイナリコードに逆変換するための逆変換テーブルを備えた逆変換部（図３２（Ｂ））と、フォント記憶部からバイナリコードに対応するグリフデータを取り出す復号部とのいずれも、該サーバーと該クライアントとを結合する通信路に結合し又は該サーバーに備えておき、
（ａ）該サーバーからのバイナリコードを又は該サーバにおいて該バイナリコードを、該変換テーブルに基づいてテンポラルバイナリコードに変換しこれを該クライアントに送信し、
（ｂ）該クライアントからの要求に応答してテンポラルバイナリコードを該逆変換テーブルに基づきバイナリコードに変換し、該復号部で該バイナリコードを復号してグリフデータを取得し、これを該クライアントに送信し、
（ｃ）所定のタイミングで該変換テーブルと該逆変換テーブルとを更新する
ことを特徴とする秘密情報漏洩防止方法。
【請求項３４】
サーバーからクライアントが受信したデータの不正者による漏洩を防止する秘密情報漏洩防止方法において、該クライアントには表示装置が結合されており、
バイナリコードをテンポラルバイナリコードに変換するための変換テーブルを備えた変換部と、テンポラルバイナリコードをバイナリコードに逆変換するための逆変換テーブルを備えた逆変換部と、バイナリコードをＮ進数コードに変換し該Ｎ進数コードの各桁を文字コードに変換するバイナリコード／文字コード変換部と、文字コードに基づきクライアント側フォント記憶部から対応するグリフデータを取り出すためのアドレスマッピングテーブルを備えたアドレスマッピングテーブル記憶部とのいずれも、該サーバーと該クライアントとを結合する通信路に結合し又は該サーバーに備えておき、
テーブル更新処理とバイナリコード変換処理と復号処理とを有し、
該テーブル更新処理では、
（ａ）所定のタイミングで該変換テーブルと該逆変換テーブルとを更新し、該アドレスマッピングテーブルと該更新された逆変換テーブルとに基づいて、テンポラルバイナリコードに対応するグリフデータを該フォント記憶部から取り出すための文字描画部を更新し、
（ｂ）該文字描画部が更新される毎にこれを該クライアントに送信し、
該バイナリコード変換処理では、
（ｃ）該サーバーからのバイナリコードを又は該サーバにおいて該バイナリコードを、該変換テーブルに基づいてテンポラルバイナリコードに変換しこれを該クライアントに送信し、
該復号処理では、
（ｄ）該クライアントにおいて、該テンポラルバイナリコードに対応するグリフデータを該文字描画部から取得する
ことを特徴とする秘密情報漏洩防止方法。
【請求項３５】
テキストの文字コードが普通文字コードであるか秘密文字コードであるかを示す属性が定義されており、
該属性が普通文字コードであることを示していると判定するとオペレーティングシステム又はユーザーのグリフ描画プログラムに普通文字コードを復号させ、該属性が秘密文字コードであることを示していると判定すると外部装置に秘密文字コードを復号させるプログラム
を有することを特徴とするアプリケーションプログラム。
【請求項３６】
該アプリケーションプログラムはブラウザであり、ＨＴＭＬファイル又はＸＭＬファイルに用いられるフォントタグに関し、該属性が定義されていることを特徴とするブラウザ。
【請求項３７】
該プログラムはプラグインモジュールであることを特徴とする請求項３５又は３６記載のブラウザ。
【請求項３８】
キー入力による普通文字コードの確定に応答してオペレーティングシステムに該普通文字コードを復号させるプログラムを備えたアプリケーションプログラムにおいて、
該復号の終了に応答して、外部装置に対し該普通文字コードを秘密文字コードに変換させ、該普通文字コードを該秘密コードで置換するプログラム
を有することを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたコンピュータから外部へ秘密情報が漏洩するのを防止する方法及び装置に関する。
【背景技術】
【０００２】
暗号化、認証及びファイアウォール等の技術の進歩により、ネットワーク通信における情報セキュリティが高くなっている。
【０００３】
しかしながら、情報は人によりアクセスされるので、パスワードを与えられた情報管理者や社員などが個人情報や取引情報などの秘密情報を不正に外部に持ち出すことが可能であり、社会問題となっている。
【０００４】
プロセッサの高速化、記憶装置の大容量化及びデータ圧縮技術などにより、大量の秘密情報を短時間で送受信したり小型のハードディスクやＩＣメモリカードに格納することができるようなったことが、この問題をさらに大きくしている。
【０００５】
一方、コンピュータネットワークを利用することで電子政府を構築し、業務効率化のみならず行政のサービス及び透明化などを高めることが計画されている。
【０００６】
このようなことから、人のモラルに頼らずに技術的に秘密情報漏洩を防止することが要求されている。
【０００７】
下記特許文献１では、メモリ上にフォントを格納し、利用者から文書データの処理系への制御命令有無をタイマーで監視し、設定時間、該制御命令が無い場合にフォント配列をシフトして、第三者への文書内容の可読性を低くし、利用者によるパスワードの認証によって逆シフトすることにより可読にする方法が開示されている。
【０００８】
また、下記特許文献２では、データベースに対し、検索に利用される列項目のデータについては共通の列鍵を用いて暗号化し、その他の列項目のデータについては各行毎に固有の行鍵を用いて暗号化することにより、セキュリティを高める方法が開示されている。
【０００９】
しかし、これらのいずれの方法もパスワード方式であり、パスワードを入力すれば暗号が復号されるので、不正者による秘密情報漏洩を防止することができない。
【００１０】
また、百科事典、小説、漫画、定期刊行物等の著作物を電子ファイルにしてインターネット上で著作物を有料閲覧可能にすれば、利用者にとって便利であり、利用増大が期待できる。しかし、有料閲覧可能にしてもコピーが出回る虞があるので、出版社は諦めざるをえない。
【特許文献１】特開２００１−２２７３９号公報
【特許文献２】特開２００１−１０１０５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、上記問題点に鑑み、人のモラルに頼らずに、不正者による秘密情報漏洩を技術的に防止することが可能な秘密情報漏洩防止方法及び装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明による秘密情報漏洩防止方法の第１態様では、サーバーからクライアントが受信したデータの不正者による漏洩を防止する秘密情報漏洩防止方法において、該クライアントには表示装置が結合されており（図１）、
フォント記憶部と、秘密文字コードに応答して該フォント記憶部から対応するグリフデータを取り出す復号部とを備えた秘密文字コード復号装置を、該クライアントに結合しておき、
（ａ）該秘密文字コード復号装置と該クライアントとの間及び該クライアントと該サーバーとの間で相互認証を行い、その結果が正当であれば、
（ｂ）該サーバーは、該クライアントからの要求に応答して、秘密文字コードを含むデータを送信し、
（ｃ）該クライアントは、該秘密文字コードを該秘密文字コード復号装置に送信して復号要求し、
（ｄ）該秘密文字コード復号装置は、該復号要求に応答して該復号部を介し該フォント記憶部から、該秘密文字コードに対応するグリフデータを取り出して該クライアントに送信する
ステップを有する。
【００１３】
本発明による秘密情報漏洩防止方法の第２態様では（図１２）、文字コード（普通文字コード又は秘密文字コード、以下同様）をテンポラル文字コードに変換するための変換テーブルを備えた変換部と、テンポラル文字コードを文字コードに逆変換するための逆変換テーブルを備えた逆変換部と、第１アドレスマッピングテーブルに基づきフォント記憶部から文字コードに対応するグリフデータを取り出す復号部とのいずれも、該サーバーと該クライアントとを結合する通信路に結合し又は該サーバーに備えておき、
（ａ）該サーバーからの文字コードを又は該サーバーにおいて該文字コードを、該変換テーブルに基づいてテンポラル文字コードに変換しこれを該クライアントに送信し、
（ｂ）該クライアントからの要求に応答してテンポラル文字コードを該逆変換テーブルに基づき文字コードに変換し、該第１アドレスマッピングテーブルに基づき該文字コードを復号してグリフデータを取得し、これを該クライアントに送信し、
（ｃ）所定のタイミングで該変換テーブルと該逆変換テーブルとを更新する
本発明による秘密情報漏洩防止方法の第３態様では（図２０、２１）、文字コードをテンポラル文字コードに変換するための変換テーブルを備えた変換部と、テンポラル文字コードを文字コードに逆変換するための逆変換テーブルを備えた逆変換部と、文字コードに基づきクライアント側フォント記憶部から対応するグリフデータを取り出すための第１アドレスマッピングテーブルを備えた第１アドレスマッピングテーブル記憶部とのいずれも、該サーバーと該クライアントとを結合する通信路に結合し又は該サーバーに備えておき、
テーブル更新処理と文字コード変換処理と復号処理とを有し、
該テーブル更新処理では、
（ａ）所定のタイミングで該変換テーブルと該逆変換テーブルとを更新し、該第１アドレスマッピングテーブルと該更新された逆変換テーブルとに基づいて、テンポラル文字コードに対応するグリフデータを該フォント記憶部から取り出すための第２アドレスマッピングテーブルを更新し、
（ｂ）該第２アドレスマッピングテーブルが更新される毎にこれを該クライアントに送信し、
該文字コード変換処理では、
（ｃ）該サーバーからの文字コードを又は該サーバーにおいて該文字コードを、該変換テーブルに基づいてテンポラル文字コードに変換しこれを該クライアントに送信し、
該復号処理では、
（ｄ）該クライアントにおいて、該テンポラル文字コードに対応するグリフデータを、該第２アドレスマッピングテーブルに基づき該フォント記憶部から取得する。
【００１４】
本発明による秘密情報漏洩防止方法の第４態様では、上記第２又は３態様において、該変換部は、互いに異なる該変換テーブルを複数備え（図２２）、
該逆変換部は、該複数の変換テーブルのそれぞれに対応した該逆変換テーブルを複数備え（図２３）、
該ステップ（ａ）では、該サーバーからのレコードに含まれる文字コード列のカラム位置に応じて該複数の変換テーブルの１つを選択し、
該クライアントでは、該カラム位置が文字表示領域に対応付けられており、
該ステップ（ｂ）では、該クライアントからのテンポラル文字コード列を該文字表示領域に応じて該複数の逆変換テーブルの１つを選択する。
本発明による秘密情報漏洩防止方法の第５態様では、該第１アドレスマッピングテーブルを備えた装置と該クライアントとの間及び該クライアントと該サーバーとの間で相互認証を行い、その結果が正当でなければ、該第１アドレスマッピングテーブルを書き換え又は消去する（図４、ＳＢ）。
【００１５】
本発明によるサーバーの一態様では、
データが格納されたサーバー本体と、
コードを秘密コードに変換するための変換テーブルを備えたコード変換部（図３４、４０１Ａ）と、
該サーバー本体から文字コード又はバイナリコードを受け取り該文字コード又はバイナリコードを該コード変換部に供給して秘密文字コード又は秘密バイナリコードを取得しクライアントに送信する制御部（３０１Ａ）と
を有する。
【００１６】
なお、「クライアントから受信」はクライアントから直接又は間接的に受信することを意味する。「サーバーから」及び送信についても同様である。間接的にとは、例えば実施例１１に記載のように認証サーバーを介して送信する場合を言う。
【発明の効果】
【００１７】
上記第１態様の構成によれば、クライアントにおいて秘密文字コードと普通文字コードとの対応関係が不明であるので、秘密文字コードを含むファイルがクライアントの記憶装置に残っていても、可読性がなく、かつ、秘密文字コード復号装置とクライアントとの間及びクライアントとサーバーとの間での相互認証結果が正当である場合のみ秘密文字コード復号装置による復号処理が行なわれるので、不正者による秘密情報漏洩を技術的に防止することが可能となる。
【００１８】
上記第２態様の構成によれば、秘密文字コードがテンポラリに変化するので、この文字コードを含むファイルを持ち出しても可読性がなく、不正者による秘密情報漏洩を技術的にかつより確実に防止することが可能となる。
【００１９】
上記第３態様の構成によれば、第２アドレスマッピングテーブルの内容から第１アドレスマッピッグテーブルの内容を知ることができないことと、第２アドレスマッピングテーブルがテンポラリに更新されることから、秘密文字コードを含むファイルの内容を後で閲覧しても解析できず意味不明のものとなり、不正者による秘密情報漏洩を技術的に防止することが可能となる。
【００２０】
また、第２アドレスマッピッグテーブル及びフォント記憶部をクライアントが持っているので、上記実施形態１及び２よりも高速に文字を描画することが可能となる。
【００２１】
上記第４態様の構成によれば、時間軸上のみならず空間軸上でも秘密文字コードがテンポラリに変化するので、さらにセキュリティを高めることができる。
【００２２】
上記第５態様の構成によれば、不正者による第１アドレスマッピングテーブルの内容解読の試みが阻止されるので、さらにセキュリティを高めることができる。
【００２３】
上記一態様のサーバーによれば、簡単な構成により、該サーバー本体に格納されているデータを見かけ上秘密コード化することができる。また、該変換テーブルをテンポラリに変化させることにより、該秘密文字コード又は秘密バイナリコードがテンポラリにへんかするので、簡単な構成により秘密化をより確実に行うことができる。
【００２４】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【発明を実施するための最良の形態】
【００２５】
以下、図面に基づいて本発明の実施例を説明する。図面において、同一又は類似の要素には、同一又は類似の符号を付している。
【００２６】
本明細書及び特許請求の範囲における「グリフデータ」は、ビットマップ展開前のベクトルデータ又はビットマップ展開されたイメージデータのいずれであってもよい。
【００２７】
また、「クライアント」はクライアントコンピュータ又はクライアントコンピュータで実行されるアプリケーションプログラムを意味する。「サーバー」についても同様である。
【００２８】
秘密情報とは、公開が制限された情報の意味であり、個人情報、社内情報、団体内情報、取引情報又は有料の情報等が含まれる。秘密情報であるかどうかは、情報の組み合わせによって異なる。例えば名前のみは秘密情報ではないが、名前に住所、年齢、趣味等が組み合わされると秘密情報になる。
【００２９】
「秘密文字コード」とは、ＪＩＳコードやユニコード等の普通文字コードと異なる独自の文字コードを意味する。また、「テンポラル文字コード」とは、一時的に使用される独自の文字コードを意味し、秘密文字コードの一種である。
【００３０】
また、単に「アプリケーションプログラム」と言った場合、秘密文字コードを用いる本システムで使用が許可されているアプリケーションプログラムを意味する。「アプリケーションプログラムで〜を実行する」と言った場合、アプリケーションプログラムで使用するＤＬＬ等の外部モジュールで実行する場合を含む。
【実施例１】
【００３１】
図１は、本発明の実施例１のコンピュータネットワークシステムを示す概略ブロック図である。
【００３２】
サーバー１０とＮ台のクライアント１１〜１Ｎとの間がネットワーク結合され、クライアント１１〜１Ｎのそれぞれに秘密文字コード復号装置２１〜２Ｎが結合されている。このネットワークは、ＬＡＮ又はインターネットである。
【００３３】
サーバー１０は、データベースサーバー、Ｗｅｂアプリケーションサーバー（Ｗｅｂサーバーの機能を兼ねたアプリケーションサーバー）、データベースサーバーとＷｅｂアプリケーションサーバーとの組み合わせ、又はデータベースサーバーとＣＧＩプログラム等を用いたＷｅｂサーバーとの組み合わせであり、許可されたユーザーの利用に供するため、秘密情報の全部又は一部が秘密文字コードを用いて格納されている。
【００３４】
サーバー１０には、秘密情報の取得を許可したクライアントコンピュータの情報（コンピュータ認証用パスワード、マックアドレス、ＭＰＵ等）とそのクライアントコンピュータ上で動作が許可されたアプリケーションプログラムの情報（プログラム名、バージョン及びシリアルナンバー）と利用が許可されたユーザーの認証情報（ＩＤ及びパスワード）とが、照合データとして登録されている。
【００３５】
クライアント１１〜１Ｎにはそれぞれ、秘密文字コード復号装置２１〜２Ｎを確認するための照合データ及びサーバー１０を確認するための照合データが格納されている。秘密文字コード復号装置２１〜２Ｎとサーバー１０との間の認証は、秘密文字コード復号装置２１〜２Ｎを確認するための照合データをクライアント１１〜１Ｎが持つことにより可能となる。
【００３６】
秘密文字コード復号装置２１〜２Ｎについても同様に、それぞれ利用を許可したクライアント１１〜１Ｎを確認するための照合データが格納されている。
【００３７】
図２は、図１中のクライアント１１と秘密文字コード復号装置２１のハードウエア概略構成を示すブロック図である。
【００３８】
クライアント１１は、普通のコンピュータシステムであり、ＭＰＵ１１０にビデオＲＡＭ１１１、入力インタフェース１１２、通信インタフェース１１３、記憶装置１１４及び通信インタフェース１１５がバスで結合されている。図２では、簡単化のために１種類のバスのみ示している。ビデオＲＡＭ１１１には、ビデオコントローラ１１６を介して表示装置１１７が結合され、入力インタフェース１１２及び通信インタフェース１１５にはそれぞれ、入力装置１１８及びサーバー１０が結合されている。
【００３９】
記憶装置１１４は、ＲＡＭ、ＲＯＭ及び外部記憶装置を含んでおり、ＯＳ（オペレーティングシステム）及びアプリケーションプログラムが該外部記憶装置に格納されている。
【００４０】
一方、秘密文字コード復号装置２１では、ＭＰＵ２１０に記憶装置２１１、通信インタフェース２１２及びＩＣメモリカードアダプタ２１３がバスで結合されている。通信インタフェース２１２と１１３との間は、通信路で結合されている。記憶装置２１１は、ＲＯＭとＲＡＭとを含んでいる。
【００４１】
図３は、図２の秘密文字コード復号装置２１の機能ブロック図である。
【００４２】
システム制御部３０、認証部図３５及びタイマー図３５は、図２のＭＰＵ２１０と記憶装置２１１と該記憶装置２１１のＲＯＭに格納されたプログラム及びＲＡＭのワークエリアとにより構成される。アドレスマッピッグテーブルＲＡＭ２１１ａ、フォントＲＯＭ２１１ｂ、普通文字コード変換テーブルＲＡＭ２１１ｃ及び照合データＲＯＭ２１１ｄは、図２の記憶装置２１１に含まれている。ＩＣメモリカード３３は、アドレスマッピッグテーブルＲＡＭ２１１ａ及び普通文字コード変換テーブルＲＡＭ２１１ｃに対し後述のようにデータを書き込む際にＩＣメモリカードアダプタ２１３に装着され、この書き込みが完了すると、ＩＣメモリカードアダプタ２１３から抜脱される。
【００４３】
図４は、クライアントコンピュータでアプリケーションプログラムを起動した時の処理を示す概略フローチャートである。
【００４４】
（Ｓ０）まず、ユーザー認証入力画面を表示する。
【００４５】
（Ｓ１）ユーザーはこれに応答して、ユーザーのＩＤ及びパスワードを入力する。
【００４６】
（Ｓ２、Ｓ３）このアプリケーションプログラムの利用を許可したＩＤ及びパスワードでなければ、ステップＳ０へ戻ってユーザーに再入力を促し、そうでなければステップＳ４へ進む。
【００４７】
（Ｓ４）ステップＳ１で入力されたユーザー認証用データと、上記アプリケーションプログラムの情報と、上記クライアントコンピュータの情報とを含む照合データに基づいて、ハッシュ値を算出する。
【００４８】
（Ｓ５）セキュリティプロトコル、例えばＩＫＥ（Internet Key Exchange）プロコトルに従って、サーバーとの間で相互認証を行なう。
【００４９】
（Ｓ６）正当であればステップＳ７へ進み、そうでなければステップＳＡへ進む。
【００５０】
（Ｓ７）ＩＫＥプロトコルに従って、秘密文字コード復号装置２１との間で同様に相互認証を行なう。
【００５１】
（Ｓ８）正当であればステップＳ９へ進み、そうでなければステップＳＢへ進む。
【００５２】
（Ｓ９）サーバーにクエリー等のリクエストをし、これに応答してサーバーから供給される情報を取得する。この処理では、サーバーとの間でデータを送信又は受信するセッション毎にその開始時にステップＳ５の認証が行なわれる。
【００５３】
（ＳＡ）システム管理者へ、異常事態が生じたことを知らせる電子メールを送信し、アプリケーションプログラムを終了する。
【００５４】
（ＳＢ）不正者によるデータ盗用を防止するため、テーブルＲＡＭ２１１ａ及び２１１ｃの内容を書き換え又は消去し、次いで秘密文字コード復号装置２１の電源を強制的にオフにし又は処理を終了する。すなわち、不正者によるテーブルＲＡＭ２１１ａ及び２１１ｃの内容解読を防止するため、秘密文字コード復号装置２１は、ＲＡＭの内容に関する自爆機能を備えている。
【００５５】
図５は、図４のステップＳ９においてクライアントのアプリケーションプログラムにより表示される検索画面である。このプログラムは、サーバー１０が上述のＷｅｂサーバー（又はＷｅｂアプリケーションサーバー、以下同様）を含む場合にはブラウザであり、サーバー１０がデータベースサーバーである場合にはそのデータベース管理システム（ＤＢＭＳ）を介してデータベースを利用するプログラム（ブラウザもこのプログラムの１つ）である。
【００５６】
いずれの場合も、ＯＳのライブラリ中のグリフ描画プログラムとＯＳに組み込まれたフォントとで復号される普通文字コードと、秘密文字コード復号装置２１で復号される秘密文字コードとが用いられる。
【００５７】
例えば、検索キーワードの入力を表示するためのテキストボックスＴＢ１〜ＴＢ３のみ秘密文字コードが用いられ、その他のテキストボックス及びラベル等のオブジェクトの文字には普通文字コードが用いられる。これらオブジェクトは、属性（プログラムで使用される変数）として普通文字コード又は秘密文字コードであることを示すフラグを有する。例えば、テキストボックスＴＢ１〜ＴＢ３の該フラグは‘１’であり、その他のものについては‘０’になっている。オブジェクトの属性には、従来と同様に、テキストボックス等の位置、サイズ、フォントの名前やサイズ等が含まれる。これら従来の属性に関する処理の詳細は、その説明を省略する。
【００５８】
図５において、画面（ウインドウ）上の検索ボタンを押すと、この入力画面のデータを含むクエリー、例えばＳＱＬ言語のセレクト文がサーバー１０に送信される。この際、本実施例１では、秘密文字列開始コード及び秘密文字列終了コードを秘密文字コード列に付加する必要はない。すなわち、検索キーワードを除いたクエリー本文が普通文字コードを用いて表されるので、サーバー１０では普通文字コードであるか秘密文字コードであるか全く区別する必要はなく、既存のプログラムをそのまま使用することができる。ただし、サーバー側のデータベースは、予め定めた秘密情報のカラムに関し、普通文字コードを秘密文字コードに変換しておく。
【００５９】
普通文字コードと秘密文字コードのバイト長は異なってもよいが、既存のデータベースをできるだけ変更しないでよいようにするとともにデータ量増加を避けて高速処理を可能にするため、同じにする。
【００６０】
検索結果であるサブセットテーブルがサーバー１０からクライアント１１へ送信（クライアントのアプリケーションプログラムへ送信）されると、後述の処理が行われて、クライアント１１の画面に図６に示すような検索結果が表示される。すなわち、ヒット件数及びサブセットテーブル中の現在のレコード番号が表示されるとともに、この番号のレコードのデータがカード形式で表示される。図６では、例えばテキストボックスＴＢ４〜ＴＢ９及びＴＢａ〜ＴＢｅのみ秘密文字コードの文字フィールドを備えている。
【００６１】
アプリケーションプログラムがブラウザである場合には、ＨＴＭＬファイル（又はＸＭＬファイル）に用いられるフォントタグに関し、普通文字コードであるか秘密文字コードであるかを示す属性（秘密属性）を定義しておき、該属性を設定しておく。アプリケーションプログラムは、後述のように、秘密属性に応じてＯＳ又は秘密文字コード復号装置２１のグリフ描画プログラムを用い、文字を画面に表示（復号）させる。アプリケーションプログラムがブラウザである場合には、この処理は、ブラウザに対するプラグインモジュールで実現してもよい。
【００６２】
サーバー１０から検索結果を受信すると、アプリケーションプログラムは、レコードの各フィールドのデータを、対応するテキストボックスに挿入しようとする。この際、アプリケーションプログラムにより、画面上に文字を描画するためのＰＲＩＮＴサブルーチンの実行が開始され、図７に示す処理が行なわれる。ＰＲＩＮＴサブルーチンは例えば、ＤＬＬ（ダイナミック・リンク・ライブラリ）中のプログラムである。
【００６３】
（Ｓ１０）表示フィールドの秘密属性のフラグが‘０’であればステップＳ１１へ進み、‘１’であればステップＳ１３へ進む。
【００６４】
（Ｓ１１）ＯＳのライブラリ中の文字描画プログラムに、通常のＰＲＩＮＴ処理を依頼する。このプログラムにより、対応するグリフデータが取得され、これがベクトルフォントのデータであれば、さらにビットマップ展開（ラスタライズ）される。
【００６５】
詳説すれば、この依頼において、描画する矩形の大きさ、フォント名（フォントＩＤ）、フォントサイズ、行間などを引数としてＯＳのプログラムに渡す。ＯＳは、該矩形の大きさに合わせて描画したグリフイメージと文字毎の幅をアプリケーションプログラムに返す。文字毎の幅は、アプリケーションプログラムがカーソル位置を所定の位置に正しく表示するために使用される。プロポーショナルフォントの場合には、文字幅が文字及びフォントの種類により異なる。
【００６６】
（Ｓ１２）当該オブジェクトの属性である表示位置座標に対応したアドレスを指定して、ビデオＲＡＭ１１１にビットマップデータを書き込み、ＰＲＩＮＴサブルーチンを終了する。
【００６７】
（Ｓ１３）アプリケーションプログラムは、秘密文字コード列に秘密文字列開始コードと秘密文字列終了コードとを付加して、通信インタフェース２１２へ送信する（Ｓ１３−１）。
【００６８】
システム制御部３０は、この開始コードが付加されていると、その次からの秘密文字コードを順次アドレスマッピッグテーブルＲＡＭ２１１ａのアドレス入力端子に供給する。これにより、テーブルＲＡＭ２１１ａからフォントＲＯＭ２１１ｂへ、対応するグリフデータを取得するためのアドレスが供給され、フォントＲＯＭ２１１ｂからグリフデータが読み出される。フォントがベクトルフォントである場合には、このグリフデータがビットマップ展開部２１１ｒでビットマップ展開され、ビットマップフォントである場合にはビットマップ展開部２１１ｒを素通りする。システム制御部３０は、通信インタフェース２１２を介してそのグリフイメージをクライアント１１に送信する。
【００６９】
クライアント１１のアプリケーションプログラムは、これを受信すると（Ｓ１３−２）、上記ステップＳ１２の処理を行なう。
【００７０】
なお、既存のアプリケーションプログラムの本体を殆ど変更せずに図７のステップＳ１０、並びに、ステップＳ１３のＳ１３−１及びＳ１３−２の処理行うため、専用のモジュールを介してこれらの処理を行うのが好ましい。アプリケーションプログラムがブラウザの場合には、上述のようにプラグインモジュールでこれらの処理を行う。ステップＳ１３では、秘密文字コード列を単位として送信するので、１つ又は複数の秘密文字コード列に対し復号要求開始信号を送信することにより、受信側で秘密文字コード列毎に秘密文字列開始コードと秘密文字列終了コードを付加し、或いはこれらを付加せずに秘密文字列と判断して復号してもよい。
【００７１】
また、グリフデータのフォーマットは、ＯＳが持っているフォントのそれと同一であってもよい。
【００７２】
図６において、テキストボックスに文字を記入するためにキーボードを操作すると、キー入力割込が生じ、フロントエンドプロセッサ（ＦＥＰ）がオンの場合には、文字確定キーを押すと確定処理が行われて文字が描画され、ＦＥＰがオフの場合には、キー入力のみで文字が確定して文字が描画される。この文字描画終了に応答して、アプリケーションプログラムは、対応するテキストボックスの該秘密属性を調べ、これが‘１’であれば装置２１に対しこの確定した普通文字コードとともにコード変換要求を送信をする。なお、装置２１は１文字コードの受信をコード変換要求とみなすことができるので、コード変換要求は必須ではない。
【００７３】
システム制御部３０はこれに応答して、この普通文字コードを変換テーブルＲＡＭ２１１ｃのアドレス入力端に供給して秘密文字コードを読み出し、クライアント１１へ送信する。アプリケーションプログラムは、当該テキストボックスの対応する普通文字コードをこの秘密文字コードで置換する。
【００７４】
図６において、テキストボックスに文字列を記入した後、画面上の登録ボタン又は更新ボタンを押すと、これに対応したクエリーが例えばＳＱＬ言語で記述されてサーバー１０に送信される。
【００７５】
本実施例１では、クライアントにおいて秘密文字コードと普通文字コードとの対応関係が不明であり、かつ、秘密文字コード復号装置２１によりクライアント及びアプリケーションプログラムが認証された場合のみ秘密文字コード復号装置２１による復号処理が行なわれるので、秘密文字コードを含むファイルがクライアントの記憶装置に残っていても、他のアプリケーションプログラムで閲覧すれば秘密文字コードに対応する文字が全く意味をなさない。これにより、不正者による秘密情報漏洩を技術的に防止することが可能となる。
【００７６】
なお、上記ＰＲＩＮＴサブルーチンは、プリンタに対しても同様に適用できる。この場合、印刷許可／禁止をユーザーＩＤ毎に予め設定しておき、これに基づいて印刷を許可／禁止する。
【００７７】
上述の自爆機能により、アドレスマッピッグテーブルＲＡＭ２１１ａ及び普通文字コード変換テーブルＲＡＭ２１１ｃの内容が書き換えられ又は消去されると、該内容を再度書き込む必要がある。この内容を書き込む人がテーブルＲＡＭ２１１ａ及び２１１ｃの内容を読み出すと、セキュリティが確保されない。また、テーブルＲＡＭ２１１ａに対する内容の書き込みを容易迅速に行なえるようにするのが業務遂行上好ましい。
【００７８】
そこで、秘密文字コード復号装置２１の電源オン時に、システム制御部３０により図８に示す処理を行なう。この際、クライアント１１の認証機能とキー入力機能を利用する。
【００７９】
（Ｓ２０）タイマー図３５を起動させる。タイマー図３５のタイムアップ時間は、予め設定されている。
【００８０】
（Ｓ２１）図４のステップＳ０〜Ｓ７と同じ処理を行なって、クライアント１１との間で相互認証を行なうとともに、クライアント１１とサーバー１０との間の相互認証をクライアントに対して行なわせ、その結果を待つ。
【００８１】
（Ｓ２２）この結果が正当であればステップ２３へ進み、そうでなければステップＳ２６へ進む。
【００８２】
（Ｓ２３）クライアント１１の入力装置１１８を操作して、乱数系列を定めるためのパスワードを入力する。その結果が通信インタフェース２１２に送信され、システム制御部３０でこれを受信すると、ステップＳ２５へ進み、そうでなければステップＳ２４へ進む。
【００８３】
（Ｓ２４）タイムアウトでなければステップＳ２３へ戻り、そうでなければステップＳ２６へ進む。
【００８４】
（Ｓ２５）システム制御部３０は、図９に示す処理により、ＩＣメモリカード３３からアドレスマッピッグテーブルＲＡＭ２１１ａへのランダムな書き込みを行ない、同様に、ＩＣメモリカード３３から普通文字コード変換テーブルＲＡＭ２１１ｃへのランダムな書き込みを行ない、図４のステップＳ９へ進む。書き込み中にタイマーがタイムアップすると、ステップＳ２６へ進む。
【００８５】
（Ｓ２６）不正者によるデータ盗用を防止するため、ＲＡＭ２１１ａ及び２１１ｃの内容を書き換え又は消去する。
【００８６】
（Ｓ２７）システム制御部３０は、自身の電源をオフにし又は処理を終了する。
【００８７】
次に、図９及び図１０を参照して、ステップＳ２５におけるアドレスマッピッグテーブルＲＡＭ２１１ａへの書込処理を詳説する。
【００８８】
（Ｓ３０）ステップ２３で受信したパスワードに基づき乱数発生関数のパラメータｐの値を決定することにより、乱数発生系列を定める。例えば、該パスワードｑを予め定めたある関数Ｆ（ｑ）に代入して該パラメータ値ｐ＝Ｆ（ｑ）を求め、これにより乱数発生系列を定める。
【００８９】
（Ｓ３１）アドレスマッピッグテーブルＲＡＭ２１１ａの書き込みアドレスを８０００＋ｉとしたときの変数ｉに、初期値０を代入する。アドレスマッピッグテーブルＲＡＭ２１１ａの書き込みアドレス範囲は、８０００〜８０００＋ｉｍａｘであるとする。
【００９０】
（Ｓ３２）乱数発生関数ＲＮＤを用いて、０〜ｉｍａｘの範囲の乱数ｊ＝Ｉｎｔ（ｉｍａｘ・ＲＮＤ）を求める。ここに、Ｉｎｔ（）は括弧内の値を整数化する関数である。ＲＮＤは０〜１．０の範囲の浮動小数点数である。
【００９１】
乱数ｊの値を記憶しておき、ｊがそれまでに発生した乱数と同じ値であれば、異なる値になるまで乱数を発生させて、ｊを定める。説明の簡単化のためにこのような方法を用いているが、この方法は所要時間が長くなるので、実際には、例えば後述する図１５の方法を利用して、所要時間を短縮する。
【００９２】
（Ｓ３３）ＩＣメモリカード３３のアドレスｊの内容（これを（ｊ）と表記する）を、アドレスマッピッグテーブルＲＡＭ２１１ａのアドレス８０００＋ｉに書き込ませる。
【００９３】
（Ｓ３４）ｉを１だけインクリメントする。
【００９４】
（Ｓ３５）ｉが最大値ｉｍａｘ以下であればステップＳ３２へ戻り、そうでなければ処理を終了する。
【００９５】
予め定めたデータをこのような方法でアドレスマッピッグテーブルＲＡＭ２１１ａに書き込むことが可能な理由は、以下の通りである。すなわち、図１０において、右側のアドレスマッピングテーブルが、予め定めたデータであるとする。システム制御部３０の乱数発生プログラムと同じプログラムを用い、乱数発生系列を定めるパラメータ値ｐも同じにして、ステップＳ３２の、ｉ番目の乱数ｊを求める。ＩＣメモリカード３３のアドレスｊに、アドレスマッピングテーブルのアドレス８０００＋ｉの内容を書き込む。このようにすることで、図９に示す処理により、アドレスマッピッグテーブルＲＡＭ２１１ａに、予め定めたデータを書き込むことができる。
【００９６】
システム制御部３０において上記関数ｐ＝Ｆ（ｑ）を用いるので、例え乱数発生関数及び上記パスワードが判ったとしても、乱数発生系列を定めるパラメータ値ｐが不明である。このため、ＩＣメモリカード３３の内容から、アドレスマッピッグテーブルＲＡＭ２１１ａ及び普通文字コード変換テーブルＲＡＭ２１１ｃに書き込まれる内容を求めることはできない。
【００９７】
グリフデータの取得は、次のようにして行われる。例えば、図１０のアドレスマッピングテーブルからアドレス８０００の内容５Ａ３８を取り出してフォントＲＯＭ２１１ｂをアドレス指定すると、図１１に示すように文字'Ａ'のグリフデータの先頭のデータが読み出される。ＥＮＤマークが出力されるまでフォントＲＯＭ２１１ｂのアドレスをインクリメントして、文字'Ａ'のグリフデータを順次出力させる。
【００９８】
なお、キー入力処理においては上記秘密属性によらず通常の処理を行い、秘密属性が‘１’の場合には未変換フラグを‘１’にしておき、サーバーへデータを送信する直前に、その普通文字コード列に変換開始コードと変換終了コードとを付加して秘密文字コード復号装置２１に送信することにより、テーブルＲＡＭ２１１ｃで普通文字コードを秘密文字コード列に変換するようにしてもよい。
【００９９】
また、秘密文字コード復号装置２１〜２Ｎをそれぞれサーバー１０とクライアント１１〜１Ｎとの間に結合してもよい。この場合、上記秘密文字コード列への変換は、サーバーへデータを送信する途中でこれを行うことができる。この点は、以下の実施例においても同様である。
【０１００】
さらに、秘密文字コード復号装置を強固なハウジングに収納し、上記タイマーの設定時間を越えた後に該ハウジングを開け又は開いている場合にはこれをセンサで検出して自爆機能を働かせるようにするのが望ましい。
【０１０１】
また、処理高速化のため、図３においてビットマップ展開部２１１ｒを備えずに、サーバー１０側にビットマップ展開部２１１ｒを備えてサーバー１０側でビットマップ展開処理を行うようにしてもよい。
【０１０２】
この場合、セキュリティをより高くするため、特殊なフォントＲＯＭ２１１ｂとビットマップ展開部２１１ｒを用いることが好ましい。すなわち、グリフデータを暗号化しておく。例えば、ベクトルフォントのグリフデータにおいて、座標値を所定の規則に従って又はテーブルで変換したものを用いる。そして、ビットマップ展開部で前処理として、該座標値を逆変換（復号）し、その後に通常のビットマップ展開処理をする。さらに、ビットマップ展開部であるファームウェア又はサブルーチンにおいて、処理要求元のアプリケーションプログラムが所定のものである場合のみ、処理を受け付けるようにしてもよい。
【０１０３】
このような特殊なベクトルフォント及びビットマップ展開部を、上記実施例と関係なくワープロソフト、表計算ソフト、プレゼンテーションソフト等で利用するようにすれば、これらソフトで作成されるファイルを外部に持ち出しても文字を復号できないので、秘密情報の漏洩を防止することができる。
【０１０４】
また、図７のステップＳ１１（及びＳ１２）の処理をＯＳに依頼せずに独自のプログラムで処理するようにしてもよい。
【実施例２】
【０１０５】
秘密文字コードを固定にすると、秘密文字コードと文字との対応関係が知られる虞があり、秘密情報の漏洩を防止することができなくなる。実施例１において、空き時間にサーバー１０側で秘密文字コードを変更してデータベースを書き換えれば、セキュリティを高めることができる。しかし、データベース利用率が高ければ、頻繁にこの変更を行うことができない。
【０１０６】
そこで、本発明の実施例２では、秘密文字コードをテンポラリに変更可能にしている。
【０１０７】
図１２は、本発明の実施例２のコンピュータネットワークシステムを示す概略ブロック図である。
【０１０８】
サーバー１０は、テンポラル文字コード作成・復号装置２１Ａ〜２ＮＡを介してそれぞれクライアント１１〜１Ｎに結合されている。サーバー１０のデータベースには、実施例１と同じ秘密文字コードが用いられている。
【０１０９】
サーバー１０からクライアント１１へ文字コードを送信する場合に、テンポラル文字コード作成・復号装置２１Ａで秘密文字コードをテンポラル文字コードに変換し、クライアント１１からサーバー１０へ文字コードを送信する場合に、テンポラル文字コード作成・復号装置２１Ａでテンポラル文字コードを秘密文字コードに逆変換する。このようにすれば、サーバー１０の秘密文字コードを変更することなく、クライアント１１側の秘密文字コードをテンポラリに変更することができる。この変更は所定のタイミングで行われ、例えば、サーバー１０からクライアント１１へ検索結果（サブセットテーブル）を返す毎に、その途中のテンポラル文字コード作成・復号装置２１Ａで行われる。
【０１１０】
テンポラル文字コード作成・復号装置２２Ａ〜２ＮＡについても装置２１Ａと同様である。装置２１Ａ〜２ＮＡは互いに異なる変換テーブル及び逆変換テーブルをもつことができ、これによりセキュリティがさらに高められる。これらテーブルの内容以外については、装置２１Ａ〜２ＮＡは互いに同一構成である。
【０１１１】
図１３は、テンポラル文字コード作成・復号装置２１Ａの概略構成を示すブロック図である。
【０１１２】
パケット通信により時分割並列処理が可能であるので、この装置では１つの通信インタフェース２１２でクライアント１１と結合されるとともにサーバー１０と結合されている。
【０１１３】
テンポラル文字コード作成・復号装置２１Ａでは、図３の構成に、一部を機能的に示す図１４のコード変換・逆変換部４０が付加されている。このコード変換・逆変換部４０は、専用のハードウエアで構成してもコンピュータとそのソフトウエアで構成しても、両者で構成してもよい。
【０１１４】
コード変換テーブルＲＡＭ４１Ａを含むコード変換部４０１は、サーバー１０からクライアント１１へデータを送信する途中で用いられ、コード逆変換テーブルＲＡＭ４１Ｂを含むコード逆変換部４０２は、クライアント１１からサーバー１０へデータを送信する途中で用いられる。
【０１１５】
秘密文字コードのみを変換／逆変換するので、どの部分が秘密文字コードであるかをコード変換・逆変換部４０は知る必要がある。そこで、本実施例２では、サーバー１０からコード変換・逆変換部４０へデータを送信する場合及びクライアント１１（アプリケーションプログラム）からコード変換・逆変換部４０へデータを送信する場合に、秘密文字コード列に秘密文字コード列の開始コード及び終了コードを付加している。以下においては、秘密コード文字列の開始コード及び終了コードをそれぞれ／Ｓ及び／Ｅと表記する。
【０１１６】
コード変換・逆変換部４０は、サーバー１０からデータを受信すると、判断部４２Ａにおいて文字コードが／Ｅであるかどうかを判定し、判断部４３Ａにおいて、文字コードが／Ｓであるかどうかを判定する。
【０１１７】
／Ｓであると判定されると、フラグ（フリップフロップ）４４Ａがセットされて切換スイッチ４５Ａが加減算部４６Ａ側に切り換えられる。これにより、／Ｓの次の秘密文字コードＸが加減算部４６Ａに供給され、この値から、一定のオフセット値ＯＦＶ１が加減算部４６Ａで減算（負の減算であってもよい）されて、コード変換テーブルＲＡＭ４１Ａのアドレス入力端にＡＤＲ＝Ｘ−ＯＦＶ１が供給される。
【０１１８】
これに応答して、リード状態のコード変換テーブルＲＡＭ４１Ａのデータ出力端から変換後の秘密文字コード（テンポラル文字コード）Ｙが出力される。テンポラル文字コードＹは、図１３のシステム制御部３０Ｘ及び通信インタフェース４２を介してクライアント１１へ送信される。このような処理が、秘密文字コード列の各文字コードについて行なわれる。オフセット値ＯＦＶ１は、コード変換テーブルＲＡＭ４１Ａのアドレス範囲と秘密文字コードの範囲との関係を調整するための定数であり、オフセット値ＯＦＶ１を０にして加減算部４６Ａを省略することもできる。
【０１１９】
判断部４２Ａにより／Ｅが検出されると、フラグ４４Ａがリセットされて切換スイッチ４５Ａが切り換えられ、／Ｅの次のデータからは変換されずに図１３のシステム制御部３０Ｘ及び通信インタフェース４２を介してクライアント１１へ送信される。
【０１２０】
クライアント１１からサーバー１０へのデータの流れについても同様であり、構成要素４１Ｂ〜４６Ｂはそれぞれ、構成要素４１Ａ〜４６Ａに対応している。
【０１２１】
クライアント１１で受信したテンポラル文字コード列の描画は、次のようにして行われる。
【０１２２】
すなわち、上述のＰＲＩＮＴサブルーチンが実行されて、上記開始及び終了コードが付加されたテンポラル文字コード列のデータがシステム制御部３０Ｘに送信され、システム制御部３０Ｘはこれに応答して該データをコード逆変換部４０２に供給して秘密文字コード列に変換させ、その秘密文字コードを順次アドレスマッピッグテーブルＲＡＭ２１１ａのアドレス入力端に供給する。その後の処理は、上記実施例１と同じである。
【０１２３】
次に、実施例１で述べたようにクライアント１１でキー入力操作を行って文字を確定すると、秘密属性が‘１’であれば、確定した普通文字コードとともにコード変換要求コードが装置２１Ａに送信される。システム制御部３０Ｘはこれに応答して、この普通文字コードをテーブルＲＡＭ２１１ｃのアドレス入力端に供給して秘密文字コードを読み出させ、これをコード変換部４０１に供給してテンポラル文字コードに変換させ、クライアント１１に送信する。クライアント１１はこれに応答して、実施例１で述べた文字コード置換を行う。
【０１２４】
図１５は、コード変換テーブルＲＡＭ４１Ａの内容をテーブル作成部４０３によりランダムかつ高速に更新するための方法を示すフローチャートである。
【０１２５】
秘密文字コードの範囲とテンポラル文字コードの範囲は同じである必要はないが、簡単化のため同じ範囲ＣＣｍｉｎ〜ＣＣｍａｘであるとする。また、コード変換テーブルＲＡＭ４１ＡのアドレスＡＤＲ＝Ｘ−ＯＦＶ１の範囲をＡＬ〜ＡＨ、すなわち、ＡＬ＝ＣＣｍｉｎ−ＯＦＶ１、ＡＨ＝ＣＣｍａｘ−ＯＦＶ１とする。
【０１２６】
（Ｓ４０）コード変換テーブルＲＡＭ４１Ａの全内容をゼロクリアし、コード変換テーブルＲＡＭ４１Ａに格納する値ｉに初期値ＣＣｍｉｎを代入する。
【０１２７】
（Ｓ４１）乱数発生関数ＲＮＤの乱数発生系列を定めるパラメータ値ｐを変更する。パラメータ値ｐは、例えばその時点の年月日及び時刻に関する値に基づいてランダムな値にされる。
【０１２８】
（Ｓ４２）変数ＡＤＲにＩｎｔ（ＡＨ＊ＲＮＤ＋ＡＬ）を代入する。
【０１２９】
（Ｓ４３）アドレスＡＤＲの記憶内容（ＡＤＲ）が０であれば、未定であるので、ステップＳ４４へ進み、そうでなければステップＳ４７へ進む。
【０１３０】
（Ｓ４４）アドレスＡＤＲに値ｉを格納する。
【０１３１】
（Ｓ４５）ｉの値を１だけインクリメントする。
【０１３２】
（Ｓ４６）ｉ≦ＣＣｍａｘであればステップＳ４２へ進み、そうでなれば処理を終了する。
【０１３３】
（Ｓ４７）ステップＳ４３からステップＳ４２へ戻るようにしてもよいが、ｉの値が大きくなるにつれてステップＳ４３からステップＳ４２へ戻る確率が高くなっていき、全体の処理時間が長くなるので、本実施例２ではステップＳ４７へ進み、以下のような処理を行なう。
【０１３４】
ｉの値が偶数であればステップＳ４８へ進み、そうでなければステップＳ４Ｂへ進む。
【０１３５】
（Ｓ４８）ＡＤＲの値を１だけインクリメントする。
【０１３６】
（Ｓ４９）ＡＤＲ≦ＡＨであればステップＳ４３へ戻り、そうでなけばステップＳ４Ａへ進む。
【０１３７】
（Ｓ４Ａ）ＡＤＲにアドレス範囲の最小値ＡＬを代入し、ステップＳ４３へ戻る。
【０１３８】
（Ｓ４Ｂ）ＡＤＲの値を１だけデクリメントする。
【０１３９】
（Ｓ４Ｃ）ＡＤＲ≧ＡＨであればステップＳ４３へ戻り、そうでなけばステップＳ４Ｄへ進む。
【０１４０】
（Ｓ４Ｄ）ＡＤＲにアドレス範囲の最大値ＡＨを代入し、ステップＳ４３へ戻る。
【０１４１】
このようにして、テンポラリなコード変換テーブルＲＡＭ４１Ａの内容をランダムにかつ高速に決定することができる。
【０１４２】
コード逆変換テーブルＲＡＭ４１Ｂの内容は、ＣＣｍｉｎ≦Ｙ≦ＣＣｍａｘの各Ｙについて、コード逆変換テーブルＲＡＭ４１ＢのアドレスＹ−ＯＦＶ２に値Ｘを書き込むことにより得られる。
【０１４３】
図１３に戻って、テンポラル文字コード作成・復号装置２１Ａでは、図３のタイマー図３５、ＩＣメモリカードアダプタ２１３及びＩＣメモリカード３３を備えていない。アドレスマッピングテーブルＲＡＭ２１１ａ及び普通文字コードをテーブルＲＡＭ２１１ｃにデータを書き込む場合には、例えば装置２１Ａのメンテナンス会社のコンピュータ（不図示）と装置２１Ａとの間の相互認証後に、該コンピュータから電話回線を介して、図８のステップＳ２３のパスワードと、ＩＣメモリカード３３及び普通文字コードをテーブルＲＡＭ２１１ｃと同じ内容のデータとが、暗号化通信により装置２１Ｂへ送信され、通信インタフェース２１２で暗号が復号される。次いで、システム制御部３０Ａにより実施例１の場合と同様にしてアドレスマッピングテーブルＲＡＭ２１１ａ及び普通文字コード変換テーブルＲＡＭ２１１ｃにデータが書き込まれる。この書き込みは、クライアント１１から行うようにしてもよい。
【０１４４】
このようにすれば、データ書き込みが容易になるとともに、データ書き込みの際に装置２１Ａのハウジングを開く必要がないので、ハウジングを容易に開けない構造にすることができる。
【０１４５】
本実施例２では、秘密文字コードがテンポラリに変化するので、この文字コードを含むファイルを持ち出しても可読性がなく、不正者による秘密情報漏洩を技術的にかつより確実に防止することが可能となる。
【０１４６】
なお、図１２において、セキュリティをより高くするために、テンポラル文字コード作成・復号装置２１Ａ〜２ＮＡのそれぞれのテーブル作成部４０３で作成されるテーブルの内容が互いに異なるように、ランダム発生系列を定めるパラメータｐを異ならせるようにしてもよい。
【０１４７】
また、テンポラル文字コード作成・復号装置２１Ａは、サーバー１０から検索結果を受信した後、秘密文字コード列の各秘密コードをグリフイメージに変換し、該秘密文字コード列をテンポラル文字コード列に変換し、このテンポラル文字コード列及びこれと対応させたグリフイメージをクライアント１１に送信することにより、文字描画をより高速に行う構成であってもよい。この点は、以下の実施例においても同様である。
【実施例３】
【０１４８】
図１６は、図１３の装置２１Ａの代わりに用いられる本発明の実施例３に係るテンポラル文字コード作成・復号装置２１Ｂの概略構成を示すブロック図である。
【０１４９】
コード変換部４０１Ａ内では、図１４のコード変換テーブルＲＡＭ４１Ａの代わりに、図１７に示すコード変換テーブルＲＡＭ４１Ａ１、ＲＡＭ４１Ａ２及び切換スイッチ４１Ａ３が用いられる。
【０１５０】
コード変換テーブルＲＡＭ４１Ａ１を有効にして使用する場合には、切換スイッチ４１Ａ３をコード変換テーブルＲＡＭ４１Ａ１側に切り換える。この状態で、テーブル作成部４０３Ａは、空き時間において、次に使用するコード変換テーブルをＲＡＭ４１Ａ２内に作成する。コード変換テーブルＲＡＭ４１Ａ２を使用する場合には、切換スイッチ４１Ａ３をＲＡＭ４１Ａ２側に切り換える。
【０１５１】
このように、コード変換テーブルを交互に切り換えて利用することにより、図１６のテンポラル文字コード作成・復号装置２１Ｂの動作をより高速化することができる。図１６のコード逆変換部４０２Ａについてもコード変換部４０１Ａと同様である。
【０１５２】
他の点は上記実施例２と同一である。
【実施例４】
【０１５３】
秘密文字コードは普通文字コードと順番が異なるので、サーバー１０に対するクエリーに、検索結果をソートする句を含む場合、例えばＳＱＬ言語のＯＲＤＥＲ  ＢＹ句を含む場合、ユーザーが望むソートが行なわれない。
【０１５４】
サーバー１０側に普通文字コードと秘密文字コードとの関係を示す変換テーブルを備えれば、この問題を解決することができる。しかしながら、セキュリティをより確実にするには、サーバー１０側に上述の変換テーブル自爆機能を備える必要があり、この場合、変換テーブル自爆機能が働くと全ユーザーが利用できなくなる可能性が高くなる。
【０１５５】
そこで、本発明の実施例４では、図１６のテンポラル文字コード作成・復号装置２１Ｂの代わりに、図１８に示すテンポラル文字コード作成・復号装置２１Ｃを用いている。
【０１５６】
この装置では、システム制御部３０Ｂで受信した、例えば図１９に示すようなＩＤ付クエリー（ＱＩＤ００２はクエリーＩＤ）が、検索前処理部４０５へ供給される。検索前処理部４０５は、該クエリーにソート句（ＯＲＤＥＲ  ＢＹ句）が含まれるかどうかを判定し、含まれる場合には該クエリーをソート句とその他の部分に分割し、ソート句にも分割前のクエリーＩＤを付加する。ソート句が無い場合にはそれが、ソート句が有る場合にはこれを除いた部分が、クエリーＩＤとともにシステム制御部３０Ｂを介してサーバー１０へ送信される。ソート句は、システム制御部３０Ｂを介して検索後処理部４０６に供給される。
【０１５７】
サーバー１０は、ＩＤ付クエリーを実行し、その結果（サブセットテーブル）に、該ＩＤを付与する。
【０１５８】
システム制御部３０Ｂは、サーバー１０から検索結果を受信すると、これをワークメモリ４０４に格納し、検索後処理部４０６に処理を依頼する。検索後処理部４０６はこれに応答して、ソート句に付与されているクエリーＩＤと同一ＩＤが、検索結果に付与されているかどうか調べ、付与されていれば、
（１）該サブセットテーブルに含まれる秘密文字コードを普通文字コードに変換し、
（２）該変換後のサブセットテーブルに対しソート句を実行し、
（３）該実行後のサブセットテーブルの普通文字コードを秘密文字コードに変換し、
その結果をシステム制御部３０Ｂに供給し、該ＩＤ付ソート句を消去する。
【０１５９】
システム制御部３０Ｂはこの結果をコード変換部４０１Ａに供給して秘密文字コードをテンポラル文字コードに変換した後、クライアント１１に送信させる。
【０１６０】
本実施例４によれば、テンポラリな文字コードを用いても、検索結果に対しソートを実行することができる。
【０１６１】
なお、ソート句以外で、秘密文字コードに対して実行しても所望の結果が得られない句（例えばＢＥＴＷＥＥＮ句）を含むクエリーについては、システム制御部３０Ｂはこれを複数の他の句で表し、その各々をサーバー１０へ送信する。
【０１６２】
また、クライアントがサーバーから取得したサブセットテーブルを、任意のカラムに関してソートできるようにするために、図１８のワークメモリ４０４にもこのサブセットテーブルを、普通文字コードに変換して格納しておき、クライアント１１からテンポラル文字コード作成・復号装置２１Ｃへのソート要求に応答して、検索後処理部４０４でソートを実行し、その結果をクライアント１１へ送信し、見かけ上クライアント１１でソートを行ったようにしてもよい。
【０１６３】
実施例２において、サーバーで秘密文字コードを使用しなくてもテンポラリに文字コードが変化するので、サーバーで秘密文字コードを用いずに普通文字コードを用いることができる。この場合、サーバー側でソート等が行われるので、検索前処理部４０５は不要である。上記のようにクライアントがサーバーから取得したサブセットテーブルを任意のカラムに関してソートする場合、サーバーにこれを依頼してサーバー側で行うようにすれば、検索後処理部４０５も不要である。また、サーバーからの秘密文字列開始コード及び秘密文字列終了コードの替わりに文字列開始コード及び文字列終了コードを用いる。さらに、図１８の普通文字コード変換テーブル２１１ｃが不要であり、クライアント１１からのキー入力確定文字コードをコード変換部４０１Ａでテンポラル文字コードに変換してクライアント１１へ返せばよく、処理が高速になる。
【実施例５】
【０１６４】
図２０は、図１８のテンポラル文字コード作成・復号装置２１Ｃの代わりに用いられる、本発明の実施例５のコード変換・復号テーブル作成装置２１Ｄを示す概略ブロック図である。
【０１６５】
この装置では、テーブル作成部４０３Ａによりコード逆変換テーブルＲＡＭ４１Ｂの内容が更新される毎に、アドレスマッピングテーブル作成部２１１ｇにより、テンポラル文字コードＹとグリフアドレスＺの対応関係のアドレスマッピッグテーブルＲＡＭ（ＡＭＴ）が作成される。コード逆変換部４０２Ａの構成要素４１Ｂ及び４６Ｂは、このテーブル作成でも用いられ、図２０では理解を容易にするため、構成要素４１Ｂ及び４６Ｂと同一物がコード逆変換部４０２Ａの外部にも記載されている。
【０１６６】
アドレスマッピングテーブル作成部２１１ｇは、Ｃｍｉｎ≦Ｙ≦Ｃｍａｘの範囲の各テンポラル文字コードＹについて、アドレスマッピッグテーブルＲＡＭ（ＡＭＴ）のアドレス入力端及びコード逆変換テーブルＲＡＭ４１Ｂのアドレス入力端にそれぞれテンポラル文字コードＹ及びＹ−ＯＦＶ１を供給したときに、アドレスマッピッグテーブルＲＡＭ２１１ａのデータ出力端から読み出されるグリフアドレスＺをアドレスマッピッグテーブルＲＡＭ（ＡＭＴ）に書き込むことにより、テンポラル文字コードＹとグリフアドレスＺとの関係のテーブルを作成する。
【０１６７】
システム制御部３０Ｃは、アドレスマッピッグテーブルＲＡＭ（ＡＭＴ）の内容の更新が終了すると、この内容を、通信インタフェース２１２を介し図２１の通信インタフェース１１５へ送信させる。この内容は、クライアント１１Ａの記憶装置１１４Ａに格納されたプログラムに従ってＭＰＵ１１０により、アドレスマッピングテーブルＡＭＴ１又はＡＭＴ２として記憶装置１１４Ａに格納される。
【０１６８】
アドレスマッピングテーブルＡＭＴ１及びＡＭＴ２は、図１７と同様に、交互に切り換えて使用され、一方が使用中において他方が暇な時間に更新される。アドレスマッピングテーブルＡＭＴ１及びＡＭＴ２はいずれも、テンポラル文字コードＹがアドレスマッピングテーブルの行に対応しテンポラル文字コードＹに基づいてグリフアドレスＺを読み出すことができるテーブルファイルであってもよい。アドレスマッピングテーブルＡＭＴ１及びＡＭＴ２は、更新時に上書きされ、アプリケーションプログラム終了時に消去される。
【０１６９】
図１８のフォントＲＯＭ２１１ｂ及びビットマップ展開部２１１ｒの内容も記憶装置１１４Ａに格納されている。これらは、普通文字コードに対するものを用いてもよい。また、実施例１で述べた特殊なベクトルフォント及びビットマップ展開部を用いてもよい。グリフデータのビットマップ展開は、この記憶装置１１４Ａに格納されたビットマップ展開部（プログラム）に従ってＭＰＵ１１０により実行される。
【０１７０】
このようにしても、アドレスマッピングテーブルＡＭＴ１又はＡＭＴ２の内容からアドレスマッピッグテーブルＲＡＭ２１１ａの内容を知ることができないことと、アドレスマッピングテーブルＡＭＴ１及びＡＭＴ２がテンポラリに更新されることから、秘密文字コードを含むファイルを他のアプリケーションプログラムで閲覧しても解析できず意味不明のものとなり、不正者による秘密情報漏洩を技術的に防止することが可能となる。
【０１７１】
また、アドレスマッピッグテーブル及びビットマップ展開部をクライアント１１Ａの記憶装置１１４Ａに格納しているので、上記実施例２〜４よりも高速に処理することが可能となる。
【実施例６】
【０１７２】
時間軸上で秘密文字コードを変化させる上述のテンポラル文字コードを使用すればセキュリティが大幅に高くなるが、本発明の実施例６では、さらに空間軸上でも秘密文字コードを変化させることにより、さらにセキュリティを高めている。
【０１７３】
図２２は、図１４中のコード変換部４０１の替わりに用いられる、本発明の実施例６のコード変換部４０１Ｂの概略構成を示すブロック図である。
【０１７４】
コード変換部４０１Ｂは、サーバー１０からの検索結果であるサブセットテーブルをカラム単位（フィールド単位）又は複数カラム単位（複数フィールド単位）で異なる変換テーブルを用い、秘密文字コードを上述のようにテンポラル文字コードに変換して、クライアント１１へ送信する。
【０１７５】
図２２中、切換スイッチ制御部４２４３Ａは、図１４の判断部４２Ａと４２Ｂとで構成されている。
【０１７６】
コード変換テーブルＲＡＭ４１Ｃには、互いに異なる変換テーブル１Ａ〜６Ａがそれぞれ例えば図１５の手順に従って作成されている。変換テーブルｉＡ（ｉ＝１〜６）のアドレス範囲はＣｍａｘ−ＯＦＶ１ｉ〜Ｃｍｉｎ−ＯＦＶ１ｉであり、ｉ＝１〜６についてアドレス範囲が互いに重ならないように正又は負のオフセット値ＯＦＶ１ｉが定められている。オフセット値テーブル４７Ａは、入力値ｉに応答してオフセット値ＯＦＶｉを加減算部４６Ａに供給する。使用テーブル決定部４８Ａは例えば、入力データがサブセットテーブルの第ｉカラムであるとき値ｉを出力してオフセット値テーブル４７Ａに供給する。
【０１７７】
従って、検索結果のレコードの第ｉカラムのデータが秘密文字開始コード／Ｓを含めば、その次の秘密文字コードから秘密文字終了コード／Ｅの前の秘密文字コードまで順次、秘密文字コードＸが変換テーブルｉＡでテンポラル文字コードＹに変換され、開始コード／Ｓ及び終了コード／Ｅを含むその他のデータはスルーでコード逆変換部４０２を通過する。
【０１７８】
例えば図２４に示すように、検索結果のレコードが３フィールドで構成され、秘密文字コードを含む
”／ＳｅＹＫｗＰＺ３ｂ／Ｅ”，”／Ｓ８ＪｕＧｍｗ５ｗ／Ｅ”，”／ＳｈＤＫ９＠ｑ７￥／Ｅ”
であった場合、これら３フィールドの秘密文字コード列がそれぞれ変換テーブル１Ａ〜３Ａで変換されて、テンポラル文字コードを含むレコード”／Ｓ６ＫＨｕＯ９ｗＫ／Ｅ”，”／ＳＪＶＢｗ；ｓＬｐ／Ｅ”，”／Ｓ＊Ｍｖ０ｑ−ｉＳ／Ｅ”に変換される。
【０１７９】
図２３は、図１４中のコード逆変換部４０２の替わりに用いられるコード逆変換部４０２Ｂの概略構成を示すブロック図である。
【０１８０】
構成要素４２４３Ｂ、ＲＡＭ４１Ｄ及び４６Ｂ〜４８Ｂはそれぞれ、図２２の構成要素４２４３Ａ、４１Ｃ及び４６Ａ〜４８Ａに対応している。コード逆変換部４０２Ｂは、アプリケーションプログラムで作成された新規登録カード又は更新登録カードのレコードをクライアント１１から受信すると、フィールド単位又は複数フィールド単位で、対応する逆変換テーブルを用いテンポラル文字コードを上述のように秘密文字コードに逆変換して、サーバー１０へ送信する。
【０１８１】
例えば図２５に示すように、アプリケーションプログラムで作成された新規登録カード又は更新登録カードのレコードが３フィールドで構成され、テンポラル文字コードを含む
”／Ｓ６ＫＨｕＯ９ｗＫ／Ｅ”，”／ＳＪＶＢｗ；ｓＬｐ／Ｅ”，”／Ｓ＊Ｍｖ０ｑ−ｉＳ／Ｅ”
であった場合、これら３フィールドのテンポラル文字コード列がそれぞれ逆変換テーブル１Ｂ〜３Ｂで変換されて、秘密文字コードを含むレコード
”／ＳｅＹＫｗＰＺ３ｂ／Ｅ”，”／Ｓ８ＪｕＧｍｗ５ｗ／Ｅ”，”／ＳｈＤＫ９＠ｑ７￥／Ｅ”
に変換される。
【０１８２】
図６の各テキストボックスはその属性として、サブセットテーブルのカラム番号を有し、上述のキー入力における文字コード変換及びテキストボックスに対するＰＲＩＮＴサブルーチン実行については、このカラム番号を付加してコード変換・復号テーブル作成装置へデータ送信する。これにより、データがレコード形式でなくても、図２３において正しい逆変換テーブルを選択することができる。
【０１８３】
なお、レコード毎に秘密文字開始コード／Ｓをカウントして値ｉを決定し、１レコード毎にｉをゼロクリアする構成であってもよい。
【０１８４】
また、ヒット件数が所定数を越える場合、所定件数単位でグループＩＤを付与することにより、グループ毎に異なる変換テーブル及びこれに対応した逆変換テーブルを用いることができる。このようにすれば、大量の検索結果をクライアント１１に送信しても、セキュリティを高く維持することが可能となる。
【０１８５】
また、サーバー１０のデータベースについて、カラム毎に異なる秘密文字コードを用い、これに対応して図１６のテーブルＲＡＭ２１１ａ及び２１１ｃの各々のテーブルを複数のテーブルで構成し、該カラム毎に異なる秘密文字コードを該複数のテーブルとともに、空き時間に更新する構成であってもよい。
【０１８６】
さらに、本実施例６を実施例３〜５のいずれかと組み合わせた構成であってもよい。
【実施例７】
【０１８７】
図２６は、本発明の実施例７のコンピュータネットワークシステムを示す概略ブロック図である。
【０１８８】
このシステムでは、図１の秘密文字コード復号装置２１〜２Ｎの代わりに、１つの秘密文字コード復号装置２０を用い、秘密文字コード復号装置２０とクライアント１１〜１Ｎとの間でデータをパケット転送している。秘密文字コード復号装置２０は、図３の秘密文字コード復号装置２１と同様であり、照合データＲＯＭ２１１ｄにクライアント１１〜１Ｎのすべての照合データが格納され、認証部図３５により任意のクライアントとの間で相互認証を行なうことが可能となっている。
【実施例８】
【０１８９】
図２７は、本発明の実施例８のコンピュータネットワークシステムを示す概略ブロック図である。
【０１９０】
このシステムでは、図１２のテンポラル文字コード作成・復号装置２１Ａ〜２ＮＡの代わりに、１つのテンポラル文字コード作成・復号装置２０Ａを用い、テンポラル文字コード作成・復号装置２０Ａとクライアント１１〜１Ｎとの間及びテンポラル文字コード作成・復号装置２０Ａとサーバー１０との間でデータをパケット転送している。
【０１９１】
テンポラル文字コード作成・復号装置２０Ａは、図１３のテンポラル文字コード作成・復号装置２１Ａと同様であり、図１６の照合データＲＯＭ２１１ｄにクライアント１１〜１Ｎのすべての照合データが格納され、認証部図３５により任意のクライアントとの間で相互認証を行なうことが可能となっている。
【０１９２】
クライアント毎にテンポラル文字コードを切り換えるタイミングが異なるので、テンポラル文字コード作成・復号装置２０Ａは、テンポラル文字コードの種類にＩＤを付与しておき、どのクライアントがどのＩＤのテンポラル文字コードを使用しているかを記憶しておく。これにより、テンポラル文字コード作成・復号装置２０Ａはどの変換テーブル／逆変換テーブルを使用すればよいかがわかる。
【実施例９】
【０１９３】
図２８は、本発明の実施例９のコンピュータネットワークシステムを示す概略ブロック図である。
【０１９４】
このシステムでは図２７のテンポラル文字コード作成・復号装置２０Ａをサーバー１０内に配置することにより、図２７の場合よりもセキュリティを物理的に高くしている。
【０１９５】
この場合、サーバー１０とテンポラル文字コード作成・復号装置２０Ａとの間を通信ケーブルを介さずに直接バスで接続してもよい。また、テンポラル文字コード作成・復号装置２０Ａのハードウエア構成を省略し、サーバー１０のプログラムによりテンポラル文字コード作成・復号装置２０Ａの機能を達成してもよい。
【実施例１０】
【０１９６】
図２９は、本発明の実施例１０のコンピュータネットワークシステムを示す概略ブロック図である。
【０１９７】
このシステムでは、サーバー１０を、Ｗｅｂアプリケーションサーバー１０Ａとデータベースサーバー１０Ｂとに別けて構成し、Ｗｅｂアプリケーションサーバー１０Ａ内にテンポラル文字コード作成・復号装置２０Ａを配置し又はＷｅｂアプリケーションサーバー１０Ａのプログラムによりテンポラル文字コード作成・復号装置２０Ａの機能を達成している。
【０１９８】
なお、テンポラル文字コード作成・復号装置２０ＡをＷｅｂアプリケーションサーバー１０Ａとデータベースサーバー１０Ｂとの間又はデータベースサーバー１０Ｂ内に配置してもよいことは勿論である。また、テンポラル文字コード作成・復号装置２０Ａをデータベースサーバー１０Ｂ内に配置する替わりに、プログラムによりテンポラル文字コード作成・復号装置２０Ａの機能を達成してもよい。
【実施例１１】
【０１９９】
図３０は、本発明の実施例１１のコンピュータネットワークシステムを示す概略ブロック図である。図３１は、図３０中のデータベースサーバー、認証サーバー及びフォントサーバーの概略機能ブロック図である。
【０２００】
社内ＬＡＮ５０では、データベースサーバー１０ＢにＮ台のクライアント１１〜１Ｎが結合され、これらがファイアウォール５１を介してインターネット５２に結合されている。一方、管理センター６０のフォントサーバー１０Ｃ及び認証サーバー１０Ｄがファイアウォール６１を介してインターネット５２に結合されている。管理センター６０は、例えば本システムのメンテナンス業者が管理する。
【０２０１】
インターネット５２を介したデータの送受は、公知の暗号化技術を用いたセキュリティプロトコルに従って行われる。
【０２０２】
このシステムでは、図２８に示すテンポラル文字コード作成・復号装置２０Ａを文字コード変換／逆変換機能と文字復号機能と認証機能の３つに分け、これらの機能をそれぞれデータベースサーバー１０Ｂ、フォントサーバー１０Ｃ及び認証サーバー１０Ｄで果たしている。
【０２０３】
データベースサーバー１０Ｂは、不図示のデータベースと、これとシステム制御部３０１との間に結合される不図示のデータベース管理システム（ＤＢＭＳ）とを備えている。システム制御部３０１は、ＤＢＭＳからの検索結果をコード変換部４０１Ａに供給して上述のように秘密文字コードをテンポラル文字コードに変換し、これを通信インタフェース２１２１を介して送信する。システム制御部３０１は、通信インタフェース２１２１からの更新データ又は登録データを、コード逆変換部４０２Ａに供給して上述のようにテンポラル文字コードを秘密文字コードに変換し、これをＤＢＭＳに供給する。
【０２０４】
システム制御部３０１、コード変換部４０１Ａ及びコード逆変換部４０２Ａは、ハードウェアで構成してもソフトウエアで構成してもよく、また、これらをコード変換／逆変換装置として通信インタフェース２１２１とファイアウォール５１との間に結合してもよい。
【０２０５】
認証サーバー１０Ｄでは、クライアント１１〜１Ｎ、データベースサーバー１０Ｂ及びフォントサーバーＣを確認する上述の情報、並びに、クライアント１１〜１Ｎに格納され該システムの利用が許可されたアプリケーションプログラムの情報が、照合データ記憶部２１１Ｄに登録されている。相手方へのリクエストの送信はリクエスト元及びリクエスト先を指定して必ず認証サーバー１０Ｄを介し行い、これにより相互認証が行われる。このため、リクエストに対する応答は、認証サーバー１０Ｄを介さずに直接行う。
【０２０６】
例えば、クライアント１１のアプリケーションプログラムがデータベースサーバー１０Ｂへリクエストする場合、認証サーバー１０Ｄに対し、リクエスト元及びリクエスト先を指定し（ＩＰｖ６の場合にはＩＰアドレスで指定することができる。）、リクエストの内容を送信する。
【０２０７】
認証サーバー１０Ｄでは、システム制御部３０２が認証部３１Ａにリクエスト元及びリクエスト先を知らせ、認証部３１Ａは、照合データ記憶部２１１Ｄの内容を参照して、リクエスト元及びリクエスト先が登録されているものであるかどうか確認する。リクエスト元及びリクエスト先が登録されたものであると認証部３１Ａが判断すると、システム制御部３０２は、リクエストの内容をリクエスト先へ送信する。データベースサーバー１０Ｂは、該リクエストに応じた処理を行い、その結果をリクエスト元のクライアントに送信する。
【０２０８】
クライアント１１のアプリケーションプログラムがフォントサーバー１０Ｃへ文字復号又はキー入力確定文字の文字コード変換をリクエストする場合も同様である。
【０２０９】
クライアントから認証サーバーを介して、テンポラル文字コード列を伴った復号要求がフォントサーバー１０Ｃへ送信されると、システム制御部３０３は、これに応答して、テンポラル文字コード列の各テンポラル文字コードについて、次のようにする。すなわち、テンポラル文字コードに対応したコード逆変換テーブル記憶部４１Ｂ１内の位置（テーブルの行）から秘密文字コードを読み出させ、この秘密文字コードに対応したアドレスマッピングテーブル記憶部２１１Ａ内の位置からグリフデータ格納位置を読み出させ、フォント記憶部２１１Ｂ内のこの格納位置からグリフデータを読み出させる。次いでシステム制御部３０３は、テンポラル文字コード列に対応したグリフデータ列を、復号要求元のクライアントに送信する。
【０２１０】
クライアント１１のアプリケーションプログラムが認証サーバー１０Ｄを介しフォントサーバー１０Ｃへキー入力確定文字の文字コード変換をリクエストすると、システム制御部３０３は、その普通文字コードに対応した変換テーブル記憶部２１１Ｃ内の位置から秘密文字コードを読み出させ、さらにこの秘密文字コードに対応したコード変換テーブル記憶部４１Ａ１内の位置からテンポラル文字コードを読み出させ、これをクライアント１１に送信する。
【０２１１】
次に、複数のクライアントに対するデータベースサーバー１０Ｂ及びフォントサーバー１０Ｃでのコード変換／逆変換テーブルの使用について説明する。
【０２１２】
データベースサーバー１０Ｂのコード変換部４０１Ａは、複数のコード変換テーブルを備え、コード逆変換部４０２Ａは、これらに対応した複数のコード逆変換テーブルを備えている。
【０２１３】
フォントサーバー１０Ｃでは、テーブル作成部４０３Ａがコード変換テーブルとコード逆変換テーブルとの組を、空き時間において、未使用のコード変換テーブルの数が設定した最大値になるまで作成する。システム制御部３０１は、該複数のコード変換テーブルのうち未使用のコード変換テーブルの数が所定数以下になると、認証サーバー１０Ｄを介しフォントサーバー１０Ｃへテーブル送信を要求する。システム制御部３０３はこの送信要求に応答して、テーブル作成部４０３を介しコード変換テーブルとコード逆変換テーブルとの組のコピーを取得し、データベースサーバー１０Ｂへ送信する。
【０２１４】
サーバー１０Ｂ及び１０Ｃにおけるコード変換テーブルとコード逆変換テーブルとの組には、テーブルＩＤ（ＴＩＤ）が付与されている。システム制御部３０１は、アプリケーションプログラムに対しコード変換テーブルとコード逆変換テーブルとの組の使用を開始する毎に、該アプリケーションプログラムのＩＤ（ＡＩＤ）をＴＩＤに対応付ける。すなわち、ＡＩＤとＴＩＤの対応付けのテーブル５３がシステム制御部３０１により管理される。
【０２１５】
システム制御部３０１はＡＩＤ／ＴＩＤテーブル５３を参照することにより、クライアントによる検索要求後の更新又は登録要求において、使用すべき逆変換テーブルを決定する。
【０２１６】
フォントサーバー１０Ｃも、ＡＩＤ／ＴＩＤテーブル５３と同期を取ったテーブル６３を備えている。すなわち、システム制御部３０１がＡＩＤ／ＴＩＤテーブル５３の内容を変更する毎に、この変更が認証サーバー１０Ｄを介してシステム制御部３０３に伝えられ、システム制御部３０３によりＡＩＤ／ＴＩＤテーブル６３の内容も同様に変更される。
【０２１７】
システム制御部３０３はＡＩＤ／ＴＩＤテーブル６３を参照することにより、クライアントからの復号要求に対し、使用すべき逆変換テーブルを決定する。
【０２１８】
このような構成により、上記実施例２で行われた処理と実質的に同じ処理が行われる。上述の複数テーブルの使用に関しては、上述の図２７〜図２９の実施例についても同様である。
【０２１９】
本実施例１１によれば、フォントサーバー１０Ｃ及び認証サーバー１０Ｄを管理センター６０に配置しているので、１つの管理センター６０を複数の社内ＬＡＮ５０に結合することにより、機密データであるアドレスマッピングテーブル、普通文字コード変換テーブル及び認証用照合データを効率的、集中的に監視することができるとともに、本システムを利用する企業の秘密情報管理負担を軽減することができる。
【０２２０】
なお、認証サーバー１０Ｄによる認証方法については、公知の方法を用いてもよい。
【０２２１】
乱数を用いてコード逆変換テーブルを作成する場合には、乱数発生系列を定めるパラメータ値又はこれに関係した値をフォントサーバー１０Ｃからデータベースサーバー１０Ｂへ送信することにより、フォントサーバー１０Ｃで作成されるコード逆変換テーブルと同じテーブルをデータベースサーバー１０Ｂで作成し、さらにコード逆変換テーブルに基づいてコード変換テーブルを作成してもよい。
【０２２２】
また、コード逆変換部４０２Ａをデータベースサーバー１０Ｂに備えずに、フォントサーバー１０Ｃのみに備え、フォントサーバー１０Ｃのこれを介してデータベースサーバー１０Ｂに登録又は更新をリクエストする構成であってもよい。逆に、コード逆変換記憶部４１Ｂ１をフォントサーバー１０Ｃに備えずに、データーベースサーバー１０Ｂのコード逆変換部４０２Ａを介してフォントサーバー１０Ｃに復号要求する構成であってもよい。
【０２２３】
さらに、フォントサーバー１０Ｃ及び認証サーバー１０Ｄを、社内の管理センター６０に配置し、社内ＬＡＮ５０に結合した構成であってもよい。
【０２２４】
また、フォントサーバー１０Ｃと認証サーバー１０Ｄとを１つのコンピュータで構成してもよいことは勿論である。
【０２２５】
ＴＩＤとＡＩＤの対応付けはテーブルの形でなくてもよい。例えば、各変換テーブルにそのＴＩＤとＡＩＤとを属性として付加してもよい。また、ＡＩＤの替わりにクライアントを識別するＩＤを用いてもよい。
【実施例１２】
【０２２６】
図３２は、本発明の実施例１２のコンピュータネットワークシステムを示す概略ブロック図である。
【０２２７】
この実施例では、図２７のサーバー１０として、秘密文字コードを使用せずに普通文字コードを使用するアプリケーションサーバー１０Ｅ及びファイルサーバー１０Ｆを用いている。また、アプリケーションサーバー１０Ｅ及びファイルサーバー１０Ｆはいずれも、直接クライアントと通信することが禁止されており、必ずテンポラル文字コード作成・復号装置２０Ａを介してクライアントと通信する。
【０２２８】
以下、本システムの２つの適用例について説明する。
【０２２９】
（１）ソースコードプログラム漏洩防止
クライアントとサーバーとは、社内ＬＡＮに結合されている。
【０２３０】
ファイルサーバー１０Ｆには、プログラムのソースコードファイルが格納される。このソースコードファイルは、テンポラル文字コード作成・復号装置２０Ａを介して普通文字コードがテンポラル文字コードに変換され、クライアントに送信される。
【０２３１】
プログラマーがソースコードを作成し又は修正してファイルサーバー１０Ｆ側へ送信すると、テンポラル文字コード作成・復号装置２０Ａでテンポラル文字コードが普通文字コードに逆変換された後、ファイルサーバー１０Ｆに格納される。
【０２３２】
プログラマーがキー入力によりソースコードを作成している時、文字入力が確定する毎に、実施例１で述べたように普通文字コードが秘密文字コード（本実施例ではテンポラル文字コード）に変換される。
【０２３３】
テンポラル文字コード変更のタイミングは、プログラマーがソースコードの作成を開始し又はファイルサーバー１０Ｆからソースコードファイルを読み出す際である。
【０２３４】
アプリケーションサーバー１０Ｅには、コンパイラ及びデバッガが登録されている。アプリケーションサーバー１０Ｅは、クライアントの要求に応じて、ファイルサーバー１０Ｆ内のソースコードファイルを読み出しコンパイル又はデバッグを行い、その結果をクライアントに返す。コンパイルされたバイナリファイルはテンポラル文字コード作成・復号装置２０Ａで変換されないので、クライアントにおいてこのバイナリファイルを実行させることができる。
【０２３５】
このようなシステムによれば、ソースコードプログラムにテンポラル文字コードが使用されるので、ファイルサーバー１０Ｆからソースコードファイルを読み出す毎に文字コードが変化し、ソースコードプログラムを社外に持ち出すことが実質的に防止される。
【０２３６】
（２）ワープロソフト等の文書ファイル等漏洩防止
クライアントとサーバーとは、社内ＬＡＮに結合されている。
【０２３７】
アプリケーションサーバー１０Ｅには、事務で使用されるワープロソフトや表計算ソフト等が登録されている。ファイルサーバー１０Ｆには、これらのソフトで処理される、普通文字コード（ワープロソフト等で普通に用いられている文字コード）を用いた文書ファイル等が格納される。文書ファイル等内の文字コード列には、上述の文字コード開始コード及び文字コード終了コードが実質的に付加されている。実質的にとは、例えば修飾開始コードが文字コード終了コードを兼ねている場合などを含む意味である。
【０２３８】
文書ファイル等は、テンポラル文字コード作成・復号装置２０Ａを介して普通文字コードがテンポラル文字コードに変換され、クライアントに送信される。操作者が文書ファイル等を作成し又は修正してファイルサーバー１０Ｆ側へ送信すると、テンポラル文字コード作成・復号装置２０Ａでテンポラル文字コードが普通文字コードに逆変換された後、ファイルサーバー１０Ｆに格納される。文字入力については上記（１）と同様である。テンポラル文字コード変更のタイミングは、操作者が文書ファイル等を開く際である。
【０２３９】
このようなシステムによれば、文書ファイル等にテンポラル文字コードが使用されるので、ファイルサーバー１０Ｆから文書ファイル等を読み出す毎に文字コードが変化し、ソースコードプログラムを社外に持ち出すことが実質的に防止される。
【実施例１３】
【０２４０】
図３３は、本発明の実施例１３のコンピュータネットワークシステムを示す概略ブロック図である。図３４は、図３３中のＷｅｂアプリケーションサーバー、認証サーバー及びフォントサーバーの概略機能ブロック図である。
【０２４１】
このシステムは、電子出版物漏洩防止（著作権保護）を目的としたものである。
【０２４２】
クライアント１１〜１Ｎと出版社５０Ａのサーバーとは、インターネット５２を介して結合されている。インターネット５２には、管理センター６０Ａのサーバーが接続され、これは図３０の管理センター６０と類似している。
【０２４３】
出版社５０Ａでは、Ｗｅｂアプリケーションサーバー１０Ｅ１にファイルサーバー１０Ｆが結合され、Ｗｅｂアプリケーションサーバー１０Ｅ１がファイアウォール５１を介してインターネット５２に結合されている。
【０２４４】
ファイルサーバー１０Ｆには、百科事典、小説、漫画、定期刊行物等の著作物が電子ファイルとして格納されている。各著作物は、普通文字コードが用いられている。その文字コード列には、上述の文字コード開始コード及び文字コード終了コードが実質的に付加されている。
【０２４５】
Ｗｅｂアプリケーションサーバー１０Ｅ１は、有料又は無料で認証サーバー１０Ｄ１に予め登録されたユーザーのクライアントからの閲覧要求に応じて、その著作物の該当ページをＨＴＭＬファイル又はＸＭＬファイルに変換し、システム制御部３０１Ａに供給する。システム制御部３０１Ａは、このファイル中の本体部をコード変換部４０１Ａへ供給する。コード変換部４０１Ａは”＞”のコードを開始コードとし”＜”のコードを終了コードとし、開始コードと終了コードとの間の普通文字コードをテンポラル文字コードに変換し、その他の部分は変換せずそのままとし、システム制御部３０１Ａに返す。システム制御部３０１Ａはこれをリクエスト元のクライアントのブラウザに、通信インタフェース２１２１を介して送信する。
【０２４６】
実施例１で述べた、ブラウザに対するプラグイン機能により、テンポラル文字コードが実施例１１と同様に認証サーバー１０Ｄ１を介してフォントサーバー１０Ｃ１に送信される。フォントサーバー１０Ｃ１はそのグリフデータをクライアントに送信する。該プラグイン機能によりグリフイメージがブラウザのウインドウ内の該当個所に描画される。
【０２４７】
認証サーバー１０Ｄ１は、ユーザー登録・変更・抹消部６４において新規ユーザーの登録、登録内容の変更、登録の抹消処理を照合データ記憶部２１１Ｄに対して行う。新規ユーザーに対しシステム制御部３０２は、上記プラグインモジュール６５を送信する。
【０２４８】
Ｗｅｂアプリケーションサーバー１０Ｅ１にはコード逆変換部を備える必要が無く、フォントサーバー１０Ｃ１には普通文字コード変換記憶部を備える必要が無い点で図３１と異なる。他の点は、実施例１１と同一である。
【０２４９】
このようなシステムによれば、テンポラル文字コードが使用されるので、ファイルサーバー１０Ｆから著作物を読み出す毎に文字コードが変化し、例え正規の登録ユーザーであっても、電子出版物の外部持ち出しが実質的に防止される。これにより出版社は、躊躇すること無く、インターネットを介して電子出版物を閲覧に供することが可能となる。
【実施例１４】
【０２５０】
以上の実施例では文字コードを変換／逆変換するので、数値を秘密化する場合には数値を文字の形式にする必要がある。見積書や請求書は、数値が秘密情報である。既存のデータを変更することなく、かつ、既存のアプリケーションプログラムを少し変更するだけで数値を秘密化することができれば、本発明の利用範囲が広くなる。
【０２５１】
そこで、本実施例１４では、バイナリコード（数値コード）についても同様に変換／逆変換することにより、情報漏洩を防止する。
【０２５２】
図３５は本発明の実施例１４の説明図であって、（Ａ）はバイナリコード変換説明図、（Ｂ）はバイナリコード逆変換説明図である。図３６は実施例１４のテンポラルバイナリコード作成・復号装置２１Ｅを示す概略ブロック図である。
【０２５３】
バイナリコードが３２ビットの整数である場合について考える。３２ビット単位で一意の整数に変換すると、変換テーブルサイズが大きくなり過ぎるので、図３５（Ａ）に示すように、整数のバイナリコード７０を８ビット×４列に分割し、それぞれ８ビット変換テーブル７１０〜７１３で一意の数値に変換して、テンポラルバイナリコード７２にする。変換テーブル７１を構成する８ビット変換テーブル７１０〜７１３は、互いに同一でも異なるものでもよい。
【０２５４】
図３６において、システム制御部３０Ｄは、サーバー１０からのデータに含まれるバイナリコード７０を、コード変換部４０１Ｃに供給してテンポラルバイナリコード７２にし、テンポラルバイナリコード７２を含むデータを通信インタフェース２１２を介しクライアント１１に送信する。
【０２５５】
クライアント１１でテンポラルバイナリコード７２を表示する場合、テンポラルバイナリコード作成・復号装置２１Ｅにテンポラルバイナリコード７２を送信する。システム制御部３０Ｄはこれに応答して、テンポラルバイナリコード７２をコード逆変換部４０２Ｃに供給する。コード逆変換部４０２Ｃは図３５（Ｂ）に示すように８ビット逆変換テーブル７３０〜７８３からなる逆変換テーブル７３を備え、これでテンポラルバイナリコード７２を普通バイナリコード７０に戻す。
【０２５６】
システム制御部３０Ｄは、この普通バイナリコード７０を１０進数コード変換部２１１ｐに供給して１０進数コードに変換させる。１０進数コードの各桁は、順次文字コード変換部２１１ｑに供給されて普通文字コードに変換され、普通文字コードがアドレスマッピングテーブルＲＡＭ２１１ａに供給されて、対応するグリフデータのアドレスに変換され、これに基づいてフォントＲＯＭ２１１ｂからグリフデータが読み出され、さらにこれがビットマップ展開部に供給されてラスタライズされ、システム制御部３０Ｄを介してクライアント１１へ送信される。
【０２５７】
クライアント１１はこれに応答して、テンポラルバイナリコード７２に対応した整数を描画させる。
【０２５８】
浮動小数点数についても同様である。本発明の他の点は、例えば実施例１２と同一である。
【０２５９】
なお、図３６のコード逆変換部４０２Ｃと１０進数コード変換部２１１ｐと文字コード変換部２１１ｑとアドレスマッピングテーブルＲＡＭ２１１ａの内容を文字描画部としてこれを装置２１からクライアント１１の記憶部へ送信し格納させ、これらとクライアント１１のＯＳに属するフォントとビットマップ展開部とでクライアント１１において復号し、文字描画部をテンポラルに更新する構成であってもよい。また、用途に応じ、１０進数コード変換部の替わりに８進数コード変換部又は１６進数変換部等のＮ進数変換部を用いた構成であってもよい。
【０２６０】
本発明には、外にも種々の変形例が含まれる。
【０２６１】
例えば、上記実施例の組み合わせも本発明に含まれる。すなわち、例えば１６ビットの文字コードを図３５に示すように８ビット単位で変換／逆変換する構成であってもよい。また、図１において、サーバー１０に、図２８のテンポラル文字コード作成・復号装置２０Ａの復号機能以外を備え、復号のためのテーブルをクライアント１１〜１Ｎを介しそれぞれ復号装置２１〜２Ｎに送信し、テンポラル文字コードを復号装置２１〜２Ｎで復号する構成であってもよい。フォントはＲＯＭではなくハードディスク等の外部記憶装置に格納されたものであってもよいことは勿論である。テーブルＲＡＭについても同様である。
【０２６２】
特に実施例１〜６のようにクライアント毎に復号部等を備える場合には、照合データを書き換え可能にし、認証部が不正と判定した場合には、照合データ（認証用データ）も書き換え又は消去するようにしてもよい。
【０２６３】
データベースサーバーにおいては、リクエストに応じてデータベースからデータを選択的に取り出した後（普通文字コードのカラムについて並び替え等を行う場合にはさらに並び替えを行った後）に、上述のように文字コードをテンポラルコードに変換することができる。したがって、システム管理者であってもテンポラル文字コードしか扱えないようにしておけば、データベースに秘密文字コードを用いる必要がなく、構成が簡単になる。この場合、実施例４で述べた検索前処理及び検索後処理を行う必要が無くなる。
【０２６４】
また、ユーザーのパスワードや、ヒット件数制限などのモードの選択に応じて、普通文字コードを使用できるように構成してもよい。この構成は、図２２において、変換テーブルで文字コードを普通文字コードに変換（普通文字コードを普通文字コードに変換する場合を含む）すればよい。この場合、テーブルカラム単位で普通文字コードに変換するかどうかを定めることができる。これにより、例えば住所、氏名及び郵便番号のみ普通文字コードを使用して、通常の印刷プログラムで宛名シール等を印刷することができ、利便性とセキュリティ確保の両方を実現することが可能となる。
【０２６５】
また、ヒット件数制限を緩和するとともに、テンポラル文字コードに変換するテーブルの更新をより頻繁に行うようにする構成であってもよい。
【０２６６】
上述のサーバー及び特定のクライアントをそれぞれクライアント及びサーバーとして構成することにより、クライアントにおいて普通文字コードのデータを作成しこれを秘密文字コードに変換してサーバーのデータベースに格納する場合にも本発明を適用することができる。
【０２６７】
以上の説明から明らかなように、本発明は柔軟性に富んでいるので、その適用範囲は広く、多くの利用者の要求に応えることができ、ネットワーク産業の発達に寄与するところが大きい。
【図面の簡単な説明】
【０２６８】
【図１】本発明の実施例１のコンピュータネットワークシステムを示す概略ブロック図である。
【図２】図１中のクライアントと秘密文字コード復号装置のハードウエア概略構成を示すブロック図である。
【図３】図２の秘密文字コード復号装置の機能ブロック図である。
【図４】クライアントコンピュータでアプリケーションプログラムを起動した時の処理を示す概略フローチャートである。
【図５】図４のステップＳ９においてクライアントのアプリケーションプログラムにより表示される検索画面である。
【図６】検索結果の画面を示す図である。
【図７】画面上に文字を描画するためのＰＲＩＮＴサブルーチン実行手順を示すフローチャートである。
【図８】図３の秘密文字コード復号装置の電源オン時に、システム制御部により実行される手順を示すフローチャートである。
【図９】図３のＩＣメモリカードからアドレスマッピッグテーブルＲＡＭへのランダムな書き込み処理手順を示すフローチャートである。
【図１０】図９の処理説明図である。
【図１１】グリフデータのアドレスマップ説明図である。
【図１２】本発明の実施例２のコンピュータネットワークシステムを示す概略ブロック図である。
【図１３】図１２中のテンポラル文字コード作成・復号装置の概略構成を示すブロック図である。
【図１４】図１３中のコード変換・逆変換部の、一部を機能的に示す概略構成ブロック図である。
【図１５】図１４中のコード変換テーブルＲＡＭの内容をテーブル作成部でランダムかつ高速に更新するための方法を示すフローチャートである。
【図１６】本発明の実施例３に係るテンポラル文字コード作成・復号装置の概略構成を示すブロック図である。
【図１７】交互に切り換えられるコード変換テーブルＲＡＭを示すブロック図である。
【図１８】本発明の実施例４に係るテンポラル文字コード作成・復号装置の概略構成を示すブロック図である。
【図１９】図１８中の検索前処理部及び後処理部での処理説明図である。
【図２０】本発明の実施例５のコード変換・復号テーブル作成装置を示す概略ブロック図である。
【図２１】図２０のアドレスマッピッグテーブルＲＡＭの内容が２回、それぞれＡＭＴ１及びＡＭＴ２としてクライアントの記憶装置に格納された状態を示すブロック図である。
【図２２】本発明の実施例６のコード変換部の概略構成を示すブロック図である。
【図２３】本発明の実施例６のコード逆変換部の概略構成を示すブロック図である。
【図２４】図２２のコード変換部による処理の説明図である。
【図２５】図２３のコード逆変換部による処理の説明図である。
【図２６】本発明の実施例７のコンピュータネットワークシステムを示す概略ブロック図である。
【図２７】本発明の実施例８のコンピュータネットワークシステムを示す概略ブロック図である。
【図２８】本発明の実施例９のコンピュータネットワークシステムを示す概略ブロック図である。
【図２９】本発明の実施例１０のコンピュータネットワークシステムを示す概略ブロック図である。
【図３０】本発明の実施例１１のコンピュータネットワークシステムを示す概略ブロック図である。
【図３１】図３０中のデータベースサーバー、認証サーバー及びフォントサーバーの概略機能ブロック図である。
【図３２】本発明の実施例１２のコンピュータネットワークシステムを示す概略ブロック図である。
【図３３】本発明の実施例１３のコンピュータネットワークシステムを示す概略ブロック図である。
【図３４】図３３中のＷｅｂアプリケーションサーバー、認証サーバー及びフォントサーバーの概略機能ブロック図である。
【図３５】本発明の実施例１４の説明図であって、（Ａ）はバイナリコード変換説明図、（Ｂ）はバイナリコード逆変換説明図である。
【図３６】本発明の実施例１４のテンポラルバイナリコード作成・復号装置を示す概略ブロック図である。
【符号の説明】
【０２６９】
１０  サーバー
１０Ａ  Ｗｅｂアプリケーションサーバー
１０Ｂ  データベースサーバー
１０Ｃ  フォントサーバー
１０Ｄ  認証サーバー
１０Ｅ  アプリケーションサーバー
１０Ｆ  ファイルサーバー
１１〜１Ｎ、１１Ａ〜１ＮＡ  クライアント
１１０、２１０  ＭＰＵ
１１１  ビデオＲＡＭ
１１２  入力インタフェース
１１３、１１５、２１２  通信インタフェース
１１４、２１１  記憶装置
１１６  ビデオコントローラ
１１７  表示装置
１１８  入力装置
２０〜２Ｎ  秘密文字コード復号装置
２０Ａ、２１Ａ〜２１Ｃ  テンポラル文字コード作成・復号装置
２１Ｄ  コード変換・復号テーブル作成装置
２１Ｅ  テンポラルバイナリコード作成・復号装置
２１１ａ、ＡＭＴ  アドレスマッピッグテーブルＲＡＭ
２１１ｂ  フォントＲＯＭ
２１１ｄ  照合データＲＯＭ
２１１ｇ  アドレスマッピングテーブル作成部
２１１ｒ  ビットマップ展開部
３０、３０Ａ〜３０Ｄ、３０Ｘ  システム制御部
３１  認証部
３２  タイマー
３３  ＩＣメモリカード
４０  コード変換・逆変換部
４０１、４０１Ａ、４０１Ｂ  コード変換部
４０２、４０２Ａ、４０２Ｂ  コード逆変換部
４０３、４０３Ａ  テーブル作成部
４０４  ワークメモリ
４０５  検索前処理部
４０６  検索後処理部
４１Ａ、４１Ａ１、４１Ａ２、４１Ｃ  コード変換テーブルＲＡＭ
４１Ａ３、４５Ａ、４５Ｂ  切換スイッチ
４１Ｂ、４１Ｄ  コード逆変換テーブルＲＡＭ
４２Ａ、４２Ｂ、４３Ａ、４３Ｂ  判断部
４２４３Ａ、４２４３Ｂ  切換スイッチ制御部
４４Ａ、４４Ｂ  フラグ
４６Ａ、４６Ｂ  加減算部
４７Ａ、４７Ｂ  オフセット値テーブル
４８Ａ、４８Ｂ  使用テーブル決定部
５０  社内ＬＡＮ
５１、６１  ファイアウォール
６０  管理センター
７０  普通バイナリコード
７１０〜７１３  変換テーブル
７２  テンポラルバイナリコード
７３０〜７３３  逆変換テーブル
ＴＢ１〜ＴＢ９、ＴＢａ〜ＴＢｄ  テキストボックス
ＡＭＴ１、ＡＭＴ２  アドレスマッピングテーブル
ＯＦＶ１、ＯＦＶ２、ＯＦＶｉ  オフセット値
１Ａ〜６Ａ  変換テーブル
１Ｂ〜６Ｂ  逆変換テーブル
【図１】
2006040186.tif 000003
【図２】
2006040186.tif 000004
【図３】
2006040186.tif 000005
【図４】
2006040186.tif 000006
【図５】
2006040186.tif 000007
【図６】
2006040186.tif 000008
【図７】
2006040186.tif 000009
【図８】
2006040186.tif 000010
【図９】
2006040186.tif 000011
【図１０】
2006040186.tif 000012
【図１１】
2006040186.tif 000013
【図１２】
2006040186.tif 000014
【図１３】
2006040186.tif 000015
【図１４】
2006040186.tif 000016
【図１５】
2006040186.tif 000017
【図１６】
2006040186.tif 000018
【図１７】
2006040186.tif 000019
【図１８】
2006040186.tif 000020
【図１９】
2006040186.tif 000021
【図２０】
2006040186.tif 000022
【図２１】
2006040186.tif 000023
【図２２】
2006040186.tif 000024
【図２３】
2006040186.tif 000025
【図２４】
2006040186.tif 000026
【図２５】
2006040186.tif 000027
【図２６】
2006040186.tif 000028
【図２７】
2006040186.tif 000029
【図２８】
2006040186.tif 000030
【図２９】
2006040186.tif 000031
【図３０】
2006040186.tif 000032
【図３１】
2006040186.tif 000033
【図３２】
2006040186.tif 000034
【図３３】
2006040186.tif 000035
【図３４】
2006040186.tif 000036
【図３５】
2006040186.tif 000037
【図３６】
2006040186.tif 000038
【手続補正書】
【提出日】平成16年8月13日(2004.8.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０２４１
【補正方法】変更
【補正の内容】
【０２４１】
Ｗｅｂアプリケーションサーバー１０Ｅ１は、有料又は無料で認証サーバー１０Ｄに予め登録されたユーザーのクライアントからの閲覧要求に応じて、その著作物の該当ページをＨＴＭＬファイル又はＸＭＬファイルに変換し、システム制御部３０１Ａに供給する。システム制御部３０１Ａは、このファイル中の本体部をコード変換部４０１Ａへ供給する。コード変換部４０１Ａは”＞”のコードを開始コードとし”＜”のコードを終了コードとし、開始コードと終了コードとの間の普通文字コードをテンポラル文字コードに変換し、その他の部分は変換せずそのままとし、システム制御部３０１Ａに返す。システム制御部３０１Ａはこれをリクエスト元のクライアントのブラウザに、通信インタフェース２１２１を介して送信する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２４２
【補正方法】変更
【補正の内容】
【０２４２】
実施例１で述べた、ブラウザに対するプラグイン機能により、テンポラル文字コードが実施例１１と同様に認証サーバー１０Ｄを介してフォントサーバー１０Ｃ１に送信される。フォントサーバー１０Ｃ１はそのグリフデータをクライアントに送信する。該プラグイン機能によりグリフイメージがブラウザのウインドウ内の該当個所に描画される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０２４３
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2006040186.tif 000039
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2006040186.tif 000040
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2006040186.tif 000041
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図２４
【補正方法】変更
【補正の内容】
【図２４】
2006040186.tif 000042
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図２５
【補正方法】変更
【補正の内容】
【図２５】
2006040186.tif 000043
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図２７
【補正方法】変更
【補正の内容】
【図２７】
2006040186.tif 000044
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図２８
【補正方法】変更
【補正の内容】
【図２８】
2006040186.tif 000045
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図２９
【補正方法】変更
【補正の内容】
【図２９】
2006040186.tif 000046
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図３２
【補正方法】変更
【補正の内容】
【図３２】
2006040186.tif 000047
【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】図３３
【補正方法】変更
【補正の内容】
【図３３】
2006040186.tif 000048
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図３４
【補正方法】変更
【補正の内容】
【図３４】
2006040186.tif 000049
【手続補正書】
【提出日】平成16年8月13日(2004.8.13)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2006040186.tif 000050
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図３４
【補正方法】変更
【補正の内容】
【図３４】
2006040186.tif 000051