本發(fā)明涉及通信技術領域,尤其涉及資源訪問控制方法及裝置。
背景技術:
物聯(lián)網(wǎng)標準化組織onem2m致力于開發(fā)一系列用于構(gòu)造公共的m2m(machine-to-machine,機器對機器通信)服務層的技術規(guī)范。onem2m的核心是數(shù)據(jù)共享,具體是通過onem2mcse(commonservicesentity,公共服務實體)內(nèi)定義的資源樹上的數(shù)據(jù)項的共享實現(xiàn)的。
onem2m通過對標準化的資源樹進行操作來實現(xiàn)服務層資源的共享和交互,onem2m資源樹存在于onem2m系統(tǒng)所定義的cse中。根據(jù)onem2m功能架構(gòu)規(guī)范(onem2mts-0001:"functionalarchitecture")中的定義,onem2m資源樹的形式如圖1所示。對onem2m資源可進行創(chuàng)建(create)、查詢(retrieve)、修改(update)和刪除(delete)等操作。
onem2m所定義的資源中與授權相關的資源是訪問控制策略資源<accesscontrolpolicy>,其中定義有acp(accesscontrolpolicy,訪問控制策略)。<accesscontrolpolicy>資源由資源id唯一標識,其他資源通過accesscontrolpolicyids屬性指定所適用的訪問控制策略。
目前,onem2m系列規(guī)范中的安全規(guī)范(onem2mts-0003:"securitysolutions")給出了onem2m授權架構(gòu)的高層描述,具體給出了授權架構(gòu)的主要組成部分和基本流程,但尚未在資源結(jié)構(gòu)層面給出具體的實現(xiàn)方案。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種資源訪問控制方法及裝置,在資源結(jié)構(gòu)層面給出 了資源訪問控制方案。
本發(fā)明實施例提供的資源訪問控制方法,包括:
pdp接收pep發(fā)送的訪問控制決策請求,所述訪問控制決策請求由所述pep根據(jù)授權決策資源生成;
所述pdp根據(jù)所述訪問控制決策請求進行訪問控制決策,得到訪問控制決策信息;
所述pdp將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
優(yōu)選地,所述訪問控制決策請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制決策請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權決策資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權決策資源的屬性和/或子資源生成。
其中,所述授權決策資源中用于生成返回結(jié)果指示信息的屬性包括以下之一或任意組合:
決策屬性,用于承載訪問控制決策信息;
允許訪問的屬性,用于承載允許訪問的目標資源的屬性名稱,所述目標資源為資源訪問發(fā)起方請求訪問的目標資源;
允許訪問的資源類型,用于承載允許訪問的目標資源的子資源類型標識,所述目標資源為資源訪問發(fā)起方請求訪問的目標資源;
狀態(tài)屬性,用于承載描述訪問控制決策過程出現(xiàn)的錯誤。
其中,所述授權決策資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
目標屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的資源地址;
發(fā)起方屬性,用于承載資源訪問發(fā)起方的標識;
操作屬性,用于承載資源訪問發(fā)起方對請求訪問的目標資源的操作標識;
內(nèi)容屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的具體內(nèi)容;
過濾條件用途屬性,用于承載資源訪問發(fā)起方提供的資源訪問過濾條件中表示過濾條件用途的參數(shù);
角色標識屬性,用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;
令牌標識屬性,用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;
令牌屬性,用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌;
請求時間屬性,用于承載所述pep接收到資源訪問發(fā)起方發(fā)送的資源訪問請求的時間;
位置屬性,用于承載資源訪問發(fā)起方的位置;
請求方ip地址屬性,用于承載資源訪問發(fā)起方發(fā)送的資源訪問請求中攜帶的ip地址。
優(yōu)選地,所述pdp根據(jù)所述訪問控制決策請求進行訪問控制決策之前,還包括:
所述pdp根據(jù)所述訪問控制決策請求,向策略獲取點prp發(fā)送訪問控制策略請求,所述訪問控制策略請求由所述pdp根據(jù)授權策略資源生成;
所述pdp接收所述prp返回的訪問控制策略響應,所述訪問控制策略響應中包含所述prp根據(jù)所述訪問控制決策請求獲取到的訪問控制策略;
所述進行訪問控制決策,包括:
根據(jù)獲取到的訪問控制策略進行訪問控制決策。
其中,所述訪問控制策略請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制策略請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權策略資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權策略資源的屬性和/或子資源生成。
其中,所述授權策略資源中用于生成返回結(jié)果指示信息的屬性包括以下之一或任意組合:
策略屬性,用于承載適用于資源訪問發(fā)起方請求訪問的目標資源的訪問控制策略;
合并算法屬性,用于承載合并策略屬性中多個訪問控制策略所使用的策略合并算法的標識。
其中,所述授權策略資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
目標屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的資源地址;
發(fā)起方屬性,用于承載資源訪問發(fā)起方的標識。
優(yōu)選地,所述pdp根據(jù)所述訪問控制決策請求進行訪問控制決策之前,還包括:
所述pdp根據(jù)所述訪問控制決策請求,向策略信息點pip發(fā)送訪問控制信息請求,所述訪問控制信息請求由所述pdp根據(jù)授權信息資源生成;
所述pdp接收所述pip返回的訪問控制信息響應,所述訪問控制信息響應中包含所述pip根據(jù)所述訪問控制信息請求獲取到的訪問控制信息;
所述進行訪問控制決策,包括:
根據(jù)獲取到的訪問控制信息進行訪問控制決策。
其中,所述訪問控制信息請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制信息請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權信息資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權信息資源的屬性和/或子資源生成。
其中,所述授權信息資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
發(fā)起方屬性:用于承載資源訪問發(fā)起方的標識;
角色標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;
令牌標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識。
其中,所述授權信息資源中用于生成返回結(jié)果指示信息的子資源包括以下之一或任意組合:
角色資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色資源;
令牌資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的令牌資源。
本發(fā)明另一實施例提供的資源訪問控制方法,包括:
pdp接收pep發(fā)送的訪問控制決策請求;
所述pdp根據(jù)所述訪問控制決策請求,向prp發(fā)送訪問控制策略請求,所述訪問控制策略請求由所述pdp根據(jù)授權策略資源生成;
所述pdp接收所述prp返回的訪問控制策略響應,所述訪問控制策略響應中包含所述prp根據(jù)所述訪問控制決策請求獲取到的訪問控制策略;
所述pdp根據(jù)獲取到的訪問控制策略進行訪問控制決策,得到訪問控制決策信息;
所述pdp將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
優(yōu)選地,所述訪問控制策略請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制策略請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權策略資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權策略資源的屬性和/或子資源生成。
其中,所述授權策略資源中用于生成返回結(jié)果指示信息的屬性包括以下之一或任意組合:
策略屬性,用于承載適用于資源訪問發(fā)起方請求訪問的目標資源的訪問控制策略;
合并算法屬性,用于承載合并策略屬性中多個訪問控制策略所使用的策略合并算法的標識。
其中,所述授權策略資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
目標屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的資源地址;
發(fā)起方屬性,用于承載資源訪問發(fā)起方的標識。
本發(fā)明另一實施例提供的資源訪問控制方法,包括:
pdp接收pep發(fā)送的訪問控制決策請求;
所述pdp根據(jù)所述訪問控制決策請求,向策略信息點pip發(fā)送訪問控制信息請求,所述訪問控制信息請求由所述pdp根據(jù)授權信息資源生成;
所述pdp接收所述pip返回的訪問控制信息響應,所述訪問控制信息響應中包含所述pip根據(jù)所述訪問控制信息請求獲取到的訪問控制信息;
所述pdp根據(jù)獲取到的訪問控制信息進行訪問控制決策,得到訪問控制決策信息;
所述pdp將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
優(yōu)選地,所述訪問控制信息請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制信息請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權信息資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權信息資源的屬性和/或子資源生成。
其中,所述授權信息資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
發(fā)起方屬性:用于承載資源訪問發(fā)起方的標識;
角色標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;
令牌標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息 的令牌的標識。
其中,所述授權信息資源中用于生成返回結(jié)果指示信息的子資源包括以下之一或任意組合:
角色資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色資源;
令牌資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的令牌資源。
本發(fā)明實施例提供的pdp設備,包括:
接收模塊,用于接收pep發(fā)送的訪問控制決策請求,所述訪問控制決策請求由所述pep根據(jù)授權決策資源生成;
決策模塊,用于根據(jù)所述訪問控制決策請求進行訪問控制決策,得到訪問控制決策信息;
發(fā)送模塊,用于將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
優(yōu)選地,所述訪問控制決策請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制決策請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權決策資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權決策資源的屬性和/或子資源生成。
其中,所述授權決策資源中用于生成返回結(jié)果指示信息的屬性包括以下之一或任意組合:
決策屬性,用于承載訪問控制決策信息;
允許訪問的屬性,用于承載允許訪問的目標資源的屬性名稱,所述目標資源為資源訪問發(fā)起方請求訪問的目標資源;
允許訪問的資源類型,用于承載允許訪問的目標資源的子資源類型標識,所述目標資源為資源訪問發(fā)起方請求訪問的目標資源;
狀態(tài)屬性,用于承載描述訪問控制決策過程出現(xiàn)的錯誤;
所述授權決策資源中用于生成資源訪問過濾條件的屬性包括以下之一或 任意組合:
目標屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的資源地址;
發(fā)起方屬性,用于承載資源訪問發(fā)起方的標識;
操作屬性,用于承載資源訪問發(fā)起方對請求訪問的目標資源的操作標識;
內(nèi)容屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的具體內(nèi)容;
過濾條件用途屬性,用于承載資源訪問發(fā)起方提供的資源訪問過濾條件中表示過濾條件用途的參數(shù);
角色標識屬性,用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;
令牌標識屬性,用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;
令牌屬性,用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌;
請求時間屬性,用于承載所述pep接收到資源訪問發(fā)起方發(fā)送的資源訪問請求的時間;
位置屬性,用于承載資源訪問發(fā)起方的位置;
請求方ip地址屬性,用于承載資源訪問發(fā)起方發(fā)送的資源訪問請求中攜帶的ip地址。
進一步地,還包括:第一獲取模塊,用于根據(jù)所述訪問控制決策請求,向策略獲取點prp發(fā)送訪問控制策略請求,所述訪問控制策略請求由所述pdp根據(jù)授權策略資源生成;接收所述prp返回的訪問控制策略響應,所述訪問控制策略響應中包含所述prp根據(jù)所述訪問控制決策請求獲取到的訪問控制策略;
所述決策模塊具體用于:根據(jù)所述第一獲取模塊獲取到的訪問控制策略進行訪問控制決策。
其中,所述訪問控制策略請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制策略請求所請求返回的參數(shù), 所述返回結(jié)果指示信息根據(jù)所述授權策略資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權策略資源的屬性和/或子資源生成。
其中,所述授權策略資源中用于生成返回結(jié)果指示信息的屬性包括以下之一或任意組合:
策略屬性,用于承載適用于資源訪問發(fā)起方請求訪問的目標資源的訪問控制策略;
合并算法屬性,用于承載合并策略屬性中多個訪問控制策略所使用的策略合并算法的標識;
所述授權策略資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
目標屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的資源地址;
發(fā)起方屬性,用于承載資源訪問發(fā)起方的標識。
進一步地,還包括:第二獲取模塊,用于根據(jù)所述訪問控制決策請求,向策略信息點pip發(fā)送訪問控制信息請求,所述訪問控制信息請求由所述pdp根據(jù)授權信息資源生成;接收所述pip返回的訪問控制信息響應,所述訪問控制信息響應中包含所述pip根據(jù)所述訪問控制信息請求獲取到的訪問控制信息;
所述決策模塊具體用于:根據(jù)所述第二獲取模塊獲取到的訪問控制信息進行訪問控制決策。
其中,所述訪問控制信息請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制信息請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權信息資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權信息資源的屬性和/或子資源生成。
其中,所述授權信息資源中用于生成資源訪問過濾條件的屬性包括以下之 一或任意組合:
發(fā)起方屬性:用于承載資源訪問發(fā)起方的標識;
角色標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;
令牌標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;
所述授權信息資源中用于生成返回結(jié)果指示信息的子資源包括以下之一或任意組合:
角色資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色資源;
令牌資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的令牌資源。
本發(fā)明另一實施例提供的pdp設備,包括:
接收模塊,用于接收pep發(fā)送的訪問控制決策請求;
獲取模塊,用于根據(jù)所述訪問控制決策請求,向prp發(fā)送訪問控制策略請求,所述訪問控制策略請求由所述pdp根據(jù)授權策略資源生成;接收所述prp返回的訪問控制策略響應,所述訪問控制策略響應中包含所述prp根據(jù)所述訪問控制決策請求獲取到的訪問控制策略;
決策模塊,用于根據(jù)獲取到的訪問控制策略進行訪問控制決策,得到訪問控制決策信息;
發(fā)送模塊,用于將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
優(yōu)選地,所述訪問控制策略請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制策略請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權策略資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權策略資源的屬性和/或子資源生成。
其中,所述授權策略資源中用于生成返回結(jié)果指示信息的屬性包括以下之一或任意組合:
策略屬性,用于承載適用于資源訪問發(fā)起方請求訪問的目標資源的訪問控制策略;
合并算法屬性,用于承載合并策略屬性中多個訪問控制策略所使用的策略合并算法的標識;
所述授權策略資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
目標屬性,用于承載資源訪問發(fā)起方請求訪問的目標資源的資源地址;
發(fā)起方屬性,用于承載資源訪問發(fā)起方的標識。
本發(fā)明另一實施例提供的pdp設備,包括:
接收模塊,用于接收pep發(fā)送的訪問控制決策請求;
獲取模塊,用于根據(jù)所述訪問控制決策請求,向pip發(fā)送訪問控制信息請求,所述訪問控制信息請求由所述pdp根據(jù)授權信息資源生成;接收所述pip返回的訪問控制信息響應,所述訪問控制信息響應中包含所述pip根據(jù)所述訪問控制信息請求獲取到的訪問控制信息;
決策模塊,用于根據(jù)獲取到的訪問控制信息進行訪問控制決策,得到訪問控制決策信息;
發(fā)送模塊,用于將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
優(yōu)選地,所述訪問控制信息請求中包含:
返回結(jié)果指示信息,用于指示所述訪問控制信息請求所請求返回的參數(shù),所述返回結(jié)果指示信息根據(jù)所述授權信息資源的屬性和/或子資源生成;和/或,
資源訪問過濾條件,用于指示資源操作的過濾條件,所述資源訪問過濾條件根據(jù)所述授權信息資源的屬性和/或子資源生成。
其中,所述授權信息資源中用于生成資源訪問過濾條件的屬性包括以下之一或任意組合:
發(fā)起方屬性:用于承載資源訪問發(fā)起方的標識;
角色標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;
令牌標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;
所述授權信息資源中用于生成返回結(jié)果指示信息的子資源包括以下之一或任意組合:
角色資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色資源;
令牌資源:用于承載一組頒發(fā)給資源訪問發(fā)起方的令牌資源。
本發(fā)明的上述實施例中,授權實體根據(jù)新定義的資源(比如授權決策資源、授權策略資源或授權信息資源)生成資源訪問控制過程中的請求消息,從而從其他授權實體獲取需要的信息,在資源結(jié)構(gòu)層面給出了資源訪問控制方案。
附圖說明
圖1為現(xiàn)有技術中的onem2m資源樹示意圖;
圖2為現(xiàn)有技術中的onem2m授權架構(gòu)示意圖;
圖3為本發(fā)明實施例中基于onem2m資源實現(xiàn)分布式授權的原理示意圖;
圖4為本發(fā)明實施例中授權資源與cse根資源<csebase>的關系示意圖;
圖5為本發(fā)明實施例提供的<authorizationdecision>資源類型結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例提供的<authorizationpolicy>資源類型結(jié)構(gòu)示意圖;
圖7為本發(fā)明實施例提供的<authorizationinformation>資源類型結(jié)構(gòu)示意圖;
圖8為本發(fā)明實施例提供的資源訪問控制的通用流程示意圖;
圖9為本發(fā)明實施例提供的pep與pdp之間的交互流程示意圖;
圖10為本發(fā)明實施例提供的pdp與prp之間的交互流程示意圖;
圖11為本發(fā)明實施例提供的pdp與pip之間的交互流程示意圖;
圖12為本發(fā)明實施例提供的pdp的結(jié)構(gòu)示意圖之一;
圖13為本發(fā)明實施例提供的pdp的結(jié)構(gòu)示意圖之二;
圖14為本發(fā)明實施例提供的pdp的結(jié)構(gòu)示意圖之三。
具體實施方式
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部份實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
onem2m定義了兩種基本實體:應用實體(applicationentity,ae)和公共服務實體(commonservicesentity,cse)。
ae位于應用層,可實現(xiàn)一個m2m應用邏輯。一個應用邏輯既可以駐留在多個m2m節(jié)點中,也可以在單個節(jié)點中存在多個執(zhí)行實例。應用邏輯的每個執(zhí)行實例被稱為一個ae,每個ae由唯一的ae-id所標識。
cse由一組m2m環(huán)境中的“公共服務功能(commonservicefunctions)”構(gòu)成。每個cse由唯一的cse-id所標識。onem2m資源樹存在于cse中。
onem2m定義了3種類型的資源:
普通資源(normalresource):具有具體的資源結(jié)構(gòu)及資源屬性。
虛擬資源(virtualresource):不具有具體的資源結(jié)構(gòu)及資源屬性,主要用于觸發(fā)特定的處理過程。
公布資源(announcedresource):具有具體的資源結(jié)構(gòu)及屬性,該資源為其他實體上普通資源某些內(nèi)容的拷貝,主要目的是為資源發(fā)現(xiàn)提供便利。
onem2m安全解決方案技術規(guī)范(onem2mts-0003:securitysolutions)中給出的授權架構(gòu)如圖2所示,該架構(gòu)中可包括如下組件:
·策略執(zhí)行點(policyenforcementpoint,pep):pep與需要訪問控制的應用系統(tǒng)共存,并由應用系統(tǒng)調(diào)用,pep將根據(jù)資源訪問發(fā)起方的資源訪問請求生成訪問控制決策請求,并發(fā)送給pdp,然后根據(jù)pdp返回的訪問控制決策響應確定是否執(zhí)行該資源訪問請求。
·策略決策點(policydecisionpoint,pdp):pdp負責根據(jù)訪問控制策略判決是否同意對由pep發(fā)送來的訪問控制決策請求所請求的目標資源進行訪問,并將判決結(jié)果通過訪問控制決策響應返回給pep。
·策略獲取點(policyretrievalpoint,prp):prp根據(jù)pdp提供的訪問控制策略請求獲取適用的訪問控制策略,并將獲取的訪問控制策略返回給pdp。
·策略信息點(policyinformationpoint,pip):pip根據(jù)pdp的訪問控制信息請求獲取與用戶、資源或環(huán)境相關的屬性,例如訪問用戶的ip地址,資源的創(chuàng)建者,當前的時間等,然后將獲得的屬性返回給pdp。
onem2m的基本資源訪問控制流程可包括:
資源訪問發(fā)起方向pep發(fā)送資源訪問請求(accessrequest),pep根據(jù)該資源訪問請求向pdp發(fā)送訪問控制決策請求(decisionrequest)。
pdp根據(jù)pep發(fā)送的訪問控制決策請求向prp發(fā)送訪問控制策略請求(policyrequest),prp向pdp返回訪問控制策略響應(policyresponse),該訪問控制策略響應中包含有訪問控制策略。
pdp對訪問控制決策請求和訪問控制策略中包含的內(nèi)容進行分析、判決;在進行分析、判決時,若需要其他屬性,則向pip發(fā)送訪問控制信息請求(attributerequest),pip向pdp發(fā)送訪問控制信息響應,該訪問控制信息響應中包括根據(jù)訪問控制信息請求獲取到的與訪問控制相關的屬性。
pdp向pep發(fā)送訪問控制決策響應(decisionresponse),該問控制決策響應中包括訪問控制決策結(jié)果。pep根據(jù)訪問控制決策響應中的訪問控制決策結(jié)果,決定是否執(zhí)行資源訪問發(fā)起方的資源訪問請求。
本發(fā)明實施例針對資源訪問控制,定義3種新的onem2m資源,這3種資源屬于普通資源(normalresource)類型,它們分別是:
授權決策資源,本發(fā)明實施例中表示為<authorizationdecision>資源;
授權策略資源,本發(fā)明實施例中表示為<authorizationpolicy>資源;
授權信息資源,本發(fā)明實施例中表示為<authorizationinformation>資源。
通過對這3種資源的操作可實現(xiàn)授權實體之間的數(shù)據(jù)交換,并可實現(xiàn)授權系統(tǒng)的分布式處理。對不同資源類型的訪問決定了授權請求的類型,例如,訪問控制決策請求訪問<authorizationdecision>資源,訪問控制策略請求訪問<authorizationpolicy>資源,訪問控制信息請求訪問<authorizationinformation>資源。
上述這3種資源可設置在cse根資源(<csebase>)下,即,這3種資源可作為csebase下的子資源,資源類型為普通資源(normalresource)。這3種資源可位于同一個cse內(nèi)(即為同一個<csebase>下的子資源,也可以位于不同的cse內(nèi)。比如,一種典型的例子中,<authorizationdecision>資源位于實現(xiàn)pdp功能的cse內(nèi),<authorizationpolicy>資源位于實現(xiàn)prp功能的cse內(nèi),<authorizationinformation>資源位于實現(xiàn)pip功能的cse內(nèi)。
一個cse內(nèi)可包括上述3種新的資源中的一種或多種。一個cse內(nèi)所包含的同一種資源(指上述3種新的資源中的一種資源),其資源數(shù)量可以是一個或多個,比如,一個cse內(nèi)可包含一個或多個<authorizationdecision>資源。
如果一個cse內(nèi)包含多種同類的資源,比如包含多個<authorizationdecision>資源,則可設置不同的<authorizationdecision>資源被不同的資源訪問發(fā)起方進行訪問,或者被不同組的資源訪問發(fā)起方進行訪問。
圖3示例性地示出了一種基于資源的分布式授權架構(gòu)和原理。
如圖3所示,pep(圖中為hostingcse)通過對實現(xiàn)pdp功能的cse(圖中為cse1)內(nèi)的<authorizationdecision>資源的操作,實現(xiàn)pep與pdp之間的信息交換,也即訪問控制決策請求與訪問控制決策響應的交互。
pdp(圖中為cse1)通過對實現(xiàn)prp功能的cse(圖中為cse2)中的<authorizationpolicy>資源的操作,實現(xiàn)pdp與prp之間的信息交換,也即訪 問控制策略請求與訪問控制策略響應的交互。
pdp(圖中為cse1)通過對實現(xiàn)pip功能的cse(圖中為cse3)中的<authorizationinformation>資源的操作,實現(xiàn)pdp與prp之間的信息交換,也即訪問控制信息請求與訪問控制信息響應的交互。
需要說明的是,圖3所示的例子中,<authorizationdecision>資源、<authorizationpolicy>資源和<authorizationinformation>資源分布在不同授權實體的cse內(nèi),在其他一些例子中,上述3種資源中的多種可分布在同一cse內(nèi),本發(fā)明實施例對此不做限制。
本發(fā)明實施例中,授權功能請求發(fā)起方(比如圖3中的pdp、prp或pip)利用onem2m資源讀取操作(retrieve)讀取相應資源,利用讀取請求(retrieverequest)中的content參數(shù)描述期望獲得的與授權相關的信息(即content參數(shù)是用于指示所請求返回的參數(shù)),利用讀取請求中的filtercriteria參數(shù)提供相應的輸入信息(即filtercriteria參數(shù)是用于指示資源操作的過濾條件,比如指示資源讀取操作的過濾條件)。授權功能接收方根據(jù)提供的輸入信息執(zhí)行相應的授權過程,并將執(zhí)行結(jié)果以讀取響應(retrieveresponse)的方式返回給授權功能發(fā)起方。
其中,讀取請求(retrieverequest)中的content參數(shù)也可稱為返回結(jié)果指示信息,可由上述本發(fā)明實施例定義的資源的屬性和/或子資源生成,具體地,可由資源的屬性名稱或其他能夠指示屬性的信息構(gòu)建得到;讀取請求(retrieverequest)中的filtercriteria參數(shù)也可稱為資源訪問過濾條件,可由本發(fā)明實施例定義的資源的屬性和/或子資源生成,具體地,可由資源的屬性名稱和屬性值構(gòu)建得到。
其中,基于圖2所示的架構(gòu),讀取請求(retrieverequest)具體可包括:pep發(fā)送給pdp的訪問控制決策請求,pdp發(fā)送給prp的訪問控制策略請求,pdp發(fā)送給pip的訪問控制信息請求。
在onem2m中,一個資源可包含一個或多個屬性,資源的屬性用來承載 該資源的屬性值。本發(fā)明實施例定義的上述3種資源中也可包括一個或多個屬性。這些資源中的屬性按其用途可分為兩類:
用于生成返回結(jié)果指示信息的屬性:資源訪問發(fā)起方所請求獲得的結(jié)果放在這些資源屬性中,例如訪問控制決策,訪問控制策略,訪問控制信息等;這些屬性是retrieve操作的目標資源中的屬性。
用于生成資源訪問過濾條件的屬性:資源訪問發(fā)起方提供的輸入?yún)?shù)放在這些資源屬性中,例如資源訪問發(fā)起方的標識,目的資源地址,對資源的操作等;這些屬性用于構(gòu)建retrieve操作的資源過濾條件,資源訪問發(fā)起方通過此方式將輸入?yún)?shù)傳遞給pdp、prp或pip。
進一步地,上述3種資源中還可以包含有子資源,這些子資源用于輸出結(jié)果,所以又稱為目的資源,例如查詢角色或令牌時使用的<role>資源類型或<token>資源類型。
圖4示例性地示出了一種授權資源與cse根資源<csebase>的關系,其中,<csebase>下可包含onem2m已定義的資源屬性(請見圖中所示的“其他資源屬性”),onem2m已定義子資源(請見圖中所示的“其他子資源”),進一步地還包括本發(fā)明實施例定義的<authorizationdecision>資源、<authorizationpolicy>資源和<authorizationinformation>資源。進一步地,在一個<csebase>下,<authorizationdecision>資源的數(shù)量可以是一個或多個,也可以不包含<authorizationdecision>資源(圖中用“0..n”表示可能的數(shù)量,n為大于等于1的整數(shù));<authorizationpolicy>資源的數(shù)量可以是一個或多個,也可以不包含<authorizationpolicy>資源(圖中用“0..n”表示可能的數(shù)量,n為大于等于1的整數(shù));<authorizationinformation>資源的數(shù)量可以是一個或多個,也可以不包含<authorizationinformation>資源(圖中用“0..n”表示可能的數(shù)量,n為大于等于1的整數(shù))。
下面詳細說明上述<authorizationdecision>資源、<authorizationpolicy>資源和<authorizationinformation>資源中的屬性。
(1)<authorizationdecision>資源類型
<authorizationdecision>資源類型的結(jié)構(gòu)如圖5所示,圖5中用“0..n”表示屬性或子資源可能的數(shù)量,n為大于等于1的整數(shù);用“l(fā)”表示屬性值可以是列表(list)形式。
如圖5所示,資源屬性和子資源的定義如下:
決策屬性:該屬性用于承載訪問控制決策信息;該屬性的屬性名稱可表示為decision,屬性值為訪問控制決策;decision屬性為可選屬性;
允許訪問的屬性:用于承載允許訪問的目標資源(即資源訪問發(fā)起方請求訪問的目標資源)的屬性名稱;該屬性的屬性名稱可表示為permittedattributes,屬性值為允許訪問的目標資源的屬性名稱列表;permittedattributes屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
允許訪問的資源類型:用于承載允許訪問的目標資源(即資源訪問發(fā)起方請求訪問的目標資源)的子資源類型標識;該屬性的屬性名稱可表示為permittedresourcetypes,屬性值為允許訪問的目標資源的子資源類型標識列表;permittedresourcetypes屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
狀態(tài)屬性:用于承載描述訪問控制決策過程出現(xiàn)的錯誤;該屬性的屬性名稱可表示為status,屬性值為描述訪問控制決策過程出現(xiàn)的錯誤;status屬性為可選屬性;
目標屬性:用于承載資源訪問發(fā)起方所請求訪問的目標資源的資源地址;該屬性的屬性名稱可表示為to,屬性值為資源訪問發(fā)起方(originator)所訪問的目標資源地址;to屬性為可選屬性;
發(fā)起方屬性:用于承載資源訪問發(fā)起方的標識;該屬性的屬性名稱可表示為from,屬性值為資源訪問發(fā)起方的標識;from屬性為可選屬性;
操作屬性:用于承載資源訪問發(fā)起方對請求訪問的目標資源的操作標識; 該屬性的屬性名稱可表示為operation,屬性值為資源訪問發(fā)起方對目標資源的操作標識;operation屬性為可選屬性;
內(nèi)容屬性:用于承載資源訪問發(fā)起方所請求訪問的目標資源的具體內(nèi)容;該屬性的屬性名稱為content,屬性值為資源訪問發(fā)起方想要訪問的目標資源的具體內(nèi)容;content屬性為可選屬性;
過濾條件用途屬性:用于承載資源訪問發(fā)起方提供的資源訪問過濾條件中的表示過濾條件用途的參數(shù);該屬性的屬性名稱可表示為filterusage,屬性值為資源訪問發(fā)起方提供的資源訪問過濾條件filtercriteria中的表示過濾條件用途的filterusage參數(shù)的值;filterusage屬性為可選屬性;
角色標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;該屬性的屬性名稱可表示為roleids,屬性值為一組頒發(fā)給資源訪問發(fā)起方的角色的標識;roleids屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
令牌標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;該屬性的屬性名稱可表示為tokenids,屬性值為一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;tokenids屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
令牌屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌;該屬性的屬性名稱可表示為tokens,屬性值為一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌;token屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
請求時間屬性:用于承載所述pep接收到資源訪問發(fā)起方發(fā)送的資源訪問請求的時間;該屬性的屬性名稱可表示為requesttime,屬性值為宿主cse(hostingcse)接收到資源訪問發(fā)起方資源訪問請求的時間;requesttime屬性為可選屬性;
位置屬性:用于承載資源訪問發(fā)起方的位置;該屬性的屬性名稱可表示為 requestlocation,屬性值為資源訪問發(fā)起方的位置信息;requestlocation屬性為可選屬性;
請求方ip地址屬性:用于承載資源訪問發(fā)起方發(fā)送的資源訪問請求中攜帶的ip地址;該屬性的屬性名稱可表示為requestip,屬性值為資源訪問發(fā)起方資源訪問請求數(shù)據(jù)包中攜帶的ip地址;requestip屬性為可選屬性。
進一步地,<authorizationdecision>資源中還可包含子資源,表示為<subscription>。<authorizationdecision>資源中所包含的<subscription>資源的數(shù)量可以是一個或多個。<subscription>可以是onem2m已定義的子資源。
上述<authorizationdecision>資源的屬性中,decision屬性、permittedattributes屬性、permittedresourcetypes屬性以及status屬性可用來生成資源控制決策請求中的“返回結(jié)果指示信息”(如前述的content參數(shù)),其他屬性可用來生成資源控制決策請求中的“資源訪問過濾條件”(如前述的filtercriteria參數(shù))。
需要說明的是,實際應用中可能不僅限于上述所定義的資源屬性和子資源,通過對<authorizationdecision>資源的擴展,可以在訪問控制決策請求中加入新的輸入?yún)?shù)(如前述的filtercriteria參數(shù)),在訪問控制決策響應中加入新的輸出參數(shù)(如前述的content參數(shù))。
(2)<authorizationpolicy>資源類型
<authorizationpolicy>資源類型的結(jié)構(gòu)如圖6所示,圖6中用“1”表示屬性的數(shù)量為1;用“0..n”表示屬性可能的數(shù)量,n為大于等于1的整數(shù);用“l(fā)”表示屬性值可以是列表(list)形式。
如圖6所示,資源屬性和子資源的定義如下:
策略屬性:用于承載適用于資源訪問發(fā)起方請求訪問的目標資源的訪問控制策略;該屬性的屬性名稱可表示為policies,屬性值為適用于目標資源的訪問控制策略;policies屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
合并算法屬性:用于承載合并策略屬性中多個訪問控制策略所使用的策略合并算法的標識;該屬性的屬性名稱為combiningalgorithm,屬性值為合并policies屬性中多個訪問控制策略所使用的策略合并算法的標識;combiningalgorithm屬性為可選屬性;
目標屬性:用于承載資源訪問發(fā)起方請求訪問的目標資源的資源地址;該屬性的屬性名稱可表示為to,屬性值為資源訪問發(fā)起方訪問的目標資源地址;to屬性為可選屬性;
發(fā)起方屬性:用于承載資源訪問發(fā)起方的標識;該屬性的屬性名稱可表示為from,屬性值為資源訪問發(fā)起方的標識;from屬性為可選屬性。
進一步地,<authorizationpolicy>資源中還可以包含子資源,表示為<subscription>。<authorizationpolicy>資源中所包含的<subscription>資源的數(shù)量可以是一個或多個。<subscription>可以是onem2m已定義的子資源。
上述<authorizationpolicy>資源的屬性中,policies屬性、combiningalgorithm屬性可用來生成資源控制策略請求中的“返回結(jié)果指示信息”(如前述的content參數(shù)),其他屬性可用來生成資源控制策略請求中的“資源訪問過濾條件”(如前述的filtercriteria參數(shù))。
需要說明的是,實際應用中可能不僅限于這里所定義的資源屬性和子資源,通過對<authorizationpolicy>資源的擴展,可以在訪問控制策略請求中加入新的輸入?yún)?shù)(如前述的filtercriteria參數(shù)),在訪問控制策略響應中加入新的輸出參數(shù)(如前述的content參數(shù))。
(3)<authorizationinformation>資源類型
<authorizationinformation>資源類型的結(jié)構(gòu)如圖7所示,圖7中用“1”表示屬性的數(shù)量為1;用“0..n”表示屬性可能的數(shù)量,n為大于等于1的整數(shù);用“l(fā)”表示屬性值可以是列表(list)形式。
如圖7所示,資源屬性和子資源的定義如下:
角色資源:該資源可表示為<role>,用于承載一組頒發(fā)給資源訪問發(fā)起方 的角色資源;該子資源為可選子資源;如果<authorizationinformation>資源中包含該子資源,則其數(shù)量可以是一個或多個;
令牌資源:該資源可表示為<token>,用于承載一組頒發(fā)給資源訪問發(fā)起方的令牌資源;該子資源為可選子資源;
發(fā)起方屬性:用于承載資源訪問發(fā)起方的標識;該屬性的屬性名稱可表示為from,屬性值為資源訪問發(fā)起方的標識;from屬性為可選屬性;
角色標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的角色的標識;該屬性的屬性名稱可表示為roleids,屬性值為一組頒發(fā)給資源訪問發(fā)起方的角色的標識;roleids屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
令牌標識屬性:用于承載一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;該屬性的屬性名稱可表示為tokenids,屬性值為一組頒發(fā)給資源訪問發(fā)起方的攜帶有授權信息的令牌的標識;tokenids屬性為可選屬性;進一步地,該屬性的屬性值可以采用列表形式;
進一步地,<authorizationinformation>資源中還可以包含其他子資源,表示為<subscription>。<authorizationinformation>資源中所包含的<subscription>資源的數(shù)量可以是一個或多個。<subscription>可以是onem2m已定義的子資源。
上述<authorizationinformation>資源的屬性和子資源中,<role>、<token>可用來生成資源控制信息請求中的“返回結(jié)果指示信息”(如前述的content參數(shù)),其他屬性可用來生成資源控制信息請求中的“資源訪問過濾條件”(如前述的filtercriteria參數(shù))。
需要說明的是,實際應用中可能不僅限于這里所定義的資源屬性和子資源,通過對<authorizationpolicy>資源的擴展,可以在訪問控制信息請求中加入新的輸入?yún)?shù)(如前述的filtercriteria參數(shù)),在訪問控制信息響應中加入新的輸出參數(shù)(如前述的content參數(shù))。
基于本發(fā)明實施例所定義的上述資源,以及圖2所提供的onem2m授權架構(gòu),本發(fā)明實施例提供了以下資源訪問控制(即資源授權流程)流程。
下面分別結(jié)合圖8、圖9、圖10和圖11,對本發(fā)明實施例提供的資源訪問控制流程進行詳細說明。
參見圖8,為本發(fā)明實施例提供的資源訪問控制的通用流程示意圖,如圖所示,該流程可包括:
步驟801:pep根據(jù)資源訪問發(fā)起方的資源訪問請求,向pdp發(fā)送訪問控制決策請求。
可選地,pep發(fā)送的訪問控制決策請求是根據(jù)<authorizationdecision>資源生成的。
具體地,訪問控制決策請求中可包含有返回結(jié)果指示信息(比如前述的content參數(shù)),該返回結(jié)果指示信息用于指示該訪問控制決策請求所請求返回的參數(shù),可根據(jù)<authorizationdecision>資源的屬性和/或子資源生成,比如,content參數(shù)可包括<authorizationdecision>資源的屬性名稱和/或該資源的子資源標識。
進一步地,訪問控制決策請求中還包含有資源訪問過濾條件(比如前述的filtercriteria參數(shù)),資源訪問過濾條件用于指示資源操作的過濾條件,可根據(jù)<authorizationdecision>資源的屬性和/或子資源生成,比如,filtercriteria參數(shù)可包括<authorizationdecision>資源的屬性名稱和屬性值,和/或,子資源的標識和具體內(nèi)容(比如子資源屬性的屬性值)。
步驟802:pdp根據(jù)訪問控制決策請求進行訪問控制決策。
可選地,pdp可從本地獲得訪問控制策略,也可從prp獲取訪問控制策略。
pdp從prp獲取訪問控制策略的過程可包括:pdp可根據(jù)該訪問控制決策請求,向prp發(fā)送訪問控制策略請求,并接收prp根據(jù)該訪問控制策略請求返回的訪問控制策略響應,訪問控制策略響應中包含prp根據(jù)該訪問控制 策略請求獲取到的訪問控制策略。其中,訪問控制策略請求是pdp根據(jù)<authorizationpolicy>資源生成的。
具體地,訪問控制策略請求中可包含有返回結(jié)果指示信息(比如前述的content參數(shù)),該返回結(jié)果指示信息用于指示該訪問控制策略請求所請求返回的參數(shù),可根據(jù)<authorizationpolicy>資源屬性和/或子資源生成,比如content參數(shù)可包括<authorizationpolicy>資源的屬性名稱和/或該資源的子資源標識。
進一步地,訪問控制策略請求中還包含有資源訪問過濾條件(比如前述的filtercriteria參數(shù)),資源訪問過濾條件用于指示資源操作的過濾條件,可根據(jù)<authorizationpolicy>資源的屬性和/或子資源構(gòu)建,比如,filtercriteria參數(shù)可包括<authorizationpolicy>資源的子資源標識和具體內(nèi)容(比如子資源屬性的屬性值)。
相應地,prp向pdp返回的訪問控制策略響應中可包含根據(jù)上述返回結(jié)果指示信息和資源訪問過濾條件獲取到的,<authorizationpolicy>資源的屬性值和/或該資源的子資源的內(nèi)容。
進一步地,pdp還可從本地獲取訪問控制信息,也可從pip獲取訪問控制信息。
pdp從pip獲取訪問控制信息的過程可包括:pdp可根據(jù)該訪問控制決策請求,向pip發(fā)送訪問控制信息請求,并接收pip根據(jù)該訪問控制信息請求返回的訪問控制信息響應,訪問控制信息響應中包含pip根據(jù)該訪問控制信息請求獲取到的訪問控制信息。其中,訪問控制信息請求是pdp根據(jù)<authorizationinformation>資源生成的。
具體地,訪問控制信息請求中可包含有返回結(jié)果指示信息(比如前述的content參數(shù)),返回結(jié)果指示信息用于指示該訪問控制信息請求所請求返回的參數(shù),可根據(jù)<authorizationinformation>資源的屬性和/或子資源生成,比如,content參數(shù)可包括<authorizationinformation>資源的屬性名稱和/或該資源 的子資源標識。
進一步地,訪問控制信息請求中還包含有資源訪問過濾條件(比如前述的filtercriteria參數(shù)),資源訪問過濾條件用于指示資源操作的過濾條件,可根據(jù)<authorizationinformation>資源的屬性和/或子資源構(gòu)建,比如,filtercriteria參數(shù)可包括<authorizationinformation>資源的屬性名稱和屬性值,和/或,子資源的標識和具體內(nèi)容(比如子資源屬性的屬性值)。
相應地,pip向pdp返回的訪問控制信息響應中可包含根據(jù)上述返回結(jié)果指示信息和資源訪問過濾條件獲取到的,<authorizationinformation>資源的屬性值和/或該資源的子資源的內(nèi)容。
pdp根據(jù)獲取到的訪問控制策略,并可進一步結(jié)合獲取到的訪問控制信息進行訪問控制決策,得到訪問控制決策信息。
步驟803:pdp向pep返回訪問控制決策響應,所述訪問控制決策響應中包含訪問控制決策信息。
可選地,如果步驟801中,pep發(fā)送的訪問控制決策請求是pep根據(jù)<authorizationdecision>資源按照上述方式生成的,則相應地,在步驟803中,pdp向pep返回的訪問控制決策響應中可包含根據(jù)訪問控制決策請求中的上述返回結(jié)果指示信息和資源訪問過濾條件獲取到的,<authorizationdecision>資源的屬性值和/或該資源的子資源的內(nèi)容。
基于圖8所示的流程,圖9示例性地示出了一種pep與pdp之間的交互流程。如圖9所示,該流程可包括如下步驟:
步驟901:位于宿主cse(hostingcse)中的pep根據(jù)資源訪問發(fā)起方(originator)的資源訪問請求生成訪問控制決策請求(accesscontroldecisionrequest),并發(fā)送給具有pdp功能的cse。
訪問控制決策請求可利用onem2m的讀操作實現(xiàn),也即利用onem2m的retrieve操作讀取具有pdp功能的cse資源樹中的<authorizationdecision>資源,并利用資源中的屬性構(gòu)建請求(request)中的content參數(shù)。
作為一個例子,構(gòu)建content參數(shù)時,<authorizationdecision>資源的decision屬性為必選屬性,表示pdp需要返回訪問控制決策信息,其他為可選屬性。
作為另一個例子,還可利用<authorizationdecision>資源的permittedattributes屬性構(gòu)建content參數(shù),此種情況下,content參數(shù)表示pdp還需要返回建議的可訪問資源屬性名稱列表。
作為另一個例子,還可以利用<authorizationdecision>資源的permittedresourcetypes屬性構(gòu)建content參數(shù),此種情況下,content參數(shù)表示pdp還需要返回建議的可訪問的子資源類型標識列表。
作為另一個例子,還可以利用<authorizationdecision>資源的status屬性構(gòu)建content參數(shù),此種情況下,content參數(shù)表示pdp還需要返回決策過程中的出錯信息。
進一步地,還可利用<authorizationdecision>資源中的屬性構(gòu)建訪問控制決策請求中filtercriteria參數(shù)。作為一個例子,構(gòu)建filtercriteria參數(shù)時,<authorizationdecision>資源的to屬性、from屬性、operation屬性為必選屬性,其他屬性為可選屬性。
步驟902:具有pdp功能的cse接收到來自于pep的攜帶有訪問控制決策請求(accesscontroldecisionrequest)的資源訪問請求后進行如下操作:
檢查資源訪問發(fā)起方是否具有訪問<authorizationdecision>資源的權利,若有,則激活一個pdp處理過程,并將接收到參數(shù)傳遞給該過程。若不允許則跳轉(zhuǎn)到步驟903。
pdp根據(jù)filtercriteria參數(shù)中提供的數(shù)據(jù)獲取訪問控制策略。若訪問控制策略不能在本地獲得,相關過程參見pdp與prp之間的交互過程。
pdp根據(jù)filtercriteria參數(shù)中提供的數(shù)據(jù)獲取訪問控制信息。若訪問控制信息不能在本地獲得,相關過程參見pdp與pip之間的交互過程。
pdp從filtercriteria參數(shù)中獲得訪問控制決策評估過程所需的各種屬性, 例如,資源訪問發(fā)起方標識,目標資源地址,對目標資源的操作,以及請求的時間、地點和ip地址等上下文信息,然后依據(jù)獲取的訪問控制策略和訪問控制信息評估該資源訪問請求,并產(chǎn)生相應的評估結(jié)果,具體的評估過程可參見onem2m協(xié)議中的相關描述。若請求中包含有資源屬性permittedattributes和/或permittedresourcetypes,則pdp按訪問控制策略中的描述生成相應的值,也即允許資源訪問發(fā)起方所訪問的資源屬性名稱列表或子資源類型標識列表;若請求中包含有資源屬性status,則生成相應的值,以表示評估過程是否有錯誤產(chǎn)生,以及產(chǎn)生了什么錯誤,例如訪問控制決策過程所需的屬性缺失或語法錯誤等。
步驟903:pdp-cse根據(jù)步驟902的評估結(jié)果生成攜帶有訪問控制決策響應(accesscontroldecisionresponse)的資源訪問響應,其中包含有decision屬性、permittedattributes屬性、permittedresourcetypes屬性或status屬性等屬性的值,這些資源屬性名稱及其屬性值放在響應的content參數(shù)中。然后,pdp-cse將生成的響應發(fā)送給pep。
基于圖8所示的流程,圖10示例性地示出了一種pdp與prp之間的交互流程。如圖10所示,該流程可包括如下步驟:
步驟1001:位于cse中的pdp根據(jù)pep發(fā)送來的訪問控制決策請求生成訪問控制策略請求(accesscontrolpolicyrequest),并發(fā)送給具有prp功能的cse。
訪問控制策略請求可利用onem2m的讀操作實現(xiàn),也即利用onem2m的retrieve操作讀取具有prp功能的cse資源樹中的<authorizationpolicy>資源,并利用資源中的屬性構(gòu)建請求(request)中的content參數(shù)。作為一個例子,構(gòu)建content參數(shù)時,<authorizationpolicy>資源的policies屬性為必選屬性,表示prp需要返回訪問控制策略,其他為可選屬性。
進一步地,還可利用<authorizationpolicy>資源中的屬性構(gòu)建請求中filtercriteria參數(shù)。作為一個例子,構(gòu)建filtercriteria參數(shù)時,<authorizationpolicy> 資源中的to屬性為必選屬性,其他屬性為可選屬性。
步驟1002:具有prp功能的cse接收到來自于pdp的攜帶有訪問控制策略請求(accesscontrolpolicyrequest)的資源訪問請求后進行如下操作:
檢查資源訪問發(fā)起方是否具有訪問<authorizationpolicy>資源的權利,若有,則激活一個prp處理過程,并將接收到參數(shù)傳遞給該過程。若不允許則跳轉(zhuǎn)到步驟1003。
cse-prp根據(jù)filtercriteria參數(shù)中提供的數(shù)據(jù)獲取訪問控制策略。prp將獲得的訪問控制策略放到資源屬性policies中;若請求中包含有資源屬性combiningalgorithm,則prp還需提供相應的值。
步驟1003:prp-cse根據(jù)步驟1002的查詢結(jié)果生成攜帶有訪問控制策略響應(accesscontrolpolicyresponse)的訪問控制策略響應,其中包含有policies屬性或combiningalgorithm屬性等屬性的值,這些資源屬性名稱及其屬性值放在該響應的content參數(shù)中。然后,prp-cse將生成的響應發(fā)送給pdp。
基于圖8所示的流程,圖11示例性地示出了一種pdp與pip之間的交互流程。如圖11所示,該流程可包括如下步驟:
步驟1101:位于cse中的pdp根據(jù)pep發(fā)送來的訪問控制決策請求生成訪問控制信息請求(accesscontrolinformationrequest),并發(fā)送給具有pip功能的cse。
訪問控制信息請求可利用onem2m的讀操作實現(xiàn),即利用onem2m的retrieve操作讀取具有pip功能的cse資源樹中的<authorizationinformation>資源,并利用資源中的屬性構(gòu)建請求(request)中的content參數(shù),或要求pip返回查詢到的子資源。
作為一個例子,當要求pip返回查詢到的<role>子資源和/或<token>子資源時,訪問控制信息請求中的resultcontent參數(shù)的值設置為:“child-resources”。該設置要求pip返回按filtercriteria參數(shù)中提供的roleids 和/或tokenids檢索屬于資源訪問發(fā)起方的角色資源和/或令牌資源。
進一步地,可利用<authorizationinformation>資源中的屬性構(gòu)建請求中filtercriteria參數(shù)。
作為一個例子,在構(gòu)建filtercriteria參數(shù)時,<authorizationinformation>資源的from屬性為必選屬性,其他為可選屬性。
作為一個例子,當pdp接收到的訪問控制決策請求中包含有roleids時(如該請求的filtercriteria參數(shù)中包含roleids屬性名稱和屬性值),則pdp在生成發(fā)送給pip的訪問控制信息請求時,可利用<authorizationinformation>資源的roleids屬性構(gòu)建filtercriteria參數(shù)。
作為另一個例子,當pdp接收到的訪問控制決策請求中包含有tokenids時(如該請求的filtercriteria參數(shù)中包含tokenids屬性名稱和屬性值),則pdp在生成發(fā)送給pip的訪問控制信息請求時,可利用<authorizationinformation>資源的tokenids屬性構(gòu)建filtercriteria參數(shù)。
步驟1102:具有pip功能的cse接收到來自于pdp的攜帶有訪問控制信息請求(accesscontrolinformationrequest)的資源訪問請求后進行如下操作:
檢查資源訪問發(fā)起方是否具有訪問<authorizationinformation>資源的權利,若有,則激活一個pip處理過程,并將接收到參數(shù)傳遞給該過程。若不允許則跳轉(zhuǎn)到步驟1103。
pip根據(jù)filtercriteria參數(shù)中提供的數(shù)據(jù)獲取訪問控制信息。prp將獲得的訪問控制信息放到相應的資源屬性或相應的目的子資源中,例如<role>資源和<token>資源。
步驟1103:pip-cse根據(jù)步驟1102的查詢結(jié)果生成攜帶有訪問控制信息響應(accesscontrolinformationresponse)的資源訪問響應,其中包含有查詢到的<role>資源和/或<token>資源等值。然后,pip-cse將生成的響應發(fā)送給pdp。
在本發(fā)明的另外的一些實施例中,也可以利用onem2m的資源創(chuàng)建操作 (create)實現(xiàn)上述授權實體鍵的交互功能。此種情況下,請求的發(fā)起方通過create操作中的content參數(shù)攜帶需要輸入的信息;接收方收到請求后將觸發(fā)相應的授權過程,該授權過程利用content參數(shù)中提供的輸入信息執(zhí)行相應的授權過程,并將授權過程產(chǎn)生的結(jié)果存儲在資源屬性中,然后利用create響應中的content參數(shù)將存儲在資源屬性中的值返回給發(fā)起方。
綜上所述,現(xiàn)有的onem2m只定義了授權系統(tǒng)的高層架構(gòu),并未提供具體的解決方案。本發(fā)明實施例提供了一種在onem2m系統(tǒng)中實現(xiàn)分布式授權系統(tǒng)的方法。本發(fā)明實施例所定義的新資源及資源操作符合onem2m所規(guī)定的普通資源類型,并且很好地滿足了restful操作方式,無需對現(xiàn)有onem2m技術進行過多的改動。
基于相同的技術構(gòu)思,本發(fā)明實施例還提供了pdp,所提供的pdp可實習上述實施例描述的流程。
參見圖12,為本發(fā)明實施例提供的一種pdp的結(jié)構(gòu)示意圖,該pdp可包括:接收模塊1201、決策模塊1202、發(fā)送模塊1203,進一步地,還可包括第一獲取模塊1204,進一步地還可包括第二獲取模塊1205,其中:
接收模塊1201,用于接收pep發(fā)送的訪問控制決策請求,所述訪問控制決策請求由所述pep根據(jù)授權決策資源生成;
決策模塊1202,用于根據(jù)所述訪問控制決策請求進行訪問控制決策,得到訪問控制決策信息;
發(fā)送模塊1203,用于將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
所述訪問控制決策請求中包含的內(nèi)容以及構(gòu)建方法,可參見前述實施例的描述,在此不再重復。
所述授權決策資源中的屬性和子資源,可參見前述實施例的描述,在此不再重復。
可選地,第一獲取模塊1204,用于根據(jù)所述訪問控制決策請求,向prp 發(fā)送訪問控制策略請求,所述訪問控制策略請求由所述pdp根據(jù)授權策略資源生成;接收所述prp返回的訪問控制策略響應,所述訪問控制策略響應中包含所述prp根據(jù)所述訪問控制決策請求獲取到的訪問控制策略。相應地,決策模塊1202可根據(jù)第一獲取模塊1204獲取到的訪問控制策略進行訪問控制決策。
所述訪問控制決策請求中包含的內(nèi)容以及構(gòu)建方法,可參見前述實施例的描述,在此不再重復。
所述授權策略資源中包含的屬性和子資源,可參見前述實施例的描述,在此不再重復。
可選地,第二獲取模塊1205,用于根據(jù)所述訪問控制決策請求,向pip發(fā)送訪問控制信息請求,所述訪問控制信息請求由所述pdp根據(jù)授權信息資源生成;接收所述pip返回的訪問控制信息響應,所述訪問控制信息響應中包含所述pip根據(jù)所述訪問控制信息請求獲取到的訪問控制信息。相應地,決策模塊1202可根據(jù)第二獲取模塊1205獲取到的訪問控制信息進行訪問控制決策。
所述訪問控制信息請求中包含的內(nèi)容以及構(gòu)建方法,可參見前述實施例的描述,在此不再重復。
所述訪問控制信息請求中包含的屬性和子資源,可參見前述實施例的描述,在此不再重復。
參見圖13,為本發(fā)明另一實施例提供的pdp結(jié)構(gòu)示意圖。該pdp可包括:接收模塊1301、獲取模塊1302、決策模塊1303、發(fā)送模塊1304,其中:
接收模塊1301,用于接收pep發(fā)送的訪問控制決策請求;
獲取模塊1302,用于根據(jù)所述訪問控制決策請求,向prp發(fā)送訪問控制策略請求,所述訪問控制策略請求由所述pdp根據(jù)授權策略資源生成;接收所述prp返回的訪問控制策略響應,所述訪問控制策略響應中包含所述prp根據(jù)所述訪問控制決策請求獲取到的訪問控制策略;
決策模塊1303,用于根據(jù)獲取到的訪問控制策略進行訪問控制決策,得到 訪問控制決策信息;
發(fā)送模塊1304,用于將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
所述訪問控制策略請求中包含的內(nèi)容以及構(gòu)建方法,可參見前述實施例的描述,在此不再重復。
所述授權策略資源中的屬性和子資源,可參見前述實施例的描述,在此不再重復。
參見圖14,為本發(fā)明另一實施例提供的pdp結(jié)構(gòu)示意圖。該pdp可包括:接收模塊1401、獲取模塊1402、決策模塊1403、發(fā)送模塊1404,其中:
接收模塊1401,用于接收pep發(fā)送的訪問控制決策請求;
獲取模塊1402,用于根據(jù)所述訪問控制決策請求,向pip發(fā)送訪問控制信息請求,所述訪問控制信息請求由所述pdp根據(jù)授權信息資源生成;接收所述pip返回的訪問控制信息響應,所述訪問控制信息響應中包含所述pip根據(jù)所述訪問控制信息請求獲取到的訪問控制信息;
決策模塊1403,用于根據(jù)獲取到的訪問控制信息進行訪問控制決策,得到訪問控制決策信息;
發(fā)送模塊1404,用于將所述訪問控制決策信息攜帶于訪問控制決策響應發(fā)送給所述pep。
所述訪問控制信息請求中包含的內(nèi)容以及構(gòu)建方法,可參見前述實施例的描述,在此不再重復。
所述授權信息資源中的屬性和子資源,可參見前述實施例的描述,在此不再重復。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入 式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。