專利名稱::一種widget應用安全保護方法和系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及互聯(lián)網(wǎng)應用領域,具體涉及一種widget(微技)應用安全保護方法和系統(tǒng)。
背景技術:
:widget是一小塊可以在任意一個基于HTML或JavaScript的Web頁面上執(zhí)行的代碼,是一個互聯(lián)網(wǎng)的小應用,它的表現(xiàn)形式可能是視頻、地圖、新聞、小游戲等等。widget起源于蘋果公司一位工程師的靈感,最初被實現(xiàn)在MACOS上。它由widget引擎和widget應用構成,能夠極大的完善桌面應用和網(wǎng)絡操作。Widget引擎是widget應用運行的平臺,同時也通過ajax技術提供了網(wǎng)絡訪問能力。在安裝了widgetUA(UserAgent,用戶代理)后,就可以在此widget引擎上運行具有各種不同功能的widget應用了。隨著widget的發(fā)展,它具備了跨平臺的能力,目前在windows、MACOS、Iinux及各種手機平臺上都能看到widget的影子。Widget應用作為在互聯(lián)網(wǎng)上興起的一種小應用,在2007年開始widget概念在互聯(lián)網(wǎng)上盛行,國內新浪、搜狐、盛大、中移動、聯(lián)通都開始投入到widget的研發(fā)和標準制定中。Widget的表現(xiàn)形式也由最初的桌面widget、webwidget,發(fā)展到終端設備上,如2008年開始出現(xiàn)的手機widget和電視widget等。其共同想法是把桌面widget和webwidget的一些特點引入到終端設備上。通過提供JavaScriptAPI(ApplicationProgrammingInterface,應用程序編程接口,以下簡稱JSAPI)接口的方式,使得widget應用能夠訪問移動終端上的諸如短信、通訊錄、日程表、GPS等終端上的本地應用。為了在widget的發(fā)展中搶占先機,各大網(wǎng)站和廠商都發(fā)布了自己的widget標準。W3C(fforldWideWebConsortium,萬維網(wǎng)聯(lián)盟)從2006年開始制定一個統(tǒng)一的widget標準,陸續(xù)發(fā)布了一系列的規(guī)范,但是這些規(guī)范標準都還處于草案階段,且只是面向桌面widget系統(tǒng)。隨著終端設備上widget的出現(xiàn),一些廠商也開始制定移動終端上的widget規(guī)范。如0MTP(0penMobileTerminalPlatform,開放移動終端平臺)制定的BONDI規(guī)范,及中國移動參與制定的JILCJointInnovationLab,聯(lián)合創(chuàng)新實驗室)規(guī)范。這些規(guī)范都提供了對終端設備上widget本地應用的支持。目前業(yè)界widget的標準中,在widget安全方面只規(guī)定了數(shù)字簽名相關的標準,而這些規(guī)定主要是針對widget應用的版權及方便計費統(tǒng)計。而在widget系統(tǒng)的JSAPI的安全方面并沒有做出相應詳細規(guī)定,這個部分還是空白。但是在移動終端上widget系統(tǒng)通過提供JSAPI使得widget應用能夠對很多終端本地的應用進行訪問和操作。這意味著widget應用可以進行短彩信收發(fā)、接打電話、讀取和寫入通訊錄、訪問網(wǎng)絡、對終端文件系統(tǒng)進行讀寫和刪除操作等。如果某個包含了惡意JS腳本的widget應用利用這些API進行惡意操作,則給用戶終端的接口安全、用戶個人數(shù)據(jù)安全、網(wǎng)絡安全造成很大隱患。
發(fā)明內容本發(fā)明要解決的技術問題是提供一種widget應用安全保護方法和系統(tǒng),盡可能保證用戶終端的接口安全、用戶個人數(shù)據(jù)安全和網(wǎng)絡安全。為解決上述技術問題,本發(fā)明提供了一種widget應用安全保護方法,包括對JavaScript應用程序編程接口(JSAPI)進行安全等級配置,并將配置結果保存在安全配置文件中;在widget引擎啟動時讀取安全配置文件,在widget應用通過JSAPI調用終端本地功能時,根據(jù)所述安全配置文件中的配置對JSAPI進行控制。進一步地,所述對JSAPI進行控制是指決定所述JSAPI是否可調用終端本地功能。進一步地,所述對JSAPI進行安全等級配置的步驟包括為JSAPI配置以下安全等級中的任一種不信任、部分信任、完全信任;其中,配置為不信任時,所述JSAPI無法調用終端本地功能;配置為完全信任時,所述JSAPI可以調用終端上所有本地功能;配置為部分信任時,所述JSAPI可以調用終端上部分本地功能。進一步地,將JSAPI配置為部分信任時,還設置終端上可被調用的本地功能和/或不可被調用的本地功能。為解決上述技術問題,本發(fā)明還提供了一種widget應用安全保護系統(tǒng),包括JavaScript應用程序編程接口(JSAPI)安全分級設置子模塊,以及JSAPI安全控制模塊,其中所述JSAPI安全分級設置子模塊,用于對JSAPI進行安全等級配置,并將配置結果保存在安全配置文件中;所述JSAPI安全控制模塊,用于在widget引擎啟動時讀取安全配置文件,在widget應用通過JSAPI調用終端本地功能時,根據(jù)該安全配置文件中的配置對JSAPI進行控制。進一步地,所述JSAPI安全控制模塊對JSAPI進行控制是指,所述JSAPI安全控制模塊決定所述JSAPI是否可調用終端本地功能。進一步地,所述JSAPI安全分級設置子模塊,用于為JSAPI配置以下安全等級中的任一種不信任、部分信任、完全信任;其中,配置為不信任時,所述JSAPI無法調用終端本地功能;配置為完全信任時,所述JSAPI可以調用終端上所有本地功能;配置為部分信任時,所述JSAPI可以調用終端上部分本地功能。進一步地,所述JSAPI安全分級設置子模塊將JSAPI配置為部分信任時,還設置終端上可被調用的本地功能和/或不可被調用的本地功能。本發(fā)明提出的widget系統(tǒng)從W3C標準的空白點著手,從為用戶提供安全的widget系統(tǒng)出發(fā),提出了適用于移動終端設備上的對JSAPI進行安全分級的widget系統(tǒng)。在現(xiàn)有的widget系統(tǒng)中,通常都不提供JSAPI安全功能。面對可能存在的惡意widget應用,用戶的個人信息和數(shù)據(jù)安全得不到任何保障。而本發(fā)明提供的安全分級方法,通過對JSAPI安全分級的方法,對特定JSAPI進行功能限制,防止widget應用利用這些JSAPI進行惡意操作,可以盡可能的保證用戶終端的接口安全、用戶個人數(shù)據(jù)安全、網(wǎng)絡安全。圖1是本發(fā)明實施例widget系統(tǒng)功能框圖;圖2是本發(fā)明實施例JSAPI安全分級設置模塊執(zhí)行的流程圖;圖3是本發(fā)明實施例widget引擎運行時JSAPI安全控制模塊執(zhí)行的流程圖。具體實施例方式下面結合附圖對本發(fā)明實施例進行詳細說明。實施例1遵循W3C、JIL和BONDI等標準定義的widget系統(tǒng)框架,在標準定義的框架下在widget引擎中增加1個對JavaScriptAPI進行安全分級的子系統(tǒng)。如圖1所示,在此子系統(tǒng)中包含JSAPI安全分級設置模塊和JSAPI安全控制模塊,其中#JSAPI安全分級設置子模塊,用于對JSAPI進行安全等級配置,并將配置結果保存在安全配置文件中;配置的安全等級可以是不信任、部分信任、完全信任。每個安全等級的具體含義如下A不信任此時,每一個與終端本地功能相關的JSAPI都不可用,即,widget應用中通過JSAPI來調用終端本地功能都是無效的;B部分信任此時,對與終端本地功能相關的JSAPI分別設置是否可用,即,widget應用通過JSAPI來調用終端本地功能時,僅有部分功能可使用。在設置為部分信任時,還設置終端上可被調用的本地功能和/或不可被調用的本地功能,即可以對每個可能調用終端本地功能的JSAPI分別設置,或者根據(jù)終端本地功能類別,對調用某類功能的多個JSAPI進行批量設置,例如可以設置電話簿的相關JSAPI是否可用、短消息模塊的相關JSAPI是否可用等,當設置電話簿的相關JSAPI為信任時,表明讀取電話簿的JSAPI、寫入電話簿的JSAPI、刪除電話簿的JSAPI均可用;當設置短消息模塊的相關JSAPI不信任時,讀取短消息的JSAPI、發(fā)送短消息的JSAPI、刪除短消息的JSAPI均不可用。C完全信任此時,每一個與終端本地功能相關的JSAPI都可用。S卩,widget應用通過JSAPI來調用終端本地功能時,所有功能均允許使用。本實施例以分為三級為例進行說明,在其他實施例中也可以分為多級。另外,等級的名稱也可以不限于上述實施例,例如采用高、中、低來進行區(qū)別。上述設置操作可由用戶來完成,或者由widget引擎采用默認的設置。#JSAPI安全控制模塊,用于在widget引擎啟動時讀取安全配置文件,在widget應用通過JSAPI調用終端本地功能時,根據(jù)該安全配置文件對JSAPI進行控制,即決定該JSAPI是否可調用終端本地功能。簡單的說,對于被用戶限制的JSAPI,其功能不可用,而對于用戶信任的JSAPI其功能正常。由于一個JSAPI用于調用終端的一個本地功能,因此對所有JSAPI進行安全等級配置后,任何widget應用不能再隨意通過JSAPI調用終端本地的功能,在一定程度上保護了用戶終端的接口安全和用戶個人數(shù)據(jù)安全。實施例2本實施例介紹widget應用安全保護方法,包括步驟一,對JSAPI進行安全等級配置,并將配置結果保存在安全配置文件中;步驟二,在widget引擎啟動時讀取安全配置文件,在widget應用通過JSAPI調用終端本地功能時,根據(jù)該安全配置文件中的配置對JSAPI進行控制,即決定該JSAPI是否可調用終端本地功能。下面分步驟進行介紹。如圖2所示,上述步驟一具體包括以下步驟步驟1用戶啟動安全策略設置;步驟2用戶進行安全等級的設置,可將JSAPI設置為完全信任或部分信任或不信任;在本步驟中,如果用戶選擇完全信任的安全級別,則所有調用終端本地功能的JSAPI都能被調用;如果用戶選擇不信任安全級別,則所有與本地應用相關的JSAPI都不可用;如果用戶選擇部分信任安全級別,則用戶可進一步設置哪些功能可被JSAPI調用。例如,根據(jù)終端的本地功能把調用相應功能的各JSAPI分為若干大類,例如短信類JSAPI、多媒體類JSAPI、電話功能類JSAPI等。優(yōu)選地,每個大的分類下還可包含若干小的子類。每個大類和子類都可以被用戶單獨設置。例如可以設置短信類JSAPI為信任,而其他JSAPI為不信任,同時用戶還可以進一步的詳細設置,例如用戶可設置短信類JSAPI中的讀短信JSAPI為信任,刪除短信JSAPI和發(fā)送短信JSAPI均為不信任。步驟3將配置的安全策略保存在安全配置文件中;例如可以以xml文件等形式保存。步驟4將安全配置文件保存在本地。用戶設置后的JSAPI安全配置保存在本地的安全配置文件里。如果用戶未啟動安全策略設置,則可提供一個默認的JSAPI安全分級。例如可以是僅開放與HTTP網(wǎng)絡服務相關的JSAPI,而其他所有與終端本地功能相關的JSAPI全部為不信任。當widget應用中調用了不信任的JSAPI時將提示用戶在默認安全分級設置下,此功能不可用。以用戶設置為部分信任為例,安全配置文件內容如下<JSsecurity)<TrustX/Trust><UnTrustX/UnTrust><PartlyTrust>〈Device〉<fileSystem><readable></readable><writable></writable></fileSystem>............〈/Device〉〈Messaging〉//信息對象相關JSAPIIl完全信任//不信任Il部分信任Il設備對象相關JSAPI//設備的子對象文件系統(tǒng)//讀操作權限Il寫操作權限6<mms>//信息的子對象彩傳<readable></readable>//讀操作權限<writable></writable>//寫操作權限<sendable></sendable>//發(fā)送權限</mms>............</Messaging>〈Multimedia〉//多媒體相關JSAPI............〈/Multimedia〉<PIM>Il個人信息對象相關JSAPI............</PIM><Telephony>//電話對象相關JSAPI............</Telephony></PartlyTrust><JSsecurity)上述的JSAPI安全設置,可根據(jù)用戶需要隨時進行修改。如圖3所示,上述步驟二具體包括如下步驟步驟1:widget引擎啟動,讀取JSAPI安全配置文件;步驟2解析JSAPI安全配置文件;解析后的JSAPI安全配置文件留待使用。在其他實施例中,也可在運行widget應用前解析JSAPI的安全配置文件。總之只要在進行JSAPI安全控制前獲得詳細的各個JSAPI的安全權限沒置即可。步驟3運行某widget應用的過程中,所述widget應用調用JSAPI;步驟4根據(jù)所述JSAPI安全配置文件進行JSAPI安全控制,包括根據(jù)安全配置文件判斷該JSAPI是否可執(zhí)行,如果是,則繼續(xù)完成JSAPI功能,運行該widget應用,如果不是,則不執(zhí)行JSAPI,并提示用戶,并繼續(xù)運行該widget應用。對于每一個可調用終端本地功能的JSAPI而言,當widget應用調用它時,會先查詢其安全設置,如果滿足安全設置條件,則此JSAPI可正常調用。否則,彈出一個用戶提示框,提示用戶根據(jù)安全設置此JSAPI當前不可用。通過以上步驟可以達到widget系統(tǒng)JSAPI分級安全保護的目的,可以有效保護用戶終端的接口安全、個人數(shù)據(jù)安全、網(wǎng)絡安全。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令7相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應地,上述實施例中的各模塊可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結合。當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。權利要求一種widget應用安全保護方法,包括對JavaScript應用程序編程接口(JSAPI)進行安全等級配置,并將配置結果保存在安全配置文件中;在widget引擎啟動時讀取安全配置文件,在widget應用通過JSAPI調用終端本地功能時,根據(jù)所述安全配置文件中的配置對JSAPI進行控制。2.如權利要求1所述方法,其特征在于所述對JSAPI進行控制是指決定所述JSAPI是否可調用終端本地功能。3.如權利要求1所述方法,其特征在于所述對JSAPI進行安全等級配置的步驟包括為JSAPI配置以下安全等級中的任一種不信任、部分信任、完全信任;其中,配置為不信任時,所述JSAPI無法調用終端本地功能;配置為完全信任時,所述JSAPI可以調用終端上所有本地功能;配置為部分信任時,所述JSAPI可以調用終端上部分本地功能。4.如權利要求3所述方法,其特征在于將JSAPI配置為部分信任時,還設置終端上可被調用的本地功能和/或不可被調用的本地功能。5.一種widget應用安全保護系統(tǒng),包括JavaScript應用程序編程接口(JSAPI)安全分級設置子模塊,以及JSAPI安全控制模塊,其中所述JSAPI安全分級設置子模塊,用于對JSAPI進行安全等級配置,并將配置結果保存在安全配置文件中;所述JSAPI安全控制模塊,用于在widget引擎啟動時讀取安全配置文件,在widget應用通過JSAPI調用終端本地功能時,根據(jù)該安全配置文件中的配置對JSAPI進行控制。6.如權利要求5所述系統(tǒng),其特征在于所述JSAPI安全控制模塊對JSAPI進行控制是指,所述JSAPI安全控制模塊決定所述JSAPI是否可調用終端本地功能。7.如權利要求5所述系統(tǒng),其特征在于所述JSAPI安全分級設置子模塊,用于為JSAPI配置以下安全等級中的任一種不信任、部分信任、完全信任;其中,配置為不信任時,所述JSAPI無法調用終端本地功能;配置為完全信任時,所述JSAPI可以調用終端上所有本地功能;配置為部分信任時,所述JSAPI可以調用終端上部分本地功能。8.如權利要求7所述系統(tǒng),其特征在于所述JSAPI安全分級設置子模塊將JSAPI配置為部分信任時,還設置終端上可被調用的本地功能和/或不可被調用的本地功能。全文摘要本發(fā)明公開了一種widget應用安全保護方法和系統(tǒng),盡可能保證用戶終端的接口安全、用戶個人數(shù)據(jù)安全和網(wǎng)絡安全。所述方法包括對JavaScript應用程序編程接口(JSAPI)進行安全等級配置,并將配置結果保存在安全配置文件中;在widget引擎啟動時讀取安全配置文件,在widget應用通過JSAPI調用終端本地功能時,根據(jù)所述安全配置文件中的配置對JSAPI進行控制。文檔編號H04L29/06GK101977230SQ201010525989公開日2011年2月16日申請日期2010年10月21日優(yōu)先權日2010年10月21日發(fā)明者肖非申請人:中興通訊股份有限公司