CN102385679A - 装置、方法和程序 - Google Patents
装置、方法和程序 Download PDFInfo
- Publication number
- CN102385679A CN102385679A CN2011102516478A CN201110251647A CN102385679A CN 102385679 A CN102385679 A CN 102385679A CN 2011102516478 A CN2011102516478 A CN 2011102516478A CN 201110251647 A CN201110251647 A CN 201110251647A CN 102385679 A CN102385679 A CN 102385679A
- Authority
- CN
- China
- Prior art keywords
- handle
- buffer positions
- medium
- component software
- buffer
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000000872 buffer Substances 0.000 claims abstract description 98
- 230000007246 mechanism Effects 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 239000002609 medium Substances 0.000 description 53
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000006887 os medium Substances 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
-
- 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/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了装置、方法和程序。描述了一种利用第一软件组件和第二软件组件来处理媒体的方法。在该方法中,第一软件组件可操作来将数据写入第一缓冲器并且第二软件组件可操作来从第一缓冲器读取数据,该方法包括:利用第一软件组件处理媒体;确定与第一缓冲器位置不同的第二缓冲器位置;将经处理媒体存储在第二缓冲器位置中;生成经模糊句柄,其中,句柄标识第二缓冲器位置;将经模糊句柄存储在第一缓冲器位置处;以及在第二软件组件中利用解析机制来解析经模糊句柄,并且响应于对经模糊句柄的解析,从由句柄标识的第二缓冲器位置取回经处理媒体。
Description
技术领域
本发明涉及装置、方法和程序。
背景技术
媒体通常在计算机上被再现。为了在计算机上再现和回放媒体,许多不同类型的软件被使用。这些软件与在计算机中使用的不同操作系统(OS)交互来回放媒体。一种这样的软件是在OS中使用的并且由开发的DirectShow框架。
随着越来越多地使用计算机系统来观看媒体,无道德用户对内容的未授权观看和拷贝的量也相应地增加。为了确保内容制作者和提供者的知识产权得到保证,可利用防篡改技术来控制计算机上媒体的使用。然而,一些电脑黑客试图利用不同的黑客技术来规避防篡改技术。
本发明致力于使得在回放媒体时电脑黑客更加难以规避防篡改技术。
发明内容
根据本发明的第一方面,提供了一种利用第一软件组件和第二软件组件来处理媒体的方法,其中,第一软件组件可操作来将数据写入第一缓冲器并且第二软件组件可操作来从第一缓冲器读取数据,该方法包括:利用第一软件组件处理媒体;确定与第一缓冲器位置不同的第二缓冲器位置;将经处理媒体存储在第二缓冲器位置中;生成经模糊句柄,其中,句柄标识第二缓冲器位置;将经模糊句柄存储在第一缓冲器位置处;以及在第二软件组件中利用解析机制来解析经模糊句柄,并且响应于对经模糊句柄的解析,从由句柄标识的第二缓冲器位置取回经处理媒体。
第二缓冲器位置可以在连续的经处理媒体之间动态地被确定。
在连续的经处理媒体之间的第二缓冲器位置可以是非邻接的。
经模糊句柄可以是经加密指针。
该解析机制可以包括:生成多个随机数;将每个随机数与多个解密密钥相关联,从而经加密指针利用经关联的解密密钥之一被解密;以及将与用来加密指针的加密密钥所对应的解密密钥相关联的随机数提供给第二软件组件。
随机数可以利用与用来加密指针的加密密钥不同的加密密钥被加密,其中,第二软件组件在解析句柄之前对经加密随机数进行解密。
该方法还可以包括:利用第二软件组件来处理从第二缓冲器位置取回的媒体,将从第二软件组件输出的经处理媒体存储在与第一缓冲器位置和第二缓冲器位置不同的第三缓冲器位置中;并且再现存储在第三缓冲器位置处的媒体。
第一组件和第二组件可以被布置在框架结构中。
第一组件和第二组件可以是DirectShow软件组件。
根据另一方面,提供了一种包含计算机可读指令的计算机程序,当计算机可读指令被载入计算机上时,将计算机配置为执行根据本发明的任一实施例的方法。
还设想了一种存储介质,被配置为将计算机程序存储在其中或其上。
根据本发明的另一方面,提供了一种装置,包括第一缓冲器和第二缓冲器以及处理器,处理器可操作来利用第一软件组件和第二软件组件处理媒体,其中,第一软件组件可操作来将数据写入第一缓冲器并且第二软件组件可操作来从第一缓冲器读取数据,其中,处理器可操作来:利用第一软件组件来处理媒体;确定与第一缓冲器位置不同的第二缓冲器位置;将经处理媒体存储在第二缓冲器位置中;生成经模糊句柄,其中,句柄标识第二缓冲器位置;将经模糊句柄存储在第一缓冲器位置处;以及在第二软件组件中利用解析机制来解析经模糊句柄,并且响应于对经模糊句柄的解析,从由句柄标识的第二缓冲器位置取回经处理媒体。
第二缓冲器位置可以在连续的经处理媒体之间动态地被确定。
在连续的经处理媒体之间的第二缓冲器位置可以是非邻接的。
经模糊句柄可以是经加密指针。
处理器可操作来使得该解析机制可以包括:生成多个随机数;将每个随机数与多个解密密钥相关联,从而经加密指针利用经关联的解密密钥之一被解密;以及将与用来加密指针的加密密钥所对应的解密密钥相关联的随机数提供给第二软件组件。
随机数可以利用与用来加密指针的加密密钥不同的加密密钥被加密,其中,第二软件组件在解析句柄之前对经加密随机数进行解密。
该处理器可操作来利用第二软件组件来处理从第二缓冲器位置取回的媒体,将从第二软件组件输出的经处理媒体存储在与第一缓冲器位置和第二缓冲器位置不同的第三缓冲器位置中;并且再现存储在第三缓冲器位置处的媒体。
第一组件和第二组件可以被布置在框架结构中。
第一组件和第二组件可以是DirectShow软件组件。
附图说明
从下面结合附图阅读的对说明性实施例的详细描述中将清楚本发明的以上和其它目的、特征和优点,在附图中:
图1示出了根据本发明实施例的计算机程序在其上运行的计算机系统;
图2示出了说明计算机上的媒体的显示的流程图;
图3示出了说明用于在计算机上显示媒体的传统方法的示图;
图4示出了说明根据本发明实施例的用于在计算机上显示媒体的方法的示图;以及
图5示出了描述图4的方法的流程图。
具体实施方式
参考图1,示出了具有计算机120和显示器115的计算机系统100。为了控制计算机120,用户操作诸如鼠标110和/或键盘105之类的用户输入设备。计算机120具有存储介质。该存储介质可以是内部或外部硬盘或者可以是半导体存储器等。在存储介质上不仅存储了用来操作计算机120的OS,而且还存储了将在显示器115上显示给用户的媒体。然而,设想的本发明不限于此并且可以与OS分开地存储媒体。为了节省存储空间,通常以预定格式对媒体进行编码。例如,用于音乐的.mp3格式和用于MPEG格式的视频都是流行的。另外,为了保护内容,经编码媒体通常以加密形式被存储。这意味着存储了媒体的存储介质存储的是经编码经加密的媒体内容。
在具体实施例中,计算机系统是运行Windows OS的个人计算机。然而,本发明不限于此并且计算机系统可以是任何类型的计算机设备,例如,膝上型电脑、个人音频设备、移动(蜂窝)电话等。实际上,OS可以是任何类型的适当OS,例如Linux,或者可以是适合于计算机设备的任何类型的OS,例如如果设备是移动电话则可以是Android。
参考图2,用户标识他们希望观看的媒体。该标识可以通过在位于显示器115上的某个图标上点击鼠标110。当用户标识媒体时,OS运行媒体观看过程S200。这在图2中被简要说明。
如果计算机系统100的用户想要播放诸如视频或音乐之类的媒体内容,则用户将利用鼠标110来高亮显示器115上的该媒体内容。用户然后请求计算机系统播放该媒体。这通常是通过在作为媒体的表示的图标上双击鼠标来完成的。OS打开适当程序(例如,由开发的Windows Media)并且向该程序发送用于标识要播放的媒体的请求。这发生在步骤S205中。
在此情况中,在步骤S210中该程序启动DirectShow框架。虽然后面将更详细地说明DirectShow框架,然而DirectShow框架的目的是从存储介质取回适当的经编码经加密媒体,解密该媒体,解压缩/解码该经加密媒体,并且渲染内容以用于将内容显示给用户S215。内容通常由DirectShow框架取回并且由使用DirectShow框架的软件来显示。
DirectShow框架由各自负责不同任务的多个不同框架组件组成(称作过滤器)。通常,过滤器(filter)具有输入和/或输出,尽管过滤器可以没有输入或没有输出。在适用的时候,这些输入和输出被称为管脚。过滤器从前一过滤器接收内容并且对内容执行相关任务。已被处理的该媒体然后被传递到其输出管脚,在该输出管脚处,其被传递给后一过滤器。这里应注意,在实施例中,过滤器被实现为计算机软件组件,尽管本发明不限于此。实际上,过滤器可以用硬件来实现,例如利用专用集成电路(ASIC)等来实现。
参考图3,示出了DirectShow框架300的传统操作方法。在OS指示使用DirectShow框架的软件应用来示出所选内容之后,文件源过滤器305从存储介质取回相关内容。如上面提到的,该内容以经加密经编码的形式被存储。在下面,该内容是影片剪辑。如技术人员将会理解的,使用DirectShow框架的软件应用提供将被找回的影片剪辑中的第一帧的细节。找回该媒体的时序也由DirectShow框架提供。换言之,使用DirectShow框架的软件应用控制第一帧并且DirectShow框架控制除此之外的帧和同步直到下一寻找、停止或暂停命令为止。文件源过滤器305将经加密经编码的影片剪辑解复用为音频流和分离的视频流。此数据分别被存储在计算机系统100中的第一缓冲器地址和第二缓冲器地址处。第一和第二缓冲器地址可由具有使用DirectShow诊断工具的第三方容易地辨别,因为正被显示的内容被存储的缓冲器的位置可通过诊断工具从DirectShow框架被辨别出。显然,如果内容是诸如音乐之类的纯音频或者没有声音的视频,则不需要对内容进行解复用。另外,如果内容包括文本数据,例如隐藏字幕(closed caption),则其可由文件源过滤器305解复用,尽管解复用器可被实现为单独的组件。
经加密经编码音频流和经加密经编码视频流分别被存储在第一和第二缓冲器中。第一缓冲器的地址(下面称为“第一缓冲器地址”)和第二缓冲器的地址(下面称为“第二缓冲器地址”)由使用DirectShow框架的应用选择。经加密经编码音频流和经加密经编码视频流然后被传递给DirectShow框架内的不同过滤器。在实施例中,文件源过滤器305将经加密经编码的音频和视频流传递给适当的解密器/解码器。具体地,音频流被传递给音频解密器/解码器315并且视频流被传递给视频解密器/解码器310。音频解密器/解码器315对经编码音频流解密并且对经解密经编码音频流解码。类似地,视频解密器/解码器310对经编码视频流解密并且对经解密经编码视频流解码。因此,音频解密器/解码器315的输出和视频解密器/解码器310的输出分别是未加密经解码的音频和视频数据。该未加密经解码的音频和视频数据分别被存储在计算机系统100内的第三和第四缓冲器地址处。
音频解密器/解码器315的输出是声音样本。类似地,视频解密器/解码器310的输出是原始像素数据。
最后,存储在第三缓冲器地址处的原始音频数据被音频渲染器335(其是使用DirectShow框架的软件的一部分而非框架本身),音频渲染器335将音频样本传递给声卡以用于通过附接到计算机系统100的扬声器(未示出)播放。类似地,存储在第四缓冲器地址处的原始像素数据被馈送到视频渲染器330,视频渲染器330将原始像素数据传递给视频卡以用于通过附接到计算机系统100的或者与计算机系统100相集成的显示设备115显示。
如上面提到的,使用DirectShow框架的软件提供将被找回的帧的细节并且控制未加密媒体的存储。由于使用DirectShow框架的软件与DirectShow框架之间的接口可容易地辨别出,因此无道德的电脑黑客可以获得解密媒体。由于用于处理多媒体内容的DirectShow框架被广泛地散布,因此利用DirectShow诊断工具,电脑黑客能够获得第一和第二缓冲器的地址并且从这些缓冲器拷贝所希望的内容。这是本发明的实施例要解决的问题。
参考图4,现在说明本发明的实施例。这里应注意,为了简明,将仅说明用于处理视频媒体的方法。因此,虽然在图4中示出了音频解密器/解码器315和音频渲染器335,但是它们将不会直接被提及。如技术人员还将理解的,本发明不限于仅视频,而是除了视频数据以外或者取代视频数据,还可以处理诸如音频、文本数据等之类的任何类型的数据。
在图4的实施例中的DirectShow框架的初始化期间,随机数的表由DirectShow应用425生成。该DirectShow应用425控制在处理期间实际视频被存储的地方。随机数的表在DirectShow应用425与该框架中的每个过滤器之间被共享。DirectShow应用425将该表与特定解密密钥所对应的一组加密密钥一起存储。每个过滤器都存储该表。与每个随机数相关联的是解密密钥。此外,单独的全局解密密钥被分发给每个过滤器。全局解密密钥的分发可以在初始化之前或者在初始化时进行。
另外,DirectShow应用425在初始化框架期间基于将被取回的帧的某些参数来生成随机数。该随机数利用全局加密密钥被加密。经加密随机数被发送给DirectShow框架中的每个过滤器。
如参考图3所说明的,视频媒体被存储在计算机120上或者至少可由计算机120访问。具体地,视频媒体以经加密格式被存储在计算机120内的存储介质上,尽管本发明不限于此并且媒体可被存储在其它地方并可由计算机120访问。当OS请求播放视频媒体时,OS启动使用DirectShow框架的软件。使用DirectShow框架的软件将DirectShow框架配置为使得DirectShow框架取回并播放特定视频媒体。其例如可以是一帧的视频媒体。与图3的示例不同的是,在图4中,设置了单独的DirectShow应用组件425,其控制处理期间实际视频媒体被存储的地方。换言之,在图4的实施例中,使用DirectShow框架的软件不控制在该帧视频的处理期间实际视频被存储的地方;在处理期间视频的实际缓冲器位置由单独的DirectShow应用425控制。这意味着DirectShow应用425控制在计算机120取回的视频媒体的处理期间视频媒体实际上被存储的地方。由DirectShow应用425选择的缓冲器地址不同于由DirectShow框架选择的缓冲器地址。
与图3中一样,DirectShow框架首先运行文件源过滤器305,文件源过滤器305从计算机120取回适当的经加密媒体。文件源过滤器305对该媒体解复用以获得经加密视频媒体。在图4的实施例中,经加密视频媒体不被写入由使用DirectShow框架的软件分配的缓冲器中(如图3的情况)。在图4的实施例中,经加密视频媒体被写入由DirectShow应用425选择的第一缓冲器地址。换言之,DirectShow应用425确定经加密媒体将被存储的第一缓冲器地址并且生成用于标识该第一缓冲器地址的句柄(handle)。
下面,术语“句柄”被用来指代可用于访问和/或操纵诸如存储器缓冲器或文件之类的资源的值。句柄可以是指针、经加密指针、资源分配表的索引,或者可以是可用来引用资源的任何适当值。该句柄被模糊以使得电脑黑客不能理解。实际上,应注意,将资源关联到句柄的机制被隐藏在句柄抽象(handle abstraction)背后。这意味着,在不知道句柄背后的机制的情况下,通过查看句柄不能提供句柄所指代的资源的细节。因此,如果电脑黑客看到句柄,句柄也不会提供该句柄所指代的资源的任何细节。然而,由于DirectShow框架是知道句柄抽象的,因此DirectShow框架知道句柄所指代的资源。在下面的具体实施例中,句柄是经加密指针。
为了确保DirectShow框架符合协议,将下一过滤器指引到存储了媒体的第一缓冲器地址的指针被存储在由DirectShow框架分配的第一缓冲器地址处。然而,如已经提到的,实际的经处理视频被存储在由运行DirectShow应用425的软件分配的第一缓冲器地址处。这意味着,第三方应当使用诊断工具分析DirectShow框架的操作,第三方将仅看到由运行DirectShow应用的软件分配的第一缓冲器地址处的经加密指针,其标识由DirectShow控制器425分配的、存储媒体的第一缓冲器地址。如上面提到的,由于经加密指针不会向未授权用户提供该指针所指代的资源的任何信息,因此第三方将不能容易地确定由运行DirectShow应用的软件分配的存储视频媒体的第一缓冲器地址。
为了使得文件源过滤器305在视频媒体经过文件源过滤器305处理之后将经加密视频媒体存储在由DirectShow应用425确定的第一缓冲器地址处,文件源过滤器305被提供指示了DirectShow应用425所选择的第一缓冲器地址的经加密指针。如果指针被加密,则指针的完整性是安全的。
现在将描述文件源过滤器305确定指针的机制。DirectShow应用425选择与在初始化期间生成的随机数相关联的加密密钥,并且利用位于查找表中的加密密钥来对指针加密。经加密指针(其是经模糊句柄的一个示例)然后被发送给文件源过滤器305。当接收到经加密指针时,文件源过滤器305从查找表中选择适当的解密密钥,解密密钥是通过在初始化期间发送来的随机数进行选择的。经加密指针然后利用该密钥被解密,以提供到DirectShow应用425所选择的第一缓冲器地址的指针。这里应注意,通过提供利用全局密钥进行了加密的随机数并且取决于该随机数来选择用于指针的密钥,全局密钥的秘密性被维持更长时间,同时仍然允许创建短期会话密钥。
另外,文件源过滤器305将经加密指针写入DirectShow框架所提供的第一缓冲器地址,并且将经处理的经加密视频媒体写入由DirectShow应用425提供的第一缓冲器地址处的缓冲器中。
如上面提到的,由DirectShow框架分配的第一缓冲器地址中写入了经加密指针。当DirectShow框架分配第一缓冲器地址时,视频解密器/解码器310从第一缓冲器地址获得经加密指针。当视频解密器/解码器310接收到在初始化期间利用全局密钥进行了加密的随机数时,视频解密器/解码器310利用全局解密密钥来解密该随机数以确定该随机数。视频解密器/解码器310然后利用使用该随机数从查找表中选择的适当解密密钥来解密该指针。视频解密器/解码器310然后从由DirectShow应用425选择的第一缓冲器地址中取回视频。视频解密器/解码器310然后对视频执行解密和解码。
视频解密器/解码器310对视频解密并解码,并且将视频存储在由DirectShow框架选择的缓冲器地址处。这是因为使用经解密经解码的视频的下一级是视频渲染器330。视频渲染器330形成了使用DirectShow框架的软件而非DirectShow框架的一部分。因此,视频渲染器330将不会被提供加密/解密密钥或查找表,以确保系统的安全性。
视频渲染器330取回存储在DirectShow框架所选择的缓冲器地址处的视频,并且利用视频卡来显示它。
参考图5,将对用于说明计算机系统100执行的处理的流程图进行说明。步骤S500描述了当用户希望在显示器115上观看视频时由计算机系统100执行的处理。用户访问视频,并且使用DirectShow框架的软件启动DirectShow框架S505。DirectShow框架然后被初始化S510。DirectShow框架运行文件源过滤器S515。在S520中,文件源过滤器从计算机120取回经加密视频媒体。在步骤S525,经加密句柄从DirectShow应用425被获得。在步骤S530,利用由DirectShow应用425使用随机数指示的解密密钥来解密该经加密句柄。在步骤S535,文件源过滤器将经处理视频写入经解密指针所指示的缓冲器地址中。此外,经加密指针被写入由DirectShow框架分配的缓冲器地址中。
视频解密器/解码器然后被启动S540。经加密指针从由DirectShow框架分配的缓冲器被读取S545。经加密指针被解密以获得该指针,从而确定经处理视频被存储的缓冲器地址。在步骤S555,该数据然后被取回。该数据被解密并解码(步骤S560)。经解密经解码数据被写入由DirectShow框架提供的缓冲器(步骤S565)。当经解密经解码视频被不是DirectShow框架一部分的渲染器读取时,DirectShow框架随后结束。
在实施例中,全局密钥或者在初始化时生成的密钥对于用户或者运行在系统上的实际软件可以是唯一的。例如,可以利用由OS开发商分发给OS的唯一参考或者通过诸如出生日期、地址、电子邮件地址、口令等之类的特定于用户的信息来生成加密和解码密钥生成功能。
此外,句柄可以不必是经加密指针。实际上,句柄完全可以不被加密。句柄可被模糊或者可使得观察者不能理解。可以利用诸如为缓冲器地址创建替代值或者为真实地址值创建句柄值之类的任何技术来使句柄不能被理解,或者实际上可使正确的缓冲器地址位于查找表中并且经模糊的缓冲器地址只是到查找表中适当位置的指针。
虽然前面已说明了作为DirectShow框架的一部分的某些处理,例如解密和解码,但是本发明不限于此。设置在上面提到的解密器/解码器中的解密功能可以由使用DirectShow框架的软件来执行。
设想实施例中的以上方法可通过计算机软件来提供。这样的软件包含计算机可读指令,当计算机可读指令被载入到计算机上时,将该计算机配置为执行以上方法。计算机可读指令通常用诸如C或C++之类的计算机语言来编写。计算机可读指令将被存储在计算机内。这些指令可被存储在磁介质或者光学可读介质上。此外,指令可被存储在固态存储器等上。另外,指令可被存储在服务器上以供通过诸如局域网或因特网等之类的网络进行分发。指令因此可被实现为可通过网络被发送的信号。
虽然前面已利用DirectShow作为示例进行了描述,然而本发明不限于此。本发明的实施例可以利用任何媒体再现技术来实现。另外,虽然前面使用指针来将组件指引向正确的经模糊缓冲器,然而本发明不限于此。可以设想出将组件重定向到正确的经模糊缓冲器的任何机制,例如句柄等。
虽然这里已参考附图详细描述了本发明的说明性实施例,然而将明白,本发明不限于这些精确的实施例,并且本领域技术人员在不脱离如所附权利要求限定的本发明的范围和精神的情况下可以在其中实现各种改变和修改。
Claims (20)
1.一种利用第一软件组件和第二软件组件来处理媒体的方法,其中,所述第一软件组件可操作来将数据写入第一缓冲器并且所述第二软件组件可操作来从所述第一缓冲器读取所述数据,该方法包括:
利用所述第一软件组件处理所述媒体;
确定与所述第一缓冲器位置不同的第二缓冲器位置;
将经处理媒体存储在所述第二缓冲器位置中;
生成经模糊句柄,其中,所述句柄标识所述第二缓冲器位置;
将所述经模糊句柄存储在所述第一缓冲器位置处;以及
在所述第二软件组件中利用解析机制来解析所述经模糊句柄,并且响应于对所述经模糊句柄的解析,从由所述句柄标识的所述第二缓冲器位置取回所述经处理媒体。
2.根据权利要求1所述的方法,其中,所述第二缓冲器位置在连续的经处理媒体之间动态地被确定。
3.根据权利要求1所述的方法,其中,在连续的经处理媒体之间的所述第二缓冲器位置是非邻接的。
4.根据权利要求1所述的方法,其中,所述经模糊句柄是经加密指针。
5.根据权利要求4所述的方法,其中,所述解析机制包括:
生成多个随机数;
将每个随机数与多个解密密钥相关联,从而所述经加密指针利用经关联的解密密钥之一被解密;以及
将与用来加密所述指针的加密密钥所对应的解密密钥相关联的随机数提供给所述第二软件组件。
6.根据权利要求5所述的方法,其中,所述随机数利用与用来加密所述指针的加密密钥不同的加密密钥被加密,其中,所述第二软件组件在解析所述句柄之前对经加密随机数进行解密。
7.根据权利要求1所述的方法,还包括:利用所述第二软件组件来处理从所述第二缓冲器位置取回的所述媒体,将从所述第二软件组件输出的经处理媒体存储在与所述第一缓冲器位置和所述第二缓冲器位置不同的第三缓冲器位置中;并且再现存储在所述第三缓冲器位置处的所述媒体。
8.根据权利要求1所述的方法,其中,所述第一组件和所述第二组件被布置在框架结构中。
9.根据权利要求1所述的方法,其中,所述第一组件和所述第二组件是DirectShow软件组件。
10.一种包含计算机可读指令的计算机程序,当所述计算机可读指令被载入计算机上时,将所述计算机配置为执行根据权利要求1所述的方法。
11.一种存储介质,被配置为将权利要求10的计算机程序存储在其中或其上。
12.一种装置,包括第一缓冲器和第二缓冲器以及处理器,所述处理器可操作来利用第一软件组件和第二软件组件处理媒体,其中,所述第一软件组件可操作来将数据写入所述第一缓冲器并且所述第二软件组件可操作来从所述第一缓冲器读取所述数据,其中,所述处理器可操作来:
利用所述第一软件组件来处理所述媒体;
确定与所述第一缓冲器位置不同的第二缓冲器位置;
将经处理媒体存储在所述第二缓冲器位置中;
生成经模糊句柄,其中,所述句柄标识所述第二缓冲器位置;
将所述经模糊句柄存储在所述第一缓冲器位置处;以及
在所述第二软件组件中利用解析机制来解析所述经模糊句柄,并且响应于对所述经模糊句柄的解析,从由所述句柄标识的所述第二缓冲器位置取回所述经处理媒体。
13.根据权利要求12所述的装置,其中,所述第二缓冲器位置在连续的经处理媒体之间动态地被确定。
14.根据权利要求12所述的装置,其中,在连续的经处理媒体之间的所述第二缓冲器位置是非邻接的。
15.根据权利要求12所述的装置,其中,所述经模糊句柄是经加密指针。
16.根据权利要求15所述的装置,其中,所述处理器可操作来使得所述解析机制包括:
生成多个随机数;
将每个随机数与多个解密密钥相关联,从而所述经加密指针利用经关联的解密密钥之一被解密;以及
将与用来加密所述指针的加密密钥所对应的解密密钥相关联的随机数提供给所述第二软件组件。
17.根据权利要求16所述的装置,其中,所述随机数利用与用来加密所述指针的加密密钥不同的加密密钥被加密,其中,所述第二软件组件在解析所述句柄之前对经加密随机数进行解密。
18.根据权利要求12所述的装置,其中,所述处理器可操作来利用所述第二软件组件处理从所述第二缓冲器位置取回的所述媒体,将从所述第二软件组件输出的经处理媒体存储在与所述第一缓冲器位置和所述第二缓冲器位置不同的第三缓冲器位置中;并且再现存储在所述第三缓冲器位置处的所述媒体。
19.根据权利要求12所述的装置,其中,所述第一组件和所述第二组件被布置在框架结构中。
20.根据权利要求12所述的装置,其中,所述第一组件和所述第二组件是DirectShow软件组件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1014180.2A GB2483081A (en) | 2010-08-25 | 2010-08-25 | Tamper resistance in media processing using an obfuscated buffer handle |
GB1014180.2 | 2010-08-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102385679A true CN102385679A (zh) | 2012-03-21 |
Family
ID=42984602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102516478A Pending CN102385679A (zh) | 2010-08-25 | 2011-08-25 | 装置、方法和程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8832845B2 (zh) |
CN (1) | CN102385679A (zh) |
GB (1) | GB2483081A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424049B2 (en) | 2012-03-02 | 2016-08-23 | Apple Inc. | Data protection for opaque data structures |
US20150015782A1 (en) * | 2013-07-12 | 2015-01-15 | Vixs Systems, Inc. | Video processing device for reformatting an audio/video signal and methods for use therewith |
CN103458065B (zh) * | 2013-09-10 | 2016-09-28 | 深圳市佳创视讯技术股份有限公司 | 一种HTML5标准下基于Webkit内核的视频地址提取方法 |
CN105812922A (zh) * | 2014-12-30 | 2016-07-27 | 中兴通讯股份有限公司 | 多媒体文件数据的处理方法及系统、播放器和客户端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1550083A (zh) * | 2001-08-30 | 2004-11-24 | 通信数据加密和解密的方法 | |
CN1602528A (zh) * | 2001-10-31 | 2005-03-30 | 皇家飞利浦电子股份有限公司 | 多重对话dvd存储介质 |
CN1820243A (zh) * | 2002-04-10 | 2006-08-16 | 伊姆西公司 | 虚拟存储装置 |
CN101276309A (zh) * | 2007-03-31 | 2008-10-01 | 珠海天威技术开发有限公司 | 对外部数据存储器加密、解密及重写的方法 |
WO2009108590A1 (en) * | 2008-02-27 | 2009-09-03 | Zerog Wireless, Inc. | Virtual memory interface |
CN101539842A (zh) * | 2009-04-27 | 2009-09-23 | 杭州华三通信技术有限公司 | 磁盘阵列系统的数据写入方法及磁盘阵列系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205429B1 (en) * | 1998-08-20 | 2001-03-20 | Sony Corporation | System and method to manipulate information in an audio decoder |
US6934810B1 (en) * | 2002-09-26 | 2005-08-23 | Unisys Corporation | Delayed leaky write system and method for a cache memory |
CN1322432C (zh) * | 2002-10-25 | 2007-06-20 | 国际商业机器公司 | 用于媒体内容数据文件网络发布的安全系统及方法 |
US7441116B2 (en) * | 2002-12-30 | 2008-10-21 | International Business Machines Corporation | Secure resource distribution through encrypted pointers |
US7555540B2 (en) * | 2003-06-25 | 2009-06-30 | Microsoft Corporation | Media foundation media processor |
US20050216611A1 (en) * | 2004-03-29 | 2005-09-29 | Martinez Alberto J | Method and apparatus to achieve data pointer obfuscation for content protection of streaming media DMA engines |
US7761732B2 (en) * | 2005-12-07 | 2010-07-20 | International Business Machines Corporation | Data protection in storage systems |
KR101215615B1 (ko) * | 2006-01-10 | 2012-12-26 | 삼성전자주식회사 | 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치 |
US8015214B2 (en) * | 2006-06-30 | 2011-09-06 | Encapsa Technology, Llc | Method of encapsulating information in a database and an encapsulated database |
JP4885892B2 (ja) * | 2008-02-22 | 2012-02-29 | 株式会社ソニー・コンピュータエンタテインメント | 端末装置、情報提供システム、ファイルアクセス方法およびデータ構造 |
US9117094B2 (en) * | 2008-10-29 | 2015-08-25 | Microsoft Technology Licensing, Llc | Data location obfuscation |
-
2010
- 2010-08-25 GB GB1014180.2A patent/GB2483081A/en not_active Withdrawn
-
2011
- 2011-08-15 US US13/209,851 patent/US8832845B2/en active Active
- 2011-08-25 CN CN2011102516478A patent/CN102385679A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1550083A (zh) * | 2001-08-30 | 2004-11-24 | 通信数据加密和解密的方法 | |
CN1602528A (zh) * | 2001-10-31 | 2005-03-30 | 皇家飞利浦电子股份有限公司 | 多重对话dvd存储介质 |
CN1820243A (zh) * | 2002-04-10 | 2006-08-16 | 伊姆西公司 | 虚拟存储装置 |
CN101276309A (zh) * | 2007-03-31 | 2008-10-01 | 珠海天威技术开发有限公司 | 对外部数据存储器加密、解密及重写的方法 |
WO2009108590A1 (en) * | 2008-02-27 | 2009-09-03 | Zerog Wireless, Inc. | Virtual memory interface |
CN101539842A (zh) * | 2009-04-27 | 2009-09-23 | 杭州华三通信技术有限公司 | 磁盘阵列系统的数据写入方法及磁盘阵列系统 |
Also Published As
Publication number | Publication date |
---|---|
GB201014180D0 (en) | 2010-10-06 |
GB2483081A (en) | 2012-02-29 |
US8832845B2 (en) | 2014-09-09 |
US20120054719A1 (en) | 2012-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8646052B2 (en) | Method and apparatus for providing a secure display window inside the primary display | |
JP4522645B2 (ja) | セキュアコンテンツを暗号的に保護する方法およびシステム | |
JP4551802B2 (ja) | プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法 | |
US8352751B2 (en) | Encryption program operation management system and program | |
US8826037B2 (en) | Method for decrypting an encrypted instruction and system thereof | |
JP2011070664A (ja) | 暗号キー選択装置を具備するストレージ・システム及び暗号キー選択方法 | |
JP2012199922A (ja) | 機密データの暗号化および記憶 | |
US8638935B2 (en) | System and method for key space division and sub-key derivation for mixed media digital rights management content | |
JP2008283672A (ja) | 複数モードでのaes暗号化または復号の単一命令での実行 | |
JP2015504279A (ja) | 鍵駆動の難読化を用いる仮想マシンデバイス及び方法 | |
CN110737926A (zh) | 一种显示方法、装置及存储介质 | |
US11582266B2 (en) | Method and system for protecting privacy of users in session recordings | |
JP6709697B2 (ja) | 通信費用の節減のためのコンテンツストリーミングサービス方法およびシステム | |
JP2006085676A (ja) | 暗号化命令処理装置 | |
US10102386B2 (en) | Decrypting content protected with initialization vector manipulation | |
CN102385679A (zh) | 装置、方法和程序 | |
US20220246110A1 (en) | Dpu enhancement for improved hdcp user experience | |
KR20050069927A (ko) | 블록암호화 방법 및 블록암호/복호회로 | |
US9537842B2 (en) | Secondary communications channel facilitating document security | |
JP2013106285A (ja) | 携帯端末装置、暗号鍵生成方法、およびプログラム。 | |
KR20170008514A (ko) | 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템 | |
US20050123139A1 (en) | Method for managing a buffer memory in a crypto engine | |
KR101916109B1 (ko) | 동적 프레임워크를 이용한 iOS 애플리케이션의 문자열 복호화 방법 | |
KR101883996B1 (ko) | 동적 프레임워크를 이용한 iOS 애플리케이션의 문자열 복호화 방법 | |
JP2005172866A (ja) | 暗号化/復号化システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120321 |