(57)【要約】【課題】権限のない者は印字出力（又は画像出力）されたマスキング後のドキュメントを見てもその内容が把握できないが、権限がある者又は許可された関係者であればわかるという状態を、簡便に、達成することができるドキュメント・ファイルのマスキング・プロセス、該プロセスの制御プログラム、及び該制御プログラムを実装するコンピュータ・システムを提供する。【解決手段】マスキングを行うに際して、クライアント・コンピュータを介してユーザーがドキュメント等の印字出力リクエストをマスキング・サーバー（即ち、上記制御プログラムが実装されたコンピュータ・システム）が受信した時点において、該コンピュータ・システムがその都度、乱数に基づくマスキング・ルールを自動生成して、そのマスキング・ルールに従ってマスキング操作を実行するように発明を構成する。【選択図】図６
2020024743.tif 000002
【特許請求の範囲】
【請求項１】
マスキング装置制御ソフトウェア・プログラムが実装されたマスキング装置であって、マスキング装置制御ソフトウェア・プログラムが、
文字列置換表生成部と；
マスキング処理部と；
出力指示部と；
を有し、
該マスキング装置が、
文字列置換表生成部のプログラムに従って、該マスキング装置と通信ネットワークを介してデータ交信するクライアント・コンピュータから受信したリクエストに呼応して、所定の期間のみ有効な文字列置換表（又は置換ルール）を、任意の時刻において、自動的に生成し、次に、自動生成された文字列置換表（又は置換ルール）を、該マスキング装置の内部（又は外部）の記憶装置に格納し；
マスキング処理部のプログラムに従って、
ｉ）通信ネットワークを介して該マスキング装置とデータ交信する業務システム・サーバーと交信して、マスキング対象のドキュメント・ファイルを取得し、該取得したドキュメント・ファイルを、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該マスキング装置の内部（又は外部）の記憶装置に格納し；
ｉｉ）前記記憶装置から、前記文字列置換表（又は置換ルール）、前記ドキュメント・ファイルを取出して、該取り出した文字列置換表（又は置換ルール）に基づいて、前記ドキュメント・ファイルに含まれる置換前文字列のデータを置換後文字列のデータに置換することでマスキング処理を実行して、マスキング後のドキュメント・ファイルを作成し、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該マスキング装置とデータ交信する出力装置に送信する、
ことを特徴とするマスキング装置。
【請求項２】
前記置換後文字列のデータが、前記置換前文字列の中から前記マスキング装置がランダムに選んだ文字を、マスク文字に置換したものであり、該ランダムに選ぶプロセスが、前記マスキング装置が自動生成した乱数に基づくことで該ランダム性を担保していることを特徴とする請求項１に記載のマスキング装置。
【請求項３】
前記マスキング装置制御ソフトウェア・プログラムが、更に、認証処理部を有し、
該マスキング装置は、前記マスキング処理部のプログラムに従って実行する前記ｉｉ）のステップに後続して、前記生成された前記文字列置換表（又は置換ルール）及び／又は前記作成されたマスキング後のドキュメント・ファイルと１対１の相互関連対応の形態でもって、それらのログ情報データを生成し、それらを前記憶装置に格納することを特徴とし；
該マスキング装置は、更に、以下のプロセスを実行するように構成されたことを特徴とする請求項１〜２のいずれか１項に記載のマスキング装置：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、受信し；
２）前記ドキュメント・ファイルの中に含まれているマスキング対象文字列を特定し；
３）前記特定されたマスキング対象文字列の文字数をカウントし；
４）コンピュータによる公知の擬似乱数生成プロセスにより、前記カウントした文字数（マスキング対象文字列の文字数）以下の整数となるような擬似乱数を、ユーザーにより指定されたマスク率に応じて、特定の個数だけ生成し；
５）マスキング対象文字列の先頭から一つずつ文字数を数えて、前記生成された擬似乱数に対応する文字の位置を置換対象文字の位置と決定し；
６）上記の方法で生成された時刻(Time n-１)に対応する文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの内部（又は外部）の記憶装置に格納し；
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、受信したときは、以下のプロセスを実行する；
８）前記記憶装置内に格納されている前記ログ情報データを参照して、前記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、マスキング・サーバー内の記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定し；
９）前記特定された置換対象文字以外の文字（但し、マスキング対象文字列の中に含まれている文字に限る）から、上記と同様なプロセスを経て、ランダムに、置換対象文字の位置を決定し；
１０）前記決定された位置にある置換対象文字を、前記文字列置換表（又は置換ルール）に基づいて、マスキング処理する。
【請求項４】
前記マスキング装置制御ソフトウェア・プログラムが、更に、認証処理部を有し、
該マスキング装置は、前記マスキング処理部のプログラムに従って実行する前記ｉｉ）のステップに後続して、前記生成された前記文字列置換表（又は置換ルール）及び／又は前記作成されたマスキング後のドキュメント・ファイルと１対１の相互関連対応の形態でもって、それらのログ情報データを生成し、それらを前記憶装置に格納することを特徴とし；
該マスキング装置は、更に、以下のプロセスを実行するように構成されたことを特徴とする請求項１〜２のいずれか１項に記載されたマスキング装置：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、受信する
２）前記ドキュメント・ファイルの中に含まれているマスキング対象文字列を特定し；
３）前記マスキング対象文字列の文字数をカウントし；
４）コンピュータによる公知の擬似乱数生成プロセスにより、前記カウントした文字数以下の整数となるような擬似乱数を、１個だけ、生成し；
５）マスキング対象文字列の先頭から一つずつ文字数を数えて、前記生成された１個の整数に対応する位置、及び、前記１個数の整数に２の整数倍の整数を加算して得られた整数のうち、マスキング対象文字列の文字数の数以下の全ての個数の整数に対応する位置を置換対象文字の位置と決定し；
６）上記の方法で生成された時刻(Time n-１)における文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの内部（又は外部）の記憶装置に格納し；
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、受信したときは以下のプロセスを実行する；
（但し、前の時点（Time n-1）と今回の時点（Time n）との間には、何ら、同一の元となるドキュメント・ファイルの出力リクエストを、受信していないものとする。）
８）マスキング・サーバーの内部（又は外部）の記憶装置内に格納されている前記ログ情報データを参照して、前記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、前記記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定し；
９）マスキング・サーバーが、マスキング対象文字列の先頭から一つずつ文字数を数えて、上記８）で特定された位置の整数に１の整数を加えた整数であって、かつ、その全ての整数がマスキング対象文字列の文字数の数以下の場合は、その全ての整数に対応する位置を置換対象文字の位置と決定し、該整数のうち最後に出現する整数がマスキング対象文字列の文字数の数を超える場合は、その最後に出現した整数から１の整数を減じた整数に対応する位置を置換対象文字の位置と決定し；
１０）前記決定された位置にある置換対象文字を、前記文字列置換表（又は置換ルール）に基づいて、マスキング処理する。
【請求項５】
前記マスキング装置制御ソフトウェア・プログラムが、更に、付加情報生成部を有し、
前記マスキング装置が、
前記マスキング処理部のプログラムを立ち上げる前に、付加情報生成部のプログラムに従って、付加情報を生成し、該生成された付加情報を、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該マスキング装置の内部（又は外部）の記憶装置に格納し；
前記マスキング処理部のプログラムに従って、前記ｉｉ）のステップに後続して、前記記憶装置から、前記文字列置換表（又は置換ルール）に対応する付加情報と、前記マスキング後のドキュメント・ファイルを取出して、該マスキング後のドキュメント・ファイルに該付加情報を付加して、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記付加情報の加えられた前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該マスキング装置とデータ交信する出力装置に送信する、
ことを特徴とする請求項１〜４のいずれか１項に記載のマスキング装置。
【請求項６】
マスキング装置制御ソフトウェア・プログラムであって、
文字列置換表生成部と；
マスキング処理部と；
出力指示部と；
を有し、
その使用時において、該マスキング装置制御ソフトウェア・プログラムを実装した任意のコンピュータ・システムが、
文字列置換表生成部のプログラムに従って、該コンピュータ・システムと通信ネットワークを介してデータ交信するクライアント・コンピュータから受信したリクエストに呼応して、所定の期間のみ有効な文字列置換表（又は置換ルール）を、任意の時刻において、自動的に生成し、次に、自動生成された文字列置換表（又は置換ルール）を、該コンピュータ・システムの内部（又は外部）の記憶装置に格納し；
マスキング処理部のプログラムに従って、
ｉ）通信ネットワークを介して該コンピュータ・システムとデータ交信する業務システム・サーバーと交信して、マスキング対象のドキュメント・ファイルを取得し、該取得したドキュメント・ファイルを、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該コンピュータ・システムの内部（又は外部）の記憶装置に格納し；
ｉｉ）前記記憶装置から、前記文字列置換表（又は置換ルール）、前記ドキュメント・ファイルを取出して、該取り出した文字列置換表（又は置換ルール）に基づいて、前記ドキュメント・ファイルに含まれる置換前文字列のデータを置換後文字列のデータに置換することでマスキング処理を実行して、マスキング後のドキュメント・ファイルを作成し、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該コンピュータ・システムとデータ交信する出力装置に送信する、
ことを特徴とするマスキング装置制御ソフトウェア・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個人情報のようなセンシティブな記載内容を含むドキュメント（例えば、顧客先名等を含む帳票等）の中において秘匿すべき記載箇所をマスキングするためのマスキング・プロセス、該プロセスの制御プログラム、及び該制御プログラムを実装するコンピュータ・システムに関する。
【背景技術】
【０００２】
クライアント・コンピュータあるいはクライアント・コンピュータと通信ネットワーク（例えば、Local Area Network (LAN)等）で情報接続されたサーバー内に格納されたデジタル化されたドキュメント等（例えば、帳票等、以下、「ドキュメント等」又は「ドキュメント・ファイル」）のうち、ユーザーが指定するドキュメント・ファイルを、当該通信ネットワークで情報接続されて複数のクライアント・コンピュータ間で共有されるプリンター等に印字出力するときに、当該ドキュメントの一部又は全てをマスキングして印字出力させることを目的としてこれまでに様々な発明が提案されている。
【０００３】
例えば、特開2004-213376号公報には、機密情報等を含むドキュメント・ファイル（又はドキュメント・データ）をプリンターで印字する際、機密情報等、公知にしたくない部分にマスキングを行うことにより、内容把握できないようにして、機密情報等の漏えいを防ぐという技術が開示されている。
【０００４】
しかし、このようなマスキング印刷機能を用いても、マスキングを解除して印刷できる権限のある者がマスキングを解除して印刷し、例えばこれを置き忘れるなどすれば、結局情報漏えいのおそれは残っていた。
【０００５】
一方、単に内容把握できないようにマスキングするのではなく、「一部を隠ぺいするなどにより、目的読者が閲覧する場合には出来る限り情報の理解を妨げることなく、第三者が閲覧する場合には情報が理解不可能とする」、すなわち“関係者であればわかる”、ようにマスキングする技術が提案されている（例えば、特許文献１：特開2002-084410）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−０８４４１０号広報
【特許文献２】特開２００４−２１３３７６号広報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、この特許文献１（特開2002-084410）に開示された技術による隠ぺい方法の場合、隠ぺいの程度によっては、関係者以外の者であっても理解できてしまうおそれがあり、これを防ぐために隠ぺいの度合いを高めると、関係者であっても理解できなくなるおそれがあった。
【０００８】
そこで、本発明においては、権限のない者は印字出力（又は画像出力）されたマスキング後のドキュメントを見てもその内容が把握できないが、権限がある者又は許可された関係者であればわかるという状態を、簡便に、達成することができるようにすることを目的とする。
【０００９】
本発明においては、また、以下の事項をそれぞれ別個に又は同時に達成することを目的とする。
（１）マスク率の程度（例：大→中→小、等）をユーザーが設定できる動作プロセス（ソフトウェア・プログラム構成）；
（２）コンピュータ・システムによるマスキング動作において、「一時的な（特定の時点ごとの）置換ルール（又はその置換ルールに基づく置換表）」を用いることを可能にする；
（３）マスキング対象となる文字列を構成する個々の文字を、置換ルール（又は置換表）に従って置換するに際して、コンピュータ・システムが生成する擬似乱数に基づいて、ランダムに置換；
【００１０】
本発明は、また、ユーザーからのリクエストに応じて、マスキングされた部分を、コンピュータ又はマニュアル式により元の状態に逆戻しするために必要なマスキング・ルールに関する情報をプリンター等に印字出力したり、あるいは、クライアント・コンピュータのスクリーンに画像出力したりすることを可能にすることを目的とする。
【課題を解決するための手段】
【００１１】
本願に係る第１の発明は、
マスキング装置制御ソフトウェア・プログラムが実装されたマスキング装置であって、マスキング装置制御ソフトウェア・プログラムが、
文字列置換表生成部と；
マスキング処理部と；
出力指示部と；
を有し、
該マスキング装置が、
文字列置換表生成部のプログラムに従って、該マスキング装置と通信ネットワークを介してデータ交信するクライアント・コンピュータから受信したリクエストに呼応して、所定の期間のみ有効な文字列置換表（又は置換ルール）を、任意の時刻において、自動的に生成し、次に、自動生成された文字列置換表（又は置換ルール）を、該マスキング装置の内部（又は外部）の記憶装置に格納し；
マスキング処理部のプログラムに従って、
ｉ）通信ネットワークを介して該マスキング装置とデータ交信する業務システム・サーバーと交信して、マスキング対象のドキュメント・ファイルを取得し、該取得したドキュメント・ファイルを、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該マスキング装置の内部（又は外部）の記憶装置に格納し；
ｉｉ）前記記憶装置から、前記文字列置換表（又は置換ルール）、前記ドキュメント・ファイルを取出して、該取り出した文字列置換表（又は置換ルール）に基づいて、前記ドキュメント・ファイルに含まれる置換前文字列のデータを置換後文字列のデータに置換することでマスキング処理を実行して、マスキング後のドキュメント・ファイルを作成し、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該マスキング装置とデータ交信する出力装置に送信する、
ことを特徴とするマスキング装置。
【００１２】
本願に係る第２の発明は、
前記置換後文字列のデータが、前記置換前文字列の中から前記マスキング装置がランダムに選んだ文字を、マスク文字に置換したものであり、該ランダムに選ぶプロセスが、前記マスキング装置が自動生成した乱数に基づくことで該ランダム性を担保していることを特徴とする請求項１に記載のマスキング装置。
【００１３】
本願に係る第３の発明は、
前記マスキング装置制御ソフトウェア・プログラムが、更に、認証処理部を有し、
該マスキング装置は、前記マスキング処理部のプログラムに従って実行する前記ｉｉ）のステップに後続して、前記生成された前記文字列置換表（又は置換ルール）及び／又は前記作成されたマスキング後のドキュメント・ファイルと１対１の相互関連対応の形態でもって、それらのログ情報データを生成し、それらを前記憶装置に格納することを特徴とし；
該マスキング装置は、更に、以下のプロセスを実行するように構成されたことを特徴とする請求項１〜２のいずれか１項に記載のマスキング装置：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、受信し；
２）前記ドキュメント・ファイルの中に含まれているマスキング対象文字列を特定し；
３）前記特定されたマスキング対象文字列の文字数をカウントし；
４）コンピュータによる公知の擬似乱数生成プロセスにより、前記カウントした文字数（マスキング対象文字列の文字数）以下の整数となるような擬似乱数を、ユーザーにより指定されたマスク率に応じて、特定の個数だけ生成し；
５）マスキング対象文字列の先頭から一つずつ文字数を数えて、前記生成された擬似乱数に対応する文字の位置を置換対象文字の位置と決定し；
６）上記の方法で生成された時刻(Time n-１)に対応する文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの内部（又は外部）の記憶装置に格納し；
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、受信したときは、以下のプロセスを実行する；
８）前記記憶装置内に格納されている前記ログ情報データを参照して、前記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、マスキング・サーバー内の記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定し；
９）前記特定された置換対象文字以外の文字（但し、マスキング対象文字列の中に含まれている文字に限る）から、上記と同様なプロセスを経て、ランダムに、置換対象文字の位置を決定し；
１０）前記決定された位置にある置換対象文字を、前記文字列置換表（又は置換ルール）に基づいて、マスキング処理する。
【００１４】
本願に係る第４の発明は、
前記マスキング装置制御ソフトウェア・プログラムが、更に、認証処理部を有し、
該マスキング装置は、前記マスキング処理部のプログラムに従って実行する前記ｉｉ）のステップに後続して、前記生成された前記文字列置換表（又は置換ルール）及び／又は前記作成されたマスキング後のドキュメント・ファイルと１対１の相互関連対応の形態でもって、それらのログ情報データを生成し、それらを前記憶装置に格納することを特徴とし；
該マスキング装置は、更に、以下のプロセスを実行するように構成されたことを特徴とする請求項１〜２のいずれか１項に記載されたマスキング装置：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、受信する
２）前記ドキュメント・ファイルの中に含まれているマスキング対象文字列を特定し；
３）前記マスキング対象文字列の文字数をカウントし；
４）コンピュータによる公知の擬似乱数生成プロセスにより、前記カウントした文字数以下の整数となるような擬似乱数を、１個だけ、生成し；
５）マスキング対象文字列の先頭から一つずつ文字数を数えて、前記生成された１個の整数に対応する位置、及び、前記１個数の整数に２の整数倍の整数を加算して得られた整数のうち、マスキング対象文字列の文字数の数以下の全ての個数の整数に対応する位置を置換対象文字の位置と決定し；
６）上記の方法で生成された時刻(Time n-１)における文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの内部（又は外部）の記憶装置に格納し；
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、受信したときは以下のプロセスを実行する；
（但し、前の時点（Time n-1）と今回の時点（Time n）との間には、何ら、同一の元となるドキュメント・ファイルの出力リクエストを、受信していないものとする。）
８）マスキング・サーバーの内部（又は外部）の記憶装置内に格納されている前記ログ情報データを参照して、前記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、前記記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定し；
９）マスキング・サーバーが、マスキング対象文字列の先頭から一つずつ文字数を数えて、上記８）で特定された位置の整数に１の整数を加えた整数であって、かつ、その全ての整数がマスキング対象文字列の文字数の数以下の場合は、その全ての整数に対応する位置を置換対象文字の位置と決定し、該整数のうち最後に出現する整数がマスキング対象文字列の文字数の数を超える場合は、その最後に出現した整数から１の整数を減じた整数に対応する位置を置換対象文字の位置と決定し；
１０）前記決定された位置にある置換対象文字を、前記文字列置換表（又は置換ルール）に基づいて、マスキング処理する。
【００１５】
本願に係る第５の発明は、
前記マスキング装置制御ソフトウェア・プログラムが、更に、付加情報生成部を有し、
前記マスキング装置が、
前記マスキング処理部のプログラムを立ち上げる前に、付加情報生成部のプログラムに従って、付加情報を生成し、該生成された付加情報を、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該マスキング装置の内部（又は外部）の記憶装置に格納し；
前記マスキング処理部のプログラムに従って、前記ｉｉ）のステップに後続して、前記記憶装置から、前記文字列置換表（又は置換ルール）に対応する付加情報と、前記マスキング後のドキュメント・ファイルを取出して、該マスキング後のドキュメント・ファイルに該付加情報を付加して、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記付加情報の加えられた前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該マスキング装置とデータ交信する出力装置に送信する、
ことを特徴とする請求項１〜４のいずれか１項に記載のマスキング装置。
【００１６】
本願に係る第６の発明は、
マスキング装置制御ソフトウェア・プログラムであって、
文字列置換表生成部と；
マスキング処理部と；
出力指示部と；
を有し、
その使用時において、該マスキング装置制御ソフトウェア・プログラムを実装した任意のコンピュータ・システムが、
文字列置換表生成部のプログラムに従って、該コンピュータ・システムと通信ネットワークを介してデータ交信するクライアント・コンピュータから受信したリクエストに呼応して、所定の期間のみ有効な文字列置換表（又は置換ルール）を、任意の時刻において、自動的に生成し、次に、自動生成された文字列置換表（又は置換ルール）を、該コンピュータ・システムの内部（又は外部）の記憶装置に格納し；
マスキング処理部のプログラムに従って、
ｉ）通信ネットワークを介して該コンピュータ・システムとデータ交信する業務システム・サーバーと交信して、マスキング対象のドキュメント・ファイルを取得し、該取得したドキュメント・ファイルを、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該コンピュータ・システムの内部（又は外部）の記憶装置に格納し；
ｉｉ）前記記憶装置から、前記文字列置換表（又は置換ルール）、前記ドキュメント・ファイルを取出して、該取り出した文字列置換表（又は置換ルール）に基づいて、前記ドキュメント・ファイルに含まれる置換前文字列のデータを置換後文字列のデータに置換することでマスキング処理を実行して、マスキング後のドキュメント・ファイルを作成し、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該コンピュータ・システムとデータ交信する出力装置に送信する、
ことを特徴とするマスキング装置制御ソフトウェア・プログラム。
【００１７】
（本発明の概要）
本発明においては、クライアント・コンピュータあるいはクライアント・コンピュータと通信ネットワーク（例えば、Local Area Network (LAN)等）で情報接続されたサーバー内に格納されたデジタル化されたドキュメント等（例えば、帳票等、以下、「ドキュメント等」又は「ドキュメント・ファイル」）のうち、ユーザーが指定するドキュメント・ファイルを、当該通信ネットワークで情報接続されて複数のクライアント・コンピュータ間で共有されるプリンター等に印字出力するときに、当該ドキュメント・ファイルの中に含まれるセンシティブな部分（閲覧権限を有する者又は閲覧許諾関係者以外の者への開示・漏洩を防止したい部分）に含まれる文字又は文字列等の少なくとも一部を所定のマスク文字（又はマスク記号等）に置換して隠蔽した上で当該プリンター等に印字出力できるように構成されている。
【００１８】
なお、このとき、その置換の対象となる文字を含む文字列全体をマスキングするのではなく、該文字列を構成する個々の文字のうちから以下詳述する方法によりランダムに選んで、それをマスク文字（又はマスク記号）に置換できるように構成されている。
【００１９】
本発明においては、また、このようなマスキングを行うに際して、クライアント・コンピュータを介してユーザーがドキュメント等の印字出力リクエストをマスキング・サーバー（即ち、上記制御プログラムが実装されたコンピュータ・システム）が受信した時点において、該コンピュータ・システムがその都度マスキング・ルール（例えば、マスキング前の文字列となるマスキング対象文字列とそのマスキング後の文字列とを１対１の対応関係で保持する文字列置換表）を自動生成して、そのマスキング・ルールに従ってマスキング操作を実行できるように構成されている。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ、本発明について説明する。
（システム構成の概要）
図１は、本発明の一つの実施形態に係るシステム構成の全体像を例示的に示す図である。同図における参照番号１００はクライアント・コンピュータ（ユーザー端末）、参照番号２００は本発明に係るマスキング装置であって、該マスキング装置には後述するマスキング装置制御ソフトウェア・プログラム（図１には図示せず；後述の図２を参照）が実装されている、参照番号３００は業務システム・サーバー（ドキュメント・ファイルを格納・取出し等のドキュメント・ファイルのハンドリングに関する一般的な公知の機能を有するドキュメント・サーバーの機能を兼ねる）、参照番号４００は出力装置（例えば、プリンター）を、それぞれ示す。同図において、クライアント・コンピュータ（ユーザー端末）（１００）、出力装置（４００）は、それぞれ、公知の一般的なユーザー端末機能、出力装置機能を呈するものである。例えば、クライアント・コンピュータ（ユーザー端末）には、以下図示はされていないが、コンピュータと言う呼称の示唆するとおり、プログラムの演算処理を実行するＣＰＵなどの演算装置、情報を記憶するＲＡＭやハードディスクなどの記憶装置、ディスプレイ（画面）などの表示装置、キーボードやポインティングデバイス（マウスやテンキーなど）などの入力装置、該演算装置の処理結果や該記憶装置に記憶する情報をインターネットやＬＡＮなどのネットワークを介して送受信する通信装置を有していることは当業者技術常識である。また、同図には、ユーザー端末（１００）、出力装置（４００）がそれぞれ１ユニットずつしか図示されていないが、これらがそれぞれ複数通信ネットワークで情報接続されていてもよい。更に、本発明における業務システム・サーバー（又は、業務システム）とは、企業などの業務活動の遂行に用いるコンピュータ・システムである。業務システムには、業務活動に関する処理を実行する基幹系システム、情報系システムが該当する。これらの一例としては、たとえば販売管理システム、購買管理システム、財務管理システム、人事管理システム、給与管理システム、生産管理システム、グループウェアシステム、ドキュメント管理システム、ワークフロー・システム、スケジューラー・システムなどが該当するが、これらに限定されるものではない。
【００２１】
なお、該マスキング装置には、該マスキング装置を１つのサーバーとして機能させるべく、以下図示はされていないが、マスキング装置制御ソフトウェア・プログラム（後述の図２を参照）に含まれる後述の各種プログラム（後述の図２を参照）の演算処理を実行するＣＰＵなどの演算装置、情報を記憶するＲＡＭやハードディスクなどの記憶装置、演算装置の処理結果や記憶装置に記憶するデータをインターネットやＬＡＮなどの通信ネットワークを介して送受信する通信装置等も具備されている。この観点から、マスキング装置は、以下、便宜上、「マスキング・サーバー」と呼称する。
【００２２】
なお、同図には、マスキング・サーバー（２００）と業務システム・サーバー（３００）がそれぞれ別個に独立した形態で図示されているが、業務システム・サーバー（３００）の中に該マスキング・サーバー（２００）の全ての機能を公知の各種方法のうちのいずれかの方法で取り込んで（この取り込み方の順序はその逆でもよい）これらを一体化した１つのサーバーとして構成してもよいことは言うまでもない。
【００２３】
また、同様に、同図には、クライアント・コンピュータ（ユーザー端末）（１００）、マスキング装置（２００）、業務システム・サーバー（３００）がそれぞれ独立した形態で図示されているが、これらの構成要素が公知の方法でもって全てスタンド・アローン型コンピュータ上に構成されてもよい。
【００２４】
さらにまた、マスキング装置（２００）、業務システム・サーバー（３００）がそれぞれハードウェアとして特定の空間を占める物体を示すものとして図示されているが、これらの構成要素が提供する機能を全てクラウド・コンピューティングのクラウド空間において提供できるように構成してもよい。
【００２５】
図２−１は、本発明に係るマスキング・サーバー（２００）に実装されることを企図した（又は実装されたている）マスキング装置制御ソフトウェア・プログラム（２１０）の内部構成の一例を示す図である。同図には、コンピュータ・プログラムであるマスキング装置制御ソフトウェア・プログラム（２１０）に含まれるそれぞれのモジュール領域を占めるプログラムとして構成された文字列置換表生成部（２２０）、マスキング処理部（２３０）、付加情報生成部（２４０）、認証処理部（２５０）、出力指示部（２６０）、タイム・スタンプ処理部（図示せず）が含まれている（このタイム・スタンプ処理部は、マスキング処理部の中に構成されていても、又は、マスキング処理部のサブルーティン・プログラムとして構成されていてもよい）ことが示されているが、この記載は全てを記載するものではなく、以下詳述する本発明に係るプロセス機能を提供する他のプログラム・モジュールも含まれていることは論を待たない。同図の参照番号２５０で示される認証処理部は、そのプログラムに従って、マスキング・サーバーが認証処理を実行するためのものであって、少なくとも、いつ（出力日時）、どこで（出力装置名）、誰が（ユーザ名）、何を（出力したドキュメント名）、等の情報データを含むログ情報データを、都度生成された文字列置換表（又は、置換ルール）と１対１の相互関連対応の形態でもって、マスキング・サーバー内（又は外）に具備された記憶装置に記憶させると共に、後述する図６において一重鎖線で示されるように、上記のログ情報データを、マスキング・サーバーが、クライアント・コンピュータからのリクエスト・コマンドに呼応して、出力処理部のプログラムに従って、上記記憶装置に格納されたログ情報データを取得して、出力装置に送信できるようにするためのものである。また、マスキングされたドキュメントがプリントされた用紙にプリントされている付加情報（図６参照）を、クライアント・コンピュータを介して、ユーザーが、マスキング・サーバーに対して、当該付加情報が出力されたときのマスキング後のドキュメントを作成するに際して使用された文字列置換表（又は、置換ルール）の出力リクエストと共に送信すると、それに呼応して、マスキング・サーバーが、認証処理部のプログラムに従って、当該リクエスト（又は、当該リスエストを出したユーザー若しくは当該リクエストの発信源であるクライアント・コンピュータのID等））の認証を実行し、確実に認証されたときには、上記付加情報に基づいて、記憶装置に格納された文字列置換表（又は、置換ルール）を該記憶装置から取得して、これを出力処理部のプログラムに従って、出力装置に送信するためのものでもある。なお、該マスキング・サーバーは、サーバーと言う名称が示唆するように、これらのプログラム上の構成要素の他に、一般的なサーバー（又は一般的なコンピュータ・システム）として通常期待されるその他の要素機能を提供できるソフトウェア・プログラム及びハードウェアを含むことは言うまでもなく、その中には、システム・クロックがあり（図示せず）、このシステム・クロックは、マスキング装置制御ソフトウェア・プログラム（２１０）内に構成されたタイム・スタンプ処���部（図示せず）（又はマスキング装置制御ソフトウェア・プログラム（２１０）内に含まれた付加情報生成部（２４０）の下位階層のタイム・スタンプ処理部（図示せず））とデータ交信ができるように構成されている。また、このマスキング・サーバーには、補助記憶装置（例えば、ＲＡＭやハードディスク等）も具備されており（図示せず）、必要に応じて、この中に、公知の方法により、各種データをそのデータの属性データ（例えば、ポインター等）と共に相互に関連付けて格納できるように構成されていることは言うまでもない。更に、このマスキング装置に実装されるマスキング装置制御ソフトウェア・プログラム（２１０）には、出力装置（図１の参照番号４００）にドキュメント・ファイルを出力させるときに使用される出力指示部（２６０）が含まれているので、かかるマスキング装置は、プリント・サーバーの機能をも提供することが理解できる。
【００２６】
なお、マスキング・サーバー上で実現する各機能は、その機能を奏する処理プロセスを実行する手段としてのソフトウエア・プログラムやプログラム・モジュール（以下、後者を、便宜上、単に、「モジュール」と呼称する）がサーバー内のCPUなどの演算装置に読み込まれることでその処理プロセスが実行され、また、サーバー内（又は外）の記憶装置に格納されたデータをその処理プロセスにおいて使用する場合には、該当するデータをその属性データを目印にして当該記憶装置から読み出し、読み出したデータを、演算装置における処理に用いる。更に、本発明に係る上述の各部は、そこに含まれているプログラム・モジュールを立ち上げてそれに従って実行することで奏される機能の観点から見て論理的に区別されているに過ぎず、その実施態様において、同一の物理領域を構成していてもよい。
【００２７】
図２−２は、本発明に係る業務システム・サーバーの内部構成の一例を示す図である。本発明においては、業務システム・サーバー（３００）は、ドキュメント・サーバーとしての機能をも兼ね備えており、ここで言うドキュメント・サーバーとは、公知の一般的なドキュメント・サーバー機能を呈するコンピュータ・システムを意味しており、従って、ここにおける業務システム・サーバー（３００）は、コンピュータ・ネットワーク（又は通信ネットワーク）を介して送受信される各種ドキュメント・ファイルのデータ及びそれに付随する各種データ（例えば、属性データ）を、同サーバー上のI/Oを経由して受信し、その受信したデータを、ドキュメント・ファイル入出力制御部（図２―１の参照番号３２０で示された構成要素）に含まれるプログラムに記述されたプロセスに従って、同サーバーの内部（又は外部）に具備されたドキュメント・ファイル記憶装置（例えば、ＲＡＭやハードディスク等）に格納したり、クライアント・コンピュータからのリクエスト（上記属性データを含むリクエスト・コマンド）を受信するとそれに呼応して属性データを目印にしてその記憶装置から取り出して、リクエストを発信したクライアント・コンピュータに送信する機能を呈するものである。なお、該業務システム・サーバーは、サーバーと言う名称が示唆するように、これらのプログラム上の構成要素の他に、一般的なサーバー（又は一般的なコンピュータ）として通常期待されるその他の機能要素を含むことは言うまでもない。
【００２８】
図３は、本発明に係る主要動作プロセスのコンセプト概要及びそれにより得られる結果をイメージ的に例示する概念図である。同図に概念的に図示された趣旨は、同図の参照番号５００で示されたマスキング前のドキュメント・ファイルを、本発明に係るマスキング装置（マスキング・サーバー）が、同図の参照番号６００（又は７００）で示された文字列置換表（その背後には、文字列置換ルールが存在する）を構成する置換前の列の各要素の置換前文字列と１対１で対応する置換後の列の各要素にそれぞれ置換することで、同図の参照番号５１０（又は５２０）で示されたマスキング後のドキュメント・ファイルを生成する、と言うことである。従って、コンセプト的には、文字置換表（又は文字列置換ルール）が、元データに対するオペランドの一種であると考えると理解し易い。なお、ここで、置換前の文字列と置換後の文字列とは、必ずしも同図に例示されるような対応表の形式で、マスキング・サーバー内部（あるいは外部）の記憶装置の中に保持される必要はなく、少なくとも、置換前の文字列と置換後の文字列とが相互に１対１の対応関係が維持された形式で該記憶装置の中に保持されて、一方の文字列から他方の文字列が一義的に特定・取得できることが担保されれば、どのような公知のデータ構造構築方法で該記憶装置の中に保持されても良い。もし、置換前の文字列と置換後の文字列とを同図に例示されるような対応表の形式（即ち、ファイル・データ形式）で保持（格納）するときには、当該ファイルの属性データ（例えば、作成者、ファイルＩＤ、作成に関与したクライアント・コンピュータのＩＤ等）と共に保持（格納）することが好適である。
【００２９】
さて、本発明の構成上の特徴の一つに、文字列置換表（又は、文字列置換ルール）は、都度生成されるものであり、一時的に（又はユーザー指定の期間のみ）有効であることが挙げられる。従って、図３に示されたTime 1の時点において生成された文字列置換表（Time 1）と、Time nの時点において生成された文字列置換表（Time n）とは、文字列置換表を構成する「置換後」の列の各要素は、それぞれ、異なっている。本発明においては、このような相互に異なる文字列置換表に表現された置換ルールに従ってドキュメント・ファイルがマスキングされることとなるので、文字列置換表（Time 1）を使用してマスキングされた後のドキュメント・ファイル（Time 1）と、文字列置換表（Time 2）を使用してマスキングされた後のドキュメント・ファイル（Time n）とは、自ずと、マスキングされた文字列が、その全体の外観の観点において、相互に異なることが担保される。
【００３０】
本発明においては、文字列置換表（又は文字列置換ルール）は固定ではなく、その生成の都度変化させることが大前提となっているので、文字列置換表（又は文字列置換ルール）が生成される都度、公知の方法で、そのログ（例えば、文字列置換表（又は文字列置換ルール）の生成のトリガーとなるドキュメント・ファイル出力リクエスト等に関するログ）を作成してそれをマスキング装置内に具備された記憶装置（ハードディスクなどの補助記憶装置）に格納することが好適に行われる。この場合のログの格納先としては、必ずしも、マスキング装置に限定されることはなく、業務システム・サーバー内に具備された記憶装置に格納してもよく、このような場合に必要なログ管理の動作プロセス（制御プログラム）については、公知の方法が好適に適用できることは論を待たない。
【００３１】
図４の中の図４−１は、時刻（Time 1）において生成された文字列置換表（Time 1）の一例の概念図である（なお、表形式に限定されないことは上述のとおりである）。ここにおいて、置換後文字列（変換後文字列データ）の列の各要素（エントリー）の文字列は、その全体が、出力装置上でカラー表示されるように構成されるのが好ましい。これは、本発明の作用効果上の特徴の一つであるところの、マスキング印刷に関し、権限のない者は内容が把握できないが、権限がある者又は許可された関係者であればわかる、という状態を、マスキング後のドキュメントを複数回数プリントアウトしてそれらを対比検討すれば、簡便に、達成することができるようにする上での一助となる。また、同図には、置換後文字列において、置換された個々の文字が二つ以上連続して現れないように表示されているが、これも、権限のない者は内容が把握できないが、権限がある者又は許可された関係者であればわかる、という状態を、マスキング後のドキュメントを複数回数プリントアウトしてそれらを対比検討すれば、簡便に、達成することができるようにする上での一助となる。但し、置換された個々の文字が二つ以上連続して現れないように動作プロセスを設定することは本発明の必須要件ではないことに留意する。
【００３２】
図４−２は、上記図４−１の文字列置換表（Time 1）の背後に存在する（又は、該文字列置換表を作成する際に使用した一時置換ルールの一部を概念的に示している。この図から容易に理解できるように、本発明においては、置換前の１つの文字に対して、置換後の１つの記号が使用されており、このことにより、該当する文字列をデータとして格納するデータ領域のバイト数が、置換前と置換後とにおいて、全く同一となることが担保されるので、一般的なドキュメント・ファイルの場合であっても、その中のレイアウトに何ら変化が生じないことが担保されている。
【００３３】
図５は、文字列置換表の「置換後」の列の１つの要素（エントリー）が、文字列置換表の生成時点の差異によりどのように変化するかの一例を示す概念図である。この一例の場合、Time 1, Time 2, ・・・Time n-1, Time nのそれぞれの時点において文字列変換表が生成され、これらの時点の相互に直近の時点の間では、何ら、文字列置換表が生成されないことを本発明では前提とするので、図４には、それら文字列置換表を構成する「置換後」の列の各要素のうちの一例として、マスキング後文字列（Time 1）の「オ●イリ★品」の文字列と、マスキング後文字列（Time 2）「☆ーイリ★品」とが、あるいは、マスキング後文字列（Time n-1）の「☆ーイリ食◎」の文字列と、マスキング後文字列（Time n）の「オーイリ★品」の文字列とが、対比検討し易いように、並列的に記載されているが、これらの対比検討から、マスキング前の文字列である「オーイリ食品」が、容易に、特定できることが理解できる。このように、本発明の作用効果上の特徴の一つとして、マスキング後のドキュメント・ファイルの出力イベントが相互に隣接する（即ち、相互に隣り合う２つの出力イベントの間に、何ら、文字列置換表が新たに生成されない）場合には、出力されたそれらのドキュメント・ファイルを、上下（又は左右）に並置して対比検討すれば、マスキング前の文字列が特定できるので、印刷できる人（業務システムの利用権限がある者等）にとっては、かかる出力を連続して行うことができるので、全てのマスキング前の元の文字列が特定できると言う、本発明の作用効果上の一つの特徴が担保されるのである。
【００３４】
図６は、本発明を構成する各要素相互間の関係を、それらの間において送受信される（又は、遣り取りされる）データ（例えば、リクエスト、ドキュメント・ファイル、付加情報データ等）に注目して、例示的に図示するものである。同図における実線矢印は、マスキングされたドキュメントが印字出力（又は画像出力）されるまでの全プロセスにおける本発明に係る主要な動作プロセスの過程で、同図中の各構成要素間で遣り取りされる（交信される）データの流れの方向を示している。また、同図における一重鎖線は、マスキングされて印字出力（又は画像出力）されたドキュメントに添付されている付加情報に基づいて、本発明のマスキング・プロセスに使用した文字列置換表（又は、置換ルール）を、印字出力（又は画像出力）する動作プロセスの過程で、同図中の各構成要素間で遣り取りされる（交信される）データの流れの方向を示している。
【００３５】
なお、本発明において使用される「データ交信」と言う用語の概念には、以下の２種類があるが、これら２種類の概念のうち、いずれの概念として使用されているかについては、その前後の文章のコンテキストから、当業者の技術常識に基づいて、適宜判断するものとする。
ハードウェアとハードウェアの間において「データ交信される」と言った場合は、それぞれのハードウェアに通常具備されたI／Oを介して、データが送受信されると言う意味である；
ソフトウェア・プログラム・モジュールとソフトウェア・プログラム・モジュールとの間において「データ交信される」と言った場合は、当該ソフトウェア・プログラム・モジュールを実装したコンピュータ・システムのCPUなどの演算装置により一方のプログラムが実行されその結果得られたデータが、一旦、当該コンピュータ・システムの記憶装置内に格納され、次に、他方のプログラムが同じCPUなどの演算装置により実行されるときに、そのCPUなどの演算装置が、当該一旦格納されたデータを記憶装置から読み取って、その読み取ったデータを使用しつつ当該他方のプログラムを実行すると言う意味である；
ハードウェアとソフトウェア・プログラム・モジュールとの間において「データ交信される」と言った場合は、上記１）と２）のプロセスが関与していると言う意味である。
これらの各要素間で遣り取りされるデータを関連する記憶装置に格納するときには、当然のことながら、公知の方法により、そのデータの属性データ（例えば、作成者、作成時刻（公知の方法によるタイム・スタンプ）等）と共に相互に関連付けて格納されて、その後の取り出し等のデータ・ハンドリングを容易にしていることは論を待たない。出力装置をネットワークに情報接続するクライアント・コンピュータ間で共有するということは、クライアント・コンピュータは複数となるので、遣り取りされる各種データは、それを構成する個々のデータを要素とするファイル・データとして、記憶させるのが好適である。
【００３６】
従って、例えば、同図において、各種プログラム・モジュールとしての文字列置換表生成部（２２０）、マスキング処理部（２３０）、付加情報生成部（２４０）、認証処理部（２５０）、出力指示部（２６０）の各部から、データの流れ方向を示す矢印が出ているので、あたかもこれら各部がデータの送信操作（又は受信操作）の主体のような印象を受けるが、これら各部はそれぞれプログラム・モジュールであるので、同図における矢印の意味することは、本発明に係るマスキング装置（マスキング・サーバー）が、これら各部に含まれるプログラムを立ち上げてそれに従って、同図の矢印の方向に沿ってデータ（適宜、その属性データと共に）の送信操作（又は受信操作）を実行するということである。
【００３７】
（プロセスに沿ったイベント・シーケンス）
次に、本発明に係るマスキング装置としては、シーケンス・プロセスを採用するコンピュータ・システムを想定しているので、その動作イベントの主要なシーケンスを時間軸上に沿って列記すると以下のとおりとなる。
イベント１（Evt. 1）:
ユーザーが、クライアント・コンピュータのスクリーン上に画像出力された一連のドキュメント・ファイルの中から、マスキング対象ドキュメント・ファイルを選定する；
イベント２（Evt. 2）：
ユーザーが、クライアント・コンピュータを介して、マスキング対象ドキュメント・ファイルの出力リクエスト（当該ドキュメント・ファイルの属性データを含むリクエスト・コマンド）を、本発明に係るマスキング装置を実装したコンピュータ・システムであるマスキング・サーバーに送信する；
イベント３（Evt. 3）：
マスキング・サーバーが、上記リクエストを受信して、それに呼応して、文字列置換表生成部に含まれるプログラムを立ち上げてそれに従って、文字列置換ルール（例えば、文字列置換表）を（その属性データ（特に、生成時刻（タイム・スタンプ）と共に）生成して、それらを該サーバーの内部（又は外部）の記憶装置に格納する；
（なお、このときの文字置換ルールは、その都度（例えば、日時、月ごと等）生成されるものであり、それが生成された時刻又はそれが使用された時刻から、次の文字置換ルールが生成される時刻までの間に限ってのみ有効であることを特徴とする）；
イベント４（Evt. 4）：
次に、マスキング・サーバーが、付加情報生成部に含まれるプログラムを立ち上げてそれに従って、付加情報データ（例えば、タイム・スタンプ（マスキング日時）；マスキング後のドキュメント・ファイルの格納先；文字列置換表（置換ルール）の格納先を含む情報データ等（属性データ等）に加えて、その情報データの格納先を示すURLまたはQR等）を生成し、それを該サーバーの内部（又は外部）の記憶装置に格納する；
イベント５（Evt. 5）：
マスキング・サーバーは、次に、該マスキング・サーバーと通信ネットワークで情報接続されたコンピュータ・システムの一つである業務システム・サーバーと交信して、ユーザーがクライアント・コンピュータを経由して指定したマスキング対象ドキュメント・ファイルを取得して、そのマスキング対象ドキュメント・ファイルを、その属性データと共に、該サーバーの内部（又は外部）の記憶装置に格納する；
イベント６（Evt. 6）：
次に、マスキング・サーバーが、マスキング処理部に含まれるプログラムを立ち上げてそれに従って、該サーバーの内部（又は外部）の記憶装置に格納された上記文字列置換ルール（例えば、文字列置換表）及び上記マスキング対象ドキュメント・ファイルを取り出して、その取り出したマスキング対象ドキュメント・ファイルに対して、文字置換ルールに基づいて、置換前の文字列を置換後の文字列に置換することでマスキング後のドキュメント・ファイルを作成し、そのマスキング後のドキュメント・ファイルに、上記付加情報データを加え、更に、該付加情報データが加えられたマスキング後のドキュメント・ファイルを、その属性データと共に、該サーバーの内部（又は外部）の記憶装置に格納する；
イベント７（Evt. 7）：
最後に、マスキング・サーバーが、出力指示部に含まれるプログラムを立ち上げてそれに従って、付加情報を含むマスキング後の出力データを、上記記憶装置から取得して、それを出力装置（例えば、プリンター）に送信する
【００３８】
なお、上述のイベント・シーケンスは、単に本発明に係る動作プロセスの理解を助けるためのものであり、その一部が前後入れ替わってもよく、また、マスキング装置としてパラレル・コンピュータ・システムを採用した場合には、それに応じたイベント・シーケンスになることは論を待たない。
【００３９】
（プロセスの概要）
次に、上記のイベント・シーケンスを参照しつつ、本発明に係るマスキング装置（マスキング・サーバー）における主要な動作プロセスの概要を例示的に記述すると以下のようになる。
ユーザーが、クライアント・コンピュータを介して、出力対象のドキュメント・ファイルを、その属性データを使って、指定する（このステップは、ユーザーによるクライアント・コンピュータのマウス又はキーボード上のキーの操作に呼応して、該クライアント・コンピュータが、マスキング・サーバーを経由して、あるいは直接、業務システム・サーバーに、そのドキュメント・ファイル記憶装置に格納されているドキュメント・ファイルを、マスキング・サーバーを経由して、あるいは直接、該クライアント・コンピュータのスクリーン上に画像出力させて、該スクリーン上に出力されたドキュメント・ファイルの中から、出力対象のドキュメント・ファイルを、その属性データを使って、指定する）；
この指定に呼応して、クライアント・コンピュータは、マスキング・サーバーに対して、該指定したドキュメント・ファイルを、その属性データを使って、業務システム・サーバーから取得して、該クライアント・コンピュータ又はプリンター等の出力装置に、マスキング後のドキュメント・ファイルを、アナログ的画像（例えば、印刷文字、文字画像）として出力させる；
この上記（２）のステップの出力の前に、マスキング・サーバー上の文字列置換表生成部が、マスキングの対象となる文字列を、マスキング後の文字列に置換する；
また、このマスキング後の文字列は、その都度、文字列置換表生成部が、自動生成する（なお、本発明においては、上述の文字列置換表（あるいは、その生成における文字列置換ルール）は、その都度生成されて一時的にのみ有効なものであることが作用効果上の特徴の一つでもある）；
なお、マスキングした後のドキュメント・ファイルを出力する必要がない場合は、上記（２）において、マスキング・サーバーは、上述のマスキング・プロセスを全て省略して、通常のプリント・サーバーとして機能する。
【００４０】
次に、上述の２）のステップにおける動作プロセスをより詳しく説明すると以下のとおりとなる。
ユーザーから出力指示がなされると、
１．マスキングのための固定（あるいは、一定の）の置換表を持たず、所定のタイミング（例えば、ドキュメント・ファイルの出力リクエストを受信したタイミング）で一時的に有効な（あるいは、所定の期間のみ有効な）文字列置換表（即ち、文字列置換ルール）が、その属性データ（特に、生成時刻（タイム・スタンプ）と共に、生成され、
２．生成された一時的に有効な置換表に基づいて（一時置換ルールに従って）出力対象のドキュメント・ファイルの中のマスキング対象の文字列（マスキング前の文字列）をマスキング後の文字列に置換することで、マスキング後のドキュメント・ファイル（以下、マスク後ドキュメント・ファイル）が生成され、
３．その際、生成された一時的に有効な文字列置換表（一時置換ルール）を、別途、その属性データと共に出力させるための付加情報（タイム・スタンプ（マスキング日時）；出力対象ドキュメント・ファイルの格納先；文字列置換表の格納先（置換ルール格納先）に関する情報）が生成され（URL、QR等）、それが、マスク後ドキュメント・ファイルに付加され、
４．この付加情報を含むマスキング後のドキュメント・ファイルが、ユーザ指定の出力装置に出力される。
５．ここで、文字列置換表（一時置換ルール）は、許可されたユーザー以外は出力できず、かつ、一時的な文字列置換表（置換ルール）であり所定期間経過後は無効になるようにされている。
６．なお、マスキング出力結果に出力されている付加情報を、ユーザー端末で入力すると、認証処理が開始され、文字列置換表（置換ルール）の出力権限のあるユーザーであれば、文字列置換表（置換ルール）の出力が許可される。
【００４１】
（動作プロセスの主要な部分の概要）
上述のプロセスのうち、本発明の核心部分に相当するプロセスの概要について、各ステップの動作の主体は、コンピュータ・プログラムであるマスキング装置ではなく、該マスキング装置を実装したコンピュータ・システムの一種であるマスキング・サーバーであることに留意しつつ記述するとすれば、一例として、以下のようになる。
【００４２】
そのプロセスとは、
マスキング装置制御プログラムを実装したコンピュータ・システムであるマスキング装置（以下、本欄において、便宜上、「マスキング・サーバー」）が、
クライアント・コンピュータからの、マスキング対象ドキュメント・ファイル情報（例えば、ファイルの属性データ）を含むドキュメント・ファイル出力リクエストの受信に呼応して、
文字列置換表生成部のプログラムを立ち上げてそれに従って、所定の期間のみ有効な文字列置換表を、任意の時刻において、その属性データと共に、自動的に生成し、自動生成された該文字列置換表を、その属性データと共に、該サーバー内の記憶装置に格納し、
付加情報生成部のプログラムを立ち上げてそれに従って、付加情報を（適宜、その属性データと共に）生成し、生成された該付加情報を、適宜、その属性データと共に、該サーバー内の記憶装置に格納し、
上記ドキュメント・ファイル出力リクエストにおいて指定されたマスキング対象ドキュメント・ファイルの出力リクエスト（当該ファイルの属性データを含むリクエスト・コマンド）を、上記マスキング・サーバーと通信ネットワークで情報接続された業務システム・サーバーに送信し、
該業務システム・サーバーが、
該マスキング対象ドキュメント・ファイル出力リクエストの受信に呼応して、
ドキュメント・ファイル入出力制御部のプログラムを立ち上げてそれに従って、該サーバー内のドキュメント・ファイル記憶装置から、指定されたマスキング対象ドキュメント・ファイルを取得し、取得した該マスキング対象ドキュメント・ファイルを上記マスキング・サーバーに送信し、
該マスキング・サーバーが、
業務システム・サーバーからの、マスキング対象ドキュメント・ファイルの受信に呼応して、
マスキング処理部のプログラムを立ち上げてそれに従って、該サーバー内の記憶装置から、上記属性データを目印に、上記文字列置換表及び上記付加情報を取得して、該文字置換対応表に基づいて、上記マスキング対象ドキュメント・ファイルのマスキングを行なうと共に、該マスキングされたドキュメント・ファイルに付加情報を加え、
マスキングされ、かつ、付加情報が加えられた該ドキュメント・ファイルをその属性データと共に該サーバー内の記憶装置に格納し、
出力指示部のプログラムを立ち上げてそれに従って、該サーバー内の記憶装置に格納された、マスキングされ、かつ、付加情報が加えられたドキュメント・ファイルを出力装置に送信する
と言うプロセスである。
【００４３】
本発明に係るプロセスにおける主要なイベントに注目しつつプロセスの主要部分（主要部分のフローチャート）の概要を例示的に図示すると図７のように表現できる。
【００４４】
図７におけるプロセスのスタートからステップ１０００までの間における主要なイベントに注目してその部分のプロセスの概要を例示的に図示すると図８のように表現できる。
【００４５】
また、図７に記載のプロセスのコア部分（コア部分のフローチャート）の周辺プロセスを含む全体プロセスの概要を例示的に図示すると図８のように表現できる。
【００４６】
なお、マスキングの対象となる文字列の特定方法については、
（ｉ）マスキング・サーバーが、出力対象となる文字列の属性（又はデータの項目属性）から、機密事項としての置換前文字列(即ち、マスキング対象文字列)を、同サーバー上に構成されたコンピュータ・プログラムを該サーバーが立ち上げてそれに従って自動的に判断して、その判断に基づいて、特定する方法と、
（ｉｉ）ユーザーが予め設定・特定する方法と
があり得る。
【００４７】
上記（ｉ）の場合、マスキング対象のドキュメント・ファイルが、以下説明する図１０（又は図１１）に例示的に図示された帳票形式のファイルの場合には、マスキング対象となる文字列は、該帳票の「顧客先名」の欄にのみ出現するので、その欄に含まれる全ての文字列を対象とすれば足りるので、該帳票の「顧客先名」の欄の各エントリーの文字列データを格納するメモリーのアドレス情報を基に、公知のデータ・マネジメント方法によって設定できる。
【００４８】
（マスキング対象文字列の中の各文字の置換方法（プロセス）の概要）
本発明における文字列のマスキング方法の基本は、対象となる文字列の全てをマスキングする（例えば、墨塗りする、あるいは、一般の日本人には識別できない外国語の文字等で文字列の全ての文字を置換する等）のではなく、その文字列を構成する個々の文字を、日本語の文字としては通常使用されない、あるいは、通常認識されることのない記号又は文字（例えば、△記号、●記号、ギリシャ文字、キリル文字等の外国語に使用される文字、その他アルファベット等）に置換することで達成できる。なお、アルファベットを使用するときは、マスキング処理部のサブ・プログラムに、マスキング後の個々の文字を含む文字列（即ち、マスキング対象文字列）の全体の長さに亘って、カラー化、太文字化、斜体化、下線を付すなどして、マスキング後のドキュメント・ファイルを出力したときに、閲覧権限を有する関係者（出力指示した者等を含む）において、どこの文字（又は記号）からどこまでの文字（又は記号）がマスキング対象文字列の範囲であったことが容易に理解できるように構成するのが好適である。
【００４９】
次に、マスキング対象文字列を構成する個々の文字を置換する方法（プロセス）の概要を以下説明する。
１）先ず、マスキング対象文字列を構成する個々の文字を置換するときに使用する記号・文字（以下、「置換後文字」）を上述のような記号及び外国語文字から適宜選択して（この選択方法には特に限定はなく、例えば、使用できる記号を先に全て羅列して、それに後続する形式で、外国語文字の全てを順次羅列することで対応可能である）、置換後文字の一連の総合置換文字列を準備する。
２）次に、上述の方法で設定した個々のマスキング対象文字列を、それぞれ、前後の間に何ら空白スペースが生じない形式で羅列して、総合マスキング対象文字列を準備する。
３）次に、上記総合マスキング対象文字列と、上記総合置換文字列とを、総合文字列の先頭から、それぞれに、同じ順位番号を付与して、それらの各要素が相互に１対１に対応する形式に対応付けをする。
４）次に、コンピュータ・システムに、公知の乱数発生プログラムのうちの任意のプログラムに基づいて、乱数（又は疑似乱数）を発生させて、その乱数列を準備する。
５）次に、上記総合マスキング対象文字列の先頭から始めて、個々のマスキング対象文字列の長さ（文字数）を指標にして、マスキング対象文字列を切り出す。
６）次に、上記乱数列の先頭から始めて、各数値（出現する数値は、０と１〜９の整数である）が、整数の場合のみ、その数値を取り出して、その取り出した数値が、上記切り出されたマスキング対象文字列の文字数以下の場合にのみ、マスキング対象文字列の先頭から数えた順位のうち、その取り出された数値の整数に対応する順位の文字を一つ、上記対応付けに基づいて、上記置換後文字に置換する。
【００５０】
なお、本発明においては、マスク率の程度（例：大→中→小、等）をユーザーが設定できるように構成することも可能である（例えば、マスク率が小の場合は、マスキング対象の文字列のカウントした文字数の1/5をマスク、中の場合は1/3、大の場合は1/2など）が、それを可能とするプロセスは、以下のとおりである。
１）上述の方法により、マスキング対象文字列を特定（例：オーイリ食品）
２）特定されたマスキング対象文字列の文字数をカウント（例：6文字）
３）カウントした文字数（例：6）以下の整数（当然、ゼロは除く）となるような乱数（又は疑似乱数）を任意のセキュリティ・レベルに相当する数だけ、公知の乱数生成プログラムをコンピューター・システムに実行させて生成させる（例：生成させる乱数の数が２つの場合（1, 5））
４）マスキング対象文字列の先頭から数えた順位のうち、生成させた乱数に対応する数値に対応する順位にあるマスキング前の文字をマスキング後の文字に置換する
（例：1番目と5番目  ⇒●ーイリ▲品
なおこの例示の場合の置換ルールは「オ＝●・食＝▲」。）
【００５１】
また、マスキング対象となるドキュメント・ファイルが、以下説明する図１０（又は図１１）に例示的に図示された帳票ファイルの場合には、別の方法として、以下のような方法によることも可能である。即ち、この場合は、マスキング対象となる文字列は、該帳票の「顧客先名」の欄にのみ出現するので、その欄に含まれる全ての文字列を、各文字列の前又は後に空白スペースを挿入して仮想文字列を作成して、その仮想文字列の長さを、「顧客先名」の欄の各エントリー・スペースの長さと一致させて、この仮想文字列を、その空白スペースを含んだまま、一連の数珠繋ぎの文字列（以下、仮想総合文字列））とみなして、その仮想総合文字列について、単独文字列のマスキング方法と同様な方法でもってマスキング処理して、次に、このようにしてマスキング処理した仮想文字列を、「顧客先名」の欄の各エントリー・スペースの長さ毎に、一つずつ順番に分断して、マスキング前の文字列と１対１で対応するマスキング後の文字列を生成することが可能である（（例えば、「顧客先名」の欄の各エントリー・スペースが、１０バイトのデータ・スペースであって、その中に、最長６バイトの文字列が一つの顧客先名として含まれていて、該エントリー・スペースの数が５つであったとすれば（即ち、「顧客先名」の欄の顧客先名の総数が５つ）、この一連の数珠繋ぎの仮想総合文字列は、全長、５０バイトの仮想総合文字列とみなしてマスキング処理するのである。）。
【００５２】
なお、このような仮想総合文字列とみなしてマスキング処理する場合には、後述するランダム方式でランダムに文字を置換したとしても、置換前の仮想文字列の中に含まれている空白スペースには文字が存在しないところ、その存在しない空白スペースに対して意味の無い置換操作が為されて、その分の単位操作が無駄になり、かかる単位操作の総数でもって、マスキング処理によるセキュリティ・レベルをコントロールする場合には、実際のセキュリティ・レベルと、仮想のセキュリティ・レベルとに乖離が生じるので、そのような乖離が生じないような対応策が必要となる。
【００５３】
この対策の一つの例として、マスキング対象の文字列の中に含まれている文字（あるいは、空白スペース）を置換する前に、対応するスペースに文字が含まれているか否かの判断ステップを設け、含まれていない場合には、対応するスペースに、隣接する後続のスペースについて同様な判断をして、その判断に応じて、置換操作を継続（場合によっては、DOループ的に継続）することで対応可能である。
【００５４】
次に、上記の方法でマスキング処理（以下、「先行時点マスキング処理」）した後、後続の時点（例えば、数日経過した後の時点）で、同じマスキング対象文字列をマスキングする場合（以下、「後続時点マスキング処理」の場合）には、先行時点マスキング処理された文字列については、その文字列を構成する文字のうち、先行時点マスキング処理のときにマスキングされた文字（即ち、置換された記号・文字）を、全てのマスキング処理の前の元の文字に逆置換した上で、これら以外の文字について、上述の方法で文字置換する。こうすることで、マスキング後のドキュメント・ファイルの出力イベントが相互に隣接する（即ち、相互に隣り合う２つの出力イベントの間に、何ら、文字列置換表が新たに生成されない）形態で出力されたそれら二つのドキュメント・ファイルを、例えば、上下（又は左右）に並置して対比検討すれば、マスキング前の文字列が特定できるので、印刷できる人（業務システムの利用権限がある者等）にとっては、かかる出力を連続して行うことができさえすれば、全てのマスキング前の元の文字列が特定できると言う、本発明の作用効果上の一つの特徴が担保されるのである。
【００５５】
また、この「かかる出力を連続して行うことができさえすれば」と言う要件に注目して、公知のセキュリティ維持方法により、印刷できる人（業務システムの利用権限がある者等）以外の者が連続して出力できないようなセキュリティ維持プロセスを、本発明に係るプロセスに、更に、加えてもよい。
【００５６】
（ランダム的マスキング法）
本発明において、マスキング対象文字列を構成する個々の文字を、ランダムに、置換後の個々の文字に置換する方法として、以下２つの方法があり、本発明に係るマスキング装置においては、そのいずれかの方法に基づく動作プロセスを実行するためのソフトウェア・プログラム・モジュールが実装されており、その場合、マスキング処理部の中に構成、又は、マスキング処理部のサブルーティン・プログラムとして構成されていてもよい。なお、そのいずれの場合も、そのプログラムのインヴォケーション（又はコール）は、マスキング処理のタイミングであることは言うまでもない。
第１の方法：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、マスキング・サーバーが受信する
２）マスキング・サーバーが、当該ドキュメント・ファイルの中に含まれている機密事項に対応するマスキング対象文字列を特定（例：オーイリ食品）
３）マスキング・サーバーが、文字数をカウント（例：6文字）
４）マスキング・サーバーが、コンピュータによる公知の擬似乱数生成プロセスにより、カウントした文字数（マスキング対象文字列の文字数；例：6）以下の整数となるような擬似乱数を、ユーザーにより指定されたマスク率に応じて、特定の個数だけ生成する（例：1, 5、マスク率1/2）
（なお、本発明においては、マスク率の程度（例：大→中→小、等）をユーザーが設定できるようにされている。例えば、マスク率が小の場合は、カウントした文字数の1/5をマスク、中の場合は1/3、大の場合は1/2など。（例：6文字で、マスク率が中の設定であれば、生成する乱数の数は6*(1/3)=2）） 
５）マスキング・サーバーが、マスキング対象文字列の先頭から一つずつ文字数を数えて、この生成された擬似乱数に対応する文字の位置を置換対象文字の位置と決定する（例：1, 4, 5番目 ⇒●ーイ●●品：なおこの例における置換ルールは「オーイリ食品の1, 4, 5番目を●にする」。）
６）マスキング・サーバーが、上記の方法で生成された時刻(Time n-１)における文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの記憶装置に格納する。
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、マスキング・サーバーが受信する；
（なお、ここで、前の時点（Time n-1）と今回の時点（Time n）との間には、何ら、同一の元となるドキュメント・ファイルの出力リクエストを、マスキング・サーバーが受信していないものとする。）
８）マスキング・サーバーが、その記憶装置内に格納されている上記ログ情報データを参照して、上記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、マスキング・サーバー内の記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定（例：1, 4, 5番目）（即ち、前回置換された文字の位置を特定する）；
９）マスキング・サーバーが、ここで特定された置換対象文字以外の文字（但し、マスキング対象文字列の中に含まれている文字に限る）から、前回と同様なプロセスを経て、ランダムに、置換対象文字の位置を決定する。
（例：2, 3, 6番目→2, 3, 6番目 ⇒オ●●リ食●）なおこの時点の置換ルールは「オーイリ食品の2, 3, 6番目を●に置換している」。）
【００５７】
第２の方法：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、マスキング・サーバーが受信する
２）マスキング・サーバーが、当該ドキュメント・ファイルの中に含まれている機密事項に対応するマスキング対象文字列を特定（例：オーイリ食品）
３）マスキング・サーバーが、文字数をカウント（例：6文字）
４）マスキング・サーバーが、コンピュータによる公知の擬似乱数生成プロセスにより、カウントした文字数（マスキング対象文字列の文字数；例：6）以下の整数となるような擬似乱数を、１個だけ、生成する（例：1）
５）マスキング・サーバーが、マスキング対象文字列の先頭から一つずつ文字数を数えて、この生成された１個の整数に対応する位置、及び、この１個数の整数に２の整数倍の整数を加算して得られた整数のうち、マスキング対象文字列の文字数の数以下の全ての整数に対応する位置を置換対象文字の位置と決定
（例：1, 3, 5番目 ⇒●ー●リ●品：なおこの時点の置換ルールは「オーイリ食品の1, 3, 5番目を●にしている。）
６）マスキング・サーバーが、上記の方法で生成された時刻(Time n-１)における文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの記憶装置に格納する。
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、マスキング・サーバーが受信する；
（なお、ここで、前の時点（Time n-1）と今回の時点（Time n）との間には、何ら、同一の元となるドキュメント・ファイルの出力リクエストを、マスキング・サーバーが受信していないものとする。）
８）マスキング・サーバーが、その記憶装置内に格納されている上記ログ情報データを参照して、上記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、マスキング・サーバー内の記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定（例：1, 3, 5番目）（即ち、前回置換された文字の位置を特定する）；
９）マスキング・サーバーが、マスキング対象文字列の先頭から一つずつ文字数を数えて、上記８）で特定された位置の整数に１の整数を加えた整数であって、かつ、その全ての整数がマスキング対象文字列の文字数の数以下の場合は、その全ての整数に対応する位置を置換対象文字の位置と決定し、該整数のうち最後に出現する整数がマスキング対象文字列の文字数の数を超える場合は、その最後に出現した整数からマスキング対象文字列の文字数を減じた整数に対応する位置を置換対象文字の位置と決定する。
【００５８】
なお、上記における擬似乱数の生成の方法は、例えば、以下のサイトに紹介されている公知の方法が好適に使用される。
http://msdn.microsoft.com/ja-jp/library/system.random(v=vs.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.security.cryptography.rngcryptoserviceprovider(v=vs.80).aspx
【００５９】
また、本発明においては、上述の構成に代えて、あるいは、上述の構成に加えて、以下のようなバリエーションも可能である。
【００６０】
（マスキング前）
ユーザーが、クライアント・コンピュータのスクリーン上で範囲指定した範囲に含まれる文字列のうち、所定の文字列についてのみマスキング処理できるようにプロセス構成しても良い。この場合のプロセスの概要は以下のようになる。
１）ユーザーが、クライアント・コンピュータを介して、更にマスキング・サーバーを介して、あるいは直接、業務システム・サーバーにアクセスして、ユーザーがそれまでに業務システム・サーバーに格納した一連のドキュメント・ファイルを業務システム・サーバーから取得して、それをクライアント・コンピュータのスクリーン上に画像出力させてそれについてのプレビューを実行する。
２）ユーザーが、クライアント・コンピュータのスクリーン上で、マスキングしたい範囲に含まれる文字列を選定する。
３）次に、クライアント・コンピュータのスクリーン上の印刷実行ボタンをマウスクリックするなどして印刷出力リクエストをマスキング・サーバーに送信すると、上記２）でユーザが指定した範囲に含まれる文字列が上述のいずれかの方法でマスキングされて、出力装置から印字出力される。
【００６１】
なお、上述の場合、業務システム・サーバーの中に構成された業務システム、あるいは業務システム・サーバーと通信ネットワークで情報接続された別個に独立した業務システム（ERP）とデータ交信をしつつ連携するステップを上記プロセスに適宜加えることにより、マスキング対象とするドキュメント・ファイルが図９に例示的に示す帳票ファイルの場合には項目属性を利用することができ、機密情報か否か等の判別が容易になるように発明を構成してもよい。
【００６２】
（マスキング処理プロセスの過程におけるバリエーション）
本発明に係るマスキング装置を実装したマスキング・サーバーに、マスキング処理部に含まれるプログラムを立ち上げてそれに従ってプロセスを実行する際に、マスキング候補を抽出し、マスキングするか否かについての問い合わせを、クライアント・コンピュータに送信して、そのクライアント・コンピュータがそのスクリーン上にその問い合わせを表示して、ユーザーに対して、リコメンドするように構成してもよい。これは、使用予定の文字置換表のファイル・データと印刷出力の対象となるドキュメント・ファイルのデータをクライアント・コンピュータに送信させて、そのスクリーン上でクライアントが対比検討できるように構成することも可能である。また、クライアント・コンピュータ経由のユーザーからの確認レスポンスを待つことなく、マスキング・サーバーに自動で置換させるように本発明を構成してもよい。
【００６３】
上述の置換に加え、置換後文字列の直前若しくは直後又は両端に、更に、置換文字（例えば、記号）を追加するように本発明を構成してもよい。
例：  葵食品  ⇒  ▼葵食●  （この場合▼が追加されている。）
【００６４】
置換文字として上述の記号や外国語文字を使用するのではなく、番号（連番）を使用するように本発明を構成してもよい。こうすることにより、文字置換表（又は置換ルール）との照合が容易になる。
例：  マスキング出力    葵食品  ⇒  (*1)  
一時置換ルール    *1 = 葵食品
【００６５】
また、本発明において、置換ルールを可変としてもよい。例えば、セキュリティ・レベルや、閲覧を許可する相手の属性に応じて、異なる置換ルールを何種類か保持しておいて、その中から、ユーザーが適宜選択できるように本発明を構成してもよい。例えば、マスキング後のドキュメント・ファイルを実際に出力装置に出力させる前に、そのマスキング後のドキュメント・ファイル、又はそれに使用した文字列置換表（又は置換ルール）を、クライアント・コンピュータのスクリーン上に画像出力できるように本発明を構成して、ユーザーが、その画像出力されたマスキング後のドキュメント・ファイル又は文字列置換表（又は置換ルール）を見て、そのユーザーにとって、わかりやすいかまたはわかりにくいかを判断させて、その判断に応じて、マスキング・レベルを修正できるように本発明を構成してもよい。
【００６６】
印字出力ごとの１回の出力時のトナーの使用量が少なくなるような変換ルールを設定できるように本発明を構成してもよい。（例：  株式会社→○  ）
【００６７】
上述の置換後の文字列において重複が無い限り、一文字に変換するように本発明を構成してもよい。こうすることで、使用するトナーのセーブが図られ、不必要な判別困難化を防止することが期待できる。
【００６８】
マスキング対象ドキュメント・ファイルが、帳票ファイルではなく、一般的なドキュメント・ファイルの場合に、置換文字列の直前若しくは直後又は両端に、更に、置換文字（例えば、記号）を追加するように本発明を構成したばあいには、レイアウトがずれてしまう対策として、当初から、マスキング対象文字列に元の文字数分空白を入れるように本発明を構成してもよい。
【００６９】
上述の付加情報には、出力指示をした者の識別番号が含まれるように本発明を構成してもよい。こうすることにより、誰が出力したかが判別できるので、例えば置き忘れている印刷物がだれのものか等を把握することができる。
【００７０】
（マスキング後の処理プロセスについてのバリエーション）
マスキングを外せないように制御するプロセスを本発明の構成の中に加えてもよい。従来は、マスキング機能があっても、マスキングを外す権限のあるユーザーが、外した印刷物を置き忘れるなどすれば、結局情報漏えいにつながるおそれがあったが、上述のような構成とすることで、マスキングを外して印刷することを防止でき、文字列置換表（又は置換ルール）を所持していないかぎり、出力されたマスキング後のドキュメント・ファイルだけからは理解することができなく、また、置換ルール自体も一時的なものであるから、出力されたマスキング後のドキュメント・ファイルに対応する適切な文字列置換表（又は置換ルール）を所持しないかぎり、出力されたドキュメント・ファイルの内容が理解できないので、本発明の目的を達成する上で好都合である。
【００７１】
また、マスキングは、秘密状態が解除されたら（例えば秘密保持契約で定められた期間が満了したら）解除できるように本発明を構成してもよい。
【００７２】
なお、本発明の特徴についての以上の記載における実施形態の機能をコンピュータ・プログラム・コードを記録した媒体を、スタンド・アローン型コンピュータ・システム又は装置に挿入し、そのコンピュータ・システム又は装置に含まれるＣＰＵ又はＭＰＵが当該媒体に格納されたプログラム・コードを読み取って実行させることによっても、本発明の上記目的が達成されることは論を待たない。従って、このような媒体から読みだされたプログラム・コードは、上述の実施形態における各種機能を実現することになり、このプログラム・コードを格納した媒体も本発明を構成する。
【００７３】
また、当該媒体から読み出されたプログラム・コードの指示に基づき、ＯＳ等がプロセスの一部又は全部を行い、そのことにより上述の実施形態の機能が実現される場合も、本発明を構成することは言うまでもない。
【００７４】
さらに、当該媒体から読み出されたコンピュータ・プログラムが、コンピュータ・システムに挿入された機能拡張カードやコンピュータ・システムに情報接続された機能拡張ユニットに具備された記録媒体に書き込まれた後、そのコンピュータ・プログラムの指示に基づいて、その機能拡張カードや機能拡張ユニットに備わるCPUなどが上述のプロセスの一部又は全部を実行し、そのプロセスの結果、上述した実施形態の作用機能が実現される場合も本発明の範囲に含まれることは当業者容易に理解できることである。
【００７５】
また、本発明は、上述した実施形態を実現することができるコンピュータ・プログラムのコードが、通信ネットワークを介して配信されることにより、システムあるいはその装置のハードディスクやメモリ等の記憶装置又はCD−RWやCD−R等の記録媒体に記録され、そのシステム又は装置のコンピュータ（又はCPUやMPU）が当該記録装置や当該記録媒体に記録されたコンピュータ・プログラム・コードを読み出して実行することによっても、本発明の目的が達成でき、従って、本発明を構成することも言うまでもない。
【発明の開示】
【発明の効果】
【００７６】
許可されたユーザー以外の者には、ドキュメント・ファイルの印字出力（又は画像出力）だけを見てもマスキングされた部分の判読はできないが、その印字出力（又は画像出力）と文字列置換表とを照らし合わせることにより、ユーザーは、そのマスキングされた出力結果の内容を確実に理解することができる、という観点においては、従来技術の発明の効果と同様ではあるが、本発明における文字列置換表は、許可されたユーザー以外は出力できず、かつ、一時的にのみ有効であり所定期間経過後は無効になると言う本発明に特有な機能により、ある時点の印字出力（又は画像出力）と、それに１対１で対応する時点に生成された文字列置換表（又は一時置換ルール）とが揃わないかぎり印字出力（又は画像出力）されたドキュメントの内容を理解することはできないので、従来技術によるマスキング方法の場合よりも情報漏えいの可能性を低減させることができる。
【００７７】
その一方で、許可されたユーザーには、マスキング後のドキュメントを複数回数プリントアウト（又は画像出力）してそれらを対比検討すれば、簡便に、マスキングされた箇所を元の文字列に逆戻すことが可能になる、という、相反する効果の相互バランスを取ることが初めて可能となった。
【００７８】
より具体的には、以下のような顕著な作用効果が奏されるのである。
（１）マスク率の程度（例：大→中→小、等）をユーザーが設定できる；
（２）「一時的な（特定の時点ごとの）置換ルール」を用いるので、通常の置換表を用いるマスキングに比べ、その都度、“正しい”（マスキング印刷物に対応する特定の）置換ルールを所持していないかぎり、マスキング印刷物の内容を理解することができないので、より機密性が保たれる；
（３）コンピュータ・システムが、特定の時点で、ランダムに、選択して、ルールとして、記憶するものですから、手動による登録工数、メンテナンス工数等が生じないと期待できる；
（４）キーワードや文章ごとにマスキングする方法にくらべ、トナー使用量も減らすことができる。
【図面の簡単な説明】
【００７９】
【図１】本発明に係るコンピュータ・ネットワーク・システムの全体像である。
【図２】図１に記載の各要素の内部構成の概要を示す。
【図３】本発明のコア部分の説明に係る概念図。
【図４】文字列置換表（Time 1）の一例の概念図。
【図５】文字列置換表の「置換後」の列の１つの要素（エントリー）が、文字列置換表の生成時点の差異によりどのように変化するかの一例を示す概念図。
【図６】本発明に係る各構成要素間でのデータ（コマンド・データ、ドキュメント・データ等）の送受信の概要。
【図７】本発明に係るプロセスの主要な動作イベントに注目した主要プロセス（主要フローチャート）の概要。
【図８】図７に記載のプロセスの一部における動作イベントに注目したプロセス（フローチャート）の概要。
【図９】図７におけるステップ３０００に含まれるサブ・プロセスの概要
【図１０】本発明に係るマスキング方法によるマスキング例。
【図１１】上記図１０−３の置換ルールを上記図１０−１の帳票データのマスキング処理に適用してマスキングした後の出力例
【図１】
2020024743.tif 000003
【図２】
2020024743.tif 000004
【図３】
2020024743.tif 000005
【図４】
2020024743.tif 000006
【図５】
2020024743.tif 000007
【図６】
2020024743.tif 000008
【図７】
2020024743.tif 000009
【図８】
2020024743.tif 000010
【図９】
2020024743.tif 000011
【図１０】
2020024743.tif 000012
【図１１】
2020024743.tif 000013
【手続補正書】
【提出日】令和1年10月30日(2019.10.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
例えば、特許文献２には、機密情報等を含むドキュメント・ファイル（又はドキュメント・データ）をプリンターで印字する際、機密情報等、公知にしたくない部分にマスキングを行うことにより、内容把握できないようにして、機密情報等の漏えいを防ぐという技術が開示されている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
一方、単に内容把握できないようにマスキングするのではなく、「一部を隠ぺいするなどにより、目的読者が閲覧する場合には出来る限り情報の理解を妨げることなく、第三者が閲覧する場合には情報が理解不可能とする」、すなわち“関係者であればわかる”、ようにマスキングする技術が提案されている（例えば、特許文献１）。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
【特許文献１】特開２００２−０８４４１０号公報
【特許文献２】特開２００４−２１３３７６号公報
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
しかしながら、この特許文献１に開示された技術による隠ぺい方法の場合、隠ぺいの程度によっては、関係者以外の者であっても理解できてしまうおそれがあり、これを防ぐために隠ぺいの度合いを高めると、関係者であっても理解できなくなるおそれがあった。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
図４の上図は、時刻（Time 1）において生成された文字列置換表（Time 1）の一例の概念図である（なお、表形式に限定されないことは上述のとおりである）。ここにおいて、置換後文字列（変換後文字列データ）の列の各要素（エントリー）の文字列は、その全体が、出力装置上でカラー表示されるように構成されるのが好ましい。これは、本発明の作用効果上の特徴の一つであるところの、マスキング印刷に関し、権限のない者は内容が把握できないが、権限がある者又は許可された関係者であればわかる、という状態を、マスキング後のドキュメントを複数回数プリントアウトしてそれらを対比検討すれば、簡便に、達成することができるようにする上での一助となる。また、同図には、置換後文字列において、置換された個々の文字が二つ以上連続して現れないように表示されているが、これも、権限のない者は内容が把握できないが、権限がある者又は許可された関係者であればわかる、という状態を、マスキング後のドキュメントを複数回数プリントアウトしてそれらを対比検討すれば、簡便に、達成することができるようにする上での一助となる。但し、置換された個々の文字が二つ以上連続して現れないように動作プロセスを設定することは本発明の必須要件ではないことに留意する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
図４の下図は、図４の上図の文字列置換表（Time 1）の背後に存在する（又は、該文字列置換表を作成する際に使用した一時置換ルールの一部を概念的に示している。この図から容易に理解できるように、本発明においては、置換前の１つの文字に対して、置換後の１つの記号が使用されており、このことにより、該当する文字列をデータとして格納するデータ領域のバイト数が、置換前と置換後とにおいて、全く同一となることが担保されるので、一般的なドキュメント・ファイルの場合であっても、その中のレイアウトに何ら変化が生じないことが担保されている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
（プロセスの概要）
次に、上記のイベント・シーケンスを参照しつつ、本発明に係るマスキング装置（マスキング・サーバー）における主要な動作プロセスの概要を例示的に記述すると以下のようになる。
（１）ユーザーが、クライアント・コンピュータを介して、出力対象のドキュメント・ファイルを、その属性データを使って、指定する（このステップは、ユーザーによるクライアント・コンピュータのマウス又はキーボード上のキーの操作に呼応して、該クライアント・コンピュータが、マスキング・サーバーを経由して、あるいは直接、業務システム・サーバーに、そのドキュメント・ファイル記憶装置に格納されているドキュメント・ファイルを、マスキング・サーバーを経由して、あるいは直接、該クライアント・コンピュータのスクリーン上に画像出力させて、該スクリーン上に出力されたドキュメント・ファイルの中から、出力対象のドキュメント・ファイルを、その属性データを使って、指定する）；
（２）この指定に呼応して、クライアント・コンピュータは、マスキング・サーバーに対して、該指定したドキュメント・ファイルを、その属性データを使って、業務システム・サーバーから取得して、該クライアント・コンピュータ又はプリンター等の出力装置に、マスキング後のドキュメント・ファイルを、アナログ的画像（例えば、印刷文字、文字画像）として出力させる；
この上記（２）のステップの出力の前に、マスキング・サーバー上の文字列置換表生成部が、マスキングの対象となる文字列を、マスキング後の文字列に置換する；
また、このマスキング後の文字列は、その都度、文字列置換表生成部が、自動生成する（なお、本発明においては、上述の文字列置換表（あるいは、その生成における文字列置換ルール）は、その都度生成されて一時的にのみ有効なものであることが作用効果上の特徴の一つでもある）；
なお、マスキングした後のドキュメント・ファイルを出力する必要がない場合は、上記（２）において、マスキング・サーバーは、上述のマスキング・プロセスを全て省略して、通常のプリント・サーバーとして機能する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
次に、上述の（２）のステップにおける動作プロセスをより詳しく説明すると以下のとおりとなる。
ユーザーから出力指示がなされると、
１．マスキングのための固定（あるいは、一定の）の置換表を持たず、所定のタイミング（例えば、ドキュメント・ファイルの出力リクエストを受信したタイミング）で一時的に有効な（あるいは、所定の期間のみ有効な）文字列置換表（即ち、文字列置換ルール）が、その属性データ（特に、生成時刻（タイム・スタンプ）と共に、生成され、
２．生成された一時的に有効な置換表に基づいて（一時置換ルールに従って）出力対象のドキュメント・ファイルの中のマスキング対象の文字列（マスキング前の文字列）をマスキング後の文字列に置換することで、マスキング後のドキュメント・ファイル（以下、マスク後ドキュメント・ファイル）が生成され、
３．その際、生成された一時的に有効な文字列置換表（一時置換ルール）を、別途、その属性データと共に出力させるための付加情報（タイム・スタンプ（マスキング日時）；出力対象ドキュメント・ファイルの格納先；文字列置換表の格納先（置換ルール格納先）に関する情報）が生成され（URL、QR等）、それが、マスク後ドキュメント・ファイルに付加され、
４．この付加情報を含むマスキング後のドキュメント・ファイルが、ユーザ指定の出力装置に出力される。
５．ここで、文字列置換表（一時置換ルール）は、許可されたユーザー以外は出力できず、かつ、一時的な文字列置換表（置換ルール）であり所定期間経過後は無効になるようにされている。
６．なお、マスキング出力結果に出力されている付加情報を、ユーザー端末で入力すると、認証処理が開始され、文字列置換表（置換ルール）の出力権限のあるユーザーであれば、文字列置換表（置換ルール）の出力が許可される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
また、図７に記載のプロセスのコア部分（コア部分のフローチャート）の周辺プロセスを含む全体プロセスの概要を例示的に図示すると図９のように表現できる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
なお、上述の場合、業務システム・サーバーの中に構成された業務システム、あるいは業務システム・サーバーと通信ネットワークで情報接続された別個に独立した業務システム（ERP）とデータ交信をしつつ連携するステップを上記プロセスに適宜加えることにより、マスキング対象とするドキュメント・ファイルが図１０−１に例示的に示す帳票ファイルの場合には項目属性を利用することができ、機密情報か否か等の判別が容易になるように発明を構成してもよい。
【手続補正書】
【提出日】令和1年11月26日(2019.11.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
指定データの出力要求がなされた後に、該指定データ内の対象文字列の中から選定した非固定的な対象部分を隠蔽させる秘匿方針を、有効な前記秘匿方針がない場合に新たに生成する第１手段と、
前記第１手段により新たに生成された前記秘匿方針を、前記出力要求に係る前記指定データ内の前記対象部分が隠蔽される前に、限定的に有効な秘匿方針として設定する第２手段と、
を備える情報処理装置。
【請求項２】
前記第１手段が、前記対象部分をランダムに選定する、
請求項１に記載の情報処理装置。
【請求項３】
前記第１手段が、前記対象部分を直近の前記秘匿方針における対象部分と同一にならないように選定する、
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記第２手段が、前記第１手段により新たに生成された前記秘匿方針に、有効性に関する条件を付加する、
請求項１から請求項３までのいずれかに記載の情報処理装置。
【請求項５】
前記第１手段が、前記出力要求がなされる度に、有効な前記秘匿方針があるか否かを判定することなく、前記秘匿方針を新たに生成し、
前記第２手段が、使用回数を１回に限定する前記条件を付加する、
請求項４に記載の情報処理装置。
【請求項６】
前記第１手段が、有効な前記秘匿方針がないと判定された場合に限り前記秘匿方針を新たに生成し、
前記第２手段が、使用回数，使用期間，使用期限のうち少なくともいずれかを限定する前記条件を付加する、
請求項４に記載の情報処理装置。
【請求項７】
指定データの出力要求がなされた後に、該指定データ内の対象文字列の中から選定した非固定的な対象部分を隠蔽させる秘匿方針を、有効な前記秘匿方針がない場合に新たに生成する第１段階と、
前記第１段階において新たに生成された前記秘匿方針を、前記出力要求に係る前記指定データ内の前記対象部分が隠蔽される前に、限定的に有効な秘匿方針として設定する第２段階と、
を含む、コンピュータの制御方法。
【請求項８】
指定データの出力要求がなされた後に、該指定データ内の対象文字列の中から選定した非固定的な対象部分を隠蔽させる秘匿方針を、有効な前記秘匿方針がない場合に新たに生成する第１機能と、
前記第１機能により新たに生成された前記秘匿方針を、前記出力要求に係る前記指定データ内の前記対象部分が隠蔽される前に、限定的に有効な秘匿方針として設定する第２機能と、
をコンピュータに実現させる制御プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、個人情報のようなセンシティブな記載内容を含むドキュメント（例えば、顧客先名等を含む帳票等）の中において秘匿すべき記載箇所をマスキングする手法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明が解決しようとする課題は、権限のない者は印字出力（又は画像出力）された秘匿後のデータを見ても秘匿された内容を把握することができないが、権限がある者又は許可された関係者であればその内容がわかるという状態を、簡便に、達成することである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
〔Ａ〕上記課題を解決するため、本発明の一態様である「情報処理装置」は、指定データの出力要求がなされた後に、該指定データ内の対象文字列の中から選定した非固定的な対象部分を隠蔽させる秘匿方針を、有効な前記秘匿方針がない場合に新たに生成する第１手段と、前記第１手段により新たに生成された前記秘匿方針を、前記出力要求に係る前記指定データ内の前記対象部分が隠蔽される前に、限定的に有効な秘匿方針として設定する第２手段と、を備える。
〔Ｂ〕上記課題を解決するため、本発明の一態様である「コンピュータの制御方法」は、指定データの出力要求がなされた後に、該指定データ内の対象文字列の中から選定した非固定的な対象部分を隠蔽させる秘匿方針を、有効な前記秘匿方針がない場合に新たに生成する第１段階と、前記第１段階において新たに生成された前記秘匿方針を、前記出力要求に係る前記指定データ内の前記対象部分が隠蔽される前に、限定的に有効な秘匿方針として設定する第２段階と、を含む。
〔Ｃ〕上記課題を解決するため、本発明の一態様である「制御プログラム」は、指定データの出力要求がなされた後に、該指定データ内の対象文字列の中から選定した非固定的な対象部分を隠蔽させる秘匿方針を、有効な前記秘匿方針がない場合に新たに生成する第１機能と、前記第１機能により新たに生成された前記秘匿方針を、前記出力要求に係る前記指定データ内の前記対象部分が隠蔽される前に、限定的に有効な秘匿方針として設定する第２機能と、をコンピュータに実現させる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
上記〔Ａ〕の「情報処理装置」に、下記の技術的限定を加えてもよい。また、同様の技術的限定を上記〔Ｂ〕の「コンピュータの制御方法」及び上記〔Ｃ〕の「制御プログラム」に加えてもよい。
・前記第１手段が、前記対象部分をランダムに選定する。
・前記第１手段が、前記対象部分を直近の前記秘匿方針における対象部分と同一にならないように選定する。
・前記第２手段が、前記第１手段により新たに生成された前記秘匿方針に、有効性に関する条件を付加する。
・前記第１手段が、前記出力要求がなされる度に、有効な前記秘匿方針があるか否かを判定することなく、前記秘匿方針を新たに生成し、前記第２手段が、使用回数を１回に限定する前記条件を付加する。
・前記第１手段が、有効な前記秘匿方針がないと判定された場合に限り前記秘匿方針を新たに生成し、前記第２手段が、使用回数，使用期間，使用期限のうち少なくともいずれかを限定する前記条件を付加する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
（付記）
［１］課題
しかしながら、この特許文献１に開示された技術による隠ぺい方法の場合、隠ぺいの程度によっては、関係者以外の者であっても理解できてしまうおそれがあり、これを防ぐために隠ぺいの度合いを高めると、関係者であっても理解できなくなるおそれがあった。
そこで、本発明においては、権限のない者は印字出力（又は画像出力）されたマスキング後のドキュメントを見てもその内容が把握できないが、権限がある者又は許可された関係者であればわかるという状態を、簡便に、達成することができるようにすることを目的とする。
本発明においては、また、以下の事項をそれぞれ別個に又は同時に達成することを目的とする。
（１）マスク率の程度（例：大→中→小、等）をユーザーが設定できる動作プロセス（ソフトウェア・プログラム構成）；
（２）コンピュータ・システムによるマスキング動作において、「一時的な（特定の時点ごとの）置換ルール（又はその置換ルールに基づく置換表）」を用いることを可能にする；
（３）マスキング対象となる文字列を構成する個々の文字を、置換ルール（又は置換表）に従って置換するに際して、コンピュータ・システムが生成する擬似乱数に基づいて、ランダムに置換；
本発明は、また、ユーザーからのリクエストに応じて、マスキングされた部分を、コンピュータ又はマニュアル式により元の状態に逆戻しするために必要なマスキング・ルールに関する情報をプリンター等に印字出力したり、あるいは、クライアント・コンピュータのスクリーンに画像出力したりすることを可能にすることを目的とする。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
［２］解決手段
本願に係る第１の発明は、
マスキング装置制御ソフトウェア・プログラムが実装されたマスキング装置であって、マスキング装置制御ソフトウェア・プログラムが、
文字列置換表生成部と；
マスキング処理部と；
出力指示部と；
を有し、
該マスキング装置が、
文字列置換表生成部のプログラムに従って、該マスキング装置と通信ネットワークを介してデータ交信するクライアント・コンピュータから受信したリクエストに呼応して、所定の期間のみ有効な文字列置換表（又は置換ルール）を、任意の時刻において、自動的に生成し、次に、自動生成された文字列置換表（又は置換ルール）を、該マスキング装置の内部（又は外部）の記憶装置に格納し；
マスキング処理部のプログラムに従って、
ｉ）通信ネットワークを介して該マスキング装置とデータ交信する業務システム・サーバーと交信して、マスキング対象のドキュメント・ファイルを取得し、該取得したドキュメント・ファイルを、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該マスキング装置の内部（又は外部）の記憶装置に格納し；
ｉｉ）前記記憶装置から、前記文字列置換表（又は置換ルール）、前記ドキュメント・ファイルを取出して、該取り出した文字列置換表（又は置換ルール）に基づいて、前記ドキュメント・ファイルに含まれる置換前文字列のデータを置換後文字列のデータに置換することでマスキング処理を実行して、マスキング後のドキュメント・ファイルを作成し、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該マスキング装置とデータ交信する出力装置に送信する、
ことを特徴とするマスキング装置。
本願に係る第２の発明は、
前記置換後文字列のデータが、前記置換前文字列の中から前記マスキング装置がランダムに選んだ文字を、マスク文字に置換したものであり、該ランダムに選ぶプロセスが、前記マスキング装置が自動生成した乱数に基づくことで該ランダム性を担保していることを特徴とする請求項１に記載のマスキング装置。
本願に係る第３の発明は、
前記マスキング装置制御ソフトウェア・プログラムが、更に、認証処理部を有し、
該マスキング装置は、前記マスキング処理部のプログラムに従って実行する前記ｉｉ）のステップに後続して、前記生成された前記文字列置換表（又は置換ルール）及び／又は前記作成されたマスキング後のドキュメント・ファイルと１対１の相互関連対応の形態でもって、それらのログ情報データを生成し、それらを前記憶装置に格納することを特徴とし；
該マスキング装置は、更に、以下のプロセスを実行するように構成されたことを特徴とする請求項１〜２のいずれか１項に記載のマスキング装置：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、受信し；
２）前記ドキュメント・ファイルの中に含まれているマスキング対象文字列を特定し；
３）前記特定されたマスキング対象文字列の文字数をカウントし；
４）コンピュータによる公知の擬似乱数生成プロセスにより、前記カウントした文字数（マスキング対象文字列の文字数）以下の整数となるような擬似乱数を、ユーザーにより指定されたマスク率に応じて、特定の個数だけ生成し；
５）マスキング対象文字列の先頭から一つずつ文字数を数えて、前記生成された擬似乱数に対応する文字の位置を置換対象文字の位置と決定し；
６）上記の方法で生成された時刻(Time n-１)に対応する文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの内部（又は外部）の記憶装置に格納し；
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、受信したときは、以下のプロセスを実行する；
８）前記記憶装置内に格納されている前記ログ情報データを参照して、前記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、マスキング・サーバー内の記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定し；
９）前記特定された置換対象文字以外の文字（但し、マスキング対象文字列の中に含まれている文字に限る）から、上記と同様なプロセスを経て、ランダムに、置換対象文字の位置を決定し；
１０）前記決定された位置にある置換対象文字を、前記文字列置換表（又は置換ルール）に基づいて、マスキング処理する。
本願に係る第４の発明は、
前記マスキング装置制御ソフトウェア・プログラムが、更に、認証処理部を有し、
該マスキング装置は、前記マスキング処理部のプログラムに従って実行する前記ｉｉ）のステップに後続して、前記生成された前記文字列置換表（又は置換ルール）及び／又は前記作成されたマスキング後のドキュメント・ファイルと１対１の相互関連対応の形態でもって、それらのログ情報データを生成し、それらを前記憶装置に格納することを特徴とし；
該マスキング装置は、更に、以下のプロセスを実行するように構成されたことを特徴とする請求項１〜２のいずれか１項に記載されたマスキング装置：
１）１つの時点（Time n-１）において、クライアント・コンピュータから、ドキュメント・ファイルの出力リクエストを、受信する
２）前記ドキュメント・ファイルの中に含まれているマスキング対象文字列を特定し；
３）前記マスキング対象文字列の文字数をカウントし；
４）コンピュータによる公知の擬似乱数生成プロセスにより、前記カウントした文字数以下の整数となるような擬似乱数を、１個だけ、生成し；
５）マスキング対象文字列の先頭から一つずつ文字数を数えて、前記生成された１個の整数に対応する位置、及び、前記１個数の整数に２の整数倍の整数を加算して得られた整数のうち、マスキング対象文字列の文字数の数以下の全ての個数の整数に対応する位置を置換対象文字の位置と決定し；
６）上記の方法で生成された時刻(Time n-１)における文字列置換表（又は置換ルール）を、そのログ情報データと共に、マスキング・サーバーの内部（又は外部）の記憶装置に格納し；
７）次の時点（Time n）において、クライアント・コンピュータから、同一の元となるドキュメント・ファイルの出力リクエストを、受信したときは以下のプロセスを実行する；
（但し、前の時点（Time n-1）と今回の時点（Time n）との間には、何ら、同一の元となるドキュメント・ファイルの出力リクエストを、受信していないものとする。）
８）マスキング・サーバーの内部（又は外部）の記憶装置内に格納されている前記ログ情報データを参照して、前記同一の元となるドキュメント・ファイルの出力リクエストが前の時点（Time n-1）で受信していることを確認した場合には、前記記憶装置の中に格納されている前の時点（Time n-1）に対応する文字列置換表（又は置換ルール）を参照して、前の時点（Time n-1）に対応する置換対象文字の位置を特定し；
９）マスキング・サーバーが、マスキング対象文字列の先頭から一つずつ文字数を数えて、上記８）で特定された位置の整数に１の整数を加えた整数であって、かつ、その全ての整数がマスキング対象文字列の文字数の数以下の場合は、その全ての整数に対応する位置を置換対象文字の位置と決定し、該整数のうち最後に出現する整数がマスキング対象文字列の文字数の数を超える場合は、その最後に出現した整数から１の整数を減じた整数に対応する位置を置換対象文字の位置と決定し；
１０）前記決定された位置にある置換対象文字を、前記文字列置換表（又は置換ルール）に基づいて、マスキング処理する。
本願に係る第５の発明は、
前記マスキング装置制御ソフトウェア・プログラムが、更に、付加情報生成部を有し、
前記マスキング装置が、
前記マスキング処理部のプログラムを立ち上げる前に、付加情報生成部のプログラムに従って、付加情報を生成し、該生成された付加情報を、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該マスキング装置の内部（又は外部）の記憶装置に格納し；
前記マスキング処理部のプログラムに従って、前記ｉｉ）のステップに後続して、前記記憶装置から、前記文字列置換表（又は置換ルール）に対応する付加情報と、前記マスキング後のドキュメント・ファイルを取出して、該マスキング後のドキュメント・ファイルに該付加情報を付加して、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記付加情報の加えられた前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該マスキング装置とデータ交信する出力装置に送信する、
ことを特徴とする請求項１〜４のいずれか１項に記載のマスキング装置。
本願に係る第６の発明は、
マスキング装置制御ソフトウェア・プログラムであって、
文字列置換表生成部と；
マスキング処理部と；
出力指示部と；
を有し、
その使用時において、該マスキング装置制御ソフトウェア・プログラムを実装した任意のコンピュータ・システムが、
文字列置換表生成部のプログラムに従って、該コンピュータ・システムと通信ネットワークを介してデータ交信するクライアント・コンピュータから受信したリクエストに呼応して、所定の期間のみ有効な文字列置換表（又は置換ルール）を、任意の時刻において、自動的に生成し、次に、自動生成された文字列置換表（又は置換ルール）を、該コンピュータ・システムの内部（又は外部）の記憶装置に格納し；
マスキング処理部のプログラムに従って、
ｉ）通信ネットワークを介して該コンピュータ・システムとデータ交信する業務システム・サーバーと交信して、マスキング対象のドキュメント・ファイルを取得し、該取得したドキュメント・ファイルを、前記生成された文字列置換表（又は置換ルール）と１対１の対応で関連付けた形態で、該コンピュータ・システムの内部（又は外部）の記憶装置に格納し；
ｉｉ）前記記憶装置から、前記文字列置換表（又は置換ルール）、前記ドキュメント・ファイルを取出して、該取り出した文字列置換表（又は置換ルール）に基づいて、前記ドキュメント・ファイルに含まれる置換前文字列のデータを置換後文字列のデータに置換することでマスキング処理を実行して、マスキング後のドキュメント・ファイルを作成し、それを前記記憶装置に格納し；
出力指示部のプログラムに従って、前記マスキング後のドキュメント・ファイルを、前記記憶装置から取り出して、それを、通信ネットワークを介して該コンピュータ・システムとデータ交信する出力装置に送信する、
ことを特徴とするマスキング装置制御ソフトウェア・プログラム。
（本発明の概要）
本発明においては、クライアント・コンピュータあるいはクライアント・コンピュータと通信ネットワーク（例えば、Local Area Network (LAN)等）で情報接続されたサーバー内に格納されたデジタル化されたドキュメント等（例えば、帳票等、以下、「ドキュメント等」又は「ドキュメント・ファイル」）のうち、ユーザーが指定するドキュメント・ファイルを、当該通信ネットワークで情報接続されて複数のクライアント・コンピュータ間で共有されるプリンター等に印字出力するときに、当該ドキュメント・ファイルの中に含まれるセンシティブな部分（閲覧権限を有する者又は閲覧許諾関係者以外の者への開示・漏洩を防止したい部分）に含まれる文字又は文字列等の少なくとも一部を所定のマスク文字（又はマスク記号等）に置換して隠蔽した上で当該プリンター等に印字出力できるように構成されている。
なお、このとき、その置換の対象となる文字を含む文字列全体をマスキングするのではなく、該文字列を構成する個々の文字のうちから以下詳述する方法によりランダムに選んで、それをマスク文字（又はマスク記号）に置換できるように構成されている。
本発明においては、また、このようなマスキングを行うに際して、クライアント・コンピュータを介してユーザーがドキュメント等の印字出力リクエストをマスキング・サーバー（即ち、上記制御プログラムが実装されたコンピュータ・システム）が受信した時点において、該コンピュータ・システムがその都度マスキング・ルール（例えば、マスキング前の文字列となるマスキング対象文字列とそのマスキング後の文字列とを１対１の対応関係で保持する文字列置換表）を自動生成して、そのマスキング・ルールに従ってマスキング操作を実行できるように構成されている。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
［３］効果
許可されたユーザー以外の者には、ドキュメント・ファイルの印字出力（又は画像出力）だけを見てもマスキングされた部分の判読はできないが、その印字出力（又は画像出力）と文字列置換表とを照らし合わせることにより、ユーザーは、そのマスキングされた出力結果の内容を確実に理解することができる、という観点においては、従来技術の発明の効果と同様ではあるが、本発明における文字列置換表は、許可されたユーザー以外は出力できず、かつ、一時的にのみ有効であり所定期間経過後は無効になると言う本発明に特有な機能により、ある時点の印字出力（又は画像出力）と、それに１対１で対応する時点に生成された文字列置換表（又は一時置換ルール）とが揃わないかぎり印字出力（又は画像出力）されたドキュメントの内容を理解することはできないので、従来技術によるマスキング方法の場合よりも情報漏えいの可能性を低減させることができる。
その一方で、許可されたユーザーには、マスキング後のドキュメントを複数回数プリントアウト（又は画像出力）してそれらを対比検討すれば、簡便に、マスキングされた箇所を元の文字列に逆戻すことが可能になる、という、相反する効果の相互バランスを取ることが初めて可能となった。
より具体的には、以下のような顕著な作用効果が奏されるのである。
（１）マスク率の程度（例：大→中→小、等）をユーザーが設定できる；
（２）「一時的な（特定の時点ごとの）置換ルール」を用いるので、通常の置換表を用いるマスキングに比べ、その都度、“正しい”（マスキング印刷物に対応する特定の）置換ルールを所持していないかぎり、マスキング印刷物の内容を理解することができないので、より機密性が保たれる；
（３）コンピュータ・システムが、特定の時点で、ランダムに、選択して、ルールとして、記憶するものですから、手動による登録工数、メンテナンス工数等が生じないと期待できる；
（４）キーワードや文章ごとにマスキングする方法にくらべ、トナー使用量も減らすことができる。