CN1350670A - 公共密钥控制单元及其系统 - Google Patents
公共密钥控制单元及其系统 Download PDFInfo
- Publication number
- CN1350670A CN1350670A CN00807632A CN00807632A CN1350670A CN 1350670 A CN1350670 A CN 1350670A CN 00807632 A CN00807632 A CN 00807632A CN 00807632 A CN00807632 A CN 00807632A CN 1350670 A CN1350670 A CN 1350670A
- Authority
- CN
- China
- Prior art keywords
- small routine
- safe small
- key
- safe
- cryptographic
- 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
- 230000015654 memory Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 84
- 230000008569 process Effects 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 22
- 238000009826 distribution Methods 0.000 claims description 11
- 238000011084 recovery Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims 3
- 230000002093 peripheral effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 22
- 238000013478 data encryption standard Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000010977 unit operation Methods 0.000 description 6
- 102220495973 BCL2/adenovirus E1B 19 kDa protein-interacting protein 3-like_N32A_mutation Human genes 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 1
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 1
- 102100039558 Galectin-3 Human genes 0.000 description 1
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 1
- 101150115300 MAC1 gene Proteins 0.000 description 1
- 101150051246 MAC2 gene Proteins 0.000 description 1
- GDTBXPJZTBHREO-UHFFFAOYSA-N bromine Chemical compound BrBr GDTBXPJZTBHREO-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000036449 good health Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- XEEYBQQBJWHFJM-UHFFFAOYSA-N iron Substances [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 1
- 150000002505 iron Chemical class 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000001235 sensitizing effect Effects 0.000 description 1
- 230000036299 sexual function Effects 0.000 description 1
- 239000004575 stone Substances 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
一个普遍适用的公共密码控制单元(密码单元)被用于被多个独立用户共享的密码系统。作外围设备安装在通用计算机的密码单元加载和卸载加密的安全小程序到运行每个安全小程序的密码单元的RAM存储器。密码单元和包括它的系统提供一个安全的内部环境,其中只有预先批准的安全小程序被授予加载和运行的许可。在密码单元中的计算环境由于与每个密码单元通讯的密码操作中心(OPC)而成为安全的。在分配给定的安全小程序以便得到对给定安全小程序的必要的许可以前,软件开发者提交一个提出的安全小程序给OPC。仅当从OPC得到所有必要的许可时,一个给定的安全小程序才被允许去密码单元内加载运行。当第一安全小程序结束运行时,密码将加密形式的当前加载的第一安全小程序卸载(换上)到PC的硬盘,并加载(换入)下一个安全小程序。每个安全小程序的密码内容被保存储存在PC硬盘驱动器的文件中。以那样的方式,单个密码单元在多个独立的用户之间被共享。
Description
发明领域
本发明涉及密码系统,尤其是涉及一个密钥管理系统及一个共享的公共密码控制单元。
发明背景
许多计算机应用需要实现一个或多个安全功能。计算机程序的安全功能是它防止用户胡乱篡改的特点及操作。
例如,一个软件程序可以具有一个过时日期,在此日期之后程序变成不能运行。但是典型的软件过时功能是不安全的,因为只要将当地计算机时间设置成较早的时间,或者修改该软件使其跳过核时当地计算机时钟的软件,此功能就失效了。
作为另一个例子,一个保存从当地的加密数据度存放数据的记录用于支付当地加密数据库的登记使用的计算机程序通常具有两个关键的寄存器。第一个寄存器表示过去数据使用的量,另一个寄存器表示余数的量。如果更新该寄存器和存款寄存器不是一个安全的功能,用户能减少使用寄存器的内容和/或增加存款寄存器的内容使该系统失效。类似地,为租赁支付目的保存租赁软件的使用记录的租赁软件也需要防止用户对租赁记账寄存器和其他重要的内部寄存器及功能的胡乱篡改。
作为另一个例子,一个远程访问的数据库能对授权的用地该数据库的访问收费。常需要一个安全系统在授权访问该数据库之前识别每个用户的身份。然而另一个安全系统是密钥管理系统,即将密码密钥分配给授权的用户。
一类安全功能解决方法是在软件中实现安全功能。在软件中实现安全功能具有经济上的优点。软件实现也具有通用的优点。但是,在软件中实现软件安全性功能不象在硬件中实现安全功能那样安全。另一方面,与软件相比,硬件实现安全功能费用更高,且可能对每个应用需要专用的硬件。如果每个应用需要它本身的专用的硬件,硬件实现安全功能将是不通用的。
发明内容
本发明以一个方法和装置实现,使用密码控制单元作为在由多个独立的用户共享的系统中广泛适用的公共密码控制单元(密码单元)。
密码单元包括一个具有允许安全共享密码单元资源的专用硬件和固件的通用计算机处理器。尤其是该密码单元包括一个带有只读存储器(ROM)控制程序的专用核心的微处理器芯片,一个通用随机存储器(RAM),一个实时时钟和一个主机输入/输出接口(即与台式PC的连接)。此外,该密码单元包括一个DES(数据加密标准)引擎,用于密码密钥的安全非易失性存储,一个签名寄存RAM存储器和专用访问寄存器。
密码单元作为外围设备安装在任何如台式PC那样的通用计算机中。使单元成为“公共”的密码控制单元是它作一个安全的计算资源适用于在PC上运行的主要应用程序。
为了使用密码单元资源,对应于安全功能的主应用程序的一个部分被储存在PC上。这里称为安全小程序(Secure Applet)的安全功能加载到运行每个安全小程序的密码单元的板上的RAM或从上卸载。模仿下载并运行内部浏览器的Jave小程序(Jave applet),安全小程序是可移植的、可执行的文件以便加载到适合的计算实体并实现一个或多个安全功能。在此意义上,此密码单元象一个专用的协处理器,适用于运行安全应用程序(小程序)。
PC使安全小程序加载到密码单元的程序控制单元,后者运行该小程序并将安全功能的结果返回到PC。但是,不象一个通常的协处理器,对密码单元的访问不完全在台式PC的控制下。即,台式PC可以不加载和运行任何安全小程序。密码单元和系统的一部分提供其安全内部环境,只有某些安全小程序被许可加载并在密码单元运行。
为保障在密码单元的计算环境,提供一个密码运行中心(OPC),它与密码单元通讯。尤其是首次遇到新安全小程序,并在该新安全小程序被允许在公共密码单元运行以前,该密码单元与OPC通讯。在新密码单元首次被安装在台式PC时该密码单元也与OPC通讯。该密码单元也在定期时间周期基础上与OPC通讯。此外,软件开发者在为了得到必要的许可,使给定的安全小程序加载并运行在该密码单元而分配给定的安全小程序以前也要与OPC通讯。仅当从OPC获得所有必要的许可时,给定的安全小程序被允许加载并运行在密码单元。
操作系统
密码单元操作系统(O/S)包括两个部分:一个ROM加载控制程序,和一个自然形式安全小程序(native mode security applet),ROM加载控制程序是控制程序的压缩专用核心,它被储存在密码单元的ROM中。可以由软盘、CDROM或电话线调制解调器分配的自然形式安全小程序是可移植及可写的文件,通常被存入台式PC的硬盘中。
重要的安全功能在ROM加载控制程中实现。尤其是,ROM加载控制程序控制将安全小程序到密码单元及外部资源的加载和从其中卸载,包括将自然形式安全小程序的加载和卸载。
自然模式安全小程序具有两个主要功能:在首次使用密码单元时将密码单元登录到OPC,并授予首次使用每个单元应用安全小程序的许可。作为一般规则,每当该密码单元与OPC通讯时使用自然形式安全小程序。
系统操作
在其安全软件应用程序中希望使用公共密码控制单元的应用软件开发者首先提交一份提出的安全小程序给OPC作为考虑。该提出的安全小程序必须满足包括安全标准的某些标准。例如,提出的安全小程序必须小到足以适合到在密码单元的板上RAM。OPC进一步审查该提出的安全小程序是否符合安全标准。
在完成所有安全符合性测试以后,OPC授予或拒绝该提出的安全小程序使用庐密码的许可。允许使用所提出的安全小程序包括指定一个序列号及编码密钥C给该提出的安全小程序。序列号及编码密钥C被存入OPC中的小程序登录处。开发者在一个加密该建议的安全小程序的过程中使用庐编码密钥C,并使用该序列号识别该加密的安全小程序。
在启动台式PC初始化时,密码ROM加载控制程序将自然形式安全小程序加载到在该密码单元的板上RAM中。虽然ROM加载控制程序以前已经从OPC授予加载到并在该密码单元运行的许可,它还测试该自然形式安全小程序。
ROM加载控制程序方便了在多个用户之中共享使用该密码单元。尤其是,ROM加载控制程序将自然形式安全小程序从在密码的板上RAM卸载(换出)到台式PC的硬盘上以便腾出空间来加载(换入)第一应用安全小程序到板上的RAM。
然后,该ROM加载控制程序在加载第一应用安全小程序时予以检查。在确定该加载的第一应用安全小程序是有资格访问该密码单元资源以后,在该密码单元的微处理器运行该第一安全小程序,随后将该铁控制转移给该第一安全小程序。
当第一安全小程序完成时,该密码单元卸载(换出)加密形式的当前加载的第一安全小程序到PC的硬盘驱动器,并加载(换入)下一个安全小程序。每个安全小程序的密码内容被保存在储存在PC硬盘上的文件中。以那样的方式,单个密码单元在多个独立用户之中被共享。
如果遇到一个未知的应用安全小程序(即从未被加载到特定的密码单元的安全小程序),该ROM加载控制程序换回到自然上程序,它建立一个与OPC的安全通信会话。如果写此未知应用安全小程序的开发者以前被OPC授予加载和运行该安全应用程序的许可,则该密码单元将从OPC接收解密和运行该未知应用安全小程序所必需的密码密钥。同时,OPC在该小程序登录处记录该密码单元用户识别符,然后将该密码单元与该OPC授予加载及运行许可的安全小程序相关联。以后,该密码单元将加载与卸载该安全小程序而不必再与OPC通讯。
最后,当没有应用安全小程序与运行时,该ROM加载控制程序将自然形式安全小程序换回放入密码单元的板上RAM。以这样的方式,每个单独的用户将密码单元使用于分别各自的安全应用程序。因此,使用多个单独的安全应用程序的多个单独的用户共享此密码单元。
附图概述
图1是按照本发明的一个公共密码系统的方块图。
图2是按照本发明的一个公共密码单元的广场图。
图3A是一个流程图,示出了按照本发明产生一个加密小程序的方法和装置。
图3B是一个流程图,示出了按照本发明一个加密的小程序并将该的小程序加载到一个公共密码控制系统的板上RAM中的方法和装置。
图4是用于在PC硬盘驱动存储器中储存一个加密的安全小程序的安全存储页格式的概图。
图5是一个流程图,示出按照本发明在密码运行中心一个安全小程序的台式开发者登录过程。
图6是一个流程图,示出按照本发明在密码运行中心一个安全小程序的台式PC机初始化过程。
图7是一个流程图,示出按照本发明由O/S的ROM加载控制程序部分做密码初始化的方法。
图8A是O/S的ROM加载控制程序部分的一个流程图,示出按照本发明从密码单元将一个安全小程序卸载(换出)到PC的方法。
图8B是O/S的ROM加载控制程序部分的一个流程图,示出按照本发明将一个安全小程序从PC加载(换入)到密码单元的方法。
图9A是一个方块图,示出按照本发明将对应于一个安全小程序的密码内容解密并从PC硬盘劝器加载(换入)到密码单元RAM存储器。
图9B是一个方块图,示了按照本发明将对应于一个安全小程序的密码内容加密并从密码单元RAM存储器卸载(换出到)到PC硬盘驱动器。
实施发明的较佳方式
系统操作
示于图1的一个公共密码系统的广场图包括一个密码运行中心OPC21,一个台式PC22,一个软件开发者PC10和一个发行媒体20。软件开发者使用软件开发工具包建立安全小程序14。设计安全小程序14实现给定的安全功能,作为主软件应用程序16的部分。软件开发者通过某个发行媒体20发行包括该加密的18安全小程序14的软件应用程序。
为了解密该安全小程序14,在PC10的软件开发者通过如电话线调制解调器那样的达到OPC21的安全通讯链路发出一个请求15。请求15包括实际提出的安全小程序14。响应该请求15,在OPC21审查安全小程序14是否符合安全标准。例如,提出的安全小程序14不应试图访问和输出被禁用的密码,不应搅乱内部的消逝时间计数器(一个安全时钟)或在密码单元设置许可位(下面讨论)以便授予自己访问敏感区。如果提出的安全小程序14由于某种原因不满足安全标准,它将被拒绝登录。
另一方面,如果OPC21认可安全小程序14登录,OPC21将选择一个单独的序列号(S/N)17及一个任意的编码密钥C19与该小程序相关联。S/N17和编码密钥C19从OPC21通过请求15使用的同样的安全电话线调制解调连结通讯到软件开发者PC10。OPC21在一个小程序登录处23维持一个发出的S/N和对应的发出的编码密钥C的数据库。此提出的小程序就被正式登录,并由OPC21授予许可,能由任何公共密码控制单元使用(即运行)。
在PC12的软件开发者在一个小程序编码器18中使用接收到的编码密钥C进行处理,加密认可的安全小程序14。在PC12的软件开发者还接收S/N序列号,在编码器18中处理以识别被认可的安全小程序14。完成的安全小程序(使用编码密钥C19另密并使用S/N17识别)替代软件应用程序16,并通过如软盘、CDROM、全球广播、卫星、有线电视等那样的发行媒体发行到台式PC22。
在软件应用程序16安装到台式PC22以后,加密的安全小程序存入硬盘驱动器26。硬盘驱动器26通常保存有多个加密的安全小程序28,30,32,它们对应于在台式PC22上使用的多个软件应用程序。每个储存的小程序32包含一个识别的S/N,如S/N32A。台式PC22还包括标准PC的部件,如调制解调器24,CPU34,ROM36,时钟38,RAM40通过标准PC总线25连续的输入/输出。此外,台式PC22包括一个具有单独单元识别(UID)44A的密码单元,它也耦合到总线25。
在运行时,首先存在台式PC22的硬盘驱动器26上的软件应用程序16需要执行加密的小程序32,然后台式PC22建立与OPC21的一个安全通讯会话。台式PC22需要从OPC21来的许可,来使用加密的小程序32。为获得许可,密码单元22将它的UID44A和安全小程序32的S/N32A发送到OPC21。
OPC21使用以前提供的单独的S/N17在小程序登录处23查找对应的随意提供的编码密钥C。而且,OPC12通过另到小程序登录处23而进入事务(由密码单元44使用S/N32A)。小程序登录处23记录了所有登录的安全小程序S/N,对应于每个S/N的编码密钥C,和所有被授予许可运行每个对应的安全小程序的密码单元UID。例如,登录处23示出,对应于密码密钥C=Z的加密小程序S/N32A已被登录,且那于UID=44A的密码单元已被授予许可来解密并执行(运行)带S/N=32A的被登录的小程序。
公共密码控制单元
在图2中的公共密码控制单元包括微处理器206,RAM存储器222,224和ROM存储器208。分配RAM存储器作为签名寄存器224和主密码程序控制222区的存储。RAM208包含O/S的加载控制程序部分。包括在密码单元44的仍然是一个DES引擎218,一个非易失性存储器220,一个消逝时间(实时时间)计数器204和访问控制寄存器212。对了在密码单元44和主PC机之间的通讯提供一个主(台式)PC机接口202。在密码单元内部的通讯是在密码单元44中部件之间通过地址和数据的通用数据总成210上提供的。
DES引擎218方便了在密码单元44的保护环境中的密码操作。例如,内部的非易失性存储器220提供了密码密钥的安全存储。的时间计数器204使得在密码单元44的安全环境中保护时间和日期的计算不被扰乱。一些重要的操作,如读写消逝时间计数器204,访问和改变在非易失存储器220中的密码存储的内容,访问和改变签名寄存器224的内容被硬件所限止。尤其是,访问密码单元由设置访问寄存器212的单独许可位216(下面讨论)所控制。
访问寄存器212包括专门的保护特征以保护加载到程序控制RAM222的安全小程序损害密码单元44的安全特征。尤其是,访问寄存器212包括一个许可寄存器,而且访问寄存器212的单独的许可位216确定了给定的安全小程序允许访问哪些资源。例如,硬件连接信号(许可控制)226提供了硬线连结的限止,加载在RAM222中的给定的安全小程序是否允许访问所有签名寄存器224,消逝时间计数器204和客户密钥及安全密码存储区220或其中一部分。秘密的客户密钥对每个密码单元是单独的,且在制造时与其他密码密钥一起存入非易失性存储器220。
仅当从访问寄存器212授予许可时,在RAM222中给定的安全小程序才允许访问(读或写)重要的操作。许可寄存器从解密安全小程序由加载控制ROM208程序加载。作为防止非授权访问的进一步措施,许可寄存器216可以只由加载控制ROM208的指定执行来访问。一旦许可寄存器被写入新值,就执行地址控制214。尤其是,只有当地址检测指示出加载控制ROM正执行许可位加载,从地址检测214的写使能信号才被激活。以这样的方式,许可寄存器216只能由加载控制ROM208的适当的指令序列加载。因此,在RAM222以外运行的安全小程序不能改变许可寄存器216的许可位。
访问寄存器的许可位
访问寄存器212的单独许可位216提供对消逝时间计数器204的控制。尤其是,一个许可位控制消逝时间计数器204是否可读,另一个许可位控制消逝时间计数器204是否可写。只有OPC通过自然形安全小程序得到许可(通过许可位的设置)将值写入消逝时间计数器。
访问寄存器212的单独许可位216提供对在非易失存储器220中的客户密钥和安全密钥存储的控制。尤其是,一个许可位确定该小程序是具有读(不是写)客户密钥的访问。在客户密钥是工厂安装的,不能改变。此客户密钥可由软件开发者用于与安全小程序相关的密码计算。
储存在非易失性存储器220的其他密钥包括对特定软件开发者的私人密钥。即,特定的软件开发者可以不用共享的客户密钥。相反,对那样的特定一个私人密钥。在那样的情况,对应于一个专门的私人密钥的许可位允许由特定的软件开发者的安全小程序访问专用的私人密码。由其他软件开发者的安全小程序将不对那个专用的私人密钥设置许可位,因而不具有访问此坟门的私人密钥的资格。此外,访问寄存器212的分别的许可位216确定该安全小程序是否可以写入一个新的专门的私人密钥来覆盖在非易失性存储器220中老的专人仫人密钥。除了专门的私人密钥以外,非易失性存储器220可以存储用于鉴别一个公共私人密钥对的公共密码部分的数字检验证。
访问寄存器212的单独许可位216与RAM的签名登记部分224结合被用于提供有关哪个安全小程序可以加载到密码或从中卸载的访问控制尤其是,在签名登记的一个入口设置一个删除标记将删除此的安全小程序。其后密码片将不加载或卸载在签名登记中由删除标记指明的安全小程序。最后,OPC可以通过设置抑制整个密码单元。被抑制的密码单元44的适当的许可位216来抑制整个密码单元。被抑制的密码单元44不能运行任何安全小程序,除非该密码单元44被OPC重新激活。
安全小程序登录
如上指出的,出应用程序开发者将安全小程序作为主应用程序的一部分来设计。写此安全小程序专门在密码单元44上运行。安全小程序必须压缩到足以能存入密码单元的板上RAM(图2中的222)。大得不能存入板上RAM的安全应用程序可以分成两部分,即分成两个安全小程序。在安全小程序能与主应用程序一起发行并在密码单元上运行以前,开发者必须用OPC登录此安全小程序。如上指出,开发者建立了与OPC的安全通讯会话。一个适合与OPC安全通讯的系统示于美国专利5,615,264,5,761,283和5,764,762。
图5示出在OPC上开发者的登录过程。在步骤510OPC接收一个安全小程序登录的请求。此请求包括实际指出的安全小程序。在步骤512OPC审查提出的安全小程序是否符合适当的密码标准。例如,提出的安全小程序可以不试图揭示对每个独立的密码单元是单独的客户密钥或任何其他安全密钥。既不能输出密码,也不能输入附加的密码,象在变址程序循环中那样,间接程序跳转是一个安全的危险。通过系统的安全性受分割的经验,可以设计许多测试以保证所提出的安全小程序是安全且恰当地设计的。如果该提出的安全小程序不能通过任何一个测试,在步骤512O,PC拒绝登录该提出的安全小程序。
如果所有的测试通过,在步骤514OPC选择一个序列号S/N和一个编码密钥C。在步骤514,OPC还将S/N和编码密钥C输入到一个小程序登录(图1中的23)中。在步骤516,通过将对新登录小程序的S/N和编码密钥C发送到软件开发者而完成了登录过程。
使用的密码惯例
图3A,3B,9A和9B示出用符号表示的密码操作。如在此使用的,对加密和解密的较佳过程是数据加密标准(DES)。
简而言之,对DES的电子码书方式(Ele-ctronic code book mode-ECB),一个64位(8个字节)的输入块按照56位码被转换成一个64位的输出块。对解密,完成逆过程,将64位输入住使用同样的54位码转换成64位输出位。通常DES密码以64位,8个字节表示,每字节具有7位另1个奇偶校验位,或56密码位加8个奇偶校验位。
如在这里使用的,借助一个秘密密钥对一个变量完成一个密码操作意味着使用一个秘密密钥产生另一个密钥来加密(或解密)该变量。加密可以在一个单个密钥或多个密钥,如三个密钥的组的基础上完成。除非特别指出,加密或解密意味着在三个密钥的组的基础上DES加密或解密的ECB方式,对于三个密钥的加密,使用三个密钥(密钥1,密钥2,密钥3)的组如下采用DES另密一个变量:用密钥1加密,用密钥2解密,并用密钥3加密。三密钥的解密是个逆过程-用密钥3加密,用密钥2加密,再用密钥1解密。CBC意义是使用初始向量IV,DES标准的密码块连续模式(Cipher block chaining mode)。除非另加说明,对一个CBC DES加密或解密的IV将是0。
密码单元初始化及登录
图7示出通过ROM加载控制程序密码单元初始化和登录的方法。在上电时,ROM另载控制程序(在图2的ROM208中)在步骤710将一个初始自然形式安全小程序从硬盘驱动器(图1中的26)加载到板上的RAM(图2中的222)中。ROM加载控制程序认为初始自然方式安全小程序是预先认可并用固定密钥加密的。初始自然形式安全小程序通过将访问寄存器216的所有许可位均置成使能被授予对整个密码单元的资源访问的权限。加载以后,密码单元的控制被转移到刚加载到板上RAM的初始自小程序。
如果这是首次使用密码单元,在步骤712开始一个登录过程。在步骤714建立个OPC的安全通讯会话,且密码单元与OPC716进入登录过程。登录包括输入识别用户的数据(名字、地址等)并将与密码的UID相关的用户数据转送到OPC。在步骤714与OPC通讯会话的过程中,OPC716有机会下载任何程序的改变来更新初始自然形式安全小程序。在登录过程结束后,程序控制返回到台式PC。然后,密码单元进入等待状态,直到台式PC准备好加载拟在密码单元运行的第一个安全小程序。
登录的安全小程序的加密
安全小程序要加密,图3A是用于安全小程序加密的加密密钥组的流程图。软件开发者从所希望的安全小程序322开始。如上指出,安全小程序322先前已被软件开发者发送到OPC,且小程序的S/N320和编码密钥C318先前已作为小程序登录过程的部分被接收。
软件开发者选择了一个在步骤302自己挑选的编码密钥A(编程者密钥)。然后,密码密钥A在加密器304中借助编码密钥C加密,形成加密的编码密钥A’。安全小程序322是在加密器324中在编码密钥A下用了密码CBC加密。在加密器326中计算一个消息鉴别码(message authentication code-MAC)。MAC(也称为操纵检测码)是在加密的包后面的数字签名,它由该加密包的接收者检查,以难加密包的内容未被修改。在步骤306,MAC通过将S/N320,编码密钥A’和从加密器324的输入来的加密安全小程序组合到一个安全包中而产生的。
组合一个安全包306的目的是在加密器326中产生MAC316,并将其在安全包的后面形成一个安全页。开发者的MAC密码是在加密器328中借助编码密钥C318由加密S/N320而形成。MAC签名本身通过在安全包306上用三密钥CBC加密326而产生。尤其是加密器326的输出的最后部分形成MAC签名316,它在安全包306之后。
计算的MAC与安全包结合形成一个安全页306,它从密码单元输出,并最终存入主PC机的硬盘驱动器。
为将加密的安全小程序存入PC的硬盘驱存储动器,安全存储页的格式示于图4中。安全存储页从安全包(S/N310后面是编码密钥A’312,再后面是加密的安全小程序314)开始,由计算MAC结尾。
安全小程序的初始加载的解密
密码单元一个开始遇到的加密安全小程序,如在图3B的加密密钥组流程图所示。因为这是一个以前尚未运行的安全小程序的初始加载,在RAM224的小程序签名登录部分找不到S/N310(在签名登录224中找到S/N的情况该加密的小程序以前已被运行,可应用图9A)。如上面指出,对一个开始遇到的安全小程序,自然形式的安全小程序将S/N338发送到OPC,并从OPC接收编码密钥C336。
首先,在解密器330中借助密码密钥C336通过解密编码密钥A’312恢复软件开发者的编码密钥。加密的安全小程序314是在解码器332中借助从解码器330的输出得到的恢复的编码密钥A被三密钥CBC解码的。对安全包(S/N310,编码密钥A’312和加密的安全小程序314)的MAC是借助开发者的MAC密钥在三密钥CBC加密器340中被计算。开发者的MAC密钥借助于在加密器348的编码密钥C336通过加密S/N338计算的,336被耦合到加密器340的密码输入。
在加密器340的输出处的计算的MAC在比较器342中与接收到的MAC316比较。如果计算的MAC和接收的MAC相当等334,则与(AND)门334使能,且在解码器332的输出处的解密的安全小程序被存入板上RAM的密码控制部分222。但是,如果计算的MAC和接收的MAC不等346,则该安全小程序不允许加载到板上RAM222上,且不允许运行。相反,与门332不使能,而且在解密器332输出处的解密的安全小程序不被存入板上RAM的密码控制部分222。一个错误消息返回到台式PC。
在安全小程序加载时的OPC控制
本系统给出不管安全小程序能否加载到给定的密码单元时的OPC控制。图6示出在OPC的初始加载控制过程。在步骤610从OPC处的台式PC接收S/N以后,OPC在步骤612检查,该小否具有合法的S/N。如果没有,OPC返回一个错误消息,请安全小程序是“不合法(INVALID)的”。在步骤614,OPC检查,如果S/N碑是合法的,是否已被删除。如果确实如此,OPC返回一个错误消息,该安全小程序已被“删除(CANCELLED)”。在步骤616OPC检查,由其UID识别的给定的密码单元是否允许加载此特定的安全小程序。是,OPC返回一个错误消息,该安全小程序的加载是“不允许(DISALLOWED)”。如果S/N是合法的,未被删除,且密码单元允许加载此安全小程序,则在步骤618在OPC处的小程序登录中查找编码密钥C,并发送到密码单元。
以这样的方式,在初始安全小程序安装过程中OPC维持控制。例如,如果一个安全小程序已被改写以修正一个问题,OPC将不允许以后的用户将早期的版本安装到密码单元。如果一个给定的密码单元已知被泄密了,对此密码单元UID不再允许安全小程序的加载。
ROM加载控制O/S-密码内容的交换
密码单元的ROM加载控制程序(O/S)支持多个同时的用户。为了在用户之间切换,当前安全小程序的密码内容从密码单元卸载,并存入台式PC的硬盘驱动器。然后通过从台式PC的硬盘驱动器提取以前运行的安全小程序的以前存入的密码内容,此密码被恢复到对应于那个以前运行的安全小程序的以前的密码状态。如果这里使用,术语“加密的安全小程序”,“密码内容”和“在其密码内容中(带有或包括)的加密的安全小程序”都认为是基本上等价的术语。
在本实施例中,软件开发者配置该安全小程序在该程序存在以前将密码参数存入板上RAM的密码程序控制部分222。软件开发者期望那个安全为其安全应用程序所需,并需要将密码单元恢复到它的以前密码状态,并继续此安全应用程序。
在某些安全应用程序中,需要密码单元的所有密码参数来恢复该密码单元。在另外一些安全应用程序中,只需密码的一个子集。在又一个实施便中,密码单元自动地将它本身(密码单元)的整个密码状态存入与每个安全小程序有关的一个单独的文件。在后面的情况,切换密码状态(存储和恢复密码状态)的重担自动地由密码单元的操作完成而不必要开发者的软件干预。
在本实施例中,对每个给定的安全小程序的密码内容文件程序加上密码单元的密码状态。下面给出密码内容的格式:
表I-密码内容(29K)
明文表头序列号(S/N),大小修订版本号,时间标记 |
程序数据-安全小程序 |
永久性寄存器存储 |
堆(暂时存储) |
堆栈 |
MAC/签名 |
除了明文表头外,密码内容是加密的。明文表头由下列字段组成:
序号号(S/N):S/N是在登录过程中为该安全小程序颁发给软件开发者的初始序列号。
大小:对应于从密码单元卸载并存入硬盘驱动器的密码内容的字节数。
修订版本号:用于跟踪对初始登录的安全小程序的变化。
时间标记:对应于在卸载时间密码单元实时时钟的内容。
密码内容的另密部分由下列字段组成:
程序数据:包括任何在程序执行过程中作的修改的安全小程序。
堆(暂时存储):表示在卸载以前密码的密码状态的参数。
堆栈:程序的堆栈存储,如对嵌套子程序的返回地址。
MAC/签名:对整个密码内容计算的MAC。
表II-签名登录
板上RAM的签名登录224具有下述格式:
序列号(S/N) | MAC(签名) | 标志 |
S/N1 | MAC1 | 标志1 |
S/N2 | MAC2 | 标志2 |
--- | --- | --- |
S/N31 | MAC31 | 标志3 |
S/N:小程序的序列号。
MAC:对储存在PC硬盘驱动器的小程序的密码内容的消息鉴别码。
标志:储存在签名登录中的标志包括一个小程序删除标志,它由OPC设置以防止被删除的小程序又一次的使用。
图8A的ROM加载控制O/S-换出
在图8A中示出ROM加载控制程序(O/S)的换出部分的流程图。操作系统的换出部分的功能是卸载当前在密码单元运行的安全小程序到台式PC的硬盘驱动器,小程序包括其密码内容。例如,安全小程序可以具有内部寄存器存储,堆栈指针和其它程序,它们在执行时被修改,并组成它的密码内容的部分。
在图8A中,在步骤810若当前的安全小程序已经完成,在步骤812将密码单元的密码状态保存在板上RAM中。储存的密码状态包括DES引擎(图2中的218)的状态和将密码恢复到它当前状态所需要的任何其他变量。然后,在步骤814RAM的内容(按照在图9B中示出的加密密码组)被加密。在步骤816对包括明文表头和S/N的加密RAM内容计算MAC,且在步骤818将此MAC存入(或更新)RAM签名登录224。在步骤820组成安全页并在步骤882存在如式PC的硬盘驱动器。
图8BROM加载控制O/S0换入
在图8B中示出ROM加载控制部分(O/S)的换入部分的流程图。操作系统的这部分的功能是将下一个安全小程序加载到板上RAM以便在密码单元运行,包括从台式PC的硬盘器恢复可能有的相应的以前的密码内容。
在图8B中,到了加载一个安全小程序到板上RAM的时信,ROM另载控制程序首先在步骤830检查,S/N是否在RAM的签名登录部分(图2中的224)。S/N是否在签名登录224决定了此密码单元以前是否运行过此特定的安全小程序。
如果该小程序的S/N未在登录处,密码单元未曾运行过此特定的安全小程序。然后程序在步骤834检查,以确定签名登录是否已满或者还有空间用于另外的存入内容。如果签名登录已满,返回一个错误消息“登录已满-REGISTRY FULL”。如果签名登录未满,ROM加载控制程序在步骤838换入自然上程序,如上按照图6所述,它建立了一个与OPC的通讯。
如上结合图6指出,在步骤838自然形式安全小程序将提出的安全小程序的S/N送到OPC,并在步骤839获得编码密钥C。在上面还提出,密码单元使用接收的编码密钥C在步骤837提出的安全小程序并计算对该安全小程序的MAC。对加载到给定的密码单元的安全小程序的解密密钥首先结合图3B在上面叙述。
如果密码单元以前已经运行过此特定的安全小程序,则在步骤830将在登录中找到此S/N。在此情况,在步骤832从RAM的签名登录部分(图2中224)取出MAC。在步骤836解密此安全小程序(用其密码内容)并计算MAC。用于解密存储的小程序并计算MAC的密钥组在下面结合图9描述。
在换入过程的这个阶段,有3个与该安全小程序相关的MAC(带有它的密码内容),ROM加载控制程序(O/S)试图将其加载到密码单元的板上RAM。第一个MAC从签名登录取出,第二个MAC与储存的密码内容一起从台式PC接收到,第三个MAC根据输入的解密的小程序计算。如果在步骤840判断3个MAC互相相等,则解密的安全小程序被加载到RAM的密码程序控制部分,且在步骤842开始执行该安全小程序。否则,从步骤840返回给PC一个错误消息“访问被拒绝-ACCESSDENIDE”。
密码内容文件
图9A(换入)和图9B(换出)示出为了安全小程序(在对应的密码内容中)在RAM222的密码程序控制部分和台式PC的硬盘之间交换的相应的解密和加密密钥组。尤其是,图9A是一方块图,示出用于将对应于一个安全小程序的密码内容解密并从PC硬盘驱动器加载(换入)到密码单元RAM存储器的方法和装置。图9B是一个广场图,示出用于将对应于一个安全小程序的密码内容加密并从密码单元RAM存储器卸载(换出)到PC的硬盘驱动器的方法及装置。
密码内容换出-图9B
在图9B中,RAM222的密码程序控制部分的内容作为加密的文件962A被卸载到硬盘驱动器26中。RAM存储器的签名登录部分未被卸载。所产生的各种加密密钥是基于第一个固定的字符串A940,第二个固定的字符串B956和一个称为客户密钥942的秘密密钥。客户密钥942被存入可编程存储器(图2中的220)。客户密钥存储器通常是非易失的,可以由任何适合的非易失存储器实现,如可熔断的连结。EEPROM,电池供电的RAM等。对每个密码单元所存储的客户密钥942是唯一的,且在制造时安装。
第一个固定字符串A940是在加密器944中借助客户密钥加密的。加密器944的输出用作加密器946的密钥,加密将被卸载的小程序的S/N(明文)。加密器946的输出用作为密钥在3密钥CBC加密器948中加密此安全小程序。注意,对换出的安全小程序的加密密钥(到加密器948)与该安全小程序初始加载使用的不是同一密钥。对于安全小程序的初始加载,使用的密钥是开发者的编码密钥A。在图9B中用于卸载的密钥是固定字符串A940,S/N和客户密钥942的函数。因为每个客户官衔每个密码单元是单独的,存在硬盘驱动器26的换出密码内容不能换回到另一个密码单元。即,一旦一个安全包使用一个客户密钥被换出密码单元到硬盘驱动器,换出的安全小程序(在其密码内容中)不能加载到具有不同客户密钥的不同的密码单元。
为了对密码内容(包括安全小程序)产生一个MAC,组合一个安全包950。安全包950包括明文的S/N和加密的安全小程序(带着它的密码内容)。MAC通过借助由加密器954的输出导出的密钥的3密钥CBC。加密安全包而产生。如从图9B所见,从加密器954输出的MAC密钥是固定字符串B956,(通过加密器944和946),S/N,客户密钥942和固定字符串A940的函数。
尤其是,加密器946的输出作为加密密钥是到加密器954的输入,后者加密固定字符串B成为到了密钥CBC回避顺952的MAC密钥。在加密器952的输出端的MAC与安全包组合形成一个安全页958。安全页958是与另外的密码内容962N以及换出的自然形式小程序960一起存在硬盘中的962A。
密码内容换入-图9A
当密码单元在多个同时的安全应用程序之间切换时,在图9A中以前存入的密码内容912,918A-918N从硬盘驱动器26加载到板上RAM的密码程序控制部分222。密码单元使用签名登录的内容来确定每个以前储存的密码内容912,918A-918N是否允许加载和运行。在密码内容912中的自然形式安全小程序与其他由密码单元运行的多个同时的安全的小程序918A-918N以同样的方式换入或换出密码单元。
图9A中的密钥组(换入)完成在图9B(换出)中密钥组的逆向密码过程。尤其是,固定字符串A910在加密器916中借助于客户密钥被加密。加密器916的输出被用作加密器920中的密码来加密将被加载的安全小程序的S/N和密码内容918A。加密器920的输出被用作小程序的解密密码,未在3密钥CBC解密器922中解密安全小程序密码内容。对安全小程序换入的小程序解密密钥(到解密器922)是在换出过程中用来加密安全小程序的同一个密钥。
对密码内容918A的MAC密钥是通过在加密器932中借助于小程序解密密钥(加密器920的输出)的第一个加密固定字符串B930计算的。然后加密器932的输出被用作在加密器926的密钥,以形成有关密码内容918A的安全页部分的计算的MAC,为检查此MAC,从RAM的签名登录部分224取出储存的MAC。然后在比较器928中比较从加密器926输出计算的MAC,从签名登录224储存的MAC以及从密码内容918A接收的MAC等3个MAC,在步骤934如果3个MAC相等,则与(AND)门924使能,将接收到的安全小程序加载到RAM的密码程序控制部分222。若在步骤936,3个MAC中任何一个与另一个不等,则与门924不使能,不能将接收到的安全小程序加载到RAM的密码程序控制部分222。
安全小程序交换
安全小程序可以通过一步过程或二步过程换入到密码单元。二步过程已在上面描述。即,在将加密的安全小程序加载到板上RAM的密码程序控制部分以前,ROM加载控制程序对其审查。在二步实现过程中,如果所有MAC答名测试通过,该安全小程序然后在第二步被解密并加载到板上RAM。如果在第一步不允许加载,在第二步没有任何安全小程序的部分被加载到板上的RAM。
在一步实施过程中,ROM加载控制程序审查一个加密的安全小程序,同时解密并将解密的安全小程序加载到板上RAM的密码程序控制部分。如果MAC签名测试失败(在图8B中步骤840),密码单元的控制不转移到刚加载的安全小程序。而是,下一个安全小程序或自然形式安全小程序被加载到RAM的该密码程序控制部分,履盖以前加载的未允许的安全小程序。但是,如果MAC签名被通过,则ROM加载密码单元的以刚加载的安全小程序。
二步实施例通常更安全,因为在所有MAC签名的测试完成以前没有任何部分的新安全小程序被加载到RAM222的密码程序控制部分,一步实施时通常导致更快的安全小程序交换,因为新的安全小程序在板上RAM开始执行而不必等待第二步。
由OPC监控密码单元
在图1中的密码单元44由OPC21周期地览监控。即,至少每月一次或隔选定的时间间隔一次密码单元44发起一次与OPC21的通信佳话。通信可以通过调制解调器24到拔号连结。或通过TCP/IP协议通过因特网连接。在两者情况,密码单元44的状态被报告到OPC21。周期通信的目的是将密码单元44的内容与在OPC21所期望的内容相同步。
例如,在与OPC21周期通讯期间,消逝时间计数器204(图2)与它期望的值校验。若需要使其同步。消逝时间的较大差异可能是是搅乱的指示,并可能导致由OPC抑制密码单元。在访问寄存器212OPC可以设置一个或多个许可位216,来抑制密码单元。一般被抑制,抑制制的密码单元可以不加载或运行任何的安全小程序。
而且在与OPC21周期性通讯期间,签名登录(图2中224)被检查以回顾哪个安全小程序已被加载到该密码单元并在其中运行。如果一个安全小程序已被删除(即,运行那个安全小程序的系统的广泛的许可已被撤消),将在答名登录中设置对应于那个安全小程序的删除标志,与许可控制(图2中226)相结合,密码单元44将不换入(加载)该被删除的安全小程序。
Claims (22)
1、一种用于密码密钥分配系统的方法,系统包括一个具有一个密码控制单元的用户计算机、一个软件开发者计算机和一个密码操作中心,其特征在于所述方法包括:
在所述的软件开发者计算机上产生另一个安全小程序;
将所述的第一程序从所述软件开发者计算机发送到所述密码操作中心;
在所述的软件开发者计算机上从所述的密码操作中心接收第一密码密钥;
在所述软件开发者计算机上从所述密码操作中心接收第一序列号;
在加密所述第一安全小程序以形成第一加密的安全小程序的过程中使用所述的第一密码密钥;
将所述第一序列号附列至所述第一加密安全小程序上以形式第一安全包;以及
分配所述第一安全包到所述用户计算机。
2、如权利要求1所述的方法,其特征在于所述密码控制单元包括一个程序控制存储器,所述方法还包括;
将所述第一系列号从所述密码控制单元发送到所述密码操作中心;
在所述密码控制单元接收来自所述密码操作中心的第一密码密钥;
在从所述第一加密安全小程序解密所述第一安全小程序的过程中使用第一密码密钥;以及
将所述第一安全小程序加载到所述程序控制存储器。
3、如权利要求1所述的方法,其特征在于在加密所述第一安全小程序以形成一加密的安全小程序的过程中使用所述第一密码密钥的所述步骤还包括:
在所述软件开发者计算机上借助于程序员密钥加密所述第一安全小程序以形成程序员加密的安全小程序;
在所述软件开发者计算机上借助于所述第一密码密钥加密所述程序员密钥以形成第一加密的程序员密钥;
附上所述第一加密的程序员密钥和所述第一程序员加密的安全小程序以形成所述第一加密的安全小程序。
4、如权利要求2所述的方法,其特征在于所述软件开发者计算机还包括借助所述第一密码密钥加密的程序员密钥以形成在所述第一加密的安全小程序中的第一加密的程序员密钥;而且当在所述用户计算机上从所述第一加密安全小程序解密所述第一安全小程序的过程中使用所述第一密码密钥的所述步骤包括:
在所述用户计算机上接收包括所述第一程序员加密的安全小程序的所述第一安全包;
在所述用户计算机借助于所述第一密码密钥解密所述第一加密的程序员密钥以形成一个复原的程序员密钥;以及
借助所述复原的程序员密钥解密所述第一程序员加密安全小程序以复原所述的第一安全小程序。
5、如权利要求1所述的方法,其特征在于还包括:
存储一个记录多个安全小程序、密码密钥和序列号之间对应关系的安全小程序登录表,所述安全小程序登录表具有一个条目,指出所述第一序列号和所述第一密码密钥对应于所述第一安全小程序。
6、如权利要求2所述的方法,其特征在于所述用户计算机包括第一用户识别号,所述方法还包括:
从所述用户计算机将所述第一用户识别号发送到所述密码操作中心;
存储一个记录多个安全小程序、密码密钥、序列号和用户识别号之间对应关系的安全小程序登录表,所述安全小程序登录表具有一个条目,指出所述第一序列号,所述第一密码密钥和所述第一用户识别号对应于所述第一安全小程序。
7、如权利要求2所述的方法,其特征在于所述用户计算机还包括一个用户计算机硬盘驱动存储器,且所述系统还包括第二软件开发者计算机、一个具有相应第二序列号及与之对应的第二密码密钥的第二安全小程序,所述方法还包括:
在使用第一用户计算机密钥形成第一加密的安全内容的过程中加密所述用户控制存储器的内容;
将所述第一加密的安全内容储存在所述用户计算机硬盘驱动存储器;且在所述程序控制存储器加载所述第二安全小程序。
8、如权利要求7所述的方法,其特征在于还包括:
在使用第二用户计算机密钥形成第二加密安全内容的过程中加密所述用户控制存储器的内容;
将所述第二加密的安全内容存储在所述用户计算机的硬盘驱动器;
在使用所述第一用户计算机密钥复原所述第一安全内容的过程中解密所述第一加密安全内容;且
在所述程序控制存储器加载所述第一安全内容。
9、一种用于密码密钥分配系统的装置,系统包括一个具有一个密码控制单元的用户计算机、一个软件开发者计算机和一个密码操作中心,其特征在于所述装置包括:
用于在所述软件开发者计算机上产生第一安全小程序的装置;
用于将所述第一安全小程序从所述软件开发者计算机发送到所述密码操作中心的装置;
用于在所述软件开发者计算机从所述密码操作中心接收第一密码密钥的装置;
用于在所述软件开发者计算机从所述密码操作中心接收第一序列号的装置;
用于在解密所述第一安全小程序以形成第一解密安全小程序的过程中使用的第一密码密钥的装置;
用于将所述第一序列号附在所述第一解密安全小程序以形成第一安全包的装置;和
用于将所述第一安全包分配到所述用户计算机的装置。
10、如权利要求9所述的装置,其特征在于所述密码控制单元包括一个程序控制存储器,所述装置还包括:
用于将所述第一序列号从所述密码控制单元发送到所述密码操作中心的装置;
用于在所述密码控制单元上从所述密码操作中心接收所述第一密码密钥的装置;
用于在从所述第一加密的安全小程序解密所述第一安全小程序的过程中使用所述密码密钥的装置;和
用于将所述第一安全小程序加载到所述程序控制存储器的装置。
11、如权利要求9所述的装置,其特征在于用于在加密所述第一安全小程序以形成第一加密安全小程序的过程中使用所述第一密码密钥的装置还包括:
用于在所述软件开发者计算机上借助一个程序员密钥加密所述第一安全小程序以形成第一程序员加密的安全小程序的装置;
用于在所述软件开发者计算机上借助所述第一密码密钥加密所述程序员密钥以形成第一加密的程序员密钥的装置;
用于附上所述第一加密的程序员密钥和所述第一程序员加密安全小程序以形成所述第一加密的安全小程序的装置。
12、如权利要求10所述的装置,其特征在于所述软件开发者计算机还包括一个借助于所述第一密码密钥加密的程序员密钥,它用于形成在所述第一加密安全小程序中的第一加密程序员密钥,而且用于所述用户计算机上从所述第一程序员加密的安全小程序解密所述第一安全小程序的过程中使用第一密码密钥的所述装置包括:
用于在所述用户计算接收包括所述第一程序员加密的安全小程序的所述第一安全包的装置;
用于在所述用户计算机上借助所述第一密码密钥解密所述第一加密程序员密钥以形成一个复原的程序员密钥的装置;
用于借助所述复原的程序员密钥解密所述第一程序员加密的安全小程序以复原所述第一安全小程序的装置。
13、如权利要求9所述的装置,其特征在于还包括:
用于存储记录多个安全小程序、密码密钥和序列号之间对应关系的安全小程序登录表的装置,所述安全小程序登录表具有一个条目,指出第一序列号和所述第一密码密钥对应于所述第一安全小程序。
14、如权利要求10所述的装置,其特征在于所述用户计算机包括一个第一用户识别号,所述装置还包括:
用于将所述第一用户识别号从所述用户计算机发送到所述密码操作中心;
用于存储记录多个安全小程序、密码密钥、序列号和用户识别号之间对应关系的一个安全小程序登录表的装置,所述安全小程序登录表具有一个条目,指出所述第一序列号、所述第一密码密钥和所述第一用户识别号对应于所述第一安全小程序。
15、如权利要求10所述的装置,其特征在于所述用户计算机还包括一个用户计算机硬盘驱动存储器,且所述系统还包括一个第二软件开发计算机、一个具有相应的第二序列号及与之对应的第二密码密钥的第二安全小程序,所述装置还包括:
用于在使用第一用户计算机形成第一加密的安全内容的过程中加密所述用户控制存储器的装置;
用于将第一加密的安全内容存入所述用户计算机的硬盘驱动存储器装置;和
用于将所述第二安全小程序加载到的程序控制存储器的装置。
16、如权利要求15所述的装置,其特征在于还包括;
用于在使用第二用户计算机密钥形成第二加密安全内容的过程中加密所述用户控制存储器的装置;
用于将所述第二加密的安全内容存入所述用户计算机硬盘驱动存储器的装置;
用于在使用所述第一用户计算机密钥所述第一安全小程序的过程中解密所述第一加密的安全内容的装置;和
用于将所述第一安全内容加载到所述程序控制存储器的装置。
17、一种用于密码密钥分配系统的方法,系统包括一个具有一个密码控制单元的用户计算机、一个软件开发者计算机和一个密码操作中心,所述软件开发者计算机产生第一安全小程序,它在使用第一密码密钥形成第一加密的安全小程序的过程中加密所述的第一安全小程序,并将所述第一加密的安全小程序分配到所述的用户计算机,其特征在于在所述密码操作中心上的密码密钥分配方法包括:
在所述密码操作中心从所述软件开发者计算机接收所述第一安全程序;
将第一序列号从所述密码操作中心发送到所述软件开发者计算机;
将第一密码密钥从所述密码操作中心发送到所述软件开发者计算机;
在所述密码操作中心从所述密码控制单元接收所述第一序列号;
将所述第一密码密钥从所述密码操作中心发送到所述密码控制单元。
18、如权利要求17所述的方法,其特征在于所述密码控制单元包括一个程序控制存储器,所述的方法还包括:
在所述密码控制单元接收包括第一序列号的第一加密安全小程序;
将所述第一序列号从所述密码控制单元发送到所述密码操作中心;
在所述密码控制单元从所述密码操作中心接收所述第一密码密钥;
在从所述第一加密的安全小程序解密所述第一安全小程序的过程中使用所述第一密码密钥;和
将所述第一安全小程序加载到所述程序控制存储器。
19、一种用于密码密钥分配系统的方法,系统具有一个软件开发者计算机和一个密码操作中信,所述软件开发者计算机产生一个由第一序列号识别的第一安全小程序并在使用第一密码密钥形成第一加密安全小程序的过程中加密所述第一安全小程序,所述系统进一步包括具有带一个程序控制存储器的密码控制单元的用户计算机,其特征在于所述方法包括:
在所述密码控制中心接收包括所述第一序列号的第一安全小程序;
将所述第一序列号发送到所述密码操作中心;
在所述密码控制单元从所述密码操作中心接收所述第一密码密钥;
在从所述第一加密安全小程序解密所述第一安全小程序的过程中使用所述第一密码密钥;和
将所述第一安全小程序加载到所述程序控制存储器。
20、在一个密码密钥分配系统中,包括一个具有密码控制单元的用户计算机、一个软件开发者计算机和一个密码操作中心,所述软件开发者计算机产生一个第一安全小程序并在使用第一密码密钥形成第一加密的安全小程序的过程中加密所述第一安全小程序,并将所述第一安全小程序分配到所述用户计算机,其特征在于所述密码操作中心处的密码密钥分配装置包括:
用于在所述密码操作中心从所述软件开发者计算机接收所述第一安全小程序的装置;
用于将第一序列号从所述密码操作中心发送到所述软件开发者计算机的装置;
用于将所述第一密码密钥从所述密码操作中心发送到所述软件开发者计算机的装置;
用于在所述密码操作中心从所述密码控制单元接收所述第一序列号的装置;
用于将所述第一密码密钥从所述密码操作中心发送到所述密码控制中心的装置。
21、如权利要求20所述的装置,其特征在于所述密码控制单元包括一个程序控制存储器,所述装置还包括:
用于在所述密码控制单元接收包括所述第一序列号的第一加密的安全小程序的装置;
用于将所述第一序列号从所述密码控制单元发送到所述密码操作中心的装置;
用于在所述密码控制单元从所述密码操作中心接收所述第一密码密钥的装置;
用于在从所述第一安全小程序解密所述第一安全小程序的过程中使用所述第一密码密钥的装置;和
用于将所述第一安全小程序加载到所述程序控制存储器的装置。
22、在一个密码密钥分配系统中,具有一个软件开发者计算机和一个密码操作中心,所述软件开发者计算机产生一个由第一序列号识别的第一安全小程序并在使用第一密码密钥形成第一加密安全小程序的过程中加密所述第一安全小程序,所述系统还包括具有带程序控制存储器的密码控制单元的用户计算机,其特征在于装置包括:
用于在所述密码控制单元接收包括第一序列号的第一安全小程序的装置;
用于将第一序列号发送到所述密码操作中心的装置;
用于在所述密码控制单元从所述密码操作中心接收所述第一密码密钥的装置;
用于在从所述第一加密的安全小程序解密所述第一安全小程序的过程中使用所述第一密码密钥的装置;
将所述第一安全小程序加载到所述程序控制存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/313,295 US6449720B1 (en) | 1999-05-17 | 1999-05-17 | Public cryptographic control unit and system therefor |
US09/313,295 | 1999-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1350670A true CN1350670A (zh) | 2002-05-22 |
Family
ID=23215163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00807632A Pending CN1350670A (zh) | 1999-05-17 | 2000-05-15 | 公共密钥控制单元及其系统 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6449720B1 (zh) |
EP (1) | EP1190291A1 (zh) |
JP (1) | JP2003526965A (zh) |
CN (1) | CN1350670A (zh) |
AU (1) | AU5133500A (zh) |
HK (1) | HK1046973A1 (zh) |
TW (1) | TW475103B (zh) |
WO (1) | WO2000070429A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1317613C (zh) * | 2003-06-11 | 2007-05-23 | 佳能株式会社 | 防止非法使用软件的装置及方法 |
CN100345082C (zh) * | 2004-12-03 | 2007-10-24 | 国际商业机器公司 | 用改进的特征键值启用系统特征 |
CN100367144C (zh) * | 2003-02-03 | 2008-02-06 | 诺基亚有限公司 | 用于加密的应用程序安装的结构 |
CN101023649B (zh) * | 2004-09-21 | 2011-08-10 | 高通股份有限公司 | 在利用安全实时传输协议的广播/多播服务会话期间确定会话加密密钥 |
CN101479735B (zh) * | 2006-05-04 | 2013-08-07 | 北方电讯网络有限公司 | 用于启用选定特性的方法、系统和设备 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001053909A2 (en) * | 2000-01-18 | 2001-07-26 | Telcordia Technologies, Inc. | Method and systems for data security |
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 |
EP1176507A3 (en) * | 2000-07-24 | 2005-08-17 | Sony Corporation | Information processing method, inter-task communication method, and computer-executable program for the same |
US20020095382A1 (en) * | 2001-01-10 | 2002-07-18 | Hiroki Taoka | Content decryption device |
US20020114457A1 (en) * | 2001-01-26 | 2002-08-22 | Takahiro Sato | LSI having interpreter function and information recording/reproducing apparatus using the same |
DE10105053A1 (de) * | 2001-02-05 | 2002-08-29 | Hmd Software Ag | Verfahren und Einrichtung zum Übertragen von Programmcodes im Internet |
US20040015958A1 (en) * | 2001-05-15 | 2004-01-22 | Veil Leonard Scott | Method and system for conditional installation and execution of services in a secure computing environment |
JP2003051819A (ja) * | 2001-08-08 | 2003-02-21 | Toshiba Corp | マイクロプロセッサ |
CN1162783C (zh) * | 2001-11-09 | 2004-08-18 | 汪文虎 | 一种信息安全方法 |
US20030196113A1 (en) * | 2002-04-10 | 2003-10-16 | Chris Brown | System and method for providing a secure environment for performing conditional access functions for a set top box |
US7350069B2 (en) * | 2002-04-18 | 2008-03-25 | Herz Frederick S M | System and method which employs a multi user secure scheme utilizing shared keys |
US7631318B2 (en) * | 2002-06-28 | 2009-12-08 | Microsoft Corporation | Secure server plug-in architecture for digital rights management systems |
US7254719B1 (en) | 2002-08-08 | 2007-08-07 | Briceno Marc A | Method and system for protecting software |
US7792300B1 (en) * | 2003-09-30 | 2010-09-07 | Oracle America, Inc. | Method and apparatus for re-encrypting data in a transaction-based secure storage system |
JP2006133038A (ja) * | 2004-11-04 | 2006-05-25 | Denso Corp | ナビゲーション装置 |
US20060117004A1 (en) * | 2004-11-30 | 2006-06-01 | Hunt Charles L | System and method for contextually understanding and analyzing system use and misuse |
US20070168292A1 (en) * | 2004-12-21 | 2007-07-19 | Fabrice Jogand-Coulomb | Memory system with versatile content control |
US8504849B2 (en) * | 2004-12-21 | 2013-08-06 | Sandisk Technologies Inc. | Method for versatile content control |
FR2880441B1 (fr) * | 2004-12-31 | 2010-06-18 | Trusted Logic | Chargement dynamique securise |
US7337578B2 (en) * | 2005-03-21 | 2008-03-04 | Darren Edward Pieczynski | Planer board lighting device |
JP4851182B2 (ja) * | 2005-12-28 | 2012-01-11 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータ、マイクロコンピュータに対するプログラム書込み方法、及び書込み処理システム |
JP4881023B2 (ja) * | 2006-02-01 | 2012-02-22 | キヤノン株式会社 | 情報処理装置及び当該装置におけるオブジェクト指向プログラムの実行方法とそのプログラム |
WO2007133029A1 (en) * | 2006-05-12 | 2007-11-22 | Samsung Electronics Co., Ltd. | Apparatus and method of managing security data |
JP4972994B2 (ja) * | 2006-05-17 | 2012-07-11 | ソニー株式会社 | 情報処理装置および情報処理方法、並びにプログラム |
US20100138652A1 (en) * | 2006-07-07 | 2010-06-03 | Rotem Sela | Content control method using certificate revocation lists |
US8613103B2 (en) * | 2006-07-07 | 2013-12-17 | Sandisk Technologies Inc. | Content control method using versatile control structure |
US8639939B2 (en) * | 2006-07-07 | 2014-01-28 | Sandisk Technologies Inc. | Control method using identity objects |
US8559637B2 (en) * | 2008-09-10 | 2013-10-15 | Verizon Patent And Licensing Inc. | Securing information exchanged via a network |
US8271995B1 (en) * | 2008-11-10 | 2012-09-18 | Google Inc. | System services for native code modules |
US9104618B2 (en) * | 2008-12-18 | 2015-08-11 | Sandisk Technologies Inc. | Managing access to an address range in a storage device |
US8589667B2 (en) | 2010-04-19 | 2013-11-19 | Apple Inc. | Booting and configuring a subsystem securely from non-local storage |
US9009472B2 (en) * | 2011-10-13 | 2015-04-14 | International Business Machines Corporation | Providing consistent cryptographic operations |
PL2792100T3 (pl) * | 2011-12-15 | 2021-03-22 | Intel Corporation | Sposób i urządzenie do bezpiecznej komunikacji w sieci przy użyciu sprzętowego silnika bezpieczeństwa |
EP2819057B1 (en) * | 2013-06-24 | 2017-08-09 | Nxp B.V. | Data processing system, method of initializing a data processing system, and computer program product |
EP3020013A4 (en) * | 2013-07-12 | 2017-02-15 | Google, Inc. | Systems, methods, and computer program products for enabling instrument credentials |
US9967319B2 (en) * | 2014-10-07 | 2018-05-08 | Microsoft Technology Licensing, Llc | Security context management in multi-tenant environments |
US9116768B1 (en) * | 2014-11-20 | 2015-08-25 | Symantec Corporation | Systems and methods for deploying applications included in application containers |
EP3048553B1 (en) * | 2015-01-22 | 2019-06-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for distributing applets, and entities for distributing applets |
EP4032002A1 (en) * | 2020-02-27 | 2022-07-27 | Google LLC | Secure element that leverages external resources |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301231A (en) | 1992-02-12 | 1994-04-05 | International Business Machines Corporation | User defined function facility |
JPH0744377A (ja) * | 1993-07-30 | 1995-02-14 | Nippon Telegr & Teleph Corp <Ntt> | 流通ソフトウェア偽造防止方法と装置 |
US5724425A (en) * | 1994-06-10 | 1998-03-03 | Sun Microsystems, Inc. | Method and apparatus for enhancing software security and distributing software |
JPH08305558A (ja) * | 1995-04-27 | 1996-11-22 | Casio Comput Co Ltd | 暗号化プログラム演算装置 |
US5615264A (en) | 1995-06-08 | 1997-03-25 | Wave Systems Corp. | Encrypted data package record for use in remote transaction metered data system |
JPH0922352A (ja) * | 1995-07-07 | 1997-01-21 | Mitsubishi Electric Corp | 著作権管理装置 |
JP3507594B2 (ja) * | 1995-07-31 | 2004-03-15 | 株式会社東芝 | コンピュータ |
US5825877A (en) * | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
JPH10107787A (ja) | 1996-09-27 | 1998-04-24 | Mitsubishi Corp | データ管理システム |
JPH10301773A (ja) * | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
JPH10301772A (ja) * | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
JPH10312277A (ja) * | 1997-05-13 | 1998-11-24 | Nakamichi Corp | ソフトウェア配給方法 |
US6385723B1 (en) * | 1997-05-15 | 2002-05-07 | Mondex International Limited | Key transformation unit for an IC card |
US6230267B1 (en) * | 1997-05-15 | 2001-05-08 | Mondex International Limited | IC card transportation key set |
US6328217B1 (en) * | 1997-05-15 | 2001-12-11 | Mondex International Limited | Integrated circuit card with application history list |
US6105008A (en) * | 1997-10-16 | 2000-08-15 | Visa International Service Association | Internet loading system using smart card |
US6178504B1 (en) * | 1998-03-12 | 2001-01-23 | Cheyenne Property Trust C/O Data Securities International, Inc. | Host system elements for an international cryptography framework |
US6233341B1 (en) * | 1998-05-19 | 2001-05-15 | Visto Corporation | System and method for installing and using a temporary certificate at a remote site |
US6112246A (en) * | 1998-10-22 | 2000-08-29 | Horbal; Mark T. | System and method for accessing information from a remote device and providing the information to a client workstation |
-
1999
- 1999-05-17 US US09/313,295 patent/US6449720B1/en not_active Expired - Lifetime
-
2000
- 2000-05-15 WO PCT/US2000/013239 patent/WO2000070429A1/en active Search and Examination
- 2000-05-15 JP JP2000618806A patent/JP2003526965A/ja active Pending
- 2000-05-15 AU AU51335/00A patent/AU5133500A/en not_active Abandoned
- 2000-05-15 EP EP00935953A patent/EP1190291A1/en not_active Withdrawn
- 2000-05-15 CN CN00807632A patent/CN1350670A/zh active Pending
- 2000-05-16 TW TW089109373A patent/TW475103B/zh not_active IP Right Cessation
-
2002
- 2002-11-21 HK HK02108430.9A patent/HK1046973A1/zh unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100367144C (zh) * | 2003-02-03 | 2008-02-06 | 诺基亚有限公司 | 用于加密的应用程序安装的结构 |
CN1317613C (zh) * | 2003-06-11 | 2007-05-23 | 佳能株式会社 | 防止非法使用软件的装置及方法 |
CN101023649B (zh) * | 2004-09-21 | 2011-08-10 | 高通股份有限公司 | 在利用安全实时传输协议的广播/多播服务会话期间确定会话加密密钥 |
CN100345082C (zh) * | 2004-12-03 | 2007-10-24 | 国际商业机器公司 | 用改进的特征键值启用系统特征 |
CN101479735B (zh) * | 2006-05-04 | 2013-08-07 | 北方电讯网络有限公司 | 用于启用选定特性的方法、系统和设备 |
Also Published As
Publication number | Publication date |
---|---|
HK1046973A1 (zh) | 2003-01-30 |
EP1190291A1 (en) | 2002-03-27 |
JP2003526965A (ja) | 2003-09-09 |
AU5133500A (en) | 2000-12-05 |
US6449720B1 (en) | 2002-09-10 |
WO2000070429A1 (en) | 2000-11-23 |
TW475103B (en) | 2002-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1350670A (zh) | 公共密钥控制单元及其系统 | |
US7921303B2 (en) | Mobile security system and method | |
US7237121B2 (en) | Secure bootloader for securing digital devices | |
US8214630B2 (en) | Method and apparatus for controlling enablement of JTAG interface | |
US8032764B2 (en) | Electronic devices, information products, processes of manufacture and apparatus for enabling code decryption in a secure mode using decryption wrappers and key programming applications, and other structures | |
CN101571900B (zh) | 一种软件版权保护方法、设备和系统 | |
TW425802B (en) | A method and apparatus for preventing the fraudulent use of a cellular telephone | |
US8787973B2 (en) | Device and method for controlling usage of a memory card | |
KR100852927B1 (ko) | 이용 인증 방법, 이용 인증 프로그램을 저장한 컴퓨터 판독 가능 기록 매체, 정보 처리 장치 및 기록 매체 | |
CN1210637C (zh) | 保护静态和动态数据免遭未授权操作的系统 | |
EP1273996A2 (en) | Secure bootloader for securing digital devices | |
CN1914849A (zh) | 受信移动平台体系结构 | |
CN100578473C (zh) | 嵌入式系统和增加嵌入式系统安全性的方法 | |
CN1280737C (zh) | 移动存储设备与读写识别设备的安全认证方法 | |
US20050137889A1 (en) | Remotely binding data to a user device | |
CN1736078A (zh) | 事务的安全日志 | |
WO2005031580A1 (ja) | 情報処理装置、情報処理システム及びプログラム | |
CN1745377A (zh) | 使用隐含中间密钥来认证软件的系统和方法 | |
CN1689361A (zh) | 涉及防篡改身份模块的稳健灵活的数字权限管理 | |
JP2007512787A (ja) | トラステッド・モバイル・プラットフォーム・アーキテクチャ | |
CN111401901B (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
TWI424321B (zh) | 雲端儲存系統及方法 | |
CN1633777A (zh) | 用于安全分配程序内容的方法和装置 | |
US7805601B2 (en) | Computerized apparatus and method for version control and management | |
CN113168477A (zh) | 数据处理的方法、装置和系统芯片 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1046973 Country of ref document: HK |