两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于授權(quán)訪問的客戶端裝置、服務(wù)器裝置和訪問控制系統(tǒng)的制作方法

文檔序號(hào):12789493閱讀:471來源:國知局
用于授權(quán)訪問的客戶端裝置、服務(wù)器裝置和訪問控制系統(tǒng)的制作方法

本公開涉及信息安全和訪問控制技術(shù),更具體地,涉及利用去中心化的公共數(shù)據(jù)庫來實(shí)現(xiàn)安全授權(quán)訪問的客戶端裝置、服務(wù)器裝置、訪問控制系統(tǒng)和相應(yīng)的方法。



背景技術(shù):

訪問控制是所有計(jì)算機(jī)系統(tǒng)都需要涉及的機(jī)制,無論是客戶端/服務(wù)器系統(tǒng),客戶端/瀏覽器系統(tǒng),還是云系統(tǒng),從最簡(jiǎn)單的用戶名/密碼,到廣泛使用的認(rèn)證碼/驗(yàn)證碼(CAPTCHA),以及現(xiàn)在廣泛使用的短信驗(yàn)證碼和基于硬件的UKey等,其中,短信驗(yàn)證碼和UKey都需要外部設(shè)備的支持。訪問控制環(huán)節(jié)最主要的內(nèi)容是確認(rèn)訪問申請(qǐng)的真實(shí)性和有效性。通過真實(shí)性和有效性的判斷可以有效地抵御部分網(wǎng)絡(luò)攻擊,如重放攻擊,中間人攻擊,進(jìn)而也可以降低拒絕服務(wù)攻擊的風(fēng)險(xiǎn)。



技術(shù)實(shí)現(xiàn)要素:

在下文中給出了關(guān)于本公開的簡(jiǎn)要概述,以便提供關(guān)于本公開的某些方面的基本理解。但是,應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本公開的窮舉性概述。它并不是意圖用來確定本公開的關(guān)鍵性部分或重要部分,也不是意圖用來限定本公開的范圍。其目的僅僅是以簡(jiǎn)化的形式給出關(guān)于本公開的某些概念,以此作為稍后給出的更詳細(xì)描述的前序。

鑒于以上問題,本公開的目的是提供一種能夠有效地抵御部分網(wǎng)絡(luò)攻擊的用于授權(quán)訪問的客戶端裝置、服務(wù)器裝置、訪問控制系統(tǒng)和相應(yīng)的方法。

根據(jù)本公開的一方面,提供了一種用于授權(quán)訪問的客戶端裝置,包括:請(qǐng)求生成單元,被配置成生成用于受保護(hù)資源的授權(quán)訪問的請(qǐng)求,并且將該請(qǐng)求發(fā)送到服務(wù)器裝置;記錄單元,被配置成將請(qǐng)求記錄在公共數(shù)據(jù)庫中,其中,公共數(shù)據(jù)庫是去中心化的分布式數(shù)據(jù)庫,并且公共數(shù)據(jù)庫中的 記錄是不可更改的;以及訪問單元,被配置成利用服務(wù)器裝置響應(yīng)于請(qǐng)求而發(fā)送的響應(yīng)信息,執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作。

根據(jù)本公開的優(yōu)選實(shí)施例,公共數(shù)據(jù)庫包括區(qū)塊鏈(Blockchain)。

根據(jù)本公開的另一優(yōu)選實(shí)施例,請(qǐng)求生成單元進(jìn)一步被配置成利用客戶端私鑰對(duì)請(qǐng)求進(jìn)行簽名并將簽名后的請(qǐng)求發(fā)送給服務(wù)器裝置,并且記錄單元進(jìn)一步被配置成將簽名后的請(qǐng)求記錄在公共數(shù)據(jù)庫中。

根據(jù)本公開的另一優(yōu)選實(shí)施例,請(qǐng)求生成單元進(jìn)一步被配置成還將請(qǐng)求在公共數(shù)據(jù)庫中的位置信息發(fā)送給服務(wù)器裝置。

根據(jù)本公開的另一優(yōu)選實(shí)施例,訪問單元進(jìn)一步被配置成利用服務(wù)器公鑰對(duì)響應(yīng)信息在公共數(shù)據(jù)庫中的記錄進(jìn)行驗(yàn)證,并且根據(jù)驗(yàn)證的結(jié)果而執(zhí)行相應(yīng)操作。

根據(jù)本公開的另一優(yōu)選實(shí)施例,服務(wù)器裝置包括授權(quán)服務(wù)器和資源服務(wù)器。

根據(jù)本公開的另一優(yōu)選實(shí)施例,請(qǐng)求包括發(fā)送給授權(quán)服務(wù)器的對(duì)于授權(quán)訪問憑證的請(qǐng)求,并且響應(yīng)信息包括來自授權(quán)服務(wù)器的授權(quán)訪問憑證。

根據(jù)本公開的另一優(yōu)選實(shí)施例,授權(quán)訪問憑證包括與受保護(hù)資源有關(guān)的限制信息。

根據(jù)本公開的另一優(yōu)選實(shí)施例,限制信息包括受保護(hù)資源的管理者的標(biāo)識(shí)、允許客戶端裝置訪問的資源以及授權(quán)訪問憑證的有效期。

根據(jù)本公開的另一優(yōu)選實(shí)施例,限制信息還包括在有效期內(nèi)的訪問次數(shù)設(shè)置,并且訪問單元根據(jù)訪問次數(shù)設(shè)置而執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作。

根據(jù)本公開的另一優(yōu)選實(shí)施例,請(qǐng)求包括發(fā)送給資源服務(wù)器的數(shù)據(jù)訪問請(qǐng)求,并且響應(yīng)信息包括來自資源服務(wù)器的數(shù)據(jù)資源。

根據(jù)本公開的另一優(yōu)選實(shí)施例,授權(quán)服務(wù)器和所述資源服務(wù)器是同一服務(wù)器。

根據(jù)本公開的另一方面,還提供了一種用于授權(quán)訪問的服務(wù)器裝置,包括:響應(yīng)生成單元,被配置成響應(yīng)于來自客戶端裝置的對(duì)于受保護(hù)資源的授權(quán)訪問的請(qǐng)求而生成相應(yīng)的響應(yīng)信息,并且將響應(yīng)信息發(fā)送到客戶端裝置;以及記錄單元,被配置成將響應(yīng)信息記錄在公共數(shù)據(jù)庫中,其中,公共數(shù)據(jù)庫是去中心化的分布式數(shù)據(jù)庫,并且公共數(shù)據(jù)庫中的記錄是不可 更改的。

根據(jù)本公開的另一方面,還提供了一種用于授權(quán)訪問的訪問控制系統(tǒng),該訪問控制系統(tǒng)包括客戶端裝置、服務(wù)器裝置和公共數(shù)據(jù)庫,其中,公共數(shù)據(jù)庫是去中心化的分布式數(shù)據(jù)庫,并且公共數(shù)據(jù)庫中的記錄是不可更改的,并且其中,客戶端裝置包括:請(qǐng)求生成單元,被配置成生成用于受保護(hù)資源的授權(quán)訪問的請(qǐng)求,并且將請(qǐng)求發(fā)送到服務(wù)器裝置;第一記錄單元,被配置成將請(qǐng)求記錄在公共數(shù)據(jù)庫中;以及訪問單元,被配置成利用服務(wù)器裝置響應(yīng)于請(qǐng)求而發(fā)送的響應(yīng)信息,執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作;以及服務(wù)器裝置包括:響應(yīng)生成單元,被配置成響應(yīng)于請(qǐng)求而生成相應(yīng)的響應(yīng)信息,并且將響應(yīng)信息發(fā)送到客戶端裝置,以及第二記錄單元,被配置成將響應(yīng)信息記錄在公共數(shù)據(jù)庫中。

根據(jù)本公開的另一方面,還提供了一種在客戶端裝置執(zhí)行的用于授權(quán)訪問的方法,該方法包括:生成用于受保護(hù)資源的授權(quán)訪問的請(qǐng)求,并且將請(qǐng)求發(fā)送到服務(wù)器裝置;將請(qǐng)求記錄在公共數(shù)據(jù)庫中,其中,公共數(shù)據(jù)庫是去中心化的分布式數(shù)據(jù)庫,并且公共數(shù)據(jù)庫中的記錄是不可更改的;以及利用服務(wù)器裝置響應(yīng)于請(qǐng)求而發(fā)送的響應(yīng)信息,執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作。

根據(jù)本公開的另一方面,還提供了一種在服務(wù)器裝置執(zhí)行的用于授權(quán)訪問的方法,該方法包括:響應(yīng)于來自客戶端裝置的對(duì)于受保護(hù)資源的授權(quán)訪問的請(qǐng)求而生成相應(yīng)的響應(yīng)信息,并且將響應(yīng)信息發(fā)送到客戶端裝置;以及將響應(yīng)信息記錄在公共數(shù)據(jù)庫中,其中,公共數(shù)據(jù)庫是去中心化的分布式數(shù)據(jù)庫,并且公共數(shù)據(jù)庫中的記錄是不可更改的。

根據(jù)本公開的另一方面,還提供了一種電子設(shè)備,該電子設(shè)備可包括收發(fā)機(jī)和一個(gè)或多個(gè)處理器,這一個(gè)或多個(gè)處理器可被配置成執(zhí)行上述根據(jù)本公開的用于授權(quán)訪問的方法。

