摘 要: 針對多移動代理技術(shù)中主從代理協(xié)作這一新型概念,提出了一種基于ElGamal密碼體制的多重數(shù)字簽名方案。并通過具體的商務(wù)案例分析其安全性和有效性,得出若干重要結(jié)論。
關(guān)鍵詞: ElGamal密碼體制 主從代理協(xié)作 多重數(shù)字簽名 移動代理
移動代理技術(shù)在分布式網(wǎng)絡(luò)計算中有著廣泛的應(yīng)用和發(fā)展?jié)摿ΑH欢?,該技術(shù)的優(yōu)勢在當前的Internet中并未得到充分體現(xiàn),安全性問題仍是移動代理技術(shù)推向商用的瓶頸。對此,許多研究者提出了各種各樣的安全策略,其中討論得最多,也最難解決的仍是惡意主機或惡意的執(zhí)行平臺對代理的攻擊。在諸多安全保護方案中,利用多移動代理協(xié)作進行多重數(shù)字簽名將是本文探討的核心內(nèi)容。
當前研究者關(guān)于此課題也有一些研究成果。多重數(shù)字簽名的概念,在Shamir及Blakley提出的門限方案(Threshold Scheme)[1][2]中已經(jīng)有所體現(xiàn)。近來的研究者將其巧妙地應(yīng)用于移動代理領(lǐng)域,尤其是電子商務(wù)領(lǐng)域[3]。還有一些研究者提出了不基于門限方案的其他多移動代理的簽名機制,例如基于RSA的多移動代理的商務(wù)聯(lián)合簽名機制[4]。
1 背景知識
1.1 多移動代理中主代理的強弱定義
源主機在多移動代理協(xié)作中扮演著重要的角色。作為移動代理的初始創(chuàng)建者,它根據(jù)任務(wù)的要求把多移動代理之間的體系結(jié)構(gòu)定義為2種模式:對等模式與主從模式。一般而言,多移動代理協(xié)作簽名均需要有一個主代理(Master Agent)和若干從代理(Slave Agent)協(xié)調(diào)工作。下面將闡述主代理的強弱定義。
強定義:源主機創(chuàng)建主代理,而主代理駐留于可信任的主機節(jié)點或服務(wù)器,根據(jù)任務(wù)的性質(zhì)和網(wǎng)域的環(huán)境,創(chuàng)建從代理并把任務(wù)和數(shù)據(jù)委派給從代理。從代理(并行或串行)移動到指定目的地,利用委派的數(shù)據(jù)完成任務(wù)后將結(jié)果返回給主代理。
弱定義:源主機創(chuàng)建主代理和若干從代理,并把任務(wù)委派給主從代理,在遠程網(wǎng)域內(nèi),由主代理指揮協(xié)同各從代理共同執(zhí)行源主機的任務(wù)。
本文介紹的基于ElGamal密碼體制和主從多移動代理協(xié)作的多重數(shù)字簽名采用的就是“弱主代理”的形式。
1.2 密鑰體制與密鑰分割
密鑰體制中最廣為人知的是DES對稱密鑰體制和RSA公鑰密碼體制。而本文的密鑰體制基于ElGamal密碼系統(tǒng)[5][6]。采用這種形式,能使簽名方案更簡單,密鑰計算易于實現(xiàn)。它有2個極為重要的優(yōu)點:簡單性和普遍性。因為僅使用了加法和乘法,因而用普通的標準公鑰密碼技術(shù)即可實現(xiàn)(例如RSA),不需要額外設(shè)計新的算法。
2 基于ElGamal密碼體制的主從代理協(xié)作多重數(shù)字簽名機制
以下是算法的基本步驟。
2.1 基于ElGamal密碼體制的主從代理串行簽名
ElGamal密碼體制采用一對私鑰而并非RSA體制的單一私鑰形式。第1個私鑰是長期(恒定)私鑰,而第2個私鑰是短期(周期)私鑰。對于n個移動代理,可用乘法和加法將私鑰對分割,具體如下。
2.2 基于ElGamal密碼體制的主從代理并行簽名
基于ElGamal密碼體制的并行簽名,對于n個移動代理,私鑰對的分割如下。
3 基于主從代理協(xié)作的多重數(shù)字簽名商務(wù)案例分析
假定源主機創(chuàng)建了3個移動代理:主代理、從代理1和從代理2。源主機為其委派任務(wù),要求3個代理分別到3臺遠程主機Host1、Host2和Host3尋求某種型號手機的報價,找出報價最優(yōu)的那臺主機并與之簽訂購買協(xié)議。顯然,要產(chǎn)生源主機合法的數(shù)字簽名,源主機必須對其私鑰(對)進行分割,并分派給3個移動代理。對于如何尋求報價本文不進行闡述。假定Host1對該型號手機的報價是最優(yōu)的,則協(xié)議的簽訂將在Host1進行。本文將以主從代理串行簽名為例對此進行分析。
3.1 主從代理串行簽名的商務(wù)案例分析
主從代理協(xié)作串行簽名的流程如圖1所示,具體的執(zhí)行步驟如下。
(1)主代理向Host1索要某種型號手機的報價信息、購買協(xié)議和數(shù)字簽名。
(2)Host1提供給主代理報價信息、購買協(xié)議和它的數(shù)字簽名。
(3)主代理將Host1的報價信息、購買協(xié)議、數(shù)字簽名分別傳送給從代理1和從代理2。
(4)從代理1和從代理2將分別驗證簽名的有效性。
(5)驗證無誤后,從代理1用其子密鑰對對購買協(xié)議進行簽名,得到X1。
(6)從代理1將簽名X1傳送給從代理2。
(7)同理,從代理2再對X1進行簽名得到X2。
(8)從代理2將簽名X2傳送給主代理。
(9)主代理利用它的密鑰信息和調(diào)整算法最終產(chǎn)生完整的簽名X。
(10)主代理將簽名X提交給主機Host1。
(11)Host1用源主機的公開密鑰驗證簽名的合法性。驗證通過,則協(xié)議生效。
3.2 安全性和有效性分析
(1)ElGamal簽名的安全性是基于求離散對數(shù)的難題。要想從源主機的公開密鑰推導(dǎo)出私有密鑰對是極其困難的。
(2)主代理向Host1索要的報價信息、購買協(xié)議和數(shù)字簽名可作為日后Host1抵賴交易發(fā)生的憑證。
(3)讓從代理來驗證Host1的數(shù)字簽名增加了安全性,因為主代理受控于Host1,很有可能受到Host1的“欺騙”。
(4)惡意主機可能會竊取移動代理所攜有的密鑰信息,然而,由某個代理的子密鑰信息推導(dǎo)出主密鑰是極為困難的,除非竊取了所有的子密鑰信息。
(5)代理之間的及時通信也確保了簽名過程的安全性。
(6)任何人只需擁有源主機的公開密鑰便能驗證簽名的合法性。
(7)從最終的簽名或某一代理的簽名,無法推導(dǎo)出源主機的主密鑰對或代理的子密鑰對,這同樣面臨求解離散對數(shù)的困難。
(8)只有所有真實子密鑰對到齊時才能得出正確的簽名,任何偽造或篡改密鑰對的作弊行為均無法得到有效的合法簽名。
4 結(jié) 論
由以上的安全性和有效性分析可以說明,主從代理協(xié)作的多重簽名的確為移動代理的安全問題提供了一種較好的安全策略和保護方案。尤其對于并行復(fù)雜的任務(wù),多個移動代理的協(xié)作不但能保證安全性,而且還能提高運作效率。然而,本文提供的方案仍然存在一些缺陷,如串行簽名無法檢測簽名作弊者(是從代理1或Host2作弊還是從代理2或Host3作弊),而且惡意主機的合謀攻擊將有可能泄露源主機的所有子密鑰對,并因此而泄露主密鑰。因此,下一步工作的重點將對這些潛在的安全隱患做進一步深入研究和探討。
參考文獻
1 Blakley G.Safeguarding Cryptographic Keys.In:Proc NCC, AFIPS Press,Montvale,1979
2 Harn L,Lin H Y,Yang S.Threshold Cryptosystem with Multiple Secret Sharing Policies.IEE Proceedings Computers and Digital Techniques,1994;(2)
3 ElGamal T.A Public Key Cryptosystem and A Signature Scheme Based on Discrete Logarithms.IEEE Transactions on Information Theory,1985;31(4)
4 Chang Y S,Wu T C,Huang S C.ElGamal-like Digital Signature and Multi-signature Schemes Using Self-certified Public Keys.The Journal of System and Software,2000;50(2)
5 王汝傳,趙新寧.基于網(wǎng)絡(luò)的移動代理系統(tǒng)安全模型研究和分析.計算機學(xué)報,2002;26(4)