説明

ファイルの保全性を保証するサーバコンピュータ

【課題】サーバコンピュータ上に記憶されたコンピュータファイルが不正変更されたときは、外部の第3の当事者はそのコピーを得ることはできないようにしたサーバコンピュータを提供する。
【解決手段】各々が関係する固有のディジタル署名をもっているコンピュータファイルを記憶し、該コンピュータファイルへのアクセスを受取るサーバコンピューは、関係するディジタル署名が有効であるときのみ、該コンピュータファイルへのアクセスを許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータファイルのサービスを供給するための方法および装置に関する。本発明は、とくにディジタル形式で署名されたコンピュータファイルの安全なサービスを供給する応用をもつ。
【背景技術】
【0002】
いくつかの形態のサインを文書またはオブジェクトに関係付けて、例えばオーサーシップ(authorship)または所有権を示すという考えは長期にわたって存在している。人間の性質を不運に反映するものとして、これに関連する考えがあり、サインを文書またはオブジェクトに誤ってあるいは偽って関係付けて、誤ったあるいは偽ったオーサーシップまたは所有権を示してしまうといったことも長期にわたって存在している。
【0003】
印刷機および印刷された文書、より最近ではディジタルまたは電子コンピュータおよびディジタルまたは電子文書が出現して、文書の忠実な再生と文書の便利な編集または変更とについての問題は相当に改善された。
【0004】
周知のように、ディジタル形式の文書は一般的に、変化している文書の情報内容を表わしているディジタルのビットのみが変わるので、品質を変えずに所望の回数だけ変更およびコピーすることができる。ディジタルの文書は第1の当事者によって作成され、次に第2の当事者によって隠れて(内密に)変更されるとき、続いて第3の当事者(第三者)が文書を読み取って、文書が変更されたことを判断することは非常に困難である。
【0005】
コンピュータ間のネットワーク通信の出現、特にインターネットおよびワールドワイドウエブの増加は、世界中の膨大な数のコンピュータが現在共通のプロトコルを使用して互いに通信できることを意味している。現在、電子文書はウエブサイト上でウエブページとして得られることが多い。
【0006】
ワールドワイドウエブ(または、以下では単に‘ウエブ’)は多様な関係する概念および基準をもつことがよく知られている。これらの概念および基準に関係する豊富な情報はワールドワイドウエブコンソーシアム(World Wide Web Consortium, http://www.w3c.org)、すなわちマサチューセッツ工科大学(Massachusetts Institute of Technology, MIT)のコンピュータサイエンスの研究所によって主催(運営)された団体から得られる。‘ウエブサーバ(Web Server)’、‘ウエブサイト(Web Site)’、‘ウエブページ(Web Page)’、‘ウエブブラウザ(Web Browser)’、‘ハイパーリンク(Hyperlink)’、‘ユニフォームリソースロケータ(Uniform Resource Locator)’のような概念、および‘HyperText Transport Protocol, HTTP)’、‘HyperText Markup Language, HTML)’のような基準はよく知られている。
【0007】
これらの当事者が、例えばワールドワイドウエブ上で電子文書またはファイルの形態をとる内容(コンテンツ)を分配したいときに直面する問題は、承認されていない第3の当事者が通信ネットワーク上で記憶された内容にアクセスして、意図的に変更することに対して内容の防備が甘いことである。
【0008】
承認されていない第3の当事者が所与のウエブサーバにアクセスすると仮定すると、第3の当事者は、例えばこのウエブサーバ上に記憶されたウエブページを編集することができることになる。その後にウエブページがウエブブラウザで閲覧されるときは、ウエブページの内容は、元の内容のプロバイダではなく、第3の当事者のメッセージを反映することになる。
【0009】
承認されていない第3の当事者が内容の所与の部分によって伝えられるメッセージを破壊することを試みる種々の動機が存在するが、全ての場合において、内容のプロバイダは勝手に手を加えられて、その後そのプロバイダ自身のものとしてブラウジングワールドへ送られた内容によって配信されるメッセージをもつことを選ばないと仮定することがおそらくは安全であることが理解されるであろう。
【0010】
承認されていない第3の当事者による変更に対する記憶された内容の防備の弱さについてのこの問題に取り組む第1の今日のアプローチでは、記憶された内容に承認されていない第3の当事者がアクセスできないことを確実にすることを試みる。
【0011】
このアプローチの1つの例は、いわゆる‘ファイアウオール’の使用である。周知のように、ファイアウオールを使用して、コンピュータとネットワークとの間のトラヒックを制御することによってネットワークに接続されたコンピュータを保護して、その結果コンピュータの管理者によって規定されるように、一定のタイプのトラヒックのみがトラヒックからコンピュータへ、またはその逆に送ることが許可される。理論上は、これは、承認されていない第3の当事者がネットワークからコンピュータにアクセスして、このコンピュータ上に記憶された内容を変更するのを防いでいる。もちろんこのようなファイアウオールは、悪意のあるユーザがファイアウオール内で適正に行う変更から記憶された内容を保護することはできない。
【0012】
実際には、ファイアウオールの現実の構成は安全にはほど遠いことが多いことがよく分かるであろう。
【0013】
第2のアプローチでは、記憶されたとき、または通信チャンネル上の伝送中に変更された内容は、ダウンロードされた内容について検査を行い、それが不正変更されたか否かを調べることに留意すべきである。
【0014】
この第2のアプローチの1つの簡単な例では、いわゆる‘チェックサム’を使用する。周知のように、チェックサムは所与のデータブロックからコンピュータ処理され、導き出した値をこのデータブロックに関係付ける。チェックサムのコンピュータ処理が再び実行されるとき、データにおける変化がチェックサム値の変化を導く。チェックサム方法は、データ伝送中に破損を検出する簡単な検査として最も頻繁に使用されている。理論上は、内容の所与の部分が元のチェックサム値と一緒にダウンロードされるとき、新しいチェックサム値は、ダウンロードされた内容に対してコンピュータ処理され、次にこの内容と一緒に送られた元のチェックサム値と比較される。元のチェックサム値と新しく導き出されたチェックサム値とが同じとき、元のチェックサム値をコンピュータ処理した後、内容は変更されておらず、記憶されているか、または伝送中であると考えられている。
【0015】
しかしながら実際には、承認されていない第3の当事者が、例えば記憶された内容にアクセスして、不正使用をすることが十分に可能であるときはそれに応じて元のチェックサムを変更することが十分に可能であることが分かるであろう。これが実行されたときは、内容がダウンロードされるときに実行されるチェックサムの比較は、内容が不正使用されなかったと誤って示すことになる。
【0016】
この第2のアプローチのより高度な例は、いわゆる‘ディジタル署名’を使用することを含む。インターネット、およびより特定的にワールドワイドウエブが急激な増加を経験した過去数年間において、ディジタル署名の理論および実行は非常によく知られるようになった。
【0017】
ディジタル署名の処理は、例えば、文献(‘Applied Cryptography: Protocols, Algorithms and Source Code in C’, Bruce Schneier, second edition 1996, John Wiley & Sons)に記載されている。ディジタル署名の別の処理は、文献(‘PGP: Pretty Good Privacy’, Simson Garfinkel, first edition 1995, O'Reilly & Associates)に記載されている。‘公開鍵(パブリックキー)’、‘秘密鍵(プライベートキー)’、‘ハッシュ機能’、および‘メッセージダイジェスト機能’のような用語がよく分かるであろう。
【0018】
ディジタル署名技術は、いわゆる‘公開鍵’暗号方式を使用する。周知のように、公開鍵暗号法は、より以前からある対称鍵暗号法の単一の鍵ではなく、アルゴリズムにおいて関係する対の鍵、すなわち、いわゆる‘公開鍵’といわゆる‘秘密鍵’とを使用して、メッセージを暗号化する。公開鍵はパブリックドメインにおいて幅広く分配されることを意図されており、一方で秘密鍵は完全に秘密を保持されなければならない。非常に重要なこととして、公開鍵を知っていても、秘密鍵を判断することはできない。一般的に、公開鍵で暗号化されたメッセージはデクリプトされるが、デクリプトすることができるのは、対応する秘密鍵のみである。暗号化プロセスは対称的であるが、秘密鍵で行われた暗号化は公開鍵でデクリプトすることができる。所与の公開鍵でデクリプションに成功するとき、メッセージは整合する秘密鍵で暗号化されることが保証される。
【0019】
公開鍵暗号法を使用して、通信チャンネルを安全保護する試行ができ、その結果この通信チャンネル上を送られる内容を傍受して、秘密を漏らすことはできなくなる。このような応用の1つの例は、Netscape Communications Corporation(Mountain View CA, USA)によって最初に開発されたSecure Socket Layer(SSL)プロトコルである。例えばクライアントコンピュータとサーバコンピュータとの間の通信において、このようなSSLプロトコルは最初に公開鍵の暗号化を使用してサーバコンピュータを認証し、次にクライアントとサーバコンピュータとの間の全ての別の通信を暗号化するのに使用する対称鍵を共有する。したがってSSLのようなプロトコルは、第2のサーバコンピュータを装って、第2のサーバコンピュータからであると偽って示されているデータを供給することに対して第1のサーバコンピュータを保護し、承認されていない第3の当事者が伝送中に通信をインターセプトして変更するのを妨げる。しかしながらこのようなプロトコルは、記憶された内容が変更に対する防備が甘いといった問題を解決するのではなく、伝送中の内容を保護することを目的としている。
【0020】
公開鍵暗号法を使用するディジタル署名技術は、ディジタル形式で署名された‘文書’が実際には、文書が保持している署名の当事者から送出されたことを保証する‘認証’としてだけでなく、送信元の当事者が文書をディジタル形式で署名してから文書の内容が不正変更されていないことを保証する‘保全性’としても検査をすることができる。
【0021】
次に、ディジタル署名を使用して、ダウンロードされた内容に対して検査を行って、それが不正使用されたか、否かを判断するプロセスを、本発明に関してより詳しく記載することにする。この点はディジタル署名を使用することによって与えられる機能は第2のアプローチの次の例を検討することで十分である。
【0022】
Microsoft Corporation(Redmond WA, USA)は、いわゆる“Authenticode(商標)”を開発した。Authenticode(商標)ソフトウエアはクライアントコンピュータ上にインストールされ、例えばサーバコンピュータからネットワーク上をダウンロードされたソフトウエアを検査し、ソフトウエアが承認されていないやり方で不正変更されたか否かを調べることに宛てられる。このような各コードはディジタル形式で署名される。ネットワーク上をダウンロードされたディジタル形式で署名された特定のコードに関して、コードをインストールまたは実行する前に、Authenticode(商標)はディジタル署名を検査して、それが有効であるか否かを調べる。クライアントのソフトウエアでAuthenticode(商標)の安全設定を‘高’、‘中’、または‘なし’から選択しなければならない。Authenticode(商標)は、‘高’設定では関係するディジタル署名が無効であることが分かっているコードのインストールまたは実行を許可しない。しかしながらAuthenticode(商標)は、‘中’設定ではユーザにこのコードが‘信用できない’ことを警告するが、ユーザが望むときはこのコードをインストールまたは実行するオプションを可能にする。Authenticode(商標)は、‘なし’の安全設定ではこのような警告を与えない。
【0023】
明らかになることであるが、Authenticode(商標)のような構成は、クライアントへダウンロードされるコードをこのクライアントにおいて検査し、これのみが記憶された内容の保護を或る程度行うことができる。クライアントにおいて実行されるこのような検査は、クライアントコンピュータへ問題の内容を送ることを含む。このやり方では、不正使用された内容は依然としてネットワーク上をクライアントへ送られる。Authenticode(商標)のような構成は、‘信用できない’コードのインストールまたは実行を拒絶するように構成されているが、このコードは依然としてクライアントに存在し、十分な能力をもつユーザがそれにアクセスできないと保証できない。その代わりに、このような構成を変えて、‘信用できない’コードを望まれたときにインストールまたは実行できることが明らかである。
【0024】
内容変更の問題に対して(記憶された内容へ承認されていない第3の当事者がアクセスできないことを保証することを試行する)第1のアプローチか、または(ダウンロードされた内容が不正使用されたか否かを調べるためにこのダウンロードされた内容に対して検査することを試行する)第2のアプローチにおいて、変更された内容が参照されないことが保証されることが分かるであろう。
【0025】
第1の場合において、例えば関連するファイアウオールが破られ、ウエブサイトの管理者に気付かれずに記憶された内容が変更されたとき、ウエブサイトの管理者が気付くか、または変更を知らされて、修正動作がとられるときまで、変更された内容はウエブページにアクセスした者によって参照されることになる。
【0026】
同じやり方で、第2の場合では、例えば関連するダウンロードされた内容のディジタル署名の認証に失敗したとき、上述のように、この内容は‘信用できない’と考えられるが、この内容を十分に‘ダウンローダ(downloader)’に対して開いて、‘信用できない’変更された内容を閲覧するか、さもなければ実行する。実際に、承認されていない第3の当事者によって不正使用されたというウエブページの評判は、ウエブサイトの管理者が修正動作をとる前にウエブページを閲覧したいと思わせる完全な理由であるという情況を想像することができる。ここでもダウンローダが、例えば信じられないファイルを実行するのを妨げられるとしても、このファイルは依然としてネットワーク上で送られていて、プロセス中のある点でファイルのコピーにアクセスすることが十分に可能である。
【発明の概要】
【0027】
しかしながらこれらの今日のアプローチとは対照的に、本発明にしたがってサーバコンピュータであって:コンピュータファイルを記憶するようにされた手段と;ディジタル署名を記憶するようにされた手段と;各コンピュータファイルは関係するディジタル署名をもっていて;少なくとも1つの他のコンピュータから前記サーバコンピュータ上に記憶された少なくとも1つのコンピュータファイルにアクセスする要求を受取るようにされている手段と;該または各要求されたコンピュータファイルを検索するようにされた手段と;該または各要求されたコンピュータファイルを検索するようにされた手段と;該または各要求されたコンピュータファイルに関係するディジタル署名の有効性を検査するようにされた手段と;該または各それぞれ要求されたコンピュータファイルに関係するディジタル署名が有効であるときのみ、該または各要求されたコンピュータファイルへのアクセスを前記他のコンピュータへ与えるようにされている手段とを含むサーバコンピュータを提供する。
【0028】
このやり方では、コンピュータファイルメモリのセキュリティが破られ、ファイルが不正使用されたとき、外部の当事者が不正変更の結果を調べることができないことを保証することが長所である。このコンピュータファイルに関係するディジタル署名が有効でなくても、コンピュータファイルへのアクセスは与えられない。とくに、コンピュータファイルに関係するディジタル署名が有効とされない限り、コンピュータファイルのコピーは、それが記憶されているファイルサーバコンピュータから取り出されなない。したがって、ファイルが不正使用されたときは、外部の第3の当事者はそのコピーを得ることはできない。元のコンピュータファイルのそれ自身の端部へのメッセージまたは機能が、承認されていない第3の当事者によって破壊される可能性はない。
【0029】
サーバコンピュータを動作する方法も提供される。
【0030】
ここで本発明の実施形態を例示的に添付の図面を参照して記載することにする。
【図面の簡単な説明】
【0031】
【図1】通信ネットワークに接続された第1および第2の従来のコンピュータの図(図1A)およびこのような従来のコンピュータの模式図(図1B)。
【図2】ディジタル文書をディジタルで署名する手続きのフローチャート。
【図3】図2のプロセスに含まれるエンティティを示す図。
【図4】ディジタルで署名された文書を供給する手続きのフローチャート。
【図5】ディジタルで署名された文書のディジタル署名を認証するための手続きのフローチャート。
【図6】図5のプロセスに関連するエンティティを示す図。
【発明を実施するための形態】
【0032】
図1Aは、ウエブサーバとして使用するのに適した従来の汎用コンピュータ100を示している。このようなコンピュータ100は図1Bに示されており、一般的に、少なくとも中央処理ユニット(central processing unit, CPU)102;読取り専用メモリ(read-only memory, ROM)104;ランダムアクセスメモリ(random-access memory, RAM)106;ハードディスク108のようなメモリデバイス、フロッピー(登録商標)ディスクから読み取るか、またはそこへ書込むためのフロッピー(登録商標)ディスクドライブ110のようなメモリ媒体から読み取るか、またはそこへ書込むためのデバイス、並びに他のデバイスかまたは通信ネットワークへ接続するための入力および出力ポート112をもっている。
【0033】
図1Aを再び参照すると、フロッピー(登録商標)ディスク114が示されており、フロッピー(登録商標)ディスクドライブ110はこのフロッピー(登録商標)ディスク114から読み取るか、またはそこへ書込むことができる。コンピュータ100は通信ネットワーク116へ接続されており、通信ネットワーク116は、この実施形態では、例えば伝送制御プロトコル/インターネットプロトコル(Transmission Control Protocol/Internet Protocol, TCP/IP)を使用する周知のインターネットとして理解される。第2の従来の汎用コンピュータ118は、ウエブクライアントとして使用するのに適しており、同様にインターネット通信ネットワーク116へ接続されている。
【0034】
コンピュータ100は適切なオペレーティングシステムを使用することができ、例えばMicrosoft Windows(登録商標)NT、Linux(登録商標)、またはUnix(登録商標)の他の多くのバージョンの何れか1つがよく知られている。アプリケーションプログラムは、アプリケーションプログラムを書くための多くの周知の適切な言語の何れかで書くことができ、周知の例の1つはC++である。このようなオペレーティングシステムおよびアプリケーションプログラムは、コンピュータ100のメモリデバイス108へロードすることができる。
【0035】
本発明のこの実施形態にしたがって開示される機能は、コンピュータ100によって実行されるソフトウエアモジュールのアプリケーションプログラムとして実行することができる。このソフトウエアアプリケーションプログラムは、適切なコンピュータの読取り可能なメモリ媒体の形態をとる、例えばフロッピー(登録商標)ディスク114上に記憶され、実行のためには、フロッピー(登録商標)ディスクドライブ110を介して、コンピュータ100へロードする。周知の代わりのアプリケーションプログラムは、CD−ROM(図示されていない)上にソフトウエアアプリケーションを記憶し、実行のためには、CD−ROMドライブ(図示されていない)を介してコンピュータ100へロードする。別の周知の代わりのアプリケーションプログラムでは、コンピュータ100によって実行するために、ネットワーク116上にソフトウエアアプリケーションプログラムをダウンロードする。
【0036】
この実施形態では、コンピュータ100は、ソフトウエアアプリケーションプログラムをロードされていて、このプログラムが実行されると、コンピュータ100はウエブサーバとして動作する。ウエブ文書は、従来のように、ウエブサーバの適切なメモリデバイス上に記憶される。
【0037】
ウエブブラウザプログラムを含む、第2のコンピュータ108上にロードされるソフトウエアアプリケーションプログラムは、実行されると、ワールドワイドウエブプロトコルを使用して通信をイネーブルし、特にウエブページ、ウエブサーバコンピュータ100上でホストされたウエブページを、例えばウエブブラウザを使用して、閲覧(view)できるようにする。
【0038】
ここで従来のディジタル署名プロセスを図2および3に関連して記載することにする。図2および3の構造は忠実に反映されていることが分かるであろう;図2はディジタルかまたは電子の文書のディジタル署名プロセスの手続きのフローチャートを示しており、一方で図3は簡単なやり方で対応するエンティティの振舞いを示している。手続きのフローチャートに示されている段階は、ウエブサーバ100上を走るソフトウエアアプリケーションを実行することによって行われることも分かるであろう。
【0039】
この実施形態の例として、検討されているウエブ文書はウエブページであり、一般的に、ウエブサーバ100の適切なメモリデバイス、この例ではハードディスク上に記憶されたHyperText Markup Language(HTML)の文書である。しかしながらこの例は無限であり;すなわち本発明にしたがって多くの他の形態のコンピュータファイル(例えば、HTML以外のフォーマットの文書、例えばJoint Photographic Experts Group(JPEG)フォーマットの画像、およびダウンロードできるソフトウエアプログラム)も同様に処理するできることに注意すべきである。
【0040】
第1の段階200では、ディジタル署名をするための文書が選択される。このような文書300は図3に示した。
【0041】
第2の段階202では、署名される文書は、いわゆる‘ハッシュ’機能を通される。ハッシュ機能はこの文書の短い表示を生成し、これはしばしば文書の‘ハッシュ’と呼ばれる。署名される文書300はおよび署名される文書のハッシュ302は図3に模式的に示されている。ハッシュ機能および文書のハッシュは、代わりに、それぞれ‘メッセージダイジェスト’機能および‘メッセージダイジェスト’と呼ばれることがよくある。2つの周知のハッシュ機能の例はMD5およびSHAハッシュ機能である。
【0042】
ハッシュ機能によって生成された文書のハッシュはその文書の内容に対する感度が著しく高いことがよく知られている。例えば、テキスト文書が終止符の挿入のみによって変更されるとき、終止符を挿入する前に生成されたハッシュおよび終止符の挿入後に挿入されたハッシュは、概して完全に異なる。
【0043】
第3の段階204において、ディジタル署名は秘密鍵を使用して文書のハッシュを暗号化することによって作成される。この秘密鍵は、例えば内容の作成者、内容の所有者、または内容の管理者を含む多数の当事者の何れかの秘密鍵であることが分かるであろう。認可された署名する当事者が関係する認可された秘密鍵をもつ概念については後で記載することにする。署名される文書のハッシュ302およびディジタル署名304を図3に示した。
【0044】
署名される文書のためのディジタル署名は、作成されると、ウエブサーバ100の適切なメモリデバイス、この例ではハードディスク上に記憶される。
【0045】
その代わりにオプションの第4の段階206において、このように作成されたディジタル署名は、署名される文書に添付されて、ディジタル形式で署名された文書を作成する。ディジタル形式で署名された文書306は図3に示されている。次にディジタル形式で署名された文書は、ウエブサーバ100の適切なメモリデバイス、この例ではハードディスク上に記憶することができる。
【0046】
本発明の文書供給プロセスを図1、4、5、および6に関連して記載する。ここでも手続きのフローチャート内に示された段階は、ウエブサーバ100上を走るソフトウエアアプリケーションを実行することによって行なわれることが分かるであろう。
【0047】
図1および4に関して、第1の段階400において、ウエブサーバ100は第2のコンピュータ114から、ウエブサーバ100上に記憶された所与のウエブページへアクセスするための要求を受取る。よく知られているように、この要求は一般的に、第2のコンピュータ114のユーザがハイパーリンク上をクリックすることによって開始され、このユニフォームリソースロケータ(URL)が所与のウエブページを指示する。さらによく知られているように、ウエブサーバ100は、クライアントから到来する接続を受取るためのTCPポート80を監視するプロセスをもつ。TCP接続が設定されると、ウエブページに対するHTTP要求が上述のように行われる。
【0048】
第2の段階402において、URL要求に対応するウエブページは、ウエブサーバ100の適切なメモリデバイス、この例ではハードディスクから検索される。
【0049】
第3の段階404では、このウエブページに対応するディジタル署名も、ウエブサーバの適切なメモリデバイス、この例ではハードディスクから検索される。ディジタル署名が、上述のオプションの段階206にしたがって文書に既に添付されているときは、この段階は文書自体を検索するときに行なわれることが分かるであろう。
【0050】
第4の段階406では、文書に関係するディジタル署名の有効性が検査される。
【0051】
ディジタル署名の妥当性検査プロセスの手続きのフローチャートは図5および6に記載した。ここで段階406に用意されたこのディジタル署名の妥当性検査プロセスを、図4に示した段階の記載に戻る前に、図5および6に関連して記載することにする。図5および6の構造は忠実に反映されていることが認識され:図5はディジタル署名の妥当性検査プロセスの手続きのフローチャートを示しており、一方で図6は対応するエンティティの振舞いを簡単に示している。
【0052】
図5に関連して、第1の段階500において、文書に関係するディジタル署名は公開鍵でデクリプトされ、この場合に秘密鍵に対応する公開鍵を使用して、最初に文書のハッシュまたはメッセージダイジェストに署名する。周知のように、このデクリプションによって文書のハッシュが得られる。要求された文書に関係するディジタル署名600およびデクリプションによって得られたハッシュ602は図6に示した。
【0053】
第2の段階502において、文書は再び、文書をディジタル形式で署名するプロセスで最初に使用されたのと同じハッシュ機能を実行される。こうして文書の新しいハッシュが導き出される。文書604および文書の新しいハッシュ606は図6示されている。
【0054】
要求された文書に関係するディジタル署名をデクリプトするのに使用される公開鍵が、文書のハッシュに署名するのに使用される秘密鍵に整合する公開鍵でないとき、ディジタル署名は正しくデクリプトされない。その結果、デクリプションによって得られた文書のハッシュは正しいものでなくなり、文書の新しいハッシュと異なることになる。同様に、文書がハッシュの生成を含む文書への署名と新しいハッシュの生成との間で変更されるとき、ハッシュと新しいハッシュとは異なることがさらに分かるであろう。
【0055】
その結果、段階504において、文書のハッシュと文書の新しいハッシュとが比較される。文書のハッシュ602と文書の新しいハッシュ606との比較は、図6に模式的に示されている。
【0056】
ハッシュと新しいハッシュとが同じであるとき、文書に署名したと考えられる当事者が、現実に文書に署名した(すなわち、デクリプションに使用された公開鍵が、文書に署名するのに使用された秘密鍵に正しく整合している)ことが保証されるだけでなく、ディジタル署名を生成してから文書が変更されていない(すなわち、文書のハッシュと文書の新しいハッシュとは同一である)ことも保証される。文書のハッシュと文書の新しいハッシュとを比較して、段階406に示された認証の照会に対する結果を戻す。要求された文書に関係するディジタル署名は、妥当性検査試験に通るときと、通らないときがある。
【0057】
ここで図4を再び参照して文書供給プロセスについて検討する。
【0058】
ディジタル署名が有効であると、第5の段階408において、ウエブサーバは従来のやり方でウエブページを要求している当事者へ送ることを始める。
【0059】
より一般的な場合に、コンピュータファイルに関係するディジタル署名が有効であると、サーバコンピュータは、全てのファイルを一度にクライアントコンピュータへ送るのではなく、コンピュータファイルへのアクセスを許可することに注意すべきである。例示的に、サーバコンピュータはその代わりにクライアントコンピュータと通信セッションを開き、ファイルの一部を要求に応じてクライアントコンピュータへ流す。
【0060】
しかしながらディジタル署名が有効でないとき、すなわち文書が、その文書に関係するディジタル署名が作成されてから変更されたか、または文書が現実に文書に署名したと表示された人以外の人によって署名されたときは、ウエブサーバが文書を送り始めることは絶対にない。その代わりに、第6の段階410において、ウエブサーバはウエブページを要求している当事者へ送り、要求しているウエブページが有効でないことを知らせる。
【0061】
第7の段階412では、ウエブサーバは、例えば、無効のディジタル署名に関する警告を含むメッセージをシステムの管理者へ送る。
【0062】
現在、公開鍵の処理は比較的に緩慢であり、ハッシュ機能または対称鍵の処理よりも100ないし1000倍程度緩慢であることに注意すべきである。ウエブサーバが、供給された各文書に対してディジタル署名を検査するとき、これが直ぐに動作の隘路になることが分かるであろう。この問題を改善するために、ディジタル署名の検査のために最適化された専用のハードウエアボードを使用することができる。このようなボードの1つの例としては、nCipher(Cambridge, United Kingdom)によって生成されたものがある。このような各ボードは一般的に、1秒間に数百のディジタル署名を検査することができ、要求に応じて別のボードをデイジーチェーン接続することもできる。
【0063】
既に記載したように、‘それらの’文書の1つをディジタル形式で署名したい当事者が数多くいる可能性は相当に高い。このような各当事者は、自身の秘密鍵をもち、これを使用して、関連する暗号化を行う。したがってディジタル形式で署名された各ファイルを関連する署名する当事者に関係付けることができる手段を用意することが必要であり、その結果適切に整合した公開鍵はディジタル署名の認証に使用できる。
【0064】
各ディジタル形式で署名されたファイルと署名する当事者とを関係付けることができる手段は、1つの例では署名する当事者のディジタルの証明のコピーをディジタル形式で署名されたファイルに添付するだけである。図2に関して、これは、例えば、段階206に続く段階で行われる。ディジタル証明の周知の概念は、ディジタル署名の概念に密接に関連しており、ここでは詳しく記載しない。ディジタル証明は当事者の識別子をその当事者の公開鍵と結合し、このディジタル証明自体は、普通は第三者機関(Trusted Third Party, TTP)を示す第3の当事者によって署名されることのみに注意するべきである。
【0065】
このやり方で、図4に関連して、段階402および404においてディジタル形式で署名されたファイルが検索されるとき、添付されたディジタル証明も検索される。ディジタル証明は、署名する当事者の識別子および署名する当事者の関係する公開鍵とを与える。図5に関連して、段階500において公開鍵を使用して、認証プロセスにおいて要求されるようにディジタル形式で署名された文書のハッシュを得ることができる。
【0066】
ファイルに添付されたディジタル証明が署名する当事者のディジタル証明でないとき、認証は失敗する。しかしながら承認されていない第3の当事者がディジタル形式で署名されたファイルを整合したディジタル証明をもつウエブサーバへなんとか密かにもちだすことについて検討する。そこで発生する従属的な問題は、その当事者の制御がその特定のウエブサイト上に記憶する文書に署名することを認証されている。
【0067】
認証された署名する当事者のリストはウエブサーバ上で構成され、記憶されるようにでき;認証された署名する当事者のディジタル証明のみを有効に使用することができる。承認されていない第3の当事者に対する次の攻撃地点は、誤った‘承認された’署名する当事者をリストに加えることを試行するので、このリストは、システムの管理者の秘密鍵によってそれに署名することによって、それ自体を保護することができる。このやり方では、システム管理者の公開鍵を使用してリストを読み取ることができ、したがって、上述の記憶された文書のように、リストが不正使用されておらず、現実にシステムの管理者から発信していることを保証する。
【0068】
関心をもっている別の問題は、‘寿命’が制限されている文書が所定の時刻または日付を過ぎると供給されないことを保証することである。図2に関して、これは段階206に続く段階で、ディジタル形式で署名されたファイルに‘期限切れ時刻または日付のスタンプ’を付加することによって達成される。この期限切れ時刻のスタンプが損われるのを防ぐために、期限切れ時刻のスタンプを添付されたディジタル形式で署名された文書自体は、さらに別の段階において、例えばシステム管理者の秘密鍵で署名される。
【0069】
図4に関連して、この場合に、ディジタル形式で署名された文書が検索されるとき、段階402および404において、ディジタル形式で署名される文書は添付された期限切れ時刻−スタンプをもち、システムの管理者によって署名される。別の段階では、期限切れの時刻−スタンプは最初に、システムの管理者の公開鍵でディジタル形式で署名された文書をデクリプトすることによって検索される。さらに別の段階では、関連する時刻または日付が過ぎたか否かを調べるために検査が行われる。関連する時刻または日付が過ぎているときは、文書は供給されない。
【0070】
ここで本発明のこの実施形態の簡単な応用を記載する。図1に示したウエブサーバは協働するウエブサイトのホストとして働くために採用されている。ウエブサーバは一般的に、既に記載したように協働するファイアウオールによって保護される。インターネットに接続されていて、ウエブブラウザを適切に装備した一般のコンピュータを使用して、この協働するウエブサイト上でウエブページを閲覧することができる。周知のように、これらのウエブページは一般に、会社に関する情報を全世界へ送るために使用される。
【0071】
第1の情況として、会社がウエブページの形態の文書をその協働するウエブサイト上にポストすることについて検討する。文書は、上述の図2および3についての記述にしたがって会社の秘密鍵を使用してディジタル形式で署名されている。一般のメンバは、典型的に文書に関係するハイパーリンク上をクリックすることによって、この文書へのアクセスを要求する。上述の図4、5、および6についての記載にしたがって、ウエブサーバは文書のディジタル署名の認証を実行する。この第1の情況において、認証は成功し、一般のメンバに供給されたウエブページはその後は事もなく要求を行う。
【0072】
ここで第2の情況として、会社がウエブページの形態の文書をその協働するウエブサイト上にポストすることについて検討する。文書は、図2および3に関する既に記載された部分にしたがって、例えば会社の秘密鍵を使用してディジタル形式で署名される。しかしながらこの情況では、協働するウエブサイトの管理者に気付かれずに、協働するファイアウオールは損われ、承認されていない第3の当事者がウエブサーバへのアクセスを得る。このアクセスを使用して、承認されていない第3の当事者は、ウエブサーバ上に記憶されたウエブページを変更することを始める。この承認されていない第3の当事者によって実行される変更は、このような攻撃を展開する動機に依存しているが;都合の悪いことに、悪ふざけ(prank)から明らかな妨害行為(sabotage)までの広範囲の動機を考えてしまい易い。
【0073】
ここで一般公衆のメンバは、承認されていない第3の当事者によって変更された文書へのアクセスを要求していると考えられる。図4、5、および6についての既に記載された部分にしたがって、ウエブサーバは文書のディジタル署名の認証を実行する。この第2の情況では、文書のハッシュと文書の新しいハッシュとが整合しないために認証は失敗する。
【0074】
したがってウエブページは、要求を行う一般のメンバへは供給されない。したがって、要求を行う一般のメンバは変更された文書を全く参照できないことは極めて重要である。
【0075】
既に記載したように、承認されていない第3の当事者の侵入者の動機に適するように変更されたウエブページを要求を行っている一般のメンバへ供給することが許可されているとき、この文書は‘信用できない’という警告があっても、会社の商取引または評判にダメージを与えてしまう。
【0076】
ここで第3の情況について検討する。この第3の情況では再び、協働するウエブサイトの管理者に知られずに、協働するファイアウオールは損われ、承認されていない第3の当事者がウエブサーバへのアクセスを得る。このアクセスを使用して、承認されていない第3の当事者はウエブページの形態をとる偽造された文書を会社の協働するウエブサイト上にポストする。文書は、図2および3について既に記載された部分にしたがって第3の当事者によってディジタル形式で署名されるが、署名プロセスで使用される秘密鍵は、会社ではなく、承認されていない第3の当事者によって選択されたものである。
【0077】
ここで承認されていない第3の当事者によって変更された文書へのアクセスを要求することについて検討する。図4、5、および6について既に記載された部分にしたがって、ウエブサーバは文書のディジタル署名の認証を行う。この第3の情況では、認証は再び失敗する。ディジタル署名が承認されていない第3の当事者の秘密鍵で署名されたときに、会社の公開鍵でディジタル署名をデクリプトすることを試行することにより、文書のハッシュと文書の新しいハッシュとの不正合が再び発生する。
【0078】
したがってさらにここでもウエブページは要求を行っている一般のメンバへ供給されず、したがってここでも要求をしている一般のメンバが変更された文書を全く参照できないことは非常に重要である。

【特許請求の範囲】
【請求項1】
サーバコンピュータであって:
コンピュータファイルを記憶するようにされた手段と;
ディジタル署名を記憶するようにされた手段と;
各コンピュータファイルは関係するディジタル署名をもっていて、
少なくとも1つの他のコンピュータから前記サーバコンピュータ上に記憶された少なくとも1つのコンピュータファイルにアクセスする要求を受取るようにされている手段と;
該または各要求されたコンピュータファイルを検索するようにされた手段と;
該または各要求されたコンピュータファイルを検索するようにされた手段と;
該または各要求されたコンピュータファイルに関係するディジタル署名の有効性を検査するようにされた手段と;
該または各それぞれ要求されたコンピュータファイルに関係するディジタル署名が有効であるときのみ、該または各要求されたコンピュータファイルへのアクセスを前記他のコンピュータへ与えるようにされている手段とを含むサーバコンピュータ。
【請求項2】
該または各それぞれの要求されたコンピュータファイルに関係するディジタル署名が有効であるときのみ、該または各要求されたコンピュータファイルへのアクセスを前記他のコンピュータへ与えるようにされている前記手段が、該または各それぞれの要求されたコンピュータファイルが有効であるときのみ、該または各コンピュータファイルのコピーを前記他のコンピュータへ供給するようにされている手段を含む請求項1記載のサーバコンピュータ。
【請求項3】
認可されたコンピュータファイルに署名する当事者のリストを記憶するようにされている手段をさらに含み;
各コンピュータファイルに署名をする当事者がディジタル署名を作成するための少なくとも1つの関係する署名用の鍵をもっていて;
該または各要求されたコンピュータファイルに関係するディジタル署名の有効性を検査するようにされている前記手段が、前記ディジタル署名が認可されたコンピュータファイルの署名する当事者に関係する署名用の鍵を使って作成されたときのみ、前記ディジタル署名を有効とする請求項1または2記載のサーバコンピュータ。
【請求項4】
クロックをさらに含み、前記サーバコンピュータ上に記憶された該または各コンピュータファイルが関係する期限切れ日付をもっていて;
該または各要求されたコンピュータファイルに関係するディジタル署名の有効性を検査するようにされている前記手段が、該または各コンピュータファイルに関係する期限切れの日付が現在のクロックの日付を過ぎたときのみ、前記ディジタル署名を有効とする請求項1ないし3の何れか1項記載のサーバコンピュータ。
【請求項5】
コンピュータファイルおよびディジタル署名を記憶するようにされているサーバコンピュータであって、各コンピュータファイルは関係するディジタル署名をもっていて:
別のコンピュータからの接続を受入れ;
前記別のコンピュータから、前記サーバコンピュータ上に記憶された少なくとも1つのコンピュータファイルへアクセスする要求を受取り;
該または各要求されたコンピュータファイルを検索し;
該または各要求されたコンピュータファイルに関係するディジタル署名を検索し;
該または各要求されたコンピュータファイルに関係するディジタル署名の有効性を検査し;
該または各要求されたコンピュータファイルに関係するディジタル署名が有効であるときのみ、該または各要求されたコンピュータファイルへのアクセスを前記他のコンピュータに与える動作を実行するようにされているサーバコンピュータ。
【請求項6】
サーバコンピュータを動作する方法であって:
少なくとも1つの他のコンピュータから、前記サーバコンピュータ上に記憶された少なくとも1つのコンピュータファイルへアクセスするための要求を受取り;各前記コンピュータファイルが前記サーバコンピュータ上に記憶された関係する固有のディジタル署名をもっている段階と;
該または各要求されたコンピュータファイルを検索する段階と;
該または各要求されたコンピュータファイルに関係するディジタル署名を検索する段階と;
該または各要求されたコンピュータファイルに関係する固有のディジタル署名の有効性を検査する段階と;
該または各要求されたコンピュータファイルに関係するディジタル署名が有効であるときのみ、該または各要求されたコンピュータファイルへのアクセスを前記コンピュータへ与える段階とを含む方法。
【請求項7】
該または各要求されたコンピュータファイルに関係するディジタル署名が有効であるときのみ、該または各要求されたコンピュータファイルへのアクセスを前記コンピュータへ与える前記段階が、該または各要求されたコンピュータファイルに関係するディジタル署名が有効であるときのみ、該または各コンピュータファイルのコピーを前記他のコンピュータへ与えることを含む請求項6記載の方法。
【請求項8】
コンピュータへロードするためのコンピュータの読取り可能なコードを取入れ、前記コンピュータが請求項6または7記載の方法を実行するのを実行可能にするコンピュータプログラムメモリ媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−48729(P2012−48729A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−204845(P2011−204845)
【出願日】平成23年9月20日(2011.9.20)
【分割の表示】特願2000−608563(P2000−608563)の分割
【原出願日】平成12年3月22日(2000.3.22)
【出願人】(390028587)ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー (104)
【氏名又は名称原語表記】BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
【Fターム(参考)】