TW201944280A - 安全介面禁用 - Google Patents

安全介面禁用

Info

Publication number
TW201944280A
TW201944280A TW108103374A TW108103374A TW201944280A TW 201944280 A TW201944280 A TW 201944280A TW 108103374 A TW108103374 A TW 108103374A TW 108103374 A TW108103374 A TW 108103374A TW 201944280 A TW201944280 A TW 201944280A
Authority
TW
Taiwan
Prior art keywords
peripheral interface
physical address
peripheral
processor
mapping
Prior art date
Application number
TW108103374A
Other languages
English (en)
Inventor
詹姆士 布萊赫夫
韋傑亞拉克旭米 雷文卓恩
歐拉夫 豪根
布里頓 坎達兒 碧蘿
卡維塔 帕爾亞妮
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW201944280A publication Critical patent/TW201944280A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/651Multi-level translation tables

Abstract

各種實施例包括用於在一計算裝置上實施安全周邊介面禁用之方法及裝置。各種實施例可包括:接收禁用與該計算裝置之一周邊裝置相關聯的一周邊介面之一觸發;識別該周邊介面之一實體位址;以及安全地移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射。

Description

安全介面禁用
本發明大體上係關於用於安全介面禁用之設備及方法。
行動裝置周邊裝置(如相機及麥克風)的惡意使用會導致政府或商業機構之敏感資料丟失。因此,一些安全政府及商業機構不允許使用者將其行動裝置帶進內部。其他機構要求安裝行動裝置管理(MDM)軟體以使得企業可控制及監視裝置之操作。
各種實施例可包括用於在一計算裝置上進行安全周邊介面禁用之設備及方法。各種實施例可包括:接收禁用與該計算裝置之一周邊裝置相關聯的一周邊介面之一觸發;識別該周邊介面之一實體位址;以及移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射。
一些實施例可進一步包括:接收在第2階段記憶體轉換表中取消周邊介面之中間實體位址及周邊介面之實體位址的映射之請求。在一些實施例中,移除周邊介面之中間實體位址至周邊介面之實體位址的映射可包括回應於該請求而自第2階段記憶體轉換表移除周邊介面之中間實體位址至周邊介面之實體位址的映射。
一些實施例可進一步包括:接收存取周邊介面之請求;針對周邊介面之中間實體位址至周邊介面之實體位址的映射檢查第2階段記憶體轉換表;判定未在第2階段記憶體轉換表中發現周邊介面之中間實體位址至周邊介面之實體位址的映射;以及回應於判定未在第2階段記憶體轉換表中發現周邊介面之中間實體位址至周邊介面之實體位址的映射而發出記憶體異常。
一些實施例可進一步包括:接收啟用與計算裝置之周邊裝置相關聯的周邊介面之觸發;接收在第2階段記憶體轉換表中映射周邊介面之中間實體位址及周邊介面之實體位址的請求;以及回應於該請求而在第2階段記憶體轉換表中添加周邊介面之中間實體位址至周邊介面之實體位址的映射。
一些實施例可進一步包括判定周邊介面之狀態是否鎖定。在一些實施例中,在第2階段記憶體轉換表中添加周邊介面之中間實體位址至周邊介面之實體位址的映射可包括回應於判定周邊介面之狀態為鎖定而在第2階段記憶體轉換表中添加周邊介面之中間實體位址至周邊介面之實體位址的映射。一些實施例可進一步包括回應於判定周邊介面之狀態為鎖定而將周邊介面之狀態設定為解除鎖定。
一些實施例可進一步包括:向在第一虛擬機上執行之高階操作系統發信以關閉並卸載周邊裝置之周邊裝置驅動器;以及在不包括周邊裝置之周邊裝置驅動器的第二虛擬機上執行受限高階操作系統。
一些實施例可進一步包括:自可不同於執行高階操作系統之執行環境的可信賴執行環境接收在第2階段記憶體轉換表中取消周邊介面之中間實體位址至周邊介面之實體位址的映射或將周邊介面之中間實體位址映射至周邊介面之實體位址的請求。
一些實施例可進一步包括:藉由將存取請求經由可信賴執行環境路由至周邊裝置驅動器由在執行環境中執行之高階操作系統而存取在可信賴執行環境中執行的周邊裝置之周邊裝置驅動器。
一些實施例可進一步包括:藉由將存取請求經由第一虛擬機路由至周邊裝置驅動器由在第二虛擬機上執行之高階操作系統而存取在第一虛擬機中執行的周邊裝置之周邊裝置驅動器。
各種實施例包括具有記憶體、周邊介面及經組態以執行上文概述之方法中之任一者之操作之處理器的計算裝置。各種實施例包括具有用於執行上文概述之方法中之任一者之功能的構件之計算裝置。各種實施例包括其上儲存處理器可執行指令的非暫時性處理器可讀儲存媒體,該等處理器可執行指令經組態以使得處理器執行上文概括之方法中之任一者的操作。
相關申請案
本申請案主張2018年4月8日申請之名稱為「Secure Interface Disablement」之美國臨時專利申請案第62/654,473號之優先權,該申請案之全部內容出於所有目的特此以引用之方式併入本文中。
將參考附圖來詳細地描述各種實施例。在可能時,相同元件符號將在整個圖式中用以指代相同或類似部分。對特定實例及實施之參考係出於說明之目的,且並不意欲限制申請專利範圍之範疇。
各種實施例可包括用於安全禁用及重新啟用計算裝置上之周邊介面以禁用/啟用對各種周邊裝置之存取的方法及實施此類方法之計算裝置。各種實施例可包括用以禁用軟體或使用者無法阻止之周邊介面的此類方法及實施此類方法之計算裝置。周邊介面之禁用適用於保護個人隱私以及敏感的政府及商業機構。周邊介面之禁用適用於安全性目的,諸如減少駕駛車輛時分心及醫療設施中醫學裝置之干擾。周邊介面之禁用適用於防止在發佈會、演出或放映電影期間的干擾。周邊介面之禁用適用於防止使用者使用計算裝置之周邊裝置。周邊介面之禁用適用於防止計算裝置之周邊裝置之惡意軟體使用。舉例而言,周邊介面之禁用適用於防止在無使用者許可的情況下周邊裝置之惡意軟體使用。周邊介面之禁用適用於藉由使行動裝置管理(MDM)軟體失效來防止周邊裝置之惡意軟體使用。周邊介面之禁用適用於針對作業管理維護(OAM)情形遠端監視增強之機器型通信(enhanced machine-type communication;eMTC)裝置及物聯網(IoT)裝置。
周邊介面之禁用可關於禁用之周邊介面選擇性地實施且可允許在經禁用周邊介面不可用時使用經啟用周邊介面。舉例而言,無線電傳輸器之周邊介面可保持啟用,同時相機光感測器之周邊介面可禁用。在此實例中,計算裝置之使用者可能能夠使用計算裝置之通信功能同時避免使用計算裝置之視覺影像擷取功能。因此,周邊介面之禁用可經組態以提供禁用周邊介面之益處同時仍為計算裝置之使用者提供使用計算裝置之某些功能的便利性。
用於禁用本文中所描述之周邊介面之各種實施例方法提供優於現有MDM策略及軟體的技術優勢。計算裝置上之惡意軟體無法使根據各種實施例的周邊介面之禁用失效。計算裝置之使用者無法使周邊介面之禁用失效。根據各種實施例的周邊介面之禁用可允許使用者保持擁有計算裝置。根據各種實施例的周邊介面之禁用可允許使用者使用計算裝置之用於經啟用周邊介面的功能同時防止使用者使用計算裝置之用於經禁用周邊介面的功能。根據各種實施例的周邊介面之禁用可不依賴於計算裝置之使用者來遵守周邊介面之禁用。
各種實施例可用於各種計算裝置,但可尤其適用於行動無線通信裝置且因此可引入至需要禁用周邊裝置之情況中。術語「計算裝置」在本文中用於指各種計算裝置中之任一者,包括智慧型電話、行動計算裝置(例如,平板電腦、膝上型電腦、可穿戴式裝置等)、基於蜂巢之無線熱點、IoT裝置、eMTC裝置、桌上型電腦、工作台、伺服器、機電系統(例如,車輛、工業及農業機械、醫學裝置、控制系統等)之嵌入式系統及其類似者。無線通信裝置亦通常被稱為使用者裝備(UE)、行動裝置及蜂巢式裝置。計算裝置可經由各種有線及/或無線通信網路接收及/或傳輸通信,該等有線及/或無線通信網路包括廣域網路(例如,行動通信網路)、區域網路(例如,Wi-Fi、藍芽(Bluetooth)等)、地理位置網路(例如,全球定位系統(「GPS」))、個人區域網路(例如,無線USB、藍芽、紫蜂(ZigBee)等)、近場通信等。
術語「周邊裝置」在本文中用於指計算裝置之各種感測器、致動器及/或通信組件中之任一者。周邊裝置之非限制性實例包括音頻接收器及/或發射器、射頻接收器及/或傳輸器、光頻率接收器及/或發射器、電磁場接收器及/或發射器、電感測器、運動感測器、定向感測器、振動感測器、溫度感測器、壓力感測器及其類似者。周邊裝置可整合至及/或可附接至計算裝置或可自計算裝置拆卸。
術語「周邊介面」在本文中用於指由計算裝置用於與周邊裝置交互及控制周邊裝置之各種資源中之任一者,包括周邊裝置驅動器、周邊裝置記憶體、周邊裝置控制器/微控制器、周邊裝置記憶體暫存器、用於控制周邊裝置之記憶體暫存器及其類似者。周邊介面可與周邊裝置之功能中之任一者或其組合相關聯。為簡單及易於解釋起見,針對禁用及啟用周邊裝置及周邊介面來描述本文中之實施例。在各種實施例中,禁用及啟用周邊裝置及周邊介面可與禁用及啟用周邊裝置之功能中之任一者或其組合有關。換言之,可完全或部分禁用及啟用周邊裝置。此外,禁用及啟用周邊裝置可僅藉由禁用對相關聯的周邊介面之存取而不對周邊裝置或周邊介面進行物質改變來實現。
術語「輸入」及「觸發」在本文中可互換使用,係指經組態以使得計算裝置禁用及/或啟用周邊介面之各種信號。在各種實施例中,觸發可包括:藉由任何手段向計算裝置之任何輸入,諸如基於GPS、蜂巢及/或Wi-Fi資料之位置;藍芽信標;近場通信信號,諸如鑰鏈或鍵卡之滑動或輕觸;視覺碼掃描,諸如條碼或快速回應(QR)碼;可信賴使用者之使用者輸入,諸如實體按鈕或觸控式螢幕交互作用;經由Wi-Fi直接、近場通信、藍芽及/或C-V2X指示之與裝置之接近度;多因素驗證;在使用虛擬實境顯示器時進行之虹膜偵測;來自遠端連接計算裝置之信號等。在各種實施例中,觸發可包括缺少連續或重複輸入。
圖1說明適用於實施各種實施例的計算裝置100之組件。本文中所描述之各種實施例可實施於在各種通信系統內操作之計算裝置100中,該等通信系統諸如任何數目的行動網路,諸如行動電話網路。在各種實施例中,計算裝置100可支援行動電話網路之任何數目的訂用。為了支援多個行動電話網路之訂用,在一些實施例中,計算裝置100可為多SIM通信裝置。
計算裝置100可經由與行動電話網路之基地台之蜂巢式連接而與行動電話網路通信。蜂巢式連接可使用各種通信技術經由雙向無線通信鏈路形成,該等通信技術諸如長期演進(LTE)、第五代(5G)、第四代(4G)、第三代(3G)、分碼多重存取(CDMA)、分時同步分碼多重存取(TD-SCDMA)、寬頻分碼多重存取(WCDMA)、全球行動通信系統(GSM)及其他行動電話通信技術。其他連接可包括各種其他無線連接,包括WLAN,諸如基於電機電子工程師學會(IEEE) 802.11標準之Wi-Fi,及無線位置服務,諸如全球定位系統(GPS);WPAN,諸如無線USB、藍芽及紫蜂;及/或近場通信。
計算裝置100可包括任何數目的可接收識別模組之用戶識別模組(SIM)介面。計算裝置100可包括用戶識別模組(SIM)介面102,其可接收與行動電話網路之訂用相關聯的識別模組SIM 104。在各種實施例中,計算裝置100可為包括第二(或更大) SIM介面(未圖示)之多訂用計算裝置,該第二SIM介面可接收與第二行動電話網路之第二訂用相關聯的第二識別模組SIM (未圖示)。
各種實施例中之SIM 104可為通用積體電路卡(UICC),其經組態有啟用對例如GSM之存取之SIM及/或通用SIM (USIM)應用程式,及/或全球行動電信系統(UMTS)網路。UICC亦可提供用於電話簿及其他應用程式之儲存器。替代地,在CDMA網路中,SIM可為卡上之UICC抽取式使用者識別模組(R-UIM)或CDMA用戶識別模組(CSIM)。
每一SIM 104可具有中央處理器單元(CPU)、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、電可抹除可程式化唯讀記憶體(EEPROM)及輸入/輸出(I/O)電路。用於各種實施例中之SIM可含有使用者帳戶資訊、國際行動用戶識別碼(IMSI)、SIM方法應用程式工具包(SAT)命令之集合及用於電話簿連絡人之儲存空間。SIM可進一步儲存行動國家碼(mobile country code;MCC)、行動網路碼(MNC)及歸屬公用地行動網路(Home Public-Land-Mobile-Network;HPLMN)碼以指示SIM卡網路操作員提供商。積體電路卡識別碼(ICCID) SIM序列號可列印於SIM卡上以供識別。
每一計算裝置100可包括至少一個控制器,諸如通用處理器106 (例如,中央處理單元(「CPU」)),其可耦接至編碼器/解碼器(CODEC) 108。CODEC 108可耦接至揚聲器110及麥克風112。通用處理器106亦可耦接至至少一個記憶體114。記憶體114可為儲存處理器可執行指令之非暫時性有形電腦可讀儲存媒體。舉例而言,該等指令可包括經由對應之基頻射頻(RF)資源鏈或RF鏈路由與訂用相關之通信資料。
記憶體114可儲存操作系統(OS)軟體以及使用者應用程式軟體及可執行指令,包括經組態以使得處理器執行各種實施例之操作之指令。記憶體114亦可儲存應用程式資料,諸如陣列資料結構。
通用處理器106及記憶體114可各自耦接至至少一個基頻數據機處理器116。在各種實施例中,計算裝置100中之SIM 104可與基頻RF資源鏈相關聯。在各種實施例中,多個SIM 104可與由兩個或更多個SIM 104共用之共同基頻RF資源鏈相關聯,或SIM 104可與專用基頻RF資源鏈相關聯。每一基頻RF資源鏈可包括用以執行用於在SIM 104上通信之基頻/數據機功能之基頻數據機處理器116以及一或多個放大器及無線電裝置,其在本文中通常稱為RF資源118。在一些實施例中,基頻RF資源鏈可與共用之基頻數據機處理器116 (亦即,針對計算裝置上之所有SIM 104執行基頻/數據機功能的單個裝置)交互。替代地,每一基頻RF資源鏈結可包括實體或邏輯分離之基頻處理器。
在一些實施例中,基頻數據機處理器116可為能夠管理SIM 104或訂用之協定堆疊且實施共存管理者軟體的積體晶片。藉由在此積體基頻數據機處理器116上實施數據機軟體、訂用協定堆疊及共存管理者軟體,基於線程之指令可在積體基頻數據機處理器116上用於在實施針對共存問題之干擾緩和技術的軟體之間通信指令,且接收(Rx)並傳輸(Tx)操作。
RF資源118可為針對計算裝置100之相關聯的SIM 104執行傳輸/接收功能之通信電路或收發器。RF資源118可為包括獨立傳輸及接收電路之通信電路,或可包括組合傳輸器及接收器功能之收發器。RF資源118可經組態以支援多個根據不同無線通信協定操作之無線電存取技術/無線網路。RF資源118可包括或提供與放大器、數位至類比轉換器、類比至數位轉換器、濾波器、電壓控制振盪器等之不同集合的連接。多個天線120及/或接收區塊可耦接至RF資源118以促進與天線及接收器/傳輸器頻率及協定之各種組合的多模式通信(例如,LTE、Wi-Fi、藍芽、近場通信及/或其類似者)。RF資源118亦可耦接至基頻數據機處理器116。
在一些實施例中,通用處理器106、記憶體114、基頻處理器116及RF資源118可包括於計算裝置100中作為系統單晶片(SoC) 122。在其他實施例中,SIM 104及其對應介面102可在系統單晶片122外部。此外,可充當輸入及輸出裝置之各種周邊裝置可耦接至系統單晶片122上的組件,諸如介面或控制器/微控制器106、108、116、118、130。適用於計算裝置100之實例使用者周邊裝置可包括但不限於揚聲器110、麥克風112、天線120、實體按鈕124、觸控式螢幕顯示器126及如本文中所描述之其他周邊裝置128,諸如相機。
在一些實施例中,計算裝置100可為具有多於或少於兩個RF鏈之單技術或多技術裝置。此外,各種實施例可實施於具有比RF鏈之數目少的SIM卡之單RF鏈或多RF鏈計算裝置中,包括不使用任何實體SIM卡而是依賴於虛擬SIM應用程式之裝置。在各種實施例中,具有共同基頻RF資源鏈之計算裝置100可能能夠以單一無線電LTE模式操作,以允許多個無線電存取技術共用共同基頻RF資源鏈。
圖2說明適用於實施一實施例之具有多個周邊裝置組件的計算裝置(例如,圖1中之計算裝置100)。參考圖1及圖2,SoC 230 (例如,圖1中之SoC 122)可包括如上文所描述之各種組件。一些此類組件及額外組件可為計算裝置100之子系統。SoC 230可包括經組態以通信地連接SoC 230中可傳輸、接收及共用資料之組件的各種通信組件。通信組件可包括系統集線器200、協定轉換器208及系統晶片上網路(NoC) 224。通信組件可促進子系統組件之間的通信,該等子系統組件諸如CPU叢集206及各種周邊裝置子系統中之處理器,諸如相機子系統218、視訊子系統220、顯示器子系統222、音訊子系統232及無線通信子系統234;且亦可包括其他專用處理器,諸如圖形處理器單元(GPU) 210、數據機數位信號處理器(DSP) 212、應用程式處理器單元(APU) 214及其他硬體加速器。通信組件可促進周邊裝置子系統218、220、222、232、234及處理器206、210、212、214與諸如記憶體裝置之其他組件之間的通信,記憶體裝置包括系統快取記憶體202、隨機存取記憶體(RAM) 228及包括於處理器206、210、212、214中之各種記憶體,諸如處理器206、210、212、214之快取記憶體。
諸如系統快取控制器204、記憶體介面216及記憶體控制器226之各種記憶體控制裝置可經組態以藉由周邊裝置子系統218、220、222、232、234及處理器206、210、212、214控制對各種記憶體之存取並實施用於各種記憶體之可由周邊裝置子系統218、220、222、232、234及處理器206、210、212、214請求之操作。
周邊裝置子系統218、220、222、232、234亦可包括各種控制器、感測器、接收器、傳輸器及專用記憶體,諸如快取記憶體及記憶體暫存器,其經組態用於控制及實施子系統218、220、222、232、234之周邊裝置之功能性。
SoC 230及其在圖2中所說明之各種組件在本文中之描述僅意欲為實例且決不具限制性。所說明實例SoC 230之組件中之若干者可不定地經組態、組合及分離。可包括更多或更少數目之組件中之若干者,且其可以不同方式在SoC 230內定位及連接或與SoC 230分離。類似地,諸如其他記憶體、處理器、周邊裝置子系統、介面及控制器之諸多其他組件可包括於SoC 230中且與系統快取控制器204通信以便存取系統快取記憶體202。
圖3說明適用於實施一實施例的計算裝置(例如,圖1中之計算裝置100)之組件。參考圖1至圖2,處理器350 (例如,圖1至圖2中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;及周邊裝置子系統218、220、222、232、234之處理器)可包括多個處理器類型,包括例如CPU及各種硬體加速器,諸如GPU、DSP、APU、周邊裝置子系統處理器、控制器/微控制器等。處理器350亦可包括客製化硬體加速器,其可包括經組態以實施專業功能集合之客製化處理硬體及/或通用硬體。處理器350可包括任何數目個處理器核心300、301、302、303。具有多個處理器核心300、301、302、303之處理器350可被稱為多核心處理器。
處理器350可具有複數個同質或異質處理器核心300、301、302、303。同質處理器可包括複數個同質處理器核心。處理器核心300、301、302、303可為同質的,此係因為處理器350之處理器核心300、301、302、303可經組態用於相同目的且具有相同或類似效能特性。舉例而言,處理器350可為通用處理器,且處理器核心300、301、302、303可為同質的通用處理器核心。處理器350可為GPU或DSP,且處理器核心300、301、302、303可分別為同質的圖形處理器核心或數位信號處理器核心。處理器350可為具有同質處理器核心300、301、302、303之客製化硬體加速器。
異質處理器可包括複數個異質處理器核心。處理器核心300、301、302、303可為異質的,此係因為處理器350之處理器核心300、301、302、303可經組態用於不同目的且/或具有不同效能特性。此類異質處理器核心之異質性可包括不同指令集架構、管線、操作頻率等。此類異質處理器核心之一實例可包括被稱為「大小核(big.LITTLE)」架構之物,其中較慢的低功率處理器核心可與較強大且功率短缺之處理器核心耦接。在類似實施例中,SoC (例如,圖3之SoC 330)可包括任何數目個同質或異質處理器350。在各種實施例中,並非所有處理器核心300、301、302、303均必須為異質處理器核心,此係由於異質處理器可包括處理器核心300、301、302、303 (包括至少一個異質處理器核心)之任何組合。
處理器350之處理器核心300、301、302、303中之每一者可指定為專用處理器核心快取(private processor core cache;PPCC)記憶體310、312、314、316,該PPCC記憶體可專用於藉由指定處理器核心300、301、302、303讀取及/或寫入存取。專用處理器核心快取記憶體310、312、314、316可儲存資料及/或指令,且使經儲存資料及/或指令可供專用於專用處理器核心快取記憶體310、312、314、316之處理器核心300、301、302、303使用,以用於藉由處理器核心300、301、302、303執行。專用處理器核心快取記憶體310、312、314、316可包括揮發性記憶體。
處理器350之各組處理器核心300、301、302、303可指定為共用處理器核心快取(shared processor core cache;SPCC)記憶體320、322,其可專用於藉由指定組處理器核心300、301、302、303讀取及/或寫入存取。共用處理器核心快取記憶體320、322可儲存資料及/或指令,且使經儲存資料及/或指令可供專用於共用處理器核心快取記憶體320、322之一組處理器核心300、301、302、303使用,以用於藉由指定組中之處理器核心300、301、302、303執行。共用處理器核心快取記憶體320、322可包括揮發性記憶體。
處理器350可包括共用處理器快取記憶體330,其可專用於藉由處理器350之處理器核心300、301、302、303讀取及/或寫入存取。共用處理器快取記憶體330可儲存資料及/或指令,且使經儲存資料及/或指令可供處理器核心300、301、302、303使用,以用於藉由處理器核心300、301、302、303執行。共用處理器快取記憶體330亦可充當輸入至處理器350及/或自處理器350輸出之資料及/或指令之緩衝器。共用快取記憶體330可包括揮發性記憶體。
多個處理器350可存取共用系統快取記憶體340 (例如,圖2中之系統快取記憶體202),其可專用於藉由多個處理器350之處理器核心300、301、302、303讀取及/或寫入存取。共用系統快取記憶體340可儲存資料及/或指令,且使經儲存資料及/或指令可供處理器核心300、301、302、303使用,以用於藉由處理器核心300、301、302、303執行。共用系統快取記憶體340亦可充當輸入至多個處理器350及/或自多個處理器350輸出之資料及/或指令之緩衝器。共用系統快取記憶體340可包括揮發性記憶體。
在圖3中所說明之實例中,處理器350包括四個處理器核心300、301、302、303 (亦即,處理器核心0、處理器核心1、處理器核心2及處理器核心3)。在該實例中,每一處理器核心300、301、302、303指定為各別專用處理器核心快取記憶體310、312、314、316 (亦即,處理器核心0及專用處理器核心快取記憶體0、處理器核心1及專用處理器核心快取記憶體1、處理器核心2及專用處理器核心快取記憶體2以及處理器核心3及專用處理器核心快取記憶體3)。處理器核心300、301、302、303可經分組,且各組可指定為共用處理器核心快取記憶體320、322 (亦即,一組處理器核心0及處理器核心2及共用處理器核心快取記憶體0,以及一組處理器核心1及處理器核心3及共用處理器核心快取記憶體1)。為了易於解釋,本文中之實例可指圖3中所說明之四個處理器核心300、301、302、303,四個專用處理器核心快取記憶體310、312、314、316,兩組處理器核心300、301、302、303及共用處理器核心快取記憶體320、322。然而,圖3中所說明及本文中所描述之四個處理器核心300、301、302、303、四個專用處理器核心快取記憶體310、312、314、316、兩組處理器核心300、301、302、303及共用處理器核心快取記憶體320、322僅提供為實例且決不意欲將各種實施例限制於具有四個指定專用處理器核心快取記憶體及兩個指定共用處理器核心快取記憶體320、322之四核心處理器系統。計算裝置100、SoC 330或處理器350可單獨地或組合地包括少於或多於本文中所說明及描述之四個處理器核心300、301、302、303及專用處理器核心快取記憶體310、312、314、316及兩個共用處理器核心快取記憶體320、322。
為了易於參考,術語「硬體加速器」、「客製化硬體加速器」、「多核心處理器」、「處理器」、「處理器核心」、「控制器」及「微控制器」可在本文中可互換使用。所說明之計算裝置及其各種組件在本文中之描述僅意欲為實例且決不具限制性。所說明實例計算裝置之組件中之若干者可不定地經組態、組合及分離。可包括更多或更少數目之組件中之若干者,且其可以不同方式在SoC內定位及連接或與SoC分離。
參考圖4至圖11所描述之各種實施例係指參考圖1至圖3所描述之實例硬體組件。關於可包括為用於實施本文中所描述之各種實施例之硬體組件的處理器、硬體加速器、控制器及/或記憶體之數目或類型,以下對硬體組件之組合之提及並不意欲為限制性的。各種實施例可使用組件之任何組合來實施。
圖4說明適用於實施各種實施例之用於安全周邊介面禁用的計算裝置400 (例如,圖1中之計算裝置100)之實例組態。計算裝置400之組態可使用任何數目之處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)或處理器之任何組合實施。計算裝置400之組態可使用任何數目之記憶體(例如,圖1至圖3中之記憶體114、系統快取記憶體202、隨機存取記憶體228、專用處理器核心快取記憶體310、312、314、316、共用處理器核心快取記憶體320、322及共用系統快取記憶體340)或記憶體之任何組合實施。
計算裝置400之組態可包括各種執行環境。執行環境可包括富集執行環境402,亦稱為正常執行環境。執行環境可包括可信賴執行環境404 (例如,ARM TrustZone執行環境),亦稱為安全執行環境。富集執行環境402可經組態以執行多個虛擬機414、416 (例如,虛擬機1及虛擬機2)。每一虛擬機414、416可經組態有存取計算裝置之資源及執行不同軟體之不同權限。虛擬機414可經組態以執行各種軟體模組。在一些實施例中,軟體模組可包括應用程式424。在一些實施例中,軟體模組可包括高階操作系統426。高階操作系統426之非限制性實例包括Windows操作系統、Android操作系統、Chrome操作系統、基於Linux之操作系統及/或iOS操作系統。在一些實施例中,軟體模組可包括周邊裝置驅動器428。虛擬機416可經組態以執行各種軟體模組。在一些實施例中,此類軟體模組可包括安全介面禁用管理器430。在一些實施例中,此類軟體模組可包括多感測器硬體抽象層432。在一些實施例中,此類軟體模組可包括內容硬體抽象層集線器438。在一些實施例中,此類軟體模組可包括受限高階操作系統434。受限高階操作系統434之非限制性實例包括Windows操作系統、Android操作系統、Chrome操作系統、基於Linux之操作系統及/或呈受限組態之iOS操作系統。在一些實施例中,此類軟體模組可視情況包括受限周邊裝置驅動器436。可信賴執行環境404可經組態以執行安全應用程式440。
計算裝置400之組態亦可包括經組態以藉由虛擬機414、416控制來自執行之記憶體存取請求的超管理器420。計算裝置亦可包括經組態以控制對可信賴執行環境404之存取的安全監視器422。
計算裝置400之組態之不同組件可經組態以在各種異常層級406、408、410、412內執行,該等異常層級控制在每一異常層級406、408、410、412內執行的組件之執行特權。自最小量至最大量之執行特權之異常層級406、408、410、412可包括異常層級0、異常層級1、異常層級2及異常層級3。在各種實施例中,在異常層級410 (異常層級2)中執行之超管理器420可具有比在執行層級406 (執行層級0)中執行之軟體模組更高的執行特權。在一些實施例中,在執行層級408中執行之軟體模組可包括應用程式424。在一些實施例中,在執行層級408中執行之軟體模組可包括安全應用程式440。在一些實施例中,在異常層級410 (異常層級2)中執行之超管理器420可具有比在執行層級408 (執行層級1)中執行之軟體模組更高的執行特權。在一些實施例中,在執行層級408中執行之軟體模組可包括高階操作系統426。在一些實施例中,在執行層級408中執行之軟體模組可包括周邊裝置驅動器428。在一些實施例中,在執行層級408中執行之軟體模組可包括受限高階操作系統434。在一些實施例中,在執行層級408中執行之軟體模組可包括受限周邊裝置驅動器436。超管理器420可具有改變第2階段記憶體轉換表(未圖示)之特權,該第2階段記憶體轉換表經組態以將來自虛擬機414、416之執行的記憶體存取請求之中間實體位址轉換為記憶體中之實體位址。相反,應用程式424、在執行層級406中執行之安全應用程式440、高階操作系統426、周邊裝置驅動器428、受限高階操作系統434及受限周邊裝置驅動器436可能不具有改變第2階段記憶體轉換表的特權。
計算裝置400之組態可進一步包括周邊裝置子系統442。在一些實施例中,周邊裝置子系統442可包括圖2中所說明之周邊裝置子系統218、220、222、232、234之任何組合。周邊裝置子系統442可接收經組態以觸發任何數目之周邊介面之禁用的輸入。周邊裝置子系統442可將輸入指示傳輸至在虛擬機416 (虛擬機2)中執行之安全介面禁用管理器430。舉例而言,周邊裝置子系統442可將輸入指示經由內容硬體抽象層集線器438及多感測器硬體抽象層432傳輸至安全介面禁用管理器430。安全介面禁用管理器430可解譯輸入指示且識別周邊介面以禁用其相關聯的周邊裝置。安全介面禁用管理器430可向在虛擬機414 (虛擬機1)中執行之高階操作系統426發信以關閉周邊裝置驅動器428。在一些實施例中,自安全介面禁用管理器430向高階操作系統426之發信亦可發信高階操作系統426以卸載周邊裝置驅動器428。安全介面禁用管理器430亦可發信超管理器420以取消與輸入相關之周邊裝置驅動器的映射。在一些實施例中,與輸入相關之周邊裝置驅動器可包括對執行安全介面禁用管理器430而言非必需的所有裝置驅動器。在一些實施例中,與輸入相關之周邊裝置驅動器可包括對執行安全介面禁用管理器430而言非必需的裝置驅動器之任何子集。超管理器可自第2階段記憶體轉換表移除相關裝置驅動器之中間實體位址至實體位址的映射。在一些實施例中,受限高階操作系統434可在虛擬機416 (虛擬機2)中執行,且可視情況執行對執行安全介面禁用管理器430而言非必需的受限周邊裝置驅動器436。在一些實施例中,在虛擬機414 (虛擬機1)中執行之高階操作系統426可藉由經由虛擬機416 (虛擬機2)路由對受限周邊裝置驅動器436之存取來存取虛擬化周邊裝置驅動器。虛擬機416 (虛擬機2)可為無頭的以使得使用者無法經由使用者介面與在虛擬機416 (虛擬機2)中執行之項目交互。
作為一非限制性實例,周邊裝置子系統442可為藍芽SoC。由藍芽SoC接收之輸入可為在需要禁用計算裝置之周邊裝置之企業所在的位置處傳輸之藍芽信標。安全介面禁用管理器430可向在虛擬機414 (虛擬機1)中執行之高階操作系統426發信以關閉並卸載所有周邊裝置驅動器428。安全介面禁用管理器430亦可發信超管理器420以取消對執行安全介面禁用管理器430而言非必需的所有裝置驅動器的映射。
在各種實施例中,周邊裝置子系統442可接收輸入。在一些實施例中,輸入可經組態以觸發任何數目之周邊介面之啟用。在一些實施例中,輸入可經組態以觸發任何數目之周邊介面之禁用。在一些實施例中,周邊裝置子系統442可停止接收輸入。在各種實施例中,周邊裝置子系統442可將輸入指示傳輸至在虛擬機416 (虛擬機2)中執行之安全介面禁用管理器430。舉例而言,周邊裝置子系統442可將輸入指示經由內容硬體抽象層集線器438及多感測器硬體抽象層432傳輸至安全介面禁用管理器430。在一些實施例中,周邊裝置子系統442可停止將輸入指示傳輸至在虛擬機416 (虛擬機2)中執行之安全介面禁用管理器430。
安全介面禁用管理器430可解譯輸入指示且識別用以啟用之周邊介面以便啟用相關聯的周邊裝置。類似地,安全介面禁用管理器430可解譯輸入指示之缺失且識別用以啟用之周邊介面以便啟用相關聯的周邊裝置。安全介面禁用管理器430可向在虛擬機414 (虛擬機1)中執行之高階操作系統426發信,且高階操作系統426可載入周邊裝置驅動器428。安全介面禁用管理器430亦可發信超管理器420以映射與輸入相關之周邊裝置驅動器的記憶體。在一些實施例中,與輸入相關之周邊裝置驅動器可包括對執行安全介面禁用管理器430而言非必需的所有裝置驅動器。在一些實施例中,與輸入相關之周邊裝置驅動器可包括對執行安全介面禁用管理器430而言非必需的裝置驅動器之任何子集。超管理器可向第2階段記憶體轉換表添加相關裝置驅動器之中間實體位址至實體位址的映射。
圖5說明適用於實施各種實施例之用於安全周邊介面禁用的計算裝置500 (例如,圖1中之計算裝置100)之實例組態。計算裝置500之組態可使用任何數目之處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)或處理器之任何組合實施。計算裝置500之組態可使用任何數目之記憶體(例如,圖1至圖3中之記憶體114、系統快取記憶體202、隨機存取記憶體228、專用處理器核心快取記憶體310、312、314、316、共用處理器核心快取記憶體320、322及共用系統快取記憶體340)或記憶體之任何組合實施。
在各種實施例中,計算裝置500之組態可在異常層級1 (例如,圖4中之異常層級408)處執行高階操作系統502。高階操作系統之非限制性實例包括Windows操作系統、Android操作系統、Chrome操作系統、基於Linux之操作系統及/或iOS操作系統。在各種實施例中,計算裝置500之組態可在異常層級0 (例如,圖4中之異常層級406)處執行應用程式502。在一些實施例中,計算裝置500之組態可執行高階操作系統及應用程式502兩者。在一些實施例中,高階操作系統可請求對周邊裝置508之存取。在各種實施例中,應用程式可請求對周邊裝置508之存取。在各種實施例中,高階操作系統及應用程式中之兩者可做出對周邊裝置508之存取請求。對周邊裝置508之存取請求可包括與周邊裝置508相關聯的周邊介面的虛擬位址。
第1階段記憶體轉換表504可經組態以儲存虛擬位址至中間實體位址之映射。第1階段記憶體轉換表504可由高階操作系統510控制。對記憶體轉換表504之控制可允許高階操作系統識別映射至對周邊裝置508具有存取請求的周邊介面之虛擬位址的周邊介面之中間實體位址。在一些實施例中,此可經由記憶體管理單元(未圖示)實現。
第2階段記憶體轉換表506可經組態以儲存周邊介面之中間實體位址至實體位址之映射,諸如記憶體位置。在一些實施例中,記憶體位置可用於記憶體暫存器。在一些實施例中,記憶體位置可用於專用快取記憶體。在一些實施例中,記憶體位置可用於記憶體分區。第2階段記憶體轉換表506可由在異常層級2 (例如,圖4中之異常層級410)處執行之超管理器512控制。可將周邊介面之中間實體位址傳輸至超管理器,其可識別映射至對周邊裝置508具有存取請求的周邊介面之中間實體位址的周邊介面之實體位址。在一些實施例中,周邊介面之實體位址可允許高階操作系統對周邊裝置508進行存取。在一些實施例中,周邊介面之實體位址可允許應用程式對周邊裝置508進行存取。
在各種實施例中,在異常層級1處執行之高階操作系統不具有允許高階操作系統修改第2階段記憶體轉換表的特權。在各種實施例中,在異常層級0處執行之應用程式不具有允許應用程式修改第2階段記憶體轉換表的特權。在異常層級2處執行之超管理器可具有允許超管理器修改第2階段記憶體轉換表的特權。可信賴執行環境514 (亦稱為安全執行環境)可偵測或接收用於禁用與周邊裝置508相關聯的周邊介面的觸發。在一些實施例中,可信賴執行環境514可包括ARM TrustZone實施。在一些實施例中,可信賴執行環境514可包括安全虛擬機。
可信賴執行環境514可向超管理器傳輸禁用周邊介面之請求。作為回應,超管理器可修改第2階段記憶體轉換表以移除周邊介面之中間實體位址至周邊介面之實體位址的映射。在一些實施例中,將拒絕高階操作系統對與經禁用周邊介面相關聯的周邊裝置508的存取。在一些實施例中,將拒絕應用程式對與周邊介面相關聯的周邊裝置508的存取。並非存取周邊裝置508,而是存取周邊裝置508之請求可觸發記憶體異常。
可信賴執行環境514可偵測或接收用於啟用與周邊裝置508相關聯的周邊介面的觸發。可信賴執行環境514可向超管理器傳輸啟用周邊介面之請求。作為回應,超管理器可修改第2階段記憶體轉換表以添加周邊介面之中間實體位址至周邊介面之實體位址的映射。在一些實施例中,高階操作系統可能能夠存取與周邊介面相關聯的經啟用周邊裝置508。在一些實施例中,應用程式可能能夠存取與周邊介面相關聯的經啟用周邊裝置508。
圖6說明適用於實施各種實施例之用於安全周邊介面禁用的計算裝置600 (例如,圖1中之計算裝置100)之實例組態。計算裝置600之組態可使用任何數目之處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)或處理器之任何組合實施。計算裝置600之組態可使用任何數目之記憶體(例如,圖1至圖3中之記憶體114,系統快取記憶體202,隨機存取記憶體228,專用處理器核心快取記憶體310、312、314、316,共用處理器核心快取記憶體320、322及共用系統快取記憶體340)或記憶體之任何組合實施。
計算裝置600之組態可在不可信賴虛擬機602中執行高階操作系統。計算裝置600可執行之高階操作系統之非限制性實例包括Windows操作系統、Android操作系統、Chrome操作系統、基於Linux之操作系統及/或iOS操作系統。由不可信賴虛擬機602中之高階操作系統對周邊介面608進行的存取(諸如記憶體中之位置)可直接經由習知多階段記憶體位址轉換使用任何組合或記憶體管理單元進行。
在一些實施例中,不可信賴虛擬機602中之高階操作系統可使用與周邊介面608相關聯的虛擬位址(VA)對周邊介面608做出周邊介面存取請求。虛擬位址可使用第1階段記憶體轉換表604轉換成中間實體位址(IPA),該記憶體轉換表可由不可信賴虛擬機602中之高階操作系統存取。在各種實施例中,虛擬位址至中間實體位址之轉換可藉由第1階段記憶體管理單元實施。第1階段記憶體轉換表604可儲存虛擬位址至中間實體位址之映射。中間實體位址可使用第2階段記憶體轉換表606轉換為實體位址(PA)。在各種實施例中,中間實體位址至實體位址之轉換可藉由由在異常層級2處執行之超管理器618管理之第2階段記憶體管理單元實施。第2階段記憶體轉換表606可不藉由不可信賴虛擬機602中之高階操作系統存取。第2階段記憶體轉換表606可儲存中間實體位址至實體位址之映射。對周邊介面608之存取可使用實體位址實施。
在一些實施例中,可信賴虛擬機610中之高階操作系統可使用與周邊介面608相關聯的虛擬位址(VA)對周邊介面608做出周邊介面存取請求。同樣,高階操作系統之非限制性實例包括Windows操作系統、Android操作系統、Chrome操作系統、基於Linux之操作系統及/或iOS操作系統。虛擬位址可使用第1階段記憶體轉換表614轉換成中間實體位址(IPA),該記憶體轉換表可由可信賴虛擬機610中之高階操作系統存取。在各種實施例中,虛擬位址至中間實體位址之轉換可藉由第1階段記憶體管理單元實施。第1階段記憶體轉換表614可儲存虛擬位址至中間實體位址之映射。中間實體位址可使用第2階段記憶體轉換表614轉換為實體位址(PA)。在各種實施例中,中間實體位址至實體位址之轉換可藉由由在異常層級2處執行之超管理器618管理之第2階段記憶體管理單元實施。第2階段記憶體轉換表614可不藉由不可信賴虛擬機602或可信賴虛擬機610中之高階操作系統存取。第2階段記憶體轉換表614可儲存中間實體位址至實體位址之映射。對周邊介面608之存取可使用實體位址實施。
在一些實施例中,超管理器618可在異常層級2 (例如,圖4中之異常層級410)中執行。在異常層級2中執行可授與超管理器618修改第2階段記憶體轉換表606及614的特權。超管理器618可接收禁用周邊介面608之請求。舉例而言,超管理器618可接收取消與周邊介面608相關聯的記憶體位置之映射的請求。可回應於使得在可信賴虛擬機610中之高階操作系統中執行之安全介面禁用管理器(例如,圖4中之安全介面禁用管理器430)產生禁用對周邊介面608之存取的請求之觸發而接收禁用周邊介面608之請求。作為回應,超管理器618可修改第2階段記憶體轉換表606以移除周邊介面608之中間實體位址至周邊介面608之實體位址的映射。在禁用時,可拒絕不可信賴虛擬機602中之高階操作系統對周邊介面608之存取。並非存取周邊裝置608,而是存取周邊裝置608之請求可觸發記憶體異常。
超管理器618可接收啟用周邊介面608之請求。舉例而言,超管理器618可接收映射與周邊介面608相關聯的記憶體位置的請求。可回應於使得在可信賴虛擬機610中之高階操作系統中執行之安全介面禁用管理器產生啟用對周邊介面608之存取的請求之觸發而接收啟用周邊介面608之請求。作為回應,超管理器618可修改第2階段記憶體轉換表606以添加周邊介面608之中間實體位址至周邊介面608之實體位址的映射。在啟用時,不可信賴虛擬機602中之高階操作系統可能能夠存取周邊介面608。
在一些實施例中,可藉由不可信賴虛擬機602中之高階操作系統產生使得在可信賴虛擬機610中之高階操作系統中執行之安全介面禁用管理器產生禁用或啟用對周邊介面608之存取的請求之觸發。在一些實施例中,可藉由不可信賴虛擬機602中之應用程式產生使得在可信賴虛擬機610中之高階操作系統中執行之安全介面禁用管理器產生禁用或啟用對周邊介面608之存取的請求之觸發。在一些實施例中,可藉由計算裝置之另一組件產生觸發。舉例而言,此類觸發可包括回應於偵測到之情況而藉由硬體產生及/或向硬體發信之信號。作為另一實例,此類觸發可包括回應於偵測到之情況而藉由在不可信賴虛擬機602外部執行之軟體產生及/或向軟體發信之信號。作為另一實例,此類觸發可包括回應於偵測到之情況而藉由韌體產生及/或向韌體發信之信號。
圖7說明適用於實施各種實施例之用於安全周邊介面禁用的計算裝置700 (例如,圖1中之計算裝置100)之實例組態。計算裝置700之組態可使用任何數目之處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)或處理器之任何組合實施。計算裝置700之組態可使用任何數目之記憶體(例如,圖1至圖3中之記憶體114,系統快取記憶體202,隨機存取記憶體228,專用處理器核心快取記憶體310、312、314、316,共用處理器核心快取記憶體320、322及共用系統快取記憶體340)或記憶體之任何組合實施。
計算裝置700之組態可包括使用者空間702、內核704、安全使用者介面706、可信賴執行環境708 (亦稱為安全執行環境)、安全檔案系統710及超管理器712。在一些實施例中,可信賴執行環境708可包括ARM TrustZone實施。在一些實施例中,可信賴執行環境708可包括安全虛擬機。在各種實施例中,高階操作系統可在使用者空間702中執行。在各種實施例中,高階操作系統可在內核704中執行。可在內核704中執行之高階操作系統之非限制性實例包括Windows操作系統、Android操作系統、Chrome操作系統、基於Linux之操作系統及/或iOS操作系統。
在使用者空間702中,計算裝置700之組態可接收使用者輸入714。在一些實施例中,使用者輸入714可為啟用周邊裝置。在一些實施例中,使用者輸入714可為禁用周邊裝置。在各種實施例中,使用者輸入714可包括與計算裝置700之使用者互動。在一些實施例中,與計算裝置700之使用者互動可包括與觸控式螢幕之使用者互動。在一些實施例中,與計算裝置700之使用者互動可包括與實體按鈕之使用者互動。在一些實施例中,與計算裝置700之使用者互動可包括使用者提供之可聽碼。在一些實施例中,與計算裝置700之互動可包括使用者提供之影像。在一些實施例中,與計算裝置700之使用者互動可包括使用者提供之生物測定符記。在各種實施例中,使用者輸入714可為用於預定周邊裝置之信號。在各種實施例中,使用者輸入714可為經組態以指示使用者選擇之周邊裝置之信號。在各種實施例中,使用者輸入714可為經組態以具有與周邊裝置之預設關聯之信號。在各種實施例中,使用者輸入714可與多於一個周邊裝置相關聯。在使用者空間702中,高階操作系統可禁用高階操作系統對與周邊裝置相關聯的周邊介面716之與使用者輸入714相關聯的存取。類似地,在使用者空間702中,高階操作系統可啟用高階操作系統對與周邊裝置相關聯的周邊介面716之與使用者輸入714相關聯的存取。
高階操作系統亦可將周邊介面716之禁用發信至內核704。類似地,高階操作系統亦可將周邊介面716之啟用發信至內核704。作為回應,內核704可調用超管理器功能以再映射記憶體轉換表718。超管理器712可檢查安全檔案系統710中周邊介面之儲存狀態734。在各種實施例中,可鎖定周邊介面之儲存狀態730,指示周邊介面經禁用。在各種實施例中,可解除鎖定周邊介面之儲存狀態730,指示周邊介面經啟用。回應於在周邊介面之鎖定狀態期間對周邊介面之禁用請求,超管理器712可忽略禁用請求。回應於在周邊介面之解除鎖定狀態期間對周邊介面之禁用請求,超管理器712可再映射第2階段記憶體轉換表736以移除周邊介面之中間實體位址至周邊介面之實體位址的映射。超管理器712亦可發信可信賴執行環境708以將周邊介面之狀態設定為鎖定728。
安全使用者介面706可接收並確認來自使用者之對周邊裝置之解除鎖定請求720。在各種實施例中,解除鎖定請求可為經組態以指示使用者選擇之周邊裝置解除鎖定的信號。在各種實施例中,解除鎖定請求可為可具有與周邊裝置之預設關聯以解除鎖定的信號。在各種實施例中,解除鎖定請求可與多於一個周邊裝置相關聯。回應於在周邊介面之解除鎖定狀態期間對周邊介面之啟用請求,超管理器712可忽略啟用請求。回應於在周邊介面之鎖定狀態期間對周邊介面之啟用請求,超管理器712可再映射第2階段記憶體轉換表736以添加周邊介面之中間實體位址至周邊介面之實體位址的映射。超管理器712亦可發信安全執行環境708以將周邊介面之狀態設定為解除鎖定724。
為了啟用周邊裝置,計算裝置700之組態可接收使用者輸入714以啟用使用者空間702中之周邊裝置。在各種實施例中,使用者輸入可為經組態以指示使用者選擇之周邊裝置解除鎖定的信號,該使用者選擇之周邊裝置包括與解除鎖定請求相關聯的周邊裝置。在各種實施例中,使用者輸入可為可具有與周邊裝置之預設關聯以解除鎖定的信號,該周邊裝置包括與解除鎖定請求相關聯的周邊裝置。在各種實施例中,使用者輸入714可與多於一個周邊裝置相關聯。在使用者空間702中,高階操作系統可啟用高階操作系統對與周邊裝置相關聯的周邊介面716之與使用者輸入714相關聯的存取。高階操作系統亦可將周邊介面716之啟用發信至內核704。作為回應,內核704可調用超管理器功能以再映射記憶體轉換表718。超管理器712可檢查安全檔案系統710中周邊介面之狀態734。回應於對解除鎖定狀態之啟用請求,超管理器712可再映射第2階段記憶體轉換表736以添加周邊介面之中間實體位址至周邊介面之實體位址的映射。
當在第2階段記憶體轉換表中取消周邊介面的映射時,計算裝置可試圖存取周邊介面。作為回應,記憶體管理單元(未圖示)可能不會在第2階段記憶體轉換表中定位周邊介面之中間實體位址至周邊介面之實體位址的映射。記憶體管理單元可發出記憶體異常中斷732。在一些實施例中,可信賴執行環境708可處理記憶體異常中斷726,諸如藉由記錄及清除記憶體異常中斷來處理。在一些實施例中,超管理器712可處理記憶體異常中斷726,諸如藉由記錄及清除記憶體異常中斷來處理。此外,安全使用者介面706可發出未經授權使用訊息722。未經授權使用訊息可向彼時不准許嘗試存取與周邊介面相關聯的周邊裝置的計算裝置之使用者發信。
圖8說明適用於實施各種實施例之用於安全周邊介面禁用之實例計算裝置(例如,圖1中之計算裝置100)組件通信。計算裝置800之組態可使用任何數目之處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)或處理器之任何組合實施。計算裝置700之組態可使用任何數目之記憶體(例如,圖1至圖3中之記憶體114,系統快取記憶體202,隨機存取記憶體228,專用處理器核心快取記憶體310、312、314、316,共用處理器核心快取記憶體320、322及共用系統快取記憶體340)或記憶體之任何組合實施。
可信賴執行環境802 (其可被稱為安全執行環境)、超管理器804及高階操作系統806可通信以實施安全周邊介面禁用。可信賴執行環境802可包括圖4之可信賴執行環境404。可信賴執行環境802可包括圖6之可信賴虛擬機610。可信賴執行環境802可包括圖7之可信賴執行環境708。超管理器804可包括圖4之超管理器420。超管理器804可包括圖6之超管理器618。超管理器804可包括圖7之超管理器712。高階操作系統806可包括圖4之高階操作系統426。高階操作系統806可包括圖5之高階操作系統502。高階操作系統806可包括圖6之高階操作系統602。可信賴執行環境802可偵測禁用周邊介面之觸發808。在各種實施例中,觸發可由計算裝置之使用者提供。在各種實施例中,觸發可由對計算裝置之非自主觸發提供。在一些實施例中,非自主觸發可基於計算裝置所接收之信號。在一些實施例中,非自主觸發可基於與計算裝置相關之內容。在各種實施例中,周邊介面可由觸發指定。在各種實施例中,周邊介面可藉由計算裝置與觸發尤其相關。在各種實施例中,周邊介面可藉由計算裝置與觸發一般相關。換言之,觸發可指示周邊介面。計算裝置可使周邊介面與觸發匹配。計算裝置可經組態以識別用於任何觸發之周邊介面。在各種實施例中,周邊介面可多於一個周邊介面。
可信賴執行環境802可判定待禁用周邊介面之實體位址810。周邊介面可與虛擬位址相關聯且彼虛擬位址可轉換為中間實體位址,且中間實體位址可轉換為實體位址。單獨的映射階段可用於將虛擬位址轉換為實體位址。第1階段記憶體轉換表可用於將虛擬位址轉換為中間實體位址。第2階段記憶體轉換表可用於將中間實體位址轉換為實體位址。因此,映射至中間實體位址(其映射至周邊介面之虛擬位址)之實體位址為待禁用周邊介面之實體位址。
可信賴執行環境802可請求取消待禁用周邊介面的映射812。超管理器804可接收取消待禁用周邊介面之映射812的請求。超管理器804可自第2階段記憶體轉換表移除待禁用周邊介面的中間實體位址至實體位址之映射814。移除映射可包括解除第2階段記憶體轉換表中的中間實體位址及實體位址之關聯。移除映射可包括自第2階段記憶體轉換表移除中間實體位址。移除映射可包括自第2階段記憶體轉換表移除實體位址。自第2階段記憶體轉換表移除周邊介面之中間實體位址至實體位址之映射可藉由使周邊介面不可存取來禁用周邊介面。
當禁用周邊介面時,高階操作系統806可試圖存取經禁用周邊介面816。為了存取經禁用周邊介面,高階操作系統806可請求對與經禁用周邊介面相關聯的虛擬位址的存取818。記憶體管理單元可將虛擬位址轉換為中間實體位址。記憶體管理單元可試圖將中間實體位址轉換為實體位址。然而,記憶體管理單元可能未能在將來自第2階段記憶體轉換表之周邊介面之中間實體位址至實體位址的映射移除時將中間實體位址轉換為實體位址。
記憶體管理單元可回應於未能存取經禁用/取消映射之周邊介面而發出記憶體異常820。在各種實施例中,記憶體異常可觸發通知。可將通知提供至計算裝置,諸如提供至可信賴執行環境802。可將通知提供至計算裝置之使用者。可將通知提供至實施行動裝置管理之位置之監視器以禁用計算裝置之周邊裝置。在一些實施例中,該位置之監視器可為自動化計算裝置。在一些實施例中,該位置之監視器可為監視該位置之人員。
可信賴執行環境802可偵測啟用周邊介面之觸發822。在各種實施例中,觸發可由計算裝置之使用者提供。在各種實施例中,觸發可為對計算裝置之非自主觸發。在一些實施例中,非自主觸發可基於計算裝置所接收之信號。在一些實施例中,非自主觸發可基於與計算裝置相關之內容。在各種實施例中,觸發可包括缺少對計算裝置之非自主觸發。在各種實施例中,周邊介面可由觸發指定。在各種實施例中,周邊介面可藉由計算裝置與觸發尤其相關。在各種實施例中,周邊介面可藉由計算裝置與觸發一般相關。換言之,觸發可指示周邊介面。計算裝置可使周邊介面與觸發匹配。計算裝置可經組態以識別用於任何觸發之周邊介面。在各種實施例中,周邊介面可多於一個周邊介面。
可信賴執行環境802可判定待啟用周邊介面之實體位址824。周邊介面可與虛擬位址相關聯且彼虛擬位址可轉換為中間實體位址,且中間實體位址可轉換為實體位址。單獨的映射階段可用於將虛擬位址轉換為實體位址。第1階段記憶體轉換表可用於將虛擬位址轉換為中間實體位址。第2階段記憶體轉換表可用於將中間實體位址轉換為實體位址。因此,映射至中間實體位址(其映射至周邊介面之虛擬位址)之實體位址為待啟用周邊介面之實體位址。
可信賴執行環境802可請求映射待啟用周邊介面826。超管理器804可接收映射待啟用周邊介面826的請求。超管理器804可將待啟用周邊介面的中間實體位址至實體位址之映射添加至第2階段記憶體轉換表828。添加映射可包括使第2階段記憶體轉換表中的中間實體位址及實體位址相關聯。添加映射可包括添加中間實體位址。添加映射可包括將實體位址添加至第2階段記憶體轉換表。自第2階段記憶體轉換表添加周邊介面之中間實體位址至實體位址之映射可藉由使周邊介面可存取來啟用周邊介面。
圖9A說明根據一實施例的用於安全周邊介面禁用的方法900。方法900可實施於計算裝置、在處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)中執行之軟體、通用硬體、專用硬體或軟體經組態處理器及專用硬體之組合中,諸如在包括其他個別組件(圖1至圖3中之記憶體114,系統快取記憶體202,隨機存取記憶體228,專用處理器核心快取記憶體310、312、314、316,共用處理器核心快取記憶體320、322及共用系統快取記憶體340)之計算裝置個人化分集經啟用系統(例如,圖4至圖7中之計算裝置400、500、600、700之組態)內執行軟體的處理器及各種記憶體/快取記憶體控制器(例如,圖2中所說明之控制器204、216、226)。為涵蓋各種實施例中所啟用之替代性組態,實施方法900之硬體在本文中稱為「處理裝置」。
在區塊902中,處理裝置可偵測/接收禁用周邊介面之觸發。在各種實施例中,觸發可由與計算裝置交互之使用者提供。在各種實施例中,觸發可由對計算裝置之非自主觸發提供。在一些實施例中,非自主觸發可基於計算裝置所接收之信號。在一些實施例中,非自主觸發可基於與計算裝置相關之內容。在各種實施例中,周邊介面可由觸發指定。在各種實施例中,周邊介面可藉由計算裝置與觸發尤其相關。在各種實施例中,周邊介面可藉由計算裝置與觸發一般相關。換言之,觸發可指示周邊介面。計算裝置可使周邊介面與觸發匹配。計算裝置可經組態以識別用於任何觸發之周邊介面。在各種實施例中,周邊介面可多於一個周邊介面。
在區塊904中,處理裝置可判定周邊介面之實體位址。周邊介面可與虛擬位址相關聯且彼虛擬位址可轉換為中間實體位址,且中間實體位址可轉換為實體位址。單獨的映射階段可用於將虛擬位址轉換為實體位址。第1階段記憶體轉換表可用於將虛擬位址轉換為中間實體位址。第2階段記憶體轉換表可用於將中間實體位址轉換為實體位址。因此,映射至中間實體位址(其映射至周邊介面之虛擬位址)之實體位址為待啟用周邊介面之實體位址。
在區塊906中,處理裝置可請求取消來自第2階段記憶體轉換表之周邊介面之實體位址的映射。
在視情況選用之判定區塊908中,處理裝置可判定周邊介面狀態是否為鎖定。處理裝置可自記憶體擷取周邊介面狀態。記憶體可包括計算裝置之安全位置中之狀態暫存器。安全位置可包括計算裝置之安全檔案系統。
在於區塊906中請求取消來自第2階段記憶體轉換表之周邊介面之實體位址的映射之後,在區塊910中,處理裝置可自第2階段記憶體轉換表移除周邊介面之中間實體位址至實體位址的映射。類似地,回應於判定周邊介面狀態為未鎖定(亦即,視情況選用之判定區塊908 = 「否」),在區塊910中,處理裝置可自第2階段記憶體轉換表移除周邊介面之中間實體位址至實體位址的映射。移除映射可包括解除第2階段記憶體轉換表中的中間實體位址及實體位址之關聯。移除映射可包括自第2階段記憶體轉換表移除中間實體位址。移除映射可包括自第2階段記憶體轉換表移除實體位址。自第2階段記憶體轉換表移除周邊介面之中間實體位址至實體位址之映射可藉由使周邊介面不可存取來禁用周邊介面。
在視情況選用之區塊912中,處理裝置可將周邊介面之狀態設定為鎖定。周邊介面之鎖定狀態可指示計算裝置禁用周邊介面,且因此禁用與周邊介面相關聯的周邊裝置。處理裝置可將周邊介面之狀態寫入至用於儲存狀態之記憶體。
回應於判定周邊介面狀態為鎖定(亦即,視情況選用之判定區塊908 = 「是」),在視情況選用之區塊914中,處理裝置可忽略取消來自第2階段記憶體轉換表之周邊介面之實體位址的映射之請求。此外,處理裝置可向計算裝置之使用者發出周邊介面狀態為鎖定之訊息。處理裝置可向實施行動裝置管理之位置的監視器發出周邊介面狀態為鎖定之訊息。在一些實施例中,該位置之監視器可為自動化計算裝置。在一些實施例中,該位置之監視器可為監視該位置之人員。
在一些實施例中,替代上文所描述之用於視情況選用之判定區塊908的操作,在於區塊902中處理裝置偵測/接收禁用周邊介面之觸發之後,在視情況選用之判定區塊908中,處理裝置可判定周邊介面狀態是否為鎖定。因此,回應於判定周邊介面狀態為未鎖定(亦即,視情況選用之判定區塊908 = 「否」),在區塊904中,處理裝置可判定周邊介面之實體位址。回應於判定周邊介面狀態為鎖定(亦即,視情況選用之判定區塊908 = 「是」),在區塊914中,處理裝置可忽略禁用周邊介面之觸發。此外,處理裝置可向計算裝置之使用者發出周邊介面狀態為鎖定之訊息。處理裝置可向實施行動裝置管理之位置的監視器發出周邊介面狀態為鎖定之訊息。在一些實施例中,該位置之監視器可為自動化計算裝置。在一些實施例中,該位置之監視器可為監視該位置之人員。
在一些實施例中,區塊904及906中之操作可能不會如圖9B中所說明之方法950中般進行。
圖10說明根據一實施例的用於安全周邊介面禁用的方法1000。方法1000可實施於計算裝置、在處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)中執行之軟體、通用硬體、專用硬體或軟體經組態處理器及專用硬體之組合中,諸如在包括其他個別組件(圖1至圖3中之記憶體114,系統快取記憶體202,隨機存取記憶體228,專用處理器核心快取記憶體310、312、314、316,共用處理器核心快取記憶體320、322及共用系統快取記憶體340)之計算裝置個人化分集經啟用系統(例如,圖4至圖7中之計算裝置400、500、600、700之組態)內執行軟體的處理器及各種記憶體/快取記憶體控制器(例如,圖2中所說明之控制器204、216、226)。為涵蓋各種實施例中所啟用之替代性組態,實施方法1000之硬體在本文中稱為「處理裝置」。
在區塊1002中,處理裝置可接收存取經禁用周邊介面之請求。在各種實施例中,存取經禁用周邊介面之請求可由與計算裝置之使用者互動產生。在各種實施例中,存取經禁用周邊介面之請求可由在計算裝置上執行之正常應用程式產生。在各種實施例中,存取經禁用周邊介面之請求可由在計算裝置上執行之高階操作系統產生。高階操作系統可包括圖4至圖8之高階操作系統426、502、602、806中之任一者。在各種實施例中,存取經禁用周邊介面之請求可由在計算裝置上執行之不正常或惡意程式碼產生。在各種實施例中,存取經禁用周邊介面之請求可由與計算裝置交互之遠端使用者產生。在一些實施例中,遠端使用者可為未經授權入侵者。存取經禁用周邊裝置之請求存取可包括與經禁用周邊介面相關聯的虛擬位址。在各種實施例中,可使用第1階段記憶體轉換表中虛擬位址至中間實體位址之映射將虛擬位址轉換為中間實體位址。
在區塊1004中,處理裝置可針對存取經禁用周邊介面之請求之位址至經禁用周邊介面之實體位址的映射檢查第2階段記憶體轉換表。在各種實施例中,存取經禁用周邊介面之請求之位址可為經禁用周邊介面之虛擬位址,且其可轉換為經禁用周邊介面之中間實體位址以針對至經禁用周邊介面之實體位址的映射檢查第2階段記憶體轉換表。在各種實施例中,存取經禁用周邊介面之請求之位址可為經禁用周邊介面之中間實體位址。在任一情況下,一旦處理裝置獲取中間實體位址,則處理裝置可在第2階段記憶體轉換表中檢查中間實體位址至實體位址之映射。
在區塊1006中,處理裝置可判定未發現存取經禁用周邊介面之請求之位址至經禁用周邊介面之實體位址的映射。未能發現存取經禁用周邊介面之請求之位址至經禁用周邊介面之實體位址的映射可起因於中間實體位址及實體位址在第2階段記憶體轉換表中解除關聯。未能發現存取經禁用周邊介面之請求之位址至經禁用周邊介面之實體位址的映射可起因於中間實體位址自第2階段記憶體轉換表丟失。未能發現存取經禁用周邊介面之請求之位址至經禁用周邊介面之實體位址的映射可起因於實體位址自第2階段記憶體轉換表丟失。
在區塊1008中,處理裝置可針對存取經禁用周邊介面之請求發出記憶體異常。在各種實施例中,記憶體異常可對計算裝置觸發通知。在一些實施例中,可將通知提供至處理器。在一些實施例中,可將通知提供至計算裝置之使用者。在一些實施例中,可將通知提供至實施行動裝置管理之位置之監視器以禁用計算裝置之周邊裝置。在一些實施例中,該位置之監視器可為自動化計算裝置。在一些實施例中,該位置之監視器可為監視該位置之人員。該通知可告知接收方正試圖存取經禁用周邊裝置。該通知亦可告知接收方對經禁用周邊裝置之存取不可用。該通知可類似地告知接收方根據行動裝置管理政策不允許存取經禁用周邊裝置。
在區塊1010中,處理裝置可針對存取經禁用周邊介面之請求處理記憶體異常。在各種實施例中,處理記憶體異常可包括針對存取經禁用周邊介面之請求記錄記憶體異常。在各種實施例中,處理記憶體異常可包括記錄與存取經禁用周邊介面之請求相關的資料。在一些實施例中,處理記憶體異常可包括清除來自緩衝器或暫存器之異常。在一些實施例中,處理記憶體異常可包括重設處理。在一些實施例中,處理記憶體異常可包括通知使用者。在一些實施例中,處理記憶體異常可包括經由行動裝置管理系統通知系統管理員。
圖11A說明根據一實施例的用於安全周邊介面禁用的方法1100。方法1100可實施於計算裝置、在處理器(例如,圖1至圖3中之通用處理器106;基頻數據機處理器116;控制器/微控制器108、118、130;CPU叢集206、GPU 210、DSP 212、APU 214中之處理器;周邊裝置子系統218、220、222、232、234之處理器;處理器核心300、301、302、303;及處理器350)中執行之軟體、通用硬體、專用硬體或軟體經組態處理器及專用硬體之組合中,諸如在包括其他個別組件(圖1至圖3中之記憶體114,系統快取記憶體202,隨機存取記憶體228,專用處理器核心快取記憶體310、312、314、316,共用處理器核心快取記憶體320、322及共用系統快取記憶體340)之計算裝置個人化分集經啟用系統(例如,圖4至圖7中之計算裝置400、500、600、700之組態)內執行軟體的處理器及各種記憶體/快取記憶體控制器(例如,圖2中所說明之控制器204、216、226)。為涵蓋各種實施例中所啟用之替代性組態,實施方法1100之硬體在本文中稱為「處理裝置」。
在區塊1102中,處理裝置可偵測/接收啟用周邊介面之觸發。在各種實施例中,觸發可由與計算裝置交互之使用者提供。在各種實施例中,觸發可由對計算裝置之非自主觸發提供。在一些實施例中,非自主觸發可基於計算裝置所接收之信號。在一些實施例中,非自主觸發可基於與計算裝置相關之內容。在各種實施例中,觸發可缺少對計算裝置之非自主觸發。在各種實施例中,周邊介面可由觸發指定。在各種實施例中,周邊介面可藉由計算裝置與觸發尤其相關。在各種實施例中,周邊介面可藉由計算裝置與觸發一般相關。換言之,觸發可指示周邊介面。計算裝置可使周邊介面與觸發匹配。計算裝置可經組態以識別用於任何觸發之周邊介面。在各種實施例中,周邊介面可多於一個周邊介面。
在視情況選用之判定區塊1104中,處理裝置可判定周邊介面狀態是否為鎖定。處理裝置可自記憶體擷取周邊介面狀態。記憶體可包括計算裝置之安全位置中之狀態暫存器。安全位置可包括計算裝置之安全檔案系統。視情況選用之判定區塊1104中周邊介面狀態是否為鎖定之判定可用於確認啟用周邊介面之觸發是否正常。在周邊介面之鎖定狀態期間啟用周邊介面之觸發可為正常的。在周邊介面之解除鎖定狀態期間啟用周邊介面之觸發可為不正常的。
回應於判定周邊介面狀態為鎖定(亦即,視情況選用之判定區塊1104 = 「是」),在區塊1106中,處理裝置可判定周邊介面之實體位址。周邊介面可與虛擬位址相關聯且彼虛擬位址可轉換為中間實體位址,且中間實體位址可轉換為實體位址。單獨的映射階段可用於將虛擬位址轉換為實體位址。第1階段記憶體轉換表可用於將虛擬位址轉換為中間實體位址。第2階段記憶體轉換表可用於將中間實體位址轉換為實體位址。因此,映射至中間實體位址(其映射至周邊介面之虛擬位址)之實體位址為待啟用周邊介面之實體位址。
在區塊1108中,處理裝置可請求將周邊介面之實體位址映射至第2階段記憶體轉換表。
在區塊1110中,處理裝置可自第2階段記憶體轉換表添加周邊介面的中間實體位址至實體位址之映射。添加映射可包括使第2階段記憶體轉換表中的中間實體位址及實體位址相關聯。添加映射可包括將中間實體位址添加至第2階段記憶體轉換表。添加映射可包括將實體位址添加至第2階段記憶體轉換表。將周邊介面的中間實體位址至實體位址之映射添加至第2階段記憶體轉換表可藉由使周邊介面可存取來啟用周邊介面。
在區塊1112中,處理裝置可將周邊介面之狀態設定為解除鎖定。周邊介面之解除鎖定狀態可指示計算裝置啟用及/或可啟用周邊介面,且因此啟用及/或可啟用與周邊介面相關聯的周邊裝置。處理裝置可將周邊介面之狀態寫入至用於儲存狀態之記憶體。
回應於判定周邊介面狀態為未鎖定(亦即,視情況選用之判定區塊1104 = 「否」),在視情況選用之區塊1114中,處理裝置可忽略啟用周邊介面之觸發。
在一些實施例中,替代上文所描述之視情況選用之判定區塊1104的描述,在於區塊1108中處理裝置請求將周邊介面之實體位址映射至第2階段記憶體轉換表之後,在視情況選用之判定區塊1104中,處理裝置可判定周邊介面狀態是否為鎖定。因此,回應於判定周邊介面狀態為鎖定(亦即,視情況選用之判定區塊1104 = 「是」),在區塊1110中,處理裝置可自第2階段記憶體轉換表添加周邊介面的中間實體位址至實體位址之映射。回應於判定周邊介面狀態為未鎖定(亦即,視情況選用之判定區塊1104 = 「否」),在視情況選用之區塊1114中,處理裝置可忽略將周邊介面之實體位址映射至第2階段記憶體轉換表的請求。
在一些實施例中,區塊1108中之操作可能不會如圖11B中所說明之方法1150中般進行。
各種實施例(包括但不限於上文參考圖1至圖11B所描述之實施例)可實施於包括無線通信裝置之廣泛多種計算系統中,其實例適合於與圖12中所說明之各種實施例一起使用。無線通信裝置1200可包括耦接至觸控式螢幕控制器1204及內部記憶體1206之處理器1202。處理器1202可為經指派用於一般或特定處理任務的一或多個多核心積體電路。內部記憶體1206可為揮發性或非揮發性記憶體,且亦可為安全及/或加密記憶體,或不安全及/或未加密記憶體,或其任何組合。可利用之記憶體類型的實例包括但不限於DDR、LPDDR、GDDR、WIDEIO、RAM、SRAM、DRAM、P-RAM、R-RAM、M-RAM、STT-RAM及嵌入型DRAM。觸控式螢幕控制器1204及處理器1202亦可耦接至觸控式螢幕面板1212,諸如電阻感測觸控式螢幕、電容感測觸控式螢幕、紅外感測觸控式螢幕等。另外,計算裝置1200之顯示器不必具有觸控螢幕能力。
無線通信裝置1200可具有彼此耦接及/或耦接至處理器1202之用於發送及接收通信的一或多個無線電信號收發器1208 (例如,花生(Peanut)、藍芽、紫蜂、Wi-Fi、RF無線電)及天線1210。收發器1208及天線1210可與上文所提及之電路一起使用,以實施各種無線傳輸協定堆疊及介面。無線通信裝置1200可包括蜂巢式網路無線數據機晶片1216,其使得能夠經由蜂巢式網路進行通信且耦接至處理器。
無線通信裝置1200可包括耦接至處理器1202之周邊裝置連接介面1218。周邊裝置連接介面1218可經單一地組態以接受一種類型之連接,或可經組態以接受各種類型之實體及通信連接(共同的或專用的),諸如通用串列匯流排(USB)、FireWire、Thunderbolt或PCIe。周邊裝置連接介面1218亦可耦接至經類似組態之周邊裝置連接埠(未圖示)。
無線通信裝置1200亦可包括揚聲器1214以用於提供音訊輸出。無線通信裝置1200亦可包括由塑膠、金屬或材料組合構成之外殼1220,以含有本文中所描述之組件中之所有或一些。無線通信裝置1200可包括耦接至處理器1202之電源1222,諸如一次性或可再充電電池。可再充電電池亦可耦接至周邊裝置連接埠以接收來自無線通信裝置1200外部之源極的充電電流。無線通信裝置1200亦可包括用於接收使用者輸入之實體按鈕1224。無線通信裝置1200亦可包括電源按鈕1226以用於接通及切斷無線通信裝置1200。
各種實施例(包括但不限於上文參考圖1至圖11所描述之實施例)可實施於廣泛多種計算裝置(包括膝上型電腦1300)中,其實例說明於圖13中。許多膝上型電腦包括充當電腦之指標裝置之觸控板觸控表面1317,且因此可接收類似於在配備有觸控螢幕顯示器及上文所描述之計算裝置上實施之彼等手勢的拖曳(drag)、翻捲(scroll)及撥動(flick)手勢。膝上型電腦1300將通常包括耦接至揮發性記憶體1312及大容量非揮發性記憶體(諸如快閃記憶體之磁碟機1313)的處理器1311。另外,電腦1300可具有用於發送及接收電磁輻射之一或多個天線1308,天線可連接至耦接至處理器1311之無線資料鏈路及/或蜂巢式電話收發器1316。電腦1300亦可包括耦接至處理器1311之軟碟驅動機1314及緊密光碟(CD)驅動機1315。在筆記型電腦組態中,電腦外殼包括皆耦接至處理器1311之觸控板1317、鍵盤1318及顯示器1319。計算裝置之其他組態可包括所熟知的耦接至處理器(例如,經由USB輸入)之電腦滑鼠或軌跡球,其亦可結合各種實施例而使用。
各種實施例(包括但不限於上文參考圖1至圖11所描述之實施例)亦可實施於固定計算系統(諸如多種市售伺服器中之任一者)中。實例伺服器1400說明於圖14中。此類伺服器1400通常包括耦接至揮發性記憶體1402及大容量非揮發性記憶體(諸如磁碟機1404)之一或多個多核心處理器組合件1401。如圖14中所說明,多核心處理器組合件1401可藉由插入至組合件之機架中而添加至伺服器1400。伺服器1400亦可包括耦接至處理器1401之軟碟驅動器、緊密光碟(CD)或數位影音光碟(DVD)光碟驅動機1406。伺服器1400亦可包括耦接至多核心處理器組合件1401以用於建立與網路1405之網路介面連接的網路存取埠1403,該網路諸如耦接至其他廣播系統電腦及伺服器之區域網路、網際網路、公眾交換電話網路及/或蜂巢式資料網路(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其他類型之蜂巢式資料網路)。
用於在可程式化處理器上執行以用於進行各種實施例之操作的電腦程式碼或「程式碼」可以諸如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、結構化查詢語言(例如,Transact-SQL)、Perl之高階程式設計語言或以各種其他程式設計語言寫入。如本申請案中使用之儲存在電腦可讀儲存媒體上的程式碼或程式可指機器語言程式碼(諸如目標程式碼),其格式可由處理器理解。
前述方法描述及程序流程圖係僅作為說明性實例而提供,且並不意欲要求或暗示各種實施例之操作必須以所呈現之次序來執行。如熟習此項技術者將瞭解,前述實施例中之操作的次序可以任何次序執行。諸如「此後」、「隨後」、「接著」等之措辭並不意欲限制操作之次序;此等措辭僅用於導引讀者閱讀該等方法之描述。另外,對呈單數形式之申請專利範圍元素的任何參考(例如,使用冠詞「一 (a/an)」或「該」)不應解釋為將元素限於單數形式。
結合各種實施例而描述的各種說明性邏輯區塊、模組、電路及演算法操作可經實施為電子硬體、電腦軟體或兩者之組合。為清楚地說明硬體與軟體之此互換性,已在上文就各種說明性組件、區塊、模組、電路及操作之功能性對其加以大體描述。此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束而定。熟習此項技術者可針對每一特定應用以變化之方式實施所描述功能性,但該等實施決策不應被解釋為致使背離申請專利範圍之範疇。
用以實施結合本文中所揭示之實施例所描述的各種說明性邏輯、邏輯區塊、模組及電路的硬體可藉由通用處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其經設計以執行本文中所描述之功能之任何組合來實施或執行。通用處理器可為微處理器,但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算裝置之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器或任何其他此類組態。或者,可藉由特定於給定功能之電路來執行一些操作或方法。
在一或多個實施例中,所描述功能可以硬體、軟體、韌體或其任何組合來實施。若實施於軟體中,則該等功能可作為一或多個指令或程式碼儲存於非暫時性電腦可讀媒體或非暫時性處理器可讀媒體上。本文揭示之方法或演算法之操作可體現於處理器可執行軟體模組中,該處理器可執行軟體模組可駐留於非暫時性電腦可讀或處理器可讀儲存媒體上。非暫時性電腦可讀或處理器可讀之儲存媒體可為可由電腦或處理器存取之任何儲存媒體。藉助於實例但非限制,此類非暫時性電腦可讀或處理器可讀媒體可包括RAM、ROM、EEPROM、快閃記憶體、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置、或可用於儲存呈指令或資料結構之形式的所需程式碼且可由電腦存取之任何其他媒體。如本文中所使用之磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟用雷射以光學方式再生資料。以上各者之組合亦包括在非暫時性電腦可讀及處理器可讀媒體之範疇內。另外,方法或演算法之操作可作為程式碼及/或指令中之一者或任何組合或集合而駐留在可併入至電腦程式產品中之非暫時性處理器可讀媒體及/或電腦可讀媒體上。
提供對所揭示實施例之先前描述以使任何熟習此項技術者能夠製造或使用申請專利範圍。熟習此項技術者將易於瞭解對此等實施例之各種修改,且本文中所定義之一般原理可應用於其他實施例及實施而不背離申請專利範圍之範疇。因此,本發明不意欲限於本文中所描述之實施例及實施,而應符合與以下申請專利範圍及本文中所揭示之原理及新穎特徵一致的最廣範疇。
100‧‧‧計算裝置
102‧‧‧用戶識別模組介面
104‧‧‧識別模組SIM
106‧‧‧通用處理器
108‧‧‧編碼器/解碼器
110‧‧‧揚聲器
112‧‧‧麥克風
114‧‧‧記憶體
116‧‧‧基頻數據機處理器
118‧‧‧RF資源
120‧‧‧天線
122‧‧‧系統單晶片
124‧‧‧實體按鈕
126‧‧‧觸控式螢幕顯示器
128‧‧‧其他周邊裝置
130‧‧‧控制器/微控制器
200‧‧‧系統集線器
202‧‧‧系統快取記憶體
204‧‧‧系統快取控制器
206‧‧‧CPU叢集/處理器
208‧‧‧協定轉換器
210‧‧‧圖形處理器單元
212‧‧‧數據機數位信號處理器
214‧‧‧應用程式處理器單元
216‧‧‧記憶體介面
218‧‧‧相機子系統
220‧‧‧視訊子系統
222‧‧‧顯示器子系統
224‧‧‧系統晶片上網路
226‧‧‧記憶體控制器
228‧‧‧隨機存取記憶體
230‧‧‧SoC
232‧‧‧音訊子系統
234‧‧‧無線通信子系統
300‧‧‧處理器核心
301‧‧‧處理器核心
302‧‧‧處理器核心
303‧‧‧處理器核心
310‧‧‧專用處理器核心快取記憶體
312‧‧‧專用處理器核心快取記憶體
314‧‧‧專用處理器核心快取記憶體
316‧‧‧專用處理器核心快取記憶體
320‧‧‧共用處理器核心快取記憶體
322‧‧‧共用處理器核心快取記憶體
330‧‧‧共用處理器快取記憶體
340‧‧‧共用系統快取記憶體
350‧‧‧處理器
400‧‧‧計算裝置
402‧‧‧富集執行環境
404‧‧‧可信賴執行環境
406‧‧‧異常層級
408‧‧‧異常層級
410‧‧‧異常層級
412‧‧‧異常層級
414‧‧‧虛擬機
416‧‧‧虛擬機
420‧‧‧超管理器
422‧‧‧安全監視器
424‧‧‧應用程式
426‧‧‧高階操作系統
428‧‧‧周邊裝置驅動器
430‧‧‧安全介面禁用管理器
432‧‧‧多感測器硬體抽象層
434‧‧‧受限高階操作系統
436‧‧‧受限周邊裝置驅動器
438‧‧‧內容硬體抽象層集線器
440‧‧‧安全應用程式
442‧‧‧周邊裝置子系統
500‧‧‧計算裝置
502‧‧‧高階操作系統/應用程式/高階操作系統及應用程式
504‧‧‧第1階段記憶體轉換表
506‧‧‧第2階段記憶體轉換表
508‧‧‧周邊裝置
510‧‧‧高階操作系統
512‧‧‧超管理器
514‧‧‧可信賴執行環境
600‧‧‧計算裝置
602‧‧‧不可信賴虛擬機
604‧‧‧第1階段記憶體轉換表
606‧‧‧第2階段記憶體轉換表
608‧‧‧周邊介面
610‧‧‧可信賴虛擬機
612‧‧‧第1階段記憶體轉換表
614‧‧‧第2階段記憶體轉換表
618‧‧‧超管理器
700‧‧‧計算裝置
702‧‧‧使用者空間
704‧‧‧內核
706‧‧‧安全使用者介面
708‧‧‧可信賴執行環境
710‧‧‧安全檔案系統
712‧‧‧超管理器
714‧‧‧使用者輸入
716‧‧‧周邊介面
718‧‧‧區塊
720‧‧‧區塊
722‧‧‧區塊
724‧‧‧區塊
726‧‧‧區塊
728‧‧‧區塊
730‧‧‧所儲存之周邊介面狀態
732‧‧‧記憶體異常中斷
734‧‧‧區塊
736‧‧‧區塊
800‧‧‧計算裝置
802‧‧‧可信賴執行環境
804‧‧‧超管理器
806‧‧‧高階操作系統
808‧‧‧區塊
810‧‧‧區塊
812‧‧‧區塊
814‧‧‧區塊
816‧‧‧區塊
818‧‧‧區塊
820‧‧‧區塊
822‧‧‧區塊
824‧‧‧區塊
826‧‧‧區塊
828‧‧‧區塊
900‧‧‧方法
902‧‧‧區塊
904‧‧‧區塊
906‧‧‧區塊
908‧‧‧視情況選用之判定區塊
910‧‧‧區塊
912‧‧‧區塊
914‧‧‧區塊
950‧‧‧方法
1000‧‧‧方法
1002‧‧‧區塊
1004‧‧‧區塊
1006‧‧‧區塊
1008‧‧‧區塊
1010‧‧‧區塊
1100‧‧‧方法
1102‧‧‧區塊
1104‧‧‧視情況選用之判定區塊
1106‧‧‧區塊
1108‧‧‧區塊
1110‧‧‧區塊
1112‧‧‧區塊
1114‧‧‧區塊
1200‧‧‧無線通信裝置
1202‧‧‧處理器
1204‧‧‧觸控式螢幕控制器
1206‧‧‧內部記憶體
1208‧‧‧無線電信號收發器
1210‧‧‧天線
1212‧‧‧觸控式螢幕面板
1214‧‧‧揚聲器
1216‧‧‧蜂巢式網路無線數據機晶片
1218‧‧‧周邊裝置連接介面
1220‧‧‧外殼
1222‧‧‧電源
1224‧‧‧實體按鈕
1226‧‧‧電源按鈕
1300‧‧‧膝上型電腦
1308‧‧‧天線
1311‧‧‧處理器
1312‧‧‧揮發性記憶體
1313‧‧‧磁碟機
1314‧‧‧軟碟驅動機
1315‧‧‧緊密光碟驅動機
1316‧‧‧無線資料鏈路及/或蜂巢式電話收發器
1317‧‧‧觸控板
1318‧‧‧鍵盤
1319‧‧‧顯示器
1400‧‧‧伺服器
1401‧‧‧多核心處理器組合件
1402‧‧‧揮發性記憶體
1403‧‧‧網路存取埠
1404‧‧‧磁碟機
1405‧‧‧網路
1406‧‧‧數位影音光碟光碟驅動機
併入本文中且構成本說明書之部分的附圖說明各種實施例之實例態樣,且連同上文給出之大體描述及下文給出之詳細描述用以解釋申請專利範圍之特徵。
圖1為說明適用於實施各種實施例之實例計算裝置之組件方塊圖。
圖2為說明適用於實施各種實施例之實例計算裝置之組件方塊圖。
圖3為說明適用於實施各種實施例之實例多核心處理器之組件方塊圖。
圖4為說明適用於實施各種實施例之用於安全周邊介面禁用之計算裝置之實例組態的組件方塊圖。
圖5為說明適用於實施各種實施例之用於安全周邊介面禁用之計算裝置之實例組態的組件方塊圖及程序流程圖。
圖6為說明適用於實施各種實施例之用於安全周邊介面禁用之計算裝置之實例組態的組件方塊圖及程序流程圖。
圖7為說明適用於實施各種實施例之用於安全周邊介面禁用之計算裝置之實例組態的組件方塊圖及程序流程圖。
圖8為說明適用於實施各種實施例之安全周邊介面禁用之組件方塊圖及信號流程圖。
圖9A及圖9B為說明根據各種實施例的用於安全周邊介面禁用之方法的程序流程圖。
圖10為說明根據各種實施例的用於處理禁用周邊介面之請求之方法的程序流程圖。
圖11A及圖11B為說明根據各種實施例的用於安全周邊介面啟用之方法的程序流程圖。
圖12為說明適合於與各種實施例一起使用的實例無線通信裝置的組件方塊圖。
圖13為說明適合於與各種實施例一起使用的實例計算裝置的組件方塊圖。
圖14為說明適合於與各種實施例一起使用的實例伺服器的組件方塊圖。

