(57)【特許請求の範囲】
【請求項１】
各種のファイルを保持するコンピュータシステムにおけるファイル複写管理方法であって、
前記コンピュータシステムは、複写を要求されたファイルのデータを参照して文書の構文に関する解析を行い、この解析により得られた構文の特徴が所定の構文の特徴と一致するときは当該ファイルの複写処理を禁止することを特徴とするファイル複写管理方法。
【請求項２】
前記コンピュータシステムは、解析により得られた構文特徴を、予め用意された構文に関する１つ以上のデータベースと照合し、いずれかのデータベースとの照合で一致したときにファイルの複写処理を禁止することを特徴とする請求項１記載のファイル複写管理方法。
【請求項３】
複写を要求されたファイルのデータを読み込むステップと、このステップにより読み込まれたデータに対し文書の構文に関する解析を行うステップ、この解析のステップにより得られた構文の特徴と、予め用意された構文に関する１つ以上のデータベースとを照合するステップと、前記データベースのいずれかの照合で一致したときに当該ファイルの複写処理を禁止するステップと、前記データベースのいずれの照合でも一致しなかったときに当該ファイルの複写処理を許可するステップとを含むファイル複写管理手順をコンピュータシステムに実行させるためのプログラムが記録されたことを特徴とする記録媒体。
【請求項４】
各種のファイルを保持するコンピュータシステムにおけるファイル複写管理方法であって、
前記コンピュータシステムは、複写を要求されたファイルのデータを参照してファイル構造に関する解析を行い、この解析により得られたファイル構造の特徴が所定のファイル形式のファイル構造の特徴と一致するときに当該ファイルの複写処理を禁止することを特徴とするファイル複写管理方法。
【請求項５】
前記コンピュータシステムは、解析により得られたファイル構造の特徴を、予め用意された特定のファイル形式のファイル構造に関する１つ以上のデータベースと照合し、いずれかのデータベースとの照合で一致したときにファイルの複写処理を禁止することを特徴とする請求項４記載のファイル複写管理方法。
【請求項６】
複写を要求されたファイルのデータを読み込むステップと、このステップにより読み込まれたデータに対しファイル構造に関する解析を行うステップ、この解析のステップにより得られたファイル構造の特徴と、予め用意されたファイル構造に関する１つ以上のデータベースとを照合するステップと、前記データベースのいずれかの照合で一致したときに当該ファイルの複写処理を禁止するステップと、前記データベースのいずれの照合でも一致しなかったときに当該ファイルの複写処理を許可するステップとを含むファイル複写管理手順をコンピュータシステムに実行させるためのプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種のファイルを保持するコンピュータシステムにおいて、ファイルの不正複写を防止するためのファイル複写管理技術に関する。
【０００２】
【従来の技術】
内部に著作権情報を持たない文書に対して著作権情報を登録・管理し、文書のコピーや他文書への部分的組込みといった文書操作に対する著作権保護管理技術が特開平８−１９０５４５号公報に開示されている。この技術にあっては、予め入力手段により入力された著作権情報が著作権管理情報格納部に登録され、文書の印刷あるいは一部の切出し・貼付けなどの操作時に上記著作権情報を組み込むようにし、作成された文書に対してさらにコピー等の処理を行おうとするときに組み込まれた著作権情報に基づいて著作権のチェック・処理制御などを行う。したがって、この技術によっては、著作権管理情報格納部などを持たない別の文書処理システムで作成された文書を読み取ることができないか、あるいは、管理が不能となる。
【０００３】
電子的な文書データファイルなどのような一般的なデジタルデータ間での不正複写防止に関しては、暗号化、電子署名、電子透かしなどの技術も多数あるが、予めファイルのヘッダ部や文書データ部に暗号情報、電子透かしなどを埋め込む必要がある。
【０００４】
【発明が解決しようとする課題】
本発明の目的は、各種のファイルを保持するコンピュータシステムにおいて、不正複写防止のための格別な手段が講じられていないファイルの不正複写を防止するためのファイル複写管理方法を提供することにある。
【０００５】
コンピュータプログラムのソースコード・ファイルは、再利用により容易に新たな付加価値を獲得できるため、その不正複写を防止する必要性が高い。よって、本発明の１つの目的は、コンピュータプログラムのソースコード・ファイルの不正複写防止に有効なファイル複写管理方法を提供することにある。
【０００６】
本発明のもう１つの目的は、近年、著作権保護の強化が重要な課題となっているオーディオ・ビデオ・画像などのいわゆるマルチメディアデータのファイルの不正複写の防止に有効なファイル複写管理方法を提供することにある。
【０００７】
【課題を解決するための手段】
コンピュータプログラムの命令文を記述したソースコードリストは、使用言語に特有の構文上の特徴を有する。例えば、Ｃ言語のソースコードリストは、図３に示す例からも分かるように、次のような構文上の特徴を有する。
(a) １行の文字の長さは、一定でない。
(b) １行の最初の文字は、空白（又はＴＡＢ）であることが多い。
(c) １行に複数の連続する空白（又はＴＡＢ)を多く含む。
(d) ”｛”又は”｝”だけの行が多い。
(e) ”／＊”と”＊／”で囲まれた１行ないし数行の文が多い(コメント行)。
(f) ”printf(”といった、命令文に基づく特定の文字列が多く現れる。
【０００８】
これ以外にも、ＸＭＬ文書ファイルなど、特有の構文特徴を持つファイルが少なくない。
【０００９】
請求項１乃至３記載の発明は、以上に述べたような構文上の特徴に着目して特定のプログラム言語で記述されたソースコード・ファイルなどの不正複写を防止しようとするものであり、その主たる特徴は、複写を要求されたファイルのデータを参照して文書の構文に関する解析を行い、この解析により得られた構文の特徴が所定の構文の特徴と一致するときに当該ファイルの複写処理を禁止することである。
【００１０】
図５は、Ｗａｖｅ形式と呼ばれるオーディオデータのファイル構造を説明する図である。図５において、「データの名称」欄の各データはヘッダと呼ばれる部分で、実際のオーディオデータの種々の属性を表現する。例えば、wFormatTagは、01 00（16進）でＰＣＭ形式のオーディオデータであることを表す。次のnChannels はチャネルを示し、02 00（16進）で２チャネル(ステレオ)であることを表す。”RIFF”など、””で囲まれた文字列は文字コード(ASCIIコード)であり、その後のデータ列が何を意味するかのＩＤコードとなる。ckSize はＩＤコード以下のデータ列の長さを示す。このようにＷａｖｅ形式のファイルでは、”RIFF”や”WAVE”を表すASCIIコードの16進データ(それぞれ52 49 46 46 と57 41 56 45) を持ち、それぞれのＩＤコードに続く16進データの数値は、特定の数値となることが多いので、ヘッダ部を調べることによりファイルがＷａｖｅ形式であることを認識することができる。
【００１１】
図６はＪＰＥＧ形式と呼ばれる画像データファイルの構造例を示す。Ｗａｖｅ形式と同様に、ヘッダ部には「データの名称」欄のマーカコードがあり、画像データの属性を表している。マーカコードは、やはりＩＤコードであり、その後のデータの意味を示す。ＪＰＥＧ形式の場合、マーカコードは２バイトの16進データで表され、FF C0 から FF FE までの値をとる。例えばSOIマーカ(FF D8)は、ＪＰＥＧ形式の画像データの開始を意味する。次のAPP0マーカ(FF E1)は、アプリケーションマーカと呼ばれ、この後にはＪＰＥＧ形式ファイルを利用する特定のアプリケーションが自由に任意のデータを埋め込むことができる。さらに次のDQTマーカは、ＪＰＥＧ形式の画像データに利用される量子化テーブルデータが続くことを表す。したがってＪＰＥＧ形式のファイルでは、FF C0 〜 FF FE の値を探し、それに続くデータの意味を調べることにより、ファイル形式を特定することができる。
【００１２】
請求項４乃至６記載の発明は、以上に述べたようなファイル形式とファイル構造との関係に着目して特定のファイル形式のマルチメディアデータ・ファイルなどの不正複写を防止しようとするものであり、その主たる特徴は、複写を要求されたファイルのデータを参照してファイル構造に関する解析を行い、それにより得られたファイル構造の特徴が所定のファイル形式のファイル構造の特徴と一致するときに当該ファイルの複写処理を禁止することである。
【００１３】
【発明の実施の形態】
以下、図１に示すような一般的な構成のコンピュータシステムを想定し、本発明の実施の形態について説明する。ただし、本発明は、携帯端末などの各種データ処理機器もしくはシステムに対しても適用し得るものである。
【００１４】
図１に示すコンピュータシステムは、ＣＰＵ１００、メモリ１０２、キーボードやマウスなどの入力装置１１２、ディスプレイ装置１１４、ハードディスク装置１０６、磁気ディスク、光ディスク、光磁気ディスクなどの記録媒体１１６の読み書きのためのドライブ１１８、外部のネットワーク１２０との接続のためのネットワークインターフェース部１２２などをバス１２４により相互に接続した構成である。このようなコンピュータシステムにおいて、例えばハードディスク装置１０６に格納されている各種のファイル１０８の複写は、通常、ＯＳ（オペレーティング・システム）と呼ばれる基本ソフトウェアの管理下で行われる。すなわち、ＯＳには複写元のファイルから複写先のファイルへデータを複写する標準的なコマンドが用意されているため、通常は、このコマンドを利用することにより複写のための特別なソフトウェアは必要でない。
【００１５】
このコンピュータシステムにおいて、本発明によるファイル複写管理方法の手順はプログラム１０４によって実行される。ここでは、同プログラム１０４はＯＳとは独立したプログラムとして実装されるものとして説明する。ただし、同プログラム１０４をＯＳのファイル複写コマンドに組み込むような実装形態も可能である。
【００１６】
プログラム１０４は、例えば、それが記録された記録媒体１１６からドライブ１１８を介してメモリ１０２に読み込まれたり、ハートディスク装置１０６に一旦保存され必要な時点でメモリ１０２に読み込まれ、あるいは、外部のネットワーク１２０上のコンピュータシステムなどからネットワークインターフェース部１２２を介してメモリ１０２に読み込まれる。１１０はプログラム１０４の実行の際に参照される１つ以上のデータベースであり、これは例えばハードディスク装置１０６に格納され、プログラム１０４の実行時にメモリ１０２に読み込まれる。プロクラム１０４あるいは同プログラムとデータベース１１０が記録された各種記録媒体も本発明に包含される。
【００１７】
《実施の形態１》
本発明の実施の形態１によれば、プログラム１０４として、図２のフローチャートに示すような手順のためのプログラムが用いられ、特定の１種類以上のプログラム言語により記述されたソースコード・ファイルの不正複写を防止することができる。プログラム１０４の実行の際に参照されるデータベース１１０として、複写が禁止される１種類以上のプログラム言語、例えばＣ言語の構文に関するデータベースが用意される。以下、図２のフローチャートを参照して説明する。コンピュータシステムの入力装置１１２を介して、あるいは、ネットワーク１２０を介して外部のコンピュータシステムなどから、ハードディスク装置１０６内のあるファイル（複写元ファイル）１０８をハードディスク装置１０６、記録媒体１１６、外部のコンピュータシステムなどへ複写する要求が与えられると、プログラム１０４が起動し、以下の手順が実行される。
【００１８】
まず、要求された複写元のファイル１０８のデータが読み込まれる（ステップＳ０１）。次に、このデータを参照し、複写元ファイル１０８の構文に関する解析が行われ、図３に関連して説明したような構文特徴が取得される（ステップＳ０２）。そして、取得された構文特徴と、例えばＣ言語の構文に関するデータベース１１０との照合が行われる（ステップＳ０３）。この照合で構文特徴が一致したときには同ファイルの複写処理は禁止される（ステップＳ０４）。かくして、Ｃ言語のソースコード・ファイルの複写を防止できる。
【００１９】
ステップＳ０３の照合で一致しない場合、他の言語の構文に関するデータベース１１０が用意されているならば、そのデータベース１１０とステップＳ０２で取得された構文特徴との照合が行われる（ステップＳ０６）。この照合で一致がとれたときには、複写元ファイル１０８の複写処理が禁止される（ステップＳ０４）。
【００２０】
ステップＳ０６の照合が不一致の場合には、それ以外の言語の構文に関するデータベース１１０が用意されているならば、そのデータベース１１０との照合が行われる。
【００２１】
用意されたデータベース１１０のいずれとの照合でも構文特徴が一致しない場合には、複写元ファイル１０８は複写禁止対象のファイルでないと判断され、そ複写処理が許可される（ステップＳ０５）。したがって、ＯＳに対しファイル複写コマンドが発行され、複写元ファイル１０８のデータが複写先ファイルに複写される。
【００２２】
以上に述べたように、本実施の形態によれば、ファイルそのものには格別の複写禁止措置を講じることなく、１種類以上の特定のプログラム言語で記述されたソースコード・ファイルの不正複写を防止することができる。なお、ソースコード・ファイル以外の構文的な特徴を有する文書データファイルについても、同様の手順で不正複写を防止できることは明白である。
【００２３】
《実施の形態２》
本発明の実施の形態２によれば、プログラム１０４として、図４のフローチャートに示すような手順のためのプログラムが用いられ、特定の１種類以上のファイル形式のファイルの不正複写を防止することができる。プログラム１０４の実行の際に参照されるデータベース１１０として、複写が禁止される１種類以上のファイル形式のファイル構造に関するデータベースが用意される。以下、図４のフローチャートを参照して説明する。
【００２４】
コンピュータシステムの入力装置１１２を介して、あるいは、ネットワーク１２０を介して外部のコンピュータシステムなどから、ハードディスク装置１０６内のあるファイル（複写元ファイル）１０８をハードディスク装置１０６、記録媒体１１６あるいは外部のコンピュータへ複写する要求が与えられると、プログラム１０４が起動し、以下の手順が実行される。
【００２５】
まず、要求された複写元のファイル１０８のデータが読み込まれる（ステップＳ１１）。次に、このデータを参照し、複写元ファイル１０８のファイル構造に関する解析が行われ、図５又は図６に関連して説明したようなファイル構造の特徴が取得される（ステップＳ１２）。そして、取得されたファイル構造の特徴と、例えば前記のＷａｖｅ形式のファイル構造に関するデータベース１１０との照合が行われる（ステップＳ１３）。この照合でファイル構造の特徴が一致したときには同ファイルの複写処理は禁止される（ステップＳ１４）。かくして、Ｗａｖｅ形式のファイルの複写を防止できる。
【００２６】
ステップＳ１３の照合でファイル構造の特徴が一致しない場合、例えばＪＰＥＧ形式のファイルのファイル構造に関するデータベース１１０が用意されているならば、そのデータベース１１０とステップＳ１２で取得されたファイル構造の特徴との照合が行われる（ステップＳ１６）。この照合で一致がとれたときには、複写元ファイル１０８の複写処理が禁止される（ステップＳ１４）。
【００２７】
ステップＳ１６の照合が不一致の場合には、それ以外のファイル形式のファイル構造に関するデータベース１１０が用意されているならば、そのデータベース１１０との照合が行われる。
【００２８】
用意されたデータベース１１０のいずれとの照合でもファイル構造の特徴が一致しない場合に、複写元ファイル１０８は複写禁止対象のファイルでないと判断され、その複写処理が許可される（ステップＳ０５）。すなわち、ＯＳに対しファイル複写コマンドが発行され、複写元ファイル１０８のデータが複写先ファイルに複写されることになる。
【００２９】
以上に述べたように、この実施の形態によれば、ファイルそのものには格別の複写禁止措置を講じることなく、特定のファイル形式のマルチメディアデータ・ファイルなどの不正複写を防止することができる。
【００３０】
なお、ファイルは名称が付与されるが、ファイル形式とファイルの名称との間に一定の関連を持たせたＯＳが多い。例えば、sample1.wav、sample2.jpg というように、「ファイル名」と”．”で始る「拡張子」の組み合わせでファイルの名称を表し、拡張子とファイル形式との間に一定の関連を持たせることがある。例えば、拡張子が”.wav”ならＷａｖｅ形式のファイルであることを示し、拡張子が”.jpg”ならＪＰＥＧ形式のファイルであることを示す。したがって、ファイルの名称の拡張子を、ファイル形式を認識するための手がかりとして利用することも不可能ではない。しかしながら、一般にファイルの名称は利用者が自由に決めることができ、例えばＷａｖｅ形式以外のファイルでも”.wav”という拡張子を付加することは可能である。したがって、拡張子だけでファイル形式を特定する方法は確実性に欠ける。ソースコード・ファイルに関しても同様であり、使用言語によって拡張子を使い分けることが多いが、拡張子から使用言語を認識することは確実性に欠ける。これに対し、本発明においては、構文特徴や構造特徴によって特定の言語によるソースコード・ファイルや特定のファイル形式のファイルを認識し、その不正複写を確実に防止することができる。
【００３１】
【発明の効果】
以上に説明したように、請求項１及び２記載の発明によれば、ファイル側に格別な複写禁止措置を講じることなく、特定の言語で記述されたソースコード・ファイルなど、特定の構文特徴を有するファイルの不正複写を確実に防止することができる。また、請求項３記載の発明によれば、そのようなファイルの不正複写防止を、一般的なコンピュータシステム上で容易に実現できる。請求項４及び５記載の発明によれば、ファイル側に格別な複写禁止措置を講じることなく、特定のファイル構造を持つマルチメディアデータ・ファイルなどの不正複写を確実に防止することができる。請求項６記載の発明によれば、そのようなファイルの不正複写防止を一般的なコンピュータシステム上で容易に実現できる。
【図面の簡単な説明】
【図１】本発明の実施の形態を説明するためのコンピュータシステムの一例を示すブロック図である。
【図２】本発明の実施の一形態におけるファイル複写管理手順を説明するためのフローチャートである。
【図３】Ｃ言語の構文を説明するためのソースコードリストの一例を示す図である。
【図４】本発明の他の実施形態におけるファイル複写管理手順を説明するためのフローチャートである。
【図５】Ｗａｖｅ形式のファイル構造を説明するための図である。
【図６】ＪＰＥＧ形式のファイル構造を説明するための図である。
【符号の説明】
１００  ＣＰＵ
１０２  メモリ
１０４  ファイル複写管理のためのプログラム
１０６  ハードディスク装置
１０８  ファイル
１１０  ファイル複写管理のためのデータベース
【図１】
0004278835.tif 000002
【図２】
0004278835.tif 000003
【図３】
0004278835.tif 000004
【図４】
0004278835.tif 000005
【図５】
0004278835.tif 000006
【図６】
0004278835.tif 000007