(57)【要約】      （修正有）【課題】デジタルデータの不法使用を防止できる方法を提供する。【解決手段】デジタルデータ販売者クライアントシステム、デジタルデータ購買者クライアントシステム及びデジタルデータの取引サーバーが含まれるデジタルデータの取引方法において、販売者クライアントシステムからデジタルデータの取引サーバーに、販売者情報、デジタルデータ情報、取引機能情報及びデジタルデータが入力される段階と取引サーバーが、デジタルデータ情報及び取引機能情報をオンラインに公知する段階と購買者クライアントシステムが、取引サーバーでデジタルデータを用いるために、取引機能情報の中から認証機能を選択する段階と取引サーバーが、デジタルデータ及び認証機能のリストを暗号化してデジタルデータ購買者クライアントシステムへ転送する段階と取引サーバーが、暗号化を復号化する手段を購買者クライアントシステムへ転送する段階とを含むことを特徴とする。【選択図】図７ｂ
2005317015.tif 000002
【特許請求の範囲】
【請求項１】
デジタルデータ販売者クライアントシステム、デジタルデータ購買者クライアントシステム及びデジタルデータの取引サーバーが含まれるデジタルデータの取引方法において、
前記デジタルデータ販売者クライアントシステムから前記デジタルデータの取引サーバーに、販売者情報、デジタルデータ情報、取引機能情報及びデジタルデータが入力される段階と;
前記デジタルデータの取引サーバーが、前記デジタルデータの前記デジタルデータ情報及び取引機能情報をオンラインに公知する段階と;
前記デジタルデータ購買者クライアントシステムが、前記デジタルデータの取引サーバーで前記デジタルデータを用いるために、前記取引機能情報の中から認証機能を選択する段階と;
前記デジタルデータの取引サーバーが、前記デジタルデータ及び前記認証機能のリストを暗号化して前記デジタルデータ購買者クライアントシステムへ転送する段階と;
前記デジタルデータの取引サーバーが、前記暗号化を復号化する手段を前記デジタルデータ購買者クライアントシステムへ転送する段階と;
を含むことを特徴とするデジタルデータの取引方法。
【請求項２】
デジタルデータ販売者クライアントシステム、デジタルデータ購買者クライアントシステム及びデジタルデータの取引サーバーが含まれるデジタルデータの取引方法において、
前記デジタルデータ販売者クライアントシステムから前記デジタルデータの取引サーバーに、販売者情報、デジタルデータ情報、取引機能情報、デジタルデータが入力される段階と;
前記デジタルデータの取引サーバーが前記デジタルデータの前記デジタルデータ情報及び取引機能情報をオンラインに公知する段階と;
前記デジタルデータ購買者クライアントシステムが、前記デジタルデータの取引サーバーで前記デジタルデータを用いるために、前記取引機能情報の中から認証機能を選択する段階と;
前記デジタルデータの取引サーバーが、前記デジタルデータ及び前記認証機能のリストを暗号化して前記デジタルデータ購買者クライアントシステムへ転送する段階と;
前記デジタルデータの取引サーバーが、前記暗号化を復号化する復号化モジュール、前記デジタルデータを識別するファイル識別子判断モジュール、前記デジタルデータの実行命令をフッキングするフッキングモジュール及び認証機能モジュールを前記デジタルデータ購買者クライアントシステムへ転送する段階と;
を含むものであって、
前記デジタルデータ購買者クライアントシステムが、前記ファイル識別子判断モジュールで前記暗号化されたデジタルデータを認知する段階と、前記復号化モジュールで前記暗号化されたデジタルデータをシステムの主メモリ上で復号化する段階と、前記復号化されたデジタルデータを実行可能な実行プログラムを前記主メモリ上にローディングする段階と、前記ローディングされた実行プログラムを分析して、必要とする必要機能モジュールを認知する段階と、前記認証機能モジュールを前記主メモリ上に提供する段階と、前記フッキングモジュールで前記実行プログラムから前記必要機能モジュールを呼び出す目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階と、前記実行プログラムが前記復号化されたデジタルデータを実行中に前記必要機能モジュールを呼び出す場合に、前記認証機能モジュールを必要機能モジュールの代わりに実行する段階と、前記認証機能モジュールの実行の前に前記暗号化された認証機能のリストを前記復号化モジュールで復号化して主メモリにローディングする段階と、前記認証機能モジュールで前記呼び出された必要機能モジュールが前記認証機能のリストに属するかを判断する段階と、前記呼び出された必要機能モジュールが前記認証機能のリストに属すると判断されると、前記認証機能モジュールから前記実行プログラムが呼び出した必要機能モジュールを呼び出して実行し、属していないと判断されると、前記呼び出された必要機能モジュールを実行しない段階とを含んで行うように構成されたことを特徴とするデジタルデータの取引方法。
【請求項３】
デジタルデータの取引方法において、
前記デジタルデータを実行する実行プログラムの機能のそれぞれを取引対象として、前記デジタルデータをオンライン上で取引する、デジタルデータの取引方法。
【請求項４】
前記暗号化されたデジタルデータをコンピュータシステムの主メモリ上で復号化する段階以前に、
遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と;
正当なユーザーと認証されると、前記暗号化されたデジタルデータを復号化できる復号化手段を転送される段階と;
を更に含むことを特徴とする請求項２に記載のデジタルデータの取引方法。
【請求項５】
前記実行プログラムコードは、実行に必要な必要機能モジュールをリストしたＩＡＴを含んで構成され、
前記ローディングされた実行プログラムを分析して、必要とする必要機能モジュールを認知する段階は、前記ＩＡＴを分析して認知する段階であることを特徴とする請求項２に記載のデジタルデータの取引方法。
【請求項６】
前記実行プログラムコードは、実行に必要な必要機能モジュールをリストして、これを呼び出すＩＡＴを含んで構成され、
前記実行プログラムから前記必要機能モジュールを呼び出す目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階は、前記ＩＡＴの呼び出し目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階であることを特徴とする請求項２に記載のデジタルデータの取引方法。
【請求項７】
前記認証機能モジュールの実行前に、前記復号化されたデジタルデータに対して使用可能であると認証された認証機能のリストを主メモリにローディングする段階以前に、
遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と;
正当なユーザーと認証されると、前記認証された認証機能のリストを前記サーバーシステムから転送される段階と;
を更に含むことを特徴とする請求項２に記載のデジタルデータの取引方法。
【請求項８】
前記必要機能モジュールは、画面表示、画面格納、画面印刷、ファイル編集、ファイル格納、ファイル転送、ファイル印刷、ファイル暗号化、ファイル復号化、サウンド実行、動画実行、プログラム実行の少なくともいずれか一つの機能を行うモジュールであることを特徴とする請求項２に記載のデジタルデータの取引方法。
【請求項９】
前記デジタルデータは、実行プログラムコード、映像データ、テキストデータ、音データ、停止画面データ、イメージデータの少なくともいずれか一つ以上のデータを含むことを特徴とする請求項２に記載のデジタルデータの取引方法。
【請求項１０】
ファイル識別子判断モジュール、暗号化/復号化モジュール、フッキングモジュール及び認証機能モジュールを含むユーザーのコンピュータシステムが、
暗号化されたデジタルデータ及びそれに連動して暗号化された認証機能のリストを遠距離に置かれた所定のサーバーからダウンロードする段階と;
前記ファイル識別子判断モジュールが前記暗号化されたデジタルデータを認知する段階と;
前記暗号化/復号化モジュールが前記暗号化されたデジタルデータを前記コンピュータシステムの主メモリ上で復号化する段階と;
前記復号化されたデジタルデータを実行可能な実行プログラムを前記主メモリ上にローディングする段階と;
前記ローディングされた実行プログラムを分析して、必要とする必要機能モジュールを認知する段階と;
前記必要機能モジュールが作動するかどうかを認証する認証機能モジュールを前記主メモリ上にローディングする段階と;
前記フッキングモジュールが前記実行プログラムから前記必要機能モジュールを呼び出す目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階と;
前記実行プログラムが前記復号化されたデジタルデータを実行中に前記必要機能モジュールを呼び出す場合に、前記認証機能モジュールを必要機能モジュールの代わりに実行する段階と;
前記認証機能モジュールの実行の前に、前記暗号化された認証機能のリストを前記暗号化/復号化手段で復号化して主メモリにローディングする段階と;
前記認証機能モジュールが、前記呼び出された必要機能モジュールが前記認証機能のリストに属するかを判断する段階と;
前記呼び出された必要機能モジュールが前記認証機能のリストに属すると判断されると、前記認証機能モジュールから前記実行プログラムが呼び出した必要機能モジュールを呼び出して実行し、属していないと判断されると、前記呼び出された必要機能モジュールを実行しない段階と;
を含むことを特徴とするコンピュータプログラムの実行方法。
【請求項１１】
前記暗号化されたデジタルデータをコンピュータシステムの主メモリ上で復号化する段階以前に、
遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と;
正当なユーザーと認証されると、前記暗号化されたデジタルデータを復号化できる復号化手段を転送される段階と;
を更に含むことを特徴とする請求項１０に記載のコンピュータプログラムの実行方法。
【請求項１２】
前記実行プログラムコードは、実行に必要な必要機能モジュールをリストしたＩＡＴを含んで構成され、
前記ローディングされた実行プログラムを分析して、必要とする必要機能モジュールを認知する段階は、前記ＩＡＴを分析して認知する段階であることを特徴とする請求項１０に記載のコンピュータプログラムの実行方法。
【請求項１３】
前記実行プログラムコードは、実行に必要な必要機能モジュールをリストして、これを呼び出すＩＡＴを含んで構成され、
前記実行プログラムから前記必要機能モジュールを呼び出す目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階は、前記ＩＡＴの呼び出し目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階であることを特徴とする請求項１２に記載のコンピュータプログラムの実行方法。
【請求項１４】
前記認証機能モジュールの実行前に、前記復号化されたデジタルデータに対して使用可能であると認証された認証機能のリストを主メモリにローディングする段階以前に、
遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と;
正当なユーザーと認証されると、前記認証された認証機能のリストを前記サーバーシステムから転送される段階と;
を更に含むことを特徴とする請求項１０に記載のコンピュータプログラムの実行方法。
【請求項１５】
前記認証機能のリストは暗号化されたファイルであり、
前記認証機能モジュールの実行前に、前記復号化されたデジタルデータに対して使用可能であると認証された認証機能のリストを主メモリにローディングする段階以前に、
遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と;
正当なユーザーと認証されると、前記認証機能のリストを復号化できる復号化手段を前記サーバーシステムから転送される段階と;
を更に含むことを特徴とする請求項１０に記載のコンピュータプログラムの実行方法。
【請求項１６】
前記必要機能モジュールは、画面表示、画面格納、画面印刷、ファイル編集、ファイル格納、ファイル転送、ファイル印刷、ファイル暗号化、ファイル復号化、サウンド実行、動画実行、プログラム実行の少なくともいずれか一つの機能を行うモジュールであることを特徴とする請求項１０に記載のータープログラムの実行方法。
【請求項１７】
前記デジタルデータは、実行プログラムコード、映像データ、テキストデータ、音データ、停止画面データ、イメージデータの少なくともいずれか一つ以上のデータを含むことを特徴とする請求項１０に記載のコンピュータプログラムの実行方法。
【請求項１８】
暗号化されたデジタルデータをコンピュータシステムの主メモリ上で復号化する復号化手段と;
主メモリ上にローディングされた前記デジタルデータを実行可能な実行プログラムを分析して、必要とする必要機能モジュールを認知する必要機能モジュールの認識手段と;
前記必要機能モジュールが作動するかどうかを認証する認証機能手段と;
前記主メモリ上にローディングされた実行プログラムの実行コードのうち、前記必要機能モジュールを呼び出すコードの呼び出し目標アドレスを前記認証機能手段のエントリポイントアドレスに変更するフッキング手段と;
前記復号化されたデジタルデータに対して使用可能であると認証された認証機能のリストと;
前記必要機能モジュールが前記認証機能のリストに属するかを判断する判断手段と;を含むものであって、
前記実行プログラムによって所定の必要機能モジュールが呼び出されると、前記判断手段によって前記呼び出された必要機能モジュールが認証機能のリストに含まれているかを判断し、これにより、含まれていると判断されると、前記認証手段を介して前記所定の必要機能モジュールが呼び出され、含まれていないと判断されると、前記所定の必要機能モジュールを呼び出さないことを特徴とするコンピュータプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータの取引方法に関するもので、更に詳細には、暗号化されたデジタルデータファイルを復号化して実行する際に、認証されなかった複製、印刷、転送機能を源泉的に封鎖することにより、デジタルデータの不法複製及び不法流通を遮断し、ひいては、デジタルデータの実行時に必要な機能のみを選択的に購買して使用できる方法を提供するものである。
【背景技術】
【０００２】
近来、価値のある情報を電子化された文書やデータとして生成し、配布する行為は、経済的に重要な問題として際たっているが、特に、インターネットなどの通信システムの発達に従って、このようなデジタルデータはオンライン取引ができる財貨として認識され始めた。
【０００３】
しかし、音楽ファイル、映像ファイル、文書ファイルなどのデジタルデータは、容易に不法的に複製され、送信され得る性質を有しているので、取引対象となるためには、このような不法複製及び転送などを技術的に制限できるはずなのに、現在の技術では、これを源泉的に封鎖する方法がほとんどないのが事実である。
【０００４】
また、デジタルデータが正常な取引の対象となるためには、正当な代価を支払い、これを用いるユーザーにとっては、データの利用に不便さがないはずであり、単純にデジタルデータを閲覧する程度であるのか、あるいは、これを複製するとか転送する程度であるのかによって支払う代価が差別化されるようにしたら、さらなる活発なデジタルデータの流通を支援できるだろう。
【０００５】
結局、不法的なデジタルデータの使用ができないように構成し、これと同時に、一つのデジタルデータに関しても、これを用いるユーザーは、各々互いに異なる権限だけ購買し、その権限の限度内でデジタルデータを利用できるようにしたら、コスト面において融通性のある取引が可能なので、さらなる活発なデジタルデータの流通を奨励することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、デジタルデータの不法な使用を防止できる方法を提供することをその目的とする。
【０００７】
本発明は、安全なデジタルデータの流通の方法を提供することを他の目的とする。
【０００８】
本発明は、デジタルデータの実行時に必要な機能のうち、ユーザーが購買するとか獲得した機能のみ作動するようにする方法を提供することにより、さらなる活発なデジタルデータの流通を奨励することを更に他の目的とする。
【課題を解決するための手段】
【０００９】
前述した目的を達成するために、デジタルデータ販売者クライアントシステム、デジタルデータ購買者クライアントシステム及びデジタルデータの取引サーバーが含まれる本発明のデジタルデータの取引方法は、前記デジタルデータ販売者クライアントシステムから前記デジタルデータの取引サーバーに、販売者情報、デジタルデータ情報、取引機能情報、デジタルデータが入力される段階と;前記デジタルデータの取引サーバーが前記デジタルデータの前記デジタルデータ情報及び取引機能情報をオンラインに公知する段階と;前記デジタルデータ購買者クライアントシステムが、前記デジタルデータの取引サーバーで前記デジタルデータを用いるために、前記取引機能情報の中から認証機能を選択する段階と;前記デジタルデータの取引サーバーが、前記デジタルデータ及び前記認証機能のリストを暗号化して前記デジタルデータ購買者クライアントシステムへ転送する段階と;前記デジタルデータの取引サーバーが前記暗号化を復号化する復号化モジュール、前記デジタルデータを識別するファイル識別子判断モジュール、前記デジタルデータの実行命令をフッキングするフッキングモジュール及び認証機能モジュールを前記デジタルデータ購買者クライアントシステムへ転送する段階と;を含むものであって、前記デジタルデータ購買者クライアントシステムが、前記ファイル識別子判断モジュールで前記暗号化されたデジタルデータを認知する段階と、前記復号化モジュールで前記暗号化されたデジタルデータをシステムの主メモリ上で復号化する段階と、前記復号化されたデジタルデータを実行可能な実行プログラムを前記主メモリ上にローディングする段階と、前記ローディングされた実行プログラムを分析して、必要とする必要機能モジュールを認知する段階と、前記認証機能モジュールを前記主メモリ上に提供する段階と、前記フッキングモジュールで前記実行プログラムから前記必要機能モジュールを呼び出す目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階と、前記実行プログラムが前記復号化されたデジタルデータを実行中に前記必要機能モジュールを呼び出す場合に、前記認証機能モジュールを必要機能モジュールの代わりに実行する段階と、前記認証機能モジュールの実行の前に、前記暗号化された認証機能のリストを前記復号化モジュールで復号化して主メモリにローディングする段階と、前記認証機能モジュールで前記呼び出された必要機能モジュールが前記認証機能のリストに属するかを判断する段階と、前記呼び出された必要機能モジュールが前記認証機能のリストに属すると判断されると、前記認証機能モジュールから前記実行プログラムが呼び出した必要機能モジュールを呼び出して実行し、属していないと判断されると、前記呼び出された必要機能モジュールを実行しない段階とを含んで行うように構成されたことを特徴とする。
【００１０】
また、本発明のデジタルデータの取引方法は、前記デジタルデータを実行する実行プログラムの機能のそれぞれを取引対象として、前記デジタルデータをオンライン上で取引することを特徴とする。
【００１１】
また、前記暗号化されたデジタルデータをコンピュータシステムの主メモリ上で復号化する段階以前に、遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と、正当なユーザーと認証されると、前記暗号化されたデジタルデータを復号化できる復号化手段を転送される段階とを更に含んで、より安全にデジタルデータを流通することができるようにする。
【００１２】
また、前記実行プログラムコードは、実行に必要な必要機能モジュールをリストしたＩＡＴ(Import Address table)を含んで構成され、前記ローディングされた実行プログラムを分析して、必要とする必要機能モジュールを認知する段階は、前記ＩＡＴを分析して認知する段階であってもよく、前記ＩＡＴは、更に、前記実行プログラムコードの実行に必要な必要機能モジュールを呼び出すことができるし、前記実行プログラムから前記必要機能モジュールを呼び出す目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階は、前記ＩＡＴの呼び出し目標アドレスを前記認証機能モジュールのエントリポイントアドレスに変更する段階であってもよい。
【００１３】
また、前記認証機能モジュールの実行前に、前記復号化されたデジタルデータに対して使用可能であると認証された認証機能リストを主メモリにローディングする段階以前に、遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と、正当なユーザーと認証されると、前記認証された認証機能リストを前記サーバーシステムから転送される段階とを更に含んで、より安全にデジタルデータを流通することができるようにする。
【００１４】
また、前記認証された認証機能リストは、暗号化されたファイルであり、前記認証機能モジュールの実行前に、前記復号化されたデジタルデータに対して使用可能であると認証された認証機能リストを主メモリにローディングする段階以前に、遠距離に置かれたサーバーシステムに接続してユーザー認証を受ける段階と、正当なユーザーと認証されると、前記認証された認証機能リストを復号化できる復号化手段を前記サーバーシステムから転送される段階とを更に含んで、より安全にデジタルデータを流通することができるようにする。
【００１５】
本発明で言及する必要機能モジュールとは、コンピュータが一般的なプログラム実行のために要するすべてのモジュールのことであり、その例として、画面表示、画面格納、画面印刷、ファイル編集、ファイル格納、ファイル転送、ファイル印刷、ファイル暗号化、ファイル復号化、サウンド実行、動画実行、ジャバスクリプトなどで必要なインタープリターモジュールなどのプログラム実行の少なくともいずれか一つの機能を行うモジュールであってもよく、本発明で言及するデジタルデータは、実行プログラムコード、映像データ、テキストデータ、音データ、停止画面データまたはイメージデータの少なくともいずれか一つ以上のデータであってもよい。
【００１６】
本発明はまた、暗号化されたデジタルデータをコンピュータシステムの主メモリ上で復号化する復号化手段と;主メモリ上にローディングされた実行プログラムを分析して、必要とする必要機能モジュールを認知する必要機能モジュールの認識手段と；前記必要機能モジュールが作動するかどうかを認証する認証手段と；前記主メモリ上にローディングされた実行プログラムの実行コードのうち、前記必要機能モジュールを呼び出すコードの呼び出し目標アドレスを前記認証手段のエントリポイントアドレスに変更するアドレス変更手段と；前記復号化されたデジタルデータに対して使用可能であると認証された認証機能リストと；前記必要機能モジュールが前記認証された認証機能リストに属するかを判断する判断手段と；を含むコンピュータプログラムに関するものである。
【発明の効果】
【００１７】
本発明は、オンラインでデジタルデータを取引する方法を提供するもので、本発明を用いて様々なデジタルデータを様々なオプションで取引できるようになる。
【００１８】
また本発明は、デジタルデータの安全な実行を図ることで、デジタルデータの流通に最も大きな問題となるハッキングや不法複製などを防止できるように構成されている。
【００１９】
本発明によれば、オンライン・デジタル・データの取引に健全かつ多様な商取引の秩序を確立できるので、より発達されたデジタルデータが製作され得る社会的、技術的な雰囲気を形成できるようになる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００２１】
図１は、デジタルデータの取引に必要な本発明のシステムに対する一実施例を示す図である。
【００２２】
図１では、デジタルデータを製作して販売するデジタルデータ販売者クライアントシステムら１１と、このようなデジタルデータを購買しようとするデジタルデータ購買者クライアントシステムら１２とで供給側と需要側とを区分しており、また、この両者の取引を取り持つ取引サーバー１３が挟まれており、販売者クライアントシステムが供給したデジタルデータのリスト及び簡略な内容を示す取引画面を提供し、購買者クライアントシステムからの取引要請に対し取引過程を処理する。また、この取引サーバーとは別に、銀行やカード社などの決済サーバー１４がこれに繋がれて購買者及び取引を認証し、購買者の口座などから実質的な決済を行うようにする。
【００２３】
図１において、各クライアントシステム１１、１２は、有線または無線で取引サーバーに連結可能である。なお、各クライアントシステムは、コンピュータ、携帯電話、PDAなど、デジタルデータをアップロードするとかダウンロードすることができ、さらに、内容を画面に表示するとか取引指令及び条件らを入力し、処理できるハードウェア的な構成が備えられた装置ならば、いずれも可能である。このような本発明のハードウェア的な構成は、インターネットショッピングモールのような有形財(Tangible Goods)のオンライン取引に使われるシステムと極めて類似しているので、特別な場合を除いて、詳細な説明は省略する。
【００２４】
また、本発明で意味するデジタルデータは、転送ができるいずれの形態のものも含むものであり、例えば、ゲームや有用な実行プログラムとして、その自体が実行可能な形態の実行プログラムのコード、訓民正音やアクロバットなどで作成されたテキストデータ、MP3形式やその他の形式の音ファイルや音楽ファイル、停止画及び動画ファイルなどの映像データ及びこれらが混合しているマルチメディアデータなど、経済的な価値を持ち、オンラインで転送及び配布ができるすべてのデジタルデータを含むといった概念である。
【００２５】
図２は、本発明のデジタルデータの取引過程で起きる段階を各取引主体別に区分したフローチャートであり、図３は、取引サーバーを構成するモジュールらを説明するための図である。
【００２６】
デジタルデータを供給する側の販売者クライアントシステムでは、本発明の取引サーバーに接続して取引画面の提供を要求し、取引サーバーはこれを転送するが、この取引画面は、デジタルデータを取引するサイバー取引市場の役割を司るものであり、例えば、有線のウェブページや無線のウェブ(WAP)ページなどの形式で提供可能である。
【００２７】
前記取引画面に接続した販売者クライアントは、まず、販売者の情報を入力する(Ｓ２１)。ここで、販売者の情報は、販売者IDまたは販売者クライアントシステムのIPアドレス、販売者クライアントシステムの固有の機器情報などが該当し、これは、今後の決済の際に入金される販売者の口座情報等を確認するためである。
【００２８】
参考で、システムの固有の機器情報とは、コンピュータの運営体制やＣＰＵなどの製品生産番号やメモリスティック状で提供されるスマートカード情報を意味することで、ユーザーに無関係にデジタルデータを実行するコンピュータシステムのみを基準で取引主体を区分するためのことである。したがって、仮に、販売者側１１または取引サーバー１３の取引政策によって、同一のユーザーID、同一のIP、同一のコンピュータシステムまたは同一のスマートカードならば、どこでも誰でも同一のデジタルデータを利用できるようにすることで、さらなる活発な取引及び利用を誘導することができる。このような状況は、購買者クライアントシステム側１２も同様であり、以下ではこのような取引主体に対する情報を単に販売者情報及び購買者情報と称する。
【００２９】
販売者情報を入力した販売者クライアントシステムは、その後に取引されるデジタルデータに対するデジタルデータ情報を取引画面に入力する(Ｓ２２)。ここで、入力されるデジタルデータ情報は、取引されるデジタルデータの題目、簡略な説明、カテゴリー分類、検索時に使われるキーワードの入力など、取引客体に対する一般的な情報であり、購買者側が取引の前に該当のデジタルデータを充分認知できるように助力するための情報らである。
【００３０】
また、販売者は、これに加えて、取引可能な機能をそれに付加された販売条件と共に入力する。以下では、前記取引可能な機能とその販売条件とを取引機能情報と通称する。
【００３１】
本発明において、取引機能情報とは、例えば、取引されるデジタルデータを単純に見るか聞く形態の実行機能、ストリーム方式などで提供されたデジタルデータを自分のファイルシステムに格納する格納機能、印刷して紙に出力する印刷機能、他人に転送する転送機能などと、各機能に対して販売者が設定した価格などの販売条件を意味しており、これらは、一般的に、これまでは一つのデジタルコンテンツに対して全部許容されてきた機能らである。
【００３２】
本発明では、この機能のそれぞれを取引対象により区分して、同一のデジタルデータに対しても、購買者によって互いに異なる機能を行う権限を付与し、自分に付与された権限以上の機能は行えないようにすることで、デジタルデータの商品性を極大化する方法を提供しようとするのである。
【００３３】
このような取引機能情報を入力した後、販売者は、取引客体であるデジタルデータをアップロードする(Ｓ２３)。
【００３４】
前述したアップロード及び取引情報などに対する入力は、その手順を変えて行うこともできる。
【００３５】
前記入力された情報らを転送された取引サーバー１３は、前記販売者情報の入力段階(Ｓ２１)で入力された情報などを基に、前記デジタルデータの販売者を区分し、決済する口座情報などを認知する(Ｓ２４)。また、デジタルデータ情報の入力段階(Ｓ２２)で入力された情報を基に、該当のデジタルデータに対する情報を識別し(Ｓ２５)、また、取引機能情報をここに連動して識別する。ここで、識別とは、入力された情報を転送されて、連動させて格納し、後に連動させて掲示するなど、取引サーバーがデジタルデータの流通に必要な作動をするために客体であるデジタルデータを取り扱うのに必要な認識を言う。
【００３６】
次に、取引サーバーは、このデジタルデータの不法複製及び不法流通を阻止するために、暗号化/復号化モジュールを使って暗号化作業を行い、取引サーバーに連動された格納モジュールにこれを格納した後(Ｓ２６)、前記デジタルデータ情報を有無線のインターネットなどや私設網に提供される取引画面に掲示する(Ｓ２８)。また、前記デジタルデータの暗号化及び格納の際に、このデジタルデータが取引サーバーにより暗号化され、販売されたものであることを認知できる識別子を付与することで、今後他の文書と区分するようにする(Ｓ２７)。
【００３７】
購買者クライアントシステム１２の作動方式について説明すれば、まず、購買者クライアントシステムは、取引サーバー１３に接続して取引可能なデジタルデータの取引情報を閲覧し、取引しようとするデジタルデータを選択する。なお、このような選択を前後して購買者情報及び決済情報を提供し、取引の基本的な要件を揃えるようにする(Ｓ２９)。
【００３８】
取引対象のデジタルデータを決めて、ダウンロード項目として選択した後(Ｓ３０)、そのデジタルデータに対してどのような機能を行うのか決定する認証機能の選択段階を経て(Ｓ３１)、取引情報を基に、これに対して決済を承認する(Ｓ３２)。決済が完了すれば、購買者クライアントシステムは、選択されたデジタルデータをダウンロードして使用可能な状態になる(Ｓ３３)。
【００３９】
前述した取引サーバーの構成モジュールに対する具体的な一例が図３に示されている。
【００４０】
図３において、取引サーバー１３は、前述した取引客体に対する情報３７を取引画面の一部分としてクライアントシステムに提供するデジタルデータディスプレイモジュール３１、取引対象のデジタルデータそのものを暗号化して格納モジュールに格納し、これに対する復号化手段を提供する暗号化/復号化モジュール３２、デジタルデータとここに連動された販売者及び/又は購買者情報、  取引条件情報を格納した取引DBモジュール３３、販売者クライアントシステム１１からデータ及び取引条件をアップロードされ、購買者側の取引要請に対して決済サーバー１４を連結して決済を行った後、該当のデジタルデータとその復号化手段、購買者に認証された機能リスト、本発明で提供する実行プログラム形態の保安エンジンなどを購買者クライアントシステム１２に転送するなどの取引に関連する一般的な機能を行う取引遂行モジュール３４と、これらの全てを制御する制御部３０とで構成されており、各クライアントシステム、格納モジュール、決済サーバーなどとの通信のためのインタフェースモジュール３５などで構成される。ここで、前記格納モジュール３６、決済サーバー１４は、構成によって、取引サーバー内部にモジュール形態で含まれることができることは勿論である。
【００４１】
さらに、図３において、前記取引画面のうち、客体情報画面３７の一例が示されており、販売者は、この画面３７を通じて自分がアップロードしたデジタルデータの名称、簡略な説明、取引可能な機能らの取引条件を入力して提示することができ、購買者は、この画面３７を見ながら必要な対象と条件とを設定して、取引サーバー１３に購買要請及び決済金額などの決済情報を送ることが可能になる。
【００４２】
図示された例では、画面実行、格納、転送などの各機能に対する購買金額が示されており、各項目の金額を支払って特定機能らを購買すれば、これは該当の購買者の該当のデジタルデータに対する認証機能となって認証機能のリストに格納される。すなわち、認証機能のリストとは、該当のデジタルデータの購買可否とは別に、該当のデジタルデータに対して購買者だけが行える機能を意味することである。このような認証機能のリストは、特にデジタルデータの転送や複製など、該当のデジタルデータの著作権者の著作権を侵害可能な機能に対して、購買者があらかじめこのような機能を購買して、複製や転送機能などを行う場合、侵害可能なデジタルデータの著作権に対して事前にそれに対する正当な補償をするように構成したものである。
【００４３】
以下では、認証機能及び認証されない機能を区分して、この両方を合わせた概念を必要機能と称する。取引可能な必要機能は、図示されたことに加えて、各機能に対する付加的な条件ら、例えば、使用期間などもなり得る。
【００４４】
一方、図３では、取引DBモジュール３３に格納されるデータがどのように構成されるかの一例を示しており、例えば、特定のデジタルデータとこれを購買した購買者のID及びパスワードなどを共に連動させて格納することで、ある購買者がこのデジタルデータを要求する場合、該当のデジタルデータをダウンロードして、復号化することのできる権限があるかを認証できるように構成されている。また、その購買者がそのデジタルデータに対してどんな機能のみを行えるかに対する認証機能のリストを格納し、以下で説明する認証機能モジュールの認証確認の際に、これを参照できるように構成されている。図示されたところによれば、例えば、A943とは、IDを持った購買者はD.exeというデジタルデータに対しＤ(Screen Display)、Ｓ(Save)機能のみを購買したので，この機能のみを認証機能のリストで権限が付与されていることが見られ、今後、このユーザーが、D.exeに対してこの認証された機能とは違う機能、例えば、印刷機能(P)を遂行しようと試みると、この機能は、本発明の保安エンジンによって行われないかエラーとして処理される。
【００４５】
図４は、前述した購買者クライアントシステム１２での購買過程(Ｓ２９〜Ｓ３３)をも更に詳細に示したフローチャートである。まず、購買者は、購買者クライアントシステムとして、インターネットなどに繋がれたパソコン、携帯電話、PDAなど通信機器を用いて取引サーバーに接続した後、購買者情報を入力し(Ｓ２９)、購買者であることを認証される。また、この認証を前後して、取引サーバーから取引画面を提供されて取引対象のデジタルデータのリストを検索する。
【００４６】
このような検索によって、ダウンロード対象及びこれに対して購買者が必要とする必要機能ら、すなわち認証機能のリストを選択した後(Ｓ３０、Ｓ３１)、これをダウンロードするためには、決済する過程(Ｓ３２)を経なければならない。決済は、サイバーマネーやその他取引サーバーの政策によって有料広告を視聴するなどの多様な代価を用いることができる。もし、実生活で使用されるお金で決済するとしたら、事前に格納された該当のユーザーの決済情報を用いるか、または各取引の度に新しい決済情報を入力(Ｓ３２-１)するようにできる。
【００４７】
決済段階を前後して選択されたデジタルデータをダウンロードする端末、すなわち、目標端末を選択する段階を経ることもできる(Ｓ３３-１)。接続したクライアントシステムが目標端末になることが一般的であるが、例えば、友達に特定の音楽ファイルをプレゼントするなどの場合には、第３者のクライアントシステムを目標端末として選定するのが可能でなければならないからである。以下では、特に言及しない限り、データを購買した購買者クライアントシステムと目標端末とが等しいものと想定して説明する。
【００４８】
決済及び目標端末の選定などが終わると、実際のダウンロード段階に進む。ダウンロードを要請すると(Ｓ３３-２)、購買者にとっては、あたかもデジタルデータだけがダウンロードされるように見えるかも知れないが、実際には、本発明の取引機能のために必ず必要な保安エンジンと、前述した認証機能のリストとが暗号化された状態でデジタルデータと共にダウンロードされる(Ｓ３３-３、Ｓ３３-４、Ｓ３３-５)
【００４９】
以下では、前記保安エンジンを特に本発明者が名付けた固有の名称である、ドキュシェルエンジン(DocuShell Engine)または略してＤＳＥと称し、これは、本発明の取引方式のために新たに開発された保安エンジンである。このＤＳＥは、ダウンロードが終わると同時に自動的にクライアントシステムに設置されるように構成されており(Ｓ３３-６)、また、コンピュータシステムのレジストリ(Registry)に登録され、システムを始めるときには、常に主メモリ上にローディングされてプロセス化されることにより、ユーザーのデジタルデータの使用を補助し、監視できるように構成されている。
【００５０】
図４において、認証機能のリストダウンロードは事前に実施されることなく、該当の認証機能を使用しようとする際に、初めてユーザーに対する認証を経てから、ダウンロードされるようにすることもできる。また、前記ＤＳＥには、暗号化されたデジタルデータを復号化できる復号化手段が共に内蔵されており、前記ＤＳＥをダウンロードされて設置しなければ、デジタルデータに対する復号化及びその活用が全くできないように構成されている。
【００５１】
図５は、前述したダウンロード過程が完了し、ＤＳＥが設置された目標端末または購買者クライアントシステム１２の構成の一例を示したものである。
【００５２】
ダウンロードされたデジタルデータ５５及びそれに連動された認証機能のリスト５６は、暗号化された状態で、ハードディスクなどの補助メモリ領域５７−１などに格納される。また、ＤＳＥ５０が設置されており、このＤＳＥは、ファイル識別子判断モジュール５１と、暗号化/復号化モジュール５２と、フッキングを行うフッキングモジュール(Hooking Module)５３と、必要機能に対する認証を行う認証機能モジュール５４とで構成されている。
前記ＤＳＥのモジュールらについて簡略に説明すれば、ファイル識別子判断モジュール５１は、ＤＳＥが作動して影響を与えなければならないデジタルデータを区分するためのモジュールであって、同様のパワーポイントデータであっても本発明の方式で取引されたデータなのかどうかを判断するためのものである。具体的な方法は、取引サーバーの暗号化/復号化モジュール３２が該当のデジタルデータを暗号化する際に付与したファイル識別子をファイル識別子判断モジュールが認知し、これを区分する機能を行う。そして、暗号化/復号化モジュールは、購買者のシステムにダウンロードされた暗号化されたデジタルデータ５５及び認証機能のリスト５６を復号化し、後にユーザーが該当のデジタルデータで作業した後、これを格納するといった認証された格納指令を出すと、それに対して主メモリに記録されたデータのうち必要なデータを再び暗号化して格納する機能を行う。フッキングモジュール５３は、デジタルデータ５５を実行する実行プログラム５０及び必要機能モジュール５８が運営体制のローダーによって主メモリにローディングされた後、後述されるアドレスリマッピング(Address Remapping)を行うモジュールであり、認証機能モジュール５４は、要請された必要機能が認証機能のリストに含まれている認証された機能なのかを確認するモジュールである。フッキングモジュール５３は、本発明の認証機能モジュール５４が作動するために必ず必要なモジュールで、この両方の作動方法については、詳しく後述する。
【００５３】
図５には、これに加えて、前記デジタルデータを実行可能な実行プログラム５７と、その実行プログラムが必要とする必要機能モジュール５８らとの例も共に示されており、これはあらかじめクライアントシステムに設置されているものである。
【００５４】
前記実行プログラム及び必要機能モジュールの例を簡単に挙げると、ダウンロードされたデジタルデータがA.pptならば、実行プログラムは、米国のマイクロソフト社のプログラムであるパワーポイントプログラム(Powerpoint.exe)であり、必要機能モジュールは、この実行プログラムが必要とする各種ＤＬＬファイル(Dynamic Loading Library File)になり得る。
【００５５】
このような必要機能モジュールは、実行プログラム内部にプログラムコードで存在するか、またはＤＬＬファイルのような独立のモジュールで存在することができ、いずれの形態でもこの必要機能を行う実行コードは、その始まりであるエントリポイントと、その終了時に返還されるリターンポイントとを含む別途のブロックで構成されている場合が大部分であり、本発明では、このブロック形態の実行コードを必要機能モジュールと称する。
【００５６】
実行プログラムに対し、必要機能モジュールは、格納、転送、画面ディスプレイなどのそれぞれ独立の補助的な機能を行うので、実行プログラムと必要機能モジュールとは、実際の実行のためにプロセス化されたとき、主メモリ上でアドレスマッピング過程を経て互いに結合され、例えば、実行プログラムのＩＡＴ(Import Address Table)を分析して、各必要機能(Ft1、Ft2)を認知し、これらが呼び出す必要機能モジュールのアドレス(Adrs1、Adrs2)を必要機能モジュールのＥＡＴ(Export Address Table)から読み出し、ＩＡＴに格納する方式である。これに関しては一般的によく知られており、もう一度詳しく後述する。
【００５７】
このようにＤＳＥ及び各種モジュールが設置されたクライアントシステムでダウンロードされたデジタルデータを作動させる際のフローチャートが図６に示されている。
【００５８】
図６では、理解を助けるために、実行プログラムをA.exeと、実行対象のデジタルデータをDD.aaaと、暗号化されたDD.aaaはDD.aaa.msと例示した。勿論、このような例示は、本発明をある特定の形式に限定することではない。
【００５９】
本発明のＤＳＥは、一般的には、該当のクライアントシステムが起動された後、シェル(Ｓhell)モジュールを設置するときに共に設置されるようにレジストリに構成されているので、常に実行プログラム及びデジタルデータの実行の前にプロセス化される(Ｓ６１)。しかし、必要な場合には、特定の実行プログラムの実行要請を受け付けたとき(Ｓ６２)、または本発明の取引サーバーが付与した識別子、すなわち、図６では、暗号識別子としてmsを持ったデジタルデータの実行要請の際に(Ｓ６５)、ＤＳＥが初めて主メモリ上にローディングされてプロセス化されるように構成されることもできる。
【００６０】
また、デジタルデータDD.aaaのユーザーである購買者などは、これを実行できる実行プログラムA.exeの実行を先に要請した後にDD.aaaの実行を要請するか、または、DD.aaaの実行を先に要請した後に運営体制によって自動的にA.exeが実行されるようにできるので、図６では、実行プログラムの実行要請及びその後の段階(Ｓ６２〜Ｓ６４)とデジタルデータの実行要請及びその後の段階(Ｓ６５〜Ｓ６７)とを並んで配置して、その優先順位がないことを強調した。
【００６１】
したがって、結論的に、ＤＳＥのプロセス化の段階(Ｓ６１)、実行プログラムの実行要請の段階(Ｓ６２)及びデジタルデータの実行要請の段階(Ｓ６５)は、相互いずれが優先しても本発明を実行するのに差がなく、ただし、実行プログラムが主メモリ上にローディング(Ｓ６３)される前に、そして、デジタルデータが実行(Ｓ６７)される前にＤＳＥがプロセス化(Ｓ６１)されていれば良い。
【００６２】
図６において、実行プログラムの実行を先に要請した場合(Ｓ６２)、実行プログラムはクライアントシステムの主メモリにローディングされ(Ｓ６３)、その後、ＤＳＥによって実行プログラムの必要機能モジュールの呼び出しが分析された後、アドレスリマッピング(Address Remapping)を通じて認証機能モジュールが必要機能モジュールの代わりに作動するように措置するフッキング(Hooking)段階(Ｓ６４)を経ることになる。
【００６３】
前記段階(Ｓ６２〜Ｓ６４)を前後して、購買者は実行しようとするデジタルデータの実行を要請し(Ｓ６５)、この要請に対し、ＤＳＥは、自分の内部モジュールである復号化モジュール５２で暗号化されたデジタルデータDD.aaa.msを復号化して、DD.aaaと主メモリにローディングする(Ｓ６７)。
【００６４】
復号化モジュールに対する更に他の方式としては、このデジタルデータの実行要請の受け付け後(Ｓ６５)、クライアントシステムに繋がれた取引サーバーがユーザーをもう一度認証し、その時に初めてＤＳＥのモジュールである復号化モジュールを転送して前記復号化段階を経ることもできる(Ｓ７９)。これは、正当なユーザーの正当な使用なのかをもう一度確認する手続きであり、したがって、この実施例では、前記ＤＳＥの復号化モジュールがＤＳＥと分離され、別にダウンロードを受ける形態である。
【００６５】
なお、この時を前後して、ユーザーが決済し、認証された認証機能のリストを復号化して、主メモリに設置するが、認証機能のリストが暗号化された状態である理由は、このリストをハッキングすることを防止するためである。本発明では、認証機能のリストが事前にダウンロードされて暗号化された状態で、クライアントシステムに格納された実施例を基準で説明するが、ユーザー認証後(Ｓ７９)、初めて認証機能のリストがダウンロードされて設置される実施例が可能であることは当然な事である。したがって、これらの両方の場合を全て含んで、認証機能のリストの獲得段階(Ｓ６６)と称する。
【００６６】
前述した図６の過程において、もし、ユーザーがデジタルデータの実行を先に要請した場合(Ｓ６５)は、デジタルデータのプロセッシング段階(Ｓ６５〜Ｓ６７)の後、実行プログラムのプロセッシング段階(Ｓ６２〜Ｓ６４)が実行されることができる。
【００６７】
前記初期過程が実行された後、実行プログラムは、復号化されたデジタルデータDD.aaaに対する実際プロセッシングを始めることになり(Ｓ６８)、この時、実行プログラムは、このデータを画面にディスプレイするかサウンドで再生するための必要機能モジュールを呼び出すことになり、その他にもユーザーの指令によって編集、格納、転送などのための必要機能モジュールらを呼び出すことになる(Ｓ６９)。
【００６８】
必要機能nと示された特定の必要機能モジュールが実行プログラムによって呼び出されると(Ｓ６９)、これは、事前にＤＳＥによってフッキングされているので(Ｓ６４)、必要機能モジュールの代わりに認証機能モジュール５４が呼び出される。認証機能モジュールは既に復号化された認証機能のリスト５６を参照して、呼び出された必要機能モジュールnが認証された機能なのかをチェックする認証過程(Ｓ７０)を経ることになる。
【００６９】
呼び出された必要機能nが認証されたものと判断されると、認証機能モジュールは、この必要機能モジュールnを呼び出し、正常実行されるように措置する(Ｓ７１)。逆に、呼び出された必要機能モジュールが認証機能のリストに存在しなかったら、認証機能モジュールは、この呼び出しに対して反応しないかエラーメッセージを生成した後(Ｓ７２)、再び実行プログラムに戻るように措置し(Ｓ７３)、認証されていない必要機能は行えないようにする。なお、このような必要機能の呼び出しは何回もの繰り返し遂行が可能であり、その度に、前述した認証機能モジュールの実行が繰り返される(Ｓ６９〜Ｓ７２)。
【００７０】
すべての後続の作業が実行されると(Ｓ７３)、実行プログラムのDD.aaa.に対する実行は終わり(Ｓ７４)、ＤＳＥは、必要な場合、主メモリに記録されたデータらを暗号化してファイルシステムに格納するか(Ｓ７５)、または主メモリから完全に削除して(Ｓ７６)、復号化されたデジタルデータに対するハッキングを防ぐように措置する。
【００７１】
図７ａは、従来の実行プログラムの作動手順を示すものであり、図７ｂは、本発明の作動手順を示すものであり、特に前述した本発明のフッキング段階(Ｓ６４)及び認証段階(Ｓ７０〜Ｓ７２)を詳細に説明するための図である。
【００７２】
まず、従来方式である図７ａを考察すると、実行プログラム５７は、これを説明してくれるファイルヘッダー７０と、実際に実行されるコードである実行コード領域７１とで分けれており、また、実行コード７１で呼び出す関数、すなわち、本発明では必要機能モジュールと呼ばれるコードブロックに対する呼び出しアドレスをリストしたＩＡＴ(Import Address Table)７３を含んで構成されている。
【００７３】
また、必要機能モジュール５８は、ファイルヘッダー７４と、実際に機能する実行コード領域７５と、実行コード領域のエントリポイントアドレスを記録したＥＡＴ(Export Address Table)７６とで構成されている。
【００７４】
その作動方式を考察すると、まず、実行プログラム５７の全コードが主メモリにローディングされた後、システムの運営体制は、実行コード領域７１をパーシング(Parsing)するかまたは直接的にＩＡＴ７３を分析して、この実行プログラムが必要とする必要機能モジュールのアドレスをマッピングすることになる。例えば、示された実施例では、アドレス３５０でPLAYとの必要機能モジュールを、アドレス４８０でPRINTとの必要機能モジュールを呼び出し、これを行うようにするために、必要機能モジュールとして、例えば、ＤＬＬファイルであるPLAY.dllとPRINT.dllとを主メモリに配置し、それぞれのＥＡＴ(Export Address Table)を参照して、絶対アドレス、例えば、1200と1800を実行プログラムのＩＡＴ７３に記録する。
【００７５】
ＤＬＬファイルは、複数の種類の実行プログラムが共通で使用可能に構成された機能モジュールであって、実行プログラムの大きさを小さくして、効率的な実行のために開発された方式であり、現在のウィンドウズ（登録商標）の運営体制下では、一般的に使われる機能モジュールである。本発明では、ＤＬＬファイルを必要機能モジュールの例として挙げているが、同様の方式で呼び出されて、特定の機能を行った後、再びメインプログラムに復帰するように構成された機能コードブロックならば、いずれの形態のものも本発明の必要機能モジュールになり得る。
【００７６】
このようなＩＡＴの記録後、実行プログラムの実行コードが実際にＣＰＵで実行される途中、アドレス３５０でPLAY機能モジュールを呼び出すことになるが(段階(1))、これは、実際に関数名称を呼び出すのではなく、ＩＡＴ７３の該当のコードライン、すなわち、示された実施例ではアドレス１００を呼び出すのである。
【００７７】
アドレス１００を持ったＩＡＴのコードは、PLAY.dllを呼び出すできるように事前にアドレス１２００にマッピングされているため、段階(1)のジャンピングによってアドレス１００を実行すれば、再びコード１２００を呼び出すことになり(段階(2))、アドレス１２００を持ったコードで実際にPLAY.dllが実行された後、リターン命令によって実行プログラムコードに戻ることになる(段階(3))。
【００７８】
その後、実行プログラムコードの実行時に、アドレス４８０のコードを実行する途中、再びPRINT.dllの機能モジュールの呼び出しに会うことになれば、前述した方式の通り段階(4)から段階(6)までを経ることになる。
【００７９】
このような機能モジュールの呼び出しをフッキングして、認証機能モジュールで呼び出しをリダイレックション(re-direction)する本発明の遂行方式が、図７ｂに示されている。
【００８０】
図７ｂにおいて、実行プログラムコードが主メモリにローディングされた後、システムの運営体制がＩＡＴ７３の必要機能モジュールのアドレスをマッピングしてからは、その直後または実行プログラムのプロセス段階以前に、ＤＳＥ５０のフッキングモジュール５３（図示せず）によってフッキング段階が行われる(Ｓ６４)。
【００８１】
フッキングモジュール５３は、ＩＡＴの呼び出しアドレスを再び修正し、例えば、図７ａのように、PLAY.dllを実行するために、アドレス１２００を呼び出すように運営体制によって決まっていたＩＡＴのアドレス１００のコードの呼び出し目的地をアドレス１０００を呼び出すように修正し、アドレス１０００には、PLAY.dllの代わりにこれに対応する認証機能モジュール５４を配置するのである。
【００８２】
残りの必要機能の呼び出しに対しても、同様の過程を経ることができるように、ＩＡＴの呼び出しアドレスらを修正することで、本発明のフッキング段階(Ｓ６４)が終わり、実行プログラムは、実施可能な状態でユーザーの指令及び作業を待機することになる。
【００８３】
次に、実際に、実行プログラムの実行時にアドレス３５０でPLAY.dllの呼び出しを実行することになれば、これは、まずアドレス１００のＩＡＴへジャンピングした後(段階(1))、フッキングモジュールの操作によって操作されたアドレスであるアドレス１０００を呼び出すことになる(段階(2))。
【００８４】
アドレス１０００のコードは、PLAY.dllのエントリポイントではなく、本発明の認証機能モジュールであるMyPLAY.dllのエントリポイントである。したがって、認証機能モジュールが先に実行されることになり、ここで、認証機能モジュールは、実行プログラムで呼び出したPLAY.dllとの必要機能モジュールが認証機能のリストに記録された必要機能モジュール、すなわち、ユーザーが正当に購買したか獲得した必要機能に該当するのかを認証する段階(Ｓ７０)を行う。
【００８５】
確認方法は、認証機能モジュール５４が、示されたように、別途に区分された認証機能のリスト５６を呼び出し、認証機能のリストが自分のリストを検索して、MyPLAY.dllが認証されたものかをチェックした後、その結果値を認証機能モジュール５４に伝達する方式(段階(3))と、認証機能のリスト５６に記録された値を基に、各認証機能モジュール５４内にあらかじめその結果値を格納し、認証に備える方式とが可能である。このように、あらかじめ認証機能モジュールに結果値を格納する方式も本発明のＤＳＥが行う。
【００８６】
更に他の確認方法は、認証機能モジュール５４の実行時に、初めて購買者クライアントシステム１２が取引サーバー１３に接続した後、取引サーバー１３に認証機能モジュールに対する認証結果値を要請してその結果値を通報される方式である。この場合には、認証機能のリスト５４が始めから購買者クライアントシステム１２に伝達されず、単に取引サーバー１３の取引DBモジュール３３だけに格納されていて、呼び出しに回答する方式であって、ハッキングには最も安全な方式である。
【００８７】
呼び出された必要機能モジュールが認証機能のリストに含まれていると判断されると、認証機能モジュール５４は、初めてPLAY.dllのアドレスであるアドレス１２００のコードを呼び出してこの機能が実行されるようにし(段階(4))、PLAY.dllは実行後、認証機能モジュール５４を介して制御権を再び実行プログラムに渡す(段階(5))。
【００８８】
次に、実行プログラムコードの実行中に、アドレス４８０のコードを行いながら必要機能PRINT.dllの呼び出しを処理するとしたら、ＩＡＴのアドレス２００へのジャンピング(段階(6))によって、再びＤＳＥにより操作されたアドレスであるアドレス１１００を呼び出し(段階(7))、このPRINT機能モジュールに対する認証過程を経ることになる。この時も、同様の認証過程(段階(8))を経るが、その結果値が否定的であればアドレス１８００に位置したPRINT.dllは実行されなく、その代わりに、エラー値を出すか反応せずに実行プログラムの次命令を実行するように措置される(段階(9))。
【００８９】
このような過程を通じて、本発明のＤＳＥは、購買者が認証されなかった必要機能らを行えないようにすることで、本発明の取引方式を安全に行えるようにするものである。
【００９０】
図８は、本発明の更に他の実施例を示したものであり、本発明の前述した作動方式を無力化させようとするハッキングに備えた方式である。
【００９１】
本発明の作動方式を理解したハッカーならば、本発明のＤＳＥのフッキングモジュールと類似するフッキングモジュールを作ることができる。すなわち、ハッカーモジュールは、あたかも本発明のＤＳＥが行ったかのように実行プログラムのＩＡＴ呼び出しアドレスを修正することで、本発明のＤＳＥを無力化させることができ、例えば、本発明のＤＳＥがＩＡＴを、図７ｂに示されているように、“100:PLAY:1200”を“100:PLAY:1000”に修正したら、ハッカーモジュールが再びこれを元の“100:PLAY:1200”に修正して、認証機能モジュールを経ないようにするのである。
【００９２】
これに対する対応策として、図８の実施例は、ＤＳＥに文字暗号化モジュール８１を更に具備する。すなわち、本発明のＤＳＥは、ＩＡＴ及びＤＬＬに記録された“PLAY”や“PRINT”といったテキストデータを捜し出して操作すべきアドレスを修正するが、ハッカーモジュールも多くはこのような機能モジュールの名前を捜し出してその部分を修正するはずなので、文字暗号化モジュールを用いて、フッキング段階後に、この必要機能モジュールらの名前のテキストデータを消してしまったり、どんでもない名前に変更することにより、アドレスの修正位置を探し出せないようにするのである。
【００９３】
例えば、図８に示されているように、本発明のＤＳＥがＩＡＴで必要な機能モジュールである“PLAY”や“PRINT”といったテキストを捜して、その呼び出しアドレスらを認証機能モジュールのアドレスに修正した後、文字暗号化モジュール８１がこの機能モジュールらの名前が記録された主メモリ上のすべての部分を検索して、これを完全に別の名前である“Ft１”、“Ft２”などに変えるのがその一例である。
【００９４】
ハッカーモジュールが、ＤＳＥがフッキングする前にアドレスを変えるのは、その後にＤＳＥによって再びアドレスが変わるはずなので、全く無駄であり、したがって、必ずＤＳＥが作動した後に近づけなければならないが、文字暗号化モジュールの作動によってハッカーモジュールが必要な機能モジュールの名前らを捜せないので、結局、ハッキングは失敗となるのである。
【００９５】
本発明のこのような技術的思想を理解した当業者ならば、本発明の範疇内において多様な変形が可能であり、例えば、前記認証段階を一つ以上設定した後、必要な度に認証するなどである。したがって、本発明は前記実施例に限らず、特許請求の範囲によりその権利範囲が決められる。
【図面の簡単な説明】
【００９６】
【図１】本発明のシステムを示す図である。
【図２】取引主体別に本発明が作動する段階を示す図である。
【図３】取引サーバーの構成を示す模式図である。
【図４】本発明の取引段階を示すフローチャートである。
【図５】ＤＳＥが設置された購買者クライアントシステムの構成を示す模式図である。
【図６】本発明のＤＳＥによるデジタルデータの実行段階を示すフローチャートである。
【図７ａ】本発明のフッキング段階を示す模式図である。
【図７ｂ】本発明のフッキング段階を示す模式図である。
【図８】ハッキングを防止するための本発明の更に他の実施例を示す図である。
【符号の説明】
【００９７】
１１…販売者クライアント
１２…購買者クライアント
１３…デジタルデータ取引サーバー
１４…決剤サーバー
３０…制御部
３１…デジタルデータディスプレイモジュール
３２…暗号化/復号化モジュール
３３…取引DBモジュール
３４…取引遂行モジュール
３５…インタフェースモジュール
３６…格納モジュール
５０…ＤＳＥ
５１…ファイル識別子判断モジュール
５２…暗号化/復号化モジュール
５３…フッキングモジュール
５４…認証機能モジュール
５５…デジタルデータ
５６…認証機能のリスト
５７…実行プログラム
５７−１…補助メモリ領域
５８…必要機能モジュール
７０…ファイルヘッダー
７１…実行コード領域
７４…ファイルヘッダー
７５…実行コード領域
８１…文字暗号化モジュール
【図１】
2005317015.tif 000003
【図２】
2005317015.tif 000004
【図３】
2005317015.tif 000005
【図４】
2005317015.tif 000006
【図５】
2005317015.tif 000007
【図６】
2005317015.tif 000008
【図７ａ】
2005317015.tif 000009
【図７ｂ】
2005317015.tif 000010
【図８】
2005317015.tif 000011