JP3941253B2 - ハイパーテキスト・システム及びハイパーテキストを扱う方法 - Google Patents
ハイパーテキスト・システム及びハイパーテキストを扱う方法 Download PDFInfo
- Publication number
- JP3941253B2 JP3941253B2 JP22666698A JP22666698A JP3941253B2 JP 3941253 B2 JP3941253 B2 JP 3941253B2 JP 22666698 A JP22666698 A JP 22666698A JP 22666698 A JP22666698 A JP 22666698A JP 3941253 B2 JP3941253 B2 JP 3941253B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- hypertext
- information processing
- processing apparatus
- url
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、ファイルを構成する文字や絵、表などをカードのようなオブジェクトとして扱い、さらにそのオブジェクト間で関連付けすなわちリンクを形成して、相互にすぐ参照できる機能を持っているハイパーテキスト・システムに係り、特に、公共性・公開性を主目的としたインターネット上において秘密保護をも勘案したハイパーテキスト・システムに関する。
【0002】
更に詳しくは、本発明は、ハイパーテキスト上に散在するリンク情報に含まれる秘密情報を保護することができるハイパーテキスト・システムに関する。
【0003】
【従来の技術】
昨今、「インターネット」なる言葉が、新聞・雑誌等の各種メディアを賑わしている。
【0004】
「インターネット」は、米国防総省が構築したARPANETを原形としたネットワークであり、その後、全米科学財団のNSFNETに包括されるとともに、1995年にバックボーンが民間に移管されることにより、現在の本格的な拡大がスタートすることとなった。インターネットは、各大学や研究機関等に設置されたサーバ(主にUNIXワークステーション)が自主的に相互接続を繰り返した結果、その字義通り、全世界を網羅する巨大なネットワークへと成長を遂げた。
【0005】
インターネットを爆発的に普及させた要因の一つは、WWW(World Wide Web)と呼ばれる広域情報検索システムである。WWWは、ネットワーク上のWWWサーバとWWWクライアントとの間で、HTML(Hyper Text Markup Language)という言語で記述された情報(すなわちハイパー・テキスト)を、HTTP(Hyper Text Transfer Protocol)プロトコルに従ってやり取りするシステムである。
【0006】
WWWサーバは、WWWサーバ専用のサーバ・アプリケーションを用いて動作するコンピュータであり、多数のサービス・オブジェクトを所有し、クライアント側に対して各種サービスを提供する。サービス・オブジェクトの一例は、ホームページを構成するHTMLファイルである。これに対し、クライアント側は、WWWブラウザ(WWW検索・閲覧ソフト)を用いて動作するコンピュータであり、WWWサーバから送信されたHTMLファイルを解析して、クライアント・コンピュータの画面上で、その内容を表示する(すなわちホームページの画面を組み立てる)ようになっている。
【0007】
WWWサーバが持つ各情報のアドレスは、URL(Uniform Resource Locator)という形式で表される。URLは、インターネット上の各種情報リソースにアクセスする手段(すなわち通信プロトコル名)とリソースの名前を指定するものであり、「プロトコル名://サーバ名/(ディレクトリ名…/)ファイル名」という形式で記述される。WWWクライアントのブラウザは、URLの送信という形式で、WWWサーバに対してサービス要求メッセージを送信する。要求するサービスの一例は、HTMLファイルなどホームページを構成する情報の転送である。
【0008】
ここで、HTMLなどの「ハイパーテキスト」は、ファイルを構成する文字や絵、表などをカードのようなオブジェクトとして扱い、さらにそのオブジェクト間で関連付けすなわちリンクを形成して、相互にすぐ参照できる機能を持っている(周知)。例えば、HTMLで構成されるホームページ上には、他のホームページやサービス・オブジェクトへのリンク情報が複数埋め込まれている。一般に、ブラウザ画面上では、リンク情報に関連するオブジェクトはホットスポット表示されており、ユーザが直感的に検知できるようになっている。ホームページ上に散在するリンク情報の実態は、各々のリンク先の場所すなわちURL(あるいはサービス・オブジェクトを示すオブジェクト識別子)である。ユーザがクライアント・ブラウザの画面上でホットスポットをクリックするだけで、WWWサーバに対してリンク先へのアクセスを要求することができる。
【0009】
ところで、サーバが所有するサービス・オブジェクトの中には、ユーザに対するアクセス権限を制限したものがある。アクセス権限には、ユーザのアクセス回数や有効期限の他、ユーザ・オペレーション(例えば書き込み、読み出し、実行)を制限したものがある。このようなアクセス権限は、ネットワーク・コンピューティング関連の技術分野ではケイパビリティ(”Capability”)と称される。アクセス権限が制限されたサービス・オブジェクトの中には、プライベートなものであったり機密性が高いものもある。機密性が高いサービス・オブジェクトの中には、オブジェクトの内容だけではなく、そのリファレンスすなわちURL自体も秘匿する必要があるものもある。
【0010】
また、URLによってはその入手そのものを困難な状態にしておくべきものや、特別なオブジェクトへのアクセスやオブジェクトに対するオペレーションを可能ならしめるようなURL(言い換えれば、オブジェクトに対するケイパビリティ情報を含んだURL)もある。このような特別なURLを一般に配布されている通常のURLと等しく扱ってしまうのでは、ネットワーク・セキュリティ上甚だ問題である。
【0011】
しかしながら、インターネットのキーワードは”public”であり、秘密情報の保護という点については元来疎い。インターネット上のURL(Uniform Resource Locator)やHTTP(Hyper Text Transfer Protocol)といったプロトコルや、GIF(Graphic Interchange Format)やHTML(Hyper Text Markup Language)といったデータ・フォーマット、インターネット上を散策するためのブラウザなどは、ユーザ操作が簡易で且つ洗練されたものではあるが、そもそもは公共のデータベースに容易且つ無償でアクセスできるようにデザインされている。言い換えれば、インターネットにおいては、プライベートな情報や機密性の高いデータベースに対するアクセスやセキュリティについては、原初的にはあまり考慮されてこなかった。
【0012】
現在普及しているWebブラウザの殆どは、HTMLファイル中に埋め込まれたリンク情報すなわちURLがプライベートな情報かどうかを区別する仕組みを持たない。ブラウザが持つ通常のオペレーションで、URLは容易に画面上に出現してしまう。
【0013】
例えば、米ネットスケープ社が提供するブラウザ「ネットスケープ・ナビゲータ」では、URLに関するホットスポット上にマウス・カーソルを置くだけで、該当するURL文字列がステータス・バー上に表示されてしまう(ステータス・バーは、ナビゲータ・ウィンドウの下端縁に沿って水平方向に配設されている)。また、ホットスポットをクリックして所望のリソースにアクセスすると、ジャンプ先のURL文字列が場所ボックスに表示されてしまう(場所ボックスは、ツール・バーとナビゲータ・ウィンドウの間隙に、水平方向に配設されている)。また、ブックマークに登録すると、ブックマーク・リスト中にはURL文字列がそのままエントリされる。
【0014】
現在多数のクライアント・ユーザに支持されている主要なブラウジング・システムによれば、プライベートなURLでさえもブラウザ上で容易に見ることができるので、そのセキュリティは脅かされている。ユーザがリンク情報を秘匿すべきことを充分に注意し且つ特段の取り扱いを行わない限りは、かかるリンク情報はディスプレイ上に無意識のうちに現れ、情報の漏洩の危機にさらされてしまう。すなわち、現在普及しているブラウザによれば、プライベートな情報を提供するURLを安全に管理することはできない。また、プライベートな情報を提供するURLを他のアプリケーションに安全に配送することもできない。
【0015】
なお、Web上で公開されたBjorn N. Freeman−Bensonの論文”Using the Web to Private Information −or− A Short Paper About Password Protection Without Client Modification”(URLは”http://www1.cern.ch/www94/PrelimProcs.html”)では、機密性のあるURLの取り扱いについて開示されている。この論文では、各生徒毎のURLを用意して各URLに夫々の成績表を管理する例を挙げている。URLが提供する情報はプライベートなものであり、当然機密性が高い。この論文では、プライベートなURLをアクセス権限のある特定の生徒に対してのみ与えるために、以下の手順がとられる。
【0016】
(1) サーバ(教官)は、各クライアントについてのログイン名とパスワードのペアからなるパスワード・リストを管理する。
(2) サーバ(教官)は、さらに暗号鍵も保持する。
(3) クライアント(生徒)は、自分のログイン名とパスワードのペアを含んだメッセージをサーバ(教官)に送信する。
(4) サーバ(教官)は、パスワード・リストを検索して、クライアント(生徒)から送信されたメッセージ中のログイン名とパスワードのペアを探す。ログイン名とパスワードのペアが見つかると、これを暗号鍵で暗号化してアクセス・キーを生成する。そして、このアクセス・キーを含んだURLをクライアント(生徒)に送信する。
(5) クライアント(生徒)は、受信したURLを使ってサーバ(教官)上のプライベート情報へのアクセスを試みる。
(6) サーバ(教官)は、クライアントから送られてきたURLからアクセス・キーを抽出して、暗号鍵を用いて復号化して、元のログイン名とパスワードのペアを得る。
(7) そして、得られたログイン名とパスワードのペアがパスワード・リストに登録されているかどうかを検査する。
(8) ペアが登録されているときのみ、URLに対応するサービス・オブジェクトに対するアクセスが許可される。
【0017】
この論文は、URLが秘密情報であり得ることに着眼している点で優れている。プライベートなURLは暗号化され容易に類推することができないアクセス・キーを含んでいるので、他人がURL文字列を判読することは困難である。しかしながら、通常のURLとプライベートなURLとを区別する方法については言及していない。URLが一旦ユーザに与えられてしまうと、その後のURLの使用を取り締まることはできない。すなわち、プライベートな情報を提供するURLを安全に管理する方法も、さらにはプライベートな情報を提供するURLを他のアプリケーション(例えばブラウザからメール・ソフトへ)に安全に配送する方法についても、何ら開示していない。
【0018】
また、特開平3−34067号公報には、ハイパーテキスト上の各リンク情報に対するアクセスを予め登録されたユーザに対してのみ許可する、というハイパーテキストに関する技術が開示されている。同公報に記載の発明によれば、ハイパーテキストのリンク管理テーブルにはリンク情報とこれに対応するユーザに関する情報とを登録しておく。そして、ユーザが自分に関する情報を入力して、これがリンク管理テーブルに登録されたものと一致する場合のみ、対応するリンク情報へのリンクが認められる。
【0019】
しかしながら、同公報に開示された発明は、リンク先へのアクセスを制限するものであり、リンク情報すなわちURL自体を機密扱いするものではない。また、通常のURLとプライベートなURLとを区別する方法については言及していない。プライベートな情報を提供するURLを安全に管理する方法も、さらにはプライベートな情報を提供するURLを他のアプリケーション(例えばブラウザからメール・ソフトへ)に安全に配送する方法についても、何ら開示していない。
【0020】
【発明が解決しようとする課題】
本発明の目的は、公共性・公開性を主目的としたインターネット上において秘密情報の保護をも勘案した、優れたハイパーテキスト・システムを提供することにある。
【0021】
本発明の更なる目的は、ハイパーテキスト上に散在するリンク情報の機密を保護することができる、優れたハイパーテキスト・システムを提供することにある。
【0022】
本発明の更なる目的は、入手そのものを困難な状態にしておくべきリンク情報(URL)や、特別なオブジェクトへのアクセスやオブジェクトに対するオペレーションを可能ならしめるようなリンク情報(URL)(言い換えれば、オブジェクトに対するケイパビリティ情報を含んだURL)を、一般に配布されている通常のリンク情報(URL)とは区別して取り扱うことができる、優れたハイパーテキスト・システムを提供することにある。
【0023】
本発明の更なる目的は、入手が困難なリンク情報(URL)をディスプレイ・スクリーン上でブラウズするときには、他のユーザやアプリケーションが容易に入手できない状態を保つことができる、優れたハイパーテキスト・システムを提供することにある。
【0024】
本発明の更なる目的は、入手が困難なリンク情報(URL)を他のアプリケーションに安全に配送することができる、優れたハイパーテキスト・システムを提供することにある。
【0025】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストを扱うためのハイパーテキスト・システムであって、
ハイパーテキストに関する情報を表示する手段と、
リファレンス中に所定の情報が含まれているか否かを判断する手段と、
所定の情報を含むと判断されたリファレンスの表示を抑制する手段と、
を含むことを特徴とするハイパーテキスト・システムである。
【0026】
また、本発明の第2の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストを扱うためのハイパーテキスト・システムであって、
リファレンス中に所定の情報が含まれているか否かを判断する手段と、
所定の情報を含むと判断されたリファレンスを暗号化して保存し若しくは転送する手段と、
を含むことを特徴とするハイパーテキスト・システムである。
【0027】
また、本発明の第3の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストを扱うためのハイパーテキスト・システムであって、
リファレンス中に所定の情報が含まれているか否かを判断する手段と、
所定の情報を含むと判断されたリファレンスを暗号化するために、秘密管理者がもつ公開鍵暗号系の公開鍵を記憶する手段と、
前記公開鍵を用いてリファレンスを暗号化する手段と、
を含むことを特徴とするハイパーテキスト・システムである。
【0028】
また、本発明の第4の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストを扱うためのハイパーテキスト・システムであって、
リファレンス中に所定の情報が含まれているか否かを判断する手段と、
所定の情報を含むと判断されたリファレンスを委譲するときに、該リファレンスに所定の加工を施す手段と、
を含むことを特徴とするハイパーテキスト・システムである。
【0029】
ここで、リファレンスに含まれる所定の情報は、該リファレンスが示すオブジェクトに対するアクセス権限に関する情報であってもよい。
【0030】
また、リファレンスを記述した文字列中に所定の文字列パターン(本来的には起こり得ない文字の組み合わせ)若しくは一般情報と所定の情報とを区切るデリミッタを埋め込むことを以って該リファレンスが所定の情報を含むことを示してもよい。
【0031】
また、リファレンスは、オブジェクトにアクセスするための通信プロトコルとオブジェクトの名前を含んだURL(Uniform Resource Locator)であってもよい。URLが所定の通信プロトコル名を指定していることを以って該URLが所定の情報であることを示してもよい。
【0032】
また、他のシステムから暗号化された形態で受け取ったリファレンスを所定の情報とみなしてもよい。
【0033】
また、前記ハイパーテキスト・システムは、サーバとクライアントとの間でハイパーテキストを転送するためのものであり、
ハイパーテキストにはサーバとクライアント間のカスタマイズ・サービスに関する文字列情報が添付されているとともに、該文字列情報が所定の情報を含んでいてもよい。このような文字列情報は、ネットワーク・コンピューティングの技術分野では”cookie”と呼ばれる。
【0034】
また、リファレンスに含まれる所定の情報は、リファレンスが示すオブジェクトに対するアクセス権限のことであり、
アクセス権限の所有者にのみアクセス権限を譲渡する権限を与えるようにしてもよい。
【0035】
また、アクセス権限の所有者がアクセス権限を弱めたリファレンスを生成することができるようにしてもよい。
【0036】
また、アクセス権限の所有者が、元のアクセス権限から派生したアクセス権限を無効化するようにしてもよい。
【0037】
本発明の第1の側面に係るハイパーテキスト・システムにおいて、リファレンスが指し示す各オブジェクトはインターネット上に散在し、且つ、リファレンスはオブジェクトにアクセスするための通信プロトコル名とオブジェクトの名前を含んだURLであり、
前記ハイパーテキスト・システムは、リファレンスに従ってハイパーテキストを検索するとともにハイパーテキストを閲覧するためのブラウザであり、
所定の情報を含んだURLを場所ボックスに表示するときに所定の情報に該当する文字列部分に所定の加工を施す手段を含んでいてもよい。
【0038】
また、本発明の第1の側面に係るハイパーテキスト・システムにおいて、リファレンスが指し示す各オブジェクトはインターネット上に散在し、且つ、リファレンスはオブジェクトにアクセスするための通信プロトコル名とオブジェクトの名前を含んだURLであり、
前記ハイパーテキスト・システムは、リファレンスに従ってハイパーテキストを検索するとともにハイパーテキストを閲覧するためのブラウザであり、
所定の情報を含んだURLをステータス・バーに表示するときに所定の情報に該当する文字列部分に所定の加工を施す手段を含んでいてもよい。
【0039】
また、本発明の第1の側面に係るハイパーテキスト・システムにおいて、リファレンスが指し示す各オブジェクトはインターネット上に散在し、且つ、リファレンスはオブジェクトにアクセスするための通信プロトコル名とオブジェクトの名前を含んだURLであり、
前記ハイパーテキスト・システムは、リファレンスに従ってハイパーテキストを検索するとともにハイパーテキストを閲覧するためのブラウザであり、
所定の情報を含んだURLをブックマークに登録するときに所定の情報に該当する文字列部分に所定の加工を施す手段を含んでいてもよい。
【0040】
ここで、所定の情報に該当する文字列部分に施される所定の加工とは、逆関数を求めることが著しく困難な性質を持つ一方向性関数を該文字列部分に対して適用することであってもよい。
【0041】
また、所定の情報に該当する文字列部分に施される所定の加工とは、リファレンスのうち少なくとも該文字列部分を暗号化することであってもよい。
【0042】
さらに、所定の情報に該当する文字列部分を暗号化する代わりに、リファレンスに所定の情報が含まれている旨をユーザに通知する手段を含んでいてもよい。
【0043】
また、本発明の第5の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストを、少なくとも第1及び第2のコンピュータ・システムが存在するネットワーク上で扱うための方法であって、
前記の第1のコンピュータ・システムがハイパーテキスト中のリファレンスに従って前記第2のコンピュータ・システムに遠隔手続き呼び出しを行うときに、前記第1のコンピュータ・システムは、所定の情報を含んだリファレンスを別のリファレンスに置き換えて転送する、
ことを特徴とするハイパーテキストを扱う方法である。
【0044】
また、本発明の第6の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストを、少なくとも第1及び第2のコンピュータ・システムが存在するネットワーク上で扱うための方法であって、
前記第1のコンピュータ・システムが、前記第2のコンピュータ・システムが持つ公開鍵暗号系の公開鍵を取得し又は保持するステップと、
前記第1のコンピュータ・システムが、前記第2のコンピュータ・システムからハイパーテキストを受信するステップと、
前記第1のコンピュータ・システムが、受信したハイパーテキスト中のリファレンスが所定の情報であるか否かを判断するステップと、
前記第1のコンピュータ・システムが、所定の情報と判断したリファレンスを前記公開鍵と対応付けて格納するステップと、
前記リファレンスに所定のビット列を連結し、さらに前記公開鍵を用いて暗号化してアクセス・キーを生成するステップと、
所定の情報であることを示す文字列を前記アクセス・キーに付加して、第2のリファレンスを生成するステップと、
を含むことを特徴とするハイパーテキストを扱う方法である。
【0045】
また、本発明の第7の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストを扱うハイパーテキスト・システムであって、
入手そのものを困難な状態にしておくべきリンク情報や、特別なオブジェクトへのアクセスやオブジェクトに対するオペレーションを可能ならしめるようなリンク情報を、一般に配布されている通常のリンク情報とは区別して取り扱うことができるハイパーテキスト・システムである。
【0046】
また、本発明の第8の側面は、他のオブジェクトとのリンク関係を記述した1以上のリファレンスを含んだハイパーテキストであって、リファレンスはオブジェクトの所在に関する情報とオブジェクトへのアクセス権限に関する情報を含むことを特徴とするハイパーテキストである。
【0047】
また、本発明の第9の側面は、HTML(Hyper Text Markup Language)形式で記述され、且つ、オブジェクトの在り処をURL形式で表現するハイパーテキストであって、URLは情報リソースにアクセスするための通信プロトコル名とリソースを指定するためのディレクトリ名やファイル名の他に、リソースに関するアクセス権限を記述した情報を含むことを特徴とするハイパーテキストである。
【0048】
また、本発明の第10の側面は、HTML形式で記述され、且つ、オブジェクトの在り処をURL形式で表現された、インターネット上でWWW(WorldWide Web)サーバとWWWクライアント間で交換されるタイプのハイパーテキストであって、WWWクライアントのためのカスタマイズ・サービスを記述した文字列情報が添付され、且つ、該文字列情報にはハイパーテキストに関するアクセス権限を記述した情報を含むことを特徴とするハイパーテキストである。
【0049】
【作用】
本発明によれば、入手そのものを困難な状態にしておくべきリンク情報(URL)や、特別なオブジェクトへのアクセスやオブジェクトに対するオペレーションを可能ならしめるようなリンク情報(URL)(言い換えれば、オブジェクトに対するケイパビリティ情報を含んだURL)は、一般に配布されている通常のリンク情報(URL)とは区別した取り扱いがなされる。ハイパーテキスト・システムのユーザ/オペレータは、秘密情報を含んだリンク情報を取り扱う上で何ら注意を要しない。
【0050】
本発明は、例えば、インターネット上に散在する様々な情報を検索し、ホームページ画面を形成するツールである「ブラウザ」の機能として実装される。
【0051】
従来のブラウザによれば、ブラウザ画面上の場所ボックスやステータス・バー、ブックマーク・リスト中には、秘密情報を含んだURLと一般のURLとを区別することなく、URL文字列が場所ボックスやステータス・バーにそのまま表示されたり、ブックマークには原形文字列のまま登録されていた。本発明を実装したブラウザは、秘密情報を含んだURL文字列の表示を抑制するようになっている。例えば、URL文字列が”http://server01.domaim001/file0001/secret”であり、最後のデリミッタ以降の文字列”secret”が秘密情報である場合、当該文字列部分は、逆関数を求めることが事実上不可能な一方向性関数hを用いて原形を類推不能な文字列に変換して”http://servet01.domain001/file001/h(secret)”と表示したり、暗号化して”http://servet01.domain001/file001/*******”と表示したりする。あるいは、秘密情報に係るURLを表示しようとするときには、警告音を発するなど、ユーザにその旨を通知するようにしてもよい。
【0052】
また、本発明を実装したブラウザは、他のアプリケーションに対して秘密情報に係るURLを安全に委譲することができる。例えば、ユーザは、情報を共有するべく、自分が取得したURLをEメールを通じて教えることもある。本発明に係るブラウザはメーラと連携して、メール主文に存在するURL文字列中の秘密情報を暗号化して、機密を保護するようになっている。
【0053】
秘密情報の多くは、URLが示すリソースに対するアクセス権限、すなわちケイパビリティである。リソースの所有者(すなわちサーバ)は、ケイパビリティを管理する必要上、暗号化された後も秘密情報を解読できなければならない。このような場合、ブラウザは、サーバの公開鍵を保持しておき、公開鍵で暗号化すればよい。サーバは、自分の秘密鍵を以って秘密情報を取得することができる。
【0054】
URL文字列中に秘密情報を埋め込み、或いは秘密情報を識別する方法の1つは、スラッシュなどのデリミッタで通常のURL文字列と区切ることである。例えば、最後のデリミッタ以降の文字列を秘密情報としてもよい。他の方法は、プロトコル名によって区別することである。例えば秘密情報を含む場合のプロトコル名を”httpcap”とすればよい。また、他の方法は、通常は起こり得ない文字の組み合わせを以って秘密情報の存在を明示することである。また、他の方法は、URLを受け取った時点で既に暗号化処理が施されている文字列については秘密情報と判断するようにすることである。
【0055】
最近では、サーバが提供するサービスをユーザ毎にカスタマイズするために、ユーザに関する文字列情報をメッセージに付随させることがある。このような文字列情報は、ネットワーク・コンピューティングに関連する”cookie“と呼ばれる。URLではなくcookieに秘密情報を埋め込むことができる。また、cookieを受け取ったサーバやクライアントは、秘密情報が含まれていると推定して、その表示を抑制するようにしてもよい。
【0056】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0057】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【0058】
図1には、本発明の実施に供されるネットワーク・システムの構成を模式的に示している。ネットワーク・システムは、データの伝送媒体としてのネットワーク10と、このネットワーク10を介して相互接続される多数のコンピュータ・システムとで構成されおり、分散コンピューティング環境を提供している。以下、各部について説明する。
【0059】
ネットワーク10は、例えば大学や企業の構内などの限られた空間内に敷設されたLAN(Local Area Network)である。あるいは、LAN同士を専用線等で相互接続してなるWAN(Wide Area Network)や、一般公衆回線(PSTN:Public Switched Telephone Network)、ISDN(Integrated Service Digital Network)、これらネットワークの集合体であるインターネットであってもよい。各コンピュータ・システムは、モデムやTA(Terminal Adapter)、LANアダプタ等を介してネットワーク10に接続される。
【0060】
各コンピュータ・システム同士は、ネットワーク10を介して、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)接続されている。本実施例のネットワーク10上では、ハイパーテキスト・システムが構築されている。すなわち、ネットワーク上に接続されたコンピュータ・システムの一部は、サービスを提供するハイパーテキスト・サーバ3であり、その他はサービスを要求するハイパーテキスト・クライアント1,2である。但し、各コンピュータ・システムは、サーバ用又はクライアント用のアプリケーションを導入して動作する汎用のコンピュータ・システムであってもよい。汎用コンピュータ・システムは、CPUやメモリ、キーボードやマウスなどのユーザ入力装置、ディスプレイやプリンタなどの出力装置、ディスク型の外部記憶装置を備え、通信アダプタを介してネットワーク10に接続される。
【0061】
ハイパーテキスト・システムによれば、ネットワーク10上に存在する各サービス・オブジェクトに対して継ぎ目なくアクセスすることができる。サービス・オブジェクトの一例はHTML(Hyper Text Markup Language)で記述されたファイルである。サーバとクライアントの間では、HTTPプロトコルを用いてHTMLファイルが転送される。
【0062】
サーバ3は、複数のサービス・オブジェクト100,200を所有している。各ユーザが夫々のサービス・オブジェクトに対して許されている権限を管理するアクセス制御リストを備えている。
【0063】
図1では、オブジェクト100及び200に夫々アクセス制御リスト4及び5が付設されている。アクセス制御リスト4は、ユーザ10には読出し及び書込みオペレーションを許容するが、ユーザ20には読出ししか許可していないことを記述している。また、アクセス制御リスト5は、ユーザ10には読出ししか認めないが、ユーザ20には読出しと書込みの双方を許すことを記述している。
【0064】
ネットワーク・コンピューティングの技術分野では、ユーザのオブジェクトに対する権限のことをケイパビリティ(”Capability”)と呼ぶ。ケイパビリティには、許可されるオペレーションの他、アクセスできる有効期限やアクセス回数などが含まれる。
【0065】
図2には、ハイパーテキスト・クライアントとして機能するコンピュータ・システム1の構成を模式的に示している。同システム1は、図示の通り、ハイパーテキスト出力部110と、ケイパビリティ保持部120と、ハイパーテキスト解析部130と、受信部140と、ユーザ入力部150と、ハイパーリンク処理部160と、メッセージ生成部170と、送信部180とで構成される。
【0066】
ユーザ入力部150は、ユーザがシステム1に対してコマンドやデータを入出力する作業を支援する「ユーザ・インターフェース」を提供する。キーボードやマウスなどの装置を介したユーザ入力は、ユーザ入力部150によって処理される。ユーザ入力は、例えばケイパビリティ保持部120に対する処理要求のメッセージやハイパーリンク処理部160に対する処理要求のメッセージであり、メッセージは各部120,160に渡される。
【0067】
受信部140と送信部180は、ネットワーク10を介したメッセージの交換を実現するための装置である。送信部180は、メッセージ生成部170(後述)によって生成されたメッセージを、ネットワーク10経由で、例えば遠隔のハイパーテキスト・サーバ3に送信する。また、受信部140は、ネットワーク10経由でのメッセージの受信を行う。受信するメッセージの一例は、ハイパーテキスト・サーバから送られてくるハイパーテキストや、所定の情報を暗号化するための暗号化鍵(例えばハイパーテキスト・サーバの公開鍵暗号系の公開鍵)である。受信したハイパーテキストは、ハイパーテキスト解析部130(後述)に渡される。
【0068】
ハイパーテキスト解析部130は、ハイパーテキスト・サーバから送られてきたハイパーテキストを解析して、ハイパーテキスト出力部110に対してハイパーテキストをユーザに提示するように要求する。ユーザへの提示は、例えばハイパーテキストがHTMLファイルであれば、ブラウザ画面のウィンドウ・フレームにホームページとして表示するという形態をとる。
【0069】
本実施例のハイパーテキスト解析部130は、さらに、ハイパーテキストに埋め込まれた各リンク情報の検査も行う。ここで言うリンク情報の検査とは、リンク情報が秘密情報を含むかどうかを判断することを指す。
【0070】
リンク情報の中に秘密情報を埋め込む方法は幾つか考えられる。例えばハイパーテキストであり、リンク情報がURL(Uniform Resource Locator)であれば、スラッシュなどのデリミッタで通常のURL文字列と区切ることである。例えば、最後のデリミッタ以降の文字列を秘密情報としてもよい。或いは、特殊なプロトコル名を指定することによって秘密情報を含むことを明示するができる。例えば秘密情報を含む場合のプロトコル名を”httpcap”(仮称)とすればよい。或いは、通常は起こり得ない文字列の組み合わせを以って秘密情報の存在を明示するもできる。或いは、秘密情報を含むURLは、既に暗号化された形態で送信される。言い換えれば、ハイパーテキスト解析部130は、特殊なプロトコル名や特定の文字列がURL文字列中に含まれていることを以って、URLが秘密情報を含むと判断することができる。
【0071】
また、最近では、サーバが提供するサービスをユーザ毎にカスタマイズするための文字列情報である”cookie“がハイパーテキストに付随することもある。ハイパーテキスト解析部130は、cookieが秘密情報を含むと判断してもよい。
【0072】
リンク情報に含まれる秘密情報は、より具体的には、リンク先のオブジェクトに関するケイパビリティである(ケイパビリティがハイパーテキスト・サーバのアクセス制御リストによって管理されていることは既に述べた)。ハイパーテキスト解析部130は、秘密情報を含むと判断したリンク情報を、暗号化するための暗号化鍵(例えばリンク先のハイパーテキスト・サーバが提供する公開鍵)と一緒にして、ケイパビリティ保持部120に渡す。ケイパビリティ保持部120は、受け取ったケイパビリティを、暗号化鍵と関連付けて保管する。
【0073】
ハイパーリンク処理部160は、ユーザ入力部150及びケイパビリティ保持部120から送られてくるメッセージを解析する。メッセージ中に秘密情報を含んだリンク情報が含まれるときには、所定のリンク処理手続きを行う。
【0074】
メッセージ生成部170は、ハイパーリンク処理部160からの要求に応答して、該当するハイパーテキスト・サーバに対するメッセージを生成する。生成されたメッセージは送信部180によって送出される。
【0075】
ハイパーテキスト出力部110は、ハイパーテキスト解析部130やユーザ入力部150からの要求に従って、ハイパーテキストを文字、画像及び音声情報としてユーザに提示する。
【0076】
ハイパーテキスト出力部110は、例えば、HTML形式で記述されたハイパーテキスト・ファイルを閲覧するためのブラウザ画面を形成する。ブラウザ画面は、取得したHTMLファイルを基に組み立てたホームページを表示するためのナビゲータ・ウィンドウの他に、現在アクセス中のリソースについてのURL場所ボックスを持つ(場所ボックスは、一般に、ナビゲータ・ウィンドウとツール・バーの間に水平配置される)。また、マウス・カーソルを置いたホットスポットに該当するURLは、ステータス・バーに表示される(ステータス・バーは、一般に、ナビゲータ・ウィンドウの下端縁に沿って水平配置される)。また、ブラウザは、お気に入りのURLを登録するためのブックマークを持つ。
【0077】
本実施例のハイパーテキスト出力部110は、ハイパーテキストに埋め込まれたリンク情報に含まれる秘密情報については、場所ボックスやステータス・バー等への表示する内容を抑制するようになっている。例えば、URL文字列が”http://server01.domaim001/file0001/secret”であり、最後のデリミッタ以降の文字列”secret”が秘密情報である場合、当該文字列部分は、逆関数を求めることが事実上不可能な一方向性関数hを用いて原形を類推不能な文字列に変換して”http://server01.domain001/file001/h(secret)”と表示したり、暗号化して”http://server01.domain001/file001/*******”と表示したりする。あるいは、秘密情報に係るURLを表示しようとするときには、警告音を発するなど、ユーザにその旨を通知するようにしてもよい。この点は後に詳解する。
【0078】
なお、図2に示した各ブロックは、専用のハードウェア装置として、或いは汎用コンピュータ・システムに導入されたプログラム・モジュールの形態でも実装可能である。
【0079】
次に、ハイパーテキスト・クライアント1とハイパーテキスト・サーバ3間の動作について説明する。以下では、ハイパーテキスト・サーバ3は、ドメイン”wwwserver300”を持っているとする。また、プロトコル”httpcap”(仮称)は、URL文字列が秘密情報を含むことを識別するために取り決められた特殊なプロトコル名とする。
【0080】
まず、ハイパーテキスト・サーバ3からハイパーテキスト・クライアント1に対して、以下に示すハイパーテキスト”htext1”が送信されたとする。この例では、ハイパーテキストhtext1は、ある銀行が顧客に提供するホームページという設定である。銀行すなわちサーバ3は、銀行口座を持つ各顧客に対してプライベートなURLを割り振り、ホームページ上で銀行口座の情報へのアクセス方法を提供している。また、この例では、顧客すなわちクライアント1は、ハイパーテキストhtext1の受信に伴なって(或いは受信に先行して)、サーバ3が持つ公開鍵暗号系の公開鍵”pubkey300”を受信し保持しているものとする。
【0081】
【数1】
【0082】
上記HTMLファイルを判読すれば、ホームページ上の「あなたの銀行口座のページ」という説明文には、”httpcap://wwwserver300/ALKJLKJKFSDSFSDOIUALKJFLKJEOIAJDLSIE”というURLが埋め込まれているが、これはある特定のクライアント・ユーザが自分の銀行口座の情報にアクセスするためのリンク情報である。このURLは、プライベートな、すなわち秘密情報として保護されるべき性質を持つと把握されたい。
【0083】
本実施例のハイパーテキスト解析部130は、受信したハイパーテキストをスキャンして、これに埋め込まれているリンク情報、すなわちリンク先のリソースに関するURL文字列を取得する。上記の例では、ハイパーテキスト解析部130は、リンク情報をAタグに現れた第1番目のURL文字列”httpcap://wwwserver300/ALKJLKJKFSDSFSDOIUALKJFLKJEOIAJDLSIE”を取得するとともに、特殊なプロトコル名”httpcap”を含むことを以ってこれが秘密情報を含むと判断する。(秘密情報を含むURLのことを、以下では「ケイパビリティURL」と呼ぶことにする。)
【0084】
ハイパーテキスト解析部130は、次いで、説明文「あなたの銀行口座のページ」を、公開鍵pubkey300と一緒にして、ケイパビリティ保持部120に渡す。
【0085】
ケイパビリティ保持部120の実体は、ディスク型の記憶装置であり、その中には、ケイパビリティURLと、URLを暗号化するための鍵(サーバの公開鍵)と、URLに関する説明文の3項組の値からなる各データ・エントリが蓄積されている(あるいは、ケイパビリティ保持部120は、3項組のエントリではなくURLのみ保持するのでもよい)。
【0086】
ハイパーテキスト解析部130は、ハイパーテキストhtext1を構文解析し、その解析結果として解析木1をハイパーテキスト出力部110に渡す。ここで、解析木とは、ハイパーテキストが記述するホームページ画面を形成するための、階層化された構造を持つ情報である。
【0087】
ハイパーテキスト出力部110は、受け取った解析木1に従って、ハイパーテキストhtext1の表示を行う。より具体的には、解析木1を木探索して、木の各ノードに該当するウィンドウ・フレームを逐次表示処理していく。但し、ディスプレイ・スクリーンへの描画処理は、ハイパーテキスト出力部110が直接行わなくとも、オペレーティング・システムが用意する描画用のAPI(Application Programming Interface)を用いて行ってもよい。
【0088】
本実施例のハイパーテキスト出力部110が行うハイパーテキスト表示処理において特に特徴的なのは、ケイパビリティURLを保護する(すなわちその表示を抑制する)機能を含んでいる点である。図3には、この機能を実現したフローチャートを示している。以下、各ステップについて説明する。
【0089】
ハイパーテキスト出力部110は、解析木1を木探索して、URLに関連するウィンドウ・フレームのノードに到達したときには、該URLが秘密情報を含んだケイパビリティURLかどうかを判断する(ステップS101)。
【0090】
秘密情報を含まない通常のURLと判断されたときには、通常の表示処理を行う(ステップS102)。すなわち、該URLの説明文は、通例に従ってホットスポット表示される。また、このホットスポットにマウス・カーソルを置いたときには、通例に従って、ステータス・バーにはURL文字列がそのまま表示される。
【0091】
一方、URLがケイパビリティURLであると判断されたときには、ケイパビリティを保護するための特別な権限表示処理が実行される(ステップS103)。
【0092】
図4には、図3のステップS103における権限表示処理の一例をフローチャートで示している。以下、各ステップについて説明する。
【0093】
まず、ハイパーテキスト解析部130は、URL中のケイパビリティを解釈して、クライアントがURLに対して正当なアクセス権限を有しているかどうかを判断する(ステップS201)。
【0094】
クライアントが正当な権限を有すると判断したときには、その旨をユーザに対して通知する(例えばコメントを表示する)(ステップS202)。この場合、URLの説明文(上述したhtext1の例で言えば、URL”httpcap://wwwserver300/ALKJLKJKFSDSFSDOIUALKJFLKJEOIAJDLSIE”に対する説明文「あなたの銀行口座のページ」)を、通例に従ってホットスポット表示してもよいし、通例とは異なる形態でホットスポット表示することで、クライアント・ユーザに注意を促してもよい。
【0095】
通例とは異なるホットスポット表示の形態は、例えば以下の通りである。
(1) 特定の色で表示する。
(2) 特定の下線を付加して表示する。
(3) 特定のフォントで表示する。
(4) 特定のブリンキングで表示する。
(5) 特定の警告音を伴なう。
(6) 網掛けやマークなどの特定の修飾を付けて表示する。
(7) 特定の枠で囲って表示する。
【0096】
他方、クライアントが正当な権限を有しないと判断したときには、その旨をユーザに提示する(ステップS203)。この場合、URLの説明文にホットスポット表示を施すことなく、リンク情報の存在自体を隠蔽してもよい。なお、クライアントが権限を持たない事由としては、そもそも権限がない以外に、無効な権限を持っている(例えば有効期限が消滅したり、意図的に無効化された)ことが挙げられる。ステップS203における提示処理では、これら2つのうちのいずれであるかをユーザに明示してもよい。
【0097】
また、図5には、図3のステップS103における権限表示処理の他の例をフローチャートで示している。以下、各ステップについて説明する。
【0098】
まず、ハイパーテキスト出力部110は、URL中のケイパビリティを解釈して、クライアントがURLに対して正当なアクセス権限を有しているかどうかを判断する(ステップS301)。
【0099】
クライアントが正当な権限を有すると判断したときには、その旨をユーザに対して通知する(ステップS302)。この場合、URLの説明文を、通例に従ってホットスポット表示してもよいし、通例とは異なる形態でホットスポット表示してもユーザの注意を喚起してもよい。通例とは異なるホットスポット表示は、例えば上記に示した通りである。
【0100】
他方、クライアントが正当な権限を有しないと判断したときには、その旨をユーザに提示する(ステップS303)。この場合、URLの説明文にホットスポット表示を施すことなく、リンク情報の存在自体を隠蔽してもよい。なお、ユーザへの提示処理において、クライアントがそもそも権限を保持しないのか、或いは無効な権限を持っているのかで動作を区別して、クライアント・ユーザに通知してもよい。
【0101】
また、URLは、ホームページ画面上には出現しないが、その基となるハイパーテキストhtext1中には記述されているので、クライアント・ユーザは参照可能である。そこで、URL文字列中の少なくとも秘密情報に該当する文字列部分に対しては一方向性関数を適用して、ユーザからは原文字列を類推不可能にしておく(ステップS304)。ここで言う一方向性関数とは、逆関数を求めることが極めて不可能な性質を持つ関数のことである。但し、一方向性関数で処理するのではなく、暗号鍵を用いて暗号化するのでもよい。要は、ユーザからは原文字列を類推不可能な形式に変換できればよい。
【0102】
次に、ケイパビリティを含んだハイパーテキストhtext1の表示画面上において発生した各イベントに対する処理について説明する。イベントとは、例えばクライアント・ユーザが実行したマウス操作のことである。図6には、この様子を概略的に示している。
【0103】
クライアント・ユーザがユーザ入力部150を介してケイパビリティに対する操作を要求したとき、ハイパーテキスト出力部110は、操作選択肢を表示するととにも、ユーザ入力をプロンプトする(ステップS401)。そして、選択された操作が何かを判断する(ステップS402)。
【0104】
選択された操作が所謂「ブックマーク」のような保存リストへの追加であれば、該当する処理を実行するが(ステップS403)、この点は図7を用いて後で説明する。
【0105】
また、選択された操作が、ケイパビリティに対する正当性の検証であれば、URL文字列中のケイパビリティを参照して、正当かどうかを判断し、結果を表示する(ステップS404)。
【0106】
また、選択された操作が権限の変更処理であれば、該当する処理を実行するが(ステップS405)、この点は図8を用いて後で説明する。
【0107】
図7には、URLを保存リストに追加するための処理をフローチャートの形式で図解している。以下、各ステップについて説明する。
【0108】
あるURLを保存リストに追加したい旨が要求されると、まず、このURLがケイパビリティURLかどうかを判断する(ステップD501)。該判断は、例えばハイパーテキスト解析部130が行う。ケイパビリティの有無の判断方法については上記で例示した通りである。
【0109】
ケイパビリティURLであれば、URL文字列中の少なくともケイパビリティに該当する文字列部分を暗号化してから、保存リストを構成するファイルの中に書きこむ(ステップS502)。
【0110】
URLの暗号化は、例えば以下の手順により行うことができる。但し、URL文字列中の最後のデリミッタ”/”以降に秘密情報が付加されているものとする。
(1) 原URL文字列から、最後のデリミッタの直前文字列を抽出して、これをcap0とする。また、最後のデリミッタ以降の文字列をcap1とする。
(2) ケイパビリティとして許可されているオペレーションを、cap1の後ろにコロン”:”で連結する。許可されたオペレーションが2以上あるときは、その全てをコロンで連結する。このようにして生成された文字列をcap2とする。(その他、許可する引数、許可するアクセス回数、有効期限、許可するクライアントを示す証明証、許可するクライアントを示す公開鍵、発行番号、発行時刻なども、コロンで連結してもよい。)
(3) cap2を、ケイパビリティを管理するサーバの公開鍵で暗号化する。
(4) cap0とcap2sとを連結する。
【0111】
なお、ステップS502において、URLを暗号化するのではなく一方向性関数を用いて変換を施すようにしてもよい。あるいは、ケイパビリティに関する箇所を除いて保存してもよい。要は、ケイパビリティを記述した原文字列を類推不能な形態に変形できればよいのである。この結果、後で保存リストを参照したときには、ケイパビリティに関連する秘密情報がディスプレイ上に露呈することはない。
【0112】
他方、URLがケイパビリティを含んでいないと判断されれば、通例通り、URL文字列をそのままの形態でファイルに保存する(ステップS503)。
【0113】
図8には、ケイパビリティの内容を変更するための処理手順を、フローチャートの形式で示している。以下、各ステップについて説明する。
【0114】
まず、クライアント・ユーザからの要求入力に応答して、現在のケイパビリティの内容が表示される(ステップS601)。ケイパビリティの内容は、例えば、許可されるアクセス回数、許可される引数、アクセスが許される有効期限、許可するクライアントを表した証明書、許可するクライアントの公開鍵、クライアントに許可されたオペレーション、発行番号、発行時刻などである。
【0115】
次いで、クライアント・ユーザに対して、変更したい項目の入力がプロンプトされる(ステップS602)。ユーザ入力に従って、新しい権限情報が生成される。
【0116】
次いで、今まで与えられていた権限と新しい権限とを合成して(例えば各々の文字列情報をビット連結して)、新しいケイパビリティを生成する(ステップS603)。
【0117】
次いで、更新されたケイパビリティを、ケイパビリティを管理するサーバの公開鍵を用いて暗号化する(ステップS604)。暗号化の結果、公開鍵と対をなす秘密鍵を保持したサーバ以外は、ケイパビリティの変更内容を解読できなくなり、秘密が保護される。例えば、新しいケイパビリティを委譲された他のクライアント・ユーザであっても、自分に与えられたケイパビリティを検知することはできない。
【0118】
図9には、ケイパビリティの内容を変更する処理手順の他の例を、フローチャートの形式で示している。以下、各ステップについて説明する。
【0119】
まず、クライアント・ユーザからの要求入力に応答して、現在のケイパビリティの内容が表示される(ステップS701)。
【0120】
次いで、クライアント・ユーザに対して変更したい項目の入力がプロンプトされる(ステップS702)。ユーザ入力に従って新しい権限情報が生成される。
【0121】
次いで、今まで与えられていた権限と新しい権限とを合成して(例えば各々の文字列情報をビット連結して)、新しいケイパビリティを生成する(ステップS703)。
【0122】
次いで、更新されたケイパビリティを暗号化する(ステップS704)。但し、ケイパビリティを管理するサーバの公開鍵ではなく、クライアントが保持する公開鍵暗号系の秘密鍵を用いて暗号化する点で、図8に示した例とは相違する。暗号化の結果、公開鍵を用いることで、正当なクライアントによってケイパビリティが変更されたことを認証することができる。
【0123】
次に、URLを含む文字列を送信する処理について説明する。
【0124】
一般に、クライアント・ユーザは、ネットワーク上に散在する有益なリソースを他のユーザと共有することを望むことがある。ところが、クライアントが、自分と同じケイパビリティを他人に与えてしまっては、思わぬ不利益を被ることがある。例えば、クライアントAが、自分の不在中に、あるサーバが持つオブジェクトの管理を委ねるべく、クライアントBにケイパビリティを与えたとする。クライアントBがクライアントAと同じ有効期限のケイパビリティを所持していれば、クライアントAが復帰した後もクライアントBはオブジェクトにアクセスし続けることができる。また、クライアントBはオブジェクトの読み出しオペレーションだけを許可すれば充分なのに、クライアントAと等しく書き込みや実行オペレーションまで許可してしまっては、オブジェクトのセキュリティは脅かされかねない。
【0125】
かかる場合、クライアント・ユーザは、オブジェクトを所有するサーバに対してURL情報を送信して、ケイパビリティを変更してもらう必要がある。
【0126】
図10には、あるクライアント・ユーザがサーバ(若しくは他のアプリケーション)にURLを送信するときの処理手順を、フローチャートの形式で示している。以下、各ステップについて説明する。
【0127】
メッセージ送信画面上において編集された送信文書から文字列を逐次読み込む(ステップS801)。
【0128】
読み込んだ文字列が権限情報を含んだケイパビリティURLかどうかを判断する(ステップS803)。該判断は、ケイパビリティ保持部120が保管する情報を参照することで実現される。
【0129】
文字列がケイパビリティとは関係なければ、判断ブロックの分岐Noに進み、該文字列はそのまま送信バッファに書きこまれる(ステップS806)。
【0130】
他方、文字列がケイパビリティを含んでいるときには、判断ブロックの分岐Yesに進み、権限情報の変換処理(ステップS804)を行い、権限情報をヘッダに追加(ステップS805)してから、送信バッファ中に書き込む(ステップS806)。
【0131】
前者の権限情報変換処理は、送信URLに含まれるケイパビリティに所定の変換処理を施すことである。URLを譲り受けたクライアント(若しくは他のアプリケーション)のケイパビリティを弱めることで、送信元のクライアントの利益を保護するために行う。該変換処理の詳細については、図11を用いて後に詳解する。
【0132】
また、ヘッダにケイパビリティを追加することにより、ハイパーテキスト・オブジェクトに対するアクセス保護を好適に実現することができる。オブジェクトを要求するプロトコルがHTTPであれば、ケイパビリティはHTTPプロトコルの要求ヘッダは、GETメソッドを要求する要求行と、GETメソッドを実行するためのケイパビリティを保持するCapabilityメッセージ・ヘッダと、委譲するケイパビリティを保持するCapabilitiesメッセージ・ヘッダとで構成される。
【0133】
ヘッダの一例を以下に示しておく。この例では、”/object/object100”という名前のオブジェクトにアクセスするためのケイパビリティがCapabilityフィールドに格納されている。また、この要求を受信するHTTPサーバに委譲されるクライアントのケイパビリティは、Capabilitiesフィールドに書き込まれている。
【0134】
【数2】
【0135】
上記の処理は、送信文書中の全ての文字列に対して行われる(ステップS806)。そして、送信文書全体について処理が終了すると、送信バッファに蓄積された送信データが、送信部180からサーバに向けて送信される(ステップS807)。
【0136】
他のクライアントにケイパビリティを委譲するときに、ケイパビリティを弱める権限情報変換処理(図10中のステップS804)の意義があることは既に述べた。図11には、権限情報変換の処理手順をフローチャートで示している。以下、各ステップについて詳解する。
【0137】
まず、ハイパーテキスト出力部110は、ユーザに対して選択肢を表示し(ステップS901)、ユーザに入力を促す。そして、ユーザ入力に応じた処理に分岐する(ステップS902)。
【0138】
ここで、ユーザに用意されている選択肢は、ケイパビリティを全く委譲しない「権限無効化処理」(ステップS903)、ケイパビリティをそのまま委譲する「権限委譲処理」(ステップS904)及び、ケイパビリティを変更してから委譲する「権限変更処理」(ステップS905)の3つである。ステップS903については図12を用いて、また、ステップS904については図13を用いて後述する。また、ステップS905は、図9に図解した処理手順に従うものとし、ここではこれ以上説明しない。
【0139】
図12には、ケイパビリティを無効化するための処理手順を、フローチャートの形式で示している。同図(a)は、そのまま無効化する場合である。また、同図(b)は破壊した上で無効化する場合である。破壊は、例えばケイパビリティに関する文字列に一方向性関数を適用して(ステップS1101)、元のケイパビリティを類推不能な形態にすることによって行われる。この場合、メッセージを受信したサーバは、破壊されたケイパビリティを読み取ることによって、ケイパビリティが無効化されたことを検知できる。
【0140】
図13には、ケイパビリティを委譲するための処理手順を、フローチャートの形式で示している。同図13(a)は、クライアントの署名を行ってから委譲する場合であり、ケイパビリティに関する文字列を、クライアントが所持する公開鍵暗号系の秘密鍵を用いて暗号化する(ステップS1201)。メッセージを受信したサーバは、クライアントの公開鍵を用いて、ケイパビリティの委譲要求を正当なクライアントから受け取ったことを認証することができる。また、同図(b)は、そのまま委譲する場合である。
【0141】
図14には、ハイパーテキスト・システムに対して発生された各イベントに対する処理手順をフローチャートで示している。
【0142】
ここで言うイベントとは、マウスによるユーザ入力によって発生する。図14に示す例では、ハイパーテキスト・システムとしてのブラウザの画面上において、ホットスポット(リンク情報)上にマウス・カーソルの突入したり、ホットスポット上でのマウス左ボタンのクリック(選択動作)したり、或いは、ホットスポット上でのマウス右ボタンのクリック(プロパティの呼び出し動作)することを、イベントとして取り上げている。
【0143】
イベントが発生すると、ユーザ入力部150は、イベントの内容を解釈する(ステップS1301)。
【0144】
イベントがホットスポット(リンク情報)上へのマウス・カーソルであれば、ステップS1302に進む。一般に、ホットスポット上にマウス・カーソルが置かれると、該当するリンク情報すなわちURLがブラウザ画面中のステータス・バーに表示される(周知)。ステップS1302では、ケイパビリティに関する文字列に一方向性関数が適用される。この結果、ステータス・バー上には原形を類推不能なケイパビリティが表示される。これを見たユーザは、破壊されたケイパビリティを読み取ることによって、ケイパビリティの存在を確認することができる。
【0145】
また、イベントがホットスポット上でのマウス左ボタンのクリック(選択動作)であれば、ステップS1303に進む。ブラウザ画面上におけるホットスポットの選択動作は、ホットスポットに埋め込まれたURLが指示する遠隔手続き/遠隔メソッド呼び出しを意味する。このステップにおいて実行される処理の詳細は、図15を用いて後で詳解する。
【0146】
また、イベントがホットスポット上でのマウス右ボタンのクリックであれば、ステップS1304に進む。一般に、デスクトップ上のオブジェクトに対するマウス右ボタンのクリックは、オブジェクトのプロパティの呼び出しを意味する(周知)。この実施例では、URL中に記述されたケイパビリティの内容の変更を意味する。該変更操作の処理は、図9に従うものとし、ここではこれ以上説明しない。
【0147】
図15には、ホットスポットに該当するURLで指示された遠隔手続き/遠隔メソッド呼び出し手続きの処理手順を、フローチャートの形式で示している。以下、各ステップについて説明する。
【0148】
まず、手続き/メソッドの要求に含まれるURLを1つ取り出す(ステップS1401)。もはやURLがなければ(ステップS1402)、メッセージ生成部170が要求メッセージを生成し、送信部180が送信処理して(ステップS1407)、この処理ルーチンを終了する。
【0149】
ステップS1403では、取り出したURLに対応するケイパビリティを、ケイパビリティ保持部から読み出す。
【0150】
次いで、判断ブロックS1404では、ケイパビリティに記述されたサーバが、URLを送信するサーバと同一かどうかが判断される。
【0151】
同じサーバであれば、そのままケイパビリティを送信することができるので、次ステップS1405をスキップする。他方、サーバが異なれば、権限情報変換処理を行う。権限情報変換処理は図9に示した処理手順に従うので、ここではこれ以上説明しない。
【0152】
次いで、ケイパビリティを要求メッセージのヘッダに付加する。ケイパビリティが付加されたヘッダの例は、上述の[数2]に示した通りである。
【0153】
次いで、ステップS1401に復帰し、手続き要求されたURLがなくなるまで、上述と同様の処理を繰り返す。
【0154】
最後に、ケイパビリティを含んだ応答メッセージについて説明しておく。
【0155】
遠隔手続き/遠隔メソッドの呼び出しは、例えばHTTPプロトコルに従って実現されるが、HTTPプロトコルの応答メッセージのヘッダにケイパビリティを保持させることができる。また、HTMLファイル中にケイパビリティを保持させることもできる。
【0156】
この場合、HTTPプロトコルの応答メッセージは、ステータス行と、サーバの種別を表すヘッダ行と、最終更新日を表すヘッダ行と、コンテンツの種別を表すヘッダ行と、サーバからクライアントに委譲されるケイパビリティを表すヘッダ行と、メッセージ本体とで構成される。以下に応答メッセージの例を示しておく。
【0157】
【数3】
【0158】
この例の応答メッセージ中のHTML文書には、”http://host1/obj/obj1”と”http://host2/obj/obj2”という2つのURLが含まれている。これらURLは、オブジェクトに対するケイパビリティCapabilitiesフィールドの値としてサーバからクライアントに転送される。
【0159】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0160】
なお、上記の実施例では、特殊なプロトコル名”httpcap”(仮称)の使用を以ってケイパビリティURLであることを表示したが、以下の方法によってもケイパビリティURLであることを識別できる。
(1) URL文字列中に特定の文字列パターンが含まれていること。特定の文字列パターンは、通常は現れない文字の特殊な組み合わせであることが好ましい。
(2) URL文字列中でケイパビリティの記述の開始を示すための特定の開始記号(デリミッタ)を使用する。また、ケイパビリティの記述の終了を示す特定の終了記号も決めておく。
(3) ハイパーテキストを暗号文として受信したときは、これに含まれるリンク情報はケイパビリティURLとする。暗号化はそもそも秘密情報を保護するために使用されるからである。
【0161】
【発明の効果】
以上詳記したように、本発明によれば、公共性・公開性を持つインターネット上において機密性をも勘案した、優れたハイパーテキスト・システムを提供することができる。
【0162】
また、本発明によれば、ハイパーテキスト上に散在するリンク情報などの秘密情報を保護することができる、優れたハイパーテキスト・システムを提供することができる。
【0163】
また、本発明によれば、入手そのものを困難な状態にしておくべきリンク情報や、特別なオブジェクトへのアクセスやオブジェクトに対するオペレーションを可能ならしめるようなリンク情報を、一般に配布されている通常のリンク情報とは区別して取り扱うことができる、優れたハイパーテキスト・システムを提供することができる。
【0164】
また、本発明によれば、入手が困難なリンク情報を他のユーザやアプリケーションが容易に入手できない状態を保つことができる、優れたハイパーテキスト・システムを提供することができる。
【0165】
また、本発明によれば、入手が困難なリンク情報を他のアプリケーションに安全に配送することができる、優れたハイパーテキスト・システムを提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施に供されるネットワーク・システム100の構成を模式的に示した図である。
【図2】 ハイパーテキスト・クライアントの構成を模式的に示したブロック図である。
【図3】 ハイパーテキスト出力部110が行うハイパーテキスト表示処理を図解したフローチャートである。
【図4】 権限表示処理の一例を示したフローチャートである。
【図5】 権限表示処理の他の例を示したフローチャートである。
【図6】 ケイパビリティを含んだハイパーテキスト画面上で行われる各イベント処理手順を概略的に示したフローチャートである。
【図7】 URLを保存リストに追加する処理手順を示したフローチャートである。
【図8】 URLに記述されたケイパビリティの内容を変更するための処理手順を示したフローチャートである。
【図9】 URLに記述されたケイパビリティの内容を変更する処理手順の他の例を示したフローチャートである。
【図10】 URLを含む文字列を送信する処理手順を示したフローチャートである。
【図11】 ケイパビリティを変換する処理手順を示したフローチャートである。
【図12】 ケイパビリティを無効化するための処理手順を示したフローチャートであり、より具体的には、図12(a)はそのまま無効化する場合を、図12(b)は破壊した上で無効化する場合を、夫々示している。
【図13】 ケイパビリティを委譲するための処理手順を示したフローチャートであり、より具体的には、図13(a)はクライアントの署名を行ってから委譲する場合を、図13(b)はそのまま委譲する場合を、夫々示している。
【図14】 ハイパーテキスト・システムに対して発生された各イベントに対する処理手順を示したフローチャートである。ここで言うイベントは、ホットスポット(リンク情報)上へのマウス・カーソルの突入、ホットスポット上でのマウス左ボタンのクリック(選択動作)、及び、ホットスポット上でのマウス右ボタンのクリック(プロパティの呼び出し動作)である。
【図15】 ホットスポットに該当するURLで指示された遠隔手続き/遠隔メソッド呼び出し手続きの処理手順を示したフローチャートである。
【符号の説明】
110…ハイパーテキスト出力部
120…ケイパビリティ保持部
130…ハイパーテキスト解析部
140…受信部
150…ユーザ入力部
160…ハイパーリンク処理部
170…メッセージ生成部
180…送信部
Claims (10)
- ハイパーテキストの記述内容に従って画面情報を表示装置に表示する手段と、
ハイパーテキストに含まれる他のオブジェクトとのリンク関係を記述したリファレンス中に秘密情報が含まれているかを判断する手段と、
秘密情報を含むと判断されたリファレンスの表示を抑制する手段と、
を備えることを特徴とする情報処理装置。 - ハイパーテキストに含まれる他のオブジェクトとのリンク関係を記述したリファレンス中に秘密情報が含まれているかを判断する手段と、
秘密情報を含むと判断されたリファレンスを暗号化して保存し若しくは転送する手段と、
を備えることを特徴とする情報処理装置。 - ハイパーテキストに含まれる他のオブジェクトとのリンク関係を記述したリファレンス中に秘密情報が含まれているかを判断する手段と、
秘密情報を含むと判断されたリファレンスを暗号化するために、秘密管理者が持つ公開鍵を記憶する手段と、
前記公開鍵を用いてリファレンスを暗号化する手段と、
を備えることを特徴とする情報処理装置。 - ハイパーテキストに含まれる他のオブジェクトとのリンク関係を記述したリファレンス中に該リファレンスが示すオブジェクトに対する権限情報が含まれているかを判断する手段と、
権限情報を含むと判断されたリファレンスを委譲するときに、委譲先に応じて権限情報を無効化又は変更するための加工を該リファレンスに施す手段と、
を備えることを特徴とする情報処理装置。 - ハイパーテキストを扱う情報処理装置における情報処理方法であって、
前記情報処理装置が備える判断手段が、ハイパーテキストに含まれる他のオブジェクトとのリンク関係を記述したリファレンス中にリファレンス中に秘密情報が含まれているかを判断するステップと、
前記情報処理装置が備える表示手段が、ハイパーテキストの記述内容に従って、画面情報を表示装置に表示するステップと、
前記情報処理装置が備える表示抑制手段が、秘密情報を含むと判断されたリファレンスの表示を抑制するステップと、
を含むことを特徴とする情報処理方法。 - ハイパーテキストを扱う情報処理装置における情報処理方法であって、
前記情報処理装置が備える保持手段が、暗号化するための暗号鍵を取得し又は保持するステップと、
前記情報処理装置が備える判断手段が、ハイパーテキストに含まれる他のオブジェクトとのリンク関係を記述したリファレンス中に秘密情報が含まれているかを判断するステップと、
前記情報処理装置が備える保存・転送手段が、秘密情報を含むと判断されたリファレンスを暗号化して保存し若しくは転送するステップと、
を含むことを特徴とする情報処理方法。 - ハイパーテキストを扱う情報処理装置における情報処理方法であって、
前記情報処理装置が備える判断手段が、ハイパーテキストに含まれる他のオブジェクト とのリンク関係を記述したリファレンス中に秘密情報が含まれているかを判断するステップと、
前記情報処理装置が備える記憶手段が、秘密情報を含むと判断されたリファレンスを暗号化するために、秘密管理者が持つ公開鍵を記憶するステップと、
前記情報処理装置が備える暗号化手段が、前記公開鍵を用いてリファレンスを暗号化するステップと、
を含むことを特徴とする情報処理方法。 - ハイパーテキストを扱う情報処理装置における情報処理方法であって、
前記情報処理装置が備える判断手段が、ハイパーテキストに含まれる他のオブジェクトとのリンク関係を記述したリファレンス中に該リファレンスが示すオブジェクトに対する権限情報が含まれているかを判断するステップと、
前記情報処理装置が備える加工手段が、権限情報を含むと判断されたリファレンスを委譲するときに、委譲先に応じて権限情報を無効化又は変更するための所定の加工を該リファレンスに施すステップと、
を含むことを特徴とする情報処理方法。 - リファレンス毎の権限情報を保持する手段と、
ハイパーテキスト中のリファレンスに従ってネットワークで接続された外部装置に対して遠隔手続きを要求する際に、該遠隔手続き要求からリファレンスを取り出す手段と、
該遠隔手続き要求から取り出ししたリファレンス毎の権限情報を特定して、該遠隔手続き要求先の外部装置がリファレンスの権限情報と一致するかどうかを判別する手段と、
遠隔手続き要求先の外部装置がリファレンスの権限情報と一致しないときに、権限情報を変換する手段と、
権限情報を付加した遠隔手続き要求を転送する手段と、
を具備することを特徴とする情報処理装置。 - 外部装置からハイパーテキストを受信する受信手段と、
前記外部装置が持つ公開鍵を取得して保持する記憶手段と、
前記受信手段で受信したハイパーテキスト中のリファレンスに権限情報が含まれているかを判断する手段と、
権限情報が含まれていると判断したリファレンスに含まれている権限情報で許可されている各オペレーションを表す文字列を連結して、前記記憶手段が記憶する公開鍵で暗号化し、リファレンス中の権限情報を該暗号化された文字列に置き換えて記憶する手段と、
を備えることを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22666698A JP3941253B2 (ja) | 1998-08-11 | 1998-08-11 | ハイパーテキスト・システム及びハイパーテキストを扱う方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22666698A JP3941253B2 (ja) | 1998-08-11 | 1998-08-11 | ハイパーテキスト・システム及びハイパーテキストを扱う方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000057036A JP2000057036A (ja) | 2000-02-25 |
JP3941253B2 true JP3941253B2 (ja) | 2007-07-04 |
Family
ID=16848765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22666698A Expired - Fee Related JP3941253B2 (ja) | 1998-08-11 | 1998-08-11 | ハイパーテキスト・システム及びハイパーテキストを扱う方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3941253B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003050842A (ja) * | 2001-08-06 | 2003-02-21 | Toshiba Corp | 電力系統の保護・制御装置および保護・制御システム |
GB2407895A (en) * | 2003-02-14 | 2005-05-11 | Fujitsu Ltd | Information providing method, information management device, and program |
JP2005165738A (ja) * | 2003-12-03 | 2005-06-23 | Fusionsys:Kk | 電子コンテンツ管理システム、電子コンテンツ管理方法、及びそのプログラム |
JP4732155B2 (ja) * | 2004-12-28 | 2011-07-27 | キヤノン株式会社 | 画像処理装置及び制御方法 |
CN100474302C (zh) * | 2004-12-28 | 2009-04-01 | 佳能株式会社 | 图像处理装置及控制方法 |
JP4885892B2 (ja) * | 2008-02-22 | 2012-02-29 | 株式会社ソニー・コンピュータエンタテインメント | 端末装置、情報提供システム、ファイルアクセス方法およびデータ構造 |
US8719582B2 (en) * | 2009-03-03 | 2014-05-06 | Microsoft Corporation | Access control using identifiers in links |
US10613713B2 (en) * | 2015-10-07 | 2020-04-07 | Google Llc | Integration of content in non-browser applications |
-
1998
- 1998-08-11 JP JP22666698A patent/JP3941253B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000057036A (ja) | 2000-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9860251B2 (en) | Dynamic encryption of a universal resource locator | |
US6633915B1 (en) | Personal information management apparatus and customizing apparatus | |
US7840487B2 (en) | Digital content encryption and decryption method and workflow system using digital content | |
KR101224745B1 (ko) | 전자 명함 교환 시스템 및 방법 | |
US8271424B2 (en) | Privacy and confidentiality preserving reporting of URLs | |
US20070143835A1 (en) | Security tokens including displayable claims | |
US6947557B1 (en) | Method and program product for maintaining security of publicly distributed information | |
JP4981461B2 (ja) | 情報秘匿化方法、および情報秘匿装置 | |
JP2001515669A (ja) | 分散コンピュータシステムにおける情報へのアクセス権を付与するシステムおよび方法 | |
WO2002084515A1 (en) | System and method for preventing unauthorized copying of electronic documents | |
JP2002278970A (ja) | 文書管理システム | |
JP5347429B2 (ja) | ユニフォームリソースロケータ書換方法及び装置 | |
US20030081788A1 (en) | Secure printing to a web-based imaging print service | |
JP3941253B2 (ja) | ハイパーテキスト・システム及びハイパーテキストを扱う方法 | |
JP4944411B2 (ja) | メニュー生成システム、メニュー生成方法およびメニュー生成プログラム | |
US20070005359A1 (en) | Method for transmitting transactional commands and data between computer networks | |
WO2001065387A1 (fr) | Procede destine a limiter l'exploration d'une page web et systeme de serveur | |
JP2005284353A (ja) | 個人情報利用システム、個人情報利用システムの制御方法、マップファイル生成装置、及びアクセス制御ポリシファイル生成装置 | |
JP2005301576A (ja) | データ通信システムの制御方法、データ通信システム、及び情報処理装置 | |
JPH10154182A (ja) | 問い合わせ回答方法及びシステム | |
JP2005339008A (ja) | アクセス制御方法およびプログラムと記録媒体 | |
EP4391446A1 (en) | Privacy shield | |
JP4265557B2 (ja) | 個人情報流通管理システム及び方法並びにプログラム | |
JP4430928B2 (ja) | リモートファイル表示方法、端末装置、情報共有システム、プログラムおよび記録媒体。 | |
Clissman et al. | The UNIverse Project: state‐of‐the‐art of the standards, softwares and systems which will underpin the development. Part 3: inter library loans protocols; multimedia document delivery; and authentication and directory services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070313 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070326 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |