CN101286340A - 可安全执行被加密程序的方法与系统 - Google Patents

可安全执行被加密程序的方法与系统 Download PDF

Info

Publication number
CN101286340A
CN101286340A CNA2008100909199A CN200810090919A CN101286340A CN 101286340 A CN101286340 A CN 101286340A CN A2008100909199 A CNA2008100909199 A CN A2008100909199A CN 200810090919 A CN200810090919 A CN 200810090919A CN 101286340 A CN101286340 A CN 101286340A
Authority
CN
China
Prior art keywords
encrypted
program
content
medium
host side
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
Application number
CNA2008100909199A
Other languages
English (en)
Other versions
CN101286340B (zh
Inventor
张治中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CYBERLINK SCIENCE AND TECHNOLOGY Co Ltd
Original Assignee
CYBERLINK SCIENCE AND TECHNOLOGY Co Ltd
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 CYBERLINK SCIENCE AND TECHNOLOGY Co Ltd filed Critical CYBERLINK SCIENCE AND TECHNOLOGY Co Ltd
Publication of CN101286340A publication Critical patent/CN101286340A/zh
Application granted granted Critical
Publication of CN101286340B publication Critical patent/CN101286340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明关于可安全执行被加密程序的方法与系统。在一系统中设置一安全的协同处理器对被加密程序进行解密以及执行的操作。由系统中一主机端自一含有被加密内容的盘片上取得一被加密程序,并接收该盘片上的被加密的内容,接着安全的协同处理器自该主机端接收该被加密的程序、利用一可执行指令集的处理单元对该程序解密、将该程序储存于一限定的随机存取存储器中并执行该程序以根据该被加密的内容产生一输出结果,最后由协同处理器将该产生的结果传送回主机端。利用系统中协同处理器以及系统中各元件间的传输通道,以提供一安全的环境执行被加密的程序。

Description

可安全执行被加密程序的方法与系统
技术领域
本发明涉及一种执行程序的方法与系统,尤其是涉及一种可安全执行被加密程序的方法与系统。
背景技术
随着数字多媒体内容的普及化,通过广播、缆线、随选视频、实体化的媒体装置以及其它各式各样的多媒体来源,消费者可以轻易取得为数可观的数字视频或音频内容。此外,目前多数的数字设备如个人计算机(PC)、DVD录放机等,更是允许使用者可任意针对这些视频或音频内容进行录制、随选欣赏、时间平移录像(time-shift)或再制。而随着因特网的蓬勃发展,如可发送视频服务的网络协议电视(Internet Protocol Television,IPTV)不仅提供了许多可下载的数字媒体内容,也是大量随手可得的视频内容来源。
目前大多数的视频内容多建立并储存为MPEG-1、MPEG-2或DV(数字视频)等格式,而这些视频格式也是相当普及的视频格式。同样地,音频内容多被建立并储存为MP3、WAV、或MPEG音频等格式。由于具有这些视频或音频格式的媒体文件多具高度可移植性,多媒体内容在众多规格的加持下,变得更容易流通及分享。
另外,现在也有多种多媒体内容格式,其可兼容于一般市面上常见的视频播放系统。由于DVD具有的高储存容量的特性,利用光盘作为储存介质的DVD标准规格也成了市面上的主流格式,也因此,有越来越多的数字视频或数字音频以高质量的格式储存,如高清晰度电影、电视节目、音乐节目影片等,皆相当普遍而广泛地以DVD格式流通于市面上。
而继DVD标准规格之后,目前至少有数种多媒体储存规格可望成为下一代数位多媒体的主流规格,其中有两种相当具竞争性的次世代光储存标准相当具有潜力,一为蓝光光盘(Blu-ray Disc),另一则为高清晰度数字视频光盘(High Definition Digital Video Disc,HD DVD)。如同其它新兴的规格,蓝光光盘除了提供超越DVD以及其它目前的光储存介质多样优势特性,例如大幅增加的储存容量以及高度的互动性(例如自订式盘片内容、无缝选单浏览、网络连接性等),蓝光光盘的架构更使得多媒体内容提供者在创制互动性商品时功能上几乎不受到限制。作者拥有完整的自由度来设计使用者操作接口,这样的操作接口让使用者仅需通过遥控器上标准的浏览按钮就可轻易控制多媒体内容的运作。综合而言,这些新一代的多媒体标准,如蓝光光盘或高清晰度数字视频光盘,让使用者对视频内容享有更高阶的控制能力以及互动性。
然而不幸的是,在科技不断发展而提升了多媒体内容的流通力的过程中,数字媒体(视频以及音频)作品遭到盗版再制的程度也逐年提升。对于像DVD之类的储存介质来说,虽然目前厂商使用了各式各样的防盗拷机制来遏止盗版的行为,但由于取得以及复制储存于DVD上的多媒体内容的能力也不断地在提升,盗版行为始终无法销声匿迹。即使对于新一代具有高互动特性的多媒体规格(如高清晰度数字视频光盘或蓝光光盘)来说,视频以及音频的剽窃也极有可能成为主要的问题。
为了抑制这些未经授权的多媒体内容复制以及散播行为,影音作品的出版商及作者必须寻求更高阶的技术来限制对这些数字内容的存取能力。其中数字权利管理(digital right management,DRM)便是一般用来对多媒体内容产生限制性存取的技术。数字权利管理是一种整合多样技术的保护措施,其中也包含了一种多媒体播放软件,所述多媒体播放软件可通过对多媒体内容加密的方式达到限制存取的目的。然而,利用软件应用程序来限制加密内容的存取存在着一个明显的问题:许多案例显示,这些应用程序仍可以轻易被取得且通过逆向工程被反编译。即使DVD上具有保护机制,使用者仍可找到许多方式来破解这些保护机制,其中一种方式便是利用修改商业DVD播放软件来破解一通常这些商业DVD播放软件具有将多媒体文件解密、解码后直接以串流写入的方式储存于计算机硬盘的能力。
尤其当个人计算机又是一种在开放环境中操作的平台时,要对如DVD播放软件一类的应用程序进行保护更是一大挑战。在某些情形下,软件程序代码可以自存储器中一受保护的区域被搬移到另一不受到保护的区域,然后再被解译以及分析,而就在这样的搬移过程中,某些嵌入在程序中较敏感的数据便有可能曝光。例如,整合DRM所需用到的加密密钥,便是用来以对多媒体内容进行保护的方式提供多媒体内容合法的传播方式,当这种高机密数据在搬移的过程中被取得甚至可被非法利用时,会给企业带来相当大的损失。通过适当的工具,这些储存于存储器区块中的加密密钥可轻易被分析检视,然后被用来以未经授权的方式存取其它被保护的内容。由此可知,已知利用储存于开放的存储器空间的软件应用程序来进行数据内容的保护有许多明显的瑕疵存在。
发明内容
本发明提供了一种可安全执行程序的系统以及执行方法。在其中一实施例中,可安全执行程序的系统包含有一主机端,用来读取一包含有被加密内容的介质(如盘片),以及用来储存一被加密程序,该被加密程序用来存取该盘片上的被加密内容。该系统还包含一安全的协同处理器,以可与该主机端传输数据的方式耦接于该主机端,用来接收该被加密程序、对该被加密程序解密以及执行该被加密程序、以及将该被加密程序产生的一输出结果传回至该主机端。
本发明的另一实施例提供了一种用来安全执行被加密程序的方法,该方法包含有自一主机端接收一被加密程序,该主机端用来储存该被加密程序以及用来读取一包含有被加密内容的介质(如盘片);接收该介质上的信息;在一安全的协同处理器上利用一处理单元对该被加密程序解密;将该被解密的程序储存于一限定的随机存取存储器(RAM),其中该随机存取存储器耦接于该处理单元且仅可由该处理单元进行存取;执行储存于该随机存取存储器的该被解密程序以产生一输出结果;以及将该输出结果传送至该主机端。
本发明的另一实施例提供了一种计算机可读介质,其储存有一计算机程序,该计算机程序用来自一主机端传送一被加密程序,该主机端用来储存该被加密程序以及用来读取一包含有被加密内容的介质(如盘片);传送该介质上的信息;利用一处理单元对该被加密程序解密;将该被解密程序储存于一限定的随机存取存储器(RAM),其中该随机存取存储器耦接于该处理单元且仅可由该处理单元进行存取;执行储存于该随机存取存储器的被解密程序以产生一输出结果;以及将该输出结果传送至该主机端。
附图说明
图1为本发明可安全执行一被加密程序的系统一实施例的方块示意图。
图2为本发明可安全执行一被加密程序的系统一实施例的流程示意图。
图3为本发明可安全执行一被加密程序的方法的一实施例的方块示意图。
图4为图1的系统实施例用来执行图3方法的另一实施例的流程示意图。
图5为AACS保护机制的示意图。
图6为图1的系统实施例用来执行图3方法的又一实施例的流程示意图。
图7为图1的系统实施例用来执行图3方法的又一实施例的流程示意图。
附图符号说明
100     播放系统              120,410,6l0,710主机端
122     中央处理器            124,214          存储器
                              140,222,412,
126     解码器区块                              协同处理器
                              612,712
142,224处理单元              144               解密器区块
146,226随机存取存储器        150               盘片
202     主机系统              204               处理器
206     输出入接口            208               网络接口
210,438,
        显示器                212               数据总线
620
216     操作系统              218               应用程序
220,414被加密程序            310-360           步骤
416     AACS密钥              418,426,428,434区块
420    盘片内容            422    视频/音频
424    盘片信息            430    密钥
614    数据                616    数据验证程序
6l8    水印
具体实施方式
通过所披露的图示,下文将详细地披露具体的实施方式。然而本发明的特征不因此限缩于这些实施例中。相反地,在本发明所披露的技术特征中,本文实施方式将尽可能涵盖所有等义的实施例以及变形等。
以下为本发明用来安全执行被加密程序的方法与系统的一实施例。如同在现有技术中提及的,传统的方法中有一个明显的缺陷是:由于个人计算机通常是一种在开放环境中操作的平台,当要进行程序的储存及执行时,程序中部分的程序代码可能需要自存储器中一受保护的区域被搬移到另一不受到保护的区域,然后再被解译以及分析。而在这过程中,程序里某些较敏感的数据(例如可存取DVD内容的解密密钥)便有可能曝光而且极易遭受非法存取、窜改。这是因为在多数情况下,「对计算机的存储器进行存取」这样的操作并未受到任何限制,因此通过适当的工具,这些储存于存储器区块中的加密密钥便可轻易被分析检视,然后一些人可利用这些加密密钥在未经授权的情形下存取其它受到保护的内容。
因此,本文所披露的系统的一实施例即通过对程序(例如多媒体播放软件)加密,然后将加密过的程序递送至一个安全的协同处理器作为暂存并执行,以解决前述已知的软件执行瑕疵。其中本发明所披露的可安全执行被加密程序的系统其中一实施例包含一主机端,可用来读取一包含有被加密内容的介质(如盘片)以及储存一被加密过的程序,其中该被加密过的程序可用来存取如盘片上的被加密内容。该实施例还包含一可靠安全的协同处理器,耦接于该主机端,并可与该主机端传输数据。该协同处理器主要用来接收该被加密过的程序、对该被加密的程序解密以及执行该被加密程序、以及将执行该程序所产生的一输出结果回传至该主机端。
在本发明的实施例中,该协同处理器可执行该程序的全部程序代码或仅执行该程序的一部分。举例来说,协同处理器可执行播放应用程序中用来产生密钥(密钥用来对盘片上的内容解密并产生一输出结果)的程序代码(此即为该应用程序的部分程序代码),而这些密钥接着被传送回该主机端,主机端再对盘片上的内容进行解密并输出。在本发明其它的实施例中,播放程序具有的其它功能,例如密钥的计算/产生以及解码的功能,也可全部由协同处理器来执行。前述密钥对盘片内容解密所产生的输出结果则包含了传送至一显示器上的视频/音频内容。为了确保这些被解密的内容能够在安全的环境中传送,系统可选择仅将该输出结果传送到一符合数字权利管理(digital right management,DRM)标准的设备(例如符合高频宽数字内容保护(High-bandwidth Digital Content Protection,HDCP)标准的设备),通过如数字视觉接口(Digital Visual Interface,DVI)或高清晰影音传输接口(High-Definition Multimedia Interface,HDMI)之类的连接接口对这些敏感数据提供一个安全的传输通道。
本实施例中所披露的协同处理器具备了可阻绝数据窜改以及防止未经授权存取的安全特性。例如,该协同处理器包含了一个可执行一指令集的处理单元,而该指令集仅可被该协同处理器辨识并执行,且本质上不是一般被公众所知悉或使用的指令集。而要特别说明的是,协同处理器中的处理单元并非仅具有处理该指令集的能力。最后,该协同处理器可另外包含一个限定(restricted access)的随机存取存储器(random access memory,RAM),而此随机存取存储器仅能与协同处理器的处理单元「沟通」。
请参考图1。图1描述了本发明用来安全执行被加密程序的系统一实施例的方块示意图。播放系统100可以接受并读取一盘片150的内容,而盘片150内包含有多媒体内容。在本发明的实施例中,盘片150可为数字多功能光盘(Digital Versatile Disc,DVD)、高清晰度数字视频光盘(HighDefinition Digital Video Disc,HD DVD)或蓝光光盘(Blu-ray Disc),且包含有高分辨率的视频数据。此外,盘片150本身也可以整合某些保护手段以防止对盘片150内容未经授权的复制或散布。举例来说,蓝光光盘以及高清晰度数字视频光盘一般具有数字权利管理(digital right management,DRM)标准的保护,而数字权利管理标准由先进内容存取系统的授权管理组织(Advanced Access Content System License Authority,AACS LA)所定义,其对多媒体内容广播方面提供了限制性存取的规范,因此数字权利管理的全部内容在此处被列为可供参考的内容。有关于对视频内容的加密以及解密的进一步信息,可以参考先进内容存取系统的网站http://www.aacsla.com。虽然本发明也可应用于其它格式的高密度光盘,此处所描述的实施例主要将着重于整合有先进内容存取系统(AACS)标准的盘片150。
盘片150的内容一般可分为两类:多媒体内容本身以及盘片150的卷信息(volume info)。在AACS的标准规范中,卷信息以媒体键值区块(mediakey block,MKB)的形式存在盘片150中,媒体键值区块可以允许相对应的播放器(例如受到AACS LA认证的媒体播放器)利用内嵌在播放器中的设备键值(device keys)计算出一″秘密″金钥(secret key)。本发明其中一个目的便是阻绝对内嵌在程序(播放器)中的设备键值未经授权的存取。在某些情况下,当设备键值遭受非法的入侵与窜改时,先进内容存取系统的授权管理组织(AACS LA)会立即撤销这些已建立好的设备键值,而在撤销这些设备键值之前,授权管理组织必须先掌握是哪一个设备键值已遭受破坏。然而在多数的案例中,攻击者可能只是私下″利用″这些设备键值而非散布给其它使用者使用,因此由授权管理组织来掌握追踪被破坏的设备键值实有相当的不可行性。
从计算器科学的上层观点来看,播放系统100可分为两个主要的部分:主机端120以及安全的协同处理器140。主机端120包含了一中央处理器122、一存储器124以及一解码器区块126,其中解码器区块126用来对已解密的内容进行解码。需注意的是,虽然解码器区块126出现在主机端120,在其它的实施例中,安全的协同处理器140也可包含一个解码器区块。而用来读取盘片内容的应用程序(如可读取高清晰度数字视频光盘(HD DVD)或蓝光光盘(Blu-ray Disc)的软件播放器)的部分程序代码则被加密并储存于主机端120的存储器124中,接着再被传送至协同处理器140,进行解密及执行。由于这些应用程序的部分程序代码可能包含可产生金钥的部分程序代码,因此必须在安全的协同处理器140上执行以确保其安全性。
安全的协同处理器140包含有一处理单元142、一解密器区块144以及一个限定的随机存取存储器146,其中处理单元142可为此领域中的技术人员所熟知的任何形式的中央处理单元,也可为一可执行一指令集的客制化处理单元,而这套指令集则定义了有关数据型态、指令集、缓存器、寻址模式或其它本领域技术人员所熟知处理单元可执行的处理模式。由于这套指令集本质上不是一般被公众所熟悉,因此可使得处理单元142具有更难被侵入占据而被利用来执行一些未经授权的操作(例如终止处理单元142正在执行的某些程序)的特性。解密器区块144可在被加密的程序被执行之前先行对该被加密程序解密,以及将解密后的程序储存于限定的随机存取存储器146中。为了确保未经授权的使用者无法自随机存取存储器146取得这些被解密的程序,随机存取存储器146只作为处理单元142专用的资源且仅允许来自处理单元142的存取操作。最后,主机端120以及安全的协同处理器140彼此间互相耦接在一起且可互相传送数据,而在协同处理器140内的程序所产生的输出结果可被传送回主机端120。
请参考图2,其为本发明可安全执行被加密程序的系统一实施例的流程示意图,而在其它实施例中,主机系统202可以被整合进某些计算装置中,而图1中的安全的协同处理器也可被整合进主机系统202内。例如在某些实施例中,主机端以及协同处理器222同时存在于个人计算机(personalcomputer,PC)的主机板上,而在其它实施例中,协同处理器222则设置在一个独立的板卡上(例如专门处理系统绘图功能的显示卡),然后再将板卡安装于个人计算机的扩充槽内,而协同处理器222则通过一总线与主机端通连。在主机端与协同处理器222间,可整合一安全手段(例如在数据的往来传输通道上使用加密的通讯协议)以确保安全性。
一般说来,主机系统202可以是任何一种具有有线及/或无线传输能力的计算器装置,例如台式计算机、便携式计算机、专属服务器计算机、多处理器计算器等等。在不特别将这些计算器装置个别的特殊设计考虑进来的情况下,主机系统202通常包含了一处理器204、多个输出入接口206、一网络接口208以及一显示器210,而这些元件都以数据总线212作为传输数据的通道。此外,本领域技术人员都能轻易了解到主机系统202通常另外包含了其它典型的元件,但此处不再赘述。显示器210可为一计算机监视器、等离子屏幕或液晶屏幕,若为增加安全性,显示器210也可以任何符合DRM架构(例如HDCP标准)的显示设备实施,以对数字视频/音频内容在各种不同的传输通道中提供安全的保护。
处理器204可为一客制化的处理器或目前市面上通用的各种形式的处理器、中央处理单元(CPU)或在主机端202中的多个处理器间的一个辅助处理器、微处理器(微芯片)、巨量处理器(macroprocessor)、一个或多个量产订制芯片(application specific integrated circuits,ASICs)、多个适配数字逻辑门(suitably configured digital logic gates)、以及其它常见的以分离或组合的形式整合入计算器系统的电路元件。
存储器214可为易失性存储元件(如动态随机存取存储器(dynamicrandom access memory,DRAM)或静态随机存取存储器(static random accessmemory,SRAM)之类的随机存取存储器)或非易失性存储元件(如只读存储器(read-only memory,ROM)、硬盘、磁带或光盘片等)的任何一种或任意组合。存储器214可储存本地端的操作系统216、一个或多个本地端的应用程序、仿真系统、适用不同操作系统或硬件平台的仿真应用程序或仿真操作系统等。举例而言,应用程序即包含了一个与安全的协同处理器222沟通的特定应用程序218。此外,本领域技术人员都能轻易了解存储器214通常另外会储存其它典型的元件,但此处也不再赘述。
图2中的应用程序218可为用来播放不同格式盘片(如高清晰度数字视频光盘或蓝光光盘)的软件播放器,而当应用程序218以软件的形式存在时,其可被储存在各种可被使用在多种不同计算器系统或方法的计算机可读介质(computer-readable medium)上。在本文的内容中,这些计算机可读介质包含了利用电子、磁性、光学或其它物理方式来储存计算机程序的装置或器材,这些计算机程序也可被使用在多种不同计算器系统或方法上。至于操作的接口也可内嵌于各种不同的计算机可读介质内,这些介质则可被使用在一种指令执行系统、设备、装置,例如计算器系统、内含处理器的系统或可以自这些指令执行系统、设备或装置撷取指令并执行指令的系统。
在本文所披露的内容中,前述「计算机可读介质」可储存、传递、散布可被使用在一种指令执行系统、设备、装置的程序。而计算机可读介质可为(但不受限于)电子、磁性、光学、电磁、红外线、或半导体系统、设备、装置或其它增生介质。关于计算机可读介质更多的例子(并非一份完整的清单)还可包含:具有一或多条缆线的电力连接设备(电子类)、便携式计算器磁盘(磁性类)、随机存取存储器(电子类)、只读存储器(电子类)、可擦除可程序化只读存储器(EPROM,EEPROM,or Flash memory)(电子类)、光纤(光学类)以及便携式光盘(CDROM)(光学类)。
输出入接口206包含了数量不等用来输出以及输入数据的接口。举例来说,主机系统202假如是一个人计算机,在系统内的元件便需要以键盘或鼠标作为使用者输入装置。主机系统202也可包含一个网络接口208以通过网络传送或接收加密过的多媒体内容。在不限缩范围的情形下,该网络接口208也可包含调变器/解调器、无线传输器(例如无线射频发射器)、电信接口、桥接器、路由器、网络卡等等。
图2中的应用程序218包含了被加密程序220。被加密的程序220可为应用程序218的部分程序代码,其包含可用来计算出卷键值(volume key)的设备键值(device key),而卷键值则可对盘片上被加密的内容进行解密操作。被加密的程序220可被传送至安全的协同处理器222以被安全的解密以及执行。如先前所提及的,安全的协同处理器222可设置于一个独立的板卡上(例如专门处理系统绘图功能的显示卡),然后被安装入计算机的扩充槽以便与主机系统202通连。在图2中,安全的协同处理器222可通过数据总线212与主机系统202通连,而在主机系统202与协同处理器222间,可整合一安全手段(例如在数据的往来传输通道上使用加密的通讯协议)以确保安全性。
安全的协同处理器222包含了一个处理单元224。处理单元224可为一客制化的处理器或目前市面上通用的各种形式的处理器、中央处理单元(CPU)或在数个处理器间的一个辅助处理器、微处理器(微芯片)、巨量处理器(macroprocessor)、一个或多个量产订制芯片(application specificintegrated circuits,ASICs)、多个适配数字逻辑门(suitably configureddigital logic gates)、以及其它常见的以分离或组合的形式整合入计算器系统的电路元件。特别需注意的是,在这些实施例中,处理单元224需能执行一个指令集以减少被侵入的可能。
安全的协同处理器222另包含了一个限定的随机存取存储器226。随机存取存储器226可为易失性存储元件(如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的类的随机存取存储器)或非易失性存储元件(如只读存储器(ROM)、硬盘、磁带或光盘片等)的任何一种或组合。随机存取存储器226可储存被解密过的程序220。在本发明较佳实施例中,限定的随机存取存储器226在安全的协同处理器222内必须仅能被处理单元224存取。
请参考图3,图3为本发明可安全执行被加密程序的方法一实施例的流程图。在步骤310中,自一主机端接收一被加密程序,该主机端用来储存该被加密程序以及用来读取一包含有被加密内容的盘片。接着在步骤320中,接收储存于该盘片上的信息。这些信息可在稍后被用来进行某些工作,例如计算出密钥。在某些实施例中,这些信息包含了盘片上的特定信息,而在其它的实施例中,这些信息更可包含实际储存于盘片上的多媒体内容(例如高分辨率视频)。在步骤330中,在步骤310中所接收的被加密程序接着在安全的协同处理器上进行解密。在执行之前,被解密后的程序先储存于限定的随机存取存储器中,这是步骤340,其中使用限定的随机存取存储器是为了防止对内嵌在程序的敏感信息未经授权存取的安全措施之一。接着在步骤350中,执行被解密的程序以产生一输出结果。在部分实施例中,该输出结果可仅包含在执行程序的过程中计算而得的密钥,而在其它实施例中,该输出结果也可包含实际储存在盘片上的视频/音频内容。最后,该输出结果被传送回主机端(步骤360)。该输出结果内含的密钥可被该主机端用来对储存于盘片上的标题内容(title content)进行解密,另外需注意的是,若该输出结果包含了视频/音频内容,该视频/音频内容可以被输出至一整合有DRM安全措施的输出设备(例如具有针对数字数据提供安全传输通道的符合HDCP标准的设备)。需注意的是,虽然在上述实施例中,被加密内容存在盘片中,然于本领域技术人员都知此仅为一实施态样,被加密内容当然可以储存在盘片以外的多种电子产物中。
请参考图4,图4为图1的系统用来执行图3方法的另一实施例一详细的数据流示意图。在接下来所用来说明的图4到图6的实施例仅为可能的实作方式之一,其它可能的变化态样在不偏离本发明主要精神的原则下,也可用来作为图4至图6的实施例。主机端410可读取一包含可视内容的盘片(例如蓝光光盘、高清晰度数字视频光盘、数字多功能光盘)。盘片内容420包含有盘片信息424以及视频/音频422(例如高分辨率视频)储存于主机端410的一被加密程序414被递送到安全的协同处理器412以对程序进行安全的解密及执行操作(区块418、区块426)。在某些实施例中,像AACS密钥416(其为受到先进内容存取系统的授权管理组织(AACS LA)认证的密钥)一类的敏感数据被内嵌于该被加密程序414内。在可能发生对多媒体内容未经授权散布的情形下,包含有AACS密钥416的程序414是被加密过的。
接着解密的过程可由如图1处理单元142来进行。在解密程序414时,程序414储存于限定的随机存取存储器146中。在执行程序414之前,盘片内容420必须先被传送至安全的协同处理器412,程序414再依据盘片内容420产生一输出结果。在某些实施例中,盘片内容424包含在AACS的标准规范下的媒体键值区块(media key block,MKB),如先前所描述的,媒体键值区块(MKB)可以允许相对应的播放器(例如受到AACS LA认证的播放器)利用内嵌在程序中的设备键值计算出一″秘密″金钥(secret key)。
接着请参考图5。图5显示了AACS保护机制的示意图。AACS机制利用先进加密标准(Advanced Encryption Standard,AES)来加密一个或多个标题键值(title keys)下的内容。这些标题键值由媒体键值(media key)以及其它数据(如该盘片的卷识别码)的组合所导衍出来,即使一个未经授权的使用者试图窜改系统,以自系统中取得其中一个标题键值,该使用者也仅可能只解密出内容的一小部分。虽然符合AACS标准的实际解密过程并非本文所讨论的主要范畴,此处仍要强调这些用来执行符合AACS标准的密钥计算的程序是完全受到加密处理且对于未经授权的窜改与监视具有完全的保护。
请再参考图4。程序414在协同处理器412中被执行而产生密钥(如区块428)。密钥430接着被传送回主机端410以对盘片上的标题内容进行解密。在稍后的讨论中会提到,对内容本身解密及解码的过程(区块434)可依据不同的应用方式而在主机端410或协同处理器412上执行。为了减少系统的复杂度,安全的协同处理器412可以将对内容解密以及解码的工作卸载给主机端410使系统保留有较多的计算资源。最后,内容436再被输出至一显示器,如显示器438中。
图6为图1的系统用来执行图3的又一实施例的方法一详细的数据流示意图。为了增加安全性,本发明某些实施例在程序被执行之前可要求先执行一些中间步骤。在被加密的程序被传送至安全的协同处理器612以进行解密的后,数据614可自主机端610被传送至安全的协同处理器612,在协同处理器612执行被解密后的程序之前,数据614必须先经过验证。在本发明某些实施例中,数据614包含相当大量的预定数据,例如100MB以上或同等数量级的数据,这样使得未经授权的使用者在窜改系统时,必须同时先行下载这么大量的数据,因此可以有效吓阻未经授权的使用者。在接收到大容量的数据614后,安全的协同处理器612便可执行数据验证的程序616。例如,数据验证程序616可以仅计算数据614的校验和(checksum)并将计算出来的校验和与储存在被加密程序内一数值做比较,假如这两个数值不相同,则安全的协同处理器612将不执行该程序。
为了增加安全性,在安全的协同处理器612对被加密的程序进行解密以及接收大容量数据614的同时,在这些验证程序于背景执行时,显示器620可显示程序授权信息,例如为以水印618显示某些厂商的商标,一旦有未经授权的使用者尝试着要非法存取或散布程序时,可提醒使用者该程序的所有者的正当性。
图7为图1的系统用来执行图3的又一实施例的方法一详细的数据流示意图。先前简要地描述过,对内容本身解密以及解码的过程可依据不同的应用方式在安全的协同处理器712或在主机端710上执行。为了减少系统的复杂度,安全的协同处理器712可以将对内容解密以及解码的工作卸载给主机端710使系统保留有较多的计算资源。在某些实施例中,安全的协同处理器712可被设置于一独立的板卡上(例如专门处理系统绘图功能的显示卡),然后再将板卡安装于个人计算机的扩充槽内。为了进一步降低设计上的成本以及复杂度,对内容的解密以及解码的过程可直接在主机端710(例如一个人计算机)上执行。而为了考虑到系统具有最高的安全性,对内容最终的解密以及解码的操作也可以由安全的协同处理器712来执行并输出。该输出可通过一安全的接口(例如HDCP标准)直接连接于安全的协同处理器712。而对于直接在主机端710上对内容进行解密以及解码的实施例来说,安全的协同处理器712还可进一步监控主机端710上未经授权的存取。
本发明所披露的系统及方法也可再整合其它安全防护的手段。举例来说,安全的协同处理器可包含一独立的外部时钟器来监控程序的执行。在某些情形下,未经授权的使用者会试图在程序读取数据时通过搁置(suspending)程序的执行来取得被保护的程序,而独立的时钟器便可做为一参考指标,当该时钟器在执行过程中有任何被更动的记录时,便可据以判定程序遭受到搁置的状况并加以进行保护。
安全的协同处理器还可具备存储器监控的特性,以确保程序代码/数据不会被更改。一旦未经授权的存取被检测到时,安全的协同处理器可以设置成自动删除掉任何该程序已经产生的输出结果(例如,前述所提到的密钥)。
本发明通过在一系统中设置一安全的协同处理器以对被加密程序进行解密以及执行的操作。由系统中一主机端自一含有被加密内容的盘片上取得一被加密程序,并接收该盘片上的被加密的内容,接着安全的协同处理器自该主机端接收该被加密的程序、利用一可执行指令集的处理单元对该程序解密、将该程序储存于一限定的随机存取存储器中并执行该程序以根据该被加密的内容产生一输出结果,最后由协同处理器将该产生的结果传送回主机端。利用系统中协同处理器以及系统中各元件间的传输通道,以提供一安全的环境执行被加密的程序。
需注意的是,虽然在实施例中,被加密内容存在盘片中,然而本领域技术人员都知此仅为一实施态样,被加密内容当然可以储存在盘片以外的多种电子产物中。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (19)

1.一种执行被加密的程序的方法,其包含有:
自一主机端接收一被加密程序,该主机端用来储存该被加密程序以及用来读取一包含有被加密内容的介质;
接收该介质上的信息;
在一安全的协同处理器上利用一处理单元对该被加密程序解密;
将该被解密的程序储存于一限定的随机存取存储器,其中该随机存取存储器耦接于该处理单元且仅可由该处理单元进行存取;
执行储存于该随机存取存储器的该被解密程序以产生一输出结果;以及
将该输出结果传送至该主机端。
2.如权利要求1所述的方法,其中接收该介质上的信息是接收一盘片上的信息。
3.如权利要求1所述的方法,还包含利用该输出结果以解密储存于该介质上的被加密内容。
4.如权利要求1所述的方法,其中产生该输出结果包含利用内嵌于该程序的一设备键值,由自该介质上接收的信息中计算得出一密钥。
5.如权利要求1所述的方法,其中产生该输出结果包含:
自该主机端接收一预定数量的数据;
计算该接收数据的校验和以验证该接收数据;以及
在该接收数据经验证有效时,利用内嵌于该加密程序的一设备键值以自该介质上的数据计算得出一密钥。
6.如权利要求4所述的方法,其中产生该输出结果还包含利用该密钥解密储存于该介质的内容。
7.如权利要求3所述的方法,还包含:
监控利用该输出结果以解密储存于该介质上的被加密内容的步骤,当利用该输出结果以解密储存于该介质上的被加密内容的步骤被搁置时,自动删除该输出结果。
8.一种用来安全执行程序的系统,其包含有:
一主机端,用来读取一包含有被加密内容的介质,以及用来储存一被加密程序,该被加密程序用来存取该介质上的被加密内容;以及
一安全的协同处理器,以可与该主机端传输数据的方式耦接于该主机端,用来接收该被加密程序、对该被加密程序解密以及执行该被加密程序、以及将该被加密程序产生的一输出结果传回至该主机端。
9.如权利要求8所述的系统,其中该介质为一盘片。
10.如权利要求8所述的系统,其中该输出结果包含至少一密钥,该主机端利用该密钥以对储存于该介质的被加密内容解密。
11.如权利要求8所述的系统,其中该输出结果包含该介质中被该安全的协同处理器解密以及解码过的内容。
12.如权利要求8所述的系统,其中该被加密程序包含一设备键值,用来计算以得出至少一密钥,该密钥包含一被传送至该主机端的卷键值,该主机端利用该卷键值以对储存于该介质的被加密内容解密。
13.如权利要求8所述的系统,其中该安全的协同处理器包含一处理单元以及耦接于该处理单元的一限定的随机存取存储器,其中该随机存取存储器用来储存该被解密程序且该随机存取存储器仅可由该处理单元进行存取。
14.如权利要求13所述的系统,其中该安全的协同处理器的该处理单元用来执行一指令集。
15.如权利要求8所述的系统,其中该被加密程序整合先进内容存取系统标准以散布内容,其中内嵌于该被加密程序的一设备键值被该安全的协同处理器用来自该介质取得信息并产生一被加密的卷键值,其中该卷键值用来对该介质上的内容解密。
16.如权利要求8所述的系统,其中:
该安全的协同处理器用来自该主机端接收一预定数量的数据;
该程序用来计算该接收数据的校验和,以验证该接收数据;
当该校验和符合内嵌于该被加密程序的校验和时,该被加密程序才用来继续执行;以及
当该校验和不符合内嵌于该被加密程序的校验和时,该被加密程序用来停止执行并拒绝存取储存于该介质的内容。
17.如权利要求15所述的系统,其中当该主机端符合高频宽数字内容保护标准时,该安全的协同处理器才产生该卷键值。
18.如权利要求8所述的系统,其中该安全的协同处理器另外用来对该介质上的被加密内容解密以及用来将该内容传输至一显示器,其中该内容的传输过程符合高频宽数字内容保护标准。
19.如权利要求12所述的系统,其中该安全的协同处理器用来监控该主机端对储存于该介质上的被加密内容解密的过程,当该安全的协同处理器在解密过程中检测到该主机端被搁置时,该安全的协同处理器用来删除该主机端用来解密内容的该输出结果。
CN2008100909199A 2007-04-11 2008-04-01 可安全执行被加密程序的方法与系统 Active CN101286340B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/733,842 US8181038B2 (en) 2007-04-11 2007-04-11 Systems and methods for executing encrypted programs
US11/733,842 2007-04-11

Publications (2)

Publication Number Publication Date
CN101286340A true CN101286340A (zh) 2008-10-15
CN101286340B CN101286340B (zh) 2011-01-12

Family

ID=39853725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100909199A Active CN101286340B (zh) 2007-04-11 2008-04-01 可安全执行被加密程序的方法与系统

Country Status (4)

Country Link
US (1) US8181038B2 (zh)
JP (1) JP4856021B2 (zh)
CN (1) CN101286340B (zh)
TW (1) TWI344640B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424441A (zh) * 2013-08-21 2015-03-18 恩智浦有限公司 处理系统
CN107580765A (zh) * 2015-01-27 2018-01-12 艾锐势有限责任公司 用于保护流媒体和其它数据流的混淆

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839002B2 (en) * 2008-04-23 2014-09-16 Cyberlink Corp. Optical media recording device for protecting device keys and related method
EP2400420A1 (en) * 2010-06-28 2011-12-28 Thomson Licensing Method, system and secure processor for executing a software application
TWI421724B (zh) * 2010-10-28 2014-01-01 Chunghwa Telecom Co Ltd 數位資訊權限管理方法
US9197407B2 (en) 2011-07-19 2015-11-24 Cyberlink Corp. Method and system for providing secret-less application framework
KR101907934B1 (ko) * 2012-02-16 2018-10-15 삼성전자주식회사 전자 장치에서 컨텐츠를 재생하기 위한 장치 및 방법
KR101930864B1 (ko) * 2012-02-16 2019-03-11 삼성전자주식회사 디바이스 인증을 이용한 디지털 콘텐츠 보호 방법 및 장치
WO2015045172A1 (ja) * 2013-09-30 2015-04-02 富士通株式会社 情報処理装置及び情報処理方法
KR101566882B1 (ko) * 2014-02-07 2015-11-06 (주)이글로벌시스템 암호화된 데이터베이스 모니터링과, 대량 복호화 차단을 위한 시스템 및 그 방법
KR101566145B1 (ko) * 2014-10-23 2015-11-06 숭실대학교산학협력단 모바일 기기 및 상기 모바일 기기의 동작 방법
KR101834504B1 (ko) * 2016-01-15 2018-03-06 단국대학교 산학협력단 암복호화 장치 및 방법
KR101834522B1 (ko) 2016-04-22 2018-03-06 단국대학교 산학협력단 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
EP3293653A1 (en) * 2016-09-09 2018-03-14 Nagravision S.A. A system for decrypting and rendering content
CN111859417B (zh) * 2020-06-23 2024-03-29 天地融科技股份有限公司 一种安全显示控制的方法及装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0175487A3 (en) * 1984-08-23 1989-03-08 Btg International Limited Software protection device
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4916738A (en) * 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JP2001043139A (ja) * 1999-07-29 2001-02-16 Pioneer Electronic Corp 信号処理装置及びそれに用いる情報記録媒体
JP2003520355A (ja) 2000-01-13 2003-07-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 原ソースから離れた後の圧縮コンテンツ保護
JP2001265744A (ja) * 2000-03-17 2001-09-28 Sony Corp データ処理装置及びデータ処理方法
JP2001338271A (ja) * 2000-03-23 2001-12-07 Matsushita Electric Ind Co Ltd Icカード及びicカード利用システム
JP2002247528A (ja) * 2001-02-19 2002-08-30 Funai Electric Co Ltd 画像再生装置
JP2003008567A (ja) 2001-06-19 2003-01-10 Matsushita Electric Ind Co Ltd 著作権保護システム
US7203319B2 (en) * 2001-07-09 2007-04-10 Qualcomm, Inc. Apparatus and method for installing a decryption key
KR20040039443A (ko) * 2001-09-27 2004-05-10 마쯔시다덴기산교 가부시키가이샤 암호화 장치, 복호화 장치, 비밀 키 생성 장치, 저작권보호 시스템, 및 암호 통신 장치
JP2003256061A (ja) 2002-03-04 2003-09-10 Matsushita Electric Ind Co Ltd 組込み機器
JP3964733B2 (ja) 2002-05-15 2007-08-22 富士フイルム株式会社 撮像装置及び画像データ受渡方法
JP4084974B2 (ja) * 2002-08-20 2008-04-30 株式会社ケンウッド データ記録システム、データ記録装置、データ記録方法及びプログラム
US20040190721A1 (en) * 2003-03-24 2004-09-30 Microsoft Corporation Renewable conditional access system
JP4375995B2 (ja) * 2003-04-30 2009-12-02 ローム株式会社 デバイス鍵保護方法およびその方法を利用可能な暗号化装置と復号装置ならびに映像送信装置と映像受信装置
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
KR101037006B1 (ko) * 2003-11-28 2011-05-25 파나소닉 주식회사 데이터 처리장치
KR100556829B1 (ko) * 2003-12-26 2006-03-10 한국전자통신연구원 세션키를 이용한 유료방송 서비스 제공 방법
US20060047976A1 (en) * 2004-08-25 2006-03-02 General Instrument Corporation Method and apparatus for generating a decrpytion content key
JP4592398B2 (ja) 2004-11-22 2010-12-01 株式会社東芝 情報記録再生方法及び装置、情報記録媒体
CN1288527C (zh) * 2005-01-10 2006-12-06 北京太极英泰信息科技有限公司 计算机安全控制装置及其安全保护控制方法
US7546471B2 (en) * 2005-01-14 2009-06-09 Microsoft Corporation Method and system for virus detection using pattern matching techniques
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
JP4596247B2 (ja) 2005-01-31 2010-12-08 ソニー株式会社 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム
JP4600750B2 (ja) * 2005-01-31 2010-12-15 ソニー株式会社 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム
JP4606339B2 (ja) * 2005-02-07 2011-01-05 株式会社ソニー・コンピュータエンタテインメント セキュアなプロセッサの処理の移行を実施する方法および装置
DE602005010428D1 (de) * 2005-08-04 2008-11-27 Dibcom Verfahren, Vorrichtung und Computerprogramm zur Datenentschlüsselung
JP2007089056A (ja) * 2005-09-26 2007-04-05 Funai Electric Co Ltd 機器の遠隔制御システムおよび光信号発信装置
KR100662464B1 (ko) * 2005-09-28 2007-01-02 엘지전자 주식회사 멀티미디어 단말기
ATE465460T1 (de) * 2005-10-31 2010-05-15 Nero Ag Hardware-multimedia-endpunkt und personal computer
US20070110408A1 (en) * 2005-11-14 2007-05-17 Chi-Lun Chang Device for displaying boot animation of optical disc player and method thereof
US20070126555A1 (en) * 2005-12-06 2007-06-07 Symbol Technologies, Inc. Method and system for optimizing radio frequency identification (RFID) reader operation
US20070162964A1 (en) * 2006-01-12 2007-07-12 Wang Liang-Yun Embedded system insuring security and integrity, and method of increasing security thereof
US7660769B2 (en) * 2006-09-12 2010-02-09 International Business Machines Corporation System and method for digital content player with secure processing vault

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424441A (zh) * 2013-08-21 2015-03-18 恩智浦有限公司 处理系统
CN104424441B (zh) * 2013-08-21 2018-05-18 恩智浦有限公司 处理系统
CN107580765A (zh) * 2015-01-27 2018-01-12 艾锐势有限责任公司 用于保护流媒体和其它数据流的混淆

Also Published As

Publication number Publication date
JP4856021B2 (ja) 2012-01-18
CN101286340B (zh) 2011-01-12
TW200841329A (en) 2008-10-16
JP2008263577A (ja) 2008-10-30
TWI344640B (en) 2011-07-01
US8181038B2 (en) 2012-05-15
US20080253563A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
CN101286340B (zh) 可安全执行被加密程序的方法与系统
US8280818B2 (en) License source component, license destination component, and method thereof
AU2012281313B2 (en) Method and apparatus for using non-volatile storage device
US20060059105A1 (en) Move component, program, and move method
EP1630998A1 (en) User terminal for receiving license
US8694799B2 (en) System and method for protection of content stored in a storage device
US8837908B2 (en) Systems and methods for performing secure playback of media content
US20060069652A1 (en) Copy component, program and method thereof
CN101578608B (zh) 用于基于会话票证存取内容的方法及设备
US20150310189A1 (en) Encryption method for digital data memory card and assembly for performing the same
US20060059101A1 (en) Reproduction component, program and method thereof
US20060059103A1 (en) Return component, program, and return component method
US20090217055A1 (en) Apparatus and Method for Preventing Unauthorized Copying
CN100364002C (zh) 读或写用户数据的设备和方法
CN101123105B (zh) 宿主装置和系统
US20090175445A1 (en) Electronic Device, Home Network System and Method for Protecting Unauthorized Distribution of Digital Contents
US7805753B2 (en) System and method for optical medium region protection
CN101617318A (zh) 用于将内容与许可证链接的方法及设备
KR100695442B1 (ko) 로컬 시스템에 암호화된 컨텐츠를 제공하는 로컬 컨텐츠제공 시스템의 동작 방법 및 상기 방법을 채용한 로컬컨텐츠 제공 시스템
US20220398202A1 (en) Structure and method for digital data memory card encryption
Hirai A Study on Access Control Mechanism in Storage Devices for Audiovisual Contents
KR20080085980A (ko) 보안 뷰어 유에스비메모리스틱
CN102144402A (zh) 用于管理数字版权管理模块的方法和设备
KR20140129694A (ko) Drm 방식으로 암호화된 멀티미디어 컨텐츠를 재생하는 단말 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant