本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及用于安全通信的方法、裝置以及委托的受限應(yīng)用協(xié)議(constrainedapplicationprotocol,coap)認(rèn)證和授權(quán)框架(delegatedcoapauthenticationandauthorizationframework,dcaf)系統(tǒng)。
背景技術(shù):
由于傳統(tǒng)的超文本傳輸協(xié)議(hypertexttransferprotocol,http)不適用于資源受限的環(huán)境,因此互聯(lián)網(wǎng)工程任務(wù)組(internetengineeringtaskforce,ietf)針對(duì)這樣的受限環(huán)境制定了一種應(yīng)用層協(xié)議,即coap,使得受限環(huán)境中的受限節(jié)點(diǎn)能夠在互聯(lián)網(wǎng)上進(jìn)行通信。
而針對(duì)受限節(jié)點(diǎn)通信的安全問題,ietf最近起草了dcaf文檔。在dcaf文檔中,描述了一種dcaf系統(tǒng),在該系統(tǒng)中通過引入較少的節(jié)點(diǎn)來幫助受限節(jié)點(diǎn)進(jìn)行與授權(quán)相關(guān)的任務(wù)。在dcaf系統(tǒng)中,這樣的較少的節(jié)點(diǎn)可以被稱為授權(quán)管理器。這些授權(quán)管理器能夠針對(duì)其管理的節(jié)點(diǎn)執(zhí)行復(fù)雜的安全任務(wù)(例如管理大量設(shè)備的密鑰),從而使得受限節(jié)點(diǎn)能夠?qū)崿F(xiàn)授權(quán)策略。授權(quán)管理器可以包括用于管理客戶端授權(quán)信息的客戶端授權(quán)管理器(clientauthorizationmanager,cam)和用于管理器服務(wù)器授權(quán)信息的服務(wù)器授權(quán)管理器(serverauthorizationmanager,sam)。在執(zhí)行與授權(quán)相關(guān)的任務(wù)時(shí),sam與服務(wù)器之間需要傳遞一些授權(quán)信息。然而,dcaf文檔并沒有給出如何在sam與服務(wù)器之間安全地傳遞信息的具體實(shí)現(xiàn)方案。
技術(shù)實(shí)現(xiàn)要素:
考慮到現(xiàn)有技術(shù)的上述問題,本發(fā)明的實(shí)施例提供了用于安全通信的方法、裝置及系統(tǒng),有效地實(shí)現(xiàn)了dcaf系統(tǒng)中服務(wù)器與sam的安全通信。
本發(fā)明的一個(gè)實(shí)施例提供了一種用于安全通信的方法,包括:在確定允許客戶端訪問服務(wù)器的情況下,生成用于所述服務(wù)器對(duì)所述客戶端進(jìn)行認(rèn)證的訪問授權(quán)信息;獲取密鑰,其中,所述密鑰是根據(jù)服務(wù)器授權(quán)管理器和所述服務(wù)器共用的密鑰生成算法來生成的,所述服務(wù)器授權(quán)管理器和所述服務(wù)器屬于委托的受限應(yīng)用協(xié)議認(rèn)證和授權(quán)框架dcaf系統(tǒng);使用所述密鑰對(duì)所述訪問授權(quán)信息進(jìn)行加密;以及向所述客戶端發(fā)送經(jīng)加密的訪問授權(quán)信息。
其中,所述獲取密鑰進(jìn)一步包括:利用動(dòng)態(tài)令牌裝置來生成所述密鑰。
本發(fā)明的另一實(shí)施例提供了一種用于安全通信的方法,包括:從客戶端接收經(jīng)加密的訪問授權(quán)信息,所述訪問授權(quán)信息用于服務(wù)器對(duì)所述客戶端進(jìn)行認(rèn)證;獲取密鑰,其中,所述密鑰是根據(jù)服務(wù)器授權(quán)管理器和所述服務(wù)器共用的密鑰生成算法來生成的,所述服務(wù)器授權(quán)管理器和所述服務(wù)器屬于委托的受限應(yīng)用協(xié)議認(rèn)證和授權(quán)框架dcaf系統(tǒng);使用所述密鑰對(duì)所述經(jīng)加密的訪問授權(quán)信息進(jìn)行解密;以及根據(jù)經(jīng)解密的訪問授權(quán)信息來對(duì)所述客戶端進(jìn)行認(rèn)證。
其中,所述獲取密鑰進(jìn)一步包括:利用動(dòng)態(tài)令牌裝置來生成所述密鑰。
本發(fā)明的另一實(shí)施例提供了一種用于安全通信的裝置,包括:生成模塊,用于在確定允許客戶端訪問服務(wù)器的情況下,生成用于所述服務(wù)器對(duì)所述客戶端進(jìn)行認(rèn)證的訪問授權(quán)信息;獲取模塊,用于獲取密鑰,其中,所述密鑰是根據(jù)所述服務(wù)器授權(quán)管理器和所述服務(wù)器共用的密鑰生成算法來生成的,所述服務(wù)器授權(quán)管理器和所述服務(wù)器屬于委托的受限應(yīng)用協(xié)議認(rèn)證和授權(quán)框架dcaf系統(tǒng);加密模塊,用于使用所述密鑰對(duì)所述訪問授權(quán)信息進(jìn)行加密;以及發(fā)送模塊,用于向所述客戶端發(fā)送經(jīng)加密的訪問授權(quán)信息。
其中,所述獲取模塊進(jìn)一步用于:利用動(dòng)態(tài)令牌裝置來生成所述密鑰。
本發(fā)明的另一實(shí)施例提供了一種用于安全通信的裝置,包括:接收模塊,用于從客戶端接收經(jīng)加密的訪問授權(quán)信息,所述訪問授權(quán)信息用于所述服務(wù)器對(duì)所述客戶端進(jìn)行認(rèn)證;獲取模塊,用于獲取密鑰,其中,所述密鑰是根據(jù)服務(wù)器授權(quán)管理器和所述服務(wù)器共用的密鑰生成算法來生成的,所述服務(wù)器授權(quán)管理器和所述服務(wù)器屬于委托的受限應(yīng)用協(xié)議認(rèn)證和 授權(quán)框架dcaf系統(tǒng);解密模塊,用于使用所述密鑰對(duì)所述經(jīng)加密的訪問授權(quán)信息進(jìn)行解密;以及認(rèn)證模塊,用于根據(jù)經(jīng)解密的訪問授權(quán)信息來對(duì)所述客戶端進(jìn)行認(rèn)證。
其中,所述獲取模塊進(jìn)一步用于:利用動(dòng)態(tài)令牌裝置來生成所述密鑰。
本發(fā)明的另一實(shí)施例提供了一種委托的受限應(yīng)用協(xié)議認(rèn)證和授權(quán)框架系統(tǒng),包括:服務(wù)器授權(quán)管理器、服務(wù)器、客戶端以及客戶端授權(quán)管理器。其中,所述服務(wù)器授權(quán)管理器用于向所述客戶端授權(quán)管理器發(fā)送經(jīng)加密的訪問授權(quán)信息,所述客戶端授權(quán)管理器用于在從所述服務(wù)器授權(quán)管理器接收所述經(jīng)加密的訪問授權(quán)信息之后,向所述客戶端發(fā)送所述經(jīng)加密的訪問授權(quán)信息。
從上述可以看出,本發(fā)明實(shí)施例提供了dcaf系統(tǒng)中服務(wù)器與sam的安全通信方案,無需服務(wù)器與sam之間進(jìn)行密鑰交互,從而能夠節(jié)省信令開銷,提升系統(tǒng)性能。
附圖說明
本發(fā)明的其它特征、特點(diǎn)、優(yōu)點(diǎn)和益處通過以下結(jié)合附圖的詳細(xì)描述將變得更加顯而易見。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的dcaf系統(tǒng)的示意圖。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于安全通信的方法的流程圖。
圖3是根據(jù)本發(fā)明另一實(shí)施例的用于安全通信的方法的流程圖。
圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于安全通信的裝置的示意圖。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于安全通信的裝置的示意圖。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的sam的示意圖。
圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)器的示意圖。
具體實(shí)施方式
下面,將參照附圖詳細(xì)描述本發(fā)明的各個(gè)實(shí)施例。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的dcaf系統(tǒng)的示意圖。如圖1所示,dcaf系統(tǒng)100可以包括客戶端110、服務(wù)器120、cam130和sam140。 服務(wù)器120可以具有coap資源。客戶端110可以對(duì)服務(wù)器120上的coap資源進(jìn)行訪問。cam130可以管理針對(duì)客戶端110的認(rèn)證和授權(quán)數(shù)據(jù)。sam140可以管理針對(duì)服務(wù)器120的認(rèn)證和授權(quán)數(shù)據(jù)。
客戶端110在需要訪問服務(wù)器120上的coap資源時(shí),可以向服務(wù)器120發(fā)送初始非授權(quán)資源請(qǐng)求消息。服務(wù)器120在接收到該消息后,將拒絕該請(qǐng)求,并向客戶端110返回其對(duì)應(yīng)的sam140的地址。
客戶端110在接收到sam140的地址后,可以向其對(duì)應(yīng)的cam130發(fā)送授權(quán)請(qǐng)求。cam130可以根據(jù)該授權(quán)請(qǐng)求,確定客戶端110所請(qǐng)求的動(dòng)作是否被允許。如果被允許的話,cam130可以向sam140發(fā)送標(biāo)簽請(qǐng)求消息(ticketrequestmessage)。
sam140在接收到標(biāo)簽請(qǐng)求消息之后,可以評(píng)估其中所包括的訪問請(qǐng)求信息。在確定允許客戶端110訪問服務(wù)器120之后,sam140可以生成包含訪問標(biāo)簽(accessticket)的標(biāo)簽準(zhǔn)許消息(ticketgrantmessage)。訪問標(biāo)簽可以包括用于服務(wù)器120對(duì)客戶端110進(jìn)行認(rèn)證的訪問授權(quán)信息。如dcaf文檔中所定義的,訪問標(biāo)簽可以包括face部分。該訪問授權(quán)信息可以包括在face部分中。為了確保通信的安全性,sam140可以利用密鑰對(duì)face部分進(jìn)行加密。然后,sam140可以向cam130發(fā)送該消息。
cam130在接收到標(biāo)簽準(zhǔn)許消息之后,可以通過標(biāo)簽傳遞消息(tickettransfermessage),將訪問標(biāo)簽發(fā)送給客戶端110。然后,客戶端110可以將訪問標(biāo)簽中的face部分發(fā)送給服務(wù)器120。
服務(wù)器120從客戶端110接收到face部分之后,可以利用密鑰對(duì)face部分進(jìn)行解密,從而獲得經(jīng)解密的訪問授權(quán)信息。服務(wù)器120可以根據(jù)經(jīng)解密的訪問授權(quán)信息,對(duì)客戶端120進(jìn)行認(rèn)證和授權(quán)。這樣,客戶端110與服務(wù)器120之間可以建立安全信道。通過該安全信道,客戶端110可以訪問服務(wù)器120上的coap資源。
在上述過程中,sam140進(jìn)行加密的密鑰和服務(wù)器120進(jìn)行解密的密鑰可以是根據(jù)sam140和服務(wù)器120共用的密鑰生成算法而生成的。這樣,可以確保sam140和服務(wù)器120利用相同的密鑰分別執(zhí)行加密和解密操作,從而避免了密鑰交互過程,能夠節(jié)省信令開銷。
在一種實(shí)施方式中,sam140與服務(wù)器120共享的密鑰可以是靜態(tài)密鑰。例如,該密鑰可以是sam140與服務(wù)器120利用二者共用的密鑰生成算法而預(yù)先生成的,并存儲(chǔ)在各自的存儲(chǔ)器中。這種方式實(shí)現(xiàn)簡(jiǎn)單,成本低。
在另一種實(shí)施方式中,sam140與服務(wù)器120共享的密鑰可以是動(dòng)態(tài)密鑰。該密鑰可以利用動(dòng)態(tài)令牌裝置來生成。例如,服務(wù)器120側(cè)的動(dòng)態(tài)令牌裝置和sam140側(cè)的動(dòng)態(tài)令牌裝置可以同步地生成相同的令牌。這樣,所生成的令牌可以用作服務(wù)器120和sam140之間的共享密鑰。在本發(fā)明實(shí)施例中,可以采用現(xiàn)有技術(shù)中任一種動(dòng)態(tài)令牌裝置。這種方式相比靜態(tài)密鑰而言,更能夠保證信息的安全性。
從上述可以看出,本發(fā)明實(shí)施例提供了dcaf系統(tǒng)中服務(wù)器與sam的安全通信方案,無需服務(wù)器與sam之間進(jìn)行密鑰交互,從而能夠節(jié)省信令開銷,提升系統(tǒng)性能。
現(xiàn)在參照?qǐng)D2,其是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于安全通信的方法的流程圖。例如,圖2的方法可以由上述圖1中的sam140來執(zhí)行。
如圖2所示,該方法包括以下步驟:
步驟210,在確定允許客戶端訪問服務(wù)器的情況下,生成用于服務(wù)器對(duì)客戶端進(jìn)行認(rèn)證的訪問授權(quán)信息。
步驟220,獲取密鑰,其中,該密鑰是根據(jù)sam和服務(wù)器共用的密鑰生成算法來生成的,sam和服務(wù)器屬于dcaf系統(tǒng)。
步驟230,使用密鑰對(duì)訪問授權(quán)信息進(jìn)行加密。
步驟240,向客戶端發(fā)送經(jīng)加密的訪問授權(quán)信息。
在一種實(shí)施方式中,在步驟220中,可以利用動(dòng)態(tài)令牌裝置來生成上述密鑰。
現(xiàn)在參照?qǐng)D3,其是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于安全通信的方法的流程圖。例如,圖3的方法可以由上述圖1中的服務(wù)器120來執(zhí)行。
如圖3所示,該方法包括以下步驟:
步驟310,從客戶端接收經(jīng)加密的訪問授權(quán)信息,訪問授權(quán)信息用于服務(wù)器對(duì)客戶端進(jìn)行認(rèn)證。
步驟320,獲取密鑰,其中,該密鑰是根據(jù)sam和服務(wù)器共用的密鑰生成算法來生成的,sam和服務(wù)器屬于dcaf系統(tǒng)。
步驟330,使用密鑰對(duì)經(jīng)加密的訪問授權(quán)信息進(jìn)行解密。
步驟340,根據(jù)經(jīng)解密的訪問授權(quán)信息來對(duì)客戶端進(jìn)行認(rèn)證。
在一種實(shí)施方式中,在步驟320中,可以利用動(dòng)態(tài)令牌裝置來生成上述密鑰。
現(xiàn)在參照?qǐng)D4,其是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于安全通信的裝置的示意圖。圖4所示的裝置400可以利用軟件、硬件(例如集成電路或dsp等)或軟硬件結(jié)合的方式來實(shí)現(xiàn)。圖4的裝置400的一個(gè)例子可以是上述sam140。
如圖4所示,裝置400可以包括生成模塊410、獲取模塊420、加密模塊430和發(fā)送模塊440。
生成模塊410用于在確定允許客戶端訪問服務(wù)器的情況下,生成用于服務(wù)器對(duì)客戶端進(jìn)行認(rèn)證的訪問授權(quán)信息。獲取模塊420用于獲取密鑰,其中,密鑰是根據(jù)sam和服務(wù)器共用的密鑰生成算法來生成的,sam和服務(wù)器屬于dcaf系統(tǒng)。加密模塊430用于使用密鑰對(duì)訪問授權(quán)信息進(jìn)行加密。發(fā)送模塊440用于向客戶端發(fā)送經(jīng)加密的訪問授權(quán)信息。
在一種實(shí)施方式中,獲取模塊420可以進(jìn)一步用于利用動(dòng)態(tài)令牌裝置來生成上述密鑰。
現(xiàn)在參照?qǐng)D5,其是根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)器的示意圖。圖5所示的裝置500可以利用軟件、硬件(例如集成電路或dsp等)或軟硬件結(jié)合的方式來實(shí)現(xiàn)。圖5的裝置500的一個(gè)例子可以是上述服務(wù)器120。
如圖5所示,裝置500可以包括接收模塊510、獲取模塊520、解密模塊530和認(rèn)證模塊540。
接收模塊510用于從客戶端接收經(jīng)加密的訪問授權(quán)信息,訪問授權(quán)信息用于服務(wù)器對(duì)客戶端進(jìn)行認(rèn)證。獲取模塊520用于獲取密鑰,其中,該 密鑰是根據(jù)sam和服務(wù)器共用的密鑰生成算法來生成的,sam器和服務(wù)器屬于dcaf系統(tǒng)。解密模塊530用于使用密鑰對(duì)經(jīng)加密的訪問授權(quán)信息進(jìn)行解密。認(rèn)證模塊540用于根據(jù)經(jīng)解密的訪問授權(quán)信息來對(duì)客戶端進(jìn)行認(rèn)證。
在一種實(shí)施方式中,獲取模塊520可以進(jìn)一步用于利用動(dòng)態(tài)令牌裝置來生成上述密鑰。
現(xiàn)在參見圖6,其是根據(jù)本發(fā)明一個(gè)實(shí)施例的sam的示意圖。如圖6所示,sam600可以包括用于存儲(chǔ)可執(zhí)行指令的存儲(chǔ)器610和與存儲(chǔ)器610連接的處理器620,其中,處理器620可以執(zhí)行前述sam400的各個(gè)模塊所執(zhí)行的操作。
現(xiàn)在參見圖7,其是根據(jù)本發(fā)明一個(gè)實(shí)施例的服務(wù)器的示意圖。如圖7所示,服務(wù)器700可以包括用于存儲(chǔ)可執(zhí)行指令的存儲(chǔ)器710和與存儲(chǔ)器710連接的處理器720,其中,處理器720可以執(zhí)行前述服務(wù)器500的各個(gè)模塊所執(zhí)行的操作。
本發(fā)明實(shí)施例還提供一種機(jī)器可讀介質(zhì),其上存儲(chǔ)可執(zhí)行指令,當(dāng)該可執(zhí)行指令被執(zhí)行時(shí),使得機(jī)器實(shí)現(xiàn)處理器620的操作。
本發(fā)明實(shí)施例還提供另一種機(jī)器可讀介質(zhì),其上存儲(chǔ)可執(zhí)行指令,當(dāng)該可執(zhí)行指令被執(zhí)行時(shí),使得機(jī)器實(shí)現(xiàn)處理器720的操作。
上文通過附圖和優(yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)展示和說明,然而本發(fā)明不限于這些已揭示的實(shí)施例,本領(lǐng)域技術(shù)人員從中推導(dǎo)出來的其它方案也在本發(fā)明的保護(hù)范圍之內(nèi)。