Claims (30)

  1. 一種用於在一計算裝置上進行安全周邊介面禁用之方法,其包含: 接收禁用與該計算裝置之一周邊裝置相關聯的一周邊介面的一觸發; 識別該周邊介面之一實體位址;以及 移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射。
  2. 如請求項1之方法,其進一步包含:接收在一第2階段記憶體轉換表中取消該周邊介面之該中間實體位址及該周邊介面之該實體位址的映射之一請求, 其中移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射包含回應於該請求而自該第2階段記憶體轉換表移除該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
  3. 如請求項1之方法,其進一步包含: 接收存取該周邊介面之一請求; 針對該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射檢查一第2階段記憶體轉換表; 判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射;以及 回應於判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射而發出一記憶體異常。
  4. 如請求項1之方法,其進一步包含: 接收啟用與該計算裝置之該周邊裝置相關聯的該周邊介面的一觸發; 接收在一第2階段記憶體轉換表中映射該周邊介面之該中間實體位址及該周邊介面之該實體位址的一請求;以及 回應於該請求而在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
  5. 如請求項4之方法,其進一步包含: 判定該周邊介面之一狀態是否為鎖定, 其中回應於判定該周邊介面之該狀態為鎖定,在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射包含: 在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射;以及 回應於判定該周邊介面之該狀態為鎖定而將該周邊介面之一狀態設定為解除鎖定。
  6. 如請求項1之方法,其進一步包含: 向在一第一虛擬機上執行之一高階操作系統發信以關閉並卸載該周邊裝置之一周邊裝置驅動器;以及 在不包括該周邊裝置之該周邊裝置驅動器的一第二虛擬機上執行一受限高階操作系統。
  7. 如請求項1之方法,其進一步包含:自不同於執行一執行高階操作系統之一執行環境的一可信賴執行環境接收在第2階段記憶體轉換表中取消該周邊介面之該中間實體位址至該周邊介面之該實體位址的映射或將該周邊介面之該中間實體位址映射至該周邊介面之該實體位址的一請求。
  8. 如請求項1之方法,其進一步包含:藉由將一存取請求經由該可信賴執行環境路由至該周邊裝置驅動器由在一執行環境中執行之一高階操作系統而存取在一可信賴執行環境中執行的該周邊裝置之一周邊裝置驅動器。
  9. 如請求項1之方法,其進一步包含:藉由將一存取請求經由一第一虛擬機路由至該周邊裝置驅動器由在一第二虛擬機上執行之一高階操作系統而存取在該第一虛擬機中執行的該周邊裝置之一周邊裝置驅動器。
  10. 一種計算裝置,其包含: 一記憶體; 一周邊介面;及 一處理器,其通信地連接至該記憶體及該周邊介面且經組態有使得該處理器執行包含以下各者之操作的處理器可執行指令: 接收禁用與該計算裝置之一周邊裝置相關聯的該周邊介面的一觸發; 識別該周邊介面之一實體位址;以及 移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射。
  11. 如請求項10之計算裝置,其中: 該處理器經組態有用以執行進一步包含以下之操作的處理器可執行指令:接收在一第2階段記憶體轉換表中取消該周邊介面之該中間實體位址及該周邊介面之該實體位址的映射之一請求;且 該處理器經組態有用以執行此類操作之處理器可執行指令以使得:移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射包含回應於該請求而自該第2階段記憶體轉換表移除該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
  12. 如請求項10之計算裝置,其中該處理器經組態有用以執行進一步包含以下各者之操作的處理器可執行指令: 接收存取該周邊介面之一請求; 針對該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射檢查一第2階段記憶體轉換表; 判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射;以及 回應於判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射而發出一記憶體異常。
  13. 如請求項10之計算裝置,其中該處理器經組態有用以執行進一步包含以下各者之操作的處理器可執行指令: 接收啟用與該計算裝置之該周邊裝置相關聯的該周邊介面的一觸發; 接收在一第2階段記憶體轉換表中映射該周邊介面之該中間實體位址及該周邊介面之該實體位址的一請求;以及 回應於該請求而在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
  14. 如請求項13之計算裝置,其中: 該處理器經組態有用以執行進一步包含以下各者之操作的處理器可執行指令: 判定該周邊介面之一狀態是否為鎖定;以及 回應於判定該周邊介面之該狀態為鎖定而將該周邊介面之該狀態設定為解除鎖定;且 該處理器經組態有用以執行此類操作之處理器可執行指令以使得:在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射包含回應於判定該周邊介面之該狀態為鎖定而在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
  15. 如請求項10之計算裝置,其中該處理器經組態有用以執行進一步包含以下各者之操作的處理器可執行指令: 向在一第一虛擬機上執行之一高階操作系統發信以關閉並卸載該周邊裝置之一周邊裝置驅動器;以及 在不包括該周邊裝置之該周邊裝置驅動器的一第二虛擬機上執行一受限高階操作系統。
  16. 如請求項10之計算裝置,其進一步包含通信地連接至該處理器之一可信賴執行環境;且 其中該處理器經組態有用以執行進一步包含以下之操作的處理器可執行指令:自不同於執行一高階操作系統之一執行環境的該可信賴執行環境接收在第2階段記憶體轉換表中取消該周邊介面之該中間實體位址至該周邊介面之該實體位址的映射或將該周邊介面之該中間實體位址映射至該周邊介面之該實體位址的一請求。
  17. 如請求項10之計算裝置,其進一步包含: 一可信賴執行環境,其通信地連接至該處理器;及 一執行環境,其通信地連接至該處理器, 其中該處理器經組態有用以執行進一步包含以下之操作的處理器可執行指令:藉由將一存取請求經由該可信賴執行環境路由至該周邊裝置驅動器由在該執行環境中執行之一高階操作系統而存取在該可信賴執行環境中執行的該周邊裝置之一周邊裝置驅動器。
  18. 一種計算裝置,其包含: 用於接收禁用與該計算裝置之一周邊裝置相關聯的一周邊介面的一觸發之構件; 用於識別該周邊介面之一實體位址之構件;及 用於移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射之構件。
  19. 如請求項18之計算裝置,其進一步包含用於接收在一第2階段記憶體轉換表中取消該周邊介面之該中間實體位址及該周邊介面之該實體位址的映射之一請求之構件, 其中用於移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射之構件包含用於回應於該請求而自該第2階段記憶體轉換表移除該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射之構件。
  20. 如請求項18之計算裝置,其進一步包含: 用於接收存取該周邊介面之一請求之構件; 用於針對該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射檢查一第2階段記憶體轉換表之構件; 用於判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射之構件;及 用於回應於判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射而發出一記憶體異常之構件。
  21. 如請求項18之計算裝置,其進一步包含: 用於接收啟用與該計算裝置之該周邊裝置相關聯的該周邊介面的一觸發之構件; 用於接收在一第2階段記憶體轉換表中映射該周邊介面之該中間實體位址及該周邊介面之該實體位址的一請求之構件;及 用於回應於該請求而在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射之構件。
  22. 如請求項21之計算裝置,其進一步包含: 用於判定該周邊介面之一狀態是否為鎖定之構件, 其中用於在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射之構件包含用於回應於判定該周邊介面之該狀態為鎖定而在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射之構件 用於回應於判定該周邊介面之該狀態為鎖定而將該周邊介面之該狀態設定為解除鎖定之構件。
  23. 如請求項18之計算裝置,其進一步包含: 用於向在一第一虛擬機上執行之一高階操作系統發信以關閉並卸載該周邊裝置之一周邊裝置驅動器之構件;及 用於在不包括該周邊裝置之該周邊裝置驅動器的一第二虛擬機上執行一受限高階操作系統之構件。
  24. 如請求項18之計算裝置,其進一步包含用於自不同於執行一高階操作系統之一執行環境的一可信賴執行環境接收在一第2階段記憶體轉換表中取消該周邊介面之該中間實體位址至該周邊介面之該實體位址的映射或將該周邊介面之該中間實體位址映射至該周邊介面之該實體位址的一請求之構件。
  25. 如請求項18之計算裝置,其進一步包含用於藉由將一存取請求經由該可信賴執行環境路由至該周邊裝置驅動器由在一執行環境中執行之一高階操作系統而存取在一可信賴執行環境中執行的該周邊裝置之一周邊裝置驅動器之構件。
  26. 一種非暫時性處理器可讀儲存媒體,其上儲存有經組態以使一計算裝置之一處理器執行包含以下之操作的處理器可執行指令: 接收禁用與該計算裝置之一周邊裝置相關聯的一周邊介面的一觸發; 識別該周邊介面之一實體位址;以及 移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射。
  27. 如請求項26之非暫時性處理器可讀儲存媒體,其中: 該等所儲存之處理器可執行指令經組態以使得該計算裝置之該處理器執行進一步包含以下之操作:接收在一第2階段記憶體轉換表中取消該周邊介面之該中間實體位址及該周邊介面之該實體位址的映射之一請求;且 該等所儲存之處理器可執行指令經組態以使得該計算裝置之該處理器執行此類操作以使得:移除該周邊介面之一中間實體位址至該周邊介面之該實體位址的一映射包含回應於該請求而自該第2階段記憶體轉換表移除該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
  28. 如請求項26之非暫時性處理器可讀儲存媒體,其中該等所儲存之處理器可執行指令經組態以使得該計算裝置之該處理器執行進一步包含以下各者之操作: 接收存取該周邊介面之一請求; 針對該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射檢查一第2階段記憶體轉換表; 判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射;以及 回應於判定未在該第2階段記憶體轉換表中發現該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射而發出一記憶體異常。
  29. 如請求項26之非暫時性處理器可讀儲存媒體,其中該等所儲存之處理器可執行指令經組態以使得該計算裝置之該處理器執行進一步包含以下各者之操作: 接收啟用與該計算裝置之該周邊裝置相關聯的該周邊介面的一觸發; 接收在一第2階段記憶體轉換表中映射該周邊介面之該中間實體位址及該周邊介面之該實體位址的一請求;以及 回應於該請求而在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
  30. 如請求項29之非暫時性處理器可讀儲存媒體,其中: 該等所儲存之處理器可執行指令經組態以使得該計算裝置之該處理器執行進一步包含以下各者之操作: 判定該周邊介面之一狀態是否為鎖定;以及 回應於判定該周邊介面之該狀態為鎖定而將該周邊介面之該狀態設定為解除鎖定;且 該等所儲存之處理器可執行指令經組態以使得該計算裝置之該處理器執行此類操作以使得:在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射包含回應於判定該周邊介面之該狀態為鎖定而在該第2階段記憶體轉換表中添加該周邊介面之該中間實體位址至該周邊介面之該實體位址的該映射。
TW108103374A 2018-04-08 2019-01-29 安全介面禁用 TW201944280A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862654473P 2018-04-08 2018-04-08
US62/654,473 2018-04-08
US16/118,245 2018-08-30
US16/118,245 US11157635B2 (en) 2018-04-08 2018-08-30 Secure interface disablement

Publications (1)

Publication Number Publication Date
TW201944280A true TW201944280A (zh) 2019-11-16

Family

ID=68096028

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108103374A TW201944280A (zh) 2018-04-08 2019-01-29 安全介面禁用

Country Status (8)

Country Link
US (1) US11157635B2 (zh)
EP (1) EP3776221B1 (zh)
KR (1) KR20200141069A (zh)
CN (1) CN111971661B (zh)
BR (1) BR112020020401A2 (zh)
SG (1) SG11202008479SA (zh)
TW (1) TW201944280A (zh)
WO (1) WO2019199367A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157289B2 (en) * 2019-05-13 2021-10-26 Intel Corporation Power management method and apparatus for virtualized I/O devices
US11356845B1 (en) * 2019-07-10 2022-06-07 Sprint Communications Company L.P. Trusted operating system in an internet of things (IoT) device
CN111148070B (zh) * 2019-12-31 2021-06-15 华为技术有限公司 V2x通信方法、装置及车辆
US11915015B2 (en) * 2021-08-27 2024-02-27 Dell Products, L.P. Systems and methods for use of pre-boot resources by modern workspaces

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2239985C (en) * 1995-12-08 2002-05-14 Amsc Subsidiary Corporation Mobile communications terminal for satellite communications system
US7263623B1 (en) * 2004-03-30 2007-08-28 Altera Corporation Microprocessor system
US7548999B2 (en) 2006-01-17 2009-06-16 Advanced Micro Devices, Inc. Chained hybrid input/output memory management unit
US8924708B2 (en) 2007-01-22 2014-12-30 Simon Yoffe Security switch
US20100017893A1 (en) 2008-07-21 2010-01-21 Ati Technologies Ulc System for Securing Register Space and Method of Securing the Same
US9535849B2 (en) 2009-07-24 2017-01-03 Advanced Micro Devices, Inc. IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect
US20120173843A1 (en) * 2011-01-04 2012-07-05 Kamdar Chetan C Translation look-aside buffer including hazard state
US8631212B2 (en) 2011-09-25 2014-01-14 Advanced Micro Devices, Inc. Input/output memory management unit with protection mode for preventing memory access by I/O devices
US9092969B2 (en) * 2011-12-29 2015-07-28 Verizon Patent And Licensing Inc. Method and system for invoking a security function of a device based on proximity to another device
US20130204962A1 (en) 2012-02-02 2013-08-08 Texas Instruments Incorporated Network and peripheral interface circuits, systems and processes
US9063891B2 (en) 2012-12-19 2015-06-23 Advanced Micro Devices, Inc. Secure computer system for preventing access requests to portions of system memory by peripheral devices and/or processor cores
US9396011B2 (en) * 2013-03-12 2016-07-19 Qualcomm Incorporated Algorithm and apparatus to deploy virtual machine monitor on demand
US10210096B2 (en) * 2013-10-01 2019-02-19 Ampere Computing Llc Multi-stage address translation for a computing device
GB2525003B (en) * 2014-04-09 2021-06-09 Advanced Risc Mach Ltd Data Processing Systems
US9665340B2 (en) * 2014-10-13 2017-05-30 Daniel Kuniansky Systems and methods for temporarily sharing audio over a network
US9660656B2 (en) * 2015-04-15 2017-05-23 Sandisk Technologies Llc Delay compensation
US10394586B2 (en) 2015-08-13 2019-08-27 Red Hat Israel, Ltd. Using capability indicators to indicate support for guest driven surprise removal of virtual PCI devices
US10146962B2 (en) 2015-12-17 2018-12-04 Mcafee, Llc Method and apparatus for protecting a PCI device controller from masquerade attacks by malware
US10225873B2 (en) * 2016-02-18 2019-03-05 Texas Instruments Incorporated System and method for peripheral initiated host arbitration
US10268483B2 (en) * 2016-09-27 2019-04-23 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Data protocol for managing peripheral devices