根據(jù)本公開的其它方面,還提供了用于實(shí)現(xiàn)上述根據(jù)本公開的方法的計(jì)算機(jī)程序代碼和計(jì)算機(jī)程序產(chǎn)品以及其上記錄有該用于實(shí)現(xiàn)上述根據(jù)本公開的方法的計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。

根據(jù)本公開的實(shí)施例,可以通過利用去中心化的公共數(shù)據(jù)庫而有效地實(shí)現(xiàn)對(duì)于受保護(hù)資源的安全授權(quán)訪問。

在下面的說明書部分中給出本公開實(shí)施例的其它方面,其中,詳細(xì)說明用于充分地公開本公開實(shí)施例的優(yōu)選實(shí)施例,而不對(duì)其施加限定。

附圖說明

本公開可以通過參考下文中結(jié)合附圖所給出的詳細(xì)描述而得到更好的理解,其中在所有附圖中使用了相同或相似的附圖標(biāo)記來表示相同或者相似的部件。所述附圖連同下面的詳細(xì)說明一起包含在本說明書中并形成說明書的一部分,用來進(jìn)一步舉例說明本公開的優(yōu)選實(shí)施例和解釋本公開的原理和優(yōu)點(diǎn)。其中:

圖1是示出根據(jù)本公開的實(shí)施例的訪問控制系統(tǒng)的架構(gòu)的示例的示意圖;

圖2是示出根據(jù)本公開的實(shí)施例的客戶端裝置的功能配置示例的框圖;

圖3是示出根據(jù)本公開的實(shí)施例的服務(wù)器裝置的功能配置示例的框圖;

圖4是示出根據(jù)本公開的實(shí)施例的用于授權(quán)訪問的交互流程的示例的示意圖;

圖5是示出根據(jù)本公開的實(shí)施例的基于區(qū)塊鏈的訪問控制實(shí)現(xiàn)的示例的示意圖;

圖6是示出根據(jù)本公開的實(shí)施例的區(qū)塊鏈中的記錄項(xiàng)的格式和內(nèi)容的示例的示意圖;

圖7是示出根據(jù)本公開的實(shí)施例的用于授權(quán)訪問的方法的過程示例的流程圖;

圖8是示出根據(jù)本公開的實(shí)施例的基于區(qū)塊鏈和OAuth協(xié)議的訪問控制系統(tǒng)的架構(gòu)的示例的示意圖;

圖9是示出根據(jù)本公開的實(shí)施例的基于區(qū)塊鏈的OAuth協(xié)議實(shí)現(xiàn)的示例的示意圖;

圖10是示出應(yīng)用本公開的技術(shù)的用于實(shí)現(xiàn)有限次授權(quán)訪問的交互過程的示例的流程圖;

圖11A和圖11B是示出應(yīng)用本公開的技術(shù)的用于實(shí)現(xiàn)有限次授權(quán)訪問的示例的示意圖;

圖12是示出根據(jù)本公開的實(shí)施例的在客戶端裝置執(zhí)行的用于授權(quán)訪 問的方法的過程示例的流程圖;

圖13是示出根據(jù)本公開的實(shí)施例的在服務(wù)器裝置執(zhí)行的用于授權(quán)訪問的方法的過程示例的流程圖;

圖14是示出根據(jù)本公開的技術(shù)的第一應(yīng)用示例的示意圖;

圖15是示出根據(jù)本公開的技術(shù)的第二應(yīng)用示例的示意圖;以及

圖16是作為本公開的實(shí)施例中可采用的信息處理設(shè)備的個(gè)人計(jì)算機(jī)的示例結(jié)構(gòu)的框圖。

具體實(shí)施方式

在下文中將結(jié)合附圖對(duì)本公開的示范性實(shí)施例進(jìn)行描述。為了清楚和簡(jiǎn)明起見,在說明書中并未描述實(shí)際實(shí)施方式的所有特征。然而,應(yīng)該了解,在開發(fā)任何這種實(shí)際實(shí)施例的過程中必須做出很多特定于實(shí)施方式的決定,以便實(shí)現(xiàn)開發(fā)人員的具體目標(biāo),例如,符合與系統(tǒng)及業(yè)務(wù)相關(guān)的那些限制條件,并且這些限制條件可能會(huì)隨著實(shí)施方式的不同而有所改變。此外,還應(yīng)該了解,雖然開發(fā)工作有可能是非常復(fù)雜和費(fèi)時(shí)的,但對(duì)得益于本公開內(nèi)容的本領(lǐng)域技術(shù)人員來說,這種開發(fā)工作僅僅是例行的任務(wù)。

在此,還需要說明的一點(diǎn)是,為了避免因不必要的細(xì)節(jié)而模糊了本公開,在附圖中僅僅示出了與根據(jù)本公開的方案密切相關(guān)的設(shè)備結(jié)構(gòu)和/或處理步驟,而省略了與本公開關(guān)系不大的其它細(xì)節(jié)。

接下來,將參照?qǐng)D1至圖16詳細(xì)描述本公開的實(shí)施例。

圖1是示出根據(jù)本公開的實(shí)施例的訪問控制系統(tǒng)的架構(gòu)的示例的示意圖。

如圖1所示,根據(jù)該實(shí)施例的訪問控制系統(tǒng)可包括公共數(shù)據(jù)庫100、客戶端裝置200和服務(wù)器裝置300。

在本公開的實(shí)施例中,為了保證客戶端裝置200對(duì)于受保護(hù)資源的安全訪問,可使得在授權(quán)訪問過程中的客戶端裝置200和服務(wù)器裝置300的關(guān)鍵操作分別記錄在公共數(shù)據(jù)庫100中,由于公共數(shù)據(jù)庫100是去中心化的分布式數(shù)據(jù)庫,其中的數(shù)據(jù)一經(jīng)記錄便不可更改和刪除,因此有利于抵抗網(wǎng)絡(luò)攻擊,實(shí)現(xiàn)安全訪問控制。下面,將分別參照?qǐng)D2和圖3詳細(xì)描述客戶端裝置200和服務(wù)器裝置300的功能配置示例。

圖2是示出根據(jù)本公開的實(shí)施例的客戶端裝置的功能配置示例的框圖。

如圖2所示,根據(jù)該實(shí)施例的客戶端裝置200可包括請(qǐng)求生成單元210、記錄單元220和訪問單元230。

請(qǐng)求生成單元210可被配置成生成用于受保護(hù)資源的授權(quán)訪問的請(qǐng)求,并且將該請(qǐng)求發(fā)送到服務(wù)器裝置300。

記錄單元220可被配置成將上述請(qǐng)求記錄在公共數(shù)據(jù)庫100中。

訪問單元230可被配置成利用服務(wù)器裝置300響應(yīng)于請(qǐng)求而發(fā)送的響應(yīng)信息,執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作。

優(yōu)選地,為了增強(qiáng)安全性,請(qǐng)求生成單元210可進(jìn)一步利用密鑰生成中心針對(duì)客戶端裝置200所生成的身份密鑰對(duì)(包括私鑰(private key,記為SK)和公鑰(public key,即為PK))中的私鑰對(duì)該請(qǐng)求進(jìn)行簽名,將簽名后的請(qǐng)求發(fā)送給服務(wù)器裝置300,并且記錄單元220可將簽名后的請(qǐng)求記錄在公共數(shù)據(jù)庫100中。該過程例如可通過以下表達(dá)式(1)來表示:

Record 1=SignSK of Client(Hash(Request)) (1)

其中,Request表示來自客戶端裝置的請(qǐng)求,SK of Client表示客戶端裝置200的私鑰,Hash()表示哈希函數(shù),SignSK of Client表示利用客戶端裝置200的私鑰進(jìn)行簽名,并且Record1表示該簽名后的請(qǐng)求在公共數(shù)據(jù)庫中的記錄。

優(yōu)選地,請(qǐng)求生成單元210還可將上述請(qǐng)求記錄在公共數(shù)據(jù)庫中的位置信息(這里例如記為Addr1)發(fā)送給服務(wù)器裝置300。這樣,服務(wù)器裝置300可以根據(jù)所接收到的位置信息而在公共數(shù)據(jù)庫100中查找簽名后的請(qǐng)求在公共數(shù)據(jù)庫100中的記錄(上述Record1),并且利用客戶端裝置200的公鑰驗(yàn)證來自客戶端裝置200的請(qǐng)求的真實(shí)性,該驗(yàn)證過程例如可通過以下表達(dá)式(2)來表示:

Addr 1→Record 1

Verify(Rec ord 1)=VerifyPK of Client(Record 1)=?Hash(Request) (2)

其中,Verify()表示所采用的驗(yàn)證函數(shù),并且PK of Client表示客戶端裝置200的公鑰。

然后,針對(duì)經(jīng)驗(yàn)證合理的請(qǐng)求,服務(wù)器裝置300可生成相應(yīng)的響應(yīng)信 息(這里記為Response)以發(fā)送給客戶端裝置200,并且還將該響應(yīng)信息記錄在公共數(shù)據(jù)庫100中。優(yōu)選地,為了進(jìn)一步保證安全性,服務(wù)器裝置300也可利用服務(wù)器私鑰對(duì)響應(yīng)信息進(jìn)行簽名,將簽名后的響應(yīng)信息發(fā)送給客戶端裝置200,并且將簽名后的響應(yīng)信息記錄在公共數(shù)據(jù)庫100中。該過程例如可通過以下表達(dá)式(3)來表示:

Record 2=SignSK of Server(Hash(Response)) (3)

其中,Response表示服務(wù)器裝置生成的響應(yīng)信息,SK of Server表示服務(wù)器裝置300的私鑰,Hash()表示哈希函數(shù),SignSK of Server表示利用服務(wù)器裝置300的私鑰進(jìn)行簽名,并且Record2表示該簽名后的響應(yīng)信息在公共數(shù)據(jù)庫100中的記錄。

此外,與上述類似,服務(wù)器裝置300也可將簽名后的響應(yīng)信息在公共數(shù)據(jù)庫中的位置信息(這里例如記為Addr2)發(fā)送給客戶端裝置200,從而客戶端裝置200的訪問單元230可根據(jù)所接收的位置信息而在公共數(shù)據(jù)庫100中查找簽名后的響應(yīng)信息在公共數(shù)據(jù)庫100中的記錄,利用服務(wù)器公鑰對(duì)該記錄進(jìn)行驗(yàn)證,并且根據(jù)驗(yàn)證結(jié)果而執(zhí)行相應(yīng)操作。該過程例如可通過以下表達(dá)式(4)來表示:

Addr 2→Record 2

Verify(Rec ord2)=VerifyPK of Server(Record 2)=?Hash(Response) (4)

其中,Verify()表示所采用的驗(yàn)證函數(shù),并且PK of Server表示服務(wù)器裝置300的公鑰。

以上參照?qǐng)D2描述了用于授權(quán)訪問的客戶端裝置的功能配置示例,相對(duì)應(yīng)地,下面將參照?qǐng)D3描述用于授權(quán)訪問的服務(wù)器裝置的功能配置示例。圖3是示出根據(jù)本公開的實(shí)施例的服務(wù)器裝置的功能配置示例的框圖。

如圖3所示,根據(jù)本實(shí)施例的服務(wù)器裝置300可包括響應(yīng)生成單元310和記錄單元320。

響應(yīng)生成單元310可被配置成響應(yīng)于來自客戶端裝置的對(duì)于受保護(hù)資源的授權(quán)訪問的請(qǐng)求而生成相應(yīng)的響應(yīng)信息,并且將響應(yīng)信息發(fā)送到客戶端裝置200。

優(yōu)選地,如上所述,響應(yīng)生成單元310可利用客戶端公鑰(即,上述PK of Client)對(duì)客戶端裝置200的請(qǐng)求在公共數(shù)據(jù)庫中的記錄(即,上 述記錄Record1)進(jìn)行驗(yàn)證,并且根據(jù)驗(yàn)證的結(jié)果而生成響應(yīng)信息(即,Response)。該過程可通過例如上述表達(dá)式(2)來表示。

記錄單元320可被配置成將響應(yīng)信息記錄在公共數(shù)據(jù)庫100中。

優(yōu)選地,如上所述,響應(yīng)生成單元310可進(jìn)一步被配置成利用服務(wù)器私鑰對(duì)響應(yīng)信息進(jìn)行簽名并將簽名后的響應(yīng)信息發(fā)送給客戶端裝置200,并且記錄單元320可進(jìn)一步被配置成將簽名后的響應(yīng)信息記錄在公共數(shù)據(jù)庫100中。該過程例如可由上述表達(dá)式(3)來表示。此外,響應(yīng)生成單元310還可將響應(yīng)信息在公共數(shù)據(jù)庫中的位置信息(即,上述Addr2)發(fā)送給客戶端裝置200。

應(yīng)理解,服務(wù)器裝置300的功能配置示例是與上述客戶端裝置200的功能配置示例相對(duì)應(yīng)的,因此在此未詳細(xì)描述的內(nèi)容可參見以上相應(yīng)位置的描述,在此不再重復(fù)。

為了有助于理解上述授權(quán)訪問的實(shí)現(xiàn)過程,下面將參照?qǐng)D4描述用于授權(quán)訪問的客戶端裝置200、服務(wù)器裝置300以及公共數(shù)據(jù)庫100之間的交互流程。圖4是示出根據(jù)本公開的實(shí)施例的用于授權(quán)訪問的交互流程的示例的示意圖。

如圖4所示,首先,在步驟S101中,客戶端裝置200利用客戶端私鑰對(duì)請(qǐng)求進(jìn)行簽名以生成用于受保護(hù)資源的授權(quán)訪問的請(qǐng)求,并且在步驟S102中將該請(qǐng)求記錄在公共數(shù)據(jù)庫100中。在步驟S103中,公共數(shù)據(jù)庫100將上述請(qǐng)求添加到其記錄中,并且該記錄(即,Record1)的位置例如為Addr1。然后,在步驟S104中,客戶端裝置200將簽名后的請(qǐng)求及其在公共數(shù)據(jù)庫100中的位置信息Addr1發(fā)送給服務(wù)器裝置300。接下來,在步驟S105中,服務(wù)器裝置300根據(jù)位置信息Addr1,利用客戶端公鑰對(duì)上述請(qǐng)求記錄Record1進(jìn)行驗(yàn)證,并且如果驗(yàn)證該請(qǐng)求是合理的,則在步驟S106中生成相應(yīng)的響應(yīng)信息并且利用服務(wù)器私鑰對(duì)該響應(yīng)信息進(jìn)行簽名。然后,在步驟S107中,服務(wù)器裝置300將該簽名后的響應(yīng)信息記錄在公共數(shù)據(jù)庫100中,并且在步驟S108中,公共數(shù)據(jù)庫100將該響應(yīng)信息記錄添加到其記錄中,并且該記錄(即,Record2)的位置例如為Addr2。接下來,在步驟S109中,服務(wù)器裝置300將該簽名后的響應(yīng)信息及其在公共數(shù)據(jù)庫中的位置信息Addr2發(fā)送給客戶端裝置200。如果需要,則客戶端裝置200可在步驟S110(可選的,如虛線所示)中根據(jù)位置信息Addr2,利用服務(wù)器公鑰對(duì)響應(yīng)信息在公共數(shù)據(jù)庫100中的記錄Record2進(jìn)行驗(yàn)證,并且根據(jù)驗(yàn)證結(jié)果而執(zhí)行相應(yīng)的操作,例如,訪問受 保護(hù)資源等。

應(yīng)理解,上述交互過程僅為示例而非限制,并且所示出的各個(gè)步驟的執(zhí)行順序也僅是為了描述方便而不限于此,根據(jù)需要,一些步驟可并行地執(zhí)行或者其執(zhí)行順序可改變。

根據(jù)以上描述的過程可以看出,由于客戶端裝置200和服務(wù)器裝置300的交互過程被記錄在公共數(shù)據(jù)庫100中,而該公共數(shù)據(jù)庫100是一個(gè)去中心化的分布式數(shù)據(jù)庫,并且其中的記錄是不可更改(即,不可刪除和/或修改)的,因此通過分別利用客戶端私鑰和服務(wù)器私鑰對(duì)交互過程進(jìn)行簽名并且記錄在公共數(shù)據(jù)庫中,可以有效地抵抗網(wǎng)絡(luò)攻擊。在這里,應(yīng)指出,由于公共數(shù)據(jù)庫100是由所有網(wǎng)絡(luò)實(shí)體共享的分布式數(shù)據(jù)庫,因此從理論上來講,如果一半以上或者三分之二以上的網(wǎng)絡(luò)實(shí)體都同意更改公共數(shù)據(jù)庫中的數(shù)據(jù)記錄,則可以允許對(duì)其中的記錄進(jìn)行更改。然而,實(shí)際上,很難使得一半以上或三分之二以上的網(wǎng)絡(luò)實(shí)體都同意更改數(shù)據(jù)記錄,因此這里通常認(rèn)為公共數(shù)據(jù)庫中的數(shù)據(jù)一經(jīng)記錄便不可修改和刪除。

優(yōu)選地,作為示例,上述公共數(shù)據(jù)庫可包括區(qū)塊鏈。區(qū)塊鏈(Blockchain)被視為比特幣(Bitcoin)背后的主要技術(shù)創(chuàng)新。因?yàn)樗鳛橐粋€(gè)無需信任的證明機(jī)制,用于去證明網(wǎng)絡(luò)中所有的交易。區(qū)塊鏈?zhǔn)且环N“非信任”架構(gòu)?!胺切湃巍奔軜?gòu)就是在整個(gè)系統(tǒng)中的多個(gè)參與方無需互相信任就能夠完成各種類型的交易和協(xié)作。這恰恰一直是傳統(tǒng)互聯(lián)網(wǎng)到目前為止最薄弱的一項(xiàng)。與需要建立和維持與交易對(duì)方(其他人)或第三方中介(如銀行)的信任相比,用戶可以信任由“挖礦者-審計(jì)(miner-accountants)”維持的、在世界范圍內(nèi)存儲(chǔ)在多個(gè)不同的去中心化節(jié)點(diǎn)上的公共賬務(wù)系統(tǒng)。作為用于去中心化的非信任的新交易系統(tǒng)的架構(gòu)的區(qū)塊鏈?zhǔn)顷P(guān)鍵創(chuàng)新。區(qū)塊鏈允許在全球的所有實(shí)體之間進(jìn)行無需干預(yù)的和去中心化的任何類型的所有交易。區(qū)塊鏈像是用于在因特網(wǎng)協(xié)議的現(xiàn)有棧上運(yùn)行的另一應(yīng)用層,為因特網(wǎng)增加了全新的層以實(shí)現(xiàn)經(jīng)濟(jì)交易,包括即時(shí)數(shù)字貨幣支付(在全球廣泛地使用加密貨幣的情況下)和更長(zhǎng)期、更復(fù)雜的經(jīng)濟(jì)合約。任何貨幣、經(jīng)濟(jì)合約或者硬或軟資產(chǎn)都可通過區(qū)塊鏈系統(tǒng)進(jìn)行交易。此外,區(qū)塊鏈不僅可用于交易,并且還可用作用于記錄、跟蹤、監(jiān)視和交易所有資產(chǎn)的登記和庫存系統(tǒng)。區(qū)塊鏈在字面上像是用于登記所有資產(chǎn)的巨大擴(kuò)展表以及用于在全球范圍交易這些資產(chǎn)的記賬系統(tǒng),包括世界范圍的所有實(shí)體持有的所有形式的資產(chǎn)。因此,區(qū)塊鏈可以用于任何形式的資產(chǎn)登記、存量和交換,包括金融、經(jīng)濟(jì)和金錢的各個(gè)領(lǐng) 域;硬資產(chǎn)(物理財(cái)產(chǎn))和無形資產(chǎn)(投票、構(gòu)思、名譽(yù)、意圖、健康數(shù)據(jù)等等)。比特幣點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)將所有的交易歷史都儲(chǔ)存在“區(qū)塊鏈”(Blockchain)中。區(qū)塊鏈在持續(xù)延長(zhǎng),而且新區(qū)塊一旦加入到區(qū)塊鏈中,就不會(huì)再被移走。區(qū)塊鏈實(shí)際上就是一個(gè)P2P網(wǎng)絡(luò)平臺(tái),也就是一群分散的用戶端節(jié)點(diǎn),并由所有參與者組成的分布式數(shù)據(jù)庫,是對(duì)所有比特幣交易歷史的記錄。然而,隨著區(qū)塊鏈技術(shù)的發(fā)展,它也不僅僅只是應(yīng)用在虛擬貨幣的支付領(lǐng)域。區(qū)塊鏈技術(shù)的去中心化無需信任的點(diǎn)到點(diǎn)模型意味著,在最基本的水平,無中間人交易。區(qū)塊鏈?zhǔn)潜忍貛诺木W(wǎng)絡(luò)基礎(chǔ),但區(qū)塊鏈本身意味著更多。如果說區(qū)塊鏈技術(shù)1.0是為虛擬貨幣而生,則區(qū)塊鏈技術(shù)2.0的核心特性信用信任成為目前的重要應(yīng)用方向,被建議做區(qū)塊鏈合同、公證等。而區(qū)塊鏈技術(shù)3.0則被定位為金融應(yīng)用以外的應(yīng)用領(lǐng)域,如在政府領(lǐng)域、健康、科學(xué)、文化和藝術(shù)等。

區(qū)塊鏈?zhǔn)且粋€(gè)去中心化的、分布式的、按時(shí)間順序排列的公共記錄,或稱為公共賬務(wù)系統(tǒng)。區(qū)塊鏈由所有用戶共享以及共同維護(hù)。區(qū)塊鏈中的記錄可以被用來驗(yàn)證雙重消費(fèi),如果區(qū)塊鏈被應(yīng)用于虛擬貨幣的賬單,則可以用來驗(yàn)證比特幣交易的永久性并防止雙重消費(fèi)。區(qū)塊鏈在本發(fā)明中則可以用于避免同一認(rèn)證碼的多次使用,將區(qū)塊鏈技術(shù)應(yīng)用在授權(quán)服務(wù)平臺(tái),則可通過按時(shí)間順序的公共記錄集,驗(yàn)證授權(quán)協(xié)議相關(guān)的步驟以及防止重放攻擊。

除了比特幣之外,根據(jù)本公開的實(shí)施例的公共數(shù)據(jù)庫還可采用諸如萊特幣這樣的基于去中心化區(qū)塊鏈的公共賬務(wù)(public ledger)平臺(tái),還有Hyperledger這樣采用“共識(shí)”而非挖礦的去中心化的分布式賬務(wù)系統(tǒng)。

本發(fā)明的授權(quán)服務(wù)同樣可以基于Hyperledger平臺(tái)實(shí)現(xiàn)應(yīng)用,例如,將請(qǐng)求和響應(yīng)信息記錄在Hyperledger的共識(shí)池中,例如測(cè)試池(testpool)、用戶池(custompool)等,testpool對(duì)所有人都免費(fèi)開放,custompool則是允許用戶自定義池子。通過Hyperledger的“共識(shí)”機(jī)制,確認(rèn)記錄有效后,該記錄則不可被刪改。

下面將以區(qū)塊鏈為例來描述根據(jù)本公開的實(shí)施例的訪問控制實(shí)現(xiàn),但是應(yīng)理解,本公開當(dāng)然不限于此,而是可應(yīng)用于任何去中心化的、分布式的且其中的記錄不可刪除和修改的數(shù)據(jù)庫系統(tǒng)。圖5是示出了根據(jù)本公開的實(shí)施例的基于區(qū)塊鏈的訪問控制實(shí)現(xiàn)的示例的示意圖。

如圖5所示,客戶端裝置200和服務(wù)器裝置300分別將各自的簽名后的請(qǐng)求和響應(yīng)信息添加到區(qū)塊鏈中,這些記錄按照時(shí)間先后順序排列在區(qū) 塊鏈中,并且一經(jīng)記錄則不可修改和刪除,從而客戶端裝置200和服務(wù)器裝置300可根據(jù)請(qǐng)求和響應(yīng)信息在區(qū)塊鏈中的位置信息而查找相應(yīng)記錄,利用公鑰分別對(duì)區(qū)塊鏈中的記錄進(jìn)行驗(yàn)證,以確保訪問控制的安全性。

圖6是示出根據(jù)本公開的實(shí)施例的區(qū)塊鏈中的記錄項(xiàng)的格式和內(nèi)容的示例的示意圖。

如圖6所示,區(qū)塊鏈中的記錄可包括地址、內(nèi)容創(chuàng)建者的簽名以及其它應(yīng)用相關(guān)信息。例如,客戶端裝置200記錄在區(qū)塊鏈中的請(qǐng)求記錄包括請(qǐng)求在區(qū)塊鏈中的位置信息(Addr1)和請(qǐng)求的簽名,并且在服務(wù)器裝置300將其響應(yīng)信息記錄在區(qū)塊鏈中之后,此時(shí)的區(qū)塊鏈中的記錄項(xiàng)包括響應(yīng)信息在區(qū)塊鏈中的位置信息(Addr2)、響應(yīng)的簽名、請(qǐng)求在區(qū)塊鏈中的位置信息(Addr1)、請(qǐng)求的簽名等等,即,區(qū)塊鏈中的記錄按照記錄的時(shí)間順序而增長(zhǎng),并且不可刪除和修改。

應(yīng)理解,這里所給出的記錄項(xiàng)的格式和內(nèi)容僅為示例,可根據(jù)實(shí)際應(yīng)用需求而設(shè)置其中的記錄項(xiàng)的格式和內(nèi)容,本公開對(duì)此不作限制。

與上述交互過程相對(duì)應(yīng)的,下面將參照?qǐng)D7描述根據(jù)本公開的實(shí)施例的用于授權(quán)訪問的方法的過程示例。圖7是示出根據(jù)本公開的實(shí)施例的用于授權(quán)訪問的方法的過程示例的流程圖。

如圖7所示,該方法開始于步驟S701,然后進(jìn)行到步驟S702。在步驟S702中,客戶端裝置200生成用于受保護(hù)資源的授權(quán)訪問的請(qǐng)求,利用客戶端私鑰簽名后記錄到區(qū)塊鏈中,并得到該請(qǐng)求在區(qū)塊鏈中的位置信息。然后,該方法進(jìn)行到步驟S703。在步驟S703中,客戶端裝置200將其簽名后的請(qǐng)求以及該請(qǐng)求在區(qū)塊鏈中的位置信息發(fā)送給服務(wù)器裝置300。接下來,在步驟S704中,服務(wù)器裝置300根據(jù)所接收的位置信息而得到區(qū)塊鏈中的請(qǐng)求記錄,并且利用客戶端公鑰驗(yàn)證該記錄。然后,該方法進(jìn)行到步驟S705,在步驟S705中判斷該記錄是否有效。如果判斷無效,則該方法結(jié)束。如果判斷有效,則方法進(jìn)行到步驟S706,在步驟S706中,服務(wù)器裝置300針對(duì)有效的請(qǐng)求而生成響應(yīng)信息,利用服務(wù)器私鑰簽名后記錄在區(qū)塊鏈中,并得到該響應(yīng)信息在區(qū)塊鏈中的位置信息。接下來,在步驟S707中,服務(wù)器裝置300將簽名后的響應(yīng)信息及其在區(qū)塊鏈中的位置信息發(fā)送給客戶端裝置200,并且該方法結(jié)束。

以上參照?qǐng)D7描述了根據(jù)本公開的用于授權(quán)訪問的方法的過程示例,但是應(yīng)理解,這僅是示例而非限制,并且本領(lǐng)域技術(shù)人員可根據(jù)需要而對(duì) 上述過程進(jìn)行修改。例如,如上所述,如果需要,則客戶端裝置200還可在接下來的步驟中根據(jù)所接收的位置信息而得到區(qū)塊鏈中的響應(yīng)信息記錄,利用服務(wù)器公鑰驗(yàn)證該記錄,并且根據(jù)驗(yàn)證結(jié)果而執(zhí)行相應(yīng)操作。

以上參照?qǐng)D1至圖7描述了授權(quán)訪問控制的一般示例,下面將結(jié)合OAuth(開放授權(quán),http://oauth.net/)標(biāo)準(zhǔn)來描述應(yīng)用本公開的技術(shù)的授權(quán)訪問控制的實(shí)現(xiàn)。

在具體描述OAuth協(xié)議與本發(fā)明的技術(shù)的結(jié)合之前,在此先簡(jiǎn)要介紹一下OAuth協(xié)議。OAuth是一個(gè)關(guān)于授權(quán)(authorization)的開放網(wǎng)絡(luò)協(xié)議(標(biāo)準(zhǔn))。在OAuth協(xié)議中,引入了授權(quán)層并且將客戶端的角色與資源所有者的角色分離,客戶端請(qǐng)求對(duì)由資源所有者控制的并且由資源服務(wù)器擁有的資源的訪問,并且被發(fā)放與資源所有者的憑證不同的憑證集合。在OAuth協(xié)議中,定義了以下四個(gè)角色:資源所有者,其是能夠授權(quán)對(duì)受保護(hù)資源的訪問的實(shí)體,當(dāng)資源所有者是人時(shí),也可稱為終端用戶;資源服務(wù)器,其是擁有受保護(hù)資源的服務(wù)器,能夠使用訪問令牌接受和響應(yīng)對(duì)受保護(hù)資源的訪問請(qǐng)求;客戶端,其是代表資源所有者并且利用資源所有者的授權(quán)而進(jìn)行受保護(hù)資源請(qǐng)求的應(yīng)用,其并不暗示任何特定的實(shí)現(xiàn)特性(例如,該應(yīng)用在服務(wù)器、臺(tái)式機(jī)還是其它裝置上執(zhí)行);以及授權(quán)服務(wù)器,其是在成功認(rèn)證了資源所有者并且獲得了授權(quán)之后對(duì)客戶端發(fā)放訪問令牌的服務(wù)器,其可以與資源服務(wù)器是同一服務(wù)器或者也可以是不同的實(shí)體,并且單個(gè)授權(quán)服務(wù)器可發(fā)出由多個(gè)資源服務(wù)器接受的訪問令牌。

OAuth的發(fā)展促進(jìn)了開放API領(lǐng)域的新應(yīng)用的開發(fā)。OAuth為應(yīng)用提供了一種訪問受保護(hù)資源的方法。在應(yīng)用訪問受保護(hù)資源之前,它必須先從資源所有者處獲取授權(quán)(訪問許可),然后用訪問許可交換訪問令牌(代表訪問許可的作用域、持續(xù)時(shí)間和其它屬性)。應(yīng)用通過向資源服務(wù)器出示訪問令牌來訪問受保護(hù)資源。目前被推薦使用的是OAuth 2.0標(biāo)準(zhǔn)。然而,OAuth 2.0協(xié)議本身不提供安全性和完整性保護(hù)機(jī)制,開發(fā)者在使用OAuth 2.0時(shí),需要額外提供通信安全性的保護(hù)機(jī)制。

OAuth 2.0協(xié)議本身無法抵御重放攻擊和中間人攻擊,例如網(wǎng)絡(luò)傳輸時(shí)的重放攻擊,認(rèn)證碼可能被截取并用來多次申請(qǐng)授權(quán)訪問憑證等。如上所述,通過將授權(quán)的交互過程記錄在公共數(shù)據(jù)庫(例如,區(qū)塊鏈)中,即,通過將OAuth協(xié)議與區(qū)塊鏈技術(shù)相結(jié)合,可以有效地抵抗中間人攻擊和重放攻擊。作為示例,下面將詳細(xì)描述基于區(qū)塊鏈和OAuth協(xié)議的授權(quán)訪問控制的實(shí)現(xiàn)的示例。

圖8是示出根據(jù)本公開的實(shí)施例的基于區(qū)塊鏈和OAuth協(xié)議的訪問控制系統(tǒng)的架構(gòu)的示例的示意圖。

如圖8所示,根據(jù)該實(shí)施例的訪問控制系統(tǒng)可包括區(qū)塊鏈100、客戶端裝置200、授權(quán)服務(wù)器400、資源服務(wù)器500和資源所有者600。其中,區(qū)塊鏈100和客戶端裝置200與上述公共數(shù)據(jù)庫100和客戶端裝置200具有相同的配置,在此不再重復(fù)。授權(quán)服務(wù)器400和資源服務(wù)器500可具有與上述服務(wù)器裝置300相同的配置,即,服務(wù)器裝置300可包括授權(quán)服務(wù)器400和資源服務(wù)器500,并且這兩個(gè)服務(wù)器也可以是同一個(gè)服務(wù)器裝置,因此在此不再重復(fù)描述其配置。下面將僅簡(jiǎn)單介紹在OAuth協(xié)議中上述各個(gè)裝置的作用。

資源所有者600是能夠授權(quán)許可對(duì)受保護(hù)資源的訪問的實(shí)體;資源服務(wù)器500是擁有受保護(hù)資源的服務(wù)器,其能夠接受和響應(yīng)使用訪問令牌的對(duì)受保護(hù)資源的請(qǐng)求;客戶端裝置200是代表資源所有者并且利用資源所有者的授權(quán)對(duì)受保護(hù)資源進(jìn)行請(qǐng)求的應(yīng)用,其并不限于任何特定實(shí)現(xiàn)形式,即,其可以在服務(wù)器、計(jì)算機(jī)、便攜式設(shè)備或者其它裝置上實(shí)現(xiàn);以及授權(quán)服務(wù)器400是在成功認(rèn)證了資源所有者并且獲得授權(quán)之后對(duì)客戶端裝置200發(fā)出訪問令牌的服務(wù)器。

下面將參照?qǐng)D9詳細(xì)描述基于區(qū)塊鏈的OAuth協(xié)議的實(shí)現(xiàn)過程的示例。圖9是示出根據(jù)本公開的實(shí)施例的基于區(qū)塊鏈的OAuth協(xié)議實(shí)現(xiàn)的示例的示意圖。

如圖9所示,首先,在步驟S901中,客戶端裝置200向資源所有者600發(fā)起授權(quán)請(qǐng)求,然后,在步驟S902中,資源所有者600將用戶授權(quán)憑證發(fā)送給客戶端裝置200。接下來,在步驟S903中,客戶端裝置200根據(jù)用戶授權(quán)憑證,向授權(quán)服務(wù)器400發(fā)送對(duì)于授權(quán)訪問憑證的請(qǐng)求(即,申請(qǐng)數(shù)據(jù)訪問授權(quán)),并且在步驟S904中,客戶端裝置200將該請(qǐng)求記錄在區(qū)塊鏈100中。應(yīng)指出,該對(duì)于授權(quán)訪問憑證的請(qǐng)求包含客戶端裝置200的簽名信息,即,客戶端裝置200利用客戶端私鑰對(duì)該請(qǐng)求進(jìn)行了簽名。然后,在步驟S905中,授權(quán)服務(wù)器400驗(yàn)證用戶授權(quán)憑證,并且如果驗(yàn)證有效,則生成授權(quán)訪問憑證,并且將該授權(quán)訪問憑證記錄在區(qū)塊鏈100中。應(yīng)指出,這里的授權(quán)訪問憑證包含授權(quán)服務(wù)器400的簽名信息,即,授權(quán)服務(wù)器400利用其服務(wù)器私鑰對(duì)該授權(quán)訪問憑證進(jìn)行了簽名。接下來,在步驟S906中,授權(quán)服務(wù)器400將該授權(quán)訪問憑證返回給客戶端裝置200,然后在步驟S907中,客戶端裝置200利用授權(quán)訪問憑證向資 源服務(wù)器500發(fā)送數(shù)據(jù)訪問請(qǐng)求(即,申請(qǐng)數(shù)據(jù)訪問),并且在步驟S908中將該數(shù)據(jù)訪問請(qǐng)求記錄在區(qū)塊鏈100中。應(yīng)指出,該數(shù)據(jù)訪問請(qǐng)求也包含客戶端裝置200的簽名信息,即,客戶端裝置200利用客戶端私鑰對(duì)該數(shù)據(jù)訪問請(qǐng)求進(jìn)行了簽名。接下來,在步驟S909中,資源服務(wù)器500通過檢查區(qū)塊鏈中的信息(包括在上述步驟S904、S905和S908中記錄到區(qū)塊鏈100中的信息)來確定該數(shù)據(jù)訪問請(qǐng)求的有效性,并且如果確定有效,則將相應(yīng)的數(shù)據(jù)資源提供給客戶端裝置200。同時(shí),在步驟S910中,資源服務(wù)器500將自己的響應(yīng)操作也記錄到區(qū)塊鏈100中,該記錄同樣也包含資源服務(wù)器500的簽名信息(使用資源服務(wù)器的私鑰)。最后,在步驟S911中,客戶端裝置200可以將相應(yīng)的數(shù)據(jù)資源提供給資源所有者600供其進(jìn)行使用。

應(yīng)理解,上述交互過程僅為示例而非限制,并且所示出的各個(gè)步驟的執(zhí)行順序也僅是為了描述方便而不限于此,根據(jù)需要,一些步驟可并行地執(zhí)行或者其執(zhí)行順序可改變。

從以上基于區(qū)塊鏈的OAuth協(xié)議實(shí)現(xiàn)的交互過程可以看出,在該情況下,服務(wù)器裝置可包括授權(quán)服務(wù)器和資源服務(wù)器,來自客戶端裝置的請(qǐng)求可包括針對(duì)授權(quán)服務(wù)器的對(duì)于授權(quán)訪問憑證的請(qǐng)求和針對(duì)資源服務(wù)器的數(shù)據(jù)訪問請(qǐng)求,并且來自服務(wù)器裝置的響應(yīng)信息可包括來自授權(quán)服務(wù)器的授權(quán)訪問憑證和來自資源服務(wù)器的數(shù)據(jù)資源。此外,應(yīng)指出,盡管在這里將授權(quán)服務(wù)器和資源服務(wù)器示出為分開的服務(wù)器裝置,但是這兩者實(shí)際上也可以是同一服務(wù)器。

優(yōu)選地,上述授權(quán)訪問憑證可包括與受保護(hù)資源有關(guān)的限制信息,該限制信息例如可包括受保護(hù)資源的管理者的標(biāo)識(shí)、允許客戶端裝置訪問的資源以及授權(quán)訪問憑證的有效期等信息。

此外,優(yōu)選地,限制信息還可包括在授權(quán)訪問憑證的有效期內(nèi)的訪問次數(shù)設(shè)置,客戶端裝置200的訪問單元230可根據(jù)訪問次數(shù)設(shè)置而執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作,并且服務(wù)器裝置300的響應(yīng)生成單元310可根據(jù)客戶端裝置200對(duì)受保護(hù)資源的訪問而遞減訪問次數(shù)設(shè)置,并且記錄單元320可將遞減后的訪問次數(shù)記錄在公共數(shù)據(jù)庫中。這樣,可以防止重放攻擊,有效地實(shí)現(xiàn)對(duì)于受保護(hù)資源的有限次授權(quán)訪問。下面,將參照?qǐng)D10、圖11A和圖11B詳細(xì)描述應(yīng)用本公開的技術(shù)的用于實(shí)現(xiàn)有限次授權(quán)訪問的處理過程。圖10是示出應(yīng)用本公開的技術(shù)的用于實(shí)現(xiàn)有限次授權(quán)訪問的交互過程的示例的流程圖,并且圖11A和圖11B是示出應(yīng)用本 公開的技術(shù)的用于實(shí)現(xiàn)有限次授權(quán)訪問的示例的示意圖。

如圖10所示,首先,在步驟S1001中,客戶端裝置200向授權(quán)服務(wù)器400申請(qǐng)N次授權(quán)訪問(其中,N是大于或等于1的正整數(shù))。然后,在步驟S1002中,授權(quán)服務(wù)器400針對(duì)這N次授權(quán)訪問可生成兩個(gè)比特幣賬戶(或者也可使用已有賬戶)Account1和Account2,這兩個(gè)賬戶分別對(duì)應(yīng)兩個(gè)密鑰對(duì),并且賬戶Account1由授權(quán)服務(wù)器400管理,賬戶Account2由資源服務(wù)器500管理,然后,授權(quán)服務(wù)器400將N個(gè)虛擬貨幣從賬戶Account1轉(zhuǎn)至賬戶Account2(如圖11A所示),這N個(gè)虛擬貨幣即對(duì)應(yīng)N次授權(quán)訪問,同時(shí)授權(quán)服務(wù)器400將這次轉(zhuǎn)賬操作記錄在區(qū)塊鏈100中。

接下來,在步驟S1003中,授權(quán)服務(wù)器400將N次授權(quán)訪問憑證和區(qū)塊鏈100中的記錄一起發(fā)送給客戶端裝置200,然后在步驟S1004中,客戶端裝置200可利用授權(quán)訪問憑證訪問資源服務(wù)器500,并且同時(shí)將區(qū)塊鏈中的記錄提供給資源服務(wù)器500。在步驟S1005中,資源服務(wù)器500可驗(yàn)證區(qū)塊鏈中的記錄以確認(rèn)授權(quán)訪問憑證是否有效,并且在步驟S1006中,如果確認(rèn)有效,則資源服務(wù)器500為客戶端裝置200提供相應(yīng)數(shù)據(jù)服務(wù),并且如果無效,則資源服務(wù)器500拒絕提供相應(yīng)服務(wù)。接下來,在步驟S1007中,針對(duì)每次訪問,資源服務(wù)器500可從賬戶Account2轉(zhuǎn)1個(gè)虛擬幣至賬戶Account1(如圖11B所示),并同時(shí)將該轉(zhuǎn)賬操作記錄在區(qū)塊鏈100中。該轉(zhuǎn)賬信息也可同時(shí)提供給客戶端裝置200,以方便客戶端裝置200進(jìn)行查驗(yàn)。重復(fù)上述操作,直到N次授權(quán)訪問完成,即,完成了N次從賬戶Account2至賬戶Account1的轉(zhuǎn)賬操作,這樣整個(gè)授權(quán)訪問過程結(jié)束。

可以看出,在上述過程中,由于客戶端裝置200、授權(quán)服務(wù)器400和資源服務(wù)器500的操作以及訪問次數(shù)限制均被記錄在區(qū)塊鏈100中,因此,各個(gè)裝置可以通過檢查區(qū)塊鏈100中的相應(yīng)記錄信息來對(duì)各種信息進(jìn)行核驗(yàn),這樣,可以有效地抵抗重放攻擊和中間人攻擊,提高授權(quán)訪問過程的安全性,有效地實(shí)現(xiàn)有限次安全授權(quán)訪問。

應(yīng)理解,以上參照?qǐng)D10至圖11B描述了基于區(qū)塊鏈來實(shí)現(xiàn)有限次授權(quán)訪問的處理過程,但是這僅是示例而非限制,并且本領(lǐng)域技術(shù)人員可以根據(jù)本公開的原理而對(duì)上述過程進(jìn)行修改。例如,盡管以上描述了建立兩個(gè)賬戶利用虛擬幣來記錄每次授權(quán)訪問,但是也可不必如此,只要能夠?qū)崿F(xiàn)將客戶端裝置的每次授權(quán)訪問都記錄在公共數(shù)據(jù)庫中,以供系統(tǒng)內(nèi)的各 個(gè)裝置進(jìn)行查詢、核驗(yàn)即可。

此外,還應(yīng)指出,盡管以上以區(qū)塊鏈為例描述了應(yīng)用本公開的技術(shù)的OAuth協(xié)議的實(shí)現(xiàn),但是顯然也可利用除區(qū)塊鏈之外的其它公共數(shù)據(jù)庫(如上述Hyperledger的共識(shí)池等)來保證OAuth協(xié)議的通信安全性。

與上述裝置實(shí)施例相對(duì)應(yīng)的,下面將參照?qǐng)D12和圖13分別描述根據(jù)本公開的實(shí)施例的在客戶端裝置和服務(wù)器裝置側(cè)執(zhí)行的用于授權(quán)訪問的方法的過程示例。圖12是示出根據(jù)本公開的實(shí)施例的在客戶端裝置執(zhí)行的用于授權(quán)訪問的方法的過程示例的流程圖。

如圖12所示,根據(jù)該實(shí)施例的方法開始于步驟S1201,在步驟S1201中,客戶端裝置生成用于受保護(hù)資源的授權(quán)訪問的請(qǐng)求并且將該請(qǐng)求發(fā)送到服務(wù)器裝置,然后方法進(jìn)行到步驟S1202。優(yōu)選地,在步驟S1201中,客戶端裝置還可利用客戶端私鑰對(duì)該請(qǐng)求進(jìn)行簽名,并將簽名后的請(qǐng)求發(fā)送給服務(wù)器裝置。在步驟S1202中,客戶端裝置將所生成的請(qǐng)求記錄在公共數(shù)據(jù)庫中,該公共數(shù)據(jù)庫是去中心化的分布式數(shù)據(jù)庫并且其中的記錄是不可更改的,優(yōu)選地,該公共數(shù)據(jù)庫包括區(qū)塊鏈。然后,方法進(jìn)行到步驟S1203。在步驟S1203中,客戶端裝置利用服務(wù)器裝置響應(yīng)于請(qǐng)求而發(fā)送的響應(yīng)信息,執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作。

優(yōu)選地,客戶端裝置還將請(qǐng)求在公共數(shù)據(jù)庫中的位置信息發(fā)送給服務(wù)器裝置,并且可利用服務(wù)器公鑰對(duì)服務(wù)器裝置的響應(yīng)信息在公共數(shù)據(jù)庫中的記錄進(jìn)行驗(yàn)證,并且根據(jù)驗(yàn)證結(jié)果而執(zhí)行相應(yīng)操作。

優(yōu)選地,在應(yīng)用于OAuth協(xié)議時(shí),上述服務(wù)器裝置可包括授權(quán)服務(wù)器和資源服務(wù)器,并且這兩個(gè)服務(wù)器也可以是同一服務(wù)器,請(qǐng)求可包括發(fā)送給授權(quán)服務(wù)器的對(duì)于授權(quán)訪問憑證的請(qǐng)求和發(fā)送給資源服務(wù)器的數(shù)據(jù)訪問請(qǐng)求,并且響應(yīng)信息包括來自授權(quán)服務(wù)器的授權(quán)訪問憑證和來自資源服務(wù)器的數(shù)據(jù)資源。優(yōu)選地,授權(quán)訪問憑證可包括與受保護(hù)資源有關(guān)的限制信息,該限制信息可包括受保護(hù)資源的管理者的標(biāo)識(shí)、允許客戶端裝置訪問的資源以及授權(quán)訪問憑證的有效期。此外,優(yōu)選地,限制信息還可包括在有效期內(nèi)的訪問次數(shù)設(shè)置,并且客戶端裝置可根據(jù)訪問次數(shù)設(shè)置而執(zhí)行用于訪問受保護(hù)資源的相應(yīng)操作。

這里描述的在客戶端裝置執(zhí)行的方法是與上述裝置實(shí)施例相對(duì)應(yīng)的,因此在此未詳細(xì)描述的內(nèi)容可參見以上相應(yīng)位置的描述,在此不再重復(fù)。

圖13是示出根據(jù)本公開的實(shí)施例的在服務(wù)器裝置執(zhí)行的用于授權(quán)訪 問的方法的過程示例的流程圖。

如圖13所示,根據(jù)該實(shí)施例的方法開始于步驟S1301,在步驟S1301中,服務(wù)器裝置響應(yīng)于來自客戶端裝置的對(duì)于受保護(hù)資源的授權(quán)訪問的請(qǐng)求而生成相應(yīng)的響應(yīng)信息,并且將該響應(yīng)信息發(fā)送到客戶端裝置。優(yōu)選地,服務(wù)器裝置可利用服務(wù)器私鑰對(duì)該響應(yīng)信息進(jìn)行簽名,并且將簽名后的響應(yīng)信息發(fā)送給客戶端裝置。然后,該方法進(jìn)行到步驟S1302,在步驟S1302中,服務(wù)器裝置將響應(yīng)信息記錄在公共數(shù)據(jù)庫中。

優(yōu)選地,服務(wù)器裝置還將響應(yīng)信息在公共數(shù)據(jù)庫中的位置信息發(fā)送給客戶端裝置,并且利用客戶端公鑰對(duì)客戶端裝置的請(qǐng)求在公共數(shù)據(jù)庫中的記錄進(jìn)行驗(yàn)證,并根據(jù)驗(yàn)證結(jié)果而生成響應(yīng)信息。

這里描述的在服務(wù)器裝置執(zhí)行的方法是與上述裝置實(shí)施例相對(duì)應(yīng)的,因此在此未詳細(xì)描述的內(nèi)容可參見以上相應(yīng)位置的描述,在此不再重復(fù)。

應(yīng)指出,盡管以上描述了根據(jù)本公開的實(shí)施例的用于授權(quán)訪問的方法的過程示例,但是這僅是示例而非限制,并且本領(lǐng)域技術(shù)人員可根據(jù)本公開的原理對(duì)以上實(shí)施例進(jìn)行修改,例如可對(duì)各個(gè)實(shí)施例中的步驟進(jìn)行添加、刪除或者組合等,并且這樣的修改均落入本公開的范圍內(nèi)。

根據(jù)本公開的技術(shù)還可以應(yīng)用于其它領(lǐng)域,如醫(yī)療、通信、電力等。下面將參照?qǐng)D14和圖15分別描述根據(jù)本公開的技術(shù)的應(yīng)用示例。

圖14是示出根據(jù)本公開的技術(shù)的第一應(yīng)用示例的示意圖。

在醫(yī)療領(lǐng)域中,需要存儲(chǔ)大量用戶的數(shù)據(jù)或記錄,如何確保這些數(shù)據(jù)或記錄可以通過安全授權(quán)訪問的方式提供給用戶或用戶授權(quán)的第三方平臺(tái)是當(dāng)前要解決的問題之一。

如圖14所示,該系統(tǒng)可包括用戶、客戶端、授權(quán)服務(wù)器、資源服務(wù)器和網(wǎng)絡(luò)記錄平臺(tái)。用戶是醫(yī)療數(shù)據(jù)的主體,即資源所有者;客戶端是第三方應(yīng)用軟件(如健康管理軟件等);授權(quán)服務(wù)器是醫(yī)療機(jī)構(gòu)或者醫(yī)療機(jī)構(gòu)委托服務(wù)商提供服務(wù);資源服務(wù)器是醫(yī)療機(jī)構(gòu)或者醫(yī)療機(jī)構(gòu)委托服務(wù)商提供服務(wù);網(wǎng)絡(luò)記錄平臺(tái)相當(dāng)于上述公共數(shù)據(jù)庫,其可以采用分布式或P2P、去中心化的網(wǎng)絡(luò)平臺(tái),用于授權(quán)訪問的關(guān)鍵數(shù)據(jù)一經(jīng)記錄在該平臺(tái)上就不能被惡意篡改。此外,該記錄平臺(tái)為每條記錄生成一條地址信息,該地址信息可以是序號(hào)或其它編碼信息以便于進(jìn)行檢索。此外,盡管圖中未示出,但是該系統(tǒng)還可包括密鑰管理中心,用于為在網(wǎng)絡(luò)記錄平臺(tái)上記錄數(shù)據(jù)的實(shí)體生成密鑰對(duì)(公鑰和私鑰)。密鑰管理中心可以是第三方安 全平臺(tái),如公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)/認(rèn)證中心(Certificate Authority,CA)等,也可以是基于網(wǎng)絡(luò)記錄平臺(tái)的上層安全應(yīng)用系統(tǒng)。

在具體實(shí)施時(shí),首先進(jìn)行系統(tǒng)初始化,從而密鑰管理中心至少為授權(quán)服務(wù)器和資源服務(wù)器分配密鑰對(duì),分別記作(PKAS,SKAS)和(PKRS,SKRS)。

在初始化之后,各個(gè)實(shí)體按照?qǐng)D14所示的示例實(shí)施步驟而執(zhí)行用于醫(yī)療數(shù)據(jù)的安全授權(quán)訪問的處理:

①用戶向授權(quán)服務(wù)器申請(qǐng)授權(quán)憑證。

②授權(quán)服務(wù)器向用戶發(fā)放授權(quán)憑證。

③用戶向客戶端提供授權(quán)憑證。

④客戶端向授權(quán)服務(wù)器提供用戶的授權(quán)憑證,申請(qǐng)數(shù)據(jù)訪問憑證。

⑤授權(quán)服務(wù)器驗(yàn)證授權(quán)憑證有效后,依據(jù)授權(quán)憑證的信息,生成對(duì)應(yīng)的數(shù)據(jù)訪問憑證,該數(shù)據(jù)訪問憑證至少包含需要訪問的目標(biāo)數(shù)據(jù)、訪問期限等信息。同時(shí),授權(quán)服務(wù)器用自己的私鑰SKAS對(duì)該數(shù)據(jù)訪問憑證進(jìn)行簽名,把簽名后的信息記錄在網(wǎng)絡(luò)記錄平臺(tái)中。

⑥授權(quán)服務(wù)器將數(shù)據(jù)訪問憑證以及該憑證在網(wǎng)絡(luò)記錄平臺(tái)的地址信息返回給客戶端。

⑦客戶端持?jǐn)?shù)據(jù)訪問憑證和網(wǎng)絡(luò)記錄平臺(tái)的地址信息向資源服務(wù)器申請(qǐng)數(shù)據(jù)資源。

⑧資源服務(wù)端根據(jù)地址信息,檢索到對(duì)應(yīng)數(shù)據(jù)訪問憑證的記錄,通過授權(quán)服務(wù)器的公鑰PKAS驗(yàn)證客戶端發(fā)來的數(shù)據(jù)訪問憑證的有效性。

⑨資源服務(wù)器依據(jù)數(shù)據(jù)訪問憑證,向客戶端提供對(duì)應(yīng)的數(shù)據(jù)資源,同時(shí)把對(duì)于數(shù)據(jù)訪問憑證的響應(yīng)操作記錄在網(wǎng)絡(luò)記錄平臺(tái)中,即,使用私鑰SKRS對(duì)數(shù)據(jù)訪問憑證進(jìn)行簽名,并且也可加入響應(yīng)日志信息,一并簽名后記錄在網(wǎng)絡(luò)記錄平臺(tái)。

⑩客戶端得到對(duì)應(yīng)的數(shù)據(jù)。

客戶端將整理后的數(shù)據(jù)呈現(xiàn)給用戶,例如,將該用戶在多家醫(yī)療機(jī)構(gòu)的醫(yī)療信息匯總、分類、整理后整體呈現(xiàn)給用戶。

