JP4359974B2 - アクセス権限委譲方法 - Google Patents

アクセス権限委譲方法 Download PDF

Info

Publication number
JP4359974B2
JP4359974B2 JP27570299A JP27570299A JP4359974B2 JP 4359974 B2 JP4359974 B2 JP 4359974B2 JP 27570299 A JP27570299 A JP 27570299A JP 27570299 A JP27570299 A JP 27570299A JP 4359974 B2 JP4359974 B2 JP 4359974B2
Authority
JP
Japan
Prior art keywords
client
information
authority
authority information
access
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
Application number
JP27570299A
Other languages
English (en)
Other versions
JP2001101054A5 (ja
JP2001101054A (ja
Inventor
和典 堀切
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP27570299A priority Critical patent/JP4359974B2/ja
Priority to US09/655,803 priority patent/US7058971B1/en
Publication of JP2001101054A publication Critical patent/JP2001101054A/ja
Publication of JP2001101054A5 publication Critical patent/JP2001101054A5/ja
Priority to US11/407,985 priority patent/US7392535B2/en
Application granted granted Critical
Publication of JP4359974B2 publication Critical patent/JP4359974B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Description

【0001】
【発明の属する技術分野】
本発明は、サービス・オブジェクトが散在するオブジェクト空間上において、オブジェクトに関するアクセス権限を記述した「ケイパビリティ」をサブジェクト(ユーザ)間で安全に転送するアクセス権限委譲方法に関する。
【0002】
更に詳しくは、本発明は、複数のホストがネットワーク接続され且つネットワーク上にオブジェクトが散在する分散コンピューティング環境において、オブジェクトに関するアクセス権限を記述した「ケイパビリティ」をホスト(ユーザ)間で安全に転送するための、アクセス権限委譲方法に関する。
【0003】
【従来の技術】
昨今の情報技術(IT)分野における急速な進歩とともに、ワークステーションやパーソナル・コンピュータなどの各種の汎用コンピュータ・システムが開発・製造され、大学等の研究機関や企業のオフィス、一般家庭内に広く普及している。
【0004】
コンピュータ・システム上では、テキスト形式の文書ファイルや、音声ファイル、画像ファイルなど、デジタイズされた様々な資源オブジェクトを取り扱うことができる。
【0005】
最近では、多くのコンピュータ・システムは、LAN(Local AreaNetwork)やインターネットなどのネットワークに接続され、分散コンピューティング環境に置かれている。分散コンピューティング環境下では、各ユーザはプログラムやデータなど資源オブジェクトの所在を特に認識する必要がなくなる。さらに、コンピュータにおいて実行される手続きやメソッドも、ネットワーク上で分散して保持され、管理されている。
【0006】
例えば、ネットワーク上のある1つのコンピュータ上で動作しているプロセスが、他のコンピュータ上で動作するプロセスの手続きを呼び出して実行させるという、「遠隔手続き呼び出し(RPC:Remote Procedure Call)」、若しくは、「遠隔メソッド呼び出し(RMI:Remote Method Invocation)」と呼ばれる手法も広汎に採り入れられている。実行される手続きのインターフェースを予め記述し、呼び出し側及び実行側の双方のコンピュータに配置しておくことによって、このような遠隔手続き呼び出しを好適に実現することができる。
【0007】
その反面、ファイルなどの夫々の共有資源オブジェクト(Object)に対して、誰(Subject)にどの程度のアクセス操作(Verb)を許容するか、といった「アクセス権(Access Privileges)」に関する管理方法や管理システムが重要な技術的課題となってくる。アクセス権の制御は、S(Subject:主体)−V(Verb:アクセス操作)−O(Object:操作対象としてのファイルなど)の関係に見立てて記述し、管理することができる。Sすなわちサブジェクトとは、ファイル操作を望むユーザ、ユーザ・アカウント、又はユーザ識別情報とほぼ同義と把握されたい。
【0008】
ここで言うオブジェクト(O)に対するアクセス操作(V)の権限としては、例えば以下のようなものが挙げられる。
(1)ファイルを読み出す権利
(2)ファイルに書き込む(更新する)権利
(3)ファイルを新規作成する権利
(4)ファイルを削除する権利
(5)ファイルを検索する権利
(6)ファイル名などのファイル属性を変更する権利
【0009】
全てのユーザに対して無制限なアクセス権を許容してしまうと、ファイルが勝手に複製、改竄、又は削除されてしまうなど悪用や乱用が横行する危険が発生する。この結果、あるユーザは予期しない不利益を被り、時として致命傷を負う。アクセス権を適切に管理しなければ、分散コンピューティング環境の崩壊をも招来するであろう。
【0010】
オブジェクトに対するアクセス権の管理方法として、「アクセス制御マトリックス」なる概念が、当業界において古くから知られている。このアクセス制御マトリックスは、以下の[表1]に示すように、誰(Subject)に、ファイルなどの各オブジェクト(Object)に対してどの程度のアクセス権(Verb)を与えたかを一覧表示したテーブル形式で記述される。
【0011】
【表1】
Figure 0004359974
【0012】
[表1]に示す例では、例えば”Alex”なる主体すなわちユーザ・アカウントには、オブジェクトとしての”File#1”に対する読み出し(Read)及び書き込み(Write)というアクセス操作が許容されているが、”File#2”に対しては読み出しのみ許され…、”Bob”なる主体には…となっている。
【0013】
アクセス制御マトリックスを各カラム毎に切り出したものは、オブジェクトが各サブジェクトすなわちユーザに対して許容した操作権限を記述した情報であり、「アクセス制御リスト(Access Control List:ACL)」と呼ばれる。例えば、[表1]に示した例では、”File#1”に相当するカラムは、該オブジェクトに対してAlex,Bob,Codの各々に与えられた操作権限を示したアクセス制御リストである。サーバ用若しくは開発プラットフォーム用のオペレーティング・システム(OS)として広汎に普及している”Unix”は、簡略形式のアクセス制御リストを使用している。
【0014】
また、アクセス制御マトリックスを各行毎に切り出したものは、サブジェクトすなわちユーザが各々のオブジェクトに対して許容された操作権限を記述した情報であり、「権限情報」若しくは「ケイパビリティ(Capability)」と呼ばれる。例えば、「表1」に示すアクセス制御マトリックスの第1行はユーザ”Alex”に関するケイパビリティに相当し、また、第2行はユーザ”Bob”に関するケイパビリティに相当する。
【0015】
ケイパビリティは、オブジェクトへのアクセスを許容する一種の鍵の役割を持つ。すなわち、ケイパビリティを所有するサブジェクトすなわちユーザには、オブジェクトへのアクセスが許可される。例えば、無数のホストがTCP/IP(Transmission Control Protocol/Internet Protocol)接続されてなるネットワーク(例えばインターネット)上では、ケイパビリティをURL(Uniform Resource Locator)文字列の中で記述して、HTTP(Hyper Text Transfer Protocol)メッセージとしてホスト間で交換することもできる。
【0016】
例えば、AlexがCodにケイパビリティを渡すことによって、Codは、各オブジェクトに対してAlexと同等の操作権限を所有することができる。ケイパビリティを引き継いだCodは、Alexの不在中も、Alexの代理として各オブジェクトにアクセスして、Alexの任務を代行することができる。
【0017】
しかしながら、ケイパビリティを無制限に譲渡しあるいは貸し与えてしまうと、ケイパビリティの悪用・乱用により、思わぬ不利益を受ける可能性がある。このため、ケイパビリティの譲渡者は、ケイパビリティに有効期限や使用許可回数を付加したり、オブジェクトの操作権限を制限する(例えばフル・アクセスを読み出しのみに限定する)など、権限内容を弱めてケイパビリティを渡すことが好ましい。
【0018】
また、ケイパビリティを譲り受けたサブジェクトが、ケイパビリティの内容を簡単に解釈できるような形式で渡したのでは、譲受者はケイパビリティの内容を改竄して権限を勝手に強めたり、無断でケイパビリティを複製して、オブジェクトを無制限にアクセス操作してしまうであろう。また、ケイパビリティの転送を傍受する第三者も、同様に、オブジェクトを不正に操作できてしまう。
【0019】
以上を要言するならば、ネットワーク上の各ホスト間でケイパビリティを安全に転送することがオブジェクトを保護する上で重要な技術的課題となる訳である。
【0020】
オブジェクトのアクセス制御に関しては、既に幾つかの技術が提案されている。
【0021】
例えば特開平5−81204号公報には、分散型コンピュータ・システムにおけるアクセス制御について開示されている。同公報によれば、ケイパビリティに相当する特権属性証明書(PAC)の代理使用を制御すると同時に、PACを多くの目的のために使用できる方法が提供されている。すなわち、PACを配布する際には、これに開始者実体に相当する開始者資格付与属性を含めるようにするとともに、暗号的に開始者資格付与属性を有した暗号キーを開始者実体に配布するようになっている。
【0022】
しかしながら、特開平5−81204号公報に開示された方法によれば、使用期限やアクセス回数など、ケイパビリティのバリエーションには対応できない。また、開始実体者がケイパビリティを弱めたPACを自由に作成する方法については一切言及していない。
【0023】
また、特開平9−319659号公報には、非分散型のコンピュータ・システムにおいて、各ユーザに異なるケイパビリティを割り当てる方式について開示されている。同公報によれば、コンピュータ機能の全体はケイパビリティ・セットを有するイベント・セットに細分化されており、ユーザがコンピュータ・システム上で実行しようとする特定のジョブに応じてケイパビリティが与えられるようになっている。
【0024】
しかしながら、特開平9−319659号公報に係る発明は、ケイパビリティを安全に守ることができない分散環境に適用されたものではない。また、同公報は、オブジェクト間でケイパビリティの検査を安全に行う方法については一切言及していない。
【0025】
また、特開平9−251425号公報には、分散システムにおけるシステム資源へのアクセスのセキュリティ制御について開示している。同公報に開示されるセキュリティ制御システムによれば、グループ識別標識を記憶しておき、これをターゲット・オブジェクトに結び付け、次にメンバーシップ検査を使用して、ターゲット・オブジェクトへのアクセスを要求するクライアントがターゲットに対するアクセス権限を有するグループ・メンバーであるか否かを判断するようになっている。
【0026】
しかしながら、特開平9−251425号公報では、使用期限やアクセス回数など、ケイパビリティのバリエーションには対応する手法については開示していない。また、あるケイパビリティの保有者が新たにケイパビリティを生成したりこれを無効化する手法についても一切言及していない。
【0027】
また、分散OS(オペレーティング・システム)として当業界では周知の”Amoeba”は、譲渡可能で且つ偽造が困難なケイパビリティを提供している。これは以下の機構により実現される。
(1)クライアントがオブジェクト生成要求をサーバに送信する。
(2)サーバは、オブジェクトを生成して、オブジェクト番号と乱数を割り当てる。乱数は、オブジェクト番号でインデックス付けされたオブジェクト・テーブルに格納される。
(3)サーバは、乱数をキーとして権限と乱数を暗号化したチェック・フィールドを含むケイパビリティを生成する。
(4)ケイパビリティをクライアントに返す。
(5)クライアントが、サーバに対して、ケイパビリティを提示したアクセス要求を出す。
(6)サーバは、ケイパビリティからオブジェクト番号とチェック・フィールドを抽出し、オブジェクト・テーブルに格納されている乱数を基にチェック・フィールドから権限と乱数を復号化する。
(7)復号の結果得られた乱数がオブジェクト・テーブルに格納された乱数と一致するかどうか検証する。
(8)要求された操作がケイパビリティに記述された権限に合致すれば、サーバはその操作を実行する。
【0028】
Amoebaでは、さらに、ケイパビリティの保持者が権限を弱めた新しいケイパビリティを生成するために、以下の機構も備えている。
(1)クライアントとサーバがN個の可換な一方向性関数を共有する。
(2)クライアントが第2の権限を生成する。
(3) クライアントが第1の権限と第2の権限との差分の権限に該当する番号と対応付けた一方向性関数を全て適用して、第2のチェック・フィールドを生成する。
(4)サーバが、第2の権限と第2のチェック・フィールドを含むケイパビリティを受信する。
(5)サーバは、権限フィールドに従い、一方向性関数を順次適用して、クライアントが提示したチェック・フィールドと一致した場合に、その操作を実行する。
【0029】
しかしながら、Amoebaは、N個の可換な一方向性関数を用いてN個の権限の可否を記述する方法については規定しているが、使用権限や回数といった権限についての多くのバリエーションに対応する点については考慮していない。また、ケイパビリティの無効化に関しては、サーバで保持されている乱数を変更することによってあるオブジェクトについての全てのケイパビリティを無効化する手法が規定されているが、特定のケイパビリティを無効化する手法については言及していない。例えば、あるケイパビリティの保持者が生成したケイパビリティや、これから派生したケイパビリティのみを無効化する点は一切規定していない。また、Amoebaではオブジェクトにアクセスするためのオブジェクト番号自体については一切プロテクトがかけられていない。
【0030】
また、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(すなわちケイパビリティ)の取り扱いについて開示されている。同論文に記載された方式は以下の手順に従う。
(1)サーバがログイン名とパスワードの組からなるパスワード・リストを生成・保持する。また、サーバは暗号鍵を保持している。
(2)クライアントがログイン名とパスワードの組からなるメッセージをサーバに送信する。
(3)サーバは、パスワード・リストを検索し、クライアントから送信されたログイン名とパスワードの組が見つかれば、このログイン名とパスワードを暗号鍵で暗号化した文字列をアクセス・キーとして、URLに含めてクライアントに送信する。
(4)クライアントは、受け取ったURLを用いてサーバにアクセス要求する。
(5)サーバは、受信したURLからアクセス・キーを抽出し、暗号鍵を用いて復号化して、もとのログイン名とパスワードの組を得る。そして、これがパスワード・リストに登録されているかどうかを検査する。
(6)登録されていれば、サーバは対応するオブジェクトへのアクセスを許可する。
【0031】
また、同論文では、クライアントがパスワードの変更を行うことでURLを無効化することができる点を言及している。
【0032】
しかしながら、同論文では、ある1つのオブジェクトについての正当で且つ異なるURL(すなわちケイパビリティ)を複数生成する点については開示していない。
【0033】
以上を総括すると、従来技術では下記のような問題があった。すなわち、
(1)使用期限や有効使用回数などの権限内容に多種多様なバリエーションに対応しながらケイパビリティを安全に管理し委譲することが困難である。
(2)該当するオブジェクトに関する全てのケイパビリティを無効化するのではなく、一部のケイパビリティのみを無効化することは困難である。
(3)ケイパビリティを所有するサブジェクトが、ケイパビリティが持つ権限の内容を変更した(弱めた)ケイパビリティを自由に生成し、且つ、これを安全に管理し委譲し、あるいは無効化することができない。
【0034】
【発明が解決しようとする課題】
本発明の目的は、サービス・オブジェクトが散在するオブジェクト空間上において、オブジェクトに関するアクセス権限を記述した「ケイパビリティ」をサブジェクト(ユーザ)間で安全に転送することができる、優れたアクセス権限委譲方法を提供することにある。
【0035】
本発明の更なる目的は、複数のホストがネットワーク接続され且つネットワーク上にオブジェクトが散在する分散コンピューティング環境において、オブジェクトに関するアクセス権限を記述した「ケイパビリティ」を、ホスト(ユーザ)間で安全に転送することができる、優れたアクセス権限委譲方法を提供することにある。
【0036】
本発明の更なる目的は、ケイパビリティを保有するサブジェクトが権限内容を変更したケイパビリティを自由に生成し、且つ、他のサブジェクトに安全に委譲することができる、優れたアクセス権限委譲方法を提供することにある。
【0037】
本発明の更なる目的は、ケイパビリティを保有するサブジェクトが権限内容を変更したケイパビリティを自由に生成し、且つ、生成されたケイパビリティをオブジェクトの管理者が安全に検査することができる、優れたアクセス権限委譲方法を提供することにある。
【0038】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるコンピューティング環境下で、各クライアント間及びクライアント−サーバ間でアクセス権限を安全に委譲するためのアクセス権限委譲方法であって、
(a)各クライアントがユーザ情報と秘密情報を保持するステップと、
(b)サーバが各クライアントのユーザ情報と秘密情報を保持するステップと、
(c)クライアントが権限情報を生成するステップと、
(d)クライアントが、少なくとも権限情報と秘密情報とからなる情報に対して所定の演算操作を適用して保護化権限情報を生成するステップと、
(e)クライアントが、ユーザ情報と権限情報と保護化権限情報を他のクライアントに送信するステップと、
(f)他のクライアントが、ユーザ情報と権限情報と保護化権限情報をサーバに送信して、オブジェクトへのアクセスを要求するステップと、
(g)サーバが、ステップ(f)において受信した権限情報が有効か否かを検査するステップと、
(h)サーバが、少なくとも権限情報と秘密情報とからなる情報に対して所定の演算操作を適用して保護化権限情報を生成するステップと、
(i)サーバが、ステップ(f)において受信した保護化権限情報とステップ(h)において生成した保護化権限情報とを比較するステップと、
(j)ステップ(i)における比較の結果、両者が一致することに応答してオブジェクトに対するアクセスが許容されるステップと、
を具備することを特徴とするアクセス権限委譲方法である。
【0039】
また、本発明の第2の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるオブジェクト空間上で、各クライアント間及びクライアント−サーバ間でアクセス権限を安全に委譲するためのアクセス権限委譲方法であって、
(A)各クライアントがユーザ情報と秘密情報を保持するステップと、
(B)サーバが各クライアントのユーザ情報と秘密情報を保持するステップと、
(C)クライアントが権限情報を生成するステップと、
(D)クライアントが、少なくとも権限情報と秘密情報とからなる情報に対して所定の演算操作を適用して第1の保護化権限情報を生成するステップと、
(E)クライアントが、ユーザ情報と権限情報と第1の保護化権限情報を他のクライアントに送信するステップと、
(F)他のクライアントが、サーバからチャレンジ文字列を受信するステップと、
(G)他のクライアントが、少なくともチャレンジ文字列と第1の保護化権限情報とからなる情報に対して所定の演算操作を適用して第2の保護化権限情報を生成するステップと、
(H)他のクライアントが、ユーザ情報と権限情報と第2の保護化権限情報をサーバに送信して、オブジェクトへのアクセスを要求するステップと、
(I)サーバが、ステップ(H)において受信した権限情報が有効か否かを検査するステップと、
(J)サーバが、少なくとも権限情報と秘密情報とからなる情報に対して所定の演算操作を適用して第1の保護化権限情報を生成するステップと、
(K)サーバが、少なくともチャレンジ文字列とステップ(J)において生成した第1の保護化権限情報とからなる情報に対して所定の演算操作を適用して第2の保護化権限情報を生成するステップと、
(L)サーバが、ステップ(H)において受信した第2の保護化権限情報とステップ(K)において生成した第2の保護化権限情報とを比較するステップと、
(M)ステップ(N)における比較の結果、両者が一致することに応答してオブジェクトに対するアクセスが許容されるステップと、
を具備することを特徴とするアクセス権限委譲方法である。
【0040】
また、本発明の第3の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるオブジェクト空間上で、各クライアント間及びクライアント−サーバ間でアクセス権限を安全に委譲するためのアクセス権限委譲方法であって、
(a)各クライアントがユーザ情報と秘密情報を保持するステップと、
(b)サーバが各クライアントのユーザ情報と秘密情報を保持するステップと、
(c)クライアントが権限情報を生成するステップと、
(d)クライアントが、秘密情報を用いて権限情報を暗号化して保護化権限情報を生成するステップと、
(e)クライアントが、ユーザ情報と保護化権限情報を他のクライアントに送信するステップと、
(f)他のクライアントが、ユーザ情報と保護化権限情報をサーバに送信して、オブジェクトへのアクセスを要求するステップと、
(g)サーバが、ユーザ情報に対応する秘密情報を用いて保護化権限情報を復号化して、権限情報を生成するステップと、
(h)サーバが、ステップ(g)において生成した権限情報が有効か否かを検査するステップと、
(i)ステップ(h)における有効性の検査結果に従って、オブジェクトに対するアクセスが許容されるステップと、
を具備することを特徴とするアクセス権限委譲方法である。
【0041】
また、本発明の第4の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるオブジェクト空間上で、各クライアント間及びクライアント−サーバ間でアクセス権限を安全に委譲するためのアクセス権限委譲方法であって、
(A)各クライアントがユーザ情報と秘密情報を保持するステップと、
(B)サーバが各クライアントのユーザ情報と秘密情報を保持するステップと、
(C)クライアントが権限情報を生成するステップと、
(D)クライアントが、秘密情報を用いて権限情報を暗号化して第1の保護化権限情報を生成するステップと、
(E)クライアントが、ユーザ情報と権限情報と第1の保護化権限情報を他のクライアントに送信するステップと、
(F)他のクライアントが、サーバからチャレンジ文字列を受信するステップと、
(G)他のクライアントが、第1の保護化権限情報を用いてチャレンジ文字列を暗号化して第2の保護化権限情報を生成するステップと、
(H)他のクライアントが、ユーザ情報と権限情報と第2の保護化権限情報をサーバに送信して、オブジェクトへのアクセスを要求するステップと、
(I)サーバが、ステップ(H)において受信した権限情報が有効か否かを検査するステップと、
(J)サーバが、秘密情報を用いて権限情報を暗号化して第1の保護化権限情報を生成するステップと、
(K)サーバが、ステップ(J)において生成した第1の保護化権限情報を用いてチャレンジ文字列を暗号化して第2の保護化権限情報を生成するステップと、
(L)サーバが、ステップ(H)において受信した第2の保護化権限情報とステップ(K)において生成した第2の保護化権限情報とを比較するステップと、
(M)ステップ(N)における比較の結果、両者が一致することに応答してオブジェクトに対するアクセスが許容されるステップと、
を具備することを特徴とするアクセス権限委譲方法である。
【0042】
また、本発明の第5の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続されたオブジェクト空間上で、各クライアント間及び/又はクライアント−サーバ間で秘密情報を安全に管理するための情報管理方法であって、
第1のクライアントが第2のクライアントに秘密情報を送信するステップと、
第1のクライアントが第2のクライアントに暗号化鍵を送信するステップと、
第2のクライアントが、前記暗号化鍵を用いて前記秘密情報を暗号化した後に、2次記憶装置に格納するステップと、
を具備することを特徴とする情報管理方法である。
【0043】
また、本発明の第6の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続されたオブジェクト空間上で、各クライアント間及び/又はクライアント−サーバ間で秘密情報を安全に管理するための情報管理方法であって、
第1のクライアントが、暗号化鍵を用いて秘密情報を暗号化して、保護化秘密情報を生成するステップと、
第1のクライアントが第2のクライアントに前記保護化秘密情報を送信するステップと、
第2のクライアントが前記保護化秘密情報を2次記憶装置に格納するステップと、
第1のクライアントが、前記暗号化鍵で暗号化された情報を復号化するための復号化鍵を、第2のクライアントに送信するステップと、
第2のクライアントが、復号化鍵を用いて保護化秘密情報を復号化して、秘密情報を得るステップと、
を具備することを特徴とする情報管理方法である。
【0044】
本発明の第6の側面に係る情報管理方法において、前記暗号化鍵と前記復号化鍵は、同一鍵すなわち「対称鍵暗号方式」の鍵であっても、あるいは、暗号化鍵(秘密鍵)で暗号化した情報は復号化鍵(公開鍵)でしか復号化できないような「公開鍵暗号方式」における鍵の組み合わせであってもよい。
【0045】
また、本発明の第7の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続されたオブジェクト空間上で、各クライアント間及び/又はクライアント−サーバ間で秘密情報を安全に管理するための情報管理方法であって、
第1のクライアントが第2のクライアントに秘密情報を送信するステップと、
第2のクライアントが、情報を暗号化するための暗号化鍵と、暗号化鍵で暗号化された暗号化情報を復号化するための復号化鍵とを保持するステップと、
第2のクライアントが復号化鍵を第1のクライアントに送信するステップと、
第2のクライアントが、前記秘密情報を前記暗号化鍵で暗号化した保護化秘密情報を2次記憶装置に格納するステップと、
第2のクライアントが、前記復号化鍵を用いて保護化秘密情報を復号化して前記秘密情報を得るステップと、
を具備することを特徴とする情報管理方法である。
【0046】
また、本発明の第8の側面は、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続されたオブジェクト空間上で、各クライアント間及び/又はクライアント−サーバ間で秘密情報を安全に管理するための情報管理方法であって、
第1のクライアントが第2のクライアントに第1の秘密情報を送信するステップと、
第2のクライアントが第1のクライアントにチャレンジ文字列を送信するステップと、
第1のクライアントが前記チャレンジ文字列と第2の秘密情報に対して所定の演算処理を適用して暗号鍵を生成するステップと、
第1のクライアントが第2のクライアントに前記暗号鍵を送信するステップと、
第2のクライアントが、前記暗号鍵を用いて前記秘密情報を暗号化して得た保護化秘密情報を2次記憶装置に格納するステップと、
を具備することを特徴とする情報管理方法である。
【0047】
【作用】
本発明は、例えばLAN(Local Area Network)やインターネットのような分散コンピューティング環境において適用される。かかる分散コンピューティング環境下では、オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、いわゆる「オブジェクト空間」が形成されている。オブジェクト空間の一例は、各ホストがTCP/IP(Transmission Control Protocol/Internet Protocol)接続された分散コンピューティング環境下で展開される、HTML(Hyper Text Markup Language)形式で記述されたHTTP(Hyper Text Transfer Protocol)オブジェクトが提供されるWWW(World Wide Web)情報空間である。
【0048】
オブジェクト空間上では、各クライアントのオブジェクトに対するアクセス権限は「権限情報」若しくは「ケイパビリティ(capability)」という形式で記述される。したがって、クライアントは、基本的には、自身のユーザ情報と自身に付与された権限情報を、オブジェクトを管理し提供するサーバに提示することによって、オブジェクトへのアクセスが許容される。
【0049】
さらに、クライアントから権限情報を引き継いだ他のクライアントも、元のクライアントのユーザ情報と権限情報とを提示することによって、オブジェクトへのアクセスが許容される。しかしながら、無制限に権限情報を譲渡してしまうと、譲受者による権限情報の乱用や不充分な安全管理のために、譲渡者であるクライアントは、権限情報の悪用や乱用、あるいは権限情報の無断の複製や改竄によって、不測の不利益を被りかねない。
【0050】
そこで、権限情報の譲渡者は、オブジェクトに対する無制限のアクセスを排除するために、権限内容を弱めた権限情報(例えば、有効期限や使用許可回数などを付加したり、オブジェクトの操作権限を制限した権限情報)を委譲することが好ましい。また、委譲した後に、権限情報が勝手に改竄されないように(例えば、勝手に有効期限を書き換えたり、操作権限を強化したりされないように)、権限情報を安全に送信できるように対策を講じる必要がある。
【0051】
本発明は、各クライアントとサーバ間で、クライアントのユーザ情報と秘密情報が共有されていることを前提とする。秘密情報は、パスワード等を指し、例えば所定の情報に暗号化関数を適用する際の秘密鍵として利用することができる。
【0052】
本発明の第1の側面によれば、権限情報を委譲するクライアントは、自身が持つ権限内容を弱めた権限情報を生成し、生成した権限情報と秘密情報とを連結したビット列に対して所定の演算操作を適用することで、改竄などの悪用の危険を排した保護化権限情報を生成することができる。
【0053】
ここで言う所定の演算操作の一例は「一方向性関数」である。一方向性関数は、逆関数を求めることが極めて困難な関数であり、該関数を適用する前の引数の値を推測することを不可能にする作用がある。したがって、秘密情報を知らない第3者が保護化権限情報を勝手に改竄することはできない。
【0054】
クライアントは、アクセス権限を委譲したい他のクライアントに対して、自身のユーザ情報と、新たに生成した権限情報と、保護化権限情報とを送信する。そして、他のクライアントは、譲受したユーザ情報、権限情報、及び保護化権限情報を添付して、サーバに対してオブジェクトに対するアクセス要求を行うことができる。
【0055】
一方のサーバは、まず、権限情報が有効か否か、すなわち、オブジェクトに対してクライアントが要求する操作が権限情報で許容された範囲内か否かを検査する。検査結果が否定的であれば、該アクセス要求は不正なアクセスとして拒絶される。
【0056】
次いで、サーバは、アクセス要求メッセージで受け取ったユーザ情報と秘密情報とを連結したビット列に対して、所定の演算操作、例えば一方向性関数を適用して、保護化権限情報を再現してみる。そして、この再現された保護化権限情報を、アクセス要求メッセージで受け取った保護化権限情報と比較照合することで、アクセス要求クライアントが正当な権限を有するか否かを安全に判断することができる。両者が一致すればアクセス要求は受理され、両者が一致しなければアクセス要求は不正アクセスとして拒絶される。すなわち、サーバは、委譲されたアクセス権限を安全に検査することができる訳である。
【0057】
また、本発明の第2の側面に係るアクセス権限委譲方法では、認証処理のために、「チャレンジ文字列」と呼ぶ1回限り使用する数字を基に暗号化してやり取りする「チャレンジ・レスポンス認証」を採用する。
【0058】
まず、権限情報を委譲するクライアントは、自身が持つ権限内容を弱めた権限情報を生成する。そして、生成した権限情報と秘密情報とを連結したビット列に対して一方向性関数などの演算操作を適用することで、悪用の危険を排した第1の保護化権限情報を生成する。秘密情報を知らない第3者は、第1の保護化権限情報を勝手に改竄することはできない。
【0059】
クライアントは、アクセス権限を委譲したい他のクライアントに対して、自身のユーザ情報と、新たに生成した権限情報と、第1の保護化権限情報を送信する。
【0060】
サーバは、クライアントからのアクセス要求に対して、チャレンジ文字列を返信する。これに対し、クライアントは、チャレンジ文字列と第1の保護化権限情報を連結したビット列に対して一方向性関数などの所定の演算操作を適用して、悪用の危険を排した第2の保護化権限情報を生成する。チャレンジ文字列を知らない第3者は、第2の保護化権限情報を勝手に改竄することはできない。
【0061】
次いで、クライアントは、譲受したユーザ情報、権限情報、及び第2の保護化権限情報を添付して、サーバに対してオブジェクトに対するアクセス要求を改めて行う。
【0062】
サーバは、アクセス要求に応答して、権限情報が有効か否か、すなわち、オブジェクトに対してクライアントが要求する操作が権限情報で許容された範囲内か否かを検査する。検査結果が否定的であれば、該アクセス要求は不正なアクセスとして拒絶される。
【0063】
次いで、サーバは、アクセス要求メッセージで受け取ったユーザ情報と秘密情報とを連結したビット列に対して一方向性関数などの所定の演算操作を適用して、第1の保護化権限情報を再現してみる。さらに、チャレンジ文字列と第1の保護化権限情報を連結したビット列に対して一方向性関数などの所定の演算操作を適用して、第2の保護化権限情報を再現してみる。そして、この再現された第2の保護化権限情報を、アクセス要求メッセージで受け取った第2の保護化権限情報と比較照合することで、アクセス要求クライアントが正当な権限を有するか否かを安全に判断することができる。両者が一致すればアクセス要求は受理され、両者が一致しなければアクセス要求は不正アクセスとして拒絶される。すなわち、サーバは、委譲されたアクセス権限を安全に検査することができる訳である。
【0064】
また、本発明の第3の側面に係るアクセス権限委譲方法は、委譲する権限情報を保護化する所定の演算操作として、一方向性関数ではなく暗号化関数を用いたものである。クライアントとサーバの間で共有される秘密情報を暗号化関数の暗号鍵として用いることができる。暗号化方式としては、対称秘密鍵方式又は公開鍵暗号方式/*/の双方を適用することができる。
【0065】
まず、権限情報を委譲するクライアントは、自身が持つ権限内容を弱めた権限情報を生成し、次いで、秘密情報を用いて権限情報を暗号化して、悪用の危険を排した保護化権限情報を生成する。したがって、秘密情報を知らない第3者は、保護化権限情報を勝手に改竄することはできない。
【0066】
クライアントは、アクセス権限を委譲したい他のクライアントに対して、自身のユーザ情報と保護化権限情報を送信する。そして、他のクライアントは、譲受したユーザ情報と保護化権限情報を添付して、サーバに対してオブジェクトに対するアクセス要求を行う。
【0067】
一方のサーバは、まず、ユーザ情報に対応する秘密情報を用いて保護化権限情報を復号化して、権限情報を生成する。
【0068】
次いで、サーバは、権限情報が有効か否か、すなわち、オブジェクトに対してクライアントが要求する操作が権限情報で許容された範囲内か否かを検査する。検査結果が否定的であれば、該アクセス要求は不正なアクセスとして拒絶される。すなわち、サーバは、委譲されたアクセス権限を安全に検査することができる訳である。
【0069】
また、本発明の第4の側面に係るアクセス権限委譲方法は、第3の側面に対していわゆる「チャレンジ文字列」と呼ぶ1回限り使用する数字を基に暗号化してやり取りする「チャレンジ・レスポンス認証」を適用したものである。「チャレンジ・レスポンス認証」は「ゼロ知識証明」の一種である(前述)。
【0070】
まず、権限情報を委譲するクライアントは、自身が持つ権限内容を弱めた権限情報を生成する。そして、秘密情報を用いて権限情報を暗号化して、悪用の危険を排した第1の保護化権限情報を生成する。秘密情報を知らない第3者は、第1の保護化権限情報を勝手に改竄することはできない。
【0071】
クライアントは、アクセス権限を委譲したい他のクライアントに対して、自身のユーザ情報と、新たに生成した権限情報と、第1の保護化権限情報を送信する。
【0072】
サーバは、クライアントからのアクセス要求に対して、チャレンジ文字列を返信する。これに対し、クライアントは、第1の保護化権限情報を用いてチャレンジ文字列を暗号化して、悪用の危険を排した第2の保護化権限情報を生成する。チャレンジ文字列を知らない第3者は、第2の保護化権限情報を勝手に改竄することはできない。
【0073】
次いで、クライアントは、譲受したユーザ情報、権限情報、及び第2の保護化権限情報を添付して、サーバに対してオブジェクトに対するアクセス要求を改めて行う。
【0074】
サーバは、アクセス要求に応答して、権限情報が有効か否か、すなわち、オブジェクトに対してクライアントが要求する操作が権限情報で許容された範囲内か否かを検査する。検査結果が否定的であれば、該アクセス要求は不正なアクセスとして拒絶される。
【0075】
次いで、サーバは、秘密情報を用いて権限情報を暗号化して、第1の保護化権限情報を再現してみる。さらに、再現された第1の保護化権限情報を用いてチャレンジ文字列を暗号化して、第2の保護化権限情報を再現してみる。そして、この再現された第2の保護化権限情報を、アクセス要求メッセージで受け取った第2の保護化権限情報と比較照合することで、アクセス要求クライアントが正当な権限を有するか否かを安全に判断することができる。両者が一致すればアクセス要求は受理され、両者が一致しなければアクセス要求は不正アクセスとして拒絶される。すなわち、サーバは、委譲されたアクセス権限を安全に検査することができる訳である。
【0076】
上述したように、本発明の第1乃至第4の側面に係るアクセス権限委譲方法によれば、クライアントは、悪用の危険を排した保護化権限情報を送信することで他のクライアントに対してアクセス権限を安全に委譲することができる。しかしながら、アクセス権限を譲受した他のクライアントが、保護化権限情報をハード・ディスクのような2次記憶装置に無防備に格納してしまうと、第三者がハード・ディスクを攻撃したり不正侵入したりして、保護化権限情報自体が漏洩してしまう危険がある。漏洩した結果、第三者による保護化権限情報を用いた不正アクセスを回避することは困難となってしまう。
【0077】
本発明の第5乃至第8の側面に係る情報管理方法は、このような技術的課題を鑑みたものであり、保護化権限情報のような秘密性の高い情報を2次記憶装置に安全に格納する方法を提供するものである。
【0078】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0079】
《注釈》
*:対称秘密鍵方式とは、通信の相手どうしで同一の秘密鍵を共有する方式であり、暗号化するために用いた秘密鍵と同じ鍵を用いて暗号化情報を復号化することができる。これに対し、公開鍵暗号方式とは、一方の鍵で暗号化した暗号化情報は他方の鍵でしか復号化できないという性質を持つ2個の鍵の組み合わせて暗号化する方式であり、一方の鍵をユーザ個人が秘密裏に保持する「秘密鍵」として保持し、他方の鍵を第3者に公開する「公開鍵」として用いるのが一般的である。例えば公開鍵を用いて暗号化することによって秘密鍵の所有者に秘密文書を安全に送信することができる。また、秘密鍵を用いて暗号化した署名を送信することにより、受信者は公開鍵を用いて署名を認証することができる。
【0080】
【発明の実施の形態】
本発明は、例えばLAN(Local Area Network)やインタネットのような分散コンピューティング環境において適用される。ネットワーク上の各コンピュータ・システムすなわち「ホスト」は、TCP/IP(Transmission Control Protocol/Internet Protocol)のような所定の通信プロトコルに従って相互接続されている。
【0081】
かかる分散コンピューティング環境下では、オブジェクトを提供する1以上のサービス・オブジェクトと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、いわゆる「オブジェクト空間」が形成されている。例えば、インターネット上で公開されている広域情報提供システムWWW(World Wide Web)では、HTML(Hyper Text MarkupLanguage)形式で記述されたハイパーテキスト・オブジェクトが、HTTP(Hyper Text Transfer Protocol)プロトコルに従って提供される。
【0082】
各オブジェクトは、URL(Uniform Resource Locator)と呼ばれる所定書式の文字列によってオブジェクト空間上で一意に指定される。URLとは、ネットワークなどの資源空間上で資源の名称やその在り処を特定するための文字列であり、スキーム名(プロトコル名)://ホスト名(ドメイン名):ポート番号/パス名(ファイル名)」という形式で記述される(周知)。クライアントは、所望のHTTPオブジェクトに関するURLを含んだHTTPメッセージを送信することによって、HTTPサーバに対してオブジェクトへのアクセス(すなわちオブジェクトに対する操作)を要求することができる。
【0083】
このようなオブジェクト空間上では、各クライアントのHTTPオブジェクトに対するアクセス権限は「権限情報」若しくは「ケイパビリティ(capability)」という形式で記述される。各クライアントは、基本的には、自身のユーザ情報と自身に付与された権限情報をサーバすなわちサービス・オブジェクトに提示することによって、オブジェクトへのアクセスが許容される。HTTPプロトコルでは、ケイパビリティをURL文字列の中で記述して、HTTPメッセージとしてホスト間で交換することも許容される。
【0084】
また、クライアントは、権限情報を含んだURLを他のクライアントに引き渡すという形式で、オブジェクトに対するアクセス権限を委譲することができる。但し、既に[従来の技術]の欄でも説明したように、無制限に権限情報を譲渡してしまうと、譲渡者であるクライアントは、権限情報の悪用や乱用、権限情報の無断の複製や改竄によって、不測の不利益を被りかねない。
【0085】
以下で説明するように、本発明の各実施形態では、権限情報の譲渡者は、オブジェクトに対する不正なアクセスを排除するために、権限内容を弱めた権限情報(例えば、有効期限や使用許可回数などを付加したり、オブジェクトの操作権限を弱めた権限情報)を委譲することにした。また、委譲した後に、権限情報が勝手に改竄されないように(例えば、勝手に有効期限を書き換えたり、操作権限を強化したりされないように)、権限情報を安全に送信できるように対策を講じた。
【0086】
1.第1の実施形態
図1には、本発明の第1の実施形態に係る分散コンピューティング環境を模式的に示している。第1の実施形態は、権限情報に一方向性関数MDを適用することによってアクセス権限の安全な委譲を実現するものである。以下、各部について説明する。
【0087】
インターネットのようなネットワーク10上には、無数のホストがTCP/IP接続されている。ホストの一部は、HTTPオブジェクトを提供するHTTPサーバ300…であり、また、他の一部は、サーバに対してオブジェクトへのアクセスを要求するクライアント100,200…である。なお、サーバの実体は、HTTPサーバ・アプリケーションを稼動する汎用コンピュータであり、また、クライアントは、WWWブラウザなどのクライアント・アプリケーションを稼動する汎用コンピュータである。
【0088】
図1に示す例では、HTTPサーバ300は、”http://www300”なるURLで表されるものとする。また、HTTPサーバ300は、アクセス制御オブジェクト301と、参照番号391〜39Nで示されるN個のHTTPオブジェクトを所有している。各HTTPオブジェクト391〜39Nはそれぞれ” http://www300/object391”,…,” http://www300/object39N”なるURLで示されるものとする。また、アクセス制御オブジェクト301は、各HTTPオブジェクト391〜39Nに対するアクセス要求を制御するためのオブジェクトである。但し、アクセス制御オブジェクト301は、HTTPオブジェクト391〜39Nと同じサーバ300上に存在する必要は必ずしもなく、例えば別のホスト(図示しない)上に存在してHTTPサーバ300から遠隔的に呼び出されて所定のアクセス制御処理を起動するようにしてもよい。
【0089】
各クライアント100…は、ユーザを識別可能なユーザ情報と、秘密情報としてのパスワードを保持している。図1に示す例では、クライアント100は、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。
【0090】
HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…に関するユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」(仮称)として保管している。
【0091】
本実施形態では、HTTP1.1のBasic Authentication Scheme(基本認証法)に従ってHTTPメッセージが交換されるものとする。すなわち、クライアント100は、以下に示すようなHTTPリクエストを発行することにより、HTTPオブジェクト391のGETメソッドを起動することができる。
【0092】
【数1】
GET /object391 HTTP/1.1
Authorization: Basic authdata
【0093】
但し、”authdata”は、ユーザ情報とパスワードを連結したビット列userid1:password1を、改行のないbase64エンコード法でエンコードした文字列である。なお、ここで言う”base64”とは、MIME(Multipurpose Internet Mail Extensions)を利用した電子メールの添付ファイルの符号化方式であり、文字列や添付ファイルを全て64個のアルファベットや数字などのASCII(American Standard Code for Information Interchange)コードに変換する。
【0094】
次いで、クライアント100がクライアント200に権限情報を委譲する場合を例にとって、本実施形態に係るアクセス権限委譲方法について説明する。
【0095】
権限情報は、以下の各事柄を含む文字列で構成される(但し、例示に過ぎず、使用許可回数など他の事柄を権限情報に含んでいてもよい)。
【0096】
● オブジェクト名の列
● メソッド名の列
● 有効期間開始日時
● 有効期間終了日時
【0097】
ここで、クライアント100が、クライアント200にアクセス権限を委譲するために、以下の権限情報文字列capability1を生成したとする。
【0098】
【数2】
Figure 0004359974
【0099】
上記の権限情報文字列は、”/object391”で表されるHTTPオブジェクト391に対して、GETメソッドのみを、世界時で1999年の4月24日10時0分48秒から1999年の4月25日10時0分48秒の間だけ実行することのできる権利を表している。
【0100】
本実施例では、クライアント200は、HTTPサーバ300のみを対象とするため、オブジェクト名としてサーバ内での名前のみを取り扱う。但し、一般には、オブジェクト名としてURL等のグローバルな識別子を用いることにより、複数のHTTPサーバのオブジェクトを識別するようにしてもよい。
【0101】
次いで、クライアント100は、この権限情報capability1に対して秘密情報としてのpassword1を文字列後方からビット連結して、一方向性関数MD(Message Digest)を適用して、以下に示す保護化権限情報capabilityMD1を生成する。
【0102】
【数3】
Figure 0004359974
【0103】
一方向性関数MDは、逆関数を求めることが極めて困難な関数であり、該関数MDを適用する前の引数の値を推測することを不可能にする作用がある。したがって、秘密情報password1を知らない第3者が保護化権限情報capabilityMD1を勝手に改竄することはできない。
【0104】
次いで、クライアント100は、少なくとも、
● userid1(ユーザ情報)
● capability1(権限情報)
● capabilityMD1(保護化権限情報)
からなる情報を、他のクライアント200に対して送信する。
【0105】
既に述べたように、秘密情報password1を知らない第3者(クライアント200を含む)は、保護化権限情報capabilityMD1を改竄することができない。したがって、クライアント100は、他のクライアント200に対して、HTTPオブジェクト391に対するアクセス権限を安全に委譲することができる訳である。
【0106】
他方、上記の情報を受信したクライアント200は、クライアント100の代理として、HTTPオブジェクト391にアクセスするサービスを提供する。
【0107】
クライアント200は、HTTPオブジェクト391にアクセスするためには、少なくとも以下の情報を含む要求メッセージをHTTPサーバ300に送信する。
【0108】
● オブジェクト名
● メソッド名
● ユーザ名
● 権限情報
● 権限情報のメッセージ・ダイジェスト
【0109】
本実施例では、以下に示すような要求メッセージを送信する。
【0110】
【数4】
GET /object391 HTTP/1.1
Authorization: Capability cap1
【0111】
ここで、文字列cap1は、ユーザ名と権限情報と権限情報のメッセージ・ダイジェストを”:”を用いて連結して、改行のないbase64エンコード法(前述)でエンコードした文字列であるとする。
【0112】
HTTPサーバ300のアクセス制御オブジェクト301は、上記の要求メッセージ中のAuthorizationフィールドから、以下の情報を取り出す。
● ユーザ情報
● 権限情報
● 権限情報のメッセージ・ダイジェスト
【0113】
さらに、アクセス制御オブジェクト301は、取り出したこれらの情報を基に、以下に示すアルゴリズム1(図2を参照のこと)を実行することによって、クライアント200がHTTPオブジェクト391に対するアクセス権限を正当に委譲された者か否かを判断することができる。
【0114】
アルゴリズム1:
(ステップ1)Authorizationフィールドから抽出したユーザ名をuseridとする。
【0115】
(ステップ2)Authorizationフィールドから抽出した権限情報をcapabilityとする。
【0116】
(ステップ3)Authorizationフィールドから抽出した権限情報のメッセージ・ダイジェストをcapabilityMDとする。
【0117】
(ステップ4)useridに相当するパスワードをパスワード管理表から取得する。該管理表から取得されたパスワードをpasswordとする。他方、対応するパスワードが登録されていない場合は、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。
【0118】
(ステップ5)権限情報capabilityと秘密情報passwordとをビット連結して、一方向性関数MDを適用し、その結果をdigestとする。
【0119】
(ステップ6)digestを、要求メッセージに含まれるcapcabilityMDと比較する。両者が等しくない場合には、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。両者が一致する場合には次ステップへ進む。
【0120】
(ステップ7)Autorizationフィールドから取り出されたcapabilityを基に、クライアント200が要求するメソッド(すなわちオブジェクトに対する処理内容)、対象オブジェクト、有効期限などの、権限の有効性をチェックする。要求がcapabilityで許可されないものであれば、不正アクセスであるとして本アルゴリズムを終了する。許可されている範囲内であれば、正当なアクセスであるとして本アルゴリズムを終了する。
【0121】
アルゴリズム1を実行した結果、正当アクセスであることが判明した場合には、アクセス制御オブジェクト301は、HTTPオブジェクト391に対してGETメソッドを起動するメッセージを送信する。
【0122】
図3には、本実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解している。以下、同図を参照しながら説明する。
【0123】
トランザクションの前提として、クライアント100は、HTTPサーバ300に対するアクセスのアカウント(利用者資格)として、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。また、HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…についてのユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」として保管している。
【0124】
クライアント100は、HTTPオブジェクト391へのアクセスに関し、クライアント200に与えてもよい権限情報capability1を作成する(Tr1)。
【0125】
次いで、クライアント100は、権限情報capability1の後ろに自己の秘密情報password1をビット連結したビット列に一方向性関数MDを適用して、保護化権限情報capabilityMD1を作成する(Tr2)。
【0126】
次いで、クライアント100は、ユーザ情報userid1と権限情報capability1、及び保護化権限情報capabilityMD1をクライアント200に送信することで、アクセス権限を安全に委譲する(Tr3)。
【0127】
アクセス権限を委譲されたクライアント200は、HTTPサーバ300に対してHTTPオブジェクト391へのアクセス要求を送信する(Tr4)。このアクセス要求には、クライアント100のユーザ名userid1、権限情報capability1、及び保護化権限情報capabilityMD1を添付する。
【0128】
HTTPサーバ300のアクセス制御オブジェクト301は、クライアント200のアクセス要求の正当性を検証する(Tr5)。該検証は、上述のアルゴリズム1(図2を参照のこと)が規定する処理手順に従う。
【0129】
検証結果が成功裡に終了した場合には、アクセス制御オブジェクト301はアクセス要求を受理する(Tr6)。より具体的には、要求されているメソッド(例えばGETメソッド)を起動する。
【0130】
2.第2の実施形態
次いで、本発明の第2の実施形態について説明する。第2の実施形態は、上記と同様、図1に示すような分散コンピューティング環境に適用可能である。第2の実施形態は、権限情報に一方向性関数を適用するとともに、「チャレンジ文字列」と呼ぶ1回限り使用する数字を基に暗号化してやり取りする「チャレンジ・レスポンス認証」を採用するものである。
【0131】
本実施形態において、HTTPサーバ300は、”http://www300”なるURLで表されるものとする。また、HTTPサーバ300は、アクセス制御オブジェクト301と、参照番号391〜39Nで示されるN個のHTTPオブジェクトを所有している。各HTTPオブジェクト391〜39Nはそれぞれ” http://www300/object391”,…,” http://www300/object39N”なるURLで示されるものとする。
【0132】
アクセス制御オブジェクト301は、各HTTPオブジェクト391〜39Nに対するアクセス要求を制御するためのオブジェクトである。但し、アクセス制御オブジェクト301は、HTTPオブジェクト391〜39Nと同じサーバ300上に存在する必要は必ずしもなく、例えば別のサーバ(図示しない)上に存在してHTTPサーバ300から遠隔的に呼び出されて所定のアクセス制御処理を起動するようにしてもよい。
【0133】
各クライアント100…は、ユーザを識別可能なユーザ情報と、秘密情報としてのパスワードを保持している。クライアント100は、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。
【0134】
HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…に関するユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」(仮称)として保管している。
【0135】
本実施形態では、HTTP1.1のDigest Authentication Scheme(基本認証法)に従ってHTTPメッセージが交換されるものとする。すなわち、クライアント100は、以下に示すようなHTTPリクエストを発行することにより、HTTPオブジェクト391のGETメソッドを起動することができる。
【0136】
【数5】
GET /object391 HTTP/1.1
Authorization: Digest digest−response
【0137】
但し、” digest−response”は、HTTP1.1の規定に基づき生成された認証データである。
【0138】
次いで、クライアント100がクライアント200に権限情報を委譲する場合を例にとって、本実施形態に係るアクセス権限委譲方法について説明する。
【0139】
権限情報は、以下の各事柄を含む文字列で構成される(但し、例示に過ぎず、使用許可回数など他の事柄を権限情報に含んでいてもよい)。
【0140】
● オブジェクト名の列
● メソッド名の列
● 有効期間開始日時
● 有効期間終了日時
【0141】
ここで、クライアント100が、クライアント200にアクセス権限を委譲するために、以下の権限情報文字列capability1を生成したとする。
【0142】
【数6】
Figure 0004359974
【0143】
上記の権限情報文字列は、”/object391”で表されるHTTPオブジェクト391に対して、GETメソッドのみを、世界時で1999年の4月24日10時0分48秒から1999年の4月25日10時0分48秒の間だけ実行することのできる権利を表している。
【0144】
本実施例では、クライアント200は、HTTPサーバ300のみを対象とするため、オブジェクト名としてサーバ内での名前のみを取り扱う。但し、一般には、オブジェクト名としてURL等のグローバルな識別子を用いることにより、複数のHTTPサーバのオブジェクトを識別するようにしてもよい。
【0145】
次いで、クライアント100は、この権限情報capability1に対して秘密情報としてのpassword1を文字列後方からビット連結して、一方向性関数MD(Message Digest)を適用して、以下に示す保護化権限情報capabilityMD1を生成する。
【0146】
【数7】
Figure 0004359974
【0147】
一方向性関数MDは、逆関数を求めることが極めて困難な関数であり、該関数MDを適用する前の引数の値を推測することを不可能にする作用がある。したがって、秘密情報password1を知らない第3者が保護化権限情報capabilityMD1を勝手に改竄することはできない。
【0148】
次いで、クライアント100は、少なくとも、
● userid1(ユーザ情報)
● capability1(権限情報)
● capabilityMD1(保護化権限情報)
からなる情報を、他のクライアント200に対して送信する。
【0149】
既に述べたように、秘密情報password1を知らない第3者(クライアント200を含む)は、保護化権限情報capabilityMD1を改竄することができない。したがって、クライアント100は、他のクライアント200に対して、HTTPオブジェクト391に対するアクセス権限を安全に委譲することができる訳である。
【0150】
他方、上記の情報を受信したクライアント200は、クライアント100の代理として、HTTPオブジェクト391にアクセスするサービスを提供する。
【0151】
クライアント200は、HTTPオブジェクト391にアクセスするために、まず、以下に示すようなメッセージをHTTPサーバ300に送信する。
【0152】
【数8】
GET /object391 HTTP1.1
【0153】
この場合、要求メッセージに認証データが含まれていないため、HTTPサーバ300は、以下のような応答メッセージをクライアント200に送信する。
【0154】
【数9】
Figure 0004359974
【0155】
上記のうち、nonceに代入された文字列は、「チャレンジ・レスポンス認証」を行うための「チャレンジ文字列」である。「チャレンジ・レスポンス認証」とは、パスワード認証を安全に実施するための技術であり、1回限り使用するチャレンジ文字列を基に暗号化してメッセージ交換する方式である。
【0156】
クライアント200は、少なくともチャレンジ文字列nonceと保護化権限情報capabilityMD1とをビット連結した文字列のメッセージ・ダイジェストを計算する。この場合の例で言えば、以下の式を計算することになる。すなわち、
【0157】
【数10】
Figure 0004359974
【0158】
また、その他の文字列もさらに連結するようにしてもよい。例えば、HTTP/1.1のように以下の式を計算してもよい。
【0159】
【数11】
Figure 0004359974
【0160】
上記の計算結果をresponse1とする。クライアント200は、HTTPオブジェクト391にアクセスするためには、以下のような要求メッセージをHTTPサーバ300に送信する。
【0161】
【数12】
Figure 0004359974
【0162】
HTTPサーバ300のアクセス制御オブジェクト301は、上記の要求メッセージ中のAuthorizationフィールドから、以下の情報を取り出す。
● ユーザ情報
● 権限情報
● 権限情報のメッセージ・ダイジェスト
【0163】
さらに、アクセス制御オブジェクト301は、取り出したこれらの情報を基に、以下に示すアルゴリズム2(図4を参照のこと)を実行することによって、クライアント200がHTTPオブジェクト391に対するアクセス権限を正当に委譲された者か否かを判断することができる。
【0164】
アルゴリズム2:
(ステップ11)Authorizationフィールドから抽出したユーザ名をuseridとする。
【0165】
(ステップ12)Authorizationフィールドから抽出した権限情報をcapabilityとする。
【0166】
(ステップ13)Authorizationフィールドから抽出された権限情報のメッセージ・ダイジェストをresponseとする。
【0167】
(ステップ14)クライアント200に送信したメッセージ中のnonceフィールドの値をnonce1とする。
【0168】
(ステップ15)useridに相当するパスワードをパスワード管理表から取得する。該管理表から取得されたパスワードをpasswordとする。他方、対応するパスワードが登録されていない場合は、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。
【0169】
(ステップ16)一方向性関数の値MD(nonce1 + MD(capability + password))を計算し、計算結果をdigestとする。
【0170】
(ステップ17)digestをresponseと比較する。両者が等しくない場合には、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。両者が一致する場合には次ステップへ進む。
【0171】
(ステップ18)capabilityを基に、クライアント200が要求するメソッド(すなわちオブジェクトに対する処理内容)、対象オブジェクト、有効期限などの、権限の有効性をチェックする。要求がcapabilityで許可されないものであれば、不正アクセスであるとして本アルゴリズムを終了する。許可されている範囲内であれば、正当なアクセスであるとして本アルゴリズムを終了する。
【0172】
アルゴリズム2を実行した結果、正当アクセスであることが判明した場合には、アクセス制御オブジェクト301は、HTTPオブジェクト391に対してGETメソッドを起動するメッセージを送信する。
【0173】
図5には、本実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解している。以下、同図を参照しながら説明する。
【0174】
トランザクションの前提として、クライアント100は、HTTPサーバ300に対するアクセスのアカウント(利用者資格)として、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。また、HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…についてのユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」として保管している。
【0175】
クライアント100は、HTTPオブジェクト391へのアクセスに関し、クライアント200に与えてもよい権限情報capability1を作成する(Tr11)。
【0176】
次いで、クライアント100は、権限情報capability1の後ろに自己の秘密情報password1をビット連結したビット列に一方向性関数MDを適用して、保護化権限情報capabilityMD1を作成する(Tr12)。
【0177】
次いで、クライアント100は、ユーザ情報userid1と権限情報capability1、及び保護化権限情報capabilityMD1をクライアント200に送信することで、アクセス権限を安全に委譲する(Tr13)。
【0178】
アクセス権限を委譲されたクライアント200は、HTTPサーバ300に対してHTTPオブジェクト391へのアクセス要求を送信する(Tr14)。
【0179】
該アクセス要求には認証データが含まれていないので、HTTPサーバ300のアクセス制御オブジェクト301は、チャレンジ文字列nonceを含んだ応答メッセージを送信する(Tr15)。
【0180】
クライアント200は、チャレンジ文字列nonceと保護化権限情報capabilityMD1をビット連結したビット列のメッセージ・ダイジェストresponseを生成する(Tr16)。
【0181】
そして、クライアント200は、改めて、HTTPサーバ300に対してHTTPオブジェクト391へのアクセス要求を送信する(Tr17)。このアクセス要求には、クライアント100のユーザ名userid1、権限情報capability1、及びメッセージ・ダイジェストresponseを添付する。
【0182】
HTTPサーバ300のアクセス制御オブジェクト301は、クライアント200のアクセス要求の正当性を検証する(Tr18)。該検証は、上述のアルゴリズム1(図4を参照のこと)が規定する処理手順に従う。
【0183】
検証結果が成功裡に終了した場合には、アクセス制御オブジェクト301はアクセス要求を受理する(Tr19)。より具体的には、要求されているメソッド(例えばGETメソッド)を起動する。
【0184】
3.第3の実施形態
次いで、本発明の第3の実施形態について説明する。第2の実施形態は、上記と同様、図1に示すような分散コンピューティング環境に適用可能である。但し、第3の実施形態は、上記の第1及び第2の実施形態とは相違し、権限情報に対して一方向性関数ではなく暗号化関数を適用することによってアクセス権限の安全な委譲を実現するものである。以下に示す例では、対称暗号鍵方式を用いた場合について説明するが、公開暗号鍵方式を用いても同様に本発明の効果を奏する点を充分理解されたい。
【0185】
本実施形態において、HTTPサーバ300は、”http://www300”なるURLで表されるものとする。また、HTTPサーバ300は、アクセス制御オブジェクト301と、参照番号391〜39Nで示されるN個のHTTPオブジェクトを所有している。各HTTPオブジェクト391〜39Nはそれぞれ” http://www300/object391”,…,” http://www300/object39N”なるURLで示されるものとする。
【0186】
アクセス制御オブジェクト301は、各HTTPオブジェクト391〜39Nに対するアクセス要求を制御するためのオブジェクトである。但し、アクセス制御オブジェクト301は、HTTPオブジェクト391〜39Nと同じサーバ300上に存在する必要は必ずしもなく、例えば別のホスト(図示しない)上に存在してHTTPサーバ300から遠隔的に呼び出されて所定のアクセス制御処理を起動するようにしてもよい。
【0187】
各クライアント100…は、ユーザを識別可能なユーザ情報と、秘密情報としてのパスワードを保持している。クライアント100は、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。
【0188】
HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…に関するユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」(仮称)として保管している。
【0189】
また、アクセス制御オブジェクト301は、オブジェクトに対するアクセス権限を与えたクライアント・ユーザに対する「ケイパビリティ(capability)」を保持している。ケイパビリティとは、アクセス制御マトリックス(前述)を行毎すなわちユーザ毎に切り出した情報であり、ユーザが各HTTPオブジェクトに対して許容された操作権限を記述した情報である。
【0190】
各クライアント100…は、HTTPサーバ300に対して自己のユーザ情報とパスワードを提示することによって、自身に与えられたケイパビリティすなわち権限情報の範囲内でHTTPオブジェクト391…に対するアクセス操作が許容される。
【0191】
本実施形態では、HTTP1.1のBasic Authentication Scheme(基本認証法)に従ってHTTPメッセージが交換されるものとする。すなわち、クライアント100は、以下に示すようなHTTPリクエストを発行することにより、HTTPオブジェクト391のGETメソッドを起動することができる。
【0192】
【数13】
GET /object391 HTTP/1.1
Authorization: Basic authdata
【0193】
但し、”authdata”は、ユーザ情報とパスワードを連結したビット列userid1:password1を、改行のないbase64エンコード法(前述)でエンコードした文字列である。
【0194】
次いで、クライアント100がクライアント200に権限情報を委譲する場合を例にとって、本実施形態に係るアクセス権限委譲方法について説明する。
【0195】
権限情報は、以下の各事柄を含む文字列で構成される(但し、例示に過ぎず、使用許可回数など他の事柄を権限情報に含んでいてもよい)。
● オブジェクト名の列
● メソッド名の列
● 有効期間開始日時
● 有効期間終了日時
【0196】
ここで、クライアント100が、クライアント200にアクセス権限を委譲するために、以下の権限情報文字列capability1を生成したとする。
【0197】
【数14】
Figure 0004359974
【0198】
上記の権限情報文字列は、”/object391”で表されるHTTPオブジェクト391に対して、GETメソッドのみを、世界時で1999年の4月24日10時0分48秒から1999年の4月25日10時0分48秒の間だけ実行することのできる権利を表している。
【0199】
本実施例では、クライアント200は、HTTPサーバ300のみを対象とするため、オブジェクト名としてサーバ内での名前のみを取り扱う。但し、一般には、オブジェクト名としてURL等のグローバルな識別子を用いることにより、複数のHTTPサーバのオブジェクトを識別するようにしてもよい。
#d
次いで、クライアント100は、自己の秘密情報password1を用いてこの権限情報capability1を暗号化して、以下に示す保護化権限情報capabilityCR1を生成する。
【0200】
【数15】
Figure 0004359974
【0201】
上記のうち暗号化関数CRYPTは、例えば、DES(Data Encryption Standard)やRC2、RC4、RC5などの任意の対称鍵暗号系を用いることができる。DESとは、米国政府が標準暗号として認定した共通鍵暗号方式のことである。鍵は56ビットの固定長(8ビットのパリティ・ビットを含めて64ビット)であり、まず56ビット長の鍵から48ビット長の鍵を16個作り、その鍵を使って64ビット長に分けたデータ・ブロックを16回だけ攪拌処理する。
【0202】
また、RC2、RC4及びRC5は、米RSAデータ・セキュリティ社が開発した共通鍵暗号方式である。このうち、RC2はブロック毎にデータを暗号化するブロック暗号であり、暗号鍵の長さを可変にできる。RC4は「ストリーム型」と呼ぶ暗号方式を採用する。RC5は鍵長、データ・ブロック長ともに可変の暗号方式である。
【0203】
元の権限情報に対してこのような暗号化関数CRYPTを適用することによって、秘密情報password1を知らない第3者が保護化権限情報capabilityCR1を勝手に改竄することはできない。
【0204】
次いで、クライアント100は、少なくとも、
● userid1(ユーザ情報)
● capabilityCR1(保護化権限情報)
からなる情報を、他のクライアント200に対して送信する。
【0205】
既に述べたように、秘密情報password1を知らない第3者(クライアント200を含む)は、保護化権限情報capabilityCR1を改竄することができない。したがって、クライアント100は、他のクライアント200に対して、HTTPオブジェクト391に対するアクセス権限を安全に委譲することができる訳である。
【0206】
他方、上記の情報を受信したクライアント200は、クライアント100の代理として、HTTPオブジェクト391にアクセスするサービスを提供する。
【0207】
クライアント200は、HTTPオブジェクト391にアクセスするためには、少なくとも以下の情報を含む要求メッセージをHTTPサーバ300に送信する。
【0208】
● オブジェクト名
● メソッド名
● ユーザ名
● 暗号化された権限情報
【0209】
本実施例では、以下に示すような要求メッセージを送信する。
【0210】
【数16】
GET /object391 HTTP/1.1
Authorization: Capability cap1
【0211】
ここで、文字列cap1は、ユーザ名と暗号化された権限情報とを”:”を用いて連結して改行のないbase64エンコード法(前述)でエンコードした文字列であるとする。
【0212】
HTTPサーバ300のアクセス制御オブジェクト301は、上記の要求メッセージ中のAuthorizationフィールドから、以下の情報を取り出す。
● ユーザ情報
● 暗号化された権限情報
【0213】
さらに、アクセス制御オブジェクト301は、取り出したこれらの情報を基に、以下に示すアルゴリズム3(図6を参照のこと)を実行することによって、クライアント200がHTTPオブジェクト391に対するアクセス権限を正当に委譲された者か否かを判断することができる。
【0214】
アルゴリズム3:
(ステップ21)Authorizationフィールドから抽出したユーザ名をuseridとする。
【0215】
(ステップ22)Authorizationフィールドから抽出した暗号化された権限情報をcapabilityCRとする。
【0216】
(ステップ23)useridに相当するパスワードをパスワード管理表から取得する。該管理表から取得されたパスワードをpasswordとする。他方、対応するパスワードが登録されていない場合は、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。
【0217】
(ステップ24)暗号化された権限情報capabilityCRを、秘密情報passwordを用いて復号化する。復号化結果をcapabilityとする。
【0218】
(ステップ25)復号化された権限情報capabilityが正しい文法規則に則っているか否かを判断する。正しくない場合には、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。正しい場合には次ステップへ進む。
【0219】
(ステップ26)復号化されたcapabilityを基に、クライアント200が要求するメソッド(すなわちオブジェクトに対する処理内容)、対象オブジェクト、有効期限などの、権限の有効性をチェックする。要求がcapabilityで許可されないものであれば、不正アクセスであるとして本アルゴリズムを終了する。許可されている範囲内であれば、正当なアクセスであるとして本アルゴリズムを終了する。
【0220】
アルゴリズム3を実行した結果、正当アクセスであることが判明した場合には、アクセス制御オブジェクト301は、HTTPオブジェクト391に対してGETメソッドを起動するメッセージを送信する。
【0221】
図7には、本実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解している。以下、同図を参照しながら説明する。
【0222】
トランザクションの前提として、クライアント100は、HTTPサーバ300に対するアクセスのアカウント(利用者資格)として、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。また、HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…についてのユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」として保管している。
【0223】
クライアント100は、HTTPオブジェクト391へのアクセスに関し、クライアント200に与えてもよい権限情報capability1を作成する(Tr21)。
【0224】
次いで、クライアント100は、自己の秘密情報password1を用いて権限情報capability1を暗号化して、保護化権限情報capabilityCR1を作成する(Tr22)。
【0225】
次いで、クライアント100は、保護化権限情報capabilityCR1をクライアント200に送信することで、アクセス権限を安全に委譲する(Tr23)。
【0226】
アクセス権限を委譲されたクライアント200は、HTTPサーバ300に対してHTTPオブジェクト391へのアクセス要求を送信する(Tr24)。このアクセス要求には、クライアント100のユーザ名userid1と保護化権限情報capabilityCR1を添付する。
【0227】
HTTPサーバ300のアクセス制御オブジェクト301は、クライアント200のアクセス要求の正当性を検証する(Tr25)。該検証は、上述のアルゴリズム3(図6を参照のこと)が規定する処理手順に従う。
【0228】
検証結果が成功裡に終了した場合には、アクセス制御オブジェクト301はアクセス要求を受理する(Tr26)。より具体的には、要求されているメソッド(例えばGETメソッド)を起動する。
【0229】
4.第4の実施形態
次いで、本発明の第4の実施形態について説明する。第4の実施形態は、上記と同様、図1に示すような分散コンピューティング環境に適用可能である。第4の実施形態は、権限情報を暗号化するとともに、クライアント−HTTPサーバ間のアクセス要求の際に「チャレンジ・レスポンス認証」(前述)を用いることによってアクセス権限の安全な委譲を実現するものである。
【0230】
本実施形態において、HTTPサーバ300は、”http://www300”なるURLで表されるものとする。また、HTTPサーバ300は、アクセス制御オブジェクト301と、参照番号391〜39Nで示されるN個のHTTPオブジェクトを所有している。各HTTPオブジェクト391〜39Nはそれぞれ” http://www300/object391”,…,” http://www300/object39N”なるURLで示されるものとする。
【0231】
アクセス制御オブジェクト301は、各HTTPオブジェクト391〜39Nに対するアクセス要求を制御するためのオブジェクトである。但し、アクセス制御オブジェクト301は、HTTPオブジェクト391〜39Nと同じサーバ300上に存在する必要は必ずしもなく、例えば別のサーバ(図示しない)上に存在してHTTPサーバ300から遠隔的に呼び出されて所定のアクセス制御処理を起動するようにしてもよい。
【0232】
各クライアント100…は、ユーザを識別可能なユーザ情報と、秘密情報としてのパスワードを保持している。クライアント100は、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。
【0233】
HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…に関するユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」(仮称)として保管している。
【0234】
また、アクセス制御オブジェクト301は、オブジェクトに対するアクセス権限を与えたクライアント・ユーザに対する「ケイパビリティ(capability)」を保持している。ケイパビリティとは、アクセス制御マトリックス(前述)を行毎すなわちユーザ毎に切り出した情報であり、ユーザが各HTTPオブジェクトに対して許容された操作権限を記述した情報である。
【0235】
各クライアント100…は、HTTPサーバ300に対して自己のユーザ情報とパスワードを提示することによって、自身に与えられたケイパビリティすなわち権限情報の範囲内でHTTPオブジェクト391…に対するアクセス操作が許容される。
【0236】
本実施形態では、HTTP1.1のDigest Authentication Scheme(基本認証法)に従ってHTTPメッセージが交換されるものとする。すなわち、クライアント100は、以下に示すようなHTTPリクエストを発行することにより、HTTPオブジェクト391のGETメソッドを起動することができる。
【0237】
【数17】
GET /object391 HTTP/1.1
Authorization: Digest digest−response
【0238】
但し、” digest−response”は、HTTP1.1の規定に基づき生成された認証データである。
【0239】
次いで、クライアント100がクライアント200に権限情報を委譲する場合を例にとって、本実施形態に係るアクセス権限委譲方法について説明する。
【0240】
権限情報は、以下の各事柄を含む文字列で構成される(但し、例示に過ぎず、使用許可回数など他の事柄を権限情報に含んでいてもよい)。
● オブジェクト名の列
● メソッド名の列
● 有効期間開始日時
● 有効期間終了日時
【0241】
ここで、クライアント100が、クライアント200にアクセス権限を委譲するために、以下の権限情報文字列capability1を生成したとする。
【0242】
【数18】
Figure 0004359974
【0243】
上記の権限情報文字列は、”/object391”で表されるHTTPオブジェクト391に対して、GETメソッドのみを、世界時で1999年の4月24日10時0分48秒から1999年の4月25日10時0分48秒の間だけ実行することのできる権利を表している。
【0244】
次いで、クライアント100は、自己の秘密情報password1を用いてこの権限情報capability1を暗号化して、以下に示す保護化権限情報capabilityCR1を生成する。
【0245】
【数19】
Figure 0004359974
【0246】
上記のうち暗号化関数CRYPTは、例えば、DES(Data Encryption Standard)やRC2、RC4、RC5などの任意の対称鍵暗号系(前述)を用いることができる。元の権限情報に対してこのような暗号化を適用することによって、秘密情報password1を知らない第3者が保護化権限情報capabilityCR1を勝手に改竄することはできない。
【0247】
次いで、クライアント100は、少なくとも、
● userid1(ユーザ情報)
● capability1(権限情報)
● capabilityCR1(保護化権限情報)
からなる情報を、他のクライアント200に対して送信する。
【0248】
既に述べたように、秘密情報password1を知らない第3者(クライアント200を含む)は、保護化権限情報capabilityCR1を改竄することができない。したがって、クライアント100は、他のクライアント200に対して、HTTPオブジェクト391に対するアクセス権限を安全に委譲することができる訳である。
【0249】
他方、上記の情報を受信したクライアント200は、クライアント100の代理として、HTTPオブジェクト391にアクセスするサービスを提供する。
【0250】
クライアント200は、HTTPオブジェクト391にアクセスするために、まず、以下に示すようなメッセージをHTTPサーバ300に送信する。
【0251】
【数20】
GET /object391 HTTP1.1
【0252】
この場合、要求メッセージに認証データが含まれていないため、HTTPサーバ300は、以下のような応答メッセージをクライアント200に送信する。
【0253】
【数21】
Figure 0004359974
【0254】
上記のうち、nonceに代入された文字列は、「チャレンジ・レスポンス認証」を行うための「チャレンジ文字列」(前述)である。
【0255】
クライアント200は、保護化権限情報capabilityCR1を用いてチャレンジ文字列nonceを暗号化した値を計算する。この場合の例で言えば、以下の式を計算することになる。すなわち、
【0256】
【数22】
Figure 0004359974
【0257】
また、その他の文字列もさらに連結するようにしてもよい。例えば、HTTP/1.1のように以下の式を計算してもよい。
【0258】
【数23】
Figure 0004359974
【0259】
上記の計算結果をresponse1とする。クライアント200は、HTTPオブジェクト391にアクセスするためには、以下のような要求メッセージをHTTPサーバ300に送信する。
【0260】
【数24】
Figure 0004359974
【0261】
HTTPサーバ300のアクセス制御オブジェクト301は、上記の要求メッセージ中のAuthorizationフィールドから、以下の情報を取り出す。
● ユーザ情報
● 権限情報
● 権限情報を暗号化した値
【0262】
さらに、アクセス制御オブジェクト301は、取り出したこれらの情報を基に、以下に示すアルゴリズム4(図8を参照のこと)を実行することによって、クライアント200がHTTPオブジェクト391に対するアクセス権限を正当に委譲された者か否かを判断することができる。
【0263】
アルゴリズム4:
(ステップ31)Authorizationフィールドから抽出したユーザ名をuseridとする。
【0264】
(ステップ32)Authorizationフィールドから抽出した権限情報をcapabilityとする。
【0265】
(ステップ33)Authorizationフィールドから抽出された権限情報の暗号化値をresponseとする。
【0266】
(ステップ34)クライアント200に送信したメッセージ中のnonceフィールドの値をnonce1とする。
【0267】
(ステップ35)useridに相当するパスワードをパスワード管理表から取得する。該管理表から取得されたパスワードをpasswordとする。他方、対応するパスワードが登録されていない場合は、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。
【0268】
(ステップ36)暗号化関数の値CRYPT(nonce1,CRYPT(capability, password))を計算し、計算結果をdigestとする。
【0269】
(ステップ37)digestをresponseと比較する。両者が等しくない場合には、クライアント200からの要求メッセージは不正アクセスであるとして、本アルゴリズムを終了する。両者が一致する場合には次ステップへ進む。
【0270】
(ステップ38)capabilityを基に、クライアント200が要求するメソッド(すなわちオブジェクトに対する処理内容)、対象オブジェクト、有効期限などの、権限の有効性をチェックする。要求がcapabilityで許可されないものであれば、不正アクセスであるとして本アルゴリズムを終了する。許可されている範囲内であれば、正当なアクセスであるとして本アルゴリズムを終了する。
【0271】
アルゴリズム4を実行した結果、正当アクセスであることが判明した場合には、アクセス制御オブジェクト301は、HTTPオブジェクト391に対してGETメソッドを起動するメッセージを送信する。
【0272】
図9には、本実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解している。以下、同図を参照しながら説明する。
【0273】
トランザクションの前提として、クライアント100は、HTTPサーバ300に対するアクセスのアカウント(利用者資格)として、ユーザ情報”userid1”とパスワード”password1”を保持しているものとする。また、HTTPサーバ300のアクセス制御オブジェクト301は、各クライアント100…についてのユーザ情報とパスワードの組み合わせ(userid1,password1),(userid2,password2)…を「パスワード管理表」として保管している。
【0274】
クライアント100は、HTTPオブジェクト391へのアクセスに関し、クライアント200に与えてもよい権限情報capability1を作成する(Tr31)。
【0275】
次いで、クライアント100は、自己の秘密情報password1を用いて権限情報capability1を暗号化して、保護化権限情報capabilityCRYPT1を作成する(Tr32)。
【0276】
次いで、クライアント100は、ユーザ情報userid1と権限情報capability1、及び保護化権限情報capabilityCRYPT1をクライアント200に送信することで、アクセス権限を委譲する(Tr33)。
【0277】
アクセス権限を委譲されたクライアント200は、HTTPサーバ300に対してHTTPオブジェクト391へのアクセス要求を送信する(Tr34)。
【0278】
該アクセス要求には認証データが含まれていないので、HTTPサーバ300のアクセス制御オブジェクト301は、チャレンジ文字列nonceを含んだ応答メッセージを送信する(Tr35)。
【0279】
クライアント200は、保護化権限情報capabilityCR1を用いてチャレンジ文字列nonceを暗号化して、responseを生成する(Tr36)。
【0280】
そして、クライアント200は、改めて、HTTPサーバ300に対してHTTPオブジェクト391へのアクセス要求を送信する(Tr37)。このアクセス要求には、クライアント100のユーザ名userid1、権限情報capability1、及びresponseを添付する。
【0281】
HTTPサーバ300のアクセス制御オブジェクト301は、クライアント200のアクセス要求の正当性を検証する(Tr38)。該検証は、上述のアルゴリズム1(図8を参照のこと)が規定する処理手順に従う。
【0282】
検証結果が成功裡に終了した場合には、アクセス制御オブジェクト301はアクセス要求を受理する(Tr39)。より具体的には、要求されているメソッド(例えばGETメソッド)を起動する。
【0283】
5.保護化権限情報の安全な保存方法
上述した第1〜第4の実施形態によれば、クライアント100は、他のクライアント200に対してHTTPオブジェクトへのアクセス権限を委譲するに際し、自らのパスワードpassword1をそのまま渡したり、クライアント200に与える権限情報capability1そのものを送信することはせず、権限情報capability1に対して一方向性関数MDや暗号化関数CRYPTを適用して、権限情報を不正に改竄できないような「保護化権限情報」の形態にしてから委譲するようにした。
【0284】
この結果、権限情報の内容を勝手に書き換えてHTTPオブジェクトに不正アクセスされる機会(例えば有効期限を無断で延長したり、有効使用回数を増やしたり、オブジェクトへの操作権限を強化したすすること)を、好適に排除することができる。
【0285】
しかしながら、保護された形式であれ、権限情報を複製することで、権限を正当に譲受していない者さえHTTPオブジェクトにアクセスすることが可能になってしまう。
【0286】
例えば、図10に示すように、クライアント100から正当にアクセス権限を譲受したクライアント200が、自らは権限情報を正当にのみ使用していたとしても、保護化権限情報を格納した2次記憶装置(例えばハード・ディスク装置)201が攻撃を受けることで、保護化権限情報は漏洩し、悪用を許してしまいかねない。メモリ空間すなわち揮発的なメモリ上にロードされた保護化権限情報をプロテクトすることは比較的容易であるが、ファイル空間すなわちローカル・ディスク上の格納された情報をプロテクトすることは容易ではない。特に、分散コンピューティング環境では、リモートのホスト装置間で互いのローカル・ディスクはトランスパレントな状態なので、攻撃を受け易い。
【0287】
以下では、クライアント200が委譲された保護化権限情報をローカル・ディスクに安全且つ不揮発的に格納する方法について説明する。
【0288】
5−1.方法1
まず、クライアント100は、他のクライアント200に保護化権限情報を送信する。
【0289】
次いで、クライアント100は、クライアント200に対して暗号化鍵を送信する。
【0290】
クライアント200は、保護化権限情報を自身のローカル・ディスク201に格納するときには、受信した暗号化鍵を用いて暗号化してから行う。この結果、不正クライアントがローカル・ディスク201に攻撃を仕掛けても、保護化権限情報は暗号化されているので、万一漏洩しても悪用される心配がない。
【0291】
クライアント200がHTTPオブジェクト391へのアクセス要求を行うときには、ローカル・ディスク201から保護化権限情報を取り出すとともに、暗号化鍵で復号化して用いればよい。保護化権限情報はクライアント200のメモリ上にしか存在しないのでセキュリティ管理が容易となる点を充分理解されたい。
【0292】
HTTPサーバ300に対するアクセス要求及び認証の処理手順は上記に従う。
【0293】
5−2.方法2
まず、クライアント100は、暗号化鍵を用いて保護化権限情報を暗号化して、2重に保護化された権限情報を生成する。
【0294】
次いで、クライアント100は、他のクライアント200に、2重に保護化された権限情報を送信する。
【0295】
そして、クライアント200は、受け取った保護化権限情報をローカル・ディスク201にそのまま格納する。この保護化権限情報は二重に保護され、そのままアクセス要求に使用することはできない。したがって、不正クライアントがローカル・ディスク201に攻撃を仕掛けても、保護化権限情報は暗号化されているので、万一漏洩しても悪用される心配がない。
【0296】
クライアント200がオブジェクトのアクセス要求を発行したいときには、2重に保護化された権限情報を復号化するための復号化鍵を、クライアント100から受け取ればよい。
【0297】
そして、クライアント200は、受け取った復号化鍵を用いて2重に保護化された権限情報を復号化することで、利用可能な形式の保護化権限情報を得ることができる。保護化権限情報はクライアント200のメモリ上にしか存在しないのでセキュリティ管理が容易となる点を充分理解されたい。
【0298】
HTTPサーバ300に対するアクセス要求及び認証の処理手順は上記に従う。
【0299】
なお、暗号化鍵と復号化鍵は、対称鍵暗号方式における同一鍵であっても、あるいは公開鍵暗号方式における秘密鍵と公開鍵の組み合わせであってもよい。
【0300】
5−3.方法3
まず、クライアント100は、他のクライアント200に保護化権限情報を送信する。
【0301】
クライアント200は、情報を暗号化するための暗号化鍵と、暗号化鍵で暗号化された暗号化情報を復号化するための復号化鍵とを用意しておく。暗号化鍵と復号化鍵は、公開鍵暗号方式における秘密鍵と公開鍵の組み合わせでよい。
【0302】
クライアント200は、復号化鍵をクライアント100に送信する。復号化鍵をローカル・ディスク201に格納してしまうと、不正クライアントがローカル・ディスク201に攻撃を仕掛けて、外部に漏洩する危険がある。このため、クライアント200は、クライアント100に復号化鍵を送信した後、直ちに復号化鍵を廃棄しておくことが好ましい。
【0303】
そして、クライアント200は、保護化権限情報をさらに暗号化鍵で暗号化してから、ローカル・ディスクに格納する。この結果、不正クライアントがローカル・ディスク201に攻撃を仕掛けても、保護化権限情報は暗号化されているので、万一漏洩しても悪用される心配がない。
【0304】
クライアント200は、オブジェクトのアクセス要求を発行したいときには、2重に保護化された権限情報をローカル・ディスク201から取り出すとともに、復号化鍵を用いてこれを復号化して、元の保護化権限情報を再現すればよい。但し、クライアント200が復号化鍵を廃棄してしまっている場合には、クライアント100から復号化鍵を改めて取り寄せればよい。保護化権限情報はクライアント200のメモリ上にしか存在しないのでセキュリティ管理が容易となる点を充分理解されたい。
【0305】
HTTPサーバ300に対するアクセス要求及び認証の処理手順は上記に従う。
【0306】
5−4.方法4
まず、クライアント100は、他のクライアント200に保護化権限情報を送信する。
【0307】
次いで、クライアント200は、クライアント100に「チャレンジ・レスポンス認証」(前述)を行うためのチャレンジ文字列を送信する。
【0308】
次いで、クライアント100は、受信したチャレンジ文字列と所定の秘密情報に対して所定の演算処理を適用して暗号鍵を生成する。そして、クライアント100は、生成した暗号鍵をクライアント200に送信する。
【0309】
これに対し、クライアント200は、受信した暗号鍵を用いて保護化権限情報を暗号化してから、ローカル・ディスク201に格納する。この結果、不正クライアントがローカル・ディスク201に攻撃を仕掛けても、保護化権限情報は暗号化されているので、万一漏洩しても悪用される心配がない。
【0310】
クライアント200がHTTPオブジェクト391へのアクセス要求を行うときには、ローカル・ディスク201から保護化権限情報を取り出すとともに、暗号化鍵で復号化して用いればよい。保護化権限情報はクライアント200のメモリ上にしか存在しないのでセキュリティ管理が容易となる点を充分理解されたい。
【0311】
HTTPサーバ300に対するアクセス要求及び認証の処理手順は上記に従う。
【0312】
なお、上記の各方法では、保護化権限情報を安全且つ不揮発的にローカル・ディスク201に格納する場合を例にとって説明したが、格納する情報は保護化権限情報に限定されず、他の秘密性の高い情報(例えばユーザのパスワードなど)の格納にも応用することができる。
【0313】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0314】
なお、URL(Uniform Resource Locator)については、例えばRFC(Request For Comments)1738やRFC1808などに記述されている。また、HTML(Hyper TextMarkup Language)については、例えばRFC1866に記述されている。また、HTTP(Hyper Text Transfer Protocol)については、例えばRFC1945やRFC2068に記述されている。
【0315】
【発明の効果】
以上詳記したように、本発明によれば、オブジェクトに関するアクセス権限を記述した「ケイパビリティ」をサブジェクト(ユーザ)間で安全に転送することができる、優れたアクセス権限委譲方法を提供することができる。
【0316】
また、本発明によれば、複数のホストがネットワーク接続され且つネットワーク上にオブジェクトが散在する分散コンピューティング環境において、オブジェクトに関するアクセス権限を記述した「ケイパビリティ」を、ホスト(ユーザ)間で安全に転送することができる、優れたアクセス権限委譲方法を提供することができる。
【0317】
また、本発明によれば、ケイパビリティを保有するサブジェクトが権限内容を変更したケイパビリティを自由に生成し、且つ、他のサブジェクトに安全に委譲することができる、優れたアクセス権限委譲方法を提供することができる。
【0318】
また、本発明によれば、ケイパビリティを保有するサブジェクトが権限内容を変更したケイパビリティを自由に生成し、且つ、生成されたケイパビリティをオブジェクトの管理者が安全に検査することができる、優れたアクセス権限委譲方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る分散コンピューティング環境を模式的に示した図である。
【図2】本発明の第1の実施形態において、アクセス権限オブジェクト301がアクセスの正当性を判断するための処理手順を示したフローチャートである。
【図3】本発明の第1の実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解していたものである。
【図4】本発明の第2の実施形態において、アクセス権限オブジェクト301がアクセスの正当性を判断するための処理手順を示したフローチャートである。
【図5】本発明の第2の実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解していたものである。
【図6】本発明の第3の実施形態において、アクセス権限オブジェクト301がアクセスの正当性を判断するための処理手順を示したフローチャートである。
【図7】本発明の第3の実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解していたものである。
【図8】本発明の第4の実施形態において、アクセス権限オブジェクト301がアクセスの正当性を判断するための処理手順を示したフローチャートである。
【図9】本発明の第4の実施形態において、クライアント100、クライアント200及びHTTPサーバ300間で実行されるトランザクションを図解していたものである。
【図10】本発明の実施形態に係る分散コンピューティング環境を模式的に示した図であり、より具体的にはクライアント200の2次記憶装置に格納した保護化権限情報が不正利用される様子を図解したものである。
【符号の説明】
100,200…クライアント
300…HTTPサーバ
301…アクセス制御オブジェクト
391〜39N…HTTPオブジェクト

Claims (7)

  1. オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるネットワーク上で、各クライアント間及びクライアント−サーバ間でオブジェクトに対するアクセス操作の権限情報を安全に委譲するためのアクセス権限委譲方法であって、各クライアントがユーザ情報と第3者が知らない秘密情報を保持するとともに、サーバは各クライアントのユーザ情報と秘密情報を保管しており、
    (c)第1のクライアントが、オブジェクトの識別情報及び当該オブジェクトに対して許容するアクセス操作の情報を含む、第2のクライアントへ委譲する権限情報を生成するステップと、
    (d)第1のクライアントが、少なくとも前記の生成した権限情報の文字列と第1のクライアントが保持する秘密情報の文字列を連結した情報に対して一方向性関数を適用して保護化権限情報を生成するステップと、
    (e)第1のクライアントが、第1のクライアントのユーザ情報と第2のクライアントへ委譲する権限情報とステップ(d)において生成した保護化権限情報を第2のクライアントに送信するステップと、
    (f)第2のクライアントが、要求するアクセス操作と、第1のクライアントのユーザ情報と、第2のクライアントへ委譲された権限情報と、保護化権限情報を含む要求メッセージをサーバに送信して、オブジェクトへのアクセスを要求するステップと、
    (h)サーバが、ステップ(f)で受信した要求メッセージから取り出したユーザ情報に該当する秘密情報の文字列と同要求メッセージから取り出した権限情報の文字列を連結した情報に対して前記一方向性関数を適用して保護化権限情報を生成するステップと、
    (i)サーバが、ステップ(f)において受信した要求メッセージに含まれる保護化権限情報とステップ(h)において生成した保護化権限情報とを比較するステップと、
    (j)ステップ(i)における比較の結果、両者が一致する場合に、サーバが、前記要求するアクセス操作が前記要求メッセージに含まれる権限情報が許容する範囲内でオブジェクトに対するアクセスを許容するステップと、
    を具備することを特徴とするアクセス権限委譲方法。
  2. オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるネットワーク上で、各クライアント間及びクライアント−サーバ間でオブジェクトに対するアクセス操作の権限情報を安全に委譲するためのアクセス権限委譲方法であって、各クライアントがユーザ情報と秘密情報を保持するとともに、サーバは各クライアントのユーザ情報と第3者が知らない秘密情報を保管しており、
    (C)第1のクライアントが、オブジェクトの識別情報及び当該オブジェクトに対して許容するアクセス操作の情報を含む、第2のクライアントへ委譲する権限情報を生成するステップと、
    (D)第1のクライアントが、少なくとも前記の生成した権限情報の文字列と第1のクライアントが保持する秘密情報の文字列を連結した情報に対して一方向性関数を適用して第1の保護化権限情報を生成するステップと、
    (E)第1のクライアントが、第1のクライアントのユーザ情報と第2のクライアントへ委譲する権限情報と第1の保護化権限情報を第2のクライアントに送信するステップと、
    (F)第2のクライアントが、オブジェクトにアクセスするためのメッセージをサーバに送信し、サーバからチャレンジ文字列を受信するステップと、
    (G)第2のクライアントが、少なくともチャレンジ文字列と第1の保護化権限情報の文字列を連結した情報に対して一方向性関数を適用して第2の保護化権限情報を生成するステップと、
    (H)第2のクライアントが、第1のクライアントのユーザ情報と第2のクライアントへ委譲された権限情報と第2の保護化権限情報を含む要求メッセージをサーバに送信して、オブジェクトへのアクセスを要求するステップと、
    (J)サーバが、ステップ(H)で受信した要求メッセージから取り出したユーザ情報に該当する秘密情報の文字列と同要求メッセージから取り出した権限情報の文字列を連結した情報に対して前記一方向性関数を適用して第1の保護化権限情報を生成するステップと、
    (K)サーバが、少なくともチャレンジ文字列とステップ(J)において生成した第1の保護化権限情報とからなる情報に対して一方向性関数を適用して第2の保護化権限情報を生成するステップと、
    (L)サーバが、ステップ(H)において受信した要求メッセージに含まれる第2の保護化権限情報とステップ(K)において生成した第2の保護化権限情報とを比較するステップと、
    (M)ステップ(L)における比較の結果、両者が一致する場合に、サーバが、第2のクライアントが要求するアクセス操作が前記要求メッセージに含まれる権限情報が許容する範囲内でオブジェクトに対するアクセスを許容するステップと、
    を具備することを特徴とするアクセス権限委譲方法。
  3. オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるネットワーク上で、各クライアント間及びクライアント−サーバ間でオブジェクトに対するアクセス操作の権限情報を安全に委譲するためのアクセス権限委譲方法であって、各クライアントがユーザ情報と秘密情報を保持するとともに、サーバは各クライアントのユーザ情報と第3者が知らない秘密情報を保管しており、
    (c)第1のクライアントが、オブジェクトの識別情報及び当該オブジェクトに対して許容するアクセス操作の情報を含む、第2のクライアントへ委譲する権限情報を生成するステップと、
    (d)第1のクライアントが、第1のクライアントが保持する秘密情報を用いて第2のクライアントへ委譲する権限情報を暗号化して保護化権限情報を生成するステップと、
    (e)第1のクライアントが、第1のクライアントのユーザ情報と保護化権限情報を第2のクライアントに送信するステップと、
    (f)第2のクライアントが、要求するアクセス操作と、第1のクライアントのユーザ情報と保護化権限情報を含む要求メッセージをサーバに送信して、オブジェクトへのアクセスを要求するステップと、
    (g)サーバが、ステップ(f)で受信した要求メッセージから取り出したユーザ情報に対応する秘密情報を用いて保護化権限情報を復号化して、権限情報を生成するステップと、
    (h)サーバが、ステップ(g)において生成した権限情報が正しい文法規則に則っているか否かに基づいて有効性を検査するステップと、
    (i)ステップ(h)における有効性の検査結果に従って、サーバが、前記要求するアクセス操作が前記要求メッセージに含まれる権限情報が許容する範囲内でオブジェクトに対するアクセスを許容するステップと、
    を具備することを特徴とするアクセス権限委譲方法。
  4. オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるネットワーク上で、各クライアント間及びクライアント−サーバ間でオブジェクトに対するアクセス操作の権限情報を安全に委譲するためのアクセス権限委譲方法であって、各クライアントがユーザ情報と秘密情報を保持するとともに、サーバは各クライアントのユーザ情報と第3者が知らない秘密情報を保管しており、
    (C)第1のクライアントが、オブジェクトの識別情報及び当該オブジェクトに対して許容するアクセス操作の情報を含む、第2のクライアントへ委譲する権限情報を生成するステップと、
    (D)第1のクライアントが、第1のクライアントが保持する秘密情報を用いて第1のクライアントが保持する権限情報を暗号化して第1の保護化権限情報を生成するステップと、
    (E)第1のクライアントが、第1のクライアントのユーザ情報と第2のクライアントへ委譲する権限情報と第1の保護化権限情報を第2のクライアントに送信するステップと、
    (F)第2のクライアントが、オブジェクトにアクセスするためのメッセージをサーバに送信し、サーバからチャレンジ文字列を受信するステップと、
    (G)第2のクライアントが、第1の保護化権限情報を用いてチャレンジ文字列を暗号化して第2の保護化権限情報を生成するステップと、
    (H)第2のクライアントが、第1のクライアントのユーザ情報と第2のクライアントへ委譲された権限情報と第2の保護化権限情報を含む要求メッセージをサーバに送信して、オブジェクトへのアクセスを要求するステップと、
    (J)サーバが、ステップ(H)で受信した要求メッセージから取り出したユーザ情報に該当する秘密情報を用いて権限情報を暗号化して第1の保護化権限情報を生成するステップと、
    (K)サーバが、ステップ(J)において生成した第1の保護化権限情報を用いてチャレンジ文字列を暗号化して第2の保護化権限情報を生成するステップと、
    (L)サーバが、ステップ(H)において受信した第2の保護化権限情報とステップ(K)において生成した第2の保護化権限情報とを比較するステップと、
    (M)ステップ(N)における比較の結果、両者が一致することに応答してオブジェクトに対するアクセスが許容されるステップと、
    を具備することを特徴とするアクセス権限委譲方法。
  5. オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントとがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるネットワーク上で、各クライアント間及びクライアント−サーバ間でオブジェクトに対するアクセス操作の権限情報を安全に委譲するためのアクセス権限委譲システムであって、
    (a)各クライアントがユーザ情報と第3者が知らない秘密情報を保持する手段と、
    (b)サーバが各クライアントのユーザ情報と秘密情報を保持する手段と、
    (c)第1のクライアントが、オブジェクトの識別情報及び当該オブジェクトに対して許容するアクセス操作の情報を含む、第2のクライアントへ委譲する権限情報を生成する手段と、
    (d)第1のクライアントが、少なくとも前記の生成した権限情報の文字列と第1のクライアントが保持する秘密情報の文字列を連結した情報に対して一方向性関数を適用して保護化権限情報を生成する手段と、
    (e)第1のクライアントが、第1のクライアントのユーザ情報と第2のクライアントへ委譲する権限情報と手段(d)において生成した保護化権限情報を第2のクライアントに送信する手段と、
    (f)第2のクライアントが、要求するアクセス操作と、第1のクライアントのユーザ情報と、第2のクライアントへ委譲された権限情報と、保護化権限情報を含む要求メッセージをサーバに送信して、オブジェクトへのアクセスを要求する手段と、
    (h)サーバが、前記手段(f)により受信した要求メッセージから取り出したユーザ情報に該当する秘密情報の文字列と同要求メッセージから取り出した権限情報の文字列を連結した情報に対して前記一方向性関数を適用して保護化権限情報を生成する手段と、
    (i)サーバが、前記手段(f)により受信した要求メッセージに含まれる保護化権限情報と前記手段(h)により生成した保護化権限情報とを比較する手段と、
    (j)前記手段(i)における比較の結果、両者が一致する場合に、サーバが、前記要求するアクセス操作が前記要求メッセージに含まれる権限情報が許容する範囲内でオブジェクトに対するアクセスを許容する手段と、
    を具備することを特徴とするアクセス権限委譲システム。
  6. オブジェクトを提供する1以上のサーバと、オブジェクトを要求する1以上のクライアントがネットワーク接続され、クライアントが所有する権限情報に従ったオブジェクトに対するアクセス操作が許容されるネットワーク上で、各クライアントに対しオブジェクトに対するアクセス操作の権限情報を安全に委譲するオブジェクト提供サーバであって、
    各クライアントのユーザ情報と第3者が知らない秘密情報を保する情報保手段と、
    第2のクライアントが要求するアクセス操作と、第1のクライアントのユーザ情報と、第1のクライアントが第2のクライアントへ移譲するオブジェクトの識別情報及び当該オブジェクトに対して許容するアクセス操作の情報を含み第1のクライアントにより生成された権限情報と、少なくとも前記の生成した権限情報と秘密情報の文字列を連結した情報に対して一方向性関数を適用して第1のクライアントが生成した保護化権限情報とを含む第2のクライアントからの要求メッセージを受信する受信手段と、
    受信した要求メッセージに含まれるユーザ情報に該当する秘密情報の文字列と同要求メッセージに含まれる権限情報の文字列を連結した情報に対して前記一方向性関数を適用して保護化権限情報を生成する保護化権限情報生成手段と、
    受信した要求メッセージに含まれる保護化権限情報と前記保護化権限情報生成手段が生成した保護化権限情報とを比較する保護化権限情報比較手段と、
    前記保護化権限情報比較手段による比較の結果、両者が一致する場合に、前記要求するアクセス操作が前記要求メッセージに含まれる権限情報が許容する範囲内でオブジェクトに対するアクセスを許容する手段と、
    を具備することを特徴とするオブジェクト提供サーバ。
  7. オブジェクトを提供する1以上のサーバがネットワーク接続され、権限情報に従ったオブジェクトに対するアクセス操作が許容されるネットワーク上で、他のクライアントと間及びサーバとの間でオブジェクトに対するアクセス操作の権限情報を安全に委譲するクライアントであって、
    自分のユーザ情報と第3者が知らない秘密情報を保持する手段と、
    オブジェクトの識別情報及び当該オブジェクトに対して許容するアクセス操作の情報を含む、他のクライアントへ委譲する権限情報を生成する手段と、
    少なくとも前記の生成した権限情報の文字列と自分が保持する秘密情報の文字列を連結した情報に対して一方向性関数を適用して保護化権限情報を生成する手段と、
    自分のユーザ情報と他のクライアントへ委譲する権限情報と生成した保護化権限情報を他のクライアントに送信する手段と、
    要求するアクセス操作と、他のクライアントから受け取ったユーザ情報と権限情報と保護化権限情報を含む要求メッセージをサーバに送信して、オブジェクトへのアクセスを要求する手段と、
    を具備することを特徴とするクライアント。
JP27570299A 1999-09-29 1999-09-29 アクセス権限委譲方法 Expired - Fee Related JP4359974B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP27570299A JP4359974B2 (ja) 1999-09-29 1999-09-29 アクセス権限委譲方法
US09/655,803 US7058971B1 (en) 1999-09-29 2000-09-06 Access privilege transferring method
US11/407,985 US7392535B2 (en) 1999-09-29 2006-04-21 Access privilege transferring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27570299A JP4359974B2 (ja) 1999-09-29 1999-09-29 アクセス権限委譲方法

Publications (3)

Publication Number Publication Date
JP2001101054A JP2001101054A (ja) 2001-04-13
JP2001101054A5 JP2001101054A5 (ja) 2006-01-12
JP4359974B2 true JP4359974B2 (ja) 2009-11-11

Family

ID=17559182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27570299A Expired - Fee Related JP4359974B2 (ja) 1999-09-29 1999-09-29 アクセス権限委譲方法

Country Status (2)

Country Link
US (2) US7058971B1 (ja)
JP (1) JP4359974B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281263B1 (en) * 2001-02-23 2007-10-09 Sprint Communications Company L.P. System and method for managing security access for users to network systems
JP4593000B2 (ja) * 2001-04-27 2010-12-08 株式会社日立製作所 ネットワークにおける特定者向けサービス提供方法及びシステム
JP2003085084A (ja) 2001-09-12 2003-03-20 Sony Corp コンテンツ配信システム及びコンテンツ配信方法、携帯端末、配信サーバ、並びに記憶媒体
US7444302B2 (en) * 2002-06-14 2008-10-28 Ellie Mae, Inc. Online system for fulfilling loan applications from loan originators
JP4389145B2 (ja) 2002-07-30 2009-12-24 富士ゼロックス株式会社 クライアントサーバシステムおよびその装置
US7472089B2 (en) 2002-08-15 2008-12-30 Ellie Mae, Inc. Loan origination system interface for online loan application processing
US20040138910A1 (en) * 2002-10-30 2004-07-15 Yohichiroh Matsuno Service providing apparatus, service providing method and computer-readable storage medium
US7428751B2 (en) 2002-12-05 2008-09-23 Microsoft Corporation Secure recovery in a serverless distributed file system
US20040158746A1 (en) * 2003-02-07 2004-08-12 Limin Hu Automatic log-in processing and password management system for multiple target web sites
EP1623302A4 (en) * 2003-03-18 2012-11-21 Networks Dynamics Inc SYSTEM AND METHOD FOR OPERATING A NETWORK
US7921292B1 (en) 2003-04-04 2011-04-05 Voltage Security, Inc. Secure messaging systems
US7454421B2 (en) 2003-07-11 2008-11-18 Nippon Telegraph And Telephone Corporation Database access control method, database access controller, agent processing server, database access control program, and medium recording the program
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
JP3982520B2 (ja) * 2004-06-02 2007-09-26 コニカミノルタビジネステクノロジーズ株式会社 アクセス管理システムおよび方法、画像形成装置、およびコンピュータプログラム
US8990254B2 (en) 2004-07-02 2015-03-24 Ellie Mae, Inc. Loan origination software system for processing mortgage loans over a distributed network
FI20045271A (fi) * 2004-07-12 2006-01-13 Ej Suunnittelu Oy Mekanismeja tietokoneohjelman suorittamiseksi
US7591007B2 (en) * 2004-08-12 2009-09-15 International Business Machines Corporation Computer network and methods for granting and revoking access privileges for an information source
US7593916B2 (en) * 2004-08-19 2009-09-22 Sap Ag Managing data administration
JP5437548B2 (ja) * 2004-11-15 2014-03-12 ハイデルベルガー ドルツクマシーネン アクチエンゲゼルシヤフト 電子制御システムにおける入力署名
JP4260759B2 (ja) * 2005-02-18 2009-04-30 富士通株式会社 機器制御サービス提供プログラム、機器制御サービス提供システムおよび機器制御サービス提供方法
JP5031994B2 (ja) * 2005-03-17 2012-09-26 三菱電機株式会社 権限委譲システムおよび制御装置および権限委譲方法
JP4853671B2 (ja) 2005-03-24 2012-01-11 日本電気株式会社 アクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラム
JP4208086B2 (ja) 2005-09-27 2009-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報の機密性を管理する装置、および、その方法
US7525425B2 (en) 2006-01-20 2009-04-28 Perdiem Llc System and method for defining an event based on relationship between an object location and a user-defined zone
WO2007073470A2 (en) 2005-12-23 2007-06-28 Perdiem, Llc System and method for defining an event based on a relationship between an object location and a user-defined zone
WO2008054329A1 (en) * 2006-10-31 2008-05-08 Agency For Science, Technology And Research Device and method of generating and distributing access permission to digital object
US8104084B2 (en) * 2006-11-07 2012-01-24 Ricoh Company, Ltd. Authorizing a user to a device
US8363244B2 (en) 2007-03-27 2013-01-29 Xerox Corporation Updating authentication server lists for users accessing shared access devices
US8600798B1 (en) 2007-09-21 2013-12-03 Ellie Mae, Inc. Loan screening
KR101453464B1 (ko) * 2007-11-09 2014-10-21 삼성전자주식회사 이동통신 단말기의 컨텐츠 권한 정보 관리 장치 및 방법
JP2011008701A (ja) * 2009-06-29 2011-01-13 Sony Corp 情報処理サーバ、情報処理装置、および情報処理方法
US8381275B2 (en) * 2010-01-27 2013-02-19 International Business Machines Corporation Staged user deletion
US9274815B2 (en) * 2010-03-26 2016-03-01 Qualcomm Incorporated Method and apparatus for portable self-contained node computer
WO2013154556A1 (en) * 2012-04-11 2013-10-17 Empire Technology Development Llc Data center access and management settings transfer
CN103281304A (zh) * 2013-04-28 2013-09-04 苏州亿倍信息技术有限公司 一种信息安全的处理方法及系统
US9912651B2 (en) * 2015-10-13 2018-03-06 Dropbox, Inc. Authenticated server views
JP7059559B2 (ja) * 2017-10-11 2022-04-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US20230141952A1 (en) * 2020-11-09 2023-05-11 Medical Data Networks, LLC System and method for third-party password-less access to a secure database

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263157A (en) * 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles
GB9104909D0 (en) 1991-03-08 1991-04-24 Int Computers Ltd Access control in a distributed computer system
US5790667A (en) * 1995-01-20 1998-08-04 Matsushita Electric Industrial Co., Ltd. Personal authentication method
US5761669A (en) * 1995-06-06 1998-06-02 Microsoft Corporation Controlling access to objects on multiple operating systems
JPH0950465A (ja) * 1995-08-04 1997-02-18 Hitachi Ltd 電子ショッピング方法、電子ショッピングシステムおよび文書認証方法
US5742759A (en) 1995-08-18 1998-04-21 Sun Microsystems, Inc. Method and system for facilitating access control to system resources in a distributed computer system
US5859966A (en) 1995-10-10 1999-01-12 Data General Corporation Security system for computer systems
US5862323A (en) * 1995-11-13 1999-01-19 International Business Machines Corporation Retrieving plain-text passwords from a main registry by a plurality of foreign registries
US5774552A (en) * 1995-12-13 1998-06-30 Ncr Corporation Method and apparatus for retrieving X.509 certificates from an X.500 directory
US5862330A (en) * 1996-07-16 1999-01-19 Lucent Technologies Inc. Technique for obtaining and exchanging information on wolrd wide web
US5675721A (en) * 1996-08-08 1997-10-07 Freedman; Aaron S. Computer network data distribution and selective retrieval system
US5889860A (en) * 1996-11-08 1999-03-30 Sunhawk Corporation, Inc. Encryption system with transaction coded decryption key
US6377691B1 (en) * 1996-12-09 2002-04-23 Microsoft Corporation Challenge-response authentication and key exchange for a connectionless security protocol
US6064736A (en) * 1997-09-15 2000-05-16 International Business Machines Corporation Systems, methods and computer program products that use an encrypted session for additional password verification
US6292790B1 (en) * 1997-10-20 2001-09-18 James E. Krahn Apparatus for importing and exporting partially encrypted configuration data
US6327613B1 (en) * 1998-01-12 2001-12-04 Adaptec, Inc. Method and apparatus for sharing peripheral devices over a network
US6173400B1 (en) * 1998-07-31 2001-01-09 Sun Microsystems, Inc. Methods and systems for establishing a shared secret using an authentication token
US6393565B1 (en) * 1998-08-03 2002-05-21 Entrust Technologies Limited Data management system and method for a limited capacity cryptographic storage unit
US6330677B1 (en) * 1998-10-27 2001-12-11 Sprint Communications Company, L. P. Object-based security system
US6799270B1 (en) * 1998-10-30 2004-09-28 Citrix Systems, Inc. System and method for secure distribution of digital information to a chain of computer system nodes in a network
US6463471B1 (en) * 1998-12-28 2002-10-08 Intel Corporation Method and system for validating and distributing network presence information for peers of interest
US6711679B1 (en) * 1999-03-31 2004-03-23 International Business Machines Corporation Public key infrastructure delegation
US6643774B1 (en) * 1999-04-08 2003-11-04 International Business Machines Corporation Authentication method to enable servers using public key authentication to obtain user-delegated tickets
SE514105C2 (sv) * 1999-05-07 2001-01-08 Ericsson Telefon Ab L M Säker distribution och skydd av krypteringsnyckelinformation
US6289450B1 (en) * 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US6513039B1 (en) * 1999-06-24 2003-01-28 International Business Machines Corporation Profile inferencing through automated access control list analysis heuristics
US6519647B1 (en) * 1999-07-23 2003-02-11 Microsoft Corporation Methods and apparatus for synchronizing access control in a web server
US20020077988A1 (en) * 2000-12-19 2002-06-20 Sasaki Gary D. Distributing digital content
US6499721B2 (en) 2001-02-12 2002-12-31 Michael Stolzman Bulk container valve

Also Published As

Publication number Publication date
JP2001101054A (ja) 2001-04-13
US7058971B1 (en) 2006-06-06
US7392535B2 (en) 2008-06-24
US20060190995A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4359974B2 (ja) アクセス権限委譲方法
JP5620374B2 (ja) アプリケーションセットに対する保護されたコンテンツの許可
US7293098B2 (en) System and apparatus for storage and transfer of secure data on web
US8019881B2 (en) Secure cookies
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
US8024568B2 (en) Method and system for verification of an endpoint security scan
JP3218017B2 (ja) ファイル印刷方法、ネットワーク・システム、コンピュータ・システム、ファイル・サーバ及びプリント・サーバ
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
JP4256361B2 (ja) 認証管理方法及びシステム
US20020032873A1 (en) Method and system for protecting objects distributed over a network
JP5006817B2 (ja) 認証情報生成システム、認証情報生成方法、クライアント装置及びプログラム
JP2002123492A (ja) 既存の強力な認証pkiシステムを用いて外部pkiシステムからシングル・サインオン認証を取得する技法
JP2004038974A (ja) デジタルコンテンツとサービスの使用ライセンスを発行するためのシステムおよびその方法
JP2000200209A (ja) 安全な電子デ―タ格納、取出しシステムおよび方法
JPH1185622A (ja) コア・データ機密事項の保護記憶
EP1320957A1 (en) System for establishing an audit trail to protect objects distributed over a network
JP2004046856A (ja) デジタルコンテンツに対応するデジタルライセンスを取得する方法
JP2005242519A (ja) デジタル著作権管理のための情報処理装置
JP2003330365A (ja) コンテンツ配布/受信方法
JP2023527815A (ja) 非中央集権化されたコンピュータ・ネットワークを介したセキュアなデータ転送のための方法、装置、及びコンピュータ可読媒体
JP3765191B2 (ja) オブジェクトのアクセス管理方法
WO2002005475A2 (en) Generation and use of digital signatures
JPH11168460A (ja) 暗号ネットワーク・システムおよび方法
Close Web-key: Mashing with permission
JP4657706B2 (ja) 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090619

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: 20090721

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090803

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: 20120821

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees