密码模块的密钥管理的方法

文档序号:7637012阅读:191来源:国知局
专利名称:密码模块的密钥管理的方法
密码模块的密钥管理的方法本发明涉及加密密钥的密钥管理,也就是初始化和更新加密密 钥,这些密钥尤其是被用于自动取款机或者其它自助设备。为了保证尤其是像自动取款机那样的自助设备免受未授权的使用 而应用加密方法,这些加密方法的安全性基于密钥的安全性。自动取 款机因此包含密封的密码模块,在该密码模块中存储了一个或多个密钥,以致通常在释放PIN键盘之后不是读出这些密钥而是仅仅将这些 密钥用于加密转换,该PIN键盘是加密处理器的对于整体不可缺少的 一个组成部分。尤其是在应用对称式密码学时应确保,被存储在密码模块中的密 钥也存在于主机中,也就是存在于银行中心的自动取款机中,可是只 存在于那里。因而,如果初次安装密钥或者在持续运行时交换密钥, 则必需费事的安全措施。根据标准通过以下方式来实现持续运行时的 交换,即利用迄今的密钥对来引起新密钥的安全传输。但是只有当初 始密钥已经被分配给主机并保持该分配时,这才是可能的。因此,只 有在所保证的应用的范围内,密钥交换才是可能的并且因此是不灵活 的。在专利文献US 5, 745, 576中说明了一种方法,其中,利用设备号 来修改的、对于所有设备是共同的密钥仅仅被用于密钥初始化和用于 密钥交换。由于设备号必须被认为是已知的,所以安全性仅还基于对 于所有密码模块都是相同的初始化密钥。在US 5, 761, 306中使用了一种不对称的编码方法。在密码模块中 存储了私钥,而在密钥中心存储了公钥,并且该方法涉及私钥和公钥 的交换。在此使用了散列值,以便鉴权该交换。在US 6, 442, 690中同样建议使用公钥法,并且首先给每个设备配 备一个由中心签名的公钥和所属的私钥。于是,由另一密钥对来代替 该密钥对,其中,利用了公钥方法的已知特性。在所有这些情况下,公钥必须被存储在密码模块中,并且只接受 这种用其签名的密钥变化。因而必需以一种费事的方法来交换密码模 块中的公钥。
因而,本发明的任务是给出一种用于进行密钥管理的方法,以致 使得密码模块的密钥能够安全而简单的交换。本发明通过用于密钥中心的方法来解决该任务,该方法用于在密 码模块中设置密钥,其中,通过由协议来保证新密钥的真实性,在密 码模块中不存储公钥,在该方法中,仅以被编码的方式来传输密码模 块的公钥,并且该公钥仅被转交给在其方面可访问密码模块的密钥中心(Schluesselstelle )。针对以下密码模块来说明本发明,该密码模块既具有对称的编码 也具有不对称的编码,并且该密码模块具有用于对称编码的一个或多 个秘密密钥的可改变的密钥存储器,以及具有用于不对称编码的私钥 的永久的密钥存储器。根据本发明的解决方案不需要用于公钥的存储 器,如在现有技术中为了保证真实性所设置的存储器那样。每个密码 模块还具有同样被存储在内部的唯一的设备号。此外,该设备号还可 以在外部印上或能以电子方式来读出;可是,为了提高安全性,在本 发明的一种变型方案中,仅使得设备号的散列值能被读出,或将其可 读取地安放在外部。密码模块优选地也包括被緩冲的日间时钟 (Tagesuhr),利用该日间时钟能给以下说明的消息配备有时间戳, 以致能将消息的有效性限制到预先定义的时间间隔上。在对称编码的情况下,通过针对编码和解码使用同一个密钥必然 使该密钥保密;因而可以将具有足够可检查的冗余度的每个成功解码 的消息也同时视为真实的。由于在不对称编码的情况下,为了保证机 密不必要对公钥进行保密,所以通常由此出发,即为了保证真实性而 必需第二密钥对,其中,发送方利用他的私钥来签名,而接收方在他 用自己的私钥对余下的消息进行解码之前利用所属的公钥来检查该签 名。因为不对称编码的决定性优点正是,仅还须将一密钥(私钥)进 行保密,而另一密钥(公钥)仅须是真实的。如果与常规的应用相反 无论如何也不公开"公钥,,,而是相反地加以保密,则像在对称编码的 情况下那样,通过用私钥成功地对消息进行解码来同时确保消息是真 实的,只要该消息只来自具有该"公钥"的位置。就这点而言,概念 "公钥"作为不对称编码时的密钥对的非私钥从字面意义上在本发明 的范围内是不确切的;可是也继续应用这个概念,因为涉及通常认可 的4支术概念。
由密码模块的制造商在生产场所的安全区域中生成了公钥和私钥 的单独对,并且将私钥传输到密码模块中,其中确保了没有留下其它 备份。公钥在数据库中被存储在设备号之下,并且保护该公钥既免受 数据丢失又免受非法访问。在使用散列值时,该散列值被用作密钥, 并且将明文设备号与公钥 一起存储。密码模块包括一种利用其能写入用于对称编码的某个秘密密钥的 函数。在进入密码模块的路径上通过以下方式保证该密钥,即通过不 对称编码利用属于被包含在密码模块中的私钥的公钥来对该密钥进行 编码。像已经实施的那样,成功的解码同时证明发送方曾拥有该公钥。这一方面是原始拥有该公钥的密码模块的制造商。密码模块的使 用者虽然总归必须具有对制造商的巨大信任,但是不存在安全性缺 陷。尽管如此,不合宜的是,将未来对于运行的安全性随同起决定性 作用的、由密钥中心所产生的新的秘密密钥首先向密码模块的制造商 传送,并且在那里能利用公钥来进行编码。如果个性化(Personalisierung)和制造是互相分开的,则这尤其是不合宜的。相反地,通过本发明规定,公钥由密码模块的制造商向当今的或 未来的运营商传送,并且在那里被用于产生新的秘密密钥的密钥中心 中,以对给密码模块的消息进行编码。根据本发明,利用所保证的真 实性和机密性来实现公钥向密码模块的这种传输。这可以通过已经存 在的装置来进行,例如通过按照SOAP协议加密保证的消息或者通过 HTTPS连接来实现。

图1示出了相应的草图。通过初始化IN,密钥对KM一和KNU以及 设备号ID被产生并且被传输到安全的数据库DB以及密码模块O!中。 两个部件(KM和DB)位于具有相同的共同的安全水平的安全环境中。 密码模块KM具有用于设备号ID、要设置的新密钥nK和私钥KM戸的存 储器。密码模块KM的签名功能S产生了一识别数据组,该识别数据组 包含设备号ID并利用私钥Olm对其进行签名。此外,密码模块还装备 有可利用新的密钥nK对数据组进行解码的解码功能D。在安全的数据 库DB中能经由ID访问公钥KM—。比较器V从由签名功能S所产生的 识别数据组中获取设备号ID,以此来确定公钥KM一,检查ID的签名, 并且在检查结果为肯定时向密钥中心SS发送公钥KM—。密钥中心SS 具有一编码器E,利用该编码器E可以用从安全的数据库DB中所获得
的公钥KM一来对由该密钥中心SS所产生的新密钥nK进行编码。密钥 中心SS向密码模块KM寄送被编码的密钥nK,在那里该密钥nK由D进行解码。在图2至图4的协议图中,通过具有所附的密钥的方括号来象征 数据的签名,通过尖括号来象征编码。名称为KM、 SS和DB的垂直的 线条代表了密码模块、密钥中心和安全的数据库。图2以象征的形式示出了其它的流程密码模块KM通过密钥中心 SS向安全的数据库DB发送识别数据组[ID],n,该数据库DB在检查之 后将公钥KM—寄送回密钥中心SS。该密钥中心SS产生被编码的新密 钥〈nK〉,ub。公钥KM—因此不是被存储在密码模块中,而是被存储在 独立的数据库中,并且用于对新密钥nK进行编码,在密码模块中利用 私钥对该新密钥nK进行解码。本发明的优选的实施形式集成了用于保证完整性和机密性的其它 措施。在图3中示出了这种改进的变型方案的流程。密钥中心SS为此首先向密码模块寄送在其中包含密钥中心的公钥 SS—的询问数据组,该Z/^钥SS一在这里也不必^f呆持才几密。该7>钥#1纳 入识别数据组[ID, SS—] "中,并且与设备号一起利用密码模块的私 钥进行签名,而且被寄送回密钥中心。由于该数据组没有被编码,而 是被签名,所以密钥中心能并且将要检查,在识别数据组中是否包含 设备号和自己的公钥。还不可能检验签名,因为密钥中心还不具有密 码才莫块的公钥KM一。由密钥中心通过任意连接、尤其是也在应用网络业务的情况下将 识别数据组作为询问寄送给密码模块KM的制造商的安全的数据库 DB。该制造商使用设备号ID,以便找到具有公钥KM—的数据组,并且 然后利用所找到的、迄今仅在这里存在的、密码模块的公钥KM一来检 查该识别数据组的签名。因此确保,仅向可访问相应的密码模块KM的 密钥中心SS转交公钥KM一。如果签名是合适的,则产生其中包含密码模块的公钥的待用数据 组(Bereitstellungsdatensatz ) < KM—> ss一。利用密钥中心的公 钥SSpub对该待用数据组进行编码,可选地还利用安全的数据库的私钥 来对该待用数据组进行签名,并且将该待用数据组寄送回密钥中心 SS。因此保证了,密码模块的公钥只可供密钥中心SS使用。
具有它自己的私钥SSpr"的密钥中心SS从现在起能对待用数据组进行解码,并且获取密码模块的公钥KM—。由此,像以前那样,利用密码模块KM的公钥KM一对包含新密钥 nK的设置数据组< nk > 一进行编码,并且将该设置数据组< nk > 一 发送给该公钥KM一,该公钥KM—〗象以前那样对该数据组进行解码,并 且在冗余度检查之后登记新密钥nK。设备号ID不必但是适宜地一起被 纳入该设置数据组中。该变型方案还具有未安全地向密码模块KM传输密钥中心的公钥的 缺点,该密码模块KM因此不能检查,询问是否是有资格的。在按照图4的优选的改进方案中通过以下方式来防止这点,即安 全的数据库DB的密钥中心SS首先在说明设备号ID的情况下能利用密 码模块KM的公钥KM—对包含密钥中心的公钥SS—的询问数据组进行 编码。该询问数据组通常随同包含设备号(ID);可是这不是必要的。 为了保证该操作,安全的数据库具有密钥中心的公钥的目录,以致只 有所注册的密钥中心可以获得被编码的询问数据组。在该实施形式 中,密码模块在进一步处理之前利用自己的私钥KMp"对每个询问数据 组进行解码,以致可以拒绝未授权的询问,并且才完全不产生对于获 得公钥所必需的识别数据组。在按照图3和图4的两种实施形式中,另外适宜的是,密钥中心 SS另外利用自己的私钥SS戸对识别数据组进行签名,并且由安全的数 据库(DB)检验该签名。 一方面,被包含在数据组中的公钥可以用于 此目的。如果像在按照图4的实施形式中那样,在安全的数据库(DB) 中存在着密钥中心的公钥的、由另一装置来保证的目录,并且一起使 用该目录,则这是更好的。在按照图3或图4的本发明的其它的变型方案中,密码模块利用 密钥中心SS的乂^钥SS一对识别数据组进行编码。该密钥中心SS对识 别数据组进行解码,并且在向安全的数据库DB转交之前对它进行签 名。也可以;故弃签名。在一种其它的变型方案中,数据库DB还附加地具有密钥对DBPriv 和DBpub,以l更还更安全地进^f亍与SS、 IN和KM的交换。初始化IN也可 以具有用于与DB和Ol的更安全的连接的密钥对INphv和IN一。像上面已经说明的那样,密码模块KM也包含日间时钟,并且设置
或检查所发送的和接收到的数据组中的时间戳,以便防止重复较老的数据组。为了支持该功能,密码模块KM此外还包含一寄存器,在该寄 存器中存放了最后产生的识别数据组的时间戳,并且此后只在预定的 时间间隔之内接受设置数据组。在另一改进方案中,密码模块KM具有随机数字发生器和用于随机 数字的存储器。每个识别数据组附加地包含又必须被包含在设置数据 组中的随机数字,以便执行该功能。此外,只要接收到设置数据组, 就清除该存储器,以致变老的设置数据组的重复不起作用。也可以使 用计数器来代替随机数字,在密码模块KM中通常总归存在着用于该随 机数字的发生器。用于保护数据组以免进行加密分析(如在编码时插入序列号和随 机数字)的公知措施对于本领域技术人员是熟悉的并且不进一步列 举。由于属于密钥存储器的编码的特性不起作用,所以可替换地或混 合地也可以针对不对称编码设置密钥来代替用于对称编码的秘密密钥。
权利要求
1.用于将新密钥(nK)安全地从密钥中心(SS)传输到密码模块(KM)中的方法,该密码模块(KM)为此包括可写入的密钥存储器并且此外还包括另一用于私钥(KMprv)的密钥存储器,该方法具有以下步骤-在安全的环境(IN)中,产生密码模块的设备号(ID)以及用于不对称编码方法的、由私钥和公钥组成的密钥对(KMprv,KMpub),所述私钥(KMprv)被传输到密码模块(KM)中,并且所述公钥(KMpub)在安全的数据库(DB)中被存放在所述设备号(ID)之下;-由所述密钥中心(SS)从密码模块(KM)中读出包含设备号(ID)的、利用私钥(KMprv)进行签名的第一数据组,并且将第一数据组传输给所述安全的数据库(DB);-所述安全的数据库(DB)借助设备号(ID)确定所述公钥(KMpub),以此检查包含设备号(ID)的数据组的签名,并且将所述公钥(KMpub)发送回密钥中心(SS);-所述密钥中心(SS)产生一设置数据组,该设置数据组包含新密钥(nK)并且利用密码模块(KM)的公钥(KMpub)来编码,以及将该设置数据组发送给密码模块(KM);-所述密码模块(KM)对所述设置数据组进行解码,检查在其中所包含的冗余度并且设置所述新密钥(nK)。
2. 用于将新密钥(nK)安全地从密钥中心(SS)传输到密码模块 (KM)中的方法,该密码模块(KM)为此包括可写入的密钥存储器,并且此外还包括另一用于私钥(KMw)的密钥存储器,该方法具有以 下步骤-在安全的环境(IN)中,产生设备号(ID)以及用于不对称编 码方法的、由私钥(KMw )和公钥(KM一 )组成的密钥对,所述私钥(KMP") 被传输到密码模块中,并且所述公钥(KM—)在安全的数据库(DB) 中被存放在所述设备号(ID)之下;-所述密钥中心(SS)具有用于不对称编码的密钥对,并且向所 述密码模块(KM)发送包含其公钥(SS—)的询问数据组;-所述密码模块UM)产生包含设备号(ID)和密钥中心(SS) 的公钥(SS—)的、利用所存储的私钥(KM")进行签名的识别数据组,并且将该识别数据组发送给密钥中心(ss),该密钥中心(ss)将该识别数据组转发给安全的数据库(DB);-所述安全的数据库(DB)借助设备号(ID)确定密码模块的公 钥(KM—),以此检查识别数据组的签名,产生一待用数据组,利用 从识别数据组中所获取的、密钥中心(SS)的公钥(SS—)对该待用 数据组进行编码,并且将该待用数据组发送回密钥中心(SS);-所述密钥中心(SS)对所述待用数据组进行解码和产生一设置 数据组,该设置数据组包含所述新密钥(nK)并用从待用数据组中所 获取的、密码模块的公钥(KM—)对该设置数据组进行编码,而且所 述密钥中心(SS)将该设置数据组发送给密码模块UM);-所述密码模块(KM)对所述设置数据组进行解码,检查包含在 其中的冗余度,并设置所述新密钥(nK)。
3. 按权利要求2所述的方法,其中,由所述密钥中心(SS)附加 地利用其私钥(SS声)对所述识别数据组进行签名,并且所述安全的 数据库(DB)在继续处理之前检查该签名。
4. 按权利要求2或3所述的方法,其中,在第二步骤中,密钥中 心(SS)在说明设备号(ID)的情况下向安全的数据库(DB)请求询 问数据组,该询问数据组包含密钥中心的^^钥(SS-),并且该询问 数据组利用密码模块(KM)的公钥(KM一)被编码。
5. 按权利要求4所述的方法,其中,所述识别数据组由密码模块 (KM)利用密钥中心(SS)的公钥(SS一)来编码,由密钥中心(SS)利用其私钥(SSm)来解码,并且在转发给安全的数据库(DB)之前, 利用安全的数据库的公钥来编码。
6. 按以上权利要求之一所述的方法,其中,所述密码模块UM) 包含日间时钟,所交换的数据组包含时间戳或有效性时间间隔,并且 签名和冗余度的检查包括了相对于预定的界限的时间说明。
7. 按权利要求6所述的方法,其中,所述密码模块UM)还包含 用于时间戳的存储器,在该存储器中存放了制订识别数据组的时刻, 并且其中,所述密码模块在最后所存储的、制订识别数据组的时刻之 后只在预定的时间间隔之内实施设置数据组。
8. 按以上权利要求之一所述的方法,其中,所述密码模块UM) 包括其它的存储器和随机值发生器,将该随机值嵌入到给密钥中心 (ss)的数据组中,该密钥中心(ss)将所述随机值嵌入到设置数据组中,并且密码模块(KM)在冗余度检查时检验随机值的相同性。
9. 按以上权利要求之一所述的方法,其中,所述数据库DB具有公 钥DB一和私钥DBp",利用该私钥DBm对在密钥中心SS、初始化IN和 密码模块KM之间交换的数据组进行编码。
10. 按以上权利要求之一所述的方法,其中,所述初始化IN具有 公钥IN一和私钥INp",利用该私钥IN^对在密钥中心SS、数据库DB 和密码模块KM之间交换的数据组进行编码。
11. 按以上权利要求之一所述的方法,其中,在自助设备中、尤其 是在自动取款机中采用按权利要求1至IO之一所述的方法。
12. 密码模块(KM),用于执行按权利要求1至11所述的方法之 一,其中,所述密码模块(KM)包含用于产生识别数据组的装置,该 识别数据组包括设备号(ID)并利用所存储的私钥(KM戸)来进行签 名,以及所述密码模块(KM)包含用于在接收设置数据组之后利用新 的密钥(nK)来设置密钥存储器的装置,该装置在其实施之前对所述 设置数据组利用所存储的私钥(KMp)来解码。
13. 按权利要求9所述的密码模块UM),其中,作为对询问数据 组的响应而制订识别数据组,利用秘密密钥(KMp")对该询问数据组 进行解码,检验合理性,并且在对该识别数据组进行签名之前,完全 或部分地将该秘密密钥(KMprv)纳入到所述识别数据组中。
14. 按以上权利要求之一所述的密码模块(KM),其中,在自助设 备中,尤其是在自动取款机中,采用按权利要求12或23所述的密码模 块UM)。
全文摘要
一种用于密钥中心(SS)的方法,用于通过以下方式在密码模块(KM)中设置新密钥(nK)而不用在密码模块(KM)中存储公钥,即通过协议来保证新密钥(nK)的真实性,在该方法中,仅以被编码的方式传输密码模块的公钥(KM<sub>pub</sub>),并且该公钥(KM<sub>pub</sub>)仅被转交给密钥中心(SS),该密钥中心(SS)在其方面可访问密码模块(KM)。
文档编号H04L9/08GK101164273SQ200680013173
公开日2008年4月16日 申请日期2006年4月12日 优先权日2005年4月21日
发明者M·诺尔特 申请人:温科尼克斯多夫国际有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1