Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3765191B2 - Object access control method - Google Patents
[go: Go Back, main page]

JP3765191B2 - Object access control method - Google Patents

Object access control method Download PDF

Info

Publication number
JP3765191B2
JP3765191B2 JP26614198A JP26614198A JP3765191B2 JP 3765191 B2 JP3765191 B2 JP 3765191B2 JP 26614198 A JP26614198 A JP 26614198A JP 26614198 A JP26614198 A JP 26614198A JP 3765191 B2 JP3765191 B2 JP 3765191B2
Authority
JP
Japan
Prior art keywords
access
key
akey
access key
management server
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
JP26614198A
Other languages
Japanese (ja)
Other versions
JP2000099477A (en
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 JP26614198A priority Critical patent/JP3765191B2/en
Publication of JP2000099477A publication Critical patent/JP2000099477A/en
Application granted granted Critical
Publication of JP3765191B2 publication Critical patent/JP3765191B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上に複数のコンピュータ・システムが相互接続された分散型のネットワーク・システムにおいて、ネットワーク上に存在するオブジェクトを安全に保護するためのオブジェクトのアクセス管理方式に係り、特に、オブジェクトのアクセス権限を記述したケイパビリティ(Capability)をクライアントに配ることによってオブジェクトへのアクセスを許可するタイプのアクセス管理方式に関する。
【0002】
また、本発明は、ネットワーク・システム上のクライアント間でオブジェクトへのアクセス権限を与えることができるオブジェクトのアクセス管理方式に係り、特に、アクセス権限を記述したケイパビリティを安全に委譲したりケイパビリティを無効化することができるオブジェクトのアクセス管理方式に関する。
【0003】
【従来の技術】
昨今の情報処理・情報通信の分野における発展は目覚しいものがある。この種の技術分野においては、コンピュータ・システム同士を相互接続する、すなわち「コンピュータ・ネットワーキング」に関する研究・開発は、従来より活発に行われてきた。システム同士を相互接続する主な目的は、複数ユーザによるコンピュータ資源の共有や、情報の共有・流通などである。
【0004】
システム間を接続するための伝送媒体すなわち「ネットワーク」としては、大学や事業所の構内など限られた空間内に敷設されたLAN(Local Area Network)の他、LANを専用回線で接続したWAN(Wide Area Network)や、一般公衆回線(PSTN)、ISDN(Integrated Service Digital Network)、インターネットなど様々である。
【0005】
ネットワーク・システムは、一般に、ネットワーク上の特定のコンピュータをサーバ(ファイル・サーバ,プリント・サーバ)とし、これを他のクライアントが利用し合うというクライアント・サーバ・モデルとして構築される。また、ネットワーク上においては、各コンピュータ間でアプリケーションを分散処理する分散環境が実現されている。
【0006】
また、ネットワーク上には、無数のオブジェクトが存在する。例えばサーバはサービス・オブジェクトを所有し、これに対し、クライアントは、遠隔手続呼び出し(Remote Procedure Call:RPC)、又は、遠隔メソッド呼び出し(Remote Method Invocation:RMI)などを用いて遠隔的にサービスを要求することができる。ネットワークがTCP/IP(Transmission Control Protocol/Internet Protocol)接続で構成されるインターネットであり、サーバがHTTP(Hyper Text Transfer Protocol)サーバであれば、HTTPサーバが所有するサービス・オブジェクトの実体は、HTTPクライアントにおいてホームページを形成するためのHTML(Hyper Text Markup Language)ファイルである。HTTPクライアントは、例えばURL(Uniform Resource Locator)によってサービス要求を行うことができる。
【0007】
ところで、オブジェクトに対するアクセスは、一般には、オブジェクト自身が持つアクセス識別子を参照することによって実現される。アクセス識別子は、例えばオブジェクトの名前(オブジェクト識別子)であることもある。例えば、オブジェクトの実体がファイルであれば、識別子としてのファイル名をファイル・システムに提示することによりファイル・アクセスを果たすことができる。また、HTTPサーバ・クライアントで構成されるWWW空間では、URLがオブジェクトの識別子に相当する。アクセス識別子は、1つのオブジェクトに対して一対一だけではなく、1つのオブジェクトが複数のアクセス識別子を用意することもある。
【0008】
他方、最近では、オブジェクトへのアクセスを制限という技術に関して研究開発が進められている。特に、ネットワーク上にオブジェクトが散在し、複数のクライアントがアクセスを試みるような分散ネットワーク環境においては、セキュリティの観点からもアクセス制御は非常に重要な課題である。
【0009】
オブジェクトに対するアクセスを制限するための方式の1つとして、「ケイパビリティ(Capability)」方式がある。ケイパビリティとは、オブジェクトに対するアクセス権限のことである。例えば、アクセスが許可されている有効期限や、許可された残りアクセス回数、許可された操作(読み出し、書き込み、実行など)などがケイパビリティに含まれる項目である。ケイパビリティ方式によれば、オブジェクトは、自身に用意された複数のアクセス識別子の各々に対して異なったケイパビリティを与えることもできる。例えば、あるアクセス識別子a1に対しては有効アクセス回数を10回に設定する一方、他のアクセス識別子a2には3回のアクセスに制限したりする。あるいは、アクセス識別子a1には読み出し、書きこみ、実行、削除など全ての操作権限を与えるが、アクセス識別子a2には読出ししか許さないようにすることもできる。
【0010】
ケイパビリティは、オブジェクトへのアクセスを許容する一種の鍵の役割を持つ。すなわち、ケイパビリティを所有するクライアントは、オブジェクトへのアクセスを許可される。例えば、ネットワークが無数のコンピュータ・システムがTCP/IP接続されてなるインターネットのような場合には、ケイパビリティをURL文字列の中で記述することもできる。
【0011】
ところで、クライアント・ユーザは、ネットワーク上に散在する有益なリソースすなわちオブジェクトを、他のユーザと共有することを望むことがある。例えば、クライアントA(上司)が、自分の不在中に、クライアントB(部下)にオブジェクトの管理を委ねたいような場合である。この場合、クライアントAは、他のクライアントBに対してケイパビリティを委譲することによって、ある1つのオブジェクトを共有することができる。
【0012】
ところが、クライアントが、自分と同じケイパビリティを他人に与えてしまっては、オブジェクトが思わぬ不利益を被ることがある。上記の例で言えば、クライアントAが、クライアントBに自分と同じケイパビリティを委譲してしまうと、クライアントAが職場に復帰した後もクライアントBはオブジェクトにアクセスし続けることができる。また、クライアントBはオブジェクトの読み出しオペレーションだけを許可すれば充分なのに、クライアントAと等しく書き込みや実行オペレーションまで不用意に許可してしまっては、オブジェクトに対して不測の改竄が加えられかねない。
【0013】
要言すれば、ネットワーク・システムの運用上、ケイパビリティの委譲を認めるべきではある一方、ケイパビリティの委譲を無制限に許すとネットワークやオブジェクトのセキュリティは脅かされかねないのである。委譲の際には、操作権限に所定の制限を加えるなどなど、ケイパビリティを弱める必要がある。
【0014】
また、ケイパビリティを不正に改竄されないためにも、ケイパビリティの譲受者に対しては、ケイパビリティの内容すら秘匿すべきである。ネットワーク上では、オブジェクトに対するアクセス識別子やそのケイパビリティは、そもそも、秘密情報としての性格が強い。
【0015】
更に言えば、オブジェクトへのアクセスを管理するサーバは、クライアントが生成したケイパビリティを安全且つ確実に検査する必要がある。
【0016】
また、ケイパビリティを生成したクライアントは、オブジェクトが危険にさらされるなどの所定の事態の検知若しくは予見によって、生成したケイパビリティを無効化する必要もあるであろう。
【0017】
例えば特開平5−81204号公報には、分散型コンピュータ・システムにおけるアクセス制御について開示されている。同公報によれば、ケイパビリティに相当する特権属性証明書(PAC)の代理使用を制御すると同時に、PACを多くの目的のために使用できる方法が提供されている。すなわち、PACを配布する際には、これに開始者実体に相当する開始者資格付与属性を含めるようにするとともに、暗号的に開始者資格付与属性を有した暗号キーを開始者実体に配布するようになっている。
【0018】
しかしながら、特開平5−81204号公報に開示された方法によれば、使用期限やアクセス回数など、ケイパビリティーのバリエーションには対応できない。また、開始実体者がケイパビリティを弱めたPACを自由に作成する方法については一切言及していない。
【0019】
また、特開平9−319659号公報には、非分散型のコンピュータ・システムにおいて、各ユーザに異なるケイパビリティを割り当てる方式について開示されている。同公報によれば、コンピュータ機能の全体はケイパビリティ・セットを有するイベント・セットに細分化されており、ユーザがコンピュータ・システム上で実行しようとする特定のジョブに応じてケイパビリティが与えられるようになっている。しかしながら、特開平9−319659号公報に係る発明は、ケイパビリティを安全に守ることができない分散環境に適用されたものではない。また、同公報は、オブジェクト間でケイパビリティの検査を安全に行う方法については一切言及していない。
【0020】
また、特開平9−251425号公報には、分散システムにおけるシステム資源へのアクセスのセキュリティ制御について開示している。すなわち、グループ識別標識を記憶しておき、これをターゲット・オブジェクトに結び付け、次にメンバーシップ検査を使用して、ターゲット・オブジェクトへのアクセスを要求するクライアントがターゲットに対するアクセス権限を有するグループ・メンバーであるか否かを判断するようになっている。
【0021】
しかしながら、特開平9−251425号公報では、使用期限やアクセス回数など、ケイパビリティーのバリエーションには対応する手法については開示していない。また、あるケイパビリティの保有者が新たにケイパビリティを生成したりこれを無効化する手法についても一切言及していない。
【0022】
また、分散OS(オペレーティング・システム)として当業界では周知の”Amoeba”は、譲渡可能で且つ偽造が困難なケイパビリティを提供している。これは以下の機構により実現される。
(1)クライアントがオブジェクト生成要求をサーバに送信する。
(2)サーバは、オブジェクトを生成して、オブジェクト番号と乱数を割り当てる。乱数は、オブジェクト番号でインデックス付けされたオブジェクト・テーブルに格納される。
(3)サーバは、乱数をキーとして権限と乱数を暗号化したチェック・フィールドを含むケイパビリティを生成する。
(4)ケイパビリティをクライアントに返す。
(5)クライアントが、サーバに対して、ケイパビリティを提示したアクセス要求を出す。
(6)サーバは、ケイパビリティからオブジェクト番号とチェック・フィールドを抽出し、オブジェクト・テーブルに格納されている乱数を基にチェック・フィールドから権限と乱数を復号化する。
(7)復号の結果得られた乱数がオブジェクト・テーブルに格納された乱数と一致するかどうか検証する。
(8)要求された操作がケイパビリティに記述された権限に合致すれば、サーバはその操作を実行する。
【0023】
Amoebaでは、さらに、ケイパビリティの保持者が権限を弱めた新しいケイパビリティを生成するために、以下の機構も備えている。
(1)クライアントとサーバがN個の可換な一方向性関数を共有する。
(2)クライアントが第2の権限を生成する。
(3) クライアントが第1の権限と第2の権限との差分の権限に該当する番号と対応付けた一方向性関数を全て適用して、第2のチェック・フィールドを生成する。
(4)サーバが、第2の権限と第2のチェック・フィールドを含むケイパビリティを受信する。
(5)サーバは、権限フィールドに従い、一方向性関数を順次適用して、クライアントが提示したチェック・フィールドと一致した場合に、その操作を実行する。
【0024】
しかしながら、Amoebaは、N個の可換な一方向性関数を用いてN個の権限の可否を記述する方法については規定しているが、使用権限や回数といった権限についての多くのバリエーションに対応する点については考慮していない。また、ケイパビリティーの無効化に関しては、サーバで保持されている乱数を変更することによってあるオブジェクトについての全てのケイパビリティを無効化する手法が規定されているが、特定のケイパビリティを無効化する手法については言及していない。例えば、あるケイパビリティの保持者が生成したケイパビリティや、これから派生したケイパビリティのみを無効化する点は一切規定していない。
【0025】
また、Amoebaではオブジェクトにアクセスするためのオブジェクト番号自体については一切プロテクトがかけられていない。
【0026】
また、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)登録されていれば、サーバは対応するオブジェクトへのアクセスを許可する。
【0027】
また、同論文では、クライアントがパスワードの変更を行うことでURLを無効化することができる点を言及している。
【0028】
しかしながら、同論文では、ある1つのオブジェクトについての正当で且つ異なるURL(すなわちケイパビリティ)を複数生成する点については開示していない。また、パスワードの保持者ではなくURL(すなわちケイパビリティ)の保持者がURLを無効化する点についても一切言及していない。
【0029】
【発明が解決しようとする課題】
本発明の目的は、ネットワーク上に複数のコンピュータ・システムが相互接続された分散型のネットワーク・システムにおいて、ネットワーク上に存在するオブジェクトを安全に保護することができる、優れたオブジェクトのアクセス管理方式を提供することにある。
【0030】
本発明の更なる目的は、オブジェクトのアクセス権限を記述したケイパビリティ(Capability)をクライアントに配ることによってオブジェクトへのアクセスを許可するタイプの、優れたアクセス管理方式を提供することにある。
【0031】
本発明の更なる目的は、ケイパビリティを保有するクライアントが権限を変更したケイパビリティを自由に生成し、他のクライアントに安全に委譲することができる、優れたオブジェクトのアクセス管理方式を提供することにある。
【0032】
本発明の更なる目的は、ケイパビリティを保有するクライアントが権限を変更したケイパビリティを自由に生成し、オブジェクトを管理するサーバは生成されたケイパビリティを安全に検査することができる、優れたオブジェクトのアクセス管理方式を提供することにある。
【0033】
本発明の更なる目的は、ケイパビリティを保有するクライアントが権限を変更したケイパビリティを自由に生成し、さらに生成したケイパビリティを確実に無効化することができる、オブジェクトのアクセス管理方式を提供することにある。
【0034】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトを要求する1以上のオブジェクト・クライアントと、あるオブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上におけるオブジェクトのアクセス管理方法であって、
(a)アクセス管理サーバが、オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成するステップと、
(b)アクセス管理サーバが、第1の権限情報P1とアクセス識別子aとを連結し、自身が持つ公開鍵暗号系の公開鍵pkeyを適用して暗号化し、第1のアクセス・キーakey1=pkey(P1,a)を生成するステップと、
(c)第1のアクセス・キーakey1がオブジェクト・クライアントに配布されるステップと、
(d)第N−1のアクセス・キーakeyN-1を持つオブジェクト・クライアントが、第Nの権限情報PNを生成して、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1とを連結して、公開鍵pkeyを適用して暗号化し、第Nのアクセス・キーakeyN=pkey(PN,akeyN-1)を生成するステップと(但し、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(e)オブジェクト・クライアントが、第Nのアクセス・キーakeyNを提示してオブジェクトAへのアクセスを要求するステップと、
(f)アクセス管理サーバが、自身が持つ公開鍵暗号系の秘密鍵skeyを用いて第Nのアクセス・キーakeyNを復号化して、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1を得て、これらを検査するステップと、
(g)アクセス管理サーバが、前記(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容するステップと、
を含むことを特徴とするオブジェクトのアクセス管理方法である。
【0035】
また、本発明の第2の側面は、オブジェクトを提供する1以上のオブジェクト・サーバとオブジェクトを要求する1以上のオブジェクト・クライアントとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを管理するためのアクセス管理サーバであって、
(a)公開鍵暗号系の公開鍵pkeyと秘密鍵skeyを保持する手段と、
(b)オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成する手段と、
(c)第1の権限情報P1とアクセス識別子aとを連結し、公開鍵pkeyを適用して暗号化し、第1のアクセス・キーakey1=pkey(P1,a)を生成する手段と、
(d)第1のアクセス・キーakey1をオブジェクト・クライアントに配布する手段と、
(e)第Nのアクセス・キーakeyNを提示したオブジェクトAへのアクセス要求を受信する手段と(但し、第Nのアクセス・キーakeyNは、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1を連結し、公開鍵pkeyを適用して生成されたアクセス・キーpkey(PN,akeyN-1)のことであり、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(f)秘密鍵skeyを用いて第Nのアクセス・キーakeyNを復号化して、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1を得て、これらを検査する手段と、
(g)前記手段(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容する手段と、
を含むことを特徴とするアクセス管理サーバである。
【0036】
ここで、前記手段(f)は、最初のアクセス識別子aが現れるまで、秘密鍵skeyを用いた復号化処理を再帰的に実行するようにしてもよい。
【0037】
また、前記手段(f)は、秘密鍵skeyを用いた復号化処理によって順次得られた各権限情報P1,P2,…,PN-1,PNのコンテキストをも検査するようにしてもよい。
【0038】
また、アクセス管理サーバは、さらに無効化されたアクセス・キーを保持する無効アクセス・キー・テーブルと、オブジェクト・クライアントから無効化要求された第Mのアクセス・キーakeyMを前記無効アクセス・キー・テーブルに登録する手段とを含み、
前記手段(f)は、秘密鍵skeyを用いて第Nのアクセス・キーakeyN-1を再帰的に復号化処理する途中で無効化されたアクセス・キーakeyMを得ると、検査を失敗させ、オブジェクトAへのアクセスを拒絶するようにしてもよい。
【0039】
また、本発明の第3の側面は、オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを要求するクライアントであって(但し、アクセス管理サーバは、公開鍵暗号系の公開鍵pkeyと秘密鍵skeyを保持するものとする)、
(a)アクセス識別子aと第1の権限情報P1を与えられたオブジェクトAについての第N−1のアクセス・キーakeyN-1を受信する手段と、
(b)第Nの権限情報PNを生成する手段と、
(c)第Nの権限情報PNと第N−1のアクセス・キーakeyN-1とを連結して、公開鍵pkeyを適用して暗号化し、第Nのアクセス・キーakeyN=pkey(PN,akeyN-1)を生成する手段と、
(d)第Nのアクセス・キーakeyNを用いてオブジェクトAへのアクセスを要求し、第Nのアクセス・キーakeyNを他のオブジェクト・クライアントに委譲し、又は、第Nのアクセス・キーakeyNの無効化を要求する手段と、
を含むことを特徴とするオブジェクト・クライアントである。
【0040】
また、本発明の第4の面は、オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトを要求する1以上のオブジェクト・クライアントと、あるオブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上におけるオブジェクトのアクセス管理方法であって、
(a)アクセス管理サーバが、オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成するステップと、
(b)アクセス管理サーバが、第1の権限情報P1とアクセス識別子aに対して一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成するステップと、
(c)第1のアクセス・キーakey1がオブジェクト・クライアントに配布されるステップと、
(d)第N−1のアクセス・キーakeyN-1を持つオブジェクト・クライアントが、第Nの権限情報PNを生成し、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して一方向性関数fを適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成するステップと(但し、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(e)オブジェクト・クライアントが、第Nのアクセス・キーakeyNと、各権限情報P1,P2,…,PN-1,PNを提示して、オブジェクトAへのアクセスを要求するステップと、
(f)アクセス管理サーバが、オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して一方向性関数fを順次適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査するステップと、
(g)アクセス管理サーバが、前記(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容するステップと、
を含むことを特徴とするオブジェクトのアクセス管理方法である。
【0041】
また、本発明の第5の側面は、オブジェクトを提供する1以上のオブジェクト・サーバとオブジェクトを要求する1以上のオブジェクト・クライアントとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを管理するためのアクセス管理サーバであって、
(a)一方向性関数fを提供する手段と、
(b)オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成する手段と、
(c)第1の権限情報P1とアクセス識別子aに対して一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成する手段と、
(d)第1のアクセス・キーakey1をオブジェクト・クライアントに配布する手段と、
(e)第Nのアクセス・キーakeyNと各権限情報P1,P2,…,PN-1,PNを提示したオブジェクトAへのアクセス要求を受信する手段と(但し、第Nのアクセス・キーakeyNは、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して一方向性関数fを適用して生成されたアクセス・キーf(PN,akeyN-1)のことであり、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(f)オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して一方向性関数fを順次適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査する手段と、
(g)前記手段(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容する手段と、
を含むことを特徴とするアクセス管理サーバである。
【0042】
ここで、前記手段(f)は、受信した各権限情報P1,P2,…,PN-1,PNのコンテキストをも検査するようにしてもよい。
【0043】
また、アクセス管理サーバは、さらに無効化されたアクセス・キーを保持する無効アクセス・キー・テーブルと、オブジェクト・クライアントから無効化要求された第Mのアクセス・キーakeyMを前記無効アクセス・キー・テーブルに登録する手段とを含み、
前記手段(f)は、一方向性関数fを順次適用して第Nのアクセス・キーakeyNを生成する途中で無効化されたアクセス・キーakeyMを得ると、検査を失敗させ、オブジェクトAへのアクセスを拒絶するようにしてもよい。
【0044】
また、本発明の第6の側面は、オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを要求するクライアントであって(但し、アクセス管理サーバは、一方向性関数fを提供するものとする)、
(a)アクセス識別子aと第1の権限情報P1を与えられたオブジェクトAについての第N−1のアクセス・キーakeyN-1と各権限情報P1,P2,…,PN-1を受信する手段と、
(b)第Nの権限情報PNを生成する手段と、
(c)第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して一方向性関数を適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成する手段と、
(d)第Nのアクセス・キーakeyNに各権限情報P1,P2,…,PN-1を添えて、オブジェクトAへのアクセスを要求し、第Nのアクセス・キーakeyNを他のオブジェクト・クライアントに委譲し、又は、第Nのアクセス・キーakeyNの無効化を要求する手段と、
を含むことを特徴とするオブジェクト・クライアントである。
【0045】
また、本発明の第7の側面は、オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトを要求する1以上のオブジェクト・クライアントと、あるオブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上におけるオブジェクトのアクセス管理方法であって、
(a)アクセス管理サーバが、オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成するステップと、
(b)アクセス管理サーバが、第1の権限情報P1とアクセス識別子aに対して可換な一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成するステップと、
(c)第1のアクセス・キーakey1がオブジェクト・クライアントに配布されるステップと、
(d)第N−1のアクセス・キーakeyN-1を持つオブジェクト・クライアントが、第Nの権限情報PNを生成し、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して可換な一方向性関数fを適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成するステップと(但し、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(e)オブジェクト・クライアントが、第Nのアクセス・キーakeyNと、各権限情報P1,P2,…,PN-1,PNを提示して、オブジェクトAへのアクセスを要求するステップと、
(f)アクセス管理サーバが、オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して可換な一方向性関数fを任意の順番で適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査するステップと、
(g)アクセス管理サーバが、前記(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容するステップと、
を含むことを特徴とするオブジェクトのアクセス管理方法である。
【0046】
また、本発明の第8の側面は、オブジェクトを提供する1以上のオブジェクト・サーバとオブジェクトを要求する1以上のオブジェクト・クライアントとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを管理するためのアクセス管理サーバであって、
(a)可換な一方向性関数fを提供する手段と、
(b)オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成する手段と、
(c)第1の権限情報P1とアクセス識別子aに対して可換な一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成する手段と、(d)第1のアクセス・キーakey1をオブジェクト・クライアントに配布する手段と、
(e)第Nのアクセス・キーakeyNと各権限情報P1,P2,…,PN-1,PNを提示したオブジェクトAへのアクセス要求を受信する手段と(但し、第Nのアクセス・キーakeyNは、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して可換な一方向性関数fを適用して生成されたアクセス・キーf(PN,akeyN-1)のことであり、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(f)オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して可換な一方向性関数fを任意の順番で適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査する手段と、
(g)前記手段(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容する手段と、
を含むことを特徴とするアクセス管理サーバである。
【0047】
ここで、前記手段(f)は、受信した各権限情報P1,P2,…,PN-1,PNのコンテキストをも検査するようしてもよい。
【0048】
また、アクセス管理サーバは、さらに無効化されたアクセス・キーを保持する無効アクセス・キー・テーブルと、オブジェクト・クライアントから無効化要求された第Mのアクセス・キーakeyMを前記無効アクセス・キー・テーブルに登録する手段とを含み、
前記手段(f)は、可換な一方向性関数fを任意の順番で適用して第Nのアクセス・キーakeyNを生成する途中で無効化されたアクセス・キーakeyMを得ると、検査を失敗させ、オブジェクトAへのアクセスを拒絶するようにしてもよい。
【0049】
また、本発明の第9の側面は、オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを要求するクライアントであって(但し、アクセス管理サーバは、可換な一方向性関数fを提供するものとする)、
(a)アクセス識別子aと第1の権限情報P1を与えられたオブジェクトAについての第N−1のアクセス・キーakeyN-1と各権限情報P1,P2,…,PN-1を受信する手段と、
(b)第Nの権限情報PNを生成する手段と、
(c)第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して可換な一方向性関数を適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成する手段と、
(d)第Nのアクセス・キーakeyNに各権限情報P1,P2,…,PN-1を添えて、オブジェクトAへのアクセスを要求し、第Nのアクセス・キーakeyNを他のオブジェクト・クライアントに委譲し、又は、第Nのアクセス・キーakeyNの無効化を要求する手段と、
を含むことを特徴とするオブジェクト・クライアントである。
【0050】
【作用】
本発明に係るオブジェクトのアクセス管理方式によれば、アクセス識別子やケイパビリティなどの秘密情報は、暗号鍵若しくは一方向性関数によって暗号化された形態でネットワーク上を伝送される。したがって、オブジェクトにアクセスするためのアクセス・キーが解読され、不正に使用される可能性は極めて低い。
【0051】
また、新たに生成した権限情報をアクセス・キーに連結して暗号化することによって新たなアクセス・キーを派生することを許容しているので、権限情報のバリエーションを増大させることができる。
【0052】
また、権限情報を生成したケイパビリティの保持者が、さらにケイパビリティを弱めた権限情報を連結して新たなアクセス・キーを生成することができるので、アクセス権限の委譲を安全に行うことができる。ケイパビリティの保持者には、さらに派生したアクセス・キーを無効化する権限も与えられる。
【0053】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0054】
【発明の実施の形態】
1.第1の実施形態
本発明は、オブジェクトに対するアクセスを制御するためのものである。特に、複数のコンピュータ・システムがネットワークを介して接続されたネットワーク・システム上において、ネットワーク上に存在するオブジェクトに対するアクセスを制御するためのものである。
【0055】
ここで言うネットワークは、主として、各コンピュータ・システムでアプリケーションを分散処理する分散型ネットワークである。また、ネットワークに接続された各コンピュータ・システムは、オブジェクトを所有するオブジェクト・サーバ(以下、単に「サーバ」とする)と、オブジェクトへのアクセスを要求するオブジェクト・クライアント(以下、単に「クライアント」とする)とに2分される。
【0056】
ネットワーク上には、さらにオブジェクトへのアクセス管理(すなわちオブジェクトのセキュリティ管理)を行うためのアクセス管理サーバも存在する。アクセス管理サーバは、オブジェクト・サーバ自身がその機能を兼ね備えることができるし、あるいはネットワーク上の別のコンピュータ・システムにアクセス管理を委ねることもできる。
【0057】
アクセス管理サーバは、オブジェクトへのアクセスを管理するために、オブジェクトに対して1以上のアクセス識別子を生成する。アクセス識別子を提示することによってオブジェクトへのアクセスが許可される。
【0058】
アクセス識別子は、通常、所定の規則性に従って生成される。例えば識別子中に通し番号が含まれていれば、他のアクセス識別子を容易に推測することができ、オブジェクトのセキュリティが危うくなる。このため、アクセス管理サーバは、アクセス識別子そのものをクライアントに配布することはせずに、元のアクセス識別子に何らかの加工(例えば暗号化)を施したアクセス・キーを代わりに配布するようにしている。アクセス識別子ではなくアクセス・キーを提示することによっても、オブジェクトへのアクセスが許可される。
【0059】
また、セキュリティの観点からオブジェクトへのアクセス権限を制限する必要もある。アクセス権限とは、例えば許可されたアクセス回数(残りアクセス回数)や、アクセスの有効期限、許可されたオブジェクトへの操作(読み出し、書きこみ、削除、実行など)などである。当業界では、アクセスに関する権限情報のことを「ケイパビリティ(Capability)」とも呼ぶ。
【0060】
アクセス管理サーバは、アクセス識別子を生成するときには、そのアクセス識別子に与えられたケイパビリティも定義する。また、1つのオブジェクトに対して複数のアクセス識別子を生成することもできる。アクセス管理サーバは、各アクセス識別子とそのケイパビリティを、対応するオブジェクトと関連付けて保管するようになっている。また、アクセス識別子から派生したアクセス・キーを保管してもよい。また、アクセス管理サーバは、公開鍵暗号系の公開鍵pkeyと秘密鍵skeyを有している。
【0061】
1.1 アクセス管理サーバでの操作
アクセス管理サーバは、まず、あるオブジェクトAへのアクセスを許可するためのアクセス識別子aを生成する。
【0062】
また、アクセス管理サーバは、アクセス識別子aに対して第1の権限情報P1を生成する。アクセス管理サーバは、アクセス識別子aを第1の権限情報P1と関連付けて保管する。
【0063】
次いで、アクセス管理サーバは、アクセス識別子aと第1の権限情報P1を連結(例えばビット連結)し、公開鍵pkeyを適用することで暗号化して、第1のアクセス・キーpkey(P1,a)を生成する。また、アクセス・管理サーバは、アクセス・キーpkey(P1,a)を、オブジェクトAと対応付けて保管しておく。第1の権限情報P1は、公開鍵pkeyで暗号化されているので、アクセス管理サーバ以外は解読することができない。
【0064】
1.2 クライアントでの操作
生成された第1のアクセス・akey1=pkey(P1,a)は、例えばネットワーク経由で、あるクライアントに委譲されたとする。第1のアクセス・キーはアクセス管理サーバの公開鍵pkeyで暗号化されているので、これを使用するクライアントは原則として、自身に与えられた権限情報P1の内容を判読できない。
【0065】
アクセス・キーを受け取ったクライアントは、アクセス・キーに対して後に変更を加えることに備えて、サーバの公開鍵pkeyも取得しておく。
【0066】
1.3 新たなアクセス・キーの生成
クライアントは、さらに別のクライアントにアクセス・キーを委譲したいことがある。例えば、あるクライアントAは、自分の不在中に別のクライアントBにオブジェクトの管理を委ねたいときにはアクセス・キーを渡しておけばよい。
【0067】
ところが、自分と同じ権限情報を持つアクセス・キーをクライアントBに渡してしまったならば、思わぬ不利益を被ることがある。例えば、同じ有効期限のままでアクセス・キーを渡してしまっては、復帰後もクライアントBがオブジェクトにアクセスし続けることができる。また、クライアントBはオブジェクトの読み出しオペレーションだけを許可すれば充分なのに、クライアントAと等しく書き込みや実行オペレーションまで許可してしまっては、オブジェクトのセキュリティは脅かされかねない。すなわち、クライアントAは、自分と同じ権限を与えてもよいとは限らず、権限を弱めなければならない場合もある。例えばアクセス・キーの有効期限を制限するとか、操作権限を読み出しに限定して書き込みや実行を禁止する等である。
【0068】
このような場合、クライアントは、他のクライアントに与えてもよいケイパビリティを自ら作成する。これを第2の権限情報P2としておく。そして、クライアントは、第1のアクセス・キーpkey(P1,a)と第2の権限情報P2を連結(例えばビット連結)し、さらに公開鍵pkeyを適用することで第2のアクセス・キーpkey(P2,pkey(P1,a))を生成する。
【0069】
第2のアクセス・キーは、公開鍵pkeyで暗号化されているので、第2の権限情報P2を作成したクライアント自身と、秘密鍵skeyを持つサーバ以外は、第2のアクセス・キーに含まれた権限情報P2の内容を解読できない。例えば第2のアクセス・キーを譲り受けたクライアントも、基本的には、自分に与えられた権限情報P2を確認できない。
【0070】
以下では、アクセス識別子aから第N番目に派生したアクセス・キーのことを「第Nのアクセス・キー」akeyNと呼び、また、第N番目のアクセス・キーakeyNに与えられた権限情報を第Nの権限情報PNと呼ぶことにする(但し、Nは0以上の整数であり、第0のアクセス・キーはアクセス識別子aとする)。第Nのアクセス・キーと第N−1のアクセス・キーの間には、下式の関係が成立する。
【0071】
【数1】

Figure 0003765191
【0072】
1.4 オブジェクトへのアクセス
第Nのアクセス・キーakeyNを持つクライアントは、オブジェクトAを管理するアクセス管理サーバに対して、このアクセス・キーを用いてオブジェクトAへのアクセスを要求することができる。アクセス要求は、アクセス・キーを含んだ要求メッセージの形式で送信される。
【0073】
これに対し、アクセス管理サーバは、アクセス・キーakeyNが正当なものがどうかを検証しなければならない。
【0074】
アクセス管理サーバは、要求メッセージを受信すると、その中に含まれるアクセス・キーakeyNを取り出す。そして、サーバ自身が持つ公開鍵暗号系の秘密鍵skeyを用いてこのアクセス・キーを復元する。上式がakeyN=pkey(PN,akeyN-1)成立することから、この復元作業によって、第Nの権限情報PNと第N−1番目のアクセス・キーakeyN-1が得られる。
【0075】
アクセス管理サーバは、得られたアクセス・キーakeyN-1が保管しているアクセス識別子aと一致すれば、復元処理を終了する。一致しなければ、さらに秘密鍵skeyを用いた復元処理を試みる。このような復元処理は、アクセス・キーakeyN-1とアクセス識別子aとの照合が成功裏に終わるまで再帰的に試行される。
【0076】
再帰的な復元処理の結果、アクセス管理サーバは、一連の権限情報PN,PN-1,…,P2,P1も得る。アクセス管理サーバは、この一連の権限情報のコンテキストを検証してもよい。アクセス管理サーバは、例えば、アクセス・キーを作成する各クライアントに対して、権限を弱める方向でしか権限情報の作成を認めない
ように規定することができる。権限を弱めるとは、例えばアクセス回数を減らすとか、有効期限を短縮するとか、操作を制限することを意味する。あるいは、アクセス回数のみ権限の強化を認める、などのようにコンテキストを規定してもよい。
【0077】
一連の権限情報のコンテキストを検証した結果、コンテキストが所定の規則に反していれば、アクセス管理サーバは、要求メッセージ中のアクセス・キーakeyNを不正とみなすこともできる。
【0078】
アクセス管理サーバは、アクセス・キーとオブジェクトAのアクセス識別子との照合と、権限情報のコンテキスト検証に成功したときのみ、要求メッセージ中のアクセス・キーakeyNが正当であると判断する。そして、該当するオブジェクトAへのアクセスを認める。
【0079】
1.5 アクセス・キーの無効化
アクセス管理サーバは、一度正当なものとして認められたアクセス・キーを無効化する機構を備えてもよい。この機構は、無効化されたアクセス・キーを登録するための無効アクセス・キー・テーブルを備えることで実現される。
【0080】
クライアントは、無効化したいアクセス・キーを含めた無効化要求メッセージを送信する。アクセス管理サーバは、無効化要求メッセージを受信すると、アクセス・キーを取り出して、これを無効アクセス・キー・テーブルに追加登録すればよい。
【0081】
アクセス管理サーバは、オブジェクトAへのアクセス要求メッセージを受信すると、アクセス・キーを取り出し、秘密鍵skeyを用いてアクセス・キーを再帰的に復元していく(上述)。この再帰的な復元工程の途中で、無効アクセス・キー・テーブルに登録されているアクセス・キーと同じアクセス・キーが出現すると、要求メッセージが不正であると判断して、該当するオブジェクトAへのアクセスを拒否する。
【0082】
2.第2の実施形態
第1の実施形態では、アクセス・キーを生成するために、アクセス管理サーバが持つ公開鍵暗号系の公開鍵と暗号鍵を用いた。第2の実施形態では、暗号鍵の代わりに2個の引数を持つ一方向性関数を用いることにする。ここで言う「一方向性関数」とは、逆関数を求めることが極めて困難な関数のことであり、該関数を適用する前の引数の値を推測することを不可能にする作用がある。アクセス管理サーバとクライアントは2引数(x,y)の一方向性関数f(x,y)を共有するものとする。
【0083】
2.1 アクセス管理サーバでの操作
アクセス管理サーバは、まず、あるオブジェクトAへのアクセスを許可するためのアクセス識別子aを生成する。
【0084】
また、アクセス管理サーバは、アクセス識別子aに対して第1の権限情報P1を生成する。アクセス管理サーバは、アクセス識別子を権限情報と対応付けて保管する。第1の権限情報P1とは、アクセス識別子aを提示したものに与えられる権限すなわちケイパビリティのことである(前述)。
【0085】
次いで、アクセス管理サーバは、アクセス識別子aと第1の権限情報P1に一方向性関数fを適用して、第1のアクセス・キーf(P1,a)を生成する。アクセス管理サーバは、第1のアクセス・キーf(P1,a)を、オブジェクトAと対応付けて保管しておく。
【0086】
2.2 クライアントでの操作
生成された第1のアクセス・キーf(P1,a)は、例えばネットワーク経由で、オブジェクトAへのアクセスが許されたクライアントに送信される。正当なアクセス・キーf(P1,a)を持つクライアントは、これを提示することでオブジェクトAへのアクセスが許される。
【0087】
アクセス・キーを受け取ったクライアントは、アクセス・キーの権限情報に対して後で変更を加えることに備えて、アクセス管理サーバが使用する一方向性関数も取得しておく。
【0088】
2.3 新たなアクセス・キーの生成
クライアントは、さらに別のクライアントにアクセス・キーを委譲したいことがある(上述)。
【0089】
このような場合、クライアントは、他のクライアントに与えてもよいケイパビリティを自ら作成する。これを第2の権限情報P2としておく。そして、クライアントは、第1のアクセス・キーf(P1,a)と第2の権限情報P2に対してさらに一方向性関数fを適用して、第2のアクセス・キーf(P2,f(P1,a))を生成する。
【0090】
一方向性関数fのパラメータ値は、アクセス管理サーバも解読できない。このため、第2のアクセス・キーに第2の権限情報P2を添付して第2のアクセス・キーを委譲するようにする。
【0091】
以下では、アクセス識別子aから第N番目に派生したアクセス・キーのことを「第Nのアクセス・キー」akeyNと呼び、また、第N番目のアクセス・キーakeyNに与えられた権限情報を第Nの権限情報PNと呼ぶことにする(但し、Nは0以上の整数であり、第0のアクセス・キーはアクセス識別子aとする)。第Nのアクセス・キーと第N−1のアクセス・キーの間には、下式の関係が成立する。
【0092】
【数2】
Figure 0003765191
【0093】
一方向性関数fを一度適用すると、権限情報PNは解読不能となってしまう。このため、アクセス・キーを作成したクライアントは、権限情報PNを添えてアクセス・キーf(PN,akeyN-1)を配布するようにする。この結果、第Nのアクセス・キーを送信するメッセージ中には、アクセス・キーに含まれる全ての権限情報P1,P2,…,PN-1,PNが同封されることになる。
【0094】
2.4 オブジェクトへのアクセス
第Nのアクセス・キーakeyNを持つクライアントは、オブジェクトAを管理するアクセス管理サーバに対して、このアクセス・キーを用いてオブジェクトAへのアクセスを要求することができる。
【0095】
但し、アクセス管理サーバは一方向性関数fを適用された第Nのアクセス・キーakeyNを解読できない。このため、クライアントは、アクセス・キーakeyNを受信したときに添付されていた全ての権限情報P1,P2,…,PN-1,PNを沿えて、要求メッセージの形式で送信する。
【0096】
これに対し、アクセス管理サーバは、アクセス・キーakeyNが正当なものがどうかを検証を行う。
【0097】
アクセス管理サーバは、要求メッセージを受信すると、その中に含まれるアクセス・キーakeyNと全ての権限情報P1,P2,…,PN-1,PNを取り出す。そして、一方向性関数fを用いて、第1のアクセス・キーakey1(=f(P1,a)),第2のアクセス・キーakey2(=f(P2,f(P1,a))),…,第Nのアクセス・キーakeyN(=f(PN,akeyN-1))を順次生成していく。
【0098】
そして、アクセス管理サーバは、自ら生成した第Nのアクセス・キーakeyNが、要求メッセージに含まれていたアクセス・キーakeyNと一致すれば、アクセス・キーの照合は成功したと判断する。
【0099】
また、アクセス管理サーバは、要求メッセージに含まれている一連の権限情報についてのコンテキストの検証(上述)を行ってもよい。
【0100】
アクセス管理サーバは、アクセス・キーakeyNの検査と、権限情報のコンテキスト検証に成功したときのみ、要求メッセージ中のアクセス・キーakeyNが正当であると判断する。そして、対応するオブジェクトへのアクセスを認める。
【0101】
2.5 アクセス・キーの無効化
アクセス管理サーバは、一度正当なものとして認められたアクセス・キーを無効化する機構を備えてもよい。この機構は、無効化されたアクセス・キーを登録するための無効アクセス・キー・テーブルを備えることで実現される。
【0102】
クライアントは、無効化したいアクセス・キーを含めた無効化要求メッセージを送信する。アクセス管理サーバは、無効化要求メッセージを受信すると、アクセス・キーを取り出して、これを無効アクセス・キー・テーブルに追加登録すればよい。
【0103】
アクセス管理サーバは、オブジェクトAへのアクセス要求メッセージを受信すると、アクセス・キーとakeyNと全ての権限情報P1,P2,…,PN-1,PNを取り出す。そして、一方向性関数fを用いて、第1のアクセス・キーakey1(=f(P1,a)),第2のアクセス・キーakey2(=f(P2,f(P1,a))),…,第Nのアクセス・キーakeyN(=f(PN,akeyN-1))を順次生成していく(上述)。
【0104】
このアクセス・キーの生成工程の途中で、無効アクセス・キー・テーブルに登録されているアクセス・キーが出現すると、要求メッセージが不正であると判断して、該当するオブジェクトAへのアクセスを拒否する。
【0105】
3.第3の実施形態
第2の実施形態では、アクセス・キーを生成するために、2個の引数を持つ一方向性関数を用いた。第3の実施形態では、この一方向性関数が可換であるとする。可換な一方向性関数とは、下式が成立する一方向性関数のことである。
【0106】
【数3】
Figure 0003765191
【0107】
アクセス管理サーバとクライアントは可換な一方向性関数f(x,y)を共有するものとする。
【0108】
3.1 アクセス管理サーバでの操作
アクセス管理サーバは、まず、あるオブジェクトAへのアクセスを許可するためのアクセス識別子aを生成する。
【0109】
また、アクセス管理サーバは、アクセス識別子aに対して第1の権限情報P1を生成する。アクセス管理サーバは、アクセス識別子を権限情報と対応付けて保管する。第1の権限情報P1とは、アクセス識別子aを提示したものに与えられる権限すなわちケイパビリティのことである(前述)。
【0110】
次いで、アクセス管理サーバは、アクセス識別子aと第1の権限情報P1に可換な一方向性関数fを適用して、第1のアクセス・キーf(P1,a)を生成する。アクセス管理サーバは、第1のアクセス・キーf(P1,a)を、オブジェクトAと対応付けて保管しておく。
【0111】
3.2 クライアントでの操作
生成された第1のアクセス・キーf(P1,a)は、例えばネットワーク経由で、オブジェクトへのアクセスが許されたクライアントに送信される。正当なアクセス・キーf(P1,a)を持つクライアントは、これを提示することでオブジェクトAへのアクセスが許される。
【0112】
アクセス・キーを受け取ったクライアントは、アクセス・キーの権限情報に対して後で変更を加えることに備えて、アクセス管理サーバが使用する可換な一方向性関数fも取得しておく。
【0113】
3.3 新たなアクセス・キーの生成
クライアントは、さらに別のクライアントにアクセス・キーを委譲したいことがある(上述)。
【0114】
このような場合、クライアントは、他のクライアントに与えてもよいケイパビリティを自ら作成する。これを第2の権限情報P2としておく。そして、クライアントは、第1のアクセス・キーf(P1,a)と第2の権限情報P2に対してさらに可換な一方向性関数fを適用して、第2のアクセス・キーf(P2,f(P1,a))を生成する。
【0115】
可換な一方向性関数fのパラメータ値は、アクセス管理サーバも解読できない。このため、第2のアクセス・キーに第2の権限情報P2を添付して第2のアクセス・キーを委譲するようにする。
【0116】
以下では、アクセス識別子aから第N番目に派生したアクセス・キーのことを「第Nのアクセス・キー」akeyNと呼び、また、第N番目のアクセス・キーakeyNに与えられた権限情報を第Nの権限情報PNと呼ぶことにする(但し、Nは0以上の整数であり、第0のアクセス・キーはアクセス識別子aとする)。第Nのアクセス・キーと第N−1のアクセス・キーの間には、下式の関係が成立する。
【0117】
【数4】
Figure 0003765191
【0118】
可換な一方向性関数fを一度適用すると、権限情報PNは解読不能となってしまう。このため、アクセス・キーを作成したクライアントは、権限情報PNを添えてアクセス・キーf(PN,akeyN-1)を配布するようにする。この結果、第Nのアクセス・キーを送信するメッセージ中には、アクセス・キーに含まれる全ての権限情報P1,P2,…,PN-1,PNが同封されることになる。
【0119】
3.4 オブジェクトへのアクセス
第Nのアクセス・キーakeyNを持つクライアントは、オブジェクトAを管理するアクセス管理サーバに対して、このアクセス・キーを用いてオブジェクトAへのアクセスを要求することができる。
【0120】
但し、アクセス管理サーバは可換な一方向性関数fを適用された第Nのアクセス・キーakeyNを解読できない。このため、クライアントは、アクセス・キーakeyNを受信したときに添付されていた全ての権限情報P1,P2,…,PN-1,PNを沿えて、要求メッセージの形式で送信する。
【0121】
これに対し、アクセス管理サーバは、アクセス・キーakeyNが正当なものがどうかを検証を行う。
【0122】
アクセス管理サーバは、要求メッセージを受信すると、その中に含まれるアクセス・キーakeyNと全ての権限情報P1,P2,…,PN-1,PNを取り出す。そして、可換な一方向性関数fを用いて、各アクセス・キーを自ら生成する。但し、可換な一方向性関数fは順序性を守る必要がないので、各アクセス・キーを任意の順番で生成することができる。
【0123】
そして、アクセス管理サーバは、自ら生成した第Nのアクセス・キーakeyNが、要求メッセージに含まれていたアクセス・キーakeyNと一致すれば、アクセス・キーの照合は成功したと判断する。
【0124】
また、アクセス管理サーバは、要求メッセージに含まれている一連の権限情報についてのコンテキストの検証(上述)を行ってもよい。
【0125】
アクセス管理サーバは、アクセス・キーakeyNの検査と、権限情報のコンテキスト検証に成功したときのみ、要求メッセージ中のアクセス・キーakeyNが正当であると判断する。そして、該当するオブジェクトAへのアクセスを認める。
【0126】
なお、第3の実施形態でも、第1及び第2の実施形態と同様にアクセス・キーを無効化するための機構を備えていてもよい。但し、第2の実施形態と略同一の仕組みにより実現できるので、ここでは敢えて説明しない。
【0127】
【実施例】
以下、図面を参照しながら本発明の実施例を詳解する。
【0128】
図1には、本発明の実施に供されるネットワーク・システム100の構成を模式的に示している。同図に示すように、ネットワーク・システム100は、データの伝送媒体であるネットワーク10上に、複数のコンピュータ・システム50A,50B,…が接続されて構成される。
【0129】
ネットワーク10は、例えば大学や企業の構内などの限られた空間内に敷設されたLAN(Local Area Network)である。あるいは、LAN同士を専用線等で相互接続してなるWAN(Wide Area Network)や、一般公衆回線(PSTN:Public Switched Telephone Network)、ISDN(Integrated Service Digital Network)、これらネットワークの大規模な集合体であるインターネットであってもよい。ネットワーク10は、主として、接続された各コンピュータ・システム50A,50B,…においてアプリケーションを分散処理する分散型ネットワークである。
【0130】
各コンピュータ・システム50A,50B,…は、LANアダプタやモデム、TA(Terminal Adapter)等の回線終端装置(DCE:Data Circuit Terminating Equipment)を介してネットワーク10に接続されている。各コンピュータ・システム50A,50B,…は、オブジェクトを所有するオブジェクト・サーバと、オブジェクトへのアクセスを要求するオブジェクト・クライアントに2分される。サーバ又はクライアントの機能に特化してデザインされた専用マシンであってもよいが、一般には、サーバ用又はクライアント用のアプリケーションを導入して動作する汎用機でよい。各コンピュータ・システム50A,50B,…同士は、ネットワーク10を介して、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)接続されている。
【0131】
オブジェクト・サーバ50A,50Bは、複数のオブジェクトを所有する。オブジェクトの一例は、ホームページを形成するためのHTML(Hypertext Markup Language)ファイルである。HTMLファイルは、HTTP(Hypertext Transfer Protocol)プロトコルに従ってネットワーク10上を伝送することができることから、以下では「HTTPオブジェクト」と呼ぶことにする。一方のオブジェクト・クライアント50C,50D,50Eは、URL(Uniform Resource Locator)の形式でHTTPオブジェクトの場所を指定することができる。
【0132】
また、ネットワーク上には、さらにHTTPオブジェクトへのアクセス管理(すなわちオブジェクトのセキュリティ)管理を行うためのアクセス管理サーバも存在する。ネットワーク10上の別のコンピュータ・システムがアクセス管理サーバとして働くことも可能であるが、オブジェクト・サーバ自身がアクセス管理機能を持つことも可能である。後述の各実施例では、オブジェクト・サーバ内の「プロキシ・オブジェクト」がHTTPオブジェクトへのアクセス管理を行うものとする。
【0133】
図2には、HTTPオブジェクト・サーバ50Aの構成を模式的に示している。
図示しない他のオブジェクト・サーバ50Bも同様の構成を備えていると把握されたい。同図に示すように、オブジェクト・サーバ50Aは、N個のHTTPオブジェクト321〜32Nの他、各HTTPオブジェクトへのアクセスを管理するプロキシ・オブジェクト301を含んでいる。オブジェクト・サーバ50AのURLは、SSL(Secure Socket Layer)を用いたHTTPプロトコルに従って”https://www300/”と表されるものとする。(以下の実施例では、ケイパビリティのような秘密情報をネットワーク経由で安全に移送するために、SSLを用いているが、一般には、暗号化を行う他の通信方式、又は、暗号化を行わない通信方式を用いても、本発明の効果を奏することはできる。)
【0134】
プロキシ・オブジェクト301は、各HTTPオブジェクトに対するリファレンスすなわちアクセス識別子を生成する。1つのHTTPオブジェクトに対して2以上のアクセス識別子を生成してもよい。同一のHTTPオブジェクトに対する各アクセス識別子には、それぞれ個別にアクセス権限すなわちケイパビリティ(Capability)が与えられる。プロキシ・オブジェクト301は、個々のアクセス権限を管理するために、アクセス識別子毎にアクセス権限保持部を生成する。
【0135】
図2に示した例では、あるHTTPオブジェクト391に対して、少なくとも2つのアクセス識別子が生成されており、プロキシ・オブジェクト301は各アクセス識別子に対してそれぞれアクセス権限保持部311及び31Mを生成している。
【0136】
アクセス権限保持部311は、アクセス識別子保持部321と、ケイパビリティ・リスト保持部331と、無効リスト保持部341と、リファレンス保持部351とを含んでいる。他のアクセス権限保持部31M…も、アクセス権限保持部311と略同一の構成を有すると把握されたい。
【0137】
アクセス識別子保持部311は、与えられたアクセス識別子を記憶するユニットである。リファレンス保持部351は、アクセス識別子に対応するHTTPオブジェクト391へのポインタを記憶するユニットである。
【0138】
アクセス識別子には、該当するHTTPオブジェクトに対する権限が規定されている。ここで言う権限とは、HTTPオブジェクトに対する操作権限(例えば読み出しのみ、読み書き可、実行可)や、アクセス有効期限、有効アクセス回数などである。これらの権限情報は「ケイパビリティ」と呼ばれる。ケイパビリティは、原初的にはプロキシ・オブジェクト301が与えるが、後述するようにアクセス・キーを付与されたHTTPクライアントが逐次作成する。ケイパビリティ・リスト保持部331は、1つのアクセス識別子から派生した各ケイパビリティの現在の権限内容を保管するユニットである。
【0139】
また、アクセス・キーを生成した(又は受け取った)クライアントは、アクセス・キーを無効化することが許容されている。無効リスト保持部341は、1つのアクセス識別子から派生したアクセス・キーのうち無効化されたものを保管するユニットである。
【0140】
プロキシ・オブジェクト301内で生成されたアクセス権限保持部311,…,31Mは、1つのアクセス権限集合302を構成する。
【0141】
本実施例では、URLを用いてケイパビリティを表現するとともに、暗号を用いてURLを推測困難な形式に変換することによって、HTTPオブジェクトに対するアクセス保護を実現する。以下、各実施例について説明する。
【0142】
1.第1の実施例
第1の実施例では、各アクセス識別子に関する権限情報のセキュリティを守るために、プロキシ・オブジェクト301が保有する公開鍵暗号系の公開鍵pkeyと秘密鍵skeyを用いる。
【0143】
プロキシ・オブジェクト301は、アクセス識別子aとこれに対する権限情報P1を生成する。さらに、プロキシ・オブジェクト301は、権限情報P1とアクセス識別子を連結して、公開鍵pkeyで暗号化することによって、アクセス・キーakey1=pkey(P1.a)を生成する。
【0144】
HTTPクライアント50Cは、HTTPサーバ300との間で、SSL(Secure Socket Layer)などの暗号を用いたメッセージ交換により、アクセス・キーakey1を受信する。
【0145】
アクセス・キーakey1を受信したHTTPクライアント50Cは、自身が作成した権限情報”GET,2,Apr:24:10:00:48:1998:GMT,Apr:24:10:05:48:1998:GMT”と、自身が発生した乱数Rnd1を連結し、さらにこれを公開鍵pkeyで暗号化することで、下式[数5]に示すアクセス・キーakey2を生成する。但し、権限内容には、実行することができるメソッドの他に、使用可能な記憶容量の上限やプロセッサ占有時間の上限を含んでいてもよい。また、権限情報を記述するために、他の任意の表現形式を用いてもよい。
【0146】
【数5】
Figure 0003765191
【0147】
アクセス・キーakey2は、akey1と結び付けられたオブジェクトに対して、世界時で1998年の4月24日10時0分48秒から10時5分48秒の間にGETメソッドを2回実行することを許容する旨の権限情報を包含している。
【0148】
次いで、HTTPクライアント50Cは、アクセス・キーakey2を用いて下式[数6]に示すURLを生成する。
【0149】
【数6】
Figure 0003765191
【0150】
そして、HTTPクライアント50Cは、他のHTTPクライアント50DにこのURLを送信する。
【0151】
HTTPクライアント50Dは、このURLに基づき、ネットワーク10上のwww300で指定されるホスト(この例ではプロキシ・オブジェクト301が存在するサーバと同一)で動作しているHTTPサーバ300と、SSLを用いて接続し、下式[数7]で示したメッセージを送信する。
【0152】
【数7】
Figure 0003765191
【0153】
HTTPサーバ300は、このメッセージを受信すると、メッセージからメソッドGETと、アクセス・キーakey22に相当する文字列”akey1, GET,2,Apr:24:10:00:48:1998:GMT,Apr:24:10:05:48:1998:GMT,Rnd1”を抽出して、プロキシ・オブジェクト301に入力する。
【0154】
プロキシ・オブジェクト301は、自身の秘密鍵skeyを適用して復号化した結果から、アクセス・キーakey2に与えられたケイパビリティが「akey1と結び付けられたオブジェクトに対して、世界時で1998年の4月24日10時0分48秒から10時5分48秒の間にGETメソッドを2回実行することの権利」であることを判読する。
【0155】
また、プロキシ・オブジェクト301は、世界時での現在時刻を取得する。例えば現在時刻が1998年4月24日10時1分48秒であれば、ケイパビリティ・リスト保持部331に下式[数8]に示す内容のケイパビリティを保存するとともに、アクセス・キーに結び付けられたHTTPオブジェクト391に対してメッセージGETを送信する。
【0156】
【数8】
Figure 0003765191
【0157】
ここで、さらにHTTPクライアント50DがHTTPサーバ300に対して[数7]で示したものと同一のメッセージを送信したときの動作について考察してみる。
【0158】
HTTPサーバ300は、メッセージを受信すると、メッセージからメソッドGETと、アクセス・キーakey2に相当する文字列”akey1, GET,2,Apr:24:10:00:48:1998:GMT,Apr:24:10:05:48:1998:GMT,Rnd1”を抽出して、プロキシ・オブジェクト301に入力する。
【0159】
プロキシ・オブジェクト301は、アクセス権限集合302に登録されているアクセス・キーを検索して、アクセス・キーakey2と同一のキーが既に登録されているかどうかを判断する。そして、このアクセス・キーakey2に該当するケイパビリティの現在の内容が以下の[数9]の通りであることを、ケイパビリティ・リスト保持部331から導出する。
【0160】
【数9】
Figure 0003765191
【0161】
プロキシ・オブジェクト301は、世界時での現在時刻を取得する。例えば現在時刻が1998年4月24日10時3分48秒でれあば、ケイパビリティ・リスト保持部331中の当該エントリの内容を以下の通りに変更した後、HTTPオブジェクト391に対してメッセージGETを送信する。ここで行われるケイパビリティの変更内容は、残り回数を1だけ減分することである。
【0162】
【数10】
Figure 0003765191
【0163】
この後、プロキシ・オブジェクト301は、世界時での現在時刻が10時5分48秒を経過した時点で、ケイパビリティ・リスト保持部331中の当該エントリを削除する(削除しないまでも、エントリに対応するケイパビリティは失効する)。
【0164】
2.第2の実施例
第2の実施例では、各アクセス識別子に関する権限情報のセキュリティを守るために、プロキシ・オブジェクト301が保有する一方向性関数fを用いる。「一方向性関数」とは、逆関数を求めることが極めて困難な関数のことであり、該関数を適用する前の引数の値を推測することを不可能にする作用がある。この実施例で用いる一方向性関数は可換であってもよい。
【0165】
プロキシ・オブジェクト301は、HTTPオブジェクト391の1つのリファレンスに対して、アクセス識別子aを生成し、これをアクセス識別子321で保存する。
【0166】
プロキシ・オブジェクト301は、次いで、ケイパビリティ識別子Rnd0を生成し、ケイパビリティ・リスト保持部331でこれを保存する。
【0167】
さらに、ケイパビリティ・オブジェクト301は、HTTPクライアントにHTTPオブジェクトへのアクセス(操作)を許可する権限内容を記述した権限情報right1とケイパビリティ識別子Rnd0に対して一方向性関数fを適用して、下式[数11]に示すようなケイパビリティcap1を生成する。cap1は、2項の組のビット列として表される。
【0168】
【数11】
Figure 0003765191
【0169】
上式の2項組の第1項は権限情報の不正な改竄を防止するためのチェック・フィールドとして機能し、また、第2項は権限の変更履歴をリスト状に記述している。
【0170】
上式に含まれる権限情報right1は、世界時で1998年4月24日0時0分0秒から4月25日0時0分0秒の間に、GETメソッドを5回実行することを許容する旨を示すものであり、以下の[数12]で示した文字列で構成されているものとする。
【0171】
【数12】
Figure 0003765191
【0172】
但し、権限内容right1には、実行することができるメソッドの他に、使用可能な記憶容量の上限やプロセッサ占有時間の上限を含んでいてもよい。また、権限情報を記述するために、他の任意の表現形式を用いてもよい。
【0173】
次いで、プロキシ・オブジェクト301は、サーバ名とアクセス識別子とケイパビリティを含んだ以下の[数13]に示すURL文字列を生成して、HTTPクライアント50Cに送信する。
【0174】
【数13】
Figure 0003765191
【0175】
HTTPクライアント50Cは、HTTPサーバ300との暗号を用いたメッセージ交換により、ケイパビリティcap1を含むURLを受信する。
【0176】
以下では、HTTPクライアント50Cが、HTTPサーバ300から取得した権限を弱めて他のHTTP50Dに委譲する操作について説明する。
【0177】
HTTPクライアント50Cは、以下の[数14]に示す新しいright2と、ケイパビリティ識別子Rnd2を生成する。
【0178】
【数14】
Figure 0003765191
【0179】
上記の権限情報right2は、世界時で1998年4月24日10時0分48秒から10時5分48秒までの間に、GETメッセージを2回実行することができる権限を記述している。HTTPクライアント50Cは、一方向性関数fを用いて、2項組を表すビット列として下式[数15]のようなケイパビリティcap2を生成する。
【0180】
【数15】
Figure 0003765191
【0181】
次いで、HTTPクライアント50Cは、cap2を基に、以下のよ[数16]に示すようなURL文字列を生成して、これを他のHTTPクライアント50Dに送信する。
【0182】
【数16】
Figure 0003765191
【0183】
HTTPクライアント50Dは、HTTPクライアント50Cから受信したURLに従って、ネットワーク上においてwww300で表されるホストで動作中のHTTPサーバ300とSSLを用いて接続して、以下の[数17]に示すメッセージを送信する。
【0184】
【数17】
Figure 0003765191
【0185】
HTTPサーバ300は、メッセージを受信すると、このメッセージの中から、GETメソッドと、アクセス識別子aと、ケイパビリティcap2を抽出する(ケイパビリティcap2は、[数15]に示した文字列で構成される)。そして、HTTPサーバ300は、これらのパラメータをプロキシ・オブジェクト301に入力する。
【0186】
プロキシ・オブジェクト301は、アクセス権限集合302の中で入力されたアクセス識別子aを検索して、該当するアクセス権限保持部311内のケイパビリティ・リスト保持部331が保持しているケイパビリティ識別子Rnd0を取得する。
【0187】
次いで、プロキシ・オブジェクト301は、以下のような《処理手順1》を実行する。
【0188】
【数18】
Figure 0003765191
【0189】
但し、一方向性関数fとして、下式のような可換性を持つ一方向性関数を用いることもできる。
【0190】
【数19】
Figure 0003765191
【0191】
可換性のある一方向性関数fを用いることにより、変更履歴の順番を無視した下記の《処理手順2》を実行することによっても、《処理手順1》と同様の処理結果が得られる。
【0192】
【数20】
Figure 0003765191
【0193】
可換性のある一方向性関数fを用いることは、ケイパビリティの第2項である変更履歴を表すリストの保持方法として、履歴の順を保持する必要がないことを意味する。例えば、履歴の順番に依らず、権限で許される操作毎にリストを分割して保持したり、権限を特定のビット・フィールドに対応させてリストを保持することが可能となる。
【0194】
プロキシ・オブジェクト301は、《処理手順2》を実行した結果から、メッセージに包含されたケイパビリティの内容は「cap1と結び付けられたオブジェクトに対して、世界時刻で1998年の4月24日10時0分48秒から10時5分48秒の間に、GETメソッドを2かい実行することのできる権利」であると判断する。
【0195】
さらに、プロキシ・オブジェクト301は、ケイパビリティ識別子Rnd1とRnd2をキーとして、ケイパビリティ・リスト保持部331内を検索する。該当するエントリがリスト中にないので、世界時での現在時刻を取得し、1998年4月24日10時1分48秒、すなわち与えられたケイパビリティの有効期限内であることから、ケイパビリティ・リスト保持部331中に以下のエントリを保存する。
【0196】
【数21】
Figure 0003765191
【0197】
そして、プロキシ・オブジェクト301は、該当するHTTPオブジェクト391に対してメッセージGETを送信するとともに、オブジェクト391から受信した応答を要求元のHTTPクライアントに送信する。
【0198】
ここで、HTTPクライアント50DがHTTPサーバ300に対して[数17]に示したものと同じメッセージを送信した場合の動作について説明する。
【0199】
プロキシ・オブジェクト301は、上述の《処理手順1》または《処理手順2》に従ってメッセージ中の権限情報を検証した後、受信したケイパビリティcap2に含まれているケイパビリティ識別子Rnd1とRnd2をキーとしてケイパビリティ・リスト保持部331を検索し、該当するエントリから以下に示す履歴を抽出する。
【0200】
【数22】
Figure 0003765191
【0201】
そして、プロキシ・オブジェクト301は、該当エントリの履歴の内容を以下のように変更してから、対応するHTTPオブジェクト391に対してメッセージGETを送信する。ここで行われるケイパビリティの変更内容は、残り回数を1だけ減分することである。
【0202】
【数23】
Figure 0003765191
【0203】
この後、プロキシ・オブジェクト301は、世界時で10時5分48秒になった時点で、ケイパビリティ・リスト保持部331中の識別子Rnd2に対応するエントリを削除する(削除しないまでも、エントリに対応するケイパビリティは失効する)。
【0204】
次に、HTTPクライアント50Cが他のHTTPクライアント50Dに与えたケイパビリティcap2を無効化する処理について説明する。
【0205】
この場合、HTTPクライアント50Cは、アクセス識別子aと、[数11]に示したケイパビリティcap1と、HTTPクライアント50Dに与えたケイパビリティに含まれるケイパビリティ識別子Rnd2を基に、下式[数24]のようなメッセージを生成して、HTTPサーバ300に送信する。
【0206】
【数24】
Figure 0003765191
【0207】
このメッセージは、aというアクセス識別子を持つアクセス権限保持部321に対して、ケイパビリティcap1から派生したケイパビリティcap2の無効化を要求する旨の内容を含んでいる。
【0208】
これに対し、プロキシ・オブジェクト301は、以下のような《処理手順3》を実行して、ケイパビリティcap2がケイパビリティcap1から派生したものかどうかを検証することができる。
【0209】
【数25】
Figure 0003765191
【0210】
プロキシ・オブジェクト301は、無効化要求に含まれる第2のケイパビリティcap2が第1のケイパビリティcap1の派生である場合には、要求に含まれるアクセス識別子の無効リスト保持部341に当該ケイパビリティcap2を追加登録する。
【0211】
なお、無効化されたケイパビリティのうち、そもそも権限の有効期限により無効となるものについては、無効リストから取り除いてもよい。
【0212】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0213】
【発明の効果】
以上詳記したように、本発明によれば、ネットワーク上に複数のコンピュータ・システムが相互接続された分散型のネットワーク・システムにおいて、ネットワーク上に存在するオブジェクトを安全に保護することができる、優れたオブジェクトのアクセス管理方式を提供することができる。
【0214】
また、本発明によれば、オブジェクトのアクセス権限を記述したケイパビリティ(Capability)をクライアントに配ることによってオブジェクトへのアクセスを許可するタイプの、優れたアクセス管理方式を提供することができる。
【0215】
また、本発明によれば、ケイパビリティを保有するクライアントが権限を変更したケイパビリティを自由に生成し、他のクライアントに安全に委譲することができる、優れたオブジェクトのアクセス管理方式を提供することができる。
【0216】
また、本発明によれば、ケイパビリティを保有するクライアントが権限を変更したケイパビリティを自由に生成し、オブジェクトを管理するサーバは生成されたケイパビリティを安全に検査することができる、優れたオブジェクトのアクセス管理方式を提供することができる。
【0217】
また、本発明によれば、ケイパビリティを保有するクライアントが権限を変更したケイパビリティを自由に生成し、さらに生成したケイパビリティを確実に無効化することができる、優れたオブジェクトのアクセス管理方式を提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施に供されるネットワーク・システム100の構成を模式的に示した図である。
【図2】 オブジェクト・サーバ50Aの構成を模式的に示した図である。
【符号の説明】
10…ネットワーク
50…コンピュータ・システム
100…ネットワーク・システム
300…HTTPサーバ
301…プロキシ・オブジェクト
302…アクセス権限集合
311,31M…アクセス権限保持部
321,32M…アクセス識別子保持部
331,33M…ケイパビリティ・リスト保持部
341,34M…無効リスト保持部
351,35M…リファレンス保持部
391,39M…HTTPオブジェクト[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an object access management method for securely protecting an object existing on a network in a distributed network system in which a plurality of computer systems are interconnected on a network, and more particularly to an object access management method. The present invention relates to an access management method of a type in which access to an object is permitted by distributing a capability describing the access authority to a client.
[0002]
In addition, the present invention relates to an object access management system that can grant access authority to an object between clients on a network system, and in particular, the capability describing the access authority can be safely delegated or disabled. The present invention relates to an object access management method.
[0003]
[Prior art]
Recent developments in the fields of information processing and information communication are remarkable. In this type of technical field, research and development related to interconnecting computer systems, that is, "computer networking" has been actively conducted. The main purpose of interconnecting systems is the sharing of computer resources by multiple users and the sharing and distribution of information.
[0004]
As a transmission medium for connecting between systems, that is, a “network”, in addition to a LAN (Local Area Network) laid in a limited space such as a campus or an office, a WAN (LAN) connected by a dedicated line ( There are various types such as Wide Area Network), general public line (PSTN), ISDN (Integrated Service Digital Network), and the Internet.
[0005]
A network system is generally constructed as a client-server model in which a specific computer on a network is a server (file server, print server), and other clients use each other. Also, on the network, a distributed environment in which applications are distributedly processed among computers is realized.
[0006]
There are innumerable objects on the network. For example, a server owns a service object, while a client remotely requests a service by using a remote procedure call (RPC) or a remote method invocation (RMI). can do. If the network is the Internet configured by TCP / IP (Transmission Control Protocol / Internet Protocol) connection and the server is an HTTP (Hyper Text Transfer Protocol) server, the entity of the service object owned by the HTTP server is the HTTP client. HTML (Hyper Text Markup Language) file for forming a home page in FIG. The HTTP client can make a service request by using, for example, a URL (Uniform Resource Locator).
[0007]
Incidentally, access to an object is generally realized by referring to an access identifier that the object itself has. The access identifier may be an object name (object identifier), for example. For example, if the object entity is a file, file access can be achieved by presenting the file name as an identifier to the file system. In the WWW space composed of HTTP servers and clients, the URL corresponds to the identifier of the object. The access identifier is not only one-to-one for one object, but one object may prepare a plurality of access identifiers.
[0008]
On the other hand, recently, research and development has been conducted on a technique of restricting access to objects. In particular, in a distributed network environment where objects are scattered on the network and a plurality of clients try to access, access control is a very important issue from the viewpoint of security.
[0009]
One of the methods for restricting access to an object is a “capability” method. A capability is an access right to an object. For example, the expiration date for which access is permitted, the number of permitted remaining accesses, permitted operations (reading, writing, execution, etc.) are items included in the capability. According to the capability method, an object can give different capabilities to each of a plurality of access identifiers prepared for itself. For example, the number of effective accesses is set to 10 for a certain access identifier a1, while the access is limited to 3 times for another access identifier a2. Alternatively, it is possible to give all operation authority such as read, write, execute, and delete to the access identifier a1, but allow only read to the access identifier a2.
[0010]
Capabilities have a kind of key role that allows access to objects. That is, the client that owns the capability is allowed to access the object. For example, in the case of the Internet in which a myriad of computer systems are connected by TCP / IP, capabilities can be described in a URL character string.
[0011]
By the way, client users may wish to share valuable resources or objects scattered across the network with other users. For example, the client A (superior) wants to leave the management of the object to the client B (subordinate) in the absence of himself / herself. In this case, the client A can share one object by delegating the capability to the other client B.
[0012]
However, if the client gives others the same capabilities as you, the object may suffer unexpected disadvantages. In the above example, if the client A delegates the same capability to the client B as the client A, the client B can continue to access the object even after the client A returns to the workplace. Further, although it is sufficient for the client B to permit only the read operation of the object, if the write and execute operations are inadvertently permitted as in the case of the client A, the object may be unexpectedly altered.
[0013]
In short, the delegation of capabilities should be allowed in the operation of network systems, but the security of networks and objects can be threatened if unlimited delegation of capabilities is allowed. At the time of delegation, it is necessary to weaken the capability such as adding a predetermined restriction to the operation authority.
[0014]
In order not to tamper with the capability, the content of the capability should be kept secret from the transferee of the capability. On the network, access identifiers for objects and their capabilities have a strong character as secret information.
[0015]
Furthermore, the server that manages access to the object needs to check the capabilities generated by the client safely and reliably.
[0016]
The client that generated the capability may also need to invalidate the generated capability by detecting or predicting a predetermined situation such as an object being at risk.
[0017]
For example, Japanese Patent Application Laid-Open No. 5-81204 discloses access control in a distributed computer system. According to the publication, there is provided a method for controlling the proxy use of a privilege attribute certificate (PAC) corresponding to the capability, and at the same time, using the PAC for many purposes. That is, when distributing the PAC, the initiator qualification attribute corresponding to the initiator entity is included in the PAC, and the cryptographic key having the initiator qualification attribute is cryptographically distributed to the initiator entity. It is like that.
[0018]
However, according to the method disclosed in Japanese Patent Laid-Open No. 5-81204, it is not possible to cope with variations in capabilities such as the expiration date and the number of accesses. Also, there is no mention of how the starting entity can freely create a PAC with weak capabilities.
[0019]
Japanese Laid-Open Patent Publication No. 9-319659 discloses a method for assigning different capabilities to each user in a non-distributed computer system. According to the publication, the entire computer function is subdivided into an event set having a capability set, and the capability is given according to a specific job to be executed by the user on the computer system. ing. However, the invention according to Japanese Patent Laid-Open No. 9-319659 is not applied to a distributed environment where the capability cannot be safely protected. In addition, the publication does not mention any method for safely checking the capability between objects.
[0020]
Japanese Patent Laid-Open No. 9-251425 discloses security control of access to system resources in a distributed system. That is, remember the group identifier, bind it to the target object, and then use membership checking to identify the group member that the client requesting access to the target object has access to the target. Judgment is made whether or not there is.
[0021]
However, Japanese Patent Application Laid-Open No. 9-251425 does not disclose a method for dealing with variations in capabilities such as the expiration date and the number of accesses. Nor does it mention any method for a capability holder to create or disable a new capability.
[0022]
Also, “Amoeb”, which is well known in the industry as a distributed OS (operating system), provides capabilities that are transferable and difficult to forge. This is realized by the following mechanism.
(1) The client transmits an object generation request to the server.
(2) The server generates an object and assigns an object number and a random number. The random numbers are stored in an object table indexed by object number.
(3) The server generates a capability including a check field in which the authority and the random number are encrypted using the random number as a key.
(4) Return capabilities to the client.
(5) The client issues an access request indicating the capability to the server.
(6) The server extracts the object number and the check field from the capability, and decrypts the authority and the random number from the check field based on the random number stored in the object table.
(7) It is verified whether or not the random number obtained as a result of decryption matches the random number stored in the object table.
(8) If the requested operation matches the authority described in the capability, the server executes the operation.
[0023]
In addition, in order to generate a new capability in which the capability holder has weakened authority, the following mechanism is also provided in Amoeba.
(1) Client and server share N commutative one-way functions.
(2) The client generates the second authority.
(3) The client applies all the one-way functions associated with the numbers corresponding to the difference authority between the first authority and the second authority to generate the second check field.
(4) The server receives a capability including a second authority and a second check field.
(5) The server sequentially applies the one-way function according to the authority field, and executes the operation when it matches the check field presented by the client.
[0024]
However, Amoeba specifies a method for describing whether or not N authorities are permitted using N commutative one-way functions, but it corresponds to many variations of authority such as use authority and number of times. The point is not considered. In addition, regarding the disabling of capabilities, a method for disabling all capabilities for a certain object by changing the random number held by the server is specified, but a method for disabling a specific capability is specified. Does not mention. For example, it does not stipulate that a capability created by a holder of a certain capability or only a capability derived therefrom is invalidated.
[0025]
Also, in Amoeba, the object number itself for accessing the object is not protected at all.
[0026]
In addition, Bjorn N. Freeman-Benson's paper "Using the Web to Private Information -or- A Short Paper About Password Protection Without Client Modification" (URL is "http://www.cw.pw. The handling of certain URLs (ie capabilities) is disclosed. The method described in the paper follows the following procedure.
(1) The server generates and holds a password list including a login name and password pair. The server also holds an encryption key.
(2) The client sends a message consisting of a login name and password pair to the server.
(3) The server searches the password list, and if a combination of the login name and password transmitted from the client is found, the server uses the character string obtained by encrypting the login name and password with the encryption key as the access key. And send it to the client.
(4) The client makes an access request to the server using the received URL.
(5) The server extracts the access key from the received URL and decrypts it using the encryption key to obtain the original login name and password pair. It then checks whether this is registered in the password list.
(6) If registered, the server permits access to the corresponding object.
[0027]
The paper also mentions that the URL can be invalidated by the client changing the password.
[0028]
However, this paper does not disclose that a plurality of valid and different URLs (that is, capabilities) for one object are generated. Also, there is no mention that the URL (that is, capability) holder invalidates the URL, not the password holder.
[0029]
[Problems to be solved by the invention]
SUMMARY OF THE INVENTION An object of the present invention is to provide an excellent object access management system capable of safely protecting objects existing on a network in a distributed network system in which a plurality of computer systems are interconnected on a network. It is to provide.
[0030]
It is a further object of the present invention to provide an excellent access management system of a type that permits access to an object by distributing a capability describing the access authority of the object to the client.
[0031]
It is a further object of the present invention to provide an excellent object access management system in which a client having the capability can freely generate a capability whose authority has been changed and can be safely delegated to another client. .
[0032]
A further object of the present invention is to provide excellent object access management in which a client having a capability can freely generate a capability whose authority has been changed, and a server that manages the object can safely inspect the generated capability. To provide a method.
[0033]
It is a further object of the present invention to provide an object access management system in which a client having a capability can freely generate a capability whose authority has been changed, and can reliably invalidate the generated capability. .
[0034]
[Means for Solving the Problems]
The present invention has been made in view of the above-mentioned problems. The first aspect of the present invention is to provide one or more object servers that provide objects, one or more object clients that request objects, and a certain object. A method for managing access to an object on a distributed network system in which an access management server that manages access to the network is connected via a network,
(A) An access identifier a for the access management server to access the object A, and first authority information P for the access identifier a 1 Generating
(B) The access management server receives the first authority information P 1 And the access identifier a are encrypted by applying the public key pkey of the public key cryptosystem of the first access key akey. 1 = Pkey (P 1 , A),
(C) first access key akey 1 Is distributed to the object client;
(D) N-1th access key akey N-1 Object client having N-th authority information P N Nth authority information P N And N-1th access key akey N-1 And applying the public key pkey for encryption, and the Nth access key akey N = Pkey (P N , Akey N-1 ) (Where N is a positive integer and the 0th access key is the access identifier a).
(E) The object client sends the Nth access key akey N Requesting access to object A by presenting
(F) The access management server uses an N-th access key akey using its own public key cryptography private key sky N And the Nth authority information P N And N-1th access key akey N-1 Obtaining and inspecting these, and
(G) the access management server allowing access to the object A in response to the successful check in (f);
The object access management method is characterized by including:
[0035]
A second aspect of the present invention provides a distributed network system in which one or more object servers that provide objects and one or more object clients that request objects are connected via a network. An access management server for managing access to
(A) means for holding a public key pkey and a private key sky of a public key cryptosystem;
(B) Access identifier a for accessing the object A, and first authority information P for the access identifier a 1 Means for generating
(C) First authority information P 1 And the access identifier a are encrypted by applying the public key pkey, and the first access key akey 1 = Pkey (P 1 , A), and
(D) First access key akey 1 A means to distribute to client objects;
(E) Nth access key akey N A means for receiving an access request to the object A presenting (the Nth access key akey) N N-th authority information P N And N-1th access key akey N-1 And the access key pkey (P generated by applying the public key pkey) N , Akey N-1 N is a positive integer, and the 0th access key is the access identifier a. ),
(F) Nth access key akey using secret key skey N And the Nth authority information P N And N-1th access key akey N-1 Means to obtain and inspect these,
(G) means for permitting access to the object A in response to the successful examination in the means (f);
An access management server characterized by including:
[0036]
Here, the means (f) may execute the decryption process using the secret key sky recursively until the first access identifier a appears.
[0037]
Further, the means (f) is configured so that each authority information P obtained sequentially by the decryption process using the secret key sky 1 , P 2 , ..., P N-1 , P N The context may also be checked.
[0038]
Further, the access management server further includes an invalid access key table that holds the invalidated access key, and the Mth access key akey requested to be invalidated by the object client. M Means for registering in the invalid access key table,
The means (f) uses the secret key skey to generate the Nth access key ake. N-1 Access key akey invalidated during recursive decryption M If obtained, the test may be failed and access to the object A may be denied.
[0039]
According to a third aspect of the present invention, there is provided a distributed network system in which one or more object servers that provide objects and an access management server that manages access to the objects are connected via a network. A client that requests access to an object (provided that the access management server holds a public key pkey and a private key sky of a public key cryptosystem);
(A) Access identifier a and first authority information P 1 N-1th access key akey for object A given N-1 Means for receiving
(B) Nth authority information P N Means for generating
(C) Nth authority information P N And N-1th access key akey N-1 And applying the public key pkey for encryption, and the Nth access key akey N = Pkey (P N , Akey N-1 )
(D) Nth access key akey N Is used to request access to the object A and the Nth access key akey N Is delegated to another object client, or the Nth access key akey N A means of requesting invalidation of
It is an object client characterized by including.
[0040]
In addition, according to a fourth aspect of the present invention, one or more object servers that provide objects, one or more object clients that request objects, and an access management server that manages access to an object are connected to a network. An object access management method on a distributed network system connected via
(A) An access identifier a for the access management server to access the object A, and first authority information P for the access identifier a 1 Generating
(B) The access management server receives the first authority information P 1 And the first access key akey by applying the one-way function f to the access identifier a 1 = F (P 1 , A),
(C) first access key akey 1 Is distributed to the object client;
(D) N-1th access key akey N-1 Object client having N-th authority information P N Nth authority information P N And N-1th access key akey N-1 To the Nth access key akey by applying the one-way function f to N = F (P N , Akey N-1 ) (Where N is a positive integer and the 0th access key is the access identifier a).
(E) The object client sends the Nth access key akey N And each authority information P 1 , P 2 , ..., P N-1 , P N And requesting access to object A;
(F) The access management server receives the access identifier a of the object A and each authority information P received 1 , P 2 , ..., P N-1 , P N Are sequentially applied to the Nth access key akey. N And the received Nth access key akey N Comparing and inspecting,
(G) the access management server allowing access to the object A in response to the successful check in (f);
The object access management method is characterized by including:
[0041]
The fifth aspect of the present invention provides an object on a distributed network system in which one or more object servers that provide objects and one or more object clients that request objects are connected via a network. An access management server for managing access to
(A) means for providing a one-way function f;
(B) Access identifier a for accessing the object A, and first authority information P for the access identifier a 1 Means for generating
(C) First authority information P 1 And the first access key akey by applying the one-way function f to the access identifier a 1 = F (P 1 , A), and
(D) First access key akey 1 A means to distribute to client objects;
(E) Nth access key akey N And each authority information P 1 , P 2 , ..., P N-1 , P N A means for receiving an access request to the object A presenting (the Nth access key akey) N N-th authority information P N And N-1th access key akey N-1 The access key f (P generated by applying the one-way function f to N , Akey N-1 N is a positive integer, and the 0th access key is the access identifier a. ),
(F) Access identifier a of object A and each authority information P received 1 , P 2 , ..., P N-1 , P N Are sequentially applied to the Nth access key akey. N And the received Nth access key akey N Means for comparing and inspecting,
(G) means for permitting access to the object A in response to the successful examination in the means (f);
An access management server characterized by including:
[0042]
Here, the means (f) receives each authority information P received. 1 , P 2 , ..., P N-1 , P N The context may also be checked.
[0043]
Further, the access management server further includes an invalid access key table that holds the invalidated access key, and the Mth access key akey requested to be invalidated by the object client. M Means for registering in the invalid access key table,
The means (f) sequentially applies the one-way function f to the Nth access key akey. N Access key akey that was revoked while generating M If obtained, the test may be failed and access to the object A may be denied.
[0044]
According to a sixth aspect of the present invention, there is provided a distributed network system in which one or more object servers that provide objects and an access management server that manages access to the objects are connected via a network. A client requesting access to an object (provided that the access management server provides a one-way function f);
(A) Access identifier a and first authority information P 1 N-1th access key akey for object A given N-1 And each authority information P 1 , P 2 , ..., P N-1 Means for receiving
(B) Nth authority information P N Means for generating
(C) Nth authority information P N And N-1th access key akey N-1 Applying a one-way function to the Nth access key akey N = F (P N , Akey N-1 )
(D) Nth access key akey N Each authority information P 1 , P 2 , ..., P N-1 To request access to the object A, and the Nth access key akey N Is delegated to another object client, or the Nth access key akey N A means of requesting invalidation of
It is an object client characterized by including.
[0045]
According to a seventh aspect of the present invention, there is provided a network including one or more object servers that provide objects, one or more object clients that request objects, and an access management server that manages access to an object. A method for managing access to objects on a distributed network system connected via a network, comprising:
(A) An access identifier a for the access management server to access the object A, and first authority information P for the access identifier a 1 Generating
(B) The access management server receives the first authority information P 1 And the first access key akey by applying the commutative one-way function f to the access identifier a. 1 = F (P 1 , A),
(C) first access key akey 1 Is distributed to the object client;
(D) N-1th access key akey N-1 Object client having N-th authority information P N Nth authority information P N And N-1th access key akey N-1 By applying the commutative one-way function f to the Nth access key akey N = F (P N , Akey N-1 ) (Where N is a positive integer and the 0th access key is the access identifier a).
(E) The object client sends the Nth access key akey N And each authority information P 1 , P 2 , ..., P N-1 , P N And requesting access to object A;
(F) The access management server receives the access identifier a of the object A and each authority information P received 1 , P 2 , ..., P N-1 , P N The commutative one-way function f is applied to the Nth access key akey again in any order. N And the received Nth access key akey N Comparing and inspecting,
(G) the access management server allowing access to the object A in response to the successful check in (f);
The object access management method is characterized by including:
[0046]
Further, an eighth aspect of the present invention provides an object on a distributed network system in which one or more object servers that provide objects and one or more object clients that request objects are connected via a network. An access management server for managing access to
(A) means for providing a commutative one-way function f;
(B) Access identifier a for accessing the object A, and first authority information P for the access identifier a 1 Means for generating
(C) First authority information P 1 And the first access key akey by applying the commutative one-way function f to the access identifier a. 1 = F (P 1 , A) and (d) a first access key akey 1 A means to distribute to client objects;
(E) Nth access key akey N And each authority information P 1 , P 2 , ..., P N-1 , P N A means for receiving an access request to the object A presenting (the Nth access key akey) N N-th authority information P N And N-1th access key akey N-1 An access key f (P generated by applying a commutative one-way function f to N , Akey N-1 N is a positive integer, and the 0th access key is the access identifier a. ),
(F) Access identifier a of object A and each authority information P received 1 , P 2 , ..., P N-1 , P N The commutative one-way function f is applied to the Nth access key akey again in any order. N And the received Nth access key akey N Means for comparing and inspecting,
(G) means for permitting access to the object A in response to the successful examination in the means (f);
An access management server characterized by including:
[0047]
Here, the means (f) receives each authority information P received. 1 , P 2 , ..., P N-1 , P N The context may also be checked.
[0048]
Further, the access management server further includes an invalid access key table that holds the invalidated access key, and the Mth access key akey requested to be invalidated by the object client. M Means for registering in the invalid access key table,
The means (f) applies the commutative one-way function f in an arbitrary order and applies the Nth access key akey. N Access key akey that was revoked while generating M If obtained, the test may be failed and access to the object A may be denied.
[0049]
According to a ninth aspect of the present invention, there is provided a distributed network system in which one or more object servers that provide objects and an access management server that manages access to the objects are connected via a network. A client requesting access to an object (provided that the access management server provides a commutative one-way function f);
(A) Access identifier a and first authority information P 1 N-1th access key akey for object A given N-1 And each authority information P 1 , P 2 , ..., P N-1 Means for receiving
(B) Nth authority information P N Means for generating
(C) Nth authority information P N And N-1th access key akey N-1 By applying a commutative one-way function to the Nth access key akey N = F (P N , Akey N-1 )
(D) Nth access key akey N Each authority information P 1 , P 2 , ..., P N-1 To request access to the object A, and the Nth access key akey N Is delegated to another object client, or the Nth access key akey N A means of requesting invalidation of
It is an object client characterized by including.
[0050]
[Action]
According to the object access management system of the present invention, secret information such as an access identifier and capability is transmitted on the network in a form encrypted by an encryption key or a one-way function. Therefore, the possibility that the access key for accessing the object is decrypted and used illegally is extremely low.
[0051]
Further, since it is permitted to derive a new access key by concatenating and encrypting the newly generated authority information with the access key, variations of the authority information can be increased.
[0052]
In addition, since the capability holder who has generated the authority information can generate a new access key by connecting authority information with weaker capabilities, the access authority can be delegated safely. Capabilities holders are also given the authority to revoke derived access keys.
[0053]
Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings.
[0054]
DETAILED DESCRIPTION OF THE INVENTION
1. First embodiment
The present invention is for controlling access to an object. In particular, it is for controlling access to objects existing on a network in a network system in which a plurality of computer systems are connected via a network.
[0055]
The network mentioned here is mainly a distributed network in which applications are distributedly processed by each computer system. Each computer system connected to the network has an object server (hereinafter simply referred to as “server”) that owns the object, and an object client (hereinafter simply referred to as “client”) that requests access to the object. 2 minutes.
[0056]
On the network, there is also an access management server for managing access to objects (that is, security management of objects). The access management server can have the functions of the object server itself, or can delegate access management to another computer system on the network.
[0057]
The access management server generates one or more access identifiers for the object in order to manage access to the object. Access to the object is permitted by presenting the access identifier.
[0058]
The access identifier is usually generated according to a predetermined regularity. For example, if a serial number is included in the identifier, other access identifiers can be easily guessed, and the security of the object is compromised. For this reason, the access management server does not distribute the access identifier itself to the client, but instead distributes an access key obtained by applying some processing (for example, encryption) to the original access identifier. Access to an object is also permitted by presenting an access key rather than an access identifier.
[0059]
Moreover, it is necessary to restrict the access authority to the object from the viewpoint of security. The access authority includes, for example, permitted access count (remaining access count), access expiration date, and permitted object operations (read, write, delete, execute, etc.). In the industry, authority information related to access is also referred to as “capability”.
[0060]
When the access management server generates an access identifier, it also defines the capabilities given to the access identifier. It is also possible to generate a plurality of access identifiers for one object. The access management server stores each access identifier and its capability in association with the corresponding object. Further, an access key derived from the access identifier may be stored. Further, the access management server has a public key cryptosystem public key pkey and a private key sky.
[0061]
1.1 Operations on the access management server
The access management server first generates an access identifier a for permitting access to a certain object A.
[0062]
The access management server also sets the first authority information P for the access identifier a. 1 Is generated. The access management server assigns the access identifier a to the first authority information P 1 Save it in association with it.
[0063]
Next, the access management server sends the access identifier a and the first authority information P 1 Are concatenated (eg, bit concatenated), encrypted by applying the public key pkey, and the first access key pkey (P 1 , A). The access / management server also has access key pkey (P 1 , A) are stored in association with the object A. First authority information P 1 Is encrypted with the public key pkey, so that only the access management server can decrypt it.
[0064]
1.2 Operations on the client
Generated first access akey 1 = Pkey (P 1 , A) is delegated to a certain client via a network, for example. Since the first access key is encrypted with the public key pkey of the access management server, the client using the first access key cannot in principle read the contents of the authority information P1 given to the client.
[0065]
The client that has received the access key also obtains the public key pkey of the server in preparation for making a later change to the access key.
[0066]
1.3 Generating a new access key
A client may want to delegate an access key to another client. For example, a client A may pass an access key when he / she wants to delegate the management of an object to another client B in his / her absence.
[0067]
However, if an access key having the same authority information as that of the client is passed to the client B, an unexpected disadvantage may be incurred. For example, if the access key is passed with the same expiration date, the client B can continue to access the object after returning. Further, although it is sufficient for the client B to permit only the read operation of the object, the security of the object may be threatened if the write and execute operations are permitted in the same way as the client A. That is, the client A may not necessarily give the same authority as that of the client A, and may have to weaken the authority. For example, the expiration date of the access key is limited, or the operation authority is limited to reading and writing and execution are prohibited.
[0068]
In such a case, the client creates a capability that may be given to other clients. This is the second authority information P 2 Keep it as The client then enters the first access key pkey (P 1 , A) and second authority information P 2 Are concatenated (eg, bit concatenated), and the second access key pkey (Pkey (P 2 , Pkey (P 1 , A)).
[0069]
Since the second access key is encrypted with the public key pkey, it is included in the second access key except for the client that created the second authority information P2 and the server having the secret key skye. Authority information P 2 The contents of cannot be deciphered. For example, a client who has received the second access key basically also has authority information P given to him. 2 Cannot be confirmed.
[0070]
In the following, an access key derived from the Nth access identifier a is referred to as an “Nth access key” key. N And the Nth access key akey N The authority information given to the Nth authority information P N (Where N is an integer greater than or equal to 0, and the 0th access key is the access identifier a). The following relationship is established between the Nth access key and the (N-1) th access key.
[0071]
[Expression 1]
Figure 0003765191
[0072]
1.4 Accessing objects
Nth access key akey N Can access the object A using the access key to the access management server that manages the object A. The access request is transmitted in the form of a request message including an access key.
[0073]
On the other hand, the access management server must verify whether the access key akeyN is valid.
[0074]
When the access management server receives the request message, the access key akey included therein N Take out. Then, the access key is restored by using the public key cryptosystem private key key of the server itself. The above formula is akey N = Pkey (P N , Akey N-1 Therefore, the N-th authority information PN and the (N-1) th access key akey are obtained by this restoration operation. N-1 Is obtained.
[0075]
The access management server obtains the obtained access key akey. N-1 If it matches the stored access identifier a, the restoration process is terminated. If they do not match, a restoration process using the secret key sky is further attempted. Such a restoration process is performed by the access key akey. N-1 And the access identifier a are recursively tried until they are successfully matched.
[0076]
As a result of the recursive restoration processing, the access management server obtains a series of authority information P N , P N-1 , ..., P 2 , P 1 Also get. The access management server may verify the context of this series of authority information. For example, the access management server allows creation of authority information only in the direction of weakening authority for each client that creates access keys.
Can be defined as follows. Reducing authority means, for example, reducing the number of accesses, shortening the expiration date, or limiting the operation. Alternatively, the context may be defined such that only the number of accesses is permitted to enhance authority.
[0077]
As a result of verifying the context of the series of authority information, if the context violates a predetermined rule, the access management server sends the access key akey in the request message. N Can also be considered fraudulent.
[0078]
Only when the access management server successfully matches the access key with the access identifier of the object A and successfully verifies the context of the authority information, the access management key akey in the request message. N Is determined to be valid. Then, access to the corresponding object A is permitted.
[0079]
1.5 Disabling access keys
The access management server may be provided with a mechanism for revoking an access key once recognized as valid. This mechanism is realized by providing an invalid access key table for registering an invalid access key.
[0080]
The client transmits an invalidation request message including the access key to be invalidated. When the access management server receives the invalidation request message, the access management server may extract the access key and additionally register it in the invalid access key table.
[0081]
When the access management server receives the access request message for the object A, the access management server extracts the access key and recursively restores the access key using the secret key sky (described above). If an access key that is the same as the access key registered in the invalid access key table appears during the recursive restoration process, it is determined that the request message is invalid, and Deny access.
[0082]
2. Second embodiment
In the first embodiment, the public key and the public key of the public key cryptosystem possessed by the access management server are used to generate the access key. In the second embodiment, a one-way function having two arguments is used instead of the encryption key. The “one-way function” here is a function that is extremely difficult to obtain an inverse function, and has an effect of making it impossible to estimate the value of an argument before the function is applied. It is assumed that the access management server and the client share a one-way function f (x, y) with two arguments (x, y).
[0083]
2.1 Operations on the access management server
The access management server first generates an access identifier a for permitting access to a certain object A.
[0084]
The access management server also sets the first authority information P for the access identifier a. 1 Is generated. The access management server stores the access identifier in association with the authority information. First authority information P 1 Is the authority, that is, the capability given to the person presenting the access identifier a (described above).
[0085]
Next, the access management server sends the access identifier a and the first authority information P 1 Is applied to the first access key f (P 1 , A). The access management server receives the first access key f (P 1 , A) are stored in association with the object A.
[0086]
2.2 Operations on the client
The generated first access key f (P 1 , A) is transmitted to the client permitted to access the object A via the network, for example. Legitimate access key f (P 1 , A) is permitted to access the object A by presenting it.
[0087]
The client that has received the access key also acquires a one-way function used by the access management server in preparation for making a later change to the access key authority information.
[0088]
2.3 Generating a new access key
The client may wish to delegate the access key to another client (described above).
[0089]
In such a case, the client creates a capability that may be given to other clients. This is the second authority information P 2 Keep it as The client then enters the first access key f (P 1 , A) and second authority information P 2 Is further applied to the second access key f (P 2 , F (P 1 , A)).
[0090]
The parameter value of the one-way function f cannot be decoded by the access management server. For this reason, the second access information P is included in the second access key. 2 To attach the second access key.
[0091]
In the following, an access key derived from the Nth access identifier a is referred to as an “Nth access key” key. N And the Nth access key akey N The authority information given to the Nth authority information P N (Where N is an integer greater than or equal to 0, and the 0th access key is the access identifier a). The following relationship is established between the Nth access key and the (N-1) th access key.
[0092]
[Expression 2]
Figure 0003765191
[0093]
Once the one-way function f is applied, the authority information P N Becomes undecipherable. For this reason, the client that created the access key uses the authority information P N With access key f (P N , Akey N-1 ). As a result, in the message for transmitting the Nth access key, all authority information P included in the access key is included. 1 , P 2 , ..., P N-1 , P N Will be enclosed.
[0094]
2.4 Access to objects
Nth access key akey N Can access the object A using the access key to the access management server that manages the object A.
[0095]
However, the access management server uses the Nth access key akey to which the one-way function f is applied. N Cannot be deciphered. For this reason, the client uses the access key akey N All authority information P attached when receiving 1 , P 2 , ..., P N-1 , P N And send it in the form of a request message.
[0096]
On the other hand, the access management server uses the access key akey. N Verify whether is valid.
[0097]
When the access management server receives the request message, the access key akey included therein N And all authority information P 1 , P 2 , ..., P N-1 , P N Take out. Then, using the one-way function f, the first access key akey 1 (= F (P 1 , A)), second access key akey 2 (= F (P 2 , F (P 1 , A))), ..., Nth access key akey N (= F (P N , Akey N-1 )) Is generated sequentially.
[0098]
The access management server then generates the Nth access key akey generated by itself. N Is the access key akey that was included in the request message N If they match, it is determined that the access key verification is successful.
[0099]
Further, the access management server may perform context verification (described above) for a series of authority information included in the request message.
[0100]
The access management server uses the access key akey N Access key akey in the request message only when the verification and the context verification of the authority information are successful N Is determined to be valid. Then, access to the corresponding object is permitted.
[0101]
2.5 Disabling access keys
The access management server may be provided with a mechanism for revoking an access key once recognized as valid. This mechanism is realized by providing an invalid access key table for registering an invalid access key.
[0102]
The client transmits an invalidation request message including the access key to be invalidated. When the access management server receives the invalidation request message, the access management server may extract the access key and additionally register it in the invalid access key table.
[0103]
When the access management server receives the access request message for the object A, the access management server and the access key N And all authority information P 1 , P 2 , ..., P N-1 , P N Take out. Then, using the one-way function f, the first access key akey 1 (= F (P 1 , A)), second access key akey 2 (= F (P 2 , F (P 1 , A))),..., Nth access key akeyN (= f (P N , Akey N-1 )) Are sequentially generated (described above).
[0104]
If an access key registered in the invalid access key table appears during the access key generation process, it is determined that the request message is invalid, and access to the object A is rejected. .
[0105]
3. Third embodiment
In the second embodiment, a one-way function having two arguments is used to generate an access key. In the third embodiment, it is assumed that this one-way function is commutative. A commutative one-way function is a one-way function for which the following equation holds.
[0106]
[Equation 3]
Figure 0003765191
[0107]
It is assumed that the access management server and the client share a commutative one-way function f (x, y).
[0108]
3.1 Operations on the access management server
The access management server first generates an access identifier a for permitting access to a certain object A.
[0109]
The access management server also sets the first authority information P for the access identifier a. 1 Is generated. The access management server stores the access identifier in association with the authority information. First authority information P 1 Is the authority, that is, the capability given to the person presenting the access identifier a (described above).
[0110]
Next, the access management server sends the access identifier a and the first authority information P 1 Is applied to the first access key f (P 1 , A). The access management server receives the first access key f (P 1 , A) are stored in association with the object A.
[0111]
3.2 Operations on the client
The generated first access key f (P 1 , A) is transmitted to a client permitted to access the object via a network, for example. Legitimate access key f (P 1 , A) is permitted to access the object A by presenting it.
[0112]
The client that has received the access key also obtains a commutative one-way function f used by the access management server in preparation for later changing the access key authority information.
[0113]
3.3 Generating a new access key
The client may wish to delegate the access key to another client (described above).
[0114]
In such a case, the client creates a capability that may be given to other clients. This is the second authority information P 2 Keep it as The client then enters the first access key f (P 1 , A) and second authority information P 2 Is applied to the second access key f (P 2 , F (P 1 , A)).
[0115]
The access management server cannot decipher the parameter value of the commutative one-way function f. For this reason, the second access information P is included in the second access key. 2 To attach the second access key.
[0116]
In the following, an access key derived from the Nth access identifier a is referred to as an “Nth access key” key. N And the Nth access key akey N The authority information given to the Nth authority information P N (Where N is an integer greater than or equal to 0, and the 0th access key is the access identifier a). The following relationship is established between the Nth access key and the (N-1) th access key.
[0117]
[Expression 4]
Figure 0003765191
[0118]
Once the commutative one-way function f is applied, the authority information P N Becomes undecipherable. For this reason, the client that created the access key uses the authority information P N With access key f (P N , Akey N-1 ). As a result, in the message for transmitting the Nth access key, all authority information P included in the access key is included. 1 , P 2 , ..., P N-1 , P N Will be enclosed.
[0119]
3.4 Accessing objects
Nth access key akey N Can access the object A using the access key to the access management server that manages the object A.
[0120]
However, the access management server uses the Nth access key akey to which the commutative one-way function f is applied. N Cannot be deciphered. For this reason, the client uses the access key akey N All authority information P attached when receiving 1 , P 2 , ..., P N-1 , P N And send it in the form of a request message.
[0121]
On the other hand, the access management server uses the access key akey. N Verify whether is valid.
[0122]
When the access management server receives the request message, the access key akey included therein N And all authority information P 1 , P 2 , ..., P N-1 , P N Take out. Then, each access key is generated by itself using a commutative one-way function f. However, since the commutative one-way function f does not need to maintain the order, each access key can be generated in an arbitrary order.
[0123]
The access management server then generates the Nth access key akey generated by itself. N Is the access key akey that was included in the request message N If they match, it is determined that the access key verification is successful.
[0124]
Further, the access management server may perform context verification (described above) for a series of authority information included in the request message.
[0125]
The access management server uses the access key akey N Access key akey in the request message only when the verification and the context verification of the authority information are successful N Is determined to be valid. Then, access to the corresponding object A is permitted.
[0126]
In the third embodiment, a mechanism for invalidating the access key may be provided as in the first and second embodiments. However, since it can be realized by a mechanism substantially the same as that of the second embodiment, it will not be described here.
[0127]
【Example】
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0128]
FIG. 1 schematically shows a configuration of a network system 100 used for implementing the present invention. As shown in the figure, the network system 100 is configured by connecting a plurality of computer systems 50A, 50B,... To a network 10 which is a data transmission medium.
[0129]
The network 10 is a LAN (Local Area Network) laid in a limited space such as a campus or a company campus. Alternatively, a WAN (Wide Area Network) formed by interconnecting LANs with a dedicated line, a general public line (PSTN: Public Switched Telephone Network), an ISDN (Integrated Service Digital Network large scale network network), or the like. Internet may be. The network 10 is mainly a distributed network that performs distributed processing of applications in the connected computer systems 50A, 50B,.
[0130]
Each of the computer systems 50A, 50B,... Is connected to the network 10 via a line termination device (DCE: Data Circuit Terminating Equipment) such as a LAN adapter, a modem, or a TA (Terminal Adapter). Each computer system 50A, 50B,... Is divided into an object server that owns the object and an object client that requests access to the object. Although it may be a dedicated machine designed specifically for the function of the server or client, it is generally a general-purpose machine that operates by introducing an application for the server or client. The computer systems 50A, 50B,... Are connected to each other via the network 10, for example, TCP / IP (Transmission Control Protocol / Internet Protocol).
[0131]
The object servers 50A and 50B own a plurality of objects. An example of the object is an HTML (Hypertext Markup Language) file for forming a home page. Since the HTML file can be transmitted on the network 10 in accordance with the HTTP (Hypertext Transfer Protocol) protocol, it is hereinafter referred to as an “HTTP object”. One object client 50C, 50D, 50E can specify the location of the HTTP object in the form of a URL (Uniform Resource Locator).
[0132]
There is also an access management server on the network for managing access to HTTP objects (ie, object security). Although another computer system on the network 10 can function as an access management server, the object server itself can have an access management function. In each embodiment described later, it is assumed that a “proxy object” in the object server manages access to an HTTP object.
[0133]
FIG. 2 schematically shows the configuration of the HTTP object server 50A.
It should be understood that other object servers 50B (not shown) have the same configuration. As shown in the figure, the object server 50A includes a proxy object 301 for managing access to each HTTP object in addition to N HTTP objects 321 to 32N. The URL of the object server 50A is represented as “https: // www300 /” in accordance with the HTTP protocol using SSL (Secure Socket Layer). (In the following embodiments, SSL is used to securely transfer secret information such as capabilities via the network. However, in general, other communication methods that perform encryption or encryption are not performed. (Even if a communication system is used, the effect of the present invention can be obtained.)
[0134]
Proxy object 301 generates a reference or access identifier for each HTTP object. Two or more access identifiers may be generated for one HTTP object. Each access identifier for the same HTTP object is individually given an access authority, that is, capability. The proxy object 301 generates an access authority holding unit for each access identifier in order to manage individual access authorities.
[0135]
In the example shown in FIG. 2, at least two access identifiers are generated for a certain HTTP object 391, and the proxy object 301 generates access authority holding units 311 and 31M for each access identifier, respectively. Yes.
[0136]
The access authority holding unit 311 includes an access identifier holding unit 321, a capability list holding unit 331, an invalid list holding unit 341, and a reference holding unit 351. It is to be understood that the other access authority holding units 31M... Have substantially the same configuration as the access authority holding unit 311.
[0137]
The access identifier holding unit 311 is a unit that stores a given access identifier. The reference holding unit 351 is a unit that stores a pointer to the HTTP object 391 corresponding to the access identifier.
[0138]
The access identifier defines the authority for the corresponding HTTP object. The authority referred to here is an operation authority for the HTTP object (for example, read only, read / write, executable), an access expiration date, the number of effective accesses, and the like. Such authority information is called “capability”. The capability is originally provided by the proxy object 301, but is sequentially created by an HTTP client to which an access key is assigned as described later. The capability list holding unit 331 is a unit that stores the current authority content of each capability derived from one access identifier.
[0139]
Also, the client that generated (or received) the access key is allowed to revoke the access key. The invalid list holding unit 341 is a unit that stores invalidated access keys derived from one access identifier.
[0140]
The access authority holding units 311,..., 31 M generated within the proxy object 301 constitute one access authority set 302.
[0141]
In this embodiment, capability is expressed using a URL, and access protection for an HTTP object is realized by converting the URL into a format that is difficult to guess using encryption. Each example will be described below.
[0142]
1. First embodiment
In the first embodiment, a public key cryptosystem public key pkey and a private key sky that are held by the proxy object 301 are used in order to protect the security of authority information related to each access identifier.
[0143]
The proxy object 301 generates an access identifier a and authority information P1 for the access identifier a. Further, the proxy object 301 includes the authority information P 1 And the access identifier and encrypted with the public key pkey, the access key akey 1 = Pkey (P 1 . a) is generated.
[0144]
The HTTP client 50C exchanges an access key akey with the HTTP server 300 by exchanging messages using encryption such as SSL (Secure Socket Layer). 1 Receive.
[0145]
Access key akey 1 The HTTP client 50C receives the authority information “GET, 2, Apr: 24: 10:00: 48: 1998: GMT, Apr: 24: 10: 05: 48: 1998: GMT” created by itself. The access key akey shown in the following formula [Equation 5] is obtained by concatenating the random number Rnd1 generated by the 2 Is generated. However, the authority content may include an upper limit of usable storage capacity and an upper limit of processor occupation time in addition to methods that can be executed. Also, any other expression format may be used to describe the authority information.
[0146]
[Equation 5]
Figure 0003765191
[0147]
Access key akey 2 Is the key 1 Authority information indicating that the GET method is allowed to be executed twice between 10:00:48 on April 24, 1998 and 10: 5: 48 for an object associated with Is included.
[0148]
Next, the HTTP client 50C receives the access key “akey”. 2 Is used to generate the URL shown in the following formula [Formula 6].
[0149]
[Formula 6]
Figure 0003765191
[0150]
Then, the HTTP client 50C transmits this URL to another HTTP client 50D.
[0151]
Based on this URL, the HTTP client 50D connects to the HTTP server 300 operating on the host specified by the www 300 on the network 10 (in this example, the same server as the proxy object 301 exists) using SSL. Then, the message shown in the following [Formula 7] is transmitted.
[0152]
[Expression 7]
Figure 0003765191
[0153]
When receiving this message, the HTTP server 300 receives the method GET and the access key “akey” from the message. 2 The character string “akey1, GET, 2, Apr: 24: 10: 00: 48: 1998: GMT, Apr: 24: 10: 05: 48: 1998: GMT, Rnd1” corresponding to 2 is extracted and the proxy Input to the object 301.
[0154]
The proxy object 301 applies the access key akey from the result of decryption by applying its own secret key skye. 2 Capability given to "key" 1 It is a right to execute the GET method twice between 10:00:48 on April 24, 1998 and 10: 5: 48 for an object associated with " Read.
[0155]
In addition, the proxy object 301 acquires the current time in universal time. For example, if the current time is April 24, 1998, 10: 1: 48, the capability list holding unit 331 stores the capability shown in the following formula [Equation 8] and is associated with the access key. A message GET is transmitted to the HTTP object 391.
[0156]
[Equation 8]
Figure 0003765191
[0157]
Here, the operation when the HTTP client 50D further transmits the same message as shown in [Expression 7] to the HTTP server 300 will be considered.
[0158]
When receiving the message, the HTTP server 300 receives the method GET and the access key “akey” from the message. 2 A character string “akey1, GET, 2, Apr: 24: 10: 00: 48: 1998: GMT, Apr: 24: 10: 05: 48: 1998: GMT, Rnd1” is extracted as a proxy object 301 is input.
[0159]
The proxy object 301 searches for the access key registered in the access authority set 302 and searches for the access key akey. 2 It is determined whether the same key as is already registered. And this access key akey 2 It is derived from the capability list holding unit 331 that the current content of the capability corresponding to is as shown in [Equation 9] below.
[0160]
[Equation 9]
Figure 0003765191
[0161]
The proxy object 301 acquires the current time in universal time. For example, if the current time is April 24, 1998, 10: 3: 48, the content of the entry in the capability list holding unit 331 is changed as follows, and then a message GET is sent to the HTTP object 391. Send. The capability change performed here is to decrement the remaining number by one.
[0162]
[Expression 10]
Figure 0003765191
[0163]
Thereafter, the proxy object 301 deletes the entry in the capability list holding unit 331 when the current time in the world time has passed 10: 5: 48 (even if it is not deleted, it corresponds to the entry). Capabilities to be expired).
[0164]
2. Second embodiment
In the second embodiment, the one-way function f possessed by the proxy object 301 is used in order to protect the security of the authority information related to each access identifier. A “one-way function” is a function that is extremely difficult to obtain an inverse function, and has an effect of making it impossible to estimate the value of an argument before the function is applied. The one-way function used in this embodiment may be commutative.
[0165]
The proxy object 301 generates an access identifier a for one reference of the HTTP object 391 and stores it with the access identifier 321.
[0166]
Next, the proxy object 301 generates a capability identifier Rnd0 and stores it in the capability list holding unit 331.
[0167]
Further, the capability object 301 applies the one-way function f to the authority information right1 describing the authority content permitting the HTTP client to access (operate) the HTTP object and the capability identifier Rnd0, and the following formula [ A capability cap1 as shown in Equation 11] is generated. cap1 is expressed as a bit string of a set of two terms.
[0168]
[Expression 11]
Figure 0003765191
[0169]
The first term of the above two-item set functions as a check field for preventing unauthorized alteration of the authority information, and the second term describes the authority change history in a list form.
[0170]
The authority information right1 included in the above expression is allowed to execute the GET method five times between 00: 00: 00: 00 on April 24, 1998 and 00: 00: 00: 00 on April 25, universal time. It is assumed that it is composed of the character string shown in the following [Equation 12].
[0171]
[Expression 12]
Figure 0003765191
[0172]
However, the authority content right1 may include the upper limit of the usable storage capacity and the upper limit of the processor occupation time in addition to the methods that can be executed. Also, any other expression format may be used to describe the authority information.
[0173]
Next, the proxy object 301 generates a URL character string shown in the following [Equation 13] including a server name, an access identifier, and capabilities, and transmits the URL character string to the HTTP client 50C.
[0174]
[Formula 13]
Figure 0003765191
[0175]
The HTTP client 50C receives the URL including the capability cap1 by exchanging messages with the HTTP server 300 using encryption.
[0176]
Hereinafter, an operation in which the HTTP client 50C weakens the authority acquired from the HTTP server 300 and delegates it to another HTTP 50D will be described.
[0177]
The HTTP client 50C generates a new right2 and a capability identifier Rnd2 shown in [Formula 14] below.
[0178]
[Expression 14]
Figure 0003765191
[0179]
The above-mentioned authority information right2 describes the authority to execute the GET message twice in the world time from 10:00:48 on April 24, 1998 to 10: 5: 48. . The HTTP client 50C uses the one-way function f to generate a capability cap2 as expressed by the following formula [Formula 15] as a bit string representing a binary group.
[0180]
[Expression 15]
Figure 0003765191
[0181]
Next, the HTTP client 50C generates a URL character string as shown in [Equation 16] based on cap2 and transmits it to the other HTTP client 50D.
[0182]
[Expression 16]
Figure 0003765191
[0183]
In accordance with the URL received from the HTTP client 50C, the HTTP client 50D connects to the HTTP server 300 operating on the host represented by the www300 on the network using SSL, and transmits the message shown in [Expression 17] below. To do.
[0184]
[Expression 17]
Figure 0003765191
[0185]
When receiving the message, the HTTP server 300 extracts the GET method, the access identifier a, and the capability cap2 from the message (the capability cap2 is composed of the character string shown in [Equation 15]). Then, the HTTP server 300 inputs these parameters to the proxy object 301.
[0186]
The proxy object 301 searches the access identifier a input in the access authority set 302 and acquires the capability identifier Rnd0 held by the capability list holder 331 in the corresponding access authority holder 311. .
[0187]
Next, the proxy object 301 executes the following <Processing procedure 1>.
[0188]
[Formula 18]
Figure 0003765191
[0189]
However, as the one-way function f, a one-way function having commutability as shown in the following equation can also be used.
[0190]
[Equation 19]
Figure 0003765191
[0191]
By using the commutative one-way function f, a processing result similar to that of << Processing procedure 1 >> can be obtained by executing the following <Processing procedure 2> ignoring the order of the change history.
[0192]
[Expression 20]
Figure 0003765191
[0193]
The use of the commutative one-way function f means that it is not necessary to maintain the order of history as a method for retaining a list representing a change history, which is the second term of capability. For example, regardless of the history order, the list can be divided and held for each operation permitted by the authority, or the list can be held by associating the authority with a specific bit field.
[0194]
From the result of executing the “procedure 2”, the proxy object 301 indicates that the content of the capability included in the message is “the object associated with cap1 is 10:00 on April 24, 1998 in universal time. It is determined that “the right to execute the GET method twice between 10 minutes 5 seconds 48 minutes”.
[0195]
Further, the proxy object 301 searches the capability list holding unit 331 using the capability identifiers Rnd1 and Rnd2 as keys. Since there is no corresponding entry in the list, the current time in universal time is acquired, and it is within the expiration date of the given capability on April 24, 1998, 10: 1: 48. The following entries are stored in the holding unit 331.
[0196]
[Expression 21]
Figure 0003765191
[0197]
Then, the proxy object 301 transmits a message GET to the corresponding HTTP object 391 and transmits a response received from the object 391 to the requesting HTTP client.
[0198]
Here, the operation when the HTTP client 50D transmits the same message as shown in [Equation 17] to the HTTP server 300 will be described.
[0199]
The proxy object 301 verifies the authority information in the message in accordance with << Processing Procedure 1 >> or << Processing Procedure 2 >> described above, and then uses the capability identifiers Rnd1 and Rnd2 included in the received capability cap2 as a capability list. The holding unit 331 is searched, and the following history is extracted from the corresponding entry.
[0200]
[Expression 22]
Figure 0003765191
[0201]
Then, the proxy object 301 changes the contents of the history of the corresponding entry as follows, and then transmits a message GET to the corresponding HTTP object 391. The capability change performed here is to decrement the remaining number by one.
[0202]
[Expression 23]
Figure 0003765191
[0203]
Thereafter, the proxy object 301 deletes the entry corresponding to the identifier Rnd2 in the capability list holding unit 331 at 10: 5: 48 in the world time (corresponding to the entry even if it is not deleted). Capabilities to be expired).
[0204]
Next, a process for invalidating the capability cap2 given by the HTTP client 50C to the other HTTP client 50D will be described.
[0205]
In this case, the HTTP client 50C, based on the access identifier a, the capability cap1 shown in [Equation 11], and the capability identifier Rnd2 included in the capability given to the HTTP client 50D, A message is generated and transmitted to the HTTP server 300.
[0206]
[Expression 24]
Figure 0003765191
[0207]
This message includes content for requesting the access authority holding unit 321 having the access identifier a to invalidate the capability cap2 derived from the capability cap1.
[0208]
On the other hand, the proxy object 301 can verify whether or not the capability cap2 is derived from the capability cap1 by executing the following <Processing procedure 3>.
[0209]
[Expression 25]
Figure 0003765191
[0210]
When the second capability cap2 included in the invalidation request is a derivative of the first capability cap1, the proxy object 301 additionally registers the capability cap2 in the access identifier invalid list holding unit 341 included in the request. To do.
[0211]
Of the disabled capabilities, those disabled in the first place due to the expiration date of the authority may be removed from the disabled list.
[0212]
[Supplement]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
[0213]
【The invention's effect】
As described above in detail, according to the present invention, in a distributed network system in which a plurality of computer systems are interconnected on a network, an object existing on the network can be safely protected. An object access management method can be provided.
[0214]
Further, according to the present invention, it is possible to provide an excellent access management method of a type that permits access to an object by distributing a capability describing the access authority of the object to the client.
[0215]
In addition, according to the present invention, it is possible to provide an excellent object access management system in which a client having the capability can freely generate a capability whose authority has been changed and can be safely delegated to another client. .
[0216]
In addition, according to the present invention, the client having the capability can freely generate the capability whose authority has been changed, and the server that manages the object can inspect the generated capability safely. A scheme can be provided.
[0217]
In addition, according to the present invention, there is provided an excellent object access management system that allows a client having the capability to freely generate a capability whose authority has been changed, and further to invalidate the generated capability without fail. Can do.
[Brief description of the drawings]
FIG. 1 is a diagram schematically showing a configuration of a network system 100 used for implementing the present invention.
FIG. 2 is a diagram schematically showing a configuration of an object server 50A.
[Explanation of symbols]
10 ... Network
50. Computer system
100: Network system
300 ... HTTP server
301: Proxy object
302 ... Access authority set
311, 31M ... access authority holding unit
321, 32M ... access identifier holding unit
331, 33M ... Capability list holding unit
341, 34M ... Invalid list holding unit
351, 35M ... Reference holding unit
391, 39M ... HTTP object

Claims (16)

オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトを要求する1以上のオブジェクト・クライアントと、あるオブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上におけるオブジェクトのアクセス管理方法であって、
(a)アクセス管理サーバが、オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成するステップと、
(b)アクセス管理サーバが、第1の権限情報P1とアクセス識別子aとを連結し、自身が持つ公開鍵暗号系の公開鍵pkeyを適用して暗号化し、第1のアクセス・キーakey1=pkey(P1,a)を生成するステップと、
(c)第1のアクセス・キーakey1がオブジェクト・クライアントに配布されるステップと、
(d)第N−1のアクセス・キーakeyN-1を持つオブジェクト・クライアントが、第Nの権限情報PNを生成して、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1とを連結して、公開鍵pkeyを適用して暗号化し、第Nのアクセス・キーakeyN=pkey(PN,akeyN-1)を生成するステップと(但し、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(e)オブジェクト・クライアントが、第Nのアクセス・キーakeyNを提示してオブジェクトAへのアクセスを要求するステップと、
(f)アクセス管理サーバが、自身が持つ公開鍵暗号系の秘密鍵skeyを用いて第Nのアクセス・キーakeyNを復号化して、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1を得て、これらを検査するステップと、
(g)アクセス管理サーバが、前記(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容するステップと、
を含むことを特徴とするオブジェクトのアクセス管理方法。
On a distributed network system in which one or more object servers that provide objects, one or more object clients that request objects, and an access management server that manages access to an object are connected via a network An object access management method in
(A) the access management server generating an access identifier a for accessing the object A, and first authority information P 1 for the access identifier a;
(B) The access management server concatenates the first authority information P 1 and the access identifier a, applies the public key pkey of the public key cryptosystem owned by the access management server, and encrypts the first access key akey 1 Generating = pkey (P 1 , a);
(C) distributing the first access key akey 1 to the object client;
(D) Object client with access key akey N-1 of the N-1 is, generates authority information P N of the N, authority information P N and the N-1 of the access key of the second N a key N-1 is concatenated and encrypted using the public key pkey to generate an Nth access key akey N = pkey (P N , akey N-1 ), where N is a positive The zeroth access key is the access identifier a).
(E) an object client requesting access to object A by presenting an Nth access key akey N ;
(F) The access management server decrypts the N-th access key akey N using its own public-key cryptography private key skey, and the N-th authority information P N and the N−1-th access Obtaining keys akey N-1 and inspecting them,
(G) the access management server allowing access to the object A in response to the successful check in (f);
An object access management method comprising:
オブジェクトを提供する1以上のオブジェクト・サーバとオブジェクトを要求する1以上のオブジェクト・クライアントとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを管理するためのアクセス管理サーバであって、
(a)公開鍵暗号系の公開鍵pkeyと秘密鍵skeyを保持する手段と、
(b)オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成する手段と、
(c)第1の権限情報P1とアクセス識別子aとを連結し、公開鍵pkeyを適用して暗号化し、第1のアクセス・キーakey1=pkey(P1,a)を生成する手段と、
(d)第1のアクセス・キーakey1をオブジェクト・クライアントに配布する手段と、
(e)第Nのアクセス・キーakeyNを提示したオブジェクトAへのアクセス要求を受信する手段と(但し、第Nのアクセス・キーakeyNは、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1を連結し、公開鍵pkeyを適用して生成されたアクセス・キーpkey(PN,akeyN-1)のことであり、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(f)秘密鍵skeyを用いて第Nのアクセス・キーakeyNを復号化して、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1を得て、これらを検査する手段と、
(g)前記手段(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容する手段と、
を含むことを特徴とするアクセス管理サーバ。
Access management server for managing access to objects in a distributed network system in which one or more object servers that provide objects and one or more object clients that request objects are connected via a network Because
(A) means for holding a public key pkey and a private key sky of a public key cryptosystem;
(B) an access identifier a for accessing the object A, means for generating first authority information P 1 for the access identifier a,
(C) means for concatenating the first authority information P 1 and the access identifier a, encrypting by applying the public key pkey, and generating a first access key akey 1 = pkey (P 1 , a) ,
(D) means for distributing the first access key akey 1 to the object client;
(E) means for receiving an access request to the object A presenting the Nth access key akey N (provided that the Nth access key akey N is the Nth authority information P N and the N−1th Access key pkey (P N , akey N-1 ) generated by concatenating the access keys akey N-1 of N and applying the public key pkey, where N is a positive integer, and the 0th The access key is an access identifier a).
(F) Decrypting the Nth access key akey N using the secret key skye to obtain the Nth authority information P N and the N−1th access key akey N−1 and inspecting them Means,
(G) means for permitting access to the object A in response to the successful examination in the means (f);
An access management server comprising:
前記手段(f)は、最初のアクセス識別子aが現れるまで、秘密鍵skeyを用いた復号化処理を再帰的に実行することを特徴とする請求項2に記載のアクセス管理サーバ。3. The access management server according to claim 2, wherein the means (f) recursively executes a decryption process using the secret key sky until the first access identifier a appears. 前記手段(f)は、秘密鍵skeyを用いた復号化処理によって順次得られた各権限情報P1,P2,…,PN-1,PNのコンテキストをも検査することを特徴とする請求項3に記載のアクセス管理サーバ。The means (f) also examines the context of each authority information P 1 , P 2 ,..., P N−1 , P N obtained sequentially by the decryption process using the secret key sky. The access management server according to claim 3. さらに無効化されたアクセス・キーを保持する無効アクセス・キー・テーブルと、
オブジェクト・クライアントから無効化要求された第Mのアクセス・キーakeyMを前記無効アクセス・キー・テーブルに登録する手段とを含み、
前記手段(f)は、秘密鍵skeyを用いて第Nのアクセス・キーakeyN-1を再帰的に復号化処理する途中で無効化されたアクセス・キーakeyMを得ると、検査を失敗させ、オブジェクトAへのアクセスを拒絶する、
ことを特徴とする請求項3又は4のいずれかに記載のアクセス管理サーバ。
A revoked access key table that holds further revoked access keys;
Means for registering the Mth access key akeyM requested to be invalidated by the object client in the invalid access key table;
When the means (f) obtains an access key akey M revoked during the recursive decryption process of the Nth access key akey N-1 using the secret key skey, the means (f) fails the check. Deny access to object A;
The access management server according to claim 3 or 4, wherein
オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを要求するクライアントであって(但し、アクセス管理サーバは、公開鍵暗号系の公開鍵pkeyと秘密鍵skeyを保持するものとする)、
(a)アクセス識別子aと第1の権限情報P1を与えられたオブジェクトAについての第N−1のアクセス・キーakeyN-1を受信する手段と、
(b)第Nの権限情報PNを生成する手段と、
(c)第Nの権限情報PNと第N−1のアクセス・キーakeyN-1とを連結して、公開鍵pkeyを適用して暗号化し、第Nのアクセス・キーakeyN=pkey(PN,akeyN-1)を生成する手段と、
(d)第Nのアクセス・キーakeyNを用いてオブジェクトAへのアクセスを要求し、第Nのアクセス・キーakeyNを他のオブジェクト・クライアントに委譲し、又は、第Nのアクセス・キーakeyNの無効化を要求する手段と、
を含むことを特徴とするオブジェクト・クライアント。
A client that requests access to an object in a distributed network system in which one or more object servers that provide objects and an access management server that manages access to the objects are connected via a network. (However, the access management server holds the public key pkey and the private key sky of the public key cryptosystem),
(A) the access identifier a first means for receiving a first N-1 of the access key akey N-1 for an object A that has been authorized information P 1,
(B) means for generating Nth authority information P N ;
(C) The N-th authority information P N and the N−1th access key akey N−1 are concatenated and encrypted using the public key pkey, and the Nth access key akey N = pkey ( P N , key N−1 ), and
And (d) using the access key akey N of the N requests access to an object A, an access key akey N of the N delegates to another object clients or access key of the first N akey Means to request N invalidation;
An object client characterized by containing.
オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトを要求する1以上のオブジェクト・クライアントと、あるオブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上におけるオブジェクトのアクセス管理方法であって、
(a)アクセス管理サーバが、オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成するステップと、
(b)アクセス管理サーバが、第1の権限情報P1とアクセス識別子aに対して一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成するステップと、
(c)第1のアクセス・キーakey1がオブジェクト・クライアントに配布されるステップと、
(d)第N−1のアクセス・キーakeyN-1を持つオブジェクト・クライアントが、第Nの権限情報PNを生成し、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して一方向性関数fを適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成するステップと(但し、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(e)オブジェクト・クライアントが、第Nのアクセス・キーakeyNと、各権限情報P1,P2,…,PN-1,PNを提示して、オブジェクトAへのアクセスを要求するステップと、
(f)アクセス管理サーバが、オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して一方向性関数fを順次適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査するステップと、
(g)アクセス管理サーバが、前記(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容するステップと、
を含むことを特徴とするオブジェクトのアクセス管理方法。
On a distributed network system in which one or more object servers that provide objects, one or more object clients that request objects, and an access management server that manages access to an object are connected via a network An object access management method in
(A) the access management server generating an access identifier a for accessing the object A, and first authority information P 1 for the access identifier a;
(B) The access management server applies the one-way function f to the first authority information P 1 and the access identifier a to generate the first access key akey 1 = f (P 1 , a). And steps to
(C) distributing the first access key akey 1 to the object client;
(D) Object client with access key akey N-1 of the (N-1) generates a rights information P N of the N, and authority information P N of the N (N-1) th access key akey Applying a one - way function f to N−1 to generate an Nth access key akey N = f (P N , akey N−1 ), where N is a positive integer The 0th access key is an access identifier a).
(E) A step in which the object client requests access to the object A by presenting the Nth access key “key N” and the respective pieces of authority information P 1 , P 2 ,..., P N−1 , P N When,
(F) access management server, the authority information P 1, P 2 and received access identifier a of the object A, ..., are sequentially applied to the one-way function f with respect to P N-1, P N, again a step of first N to generate an access key akey N of checks by comparing the N-th access key akey N received thereto,
(G) the access management server allowing access to the object A in response to the successful check in (f);
An object access management method comprising:
オブジェクトを提供する1以上のオブジェクト・サーバとオブジェクトを要求する1以上のオブジェクト・クライアントとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを管理するためのアクセス管理サーバであって、
(a)一方向性関数fを提供する手段と、
(b)オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成する手段と、
(c)第1の権限情報P1とアクセス識別子aに対して一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成する手段と、
(d)第1のアクセス・キーakey1をオブジェクト・クライアントに配布する手段と、
(e)第Nのアクセス・キーakeyNと各権限情報P1,P2,…,PN-1,PNを提示したオブジェクトAへのアクセス要求を受信する手段と(但し、第Nのアクセス・キーakeyNは、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して一方向性関数fを適用して生成されたアクセス・キーf(PN,akeyN-1)のことであり、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(f)オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して一方向性関数fを順次適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査する手段と、
(g)前記手段(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容する手段と、
を含むことを特徴とするアクセス管理サーバ。
Access management server for managing access to objects in a distributed network system in which one or more object servers that provide objects and one or more object clients that request objects are connected via a network Because
(A) means for providing a one-way function f;
(B) an access identifier a for accessing the object A, means for generating first authority information P 1 for the access identifier a,
(C) means for applying the one-way function f to the first authority information P 1 and the access identifier a to generate a first access key akey 1 = f (P 1 , a);
(D) means for distributing the first access key akey 1 to the object client;
(E) means for receiving an access request to the object A presenting the Nth access key akey N and the respective authority information P 1 , P 2 ,..., P N−1 , P N (however, the Nth access key akey N is the N-th permission information P N and the N-1 of the access key akey N-1 with respect generated by applying a one-way function f access key f (P N, akey N-1 ), where N is a positive integer and the 0th access key is the access identifier a).
(F) the authority information and the received access identifier a of the object A P 1, P 2, ... , are sequentially applied to the one-way function f with respect to P N-1, P N, the access of the newly first N generate the key akey N, means for comparing to inspect the first N of the access key akey N received thereto,
(G) means for permitting access to the object A in response to the successful examination in the means (f);
An access management server comprising:
前記手段(f)は、受信した各権限情報P1,P2,…,PN-1,PNのコンテキストをも検査することを特徴とする請求項8に記載のアクセス管理サーバ。9. The access management server according to claim 8, wherein the means (f) also examines the context of each received authority information P 1 , P 2 ,..., P N−1 , P N. さらに無効化されたアクセス・キーを保持する無効アクセス・キー・テーブルと、
オブジェクト・クライアントから無効化要求された第Mのアクセス・キーakeyMを前記無効アクセス・キー・テーブルに登録する手段とを含み、
前記手段(f)は、一方向性関数fを順次適用して第Nのアクセス・キーakeyNを生成する途中で無効化されたアクセス・キーakeyMを得ると、検査を失敗させ、オブジェクトAへのアクセスを拒絶する、
ことを特徴とする請求項9に記載のアクセス管理サーバ。
A revoked access key table that holds further revoked access keys;
Means for registering the Mth access key akey M requested to be invalidated by the object client in the invalid access key table;
When the means (f) obtains the access key akey M invalidated in the course of generating the Nth access key akey N by sequentially applying the one-way function f, the means (f) fails the check, and the object A Deny access to
The access management server according to claim 9.
オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを要求するクライアントであって(但し、アクセス管理サーバは、一方向性関数fを提供するものとする)、
(a)アクセス識別子aと第1の権限情報P1を与えられたオブジェクトAについての第N−1のアクセス・キーakeyN-1と各権限情報P1,P2,…,PN-1を受信する手段と、
(b)第Nの権限情報PNを生成する手段と、
(c)第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して一方向性関数を適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成する手段と、
(d)第Nのアクセス・キーakeyNに各権限情報P1,P2,…,PN-1を添えて、オブジェクトAへのアクセスを要求し、第Nのアクセス・キーakeyNを他のオブジェクト・クライアントに委譲し、又は、第Nのアクセス・キーakeyNの無効化を要求する手段と、
を含むことを特徴とするオブジェクト・クライアント。
A client that requests access to an object on a distributed network system in which one or more object servers that provide objects and an access management server that manages access to the objects are connected via a network. (However, the access management server shall provide a one-way function f),
(A) access identifier a and the first authorization information P 1 (N-1) th access key akey N-1 for an object A that received the respective authorization information P 1, P 2, ..., P N-1 Means for receiving
(B) means for generating Nth authority information P N ;
(C) A one - way function is applied to the Nth authority information P N and the N−1th access key akey N−1 , and the Nth access key akey N = f (P N , key) N-1 ), and
(D) the authorization information P 1 to the N of the access key akey N, P 2, ..., along with the P N-1, requesting access to an object A, other N-th access key akey N Means for delegating to the object client or requesting revocation of the Nth access key akey N ;
An object client characterized by containing.
オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトを要求する1以上のオブジェクト・クライアントと、あるオブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上におけるオブジェクトのアクセス管理方法であって、
(a)アクセス管理サーバが、オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成するステップと、
(b)アクセス管理サーバが、第1の権限情報P1とアクセス識別子aに対して可換な一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成するステップと、
(c)第1のアクセス・キーakey1がオブジェクト・クライアントに配布されるステップと、
(d)第N−1のアクセス・キーakeyN-1を持つオブジェクト・クライアントが、第Nの権限情報PNを生成し、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して可換な一方向性関数fを適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成するステップと(但し、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(e)オブジェクト・クライアントが、第Nのアクセス・キーakeyNと、各権限情報P1,P2,…,PN-1,PNを提示して、オブジェクトAへのアクセスを要求するステップと、
(f)アクセス管理サーバが、オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して可換な一方向性関数fを任意の順番で適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査するステップと、
(g)アクセス管理サーバが、前記(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容するステップと、
を含むことを特徴とするオブジェクトのアクセス管理方法。
On a distributed network system in which one or more object servers that provide objects, one or more object clients that request objects, and an access management server that manages access to an object are connected via a network An object access management method in
(A) the access management server generating an access identifier a for accessing the object A, and first authority information P 1 for the access identifier a;
(B) The access management server applies a commutative one-way function f to the first authority information P 1 and the access identifier a to obtain a first access key akey 1 = f (P 1 , a )
(C) distributing the first access key akey 1 to the object client;
(D) Object client with access key akey N-1 of the (N-1) generates a rights information P N of the N, and authority information P N of the N (N-1) th access key akey by applying the commutative one-way function f with respect to N-1, N-th access key akey N = f (P N, akey N-1) a step of generating (where, N is the positive It is an integer, and the 0th access key is an access identifier a).
(E) A step in which the object client requests access to the object A by presenting the Nth access key “key N” and the respective pieces of authority information P 1 , P 2 ,..., P N−1 , P N When,
(F) The access management server assigns a one-way function f commutative to the access identifier a of the object A and the received authority information P 1 , P 2 ,..., P N−1 , P N in any order. a step of applying, generating anew the N-th access key akey N, inspected by comparing the N-th access key akey N received therewith in,
(G) the access management server allowing access to the object A in response to the successful check in (f);
An object access management method comprising:
オブジェクトを提供する1以上のオブジェクト・サーバとオブジェクトを要求する1以上のオブジェクト・クライアントとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを管理するためのアクセス管理サーバであって、
(a)可換な一方向性関数fを提供する手段と、
(b)オブジェクトAにアクセスするためのアクセス識別子aと、アクセス識別子aに対する第1の権限情報P1を生成する手段と、
(c)第1の権限情報P1とアクセス識別子aに対して可換な一方向性関数fを適用して、第1のアクセス・キーakey1=f(P1,a)を生成する手段と、
(d)第1のアクセス・キーakey1をオブジェクト・クライアントに配布する手段と、
(e)第Nのアクセス・キーakeyNと各権限情報P1,P2,…,PN-1,PNを提示したオブジェクトAへのアクセス要求を受信する手段と(但し、第Nのアクセス・キーakeyNは、第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して可換な一方向性関数fを適用して生成されたアクセス・キーf(PN,akeyN-1)のことであり、Nは正の整数であり、第0のアクセス・キーはアクセス識別子aとする。)、
(f)オブジェクトAのアクセス識別子aと受信した各権限情報P1,P2,…,PN-1,PNに対して可換な一方向性関数fを任意の順番で適用して、改めて第Nのアクセス・キーakeyNを生成し、これと受信した第Nのアクセス・キーakeyNとを比較して検査する手段と、
(g)前記手段(f)における検査が成功したことに応答して、オブジェクトAへのアクセスを許容する手段と、
を含むことを特徴とするアクセス管理サーバ。
Access management server for managing access to objects in a distributed network system in which one or more object servers that provide objects and one or more object clients that request objects are connected via a network Because
(A) means for providing a commutative one-way function f;
(B) an access identifier a for accessing the object A, means for generating first authority information P 1 for the access identifier a,
(C) Means for generating a first access key akey 1 = f (P 1 , a) by applying a commutative one-way function f to the first authority information P 1 and the access identifier a When,
(D) means for distributing the first access key akey 1 to the object client;
(E) means for receiving an access request to the object A presenting the Nth access key akey N and the respective authority information P 1 , P 2 ,..., P N−1 , P N (however, the Nth The access key akey N is generated by applying a commutative one-way function f to the Nth authority information P N and the N−1th access key akey N−1 . P N , key N−1 ), where N is a positive integer and the 0th access key is the access identifier a).
(F) The commutative one-way function f is applied to the access identifier a of the object A and the received authority information P 1 , P 2 ,..., P N−1 , P N in any order, anew generating a first N of the access key akey N, means for comparing to inspect the first N of the access key akey N received thereto,
(G) means for permitting access to the object A in response to the successful examination in the means (f);
An access management server comprising:
前記手段(f)は、受信した各権限情報P1,P2,…,PN-1,PNのコンテキストをも検査することを特徴とする請求項13に記載のアクセス管理サーバ。Access management server according to claim 13 wherein said means (f), each authority information P 1, P 2 received, which ..., characterized in that also examining the context of P N-1, P N. さらに無効化されたアクセス・キーを保持する無効アクセス・キー・テーブルと、
オブジェクト・クライアントから無効化要求された第Mのアクセス・キーakeyMを前記無効アクセス・キー・テーブルに登録する手段とを含み、
前記手段(f)は、可換な一方向性関数fを任意の順番で適用して第Nのアクセス・キーakeyNを生成する途中で無効化されたアクセス・キーakeyMを得ると、検査を失敗させ、オブジェクトAへのアクセスを拒絶する、
ことを特徴とする請求項13に記載のアクセス管理サーバ。
A revoked access key table that holds further revoked access keys;
Means for registering the Mth access key akey M requested to be invalidated by the object client in the invalid access key table;
When the means (f) obtains an invalid access key akey M while applying the commutative one-way function f in any order to generate the Nth access key akey N , And deny access to object A.
The access management server according to claim 13.
オブジェクトを提供する1以上のオブジェクト・サーバと、オブジェクトへのアクセスを管理するアクセス管理サーバとがネットワークを介して接続された分散型ネットワーク・システム上において、オブジェクトへのアクセスを要求するクライアントであって(但し、アクセス管理サーバは、可換な一方向性関数fを提供するものとする)、
(a)アクセス識別子aと第1の権限情報P1を与えられたオブジェクトAについての第N−1のアクセス・キーakeyN-1と各権限情報P1,P2,…,PN-1を受信する手段と、
(b)第Nの権限情報PNを生成する手段と、
(c)第Nの権限情報PNと第N−1のアクセス・キーakeyN-1に対して可換な一方向性関数を適用して、第Nのアクセス・キーakeyN=f(PN,akeyN-1)を生成する手段と、
(d)第Nのアクセス・キーakeyNに各権限情報P1,P2,…,PN-1を添えて、オブジェクトAへのアクセスを要求し、第Nのアクセス・キーakeyNを他のオブジェクト・クライアントに委譲し、又は、第Nのアクセス・キーakeyNの無効化を要求する手段と、
を含むことを特徴とするオブジェクト・クライアント。
A client that requests access to an object in a distributed network system in which one or more object servers that provide objects and an access management server that manages access to the objects are connected via a network. (However, the access management server shall provide a commutative one-way function f),
(A) access identifier a and the first authorization information P 1 (N-1) th access key akey N-1 for an object A that received the respective authorization information P 1, P 2, ..., P N-1 Means for receiving
(B) means for generating Nth authority information P N ;
(C) By applying a commutative one-way function to the Nth authority information P N and the N−1th access key akey N−1 , the Nth access key akey N = f (P N , key N-1 ), and
(D) the authorization information P 1 to the N of the access key akey N, P 2, ..., along with the P N-1, requesting access to an object A, other N-th access key akey N Means for delegating to the object client or requesting revocation of the Nth access key akey N ;
An object client characterized by containing.
JP26614198A 1998-09-21 1998-09-21 Object access control method Expired - Fee Related JP3765191B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26614198A JP3765191B2 (en) 1998-09-21 1998-09-21 Object access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26614198A JP3765191B2 (en) 1998-09-21 1998-09-21 Object access control method

Publications (2)

Publication Number Publication Date
JP2000099477A JP2000099477A (en) 2000-04-07
JP3765191B2 true JP3765191B2 (en) 2006-04-12

Family

ID=17426891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26614198A Expired - Fee Related JP3765191B2 (en) 1998-09-21 1998-09-21 Object access control method

Country Status (1)

Country Link
JP (1) JP3765191B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210272205A1 (en) * 2016-08-04 2021-09-02 Clarovia Holdings, Llc System and method for manufacturing and trading securities and commodities

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3756397B2 (en) * 2000-11-06 2006-03-15 日本電信電話株式会社 ACCESS CONTROL METHOD, ACCESS CONTROL DEVICE, AND RECORDING MEDIUM
JP4121242B2 (en) * 2000-11-10 2008-07-23 株式会社ドリーム・アーツ Cookie setting command processing method and apparatus
FI20020224L (en) * 2002-02-05 2003-08-06 Pinma Oy Method and apparatus for monitoring the distribution of digital resources and services
JP4498755B2 (en) * 2003-01-30 2010-07-07 株式会社リコー Document management apparatus, document management method, document management program, and recording medium
KR100493900B1 (en) 2003-08-21 2005-06-10 삼성전자주식회사 Method for Sharing Rights Object Between Users
JP2004005756A (en) * 2003-09-16 2004-01-08 Hitachi Ltd Certificate issuing method, certificate checking method, and certificate issuing center system
JP2006119751A (en) * 2004-10-19 2006-05-11 Victor Co Of Japan Ltd Data use device and attribute information issuing device
CN101124585A (en) 2005-02-21 2008-02-13 松下电器产业株式会社 Information distribution system and terminal device
JP5239702B2 (en) * 2008-09-30 2013-07-17 富士ゼロックス株式会社 Information use control system and program
KR20150092108A (en) 2012-12-05 2015-08-12 엘지전자 주식회사 Method and apparatus for notifying information change in wireless communication system
JP6166596B2 (en) * 2013-06-21 2017-07-19 キヤノン株式会社 Authorization server system, control method therefor, and program
EP3253021A1 (en) * 2016-06-03 2017-12-06 Gemalto Sa A method for managing the status of a connected device
CN109691015B (en) * 2016-08-30 2022-02-01 联邦科学和工业研究组织 Dynamic access control method and system on block chain
JP7779156B2 (en) * 2022-01-25 2025-12-03 トヨタ自動車株式会社 Access control program, access control method and access control device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210272205A1 (en) * 2016-08-04 2021-09-02 Clarovia Holdings, Llc System and method for manufacturing and trading securities and commodities
US20240303737A1 (en) * 2016-08-04 2024-09-12 Clarovia Holdings, Llc System and method for manufacturing and trading securities and commodities

Also Published As

Publication number Publication date
JP2000099477A (en) 2000-04-07

Similar Documents

Publication Publication Date Title
JP4359974B2 (en) Access authority delegation method
JP3466025B2 (en) Method and apparatus for protecting masquerade attack in computer network
US8613102B2 (en) Method and system for providing document retention using cryptography
US6918042B1 (en) Secure configuration of a digital certificate for a printer or other network device
US8813247B1 (en) Providing cryptographic security for objective-oriented programming files
Thirunavukkarasu et al. Secret agents-a security architecture for the KQML agent communication language
JP3765191B2 (en) Object access control method
US20020046350A1 (en) Method and system for establishing an audit trail to protect objects distributed over a network
US20030081774A1 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
US20030051172A1 (en) Method and system for protecting digital objects distributed over a network
JP2004509399A (en) System for protecting objects distributed over a network
Gittler et al. The DCE security service
WO2004001540A2 (en) Method and system for protecting digital objects distributed over a network using an electronic mail interface
JP4465952B2 (en) Document management system and method
CN103166969A (en) A method for accessing secure cloud controller based on cloud computing platform
KR100286904B1 (en) System and method for security management on distributed PC
JP4657706B2 (en) Authority management system, authentication server, authority management method, and authority management program
JP4720136B2 (en) ENCRYPTION DEVICE, ENCRYPTION METHOD, AND PROGRAM
JP6045018B2 (en) Electronic signature proxy server, electronic signature proxy system, and electronic signature proxy method
JP4389145B2 (en) Client server system and apparatus thereof
JP2007226470A (en) Authority management server, authority management method, and authority management program
Wang et al. Magikcube: securing cross-domain publish/subscribe systems with enclave
Khu-Smith et al. Enhancing the security of cookies
EP1026854A2 (en) Method and system for analyzing the content of encrypted electronic data
Sulaiman et al. A multi-agent security architecture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060117

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees