(57)【特許請求の範囲】
【請求項１】
運用体制の基本機能としてアプリケーションと独立してデータを保存及び抽出して伝達するクリップボード管理システムと連動して、クリップボードに保存されたデータを保護するクリップボード保護システムにおいて、
前記クリップボードにデータを保存しようとする客体が信頼できる信頼客体である場合に、前記クリップボードに保存されるデータに付与された第１識別情報を、既定の第２識別情報に変更して管理し、前記信頼客体が前記クリップボードに保存されているデータの抽出を要請する場合に、抽出の要請された読み取り対象データの識別情報に対応する第２識別情報を出力する識別情報管理部と、
前記クリップボードに保存されるデータを暗号化して出力し、前記クリップボードから読み出された暗号化されたデータを復号して出力するデータ保護部と、
前記暗号化された保安データを前記第２識別情報と連係して前記クリップボードに記録するように前記クリップボード管理システムに要請し、前記信頼客体から前記クリップボードに保存されているデータの抽出要請が入力されれば、前記クリップボード管理システムに前記読み取り対象データの識別情報に対応する第２識別情報を伝達し、前記クリップボードから暗号化された保安データを読み出して提供することを要請する制御部と、を備えることを特徴とするクリップボード保護システム。
【請求項２】
前記制御部は、前記クリップボード管理システムから、前記読み取り対象データの識別情報の存否についての確認要請に対応して、前記読み取り対象データが存在していないと知らせる応答が入力されれば、前記識別情報管理部に前記読み取り対象データの識別情報を提供して、前記読み取り対象データの識別情報に対応する第２識別情報の提供を要請し、前記識別情報管理部から提供された前記読み取り対象データの識別情報に対応する第２識別情報を前記クリップボード管理システムに伝達して、前記クリップボードから暗号化された保安データの提供を要請することを特徴とする請求項１に記載のクリップボード保護システム。
【請求項３】
前記第１識別情報は、前記信頼客体がクリップボードに／から保存／抽出しようとするデータについて付与したデータ形式に関する識別子であり、運用体制で基本的に提供する標準クリップボードフォーマット（Ｓｔａｎｄａｒｄ  Ｃｌｉｐｂｏａｒｄ  Ｆｏｒｍａｔ）及びユーザが任意に作成して登録したユーザ登録クリップボードフォーマット（Ｒｅｇｉｓｔｅｒｅｄ  Ｃｌｉｐｂｏａｒｄ  Ｆｏｒｍａｔ）のうちいずれか一つであることを特徴とする請求項１または２に記載のクリップボード保護システム。
【請求項４】
前記第２識別情報は、前記識別情報管理部によって前記第１識別情報それぞれに固有に付与されるデータ形式に関する識別子であり、前記ユーザ登録クリップボードフォーマットと同じ形式を持つことを特徴とする請求項３に記載のクリップボード保護システム。
【請求項５】
前記信頼客体は、デジタル著作権管理（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ：ＤＲＭ）が適用される客体であることを特徴とする請求項１または２に記載のクリップボード保護システム。
【請求項６】
前記制御部は、前記信頼客体が管理する下位客体のうちＤＲＭが適用された下位客体のデータ保存要請時に、前記識別情報管理部に前記第１識別情報を提供して、識別情報の変換及びデータの暗号化が行われた後で前記クリップボードに保存されるように制御することを特徴とする請求項５に記載のクリップボード保護システム。
【請求項７】
前記制御部は、前記信頼客体が管理する下位客体のうちＤＲＭが適用された下位客体のデータ抽出要請時に、前記クリップボード管理システムに前記読み取り対象データの識別情報に対応する第２識別情報を伝達して、前記クリップボードから暗号化された保安データの提供を要請することを特徴とする請求項５に記載のクリップボード保護システム。
【請求項８】
前記データについて設定されているＤＲＭ情報に基づいて保安用キーを提供するＤＲＭ部をさらに備え、
前記データ保護部は、前記データから獲得したＤＲＭ情報を前記ＤＲＭ部に提供して保安用キーを獲得し、前記データについての暗号化及び復号化を行うことを特徴とする請求項５に記載のクリップボード保護システム。
【請求項９】
運用体制の基本機能としてアプリケーションと独立してデータを保存及び抽出して伝達するクリップボード管理システムと連動して、クリップボードに保存されたデータを保護するクリップボード保護方法をコンピュータで実行させるためのプログラムにおいて、
（ａ）前記クリップボードにデータを保存しようとする客体が信頼できる信頼客体である場合に、前記クリップボードに保存されるデータに付与された第１識別情報を既定の第２識別情報に変更する段階と、
（ｂ）前記クリップボードに保存されるデータを暗号化する段階と、
（ｃ）前記データに対応する第２識別情報及び前記暗号化されたデータを前記クリップボード管理システムに提供して前記クリップボードに記録するように要請する段階と、を含むことを特徴とするプログラム。
【請求項１０】
（ｄ）前記信頼客体から前記クリップボードに記録されているデータについての読み取り要請が入力されれば、前記クリップボード管理システムに、抽出の要請された読み取り対象データの識別情報の存否についての確認を要請する段階と、
（ｅ）前記クリップボード管理システムから、読み取り対象データの識別情報が存在すると知らせる応答が入力されれば、前記クリップボード管理システムに、前記クリップボードから前記読み取り対象データを読み出して前記信頼客体に提供することを要請し、前記クリップボード管理システムから、読み取り対象データの識別情報が存在していないと知らせる応答が入力されれば、前記クリップボード管理システムに、前記読み取り対象データの識別情報に対応する第２識別情報を伝達し、前記クリップボードから暗号化された保安データを読み出して提供することを要請する段階と、
（ｆ）前記クリップボードから読み出された暗号化されたデータを復号して前記信頼客体に提供する段階と、をさらに含むことを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記信頼客体は、ＤＲＭが適用された客体であることを特徴とする請求項９または１０に記載のプログラム。
【請求項１２】
前記信頼客体が管理する下位客体のうちＤＲＭが適用された下位客体のデータ保存要請時に、前記（ａ）段階ないし前記（ｃ）段階を行うことを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記第１識別情報は、前記信頼客体がクリップボードに／から保存／抽出しようとするデータについて付与したデータ形式に関する識別子であり、運用体制で基本的に提供する標準クリップボードフォーマット及びユーザが任意に作成して登録したユーザ登録クリップボードフォーマットのうちいずれか一つであることを特徴とする請求項９または１０に記載のプログラム。
【請求項１４】
前記第２識別情報は、前記第１識別情報それぞれについて固有に付与されるデータ形式に関する識別子であり、前記ユーザ登録クリップボードフォーマットと同じ形式を持つことを特徴とする請求項１３に記載のプログラム。
【請求項１５】
前記（ｂ）段階は、
（ｂ１）前記データについて設定されているＤＲＭ情報に基づいて保安用キーを獲得する段階と、
（ｂ２）前記保安用キーによって前記クリップボードに保存されるデータを暗号化する段階と、を含むことを特徴とする請求項１０ないし１３のうちいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＲＭ環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラムに係り、さらに詳細には、ＤＲＭシステムにおいてクリップボードを用いて許容された権限を超える情報の流出を防止するためのシステム及びその方法をコンピュータで実行させるためのプログラムに関する。
【背景技術】
【０００２】
クリップボード（Ｃｌｉｐｂｏａｒｄ）は、同じアプリケーションまたは互いに異なるアプリケーションで駆動するファイル内の任意のデータをコピーまたは貼り付けする時にデータが臨時保存されるメモリ空間である。このようなクリップボードを用いたデータのコピー及び抽出は、マイクロソフト社製のウィンドウズ（登録商標）やアップルのマッキントッシュなどの運用体系で基本的に提供される機能である。クリップボードを用いたデータのコピー及び抽出機能は、デジタル著作権管理（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ：ＤＲＭ）が適用されるシステムにおいて、データの流出防止のために管理せねばならない対象のうち一つである。例えば、ＤＲＭが適用された文書に対して、ユーザに許容された権限を超える任意のデータ移動、ＤＲＭシステム内部におけるデータ移動などが試みられれば、ＤＲＭが適用された文書に係るデータの移動を遮断する必要がある。
【０００３】
図１は、マイクロソフト社製のウィンドウズシステムにおいて、クリップボードに情報を保存する過程を示す図面である。図１を参照すれば、クリップボードへの情報保存は、アプリケーション、システム及び全域メモリの相互作用により行われる。先ず、アプリケーションがＧｌｏｂａｌＡｌｌｏｃ（）関数を用いてシステムに全域メモリの割り当てを要請すれば（Ｓ１００）、システムは、Ｈａｎｄｌｅ（）関数を用いてアプリケーションに、これについてのハンドルを提供する（Ｓ１０５）。次いで、アプリケーションは、ＧｌｏｂａｌＬｏｃｋ（）関数を用いてシステムに全域メモリの固定を要請し（Ｓ１１０）、システムは、これに応答して割り当てられた全域メモリのポインタを返還する（Ｓ１１５）。次いで、アプリケーションは、返還されたポインタを用いて割り当てられた全域メモリにデータをコピーする（Ｓ１２０）。次いで、アプリケーションは、ＯｐｅｎＣｌｉｐｂｏａｒｄ（）、ＥｍｐｔｙＣｌｉｐｂｏａｒｄ（）、ＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）、ＣｌｏｓｅＣｌｉｐｂｏａｒｄ（）などの関数を順次に用いてシステムにクリップボードデータの記録を要請し（Ｓ１２５ないしＳ１４０）、最終的にＧｌｏｂａｌＵｎｌｏｃｋ（）関数を用いて、システムに全域メモリの解除を要請する（Ｓ１４５）。図２には、クリップボードに保存されるデータが図示されている。
【０００４】
図３は、マイクロソフト社製のウィンドウズシステムにおいて、クリップボードからデータを読み込む過程を示す図面である。図３を参照すれば、クリップボードから情報を読み込む動作は、ＩｓＣｌｉｐｂｏａｒｄＦｏｒｍａｔＡｖａｉｌａｂｌｅ（）関数を用いて現在のクリップボードにアプリケーションで処理可能なクリップボードフォーマットの存否を確認することから始まる（Ｓ３００）。次いで、アプリケーションは、ＯｐｅｎＣｌｉｐｂｏａｒｄ（）関数を用いてシステムにクリップボードの開放を要請する（Ｓ３０５）。次いで、アプリケーションは、ＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数を用いてシステムに、クリップボードに保存されているデータの提供を要請し（Ｓ３１０）、これに応答してシステムは、Ｈａｎｄｌｅ（）関数を用いてアプリケーションにこれについてのハンドルを提供する（Ｓ３１５）。次いで、アプリケーションは、ＧｌｏｂａｌＬｏｃｋ（）関数を用いてシステムに全域メモリの固定を要請し（Ｓ３２０）、システムは、これに応答して割り当てられた全域メモリのポインタを返還する（Ｓ３２５）。次いで、アプリケーションは、返還されたポインタを用いて割り当てられた全域メモリからデータを読み出す（Ｓ３３０）。次いで、アプリケーションは、ＧｌｏｂａｌＵｎｌｏｃｋ（）関数を用いてシステムに全域メモリの解除を要請し（Ｓ３３５）、ＣｌｏｓｅＣｌｉｐｂｏａｒｄ（）関数を用いてシステムにクリップボードの閉鎖を要請する（Ｓ３４０）。
【０００５】
図１ないし図３を参照して説明したように、クリップボードについてのデータの保存及び抽出は、アプリケーションとシステムの間でクリップボードに係るＡＰＩ関数を通じて行われ、この過程でクリップボードに保存されているデータが流出される可能性が存在する。本出願人は、かかるクリップボードデータの流出を防止するために、クリップボードに保存されるデータまたは客体のうちＤＲＭが適用されたデータまたは客体を暗号化してクリップボードに保存する技法を提示したことがあり、これは、韓国特許登録番号第１０−０９２８４６７号に登録されている。このような出願人の特許発明は、多様な客体のうちデジタル著作権管理（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ：ＤＲＭ）が適用された客体である信頼客体によるクリップボードへのデータ保存及び読み取り時には、データを暗号化及び復号化することでＤＲＭが適用されていない客体である非信頼客体による接近を防止する構成を持っている。この時、客体は、クリップボードからデータを抽出して貼り付ける動作を行う独立的な対象であり、一次的にそれぞれのアプリケーションに対応するプロセスを意味するが、それぞれのプロセスによって管理される文書、サブウィンドウ、文書内のイメージ／テキスト／動画などになりうる。以下の説明でも、客体は同じ意味として使われる。しかし、出願人の特許発明は、非信頼客体からクリップボードに保存されている暗号化されたデータへの接近自体を遮断していないので、非信頼客体によるクリップボードデータの要請時に非信頼客体に暗号化されたデータを提供する。この場合、非信頼客体によって暗号化されたデータの出力時にプログラムがダウンするか、または予期しない状況が生じるという問題が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする技術的課題は、ＤＲＭ環境でクリップボードを介するＤＲＭが適用されたデータの流出を防止すると共に、ＤＲＭが適用されていないデータについてのクリップボードの自由な利用を保証できるシステムを提供するところにある。
【０００７】
本発明が解決しようとする他の技術的課題は、ＤＲＭ環境でクリップボードを介するＤＲＭが適用されたデータの流出を防止すると共に、ＤＲＭが適用されていないデータに対するクリップボードの自由な利用を保証できる方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
【課題を解決するための手段】
【０００８】
前記の技術的課題を解決するための、本発明によるＤＲＭ環境におけるクリップボード保護システムに関する望ましい実施形態は、運用体制の基本機能としてアプリケーションと独立してデータを保存及び抽出して伝達するクリップボード管理システムと連動して、クリップボードに保存されたデータを保護するクリップボード保護システムにおいて、前記クリップボードにデータを保存しようとする客体が信頼できる信頼客体である場合に、前記クリップボードに保存されるデータに付与された第１識別情報を、既定の第２識別情報に変更して管理し、前記信頼客体が前記クリップボードに保存されているデータの抽出を要請する場合に、抽出の要請された読み取り対象データの識別情報に対応する第２識別情報を出力する識別情報管理部；前記クリップボードに保存されるデータを暗号化して出力し、前記クリップボードから読み出された暗号化されたデータを復号して出力するデータ保護部；前記暗号化された保安データを前記第２識別情報と連係して前記クリップボードに記録するように前記クリップボード管理システムに要請し、前記信頼客体から前記クリップボードに保存されているデータの抽出要請が入力されれば、前記クリップボード管理システムに前記読み取り対象データの識別情報に対応する第２識別情報を伝達し、前記クリップボードから暗号化された保安データを読み出して提供することを要請する制御部；を備える。
【０００９】
前記の他の技術的課題を解決するための、本発明による記録媒体は、運用体制の基本機能としてアプリケーションと独立してデータを保存及び抽出して伝達するクリップボード管理システムと連動して、クリップボードに保存されたデータを保護するクリップボード保護方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体において、（ａ）前記クリップボードにデータを保存しようとする客体が信頼できる信頼客体である場合に、前記クリップボードに保存されるデータに付与された第１識別情報を既定の第２識別情報に変更する段階；（ｂ）前記クリップボードに保存されるデータを暗号化する段階；（ｃ）前記データに対応する第２識別情報及び前記暗号化されたデータを前記クリップボード管理システムに提供して前記クリップボードに記録するように要請する段階；を含むクリップボード保護方法をコンピュータで実行させるためのプログラムを持つ。
【発明の効果】
【００１０】
本発明によるＤＲＭ環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体によれば、信頼客体によるクリップボードへのデータ保存要請時、データの識別情報の変換及びデータの暗号化を行った後でクリップボードに保存し、非信頼客体のデータ読み取り要請時には、既存のクリップボード管理システムによってデータの読み取り動作を行うことで、非信頼客体による保安データへの接近自体を遮断する。そして信頼客体のデータ読み取り要請時には、クリップボード管理システムが管理するマッピングテーブル及びクリップボード保護システムが管理するマッピングテーブルから読み取り要請されたデータの識別情報及び変換された識別情報をいずれも検索してデータの存否を確認することで、エラーなしにデータの読み取り動作を行える。
【図面の簡単な説明】
【００１１】
【図１】マイクロソフト社製のウィンドウズシステムにおいて、クリップボードに情報を保存する過程を示す図面である。
【図２】クリップボードに保存されるデータを示す図面である。
【図３】マイクロソフト社製のウィンドウズシステムにおいて、クリップボードからデータを読み込む過程を示す図面である。
【図４】本発明によるＤＲＭ環境における客体、クリップボード保護システム、クリップボード管理システム及びクリップボード間の関係を示す図面である。
【図５】本発明によるクリップボード保護システムについての望ましい第１実施形態の構成を示す図面である。
【図６】本発明によるクリップボード保護システム４００によって識別情報変換及びデータ暗号化が適用された以後にクリップボード４２０に保存されるデータを示す図面である。
【図７】本発明によるクリップボード保護システム４００によってクリップボード４２０に保存される保安データ及びキー情報を示す図面である。
【図８】本発明によるクリップボード保護システム４００によってクリップボード４２０に保存される保安データ、キー情報及び付加データを示す図面である。
【図９】本発明によるクリップボード保護方法において、データをクリップボードに保存する過程を示す図面である。
【図１０】本発明に図９に示されたデータ識別情報の変換及びデータの暗号化に関する第１実施形態の実行過程を示す図面である。
【図１１】本発明に図９に示されたデータ識別情報の変換及びデータの暗号化に関する第２実施形態の実行過程を示す図面である。
【図１２】本発明によるクリップボード保護方法において、クリップボードに保存されているデータの読み取り動作に関する第１実施形態の実行過程を示す図面である。
【図１３】本発明によるクリップボード保護方法において、クリップボードに保存されているデータの読み取り動作に関する第２実施形態の実行過程を示す図面である。
【発明を実施するための形態】
【００１２】
以下、添付した図面を参照して、本発明によるＤＲＭ環境におけるクリップボード保護システム及びその方法をコンピュータで実行させるためのプログラムを記録した記録媒体の望ましい実施形態について詳細に説明する。
【００１３】
図４は、本発明によるＤＲＭ環境における客体、クリップボード保護システム、クリップボード管理システム及びクリップボードの間の関係の構成を示す図面である。図４を参照すれば、本発明によるクリップボード保護システム４００は、信頼客体とクリップボード管理システム４１０との間に位置し、ＤＲＭが適用される信頼客体から入力されるクリップボード４２０へのデータ保存及び読み取り動作を行う。クリップボード管理システム４１０は、運用システムで基本的に提供するクリップボード機能を行うための構成要素であり、ＤＲＭが適用されていない非信頼客体及びクリップボード保護システム４００によるクリップボード使用要請（すなわち、クリップボードへのデータ保存要請及びクリップボードからのデータ読み取り要請）による動作を行う。本発明によるクリップボード保護システム４００は、基本的にＡＰＩフッキング関数によって具現される。さらに、本発明によるクリップボード保護システム４００は、クリップボード保護機能を具現したソフトウェアがローディングされたコンピュータなどの情報処理装置を意味する。図４に示されたシステムにおいて、信頼客体と非信頼客体との区分は、ＤＲＭを処理するＤＲＭモジュール（図示せず）によって行われ、クリップボード保護システム４００は、ＤＲＭモジュールの処理結果に基づいて信頼客体と非信頼客体とを識別する。
【００１４】
図４に示したように、非信頼客体によるクリップボード接近は、運用システムが提供するクリップボード管理システム４１０によって行われ、信頼客体によるクリップボード接近は、クリップボード保護システム４００によって行われる。もし、クリップボード保護システム４００がＡＰＩフッキング関数と具現されれば、クリップボード保護システム４００は、ＤＲＭモジュールの駆動時または運用システムの駆動時に共に駆動される。またクリップボード４２０に近付こうとする客体が信頼客体か、または非信頼客体かについての確認は、基本的にＤＲＭモジュールによって行われるが、このような確認機能はクリップボード保護システム４００によって行われてもよい。さらには、クリップボード保護システム４００は、信頼客体によるクリップボード接近時、クリップボード４２０に係る関数（特に、ＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）とＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数）をフッキングして必要な過程を行った後、クリップボード管理システム４１０に処理結果を伝達する。
【００１５】
クリップボード管理システム４１０は、客体から入力されたクリップボード４２０へのデータの保存を指示する関数（例えば、ウィンドウズ運用システムで提供するＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（））に含まれているデータ識別情報、またはクリップボード保護システム４００から入力されたクリップボード４２０へのデータ保存関数に含まれているデータ識別情報に連係させて、クリップボード４２０にデータを保存する。この時、客体から入力された識別情報は、クリップボード４２０に保存されるデータについて客体が付与したデータ形式に関する識別子であり、運用システムで基本的に提供するＣＦ＿ＴＥＸＴ、ＣＦ＿ＯＥＭＴＥＸＴ、ＣＦ＿ＵＮＩＣＯＤＥＴＥＸＴなどの標準クリップボードフォーマット（Ｓｔａｎｄａｒｄ  Ｃｌｉｐｂｏａｒｄ  Ｆｏｒｍａｔ）であるか、またはユーザが任意に作成して登録したユーザ登録クリップボードフォーマット（Ｒｅｇｉｓｔｅｒｅｄ  Ｃｌｉｐｂｏａｒｄ  Ｆｏｒｍａｔ）である。そして、クリップボード保護システム４００から入力された識別情報は、クリップボード保護システム４００が、客体から入力されたクリップボード４２０へのデータ保存関数に含まれているデータ識別情報をユーザ登録クリップボードフォーマットに変換した識別情報である。一方、クリップボード管理システム４１０は、客体またはクリップボード保護システム４００から入力されたクリップボード４２０から、データの読み取りを指示する関数（例えば、ウィンドウズ運用システムで提供するＩｓＣｌｉｐｂｏａｒｄＤａｔａＡｖａｉｌａｂｌｅ（）とＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（））に含まれている識別情報に基づいて読み取り対象データを読み出し、客体またはクリップボード保護システム４００に提供する。
【００１６】
図５は、本発明によるクリップボード保護システムに関する望ましい実施形態の構成を示す図面である。図５を参照すれば、本発明によるクリップボード保護システムに関する望ましい実施例４００は、識別情報管理部５１０、データ保護部５２０及び制御部５３０で構成される。
【００１７】
識別情報管理部５１０は、クリップボード４２０に保存される保安データに固有に付与された第１識別情報を既定の第２識別情報に変更する。この時、第１識別情報は、運用システムでクリップボードデータの形式によって基本的に提供するＣＦ＿ＴＥＸＴ、ＣＦ＿ＯＥＭＴＥＸＴ、ＣＦ＿ＵＮＩＣＯＤＥＴＥＸＴなどの標準クリップボードフォーマットであるか、または、ユーザが任意に作成して登録したユーザ登録クリップボードフォーマットである。識別情報管理部５１０は、このような第１識別情報を、クリップボード保護システム４００で固有に設定された別途の識別情報である第２識別情報に変換する。この時、クリップボード管理システム４１０が第２識別情報を認識するためには、第２識別情報はユーザ登録クリップボードフォーマットの形態を持たねばならない。また識別情報管理部５１０は、クリップボード４２０に記録されているデータについての読み取り要請が入力されれば、読み取り対象データの識別情報に対応する第２識別情報を出力する。一方、識別情報管理部５１０は、第１識別情報と第２識別情報との対応関係を別途のマッピングテーブルに記録して管理する。これは、クリップボード４２０に保存されるデータが複数（すなわち、保安データとキー情報、保安データとロケールデータなど）である場合に、それぞれのデータに対応する第１識別情報と第２識別情報とを区分するためである。このようにマッピングテーブルを生成する場合に、識別情報管理部５１０は、制御部５３０から入力された第１識別情報に対応する第２識別情報を検索して制御部５３０に提供する機能を行う。
【００１８】
一例として、ＤＲＭが適用されたマイクロソフト社製のワードプログラムは信頼客体に該当する。もし、マイクロソフト社製のワードプログラムが行われて特定の文書が開かれた状態で、ユーザが文書内の特定のテキストのコピーを要請すれば、ワードプログラムは、クリップボード管理システム４１０との間で、図１に示された手続きによって該データをクリップボード４２０に保存する動作を行う。この過程で本発明によるクリップボード保護システム４００は、ワードプログラムがクリップボード４２０にデータを保存するために出力したＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数をフッキングして、識別情報の変換及びデータの暗号化後に結果をクリップボード管理システム４１０に出力する。この時、クリップボード保護システム４００がＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数の変数として設定する値は、変換された第２識別情報及び暗号化されたデータが保存されている全域メモリのハンドルである。そして、ワードプログラムが出力したクリップボード関連関数のフッキングは、ワードプログラムの駆動または運用システムの駆動に同期して動作するように設定されたフッキング関数によって行われるか、または制御部５３０によって行われる。一応ＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数がフッキングされれば、識別情報管理部５１０は、ＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数の変数であるデータ識別情報（例えば、標準クリップボードフォーマットであるＣＦ＿ＴＥＸＴ）を、固有に設定されている別途の識別情報（例えば、ユーザ登録クリップボードフォーマットであるＤＲＭ＿ＣＲ＿ＴＥＸＴ）に変換する。
【００１９】
一方、ＤＲＭが適用されたアプリケーションであるマイクロソフト社製のワードプログラムが行われて特定の文書が開かれた状態で、ユーザがクリップボード４２０に保存されているデータの読み取りを要請すれば、ワードプログラムはクリップボード管理システム４１０との間で、図２に示された手続きによってクリップボードから該データを読み取る動作を行う。この過程で、本発明によるクリップボード保護システム４００は、ワードプログラムがクリップボード４２０に必要なデータの存否を確認するために出力したＩｓＣｌｉｐｂｏａｒｄＤａｔａ（）関数をフッキングした後、クリップボード管理システム４１０に同じ関数を出力する。もし、クリップボード管理システム４１０から該データが存在するという応答が入力されれば、クリップボード保護システム４００は、ワードプログラムがクリップボード４２０からデータを読み取るために出力したＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数をフッキングしないか、または、フッキングした後でそのままクリップボード管理システム４１０に出力する。これと異なって、クリップボード管理システム４１０から該データが存在しないという応答が入力されれば、クリップボード保護システム４００は、ワードプログラムがクリップボード４２０からデータを読み取るために出力したＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数をフッキングする。次いで、識別情報管理部５１０は、ＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数の変数である識別情報（例えば、標準クリップボードフォーマットであるＣＦ＿ＴＥＸＴ）を、固有に設定されている別途の識別情報（例えば、ユーザ登録クリップボードフォーマットであるＤＲＭ＿ＣＲ＿ＴＥＸＴ）に変換する。
【００２０】
データ保護部５２０は、クリップボード４２０に保存される保安データを暗号化して出力し、クリップボード４２０から読み出された暗号化されたデータを復号して出力する。このようなデータ保護部５２０は、ＤＲＭモジュール（図示せず）と連係して動作する。すなわち、データ保護部５２０がデータを暗号化または復号化するために必要な暗号キーは、ＤＲＭモジュールから得る。一方、暗号キーに関する情報は、クリップボード４２０に保存されるデータに加えられてクリップボード４２０に保存される。
【００２１】
制御部５３０は、本発明によるクリップボード保護システム４００の全般的な動作を制御する。すなわち、制御部５３０は、信頼客体によるクリップボード４２０へのデータ保存要請に係るＡＰＩ関数（すなわち、ＳｅｔＣｌｉｐｂｏａｒｄＤａｔａ（））と、クリップボード４２０からのデータ読み取り要請に係る関数（すなわち、ＩｓＣｌｉｐｂｏａｒｄＤａｔａＡｂａｉｌａｂｌｅ（）とＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（））とをフッキングし、識別情報管理部５１０及びデータ保護部５２０の動作を制御する。特に、制御部５３０は、信頼客体によってクリップボード４２０からのデータ読み取り要請時に信頼客体が出力したＩｓＣｌｉｐｂｏａｒｄＤａｔａ（）関数をフッキングした後、クリップボード管理システム４１０にそのまま伝達し、クリップボード管理システム４１０からの応答状態（すなわち、該データの存否）によって互いに異なる手続きを行う。もし、クリップボード管理システム４１０から該データが存在するという応答が入力されれば、制御部５３０は、信頼客体がクリップボード４２０からデータを読み取るために出力したＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数をそのままクリップボード管理システム４１０に伝達する。これと異なって、クリップボード管理システム４１０から該データが存在しないという応答が入力されれば、制御部５３０は、識別情報管理部５１０にフッキングしたＧｅｔＣｌｉｐｂｏａｒｄＤａｔａ（）関数の変数である識別情報に該当する第２識別情報の提供を要請する。そして、識別情報管理部５１０から提供された第２識別情報をクリップボード管理システム４１０に伝達して、クリップボード４２０に保存されているデータの読み出しを要請する。図６には、本発明によるクリップボード保護システム４００によって識別情報変換及びデータ暗号化が適用された後でクリップボード４２０に保存されるデータが示されている。
【００２２】
一方、本発明によるクリップボード保護システム４００は、データの保護のために識別情報の変換及びデータの暗号化を行ってクリップボード４２０に保存する動作に加えて、暗号化されたデータの復号化のために別途のキー情報をさらにクリップボード４２０に保存する。このようなキー情報は、暗号化キー自体または暗号化キーを獲得する情報でありうる。例えば、ＰＫＩ基盤の暗号化が適用される場合には、認証書の識別名（Ｄｉｓｔｉｎｇｕｉｓｈｅｄ  Ｎａｍｅ）または認証書ＩＤであり、キープールを用いる場合には、暗号キーのフルＩＤであり、Ｄｉｆｆｅ−Ｈｅｌｍａｎ及びこれを応用したキー交換方式の暗号化が適用される場合には、キー生成ファクターである。したがって、クリップボード保護システム４００は、ＤＲＭモジュールから得たキー情報について既定の第２識別情報を付与した後、キー情報をクリップボード４２０に保存する。このようなキー情報の獲得は、別途のキー管理部（図示せず）によって行われるか、またはデータ保護部５３０によって行われ、キー情報の保存は、データ保護部５３０によって行われる。図７には、本発明によるクリップボード保護システム４００によってクリップボード４２０に保存される保安データ及びキー情報が示されている。
【００２３】
また本発明によるクリップボード保護システム４００は、データの保護のために識別情報の変換及びデータの暗号化を行ってクリップボード４２０に保存する動作に加えて、フォーマット変換された付加的なデータをクリップボード４２０に保存する。一般的に運用システムは、システムで使われる形式の識別情報を持つデータが入力される場合に、これに加えて他の形式の識別情報を持つデータをさらに生成してクリップボード４２０に共に保存する。例えば、ＣＦ＿ＴＥＸＴ形態のデータが入力されれば、クリップボード管理システム４１０は、ＣＦ＿ＴＥＸＴ情報に基づいてＣＦ＿ＬＯＣＡＬＥ、ＣＦ＿ＯＥＭＴＥＸＴ及びＣＦ＿ＵＮＩＣＯＤＥＴＥＣＴ形式のデータを自動で生成してクリップボード４２０に保存する。ところで、保安データを暗号化すれば、このような自動変換機能が支援されない。したがって、データの保護機能を保持しつつ運用システムで提供する基本的な変換機能を具現するために、クリップボード保護システム４００は、暗号化される前の保安データを他の形態のデータに変換し、該データについて既定の第２識別情報を付与した後、暗号化してクリップボード４２０に保存する。このようなデータの変換及び保存は、別途に備えられた付加データ生成部（図示せず）によって行われるか、またはデータ保護部５３０によって行われる。図８には、本発明によるクリップボード保護システム４００によってクリップボード４２０に保存される保安データ、キー情報及び付加データが示されている。
【００２４】
図９は、本発明によるクリップボード保護方法において、データをクリップボードに保存する過程を示す図面である。図９を参照すれば、アプリケーションからクリップボード４１０へのデータ保存が要請されれば（Ｓ９００）、ＤＲＭモジュールは、データの保存を要請したアプリケーションが信頼客体か、または非信頼客体かを確認する（Ｓ９１０）。もし該アプリケーションが信頼客体であると確認されれば、クリップボード保護システム４００は、データ識別情報の変換及びデータの暗号化を行う（Ｓ９２０）。そしてクリップボード管理システム４１０は、識別情報変換及びデータ暗号化が行われた結果を入力されてクリップボード４２０に保存する（Ｓ９３０）。一方、該アプリケーションが信頼客体であると確認されれば、クリップボード保護システム４００を経ずにクリップボード管理システム４１０によって直ちにクリップボード４２０にデータが保存される（Ｓ９３０）。
【００２５】
図１０は、図９に示されたデータ識別情報の変換及びデータの暗号化に係る第１実施形態の実行過程を示す図面である。図１０に示された第１実施形態は、信頼客体によるあらゆるデータについて識別情報の変換及びデータの暗号化を行う場合である。
【００２６】
図１０を参照すれば、クリップボードに保存されるデータが入力されれば（Ｓ１０００）、クリップボード保護システム４００は、クリップボードに保存される保安データに固有に付与された第１識別情報（例えば、ＣＦ＿ＴＥＸＴ）を既定の第２識別情報（例えば、ＤＲＭ＿ＣＲ＿ＴＥＸＴ）に変更した後、第１識別情報と第２識別情報との対応関係が記録されたマッピングテーブルを生成する（Ｓ１０１０）。次いで、クリップボード保護システム４００は、保安データについて設定されているＤＲＭ情報に基づいて、ＤＲＭモジュールから保安用キーを獲得する（Ｓ１０２０）。次いで、クリップボード保護システム４００は、保安用キーによってクリップボード４２０に保存される保安データを暗号化する（Ｓ１０３０）。次いで、クリップボード保護システム４００は、第２識別情報及び暗号化された保安データをクリップボード管理システム４１０に伝達し、クリップボード管理システム４１０は、伝達された第２識別情報に連係して暗号化された保安データをクリップボード４２０に記録する（Ｓ１０４０）。
【００２７】
図１１は、図９に示されたデータ識別情報の変換及びデータの暗号化に係る第２実施形態の実行過程を示す図面である。図１０に示された第２実施形態は、信頼客体によるデータのうち保護の必要な保安データについてのみ識別情報の変換及びデータの暗号化を行う場合である。
【００２８】
図１１を参照すれば、クリップボード４２０に保存されるデータが入力されれば（Ｓ１１００）、クリップボード保護システム４００は、該データが保護の要求される保安データであるかどうかを確認する（Ｓ１１１０）。一例として、マイクロソフト社製のワードプログラムについてＤＲＭが適用される場合に、ワードプログラムにローディングされた文書のうちＤＲＭが適用された文書とＤＲＭが適用されていない文書とがいずれも存在する。この場合、ＤＲＭが適用された文書は保安データに分類され、ＤＲＭが適用されていない文書は非保安データに分類される。もし、入力されたデータが保安データと確認されれば、クリップボード保護システム４００は、クリップボードに保存される保安データに固有に付与された第１識別情報（例えば、ＣＦ＿ＴＥＸＴ）を既定の第２識別情報（例えば、ＤＲＭ＿ＣＲ＿ＴＥＸＴ）に変更した後、第１識別情報と第２識別情報との対応関係が記録されたマッピングテーブルを生成して管理する（Ｓ１１２０）。次いで、クリップボード保護システム４００は、保安データについて設定されているＤＲＭ情報に基づいて、ＤＲＭモジュールから保安用キーを獲得する（Ｓ１１３０）。次いで、クリップボード保護システム４００は、保安用キーによってクリップボード４２０に保存される保安データを暗号化する（Ｓ１１４０）。次いで、クリップボード保護システム４００は、第２識別情報及び暗号化された保安データをクリップボード管理システム４１０に伝達し、クリップボード管理システム４１０は、伝達された第２識別情報に連係して暗号化された保安データをクリップボード４２０に記録する（Ｓ１１５０）。一方、入力されたデータが非保安データであると確認されれば、クリップボード保護システム４００は、非保安データの識別情報及び非保安データをクリップボード管理システム４１０に伝達する。そして、クリップボード管理システム４１０は、伝達された識別情報に連係して平文の非保安データをクリップボード４２０に記録する（Ｓ１１６０）。
【００２９】
図１２は、本発明によるクリップボード保護方法において、クリップボードに保存されているデータの読み取り動作に関する第１実施形態の実行過程を示す図面である。図１２を参照すれば、アプリケーションからクリップボードに保存されているデータの読み取り要請が入力されれば（Ｓ１２００）、ＤＲＭモジュールは、該アプリケーションが信頼客体であるかどうかを確認する（Ｓ１２０５）。もし信頼客体であると確認されれば、クリップボード保護システム４００は、クリップボード管理システム４１０に読み取り要請された読み取り対象データの識別情報の存否を確認する（Ｓ１２１０）。これについて、クリップボード管理システム４１０から読み取り対象データの識別情報が存在するという応答が入力されれば（Ｓ１２１５）、クリップボード保護システム４００は、読み取り対象データの識別情報をクリップボード管理システム４１０に伝達し、クリップボード管理システム４１０は、クリップボード４２０に保存されている平文のデータをアプリケーションに提供する（Ｓ１２４５）。一方、クリップボード管理システム４１０から読み取り対象データの識別情報が存在していないという応答が入力されれば（Ｓ１２１５）、クリップボード保護システム４００は、読み取り要請されたデータの識別情報を第２識別情報に変換した後、読み取り対象データに対応する第２識別情報の存否を確認する（Ｓ１２２０）。もし読み取り対象データに対応する第２識別情報が存在していなければ（Ｓ１２２５）、クリップボード保護システム４００は、アプリケーションに“データなし”メッセージを出力する（Ｓ１２５０）。一方、読み取り対象データに対応する第２識別情報が存在すれば（Ｓ１２２５）、クリップボード保護システム４００は、クリップボード管理システム４１０に第２識別情報を伝達してクリップボード４００から第２識別情報に対応するデータの読み出しを要請し、クリップボード管理システム４１０から伝達されたデータを復号化してアプリケーションに提供する（Ｓ１２３０）。
【００３０】
一方、Ｓ１２０５段階で、データの読み取りを要請したアプリケーションが非信頼客体であると確認されれば、クリップボード保護システム４００は、読み取り対象データの識別情報をクリップボード管理システム４１０に伝達し、クリップボード管理システム４１０は、読み取り対象データに対応する識別情報の存否を確認する（Ｓ１２３５）。もし、読み取り対象データに対応する識別情報が存在すれば（Ｓ１２４０）、クリップボード管理システム４１０は、クリップボード４２０から読み取り対象データを読み出してアプリケーションに提供する（Ｓ１２４５）。一方、読み取り対象データの識別情報が存在していなければ（Ｓ１２４０）、クリップボード管理システム４１０は、アプリケーションに“データなし”メッセージを出力する（Ｓ１２５０）。
【００３１】
図１３は、本発明によるクリップボード保護方法において、クリップボードに保存されているデータの読み取り動作に関する第２実施形態の実行過程を示す図面である。図１３を参照すれば、アプリケーションからクリップボード４２０に保存されているデータの読み取り要請が入力されれば（Ｓ１３００）、クリップボード保護システム４００は、クリップボード管理システム４１０に読み取り要請された読み取り対象データの識別情報の存否を確認する（Ｓ１３０５）。これに応答してクリップボード管理システム４１０は、読み取り対象データに対応する識別情報が存否を確認した結果をクリップボード保護システム４００に伝達する。もし、読み取り対象データに対応する識別情報が存在すれば（Ｓ１３１０）、クリップボード保護システム４００は、読み取り対象データの識別情報をクリップボード管理システム４１０に伝達してデータの読み取りを要請し、クリップボード管理システム４１０は、クリップボード４２０から読み取り対象データを読み出してアプリケーションに提供する（Ｓ１３４０）。一方、読み取り対象データに対応する識別情報が存在していなければ（Ｓ１３１０）、クリップボード保護システム４００は、ＤＲＭモジュールを用いて該アプリケーションが信頼客体であるかどうかを確認する（Ｓ１３１５）。もし非信頼客体であると確認されれば、クリップボード保護システム４００は、アプリケーションに“データなし”メッセージを出力する（Ｓ１３３５）。一方、信頼客体であると確認されれば、クリップボード保護システム４００は、読み取り要請されたデータの識別情報を第２識別情報に変換した後、読み取り対象データに対応する第２識別情報の存否を確認する（Ｓ１３２０）。もし読み取り対象データに対応する第２識別情報が存在すれば（Ｓ１３２５）、クリップボード保護システム４００は、クリップボード管理システム４１０に第２識別情報を伝達してクリップボード４００から第２識別情報に対応するデータの読み出しを要請し、クリップボード管理システム４１０から伝達されたデータを復号化してアプリケーションに提供する（Ｓ１３３０）。一方、読み取り対象データに対応する第２識別情報が存在していなければ（Ｓ１３２５）、クリップボード保護システム４００は、アプリケーションに“データなし”メッセージを出力する（Ｓ１３３５）。
【００３２】
以上で説明した本発明によるクリップボード保護システム及び方法は、信頼客体によるクリップボードへのデータ保存要請時、データの識別情報の変換及びデータの暗号化を行った後でクリップボードに保存する。そして非信頼客体のデータ読み取り要請時には、既存のクリップボード管理システムによってデータの読み取り動作を行うことで保安データへの接近自体を遮断する。一方、信頼客体のデータ読み取り要請時には、クリップボード管理システムが管理するマッピングテーブル及びクリップボード保護システムが管理するマッピングテーブルから読み取り要請されたデータの識別情報及び変換された識別情報をいずれも検索してデータの存否を確認することで、エラーなしにデータの読み取り動作を行える。一方、前述した実施形態は、客体の種類（すなわち、信頼客体と非信頼客体）によって異なる動作を行うが、これと異なって信頼客体が管理する下位客体（例えば、マイクロソフト社製のワードプログラムでローディングされた文書）についても本発明が適用されうる。この時、信頼客体如何及び下位客体の信頼如何（すなわち、ＤＲＭ適用如何）についての確認過程を順次にまたは同時に行った後、信頼客体の下位客体の信頼性が認められる場合に限って識別情報の変換及びデータの暗号化を行い、信頼客体の下位客体によるデータの読み取り要請である場合に限って、クリップボード管理システムが管理するマッピングテーブル及びクリップボード保護システムが管理するマッピングテーブルから読み取り要請されたデータの識別情報及び変換された識別情報をいずれも検索してデータの存否を確認する。
【００３３】
本発明はまた、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現できる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが保存されるあらゆる記録装置を含む。コンピュータで読み取り可能な記録媒体の例には、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、またキャリアウエーブ（例えば、インターネットを通じる伝送）の形態で具現されるものも含む。またコンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて行われる。
【００３４】
以上、本発明の望ましい実施形態について図示して説明したが、本発明は前述した特定の望ましい実施形態に限定されず、特許請求の範囲で請求する本発明の趣旨を逸脱せずに当業者ならば多様な変形実施が可能であるということはいうまでもなく、かかる変更は特許請求の範囲に記載の範囲内にある。
【図１】
0005570664.tif 000002
【図２】
0005570664.tif 000003
【図３】
0005570664.tif 000004
【図４】
0005570664.tif 000005
【図５】
0005570664.tif 000006
【図６】
0005570664.tif 000007
【図７】
0005570664.tif 000008
【図８】
0005570664.tif 000009
【図９】
0005570664.tif 000010
【図１０】
0005570664.tif 000011
【図１１】
0005570664.tif 000012
【図１２】
0005570664.tif 000013
【図１３】
0005570664.tif 000014