專利名稱:一種安全的片上智能體方案的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是一種用于在開放的網(wǎng)絡(luò)環(huán)境中,采用集成芯片作為硬件基礎(chǔ)為智能體技術(shù)提供安全、可靠的執(zhí)行環(huán)境,從而能在網(wǎng)絡(luò)中有效的實(shí)現(xiàn)基于智能體的應(yīng)用系統(tǒng)的技術(shù)方案。本技術(shù)屬于嵌入式軟件、人工智能和信息安全的交叉技術(shù)應(yīng)用領(lǐng)域。
背景技術(shù):
現(xiàn)代網(wǎng)絡(luò)技術(shù)向分布式、動(dòng)態(tài)化、智能化方向發(fā)展,智能體技術(shù)就是在這一需求下應(yīng)運(yùn)而生的一種新的分布式計(jì)算模式。智能體技術(shù)的誕生和發(fā)展是分布式人工智能技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展的必然結(jié)果,它本質(zhì)上是一種智能軟件實(shí)體,和傳統(tǒng)的計(jì)算模式相比,它具有自治性、社會(huì)性、反應(yīng)性、推理性和移動(dòng)性等優(yōu)良特征。
在網(wǎng)絡(luò)應(yīng)用系統(tǒng)中采用智能體技術(shù),可以有效的減少網(wǎng)絡(luò)流量,增加客戶機(jī)和服務(wù)器的異步性,便于負(fù)載均衡和容錯(cuò),支持移動(dòng)客戶和服務(wù)動(dòng)態(tài)定制等,這使得智能體技術(shù)在電子商務(wù)、工作流、網(wǎng)絡(luò)管理、遠(yuǎn)程教育、動(dòng)態(tài)路由、信息檢索以及普適計(jì)算等領(lǐng)域得到很好的應(yīng)用,目前智能體技術(shù)的研究已成為基于網(wǎng)絡(luò)的分布式人工智能研究的一個(gè)熱點(diǎn)。
在智能體技術(shù)美好應(yīng)用前景的激勵(lì)下,國外一些公司、大學(xué)和研究機(jī)構(gòu)紛紛推出了自己的智能體系統(tǒng),但真正要推向商業(yè)應(yīng)用還尚需時(shí)日,其中最主要的制約因素之一便是智能體技術(shù)的安全性問題。智能體的安全問題主要有以下幾個(gè)方面?zhèn)鬏斶^程中的智能體受攻擊;智能體執(zhí)行環(huán)境及主機(jī)對智能體的攻擊;智能體對執(zhí)行環(huán)境及主機(jī)的攻擊。對于傳輸中的智能體保護(hù),可以用網(wǎng)絡(luò)中的現(xiàn)有信息安全保障技術(shù)(如加密套接字協(xié)議層技術(shù)等)加以解決,目前已經(jīng)有了較為成熟的解決方案。對于智能體執(zhí)行環(huán)境及主機(jī)的保護(hù),目前已經(jīng)進(jìn)行了許多研究,并提出了一些有效可行的方法來實(shí)現(xiàn)對智能體的授權(quán)、身份認(rèn)證、訪問控制等,如使用沙箱技術(shù)、簽名和認(rèn)證、安全代碼檢查等技術(shù)。
而對于智能體的保護(hù)卻是一個(gè)很棘手的問題,因?yàn)樵诔R?guī)的智能體系統(tǒng)中,當(dāng)智能體移動(dòng)到目的智能體執(zhí)行環(huán)境時(shí),智能體的發(fā)起者就完全失去了對智能體的控制。智能體的每一行代碼都要被當(dāng)?shù)貓?zhí)行環(huán)境解釋、執(zhí)行,也就是說,智能體是完全暴露在目的智能體系統(tǒng)中的,智能體執(zhí)行者可以很容易的孤立和捕捉智能體,對智能體進(jìn)行各種攻擊。這就需要我們研究并實(shí)現(xiàn)新的技術(shù)、方法來保證智能體不受到惡意主機(jī)的攻擊。
惡意主機(jī)攻擊分析智能體必須在目標(biāo)主機(jī)上運(yùn)行,因此其代碼和數(shù)據(jù)對于目標(biāo)主機(jī)來說都是可見的。如果目標(biāo)主機(jī)是惡意的,或者已經(jīng)被攻擊者侵占或偽裝,它可能對智能體程序進(jìn)行如下幾種攻擊1.惡意主機(jī)可以僅僅破壞或終止智能體程序,從而阻止該智能體執(zhí)行任務(wù);2.惡意主機(jī)可以偷竊該智能體所攜帶的有用信息,如智能體程序在漫游過程中所搜集的中間信息等;3.惡意主機(jī)可以修改智能體所攜帶的數(shù)據(jù),如當(dāng)一個(gè)智能體負(fù)責(zé)為用戶收集某種商品的最佳報(bào)價(jià)時(shí),該主機(jī)通過篡改智能體程序所收集的先前的服務(wù)器的報(bào)價(jià),以欺騙用戶誤以為其提供的報(bào)價(jià)為最佳價(jià)格;4.更為復(fù)雜且危害更大的攻擊是,攻擊者通過改寫部分智能體程序的代碼,使其在返回用戶主機(jī)或漫游到其他服務(wù)器后執(zhí)行一些惡意攻擊操作。在通常情況下,用戶將其所發(fā)出的智能體看作是可信的,其接入本地資源的權(quán)限也更大,因而這類攻擊智能體的危害也更大。
一般來說,對智能體進(jìn)行完備的保護(hù)(不論程序碼或數(shù)據(jù))是較為困難的,因?yàn)槟繕?biāo)主機(jī)必須訪問智能體程序碼及其狀態(tài)才能運(yùn)行該智能體。而且,由于存儲(chǔ)計(jì)算結(jié)果或響應(yīng)結(jié)果,智能體的部分?jǐn)?shù)據(jù)和狀態(tài)通常是變化的。通常的方案都是由派出智能體的宿主機(jī)提供某種機(jī)制以發(fā)現(xiàn)該類修改,從而確定所發(fā)出的智能體是否受到攻擊,并給出相應(yīng)策略。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是提供一種安全的片上智能體方案(Agent-on-Chip,以后簡稱AoC)。AoC采用集成芯片(Chip)作為其底層硬件執(zhí)行環(huán)境,該芯片安裝在各需要運(yùn)行智能體的網(wǎng)絡(luò)節(jié)點(diǎn)上,為在開放的、不安全的網(wǎng)絡(luò)環(huán)境中運(yùn)行的智能體提供安全的、易于部署片上執(zhí)行環(huán)境。AoC技術(shù)具有獨(dú)立于平臺、多功能、易于功能升級、靈活性和兼容性好的優(yōu)良性能。
技術(shù)方案AoC技術(shù)及其安全解決方案,使用可信任的、防攻擊的硬件對智能體進(jìn)行保護(hù),其核心思想是給主機(jī)額外配備一個(gè)可信賴硬件,該硬件內(nèi)部封裝有智能體執(zhí)行環(huán)境,可接納移動(dòng)智能體執(zhí)行任務(wù)。該硬件能為智能體提供一個(gè)安全的運(yùn)行環(huán)境,因?yàn)橹鳈C(jī)只能通過硬件自身提供的的接口與之交互,無法干預(yù)其內(nèi)部任務(wù)的執(zhí)行。主機(jī)甚至可以不提供智能體執(zhí)行環(huán)境,但是它與該特殊硬件之間的通信接口必須標(biāo)準(zhǔn)化,至少應(yīng)能達(dá)成一致。采用此類硬件設(shè)備,智能體的安全可以得到保證,因?yàn)樗鼉H在可信賴環(huán)境間遷移且僅通過消息與不可信賴環(huán)境(如主機(jī)及其提供的服務(wù))交互。
硬件類型的選擇非常重要,可考慮的硬件平臺包括集成芯片、PC(個(gè)人計(jì)算機(jī))卡及智能卡等。我們的觀點(diǎn)是硬件規(guī)模越大就越難供給。在本發(fā)明中,我們采用集成芯片作為我們的智能體安全運(yùn)行環(huán)境的硬件平臺,即在一個(gè)芯片(Chip)上實(shí)現(xiàn)全部的智能體系統(tǒng),這個(gè)技術(shù)就是“片上智能體”技術(shù)。
AoC體系中的底層硬件是包含了具備完整系統(tǒng)構(gòu)架與功能的硅芯片,其架構(gòu)包含可執(zhí)行控制/運(yùn)算等功能的處理器、存儲(chǔ)器、接口和周邊電路等。硬件之上是嵌入式操作系統(tǒng),可采用嵌入式Linux(一種可免費(fèi)使用的操作系統(tǒng),屬于自由軟件)系統(tǒng)等,是負(fù)責(zé)低層的處理工作,如同PC上的操作系統(tǒng)。編程接口類為開發(fā)人員提供實(shí)現(xiàn)各種需求的智能體軟件系統(tǒng)所需的類庫。在AoC體系的最上層就是智能體服務(wù)系統(tǒng)和運(yùn)行于其中的智能體程序。為了保證智能體程序之間不能互相攻擊,采用防火墻阻隔各個(gè)智能體程序。
主機(jī)通過標(biāo)準(zhǔn)接口與AoC的芯片硬件相連,主機(jī)將其它主機(jī)發(fā)來的智能體程序送入AoC系統(tǒng)中運(yùn)行。
本發(fā)明中的智能體保護(hù)方案中,AoC的制造商AoCM(AoC Manufacturer)是一個(gè)設(shè)備制造商,它生產(chǎn)AoC設(shè)備。智能體接收者(Agent Receiver,以后簡稱AR),即智能體所要訪問的主機(jī)。智能體的擁有者AS(Agent Sender)同時(shí)也是智能體的發(fā)起者。Proxy(代理)提供一種目錄服務(wù)。AR可在一個(gè)或多個(gè)Proxy處登記下列參考信息所在主機(jī)的機(jī)器名及物理網(wǎng)絡(luò)地址、提供何種安全策略以及AoCM證書,這些信息用于為AS定位AR。AoCM證書里包含下列信息AoC的制造商、AoC的類型、AoC提供的安全策略以及AoC的公鑰。AS持有AoCM公鑰的一個(gè)真實(shí)拷貝,用于驗(yàn)證其簽發(fā)的AoCM證書。
AoC設(shè)有一個(gè)加密協(xié)處理器,由它產(chǎn)生密鑰對可以保證私鑰不為外界所知,即使AoC設(shè)備的所有者也不知道。主機(jī)只能通過一個(gè)明確的接口訪問它。
假設(shè)AoCM有好的信譽(yù),AS非常信任它。這樣,AR所在的主機(jī)只要擁有AoCM生產(chǎn)的AoC設(shè)備,就能吸引AS派智能體前來。如果該主機(jī)用于進(jìn)行電子商務(wù)類的業(yè)務(wù),那么,前來的智能體越多,它可能獲取的利潤也就越大。從自身利益出發(fā),AR需要采取適當(dāng)措施以吸引智能體。于是,AR的所有者就去購買AS信任的某個(gè)AoCM生產(chǎn)的AoC設(shè)備,購買設(shè)備的同時(shí)獲得AoCM提供的簽名證書。之后,出于對AoCM的信任,AS會(huì)派智能體前往AR所在主機(jī)執(zhí)行任務(wù)。至此我們可以看出,此方案中存在信任關(guān)系的替換AS信任AoCM,所以,只要AR所在主機(jī)擁有AoCM生產(chǎn)的AoC設(shè)備,就能吸引智能體前來,即用AS對AoCM的信任取代了AS對AR的信任。
安全的片上智能體方案采用集成芯片作為智能體的底層硬件執(zhí)行環(huán)境,該芯片安裝在各需要運(yùn)行智能體的網(wǎng)絡(luò)節(jié)點(diǎn)上,為在開放的、不安全的網(wǎng)絡(luò)環(huán)境中運(yùn)行的智能體提供安全的、易于部署片上執(zhí)行環(huán)境,安全的片上智能體技術(shù)方案分為三個(gè)部分,即AoC系統(tǒng)構(gòu)建方案、AoC系統(tǒng)應(yīng)用方案和AoC系統(tǒng)運(yùn)行方案,具體如下AoC系統(tǒng)構(gòu)建方案1)首先設(shè)計(jì)AoC系統(tǒng)的整體軟、硬件體系架構(gòu),基于分層的思想,將系統(tǒng)按照與硬件環(huán)境聯(lián)系的緊密程度分為5個(gè)層次,從下至上依次為硅芯片硬件包含處理器、存儲(chǔ)器、接口;嵌入式操作系統(tǒng);編程接口類;智能體服務(wù)系統(tǒng);智能體應(yīng)用程序;2)AoC體系中的底層硬件選擇具備完整系統(tǒng)構(gòu)架與功能的硅芯片,其架構(gòu)包含可執(zhí)行控制/運(yùn)算等功能的處理器、存儲(chǔ)器、接口和周邊電路,實(shí)際是在一顆基于深次微米半導(dǎo)體加工技術(shù)的硅芯片上實(shí)現(xiàn)了完整的、獨(dú)立的計(jì)算和存儲(chǔ)平臺;3)硬件平臺之上是嵌入式操作系統(tǒng),該系統(tǒng)運(yùn)行在一顆芯片上,采用TinyOperation System(微操作系統(tǒng))技術(shù),本方案中采用嵌入式Linux系統(tǒng),是負(fù)責(zé)與低層硬件交互的處理工作,并為上層應(yīng)用提供服務(wù),如硬件管理、系統(tǒng)調(diào)用,如同PC的操作系統(tǒng);4)編程接口類為開發(fā)人員提供實(shí)現(xiàn)各種需求的智能體軟件系統(tǒng)所需的類庫,類庫中的類根據(jù)具體的應(yīng)用可以進(jìn)行增刪和修改,在系統(tǒng)完成之后,隨著需求的更改和增加可對類庫作進(jìn)一步升級等變動(dòng),這些工作僅能由AoC供應(yīng)者完成;5)在AoC體系的最上層就是智能體服務(wù)系統(tǒng)和運(yùn)行于其中的智能體程序,智能體程序由智能體接收方或運(yùn)行者通過底層標(biāo)準(zhǔn)接口裝載至智能體服務(wù)系統(tǒng)規(guī)定的區(qū)域中,由智能體服務(wù)系統(tǒng)對其進(jìn)行解密、加密、驗(yàn)證簽名和執(zhí)行,智能體程序及其服務(wù)系統(tǒng)都采用嵌入式JAVA技術(shù)開發(fā),具體開發(fā)工具選用J2ME(Java 2 Micro Edition,Java 2微型版)。為了保證智能體程序之間不能互相干擾、攻擊,采用防火墻技術(shù)阻隔各個(gè)智能體程序。
AoC系統(tǒng)應(yīng)用方案1)首先由AoC的制造商AoCM(AoC Manufacturer)是一個(gè)設(shè)備制造商向智能體的使用者發(fā)售AoC設(shè)備?;谥悄荏w所有者都信任AoC設(shè)備制造商AoCM的前提,相信他們會(huì)正確的設(shè)計(jì)生產(chǎn)此類設(shè)備。因此本方法的方法是用一種信任關(guān)系取代另一種——智能體所有者對具有良好信譽(yù)的AoCM的信任取代了其對AoC設(shè)備所有者即目的主機(jī)的信任;2)AoCM向AoC設(shè)備的購買/使用者提供AoCM簽名證書,AoCM證書里包含下列信息AoC的制造商、AoC的類型、AoC提供的安全策略以及AoC的公鑰,AS持有AoCM公鑰的一個(gè)真實(shí)拷貝,用于驗(yàn)證其簽發(fā)的AoCM證書;3)智能體接收者(Agent Receiver,以后簡稱AR),即智能體所要訪問的主機(jī),智能體的擁有者AS(Agent Sender)同時(shí)也是智能體的發(fā)起者,Proxy(代理)處提供一種目錄服務(wù),AR可在一個(gè)或多個(gè)Proxy處登記下列參考信息所在主機(jī)的機(jī)器名及物理網(wǎng)絡(luò)地址、提供何種安全策略以及AoCM證書,這些信息用于為AS定位AR;4)AoC設(shè)有一個(gè)加密協(xié)處理器,由它產(chǎn)生密鑰對可以保證私鑰不為外界所知,即使AoC設(shè)備的所有者也不知道。主機(jī)只能通過一個(gè)明確的接口訪問它。
5)AR的所有者購買AS信任的某個(gè)AoCM生產(chǎn)的AoC設(shè)備,購買設(shè)備的同時(shí)獲得AoCM提供的簽名證書,基于對AoCM的信任,AS就可以會(huì)派智能體前往AR所在主機(jī)執(zhí)行任務(wù);AoC系統(tǒng)運(yùn)行方案1)AS向Proxy提交某個(gè)AR的名字,獲得與之有關(guān)的信息,比如AoCM證書,2)AS用自己持有的AoCM公鑰的拷貝驗(yàn)證AoCM證書的有效性,驗(yàn)證成功,則進(jìn)行下一步;否則放棄此AR,3)AS核實(shí)該AR提供的安全策略是否足以保護(hù)自身利益,若策略不夠充分,就放棄該AR;反之,用目的AoC的公鑰(在AoCM證書中)加密智能體中的代碼段并將智能體派往目的主機(jī),為了防止智能體被主機(jī)破壞,采用消息摘要的方法,如MD5;4)AR接受到達(dá)的智能體,由于不知道AoC的私鑰,因此無法破譯加密的代碼,除了將它上載至AoC之外什么也做不了,5)AoC系統(tǒng)首先檢驗(yàn)智能體的完整性,如果受到破壞,則丟棄不執(zhí)行,否則解密此智能體并運(yùn)行,運(yùn)行完成后,AoC通過上面的方法獲取智能體要訪問的下一站AR的AoCM證書,并利用AoCM中提供的公鑰加密智能體的代碼、數(shù)據(jù)及運(yùn)行結(jié)果,6)AoC將加密后的智能體傳給AR,AR不知道下一站AoC的私鑰,因此無法解密智能體,7)智能體遷移至其他AR或返回至AS。
我們的方案假定智能體所有者AS信任AoC設(shè)備制造商AoCM,相信他們會(huì)正確的設(shè)計(jì)生產(chǎn)此類設(shè)備,沒辦法制約制造商的行為,因此我們的方法是用一種信任關(guān)系取代另一種——AS對AoCM的信任取代了其對AoC設(shè)備所有者即目的主機(jī)的信任。我們認(rèn)為這種取代有它的意義所在首先,作為專業(yè)的安全設(shè)備制造商,AoCM對安全性和私密問題有較完備的解決方法。針對可能有的數(shù)以百萬計(jì)的AoC設(shè)備所有者來說,專業(yè)評估機(jī)構(gòu)控制數(shù)目相對較少(數(shù)百)的制造商要容易得多。其次,由于這類設(shè)備較難生產(chǎn),制造商只可能是一些比較大的公司,他們會(huì)想盡辦法使自己獲得好的聲譽(yù)。比如說,制造商可能會(huì)邀請有關(guān)專家監(jiān)控公司的運(yùn)營,這與ISO9000質(zhì)量認(rèn)證體系很相似。最后,由于制造商與AoC設(shè)備所有者是相互獨(dú)立的,所以他不可能從有不軌行為的AoC設(shè)備所有者那里直接獲益。制造商具有下列特征專業(yè)、易于控制、聲譽(yù)好且無不良動(dòng)機(jī),我們認(rèn)為,這些足以使AS信賴并購買其生產(chǎn)的AoC設(shè)備。
有益效果使用AoC技術(shù)有如下優(yōu)點(diǎn)1.獨(dú)立于平臺AoC技術(shù)使得智能體的運(yùn)行環(huán)境被限制在一個(gè)芯片里面,這就使得配備AoC系統(tǒng)的網(wǎng)絡(luò)節(jié)點(diǎn)的硬件平臺和操作系統(tǒng)平臺與智能體的運(yùn)行環(huán)境無關(guān)。同時(shí),采用同一AoC芯片技術(shù)開發(fā)標(biāo)準(zhǔn)的AoC系統(tǒng)可以在不同開發(fā)商開發(fā)的芯片中運(yùn)行,這就使得智能體的運(yùn)行不受底層芯片種類的限制。
2.多功能單個(gè)AoC芯片里可運(yùn)行多個(gè)智能體程序,每個(gè)智能體程序可以實(shí)現(xiàn)不同的功能,完成不同的任務(wù)。為了保證智能體之間不會(huì)相互干擾,造成安全隱患,采用防火墻使得多個(gè)智能體之間相互隔離。
3.易于系統(tǒng)升級AoC芯片發(fā)行后仍可安裝新應(yīng)用程序,只需要將相應(yīng)的新的智能體程序通過輸入接口裝載到芯片中。這項(xiàng)功能使得AoC芯片發(fā)布商能夠動(dòng)態(tài)響應(yīng)顧客不斷變化的需求,同時(shí)實(shí)現(xiàn)系統(tǒng)升級。
4.靈活性智能體及AoC系統(tǒng)采用嵌入式的的面向?qū)ο蠓椒ê烷_發(fā)工具(如嵌入式JAVA)進(jìn)行開發(fā)。這種面向?qū)ο蠹夹g(shù)提供了片上編程中的靈活性。
5.兼容性AoC技術(shù)與正式的SoC國際標(biāo)準(zhǔn)(如IEEE P1500)以及業(yè)界標(biāo)準(zhǔn)兼容。這種兼容性的保證就使得AoC系統(tǒng)可以在SoC的基礎(chǔ)平臺上予以實(shí)現(xiàn),增強(qiáng)了不同廠商開發(fā)出來的智能體和AoC系統(tǒng)的互操作性,從而使得AoC系統(tǒng)更易于在網(wǎng)絡(luò)各節(jié)點(diǎn)上廣泛的部署。
圖1是AoC技術(shù)的體系架構(gòu)圖。
圖中最下面的一層為AoC體系中的底層硬件,是包含了具備完整系統(tǒng)構(gòu)架與功能的硅芯片,其架構(gòu)包含可執(zhí)行控制/運(yùn)算等功能的處理器、存儲(chǔ)器、接口和周邊電路等。
硬件之上是嵌入式操作系統(tǒng),可采用嵌入式Linux系統(tǒng)等,是負(fù)責(zé)低層的處理工作,如同個(gè)人計(jì)算機(jī)的操作系統(tǒng)。
編程接口類為開發(fā)人員提供實(shí)現(xiàn)各種需求的智能體軟件系統(tǒng)所需的類庫。
圖中的最上層就是智能體服務(wù)系統(tǒng)和運(yùn)行于其中的智能體程序。為了保證智能體程序之間不能互相攻擊,采用防火墻阻隔各個(gè)智能體程序。
主機(jī)通過標(biāo)準(zhǔn)接口與AoC的Chip硬件相連,主機(jī)將其它主機(jī)發(fā)來的智能體程序送入AoC系統(tǒng)中運(yùn)行。
圖2是基于AoC技術(shù)的智能體保護(hù)方案模型。
圖中AoC指的是片上智能體系統(tǒng)(Agent-on-Clip)。
AoCM為其中AoC制造商(AoC Manufacturer)。
AR是指智能體接收者(Agent Receiver)智能體接收者,即智能體所要訪問的主機(jī)B(Host B)。
AS是指智能體的擁有者(Agent Sender),即智能體的發(fā)起者主機(jī)A(Host A)。
Proxy(代理)提供一種目錄服務(wù),AR可在一個(gè)或多個(gè)Proxy處登記下列參考信息所在主機(jī)的機(jī)器名及物理網(wǎng)絡(luò)地址、提供何種安全策略以及AoCM證書,這些信息用于為AS定位AR。
AoCM證書里包含下列信息AoC的制造商、AoC的類型、AoC提供的安全策略以及AoC的公鑰。
圖3是示例系統(tǒng)的網(wǎng)絡(luò)架構(gòu)模型。
示例系統(tǒng)的網(wǎng)絡(luò)由四臺主機(jī)組成,其中一臺為智能體發(fā)起端,即客戶端,提供用戶界面,接受用戶交易請求,并根據(jù)用戶交易請求,定制和派遣智能體。
另三臺為電子圖書服務(wù)器,每臺服務(wù)器運(yùn)行兩個(gè)智能體執(zhí)行環(huán)境,一個(gè)為主機(jī)智能體執(zhí)行環(huán)境,一個(gè)為AoC執(zhí)行環(huán)境,其中主機(jī)智能體執(zhí)行環(huán)境僅為智能體的首要“落腳點(diǎn)”。
圖4安全的片上智能體技術(shù)方案框圖。
具體實(shí)施例方式
安全的片上智能體技術(shù)方案分為三個(gè)部分AoC系統(tǒng)構(gòu)建方案、AoC系統(tǒng)應(yīng)用方案和AoC系統(tǒng)運(yùn)行方案,具體實(shí)施方式
如下一、構(gòu)建AoC系統(tǒng)1)首先設(shè)計(jì)AoC系統(tǒng)的整體軟、硬件體系架構(gòu),基于分層的思想,將系統(tǒng)按照與硬件環(huán)境聯(lián)系的緊密程度分為5個(gè)層次,從下至上依次為硅芯片硬件(包含處理器、存儲(chǔ)器、接口等)、嵌入式操作系統(tǒng)、編程接口類、智能體服務(wù)系統(tǒng)、智能體應(yīng)用程序。
2)AoC體系中的底層硬件選擇具備完整系統(tǒng)構(gòu)架與功能的硅芯片,其架構(gòu)包含可執(zhí)行控制/運(yùn)算等功能的處理器、存儲(chǔ)器、接口和周邊電路等,實(shí)際是在一顆基于深次微米半導(dǎo)體加工技術(shù)的硅芯片上實(shí)現(xiàn)了完整的、獨(dú)立的計(jì)算和存儲(chǔ)平臺。
3)硬件平臺之上是嵌入式操作系統(tǒng),由于該系統(tǒng)運(yùn)行在一顆芯片上,所以必須采用Tiny Operation System(微操作系統(tǒng))技術(shù),本方案中采用嵌入式Linux系統(tǒng)等,是負(fù)責(zé)與低層硬件交互的處理工作,并為上層應(yīng)用提供服務(wù),如硬件管理、系統(tǒng)調(diào)用等,如同PC的操作系統(tǒng)。
4)編程接口類為開發(fā)人員提供實(shí)現(xiàn)各種需求的智能體軟件系統(tǒng)所需的類庫。類庫中的類根據(jù)具體的應(yīng)用可以進(jìn)行增刪和修改。在系統(tǒng)完成之后,隨著需求的更改和增加可對類庫作進(jìn)一步升級等變動(dòng),這些工作僅能由AoC供應(yīng)者完成。
5)在AoC體系的最上層就是智能體服務(wù)系統(tǒng)和運(yùn)行于其中的智能體程序。智能體程序由智能體接收方或運(yùn)行者通過底層標(biāo)準(zhǔn)接口裝載至智能體服務(wù)系統(tǒng)規(guī)定的區(qū)域中,由智能體服務(wù)系統(tǒng)對其進(jìn)行解密、加密、驗(yàn)證簽名和執(zhí)行。智能體程序及其服務(wù)系統(tǒng)都采用嵌入式JAVA技術(shù)開發(fā),具體開發(fā)工具選用J2ME(Java 2 Micro Edition,Java 2微型版)。為了保證智能體程序之間不能互相干擾、攻擊,采用防火墻技術(shù)阻隔各個(gè)智能體程序。
二、應(yīng)用AoC系統(tǒng)1)首先由AoC的制造商AoCM(AoC Manufacturer)是一個(gè)設(shè)備制造商向智能體的使用者發(fā)售AoC設(shè)備?;谥悄荏w所有者都信任AoC設(shè)備制造商AoCM的前提,相信他們會(huì)正確的設(shè)計(jì)生產(chǎn)此類設(shè)備。因此本方法的方法是用一種信任關(guān)系取代另一種——智能體所有者對具有良好信譽(yù)的AoCM的信任取代了其對AoC設(shè)備所有者即目的主機(jī)的信任。
2)AoCM向AoC設(shè)備的購買/使用者提供AoCM簽名證書。AoCM證書里包含下列信息AoC的制造商、AoC的類型、AoC提供的安全策略以及AoC的公鑰。AS持有AoCM公鑰的一個(gè)真實(shí)拷貝,用于驗(yàn)證其簽發(fā)的AoCM證書。
3)智能體接收者(Agent Receiver,以后簡稱AR),即智能體所要訪問的主機(jī)。智能體的擁有者AS(Agent Sender)同時(shí)也是智能體的發(fā)起者。Proxy(代理)處提供一種目錄服務(wù)。AR可在一個(gè)或多個(gè)Proxy處登記下列參考信息所在主機(jī)的機(jī)器名及物理網(wǎng)絡(luò)地址、提供何種安全策略以及AoCM證書,這些信息用于為AS定位AR。
4)AoC設(shè)有一個(gè)加密協(xié)處理器,由它產(chǎn)生密鑰對可以保證私鑰不為外界所知,即使AoC設(shè)備的所有者也不知道。主機(jī)只能通過一個(gè)明確的接口訪問它。
5)AR的所有者購買AS信任的某個(gè)AoCM生產(chǎn)的AoC設(shè)備,購買設(shè)備的同時(shí)獲得AoCM提供的簽名證書?;趯oCM的信任,AS就可以會(huì)派智能體前往AR所在主機(jī)執(zhí)行任務(wù)。
三、運(yùn)行AoC系統(tǒng)1)AS向Proxy提交某個(gè)AR的名字,獲得與之有關(guān)的信息,比如AoCM證書。
2)AS用自己持有的AoCM公鑰的拷貝驗(yàn)證AoCM證書的有效性。驗(yàn)證成功,則進(jìn)行下一步;否則放棄此AR。
3)AS核實(shí)該AR提供的安全策略是否足以保護(hù)自身利益。若策略不夠充分,就放棄該AR;反之,用目的AoC的公鑰(在AoCM證書中)加密智能體中的代碼段并將智能體派往目的主機(jī)。為了防止智能體被主機(jī)破壞,可以采用消息摘要的方法,如MD5。
4)AR接受到達(dá)的智能體,由于不知道AoC的私鑰,因此無法破譯加密的代碼,除了將它上載至AoC之外什么也做不了。
5)AoC系統(tǒng)首先檢驗(yàn)智能體的完整性,如果受到破壞,則丟棄不執(zhí)行,否則解密此智能體并運(yùn)行。運(yùn)行完成后,AoC通過上面的方法獲取智能體要訪問的下一站AR的AoCM證書,并利用AoCM中提供的公鑰加密智能體的代碼、數(shù)據(jù)及運(yùn)行結(jié)果等。
6)AoC將加密后的智能體傳給AR,AR不知道下一站AoC的私鑰,因此無法解密智能體。
7)智能體遷移至其他AR或返回至AS。
基于AoC技術(shù)的智能體安全系統(tǒng)模型方案,我們開發(fā)了一個(gè)智能體安全系統(tǒng)原型,并將該模型應(yīng)用于電子圖書查詢交易系統(tǒng)實(shí)例中,這實(shí)際是電子商務(wù)系統(tǒng)中的一個(gè)典型應(yīng)用。圖3是示例系統(tǒng)的網(wǎng)絡(luò)架構(gòu)模型。
我們實(shí)現(xiàn)的基于AoC/智能體的電子圖書交易系統(tǒng)有四臺主機(jī),其中一臺為智能體發(fā)起端,即客戶端,提供用戶界面,接受用戶交易請求,并根據(jù)用戶交易請求,定制和派遣智能體。另三臺為電子圖書服務(wù)器,每臺服務(wù)器運(yùn)行兩個(gè)智能體執(zhí)行環(huán)境,一個(gè)為主機(jī)智能體執(zhí)行環(huán)境AR,一個(gè)為AoC執(zhí)行環(huán)境,其中主機(jī)智能體執(zhí)行環(huán)境為智能體的首要“落腳點(diǎn)”。另外,每臺服務(wù)器都帶有一個(gè)MySQL數(shù)據(jù)庫,存放電子圖書信息。
客戶端派遣的智能體到達(dá)服務(wù)器后,查詢符合條件的圖書信息。如果用戶的請求服務(wù)類型為查詢,那么交易完成,攜帶查詢結(jié)果漫游到下一家服務(wù)器繼續(xù)查詢;如果用戶的請求服務(wù)類型為購買,而且查詢到符合用戶交易條件的圖書,那么從智能體攜帶的信用卡帳號中扣除相應(yīng)的費(fèi)用,并將電子圖書發(fā)送到智能體所攜帶的“email”信箱中。交易完成后,向智能體發(fā)起端返回交易結(jié)果。如果沒有符合條件的圖書,智能體根據(jù)自己所攜帶的服務(wù)器列表信息,漫游到下一家服務(wù)器,繼續(xù)查詢。
下面對系統(tǒng)的各個(gè)組件進(jìn)行介紹1.用戶界面提供友好的人機(jī)接口,負(fù)責(zé)接收用戶的交易請求信息,包括(1)請求服務(wù)類型查詢、購買;(2)圖書信息書名、價(jià)格、作者、出版社等;(3)如果請求服務(wù)類型是購買,還需要填寫信用卡信息,email帳號,其中email帳號用于接收購買到的電子圖書。
2.智能體構(gòu)建器根據(jù)業(yè)務(wù)請求,構(gòu)建智能體。如果請求服務(wù)類型為查詢,就構(gòu)建一個(gè)查詢智能體。如果請求服務(wù)類型為購買,那么將智能體分割為兩個(gè)子智能體查詢子智能體、購買子智能體,其中查詢子智能體安全級別較低,由主機(jī)執(zhí)行,設(shè)標(biāo)志位為0;購買子智能體涉及到用戶的信用卡帳號等信息,安全級別較高,需由AoC執(zhí)行,設(shè)其標(biāo)志位為1。為了保證智能體安全性,我們須對智能體進(jìn)行加密,其中查詢子智能體用主機(jī)公鑰加密,購買子智能體用AoC公鑰加密。
3.智能體分發(fā)器負(fù)責(zé)接收智能體,根據(jù)智能體標(biāo)志位進(jìn)行分發(fā),將標(biāo)志位為0的子智能體分發(fā)到主機(jī),由主機(jī)用自己的私鑰解密執(zhí)行;標(biāo)志位為1的子智能體上傳給AoC,由AoC用自己的私鑰解密執(zhí)行。
4.圖書信息數(shù)據(jù)庫安裝在主機(jī)的數(shù)據(jù)庫系統(tǒng),存放圖書信息。該數(shù)據(jù)庫系統(tǒng)只能由主機(jī)中的智能體訪問,負(fù)責(zé)接收查詢請求,并將結(jié)果返回。AoC中的智能體不直接訪問該數(shù)據(jù)庫,而是通過查詢子智能體得知查詢結(jié)果。
權(quán)利要求
1.一種安全的片上智能體方案,其特征在于采用集成芯片作為智能體的底層硬件執(zhí)行環(huán)境,該芯片安裝在各需要運(yùn)行智能體的網(wǎng)絡(luò)節(jié)點(diǎn)上,為在開放的、不安全的網(wǎng)絡(luò)環(huán)境中運(yùn)行的智能體提供安全的、易于部署片上執(zhí)行環(huán)境,安全的片上智能體技術(shù)方案分為三個(gè)部分,即AoC系統(tǒng)構(gòu)建方案、AoC系統(tǒng)應(yīng)用方案和AoC系統(tǒng)運(yùn)行方案,具體如下AoC系統(tǒng)構(gòu)建方案1)首先設(shè)計(jì)AoC系統(tǒng)的整體軟、硬件體系架構(gòu),基于分層的思想,將系統(tǒng)按照與硬件環(huán)境聯(lián)系的緊密程度分為5個(gè)層次,從下至上依次為硅芯片硬件包含處理器、存儲(chǔ)器、接口;嵌入式操作系統(tǒng);編程接口類;智能體服務(wù)系統(tǒng);智能體應(yīng)用程序;2)AoC體系中的底層硬件選擇具備完整系統(tǒng)構(gòu)架與功能的硅芯片,其架構(gòu)包含可執(zhí)行控制/運(yùn)算等功能的處理器、存儲(chǔ)器、接口和周邊電路,實(shí)際是在一顆基于深次微米半導(dǎo)體加工技術(shù)的硅芯片上實(shí)現(xiàn)了完整的、獨(dú)立的計(jì)算和存儲(chǔ)平臺;3)硬件平臺之上是嵌入式操作系統(tǒng),該系統(tǒng)運(yùn)行在一顆芯片上,采用微操作系統(tǒng)技術(shù),嵌入式Linux系統(tǒng),是負(fù)責(zé)與低層硬件交互的處理工作,并為上層應(yīng)用提供服務(wù),如硬件管理、系統(tǒng)調(diào)用,如同PC的操作系統(tǒng);4)編程接口類為開發(fā)人員提供實(shí)現(xiàn)各種需求的智能體軟件系統(tǒng)所需的類庫,類庫中的類根據(jù)具體的應(yīng)用可以進(jìn)行增刪和修改,在系統(tǒng)完成之后,隨著需求的更改和增加可對類庫作進(jìn)一步升級等變動(dòng),這些工作僅能由AoC供應(yīng)者完成;5)在AoC體系的最上層就是智能體服務(wù)系統(tǒng)和運(yùn)行于其中的智能體程序,智能體程序由智能體接收方或運(yùn)行者通過底層標(biāo)準(zhǔn)接口裝載至智能體服務(wù)系統(tǒng)規(guī)定的區(qū)域中,由智能體服務(wù)系統(tǒng)對其進(jìn)行解密、加密、驗(yàn)證簽名和執(zhí)行,智能體程序及其服務(wù)系統(tǒng)都采用嵌入式JAVA技術(shù)開發(fā);AoC系統(tǒng)應(yīng)用方案1)首先由AoC的制造商向智能體的使用者發(fā)售AoC設(shè)備,基于智能體所有者都信任AoC設(shè)備制造商AoCM的前提,相信他們會(huì)正確的設(shè)計(jì)生產(chǎn)此類設(shè)備,用一種信任關(guān)系取代另一種——智能體所有者對具有良好信譽(yù)的AoCM的信任取代了其對AoC設(shè)備所有者即目的主機(jī)的信任;2)AoCM向AoC設(shè)備的購買/使用者提供AoCM簽名證書,AoCM證書里包含下列信息AoC的制造商、AoC的類型、AoC提供的安全策略以及AoC的公鑰,AS持有AoCM公鑰的一個(gè)真實(shí)拷貝,用于驗(yàn)證其簽發(fā)的AoCM證書;3)智能體接收者,即智能體所要訪問的主機(jī),智能體的擁有者AS同時(shí)也是智能體的發(fā)起者,Proxy處提供一種目錄服務(wù),AR可在一個(gè)或多個(gè)Proxy處登記下列參考信息所在主機(jī)的機(jī)器名及物理網(wǎng)絡(luò)地址、提供何種安全策略以及AoCM證書,這些信息用于為AS定位AR;4)AoC設(shè)有一個(gè)加密協(xié)處理器,由它產(chǎn)生密鑰對可以保證私鑰不為外界所知,即使AoC設(shè)備的所有者也不知道。主機(jī)只能通過一個(gè)明確的接口訪問它。5)AR的所有者購買AS信任的某個(gè)AoCM生產(chǎn)的AoC設(shè)備,購買設(shè)備的同時(shí)獲得AoCM提供的簽名證書,基于對AoCM的信任,AS就可以會(huì)派智能體前往AR所在主機(jī)執(zhí)行任務(wù);AoC系統(tǒng)運(yùn)行方案1)AS向Proxy提交某個(gè)AR的名字,獲得與之有關(guān)的信息,比如AoCM證書,2)AS用自己持有的AoCM公鑰的拷貝驗(yàn)證AoCM證書的有效性,驗(yàn)證成功,則進(jìn)行下一步;否則放棄此AR,3)AS核實(shí)該AR提供的安全策略是否足以保護(hù)自身利益,若策略不夠充分,就放棄該AR;反之,用目的AoC的公鑰加密智能體中的代碼段并將智能體派往目的主機(jī),為了防止智能體被主機(jī)破壞,采用消息摘要的方法,如MD5;4)AR接受到達(dá)的智能體,由于不知道AoC的私鑰,因此無法破譯加密的代碼,除了將它上載至AoC之外什么也做不了,5)AoC系統(tǒng)首先檢驗(yàn)智能體的完整性,如果受到破壞,則丟棄不執(zhí)行,否則解密此智能體并運(yùn)行,運(yùn)行完成后,AoC通過上面的方法獲取智能體要訪問的下一站AR的AoCM證書,并利用AoCM中提供的公鑰加密智能體的代碼、數(shù)據(jù)及運(yùn)行結(jié)果,6)AoC將加密后的智能體傳給AR,AR不知道下一站AoC的私鑰,因此無法解密智能體,7)智能體遷移至其他AR或返回至AS。
全文摘要
一種安全的片上智能體方案是一種用于在開放的網(wǎng)絡(luò)環(huán)境中,采用集成芯片作為硬件基礎(chǔ)為智能體技術(shù)提供安全、可靠的執(zhí)行環(huán)境,從而能在網(wǎng)絡(luò)中有效的實(shí)現(xiàn)基于智能體的應(yīng)用系統(tǒng)的技術(shù)方案。該方案采用集成芯片作為智能體的底層硬件執(zhí)行環(huán)境,該芯片安裝在各需要運(yùn)行智能體的網(wǎng)絡(luò)節(jié)點(diǎn)上,為在開放的、不安全的網(wǎng)絡(luò)環(huán)境中運(yùn)行的智能體提供安全的、易于部署片上執(zhí)行環(huán)境,安全的片上智能體技術(shù)方案分為三個(gè)部分,即AoC系統(tǒng)構(gòu)建方案、AoC系統(tǒng)應(yīng)用方案和AoC系統(tǒng)運(yùn)行方案,該芯片安裝在各需要運(yùn)行智能體的網(wǎng)絡(luò)節(jié)點(diǎn)上,為在開放的、不安全的網(wǎng)絡(luò)環(huán)境中運(yùn)行的智能體提供安全的、易于部署片上執(zhí)行環(huán)境。
文檔編號G06F1/00GK1655523SQ200510037768
公開日2005年8月17日 申請日期2005年2月4日 優(yōu)先權(quán)日2005年2月4日
發(fā)明者王汝傳, 徐小龍 申請人:南京郵電學(xué)院