專利名稱:防篡改的位置服務(wù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及位置服務(wù),尤其是防篡改的位置服務(wù)。
背景技術(shù):
位置服務(wù)正變?yōu)槠胀ㄓ?jì)算設(shè)備的更為常見(jiàn)的部分。雖然全球定位系統(tǒng)(GPS)芯片首先在提供方向的專用設(shè)備中常見(jiàn),但在移動(dòng)電話、便攜式游戲設(shè)備、和膝上型計(jì)算機(jī)中變得越來(lái)越常見(jiàn)。計(jì)算軟件正開(kāi)始使用設(shè)備當(dāng)前位置來(lái)提供各種服務(wù),諸如位置列表(例如, 用于餐廳或其他服務(wù))、方向、天氣信息等。某些操作系統(tǒng)已被更新為包括軟件應(yīng)用可以調(diào)用來(lái)以一致的方式(例如,在不為不同的硬件類型作出修改的情況下)得到位置信息的位置服務(wù)應(yīng)用編程接口(API)。地理位置影響遠(yuǎn)不止用戶可能感興趣發(fā)現(xiàn)的零售商的類型。例如,很多國(guó)家具有限制可在那些國(guó)家內(nèi)的設(shè)備中包括的加密類型的出口法律。其他國(guó)家限制對(duì)受版權(quán)保護(hù)的內(nèi)容的傳輸。由此,用戶的位置可以改變影響如何許可用戶使用計(jì)算設(shè)備的法律框架。操作系統(tǒng)通常負(fù)責(zé)實(shí)施對(duì)數(shù)據(jù)和服務(wù)的訪問(wèn)控制,并且有時(shí)期望操作系統(tǒng)提供示出用戶執(zhí)行哪些動(dòng)作的審計(jì)蹤跡。當(dāng)前,訪問(wèn)控制決定通?;谧罱?jīng)常由用戶標(biāo)識(shí)符(例如,用戶名和密碼)而非其他所標(biāo)識(shí)的安全主體的概念。對(duì)于移動(dòng)計(jì)算設(shè)備,可以在各種各樣的地理位置訪問(wèn)數(shù)據(jù)和服務(wù)。操作系統(tǒng)當(dāng)前不利用位置信息來(lái)作出決定。還存在期望能夠證明具體動(dòng)作執(zhí)行時(shí)計(jì)算機(jī)位于特定位置的情形,但是如今位置服務(wù)并不用于這種實(shí)例。
發(fā)明內(nèi)容
此處描述了利用基于位置的服務(wù)和硬件來(lái)作出訪問(wèn)決定的安全位置系統(tǒng)。很多移動(dòng)計(jì)算機(jī)具有位置設(shè)備,諸如GPS。它們還具有受信平臺(tái)模塊(TPM)或其他安全設(shè)備。目前,使GPS位置數(shù)據(jù)對(duì)使用簡(jiǎn)單協(xié)議的非受信應(yīng)用代碼是直接可以訪問(wèn)的。安全位置系統(tǒng)提供了安全機(jī)制,操作系統(tǒng)內(nèi)核和TPM可借此證實(shí)計(jì)算機(jī)在具體時(shí)間的GPS位置。在某些實(shí)施例中,安全位置系統(tǒng)使用指示活動(dòng)時(shí)計(jì)算設(shè)備的地理位置的標(biāo)記將用戶活動(dòng)記入日志。 安全位置系統(tǒng)可以通過(guò)組合內(nèi)核模式GPS訪問(wèn)以及TPM安全硬件來(lái)提供難以偽造(即防篡改)、帶時(shí)間戳的位置。在某些實(shí)施例中,系統(tǒng)提供了可用于驗(yàn)證在特定位置發(fā)生的特定動(dòng)作的安全審計(jì)蹤跡。系統(tǒng)還可基于地理位置和/或時(shí)間來(lái)限制對(duì)操作系統(tǒng)服務(wù)的使用或?qū)υL問(wèn)控制決定的改變。安全位置系統(tǒng)通過(guò)使GPS硬件僅可由內(nèi)核訪問(wèn)來(lái)執(zhí)行這些動(dòng)作。TPM確保操作系統(tǒng)和引導(dǎo)加載器代碼來(lái)自受信源。操作系統(tǒng)讀取安全的GPS位置,并將經(jīng)證實(shí)的GPS/時(shí)間數(shù)據(jù)提供給用戶空間進(jìn)程。系統(tǒng)形成從早至引導(dǎo)過(guò)程到用戶進(jìn)程的執(zhí)行的信任鏈,該用戶進(jìn)程的執(zhí)行監(jiān)視并控制應(yīng)用如何提供并使用GPS信息。由此,安全位置系統(tǒng)將安全位置信息并入授權(quán)和其他操作系統(tǒng)決定中。提供本發(fā)明內(nèi)容以便以簡(jiǎn)化的形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。
圖I是示出一個(gè)實(shí)施例中的安全位置系統(tǒng)的組件的框圖。圖2是示出一個(gè)實(shí)施例中的基于位置信息來(lái)設(shè)置資源許可的安全位置系統(tǒng)的處理的流程圖。圖3是示出一個(gè)實(shí)施例中的使用基于位置的訪問(wèn)許可來(lái)訪問(wèn)資源的安全位置系統(tǒng)的處理的流程圖。
具體實(shí)施例方式此處描述了利用基于位置的服務(wù)和硬件來(lái)作出訪問(wèn)決定的安全位置系統(tǒng)。例如, 可以想到的是,操作系統(tǒng)應(yīng)該基于計(jì)算機(jī)的物理位置來(lái)許可對(duì)文件和服務(wù)的不同子集的訪問(wèn),例如,當(dāng)在各個(gè)國(guó)家或辦公室以外時(shí)不允許對(duì)特定文件的訪問(wèn)。很多移動(dòng)計(jì)算機(jī)具有位置設(shè)備,諸如GPS。它們還具有受信平臺(tái)模塊(TPM)或其他安全設(shè)備。目前,使GPS位置數(shù)據(jù)對(duì)使用簡(jiǎn)單協(xié)議(例如,RS232或USB)的非受信應(yīng)用代碼是直接可以訪問(wèn)的。安全位置系統(tǒng)提供安全機(jī)制,操作系統(tǒng)內(nèi)核和TPM可借此證實(shí)計(jì)算機(jī)在具體時(shí)間的GPS位置。在某些實(shí)施例中,安全位置系統(tǒng)使用指示活動(dòng)時(shí)計(jì)算設(shè)備的地理位置的標(biāo)記將用戶活動(dòng)記入日
O安全位置系統(tǒng)可以通過(guò)組合內(nèi)核模式GPS訪問(wèn)以及TPM (或類似的)安全硬件來(lái)提供難以偽造(即防篡改)、帶時(shí)間戳的位置。在某些實(shí)施例中,系統(tǒng)提供了可用于驗(yàn)證在特定位置發(fā)生的特定動(dòng)作的安全審計(jì)蹤跡。系統(tǒng)還可基于地理位置和/或時(shí)間來(lái)限制對(duì)操作系統(tǒng)服務(wù)的使用或?qū)?文件)訪問(wèn)控制決定的改變。例如,一個(gè)公司可在一膝上型計(jì)算機(jī)位于公司的企業(yè)總部?jī)?nèi)時(shí)提供對(duì)該計(jì)算機(jī)上的一文件集的訪問(wèn),但在該計(jì)算機(jī)被帶到別處時(shí)可將訪問(wèn)減少為針對(duì)文件的較小的子集。作為另一個(gè)示例,安全位置系統(tǒng)可在計(jì)算設(shè)備位于允許56位加密限制的國(guó)家時(shí)使用一種類型的加密(例如,用于安全網(wǎng)頁(yè)訪問(wèn)),而在位于允許更高加密級(jí)別的國(guó)家時(shí)使用另一種類型的加密。在該示例中,盡管共享的二進(jìn)制模塊集可被發(fā)送到每一地點(diǎn),但操作系統(tǒng)廠商可向每個(gè)位置證實(shí)操作系統(tǒng)遵守該國(guó)的法律。安全位置系統(tǒng)通過(guò)使GPS硬件僅可由內(nèi)核可能通過(guò)私有加密通道訪問(wèn)來(lái)執(zhí)行這些動(dòng)作。TPM確保操作系統(tǒng)和引導(dǎo)加載器代碼來(lái)自受信源。操作系統(tǒng)讀取安全的GPS位置, 并將經(jīng)證實(shí)的GPS/時(shí)間數(shù)據(jù)提供給用戶空間進(jìn)程。系統(tǒng)形成從早至引導(dǎo)過(guò)程到用戶進(jìn)程的執(zhí)行的信任鏈,該用戶進(jìn)程的執(zhí)行監(jiān)視并控制應(yīng)用如何提供并使用GPS信息。系統(tǒng)可包括經(jīng)修改的文件、目錄、和其他資源元數(shù)據(jù)以包括嵌入地理區(qū)域的訪問(wèn)控制列表。例如,管理員不僅可以指定誰(shuí),還可以指定在哪里(以及甚至是什么時(shí)候)了訪問(wèn)文件。文件和目錄時(shí)間戳(訪問(wèn)時(shí)間(atime)、改變時(shí)間(ctime)、修改時(shí)間(mtime))可被擴(kuò)充以包括地理位置。操作系統(tǒng)使用安全的GPS位置數(shù)據(jù)來(lái)擴(kuò)充其用戶活動(dòng)日志(例如,MICROSOFT TM WINDOWS TM安全事件日志)。應(yīng)用可以讀取并獲得位置的證書(shū)。在應(yīng)用讀取文件時(shí),可以基于位置在操作系統(tǒng)或更安全的級(jí)別選擇其得到的數(shù)據(jù)。在某些實(shí)施例中,安全位置系統(tǒng)可基于計(jì)算機(jī)目前所位于的國(guó)家/地區(qū),在用戶級(jí)替換整個(gè)文件系統(tǒng)外觀(例如,使用隱寫文件系統(tǒng))。由此,安全位置系統(tǒng)將安全位置信息并入授權(quán)和其他操作系統(tǒng)決定中。圖I是示出一個(gè)實(shí)施例中的安全位置系統(tǒng)的組件的框圖。系統(tǒng)100包括位置硬件組件110、硬件安全組件120、內(nèi)核位置提供者130、位置認(rèn)證組件140、位置審計(jì)組件150、和位置驗(yàn)證組件160。這些組件中的每一個(gè)都在此處進(jìn)一步詳細(xì)討論。位置硬件組件110提供指示系統(tǒng)的當(dāng)前地理位置的硬件信號(hào)。例如,組件110可包括提供緯度和經(jīng)度坐標(biāo)、從其可得出緯度和經(jīng)度的三角測(cè)量信息、或其他位置信息的GPS、 Wi-Fi、或蜂窩式芯片。移動(dòng)設(shè)備可使用硬化和其他信息(例如,所分配的因特網(wǎng)協(xié)議(IP) 地址)的組合來(lái)確定計(jì)算設(shè)備的大致或精確位置。位置硬件系統(tǒng)110提供從其確定系統(tǒng)的位置的根信息。硬件安全組件120提供對(duì)運(yùn)行在系統(tǒng)上的軟件代碼的可信計(jì)算保證。組件120可包括TPM、處理器序列號(hào)、秘密的信任鏈、或被設(shè)計(jì)為提供關(guān)于計(jì)算設(shè)備的安全性的權(quán)威信息的其他硬件和軟件組件。在某些情形中,系統(tǒng)可包括由TPM內(nèi)的密鑰加密和解密地存儲(chǔ)的引導(dǎo)加載器代碼。這允許TPM驗(yàn)證該引導(dǎo)加載器代碼是安全的并且來(lái)自受信源。在某些情形中,密鑰是公鑰/私鑰對(duì)的公共部分,并且使用公鑰的成功解密指示了該代碼是由私鑰的持有者所簽署的。在對(duì)引導(dǎo)加載器代碼解密之后,硬件安全組件120可以繼續(xù)以相似的方式來(lái)加載操作系統(tǒng),驗(yàn)證正被執(zhí)行的代碼。同樣,系統(tǒng)可以驗(yàn)證位置硬件組件110的驅(qū)動(dòng)程序,使得創(chuàng)建從位置硬件到操作系統(tǒng)的安全的信任鏈。內(nèi)核位置提供者130提供從操作系統(tǒng)內(nèi)核到使用位置信息的用戶模式服務(wù)和應(yīng)用的接口。該接口可包括應(yīng)用或操作系統(tǒng)服務(wù)可用來(lái)接收安全位置信息并且基于計(jì)算設(shè)備的當(dāng)前位置作出決定的一個(gè)或多個(gè)API。內(nèi)核位置提供者130可包括用于提供驅(qū)動(dòng)程序或其他軟件的可插入的模型,該驅(qū)動(dòng)程序或其他軟件用于與各種位置和安全硬件設(shè)備交互以按照常見(jiàn)的方式向應(yīng)用和服務(wù)展示安全位置信息。位置認(rèn)證組件140根據(jù)位置硬件組件110和硬件安全組件120獲取指示當(dāng)前位置的證書(shū)。該證書(shū)可包括對(duì)計(jì)算設(shè)備的位置以及生成證書(shū)的時(shí)間的經(jīng)簽署的指示。硬件安全組件120可以使用密鑰或其上生成證書(shū)的計(jì)算設(shè)備專用的其他密碼標(biāo)識(shí)符來(lái)簽署該證書(shū), 來(lái)作為位置信息的源的標(biāo)志。應(yīng)用可將證書(shū)存儲(chǔ)為所采取的動(dòng)作是基于可驗(yàn)證的位置信息而執(zhí)行的證明。位置審計(jì)組件150存儲(chǔ)與計(jì)算設(shè)備相關(guān)聯(lián)的安全位置信息的審計(jì)蹤跡。該組件可以存儲(chǔ)指示設(shè)備在各個(gè)時(shí)間的一個(gè)或多個(gè)位置的一個(gè)或多個(gè)文件、數(shù)據(jù)庫(kù)條目或其他結(jié)構(gòu)化數(shù)據(jù)。在某些實(shí)施例中,每次應(yīng)用或服務(wù)向位置認(rèn)證組件140請(qǐng)求位置證書(shū)時(shí),位置審計(jì)組件150都存儲(chǔ)對(duì)設(shè)備的位置的指示。系統(tǒng)100還可以周期性地指示位置審計(jì)組件150從位置硬件組件110獲得位置信息,并且將審計(jì)蹤跡與已接收的信息存儲(chǔ)在一起。這允許管理員或其他用戶稍后驗(yàn)證計(jì)算設(shè)備曾到過(guò)哪里,以及在每個(gè)位置可能執(zhí)行了什么動(dòng)作。在某些實(shí)施例中,管理員可以將周期性地將審計(jì)蹤跡上傳到中央儲(chǔ)存庫(kù)的軟件安裝到計(jì)算設(shè)備上,使得機(jī)構(gòu)可以跟蹤與該機(jī)構(gòu)相關(guān)聯(lián)的設(shè)備在哪里以及如何被使用。如果例如設(shè)備被帶到已定義的可接受位置邊界以外,則系統(tǒng)100還可向IT人員提供警告或通知。例如,公司可能想要防止發(fā)布之前的計(jì)算設(shè)備離開(kāi)測(cè)試實(shí)驗(yàn)室或企業(yè)大樓。位置驗(yàn)證組件160向內(nèi)核位置提供者130請(qǐng)求位置信息,并且基于已接收的位置信息來(lái)執(zhí)行一個(gè)或多個(gè)動(dòng)作。計(jì)算設(shè)備可以具有包括位置驗(yàn)證組件160的很多應(yīng)用和服務(wù),該位置驗(yàn)證組件160基于設(shè)備的當(dāng)前位置作出決定。例如,文件系統(tǒng)過(guò)濾器可以基于設(shè)備的當(dāng)前位置來(lái)確定哪些文件應(yīng)用可以訪問(wèn)。地圖位置可以基于設(shè)備的當(dāng)前位置來(lái)顯示地圖和其他信息。操作系統(tǒng)可以基于當(dāng)?shù)胤蓙?lái)啟用和禁用特征,或者基于設(shè)備的位置來(lái)啟用或禁用其他限制。從設(shè)備的最早引導(dǎo)到內(nèi)核層實(shí)施的信任鏈允許應(yīng)用和服務(wù)信任從操作系統(tǒng)接收的位置信息。在其上面實(shí)現(xiàn)了安全位置系統(tǒng)的計(jì)算設(shè)備可包括中央處理單元、存儲(chǔ)器、輸入設(shè)備(例如,鍵盤和指向設(shè)備)、輸出設(shè)備(例如,顯示設(shè)備),以及存儲(chǔ)設(shè)備(例如,磁盤驅(qū)動(dòng)器或其他非易失性存儲(chǔ)介質(zhì))。存儲(chǔ)器和存儲(chǔ)設(shè)備是可以用實(shí)現(xiàn)或啟用該系統(tǒng)的計(jì)算機(jī)可執(zhí)行指令(例如,軟件)來(lái)編碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。此外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)可被存儲(chǔ)或經(jīng)由諸如通信鏈路上的信號(hào)等數(shù)據(jù)傳送介質(zhì)發(fā)送??梢允褂酶鞣N通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點(diǎn)對(duì)點(diǎn)撥號(hào)連接、蜂窩電話網(wǎng)絡(luò)等。該系統(tǒng)的實(shí)施例可以在各種操作環(huán)境中實(shí)現(xiàn),這些操作環(huán)境包括個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)電子產(chǎn)品、數(shù)碼照相機(jī)、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任何上述系統(tǒng)或設(shè)備、機(jī)頂盒、片上系統(tǒng)(SOC)等中任一種的分布式計(jì)算環(huán)境等。計(jì)算機(jī)系統(tǒng)可以是蜂窩電話、個(gè)人數(shù)字助理、智能電話、個(gè)人計(jì)算機(jī)、可編程消費(fèi)電子設(shè)備、數(shù)碼相機(jī)等。該系統(tǒng)可以在由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。通常,程序模塊的功能可在各個(gè)實(shí)施例中按需進(jìn)行組合或分布。圖2是示出一個(gè)實(shí)施例中的基于位置信息來(lái)設(shè)置資源許可的安全位置系統(tǒng)的處理的流程圖。資源可包括文件、目錄、打印機(jī)、配置條目、用戶帳戶、或操作系統(tǒng)內(nèi)通常包括安全信息的任何其他對(duì)象,諸如訪問(wèn)控制列表(ACL)或訪問(wèn)控制條目(ACE)。安全位置系統(tǒng)對(duì)這些數(shù)據(jù)結(jié)構(gòu)進(jìn)行擴(kuò)展以包括位置信息作為訪問(wèn)資源的許可準(zhǔn)則。在框210中開(kāi)始,系統(tǒng)接收更新對(duì)所標(biāo)識(shí)的資源的許可以便包括基于位置的許可信息的許可更新請(qǐng)求。例如,應(yīng)用可以通過(guò)操作系統(tǒng)API來(lái)發(fā)送該請(qǐng)求,或者用戶可以使命令行解釋(shell)程序或其他工具來(lái)提交該請(qǐng)求。該請(qǐng)求通過(guò)路徑或其他標(biāo)識(shí)符來(lái)標(biāo)識(shí)資源,并且包括訪問(wèn)控制信息,諸如包括地理位置作為至少一個(gè)訪問(wèn)準(zhǔn)則的ACL和/或ACE。 例如,請(qǐng)求可以指示對(duì)只能從美國(guó)訪問(wèn)文件的許可。繼續(xù)到框220,系統(tǒng)定位所標(biāo)識(shí)的資源。該資源可存儲(chǔ)在磁盤(例如,文件或文件夾)上、在配置數(shù)據(jù)庫(kù)(例如,注冊(cè)表?xiàng)l目)內(nèi)、在目錄(例如,活動(dòng)目錄資源)內(nèi)等。系統(tǒng)定位資源以檢索與該條目相關(guān)聯(lián)的任何有關(guān)的訪問(wèn)控制元數(shù)據(jù)。例如,該資源可包括連續(xù)地存儲(chǔ)的或與該資源相關(guān)聯(lián)的記錄,該記錄指定了訪問(wèn)控制信息。繼續(xù)到框230,系統(tǒng)定位與所標(biāo)識(shí)的資源相關(guān)聯(lián)的訪問(wèn)控制列表。在某些實(shí)施例中,系統(tǒng)修改現(xiàn)有的操作系統(tǒng)API以定位并檢索地理訪問(wèn)限制的訪問(wèn)控制信息。操作系統(tǒng)通常包括用于導(dǎo)航并修改與各種類型的資源相關(guān)聯(lián)的訪問(wèn)控制信息的健壯的安全API集。繼續(xù)到框240,系統(tǒng)從伴隨該請(qǐng)求的基于位置的許可信息中確定一個(gè)或多個(gè)被允許的動(dòng)作。動(dòng)作可包括資源是否可被讀、寫、包括在列表中等?;谖恢玫脑S可信息可以標(biāo)識(shí)有界地理區(qū)域,諸如邊由坐標(biāo)定義的矩形、或其他合適的區(qū)域。例如,系統(tǒng)可以接收中心點(diǎn)和該中心點(diǎn)周圍的、標(biāo)識(shí)允許或不允許發(fā)生動(dòng)作的地理區(qū)域的半徑。許可在本質(zhì)上既可以是正面的也可以是負(fù)面的,指示了關(guān)于所標(biāo)識(shí)的資源允許或者不允許的東西。繼續(xù)到框250,系統(tǒng)更新已定位的訪問(wèn)控制列表以包括被允許的基于位置的動(dòng)作。 訪問(wèn)控制列表通常包括與用戶可執(zhí)行哪些動(dòng)作有關(guān)的許可數(shù)據(jù)的分層結(jié)構(gòu),并且系統(tǒng)修改這些列表以包括可在哪里執(zhí)行動(dòng)作??蓪⒒谖恢玫脑L問(wèn)控制信息與其他訪問(wèn)控制信息進(jìn)行組合,使得例如管理員可以在任何位置讀文件,但受到更大限制的用戶只能在指定的地理區(qū)域內(nèi)讀文件。繼續(xù)到框260,系統(tǒng)存儲(chǔ)與所標(biāo)識(shí)的資源相關(guān)聯(lián)的已更新的訪問(wèn)控制列表,使得隨后訪問(wèn)所標(biāo)識(shí)的資源的嘗試將受到指定的基于位置的訪問(wèn)信息的限制。例如,如果訪問(wèn)控制列表指示可執(zhí)行動(dòng)作的具體區(qū)域,則系統(tǒng)將在允許訪問(wèn)之前測(cè)試訪問(wèn)請(qǐng)求是否在該區(qū)域發(fā)生。參考圖3進(jìn)一步描述這一過(guò)程。在框260之后,這些步驟結(jié)束。圖3是示出一個(gè)實(shí)施例中的使用基于位置的訪問(wèn)許可來(lái)訪問(wèn)資源的安全位置系統(tǒng)的處理的流程圖。計(jì)算系統(tǒng)內(nèi)的資源可包括位置信息作為訪問(wèn)資源的多個(gè)準(zhǔn)則之一。例如,文件可包括用戶和位置限制,使得特定的用戶只能從指定的位置訪問(wèn)該文件。在框310中開(kāi)始,系統(tǒng)接收訪問(wèn)所標(biāo)識(shí)的資源的請(qǐng)求,其中所標(biāo)識(shí)的資源包括基于位置的訪問(wèn)信息。例如,資源可包括文件、目錄、打印機(jī)、計(jì)算機(jī)外設(shè)、配置數(shù)據(jù)庫(kù)條目、或操作系統(tǒng)為其定義并實(shí)施訪問(wèn)控制的其他資源。該請(qǐng)求可以來(lái)自應(yīng)用調(diào)用用于訪問(wèn)文件或其他資源的操作系統(tǒng)API。請(qǐng)求包括標(biāo)識(shí)與該請(qǐng)求相關(guān)聯(lián)的安全主體的安全令牌。繼續(xù)到框320,系統(tǒng)訪問(wèn)位置信息的安全源。例如,系統(tǒng)可以調(diào)用向GPS和/或TPM 硬件請(qǐng)求位置證書(shū)的操作系統(tǒng)API,該位置證書(shū)提供可驗(yàn)證的以及可審核的位置指示。位置指示可包括緯度和經(jīng)度坐標(biāo)、或其他位置說(shuō)明、以及時(shí)間戳和確認(rèn)位置信息是當(dāng)前的并且未被篡改的其他標(biāo)識(shí)信息。計(jì)算設(shè)備可包括創(chuàng)建信任鏈的安全引導(dǎo)進(jìn)程,該信任鏈確保操作系統(tǒng)對(duì)位置硬件具有控制以及與從操作系統(tǒng)接收的位置有關(guān)的輸出是可信的。繼續(xù)到框330,系統(tǒng)從位置信息的安全源接收位置證書(shū),該位置證書(shū)指示接收請(qǐng)求的計(jì)算設(shè)備的當(dāng)前地理位置。該證書(shū)可包括簽名或?qū)ξ恢眯畔⒌脑吹钠渌擅艽a驗(yàn)證的指示。接收者可以查詢TPM或其他安全硬件以驗(yàn)證該簽名,從而確保未發(fā)生對(duì)證書(shū)中提供的位置信息的篡改。系統(tǒng)還可創(chuàng)建已頒發(fā)的位置證書(shū)的日志,該日志形成用于對(duì)在特定位置執(zhí)行的動(dòng)作的任何日后調(diào)查的審計(jì)蹤跡。繼續(xù)到框340,系統(tǒng)將已接收的位置證書(shū)所提供的基于位置的信息與和所標(biāo)識(shí)的資源相關(guān)聯(lián)的訪問(wèn)控制列表中的至少一個(gè)基于位置的限制進(jìn)行比較。例如,訪問(wèn)控制列表可以指定資源無(wú)法在美國(guó)以外被讀或?qū)?,可在美?guó)內(nèi)的任意地方被讀取,以及僅能在特定城市內(nèi)被寫。這只是一個(gè)示例,并且本領(lǐng)域技術(shù)人員將意識(shí)到,訪問(wèn)控制列表許可訪問(wèn)限制的各種組合,以便為任何特定目的定制對(duì)資源的訪問(wèn)。繼續(xù)到判決框350,如果比較指示了對(duì)資源的所請(qǐng)求的訪問(wèn)在當(dāng)前位置未被許可, 那么系統(tǒng)在框360繼續(xù),否則系統(tǒng)在框370繼續(xù)。繼續(xù)至框360,系統(tǒng)拒絕訪問(wèn)請(qǐng)求。系統(tǒng)可提供出錯(cuò)消息或請(qǐng)求被拒絕的其他指示。在某些實(shí)施例中,系統(tǒng)可以好像資源不存在那樣來(lái)動(dòng)作,在訪問(wèn)由于位置或其他未滿足的限制而不被許可時(shí)有效地隱藏該資源。在某些實(shí)施例中,系統(tǒng)可以提供指示資源可在哪些條件下被訪問(wèn)的出錯(cuò)消息,使得例如用戶可以將設(shè)備移動(dòng)至被允許的位置。繼續(xù)到框370,系統(tǒng)允許訪問(wèn)請(qǐng)求并且提供對(duì)資源的所請(qǐng)求的訪問(wèn)。例如,如果資源是文件,則系統(tǒng)可以允許打開(kāi)并查看文件內(nèi)容的請(qǐng)求。在某些實(shí)施例中,系統(tǒng)可以允許訪問(wèn)請(qǐng)求,但是基于設(shè)備的已確定的位置替換文件數(shù)據(jù)。例如,系統(tǒng)可在設(shè)備位于某些位置時(shí)返回充滿令人不感興趣的數(shù)據(jù)的文件系統(tǒng),但在設(shè)備位于其他位置時(shí)返回秘密信息。在框 370之后,這些步驟結(jié)束。在某些實(shí)施例中,安全位置系統(tǒng)方便對(duì)隱寫文件系統(tǒng)的實(shí)現(xiàn)。隱寫文件系統(tǒng)提供對(duì)存儲(chǔ)設(shè)備上的數(shù)據(jù)的訪問(wèn)層。例如,基層是在沒(méi)有密鑰的情況下或從任何位置都可以訪問(wèn)的,并且包括對(duì)安全性不是特別敏感的良性數(shù)據(jù)?;谠O(shè)備的當(dāng)前位置,TPM或其他安全硬件可以響應(yīng)于訪問(wèn)請(qǐng)求而提供密碼密鑰。更高的層可以向那些具有適合的密鑰的一方提供對(duì)敏感數(shù)據(jù)的越來(lái)越多的訪問(wèn)。以此方式,計(jì)算機(jī)可以在一個(gè)位置看起來(lái)被填滿良性數(shù)據(jù),但在另一個(gè)位置具有安全敏感信息。這可以為計(jì)算機(jī)用戶提供如下保證如果計(jì)算設(shè)備被盜,則惡意用戶將無(wú)法訪問(wèn)敏感的用戶信息。在某些實(shí)施例中,安全位置系統(tǒng)允許操作系統(tǒng)基于運(yùn)行系統(tǒng)的計(jì)算設(shè)備的位置來(lái)提供不同的特征。例如,安全位置系統(tǒng)可在計(jì)算設(shè)備位于限制使用cookies的國(guó)家時(shí)關(guān)閉 web瀏覽器內(nèi)的cookies。作為另一個(gè)示例,操作系統(tǒng)可以基于設(shè)備正被使用的當(dāng)?shù)胤蓙?lái)改變用于安全套接字層(SSL)或其他加密通信的加密級(jí)別。操作系統(tǒng)廠商目前管理各自在特定國(guó)家發(fā)貨的操作系統(tǒng)的多種庫(kù)存單元(SKU)。不僅對(duì)這種SKU的管理是困難的,而且在特定的國(guó)家出售特定SKU也無(wú)法保證某些人不會(huì)將不符合的SKU帶入一國(guó)家。使用安全位置系統(tǒng),操作系統(tǒng)廠商可以運(yùn)送單個(gè)SKU,該SKU基于對(duì)其被使用的位置的安全知識(shí),自動(dòng)地修改其行為,降低或消除了對(duì)多個(gè)SKU的需要并且減少了管理成本。在某些實(shí)施例中,安全位置系統(tǒng)用于嵌入式設(shè)備以便于基于位置的決定。例如,租車公司可包括在其出租的車隊(duì)中實(shí)現(xiàn)該系統(tǒng)的設(shè)備以實(shí)施關(guān)于允許車隊(duì)中的車輛被駕駛到哪里的地理限制。某些租車公司可能不希望車輛離開(kāi)特定的國(guó)家或州、并且可以使用該系統(tǒng)來(lái)實(shí)施這種類型的限制。在其他實(shí)現(xiàn)中,公司可允許在其他地理區(qū)域中使用,但可記錄信息,使得可針對(duì)該車輛所使用的每個(gè)區(qū)域的租金收取不同的費(fèi)率。在某些實(shí)施例中,安全位置系統(tǒng)用各種基于位置的硬件來(lái)操作。如今來(lái)自很多不同廠商的設(shè)備中的GPS芯片是共同的,并且系統(tǒng)可被修改為與其中每一個(gè)共同工作。另外, 系統(tǒng)可以采用包括每個(gè)GPS芯片基本唯一的標(biāo)識(shí)符的GPS硬件,該基本唯一的標(biāo)識(shí)符可被捕捉作為位置證書(shū)的一部分來(lái)標(biāo)識(shí)提供位置信息的具體的位置機(jī)構(gòu)。出于密碼和標(biāo)識(shí)目的,處理器和TPM使用了唯一的序列號(hào),使得如果它們被破壞和出于其他理由,可以禁止具體的實(shí)例。類似的技術(shù)可被應(yīng)用于GPS硬件以唯一地標(biāo)識(shí)每個(gè)GPS單元,并且能夠拒絕對(duì)不可信實(shí)例的訪問(wèn)。在某些實(shí)施例中,安全位置系統(tǒng)使用位置硬件和安全硬件之間的安全數(shù)據(jù)通信通道,諸如GPS模塊和TPM。該通道可包括已加密的通信,該通信允許TPM對(duì)GPS芯片的輸出進(jìn)行證實(shí)并且確保GPS硬件和操作系統(tǒng)或應(yīng)用之間防篡改的信任鏈。在某些實(shí)施例中,可以用TPM或其他安全硬件管理的密碼密鑰來(lái)保護(hù)對(duì)資源的訪問(wèn),并且TPM可以基于從位置硬件得出的設(shè)備的當(dāng)前位置,交出有時(shí)間限制的密鑰。在某些實(shí)施例中,安全位置系統(tǒng)使用位置信息來(lái)在移動(dòng)計(jì)算設(shè)備上實(shí)施網(wǎng)絡(luò)安全策略。例如,系統(tǒng)可使用如下信息,膝上型計(jì)算機(jī)最近在外國(guó),以確定病毒掃描應(yīng)在設(shè)備可訪問(wèn)企業(yè)網(wǎng)絡(luò)之前完成。為此,網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)訪問(wèn)存儲(chǔ)在計(jì)算設(shè)備上的歷史位置信息,該歷史位置信息提供設(shè)備自從上一次安全檢查(如果有的話)以來(lái)曾經(jīng)到過(guò)哪里的審計(jì)蹤跡。 系統(tǒng)可以限制傳入或傳出的聯(lián)網(wǎng)通信,或二者都有。這些或其他策略可由安全位置系統(tǒng)來(lái)實(shí)施。從前面的描述中可以看出,可以理解,此處描述的安全位置系統(tǒng)的特定實(shí)施例只是為了說(shuō)明,但是,在不偏離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種修改。因此,本發(fā)明只受所附權(quán)利要求限制。
權(quán)利要求
1.一種基于位置信息來(lái)設(shè)置對(duì)資源的訪問(wèn)許可的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括 接收更新對(duì)所標(biāo)識(shí)的資源的許可以便包括基于位置的許可信息的許可更新請(qǐng)求(210);定位所述所標(biāo)識(shí)的資源(220);定位與所述所標(biāo)識(shí)的資源相關(guān)聯(lián)的訪問(wèn)控制信息(230);從伴隨所述請(qǐng)求的所述基于位置的許可信息確定一個(gè)或多個(gè)被允許的動(dòng)作(240); 更新所定位的訪問(wèn)控制信息以包括被允許的基于位置的動(dòng)作(250);以及存儲(chǔ)與所述所標(biāo)識(shí)的資源相關(guān)聯(lián)的已更新的訪問(wèn)控制信息(260),使得隨后的訪問(wèn)所述所標(biāo)識(shí)的資源的嘗試將受到指定的基于位置的訪問(wèn)信息的限制,其中,前面的各步驟由至少一個(gè)處理器來(lái)執(zhí)行。
2.如權(quán)利要求I所述的方法,其特征在于,所標(biāo)識(shí)的資源是由操作系統(tǒng)管理的包括相關(guān)聯(lián)的安全信息的對(duì)象,包括至少一個(gè)訪問(wèn)控制列表(ACL)或訪問(wèn)控制入口(ACE)。
3.如權(quán)利要求I所述的方法,其特征在于,接收所述許可更新請(qǐng)求包括通過(guò)操作系統(tǒng)應(yīng)用編程接口(API)從應(yīng)用接收所述請(qǐng)求。
4.如權(quán)利要求I所述的方法,其特征在于,接收所述許可更新請(qǐng)求包括接收由路徑標(biāo)識(shí)所述資源的信息,以及接收包括地理位置作為至少一個(gè)訪問(wèn)準(zhǔn)則的訪問(wèn)控制信息。
5.如權(quán)利要求I所述的方法,其特征在于,定位所述所標(biāo)識(shí)的資源包括訪問(wèn)磁盤上、配置數(shù)據(jù)庫(kù)內(nèi)、或配置目錄內(nèi)的所述資源,以及訪問(wèn)與所述資源相關(guān)聯(lián)的有關(guān)訪問(wèn)控制元數(shù)據(jù)。
6.如權(quán)利要求I所述的方法,其特征在于,定位所述訪問(wèn)控制信息包括調(diào)用操作系統(tǒng)應(yīng)用編程接口(API)以便導(dǎo)航和/或修改包括基于位置的信息的訪問(wèn)控制信息。
7.如權(quán)利要求I所述的方法,其特征在于,確定一個(gè)或多個(gè)被允許的動(dòng)作包括基于所述資源存儲(chǔ)在其上的計(jì)算設(shè)備的地理位置,確定所述資源是否可被讀、寫、或包括在列表中。
8.如權(quán)利要求I所述的方法,其特征在于,確定一個(gè)或多個(gè)被允許的動(dòng)作包括基于地理區(qū)域的一個(gè)或多個(gè)指定邊界,確定所述地理區(qū)域。
9.如權(quán)利要求I所述的方法,其特征在于,更新所述訪問(wèn)控制信息包括添加分層的訪問(wèn)控制條目(ACE),所述訪問(wèn)控制條目指示了許可與所述所標(biāo)識(shí)的資源有關(guān)的指定動(dòng)作的地理區(qū)域。
10.如權(quán)利要求I所述的方法,其特征在于,更新所述訪問(wèn)控制信息包括對(duì)基于位置的訪問(wèn)控制信息與非基于位置的訪問(wèn)控制信息進(jìn)行組合,以指示訪問(wèn)所述所標(biāo)識(shí)的資源的一個(gè)或多個(gè)準(zhǔn)則。
11.一種向軟件應(yīng)用提供防篡改的位置服務(wù)的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括位置硬件組件(110),提供指示所述系統(tǒng)的當(dāng)前地理位置的硬件信號(hào);硬件安全組件(120),提供對(duì)運(yùn)行在所述系統(tǒng)上的軟件代碼的可信計(jì)算保證;被配置成執(zhí)行包含在以下組件內(nèi)的軟件指令的處理器和存儲(chǔ)器;內(nèi)核位置提供者(130),提供從操作系統(tǒng)內(nèi)核到使用位置信息的用戶模式服務(wù)和應(yīng)用的接口 ;位置認(rèn)證組件(140),用來(lái)自所述位置硬件組件和所述硬件安全組件的信息來(lái)獲取指示所述計(jì)算機(jī)系統(tǒng)的當(dāng)前位置的證書(shū);位置審計(jì)組件(150),存儲(chǔ)與所述計(jì)算機(jī)系統(tǒng)相關(guān)聯(lián)的安全位置信息的審計(jì)蹤跡;以及位置驗(yàn)證組件(160),向所述內(nèi)核位置提供者請(qǐng)求位置信息,并且基于已接收的位置信息來(lái)執(zhí)行一個(gè)或多個(gè)動(dòng)作。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述位置硬件組件包括接收GPS信號(hào)并確定所述系統(tǒng)的位置的全球定位系統(tǒng)(GPS)硬件設(shè)備。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述硬件安全組件包括提供與計(jì)算設(shè)備的安全性有關(guān)的可密碼驗(yàn)證的權(quán)威信息的受信平臺(tái)模塊(TPM)。
14.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述硬件安全組件和位置硬件經(jīng)由用于通信的安全通道而連接。
15.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述硬件安全組件對(duì)與所述位置硬件組件相關(guān)聯(lián)的軟件驅(qū)動(dòng)程序的認(rèn)證信息進(jìn)行驗(yàn)證,以創(chuàng)建從所述位置硬件組件到所述操作系統(tǒng)的安全信任鏈。
全文摘要
本發(fā)明涉及防篡改的位置服務(wù)。此處描述了利用基于位置的軟件和硬件來(lái)作出訪問(wèn)決定的安全位置系統(tǒng)。很多移動(dòng)計(jì)算機(jī)具有位置設(shè)備,諸如GPS。它們還具有受信平臺(tái)模塊(TPM)或其他安全設(shè)備。目前,使GPS位置數(shù)據(jù)對(duì)使用簡(jiǎn)單協(xié)議的非受信應(yīng)用代碼是直接可以訪問(wèn)的。安全位置系統(tǒng)提供了安全機(jī)制,操作系統(tǒng)內(nèi)核和TPM可借此對(duì)計(jì)算機(jī)在具體時(shí)間的GPS位置進(jìn)行證實(shí)。安全位置系統(tǒng)使用指示活動(dòng)時(shí)計(jì)算設(shè)備的地理位置的標(biāo)記將用戶活動(dòng)記入日志。安全位置系統(tǒng)可以通過(guò)組合內(nèi)核模式GPS訪問(wèn)以及TPM安全硬件來(lái)提供難以偽造、帶時(shí)間戳的位置。由此,安全位置系統(tǒng)將安全位置信息并入授權(quán)和其他操作系統(tǒng)決定中。
文檔編號(hào)G06F21/20GK102609662SQ20111043139
公開(kāi)日2012年7月25日 申請(qǐng)日期2011年12月20日 優(yōu)先權(quán)日2010年12月20日
發(fā)明者J·N·菲格羅亞, P·巴勒姆 申請(qǐng)人:微軟公司