并行雙向環(huán)境中的機(jī)頂盒應(yīng)用程序的制作方法
【專利摘要】本發(fā)明公開(kāi)了并行雙向環(huán)境中的機(jī)頂盒應(yīng)用程序,其中,機(jī)頂盒或類似設(shè)備利用虛擬化技術(shù)將安全設(shè)備資源與包括在所述設(shè)備中的非信任軟件框架隔離。在一個(gè)實(shí)施例中,對(duì)于傳統(tǒng)機(jī)頂盒應(yīng)用程序的安全執(zhí)行提供第一虛擬機(jī)容器,同時(shí)利用第二虛擬機(jī)容器來(lái)管理軟件框架或者軟件框架的非信任部分。安全訪問(wèn)客戶端/服務(wù)器接口提供為支持第一虛擬機(jī)容器與第二虛擬機(jī)容器之間交互。例如,軟件框架可包括由底層Linux操作系統(tǒng)環(huán)境支持的Android框架并且在Linux資源容器中隔離。虛擬容器構(gòu)造在各種實(shí)施方式中可采用不同級(jí)別的硬件沙盒,包括在多處理器環(huán)境中專用處理資源使用。在更多實(shí)施方式中,軟件框架可分為在單獨(dú)虛擬機(jī)容器中執(zhí)行的受信任部分和非信任部分。
【專利說(shuō)明】并行雙向環(huán)境中的機(jī)頂盒應(yīng)用程序
[0001]相關(guān)申請(qǐng)的交叉參考
[0002]該美國(guó)專利申請(qǐng)根據(jù)35U.S.C § 119(E)而要求下面的美國(guó)臨時(shí)專利申請(qǐng)的優(yōu)先權(quán),它們的全部?jī)?nèi)容結(jié)合于此作為參考,并且作為該美國(guó)專利申請(qǐng)的一部分用于所有目的:
[0003]1.美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)61/715,785題目為“INTEGRATION of UNTRUSTEDFRAMEWORK components with A SECURE Operating system environment,,(代理人案號(hào)BP30636),2012年10月18日提交,待審。
[0004]2.美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)61/725,964題目為“INTEGRATION OF UNTRUSTEDAPPLICATIONS AND FRAMEWORKS WITH A SECURE Operating system environment”(代理人案號(hào)BP30637),2012年11月13日提交,待審。
[0005]3.美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)61/725,790題目為“INTEGRATION OF UNTRUSTEDAPPLICATIONS AND FRAMEWORKS WITH A SECURE Operating system environment”(代理人案號(hào)BP30691),2012年11月13日提交,待審。
[0006]4.2012年12月20日提交的美國(guó)專利申請(qǐng)第13/721,959號(hào)。
【技術(shù)領(lǐng)域】
[0007]本發(fā)明大體上涉及處理系統(tǒng),更特定地,涉及當(dāng)在受信任或者安全操作系統(tǒng)環(huán)境中包括非信任元件(諸如機(jī)頂盒)時(shí)使用虛擬化技術(shù)。
【背景技術(shù)】
[0008]試圖適應(yīng)某些類型設(shè)備中相對(duì)非信任的軟件應(yīng)用程序或框架可能使根據(jù)一個(gè)或者一個(gè)以上行業(yè)定義認(rèn)證標(biāo)準(zhǔn)或者測(cè)試程序執(zhí)行的適用認(rèn)證過(guò)程復(fù)雜化。例如,由有線電視運(yùn)營(yíng)商使用的許多機(jī)頂盒的廠商認(rèn)證經(jīng)由測(cè)試實(shí)現(xiàn)諸如DOCSIS?、PacketCable?、CableHome?和OpenCable?規(guī)格的設(shè)備互用性和安全合規(guī)性的嚴(yán)格認(rèn)證過(guò)程而進(jìn)行。所述設(shè)備的成功認(rèn)證通常需要完全的端至端安全。同樣,在特定設(shè)備或者組件(諸如片上系統(tǒng))中實(shí)現(xiàn)的數(shù)字權(quán)限管理(DRM)和其它技術(shù)可能需要不容許與不安全操作系統(tǒng)(OS)環(huán)境或者軟件框架的某些交互的不同認(rèn)證過(guò)程。
[0009]一般地,如果未隔離,則機(jī)頂盒或者類似設(shè)備中的媒介路徑的任何不安全部分會(huì)造成所述路徑的認(rèn)證失敗。大多數(shù)常規(guī)機(jī)頂盒設(shè)計(jì)為提供通過(guò)所述設(shè)備的各種元件的單一安全且認(rèn)證的路徑。在一些最新多處理器機(jī)頂盒中,通過(guò)在常規(guī)認(rèn)證路徑與非信任組件之間創(chuàng)建硬件邊界,常規(guī)認(rèn)證路徑與非信任組件分開(kāi)。特別是`,第一處理模塊用于提供安全功能(例如,解碼操作),同時(shí)安全級(jí)別較低的單獨(dú)處理模塊用于支持非信任框架。
[0010]眾所周知,軟件框架可提供底層操作系統(tǒng)不提供的應(yīng)用程序編程接口功能和服務(wù),并且從而在某些實(shí)施例中可提供一定程度的平臺(tái)獨(dú)立性??蚣芡O(shè)計(jì)為可重復(fù)使用且可自適應(yīng)的軟件系統(tǒng)或子系統(tǒng)。例如,Android已經(jīng)成為增長(zhǎng)最快的移動(dòng)設(shè)備操作系統(tǒng)/框架之一。Android,由開(kāi)源Linux社區(qū)貢獻(xiàn)構(gòu)建,為構(gòu)建可跨許多不同類型設(shè)備(諸如智能手機(jī)或者平板設(shè)備)部署的應(yīng)用程序提供開(kāi)發(fā)工具和可重復(fù)使用組件。
[0011]典型Android框架為基于Linux的“多用戶”系統(tǒng),其中每個(gè)Android應(yīng)用程序?yàn)椴煌坝脩簟?,所述“用戶”具有代碼,所述代碼大體上與其它應(yīng)用程序隔離運(yùn)行。所述進(jìn)程隔離(或者應(yīng)用程序“沙盒”)提供某個(gè)程度的安全性。然而,由應(yīng)用程序使用的各種組件、進(jìn)程、線程等當(dāng)整合在機(jī)頂盒式設(shè)備中時(shí)可能不需要充分保護(hù),導(dǎo)致Android當(dāng)用于所述設(shè)備中時(shí)視為“非信任”框架。例如,從未認(rèn)證第三方訪問(wèn)任意網(wǎng)頁(yè)或者接收代碼的應(yīng)用程序可能導(dǎo)致非信任JavaScript代碼在機(jī)頂盒上執(zhí)行,有可能提升權(quán)限。所述代碼可利用其它代碼(例如,瀏覽器代碼)中弱點(diǎn)并且接收未授權(quán)文件系統(tǒng)訪問(wèn)等,從而影響設(shè)備安全性,揭露受保護(hù)數(shù)據(jù)或者引入系統(tǒng)不穩(wěn)定性。
[0012]如上所述,一些設(shè)備的處理單元可具有多個(gè)處理器或者處理核以提供更高性能和/或多任務(wù)處理功能。在這些多處理器系統(tǒng)的一些多處理器系統(tǒng)中,當(dāng)多個(gè)應(yīng)用程序或者程序正在運(yùn)行時(shí),通常需要訪問(wèn)控制以將正在多個(gè)處理器上運(yùn)行的應(yīng)用程序的功能分開(kāi)。正在不同處理器上運(yùn)行的不同應(yīng)用程序和/或任務(wù)的分開(kāi)或者隔離有助于確保一個(gè)應(yīng)用程序不會(huì)干擾另一個(gè)應(yīng)用程序執(zhí)行。同樣,指派給一個(gè)處理器的數(shù)據(jù)不應(yīng)由另一個(gè)處理器訪問(wèn),除非在所述兩個(gè)處理器之間共享數(shù)據(jù)。所述分開(kāi)通常通過(guò)使用虛擬存儲(chǔ)器來(lái)處理,其中每個(gè)進(jìn)程具有不可從外部進(jìn)程訪問(wèn)的獨(dú)特存儲(chǔ)器視角。硬件訪問(wèn)可通過(guò)內(nèi)核或者設(shè)備驅(qū)動(dòng)器接口來(lái)處理,所述內(nèi)核或者設(shè)備驅(qū)動(dòng)器接口提供某個(gè)程度的安全性。即使在多處理器系統(tǒng)中,其中一個(gè)處理器環(huán)境提供受信任或者安全操作,而另一個(gè)處理器在不安全或者受限制環(huán)境中操作,然而,當(dāng)操作系統(tǒng)正在管理所述分開(kāi)時(shí),從不安全區(qū)侵入到安全區(qū)實(shí)際上有可能。
[0013]例如,在容許用戶接收電視信號(hào)并且也容許用戶訪問(wèn)互聯(lián)網(wǎng)的機(jī)頂盒中,安全環(huán)境可運(yùn)行與由有線電視或者衛(wèi)星電視提供商或者其它服務(wù)運(yùn)營(yíng)商提供的某些頻道或者內(nèi)容的接收、解密和顯示有關(guān)的應(yīng)用程序(包括安全機(jī)頂盒應(yīng)用程序)。機(jī)頂盒中不安全環(huán)境可執(zhí)行諸如基于Android的應(yīng)用程序的應(yīng)用程序,所述應(yīng)用程序容許用戶訪問(wèn)互聯(lián)網(wǎng)進(jìn)行網(wǎng)頁(yè)瀏覽、游戲等。在本例中,內(nèi)容提供商一般不會(huì)希望用戶或者其他人訪問(wèn)與廣播或者付費(fèi)頻道有關(guān)的應(yīng)用程序。然而,如果控制兩個(gè)環(huán)境訪問(wèn)的軟件有共性,諸如運(yùn)行相同操作系統(tǒng)來(lái)管理兩個(gè)環(huán)境中訪問(wèn),那么訪問(wèn)違規(guī)風(fēng)險(xiǎn)可能較高。所述違規(guī),無(wú)論有意或者無(wú)意,可能導(dǎo)致不安全地沖破機(jī)頂盒的安全應(yīng)用程序,諸如面向網(wǎng)頁(yè)侵入到受保護(hù)電視頻道。
[0014]因此,需要獲得將非信任框架、框架組件和應(yīng)用程序與安全機(jī)頂盒應(yīng)用程序高效整合的方法。
【發(fā)明內(nèi)容】
[0015]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,提供了一種可用作機(jī)頂盒的裝置,包括:處理電路;機(jī)頂盒應(yīng)用程序,用于執(zhí)行安全媒介處理操作;軟件框架,用于支持相對(duì)非信任的軟件應(yīng)用程序;以及由該處理電路執(zhí)行的操作系統(tǒng),該操作系統(tǒng)被構(gòu)造為建立:特許操作系統(tǒng)環(huán)境,以執(zhí)行安全媒介處理操作;以及受限操作系統(tǒng)環(huán)境,該機(jī)頂盒應(yīng)用程序在該特許操作系統(tǒng)環(huán)境中執(zhí)行并且該軟件框架在該受限操作系統(tǒng)環(huán)境中執(zhí)行。
[0016]進(jìn)一步地,該特許操作系統(tǒng)環(huán)境包括第一虛擬機(jī)容器并且該受限操作系統(tǒng)環(huán)境包括第二虛擬機(jī)容器。[0017]進(jìn)一步地,該操作系統(tǒng)為基于Linux的對(duì)稱多處理操作系統(tǒng)。
[0018]進(jìn)一步地,該軟件框架包括Android框架的至少一個(gè)版本。
[0019]進(jìn)一步地,該操作系統(tǒng)還包括安全訪問(wèn)接口以支持該第一虛擬機(jī)容器與該第二虛擬機(jī)容器之間的交互。
[0020]進(jìn)一步地,該操作系統(tǒng)包括安全操作系統(tǒng)內(nèi)核,該安全訪問(wèn)接口調(diào)節(jié)該受限操作系統(tǒng)環(huán)境與該安全操作系統(tǒng)內(nèi)核之間的交互。
[0021]進(jìn)一步地,該安全訪問(wèn)接口執(zhí)行選自由以下組成的群組的至少一個(gè)操作:句柄和指針驗(yàn)證;非指針參數(shù)驗(yàn)證;堆區(qū)隔離;和在受限進(jìn)程終止以后的硬件資源釋放。
[0022]進(jìn)一步地,該安全訪問(wèn)接口包括安全訪問(wèn)服務(wù)器和安全訪問(wèn)客戶端,該安全訪問(wèn)客戶端包括在該軟件框架中。
[0023]進(jìn)一步地,其中,該安全訪問(wèn)服務(wù)器與安全訪問(wèn)客戶端之間的交互至少部分通過(guò)進(jìn)程間通信調(diào)用進(jìn)行。
[0024]根據(jù)本發(fā)明的另一實(shí)施方式,提供了一種在媒介傳送設(shè)備中使用的方法,該媒介傳送設(shè)備具有操作系統(tǒng)和受信任應(yīng)用軟件,該設(shè)備支持與非信任軟件框架交互,該方法包括以下步驟:建立特許操作系統(tǒng)環(huán)境以通過(guò)該受信任應(yīng)用軟件執(zhí)行安全媒介處理操作;建立受限操作系統(tǒng)環(huán)境以管理該非信任軟件框架;并且提供安全訪問(wèn)接口以支持該受信任應(yīng)用軟件與該非信任軟件框架的組件之間的交互。
[0025]進(jìn)一步地,該特許操作系統(tǒng)環(huán)境包括第一虛擬機(jī)容器并且該受限操作系統(tǒng)環(huán)境包括第二虛擬機(jī)容器。
[0026]進(jìn)一步地,該操作系統(tǒng)為基于Linux的對(duì)稱多處理操作系統(tǒng)。
[0027]進(jìn)一步地,該非信任軟件框架包括Android框架的至少一個(gè)版本。
[0028]進(jìn)一步地,該設(shè)備還具有用于執(zhí)行媒介處理操作的硬件資源,其中,與該第二虛擬機(jī)容器相比,該安全訪問(wèn)接口允許通過(guò)該第一虛擬機(jī)容器相對(duì)更大地訪問(wèn)該硬件資源。
[0029]進(jìn)一步地,該設(shè)備具有第一處理單元和第二處理單元,其中,該第一虛擬機(jī)容器在該第一處理單元上執(zhí)行并且該第二虛擬機(jī)容器在該第二處理單元上執(zhí)行。
[0030]根據(jù)本發(fā)明的又一實(shí)施方式,提供了一種裝置,包括:處理電路;用于支持軟件應(yīng)用程序的軟件框架,該軟件框架包括受信任部分和非信任部分;以及由該處理電路執(zhí)行的操作系統(tǒng),該操作系統(tǒng)被配置為建立至少一個(gè)特許操作系統(tǒng)環(huán)境和至少一個(gè)受限操作系統(tǒng)環(huán)境,該軟件框架的該受信任部分在該至少一個(gè)特許操作系統(tǒng)環(huán)境中執(zhí)行并且該軟件框架的該非信任部分在該至少一個(gè)受限操作系統(tǒng)環(huán)境中執(zhí)行。
[0031]進(jìn)一步地,該裝置還包括機(jī)頂盒應(yīng)用程序,該機(jī)頂盒應(yīng)用程序在該至少一個(gè)特許操作系統(tǒng)環(huán)境中執(zhí)行。
[0032]進(jìn)一步地,該至少一個(gè)特許操作系統(tǒng)環(huán)境包括第一虛擬機(jī)容器并且該至少一個(gè)受限操作系統(tǒng)環(huán)境包括第二虛擬機(jī)容器。
[0033]進(jìn)一步地,該軟件框架包括Android框架的至少一個(gè)版本。
[0034]進(jìn)一步地,該設(shè)備還包括安全訪問(wèn)接口以支持該至少一個(gè)特許操作系統(tǒng)環(huán)境與該至少一個(gè)受限操作系統(tǒng)環(huán)境之間的交互。
【專利附圖】
【附圖說(shuō)明】[0035]圖1示出根據(jù)本發(fā)明實(shí)施方式的非信任框架和安全操作系統(tǒng)內(nèi)核的整合。
[0036]圖2示出根據(jù)本發(fā)明各種實(shí)施方式的非信任框架被整合為機(jī)頂盒應(yīng)用程序客戶端。
[0037]圖3示出根據(jù)本發(fā)明各種實(shí)施方式的機(jī)頂盒應(yīng)用程序和利用虛擬容器的非信任框架的并行操作。
[0038]圖4不出根據(jù)本發(fā)明實(shí)施方式的框架分割為受信任部分和非信任部分。
[0039]圖5示出根據(jù)本發(fā)明各種實(shí)施方式利用認(rèn)證應(yīng)用程序的機(jī)頂盒架構(gòu)。
[0040]圖6示出根據(jù)本發(fā)明實(shí)施方式的受信任部分和非信任軟件在單處理器環(huán)境中的整合。
[0041]圖7示出根據(jù)本發(fā)明實(shí)施方式的受信任部分和非信任軟件在多處理器環(huán)境中的整合。
[0042]圖8為根據(jù)本發(fā)明各種實(shí)施方式的支持操作系統(tǒng)環(huán)境的硬件分離的多處理器系統(tǒng)的框圖。
[0043]圖9為根據(jù)本發(fā)明實(shí)施方式的機(jī)頂盒(STB) /網(wǎng)關(guān)(GW)的示意框圖。
[0044]圖10為根據(jù)本發(fā)明實(shí)施方式的支持特許操作系統(tǒng)環(huán)境與非信任軟件框架之間的交互的方法的邏輯圖。
【具體實(shí)施方式】
[0045]盡管某些實(shí)施方式結(jié)合Android框架和/或Linux操作系統(tǒng)進(jìn)行了說(shuō)明,但本發(fā)明的其它實(shí)施方式可利用多種當(dāng)前或者未來(lái)操作系統(tǒng)/內(nèi)核和框架來(lái)實(shí)行,并且采用可能利用多個(gè)處理器、處理核和/或處理電路的多種計(jì)算電路、設(shè)備、服務(wù)器和/或系統(tǒng)。此外,本文中某些插圖說(shuō)明在所述實(shí)施方式中提供處理功能的設(shè)備的處理模塊、處理器或者CPU(例如,CPU1、CPU2)。然而,應(yīng)當(dāng)理解,在其它實(shí)施方式中可使用多種其它設(shè)備和/或術(shù)語(yǔ)以在實(shí)踐本發(fā)明時(shí)提供處理功能。本發(fā)明可容易適于存在多個(gè)處理環(huán)境(區(qū)、域等)的其它用途,其中,期望兩個(gè)或者兩個(gè)以上的區(qū)之間分開(kāi)和/或分離。同樣地,盡管某些實(shí)施方式說(shuō)明為通過(guò)機(jī)頂盒(STB)或者執(zhí)行受信任媒介處理操作的類似媒介處理設(shè)備來(lái)實(shí)現(xiàn),但是新穎架構(gòu)和方法全部或者部分適用于其它設(shè)備,包括媒介消費(fèi)設(shè)備(諸如PVR)、DVD播放器、接入點(diǎn)、電視機(jī)、計(jì)算設(shè)備、智能手機(jī)等。
[0046]圖1示出根據(jù)本發(fā)明實(shí)施方式的安全設(shè)備104 (諸如認(rèn)證機(jī)頂盒設(shè)備)內(nèi)的非信任框架100 (諸如Android框架)與安全操作系統(tǒng)(OS)內(nèi)核102的整合。一般地,OS內(nèi)核102可視為操作系統(tǒng)的心臟(或者環(huán)0),在系統(tǒng)硬件與操作系統(tǒng)的其余部分以及已安裝應(yīng)用程序之間提供接口。
[0047]正如下文更詳細(xì)說(shuō)明的,安全軟件抽象層110被提供為隔離訪問(wèn)設(shè)備的底層軟件、硬件和安全組件。非信任框架100與安全OS內(nèi)核102之間通信和數(shù)據(jù)交換可經(jīng)由由安全訪問(wèn)客戶端106和安全訪問(wèn)服務(wù)器108組成的安全訪問(wèn)層或者接口進(jìn)行,安全訪問(wèn)客戶端106和安全訪問(wèn)服務(wù)器108支持應(yīng)用程序編程接口(API)和安全進(jìn)程間通信(IPC)調(diào)用或者內(nèi)核驅(qū)動(dòng)程序。在某些實(shí)施方式中,安全訪問(wèn)客戶端106可為框架100的一部分或者可通過(guò)框架100進(jìn)行訪問(wèn),而安全訪問(wèn)服務(wù)器108包括在安全操作系統(tǒng)環(huán)境中或者執(zhí)行為安全內(nèi)核模塊。在一個(gè)實(shí)施方式中,通過(guò)執(zhí)行通過(guò)硬件(適用時(shí))的參數(shù)驗(yàn)證/檢查和周邊范圍檢查,句柄和指針驗(yàn)證、堆區(qū)隔離和在受限制進(jìn)程終止以后硬件資源釋放,安全訪問(wèn)接口可有助于防止由不良數(shù)據(jù)或者參數(shù)導(dǎo)致系統(tǒng)漏洞或者不穩(wěn)定。
[0048]圖2示出根據(jù)本發(fā)明各種實(shí)施方式的非信任框架202整合為機(jī)頂盒應(yīng)用程序(“STB應(yīng)用程序”)204的客戶端。如圖所示,STB應(yīng)用程序204被提供為執(zhí)行機(jī)頂盒200的基本操作,并且與非信任“客戶端”框架(諸如Android框架202)連接。在本實(shí)施方式中,STB應(yīng)用程序204在安全或者特許Linux內(nèi)核環(huán)境(諸如對(duì)稱多處理(SMP)Linux內(nèi)核環(huán)境206)中執(zhí)行,所述對(duì)稱多處理(SMP)Linux內(nèi)核環(huán)境206包括安全訪問(wèn)內(nèi)核驅(qū)動(dòng)程序208和訪問(wèn)服務(wù)器216,所述訪問(wèn)服務(wù)器216包括經(jīng)由訪問(wèn)客戶端218由STB應(yīng)用程序204使用的全訪問(wèn)接口 210以及由Android框架202使用的更受限客體訪問(wèn)接口 212。STB應(yīng)用程序204包括訪問(wèn)客戶端214功能,所述訪問(wèn)客戶端214功能支持與全訪問(wèn)接口 210進(jìn)行通信并且例如使用基于容器的虛擬化,使Android框架202能夠作為安全Linux內(nèi)核環(huán)境206的非信任客戶端運(yùn)行。正如可以理解,客戶端/服務(wù)器架構(gòu)容許非信任進(jìn)程崩潰或者終止,而不會(huì)影響底層硬件并且引起系統(tǒng)不穩(wěn)定。
[0049]除訪問(wèn)客戶端218外,所示實(shí)施方式的Android框架202可包括應(yīng)用程序和應(yīng)用程序支持220、JavaScript解譯、瀏覽器功能222、插件(例如,Adobe Flash插件)和Dalvik虛擬機(jī)。Android框架202還包括平臺(tái)或者操作系統(tǒng)訪問(wèn)功能224,所述平臺(tái)或者操作系統(tǒng)訪問(wèn)功能224使通過(guò)最小客體Linux服務(wù)訪問(wèn)接口 226能夠有限地訪問(wèn)安全Linux內(nèi)核環(huán)境206的必要組件。
[0050]如述,Android為開(kāi)發(fā)移動(dòng)應(yīng)用程序提供基于組件的框架。每個(gè)應(yīng)用程序可包括不同數(shù)目和類型的組件。舉例來(lái)說(shuō),所述組件可包括“Activity”組件,所述“活動(dòng)”組件形成用戶界面的基礎(chǔ),其中呈現(xiàn)給用戶的每個(gè)屏幕為不同Activity。背景處理由“Service”組件進(jìn)行,所述“Service”組件也定義用于與其它應(yīng)用程序進(jìn)行通信的任意接口?!皟?nèi)容提供商”組件功能為共享關(guān)系數(shù)據(jù)庫(kù)形式信息,而“廣播接收器”組件作為異步消息郵箱從系統(tǒng)和/或其它組件操作。所公開(kāi)實(shí)施方式的Android框架202支持應(yīng)用程序之間不同程度的協(xié)作和依賴性。
[0051]然而,由應(yīng)用程序用于提供服務(wù)且與其它應(yīng)用程序或者底層操作系統(tǒng)進(jìn)行通信的接口必須受到保護(hù)以防范違規(guī)和一般違法行為。默認(rèn)情況下,典型Android框架中應(yīng)用程序沒(méi)有權(quán)限執(zhí)行可能負(fù)面影響其它系統(tǒng)組件(諸如讀取或者寫(xiě)入私有數(shù)據(jù)或者另一個(gè)應(yīng)用程序的文件,執(zhí)行網(wǎng)絡(luò)訪問(wèn)等)的操作。因?yàn)锳ndroid基本上從彼此“沙盒”應(yīng)用程序,所以應(yīng)用程序必須通過(guò)申明在基本沙盒外部的另外功能所需的權(quán)限來(lái)明確共享資源和數(shù)據(jù)。例如,應(yīng)用程序可靜態(tài)申明它需要的權(quán)限,并且在安裝時(shí),Android框架可能提示用戶適當(dāng)?shù)耐狻H缟纤?,在【背景技術(shù)】中,并且在沒(méi)有嚴(yán)格硬件分離和分開(kāi)執(zhí)行環(huán)境中,從非信任框架的未授權(quán)代碼的執(zhí)行潛力可能影響整個(gè)系統(tǒng)安全性并且負(fù)面影響諸如本文所述缺乏某些設(shè)備的方法和架構(gòu)(例如,安全訪問(wèn)服務(wù)器)的認(rèn)證程序。
[0052]在所示實(shí)施方式中,非信任Android框架202在(多個(gè))第一虛擬機(jī)(VM)客體Linux容器230 (諸如“LXC”或者Linux資源容器沖執(zhí)行以與安全進(jìn)程和資源進(jìn)一步隔離。在本實(shí)施方式中,STB應(yīng)用程序可相似地在具有完全主Linux服務(wù)訪問(wèn)228的第二 VM主Linux容器232中操作。簡(jiǎn)單地說(shuō),一般地,基于容器的虛擬化(或者操作系統(tǒng)級(jí)虛擬化)容許內(nèi)核與安裝于它上的多個(gè)隔離虛擬機(jī)或者虛擬環(huán)境一起運(yùn)行。每個(gè)虛擬環(huán)境可專用于運(yùn)行特定應(yīng)用程序,并且通常不是完整操作系統(tǒng)實(shí)例,而是與管理操作系統(tǒng)內(nèi)核中虛擬化層(或者硬件資源抽象層)一起工作的操作系統(tǒng)的部分實(shí)例。
[0053]雖然虛擬化可減輕非信任組件的硬件分開(kāi)的需要,但是在某些實(shí)施方式中,具有不同安全級(jí)別的多個(gè)處理器可能受益于虛擬容器構(gòu)造,所述虛擬容器構(gòu)造經(jīng)由所述處理器之一而整體操作,而其它容器可跨越多個(gè)處理器(例如,參見(jiàn)圖7所示實(shí)施方式)。在一個(gè)所述實(shí)施方式中,(多個(gè))第一處理器可專用于執(zhí)行非安全功能,而(多個(gè))第二安全處理器可專用于常規(guī)STB功能。在各種替代性實(shí)施方式中,非信任框架可為例如經(jīng)由非處理器硬件/外圍設(shè)備、與處理器和/外設(shè)的存儲(chǔ)器隔離等的硬件??梢栽O(shè)想安全且非信任軟件與硬件之間各種其它劃分(例如,將非信任框架或者應(yīng)用程序它們本身劃分為“受信任”部分和“非信任”部分),其例子如下所述。此外,通過(guò)利用硬件和操作系統(tǒng)虛擬化特征,多個(gè)操作系統(tǒng)可在同一硬件上同時(shí)運(yùn)行。
[0054]圖3示出根據(jù)本發(fā)明各種實(shí)施方式分別利用虛擬容器306和308的機(jī)頂盒應(yīng)用程序302和非信任客戶端應(yīng)用程序/框架304的并行操作。在所示實(shí)施方式中,非信任客戶端應(yīng)用程序和框架通過(guò)應(yīng)用程序IPC調(diào)用和訪問(wèn)最小客戶端312與底層機(jī)頂盒平臺(tái)的安全部分交互,包括機(jī)頂盒應(yīng)用程序302和安全Linux內(nèi)核環(huán)境310,所述訪問(wèn)最小客戶端312訪問(wèn)最小“客體” Linux服務(wù)訪問(wèn)316。同樣地,受信任用戶模式(或者“特許”)操作系統(tǒng)環(huán)境中應(yīng)用程序經(jīng)由訪問(wèn)客戶端314接收對(duì)于“管理”Linux服務(wù)訪問(wèn)318的全訪問(wèn)。受信任用戶模式環(huán)境可由全主體根文件系統(tǒng)320支持,而單獨(dú)分區(qū)或者磁盤(pán)上最小客體根文件系統(tǒng)322可支持非信任用戶模式(或者“受限制”)操作系統(tǒng)環(huán)境。
[0055]在一些實(shí)施方式中,機(jī)頂盒平臺(tái)的某些資源(諸如媒介處理和硬件加速資源(用于音頻/視頻編碼和解碼、使用標(biāo)準(zhǔn)化API的二維和三維圖形渲染(諸如開(kāi)放圖形庫(kù)或者“OpenGL”)、DRM、加密/解密等)和聯(lián)網(wǎng)接口)可由非信任客戶端應(yīng)用程序/框架304通過(guò)由網(wǎng)絡(luò)套接字(network socket)進(jìn)行通信的IPC調(diào)用進(jìn)行訪問(wèn)。同樣地,事件(諸如IR控制信號(hào))可通過(guò)IPC調(diào)用(諸如調(diào)用Android API或者按鈕)從機(jī)頂盒平臺(tái)傳送到非信任客戶端應(yīng)用程序/框架304。
[0056]在所示實(shí)施方式中,框架“聚合器”324可用于接受和擴(kuò)展與各種框架的操作。以此方式,例如,服務(wù)提供商可將對(duì)于系統(tǒng)資源的安全訪問(wèn)提供給第三方框架和其它“中間件”產(chǎn)品。舉例來(lái)說(shuō)并且不受限制,所述產(chǎn)品可包括Adobe Air、Adobe Flash、Apple iOS、Microsoft Silverlight、Java applets和類似并列技術(shù)。框架聚合器324可包括一組定制操作系統(tǒng)庫(kù)和HTML功能以支持所述技術(shù)以及用戶界面網(wǎng)頁(yè)引擎訪問(wèn)等。
[0057]在某些實(shí)施方式中,由框架聚合器324支持的用戶界面可使用戶能夠推出由Android框架支持的應(yīng)用程序。例如,框架聚合器324可提供一系列“按鈕”,包括提供可用Android應(yīng)用程序的可視化顯示的Android按鈕。此外,Android框架和框架聚合器324可共享圖形屏幕。以此方式,將功能連接到可能有必要的Android框架可能沒(méi)必要。請(qǐng)注意,在給定設(shè)備中,Android框架可使用與由由框架聚合器324支持的其它框架利用的工具鏈不同的工具鏈進(jìn)行構(gòu)建。
[0058]圖4不出根據(jù)本發(fā)明替代性實(shí)施方式的框架被分割為受信任部分和非信任部分400和402。在本實(shí)施方式中,(Android)框架400、網(wǎng)頁(yè)瀏覽器等的(多個(gè))受信任部分400以及(多個(gè))對(duì)應(yīng)非信任部分402分別在一個(gè)或者一個(gè)以上單獨(dú)虛擬機(jī)容器404和408中執(zhí)行。受信任部分400可包括安全平臺(tái)和操作系統(tǒng)訪問(wèn)接口 410。除受信任部分400外,機(jī)頂盒應(yīng)用程序406可在虛擬機(jī)容器404中或者在(多個(gè))單獨(dú)且安全的虛擬機(jī)容器中操作。
[0059]使用涉及網(wǎng)頁(yè)瀏覽器的例子,執(zhí)行潛在不安全Flash或者JavaScript代碼(諸如渲染引擎)的瀏覽器部分可在具有受限文件系統(tǒng)和外設(shè)訪問(wèn)的“非信任”虛擬機(jī)容器408中執(zhí)行,而訪問(wèn)底層平臺(tái)硬件和敏感操作系統(tǒng)資源的瀏覽器部分可在一個(gè)或者一個(gè)以上“受信任”虛擬機(jī)容器404中執(zhí)行。在更多實(shí)施方式中,受信任部分400可包括安全框架克隆或者支持安全應(yīng)用程序和/或應(yīng)用程序安全部分的變形版本。在所述實(shí)施方式中,不安全應(yīng)用程序或其部分可由常駐于非信任或者受限制用戶域或者容器中的框架部分執(zhí)行。如上所述,硬件沙盒的各種方法可用于進(jìn)一步隔離框架的非信任部分并且支持受限操作系統(tǒng)域或環(huán)境。
[0060]本實(shí)施方式的安全Linux內(nèi)核環(huán)境412包括安全訪問(wèn)內(nèi)核驅(qū)動(dòng)程序414和訪問(wèn)服務(wù)器420,所述訪問(wèn)服務(wù)器420提供支持受信任用戶模式功能的全訪問(wèn)接口 416和支持非信任用戶模式功能的客體訪問(wèn)接口 418。全主體Linux服務(wù)訪問(wèn)422和最小客體Linux服務(wù)訪問(wèn)424分別提供給受信任用戶模式環(huán)境和非信任用戶模式環(huán)境。如上,受信任用戶模式環(huán)境可由全主體根文件系統(tǒng)426支持,而單獨(dú)分區(qū)或者磁盤(pán)上最小客體根文件系統(tǒng)428支持非信任用戶模式環(huán)境。
[0061]圖5示出根據(jù)本發(fā)明的利用認(rèn)證應(yīng)用程序502的機(jī)頂盒或者其它安全架構(gòu)500。在所示實(shí)施方式中,認(rèn)證應(yīng)用程序502可預(yù)安裝或者例如從由服務(wù)運(yùn)營(yíng)商或者基于云的源提供的認(rèn)證應(yīng)用程序目錄下載。舉例來(lái)說(shuō),所述應(yīng)用程序可包括媒介流應(yīng)用程序(例如,Netflix)、游戲應(yīng)用程序、網(wǎng)頁(yè)瀏覽應(yīng)用程序、基于iOS的應(yīng)用程序、Android應(yīng)用程序等。在一些實(shí)施方式中,可能有必要包括或者下載另外操作系統(tǒng)以支持對(duì)應(yīng)認(rèn)證應(yīng)用程序類另O?;蚩桑o定應(yīng)用程序的不同認(rèn)證版本可使得可用于支持多種已安裝操作系統(tǒng)和/或框架510。認(rèn)證應(yīng)用程序502可在一個(gè)或者一個(gè)以上虛擬機(jī)容器508中執(zhí)行。圖5中其它所示元件功能如上所述。
[0062]在一個(gè)示例性實(shí)施方式中,初級(jí)機(jī)頂盒應(yīng)用程序504被構(gòu)造為在(多個(gè))虛擬機(jī)容器506中執(zhí)行的Android應(yīng)用程序。根據(jù)相關(guān)Android框架的功能,非標(biāo)準(zhǔn)API或者庫(kù)可能需要支持某個(gè)機(jī)頂盒功能,諸如PVR、圖中圖、轉(zhuǎn)碼和頻道調(diào)諧操作。此外,本方法可能需要特殊接口(例如,將字符串傳送到接口以創(chuàng)建編碼路徑作為硬件調(diào)用一部分)或者提供非標(biāo)準(zhǔn)功能(或者甚至應(yīng)用程序)以解決可能缺乏相關(guān)框架或者認(rèn)證所需的服務(wù)和功能。例如,Android框架可擴(kuò)展為包括非標(biāo)準(zhǔn)功能-而不會(huì)負(fù)面影響兼容性-通過(guò)提供“隱藏”在Android移植層下并且接收和解譯通過(guò)所述層的統(tǒng)一資源標(biāo)識(shí)符(“URI”)的服務(wù)。
[0063]在其它實(shí)施方式中,下載(或者預(yù)安裝)的每個(gè)應(yīng)用程序包括全安全性定義,而不是端至端安全性定義由源管理或者由內(nèi)容本身(或者相關(guān)聯(lián)元數(shù)據(jù))定義。例如,每個(gè)應(yīng)用程序可具有其自己的可下載條件訪問(wèn)安全性(dCAS)或者可下載DRM元件/定義。例如,對(duì)應(yīng)認(rèn)證過(guò)程可涉及認(rèn)證整個(gè)安全路徑一部分,其中一個(gè)或者一個(gè)以上應(yīng)用程序提供認(rèn)證的最后部分?;蚩?,可提供多個(gè)預(yù)定義條件訪問(wèn)機(jī)制,其中(已下載)應(yīng)用程序定義將使用哪個(gè)機(jī)制。然后認(rèn)證安全“邊界”可能可行,而不考慮特定公司或者媒介的條件訪問(wèn)要求。
[0064]在各種實(shí)施方式中,機(jī)頂盒或者類似設(shè)備可與媒介消費(fèi)網(wǎng)絡(luò)中其它設(shè)備(例如,PVR、DVD播放器、接入點(diǎn)、電視機(jī)、計(jì)算設(shè)備、智能手機(jī)等)交換功能以對(duì)于應(yīng)用程序要求進(jìn)行比較。一旦完成比較,若有,應(yīng)用程序就可選擇它將允許的哪一個(gè)或者一個(gè)以上操作模式。如果機(jī)頂盒無(wú)法支持所述模式(由于資源競(jìng)爭(zhēng)或者其它原因),那么所述模式變?yōu)椴豢捎?。如果可用,那么一組操作模式可選定且在媒介流傳送期間動(dòng)態(tài)切換為其它傳輸模式,所述其它傳輸模式可能需要與應(yīng)用程序或者源協(xié)調(diào)以支持過(guò)渡(可能需要媒介流質(zhì)量變化)。
[0065]圖6示出根據(jù)本發(fā)明實(shí)施方式的受信任軟件和非信任軟件在單處理器(CPUl)環(huán)境中的整合。在本實(shí)施方式中,SMP Linux內(nèi)核600功能為控制硬件且基于性能和/或安全隔離要求將客體虛擬機(jī)602 (支持Linux “客體”實(shí)例并且運(yùn)行非信任應(yīng)用程序)和主體虛擬機(jī)604 (運(yùn)行受信任應(yīng)用程序核心服務(wù))鎖定為一個(gè)或者一個(gè)以上單獨(dú)CPU線程。
[0066]例如,當(dāng)期望最大性能時(shí),SMP Linux內(nèi)核600可對(duì)于兩個(gè)虛擬機(jī)中跨多個(gè)CPU線程或者和核的進(jìn)程執(zhí)行負(fù)載平衡。此外,受到客體虛擬機(jī)602控制的主體虛擬機(jī)604可終止,并且如果它行為不端或者受到影響,那么重啟客體虛擬機(jī)602 (或者整個(gè)容器)中進(jìn)程。硬限制可設(shè)置于通過(guò)客體虛擬機(jī)的CPU利用上以防止核心底層設(shè)備功能中斷并且促進(jìn)失控進(jìn)程終止。操作中,單獨(dú)線程可隔離和/或受限地訪問(wèn)Ι/D高速緩沖存儲(chǔ)器606和L2高速緩沖存儲(chǔ)器608。
[0067]圖7示出根據(jù)本發(fā)明實(shí)施方式的受信任軟件和非信任軟件在多處理器系統(tǒng)中的整合。所示系統(tǒng)可在設(shè)備、模塊、電路板等中實(shí)現(xiàn)。所述系統(tǒng)的一個(gè)或者一個(gè)以上組件也可在集成電路芯片上或者在多個(gè)集成電路芯片上實(shí)現(xiàn)。圖7中特定實(shí)施方式示出分別識(shí)別為CPUl和CPU2的兩個(gè)處理模塊。雖然示出兩個(gè)處理模塊,但是其它實(shí)施方式可具有兩個(gè)以上處理模塊或者處理器,并且請(qǐng)注意,CPUl和CPU2可包括各種處理設(shè)備、電路等。在一個(gè)實(shí)施方式中,CPUl和CPU2可包括單個(gè)CPU的不同處理核或者某個(gè)其它處理電路。
[0068]更特定地,參考附圖,SMP Linux內(nèi)核700用于控制硬件且基于性能和/或安全隔離要求將(多個(gè))客體虛擬機(jī)702Linux實(shí)例(運(yùn)行非信任應(yīng)用程序)和(多個(gè))主體虛擬機(jī)704 (運(yùn)行受信任應(yīng)用程序核心服務(wù))鎖定為一個(gè)或者一個(gè)以上單獨(dú)線程1-4。例如,非信任應(yīng)用程序可在跨越CPUl和CPU2兩者的虛擬機(jī)容器中執(zhí)行。正如下文更充分地說(shuō)明,I/D高速緩沖存儲(chǔ)器706和708以及L2高速緩沖存儲(chǔ)器710的各種部分可限制于特定線程或者CPU,或者與適當(dāng)?shù)谋U洗胧┕蚕怼?br>
[0069]圖8為根據(jù)本發(fā)明各種實(shí)施方式支持操作系統(tǒng)環(huán)境的硬件分離的另一個(gè)多處理器系統(tǒng)的框圖。例如,(多個(gè))第一處理器CPUl可專用于常規(guī)STB功能并且支持安全訪問(wèn)服務(wù)器800,而(多個(gè))第二處理器(網(wǎng)頁(yè))CPU2可專用于執(zhí)行非安全功能和非信任應(yīng)用程序(例如,Android框架客戶端802或者網(wǎng)頁(yè)瀏覽器)。由CPUl支持的受信任執(zhí)行環(huán)境可限制訪問(wèn)某個(gè)核心STB功能,包括硬件加速方塊804、DRM功能806等。
[0070]在一個(gè)實(shí)施方式中,當(dāng)處于“沙盒(sandboxing)”模式時(shí),CPUl和CPU2都隔離為單獨(dú)且不同的區(qū)。在另一個(gè)實(shí)施方式中,受信任CPUl設(shè)置為具有其自己的隔離存儲(chǔ)區(qū)并且也給予在CPU2的存儲(chǔ)映射部分的一些或者所有地址范圍內(nèi)的訪問(wèn)權(quán)利。一般地,當(dāng)在單獨(dú)或者隔離區(qū)、環(huán)境或者域中操作時(shí),兩個(gè)CPU在不同應(yīng)用程序上操作,使得CPUl執(zhí)行一組指令,而CPU2執(zhí)行一組不同指令。這個(gè)性質(zhì)的隔離或者分開(kāi)通常稱為沙盒技術(shù)或者沙盒模式。大多數(shù)沙盒技術(shù)的目的為防止一個(gè)區(qū)訪問(wèn)另一個(gè)區(qū)中功能或者控制一個(gè)區(qū)訪問(wèn)到另一個(gè)區(qū)中。在一些情況下,兩個(gè)區(qū)可受限制訪問(wèn)另一個(gè)區(qū)或者僅控制區(qū)間訪問(wèn)。在一些應(yīng)用中,一個(gè)區(qū)可視為安全、特許或者受信任區(qū),并且另一個(gè)區(qū)可視為受限制、不安全或者非信任區(qū),其中防止通過(guò)在非安全區(qū)上操作的應(yīng)用程序訪問(wèn)或者控制訪問(wèn)在安全區(qū)中運(yùn)行的某些應(yīng)用程序。
[0071]如上所述,許多設(shè)備利用多個(gè)處理器或者處理核以運(yùn)行單獨(dú)程序、應(yīng)用程序等。在一個(gè)區(qū)無(wú)法訪問(wèn)第二區(qū)的情況下,確保這個(gè)分開(kāi)的一個(gè)方法為通過(guò)檢查對(duì)于系統(tǒng)存儲(chǔ)器的訪問(wèn)。即,通過(guò)確保分配給CPUl的訪問(wèn)無(wú)法由CPU2訪問(wèn),除非訪問(wèn)位置為共享位置,在CPU2上運(yùn)行的應(yīng)用程序可防止違反功能分開(kāi)。實(shí)現(xiàn)這個(gè)保護(hù)的一個(gè)方法為提供訪問(wèn)檢查和訪問(wèn)控制以確保正確處理模塊正在訪問(wèn)所述處理模塊的許可位置。在所示實(shí)施方式中,CPUl和CPU2可通過(guò)網(wǎng)絡(luò)套接字、IPC調(diào)用等進(jìn)行直接通信。
[0072]圖9為根據(jù)本發(fā)明實(shí)施方式的機(jī)頂盒(STB)/網(wǎng)關(guān)(GW)901的示意框圖。STB/網(wǎng)關(guān)901提供許多功能,包括信號(hào)從外部源轉(zhuǎn)換為可由網(wǎng)絡(luò)設(shè)備消費(fèi)的內(nèi)容。STB/網(wǎng)關(guān)901還可作為網(wǎng)關(guān)進(jìn)行操作,所述網(wǎng)關(guān)支持單向或者雙向通信以及網(wǎng)絡(luò)設(shè)備間橋接。
[0073]所示實(shí)施方式的STB/網(wǎng)關(guān)901經(jīng)由一個(gè)或者一個(gè)以上有線和無(wú)線網(wǎng)絡(luò)/鏈路與住宅網(wǎng)絡(luò)基礎(chǔ)設(shè)施905和外部媒介系統(tǒng)907交互。有線和無(wú)線網(wǎng)絡(luò)/鏈路可利用各種傳輸媒介中一個(gè)或者一個(gè)以上-諸如同軸電纜、屏蔽雙絞線、光纖電纜、電力線和無(wú)線媒介(射頻、微波、衛(wèi)星、紅外等)_并且根據(jù)多種通信和聯(lián)網(wǎng)協(xié)議(TCP/IP、UPnP、IPv6等)進(jìn)行操作。此外,有線和無(wú)線網(wǎng)絡(luò)/鏈路可包括利用生成樹(shù)協(xié)議、直接無(wú)線連接、對(duì)等鏈路等的多跳網(wǎng)絡(luò)。
[0074]例如,外部媒介系統(tǒng)907可包括有線電視、衛(wèi)星電視和/或地面電視系統(tǒng)中一個(gè)或者一個(gè)以上。各種前端設(shè)備和服務(wù)可由這些系統(tǒng)利用,諸如接收電視信號(hào)的有線電視前端,用于進(jìn)一步處理和分布,并且可提供各種其它服務(wù),諸如互聯(lián)網(wǎng)連接和VoIP服務(wù)。
[0075]所示實(shí)施方式的STB/網(wǎng)關(guān)901包括廣播/單播/多播前端913,所述廣播/單播/多播前端913操作為從外部媒介系統(tǒng)907或者住宅網(wǎng)絡(luò)基礎(chǔ)設(shè)施905接收未壓縮或者已壓縮數(shù)字視頻、數(shù)字音頻和其它數(shù)據(jù)信號(hào),用于進(jìn)一步處理和分布。前端913包括調(diào)諧器電路919a,所述調(diào)諧器電路919a可操作為隔離特定頻道。來(lái)自調(diào)諧器電路919a的信號(hào)然后提供給模數(shù)轉(zhuǎn)換器(ADC)電路920a和解調(diào)電路921a,用于轉(zhuǎn)換為二進(jìn)制格式/流。一旦處于二進(jìn)制格式,前向糾錯(cuò)(FEC)電路922a檢查所接收二進(jìn)制流的完整性。從二進(jìn)制流提取的音頻、視頻和數(shù)據(jù)然后可解碼(例如,通過(guò)解碼925)為適合由下游設(shè)備消費(fèi)的格式。請(qǐng)注意,解調(diào)電路921a可支持一個(gè)或者一個(gè)以上調(diào)制技術(shù),諸如正交相移鍵控(QPSK)、正交幅度調(diào)制(QAM)、編碼正交頻分復(fù)用(COFDM)等。
[0076]前端913可集成到一個(gè)或者一個(gè)以上半導(dǎo)體設(shè)備中,例如,所述一個(gè)或者一個(gè)以上半導(dǎo)體設(shè)備可進(jìn)一步支持交互數(shù)字電視、網(wǎng)絡(luò)DVR功能、DOCSIS應(yīng)用程序上IP視頻和三維圖形支持。此外,為不同調(diào)制方案和電視標(biāo)準(zhǔn)(諸如PAL、NTSC、ATSC、SECAM、DVB-C,DVB-T (2)、DVB-H、ISDB、T-DMB, Open Cable)可提供多個(gè)調(diào)諧器電路919a (包括帶內(nèi)和帶外調(diào)諧器)、ADC電路920a和解調(diào)電路921a。
[0077]在本發(fā)明的一個(gè)替代性實(shí)施方式中,STB/網(wǎng)關(guān)901的功能由智能手機(jī)或者移動(dòng)計(jì)算設(shè)備執(zhí)行。在本實(shí)施方式中,“前端”913包括一個(gè)或者一個(gè)以上無(wú)線接口(包括PHY和基帶功能),諸如蜂窩式(3G、4G、高級(jí)MT等)或者廣域網(wǎng)(HetNet、W1-F1、WiMax等)接口。所述接口可支持一個(gè)或者一個(gè)以上調(diào)制和復(fù)用技術(shù),諸如OFDM、OFDMA, SC-FDMA, QPSK, QAM、64QAM、CSMA、MM0等。在所示實(shí)施方式中,無(wú)線接口包括收發(fā)器919b、模數(shù)轉(zhuǎn)換器(ADC)和數(shù)模轉(zhuǎn)換器(DAC)電路920b、解調(diào)和調(diào)制電路921b以及FEC (諸如渦輪碼或者LDPC碼)電路922b。編碼、解碼和轉(zhuǎn)碼925功能可由處理電路和存儲(chǔ)器911提供。
[0078]STB/網(wǎng)關(guān)901還包括(廣域網(wǎng))接口電路915,用于與住宅網(wǎng)絡(luò)基礎(chǔ)設(shè)施905和/或外部媒介系統(tǒng)907進(jìn)行通信。通過(guò)通信接口電路915,STB/網(wǎng)關(guān)901可與上游資源直接進(jìn)行通信,或者在所述資源與耦合到STB/網(wǎng)關(guān)901的設(shè)備(例如,設(shè)備941-949)之間提供(雙向)橋接通信。
[0079]在圖9實(shí)施方式中,STB/網(wǎng)關(guān)901經(jīng)由通信接口電路917與多種設(shè)備941-949交互。例如,電視或者顯示接口模塊931與(數(shù)字)電視941或者其它媒介顯示設(shè)備進(jìn)行通信以轉(zhuǎn)播電視節(jié)目并且啟用可用交互媒介服務(wù)。在某些實(shí)施方式中,電視或者顯示接口模塊931可包括遠(yuǎn)程用戶界面(RUI)服務(wù)器。同樣地,音頻接口 933提供對(duì)于音頻系統(tǒng)943的音頻節(jié)目或者音頻庫(kù)訪問(wèn)。
[0080]通信接口電路917還包括遠(yuǎn)程控制接口 935,用于從遠(yuǎn)程控制945接收控制信號(hào)。除傳統(tǒng)遠(yuǎn)程控制操作外,遠(yuǎn)程控制945還可提供音頻和/或手勢(shì)控制信號(hào),所述音頻和/或手勢(shì)控制信號(hào)轉(zhuǎn)播或者映射到相關(guān)消費(fèi)設(shè)備。也提供用戶界面937,用于與一個(gè)或者一個(gè)以上用戶界面設(shè)備947進(jìn)行通信。游戲界面939功能為提供與游戲系統(tǒng)949的交互通信。例如,所述通信可涉及在社交網(wǎng)絡(luò)成員和/或游戲平臺(tái)中外部玩家之間的在線、多人游戲。電源管理接口 940功能提供為使設(shè)備941-949之間省電操作成為可能。
[0081]所示實(shí)施方式的STB/網(wǎng)關(guān)901包括處理電路、(多個(gè))操作系統(tǒng)和存儲(chǔ)器911 (其組件可包括硬件、軟件或者它們組合)、服務(wù)支持923和解碼/編碼/轉(zhuǎn)碼功能925,以支持諸如如上所述網(wǎng)絡(luò)交互。本實(shí)施方式中服務(wù)支持923包括各種功能,諸如電源管理927、橋接928和媒介服務(wù)器-接收器服務(wù)929。STB/網(wǎng)關(guān)的其它傳統(tǒng)特征也可包括。例如,處理電路911可包括片上系統(tǒng)或者(多個(gè))類似設(shè)備,所述類似設(shè)備提供核處理器、音頻/視頻解碼器、媒介處理/DSP、圖形核心、加密/解密核心、自適應(yīng)轉(zhuǎn)碼等。
[0082]圖10為根據(jù)本發(fā)明實(shí)施方式的支持特許操作系統(tǒng)環(huán)境與媒介傳送設(shè)備的非信任軟件框架之間的交互的方法1000的邏輯圖。在所示實(shí)施方式的步驟1002中,特許操作系統(tǒng)環(huán)境被建立為執(zhí)行諸如由主體認(rèn)證機(jī)頂盒應(yīng)用程序執(zhí)行的安全媒介處理操作和相關(guān)功能。接著,在步驟1004中,受限操作系統(tǒng)環(huán)境被建立為管理且支持非信任軟件框架,諸如Android框架。在一個(gè)實(shí)施方式中,特許操作系統(tǒng)環(huán)境和受限操作系統(tǒng)環(huán)境都使用虛擬機(jī)容器來(lái)構(gòu)造。在步驟1006中,安全訪問(wèn)接口或者層(諸如上文所述)被提供為支持且調(diào)節(jié)特許操作系統(tǒng)環(huán)境的組件與受限操作系統(tǒng)環(huán)境的組件之間的交互。例如,安全訪問(wèn)接口可用于限制訪問(wèn)由機(jī)頂盒應(yīng)用程序或者其它受信任軟件控制的底層設(shè)備資源。
[0083]正如本文中可以使用的,術(shù)語(yǔ)“基本上”和“大約”為其對(duì)應(yīng)術(shù)語(yǔ)和/或項(xiàng)目之間相關(guān)性提供行業(yè)可接受的公差。所述行業(yè)可接受的公差范圍從1%以下到50%,并且對(duì)應(yīng)于但不限于組件值、集成電路工藝變化、溫度變化、升降時(shí)間和/或熱噪聲。所述項(xiàng)目間相關(guān)性范圍從百分之幾差異到巨大差異。也如本文中可以使用,(多個(gè))術(shù)語(yǔ)“可操作地耦合到”、“耦合到”和/或“耦合”包括項(xiàng)目間直接耦合和/或項(xiàng)目間經(jīng)由中間項(xiàng)目(例如,項(xiàng)目包括但不限于組件、元件、電路和/或模塊)的間接耦合,其中,對(duì)于間接耦合,中間項(xiàng)目不會(huì)修改信號(hào)信息,而是可調(diào)整其電流電平、電壓電平和/或功率電平。還如本文中可以使用,推斷耦合(即,其中一個(gè)元件通過(guò)推斷耦合到另一個(gè)元件)包括在兩個(gè)項(xiàng)目之間以與“耦合到”相同的方式的直接和間接耦合。還如本文中可以使用,術(shù)語(yǔ)“可操作為”或者“可操作地耦合到”表示項(xiàng)目包括一個(gè)或者一個(gè)以上電源連接、(多個(gè))輸入、(多個(gè))輸出等,以當(dāng)激活時(shí)執(zhí)行一個(gè)或者一個(gè)以上其對(duì)應(yīng)功能,并且還可包括推斷耦合到一個(gè)或者一個(gè)以上其它項(xiàng)目。還如本文中可以使用,術(shù)語(yǔ)“與…相關(guān)聯(lián)”包括單獨(dú)項(xiàng)目的直接和/或間接耦合和/或一個(gè)項(xiàng)目嵌入于另一個(gè)項(xiàng)目?jī)?nèi)。正如本文中可以使用,術(shù)語(yǔ)“有利地比較”表示兩個(gè)或者兩個(gè)以上項(xiàng)目、信號(hào)等之間比較提供期望關(guān)系。例如,當(dāng)期望關(guān)系為信號(hào)I比信號(hào)2具有更大幅值時(shí),當(dāng)信號(hào)I的幅值大于信號(hào)2的幅值時(shí),或者當(dāng)信號(hào)2的幅值小于信號(hào)I的幅值時(shí),可實(shí)現(xiàn)有利比較。
[0084]也如本文中可以使用,術(shù)語(yǔ)“處理模塊”、“模塊”、“處理電路”和/或“處理單元”可為單個(gè)處理設(shè)備或者多個(gè)處理設(shè)備。所述處理設(shè)備可為微處理器、微控制器、數(shù)字信號(hào)處理器、微計(jì)算機(jī)、中央處理單元、現(xiàn)場(chǎng)可編程門(mén)陣列、可編程邏輯設(shè)備、狀態(tài)機(jī)、邏輯電路、模擬電路、數(shù)字電路和/或基于電路硬編碼和/或操作指令操縱信號(hào)(模擬和/或數(shù)字)的任何設(shè)備。處理模塊、模塊、處理電路和/或處理單元可具有相關(guān)聯(lián)存儲(chǔ)器和/或集成存儲(chǔ)器元件,所述存儲(chǔ)器和/或集成存儲(chǔ)器元件可為單個(gè)存儲(chǔ)器設(shè)備、多個(gè)存儲(chǔ)器設(shè)備和/或處理模塊、模塊、處理電路和/或處理單元的嵌入式電路。所述存儲(chǔ)器設(shè)備可為只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、易失性存儲(chǔ)器、非易失性存儲(chǔ)器、靜態(tài)存儲(chǔ)器、動(dòng)態(tài)存儲(chǔ)器、快閃存儲(chǔ)器、緩存存儲(chǔ)器和/或存儲(chǔ)數(shù)字信息的任何設(shè)備。請(qǐng)注意,如果處理模塊、模塊、處理電路和/或處理單元包括一個(gè)以上處理設(shè)備,所述處理設(shè)備可集中式分布(例如,經(jīng)由有線和/或無(wú)線總線結(jié)構(gòu)直接耦合在一起)或者可分布式分布(例如,經(jīng)由經(jīng)由局域網(wǎng)和/或廣域網(wǎng)間接耦合的云計(jì)算)。還請(qǐng)注意,如果處理模塊、模塊、處理電路和/或處理單元經(jīng)由狀態(tài)機(jī)、模擬電路、數(shù)字電路和/或邏輯電路實(shí)現(xiàn)其一個(gè)或者一個(gè)以上功能,存儲(chǔ)對(duì)應(yīng)操作指令的存儲(chǔ)器和/或存儲(chǔ)器元件可嵌入于包括狀態(tài)機(jī)、模擬電路、數(shù)字電路和/或邏輯電路的電路內(nèi)或者在所述電路外部。還請(qǐng)注意,存儲(chǔ)器元件可存儲(chǔ)與一個(gè)或者一個(gè)以上圖中所示步驟和/或功能中至少一些對(duì)應(yīng)的硬編碼和/或操作指令,并且處理模塊、模塊、處理電路和/或處理單元執(zhí)行所述硬編碼和/或操作指令。所述存儲(chǔ)器設(shè)備或者存儲(chǔ)器元件可包括在物品中。
[0085]上文借助于說(shuō)明指定功能及其關(guān)系的性能的方法步驟對(duì)于本發(fā)明已經(jīng)作出說(shuō)明。為了便于說(shuō)明,這些功能構(gòu)成方塊和方法步驟的界限和順序在本文中已經(jīng)任意定義。只要指定功能和關(guān)系適當(dāng)?shù)貙?shí)現(xiàn),就可定義替代性界限和順序。任何所述替代性界限或者順序因此在本發(fā)明范圍和精神內(nèi)。此外,為了便于說(shuō)明,這些功能構(gòu)成方塊的界限已經(jīng)任意定義。只要某些重要功能適當(dāng)?shù)貓?zhí)行,就可定義替代性界限。同樣地,流程圖方塊在本文中也可任意定義以說(shuō)明某些重要功能。為了廣泛使用,流程圖方塊界限和順序可以其它方式定義并且仍執(zhí)行某些重要功能。功能構(gòu)成方塊和流程圖方塊和順序的所述替代性定義因此在本發(fā)明范圍和精神內(nèi)。本領(lǐng)域一般技術(shù)人員也應(yīng)當(dāng)理解,功能構(gòu)成方塊和本文中其它說(shuō)明性方塊、模塊和組件可實(shí)現(xiàn)為說(shuō)明性或者通過(guò)分立組件、應(yīng)用特定集成電路、執(zhí)行適當(dāng)軟件等的處理器或者它們的任何組合來(lái)實(shí)現(xiàn)。
[0086]本發(fā)明也可至少部分從一個(gè)或者一個(gè)以上實(shí)施方式方面進(jìn)行說(shuō)明。本發(fā)明實(shí)施方式在本文中用于說(shuō)明本發(fā) 明、本發(fā)明方面、本發(fā)明特征、本發(fā)明概念和/或本發(fā)明實(shí)施例。體現(xiàn)本發(fā)明的裝置、物品、機(jī)器和/或進(jìn)程的物理實(shí)施方式可包括參考本文所述實(shí)施方式中一個(gè)或者一個(gè)以上進(jìn)行說(shuō)明的一個(gè)或者一個(gè)以上方面、特征、概念、實(shí)施例等。此外,從圖到圖,實(shí)施方式可包括可使用相同或者不同引用數(shù)字的相同或者相似命名的功能、步驟、模塊等,這樣,功能、步驟、模塊等可為相同或者相似功能、步驟、模塊等或者不同功能、步驟、豐吳塊等。
[0087]除非特別說(shuō)明,本文中提出的任何圖中到元件、從元件和/或元件之間的信號(hào)可為模擬或者數(shù)字、連續(xù)時(shí)間或者離散時(shí)間和單端或者差分。例如,如果信號(hào)路徑示出為單端路徑,那么它也表示差分信號(hào)路徑。同樣地,如果信號(hào)路徑示出為差分路徑,那么它也表示單端信號(hào)路徑。雖然本文中說(shuō)明一個(gè)或者一個(gè)以上特定架構(gòu),但是本領(lǐng)域一般技術(shù)人員應(yīng)當(dāng)理解,使用未明確示出的一個(gè)或者一個(gè)以上數(shù)據(jù)總線、元件間直接連接和/或其它元件間間接耦合的其它架構(gòu)同樣可實(shí)現(xiàn)。
[0088]術(shù)語(yǔ)“模塊”用于說(shuō)明本發(fā)明各種實(shí)施方式。模塊包括經(jīng)由硬件實(shí)現(xiàn)的功能方塊,以執(zhí)行一個(gè)或者一個(gè)以上模塊功能,諸如處理一個(gè)或者一個(gè)以上輸入信號(hào)以產(chǎn)生一個(gè)或者一個(gè)以上輸出信號(hào)。實(shí)現(xiàn)模塊的硬件本身可結(jié)合軟件和/或固件進(jìn)行操作。正如本文中使用,模塊可含有一個(gè)或者一個(gè)以上子模塊,所述子模塊本身為模塊。
[0089]雖然本發(fā)明的各種功能和特征的特定組合在本文中已經(jīng)明確說(shuō)明,但是這些特征和功能的其它組合同樣可行。本發(fā)明并不限于本文中公開(kāi)的特定實(shí)施例,并且明確包括這些其它組合。
【權(quán)利要求】
1.一種可用作機(jī)頂盒的裝置,包括: 處理電路; 機(jī)頂盒應(yīng)用程序,用于執(zhí)行安全媒介處理操作; 軟件框架,用于支持相對(duì)非信任的軟件應(yīng)用程序;以及 由所述處理電路執(zhí)行的操作系統(tǒng),所述操作系統(tǒng)被構(gòu)造為建立: 特許操作系統(tǒng)環(huán)境,以執(zhí)行安全媒介處理操作;以及 受限操作系統(tǒng)環(huán)境, 所述機(jī)頂盒應(yīng)用程序在所述特許操作系統(tǒng)環(huán)境中執(zhí)行并且所述軟件框架在所述受限操作系統(tǒng)環(huán)境中執(zhí)行。
2.根據(jù)權(quán)利要求1所述的裝置,其中,所述特許操作系統(tǒng)環(huán)境包括第一虛擬機(jī)容器并且所述受限操作系統(tǒng)環(huán)境包括第二虛擬機(jī)容器。
3.根據(jù)權(quán)利要求2所述的裝置,其中,所述操作系統(tǒng)為基于Linux的對(duì)稱多處理操作系統(tǒng),并且所述軟件框架包括Android框架的至少一個(gè)版本。。
4.根據(jù)權(quán)利要求2所述的裝置,所述操作系統(tǒng)還包括安全訪問(wèn)接口以支持所述第一虛擬機(jī)容器與所述第二虛擬機(jī)容器之間的交互。
5.根據(jù)權(quán)利要求4所述的裝置,所述操作系統(tǒng)包括安全操作系統(tǒng)內(nèi)核,所述安全訪問(wèn)接口調(diào)節(jié)所述受限操作系統(tǒng)環(huán)境與所述安全操作系統(tǒng)內(nèi)核之間的交互。
6.根據(jù)權(quán)利要求5所述的裝置,所述安全訪問(wèn)接口執(zhí)行選自由以下項(xiàng)組成的群組中的至少一個(gè)操作:句柄和指針驗(yàn)證;非指針參數(shù)驗(yàn)證;堆區(qū)隔離;和在受限進(jìn)程終止以后的硬件資源釋放。
7.根據(jù)權(quán)利要求5所述的裝置,所述安全訪問(wèn)接口包括安全訪問(wèn)服務(wù)器和安全訪問(wèn)客戶端,所述安全訪問(wèn)客戶端包括在所述軟件框架中。
8.根據(jù)權(quán)利要求7所述的裝置,其中,所述安全訪問(wèn)服務(wù)器與安全訪問(wèn)客戶端之間的交互至少部分通過(guò)進(jìn)程間通信調(diào)用進(jìn)行。
9.一種在媒介傳送設(shè)備中使用的方法,所述媒介傳送設(shè)備具有操作系統(tǒng)和受信任應(yīng)用軟件,所述設(shè)備支持與非信任軟件框架交互,所述方法包括: 建立特許操作系統(tǒng)環(huán)境以通過(guò)所述受信任應(yīng)用軟件執(zhí)行安全媒介處理操作; 建立受限操作系統(tǒng)環(huán)境以管理所述非信任軟件框架;并且 提供安全訪問(wèn)接口以支持所述受信任應(yīng)用軟件與所述非信任軟件框架的組件之間的交互。
10.一種裝置,包括: 處理電路; 用于支持軟件應(yīng)用程序的軟件框架,所述軟件框架包括受信任部分和非信任部分;以及 由所述處理電路執(zhí)行的操作系統(tǒng),所述操作系統(tǒng)被配置為建立至少一個(gè)特許操作系統(tǒng)環(huán)境和至少一個(gè)受限操作系統(tǒng)環(huán)境, 所述軟件框架的所述受信任部分在所述至少一個(gè)特許操作系統(tǒng)環(huán)境中執(zhí)行并且所述軟件框架的所述非信任部分在所述至少一個(gè)受限操作系統(tǒng)環(huán)境中執(zhí)行。
【文檔編號(hào)】G06F9/445GK103826161SQ201310492963
【公開(kāi)日】2014年5月28日 申請(qǐng)日期:2013年10月18日 優(yōu)先權(quán)日:2012年10月18日
【發(fā)明者】馬庫(kù)斯·C·凱勒曼, 納拉亞恩·拉杰戈帕爾, 喬舒亞·斯圖爾茨, 凱文·瑟內(nèi)基 申請(qǐng)人:美國(guó)博通公司