類似地,上述過程也可應(yīng)用于諸如電力、通信或電商等存儲(chǔ)了大量用戶數(shù)據(jù)或記錄的行業(yè),在此不再一一詳細(xì)進(jìn)行描述。

圖15是示出根據(jù)本公開的技術(shù)的第二應(yīng)用示例的示意圖。

3D打印是當(dāng)前關(guān)注的熱門技術(shù),如何保證3D模型授權(quán)打印的安全性也是需要解決的問題之一。如圖15所示,該用于3D模型授權(quán)打印的系統(tǒng)可包括用戶、授權(quán)服務(wù)器、客戶端、資源服務(wù)器、網(wǎng)絡(luò)記錄平臺(tái)和3D打印機(jī)。其中,用戶是購買3D模型數(shù)據(jù)的自然人或機(jī)構(gòu);客戶端是第三方應(yīng)用軟件;授權(quán)服務(wù)器是3D模型網(wǎng)絡(luò)交易平臺(tái);資源服務(wù)器是3D模型數(shù)據(jù)服務(wù)器;網(wǎng)絡(luò)記錄平臺(tái)與以上參照?qǐng)D14描述的網(wǎng)絡(luò)記錄平臺(tái)相同。此外,盡管未示出,該系統(tǒng)還包括與以上參照?qǐng)D14描述的相同的密鑰管理中心。

在實(shí)施3D模型授權(quán)打印時(shí),圖15所示的步驟①~⑩中的操作與上述圖14中的相應(yīng)步驟中的操作相同,在此不再重復(fù)。接下來,在步驟中,客戶端把授權(quán)得到的3D模型數(shù)據(jù)發(fā)送至3D打印機(jī),并且在步驟中,用戶得到打印出的3D物品。

在以上過程中,用戶得到某個(gè)3D模型的打印授權(quán)(可以是免費(fèi)或交易得到),通過客戶端連接授權(quán)服務(wù)器和資源服務(wù)器,通過本發(fā)明的授權(quán)協(xié)議方法得到3D模型數(shù)據(jù),并且將該數(shù)據(jù)發(fā)送至3D打印機(jī)以得到打印出的3D物品。通過應(yīng)用本公開的技術(shù),可以保證授權(quán)訪問的安全性和抗抵賴性,有效地抵抗了網(wǎng)絡(luò)攻擊。

盡管以上參照?qǐng)D14和圖15給出了本公開的技術(shù)的應(yīng)用示例,但是本公開并不限于此,而是也可應(yīng)用于其它任何需要授權(quán)訪問數(shù)據(jù)的平臺(tái)。

此外,根據(jù)本公開的實(shí)施例,還提供了一種電子設(shè)備,該電子設(shè)備可包括收發(fā)機(jī)和一個(gè)或多個(gè)處理器,這一個(gè)或多個(gè)處理器可被配置成執(zhí)行上述根據(jù)本公開的實(shí)施例的方法或相應(yīng)單元的功能。

應(yīng)理解,根據(jù)本公開的實(shí)施例的存儲(chǔ)介質(zhì)和程序產(chǎn)品中的機(jī)器可執(zhí)行的指令還可以被配置成執(zhí)行與上述裝置實(shí)施例相對(duì)應(yīng)的方法,因此在此未詳細(xì)描述的內(nèi)容可參考先前相應(yīng)位置的描述,在此不再重復(fù)進(jìn)行描述。

相應(yīng)地,用于承載上述包括機(jī)器可執(zhí)行的指令的程序產(chǎn)品的存儲(chǔ)介質(zhì)也包括在本發(fā)明的公開中。該存儲(chǔ)介質(zhì)包括但不限于軟盤、光盤、磁光盤、存儲(chǔ)卡、存儲(chǔ)棒等等。

另外,還應(yīng)該指出的是,上述系列處理和裝置也可以通過軟件和/或固件實(shí)現(xiàn)。在通過軟件和/或固件實(shí)現(xiàn)的情況下,從存儲(chǔ)介質(zhì)或網(wǎng)絡(luò)向具有專用硬件結(jié)構(gòu)的計(jì)算機(jī),例如圖16所示的通用個(gè)人計(jì)算機(jī)1600安裝構(gòu) 成該軟件的程序,該計(jì)算機(jī)在安裝有各種程序時(shí),能夠執(zhí)行各種功能等等。圖16是示出作為本公開的實(shí)施例中可采用的信息處理設(shè)備的個(gè)人計(jì)算機(jī)的示例結(jié)構(gòu)的框圖。

在圖16中,中央處理單元(CPU)1601根據(jù)只讀存儲(chǔ)器(ROM)1602中存儲(chǔ)的程序或從存儲(chǔ)部分1608加載到隨機(jī)存取存儲(chǔ)器(RAM)1603的程序執(zhí)行各種處理。在RAM 1603中,也根據(jù)需要存儲(chǔ)當(dāng)CPU 1601執(zhí)行各種處理等時(shí)所需的數(shù)據(jù)。

CPU 1601、ROM 1602和RAM 1603經(jīng)由總線1604彼此連接。輸入/輸出接口1605也連接到總線1604。

下述部件連接到輸入/輸出接口1605:輸入部分1606,包括鍵盤、鼠標(biāo)等;輸出部分1607,包括顯示器,比如陰極射線管(CRT)、液晶顯示器(LCD)等,和揚(yáng)聲器等;存儲(chǔ)部分1608,包括硬盤等;和通信部分1609,包括網(wǎng)絡(luò)接口卡比如LAN卡、調(diào)制解調(diào)器等。通信部分1609經(jīng)由網(wǎng)絡(luò)比如因特網(wǎng)執(zhí)行通信處理。

根據(jù)需要,驅(qū)動(dòng)器1610也連接到輸入/輸出接口1605??刹鹦督橘|(zhì)1611比如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等根據(jù)需要被安裝在驅(qū)動(dòng)器1610上,使得從中讀出的計(jì)算機(jī)程序根據(jù)需要被安裝到存儲(chǔ)部分1608中。

在通過軟件實(shí)現(xiàn)上述系列處理的情況下,從網(wǎng)絡(luò)比如因特網(wǎng)或存儲(chǔ)介質(zhì)比如可拆卸介質(zhì)1611安裝構(gòu)成軟件的程序。

本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這種存儲(chǔ)介質(zhì)不局限于圖16所示的其中存儲(chǔ)有程序、與設(shè)備相分離地分發(fā)以向用戶提供程序的可拆卸介質(zhì)1611??刹鹦督橘|(zhì)1611的例子包含磁盤(包含軟盤(注冊(cè)商標(biāo)))、光盤(包含光盤只讀存儲(chǔ)器(CD-ROM)和數(shù)字通用盤(DVD))、磁光盤(包含迷你盤(MD)(注冊(cè)商標(biāo)))和半導(dǎo)體存儲(chǔ)器?;蛘?,存儲(chǔ)介質(zhì)可以是ROM 1602、存儲(chǔ)部分1608中包含的硬盤等等,其中存有程序,并且與包含它們的設(shè)備一起被分發(fā)給用戶。

以上參照附圖描述了本公開的優(yōu)選實(shí)施例,但是本公開當(dāng)然不限于以上示例。本領(lǐng)域技術(shù)人員可在所附權(quán)利要求的范圍內(nèi)得到各種變更和修改,并且應(yīng)理解這些變更和修改自然將落入本公開的技術(shù)范圍內(nèi)。

例如,在以上實(shí)施例中包括在一個(gè)單元中的多個(gè)功能可以由分開的裝置來實(shí)現(xiàn)。替選地,在以上實(shí)施例中由多個(gè)單元實(shí)現(xiàn)的多個(gè)功能可分別由 分開的裝置來實(shí)現(xiàn)。另外,以上功能之一可由多個(gè)單元來實(shí)現(xiàn)。無需說,這樣的配置包括在本公開的技術(shù)范圍內(nèi)。

在該說明書中,流程圖中所描述的步驟不僅包括以所述順序按時(shí)間序列執(zhí)行的處理,而且包括并行地或單獨(dú)地而不是必須按時(shí)間序列執(zhí)行的處理。此外,甚至在按時(shí)間序列處理的步驟中,無需說,也可以適當(dāng)?shù)馗淖冊(cè)擁樞颉?/p>

雖然已經(jīng)詳細(xì)說明了本公開及其優(yōu)點(diǎn),但是應(yīng)當(dāng)理解在不脫離由所附的權(quán)利要求所限定的本公開的精神和范圍的情況下可以進(jìn)行各種改變、替代和變換。而且,本公開實(shí)施例的術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
潮安县| 渝北区| 神池县| 九江市| 交城县| 信宜市| 崇州市| 廉江市| 奉节县| 左贡县| 禄丰县| 镇雄县| 宁南县| 冷水江市| 电白县| 鄂尔多斯市| 大悟县| 乐平市| 唐河县| 周宁县| 融水| 榆中县| 灵山县| 青浦区| 洛川县| 宁乡县| 新巴尔虎右旗| 上饶县| 精河县| 三河市| 大宁县| 沙湾县| 息烽县| 阿鲁科尔沁旗| 张家口市| 民乐县| 景宁| 马关县| 土默特左旗| 赞皇县| 盈江县|