CN1220121C - 程序分发设备、客户设备、程序分发系统和程序分发方法 - Google Patents
程序分发设备、客户设备、程序分发系统和程序分发方法 Download PDFInfo
- Publication number
- CN1220121C CN1220121C CNB011045124A CN01104512A CN1220121C CN 1220121 C CN1220121 C CN 1220121C CN B011045124 A CNB011045124 A CN B011045124A CN 01104512 A CN01104512 A CN 01104512A CN 1220121 C CN1220121 C CN 1220121C
- Authority
- CN
- China
- Prior art keywords
- communication path
- processor
- program
- intervening
- public keys
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 54
- 238000004891 communication Methods 0.000 claims abstract description 150
- 238000012545 processing Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000010200 validation analysis Methods 0.000 claims description 18
- 238000009826 distribution Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 22
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004382 potting Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种方案,用于通过网络将可执行程序自程序分发设备分发至具有抗干预处理器的客户设备,该抗干预处理器事先配备有一个独一的保密密钥和一个独一的对应于该独一保密密钥的公共密钥。在此方案中,在程序分发设备与客户设备之间设置一条第一通信路径,及在第一通信路径之上设置一条用于直接连接程序分发设备与抗干预处理器的第二通信路径。然后通过第二通信路径将加密程序自程序分发设备传输至抗干预处理器。
Description
技术领域
本发明涉及一种通过公共网络例如因特网将加密的可执行程序分发至具有内装微处理器例如PC的硬件设备的方法和系统。
背景技术
近年以来,微处理器的性能大有改进,因此微处理器能够在传统功能例如计算和图形处理之外还能重现和编辑视频图像和音频声音。通过在为终端用户(今后将称为PC)设计的系统中实施这类微处理器,用户能够在监视器上欣赏各种视频图像和音频声音。还有,通过将用于重现视频图像和音频声音的功能与PC的计算能力结合起来,可以改进游戏及类似内容的可应用性。这类微处理器不是为任何专用硬件设计的,它可以实施于不同硬件中,因此其优点是已经拥有PC的用户只需简单地改变微处理器以使之用于执行程序,就能够花费很少而欣赏视频图像和音频声音的重现和编辑功能。
当在PC上处理视频图像和音频声音时,产生一个保护原始图像和音乐的版权的问题。在MD或数字视频重放设备中,可以在这些设备中预先实施一个用于防止非法复制的机理来防止无限制的复制。通过拆卸和修改这些设备而试图进行非法复制的情况比较少,以及即使做出这些设备,也有全球性的努力来按照法律禁止制造和销售那些为非法复制而修改的设备。因此,由于使用硬件进行非法复制而造成的损害并不很严重。
然而,更多的是在PC上使用软件而不是硬件来实际地处理图像数据和音乐数据,而终端用户可以自由地修改PC上的软件。也即,如果用户具有一定知识水平,则很可能他会分析程序并且将可执行软件重写来进行非法复制。此外,不像硬件那样,如此产生的用于非法复制的软件能够通过媒体例如网络非常迅速地散布开来。
为解决这些问题,有过一些建议,使微处理器具有防止分析和修改程序的功能(R.Hartman,美国专利号5,224,166;T.Gilmont等,“用于支持软件私有权的硬件安全性”,Electronic Letters,Vol.35,No.24,pp.2096-2098,November 1999;M.Hashimoto等,日本专利申请号2000-135010)。具体地,在由日本专利申请号2000-135010建议的微处理器中,在多任务环境下将组成程序的三类元素即指令、执行状态和数据全部加密,从而防止分析和修改程序。
在这些微处理器中,在处理器内部提供一个保密密钥和使用该保密密钥的解密功能,以使这些加密程序可供外部处理器读取,而可使用对应于该保密密钥的公共密钥来或者直接地或者间接地将这些程序解密和执行。与抗干预软件技术比较,使用这些微处理器可以使这些程序的分析和修改在原理上要难得多。以下将具有此功能的微处理器称为抗干预微处理器。
现在,在使用这些处理器的情况下,必须由程序供应商使用处理器的公共密钥来或者直接地或者间接地将程序加密后提供出来。然而,尚无已知的可用于安全地实现这类程序分发的方案。
发明内容
因此本发明的一个目的是提供一种程序分发设备,能够用于通过网络安全地将程序分发至客户侧设备。
本发明的另外一个目的是提供一种客户侧设备,能够用于通过网络安全地接收分发的程序。
本发明的又一个目的是提供一种程序分发系统,能够用于通过网络安全地分发程序。
本发明还有一个目的是提供一种程序分发方法,用于通过公共网络安全地分发程序。
本发明提供一种用于通过网络分发可执行程序至具有抗干预处理器的客户设备的程序分发设备,该抗干预处理器事先配备有独一的保密密钥和对应于该独一的保密密钥的独一的公共密钥,该程序分发设备包括:一个第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;一个第二通信路径设置单元,配置为设置一条用于直接连接程序分发设备与抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;一个加密处理单元,配置为使用抗干预处理器的独一的公共密钥将准备分发至客户设备并在抗干预处理器中执行的可执行程序加密从而产生一个加密程序;及一个传输单元,配置为通过第二通信路径将加密程序传输至抗干预处理器,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
本发明提供一种用于通过网络接收由程序分发设备所分发的程序的客户设备,该客户设备包括:一个抗干预处理器,事先配备有一个独一的保密密钥和一个对应于该独一的保密密钥的独一的公共密钥;一个第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;一个第二通信路径设置单元,配置为设置一条用于直接连接程序分发设备与抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;及一个程序接收单元,配置为通过第二通信路径接收来自程序分发设备使用抗干预处理器的独一的公共密钥将准备分发给客户设备并在抗干预处理器中执行的可执行程序进行加密所获得的加密程序,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
本发明提供一种程序分发系统,包括:一个连至网络的程序分发设备,用于通过网络分发可执行程序;及一个连至网络的客户设备,用于通过网络接收由程序分发设备分发的可执行程序;其中该客户设备具有:一个抗干预处理器,事先配备有一个独一的保密密钥和一个对应于该独一的保密密钥的独一的公共密钥;一个客户侧第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;一个客户侧第二通信路径设置单元,配置为设置一条用于直接连接该程序分发设备与抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;及一个程序接收单元,配置为通过第二通信路径接收来自程序分发设备的加密程序;以及该程序分发设备具有:一个服务器侧第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;一个服务器侧第二通信路径设置单元,配置为在第一通信路径之上设置一条用于直接连接程序分发设备与抗干预处理器的第二通信路径;一个加密处理单元,配置为使用抗干预处理器的独一的公共密钥将准备分发至客户设备并在抗干预处理器中执行的可执行程序加密从而产生一个加密程序;及一个传输单元,配置为通过第二通信路径将加密程序传输至抗干预处理器,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
本发明提供一种分发可执行程序的方法,它是用于通过网络自程序分发设备分发可执行程序至具有抗干预处理器的客户设备的方法,该抗干预处理器事先配备有独一的保密密钥和对应于该独一的保密密钥的独一的公共密钥,该方法包括以下步骤:设置一条程序分发设备与客户设备之间的第一通信路径;设置一条用于直接连接程序分发设备和抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;在程序分发设备处通过使用抗干预处理器的独一的公共密钥将准备分发至客户设备并在抗干预处理器中执行的可执行程序加密,从而产生一个加密程序;及通过第二通信路径将加密程序自程序分发设备传输至抗干预处理器,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
结合附图进行的以下描述将使本发明的其他特征和优点更为明显。
附图说明
图1是用于显示根据一个本发明实施例的程序分发系统的配置的框图。
图2是图1的程序分发设备中程序分发操作顺序的顺序图。
图3是图2的操作顺序中客户设备的处理过程的流程图。
图4是图2的操作顺序中程序分发设备(服务器)的处理过程的流程图。
图5是图2的操作顺序中微处理器的处理过程的流程图。
具体实施方式
首先,简要地描述本发明的主要特征。
本发明提供了一种程序分发设备,用于通过网络将可执行程序分发至具有内装抗干预微处理器的客户设备,其中该微处理器事先配备有一个独一的保密密钥和一个独一的对应于该独一的保密密钥的公共密钥。此程序分发设备具有一个加密处理单元,它使用自客户设备的微处理器送来的独一公共密钥将程序加密,或者使用任意加保密密密钥将程序加密并且使用自客户设备的微处理器送来的独一公共密钥将该加保密密密钥加密。加密的密码密钥然后与加密的程序一起分发至客户设备。
在本发明的程序分发方法中,通过网络设置一条自客户设备至程序分发设备的第一通信路径。然后在第一通信路径之上设置一条用于直接将微处理器连至该程序分发设备的第二通信路径。通过第二通信路径将独一的公共密钥自微处理器送至程序分发设备。在程序分发设备处接收通过网络送来的该独一的公共密钥,以及该程序分发设备将程序加密。然后通过第二通信路径将加密的程序直接送至客户设备的微处理器。
以此方式分发的程序或者使用客户设备的微处理器的独一公共密钥进行加密,或者使用普通密钥进行加密,而此普通密钥又由微处理器的独一公共密钥加密。该程序直接传输至微处理器而不被任何计算机截留,并且只能由具有对应于此公共密钥的独一的保密密钥的微处理器来解密。以此方式,有可能有效地防止第三方非法解密。
现在参照图1至图5来详细地描述根据本发明的程序分发设备的一个实施例。
图1显示根据此实施例的程序分发系统,它基本上设计为将程序分发至一个具有内装抗干预微处理器的计算机系统。因此,准备分发的可执行程序或者使用对于微处理器是独一的保密密钥直接加密,或者使用任意普通密钥加密并且使用对于微处理器是独一的保密密钥将该普通密钥本身加密及将其依附于可执行程序上。在此情况下,不可能使用相同程序记录媒体的复制副本例如大批产生的CD-ROM来分发程序,以使程序通过网络来分发。
图1的程序分发系统90包括一个网络95,一个连至网络95以便通过网络95分发可执行程序的程序分发设备93,一个连至网络95以便通过网络95接收自程序分发设备93分发来的可执行程序的客户设备91。
程序分发设备93具有一个用于在程序分发设备93与客户设备91之间设置第一通信路径的第一通信路径设置单元932,一个用于通过第一通信路径对使用客户设备91的用户进行用户证实的用户证实单元933,一个用于设置直接连至配备于客户设备91内的微处理器的第二通信路径的第二通信路径设置单元934,一个用于通过第二通信路径对客户设备91的微处理器901进行证实的处理器证实单元935,一个使用对应于客户设备91的微处理器的密码密钥将可执行程序加密从而产生一个加密程序的程序加密处理单元936,一个用于通过第二通信路径将加密程序分发至客户设备91的网络接口931,以及一个付费处理单元937。
客户设备91具有一个其中事先配备有一个独一的保密密钥和公共密钥的微处理器901,一个网络接口903,一个用于在客户设备91与程序分发设备93之间设置第一通信路径的第一通信路径设置单元905,一个用于通过第一通信路径传输正在使用客户设备91的用户的用户ID的用户证实单元910,一个用于设置直接将微处理器901连至程序分发设备93的第二通信路径的第二通信路径设置单元906,一个用于传输证书至程序分发设备93的证书单元,其中该证书确认微处理器901的确具有只对此微处理器901是独一的保密密钥和公共密钥,一个用于通过第二通信路径接收加密的可执行程序的程序接收单元908,一个程序传输单元909,以及一个付费处理证实单元912。
可以在同一传输线的不同信道上,也可在不同传输线上设置第一和第二通信路径。在对微处理器901进行证实之后,通过直接连至微处理器901的第二通信路径将加密程序传输至微处理器901,以便保证程序分发的安全性以及防止用户的非法操作。
程序分发设备(服务器)93具有在世界上是独一的一对公共密钥K′p和保密密钥K′s以及作为准备分发的程序的原始形式的非加密程序文件。另一方面,客户设备91所具有的微处理器901中配备有一个专用于通过网络将程序下载的专用程序。下载用的程序既可在购买微处理器901时也可在购买包含微处理器901的系统时提供,也可使用任何方法例如邮寄来单独地分发至每个用户。
在下载程序内埋嵌着一些信息,例如对于微处理器901是独一的公共密钥Kp和证书。更具体地,这个用于确认微处理器901的公共密钥Kp是对应于实际存在的微处理器的证书是存于下载程序内的。提供此证书的目的在于防止用户通过使用不对应于实际微处理器901的公共密钥和保密密钥的已知集合而获得加密程序及使用已知保密密钥将加密程序解密,进而非法地获得普通文本程序内容。
该证书包含公共密钥Kp和一个值SKcert[Kp],它是一个使用公共密钥Kp上的证书权威的密钥Kcert来预先计算的电子签字。Kcert的值由证书权威秘密地进行管理并且不包含于下载程序内。通过使用供证实用的公共密钥Kval来证实包含于证书中的公共密钥Kp和签字SKcert[Kp],有可能证明Kp是由证书权威所赋予的无法使用已知密钥集合的恰当的公共密钥。
此证书可以事先在微处理器内提供。然而,在下载程序中存储带有有效期限的证书和销售微处理器时一起销售下载程序,可以进一步改进安全性。在此情况下,存有经常更新的证书的下载程序可以分送至微处理器的买主。
准备用于下载过程的保密密钥Ks是在下载程序的数据区内加密和存储的。将加密的保密密钥Ks解密时所需密钥作为常量分布式地埋嵌于下载程序代码内。准备由下载程序使用于证实过程中的保密密钥Ks与对微处理器901是独一的保密密钥Ks一样地具有相同的值,但它不是通过从微处理器901中读取保密密钥Ks而获得的,因为对微处理器901是独一的的保密密钥Ks不能由程序读出。
一般而言,证书权威CA应用于证明一定的主人具有具体公共密钥。在使用本系统的证书权威的情况下,或者在购买微处理器901时,或者稍后通过在线处理,将微处理器901和用户(购买者)的公共密钥的组合向证书权威登记。在此情况下,可以省略由程序分发设备对证书的证实。
然而,证书权威的使用对用户带来不方便,即用户必须将购买的微处理器901向证书权威登记。由于这个原因,在此实施例中将加密的证书存于下载程序中,以便单独由程序分发设备93和客户设备91实行证实操作。
注意到,在此实施例中假设程序分发设备83是值得信赖的,即程序分发设备93不会进行非法活动例如盗窃证书,并且事先由证书权威或类似机构确认以下事实:程序分发设备93具有一对在世界中是独一的密钥K′p和K′s。
图2显示图1的程序分发设备90中程序分发处理的操作顺序。下面将程序分发设备93也称为服务器93。
在图2的操作顺序中,由相应的设备的第一通信路径设置单元在客户设备91与服务器93之间设置一条安全的第一通信路径(步骤1001)。更具体地,通过网络95自客户设备91分发一个开始通信请求至服务器93,并且实行密钥分享以便保持通信路径处于秘密状态中。这可由已知的密钥分享协议或DH(Diffie Hellman)方案来实现。随后通过以此方式设置的同时对于窃听而言是安全的这条通信路径实行客户设备91与服务器93之间的通信。
在设置第一通信路径之后,客户设备91请求将文件(程序)下载至服务器93(步骤1002),以及服务器93在用户级别上执行的与客户设备91证实和付费处理操作。在下载过程中为对用户保持处理的秘密,至少一部分将于下面描述的客户设备91处的下载顺序将要使用加密代码来执行。此处将要使用加密代码来执行的部分将被描述为微处理器901的操作。
然后在第一通信路径之上设置一条用于直接连接客户设备91的微处理器901与服务器93的安全的第二通信路径(步骤1003)。
在本发明中,为防止用户非法地获得在下载过程中一部分处理过的数据,在处理期间准备放置于存储器内的不仅代码而且数据所具有的形式都是用户在下载程序内难以读取和理解的。此外,在步骤1003中执行服务器93与微处理器901之间的使用保密密钥的密码通信,以便改进防止用户非法操作的保护措施。
采取此措施是因为如果不采用保密密钥共享,则有可能发生以下情况:用户通过非法操作在服务器93和微处理器901之间的通信消息内使用一个伪装公共密钥来替代微处理器901的公共密钥Kp从而获得加密程序,以及通过使用对应于伪装公共密钥的已知的保密密钥来将加密程序解密从而获得普通文本程序。通过使用保密密钥将服务器93与微处理器901之间的通信加用密码,有可能防止以上所述的用户非法操作。此处在微处理器901与服务器93之间的通信意味着受保护的通信,它使用一个由微处理器901中的抗干预程序与服务器93所共享的密码密钥来将通信进行加密。
在设置安全的第二通信路径之后,微处理器901和服务器93执行相互证实操作。也即,微处理器901生成一个随机数Rc,作为对服务器93的竞争,并且通过第二通信路径将此随机数Rc与对于微处理器901是独一的公共密钥Kp一起传输至服务器93(步骤1004)。在收到该竞争后,服务器93将一个使用服务器93的保密密钥K′s将随机数Rc加密而获得的签字SK′s[Rc]与服务器93的竞争Rs和服务器93的公共密钥K′p一起传输至微处理器901(步骤1005)。注意到在图2中SK′s[Rc]标为S[Rc](K′s)以及类似标记用于其他类似表示。
微处理器901检查自服务器93传输来的签字SK′s[Rc]是否与使用服务器93的公共密钥K′p将Rc进行散列函数计算所得VK′p[Rc]重合。如果它们不重合,则服务器93的证实操作失败,因而将随后的处理过程中断。如果证实操作成功,则根据服务器93的竞争Rs计算一个响应SK′s[Rs]并且将它与证书E[Cert]一起传输至服务器93(步骤1006)。
服务器93将响应SK′s[Rs]与VK′p[Rs]进行比较,并且如果它们不重合则将处理过程中断。如果它们重合,则根据微处理器901的公共密钥Kp和证书权威的公共密钥Kval计算VKval[Kp],并且将它与对应于自证书Cert获得的公共密钥的VKcert[Kp]进行比较。如果它们不重合,则证实操作失败,从而将处理过程中断。如果它们重合,则通过将EK′p[Cert]解密而获得证书Cert并且对它进行证实。如果证实操作失败,则将处理过程中断。
如果证实操作成功从而由证书确认微处理器901具有公共密钥Kp这一事实,则服务器93使用微处理器901的公共密钥Kp自可执行程序中产生加密程序EK′p[Prog]。在此处使用微处理器901的公共密钥Kp将程序的代码部分加密。在此加密操作中,由跳转表的具有普通文本形式的“.IAT(输入地址表)”部分将程序本身的“.text”部分加密。
服务器93然后通过第二通信路径将加密程序EK′p[Prog]与使用服务器93的保密密钥K′s所获得的签字SK′s[EK′p[Prog]]传输至微处理器901(步骤1007)。这些加密的程序和签字通过直接在微处理器901与服务器93之间建立起来的第二通信路径进行传输,从而使客户设备91无法窃听它们。
当完成程序的接收后,微处理器901向客户设备91通知下载完毕(步骤1008)。客户设备91然后向服务器93请求实行付费处理,以及服务器93向客户设备91传输一个收据Rcpt,一个使用服务器93的保密密钥K′s所获得收据的签字SK′p[Rcpt]和一个程序的签字SK′s[EK′p[Prog]](步骤1009)。客户设备91保持收到的收据及其签字,同时将自服务器93收到的程序签字SK′s[EK′p[Prog]]分发至微处理器901(步骤1010)。
微处理器901使用服务器93的公共密钥K′p来证实自客户设备91收到的程序签字SK′s[EK′p[Prog]],以及如果它是恰当的则微处理器901将加密的可执行程序EK′p[Prog]送至客户设备91(步骤1011)。在收到加密的可执行程序EK′p[Prog]后,客户设备91执行相对于服务器93的通信信道的结束处理过程(步骤1012)。
此后,微处理器901按照规定方式执行加密程序。
图3显示图2的操作顺序中客户设备91的处理过程。此处理过程已经基本上参照图2解释过,它如下进行:
首先,在客户设备91与服务器93之间设置第一通信路径(步骤1101)。然后提出相对于服务器93的程序下载请求,并且执行以上所述的证实处理过程(步骤1103)。然后实行微处理器901与服务器93之间的证实操作及将该程序传输至微处理器901(步骤1105)。然后自微处理器901接收一个接收完成通知(步骤1107),使用服务器93实行付费处理过程(步骤1109),以及自服务器93接收收据和签字(步骤1111)。然后将签字送至微处理器901(步骤1113),自微处理器901接收加密程序(步骤1115),以及结束客户设备91与服务器93之间的通信信道(步骤1117)。
图4显示图2的操作顺序中服务器93的处理过程,它如下进行。
首先,响应于来自客户设备91的请求而设置第一通信路径(步骤1201)。然后接收来自客户设备91的程序下载请求,以及为付费或类似目的而实行客户证实(步骤1203)。然后设置服务器93与微处理器901之间的第二通信路径(步骤1205),以及自微处理器901接收竞争Rc和公共密钥Kp(步骤1207)。然后生成服务器侧竞争Rs和响应SK′s[Rc]并且将它们与服务器93的公共密钥K′p一起传输至微处理器901(步骤1209)。然后自微处理器901接收响应SK′s[Rs]和证书E[Cert](步骤1211),以及对自微处理器901收到的SK′s[Rs]和E[Cert]进行证实(步骤1213)。当证实操作失败时,即将处理过程中断。当证实操作成功时,生成加密程序和对应于微处理器901的签字并且将它们传输至微处理器901(步骤1215),以及结束服务器93与微处理器901之间的程序传输(步骤1217)。然后执行相对于客户设备91的付费处理过程并且传输收据和签字(步骤1219),以及结束服务器93与客户设备91之间的通信信道(步骤1221)。
图5显示图2的操作顺序中微处理器901的处理过程,它如下进行。
首先,在微处理器901与服务器93之间设置第二通信路径(步骤1301)。然后生成竞争Rc并且将它与对于微处理器901是独一的公共密钥Kp一起传输至服务器93(步骤1303)。当传输成功时,自服务器93接收响应SK′s[Rc]、竞争Rs和公共密钥K′p(步骤1305)。然后判断该响应是否恰当(步骤1307)。如果它不恰当则将处理过程中断。如果它是恰当的,则生成相对于服务器93的响应和对应于服务器93的证书并且将它们传输(步骤1309)。然后自服务器93接收加密程序(步骤1311),以及当接收完毕时,向客户设备91通知下载完成(步骤1313)。然后自客户设备91接收签字(步骤1315)并且证实该签字(步骤1317)。如果证实操作失败则将处理过程中断。如果证实操作成功,则将加密程序传输至客户设备91(步骤1319)。
在图2的操作顺序中,如果在完成付费处理过程之后由于下载程序的非正常结束而无法获得加密程序E[prog],则客户有权根据所保留的收据来再次从服务器93下载该程序。在此情况下,将不再进行付费操作,但无法获得微处理器901的加密程序之外的其他程序。
还有,在图2的操作顺序中,服务器93可以使用普通密钥将程序加密而不用微处理器901的公共密钥。在此情况下,服务器93选择普通密钥Kx和加密算法,使用普通密钥Kx将程序加密,使用对于微处理器901是独一的公共密钥来将普通密钥Kx加密,以及在将服务器93与微处理器901之间的通信加用密码之后将该程序传输至微处理器901。在此处可以增加一个步骤,即在设置第二通信路径之后由服务器93向微处理器901查询在微处理器901中提供的加密/解密功能,从而使服务器93可以从可由微处理器901处理的加密算法中选择一个加密算法。
在此情况下,每个程序的临时使用的普通密钥可用于将执行代码解密以便将密钥长度缩短及将客户设备91的存储器中所构造的页表减小或者微处理器901的高速缓存缩小。
以上所述的下载过程也可用于处理秘密信息例如数据库或顾客信息。此下载过程也可扩展而应用于除可执行程序以外的任何音乐或视频数据,其中与执行程序的情况的唯一差别是在执行程序的情况下程序如此加密以致程序只能由目标微处理器执行。
根据本发明的程序分发设备,可以通过网络安全地和肯定地将加密程序自程序分发设备分发至客户设备。还有,通过使用准备在微处理器处执行的抗干预下载程序,可以直接在程序分发设备与微处理器之间安全地和有效地下载程序而不受第三方的干预。
还有,通过在计算机可读记录媒体中以加密形式记录程序代码部分及以非加密普通文本形式存储直接涉及外部程序的IAT区域,可以在执行程序期间正确地执行重定位操作。
应该注意到,以上实施例用于描述一个使用抗干预微处理器的示例,但很清楚本发明同样可以应用于使用抗干预处理器的一般情况。
还应该注意到,除以上所述以外,可以在不背离本发明的新颖和有利的特征的情况下对以上各实施例作出许多修改和变动。因此,所有这些修改和变动都会包括于所附权利要求书的范围之内。
Claims (19)
1.一种用于通过网络分发可执行程序至具有抗干预处理器的客户设备的程序分发设备,该抗干预处理器事先配备有独一的保密密钥和对应于该独一的保密密钥的独一的公共密钥,该程序分发设备包括:
一个第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;
一个第二通信路径设置单元,配置为设置一条用于直接连接程序分发设备与抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;
一个加密处理单元,配置为使用抗干预处理器的独一的公共密钥将准备分发至客户设备并在抗干预处理器中执行的可执行程序加密从而产生一个加密程序;及
一个传输单元,配置为通过第二通信路径将加密程序传输至抗干预处理器,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
2.权利要求1的程序分发设备,还包括:
一个用户证实单元,配置为使用通过第一通信路径自客户设备接收的用户的用户ID来证实正在使用客户设备的用户。
3.权利要求1的程序分发设备,还包括:
一个处理器证实单元,配置为通过验证一个证书来证实该抗干预处理器,其中该证书确认该抗干预微处理器的确具有通过第二通信路径自客户设备接收的独一的保密密钥和独一的公共密钥。
4.权利要求1的程序分发设备,其中加密处理单元使用通过第二通信路径自抗干预处理器接收的独一的公共密钥将可执行程序加密。
5.权利要求1的程序分发设备,其中加密处理单元使用普通密钥将可执行程序加密,以及使用通过第二通信路径自抗干预处理器接收的独一的公共密钥将该普通密钥加密;及
该传输单元通过第二通信路径将加密程序与加密的普通密钥一起传输至抗干预处理器。
6.权利要求1的程序分发设备,其中通过第二通信路径的通信是密码通信。
7.一种用于通过网络接收由程序分发设备所分发的程序的客户设备,该客户设备包括:
一个抗干预处理器,事先配备有一个独一的保密密钥和一个对应于该独一的保密密钥的独一的公共密钥;
一个第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;
一个第二通信路径设置单元,配置为设置一条用于直接连接程序分发设备与抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;及
一个程序接收单元,配置为通过第二通信路径接收来自程序分发设备使用抗干预处理器的独一的公共密钥将准备分发给客户设备并在抗干预处理器中执行的可执行程序进行加密所获得的加密程序,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
8.权利要求7的客户设备,还包括:
一个用户证实单元,配置为通过第一通信路径传输正在使用客户设备的用户的用户ID至程序分发设备而相对于该程序分发设备来证实该用户。
9.权利要求7的客户设备,还包括:
一个确认单元,配置为通过第二通信路径传输一个证书,其中该证书确认该抗干预处理器的确具有独一的保密密钥和独一的公共密钥,从而相对于程序分发设备而证实该抗干预处理器。
10.权利要求7的客户设备,其中程序接收单元接收使用自抗干预处理器通过第二通信路径通知至程序分发设备的独一的公共密钥而加密的加密程序。
11.权利要求7的客户设备,其中程序接收单元接收使用普通密钥加密的加密程序以及使用自抗干预处理器通过第二通信路径通知至程序分发设备的独一的公共密钥而加密的加密的普通密钥。
12.权利要求7的客户设备,其中通过第二通信路径的通信是密码通信。
13.一种程序分发系统,包括:
一个连至网络的程序分发设备,用于通过网络分发可执行程序;及
一个连至网络的客户设备,用于通过网络接收由程序分发设备分发的可执行程序;
其中该客户设备具有:
一个抗干预处理器,事先配备有一个独一的保密密钥和一个对应于该独一的保密密钥的独一的公共密钥;
一个客户侧第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;
一个客户侧第二通信路径设置单元,配置为设置一条用于直接连接该程序分发设备与抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;及
一个程序接收单元,配置为通过第二通信路径接收来自程序分发设备的加密程序;
以及该程序分发设备具有:
一个服务器侧第一通信路径设置单元,配置为在程序分发设备与客户设备之间设置一条第一通信路径;
一个服务器侧第二通信路径设置单元,配置为在第一通信路径之上设置一条用于直接连接程序分发设备与抗干预处理器的第二通信路径;
一个加密处理单元,配置为使用抗干预处理器的独一的公共密钥将准备分发至客户设备并在抗干预处理器中执行的可执行程序加密从而产生一个加密程序;及
一个传输单元,配置为通过第二通信路径将加密程序传输至抗干预处理器,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
14.一种分发可执行程序的方法,它是用于通过网络自程序分发设备分发可执行程序至具有抗干预处理器的客户设备的方法,该抗干预处理器事先配备有独一的保密密钥和对应于该独一的保密密钥的独一的公共密钥,该方法包括以下步骤:
设置一条程序分发设备与客户设备之间的第一通信路径;
设置一条用于直接连接程序分发设备和抗干预处理器的第二通信路径,该第一通信路径和该第二通信路径被设置为同一通信线路上的不同信道或被设置为不同的通信线路;
在程序分发设备处通过使用抗干预处理器的独一的公共密钥将准备分发至客户设备并在抗干预处理器中执行的可执行程序加密,从而产生一个加密程序;及
通过第二通信路径将加密程序自程序分发设备传输至抗干预处理器,从而将该被加密的程序直接交付给抗干预处理器,并且仅能在该抗干预处理器中解密和执行该被加密的程序,该抗干预处理器是具有对应于该独一的公共密钥的独一的保密密钥的唯一实体。
15.权利要求14的方法,还包括以下步骤:
使用通过第一通信路径自程序分发设备接收的正在使用客户设备的用户的用户ID来证实该用户。
16.权利要求14的方法,还包括以下步骤:
通过验证一个通过第二通信路径自客户设备接收的证书而证实该抗干预处理器,其中该证书确认该抗干预处理器的确具有独一的保密密钥和独一的公共密钥。
17.权利要求14的方法,其中该产生步骤使用通过第二通信路径自抗干预处理器接收的独一的公共密钥将可执行程序加密。
18.权利要求14的方法,其中该产生步骤使用普通密钥将可执行程序加密,以及使用通过第二通信路径自抗干预处理器接收的独一的公共密钥将该普通密钥加密;
该传输步骤通过第二通信路径将加密程序与加密的普通密钥一起传输至抗干预处理器。
19.权利要求14的方法,其中通过第二通信路径的通信是密码通信。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP035898/2000 | 2000-02-14 | ||
JP2000035898A JP3801833B2 (ja) | 2000-02-14 | 2000-02-14 | マイクロプロセッサ |
JP135010/2000 | 2000-05-08 | ||
JP2000135010A JP4226760B2 (ja) | 2000-05-08 | 2000-05-08 | マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1309355A CN1309355A (zh) | 2001-08-22 |
CN1220121C true CN1220121C (zh) | 2005-09-21 |
Family
ID=26585335
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011045124A Expired - Fee Related CN1220121C (zh) | 2000-02-14 | 2001-02-14 | 程序分发设备、客户设备、程序分发系统和程序分发方法 |
CNB011030003A Expired - Fee Related CN1189819C (zh) | 2000-02-14 | 2001-02-14 | 抗干预微处理器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011030003A Expired - Fee Related CN1189819C (zh) | 2000-02-14 | 2001-02-14 | 抗干预微处理器 |
Country Status (5)
Country | Link |
---|---|
US (3) | US6983374B2 (zh) |
EP (2) | EP1126356B1 (zh) |
KR (2) | KR100362219B1 (zh) |
CN (2) | CN1220121C (zh) |
DE (1) | DE60135695D1 (zh) |
Families Citing this family (208)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996670B1 (en) | 1999-07-08 | 2011-08-09 | Broadcom Corporation | Classification engine in a cryptography acceleration chip |
US6983374B2 (en) | 2000-02-14 | 2006-01-03 | Kabushiki Kaisha Toshiba | Tamper resistant microprocessor |
US6895506B1 (en) * | 2000-05-16 | 2005-05-17 | Loay Abu-Husein | Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism |
US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
FR2817067B1 (fr) * | 2000-11-21 | 2003-02-21 | Cyber Comm | Procede et dispositif d'authentification de documents electroniques au moyen d'une signature numerique |
US20020114457A1 (en) * | 2001-01-26 | 2002-08-22 | Takahiro Sato | LSI having interpreter function and information recording/reproducing apparatus using the same |
US7428636B1 (en) * | 2001-04-26 | 2008-09-23 | Vmware, Inc. | Selective encryption system and method for I/O operations |
US7260820B1 (en) | 2001-04-26 | 2007-08-21 | Vm Ware, Inc. | Undefeatable transformation for virtual machine I/O operations |
CA2414246C (en) * | 2001-05-14 | 2014-01-28 | Ntt Docomo, Inc. | System for managing program stored in storage block of mobile terminal |
US20050097342A1 (en) * | 2001-05-21 | 2005-05-05 | Cyberscan Technology, Inc. | Trusted watchdog method and apparatus for securing program execution |
US7979740B2 (en) * | 2001-05-21 | 2011-07-12 | Mudalla Technology, Inc. | Gaming machine having game play suspension and resumption features using biometrically-based authentication and method of operating same |
US7051332B2 (en) * | 2001-05-21 | 2006-05-23 | Cyberscan Technology, Inc. | Controller having a restart engine configured to initiate a controller restart cycle upon receipt of a timeout signal from a watchdog timer |
US7237121B2 (en) * | 2001-09-17 | 2007-06-26 | Texas Instruments Incorporated | Secure bootloader for securing digital devices |
US7181530B1 (en) * | 2001-07-27 | 2007-02-20 | Cisco Technology, Inc. | Rogue AP detection |
JP2003051819A (ja) * | 2001-08-08 | 2003-02-21 | Toshiba Corp | マイクロプロセッサ |
CN1592877B (zh) * | 2001-09-28 | 2010-05-26 | 高密度装置公司 | 用于对大容量存储设备上数据加密/解密的方法和装置 |
JP4226816B2 (ja) * | 2001-09-28 | 2009-02-18 | 株式会社東芝 | マイクロプロセッサ |
KR20040058278A (ko) * | 2001-11-12 | 2004-07-03 | 네트워크 리서치 랩 리미티드 | 비인가된 사용에 대한 정보의 보호방법 및 보호장치 |
US20030115471A1 (en) * | 2001-12-19 | 2003-06-19 | Skeba Kirk W. | Method and apparatus for building operational radio firmware using incrementally certified modules |
KR100458515B1 (ko) * | 2001-12-21 | 2004-12-03 | 한국전자통신연구원 | 무선 인터넷을 통한 이동 단말용 응용프로그램 설치시스템 및 그 방법 |
US7305567B1 (en) * | 2002-03-01 | 2007-12-04 | Cavium Networks, In. | Decoupled architecture for data ciphering operations |
KR20030075018A (ko) * | 2002-03-15 | 2003-09-22 | 주식회사 셈틀로미디어 | 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법 |
US7900054B2 (en) * | 2002-03-25 | 2011-03-01 | Intel Corporation | Security protocols for processor-based systems |
JP2003330365A (ja) * | 2002-05-09 | 2003-11-19 | Toshiba Corp | コンテンツ配布/受信方法 |
AU2002306257A1 (en) | 2002-06-05 | 2003-12-22 | Fujitsu Limited | Memory managing unit, code verifying device, and code decoder |
US7392415B2 (en) * | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection |
JP4073913B2 (ja) * | 2002-07-09 | 2008-04-09 | 富士通株式会社 | 開放型汎用耐攻撃cpu及びその応用システム |
US20040017918A1 (en) * | 2002-07-24 | 2004-01-29 | Christophe Nicolas | Process for point-to-point secured transmission of data and electronic module for implementing the process |
JP2004054834A (ja) | 2002-07-24 | 2004-02-19 | Matsushita Electric Ind Co Ltd | プログラム開発方法、プログラム開発支援装置およびプログラム実装方法 |
EP1429224A1 (en) * | 2002-12-10 | 2004-06-16 | Texas Instruments Incorporated | Firmware run-time authentication |
JP4099039B2 (ja) | 2002-11-15 | 2008-06-11 | 松下電器産業株式会社 | プログラム更新方法 |
US7137109B2 (en) * | 2002-12-17 | 2006-11-14 | Hewlett-Packard Development Company, L.P. | System and method for managing access to a controlled space in a simulator environment |
US7434043B2 (en) | 2002-12-18 | 2008-10-07 | Broadcom Corporation | Cryptography accelerator data routing unit |
US7568110B2 (en) | 2002-12-18 | 2009-07-28 | Broadcom Corporation | Cryptography accelerator interface decoupling from cryptography processing cores |
US20040123123A1 (en) * | 2002-12-18 | 2004-06-24 | Buer Mark L. | Methods and apparatus for accessing security association information in a cryptography accelerator |
US20040123120A1 (en) * | 2002-12-18 | 2004-06-24 | Broadcom Corporation | Cryptography accelerator input interface data handling |
US7512811B2 (en) * | 2003-01-14 | 2009-03-31 | Canon Kabushiki Kaisha | Encryption/decryption method for data limited in value range, apparatus and program therefor |
JP3880933B2 (ja) * | 2003-01-21 | 2007-02-14 | 株式会社東芝 | 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法 |
US7370319B2 (en) * | 2003-02-11 | 2008-05-06 | V.I. Laboratories, Inc. | System and method for regulating execution of computer software |
US8225290B2 (en) * | 2003-02-11 | 2012-07-17 | V. i. Laboratories, Inc. | Systems and methods for regulating execution of computer software |
US7925891B2 (en) * | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7502943B2 (en) * | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7539876B2 (en) * | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7529367B2 (en) * | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7321910B2 (en) * | 2003-04-18 | 2008-01-22 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7532722B2 (en) * | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US7529368B2 (en) * | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions |
US8060755B2 (en) * | 2003-04-18 | 2011-11-15 | Via Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine |
US7392400B2 (en) * | 2003-04-18 | 2008-06-24 | Via Technologies, Inc. | Microprocessor apparatus and method for optimizing block cipher cryptographic functions |
US7844053B2 (en) * | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7900055B2 (en) * | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7536560B2 (en) * | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
US7519833B2 (en) * | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7542566B2 (en) * | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
GB2403562A (en) * | 2003-07-04 | 2005-01-05 | Hewlett Packard Development Co | Secure processing environment in which executable code for services is only received by a secure loading process through the service request interface |
US7366302B2 (en) * | 2003-08-25 | 2008-04-29 | Sony Corporation | Apparatus and method for an iterative cryptographic block |
EP3798874A1 (en) | 2003-08-26 | 2021-03-31 | Panasonic Intellectual Property Corporation of America | Program execution device |
JP4263976B2 (ja) * | 2003-09-24 | 2009-05-13 | 株式会社東芝 | オンチップマルチコア型耐タンパプロセッサ |
US7681046B1 (en) | 2003-09-26 | 2010-03-16 | Andrew Morgan | System with secure cryptographic capabilities using a hardware specific digital secret |
TWI247241B (en) * | 2003-09-29 | 2006-01-11 | Ip First Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
TWI274280B (en) * | 2003-09-29 | 2007-02-21 | Via Tech Inc | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7694151B1 (en) * | 2003-11-20 | 2010-04-06 | Johnson Richard C | Architecture, system, and method for operating on encrypted and/or hidden information |
US8156343B2 (en) * | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
TWI274281B (en) * | 2003-12-04 | 2007-02-21 | Ip First Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
JP4282472B2 (ja) * | 2003-12-26 | 2009-06-24 | 株式会社東芝 | マイクロプロセッサ |
CN1661958B (zh) * | 2004-03-15 | 2010-04-28 | 威盛电子股份有限公司 | 区块密码功能的微处理器及方法 |
EP1745340B1 (en) * | 2004-04-29 | 2011-04-13 | Nxp B.V. | Intrusion detection during program execution in a computer |
US9219729B2 (en) | 2004-05-19 | 2015-12-22 | Philip Drope | Multimedia network system with content importation, content exportation, and integrated content management |
JP2005346182A (ja) * | 2004-05-31 | 2005-12-15 | Fujitsu Ltd | 情報処理装置、耐タンパ方法、耐タンパプログラム |
US20050276413A1 (en) * | 2004-06-14 | 2005-12-15 | Raja Neogi | Method and apparatus to manage heterogeneous cryptographic operations |
CN100354787C (zh) * | 2004-06-24 | 2007-12-12 | 株式会社东芝 | 微处理器 |
CN100353276C (zh) * | 2004-06-24 | 2007-12-05 | 株式会社东芝 | 微处理器 |
JP4559794B2 (ja) * | 2004-06-24 | 2010-10-13 | 株式会社東芝 | マイクロプロセッサ |
JP4612461B2 (ja) * | 2004-06-24 | 2011-01-12 | 株式会社東芝 | マイクロプロセッサ |
JP4447977B2 (ja) | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
JP4490192B2 (ja) * | 2004-07-02 | 2010-06-23 | 株式会社エヌ・ティ・ティ・ドコモ | マルチタスク実行システム |
JP4204522B2 (ja) * | 2004-07-07 | 2009-01-07 | 株式会社東芝 | マイクロプロセッサ |
JP2006023957A (ja) * | 2004-07-07 | 2006-01-26 | Sony Corp | 半導体集積回路及び情報処理装置 |
US20060136717A1 (en) | 2004-12-20 | 2006-06-22 | Mark Buer | System and method for authentication via a proximate device |
US8295484B2 (en) | 2004-12-21 | 2012-10-23 | Broadcom Corporation | System and method for securing data from a remote input device |
JP2006202017A (ja) * | 2005-01-20 | 2006-08-03 | Sharp Corp | 情報処理装置、情報記憶装置、情報処理装置の機能拡張システム、情報処理装置の機能拡張方法及び機能削除方法、並びに情報処理装置の機能拡張プログラム及び機能削除プログラム |
EP1717723A1 (en) * | 2005-04-29 | 2006-11-02 | ST Incard S.r.l. | Improved virtual machine or hardware processor for IC-card portable electronic devices |
JP2006311462A (ja) * | 2005-05-02 | 2006-11-09 | Toshiba Corp | コンテンツ検索装置及びその方法 |
US9633213B2 (en) * | 2005-05-16 | 2017-04-25 | Texas Instruments Incorporated | Secure emulation logic between page attribute table and test interface |
US20060259828A1 (en) | 2005-05-16 | 2006-11-16 | Texas Instruments Incorporated | Systems and methods for controlling access to secure debugging and profiling features of a computer system |
CN101233525A (zh) * | 2005-05-26 | 2008-07-30 | 松下电器产业株式会社 | 数据处理装置 |
US20070006307A1 (en) * | 2005-06-30 | 2007-01-04 | Hahn Scott D | Systems, apparatuses and methods for a host software presence check from an isolated partition |
US7953980B2 (en) * | 2005-06-30 | 2011-05-31 | Intel Corporation | Signed manifest for run-time verification of software program identity and integrity |
US7571298B2 (en) * | 2005-06-30 | 2009-08-04 | Intel Corporation | Systems and methods for host virtual memory reconstitution |
US8839450B2 (en) * | 2007-08-02 | 2014-09-16 | Intel Corporation | Secure vault service for software components within an execution environment |
US7669242B2 (en) * | 2005-06-30 | 2010-02-23 | Intel Corporation | Agent presence monitor configured to execute in a secure environment |
EP1752937A1 (en) | 2005-07-29 | 2007-02-14 | Research In Motion Limited | System and method for encrypted smart card PIN entry |
JP2007058588A (ja) * | 2005-08-24 | 2007-03-08 | Toshiba Corp | プログラム保護機能を持つプロセッサ |
US8171268B2 (en) * | 2005-09-19 | 2012-05-01 | Intel Corporation | Technique for context state management to reduce save and restore operations between a memory and a processor using in-use vectors |
US20070067590A1 (en) * | 2005-09-22 | 2007-03-22 | Uday Savagaonkar | Providing protected access to critical memory regions |
US7496727B1 (en) | 2005-12-06 | 2009-02-24 | Transmeta Corporation | Secure memory access system and method |
US20070168680A1 (en) * | 2006-01-13 | 2007-07-19 | Lockheed Martin Corporation | Anti-tamper system |
US7681047B2 (en) * | 2006-04-18 | 2010-03-16 | International Business Machines Corporation | Decryption of data in storage systems |
US7428306B2 (en) * | 2006-04-18 | 2008-09-23 | International Business Machines Corporation | Encryption apparatus and method for providing an encrypted file system |
US8190917B2 (en) | 2006-09-12 | 2012-05-29 | International Business Machines Corporation | System and method for securely saving and restoring a context of a secure program loader |
US7945789B2 (en) * | 2006-09-12 | 2011-05-17 | International Business Machines Corporation | System and method for securely restoring a program context from a shared memory |
US8095802B2 (en) * | 2006-09-12 | 2012-01-10 | International Business Machines Corporation | System and method for securely saving a program context to a shared memory |
US7660769B2 (en) | 2006-09-12 | 2010-02-09 | International Business Machines Corporation | System and method for digital content player with secure processing vault |
WO2008035141A2 (en) * | 2006-09-20 | 2008-03-27 | Chan Kam-Fu | From polymorphic executable to polymorphic operating system |
US7882318B2 (en) * | 2006-09-29 | 2011-02-01 | Intel Corporation | Tamper protection of software agents operating in a vitual technology environment methods and apparatuses |
US7802050B2 (en) * | 2006-09-29 | 2010-09-21 | Intel Corporation | Monitoring a target agent execution pattern on a VT-enabled system |
US20080141382A1 (en) * | 2006-12-12 | 2008-06-12 | Lockheed Martin Corporation | Anti-tamper device |
US8495383B2 (en) * | 2006-12-14 | 2013-07-23 | Nokia Corporation | Method for the secure storing of program state data in an electronic device |
US8245307B1 (en) * | 2006-12-18 | 2012-08-14 | Nvidia Corporation | Providing secure access to a secret |
US20080148061A1 (en) * | 2006-12-19 | 2008-06-19 | Hongxia Jin | Method for effective tamper resistance |
US20080155273A1 (en) * | 2006-12-21 | 2008-06-26 | Texas Instruments, Inc. | Automatic Bus Encryption And Decryption |
US7949130B2 (en) * | 2006-12-28 | 2011-05-24 | Intel Corporation | Architecture and instruction set for implementing advanced encryption standard (AES) |
US20080229117A1 (en) * | 2007-03-07 | 2008-09-18 | Shin Kang G | Apparatus for preventing digital piracy |
EP1978466A1 (en) * | 2007-04-05 | 2008-10-08 | STMicroelectronics (Research & Development) Limited | Integrated circuit and method for secure execution of software |
KR101405915B1 (ko) | 2007-04-26 | 2014-06-12 | 삼성전자주식회사 | 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법 |
WO2009023307A2 (en) * | 2007-05-03 | 2009-02-19 | The Research Foundation Of The State University Of New York | Method and apparatus for tamper-proof write-once-read-many computer storage |
EP2015561A1 (fr) * | 2007-07-10 | 2009-01-14 | Nagracard S.A. | Procédé d'envoi d'un code exécutable à un dispositif de réception et procédé d'exécution de ce code |
US8312518B1 (en) * | 2007-09-27 | 2012-11-13 | Avaya Inc. | Island of trust in a service-oriented environment |
JP5201716B2 (ja) * | 2007-09-28 | 2013-06-05 | 東芝ソリューション株式会社 | 暗号モジュール配信システム、暗号管理サーバ装置、暗号処理装置、クライアント装置、暗号管理プログラム、暗号処理プログラム、およびクライアントプログラム |
US8539098B2 (en) | 2007-10-17 | 2013-09-17 | Dispersive Networks, Inc. | Multiplexed client server (MCS) communications and systems |
US8560634B2 (en) | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
US8099718B2 (en) * | 2007-11-13 | 2012-01-17 | Intel Corporation | Method and system for whitelisting software components |
JP4976991B2 (ja) * | 2007-11-22 | 2012-07-18 | 株式会社東芝 | 情報処理装置、プログラム検証方法及びプログラム |
US7788433B2 (en) * | 2008-05-24 | 2010-08-31 | Via Technologies, Inc. | Microprocessor apparatus providing for secure interrupts and exceptions |
US8819839B2 (en) * | 2008-05-24 | 2014-08-26 | Via Technologies, Inc. | Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels |
US8175265B2 (en) | 2008-09-02 | 2012-05-08 | Apple Inc. | Systems and methods for implementing block cipher algorithms on attacker-controlled systems |
US8745411B2 (en) * | 2008-11-07 | 2014-06-03 | Broadcom Corporation | Protecting external volatile memories using low latency encryption/decryption |
JP5322620B2 (ja) | 2008-12-18 | 2013-10-23 | 株式会社東芝 | 情報処理装置、プログラム開発システム、プログラム検証方法及びプログラム |
US8364601B2 (en) * | 2008-12-31 | 2013-01-29 | Intel Corporation | Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain |
US8819446B2 (en) * | 2009-06-26 | 2014-08-26 | International Business Machines Corporation | Support for secure objects in a computer system |
US9954875B2 (en) | 2009-06-26 | 2018-04-24 | International Business Machines Corporation | Protecting from unintentional malware download |
US9846789B2 (en) | 2011-09-06 | 2017-12-19 | International Business Machines Corporation | Protecting application programs from malicious software or malware |
US8954752B2 (en) | 2011-02-23 | 2015-02-10 | International Business Machines Corporation | Building and distributing secure object software |
US8578175B2 (en) | 2011-02-23 | 2013-11-05 | International Business Machines Corporation | Secure object having protected region, integrity tree, and unprotected region |
US9298894B2 (en) | 2009-06-26 | 2016-03-29 | International Business Machines Corporation | Cache structure for a computer system providing support for secure objects |
US8812872B2 (en) * | 2010-02-08 | 2014-08-19 | Hypertech Co., Ltd. | Memory managment method |
JP5377748B2 (ja) | 2010-02-18 | 2013-12-25 | 株式会社東芝 | プログラム |
DE102010010851A1 (de) * | 2010-03-10 | 2011-09-15 | Giesecke & Devrient Gmbh | Ausspähungsschutz bei der Ausführung einer Operationssequenz in einem tragbaren Datenträger |
US8370648B1 (en) * | 2010-03-15 | 2013-02-05 | Emc International Company | Writing and reading encrypted data using time-based encryption keys |
US20110258430A1 (en) * | 2010-04-15 | 2011-10-20 | Nokia Corporation | Method and apparatus for applying execution context criteria for execution context sharing |
TWI497344B (zh) * | 2010-05-17 | 2015-08-21 | Via Tech Inc | 微處理器及產生不可預測之鑰的方法 |
US9892283B2 (en) | 2010-05-25 | 2018-02-13 | Via Technologies, Inc. | Decryption of encrypted instructions using keys selected on basis of instruction fetch address |
US8639945B2 (en) | 2010-05-25 | 2014-01-28 | Via Technologies, Inc. | Branch and switch key instruction in a microprocessor that fetches and decrypts encrypted instructions |
US9967092B2 (en) | 2010-05-25 | 2018-05-08 | Via Technologies, Inc. | Key expansion logic using decryption key primitives |
US9798898B2 (en) | 2010-05-25 | 2017-10-24 | Via Technologies, Inc. | Microprocessor with secure execution mode and store key instructions |
US9911008B2 (en) | 2010-05-25 | 2018-03-06 | Via Technologies, Inc. | Microprocessor with on-the-fly switching of decryption keys |
US8812871B2 (en) | 2010-05-27 | 2014-08-19 | Cisco Technology, Inc. | Method and apparatus for trusted execution in infrastructure as a service cloud environments |
US8990582B2 (en) * | 2010-05-27 | 2015-03-24 | Cisco Technology, Inc. | Virtual machine memory compartmentalization in multi-core architectures |
JP5171907B2 (ja) * | 2010-09-13 | 2013-03-27 | 株式会社東芝 | 情報処理装置、情報処理プログラム |
JP2012080295A (ja) * | 2010-09-30 | 2012-04-19 | Toshiba Corp | 情報記憶装置、情報記憶方法、及び電子機器 |
JP2012084071A (ja) * | 2010-10-14 | 2012-04-26 | Toshiba Corp | デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置 |
US8955110B1 (en) | 2011-01-14 | 2015-02-10 | Robert W. Twitchell, Jr. | IP jamming systems utilizing virtual dispersive networking |
US8941659B1 (en) | 2011-01-28 | 2015-01-27 | Rescon Ltd | Medical symptoms tracking apparatus, methods and systems |
US9864853B2 (en) | 2011-02-23 | 2018-01-09 | International Business Machines Corporation | Enhanced security mechanism for authentication of users of a system |
US8839001B2 (en) * | 2011-07-06 | 2014-09-16 | The Boeing Company | Infinite key memory transaction unit |
US8661527B2 (en) | 2011-08-31 | 2014-02-25 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
US9166953B2 (en) * | 2011-10-31 | 2015-10-20 | Nokia Technologies Oy | Method and apparatus for providing identity based encryption in distributed computations |
US20130108038A1 (en) * | 2011-11-01 | 2013-05-02 | Apple Inc. | System and method for a collatz based hash function |
JP5275432B2 (ja) | 2011-11-11 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
CN102509048A (zh) * | 2011-11-14 | 2012-06-20 | 西安电子科技大学 | 防止操作系统中断流程被非法转移的方法 |
JP5112555B1 (ja) | 2011-12-02 | 2013-01-09 | 株式会社東芝 | メモリカード、ストレージメディア、及びコントローラ |
JP5204290B1 (ja) | 2011-12-02 | 2013-06-05 | 株式会社東芝 | ホスト装置、システム、及び装置 |
JP5204291B1 (ja) | 2011-12-02 | 2013-06-05 | 株式会社東芝 | ホスト装置、装置、システム |
JP5100884B1 (ja) | 2011-12-02 | 2012-12-19 | 株式会社東芝 | メモリ装置 |
CN102521037B (zh) * | 2011-12-05 | 2013-12-25 | 晶门科技(深圳)有限公司 | 使用双上下文存储的密码学算法协处理器及数据流处理方法 |
JP5275482B2 (ja) | 2012-01-16 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
US8954755B2 (en) | 2012-01-23 | 2015-02-10 | International Business Machines Corporation | Memory address translation-based data encryption with integrated encryption engine |
EP2653992A1 (en) | 2012-04-17 | 2013-10-23 | Itron, Inc. | Microcontroller configured for external memory decryption |
JP6201298B2 (ja) * | 2012-11-14 | 2017-09-27 | オムロン株式会社 | コントローラおよびプログラム |
US9183161B2 (en) * | 2012-12-28 | 2015-11-10 | Intel Corporation | Apparatus and method for page walk extension for enhanced security checks |
US9201811B2 (en) | 2013-02-14 | 2015-12-01 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
US8984294B2 (en) | 2013-02-15 | 2015-03-17 | Kabushiki Kaisha Toshiba | System of authenticating an individual memory device via reading data including prohibited data and readable data |
US11044076B2 (en) * | 2013-02-25 | 2021-06-22 | Hecusys, LLC | Encrypted data processing |
US9846656B2 (en) | 2013-04-17 | 2017-12-19 | Laurence H. Cooke | Secure computing |
US9280490B2 (en) * | 2013-04-17 | 2016-03-08 | Laurence H. Cooke | Secure computing |
US10055588B2 (en) * | 2013-11-13 | 2018-08-21 | Via Technologies, Inc. | Event-based apparatus and method for securing BIOS in a trusted computing system during execution |
US9547767B2 (en) * | 2013-11-13 | 2017-01-17 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9223965B2 (en) | 2013-12-10 | 2015-12-29 | International Business Machines Corporation | Secure generation and management of a virtual card on a mobile device |
US9235692B2 (en) | 2013-12-13 | 2016-01-12 | International Business Machines Corporation | Secure application debugging |
TWI712915B (zh) * | 2014-06-12 | 2020-12-11 | 美商密碼研究公司 | 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 |
US9954849B2 (en) * | 2014-06-27 | 2018-04-24 | Oath (Americas) Inc. | Systems and methods for managing secure sharing of online advertising data |
EP3183685A1 (en) * | 2014-08-20 | 2017-06-28 | Intel Corporation | Encrypted code execution |
US9967319B2 (en) * | 2014-10-07 | 2018-05-08 | Microsoft Technology Licensing, Llc | Security context management in multi-tenant environments |
GB2531770A (en) * | 2014-10-30 | 2016-05-04 | Ibm | Confidential Extracting System Internal Data |
US9418246B2 (en) * | 2014-12-15 | 2016-08-16 | Freescale Semiconductor, Inc. | Decryption systems and related methods for on-the-fly decryption within integrated circuits |
US9729319B2 (en) * | 2014-12-15 | 2017-08-08 | Nxp Usa, Inc. | Key management for on-the-fly hardware decryption within integrated circuits |
JP2016181836A (ja) * | 2015-03-24 | 2016-10-13 | キヤノン株式会社 | 情報処理装置、暗号装置、情報処理装置の制御方法、およびプログラム |
US10868665B1 (en) * | 2015-05-18 | 2020-12-15 | Amazon Technologies, Inc. | Mitigating timing side-channel attacks by obscuring accesses to sensitive data |
US10311229B1 (en) * | 2015-05-18 | 2019-06-04 | Amazon Technologies, Inc. | Mitigating timing side-channel attacks by obscuring alternatives in code |
CN105530088A (zh) * | 2015-09-01 | 2016-04-27 | 北京中电华大电子设计有限责任公司 | 一种安全的java卡密钥存储方法 |
US10297003B2 (en) * | 2015-09-21 | 2019-05-21 | Qualcomm Incorporated | Efficient saving and restoring of context information for context switches |
US9449189B1 (en) | 2015-11-03 | 2016-09-20 | International Business Machines Corporation | Protection of state data in computer system code |
US10210040B2 (en) | 2016-01-28 | 2019-02-19 | Nxp Usa, Inc. | Multi-dimensional parity checker (MDPC) systems and related methods for external memories |
US9418327B1 (en) | 2016-01-29 | 2016-08-16 | International Business Machines Corporation | Security key system |
CN112087519A (zh) * | 2016-04-12 | 2020-12-15 | 伽德诺克斯信息技术有限公司 | 具有被配置为实现安全锁定的相关设备的特别编程的计算系统及其使用方法 |
KR101855905B1 (ko) * | 2016-07-15 | 2018-06-19 | 주식회사 마크애니 | 영상 반출 처리 서버, 영상 반출 웹 서버 및 영상 반출 관리 시스템, 및 암호화 영상에 대한 무결성 검증 방법 |
DE102016009439A1 (de) * | 2016-08-03 | 2018-02-08 | Giesecke+Devrient Mobile Security Gmbh | Individuelles Verschlüsseln von Steuerbefehlen |
CN107066331B (zh) * | 2016-12-20 | 2021-05-18 | 华为技术有限公司 | 一种基于TrustZone的资源分配方法及设备 |
DE102017212618B3 (de) | 2017-07-21 | 2018-12-13 | Bundesdruckerei Gmbh | Hardwaresystem mit Blockchain |
FR3069935A1 (fr) * | 2017-08-01 | 2019-02-08 | Maxim Integrated Products, Inc. | Dispositifs et procedes de protection de propriete intellectuelle de logiciel pour des plates-formes integrees |
KR20190075363A (ko) * | 2017-12-21 | 2019-07-01 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈 |
GB2572579B (en) * | 2018-04-04 | 2020-09-16 | Advanced Risc Mach Ltd | Speculative side-channel hint instruction |
US11113424B2 (en) | 2019-05-07 | 2021-09-07 | Motorola Solutions, Inc. | Device, system and method for installing encrypted data |
JP7249968B2 (ja) * | 2020-03-09 | 2023-03-31 | 株式会社東芝 | 情報処理装置およびストレージ |
US11502832B2 (en) | 2020-06-04 | 2022-11-15 | PUFsecurity Corporation | Electronic device capable of protecting confidential data |
KR102512342B1 (ko) * | 2021-02-23 | 2023-03-22 | 엘아이지넥스원 주식회사 | 캐시 메모리에 비밀키를 저장하여 암복호화를 처리하는 점검 대상 점검 방법 및 그를 위한 장치 |
US11868275B2 (en) | 2021-06-24 | 2024-01-09 | International Business Machines Corporation | Encrypted data processing design including local buffers |
US12008150B2 (en) * | 2021-06-24 | 2024-06-11 | International Business Machines Corporation | Encrypted data processing design including cleartext register files |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4168396A (en) | 1977-10-31 | 1979-09-18 | Best Robert M | Microprocessor for executing enciphered programs |
US4558176A (en) * | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
US4847902A (en) | 1984-02-10 | 1989-07-11 | Prime Computer, Inc. | Digital computer system for executing encrypted programs |
GB2163577B (en) * | 1984-08-23 | 1988-01-13 | Nat Res Dev | Software protection device |
US4757533A (en) * | 1985-09-11 | 1988-07-12 | Computer Security Corporation | Security system for microcomputers |
US5123045A (en) * | 1989-08-18 | 1992-06-16 | Massachusetts Institute Of Technology | Comprehensive software protection system |
JPH0770629B2 (ja) | 1990-03-20 | 1995-07-31 | 株式会社東芝 | 不揮発性半導体記憶装置の製造方法 |
JPH0520197A (ja) | 1991-07-09 | 1993-01-29 | Hitachi Ltd | 記憶管理システム及びマイクロプロセツサ |
US5224166A (en) | 1992-08-11 | 1993-06-29 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
US5495411A (en) * | 1993-12-22 | 1996-02-27 | Ananda; Mohan | Secure software rental system using continuous asynchronous password verification |
US5666411A (en) * | 1994-01-13 | 1997-09-09 | Mccarty; Johnnie C. | System for computer software protection |
US6473860B1 (en) * | 1994-04-07 | 2002-10-29 | Hark C. Chan | Information distribution and processing system |
US5805706A (en) * | 1996-04-17 | 1998-09-08 | Intel Corporation | Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format |
US5701343A (en) | 1994-12-01 | 1997-12-23 | Nippon Telegraph & Telephone Corporation | Method and system for digital information protection |
CN101359350B (zh) * | 1995-02-13 | 2012-10-03 | 英特特拉斯特技术公司 | 用于安全地管理在数据项上的操作的方法 |
US6246767B1 (en) * | 1995-04-03 | 2001-06-12 | Scientific-Atlanta, Inc. | Source authentication of download information in a conditional access system |
JPH08305558A (ja) | 1995-04-27 | 1996-11-22 | Casio Comput Co Ltd | 暗号化プログラム演算装置 |
US6006328A (en) * | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
US5894516A (en) * | 1996-07-10 | 1999-04-13 | Ncr Corporation | Broadcast software distribution |
US5825878A (en) | 1996-09-20 | 1998-10-20 | Vlsi Technology, Inc. | Secure memory management unit for microprocessor |
JP2980576B2 (ja) | 1997-09-12 | 1999-11-22 | 株式会社東芝 | 物理乱数発生装置及び方法並びに物理乱数記録媒体 |
US6429879B1 (en) * | 1997-09-30 | 2002-08-06 | Compaq Computer Corporation | Customization schemes for content presentation in a device with converged functionality |
US6003117A (en) * | 1997-10-08 | 1999-12-14 | Vlsi Technology, Inc. | Secure memory management unit which utilizes a system processor to perform page swapping |
US6237137B1 (en) | 1997-10-15 | 2001-05-22 | Dell Usa, L.P. | Method and system for preventing unauthorized access to a computer program |
US6330549B1 (en) * | 1997-10-30 | 2001-12-11 | Xerox Corporation | Protected shareware |
JPH11282667A (ja) | 1998-03-31 | 1999-10-15 | Nakamichi Corp | 多重鍵方式の暗号処理機能を有するマイクロプロセッサ |
JP3713141B2 (ja) * | 1998-05-19 | 2005-11-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの不正実行防止方法 |
CA2309627A1 (en) | 1998-09-25 | 2000-04-06 | Hughes Electronics Corporation | An apparatus for providing a secure processing environment |
US6385727B1 (en) * | 1998-09-25 | 2002-05-07 | Hughes Electronics Corporation | Apparatus for providing a secure processing environment |
US6567915B1 (en) * | 1998-10-23 | 2003-05-20 | Microsoft Corporation | Integrated circuit card with identity authentication table and authorization tables defining access rights based on Boolean expressions of authenticated identities |
US6836847B1 (en) * | 1999-03-05 | 2004-12-28 | The Johns Hokins University | Software protection for single and multiple microprocessor systems |
US6691226B1 (en) * | 1999-03-16 | 2004-02-10 | Western Digital Ventures, Inc. | Computer system with disk drive having private key validation means for enabling features |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
US6468160B2 (en) * | 1999-04-08 | 2002-10-22 | Nintendo Of America, Inc. | Security system for video game system with hard disk drive and internet access capability |
AU5910800A (en) * | 1999-06-30 | 2001-01-31 | Accenture Llp | A system, method and article of manufacture for tracking software sale transactions of an internet-based retailer for reporting to a software publisher |
US6983374B2 (en) | 2000-02-14 | 2006-01-03 | Kabushiki Kaisha Toshiba | Tamper resistant microprocessor |
JP4153653B2 (ja) | 2000-10-31 | 2008-09-24 | 株式会社東芝 | マイクロプロセッサおよびデータ保護方法 |
-
2001
- 2001-02-13 US US09/781,158 patent/US6983374B2/en not_active Expired - Fee Related
- 2001-02-13 US US09/781,284 patent/US7270193B2/en not_active Expired - Fee Related
- 2001-02-14 CN CNB011045124A patent/CN1220121C/zh not_active Expired - Fee Related
- 2001-02-14 DE DE60135695T patent/DE60135695D1/de not_active Expired - Lifetime
- 2001-02-14 EP EP01301241A patent/EP1126356B1/en not_active Expired - Lifetime
- 2001-02-14 KR KR1020010007301A patent/KR100362219B1/ko not_active IP Right Cessation
- 2001-02-14 EP EP01301240A patent/EP1126355A1/en not_active Ceased
- 2001-02-14 KR KR10-2001-0007300A patent/KR100375158B1/ko not_active IP Right Cessation
- 2001-02-14 CN CNB011030003A patent/CN1189819C/zh not_active Expired - Fee Related
-
2005
- 2005-03-04 US US11/071,327 patent/US7353404B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1189819C (zh) | 2005-02-16 |
KR100362219B1 (ko) | 2002-11-23 |
US20010014157A1 (en) | 2001-08-16 |
US7270193B2 (en) | 2007-09-18 |
CN1309351A (zh) | 2001-08-22 |
US20050166069A1 (en) | 2005-07-28 |
US7353404B2 (en) | 2008-04-01 |
KR20010082631A (ko) | 2001-08-30 |
KR20010082632A (ko) | 2001-08-30 |
US20010018736A1 (en) | 2001-08-30 |
DE60135695D1 (de) | 2008-10-23 |
EP1126356B1 (en) | 2008-09-10 |
EP1126355A1 (en) | 2001-08-22 |
CN1309355A (zh) | 2001-08-22 |
EP1126356A2 (en) | 2001-08-22 |
EP1126356A3 (en) | 2003-01-08 |
US6983374B2 (en) | 2006-01-03 |
KR100375158B1 (ko) | 2003-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1220121C (zh) | 程序分发设备、客户设备、程序分发系统和程序分发方法 | |
US7051211B1 (en) | Secure software distribution and installation | |
EP1942430B1 (en) | Token Passing Technique for Media Playback Devices | |
US8660964B2 (en) | Secure device licensing | |
AU2006200096B2 (en) | Flexible licensing architecture in content rights management systems | |
US7480802B2 (en) | License-based cryptographic technique, particularly suited for use in a digital rights management system, for controlling access and use of bore resistant software objects in a client computer | |
US6871192B2 (en) | System and method for preventing unauthorized use of protected software utilizing a portable security device | |
US6233567B1 (en) | Method and apparatus for software licensing electronically distributed programs | |
KR100467929B1 (ko) | 디지털 컨텐츠의 보호 및 관리를 위한 시스템 | |
TWI420339B (zh) | 軟體授權系統及方法 | |
CN100338905C (zh) | 具有硬件适应性的数字内容与硬件绑定的方法 | |
JP2013059078A (ja) | マルチメディア・データの保護 | |
CN1326629A (zh) | 鉴定及利用计算机系统安全资源的方法和系统 | |
CN101142599A (zh) | 基于硬件识别的数字权利管理系统 | |
JP2009501470A5 (zh) | ||
WO1998042098A1 (en) | Digital product rights management technique | |
JP4470982B2 (ja) | 情報処理装置及び情報処理プログラム | |
US20060230271A1 (en) | Process and method to distribute software product keys electronically to manufacturing entities | |
US20190044709A1 (en) | Incorporating software date information into a key exchange protocol to reduce software tampering | |
CN1559026A (zh) | 防止非法使用信息的方法和装置 | |
JP2005174359A (ja) | 保護情報の使用を権限付与する携帯用権限付与装置及び関連方法 | |
CN1361481A (zh) | 基于网络浏览器插件的版权保护方法 | |
KR101415786B1 (ko) | 온라인 실행 코드 기술과 암호화 기반 불법 복제 방지 시스템 및 그 방법 | |
EP2998895B1 (en) | Technique for enabling nominal flow of an executable file | |
US11748459B2 (en) | Reducing software release date tampering by incorporating software release date information into a key exchange protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050921 Termination date: 20110214 |