999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PUF的Kerberos認證協議

2022-11-25 07:26:02馮志華張宇軒盧文濤
計算機工程與設計 2022年11期
關鍵詞:利用

馮志華,張宇軒,盧文濤,羅 重

(中國航天科工集團第二研究院 七〇六所,北京 100854)

0 引 言

Kerberos協議是一種能夠在不安全網絡中實現安全認證的協議,可以對通信實體進行身份認證[1],作為一種可信任的第三方認證協議,它通過對稱加密的方式執行認證服務。目前,Kerberos協議被廣泛應用于各主流操作系統以及云存儲、無線網絡等場景[2],但它仍存在一定的缺陷,比如易受口令攻擊、重放攻擊以及存在密鑰管理困難等問題[3]。

國內外學者針對Kerberos協議出現的安全漏洞,提出了很多改進方案。針對重放攻擊,文獻[3]提出使用隨機數來代替協議中使用的時間戳,在達到相同效果的同時,可以解決時鐘不同步導致的重放攻擊問題。針對口令猜測攻擊,文獻[4-6]提出將公鑰體制引入Kerberos協議中,利用公鑰證書來進行雙向的身份認證,文獻[7]提出利用公鑰密碼體制實現的一次性口令(one-time password,OTP)認證機制來進行改進。以上方案對Kerberos協議易遭受口令猜測攻擊的缺陷進行了改進,但是這些方案將公鑰密碼體制引入到協議中,導致整體系統需要承擔過多的計算資源和通信代價。文獻[8]提出在客戶端上使用物理不可克隆函數(physical unclonable function,PUF)來代替協議中客戶端使用的口令,從而可以抵抗口令猜測攻擊,并且可以減少整體系統的密鑰管理復雜度,但是沒有解決協議易受到重放攻擊的問題和缺陷。

針對Kerberos協議當前存在的問題,本文提出一種基于物理不可克隆函數(PUF)的Kerberos改進協議,可以減輕密鑰管理的復雜度,抵抗口令猜測攻擊和重放攻擊問題。

1 背景介紹

1.1 物理不可克隆函數

物理不可克隆函數(physical unclonable function,PUF)的概念最早在2002年提出,它是一種硬件安全技術,是在電子器件生產過程中所自然產生的不能被復現的物理變化,類似于人類的指紋,PUF可以利用內在的物理構造來對電子器件進行唯一標識。PUF的特點是“唯一性”和“不可預測性”,在電子器件的制造中,由于隨機因素影響,在相同條件下制作出來的電子器件也不會在物理結構特性上完全一致[8]。

PUF具有運算快、抗克隆和不可預測的特點,在認證領域具有很高的研究價值[9]。基于PUF設計的身份認證協議通常需要對應設備利用PUF生成多個激勵響應對,然后把上述驗證數據和該設備的身份識別標識保存在認證服務器的安全數據庫中[8],在進行認證時,設備首先將身份標識發送給認證服務器,之后認證服務器從數據庫獲取對應身份標識的激勵并發送給設備,設備利用PUF輸入激勵獲取響應,并發送給認證服務器,認證服務器進行比對,若與數據庫中的響應一致則認證成功。

1.2 Kerberos協議

Kerberos協議模型中設計了客戶端C、應用服務器S、認證服務器AS、票據發放服務器TGS這4個實體。Kerberos認證協議描述如圖1所示,步驟(1)到步驟(6)皆為網絡通信,并且消息皆為密文。整體認證流程由3個階段構成:

第一階段:包括步驟(1)和步驟(2),客戶端C與認證服務器AS進行認證,認證成功后,認證服務器AS生成訪問票據授權服務器TGS的授權票據TGT,并發放給客戶端C;

圖1 Kerberos協議流程

第二階段:包括步驟(3)和步驟(4),客戶端C利用第一階段得到的票據TGT與票據授權服務器TGS進行認證,認證成功后,票據授權服務器TGS生成訪問應用服務器S的票據ST,并發放給客戶端C;

第三階段:包括步驟(5)和步驟(6),客戶端C利用第二階段得到的票據ST與應用服務器S進行認證,認證成功后,客戶端C可以獲得整體應用系統的訪問權限。

2 基于PUF的Kerberos認證協議

2.1 改進思路分析

Kerberos協議的具體缺陷分析如下:

(1)在客戶端發出認證申請后,認證服務器基于用戶口令生成會話密鑰,對發送給客戶端的信息進行加密,攻擊方很容易就通過截獲大量的請求信息得到大量的密文材料,進而利用口令猜測攻擊破解密碼的方法口令[11];

(2)Kerberos協議為了抵抗其它攻擊者的重放攻擊,選擇在協議中使用時間戳保證消息的唯一性,但是使用時間戳的前提是需要保證參與認證的各方的機器時間保持一致,當攻擊者將參與認證的某一方的機器時間進行更改后,就能實現消息的重放,從而使得非法用戶可以違規訪問服務系統,導致系統遭到重放攻擊[12];

(3)Kerberos協議中,所有參與方必須存儲大量的共享密鑰,密鑰使用與分配繁瑣,需要非常詳細的安全管理技術方法,需要花費很大的系統代價[8]。

基于以上對Kerberos協議的缺陷分析,改進方案的設計思路如下:

(1)針對口令猜測攻擊,利用Hash加鹽的方式進行防御,利用口令中添加隨機數的形式來抵抗口令猜測攻擊,具體步驟如2.3所述;

(2)針對重放攻擊,利用隨機數來代替協議中使用的時間戳,從而可以做到抵抗重放攻擊的作用,具體改進后的步驟如2.3所述;

(3)針對密鑰管理和維護困難的問題,選擇將PUF放置在應用服務器端,從而做到應用服務器不用保存服務器端的私有密鑰,做到減輕密鑰的維護困難等問題,具體改進如2.3所述。

2.2 符號描述

為了方便描述,本文為描述協議所使用的符號及描述見表1。

2.3 Kerberos改進協議描述

Kerberos 模型包括的實體如下:

(1)客戶端C:發出認證和服務請求的實體;

(2)應用服務器S:向用戶提供特定應用服務功能的服務器;

(3)密鑰分發中心KDC:包括認證服務器AS和票據授權服務器TGS,實現密鑰的生成、存儲和發放。認證服務器AS與客戶端C進行認證,產生并發放給客戶端訪問票據授權服務器TGS的授權票據TGT;票據授權服務器TGS與客戶端傳送過來的認證授權票據TGT進行認證,驗證成功后生成并發送給客戶端訪問應用服務器S的服務票據ST。

表1 符號及其含義

本文提出的改進工作主要集中在標準Kerberos協議的初始化階段和認證階段,使用隨機數和基于物理不可克隆函數生成的激勵響應對來對標準協議進行改進。

首先是初始化階段,應用服務器S利用PUF產生多個激勵認證信息對 {IDS,rS,hash(pufS⊕rS)}。 其中pufS值是PUF產生的激勵響應,只有PUF才能計算出來,rS為隨機產生的隨機數。之后將PUF產生的認證信息對安全存儲在認證服務器AS和票據授權服務器TGS共同信任的數據庫中。

其次是注冊階段,此階段與Kerberos原有協議一致,密鑰分發中心KDC在數據庫中保存進行注冊的客戶端C的用戶名IDC及用戶口令KeyC。

之后是認證階段,認證階段與Kerberos原有協議的步驟個數一致,包括6個步驟,具體流程如下:

(1)C→AS

EncKeyC,AS{IDC‖IPC‖IDTGS}, Enchsah(KeyC){r1}
(KeyC,AS=hash(KeyC⊕r1))

(1)

客戶端C生成隨機數r1,并且與用戶的口令KeyC進行異或運算后,并對結果進行哈希摘要運算得到與認證服務器AS之間進行通信的會話密鑰KeyC,AS, 如式(1)所示,利用會話密鑰KeyC,AS加密用戶的用戶名IDC、IP地址IPC以及票據授權服務器TGS的標識IDTGS,并對口令KeyC進行哈希運算后作為加密密鑰加密隨機數r1,將以上密文一同發送給AS。

(2)AS→C

EncKeyC,AS{IDC‖IPC‖KeyC,TGS},TGT
(TGT=EncKeyTGS{IDC‖IPC‖ETT‖KeyC,TGS})

(2)

認證服務器AS接收到客戶端C傳送的認證信息后,查詢客戶端C對應的口令KeyC,解密認證信息得到隨機數r1,判斷隨機數是否與之前接受過的信息有重復,若重復則舍棄,若不重復則根據步驟(1)的操作得到會話密鑰KeyC,AS, 解密接收到的認證信息,并對比IDC、IPC等信息是否正確。假如正確,則AS認證服務器需要返回給客戶端C如式(2)所示的信息,第一個數據包中包括客戶端的用戶名IDC、IP地址IPC以及客戶端C與TGS進行通信的會話密鑰KeyC,TGS, 并使用上述生成的會話密鑰KeyC,AS進行加密;而數據包TGT則是包括客戶端的用戶名IDC、IP地址IPC、票據有效期ETT以及下一步中客戶端與票據分發服務器TGS的會話密鑰KeyC,TGS, 并且使用的密鑰KeyTGS進行加密。

(3)C→TGS

TGT,IDS,Authenticator1
(Authenticator1=EncKeyC,TGS{IDC‖IPC‖r2})

(3)

客戶端接收到AS發送的認證信息后,首先解密得到密鑰KeyC,TGS, 并用此密鑰加密自己的用戶名IDC、IP地址IPC以及隨機生成的隨機數r2,該密文被稱為Authenticator1。如式(3)所示,客戶端C將得到的票據TGT、需要訪問的應用服務器標識IDS,以及密文Authenticator1一起發送給票據授權服務器TGS。

(4)TGS→C

EncKeyC,TGS{KeyC,S‖IDS‖IPS‖rS‖r3},ST
(ST=EncKeypuf{IDC‖IPC‖ETST‖KeyC,S},
Keypuf=hash(hash(pufS⊕rS)))

(4)

當票據授權服務器TGS接收到客戶端C傳遞過來的認證數據后,解析數據包,查看身份標識IDS是否存在于數據庫中,若存在,則使用TGS的密鑰KeyTGS解密票據TGT,得到TGS與客戶端C的臨時會話密鑰KeyC,TGS, 并檢查ETT是否在有效期內,然后使用密鑰KeyC,TGS解密Authenticator1,判斷隨機數r2是否重復以防止重放攻擊,并校對TGT和Authenticator1中的客戶端名稱IDC是否符合。符合要求后,TGS會生成一個用于客戶端C與應用服務器進行通信的會話密鑰KeyC,S, 并且TGS會從數據庫中尋找IDS對應的激勵響應對 {IDS,rS,hash(pufS⊕rS)}, 利用這些值得到加密密鑰Keypuf,按照式(4)對客戶端IDC、IP地址IPC、票據存活時間ETST加密后得到訪問應用服務器S的服務票據ST并發送給客戶端C。

(5)C→S

ST,Authenticator2,rS
(Authenticator2=EncKeyC,S{IDC‖r4})

(5)

當客戶端C收到TGS傳遞的信息后,利用密鑰KeyC,TGS解密得到服務器名IDS、服務器地址IPS、與服務器通信的臨時密鑰KeyC,S、 隨機數rS以及隨機數r3,判斷符合要求之后生成隨機數r4,用臨時密鑰KeyC,S加密IDC以及隨機數r4得到密文Authenticator2,然后將上述得到的密文Authenticator2、訪問應用服務器S的服務票據ST以及隨機數rS發送給服務器S,進行認證。

(6)S→C

EncKeyC,S{r4}

(6)

應用服務器端S收到客戶端發送的認證信息后,利用服務器自帶的PUF計算得到密鑰Keypuf,解密ST得到用戶名、票據有效期以及后續的臨時會話密鑰KeyC,S, 首先查看票據是否在有效期內,然后解密得到隨機數r4、用戶名IDC,判斷隨機數是否重復,并與ST解密得到的數據進行比較,判斷用戶名是否一致,若以上均符合,則說明認證客戶端成功,應用服務器使用密鑰KeyC,S加密隨機數r4并發送給客戶端C,表明服務器對客戶端認證成功。

3 協議安全性分析及形式化驗證

3.1 抵抗惡意攻擊的安全分析

3.1.1 抵抗口令猜測攻擊

