本發(fā)明屬于互聯(lián)網(wǎng)安全領(lǐng)域,更具體地,涉及一種基于信息流標(biāo)簽的web用戶隱私保護(hù)系統(tǒng)和方法。
背景技術(shù):
為了向用戶提供豐富的服務(wù),包括地圖導(dǎo)航、在線支付等,當(dāng)下的web應(yīng)用整合大量第三方代碼。但是由于這些服務(wù)時(shí)常要求接觸用戶的私密信息,所以開發(fā)者和用戶必須完全信任它們不會(huì)將私密信息泄露出去。最近很多研究顯示,這些第三方代碼會(huì)引發(fā)一系列嚴(yán)重的危害,比如追蹤用戶瀏覽記錄,獲得用戶表單輸入數(shù)據(jù),竊取cookie和私密數(shù)據(jù),甚至劫持會(huì)話信息,偽造用戶請(qǐng)求。
現(xiàn)今瀏覽器依賴同源策略(sop),跨域資源共享(cors),內(nèi)容安全策略(csp)等安全機(jī)制防范第三方代碼竊取隱私。但是需要注意的是,所有的這些機(jī)制在應(yīng)用運(yùn)行時(shí)維持靜態(tài)的不變的訪問控制策略,要么授予某組件完全的訪問權(quán)限,要么完全阻止,所以并不能防止已經(jīng)收到信息的組件將獲得私密信息泄露出去。
現(xiàn)有的基于信息流控制的防范方法中,一般有細(xì)粒度和粗粒度兩種方法。細(xì)粒度方法一般向?qū)ο罅6鹊挠脩羲矫苄畔⒓由细呙舾屑?jí)別標(biāo)簽,追蹤javascript每一條命令,確保關(guān)聯(lián)高敏感級(jí)別標(biāo)簽的數(shù)據(jù)不會(huì)泄露出瀏覽器,從而保護(hù)用戶隱私。粗粒度方法和本方法有相似性,每一個(gè)同源的組件都會(huì)明確地關(guān)聯(lián)一個(gè)信息流標(biāo)簽,這個(gè)標(biāo)簽嚴(yán)格定義這個(gè)組件的訪問控制權(quán)限,每當(dāng)發(fā)生跨越組件邊界的信息傳遞時(shí),系統(tǒng)檢查相關(guān)的標(biāo)簽,按照規(guī)則決定這次傳遞是否成功。
然而,上述兩種方法都存在一定的不足和局限性。細(xì)粒度方法由于需要追蹤javascript每一條命令,所以它們通常需要對(duì)javascript引擎進(jìn)行大量的改動(dòng),或者直接實(shí)現(xiàn)一個(gè)安全性提高的javascript解釋器,從而造成性能太差和兼容性不好。此外細(xì)粒度方法也不能支持比同源策略靈活的策略。而現(xiàn)存的粗粒度方法沒有對(duì)可能造成隱私泄露的降密特權(quán)進(jìn)行限制。此外由于缺乏對(duì)第三方代碼庫(kù)有效的隔離機(jī)制,對(duì)導(dǎo)入第三方代碼庫(kù)的web應(yīng)用的防范支持不夠。
綜上所述,現(xiàn)有的基于信息流控制保護(hù)用戶隱私的系統(tǒng)方案存在如下不足:
一方面細(xì)粒度方法運(yùn)行在對(duì)象級(jí)別,有效的支持導(dǎo)入第三方代碼庫(kù)的web應(yīng)用的防范,但是由于需要對(duì)現(xiàn)在的javascript引擎大量修改,導(dǎo)致其性能和兼容性差。另一方面,粗粒度方法由于沒有提供對(duì)危險(xiǎn)的降密特權(quán)限制的有效機(jī)制,導(dǎo)致其可能造成隱私泄露,并且對(duì)導(dǎo)入第三方代碼庫(kù)的web應(yīng)用的防范支持不夠。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種基于信息流標(biāo)簽的web用戶隱私保護(hù)系統(tǒng)和方法,其目的在于提出了一種應(yīng)用于web瀏覽器環(huán)境的新型訪問控制標(biāo)簽?zāi)P停_保web應(yīng)用數(shù)據(jù)的完整性和私密性;提出了基于信息流標(biāo)簽的追蹤用戶私密信息消息傳遞規(guī)則,提供靈活實(shí)用的信息流控制策略,防止用戶隱私泄露,確保用戶信息的安全性;由此解決現(xiàn)有針對(duì)第三方代碼保護(hù)web用戶隱私方法中出現(xiàn)的局限和不足,保證用戶信息的私密性和完整性,以及系統(tǒng)的動(dòng)態(tài)性和高效性。
為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種基于信息流標(biāo)簽的web用戶隱私保護(hù)系統(tǒng),該系統(tǒng)包括:
標(biāo)簽添加模塊,用于為web組件和web組件之間的通信消息按照標(biāo)簽?zāi)P吞砑訕?biāo)簽;所述標(biāo)簽?zāi)P桶ńM件標(biāo)簽和消息標(biāo)簽,所述組件標(biāo)簽用于關(guān)聯(lián)組件,包括:
私密性標(biāo)簽,用于表示本組件包含的私密性信息;
完整性標(biāo)簽,用于表示本組件擁有的資源訪問權(quán)限信息;
特權(quán)標(biāo)簽,用于對(duì)私密性標(biāo)簽和完整性標(biāo)簽進(jìn)行更新,包括信息授權(quán)、信息降密和信息轉(zhuǎn)換;
所述消息標(biāo)簽用于關(guān)聯(lián)組件間傳遞的消息,表示關(guān)聯(lián)的消息包含私密性信息;
標(biāo)簽檢測(cè)模塊,用于當(dāng)消息傳遞時(shí),檢測(cè)web組件標(biāo)簽或通信消息標(biāo)簽是否滿足消息傳遞規(guī)則,是則消息傳遞成功,否則保護(hù)消息禁止傳遞。
進(jìn)一步地,所述標(biāo)簽檢測(cè)模塊中消息傳遞規(guī)則為,
信息流成功傳遞必須滿足:發(fā)送組件標(biāo)簽中的私密性標(biāo)簽小于等于接受組件標(biāo)簽中的私密性標(biāo)簽;發(fā)送組件標(biāo)簽中的完整性標(biāo)簽大于等于接受組件標(biāo)簽中的完整性標(biāo)簽;發(fā)送消息標(biāo)簽必須小于等于接受組件標(biāo)簽中的私密性標(biāo)簽,且接受組件接收到消息后,無法使用其特權(quán)標(biāo)簽影響其私密性標(biāo)簽中等于消息標(biāo)簽的子集。
進(jìn)一步地,所述標(biāo)簽添加模塊包括:
基于api的標(biāo)簽添加單元,用于通過系統(tǒng)提供的dom級(jí)別api,按標(biāo)簽?zāi)P皖A(yù)先為非靜態(tài)組件或通信消息添加標(biāo)簽;
基于安全策略的標(biāo)簽添加單元,用于當(dāng)非靜態(tài)組件或通信消息若沒有預(yù)先添加的標(biāo)簽時(shí),根據(jù)安全策略和標(biāo)簽?zāi)P蜑榉庆o態(tài)組件或通信消息自動(dòng)添加標(biāo)簽;
自動(dòng)模擬標(biāo)簽單元,用于按照標(biāo)簽?zāi)P蜑殪o態(tài)組件自動(dòng)模擬組件標(biāo)簽,私密性標(biāo)簽為靜態(tài)組件所屬的源,完整性標(biāo)簽為靜態(tài)組件的權(quán)限,特權(quán)標(biāo)簽為空。
進(jìn)一步地,當(dāng)所述組件引入了第三方代碼時(shí),創(chuàng)建輕量級(jí)進(jìn)程,該進(jìn)程和父進(jìn)程運(yùn)行在同一線程,并共享一樣的事件循環(huán),該進(jìn)程能直接訪問父進(jìn)程頁面的dom,放置組件中可信代碼到輕量級(jí)進(jìn)程,隔離第三方代碼。
進(jìn)一步地,所述標(biāo)簽檢測(cè)模塊包括:
瀏覽器內(nèi)部通道檢測(cè)單元,用于當(dāng)web組件之間進(jìn)行消息傳遞時(shí),根據(jù)消息傳遞規(guī)則檢測(cè)消息傳遞是否成功;
網(wǎng)絡(luò)通道檢測(cè)單元,用于當(dāng)web組件發(fā)出網(wǎng)絡(luò)請(qǐng)求時(shí),根據(jù)組件標(biāo)簽自動(dòng)定制新的安全策略,由安全策略檢測(cè)消息傳遞是否成功;
瀏覽器存儲(chǔ)通道檢測(cè)單元,用于當(dāng)web組件存取瀏覽器存儲(chǔ)時(shí),根據(jù)消息傳遞規(guī)則檢測(cè)消息傳遞是否成功。
按照本發(fā)明的另一方面,提供了一種基于信息流標(biāo)簽的web用戶隱私保護(hù)方法,該方法包括以下步驟:
(1)為web組件和web組件之間的通信消息按照標(biāo)簽?zāi)P吞砑訕?biāo)簽;所述標(biāo)簽?zāi)P桶ńM件標(biāo)簽和消息標(biāo)簽,所述組件標(biāo)簽關(guān)聯(lián)組件,包括:
私密性標(biāo)簽,表示本組件包含的私密性信息;
完整性標(biāo)簽,表示本組件擁有的資源訪問權(quán)限信息;
特權(quán)標(biāo)簽,對(duì)私密性標(biāo)簽和完整性標(biāo)簽進(jìn)行更新,包括信息授權(quán)、信息降密和信息轉(zhuǎn)換;
所述消息標(biāo)簽關(guān)聯(lián)組件間傳遞的消息,表示關(guān)聯(lián)的消息包含私密性信息;
(2)當(dāng)消息傳遞時(shí),檢測(cè)web組件標(biāo)簽或通信消息標(biāo)簽是否滿足消息傳遞規(guī)則,是則消息傳遞成功,否則保護(hù)消息禁止傳遞。
進(jìn)一步地,所述步驟(2)中消息傳遞規(guī)則為,信息流成功傳遞必須滿足:發(fā)送組件標(biāo)簽中的私密性標(biāo)簽小于等于接受組件標(biāo)簽中的私密性標(biāo)簽;發(fā)送組件標(biāo)簽中的完整性標(biāo)簽大于等于接受組件標(biāo)簽中的完整性標(biāo)簽;發(fā)送消息標(biāo)簽必須小于等于接受組件標(biāo)簽中的私密性標(biāo)簽,且接受組件接收到消息后,無法使用其特權(quán)標(biāo)簽影響其私密性標(biāo)簽中等于消息標(biāo)簽的子集。
進(jìn)一步地,所述步驟(1)包括:
(11)基于api的標(biāo)簽添加:通過系統(tǒng)提供的dom級(jí)別api,按標(biāo)簽?zāi)P皖A(yù)先為非靜態(tài)組件或通信消息添加標(biāo)簽;
(12)基于安全策略的標(biāo)簽添加:當(dāng)非靜態(tài)組件或通信消息若沒有預(yù)先添加的標(biāo)簽時(shí),根據(jù)安全策略和標(biāo)簽?zāi)P蜑榉庆o態(tài)組件或通信消息自動(dòng)添加標(biāo)簽;
(13)自動(dòng)模擬標(biāo)簽:按照標(biāo)簽?zāi)P蜑殪o態(tài)組件自動(dòng)模擬組件標(biāo)簽,私密性標(biāo)簽為靜態(tài)組件所屬的源,完整性標(biāo)簽為靜態(tài)組件的權(quán)限,特權(quán)標(biāo)簽為空。
進(jìn)一步地,當(dāng)所述組件引入了第三方代碼時(shí),創(chuàng)建輕量級(jí)進(jìn)程,該進(jìn)程和父進(jìn)程運(yùn)行在同一線程,并共享一樣的事件循環(huán),該進(jìn)程能直接訪問父進(jìn)程頁面的dom,放置組件中可信代碼到輕量級(jí)進(jìn)程,隔離第三方代碼。
進(jìn)一步地,所述步驟(2)包括:
瀏覽器內(nèi)部通道檢測(cè):當(dāng)web組件之間進(jìn)行消息傳遞時(shí),根據(jù)消息傳遞規(guī)則檢測(cè)消息傳遞是否成功;
網(wǎng)絡(luò)通道檢測(cè):當(dāng)web組件發(fā)出網(wǎng)絡(luò)請(qǐng)求時(shí),根據(jù)組件標(biāo)簽自動(dòng)定制新的安全策略,由安全策略檢測(cè)消息傳遞是否成功;
瀏覽器存儲(chǔ)通道檢測(cè):當(dāng)web組件存取瀏覽器存儲(chǔ)時(shí),根據(jù)消息傳遞規(guī)則檢測(cè)消息傳遞是否成功。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)特征及有益效果:
(1)本發(fā)明技術(shù)方案針對(duì)web組件和組件之間傳遞的消息提出了一種應(yīng)用于web瀏覽器環(huán)境的新型訪問控制標(biāo)簽?zāi)P停恍枰獙?duì)現(xiàn)存瀏覽器內(nèi)javascript引擎做任何改變,也沒有禁用javascript的部分功能,保證了其兼容性和完整性;
(2)本發(fā)明技術(shù)方案針對(duì)標(biāo)簽?zāi)P鸵肓讼鬟f規(guī)則,只對(duì)跨越組件邊界的信息傳遞實(shí)施相關(guān)標(biāo)簽的檢測(cè),并且引入有效的,輕量級(jí)的消息標(biāo)簽用來追蹤用戶的私密信息,并且限制危險(xiǎn)的降密特權(quán),保證了系統(tǒng)的安全性;
(3)本發(fā)明技術(shù)方案引入性能優(yōu)越的輕量級(jí)進(jìn)程隔離第三方陌生代碼,提高了對(duì)導(dǎo)入第三方代碼庫(kù)的web應(yīng)用的防范力度,不影響瀏覽器擴(kuò)展,集成第三方服務(wù)的應(yīng)用。
附圖說明
圖1是采用本發(fā)明技術(shù)方案防范瀏覽器擴(kuò)展應(yīng)用(云筆記)的結(jié)構(gòu)流程示意圖;
圖2是采用本發(fā)明技術(shù)方案防范包含第三方代碼庫(kù)應(yīng)用的結(jié)構(gòu)流程示意圖;
圖3是本發(fā)明系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
如圖1所示,采用本發(fā)明技術(shù)方案防范瀏覽器擴(kuò)展應(yīng)用云筆記竊取用戶密碼包括以下步驟:
在這個(gè)示例中,組件用矩形表示,通信操作用箭頭表示,事件的執(zhí)行順序依次編號(hào),由于消息標(biāo)簽被鎖定的標(biāo)識(shí)用符號(hào)“鎖”表示;
第三方擴(kuò)展應(yīng)用云筆記(cloudnote.com)可以獲取頁面a.com的文檔并上傳至云端,此外云筆記包含的惡意代碼試圖獲取頁面a.com的用戶密碼,并泄露出去。初始開發(fā)者調(diào)用系統(tǒng)提供的api為各個(gè)組件分發(fā)標(biāo)簽,其中第三方擴(kuò)展應(yīng)用云筆記(cloudnote.com)的初始組件標(biāo)簽為:
私密標(biāo)簽sevil={cloudnote.com};
完整性標(biāo)簽ievil={};
特權(quán)標(biāo)簽oevil={network+,a.com+,a.com-};
頁面a.com的初始組件標(biāo)簽為:
私密標(biāo)簽sa={a.com};
完整性標(biāo)簽ia={};
特權(quán)標(biāo)簽oa={};
同時(shí)頁面a.com中的私密性信息,即用戶密碼關(guān)聯(lián)了消息標(biāo)簽sm={a.com}。
s1:云筆記使用a.com+標(biāo)識(shí)擴(kuò)展其私密性標(biāo)簽sevil,sevil={cloudnote.com,a.com};使sevil≧sa從而可以獲取a.com的文檔。
s2:云筆記試圖將獲得的文檔傳至云端,系統(tǒng)自動(dòng)模擬此網(wǎng)絡(luò)通道的標(biāo)簽為snet={cloudnote.com},inet={network};
云筆記使用a.com-標(biāo)識(shí)和network+標(biāo)識(shí)使sevil={cloudnote.com};ievil={network};從而sevil≦snet,ievil≧inet,將獲得的文檔上傳云端;
s3:在云筆記中的惡意代碼試圖獲得a.com的密碼數(shù)據(jù);云筆記再次使用a.com+標(biāo)識(shí)擴(kuò)展其私密性標(biāo)簽sevil={cloudnote.com,a.com},使sevil≧sa從而可以獲取密碼數(shù)據(jù),于是關(guān)聯(lián)了消息標(biāo)簽sm的密碼數(shù)據(jù)被傳送至云筆記;
s4:云筆記試圖將獲得的用戶密碼泄露出瀏覽器,因?yàn)榘艽a數(shù)據(jù)的a.com是由消息標(biāo)簽傳送至云筆記的,所以即使云筆記擁有a.com-標(biāo)識(shí),也不能將標(biāo)識(shí)a.com從sevil中除去,從而是標(biāo)簽檢測(cè)失敗,也就無法通過網(wǎng)絡(luò)將用戶密碼泄露出去。
如圖2所示,采用本發(fā)明技術(shù)方案防范包括第三方代碼的應(yīng)用包括以下步驟:
在這個(gè)示例中,組件用矩形表示,通信操作用箭頭表示,事件的執(zhí)行順序依次編號(hào),由于消息標(biāo)簽被鎖定的標(biāo)識(shí)用符號(hào)“鎖”表示;
主頁面a.com導(dǎo)入不可信的第三方代碼庫(kù)jquery,初始開發(fā)者調(diào)用系統(tǒng)提供的api為各個(gè)組件分發(fā)標(biāo)簽,在主頁面a.com加載時(shí),需要從jquery.com下載jquery代碼,所以其初始組件標(biāo)簽為:
私密標(biāo)簽sa={a.com};
完整性標(biāo)簽ia={};
特權(quán)標(biāo)簽oa={network+,a.com→jquery.com,a.com+,jquery.com-};
s1:主頁面a.com將可信代碼放入新創(chuàng)建的輕量級(jí)進(jìn)程lworker,并讓lworker的初始組件標(biāo)簽(sworker,iworker,oworker)與主頁面a.com的組件標(biāo)簽一致;
s2:lworker使用oworker中的a.com→jquery.com標(biāo)識(shí)和network+標(biāo)識(shí)使sworker={jquery.com},iworker={network},并通過網(wǎng)絡(luò)請(qǐng)求jquery.com下載jquery代碼,由于網(wǎng)絡(luò)通道的組件標(biāo)簽被模擬snet={jquery.com},inet={network},所以sworker≦snet,iworker≧inet,所以此次網(wǎng)絡(luò)請(qǐng)求被允許;
s3:lworker使用a.com+標(biāo)識(shí)和jquery.com-標(biāo)識(shí)使sworker={a.com},iworker={network},sworker≦sa,iworker≧ia,從而將jquery代碼發(fā)送至主頁面a.com;同時(shí)包含jquery代碼的通信消息關(guān)聯(lián)了消息標(biāo)簽sm={a.com};
s4:主頁面a.com由于不被信任的第三方j(luò)query代碼,變?yōu)椴话踩?。但是即使主頁面a.com擁有a.com→jquery.com標(biāo)識(shí),也不能將a.com從sa中除去,也就不能通過網(wǎng)絡(luò)通道向不被信任的第三方遠(yuǎn)端服務(wù)器泄露信息;與此同時(shí)可信任的lworker可以自由訪問主頁面dom,發(fā)送網(wǎng)絡(luò)請(qǐng)求。
如圖3所示,本發(fā)明一種基于信息流標(biāo)簽的web用戶隱私保護(hù)系統(tǒng)包括:
標(biāo)簽添加模塊,用于為web組件和web組件之間的通信消息按照標(biāo)簽?zāi)P吞砑訕?biāo)簽;所述標(biāo)簽?zāi)P桶ńM件標(biāo)簽和消息標(biāo)簽,所述組件標(biāo)簽用于關(guān)聯(lián)組件,包括:私密性標(biāo)簽,用于表示本組件包含的私密性信息;完整性標(biāo)簽,用于表示本組件擁有的資源訪問權(quán)限信息;特權(quán)標(biāo)簽,用于對(duì)私密性標(biāo)簽和完整性標(biāo)簽進(jìn)行更新,包括信息授權(quán)、信息降密和信息轉(zhuǎn)換;所述消息標(biāo)簽用于關(guān)聯(lián)組件間傳遞的消息,表示關(guān)聯(lián)的消息包含私密性信息;
標(biāo)簽檢測(cè)模塊,用于當(dāng)消息傳遞時(shí),檢測(cè)web組件標(biāo)簽或通信消息標(biāo)簽是否滿足消息傳遞規(guī)則,是則消息傳遞成功,否則保護(hù)消息禁止傳遞;其中所述標(biāo)簽檢測(cè)模塊中消息傳遞規(guī)則為,信息流成功傳遞必須滿足:發(fā)送組件標(biāo)簽中的私密性標(biāo)簽小于等于接受組件標(biāo)簽中的私密性標(biāo)簽;發(fā)送組件標(biāo)簽中的完整性標(biāo)簽大于等于接受組件標(biāo)簽中的完整性標(biāo)簽;發(fā)送消息標(biāo)簽必須小于等于接受組件標(biāo)簽中的私密性標(biāo)簽,且接受組件接收到消息后,無法使用其特權(quán)標(biāo)簽影響其私密性標(biāo)簽中等于消息標(biāo)簽的子集。
所述標(biāo)簽添加模塊包括:
基于api的標(biāo)簽添加單元,用于通過系統(tǒng)提供的dom級(jí)別api,按標(biāo)簽?zāi)P皖A(yù)先為非靜態(tài)組件或通信消息添加標(biāo)簽;
基于安全策略的標(biāo)簽添加單元,用于當(dāng)非靜態(tài)組件或通信消息若沒有預(yù)先添加的標(biāo)簽時(shí),根據(jù)安全策略和標(biāo)簽?zāi)P蜑榉庆o態(tài)組件或通信消息自動(dòng)添加標(biāo)簽;
自動(dòng)模擬標(biāo)簽單元,用于按照標(biāo)簽?zāi)P蜑殪o態(tài)組件自動(dòng)模擬組件標(biāo)簽,私密性標(biāo)簽為靜態(tài)組件所屬的源,完整性標(biāo)簽為靜態(tài)組件的權(quán)限,特權(quán)標(biāo)簽為空。
當(dāng)所述組件引入了第三方代碼時(shí),創(chuàng)建輕量級(jí)進(jìn)程,該進(jìn)程和父進(jìn)程運(yùn)行在同一線程,并共享一樣的事件循環(huán),該進(jìn)程能直接訪問父進(jìn)程頁面的dom,放置組件中可信代碼到輕量級(jí)進(jìn)程,隔離第三方代碼。
所述標(biāo)簽檢測(cè)模塊包括:
瀏覽器內(nèi)部通道檢測(cè)單元,用于當(dāng)web組件之間進(jìn)行消息傳遞時(shí),根據(jù)消息傳遞規(guī)則檢測(cè)消息傳遞是否成功;
網(wǎng)絡(luò)通道檢測(cè)單元,用于當(dāng)web組件發(fā)出網(wǎng)絡(luò)請(qǐng)求時(shí),根據(jù)組件標(biāo)簽自動(dòng)定制新的安全策略,由安全策略檢測(cè)消息傳遞是否成功;
瀏覽器存儲(chǔ)通道檢測(cè)單元,用于當(dāng)web組件存取瀏覽器存儲(chǔ)時(shí),根據(jù)消息傳遞規(guī)則檢測(cè)消息傳遞是否成功。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。