(57)【要約】【課題】Ｗｅｂプログラムの作成者が意図しないＨＴＭＬ文書上や改竄されたＨＴＭＬ文書上でのＷｅｂプログラムの不正利用を防止する。【解決手段】ＨＴＭＬ署名検証手段が、ＨＴＭＬ文書に対するＨＴＭＬ署名を検証するとともに、ＨＴＭＬ文書の作成者の認証情報を取得する。次に、Ｗｅｂプログラム実行制御手段が、ＨＴＭＬ署名の検証結果に基づき、ＨＴＭＬ文書が改竄されているかどうかを判定するとともに、ＨＴＭＬ文書の作成者の認証情報に基づき、ＨＴＭＬ文書がＷｅｂプログラムを実行することが許可されているかどうかを判定し、ＨＴＭＬ文書が改竄されておらず、かつ、ＨＴＭＬ文書がＷｅｂプログラムを実行することが許可されている場合に、Ｗｅｂプログラムが動作するよう制御し、そうでない場合には、Ｗｅｂプログラムが動作しないよう制御する。【選択図】　　図１
2004118433.tif 000002
【特許請求の範囲】
【請求項１】
文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する第１のステップと、
前記第１のステップで取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第２のステップと、
前記第２のステップで前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第３のステップとを含むことを特徴とする外部プログラムの動作制御方法。
【請求項２】
文書データに対する署名データを検証する第４のステップと、
前記第４のステップでの検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第５のステップと、
前記第５のステップで前記文書データが改竄されていると判定された場合に、前記文書データで参照する外部プログラムが動作しないよう制御する第６のステップとを含むことを特徴とする外部プログラムの動作制御方法。
【請求項３】
文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する第７のステップと、
前記第７のステップでの検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第８のステップと、
前記第８のステップで前記文書データが改竄されていないと判定された場合に、前記第７のステップで取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第９のステップと、
前記第９のステップで前記文書データが前記外部プログラムを実行することが許可されていると判定された場合に、当該外部プログラムが動作するよう制御する第１０のステップと、
前記第８のステップで前記文書データが改竄されていると判定された場合、又は、前記第９のステップで前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第１１のステップとを含むことを特徴とする外部プログラムの動作制御方法。
【請求項４】
文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する第１の処理と、
前記第１の処理で取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第２の処理と、
前記第２の処理で前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第３の処理とをコンピュータに実行させるためのプログラム。
【請求項５】
文書データに対する署名データを検証する第４の処理と、
前記第４の処理での検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第５の処理と、
前記第５の処理で前記文書データが改竄されていると判定された場合に、前記文書データで参照する外部プログラムが動作しないよう制御する第６の処理とをコンピュータに実行させるためのプログラム。
【請求項６】
文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する第７の処理と、
前記第７の処理での検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第８の処理と、
前記第８の処理で前記文書データが改竄されていないと判定された場合に、前記第７の処理で取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第９の処理と、
前記第９の処理で前記文書データが前記外部プログラムを実行することが許可されていると判定された場合に、当該外部プログラムが動作するよう制御する第１０の処理と、
前記第８の処理で前記文書データが改竄されていると判定された場合、又は、前記第９の処理で前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第１１の処理とをコンピュータに実行させるためのプログラム。
【請求項７】
文書データと当該文書データで参照する外部プログラムとをサーバコンピュータから取得するデータ取得手段と、
前記データ取得手段により取得した文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する署名検証手段と、
前記署名検証手段により取得した認証情報に基づき、前記文書データが前記データ取得手段により取得した外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する外部プログラム実行制御手段とを備えたことを特徴とする外部プログラムの動作制御装置。
【請求項８】
文書データと当該文書データで参照する外部プログラムとをサーバコンピュータから取得するデータ取得手段と、
前記データ取得手段により取得した文書データに対する署名データを検証する署名検証手段と、
前記署名検証手段による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていると判定された場合に、前記データ取得手段により取得した外部プログラムが動作しないよう制御する外部プログラム実行制御手段とを備えたことを特徴とする外部プログラムの動作制御装置。
【請求項９】
文書データと当該文書データで参照する外部プログラムとをサーバコンピュータから取得するデータ取得手段と、
前記データ取得手段により取得した文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する署名検証手段と、
前記署名検証手段による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていないと判定された場合に、前記署名検証手段により取得した認証情報に基づき、前記データ取得手段により取得した外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定された場合に、当該外部プログラムが動作するよう制御し、一方、前記文書データが改竄されていると判定された場合、又は、前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する外部プログラム実行制御手段とを備えたことを特徴とする外部プログラムの動作制御装置。
【請求項１０】
文書データを記憶する第１の記憶手段と、
前記文書データで参照する外部プログラムを記憶する第２の記憶手段と、
前記文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する機能を実現する署名検証プログラムを記憶する第３の記憶手段と、
前記署名検証プログラムが実現する機能により取得される認証情報に基づき、前記文書データが前記外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する機能を実現する外部プログラム実行制御プログラムを記憶する第４の記憶手段とを備え、
クライアントコンピュータからの前記文書データの取得要求に応じて、前記文書データに加え、前記外部プログラム、前記署名検証プログラム、及び、前記外部プログラム実行制御プログラムを当該クライアントコンピュータに提供することを特徴とする外部プログラムの動作制御プログラムの提供装置。
【請求項１１】
文書データを記憶する第５の記憶手段と、
前記文書データで参照する外部プログラムを記憶する第６の記憶手段と、
前記文書データに対する署名データを検証する機能を実現する署名検証プログラムを記憶する第７の記憶手段と、
前記署名検証プログラムが実現する機能による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていると判定された場合に、前記外部プログラムが動作しないよう制御する機能を実現する外部プログラム実行制御プログラムを記憶する第８の記憶手段とを備え、
クライアントコンピュータからの前記文書データの取得要求に応じて、前記文書データに加え、前記外部プログラム、前記署名検証プログラム、及び、前記外部プログラム実行制御プログラムを当該クライアントコンピュータに提供することを特徴とする外部プログラムの動作制御プログラムの提供装置。
【請求項１２】
文書データを記憶する第９の記憶手段と、
前記文書データで参照する外部プログラムを記憶する第１０の記憶手段と、
前記文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する機能を実現する署名検証プログラムを記憶する第１１の記憶手段と、
前記署名検証プログラムが実現する機能による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていないと判定された場合に、前記署名検証プログラムが実現する機能により取得される認証情報に基づき、前記文書データが前記外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定された場合に、当該外部プログラムが動作するよう制御し、一方、前記文書データが改竄されていると判定された場合、又は、前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する機能を実現する外部プログラム実行制御プログラムを記憶する第１２の記憶手段とを備え、
クライアントコンピュータからの前記文書データの取得要求に応じて、前記文書データに加え、前記外部プログラム、前記署名検証プログラム、及び、前記外部プログラム実行制御プログラムを当該クライアントコンピュータに提供することを特徴とする外部プログラムの動作制御プログラムの提供装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、Ｊａｖａ（登録商標）アプレットに代表される、ＨＴＭＬ文書と同時にＷＷＷサーバからダウンロードされ、ＷＷＷブラウザ上で動作するプログラム（以下、「Ｗｅｂプログラム」と称する）が、ＷＷＷブラウザが動作するクライアントコンピュータ上に接続されている記憶装置や周辺装置に格納されている情報、及び、クライアントコンピュータやその周辺装置の機能（以下、「クライアントリソース」と称する）へ不正にアクセスすることを防止する方法、プログラム、装置、及び、当該プログラムの提供装置に関する。
【０００２】
【従来の技術】
従来、Ｗｅｂプログラムは、クライアントリソースの利用が制限されていたが、一方で近年、Ｗｅｂプログラムによるクライアントリソースに対するアクセスを実現する方式も開発されている（例えば、特許文献１参照）。
【０００３】
特許文献１のＪａｖａ（登録商標）アプレットによる周辺装置の制御方法及び装置、記憶媒体は、図５に示すように、ＰＣ端末１０と、ＰＣ端末１０に接続されたＲ／Ｗ装置２０と、Ｒ／Ｗ装置２０に接続されたＩＣカード３０と、ＰＣ端末１０にＩＰネットワークを介して接続されたＷＷＷサーバ４０とから構成されている。そして、ＰＣ端末１０は、ＷＷＷブラウザ１１と、メモリ制御部１２と、ＯＳ１３と、Ｉ／Ｏポート１４とを保持し、ＷＷＷブラウザ１１は、Ｊａｖａ（登録商標）インタプリタ１１０を、メモリ制御部１２は、データ等格納領域１２０、及び、Ｊａｖａ（登録商標）インタプリタ用ライブラリ格納領域１２１を有している。また、Ｊａｖａ（登録商標）インタプリタ用ライブラリ格納領域１２１は、Ｒ／Ｗ装置ドライバ１２２を有している。
【０００４】
このような構成を有する従来のＪａｖａ（登録商標）アプレットによる周辺装置の制御方法及び装置、記憶媒体は、概略次のように動作する。
【０００５】
すなわち、Ｊａｖａ（登録商標）インタプリタ１１０が、Ｊａｖａ（登録商標）アプレット４１０を翻訳する際に、ライブラリ呼出コードに従ってライブラリ格納領域１２１からＲ／Ｗ装置ドライバ１２２を呼び出し、このＲ／Ｗ装置ドライバ１２２に従ってＩ／Ｏポート１４を介してＲ／Ｗ装置２０を制御することで、ＩＣカード３０のデータ操作を行う。
【０００６】
【特許文献１】
特開２０００−１１２８６４号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、上記従来技術を用いて、Ｗｅｂプログラムによるクライアントリソースへのアクセスを実現した場合、次のような問題点があった。
【０００８】
第１の問題点は、このＷｅｂプログラムを第三者が自身の作成するＨＴＭＬ文書内で参照し埋め込むことにより、そのＷｅｂプログラムの作成者が意図していないＨＴＭＬ文書上においてもそのＷｅｂプログラムを動作させることでき、結果として、クライアントリソースへの不正なアクセスが可能になる、ということである。一般にＷｅｂプログラムは、ＷＷＷサーバの記憶領域上に格納されており、任意のＨＴＭＬ文書から参照することができる。従って、第三者が、自身の作成するＨＴＭＬ文書内で、このＷｅｂプログラムを参照するとともに、このＷｅｂプログラムを自身の作成する別のＷｅｂプログラムを用いて操作することにより、クライアントリソースに不正にアクセスすることが可能となり、クライアント計算機上の秘密情報の不正取得を許してしまう危険性がある。上記従来技術では、ＷＷＷブラウザ、及び、Ｗｅｂプログラムの実行環境に、Ｗｅｂプログラムを参照し埋め込んでいるＨＴＭＬ文書を認証する手段がなく、任意のＨＴＭＬ文書上でのＷｅｂプログラムの動作を許しているからである。
【０００９】
この第１の問題点について、図６を参照して詳細に説明する。図６において、ＷＷＷサーバ２ａ上のＷｅｂプログラム２２ａは、正規ＨＴＭＬ文書２１ａ内で参照されることにより、クライアントリソース１４ａに正当にアクセスすることを意図したものであるとする。しかし、第三者ＷＷＷサーバ３ａ上の不正ＨＴＭＬ文書３１ａ内でＷｅｂプログラム２２ａを参照することも可能であり、この不正ＨＴＭＬ文書３１ａがクライアントＰＣ１ａにダウンロードされると、ＷＷＷブラウザ１１ａは、Ｗｅｂプログラム２２ａの不正ＨＴＭＬ文書３１ａ上での動作を許し、結果として、クライアントリソース１４ａへの不正なアクセスを許してしまう。例えば、Ｗｅｂプログラム２２ａが、入力された文書に対し、クライアントリソース１４ａを利用して電子書名を施し、電子署名の施された文書を出力する機能を提供するものだとすると、第三者が不正ＨＴＭＬ文書３１ａでＷｅｂプログラム２２ａを参照し埋め込むことにより、他人の電子署名を偽造することも可能になるのである。
【００１０】
第２の問題点は、ＷＷＷサーバにＷｅｂプログラムとともに保存されているＨＴＭＬ文書を改竄し、そのＷｅｂプログラムを不正操作する別のＷｅｂプログラムを埋め込むことにより、クライアントリソースへの不正なアクセスが可能になる、ということである。一般にＷｅｂプログラムは、外部の別のプログラムから操作可能な場合が多いため、ＨＴＭＬ文書を改竄し、クライアントリソースへのアクセスを行うＷｅｂプログラムを操作する別のＷｅｂプログラムを埋め込むことにより、Ｗｅｂプログラムを経由してクライアント計算機上の秘密情報を不正に取得することが可能となってしまう。上記従来技術では、ＷＷＷブラウザ、及び、Ｗｅｂプログラムの実行環境に、Ｗｅｂプログラムを参照しているＨＴＭＬ文書の改竄を検出する手段、及び、改竄を検出した結果、Ｗｅｂプログラムの動作を停止させる手段がないためである。
【００１１】
この第２の問題点について、図７を参照して詳細に説明する。図７において、ＷＷＷサーバ２ｂでは、クライアントリソース１４ｂに正当にアクセスすることを意図する正規ＨＴＭＬ文書が第三者に改竄され、改竄されたＨＴＭＬ文書２１ｂが、Ｗｅｂプログラム２２ｂを参照している。このような改竄されたＨＴＭＬ文書２１ｂがクライアントＰＣ１ｂにダウンロードされると、ＷＷＷブラウザ１１ｂは、Ｗｅｂプログラム２２ｂの改竄されたＨＴＭＬ文書２１ｂ上での動作を許し、結果として、クライアントリソース１４ａへの不正なアクセスを許してしまう。
【００１２】
本発明は、以上のような従来技術の問題点に鑑みてなされたものであって、その目的は、Ｗｅｂプログラムを経由したクライアント計算機上の秘密情報の流出を防止することができる方法、プログラム、装置、及び、当該プログラムの提供装置を提供することにある。
【００１３】
本発明の他の目的は、Ｗｅｂプログラムの作成者が意図していないＨＴＭＬページ上でのＷｅｂプログラムの不正利用を防止することができる方法、プログラム、装置、及び、当該プログラムの提供装置を提供することにある。
【００１４】
本発明のさらに他の目的は、改竄されたＨＴＭＬページ上でのＷｅｂプログラムの不正利用を防止することができる方法、プログラム、装置、及び、当該プログラムの提供装置を提供することにある。
【００１５】
【課題を解決するための手段】
本発明の第１の外部プログラムの動作制御方法は、文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する第１のステップと、前記第１のステップで取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第２のステップと、前記第２のステップで前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第３のステップとを含んでいる。
【００１６】
本発明の第２の外部プログラムの動作制御方法は、文書データに対する署名データを検証する第４のステップと、前記第４のステップでの検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第５のステップと、前記第５のステップで前記文書データが改竄されていると判定された場合に、前記文書データで参照する外部プログラムが動作しないよう制御する第６のステップとを含んでいる。
【００１７】
本発明の第３の外部プログラムの動作制御方法は、文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する第７のステップと、前記第７のステップでの検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第８のステップと、前記第８のステップで前記文書データが改竄されていないと判定された場合に、前記第７のステップで取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第９のステップと、前記第９のステップで前記文書データが前記外部プログラムを実行することが許可されていると判定された場合に、当該外部プログラムが動作するよう制御する第１０のステップと、前記第８のステップで前記文書データが改竄されていると判定された場合、又は、前記第９のステップで前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第１１のステップとを含んでいる。
【００１８】
本発明の第１の外部プログラムの動作制御プログラムは、文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する第１の処理と、前記第１の処理で取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第２の処理と、前記第２の処理で前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第３の処理とをコンピュータに実行させるためのものである。
【００１９】
本発明の第２の外部プログラムの動作制御プログラムは、文書データに対する署名データを検証する第４の処理と、前記第４の処理での検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第５の処理と、前記第５の処理で前記文書データが改竄されていると判定された場合に、前記文書データで参照する外部プログラムが動作しないよう制御する第６の処理とをコンピュータに実行させるためのものである。
【００２０】
本発明の第３の外部プログラムの動作制御プログラムは、文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する第７の処理と、前記第７の処理での検証の結果に基づき、前記文書データが改竄されているかどうかを判定する第８の処理と、前記第８の処理で前記文書データが改竄されていないと判定された場合に、前記第７の処理で取得した認証情報に基づき、前記文書データが当該文書データで参照する外部プログラムを実行することが許可されているかどうかを判定する第９の処理と、前記第９の処理で前記文書データが前記外部プログラムを実行することが許可されていると判定された場合に、当該外部プログラムが動作するよう制御する第１０の処理と、前記第８の処理で前記文書データが改竄されていると判定された場合、又は、前記第９の処理で前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する第１１の処理とをコンピュータに実行させるためのものである。
【００２１】
本発明の第１の外部プログラムの動作制御装置は、文書データと当該文書データで参照する外部プログラムとをサーバコンピュータから取得するデータ取得手段と、前記データ取得手段により取得した文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する署名検証手段と、前記署名検証手段により取得した認証情報に基づき、前記文書データが前記データ取得手段により取得した外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する外部プログラム実行制御手段とを備えている。
【００２２】
本発明の第２の外部プログラムの動作制御装置は、文書データと当該文書データで参照する外部プログラムとをサーバコンピュータから取得するデータ取得手段と、前記データ取得手段により取得した文書データに対する署名データを検証する署名検証手段と、前記署名検証手段による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていると判定された場合に、前記データ取得手段により取得した外部プログラムが動作しないよう制御する外部プログラム実行制御手段とを備えている。
【００２３】
本発明の第３の外部プログラムの動作制御装置は、文書データと当該文書データで参照する外部プログラムとをサーバコンピュータから取得するデータ取得手段と、前記データ取得手段により取得した文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する署名検証手段と、前記署名検証手段による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていないと判定された場合に、前記署名検証手段により取得した認証情報に基づき、前記データ取得手段により取得した外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定された場合に、当該外部プログラムが動作するよう制御し、一方、前記文書データが改竄されていると判定された場合、又は、前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する外部プログラム実行制御手段とを備えている。
【００２４】
本発明の第１の外部プログラムの動作制御プログラムの提供装置は、文書データを記憶する第１の記憶手段と、前記文書データで参照する外部プログラムを記憶する第２の記憶手段と、前記文書データに対する署名データから当該文書データの作成者を特定するための認証情報を取得する機能を実現する署名検証プログラムを記憶する第３の記憶手段と、前記署名検証プログラムが実現する機能により取得される認証情報に基づき、前記文書データが前記外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する機能を実現する外部プログラム実行制御プログラムを記憶する第４の記憶手段とを備え、クライアントコンピュータからの前記文書データの取得要求に応じて、前記文書データに加え、前記外部プログラム、前記署名検証プログラム、及び、前記外部プログラム実行制御プログラムを当該クライアントコンピュータに提供することを特徴とする。
【００２５】
本発明の第２の外部プログラムの動作制御プログラムの提供装置は、文書データを記憶する第５の記憶手段と、前記文書データで参照する外部プログラムを記憶する第６の記憶手段と、前記文書データに対する署名データを検証する機能を実現する署名検証プログラムを記憶する第７の記憶手段と、前記署名検証プログラムが実現する機能による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていると判定された場合に、前記外部プログラムが動作しないよう制御する機能を実現する外部プログラム実行制御プログラムを記憶する第８の記憶手段とを備え、クライアントコンピュータからの前記文書データの取得要求に応じて、前記文書データに加え、前記外部プログラム、前記署名検証プログラム、及び、前記外部プログラム実行制御プログラムを当該クライアントコンピュータに提供することを特徴とする。
【００２６】
本発明の第３の外部プログラムの動作制御プログラムの提供装置は、文書データを記憶する第９の記憶手段と、前記文書データで参照する外部プログラムを記憶する第１０の記憶手段と、前記文書データに対する署名データを検証するとともに、当該署名データから当該文書データの作成者を特定するための認証情報を取得する機能を実現する署名検証プログラムを記憶する第１１の記憶手段と、前記署名検証プログラムが実現する機能による検証の結果に基づき、前記文書データが改竄されているかどうかを判定し、改竄されていないと判定された場合に、前記署名検証プログラムが実現する機能により取得される認証情報に基づき、前記文書データが前記外部プログラムを実行することが許可されているかどうかを判定し、許可されていると判定された場合に、当該外部プログラムが動作するよう制御し、一方、前記文書データが改竄されていると判定された場合、又は、前記文書データが前記外部プログラムを実行することが許可されていると判定されなかった場合に、当該外部プログラムが動作しないよう制御する機能を実現する外部プログラム実行制御プログラムを記憶する第１２の記憶手段とを備え、クライアントコンピュータからの前記文書データの取得要求に応じて、前記文書データに加え、前記外部プログラム、前記署名検証プログラム、及び、前記外部プログラム実行制御プログラムを当該クライアントコンピュータに提供することを特徴とする。
【００２７】
【発明の実施の形態】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００２８】
図１を参照すると、本発明の第１の実施の形態は、クライアント計算機１と、ＷＷＷサーバ２とから構成されている。
【００２９】
クライアント計算機１は、ＷＷＷブラウザ１１と、ＨＴＭＬ署名検証手段１２と、Ｗｅｂプログラム実行制御手段１３とを含む。Ｗｅｂプログラム実行制御手段１３は、アクセス制御リスト１３１を保持する。
【００３０】
これらの手段はそれぞれ概略次のように動作する。
【００３１】
ＷＷＷブラウザ１１は、ＷＷＷサーバ２からＨＴＭＬ文書２１をダウンロードするとともに、ＨＴＭＬ文書２１中の記述に従い、Ｗｅｂプログラム２２をダウンロードする。すなわち、ＷＷＷサーバ２から所望のデータを取得する手段として機能する。
【００３２】
ＨＴＭＬ署名検証手段１２は、クライアント計算機１のＣＰＵが補助記憶装置に記憶されたＨＴＭＬ署名検証プログラムを主記憶装置に読み込むことにより実現されるものである。まず、ＷＷＷブラウザ１１によりダウンロードされたＨＴＭＬ文書２１に含まれるＨＴＭＬ署名２１１を検証し、ＨＴＭＬ文書２１が改竄されていないことを確認する。さらに、ＨＴＭＬ署名２１１に含まれるＨＴＭＬ文書２１の作成者の公開鍵証明書を検証することにより、ＨＴＭＬ文書２１の作成者を認証する。最後に、ＨＴＭＬ文書２１の検証結果をＷｅｂプログラム実行制御手段１３に通知する。
【００３３】
Ｗｅｂプログラム実行制御手段１３は、クライアント計算機１のＣＰＵが補助記憶装置に記憶されたＷｅｂプログラム実行制御プログラムを主記憶装置に読み込むことにより実現されるものである。ＨＴＭＬ署名検証手段１２から検証成功の結果を受け取った場合、アクセス制御リスト１３１を参照し、Ｗｅｂプログラム２２がＨＴＭＬ文書２１上で動作を許可されているかを確認する。許可されていれば、Ｗｅｂプログラム２２に対して動作を許可する通知を行い、そうでなければ、Ｗｅｂプログラム２２に対して動作を停止させる通知を行う。
【００３４】
ＷＷＷサーバ２は、ＨＴＭＬ文書２１と、Ｗｅｂプログラム２２とを含み、クライアント計算機の要求により、それらを送出する。ＨＴＭＬ文書２１は、ＨＴＭＬ署名２１１を保持する。なお、図１は、ＨＴＭＬ署名２１１がＨＴＭＬ文書２１上に記述されるようなされるような図になっているが、ＨＴＭＬ文書２１上にはＨＴＭＬ署名２１１のＵＲＬを記述しておき、ＨＴＭＬ署名２１１は、そのＵＲＬで示される記憶領域に記憶するようにしてもよい。
【００３５】
次に、図２のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００３６】
クライアント計算機１の利用者の操作に応じて、ＷＷＷブラウザ１１は、ＨＴＭＬ文書をダウンロードする（ステップＡ１）。この際、ＷＷＷブラウザ１１は、ＨＴＭＬ文書２１の記述に従い、Ｗｅｂプログラム２２、ＨＴＭＬ署名２１１もダウンロードする。ここで、ＨＴＭＬ署名２１１としては、例えば、特願２００２−１４６４１０号に記載した方法により作成したものを用いる。すなわち、ＨＴＭＬ署名２１１には、ＨＴＭＬ文書２１のＵＲＬ情報と、ＨＴＭＬ文書２１のダイジェスト値と、Ｗｅｂプログラム２２のＵＲＬ情報と、Ｗｅｂプログラム２２のダイジェスト値と、ＨＴＭＬ文書２１の作成者の公開鍵証明書と、それら全てを含むデータのダイジェスト値をＨＴＭＬ文書２１の作成者の秘密鍵で暗号化して得られた電子署名値とが記述される。
【００３７】
次に、ＨＴＭＬ署名検証手段１２は、ＨＴＭＬ文書２１が改竄されていないかを確認するために、ＨＴＭＬ署名２１１を検証する（ステップＡ２）。この検証は、ＨＴＭＬ署名２１１として上記のものを用いた場合、以下のように行われる。すなわち、まず、ダウンロードしたＨＴＭＬ文書２１のダイジェスト値を計算し、それがＨＴＭＬ署名２１１中に記述されているＨＴＭＬ文書２１のダイジェスト値と同一であることを確認する。次に、ダウンロードしたＷｅｂプログラム２２のダイジェスト値を計算し、それがＨＴＭＬ署名２１１中に記述されているＷｅｂプログラム２２のダイジェスト値と同一であることを確認する。最後に、ＨＴＭＬ署名２１１中に含まれる、ＨＴＭＬ文書２１のＵＲＬ情報、ＨＴＭＬ文書２１のダイジェスト値、Ｗｅｂプログラム２２のＵＲＬ情報、Ｗｅｂプログラム２２のダイジェスト値、公開鍵証明書の全てを含むデータのダイジェスト値を計算し、ＨＴＭＬ署名２１１中に含まれる電子署名値を公開鍵証明書に対する公開鍵で復号化して得られた値と等しいかどうかを確認する。
【００３８】
また、ＨＴＭＬ署名検証手段１２は、ＨＴＭＬ文書２１の作成者を認証するため、公開鍵証明書に対する認証情報を取得する。この認証情報の取得は、ＨＴＭＬ署名２１１として上記のものを用いた場合、ＨＴＭＬ署名２１１中に含まれる公開鍵証明書に基づき、ＨＴＭＬ文書２１の作成者を特定するための何らかの情報（メールアドレスその他の情報）を取得することにより行う。
【００３９】
最後に、ＨＴＭＬ署名検証手段１２は、検証結果をＷｅｂプログラム実行制御手段１３へ通知する。すなわち、ＨＴＭＬ文書２１のダイジェスト値が一致し、かつ、Ｗｅｂプログラム２２のダイジェスト値が一致し、かつ、ＨＴＭＬ文書２１のＵＲＬ情報、ＨＴＭＬ文書２１のダイジェスト値、Ｗｅｂプログラム２２のＵＲＬ情報、Ｗｅｂプログラム２２のダイジェスト値、公開鍵証明書の全てを含むデータのダイジェスト値が一致した場合、検証成功を通知し、いずれか一つでも一致しなかった場合、検証失敗を通知する。また、認証情報も通知する。
【００４０】
Ｗｅｂプログラム実行制御手段１３は、ＨＴＭＬ署名２１１の検証が成功したか、検証結果を判断する（ステップＡ３）。ＨＴＭＬ署名の検証が成功した場合、Ｗｅｂプログラム実行制御手段１３は、検証結果からＨＴＭＬ文書２１の認証情報を取得し、アクセス制御リスト１３１の一覧にその認証情報が含まれるかを確認する（ステップＡ４、Ａ５）。
【００４１】
アクセス制御リスト１３１の一覧に認証情報が含まれている場合、Ｗｅｂプログラム実行制御手段１３は、アクセス制御リスト１３１内に、Ｗｅｂプログラム２２がＨＴＭＬ文書２１上で動作することが許可されていることを示す情報があるかどうかを確認する（ステップＡ６、Ａ７）。動作許可の確認は、ＨＴＭＬ文書２１の認証情報と、Ｗｅｂプログラム２２のＵＲＬと、動作許可を示す情報との組み合わせが、アクセス制御リスト１３１に格納されていることを確認することにより行う。
【００４２】
Ｗｅｂプログラム２２がＨＴＭＬ文書２１上で動作することが許可されていることを確認すると、Ｗｅｂプログラム実行制御手段１３は、Ｗｅｂプログラム２２に対して動作許可を通知する。通知された動作許可の情報は、Ｗｅｂプログラム２２に設定され、これにより、Ｗｅｂプログラム２２は機能するようになる。
【００４３】
一方、ステップＡ３でＨＴＭＬ署名２１１の検証に失敗した場合、ステップＡ５でアクセス制御リスト１３１からのＨＴＭＬ文書２１の認証情報の取得に失敗した場合や、ステップＡ７でＷｅｂプログラム２２のＨＴＭＬ文書２１上での動作許可を確認できなかった場合は、Ｗｅｂプログラム実行制御手段１３は、Ｗｅｂプログラム２２に対して動作不許可を通知する（ステップＡ９）。通知された動作不許可の情報は、Ｗｅｂプログラム２２に設定され、これにより、Ｗｅｂプログラム２２は機能しないようになる。なお、Ｗｅｂプログラム２２を動作許可が通知されない限り機能しないように設定しておき、Ｗｅｂプログラム２２の動作が許可されていることが確認された場合に動作許可を通知し、Ｗｅｂプログラム２２の動作が許可されていないことが確認された場合には何も通知しないようにしてもよい。
【００４４】
次に、本実施の形態について、具体例を用いて説明する。
【００４５】
図３に示すように、ＷＷＷサーバ３にあるＨＴＭＬ文書３１が、ＷＷＷサーバ２上のＷｅｂプログラム２２を参照し、Ｗｅｂプログラム２２の不正使用を試みる場合を考える。
【００４６】
ＨＴＭＬ文書３１は、Ｗｅｂブラウザ１１により、Ｗｅｂプログラム２２と、ＨＴＭＬ署名３１１とともにクライアント計算機１にダウンロードされる。ＨＴＭＬ署名検証手段１２は、ＨＴＭＬ署名３１１の署名検証を試みる。ＨＴＭＬ文書３１が、ＨＴＭＬ署名３１１を持っていない場合、あるいは、ＨＴＭＬ署名３１１を持っていながら、ＨＴＭＬ署名の検証に失敗した場合、ＨＴＭＬ署名検証手段１２は、Ｗｅｂプログラム実行制御手段１３に検証結果として署名検証失敗を通知する。Ｗｅｂプログラム実行制御手段１３は、この署名検証失敗の通知を受け、Ｗｅｂプログラム２２に動作不許可を通知する。一方、ＨＴＭＬ署名検証手段１２により、ＨＴＭＬ署名３１１の検証に成功した場合、ＨＴＭＬ署名検証手段１２は、検証結果として、署名検証に成功した旨と、ＨＴＭＬ文書３１の認証情報とを、Ｗｅｂプログラム実行制御手段１３に通知する。
【００４７】
Ｗｅｂプログラム実行制御手段１３は、上記の検証結果を受け取り、自らが保持するアクセス制御リスト１３１に対して、ＨＴＭＬ文書３１の認証情報の記述があるか検索を行う。ＨＴＭＬ文書３１の認証情報が、アクセス制御リスト１３１に含まれない場合、Ｗｅｂプログラム実行制御手段１３は、Ｗｅｂプログラム２２のＨＴＭＬ文書３１上での実行が許可されていないと判断し、Ｗｅｂプログラム２２に対して動作不許可の通知を行う。
【００４８】
以上のように、本発明の第１の実施の形態では、ＨＴＭＬ署名検証手段を用いてＨＴＭＬページの作成者の認証を行い、その認証情報を用いて、Ｗｅｂプログラム実行制御手段によりＷｅｂプログラムの動作を制御するようにしたことにより、Ｗｅｂプログラムの作成者が意図していないＨＴＭＬページ上でのＷｅｂプログラムの不正利用を防止することができ、結果として、Ｗｅｂプログラムを経由したクライアント計算機上の秘密情報の流出を防止できる、という効果が得られる。
【００４９】
また、本発明の第１の実施の形態では、ＨＴＭＬ署名検証手段を用いてＨＴＭＬページの改竄検出を行い、その結果を用いて、Ｗｅｂプログラム実行制御手段によりＷｅｂプログラムの動作を制御するようにしたことにより、改竄されたＨＴＭＬページ上でのＷｅｂプログラムの不正利用を防止することができ、結果として、Ｗｅｂプログラムを経由したクライアント計算機上の秘密情報の流出を防止できる、という効果も得られる。
【００５０】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００５１】
図４を参照すると、本発明の第２の実施の形態は、クライアント計算機１と、ＷＷＷサーバ２とから構成されている。
【００５２】
クライアント計算機１は、ＷＷＷブラウザ１１を含む。
【００５３】
ＷＷＷサーバ２は、ＨＴＭＬ文書２１と、Ｗｅｂプログラム２２と、ＨＴＭＬ検証手段２３と、Ｗｅｂプログラム実行制御手段２４とを含む。Ｗｅｂプログラム実行制御手段１３は、アクセス制御リスト２４１を保持しており、クライアント計算機１の要求により、それらを送出する。ＨＴＭＬ文書２１は、ＨＴＭＬ署名２１１を保持する。なお、図４は、ＨＴＭＬ署名２１１がＨＴＭＬ文書２１上に記述されるようなされるような図になっているが、ＨＴＭＬ文書２１上にはＨＴＭＬ署名２１１のＵＲＬを記述しておき、ＨＴＭＬ署名２１１は、そのＵＲＬで示される記憶領域に記憶するようにしてもよい。
【００５４】
これらの手段はそれぞれ概略次のように動作する。
【００５５】
ＷＷＷブラウザ１１は、ＷＷＷサーバ２からＨＴＭＬ文書２１をダウンロードするとともに、ＨＴＭＬ文書２１中の記述に従い、Ｗｅｂプログラム２２と、ＨＴＭＬ署名検証手段２３と、Ｗｅｂプログラム実行制御手段２４とをダウンロードする。すなわち、ＷＷＷサーバ２から所望のデータを取得する手段として機能する。
【００５６】
ＨＴＭＬ署名検証手段２３は、上記第１の実施の形態におけるＨＴＭＬ署名検証プログラムに相当し、ＷＷＷサーバ２の補助記憶装置に記憶されているものである。まず、ＷＷＷブラウザ１１によりダウンロードされたＨＴＭＬ文書２１に含まれるＨＴＭＬ署名２１１を検証し、ＨＴＭＬ文書２１が改竄されていないことを確認する。さらに、ＨＴＭＬ署名２１１に含まれるＨＴＭＬ文書２１の作成者の公開鍵証明書を検証することにより、ＨＴＭＬ文書２１の作成者を認証する。最後に、ＨＴＭＬ文書２１の検証結果をＷｅｂプログラム実行制御手段２４に通知する。
【００５７】
Ｗｅｂプログラム実行制御手段２４は、上記第１の実施の形態におけるＷｅｂプログラム実行制御プログラムに相当し、ＷＷＷサーバ２の補助記憶装置に記憶されているものである。ＨＴＭＬ署名検証手段２３から検証成功の結果を受け取った場合、アクセス制御リスト２４１を参照し、Ｗｅｂプログラム２２が、ＨＴＭＬ文書２１上で動作を許可されているかを確認する。許可されていれば、Ｗｅｂプログラム２２に対して動作を許可する通知を行い、そうでなければ、Ｗｅｂプログラム２２に対して動作を停止させる通知を行う。
【００５８】
以上のように、本発明の第２の実施の形態では、ＨＴＭＬ署名検証手段２３と、Ｗｅｂプログラム実行制御手段２４を、Ｗｅｂプログラム２２とともに、ＷＷＷサーバ２側に保持し、実行時にＷＷＷブラウザ１１上にダウンロードすることとし、上記第１の実施の形態と同様の効果が得られる。
【００５９】
なお、上記第１及び第２の実施の形態においては、ＨＴＭＬ文書２１で参照されるＷｅｂプログラム２２の動作の制御に限定して説明してきたが、ＨＴＭＬ文書に限らず、ある文書データで参照される外部プログラムがある場合に、その外部プログラムの動作の制御について、本発明は適用可能である。
【００６０】
【発明の効果】
本発明には、Ｗｅｂプログラムを経由したクライアント計算機上の秘密情報の流出を防止することができるという効果がある。
【００６１】
また、本発明には、Ｗｅｂプログラムの作成者が意図していないＨＴＭＬページ上でのＷｅｂプログラムの不正利用を防止することができるという効果もある。
【００６２】
さらに、本発明には、改竄されたＨＴＭＬページ上でのＷｅｂプログラムの不正利用を防止することができるという効果もある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作を示す流れ図である。
【図３】本発明の第１の実施の形態の具体例を示すブロック図である。
【図４】本発明の第２の実施の形態の構成を示すブロック図である。
【図５】従来技術の構成を示すブロック図である。
【図６】従来技術の第１の問題点を示すブロック図である。
【図７】従来技術の第２の問題点を示すブロック図である。
【符号の説明】
１　　　クライアント計算機
１１　　ＷＷＷブラウザ
１２　　ＨＴＭＬ署名検出手段
１３　　Ｗｅｂプログラム実行制御手段
１３１　アクセス制御リスト
２　　　ＷＷＷサーバ
２１　　ＨＴＭＬ文書
２１１　ＨＴＭＬ署名
２２　　Ｗｅｂプログラム
２３　　ＨＴＭＬ署名検出手段
２４　　Ｗｅｂプログラム実行制御手段
２４１　アクセス制御リスト
３　　　ＷＷＷサーバ
３１　　ＨＴＭＬ文書
３１１　ＨＴＭＬ署名
２２　　Ｗｅｂプログラム
【図１】
2004118433.tif 000003
【図２】
2004118433.tif 000004
【図３】
2004118433.tif 000005
【図４】
2004118433.tif 000006
【図５】
2004118433.tif 000007
【図６】
2004118433.tif 000008
【図７】
2004118433.tif 000009