CN113424489A - 运行在计数器模式下运行以安全传输数据的密钥流生成器的方法、具有用于安全传输数据的计数器模式运行的密钥流生成器和用于产生密钥流的计算机程序产品 - Google Patents
运行在计数器模式下运行以安全传输数据的密钥流生成器的方法、具有用于安全传输数据的计数器模式运行的密钥流生成器和用于产生密钥流的计算机程序产品 Download PDFInfo
- Publication number
- CN113424489A CN113424489A CN202080014230.7A CN202080014230A CN113424489A CN 113424489 A CN113424489 A CN 113424489A CN 202080014230 A CN202080014230 A CN 202080014230A CN 113424489 A CN113424489 A CN 113424489A
- Authority
- CN
- China
- Prior art keywords
- keystream
- key stream
- sst
- generator
- ssg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 title claims abstract description 15
- 238000004590 computer program Methods 0.000 title claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 35
- 230000015572 biosynthetic process Effects 0.000 claims description 8
- 230000002427 irreversible effect Effects 0.000 claims description 2
- 238000002360 preparation method Methods 0.000 claims 2
- 101100476979 Rhodobacter capsulatus sdsA gene Proteins 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002330 electrospray ionisation mass spectrometry Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
用于运行在计数器模式下运行的密钥流生成器以安全传输数据的方法、具有用于安全传输数据的计数器模式运行的密钥流生成器以及用于产生密钥流的计算机程序产品。为了保护在计数器模式下运行的密钥流生成器免于重复或不正确地产生已生成的密钥流,并且保护数据传输免于重复使用密钥流,即所谓的重用,建议在实现选项方面选择性地在两种运行类型之一中运行密钥流生成器(SSG),所述两种运行类型中一种运行类型是“加密”,一种运行类型是“解密”,其中在“加密”运行类型下,将基于第一控制数据集(SDS1)产生的密钥流(SSTVS)用于将数据(DT)、特别是有用数据(NDT)加密为密码(CHE),即加密的数据或有用数据的产物,并且在“解密”运行类型下,将基于第二控制数据集(SDS2)产生的密钥流(SSTES)用于解密所述密码(CHE),其中仅当通过使用块密码密钥(BGS)对在计数器模式下运行的密钥流生成器(SSG)的计数器值进行加密而产生的密钥流(SSTVS,SSTES)无错误时才输出所述密钥流(SSTVS,SSTES)。
Description
技术领域
本发明涉及根据权利要求1的前序部分的用于运行在计数器模式下运行以安全传输数据的密钥流生成器的方法、根据权利要求15的前序部分的具有用于安全传输数据的计数器模式运行的密钥流生成器以及根据权利要求18的前序部分的用于产生密钥流的计算机程序产品。
背景技术
从EP 3 422 657 A1已知用于划分和同步密码功能性的系统和方法,所述密码功能性例如是加密、密码完整性保护,其中在模块化构建的设备内进行为此所需要的协议适配以对网络业务进行密码处理。所述划分的目的是将信息交换限制在绝对必要的最低限度。任何组件都不应访问完成特定于组件的任务所需的数据。由此减少了对各个组件所需的信任,例如通过不可信的、特别是受到操纵的组件。这种模块化可以用于在基本控制设备和安全模块之间分配任务。
在该文献中对密码处理本身进一步细分。根据该细分,第一密码处理单元应在安全模块上提供密钥流,而第二密码处理单元应将有用数据与所述密钥流合并。第一密码处理单元的参数化,例如密钥和初始化向量的选择,是借助于标签而以标签控制的方式进行的。
在此有意义的还有,同样在基本控制设备上细分控制器功能性。第一控制器接管有用数据的分类,而第二控制器执行密码处理和后处理。在这个变型中,第一密码处理单元仅看见标签而不能访问有用数据。这提供了可信度方面的优点,并且降低了基本控制设备与安全模块之间接口的带宽,因为有用数据不必传递给安全模块。
在生成密钥流时,使用基于对称块密码(Blockchiffre)并在所谓的计数器模式下运行的密钥流生成器。在此,使用块密码对连续的计数器(counter)进行加密。结果是取决于所使用的块密码密钥的伪随机密钥流。然后将该密钥流与有用数据链接,从而创建密码。为了可以安全地使用生成的密钥流,重要的是每个计数器值恰好只使用一次,以便产生用于对有用数据进行加密的密钥流。
在计数器模式下,计数器的初始值通常被预给定为初始化向量。在EP 3 422 657A1中描述的用于划分和同步密码功能性的系统和方法中,可能的攻击是多次传递相同的初始化向量或选择初始化向量,使得在运行期间导致计数器被使用两次。
在与从EP 3 422 657 A1已知的系统不同的系统中预计不会有这种攻击,因为在这些不同的系统中,与从EP 3 422 657 A1已知的将加密逻辑细分为多个(两个)信任区的系统不同,完整的加密逻辑发生在唯一的、非细分的信任区中。
发明内容
本发明所基于的任务是说明一种用于运行在计数器模式下运行的密钥流生成器以安全传输数据的方法、具有用于安全传输数据的计数器模式运行的密钥流生成器以及用于产生密钥流的计算机程序产品,其中保护所述密钥流生成器免于重复或不正确地产生已生成的密钥流,并且保护数据传输免于重复使用密钥流,即所谓的重用。
该任务是基于在权利要求1的前序部分中定义的方法通过特征部分中说明的方法特征来解决的。
此外,该任务是基于权利要求15的前序部分中定义的服务器通过特征部分中说明的服务器特征来解决的。
此外,该任务是基于权利要求18的前序部分中定义的用于产生密钥流的计算机程序产品通过特征部分中引用的根据权利要求1至14之一所述的方法特征来解决的。
根据在权利要求1、15和18中分别说明的技术教导,本发明所基于的思想在于:为了安全传输数据,在计数器模式下并且在实现选项方面选择性地在两种运行类型之一中运行密钥流生成器,所述两种运行类型中一种运行类型是“加密”,一种运行类型是“解密”,其中在“加密”运行类型下,将基于第一控制数据集产生的密钥流用于将数据、特别是有用数据加密为密码,即加密的数据或有用数据的产物,并且在“解密”运行类型下,将基于第二控制数据集产生的密钥流用于解密所述密码,其中仅当通过使用块密码密钥对在计数器模式下运行的密钥流生成器的计数器值进行加密而产生的所述密钥流无错误时才输出所述密钥流。
在本发明/本申请的意义上,“加密”运行类型中的术语“加密”应理解为数据或有用数据的加密和/或认证,其中因此在“加密”运行类型中产生密钥流以用于对数据或有用数据进行加密和/或认证。
在本发明/本申请的意义上,“解密”运行类型中的术语“解密”应理解为数据或有用数据的解密、认证和/或验证,其中因此在“加密”运行类型中产生密钥流以用于对数据或有用数据进行解密、认证和/或验证。
密钥流是如下形成的,即通过利用块密码密钥对位于有限的计数器值范围内(例如在大于232的数量级中)的计数器值进行加密来形成所述密钥流,所述计数器值以与控制数据集相关的密钥流生成器调用的形式连续地确定,并且最初由包含在所述控制数据集中的初始化向量(IV=i1)给出。
在所述密钥流生成器中保持计数器的所有已经使用的计数器读数通常效率不高,因为计数器的值范围典型地在大于或等于232的数量级中,这一事实是朝着本发明所基于的思想方向考虑的出发点。
在本发明的用于安全数据通信和无错误地生成密钥流的场景中,在密钥流生成器的“加密”运行类型中以日志方式记录计数器值的顺序使用,并且通过以日志方式记录来识别是否错误地使用了具有相同计数器值的块密码密钥。在此,错误地使用可能意味着具有相同计数器值的块密码密钥已被多次或顺序地多次使用,即先后多次使用。根据权利要求15在密钥流生成器的密钥流形成模块的日志存储模块中进行所述以日志方式记录,并且由于所述以日志方式记录而识别出是否错误地使用了具有相同计数器值的块密码密钥根据权利要求15发生在密钥流生成器中的密钥流形成模块的检查识别模块中。
如果在所述检查识别模块中的该识别由于以日志方式记录的计数器值表明发生了错误的使用,则接着由所述密钥流生成器输出错误消息或不输出密钥流。
相反,如果发生了无错误的使用,则所述密钥流生成器输出用于对数据加密的密钥流。
此外,在无错误使用的情况下针对“解密”运行类型下的有效性检查生成校验码,该校验码对于“加密”运行类型而言与秘密绑定。所述秘密在根据权利要求15的密钥流生成器中在密钥流形成模块的秘密模块中产生,或者从外部引入到所述密钥流生成器中并且然后存储在所述秘密模块中。为了产生所述校验码(在“加密”运行类型下)并验证该校验码(在“解密”运行类型下)需要所述秘密。从而例如可以通过推导函数从块密码密钥中产生所述秘密。然而在最简单的情况下,所述秘密被选择为与所述块密码密钥相同。
由于所述秘密对于一些实施方式(例如对称的“消息认证代码<MAC>”)而言在两个秘密模块(用于“加密”运行类型/用于“解密”运行类型)中必须相同,因此优选地从外部引入所述秘密。
在所述密钥流生成器的“解密”运行类型下,在用于安全数据通信和无错误地生成密钥流的场景中,基于生成的作为第二控制数据集的校验码在基于所述秘密执行的校验码的有效性检查过程中识别出块密码密钥和计数器值的错误使用、特别是多次或顺序多次使用,并由此识别出是否错误地使用了具有相同计数器值的块密码密钥。在此,错误使用又可能意味着具有相同计数器值的块密码密钥已被多次顺序多次使用,即先后多次使用。在此根据权利要求15,有效性检查也在所述密钥流生成器中的密钥流形成模块的检查识别模块中发生。在该有效性检查的过程中识别代表第二控制数据集的所生成的校验码是否有效。
如果检查识别模块中的校验码有效性检查导致否定结果,这意味着代表第二控制数据集的校验码不正确,则接着由所述密钥流生成器输出另外的错误消息或不输出密钥流。
然而,如果比较识别模块中校验码有效性检查的结果是肯定的,这意味着代表第二控制数据集的校验码是正确的,则接着由所述密钥流生成器输出用于解密密码的密钥流。
在此,优选地检查校验码的有效性,使得在“解密”运行类型中,基于所述秘密产生另外的校验码,并将该另外的校验码与在“加密”运行类型中生成的校验码进行比较以确定一致性(参见权利要求2和16)。
所述校验码用于保护基于初始化向量的计数器值,并且为了对所述初始化向量进行认证,所述校验码优选地是非对称签名或对称的“消息认证码<MAC>”(参见权利要求3、4和17)。
为了提高安全性,特别是防止重放攻击,除了所述初始化向量之外还可以将另外的辅助数据(例如生成计数器和/或随机数、来自块密码密钥的数字指纹)引入到校验码或“消息认证码<MAC>”或非对称签名中。
“加密”运行类型中的初始化向量在此根据权利要求11和17不仅可以从外部预给定,而且还可以由所述密钥流生成器自动选择或预给定。
在“解密”运行类型下,初始化向量与校验码或“消息认证码<MAC>”或非对称签名一起可用。
在“加密”运行类型下(参见权利要求5、6和16),设定所述密钥流生成器中的计数器严格单调增加。也就是说:如果在首次调用密钥流生成器时将IV=i1的初始化向量作为第一控制数据集传递,并需要“n”个计数器值来进行密钥流生成,则在下次调用时必须选择或输入(传递)IV=i3且i3≥i2=i1+n的初始化向量。为了检查,只需在密钥流生成器中存储下一个可使用的计数器读数i2=i1+n。然后将传递的IV=i3的初始化向量分别与存储的计数器读数进行比较,并根据该比较输出密钥流或错误消息。在块密码密钥更新后,将值i复位为0。于是,如果必须将(非顺序地)多次使用块密码密钥排除在描述的过程之外,则这是必要的。
在“解密”运行类型下,不能假设所述密钥流生成器的计数器在正常运行期间总是单调增加。从而例如在经由网络交换加密的数据时可能导致不同的网络数据包不会按其原始顺序传递。尽管如此,应当确保所述密钥流生成器在“解密”运行类型下不接受由攻击者任意选择的初始化向量。为此,处于“加密”运行类型的密钥流生成器传递所使用的初始化向量的状态作为第二控制数据集,该状态用所述校验码或“消息认证码<MAC>”或非对称签名保护。仅当所述校验码或“消息认证码<MAC>”或非对称签名正确时,“解密”运行类型下的密钥流生成器才接受初始化向量(参见权利要求1和15)。
如果确定初始化向量的使用错误,例如两次或多次使用,则密钥流生成器以合适的方式对该错误作出反应。优选可以想到以下错误反应:
-错误状态的显示/设置,例如以错误比特作为输出(参见权利要求7和16)。
-防止密钥流的输出,特别是优选在“解密”运行类型中(参见权利要求8和16)。
-无效密钥流的输出,特别是优选在“加密”运行类型下(参见权利要求9和16)。为了产生无效密钥流,可以选择随机选择的块密码密钥或借助于任意函数从块密码密钥中导出的块密码密钥(参见权利要求10和16)。
可以有利地如下选择运行类型(参见权利要求12、13和17):
-动态、明确的选择:可以从外部动态配置密钥流生成器,从而例如通过配置PIN或配置命令(参见权利要求12和17)。
-静态选择:将密钥流生成器的硬件设定为两种运行类型之一。这可以直接在生产中完成或事后完成,例如通过设置备份(参见权利要求12和17)。
-自动选择:这由所述第一控制数据集完成,即输入的数据集不包含附加信息或“消息认证码<MAC>”信息,由此选择了“加密”运行类型(参见权利要求13和17)。
-自动选择:这由所述第二控制数据集完成,即输入的数据集包含附加信息或“消息认证码<MAC>”信息,由此选择了“解密”运行类型(参见权利要求13和17)。
所述密钥流生成器也可以被设计为在针对上下文首次选择后不再更改运行类型,所述上下文例如是现有的或特定的块密码密钥在密钥流生成器的整个使用寿命期间的可用性/使用(参见权利要求14和17)。
密钥流产生还可以优选地在计算机程序产品中进行,所述计算机程序产品具有非易失性可读存储器以及连接到所述存储器的处理器,在所述存储器中存储了执行密钥流产生的程序模块的处理器可读控制程序指令,并且所述处理器执行所述程序模块的控制程序指令以产生密钥流,其中所述计算机程序产品为此执行上面解释和呈现的技术措施,但特别是根据权利要求1至14之一的方法。
附图说明
本发明的其他优点从以下基于图1对本发明的实施例的描述中得出。
图1示出了具有“加密”运行类型中的密钥流生成器和“解密”运行类型中的密钥流生成器的密钥流生成器布置。
具体实施方式
图1示出了密钥流生成器布置,其为了安全传输数据而具有在“加密”运行类型下以计数器模式运行的密钥流生成器SSG和在“解密”运行类型下以计数器模式运行的密钥流生成器SSG。对于这种安全的数据传输,例如以有用数据NDT的形式存在的待传输数据DT首先为了使用产生的密钥流SSTVS进行加密而被加密成密码CHF,然后为了使用产生的密钥流SSTES解密而对密码CHF中的数据DT、NDT解密。
就密钥流生成器基础结构而言,两个密钥流生成器SSG构造相同。从而在所示出的密钥流生成器布置的每个以计数器模式运行的密钥流生成器SSG都包含数据集接口模块DSSM、块密码模块BCM和密钥流形成模块SSBM,它们相互连接并且选择性地为了产生用于数据加密的密钥流SSTVS或用于数据解密的密钥流SSTES而分别形成公共的功能单元。基于第一控制数据集SDS1在“加密”运行类型下的密钥流生成器SSG中产生密钥流SSTVS,该第一控制数据集SDS1经由数据集接口模块DSSM输送到密钥流形成模块SSBM。相反,基于第二控制数据集SDS2在“解密”运行类型下的密钥流生成器SSG中产生密钥流SSTES,该第二控制数据集也经由数据集接口模块DSSM输送给密钥流形成模块SSBM(参见下面对“解密”运行类型下的密钥流生成器SSG的解释)。
此外,还将块密码密钥BCS从块密码模块BCM输送到密钥流形成模块SSBM。基于所输送的控制数据集SDS1、SDS2和块密码密钥BCS,在上述设计的功能单元中形成密钥流SSTVS、SSTES。这种密钥流形成是通过利用块密码密钥BCS对位于有限的计数器值范围内的计数器值进行加密来进行的,所述计数器值以与控制数据集相关的密钥流生成器SSG调用i1、i3、...的形式连续地确定,并且最初由包含在控制数据集SDS1、SDS2中的初始化向量IV(IV=i1)给出。
上述形成的功能单元相对于密钥流形成模块SSBM继续扩展到日志存储模块PSM、秘密模块GHM和检查识别模块PEM,它们在由密钥流形成模块SSBM形成功能单元的过程中都包含在密钥流形成模块SSBM中,并在功能上相互作用。其中包含所提到的模块的密钥流形成模块SSBM由这些模块的功能上的相互作用和优选构造为用于产生密钥流的计算机程序产品的类型构造,所述计算机程序产品具有非易失性可读存储器以及与所述存储器连接的处理器,在该存储器中存储执行密钥流产生的程序模块的处理器可读的控制程序指令,所述处理器执行用于产生密钥流的程序模块的控制程序指令。
在所示的密钥流生成器布置中,在处于“加密”运行类型下的密钥流生成器SSG中,在首次调用i1以计数器模式运行的密钥流生成器SSG时给出初始化向量IV,IV=i1作为第一控制数据集SDS1,在首次调用时密钥流生成器SSG处于第一运行计数周期i1中。“给出”在此可以意味着初始化向量IV要么由“加密”运行类型下的密钥流生成器SSG自动预给定,要么如图1中所示从外部输送给密钥流生成器SSG。
在随后的密钥流生成之一中,其中密钥流生成器SSG处于第二运行计数周期i2,需要来自计数器值范围中的“n”个计数器值,直到计数器读数i2=i1+n为止。将计数器读数i2=i1+n存储在日志存储模块PSM中以用于以日志方式记录。
在随后第二次调用i3以计数器模式运行的密钥流生成器SSG时,在第二次调用时密钥流生成器SSG处于第二运行计数周期i3中,现在再次存在两个选项。密钥流生成器SSG选择另外的初始化向量IV且i3≥i2=i1+n作为另外的第一控制数据集SDS1,或者作为该选择的替代,从外部输入另外的初始化向量IV且IV=i3作为另外的第一控制数据集SDS1,并且将在第二次调用i3中输入的另外的初始化向量IV与存储的计数器读数进行比较,以确定是否满足初始化向量计数器读数条件i3≥i2=i1+n。该比较发生在密钥流生成器SSG中的密钥流形成模块SSBM的检查识别模块PEM中。
两个选项在以下方面是固有的,即以日志方式记录计数器值的顺序使用,并且通过以日志记录识别具有相同计数器值的块密码密钥BCS是否已被错误地使用,例如多次或顺序多次使用。这种在密钥流生成器SSG的“加密”运行类型中的错误使用的识别是通过密钥流形成模块SSBM中日志存储模块PSM和检查识别模块PEM的对应的功能上的相互作用以及对应构造来进行的,其中这样的识别以及由此得到的密钥流形成的结果发生在检查识别模块PEM中。
从而在错误使用的情况下,要么不输出密钥流SSTVS,要么输出错误消息FM。相反,如果存在无错误使用,则输出密钥流SSTVS用于对数据DT、NDT加密。在密钥流形成方面的相同结果也适用于前一段中定义的在另外的初始化向量IV和存储的计数器读数之间确定是否满足初始化向量计数器读数条件i3≥i2=i1+n的比较。即,如果满足所述条件,则输出用于数据加密的密钥流SSTVS,或者,如果不满足所述条件,则输出错误消息FM。
利用错误消息FM,以有利的方式显示在“加密”运行类型中的密钥流生成器SSG的错误状态。替代地或附加地,也可以设置错误状态,例如以在输出端处或作为输出的错误比特的形式。
此外也可以在“加密”运行类型下使用错误消息FM输出无效密钥流SSTVS'。该无效密钥流SSTVS'优选地根据随机选择的块密码密钥BCS或根据借助于任何函数从块密码密钥BCS导出的经过修改的块密码密钥BCS'来产生。
在无错误使用的情况下,除了输出用于加密数据DT、NDT的密钥流SSTVS之外还会生成校验码PRCGH,所述校验码针对“加密”运行类型与生成器特定的秘密GH(例如在密钥流生成器中产生)绑定。所述秘密要么在密钥流生成器SSG中的密钥流形成模块SSBM的秘密模块GHM中产生,要么从外部引入到密钥流生成器中并且然后存储在秘密模块中。由于所述秘密对于一些实施例而言(例如在对称的“消息认证码<MAC>”的情况下)在两个秘密模块(用于“加密”运行类型/用于“解密”运行类型)中必须相同,因此所述秘密优选地从外部引入并且然后存储在秘密模块GHM中。
在“加密”运行类型下需要所述秘密来产生校验码。然后下面在“解密”运行类型中描述如何使用秘密GH来验证生成的校验码PRCGH。例如,可以通过推导函数从块密码密钥BCS中产生所述秘密。然而在最简单的情况下,所述秘密被选择为与所述块密码密钥BCS相同。
例如,校验码PRCGH可以用于保护基于初始化向量的计数器值。此外,所述校验码被构造为认证所述初始化向量,所述初始化向量优选以非对称签名的形式或作为对称的“消息认证码<MAC>”。
为了提高安全性,特别是防止重放攻击,除了初始化向量之外还可以将另外的辅助数据(例如生成计数器和/或随机数、块密码密钥的数字指纹)引入到校验码或“消息认证码<MAC>”中或者引入非对称签名。
然后,仅当在“加密”运行类型下导致密钥流SSTVS的输出时,使用所述密钥流将数据DT、NDT加密为密码CHF,才会生成校验码PRCGH,所述校验码在“解密”运行类型下对于生成用于解码密码CHF中的数据DT、NDT的密钥流SSTES是决定性的。
为了解密密码CHF中的数据DT、NDT,在图1中所示的密钥流生成器布置的密钥流生成器SSG中基于第二控制数据集SDS2产生密钥流SSTES,所述密钥流生成器布置处于“解密”运行类型。根据图1所示,第二控制数据集SDS2从“加密”运行类型下的密钥流生成器SSG传递到“解密”运行类型下的密钥流生成器SSG。然而,替代地,该第二控制数据集SDS2也可以自动给出或存在。第二控制数据集SDS2通过由“加密”运行类型下的密钥流生成器SSG生成的校验码PRCGH代表。在此,校验码PRCGH还包括在“加密”运行类型下在关于第一控制数据集SDS1进行的密钥流生成器SSG的调用i1、i3、...时给出的初始化向量IV,其中IV=i1,IV=i3,...。密钥流SSTES的密钥流形成对于各个运行计数周期i1、i3、...再次通过使用块密码密钥BCS对分别在校验码PRCGH中用初始化向量IV,IV=i1,IV=i3,...给出的计数器值进行加密来进行。
现在为了也能够在“解密”运行类型下的密钥流生成器SSG中识别块密码密钥BCS和计数器值的错误使用,例如多次或顺序多次使用,在基于秘密GH的过程中对生成的校验码PRCGH进行有效性检查,所述生成的校验码代表第二控制数据集SDS2,所述秘密再次在密钥流生成器SSG中的密钥流形成模块SSBM的秘密模块GHM中产生并存储在那里。在该有效性检查中确定所生成的代表第二控制数据集SDS2的校验码PRCGH是否有效。
这种对校验码PRCGH是否有效的检查在密钥流生成器SSG的“解密”运行类型下,通过密钥流形成模块SSBM中秘密模块GHM和检查识别模块PEM对应的功能上的相互作用和对应构造来进行,其中这样的有效性检查以及由此得到的密钥流形成的结果在检查识别模块PEM中发生。
从而如果校验码有效性检查的结果是否定的,即校验码PRCGH不正确,则要么不输出密钥流SSTES要么输出另外的错误消息FM'。相反,如果校验码有效性检查的结果是肯定的,其含义是校验码PRCGH是正确的,则输出用于对密码CHF解密的密钥流SSTES。
通过另外的错误消息FM',以有利的方式再次显示“解密”运行类型下的密钥流生成器SSG的错误状态。替代地或附加地,也可以设置错误状态,例如以在输出端处或作为输出的错误比特的形式。利用另外的错误消息FM',在“解密”运行类型下可以有利地防止输出用于对密码CHF解密的密钥流SSTES。
密钥流形成模块SSBM中的秘密模块GHM和检查识别模块PEM的功能上的相互作用和对应的构造使得能够进行优选的校验码有效性检查,使得在“解密”运行类型下基于秘密GH产生另外的校验码PRCGH'并且将另外的校验码PRCGH'与在“加密”运行类型下生成的校验码PRCGH进行比较。在此,缺乏一致性意味着否定的有效性检查,而确定了一致性则意味着肯定的有效性检查。
图1中所示的具有两个密钥流生成器SSG的密钥流生成器布置在运行类型选择方面、即选择“加密”运行类型还是选择“解密”运行类型方面优选被设计为,使得运行类型的选择动态明确地得到配置,例如借助于配置PIN或配置命令,或者静态地通过以硬件方式设定密钥流生成器来得到配置。
然而,附加地或替代地,还可以自动地通过第一控制数据集SDS1在配置的意义上确定“加密”运行类型的选择,并且自动地通过第二控制数据集在配置的意义上确定“解密”运行类型的选择。
此外,在这两种情况下都有利的是,密钥流生成器SSG的“加密”运行类型的选择和“解密”运行类型的选择一旦完成就是不可逆的。
Claims (18)
1.一种用于运行在计数器模式下运行的密钥流生成器(SSG)以安全传输数据的方法,其中为了传输数据(DT)、特别是有用数据(NDT),使用由密钥流生成器(SSG)基于第一控制数据集(SDS1)产生的密钥流(SSTVS)将所述数据(DT,NDT)加密为密码(CHF)并且使用由所述密钥流生成器(SSG)基于第二控制数据集(SDS2)产生的密钥流(SSTES)对所述密码(CHF)中的数据(DT,NDT)进行解密,其中通过使用块密码密钥(BCS)对位于有限的计数器值范围内、特别是在大于232的数量级中的计数器值进行加密来形成所述密钥流(SSTVS,SSTES),所述计数器值以与控制数据集相关的密钥流生成器(SSG)调用(i1,i3,...)的形式连续地确定,并且最初由包含在所述控制数据集(SDS1,SDS2)中的初始化向量(IV)给出,其中IV=i1,
其特征在于,
a)在“加密”运行类型下
a1)以日志方式记录所述计数器值的顺序使用,并且通过以日志方式记录来识别是否错误地,特别是多次或顺序多次地使用了具有相同计数器值的块密码密钥(BCS),其中
a11)在错误使用的情况下,输出错误消息(FM)或不输出密钥流(SSTVS),或
a12)在无错误使用的情况下输出用于对所述数据(DT,NDT)加密的密钥流(SSTVS)以及生成校验码(PRCGH),所述校验码针对“加密”运行类型与生成器特定的秘密(GH)绑定,所述秘密特别是在所述密钥流生成器中产生或从外部引入到所述密钥流生成器中,并且
b)在“解密”运行类型下
b1)基于生成的作为第二控制数据集(SDS2)的校验码(PRCGH)在基于所述秘密(GH)执行的所述校验码(PRCGH)的有效性检查过程中识别出所述块密码密钥(BCS)和计数器值的错误使用、特别是多次或顺序多次使用,并且由此识别出生成的代表所述第二控制数据集(SDS2)的校验码(PRCGH)是否有效,其中
b11)如果校验码有效性检查的结果为否定,即所述校验码(PRCGH)不正确,则输出另外的错误消息(FM')或不输出密钥流(SSTES),或
b12)如果校验码有效性检查的结果是肯定的,即所述校验码(PRCGH)是正确的,则输出用于对所述密码(CHF)解密的密钥流(SSTES)。
2.根据权利要求1所述的方法,其特征在于,
检查所述校验码(PRCGH)的有效性,使得在“解密”运行类型中,基于所述秘密(GH)产生另外的校验码(PRCGH'),并将所述另外的校验码(PRCGH')与在“加密”运行类型中生成的校验码(PRCGH)进行比较以确定一致性。
3.根据权利要求1所述的方法,其特征在于,
所述校验码(PRCGH)用于保护基于初始化向量的计数器值。
4.根据权利要求1或3所述的方法,其特征在于,
为了对所述初始化向量(IV)进行认证,所述校验码(PRCGH)是非对称签名或对称的“消息认证码<MAC>”。
5.根据权利要求1、3或4中任一项所述的方法,其特征在于,
在“加密”运行类型下,
-在首次与控制数据集相关地调用(i1)所述密钥流生成器(SSG)时将IV=i1的初始化向量(IV)作为所述第一控制数据集(SDS1)给出,
-在随后的密钥流生成(i2)时需要来自所述计数器值范围的“n”个计数器值,直到计数器读数i2=i1+n为止,
-为了以日志方式记录而存储计数器读数i2=i1+n,
-在随后第二次与控制数据集相关地调用(i3)所述密钥流生成器(SSG)时,选择另外的初始化向量(IV)且i3≥i2=i1+n作为另外的第一控制数据集(SDS1)。
6.根据权利要求1、3或4中任一项所述的方法,其特征在于,
在“加密”运行类型下,
-在首次与控制数据集相关地调用(i1)所述密钥流生成器(SSG)时将IV=i1的初始化向量(IV)作为所述第一控制数据集(SDS1)给出,
-在随后的密钥流生成(i2)时需要来自所述计数器值范围的“n”个计数器值,直到计数器读数i2=i1+n为止,
-为了以日志方式记录而存储计数器读数i2=i1+n,
-在随后第二次与控制数据集相关地调用(i3)所述密钥流生成器(SSG)时,输入另外的初始化向量(IV)且IV=i3作为另外的第一控制数据集(SDS1),
-将在第二次调用(i3)所述密钥流生成器(SSG)时输入的另外的初始化向量(IV)与存储的计数器读数进行比较,以确定是否满足初始化向量-计数器读数条件i3≥i2=i1+n,并且在此过程中如果满足所述条件,则输出用于数据加密的密钥流(SSTVS),或者如果不满足所述条件,则输出所述错误消息(FM)。
7.根据权利要求1、3或4中任一项所述的方法,其特征在于,
使用所述错误消息(FM,FM')来显示和/或设置错误状态,例如作为输出的错误比特。
8.根据权利要求1至4任一项所述的方法,其特征在于,
随着在“解密”运行类型下的另外的错误消息(FM'),防止输出用于对所述密码(CHF)解密的密钥流(SSTES)。
9.根据权利要求1、3、4、5或6中任一项所述的方法,其特征在于,
随着在“加密”运行类型下的错误消息(FM),输出无效的密钥流(SSTVS')。
10.根据权利要求9所述的方法,其特征在于,
根据随机选择的块密码密钥(BCS)或根据借助于任意函数从所述块密码密钥(BCS)中导出的经过修改的块密码密钥(BCS')来产生所述无效的密钥流(SSTVS')。
11.根据权利要求1至10中任一项所述的方法,其特征在于,
所述初始化向量(IV)由在“加密”运行类型下的密钥流生成器(SSG)自动预给定或从外部输送给所述密钥流生成器(SSG)。
12.根据权利要求1至11中任一项所述的方法,其特征在于,
所述密钥流生成器(SSG)的“加密”运行类型和“解密”运行类型的选择动态明确地得到配置,例如借助于配置PIN或配置命令,或者静态地通过以硬件方式设定所述密钥流生成器(SSG)来得到配置。
13.根据权利要求1至11中任一项所述的方法,其特征在于,
自动地通过所述第一控制数据集(SDS1)配置所述密钥流生成器(SSG)的“加密”运行类型的选择,并且自动地通过所述第二控制数据集(SDS2)配置所述密钥流生成器(SSG)的“解密”运行类型的选择。
14.根据权利要求12或13所述的方法,其特征在于,
所述密钥流生成器(SSG)的“加密”运行类型的选择和“解密”运行类型的选择一旦完成就是不可逆的。
15.一种密钥流生成器(SSG),具有用于安全传输数据的计数器模式运行,
a) 其中为了传输数据(DT)、特别是有用数据(NDT),使用在所述密钥流生成器(SSG)中基于第一控制数据集(SDS1)产生的密钥流(SSTVS)将所述数据(DT,NDT)加密为密码(CHF)并且使用由所述密钥流生成器(SSG)基于第二控制数据集(SDS2)产生的密钥流(SSTES)对所述密码(CHF)中的数据(DT,NDT)进行解密,并且
b)具有数据集接口模块(DSSM)、块密码模块(BCM)和密钥流形成模块(SSBM),所述数据集接口模块(DSSM)、所述块密码模块(BCM)和所述密钥流形成模块(SSBM)相互连接并形成公共功能单元,使得在所述密钥流形成模块(SSBM)中通过使用块密码密钥(BCS)对位于有限的计数器值范围内、特别是在大于232的数量级中的计数器值进行加密来形成所述密钥流(SSTVS,SSTES),所述计数器值以与控制数据集相关的密钥流生成器(SSG)调用(i1,i3,...)的形式连续地确定,并且最初由包含在所述控制数据集(SDS1,SDS2)中的初始化向量(IV)给出,其中IV=i1,
其特征在于,
c)所述密钥流形成模块(SSBM)包含日志存储模块(PSM)、秘密模块(GHM)和检查识别模块(PEM),其中
cl)在“加密”运行类型下,在由所述密钥流形成模块(SSBM)形成功能单元的过程中,所述密钥流形成模块(SSBM)中的日志存储模块(PSM)、秘密模块(GHM)和检查识别模块(PEM)被构造和相互作用,使得
c11)以日志方式记录所述计数器值的顺序使用,并且通过以日志方式记录来识别是否错误地,特别是多次或顺序多次地使用了具有相同计数器值的块密码密钥(BCS),其中
c111)在错误使用的情况下,输出错误消息(FM)或不输出密钥流(SSTVS),或
c112)在无错误使用的情况下输出用于对所述数据(DT,NDT)加密的密钥流(SSTVS)以及生成校验码(PRCGH),所述校验码针对“加密”运行类型与生成器特定的秘密(GH)绑定,所述秘密特别是在所述密钥流生成器中产生或从外部引入到所述密钥流生成器中,并且
c2)在“解密”运行类型下,在由所述密钥流形成模块(SSBM)形成功能单元的过程中,所述密钥流形成模块(SSBM)中的秘密模块(GHM)和检查识别模块(PEM)被构造和相互作用,使得
c21)基于生成的作为第二控制数据集(SDS2)的校验码(PRCGH)在基于所述秘密(GH)执行的所述校验码(PRCGH)的有效性检查过程中识别出所述块密码密钥(BCS)和计数器值的错误使用、特别是多次或顺序多次使用,并且由此识别出生成的代表所述第二控制数据集(SDS2)的校验码(PRCGH)是否有效,其中
c211)如果校验码有效性检查的结果为否定,即所述校验码(PRCGH)不正确,则输出另外的错误消息(FM')或不输出密钥流(SSTES),或
c212)如果校验码有效性检查的结果是肯定的,即所述校验码(PRCGH)是正确的,则输出用于对所述密码(CHF)解密的密钥流(SSTES)。
16.根据权利要求15所述的密钥流生成器(SSG),其特征在于,
在由所述密钥流形成模块(SSBM)形成功能单元的过程中,所述密钥流形成模块(SSBM)中的日志存储模块(PSM)、秘密模块(GHM)和检查识别模块(PEM)被构造和相互作用,使得执行权利要求2、5、6、7、8、9或10的任一项中的特征部分的特征。
17.根据权利要求15或16所述的密钥流生成器(SSG),其特征在于权利要求3、4、11、12、13或14的任一项中的特征部分的特征。
18.一种用于密钥流产生的计算机程序产品,具有非易失的可读存储器,在所述存储器中存储执行密钥流产生的程序模块的处理器可读的控制程序指令,所述计算机程序产品还具有连接到所述存储器的处理器,所述处理器执行用于执行密钥流产生的程序模块的控制程序指令,其特征在于,执行根据权利要求1至14中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19157373.2 | 2019-02-15 | ||
EP19157373.2A EP3697020A1 (de) | 2019-02-15 | 2019-02-15 | Verfahren zum betreiben von im zähler-modus betriebenen schlüsselstromgeneratoren zur sicheren datenübertragung, schlüsselstromgenerator mit zähler-modus-betrieb zur sicheren datenübertragung und computer-programm-produkt zur schlüsselstromerzeugung |
PCT/EP2020/050697 WO2020164828A1 (de) | 2019-02-15 | 2020-01-13 | Verfahren zum betreiben von im zähler-modus betriebenen schlüsselstromgeneratoren zur sicheren datenübertragung, schlüsselstromgenerator mit zähler-modus-betrieb zur sicheren datenübertragung und computer-programm-produkt zur schlüsselstromerzeugung |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113424489A true CN113424489A (zh) | 2021-09-21 |
Family
ID=65493819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080014230.7A Pending CN113424489A (zh) | 2019-02-15 | 2020-01-13 | 运行在计数器模式下运行以安全传输数据的密钥流生成器的方法、具有用于安全传输数据的计数器模式运行的密钥流生成器和用于产生密钥流的计算机程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11784790B2 (zh) |
EP (2) | EP3697020A1 (zh) |
CN (1) | CN113424489A (zh) |
WO (1) | WO2020164828A1 (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10223217A1 (de) * | 2002-05-24 | 2003-12-11 | Siemens Ag | Verfahren und Anordnung zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen in drahtlosen Netzwerken |
CN1836220A (zh) * | 2003-06-25 | 2006-09-20 | 英特尔公司 | 具有降低的解密延迟的存储器加密的装置和方法 |
US20080112561A1 (en) * | 2006-11-13 | 2008-05-15 | Kim Woo Hwan | Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher |
CN102725737A (zh) * | 2009-12-04 | 2012-10-10 | 密码研究公司 | 可验证防泄漏的加密和解密 |
US20130010954A1 (en) * | 2010-03-11 | 2013-01-10 | Rainer Falk | Method for the secure unindirectional transmission of signals |
US20140270163A1 (en) * | 2013-03-14 | 2014-09-18 | Robert Bosch Gmbh | System And Method For Counter Mode Encrypted Communication With Reduced Bandwidth |
US20160149696A1 (en) * | 2014-06-03 | 2016-05-26 | L-3 Communications Corporation | Transparent Serial Encryption |
CN107667374A (zh) * | 2015-06-25 | 2018-02-06 | 英特尔公司 | 用于存储器保密性、完整性和重放保护的技术 |
US20180294968A1 (en) * | 2017-04-05 | 2018-10-11 | Trellisware Technologies, Inc. | Methods and systems for improved authenticated encryption in counter-based cipher systems |
US20180375842A1 (en) * | 2017-06-26 | 2018-12-27 | Siemens Aktiengesellschaft | Methods and security control apparatuses for transmitting and receiving cryptographically protected network packets |
-
2019
- 2019-02-15 EP EP19157373.2A patent/EP3697020A1/de not_active Withdrawn
-
2020
- 2020-01-13 WO PCT/EP2020/050697 patent/WO2020164828A1/de unknown
- 2020-01-13 CN CN202080014230.7A patent/CN113424489A/zh active Pending
- 2020-01-13 US US17/429,678 patent/US11784790B2/en active Active
- 2020-01-13 EP EP20702213.8A patent/EP3903440B1/de active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10223217A1 (de) * | 2002-05-24 | 2003-12-11 | Siemens Ag | Verfahren und Anordnung zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen in drahtlosen Netzwerken |
CN1836220A (zh) * | 2003-06-25 | 2006-09-20 | 英特尔公司 | 具有降低的解密延迟的存储器加密的装置和方法 |
US20080112561A1 (en) * | 2006-11-13 | 2008-05-15 | Kim Woo Hwan | Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher |
CN102725737A (zh) * | 2009-12-04 | 2012-10-10 | 密码研究公司 | 可验证防泄漏的加密和解密 |
US20130010954A1 (en) * | 2010-03-11 | 2013-01-10 | Rainer Falk | Method for the secure unindirectional transmission of signals |
US20140270163A1 (en) * | 2013-03-14 | 2014-09-18 | Robert Bosch Gmbh | System And Method For Counter Mode Encrypted Communication With Reduced Bandwidth |
US20160149696A1 (en) * | 2014-06-03 | 2016-05-26 | L-3 Communications Corporation | Transparent Serial Encryption |
CN107667374A (zh) * | 2015-06-25 | 2018-02-06 | 英特尔公司 | 用于存储器保密性、完整性和重放保护的技术 |
US20180294968A1 (en) * | 2017-04-05 | 2018-10-11 | Trellisware Technologies, Inc. | Methods and systems for improved authenticated encryption in counter-based cipher systems |
US20180375842A1 (en) * | 2017-06-26 | 2018-12-27 | Siemens Aktiengesellschaft | Methods and security control apparatuses for transmitting and receiving cryptographically protected network packets |
Also Published As
Publication number | Publication date |
---|---|
EP3903440A1 (de) | 2021-11-03 |
EP3697020A1 (de) | 2020-08-19 |
EP3903440B1 (de) | 2022-12-28 |
US11784790B2 (en) | 2023-10-10 |
WO2020164828A1 (de) | 2020-08-20 |
US20220158822A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569623B2 (en) | Secure boot with resistance to differential power analysis and other external monitoring attacks | |
EP3804213B1 (en) | Shared secret establishment | |
JP4638912B2 (ja) | ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法 | |
US8000473B2 (en) | Method and apparatus for generating cryptographic sets of instructions automatically and code generator | |
JP2014204444A (ja) | センサへの操作及び/又はセンサのセンサデータへの操作を検出するための方法及び装置 | |
US20100037069A1 (en) | Integrated Cryptographic Security Module for a Network Node | |
JPH10154976A (ja) | タンパーフリー装置 | |
CN111614621B (zh) | 物联网通信方法和系统 | |
CN106372497B (zh) | 一种应用编程接口api保护方法和保护装置 | |
WO1999031841A1 (en) | Method for strongly authenticating another process in a different address space | |
CN112241527B (zh) | 物联网终端设备的密钥生成方法、系统及电子设备 | |
EP3709561A1 (en) | Method for generating a digital signature of an input message | |
CN110750791A (zh) | 基于内存加密保障可信执行环境抗物理攻击的方法及系统 | |
KR20050022623A (ko) | 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법 | |
CN112152802A (zh) | 数据加密方法、电子设备及计算机存储介质 | |
CN100431297C (zh) | 采用双重认证协议来防止用户口令被盗用的方法 | |
Schleiffer et al. | Secure key management-a key feature for modern vehicle electronics | |
CN111490876B (zh) | 一种基于usb key的通信方法和usb key | |
CN107026729B (zh) | 用于传输软件的方法和装置 | |
CN110445774B (zh) | IoT设备的安全防护方法、装置及设备 | |
CN116881936A (zh) | 可信计算方法及相关设备 | |
JP7545490B2 (ja) | 情報検証装置、電子制御装置、及び情報検証方法 | |
CN113424489A (zh) | 运行在计数器模式下运行以安全传输数据的密钥流生成器的方法、具有用于安全传输数据的计数器模式运行的密钥流生成器和用于产生密钥流的计算机程序产品 | |
CN111651740B (zh) | 一种面向分布式智能嵌入式系统的可信平台共享系统 | |
CN116781265A (zh) | 一种数据加密的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210921 |
|
WD01 | Invention patent application deemed withdrawn after publication |