在Kerberos協議中,客戶端C和認證服務器AS之間的通信報文都是采用對稱算法加密后的密文,其中加密數據所使用的密鑰則是對用戶的口令采用摘要函數計算得到的。但是假如用戶使用的口令強度不高,則對于整體系統網絡進行監聽的攻擊者可以通過采集大量的數據包來對口令進行猜測攻擊,從而威脅到整體系統的安全性。

本改進協議中使用隨機數參與到生成客戶端密鑰的過程中,利用哈希加鹽的方式來抵抗口令猜測攻擊,每一次客戶端C與認證服務器AS之間進行通信時,客戶端都生成一個隨機數,利用哈希加鹽的方式得到客戶端密鑰。并且利用用戶口令的哈希值作為密鑰加密此隨機數,并發送給認證服務器AS,AS解密得到對應隨機數,之后可以自己生成與客戶端進行交互的會話密鑰,做到與客戶端之間的加密通信。此方式可以做到用戶口令強度不夠的情況下有效阻止攻擊者通過收集大量票據對密鑰進行猜測攻擊。

3.1.2 抵抗重放攻擊

為了防止重放攻擊,Kerberos協議中引入了時間戳機制,在每個票據中都包含有時間戳,可以在各個參與認證的通信方時鐘同步的基礎上做到對重放攻擊的抵抗。但在實際環境中,不同的參與通信方之間可能會存在不可預見的網絡延遲,導致各方的時鐘做不到精準地同步,從而存在重放攻擊的隱患[6]。在客戶端C向應用服務器S發送請求服務時,攻擊方可以竊聽并復制該消息,重放給應用服務器S,在時間差允許的范圍內,應用服務器S不會丟棄此信息數據包,而是再次處理該消息。

本改進協議中使用隨機數來代替時間戳,在客戶端C與服務器S進行通信時,不使用時間戳作為防重放攻擊的手段,而是采用隨機數來代替時間戳,利用隨機數每一次的不同做到接收到重復的認證信息時,判斷隨機數是否相同,從而防止外部攻擊者進行重放攻擊,并且消除了使用時間戳帶來的各種缺點和隱患。

3.2 基于Scyther工具進行形式化驗證

Scyther由牛津大學的Cremers教授及其團隊所開發[13],它是一款對安全協議進行形式化分析的軟件。Scyther工具具有可視化應用界面以及協議分析結果,可以簡單直觀地展示出安全協議的漏洞和缺陷。此外,Scyther工具使用的協議形式化語言 SPDL簡潔易懂,可以對整體協議的具體細節和攻擊場景進行較為精確地定義[14]。以上特點及優點使得Scyther工具被廣泛用于對協議的形式化分析與研究。

實驗中所使用的Scyther形式化分析工具版本為Scyther v1.1.3,選擇的系統環境為AMD R7 5800 H的處理器、Windows 11操作系統、16 G內存的筆記本電腦,安裝python 2.7以及Scyther v1.1.3后即可對協議進行形式化分析。

本文在使用Scyther工具對Kerberos改進協議的建模中,定義了4個角色,分別為:C、AS、T與S,表示參與協議的通信方:客戶端、認證服務器、票據授權服務器以及應用服務器。并且在形式化驗證中,對每個通信方發送和接收的每條消息都做了相應的秘密聲明,其中客戶端C通信的形式化協議描述如圖2所示。

圖2 客戶端C的形式化語義描述

第1行為對客戶端C的角色定義,角色定義完成后,首先需要聲明和定義本角色中傳遞的消息所使用到的數據變量或者常量(圖中略去),之后需要對協議流程進行描述,第2行到第7行表示本角色在協議中參與的行為事件,第2行和第3行為客戶端C向認證服務器AS發送和接收認證信息,第4行和第5行為客戶端C向票據授權服務器TGS發送和接受認證信息,第6行和第7行為客戶端C向應用服務器S發送和接收認證信息。

認證服務器AS、票據授權服務器TGS以及應用服務器S的形式化語義描述與客戶端C類似,因此不贅述過程,它們的形式化語義描述如圖3所示。

圖3 其它角色的形式化語義描述

在對改進協議的形式化語義描述定義完成后,使用Scyther工具進行運行驗證。驗證結果見表2,認證聲明:Alive、Weakagree、Niagree和Nisynch分別用于檢測重放攻擊、反射攻擊、中間人攻擊以及前后向安全性等惡意攻擊[15]。結果表明Scyther工具在以上惡意攻擊的檢測中無法有效攻破基于PUF的Kerberos改進協議,本改進協議可以抵抗重放攻擊、反射攻擊和中間人攻擊等威脅。

