CN104246784A - 用于保护和安全地传输媒体内容的方法、设备和系统 - Google Patents
用于保护和安全地传输媒体内容的方法、设备和系统 Download PDFInfo
- Publication number
- CN104246784A CN104246784A CN201180076311.0A CN201180076311A CN104246784A CN 104246784 A CN104246784 A CN 104246784A CN 201180076311 A CN201180076311 A CN 201180076311A CN 104246784 A CN104246784 A CN 104246784A
- Authority
- CN
- China
- Prior art keywords
- soc
- firmware
- chip
- protected storage
- security engine
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000002093 peripheral effect Effects 0.000 claims abstract description 92
- 230000004044 response Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
用于保护和安全地传输媒体内容的方法、设备和系统包括配置片上系统(SOC)的存储器控制器以便建立受保护存储器区域,使用SOC的安全引擎认证硬件外围设备的固件,并且把经认证的固件存储在受保护存储器区域。安全引擎可以通过认证用来加密固件的外围加密密钥来认证来固件。只有经认证的硬件外围设备才可以访问受保护存储器区域。
Description
背景
内容用户访问媒体内容的方式正在从传统的机会性访问改变成按需访问。按需媒体内容以及某种标准媒体内容常常通过流传播内容来传输给多媒体平台,例如机顶盒、智能电话、平板计算机、膝上型计算机等等。如果多媒体内容是资金内容,则在传送给多媒体平台期间多媒体内容常常以某种方式受到保护。例如,各种数字版权管理(DRM)和条件访问(CA)技术可以用来给从媒体源到多媒体平台的媒体内容提供保护。这样的技术通常涉及内容媒体的加密。
片上系统(SOC)设备是一种集成电路,其在单个管芯上集成了电子系统的各种组件,包括处理核心。例如,SOC可以在单个芯片上包括处理器核心、存储器控制器、视频组件、音频组件和/或通信组件。由于它们相对小的尺寸,SOC被用于多种多媒体平台。
附图简述
作为示例而非限制在附图中示出本文中所描述的本发明。为说明的简单和清楚起见,在附图中示出的元素不一定按比例绘制。例如,为清楚起见,某些元素的尺寸可能相对于其它元素被放大。此外,在认为合适的地方,在附图中重复附图标记以指示相应或相似的元件。
图1是包括片上系统(SOC)的多媒体平台的至少一种实施例的简化框图;
图2是图1的多媒体平台的存储器控制器和存储器的至少一种实施例的简化框图;
图3是图1的SOC的受保护的媒体内容流的至少一种实施例的简化框图;
图4是用于在图1的SOC中建立受保护存储器区域的方法的至少一种实施例的简化流程图;
图5是用于认证图1的SOC的硬件外围设备的方法的至少一种实施例的简化流程图;以及
图6是用于从图1的SOC传输内容媒体的方法的至少一种实施例的简化流程图。
附图的详细描述
虽然本公开的概念容许多种修改和替代形式,但其特定示例性实施例在附图中以示例方式示出,且将在本文中具体描述。然而应理解,不存在把本公开内容的概念限制在所公开的具体形式的意向,相反,预期覆盖与本公开内容和所附权利要求一致的所有修改、等效物和备选方案。
在以下描述中,陈述了诸如逻辑实现、操作码、指定操作数的手段、资源划分/共享/复制实现、系统组件的类型和相互关系、以及逻辑划分/整合选择之类的多个具体细节,以提供对本发明的更透彻理解。然而,本领域技术人员应当领会,没有这些具体细节也可实践本公开的诸实施例。在其它实例中,未详细示出控制结构、门级电路以及完整软件指令序列,以免模糊本发明。借助于所包括的描述,本领域技术人员将能在无需过度实验的情况下实现适当的功能。
在本说明书中对“一个实施例”、“一种实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但并不一定每个实施例都需要包括该特定特征、结构或特性。此外,这样的短语不一定是指同一个实施例。此外,无论是否明确描述,当参考一个实施例描述特定特征、结构或特性时,认为在本领域技术人员学识范围内,可以与其他实施例一起实施这样的特征、结构或特性。
本发明的实施例可以以硬件、固件、软件或它们的任意组合实现。在计算机系统中实现的本发明的各实施例可包括组件之间的一个或多个基于总线的互连或链路和/或组件之间的一个或多个点对点互连。本发明的各实施例也可以被实现为由暂态或非暂态机器可读媒体携带或存储在暂态或非暂态机器可读媒体上的指令,这些指令可由一个或多个处理器读取或执行。机器可读媒体可以被实现为任何设备、机制或物理结构用于存储或传送以可由机器(例如,计算设备)读取的形式的信息。例如,机器可读媒体可以被实现为只读存储器(ROM);随机存取存储器(RAM);磁盘存储媒体;光存储媒体;闪速存储器设备;mini-SD或micro-SD卡、存储棒、电信号和其他。
附图中,为便于描述,可以示出示意性元素(表示设备、模块、指令框和数据元素的那些)的特定的排列或排序。然而,本领域中的技术人员应理解,附图中的示意性元素的特定的排序或排列不预期暗示要求处理的具体的次序或序列或各过程的间隔。进一步,附图中包含示意性元素不预期暗示在所有实施例中要求这样的元素,或者在一些实施例中由这样的元素表示的特征可以不被包括在其他元素中或者与其他元素组合。
通常,可以使用任何合适形式的机器可读指令实现用来表示指令框的示意性元素,机器可读指令例如软件或固件应用、程序、函数、模块、例程、进程、过程、插件、小应用程序、小工具、代码片段和/或其他,且可以使用任何合适的编程语言、库、应用编程接口(API)和/或其他软件开发工具实现每一种这样的指令。例如,可以使用Java、C++和/或其他编程语言实现一些实施例。类似地,可以使用任何合适的电子排列或结构实现用来表示数据或信息的示意性元素,电子排列或结构例如寄存器、数据存储、表、记录、数组、索引、散列、地图、树、列表、图、文件(可以是任何文件类型)、文件夹、目录、数据库和/或其他。
进一步,附图中,当诸如实线或虚线或箭头等的连接元素被用来阐释在两个或更多个其他示意性元素之间或在它们当中的连接、关系或关联时,缺乏任何这样的连接元素不预期暗示不存在连接、关系或关联。换句话说,附图中可以不示出在各元素之间一些连接、关系或关联,以免模糊本公开内容。另外,为便于阐释,单个连接元素可以被用来表示在各元素之间的多个连接、关系或关联。例如,当连接元素表示信号、数据或指令的通信时,本领域中的技术人员应理解,根据需要,这样的元素可以表示实现通信的一个或多个信号路径(例如,总线)。
现在参见图1,在一种实施例中,多媒体平台100被配置为把媒体内容传输给平台100的用户。多媒体平台100可以被实现为被配置为传输媒体内容的任何类型的设备。例如,多媒体平台可以被实施为机顶盒、智能手机、平板计算机、膝上型计算机、移动因特网设备(MID)、台式计算机或能够传递媒体内容的其他设备。多媒体平台100可以被配置为把任何类型的媒体内容传输给用户,例如包括电影、图片、图像、歌曲、音频和/或视频记录、和/或任何其他类型的音频、视频和/或音频和视频内容。
多媒体平台100包括片上系统(SOC)102和平台存储器104。如下面更详细地讨论的,SOC 102被配置为同时在SOC 102和存储器104内保护和安全地传输媒体内容。为此,SOC 102的安全引擎110在存储器104中建立受保护存储器112,受保护存储器112是SOC 102的存储器控制器114加强的硬件。存储器控制器114确保只有SOC 102的经授权硬件外围设备才可以访问受保护存储器112。SOC 102的安全引擎110通过在加载受保护存储器112中的固件之前认证每一外围设备的固件来认证每一硬件外围设备。经解密媒体内容也被存储在受保护存储器112中,且仅可供经授权硬件外围设备访问。以这种方式,在SOC 102中建立可信数据路径,其中,经解密媒体内容仅可供SOC 102的经认证组件访问。
SOC 102可以被实施为可以包括各种组件和结构的任何类型的片上系统。在图1的说明性实施例中,SOC 102包括如以上所描述的安全引擎110和存储器控制器114、处理器核心116以及多个硬件外围设备120,它们经由链路118通信上相互耦合。链路118可以被实施为任何类型的互连,例如能够促进在SOC 102的各种组件之间的通信的总线、点对点或其他互连。取决于SOC 102的预期功能性,硬件外围设备120可以包括任何类型的硬件外围设备组件。例如,在说明性实施例中,硬件外围设备120包括解多路复用器122、视频预解析器124、视频解码器126、显示处理引擎(DPE)128、音频数字信号处理器(DSP)130、视频图形132和音频/视频I/O 134。硬件外围设备120中的每一个包括关联的固件140和密钥142。如下面更详细地讨论的,每一硬件外围设备120的密钥142先前由安全引擎110利用该安全引擎110的安全密钥150来签署。
安全引擎110可以被实施为与处理器核心116分离的安全协处理器或处理电路。安全引擎110包括安全引擎固件152和安全存储器154,它们仅可由安全引擎110访问。在说明性实施例中,安全存储器154形成安全引擎110的物理部分,但在其他实施例中可以形成存储器104的一部分(即,受保护存储器112的一部分)。安全引擎110把安全密钥150以及下面讨论的其他加密密钥存储在安全存储器154中。可以在制造SOC 102期间提供安全密钥150,或者可以在操作期间由SOC 102生成安全密钥150。例如,在一些实施例中,安全密钥150基于在安全引擎110内的熔断熔丝(blown fuse)。另外或替代地,安全引擎110可以包括密钥生成模块,例如可信平台模块(TPM),以便生成安全密钥150。在使用期间,安全引擎110可以使用任何数量的安全密钥150,它们可以彼此相同或不同。
如以上所描述的,存储器104包括受保护存储器112和不受保护的存储器160。在多媒体平台100的操作期间,各种数据可以以经解密或经加密的形式存储在不受保护的存储器160中。例如,如下面更详细地讨论,经加密的应用密钥162可以连同供传递给用户的任何经加密的媒体内容一起被存储在存储器104的不受保护的存储器160中。
在一些实施例中,多媒体平台100可以包括不同于SOC 102和存储器104的附加的组件和结构。例如,在说明性实施例中,多媒体平台100包括诸如硬盘驱动器或固态驱动器等的长期数据存储170、通信输出172、显示器174和诸如扬声器等的音频设备176,其中的每一个都可以与SOC 102通信或以另外方式与SOC 102交互。
现在参见图2,如以上所描述的,由存储器控制器114加强存储器104的受保护存储器112。为此,存储器控制器114被配置为建立硬件加强保护的存储器区域200,其与存储器102的受保护存储器112相关并界定存储器102的受保护存储器112。硬件加强保护的存储器区域可以包括任何数量的受保护存储器区域或子区域。例如,在图2的说明性实施例中,硬件加强保护的存储器区域包括其中存储经认证的固件的固件保护存储器区域202、其中存储经解密视频的帧缓冲器保护存储器区域204、其中存储经解密音频的音频保护存储器区域206、经压缩视频保护存储器区域208、安全引擎-传输流解多路复用器(TSD)保护存储器区域210和/或一个或多个其他受保护存储器区域212。当然,例如取决于SOC 102的预期功能性,在其他实施例中,硬件加强保护的存储器区域200可以包括更少或更多数量的受保护存储器区域。
取决于各自的用途,受保护存储器区域202、204、206、208、210、212中的每一个可以包括相似的或不同的安全属性。存储器控制器114把这样的属性保护到相应的寄存器,以使得随后不能变更这些属性。另外,存储器控制器114可以确保受保护存储器区域202、204、206、208、210、212被恰当地配置(例如,相应的内存地址不重叠),并且,在一些实施例中,可以对受保护存储器112执行其他安全和错误检查。
在使用期间,存储器控制器114为受保护存储器112提供硬件加强保护的保护。例如,硬件外围设备120可以与存储器控制器114的存储器接口220通信以便从存储器102检索数据。存储器控制器114判断硬件外围设备120是否正在从受保护存储器112(例如,从受保护存储器区域200中的一个)请求数据。如果是这样,则如下面所讨论的,仅当请求硬件外围设备120先前已经得到安全引擎110认证时,存储器控制器114允许访问(箭头230)受保护存储器112的相应的硬件加强保护的存储器区域200。如果不是,则存储器控制器114拒绝所请求的访问。替代地,硬件外围设备120可以请求访问(箭头232)不受保护的存储器160,这得到了存储器控制器114的允许。
如以上所描述的,硬件加强保护的受保护存储器区域200的建立和硬件外围设备120的认证在SOC 102内配置了可信数据路径,在该路径中,媒体内容贯穿其整个传输都受到保护。例如,图3中示出可信数据路径300的说明性实施例。在图3中,可信数据路径300被示出为实心箭头,而空心箭头指示不受保护的数据路径。另外,用双括号示出SOC 102的每一经认证的硬件组件,以便指示该组件先前已经得到安全引擎110认证。
如图3中所示出,可以在多媒体平台100上执行主控软件302。主控软件302可以请求经加密的媒体内容304的传输(例如,回放)。例如,经加密的媒体内容304可以被存储在不受保护的存储器104中。响应于传递请求,安全引擎110从存储器160检索经加密的媒体内容304。安全引擎110使用经加密的应用密钥162把媒体内容解密成A/V流306。在这样做时,如下面更详细地讨论,安全引擎110确保应用密钥162在处于经解密的状态时决不会不受保护(例如,安全引擎110把经解密的应用密钥存储在安全存储器154中)。类似地,通过把经解密的媒体流存储在仅可由经认证的硬件外围设备120访问的受保护存储器区域200中,安全引擎110确保经解密的媒体内容的保护。
解多路复用器122访问A/V流306,解多路复用器122从A/V流306分离出音频和视频。另外,解多路复用器122可以把媒体内容的部分数据320提供给主控软件。部分数据320的传递不受保护,如图3中的空心箭头所指示的。音频DSP 130访问A/V流306的音频308,音频DSP 130生成去往A/V输出134的经处理音频310。另外,视频预解析器124访问A/V流306的经压缩视频312。视频预解析器124可以生成元数据322,在不受保护的传递中把元数据322提供给主控软件302。视频解码器136访问经预解析的经压缩视频314,视频解码器136生成视频像素316。DPE 128访问视频像素316以便生成视频像素318,视频图形132随后访问视频像素318以便在A/V输出134处生成未经压缩的视频流。以这种方式,在SOC102中通过可信数据路径300执行媒体内容的解密和解压缩,以使得在媒体内容的传递的始终,保护对媒体内容的访问。
现在参见图4,在使用时,SOC 102可以执行方法400以便建立受保护存储器区域200。方法400从框402开始,框402中,可以加载多媒体平台100的操作系统。在引导过程期间,在框404中加载安全引擎110的驱动程序。在框406中,SOC 102判断SOC 102是否被配置为使用可信数据路径来传输媒体内容。如果不是,则方法400退出,且多媒体平台100正常引导。然而,如果SOC 102被配置为用于可信数据路径传递,则方法400进行到框408,框408中,安全引擎驱动程序获得涉及硬件加强保护的受保护存储器区域200的信息。这样的信息可以包括,例如,每一受保护存储器区域200的地址范围、每一受保护存储器区域200的区域类型和与每一受保护存储器区域200相关联的任何附加属性。这样的信息可以从安全数据表等等获得。在框410中,安全引擎驱动程序把受保护存储器区域信息发送给安全引擎固件152以供确认。在框414中,安全引擎固件152确认受保护存储器区域信息。安全引擎固件152可以对受保护存储器区域执行任何类型的确认,例如包括确保受保护存储器区域200的各个受保护存储器范围的地址范围不相互重叠、正确地对应类型和属性等等。
在框416中,SOC 102判断受保护存储器区域200的配置是否被安全引擎110确定为有效。如果受保护存储器区域200的配置不是有效的,则方法400进行到框418,生成安全引擎驱动程序错误。作为响应,SOC 102可以执行一个或多个安全动作,例如包括重新引导、重配置存储器控制器114和/或其他矫正动作。然而,如果确定受保护存储器区域200的配置是有效的,则方法400进行到框420,框420中,安全引擎固件152把还没有通过认证的所有硬件外围设备120保持在复位模式。
在存储器控制器114已经被配置为用于受保护存储器区域200之后,SOC 102的安全引擎110可以认证SOC 102的硬件外围设备120。为了这样做,SOC 102可以执行用于认证硬件外围设备120的方法500。方法500从框502开始,框502中,安全引擎110判断是否已经接收到加载硬件外围设备120d固件140的请求。如果是,则在框504中,安全引擎驱动程序检索请求硬件外围设备120的加密密钥142和关联的经加密的固件140。安全引擎驱动程序生成固件加载包,包括外围加密密钥142、经加密的外围固件140和关联的固件受保护存储器区域202的存储器地址。
在框508中,安全引擎驱动程序把固件加载包发送给安全引擎固件152。作为响应,在框510中,安全引擎固件152认证外围加密密钥142。为了这样做,安全引擎固件152可以使用安全引擎110的安全密钥150来验证先前由安全引擎110签署外围加密密钥142。
在框512中,SOC 102判断安全引擎110是否成功地认证外围加密密钥142。如果不是,则方法500进行到框514,框514中,生成外围驱动程序加载错误,且把该硬件外围设备保持在复位模式。另外,SOC 102可以采取对这样的加载错误的附加安全响应。
如果外围加密密钥142得到安全引擎110认证,则方法500进行到框516,框516中,安全引擎固件152使用现在认证的外围密钥142来认证外围固件140。例如,在其中固件140经过加密的实施例中,安全引擎110可以解密固件140。另外或替代地,例如基于固件140的散列函数等等,安全引擎110可以确保先前已经使用外围加密密钥142来签署固件140。
在框518中,SOC 102判断安全引擎110是否成功地认证外围固件140。如果不是,则方法500进行到框514,框514中,生成外围驱动程序加载错误,且把硬件外围设备保持在复位模式中。然而,如果外围固件140经过认证,则方法500进行到框520,到框520中,安全引擎固件152把经认证(且经解密)的硬件外围设备固件140加载到关联的固件受保护存储器区域202并从复位模式释放硬件外围设备120。以这种方式,SOC 102仅加载并执行硬件外围设备的经认证的固件。另外,仅经认证的硬件外围设备具有对受保护存储器区域200和其中包含的经解密的媒体内容的访问权。
现在参见图6,在已经认证了硬件外围设备120之后,SOC 102可以把内容传输给多媒体平台100的用户。为了这样做,SOC 102可以执行用于在可信数据路径中传输内容媒体的方法600。方法600从框602开始,框602中,SOC加载任何数字版权管理(DRM)固件。DRM固件可以支持要在多媒体平台602上传输的媒体内容的解密操作。在DRM固件的加载期间,用于解密媒体内容的应用加密密钥162被存储在存储器104中。在说明性实施例中,以经加密的形式把应用加密密钥162存储在存储器104的不受保护的存储器160中。另外,要传输给用户的经加密的媒体内容可以被存储在不受保护的存储器160中。
在框606中,SOC 102判断用户是否已经请求传递媒体内容。如果是这样,则方法600进行到框608,框608中,安全引擎110从存储器104的不受保护的存储器160检索经加密的应用密钥162。在框610中,安全引擎110解密应用密钥162,并且,在框612中把经解密的应用密钥存储在安全引擎110的安全存储器154中。随后,在框614中,安全引擎110使用经解密的应用密钥162来解密经加密的媒体内容,经加密的媒体内容可以被存储在不受保护的存储器160中。经解密的媒体内容被存储在流传播帧缓冲器受保护的存储器区域204中。
在框618中,经认证的硬件外围设备120访问受保护存储器区域200中的经解密的媒体内容,且由各种经认证的硬件外围设备120处理媒体内容,并且媒体内容被传输给SOC 102的A/V输出134,以供向多媒体平台100的用户回放。这样做时,应明白,经解密的应用密钥162和经解密的媒体内容决不处于不受保护状态。
应明白,以上所描述的系统以安全的和受保护的方式传输媒体内容。例如,当处于经解密的状态时,经解密的媒体内容和经解密的应用密钥162被存储在受保护的和安全的存储器位置。另外,只有经认证的硬件外围设备120才拥有对受保护存储器区域200的访问权,在处理用于传递的内容期间,经解密的媒体内容被存储在受保护存储器区域200中。以这种方式,在传递过程期间,在SOC 102本身内保证了媒体内容的安全。
尽管已经在附图和前述描述中详细阐释和描述了本公开内容,但这样的阐释和描述应被看作是示例性的而非限制性的,应理解,仅示出和描述了说明性的实施例,且预期保护所有与本公开内容和所叙述的权利要求一致的变化和修改。
Claims (40)
1.一种片上系统装置,包括:
存储器,其具有至少一个受保护区域,以便至少在其中存储经解密的媒体内容;以及
片上系统,其包括:
存储器控制器,其耦合到所述存储器,以便加强受保护存储器区域的保护,以使得对所述受保护存储器区域的访问权仅被授权给所述片上系统的经认证的外围设备;以及
安全引擎,其耦合到所述存储器控制器,以便认证所述片上系统的硬件外围设备的固件,以便允许所述硬件外围设备访问所述存储器的所述受保护存储器区域。
2.如权利要求1所述的片上系统装置,其特征在于,响应于所述固件经过所述安全引擎认证,所述安全引擎把所述硬件外围设备的所述固件存储在所述受保护存储器区域中,且允许从所述受保护存储器区域执行所述固件以便激活所述硬件外围设备。
3.如权利要求1所述的片上系统装置,其特征在于,所述固件包括所述硬件外围设备的经加密的固件,
所述安全引擎获得所述硬件外围设备的外围加密密钥并使用所述安全引擎的安全加密密钥认证所述外围加密密钥。
4.如权利要求3所述的片上系统装置,其特征在于,响应于使用所述安全加密密钥认证所述外围加密密钥,所述安全引擎使用所述外围加密密钥认证所述经加密的固件。
5.如权利要求4所述的片上系统装置,其特征在于,所述安全引擎使用所述外围加密密钥解密所述经加密的固件。
6.如权利要求5所述的所述片上系统装置,其特征在于,所述安全引擎把所述经解密的固件存储在所述受保护存储器区域中。
7.如权利要求1所述的片上系统装置,其特征在于,所述固件包括经加密的固件,
所述安全引擎使用已经通过所述安全引擎的安全加密密钥认证的所述硬件外围设备的外围加密密钥来解密所述硬件外围设备的所述经加密的固件。
8.如权利要求1所述的片上系统装置,其特征在于,响应于接收到传输媒体内容的请求,所述安全引擎从存储器检索经加密的应用密钥。
9.如权利要求8所述的片上系统装置,其特征在于,所述安全引擎借助于所述安全引擎的安全加密密钥解密所述经加密的应用密钥,并把所述经解密的应用密钥存储在所述受保护存储器区域中。
10.如权利要求9所述的片上系统装置,其特征在于,所述安全引擎使用所述经解密的应用密钥来访问经加密的媒体内容并解密所述媒体内容。
11.如权利要求10所述的片上系统装置,其特征在于,所述安全引擎把所述经解密的媒体内容存储在所述受保护存储器区域中。
12.如权利要求11所述的片上系统装置,其特征在于,所述经认证的硬件外围设备访问所述受保护存储器区域以便检索所述经解密的媒体内容。
13.如权利要求11所述的片上系统装置,进一步包括多个经认证的硬件外围设备,以便把所述经解密的媒体传输给所述片上系统的输出,以使得未经认证的硬件外围设备不能访问所述经解密的媒体内容。
14.一种方法,包括:
配置片上系统的存储器控制器,以便建立受保护存储器区域,所述受保护存储器区域仅可由经认证的硬件外围设备访问;
使用所述片上系统的安全引擎认证所述片上系统的硬件外围设备的固件;
响应于所述固件经过所述安全引擎认证,把所述固件存储在所述受保护存储器区域中;以及
从所述受保护存储器区域执行所述固件,以便激活所述硬件外围设备。
15.如权利要求14所述的方法,其特征在于,配置所述存储器控制器包括获得受保护存储器区域信息并使用所述所标识的信息配置所述存储器控制器。
16.如权利要求15所述的方法,其特征在于,获得受保护存储器区域信息包括获得所述受保护存储器区域的地址范围。
17.如权利要求15所述的方法,其特征在于,获得受保护存储器区域信息包括获得所述受保护存储器区域的地址范围、所述受保护存储器区域的类型和所述受保护存储器区域的至少一种属性。
18.如权利要求15所述的方法,进一步包括使用所述片上系统的所述安全引擎确认所述受保护存储器区域信息。
19.如权利要求14所述的方法,其特征在于,认证所述硬件外围设备的所述固件包括:
获得所述硬件外围设备的外围加密密钥和所述硬件外围设备的经加密的固件,以及
使用所述安全引擎的安全加密密钥认证所述外围加密密钥。
20.如权利要求19所述的方法,其特征在于,认证所述固件包括响应于使用所述安全加密密钥认证所述外围加密密钥使用所述外围加密密钥认证所述经加密的固件。
21.如权利要求20所述的方法,其特征在于,认证所述经加密的固件包括使用所述外围加密密钥解密所述经加密的固件。
22.如权利要求21所述的方法,其特征在于,存储所述固件包括把所述经解密的固件存储在所述受保护存储器区域中。
23.如权利要求14所述的方法,其特征在于,认证所述硬件外围设备的所述固件包括使用已经通过所述安全引擎的安全加密密钥认证的所述硬件外围设备的外围加密密钥解密所述硬件外围设备的经加密的固件。
24.如权利要求14所述的方法,进一步包括响应于接收到传输媒体内容的请求使用所述安全引擎从存储器检索经加密的应用密钥。
25.如权利要求24所述的方法,进一步包括借助于所述安全引擎的安全加密密钥解密所述经加密的应用密钥并把所述经解密的应用密钥存储在所述受保护存储器区域中。
26.如权利要求25所述的方法,进一步包括使用所述经解密的应用密钥访问经加密的媒体内容和解密所述媒体内容。
27.如权利要求26所述的方法,进一步包括把所述经解密的媒体内容存储在所述受保护存储器区域中。
28.如权利要求27所述的方法,进一步包括借助于经认证的硬件外围设备访问所述受保护存储器区域以便检索所述经解密的媒体内容。
29.如权利要求27所述的方法,进一步包括把所述经解密的媒体传输给所述片上系统的输出,以使得未经认证的硬件外围设备不能访问所述经解密的媒体内容。
30.一种多媒体平台,包括:
片上系统,其包括多个指令,在被执行时,所述多个指令引起所述片上系统执行权利要求14-29中的任一项所述的方法。
31.一个或多个机器可读媒体,其包括其上存储的多个指令,响应于被执行,所述多个指令引起片上系统执行权利要求14-29中的任一项所述的方法。
32.一种方法,包括:
配置片上系统的存储器控制器,以便建立受保护存储器区域;
借助于所述片上系统的安全引擎,接收硬件外围设备的外围加密密钥和所述硬件外围设备的经加密的固件;
使用所述安全引擎的安全加密密钥认证所述外围密钥;
响应于所述外围加密密钥通过认证,使用所述外围加密密钥认证所述经加密的固件;
把所述经解密的固件存储在所述受保护存储器区域中;以及
从所述受保护存储器区域执行所述经解密的固件,以便从复位状态释放所述硬件外围设备。
33.如权利要求32所述的方法,进一步包括响应于接收到传输媒体内容的请求使用所述安全引擎从存储器检索经加密的应用密钥。
34.如权利要求33所述的方法,进一步包括借助于所述安全引擎的所述安全加密密钥解密所述经加密的应用密钥并把所述经解密的应用密钥存储在所述受保护存储器区域中。
35.如权利要求34所述的方法,进一步包括使用所述经解密的应用密钥访问经加密的媒体内容和解密所述媒体内容。
36.如权利要求35所述的方法,进一步包括把所述经解密的媒体内容存储在所述受保护存储器区域中。
37.如权利要求36所述的方法,进一步包括借助于经认证的硬件外围设备访问所述受保护存储器区域以便检索所述经解密的媒体内容。
38.如权利要求36所述的方法,进一步包括把所述经解密的媒体传输给所述片上系统的输出,以使得未经认证的硬件外围设备不能访问所述经解密的媒体内容。
39.一种多媒体平台,包括:
片上系统,其包括多个指令,在被执行时,所述多个指令引起所述片上系统执行权利要求32-37中的任一项所述的方法。
40.一个或多个机器可读媒体,其包括其上存储的多个指令,响应于被执行,所述多个指令引起片上系统执行权利要求32-37中的任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/065072 WO2013089726A1 (en) | 2011-12-15 | 2011-12-15 | Method, device, and system for protecting and securely delivering media content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104246784A true CN104246784A (zh) | 2014-12-24 |
CN104246784B CN104246784B (zh) | 2017-11-17 |
Family
ID=48613010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180076311.0A Expired - Fee Related CN104246784B (zh) | 2011-12-15 | 2011-12-15 | 用于保护和安全地传输媒体内容的方法、设备和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130275769A1 (zh) |
EP (1) | EP2791849A4 (zh) |
CN (1) | CN104246784B (zh) |
TW (1) | TWI662838B (zh) |
WO (1) | WO2013089726A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013089725A1 (en) | 2011-12-15 | 2013-06-20 | Intel Corporation | Method and device for secure communications over a network using a hardware security engine |
WO2013089728A1 (en) | 2011-12-15 | 2013-06-20 | Intel Corporation | Method, device, and system for securely sharing media content from a source device |
US8856515B2 (en) | 2012-11-08 | 2014-10-07 | Intel Corporation | Implementation of robust and secure content protection in a system-on-a-chip apparatus |
KR20150070890A (ko) * | 2013-12-17 | 2015-06-25 | 삼성전자주식회사 | 파일 처리 방법 및 이를 지원하는 전자 장치 |
US10726162B2 (en) * | 2014-12-19 | 2020-07-28 | Intel Corporation | Security plugin for a system-on-a-chip platform |
US9852301B2 (en) * | 2014-12-24 | 2017-12-26 | Intel Corporation | Creating secure channels between a protected execution environment and fixed-function endpoints |
US10346071B2 (en) | 2016-12-29 | 2019-07-09 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
WO2018132477A1 (en) * | 2017-01-10 | 2018-07-19 | Renesas Electronics America Inc. | A security architecture and method |
US10839080B2 (en) * | 2017-09-01 | 2020-11-17 | Microsoft Technology Licensing, Llc | Hardware-enforced firmware security |
US10666430B2 (en) * | 2017-09-29 | 2020-05-26 | Intel Corporation | System and techniques for encrypting chip-to-chip communication links |
GB201810533D0 (en) | 2018-06-27 | 2018-08-15 | Nordic Semiconductor Asa | Hardware protection of files in an intergrated-circuit device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031068A (zh) * | 2006-02-27 | 2007-09-05 | 美国博通公司 | 用于多媒体数据处理的安全片上系统结构的方法和系统 |
CN101454783A (zh) * | 2006-06-27 | 2009-06-10 | 英特尔公司 | 用于芯片上系统器件中数据通路安全的系统和技术 |
WO2011119985A2 (en) * | 2010-03-26 | 2011-09-29 | Maxlinear, Inc. | Firmware authentication and deciphering for secure tv receiver |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401208B2 (en) * | 1998-07-17 | 2002-06-04 | Intel Corporation | Method for BIOS authentication prior to BIOS execution |
US6948065B2 (en) * | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US7350083B2 (en) * | 2000-12-29 | 2008-03-25 | Intel Corporation | Integrated circuit chip having firmware and hardware security primitive device(s) |
US20020112161A1 (en) * | 2001-02-13 | 2002-08-15 | Thomas Fred C. | Method and system for software authentication in a computer system |
US7243347B2 (en) * | 2002-06-21 | 2007-07-10 | International Business Machines Corporation | Method and system for maintaining firmware versions in a data processing system |
US7444668B2 (en) * | 2003-05-29 | 2008-10-28 | Freescale Semiconductor, Inc. | Method and apparatus for determining access permission |
US20050114687A1 (en) * | 2003-11-21 | 2005-05-26 | Zimmer Vincent J. | Methods and apparatus to provide protection for firmware resources |
US7600132B1 (en) * | 2003-12-19 | 2009-10-06 | Adaptec, Inc. | System and method for authentication of embedded RAID on a motherboard |
TWI240531B (en) * | 2003-12-24 | 2005-09-21 | Inst Information Industry | Multitasking system level system for Hw/Sw co-verification |
US7802085B2 (en) * | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
JP4420201B2 (ja) * | 2004-02-27 | 2010-02-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ハードウェアトークンを用いた認証方法、ハードウェアトークン、コンピュータ装置、およびプログラム |
US7747862B2 (en) * | 2004-06-28 | 2010-06-29 | Intel Corporation | Method and apparatus to authenticate base and subscriber stations and secure sessions for broadband wireless networks |
US7503504B2 (en) * | 2005-12-15 | 2009-03-17 | Intel Corporation | Transaction card supporting multiple transaction types |
US8719526B2 (en) * | 2006-01-05 | 2014-05-06 | Broadcom Corporation | System and method for partitioning multiple logical memory regions with access control by a central control agent |
US8429418B2 (en) * | 2006-02-15 | 2013-04-23 | Intel Corporation | Technique for providing secure firmware |
US8014530B2 (en) * | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
KR100809295B1 (ko) * | 2006-04-06 | 2008-03-04 | 삼성전자주식회사 | 소프트웨어 설치를 위한 장치 및 방법 |
US20080022395A1 (en) * | 2006-07-07 | 2008-01-24 | Michael Holtzman | System for Controlling Information Supplied From Memory Device |
US20080244267A1 (en) * | 2007-03-30 | 2008-10-02 | Intel Corporation | Local and remote access control of a resource |
US9053323B2 (en) * | 2007-04-13 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Trusted component update system and method |
US20090319804A1 (en) * | 2007-07-05 | 2009-12-24 | Broadcom Corporation | Scalable and Extensible Architecture for Asymmetrical Cryptographic Acceleration |
US20110154023A1 (en) * | 2009-12-21 | 2011-06-23 | Smith Ned M | Protected device management |
-
2011
- 2011-12-15 US US13/976,042 patent/US20130275769A1/en not_active Abandoned
- 2011-12-15 EP EP11877254.0A patent/EP2791849A4/en not_active Withdrawn
- 2011-12-15 CN CN201180076311.0A patent/CN104246784B/zh not_active Expired - Fee Related
- 2011-12-15 WO PCT/US2011/065072 patent/WO2013089726A1/en active Application Filing
-
2012
- 2012-12-13 TW TW101147203A patent/TWI662838B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031068A (zh) * | 2006-02-27 | 2007-09-05 | 美国博通公司 | 用于多媒体数据处理的安全片上系统结构的方法和系统 |
CN101454783A (zh) * | 2006-06-27 | 2009-06-10 | 英特尔公司 | 用于芯片上系统器件中数据通路安全的系统和技术 |
WO2011119985A2 (en) * | 2010-03-26 | 2011-09-29 | Maxlinear, Inc. | Firmware authentication and deciphering for secure tv receiver |
Also Published As
Publication number | Publication date |
---|---|
US20130275769A1 (en) | 2013-10-17 |
EP2791849A4 (en) | 2015-08-19 |
TW201340692A (zh) | 2013-10-01 |
CN104246784B (zh) | 2017-11-17 |
TWI662838B (zh) | 2019-06-11 |
WO2013089726A1 (en) | 2013-06-20 |
EP2791849A1 (en) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104246784A (zh) | 用于保护和安全地传输媒体内容的方法、设备和系统 | |
US11544391B2 (en) | Secure processing systems and methods | |
CN103210396B (zh) | 包括用于保护敏感代码和数据的架构的方法和装置 | |
CN105391840B (zh) | 自动创建目标应用程序 | |
US8266448B2 (en) | Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content | |
US8549606B2 (en) | Device for protecting digital content, device for processing protected digital content, method for protecting digital content, method for processing protected digital content, storage medium storing program for protecting digital content, and storage medium storing program for processing protected digital content | |
CN101571900B (zh) | 一种软件版权保护方法、设备和系统 | |
US10318765B2 (en) | Protecting critical data structures in an embedded hypervisor system | |
US8412903B2 (en) | Method and system for managing secure code loading in PC-slave devices | |
CN109992987B (zh) | 基于Nginx的脚本文件保护方法、装置及终端设备 | |
US8369526B2 (en) | Device, system, and method of securely executing applications | |
CN103136468A (zh) | 协助用于硬件保护的应用程序的系统服务请求交互 | |
JP2023512428A (ja) | ハードウェアエンクレーブを使用して商用オフザシェルフプログラムバイナリを盗用から保護すること | |
CN104951706B (zh) | 用于存储内容的方法和装置 | |
CN106033503A (zh) | 在数字内容设备中在线写入应用密钥的方法、装置及系统 | |
CN112882750A (zh) | Ota升级包的处理方法、装置和电子设备 | |
CN111435396A (zh) | 智能安全主控 | |
CN107920060A (zh) | 基于账号的数据访问方法和装置 | |
EP3221814B1 (en) | Transparent execution of secret content | |
CN114996666A (zh) | 加解密神经网络模型的方法、电子设备及存储介质 | |
US20190042706A1 (en) | Display of protected content using trusted execution environment | |
CN109728912A (zh) | 播放内容安全传输方法、系统以及终端 | |
US10878114B2 (en) | Software handling device, server system and methods thereof | |
CN113127844A (zh) | 一种变量访问方法、装置、系统、设备和介质 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171117 Termination date: 20191215 |