一種面向Web瀏覽器的本地API調(diào)用方法
【專利摘要】本發(fā)明涉及一種面向Web瀏覽器的本地API調(diào)用方法,其特征是:在用戶使用瀏覽器訪問(wèn)Web信息系統(tǒng)過(guò)程中,若瀏覽器在顯示和處理Web信息系統(tǒng)的返回結(jié)果時(shí)需要調(diào)用用戶計(jì)算設(shè)備的本地API,則瀏覽器通過(guò)網(wǎng)絡(luò)通信方式將調(diào)用請(qǐng)求提交到瀏覽器所在用戶計(jì)算設(shè)備的一個(gè)代理程序,由代理程序調(diào)用本地API,代理程序?qū)⒄{(diào)用本地API的結(jié)果返回到瀏覽器;若被調(diào)用的本地API涉及敏感資源或功能的使用,則代理程序在調(diào)用本地API前通過(guò)提示用戶的方式或者在代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的方式保護(hù)敏感資源或功能的使用;所述安全會(huì)話方式包括使用會(huì)話標(biāo)識(shí)、數(shù)據(jù)加密和HMAC簽名。
【專利說(shuō)明】—種面向Web瀏覽器的本地API調(diào)用方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于Web信息【技術(shù)領(lǐng)域】,特別是一種面向Web瀏覽器的本地API調(diào)用方法。
【背景技術(shù)】
[0002]當(dāng)用戶使用瀏覽器訪問(wèn)Web信息系統(tǒng)(或應(yīng)用系統(tǒng))的過(guò)程中,常常需要調(diào)用用戶計(jì)算設(shè)備本地的API,如動(dòng)態(tài)庫(kù)、COM組件、系統(tǒng)API等。但是,出于安全考慮,各種瀏覽器都禁止直接本地API。為了解決這一問(wèn)題,有些瀏覽器允許通過(guò)安全插件或控件(經(jīng)數(shù)字簽名的插件或控件,如Mozilla Plug-1n、IE ActiveX)調(diào)用用戶計(jì)算設(shè)備本地的API。插件或控件的問(wèn)題在于:(I)不是所有的瀏覽器或者運(yùn)行在所有用戶平臺(tái)的瀏覽器都支持插件或控件;(2)Web信息系統(tǒng)開發(fā)者需要針對(duì)不同的瀏覽器或用戶平臺(tái)開發(fā)相應(yīng)的插件或控件(因?yàn)椴煌瑸g覽器或運(yùn)行在不同用戶平臺(tái)上的瀏覽器的插件或控件的機(jī)制和代碼會(huì)不同)。這使得Web信息系統(tǒng)要同時(shí)支持多種不同的瀏覽器變得非常困難。除了插件或控件,有的瀏覽器廠家還提出了其他技術(shù),如Google的Native Client (NaCI)沙袋技術(shù)。但Native Client技術(shù)的問(wèn)題在于:(I)僅適合于Google瀏覽器;(2)調(diào)用的本地API的執(zhí)行是受限的。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提出一種適合不同瀏覽器的面向Web瀏覽器的本地API調(diào)用方法,以克服現(xiàn)有技術(shù)的不足。
[0004]為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是:
[0005]一種面向Web瀏覽器的本地API調(diào)用方法,其特征是:
[0006]在用戶使用瀏覽器訪問(wèn)Web信息系統(tǒng)(或應(yīng)用系統(tǒng))的過(guò)程中,若瀏覽器在顯示和處理Web信息系統(tǒng)的返回結(jié)果時(shí)需要調(diào)用用戶計(jì)算設(shè)備本地的API (本地API),則瀏覽器通過(guò)網(wǎng)絡(luò)通信方式(如HTTP)將調(diào)用請(qǐng)求提交到用戶計(jì)算設(shè)備的一個(gè)代理程序,由代理程序調(diào)用本地API,并由代理程序?qū)⒄{(diào)用本地API的結(jié)果返回到瀏覽器;若被調(diào)用的本地API涉及敏感資源或功能的使用,則代理程序在調(diào)用本地API前先通過(guò)提示用戶的方式或者通過(guò)在代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的方式保護(hù)敏感資源或功能的使用;代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的操作由Web信息系統(tǒng)在瀏覽器向代理程序提交本地API調(diào)用請(qǐng)求前發(fā)起(Web信息系統(tǒng)發(fā)起),或者由代理程序在接收到本地API調(diào)用請(qǐng)求后執(zhí)行本地API調(diào)用前發(fā)起(代理程序發(fā)起)。
[0007]若被調(diào)用的本地API涉及敏感資源或功能的使用,則代理程序在調(diào)用本地API前先彈出一個(gè)人機(jī)交互界面,提示用戶當(dāng)前瀏覽器正在使用敏感資源或功能,詢問(wèn)用戶是否繼續(xù),若用戶選擇繼續(xù)則調(diào)用本地API ;否則中止本地API的調(diào)用。
[0008]或者,若被調(diào)用的本地API涉及敏感資源或功能的使用且瀏覽器提交給代理程序的本地API調(diào)用請(qǐng)求中包含有Web信息系統(tǒng)的安全身份令牌(由一個(gè)可信的系統(tǒng)或機(jī)構(gòu)簽發(fā)),則代理程序在調(diào)用本地API前先驗(yàn)證安全身份令牌的有效性(安全身份令牌可通過(guò)數(shù)字簽名技術(shù)保證其有效性),驗(yàn)證通過(guò)后彈出一個(gè)人機(jī)交互界面,向用戶顯示瀏覽器正在訪問(wèn)的Web信息系統(tǒng)并提示用戶Web信息系統(tǒng)正在使用敏感資源或功能,然后詢問(wèn)用戶是否繼續(xù),若用戶選擇繼續(xù),則調(diào)用本地API ;否則,中止本地API的調(diào)用。
[0009]或者,若被調(diào)用的本地API涉及敏感資源或功能且瀏覽器提交給代理程序的本地API調(diào)用請(qǐng)求中包含有Web信息系統(tǒng)對(duì)請(qǐng)求數(shù)據(jù)的數(shù)字簽名,則代理程序在調(diào)用本地API前先驗(yàn)證請(qǐng)求數(shù)據(jù)的數(shù)字簽名的有效性,驗(yàn)證通過(guò)后彈出一個(gè)人機(jī)交互界面,向用戶顯示瀏覽器正在訪問(wèn)的Web信息系統(tǒng)(通過(guò)數(shù)字簽名獲知Web系信息系統(tǒng)名稱或標(biāo)識(shí))并提示用戶Web信息系統(tǒng)正在使用敏感資源或功能,然后詢問(wèn)用戶是否繼續(xù),若用戶選擇繼續(xù),則調(diào)用本地API ;否則,中止本地API的調(diào)用。
[0010]若被調(diào)用的本地API涉及敏感資源或功能,則代理程序在允許瀏覽器調(diào)用本地API前,在代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的具體方式如下:
[0011]代理程序通過(guò)瀏覽器向Web應(yīng)用程序返回一個(gè)隨機(jī)字串(隨機(jī)生成的字串);Web應(yīng)用程序接收到隨機(jī)字串后使用自己的私鑰對(duì)隨機(jī)字串簽名,然后通過(guò)瀏覽器將簽名的隨機(jī)字串返回給代理程序;代理程序?qū)邮盏降暮灻碾S機(jī)字串的簽名有效性進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)后通過(guò)瀏覽器向Web應(yīng)用程序返回一個(gè)會(huì)話標(biāo)識(shí)(Sess1n ID);之后Web應(yīng)用程序通過(guò)瀏覽器向代理程序提交的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中包含有會(huì)話標(biāo)識(shí);當(dāng)代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,先檢查調(diào)用數(shù)據(jù)中是否有代理程序之前返回給Web信息系統(tǒng)的會(huì)話標(biāo)識(shí),若有,則繼續(xù)調(diào)用操作;否則,中止調(diào)用操作。
[0012]或者,若被調(diào)用的本地API涉及敏感資源或功能,則代理程序在允許瀏覽器調(diào)用本地API前,在代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的具體方式如下:
[0013]代理程序通過(guò)瀏覽器獲取Web信息系統(tǒng)的公鑰,之后用Web信息系統(tǒng)的公鑰加密一個(gè)在代理程序本地產(chǎn)生的會(huì)話標(biāo)識(shí),然后通過(guò)瀏覽器將加密后的會(huì)話標(biāo)識(shí)返回到Web信息系統(tǒng);
[0014]Web信息系統(tǒng)接收到加密的會(huì)話標(biāo)識(shí)后,利用自己的私鑰解密加密的會(huì)話標(biāo)識(shí)從而獲得會(huì)話標(biāo)識(shí),之后在Web信息系統(tǒng)通過(guò)瀏覽器提交到代理程序的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中包含會(huì)話標(biāo)識(shí);
[0015]當(dāng)代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,先檢查調(diào)用數(shù)據(jù)中是否有代理程序之前返回給Web信息系統(tǒng)的會(huì)話標(biāo)識(shí),若有,則繼續(xù)調(diào)用操作;否則,中止調(diào)用操作;
[0016]其中,代理程序通過(guò)瀏覽器從Web信息系統(tǒng)獲取的Web信息系統(tǒng)公鑰包括公鑰數(shù)字證書或IBC公鑰(IBC, Identity-Based Cryptography)或其他安全發(fā)布的公鑰;所述IBC公鑰是Web信息系統(tǒng)的一個(gè)標(biāo)識(shí)(Web信息系統(tǒng)的網(wǎng)絡(luò)域名);
[0017]若Web信息系統(tǒng)的公鑰是IBC公鑰,則代理程序在使用公鑰對(duì)會(huì)話標(biāo)識(shí)加密前不驗(yàn)證公鑰的有效性(若Web信息系統(tǒng)不可信,則無(wú)法從IBC密鑰服務(wù)系統(tǒng)獲得IBC私鑰);否則,代理程序在使用公鑰對(duì)會(huì)話標(biāo)識(shí)加密前先驗(yàn)證公鑰的有效性,驗(yàn)證通過(guò)后再進(jìn)行加密處理,驗(yàn)證不通過(guò)則中止建立安全會(huì)話并報(bào)告錯(cuò)誤。
[0018]代理程序與Web信息系統(tǒng)通過(guò)如下方式進(jìn)一步提高安全會(huì)話的安全性:
[0019]代理程序在使用Web信息系統(tǒng)的公鑰對(duì)會(huì)話標(biāo)識(shí)加密的同時(shí)對(duì)一個(gè)隨機(jī)對(duì)稱密鑰(隨機(jī)生成的對(duì)稱密鑰)加密,然后將加密的會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密鑰通過(guò)瀏覽器返回給Web信息系統(tǒng);
[0020]Web信息系統(tǒng)接收到加密的會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密鑰后,利用自己的私鑰解密加密的會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密鑰從而獲得會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密鑰,之后Web信息系統(tǒng)通過(guò)瀏覽器向代理程序提交的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中不但包含有會(huì)話標(biāo)識(shí),而且請(qǐng)求數(shù)據(jù)采用隨機(jī)對(duì)稱密鑰加密;
[0021]代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,利用會(huì)話標(biāo)識(shí)對(duì)應(yīng)的(保存在本地的)隨機(jī)對(duì)稱密鑰解密被加密的請(qǐng)求數(shù)據(jù),解密成功后調(diào)用本地API,若解密失敗則中止調(diào)用。
[0022]或者,代理程序與Web信息系統(tǒng)通過(guò)如下方式進(jìn)一步提高安全會(huì)話的安全性:
[0023]代理程序在使用Web信息系統(tǒng)的公鑰對(duì)會(huì)話標(biāo)識(shí)加密的同時(shí)對(duì)一個(gè)隨機(jī)字串加密,然后將加密的會(huì)話標(biāo)識(shí)和隨機(jī)字串通過(guò)瀏覽器返回給Web信息系統(tǒng);
[0024]Web信息系統(tǒng)接收到加密的會(huì)話標(biāo)識(shí)和隨機(jī)字串后,利用自己的私鑰解密加密的會(huì)話標(biāo)識(shí)和隨機(jī)字串從而獲得會(huì)話標(biāo)識(shí)和隨機(jī)字串,之后Web信息系統(tǒng)通過(guò)瀏覽器向代理程序提交的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中不但包含會(huì)話標(biāo)識(shí),而且請(qǐng)求數(shù)據(jù)用隨機(jī)字串進(jìn)行HMAC (Hashed Message Authenticat1n Code)簽名;
[0025]代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,利用會(huì)話標(biāo)識(shí)對(duì)應(yīng)的(保存在本地的)隨機(jī)字串對(duì)請(qǐng)求數(shù)據(jù)的HMAC簽名進(jìn)行驗(yàn)證,驗(yàn)證成功后調(diào)用本地API,若驗(yàn)證失敗則中止調(diào)用。
[0026]基于以上
【發(fā)明內(nèi)容】
可看到,基于本發(fā)明的方法,瀏覽器并不直接調(diào)用本地API,而是通過(guò)一個(gè)本地的代理程序來(lái)調(diào)用,瀏覽器同代理程序之間通過(guò)網(wǎng)絡(luò)通信方式(如HTTP)進(jìn)行數(shù)據(jù)交互,并通過(guò)多種方案(具體實(shí)施時(shí)可根據(jù)需要只實(shí)施其中一種方案)來(lái)保證調(diào)用本地API的安全,即保證只有可信的Web信息系統(tǒng)才能通過(guò)代理程序調(diào)用本地API。相對(duì)通常的針對(duì)瀏覽器的本地API調(diào)用方案,本發(fā)明優(yōu)點(diǎn)包括:1)無(wú)需開發(fā)插件和控件;2)不受瀏覽器和瀏覽器運(yùn)行平臺(tái)的限制;3)適合于各種不同的本地API。
【專利附圖】
【附圖說(shuō)明】
[0027]圖1為本發(fā)明的方法的示意圖。
【具體實(shí)施方式】
[0028]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述。
[0029]代理程序的開發(fā)可以采用適合于用戶計(jì)算設(shè)備并能夠調(diào)用本地API的程序開發(fā)技術(shù),比如,若用戶計(jì)算設(shè)備的操作系統(tǒng)是Windows而本地API是Windows動(dòng)態(tài)庫(kù)、COM組件,則可以采用C/C++結(jié)合微軟的程序開發(fā)工具如MFC、ATL等開發(fā)。瀏覽器與代理程序之間的網(wǎng)絡(luò)通信方式可以采用HTTP。Web信息系統(tǒng)可采用HTML框架(FRAME)技術(shù)通過(guò)瀏覽器同代理程序進(jìn)行交互,包括提交本地API調(diào)用請(qǐng)求并獲得結(jié)果;同時(shí),代理程序可利用自動(dòng)HTTP POST或GET方式通過(guò)瀏覽器向Web信息系統(tǒng)返回結(jié)果或提交請(qǐng)求;或者,瀏覽器器可借助AJAX和JavaScript在Web信息系統(tǒng)和代理程序之間專遞信息和數(shù)據(jù)。
[0030]本發(fā)明的公開密鑰技術(shù)的實(shí)施方案,有多種方案可供選擇,如公鑰數(shù)字證書(RSA或ECC)或IBC密碼技術(shù),其中采用IBC方案最簡(jiǎn)單。若采用公鑰數(shù)字證書,則已是非常成熟的技術(shù),其中代理程序通過(guò)調(diào)用用戶計(jì)算設(shè)備本地的密碼模塊,如Windows CSP或PKCS#11,完成各種密碼運(yùn)算。若采用IBC密碼技術(shù),則IBC技術(shù)的實(shí)施可參見IEEE國(guó)際標(biāo)準(zhǔn) IEEE Stdl363.3-2013:1EEE Standard for Identity-Based CryptographicTechniques using Pairings, 22August2013。具體實(shí)施任務(wù)包括研究開發(fā)一個(gè)IBC密鑰服務(wù)系統(tǒng)用于為Web信息系統(tǒng)生成IBC私鑰,以及開發(fā)一個(gè)在用戶計(jì)算設(shè)備進(jìn)行IBC密碼運(yùn)算的密碼模塊。
[0031]其他未說(shuō)明的具體技術(shù)實(shí)施,對(duì)于相關(guān)領(lǐng)域的技術(shù)人員而言是眾所周知,不言自明的。
【權(quán)利要求】
1.一種面向Web瀏覽器的本地API調(diào)用方法,其特征是: 在用戶使用瀏覽器訪問(wèn)Web信息系統(tǒng)的過(guò)程中,若瀏覽器在顯示和處理Web信息系統(tǒng)的返回結(jié)果時(shí)需要調(diào)用用戶計(jì)算設(shè)備本地的API,則瀏覽器通過(guò)網(wǎng)絡(luò)通信方式將調(diào)用請(qǐng)求提交到用戶計(jì)算設(shè)備的一個(gè)代理程序,由代理程序調(diào)用本地API,并由代理程序?qū)⒄{(diào)用本地API的結(jié)果返回到瀏覽器;若被調(diào)用的本地API涉及敏感資源或功能的使用,則代理程序在調(diào)用本地API前先通過(guò)提示用戶的方式保護(hù)敏感資源或功能的使用,或者通過(guò)在代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的方式保護(hù)敏感資源或功能的使用;所述建立安全會(huì)話的操作由Web信息系統(tǒng)在瀏覽器向代理程序提交本地API調(diào)用請(qǐng)求前發(fā)起,或者由代理程序在接收到本地API調(diào)用請(qǐng)求后執(zhí)行本地API調(diào)用前發(fā)起。
2.根據(jù)權(quán)利要求1所述的面向Web瀏覽器的本地API調(diào)用方法,其特征是:若被調(diào)用的本地API涉及敏感資源或功能的使用,則代理程序在調(diào)用本地API前先彈出一個(gè)人機(jī)交互界面,提示用戶當(dāng)前瀏覽器正在使用敏感資源或功能,詢問(wèn)用戶是否繼續(xù),若用戶選擇繼續(xù)則調(diào)用本地API ;否則中止本地API的調(diào)用。
3.根據(jù)權(quán)利要求1所述的面向Web瀏覽器的本地API調(diào)用方法,其特征是:若被調(diào)用的本地API涉及敏感資源或功能的使用且瀏覽器提交給代理程序的本地API調(diào)用請(qǐng)求中包含有Web信息系統(tǒng)的安全身份令牌,則代理程序在調(diào)用本地API前先驗(yàn)證安全身份令牌的有效性,驗(yàn)證通過(guò)后彈出一個(gè)人機(jī)交互界面,向用戶顯示瀏覽器正在訪問(wèn)的Web信息系統(tǒng)并提示用戶Web信息系統(tǒng)正在使用敏感資源或功能,然后詢問(wèn)用戶是否繼續(xù),若用戶選擇繼續(xù),則調(diào)用本地API ;否則,中止本地API的調(diào)用。
4.根據(jù)權(quán)利要求1所述的面向Web瀏覽器的本地API調(diào)用方法,其特征是:若被調(diào)用的本地API涉及敏感資源或功能且瀏覽器提交給代理程序的本地API調(diào)用請(qǐng)求中包含有Web信息系統(tǒng)對(duì)請(qǐng)求數(shù)據(jù)的數(shù)字簽名,則代理程序在調(diào)用本地API前先驗(yàn)證請(qǐng)求數(shù)據(jù)的數(shù)字簽名的有效性,驗(yàn)證通過(guò)后彈出一個(gè)人機(jī)交互界面,向用戶顯示瀏覽器正在訪問(wèn)的Web信息系統(tǒng)并提示用戶Web信息系統(tǒng)正在使用敏感資源或功能,然后詢問(wèn)用戶是否繼續(xù),若用戶選擇繼續(xù),則調(diào)用本地API ;否則,中止本地API的調(diào)用。
5.根據(jù)權(quán)利要求1所述的面向Web瀏覽器的本地API調(diào)用方法,其特征是:若被調(diào)用的本地API涉及敏感資源或功能,則代理程序在允許瀏覽器調(diào)用本地API前,在代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的具體方式如下: 代理程序通過(guò)瀏覽器向Web應(yīng)用程序返回一個(gè)隨機(jī)字串;Web應(yīng)用程序接收到隨機(jī)字串后使用自己的私鑰對(duì)隨機(jī)字串簽名,然后通過(guò)瀏覽器將簽名的隨機(jī)字串返回給代理程序;代理程序?qū)邮盏降暮灻碾S機(jī)字串的簽名有效性進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)后通過(guò)瀏覽器向Web應(yīng)用程序返回一個(gè)會(huì)話標(biāo)識(shí);之后Web應(yīng)用程序通過(guò)瀏覽器向代理程序提交的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中包含有會(huì)話標(biāo)識(shí);當(dāng)代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,先檢查調(diào)用數(shù)據(jù)中是否有代理程序之前返回給Web信息系統(tǒng)的會(huì)話標(biāo)識(shí),若有,則繼續(xù)調(diào)用操作;否則,中止調(diào)用操作。
6.根據(jù)權(quán)利要求1所述的面向Web瀏覽器的本地API調(diào)用方法,其特征是:若被調(diào)用的本地API涉及敏感資源或功能,則代理程序在允許瀏覽器調(diào)用本地API前,在代理程序與Web信息系統(tǒng)之間建立安全會(huì)話的具體方式如下: 代理程序通過(guò)瀏覽器獲取Web信息系統(tǒng)的公鑰,之后用Web信息系統(tǒng)的公鑰加密一個(gè)在代理程序本地產(chǎn)生的會(huì)話標(biāo)識(shí),然后通過(guò)瀏覽器將加密后的會(huì)話標(biāo)識(shí)返回到Web信息系統(tǒng); Web信息系統(tǒng)接收到加密的會(huì)話標(biāo)識(shí)后,利用自己的私鑰解密加密的會(huì)話標(biāo)識(shí)從而獲得會(huì)話標(biāo)識(shí),之后在Web信息系統(tǒng)通過(guò)瀏覽器提交到代理程序的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中包含會(huì)話標(biāo)識(shí); 當(dāng)代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,先檢查調(diào)用數(shù)據(jù)中是否有代理程序之前返回給Web信息系統(tǒng)的會(huì)話標(biāo)識(shí),若有,則繼續(xù)調(diào)用操作;否貝U,中止調(diào)用操作; 其中,代理程序通過(guò)瀏覽器從Web信息系統(tǒng)獲取的Web信息系統(tǒng)公鑰包括公鑰數(shù)字證書或IBC公鑰或其他安全發(fā)布的公鑰;所述IBC公鑰是Web信息系統(tǒng)的一個(gè)標(biāo)識(shí); 若Web信息系統(tǒng)的公鑰是IBC公鑰,則代理程序在使用公鑰對(duì)會(huì)話標(biāo)識(shí)加密前不驗(yàn)證公鑰的有效性;否則,代理程序在使用公鑰對(duì)會(huì)話標(biāo)識(shí)加密前先驗(yàn)證公鑰的有效性,驗(yàn)證通過(guò)后再進(jìn)行加密處理,驗(yàn)證不通過(guò)則中止建立安全會(huì)話并報(bào)告錯(cuò)誤。
7.根據(jù)權(quán)利要求6所述的面向Web瀏覽器的本地API調(diào)用方法,其特征是:代理程序與Web信息系統(tǒng)通過(guò)如下方式進(jìn)一步提高安全會(huì)話的安全性: 代理程序在使用Web信息系統(tǒng)的公鑰對(duì)會(huì)話標(biāo)識(shí)加密的同時(shí)對(duì)一個(gè)隨機(jī)對(duì)稱密鑰加密,然后將加密的會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密鑰通過(guò)瀏覽器返回給Web信息系統(tǒng); Web信息系統(tǒng)接收到加密的會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密鑰后,利用自己的私鑰解密加密的會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密 鑰從而獲得會(huì)話標(biāo)識(shí)和隨機(jī)對(duì)稱密鑰,之后Web信息系統(tǒng)通過(guò)瀏覽器向代理程序提交的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中不但包含有會(huì)話標(biāo)識(shí),而且請(qǐng)求數(shù)據(jù)采用隨機(jī)對(duì)稱密鑰加密; 代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,利用會(huì)話標(biāo)識(shí)對(duì)應(yīng)的隨機(jī)對(duì)稱密鑰解密被加密的請(qǐng)求數(shù)據(jù),解密成功后調(diào)用本地API,若解密失敗則中止調(diào)用。
8.根據(jù)權(quán)利要求6所述的面向Web瀏覽器的本地API調(diào)用方法,其特征是:代理程序與Web信息系統(tǒng)通過(guò)如下方式進(jìn)一步提高安全會(huì)話的安全性: 代理程序在使用Web信息系統(tǒng)的公鑰對(duì)會(huì)話標(biāo)識(shí)加密的同時(shí)對(duì)一個(gè)隨機(jī)字串加密,然后將加密的會(huì)話標(biāo)識(shí)和隨機(jī)字串通過(guò)瀏覽器返回給Web信息系統(tǒng); Web信息系統(tǒng)接收到加密的會(huì)話標(biāo)識(shí)和隨機(jī)字串后,利用自己的私鑰解密加密的會(huì)話標(biāo)識(shí)和隨機(jī)字串從而獲得會(huì)話標(biāo)識(shí)和隨機(jī)字串,之后Web信息系統(tǒng)通過(guò)瀏覽器向代理程序提交的調(diào)用本地API的請(qǐng)求數(shù)據(jù)中不但包含會(huì)話標(biāo)識(shí),而且請(qǐng)求數(shù)據(jù)用隨機(jī)字串進(jìn)行HMAC簽名; 代理程序接收到Web信息系統(tǒng)通過(guò)瀏覽器提交的調(diào)用本地API的請(qǐng)求后,利用會(huì)話標(biāo)識(shí)對(duì)應(yīng)的隨機(jī)字串對(duì)請(qǐng)求數(shù)據(jù)的HMAC簽名進(jìn)行驗(yàn)證,驗(yàn)證成功后調(diào)用本地API,若驗(yàn)證失敗則中止調(diào)用。
【文檔編號(hào)】G06F9/46GK104077179SQ201410268827
【公開日】2014年10月1日 申請(qǐng)日期:2014年6月16日 優(yōu)先權(quán)日:2014年6月16日
【發(fā)明者】龍毅宏 申請(qǐng)人:武漢理工大學(xué)