表2 形式化驗證結果

4 結束語

本文在分析Kerberos認證協議安全缺陷的基礎上,提出一種基于物理不可克隆函數(PUF)的Kerberos改進協議。利用PUF產生的激勵響應對代替Kerberos標準協議中的密鑰,同時利用隨機數與用戶口令結合運算生成會話密鑰,并且采用隨機數來代替時間戳。使用Scyther形式化分析工具分析表明,該擴展協議可以做到抵抗口令猜測攻擊以及重放攻擊,并且可以降低系統中的密鑰存儲開銷和密鑰泄露風險。在日益嚴峻的信息安全大環境下,該認證協議可以提高系統的安全性,抵御惡意攻擊。

猜你喜歡
利用
利用min{a,b}的積分表示解決一類絕對值不等式
中等數學(2022年2期)2022-06-05 07:10:50
利用倒推破難點
如何利用基本不等式比較大小
利用一半進行移多補少
利用口訣算除法
利用數的分解來思考
Roommate is necessary when far away from home
利用
回收木再利用——Piet Hein Eek
工業設計(2016年5期)2016-05-04 04:00:33
低丘緩坡未利用地的開發利用探討
河北遙感(2015年4期)2015-07-18 11:05:06
主站蜘蛛池模板: 啦啦啦网站在线观看a毛片| 国产精品对白刺激| 亚洲第七页| 欧美激情网址| a毛片在线| 国产在线无码av完整版在线观看| 无码国产偷倩在线播放老年人| 中文字幕欧美成人免费| 免费中文字幕一级毛片| 欧美成人精品在线| 蜜桃臀无码内射一区二区三区| 精品99在线观看| 久久一日本道色综合久久| 国产高清在线精品一区二区三区 | 热久久国产| 永久毛片在线播| 亚洲香蕉在线| 熟妇人妻无乱码中文字幕真矢织江| 国产无遮挡猛进猛出免费软件| 浮力影院国产第一页| 国产成人91精品免费网址在线| 国产精品不卡永久免费| 亚洲一区二区三区在线视频| 亚洲人成网址| jizz国产在线| 无码国产伊人| 午夜日韩久久影院| 日本亚洲国产一区二区三区| 久久人体视频| 在线色综合| 国产精品亚洲一区二区三区z| 国产综合色在线视频播放线视| 亚洲天堂区| 日韩精品免费一线在线观看| 人人91人人澡人人妻人人爽| 97免费在线观看视频| 亚洲人在线| 国产99久久亚洲综合精品西瓜tv| 天堂成人在线| 久久人人爽人人爽人人片aV东京热| 色悠久久久久久久综合网伊人| 精品欧美日韩国产日漫一区不卡| 免费在线a视频| 亚洲AV无码一二区三区在线播放| 国产亚洲精品资源在线26u| www.精品国产| 亚洲一区二区成人| 久久这里只有精品国产99| 久久精品亚洲中文字幕乱码| 欧美无专区| 亚洲一区二区无码视频| 国产91久久久久久| 亚洲另类第一页| 国产精品福利一区二区久久| 亚洲男人的天堂在线| 国产又黄又硬又粗| 一本久道久综合久久鬼色| 无码在线激情片| 中文成人无码国产亚洲| 国内精品久久人妻无码大片高| 无码日韩人妻精品久久蜜桃| 国产欧美日韩资源在线观看| 91精品国产91久无码网站| 免费播放毛片| 亚洲国产精品成人久久综合影院| 国产成人一区在线播放| 欧美亚洲国产一区| 爽爽影院十八禁在线观看| 久久午夜夜伦鲁鲁片不卡| 日韩精品一区二区深田咏美| 69精品在线观看| 91福利免费视频| 国产成人AV男人的天堂| 国产麻豆va精品视频| 噜噜噜久久| 亚洲熟女中文字幕男人总站| 国产精品一区在线麻豆| 秋霞国产在线| 不卡午夜视频| 国产成人凹凸视频在线| 国产人人干| 在线观看国产精品日本不卡网|