摘 要:為了解決主體之間的信任關(guān)系一般很難用精確方式來描述這一問題,以模糊邏輯為基礎(chǔ)對(duì)傳統(tǒng)基于數(shù)字證書的主體認(rèn)證模型進(jìn)行了擴(kuò)展,并對(duì)認(rèn)證路徑的構(gòu)造和信任值計(jì)算規(guī)則進(jìn)行了研究,該算法可以信任值為基礎(chǔ)給出了信任級(jí)別的計(jì)算方法,為網(wǎng)絡(luò)認(rèn)證的研究提供了一條新思路。
關(guān)鍵詞:模糊邏輯; 數(shù)字證書; 認(rèn)證路徑
中圖分類號(hào):TP309 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2010)03-1026-03
doi:10.3969/j.issn.1001-3695.2010.03.060
Authentication extension model in networks based on fuzzy logic
LI Wei, FAN Ming-yu
( School of Computer Science Engineering, University of Electronic Science Technology of China, Chengdu 610054, China )
Abstract:At present the authentication process in PKI is based on digital certification, but in reality most of the users of digital certification is principal such as persons, and their trust model is difficult to depict with precise authentication. This paper proffered an extension scheme to traditional digital certification authenticate model based on fuzzy logic, and the construction of trust path and method for computation of confidence value,so proposed a new method for networks authentication.
Key words:fuzzy logic; digital certification; trust path
公鑰基礎(chǔ)設(shè)施(PKI)是目前在開放式網(wǎng)絡(luò)環(huán)境中保障網(wǎng)絡(luò)和信息系統(tǒng)安全運(yùn)行的最有效的技術(shù),利用公鑰證書建立起來的信任關(guān)系可以方便地保障個(gè)人及組織在網(wǎng)絡(luò)中秘密通信。另外PKI也是實(shí)施電子商務(wù)和電子政務(wù)的基礎(chǔ)平臺(tái),也是諸多基于網(wǎng)絡(luò)應(yīng)用的新產(chǎn)品、新業(yè)務(wù)安全開展的基本保障。
PKI的核心問題是解決網(wǎng)絡(luò)中實(shí)體的信任問題,人們已經(jīng)提出了很多基于PKI的信任模型。目前在實(shí)踐中信任問題主要是通過X.509數(shù)字證書來解決,即信息的接收者通過共同信任的CA公鑰來驗(yàn)證發(fā)送者的數(shù)字證書來決定是否信任消息發(fā)送者,數(shù)字證書通過CA的私鑰進(jìn)行簽名,在公鑰算法和通信協(xié)議安全的前提下任何人都不可能偽造數(shù)字證書。
在現(xiàn)實(shí)生活中實(shí)際存在兩種信任關(guān)系,一種是客體之間的信任,即排除了人的主觀因素的對(duì)象或?qū)嶓w(如設(shè)備等)。客體之間的信任是基于證據(jù)的,可以精確描述和驗(yàn)證,其基本研究方法是推理和證明,如對(duì)于安全協(xié)議的研究。另一種信任關(guān)系是主體之間的信任關(guān)系,這里的主體是指人或代表人的客體。這種信任關(guān)系具有主觀性、模糊性和不確定性,很難用精確的形式來描述[1]。在現(xiàn)實(shí)中,證書的使用者很多情況下是人,因此有必要利用模糊認(rèn)證的方式對(duì)證書認(rèn)證進(jìn)行擴(kuò)展,使其更符合現(xiàn)實(shí)情況。
關(guān)于主觀模糊信任研究目前已經(jīng)取得了一些成果[2~5],文獻(xiàn)[2~4]對(duì)主觀信任進(jìn)行了有益的探索,但是將信任的主觀性和不確定性等同于隨機(jī)性,使用概率模型對(duì)主觀信任進(jìn)行建模,因此這些信任模型存在諸多不足,無法處理信任本身的模糊性。文獻(xiàn)[5]對(duì)這一問題進(jìn)行了進(jìn)一步的研究,提出了開放式網(wǎng)絡(luò)環(huán)境的自主信任模型,但模型中需要引入一定數(shù)量的信任頭(header),即各主體完全信任的節(jié)點(diǎn),而這在實(shí)際網(wǎng)絡(luò)系統(tǒng)中很難做到。針對(duì)上述問題,本文在這些研究成果的基礎(chǔ)上,對(duì)具體的PKI網(wǎng)絡(luò)體系中的主觀信任問題進(jìn)行了研究,并給出了正確的找到任意主體之間信任值和認(rèn)證路徑的計(jì)算規(guī)則。在此基礎(chǔ)上計(jì)算出信任級(jí)別,對(duì)傳統(tǒng)的基于證書的主體認(rèn)證進(jìn)行擴(kuò)展。
1 PKI認(rèn)證模型[6]
在基于X.509公鑰證書的PKI系統(tǒng)中,認(rèn)證的過程實(shí)際上就是對(duì)證書的驗(yàn)證過程。假設(shè)網(wǎng)絡(luò)中的通信實(shí)體A要向B發(fā)送消息m,他們共同信任認(rèn)證中心CA,則其通信過程如下:A → B {M , SigA (M) , PUBA , Cer(A) }。其中SigA (M)是A利用自己的私鑰對(duì)消息M的簽名,PUBA是A的公鑰,Cer(A)是CA用自己的私鑰為A簽發(fā)的證書。當(dāng)B接收到上述消息之后,它首先使用CA公鑰來驗(yàn)證Cer(A)的合法性,然后再通過PUBA來驗(yàn)證簽名SigA (M)來決定消息的真實(shí)性。
上述的精確模型很難解決實(shí)體之間信任關(guān)系的隨意性和模糊性,為此本文提出了基于模糊邏輯的認(rèn)證關(guān)系。
2 信任的度量
首先給出模糊集合及其隸屬度的定義。
定義1[1] 設(shè)論域?yàn)榉强占溪玐,x為X中的元素,對(duì)于任意的x∈X有如下映射: X → [ 0 , 1 ] , x → μA(x) ∈ [ 0 , 1 ],則稱由序?qū)= { (x , μA(x) ) }組成的集合為X上的模糊集合,稱μA(x)為x對(duì)A的隸屬函數(shù),對(duì)于某個(gè)具體的x而言,稱μA(x)為x對(duì)A的隸屬度。
信任關(guān)系通常由語言變量來描述,語言變量是以自然語言或人工語言中的字或句為取值域的變量,其取值不是數(shù)值,語言變量可以表示那些本身具有模糊性,十分復(fù)雜或定義很不完善,無法用通常精確方式來描述的概念。
根據(jù)模糊集合理論,可以用元組(L , S(L), UL , GL , ML)來表示語言變量[1]。其中L是變量名稱,UL是語言變量的論域,S(L)是變量的值的集合,GL是語法規(guī)則,用于產(chǎn)生變量值的名稱,ML是語義規(guī)則,用于產(chǎn)生隸屬度函數(shù)。
例如,定義模糊語言變量信任一詞,用符號(hào)T來表示,信任的程度用不同的信任等級(jí)來描述,分別為不信任、有點(diǎn)信任、信任、非常信任、完全信任五個(gè)等級(jí),分別用數(shù)字1~5來表示,那么這里論域UT={1,2,3,4,5},語言值集合S (T)= {不信任、有點(diǎn)信任、信任、非常信任、完全信任},語法規(guī)則GT是將表示程度的修飾詞語模糊語言變量信任連接起來的規(guī)則,語義規(guī)則MT表示各語言值代表的模糊集合的隸屬度函數(shù)。
3 模糊認(rèn)證路徑和信任級(jí)別的確定
在這種認(rèn)證關(guān)系中,兩個(gè)實(shí)體之間首先計(jì)算信任值,可以用一個(gè)0~1的數(shù)值來表示。其中0表示完全不信任,1表示完全信任,而(0 ,1)之間的數(shù)值表示介于完全不信任和完全信任之間,數(shù)值越大表示信任的程度越高。
根據(jù)隸屬度函數(shù)的規(guī)則,信任值將進(jìn)一步轉(zhuǎn)換成對(duì)各個(gè)信任級(jí)別的信任向量V={v1, v2, v3, v4, v5 }。其中vi (i=1, 2, 3, 4, 5)表示根據(jù)隸屬度函數(shù)計(jì)算出的信任值對(duì)應(yīng)的各個(gè)信任級(jí)別的隸屬度,對(duì)于極端情況,當(dāng)信任值等于0時(shí),則V= {1, 0, 0, 0, 0 },當(dāng)信任值等于1時(shí)V= {0, 0, 0, 0, 1 },對(duì)于介于0~1的信任值則V根據(jù)具體的隸屬度函數(shù)來計(jì)算。
網(wǎng)絡(luò)中間實(shí)體之間信任的傳遞是基于信任值的,當(dāng)信任值到達(dá)終端實(shí)體時(shí)再根據(jù)信任值確定信任向量,最終計(jì)算出信任等級(jí)。因此,本文將首先討論信任值的傳遞。
在網(wǎng)絡(luò)通信中信息的重要程度也有差別,對(duì)于重要信息一般要求發(fā)送者的信任值要大,這也是跟日常生活相符的。
有了上述的信任關(guān)系之后,要解決的問題是網(wǎng)絡(luò)中任意兩個(gè)實(shí)體信任值的計(jì)算問題,為此需要根據(jù)不同的網(wǎng)絡(luò)結(jié)構(gòu)來研究相關(guān)的算法。
3.1 單一路徑信任值的計(jì)算
這是最簡單的一種情況,在這里任意兩個(gè)實(shí)體之間只有一條可達(dá)路徑,實(shí)際上就是樹狀結(jié)構(gòu)的PKI體系。假設(shè)任意兩個(gè)實(shí)體A和B,它們都跟CA直接相連。其中A與CA通過路徑R1相連,B與CA通過路徑R2相連,用μR(B, A )來表示B對(duì)A的信任程度,下標(biāo)R代表B到A的路徑,在這里路徑是惟一的。設(shè)CA對(duì)A的信任程度為μR1(CA, A),B對(duì)CA的信任程度為μR2(B,CA),則B對(duì)A的信任程度可以通過如下公式進(jìn)行計(jì)算:
μR(B,A)=μR2(B,CA) ∧μR1(CA, A)(1)
其中:∧為模糊數(shù)學(xué)中的合取運(yùn)算,表示兩者中取較小的數(shù)值。
如果A和B通過多層CA連接則計(jì)算方法與上述相似,即將連接B與A的各段路徑的信任值進(jìn)行合取運(yùn)算。各個(gè)CA之間的信任值可以從他們相互簽發(fā)的前向證書和后向證書所組成的證書鏈中獲取,這可以通過在證書的擴(kuò)展選項(xiàng)中添加信任值一項(xiàng)來實(shí)現(xiàn)。一般來說信任關(guān)系并不滿足自反性,即μR(B, A )=μR(A,B )不一定成立。
3.2 網(wǎng)狀結(jié)構(gòu)信任值的計(jì)算
在網(wǎng)狀結(jié)構(gòu)中,任意兩個(gè)實(shí)體之間的連接路徑不惟一,這給信任值的計(jì)算帶來了一定的困難,假設(shè)實(shí)體A與B之間的連接路徑有p條,分別用L1 , L2 , …, Lp來表示。一般來說A與B之間的信任值計(jì)算有兩種方式,一種是基于最大信任的計(jì)算,計(jì)算公式如下:
μR(B,A)=∨pi=1μLi(B , A)(2)
另外一種是基于最小信任的計(jì)算,計(jì)算公式如下:
μR(B,A)=∧pi=1μLi(B , A)(3)
其中:μLi(B , A)是路徑Li的信任值,在本文中采用式(2)進(jìn)行計(jì)算。
理論上來說,可通過找出A與B間的所有路徑,然后按照式(2)計(jì)算出兩者之間的信任值,這在小規(guī)模的網(wǎng)絡(luò)中是可行的,但是在中等或大規(guī)模的網(wǎng)絡(luò)中計(jì)算量非常大,所以在現(xiàn)實(shí)中必須找到可行的信任值計(jì)算方法??梢酝ㄟ^計(jì)算模糊圖生成樹的思想來解決這一問題。為此,首先給出如下定理:
定理1 設(shè)G=(V , R)是PKI體系結(jié)構(gòu)所組成的網(wǎng)絡(luò)。其中V代表實(shí)體節(jié)點(diǎn),R代表節(jié)點(diǎn)之間的連接,對(duì)于以某一實(shí)體為根節(jié)點(diǎn)的所有生成樹Tc,如果存在生成樹T 使得∑e∈E(Tc)μR(e)≤∑e∈E(T)μR(e),那么樹T就是這一實(shí)體的信任樹。其中e表示樹中這一實(shí)體與其他實(shí)體相連接的路徑或中間路徑。這一實(shí)體對(duì)其他外部任何網(wǎng)絡(luò)實(shí)體的信任值可以通過信任樹中兩者之間的惟一路徑計(jì)算。
證明 設(shè)對(duì)于任意e′∈E(T),從T中移除e′后得到T1和T2,則μR(e′)=max (μR(e) )。其中e∈E*(e′),E*(e′)是T1和T2間的所有連接路徑,否則設(shè)存在另一路徑e*使得μR(e*)=max (μR(e) ),用e*替換e′后可得到另一樹T*但是∑e∈E(T)μR(e)≤∑e∈E(T*)μR(e),這與T的定義矛盾。假設(shè)R是T中連接A與B的惟一路徑,μR(A,B)=μR(e),則從T中移除e后得到T1和T2 ,假設(shè)A∈V(T1),B∈V(T2),則有以上知μR(e)是T1和T2 間所有連接路徑中信任值的最大值。證畢。
由于模糊信任關(guān)系一般不滿足自反性,不同實(shí)體的信任樹有可能不同。在實(shí)際應(yīng)用中信任樹是由網(wǎng)絡(luò)中的實(shí)體來自己計(jì)算的,信任樹與模糊圖論中的最大樹相對(duì)應(yīng)。在模糊圖論中有相應(yīng)的算法[7]。網(wǎng)絡(luò)中的節(jié)點(diǎn)只需要計(jì)算它對(duì)相鄰節(jié)點(diǎn)的信任值即可。
3.3 不同認(rèn)證域的信任值計(jì)算
實(shí)際應(yīng)用中經(jīng)常遇到不同認(rèn)證域中實(shí)體的通信問題,這時(shí)可以通過域間信任傳遞的方式來解決。假設(shè)有兩個(gè)認(rèn)證域,它們的信任錨分別是CA1和CA2,CA1和CA2的網(wǎng)絡(luò)結(jié)構(gòu)可以是任何形式的,假設(shè)A和B分別是屬于CA1和CA2網(wǎng)絡(luò)的實(shí)體,那么A對(duì)B的信任值可以如下計(jì)算:a)根據(jù)A到CA1的證書鏈計(jì)算出A對(duì)CA1的信任值;b)根據(jù)CA1和CA2的交叉證書計(jì)算出CA1對(duì)CA2的信任值;c)根據(jù)CA2的認(rèn)證樹得到CA2對(duì)B的信任值。
根據(jù)以上步驟得到的數(shù)據(jù)可以計(jì)算出A對(duì)B的信任值。
3.4 信任級(jí)別的計(jì)算
首先定義五個(gè)級(jí)別對(duì)應(yīng)的信任向量:
T1=MT (不信任)= (1,0,0,0,0)
T2=MT (有點(diǎn)信任)= (0,1,0,0,0)
T3=MT (信任)= (0,0,1,0,0)
T4=MT (非常信任)= (0,0,0,1,0)
T5=MT (完全信任)= (0,0,0,0,1)
計(jì)算出信任值后,將根據(jù)具體的隸屬度函數(shù)計(jì)算出信任值對(duì)應(yīng)的信任向量V={v1, v2, v3, v4, v5 }。其中vi (i=1, 2, 3, 4, 5),然后信任級(jí)別的確定可通過如下方式之一來計(jì)算:
a)基于格貼近度的計(jì)算方式。當(dāng)?shù)玫叫湃蜗蛄开玍之后,計(jì)算它與各個(gè)級(jí)別的貼近度σ(V, Ti)= ( V Ti)∧( 1 - V☉Ti),這里和☉分別表示內(nèi)積和外積,然后取最大值即可得出相應(yīng)的信任級(jí)別。
b)基于去模糊化處理。當(dāng)?shù)玫叫湃蜗蛄开玍={v1, v2, v3, v4, v5 }。其中vi (i=1, 2, 3, 4, 5)之后,根據(jù)去模糊化函數(shù)DF(V)=∑5i=1vimi。其中vi是V中的第i個(gè)元素,mi表示第i個(gè)位置,這樣便得出一個(gè)介于1~5的數(shù)值,然后根據(jù)最鄰近原則確定信任級(jí)別。
4 模糊認(rèn)證過程
有了認(rèn)證路徑的計(jì)算方法后,就可以此為基礎(chǔ)對(duì)基本PKI認(rèn)證過程進(jìn)行擴(kuò)展。假設(shè)網(wǎng)絡(luò)中的通信實(shí)體A要向B發(fā)送消息m,那么他們的通信過程如下:A → B {M , SigA (M) , PUBA , Cer( A ) }。其中SigA (M)是A利用自己的私鑰對(duì)消息M的簽名,PUBA是A的公鑰,Cer( A )是為A的證書。當(dāng)B接收到上述消息之后,首先使用CA公鑰來驗(yàn)證Cer( A )的合法性,再通過PUBA來驗(yàn)證簽名SigA (M)來決定消息的真實(shí)性,然后B根據(jù)自己的信任樹來計(jì)算對(duì)A的信任值μR(B, A ),根據(jù)信任值來決定消息的信任級(jí)別。一般來說對(duì)于重要消息要求的信任值要相對(duì)較大,從而信任級(jí)別要相對(duì)較高。
5 結(jié)束語
本文中根據(jù)模糊邏輯對(duì)基于證書的PKI認(rèn)證方式進(jìn)行了擴(kuò)展,以模糊圖論為基礎(chǔ)對(duì)認(rèn)證路徑的構(gòu)造以及信任值的傳遞計(jì)算規(guī)則進(jìn)行了研究,并根據(jù)計(jì)算出來的信任值給出了一種直觀的信任推理機(jī)制來確定信任級(jí)別,為網(wǎng)絡(luò)認(rèn)證的研究提供了一條新的思路。
參考文獻(xiàn):
[1]唐文,胡建斌,陳鐘. 基于模糊邏輯的主觀信任管理模型研究[J].計(jì)算機(jī)研究與發(fā)展,2005,42(10):1654-1659.
[2]JASANG A. A logic for uncertain probabilities [J].International Journal of Uncertainty Fuzziness, Fuzziness and Knowledge-based Systems, 2001,9(3):279-311.
[3]BLAZE M, FEIGENBAUM J,KEROMYTIS A D. Trust management for public-key infrastructure [C]//Proc of Cambridge Security Protocol International Workshop. Berlin: Springer-Verlag,1998: 59-63.
[4]BETH T, BORCHERDING M, KLEIN B. Valuation of trust in open networks [C]// Proc of the 3rd European Symposium on Research in Computer Security.London:Springer-Verlag,1994: 3-18.
[5]張仕斌,何大可,遠(yuǎn)藤譽(yù).模糊自主信任建立策略的研究[J].電子與信息學(xué)報(bào),2006,28(8):1492-1496.
[6]謝冬青,冷鍵.PKI原理與技術(shù)[M].北京:清華大學(xué)出版社,2004:79-80.
[7]彭祖贈(zèng),孫韞玉.模糊數(shù)學(xué)及其應(yīng)用[M]. 武漢:武漢大學(xué)出版社,2004:182-188.