Also Published As

Publication number Publication date
WO2019199367A1 (en) 2019-10-17
BR112020020401A2 (pt) 2021-01-12
US11157635B2 (en) 2021-10-26
CN111971661A (zh) 2020-11-20
SG11202008479SA (en) 2020-10-29
CN111971661B (zh) 2023-12-05
KR20200141069A (ko) 2020-12-17
EP3776221B1 (en) 2024-01-17
EP3776221A1 (en) 2021-02-17
US20190311141A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
CN111971661B (zh) 安全接口禁用
JP6903682B2 (ja) 仮想リソースビューを使用するデータ保護
US9483646B2 (en) Data exfiltration prevention from mobile platforms
EP3304408B1 (en) System and method for using per-application profiles in a computing device
US9672374B2 (en) Secure disk access control
EP2859498B1 (en) Trusted security zone access to peripheral devices
US8539561B2 (en) Systems and methods to control device endpoint behavior using personae and policies
US20190303603A1 (en) Location-based security of storage drives
US10904255B2 (en) Method for controlling contents and electronic device thereof
US9183391B2 (en) Managing device driver cross ring accesses
CN110997442B (zh) 用于提供对硬件资源的访问控制的计算装置
US9060004B1 (en) Systems and methods for maintaining location-aware virtualization layers
KR20160147993A (ko) 구내-인식 보안 및 정책 조정
CN105279433A (zh) 一种应用程序的防护方法及装置
CN114826785B (zh) 一种动态防护方法、系统级芯片、电子设备及介质
US9667659B2 (en) Determining security factors associated with an operating environment
US11068614B2 (en) System-level data security based on environmental properties
US20210166227A1 (en) Secure User Interface With Improved User Experience
KR20170112855A (ko) 스토리지 디바이스에서 논리 블록 어드레싱 액세스 퍼미션을 정의하는 방법 및 시스템
KR102411770B1 (ko) 전자 장치를 보호하기 위한 장치 및 방법
KR20160077851A (ko) 전자 장치에서 메모리에 대한 보안을 제공하기 위한 장치 및 방법
TWI767548B (zh) 操作具有複數個作業系統之使用者裝置的方法及系統
US20170359341A1 (en) Data access control based on storage validation
WO2023096677A1 (en) Method for circumventing processor error induced vulnerability