CN1883156A - 数据通信安全设备和方法 - Google Patents
数据通信安全设备和方法 Download PDFInfo
- Publication number
- CN1883156A CN1883156A CNA2004800344278A CN200480034427A CN1883156A CN 1883156 A CN1883156 A CN 1883156A CN A2004800344278 A CNA2004800344278 A CN A2004800344278A CN 200480034427 A CN200480034427 A CN 200480034427A CN 1883156 A CN1883156 A CN 1883156A
- Authority
- CN
- China
- Prior art keywords
- unit
- key
- signature
- communication
- session
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 139
- 238000004891 communication Methods 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 title claims abstract description 135
- 230000001360 synchronised effect Effects 0.000 claims abstract description 54
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims description 45
- 238000012795 verification Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 3
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 240000005373 Panax quinquefolius Species 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- 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/12—Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种使通信会话同步的方法和设备,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,通过一个通信通道进行加密传送或身份验证。每个单元包括一个会话计数器(X,Y)。该方法包括一个握手过程,在这里,通过在所述的通信单元之间逐次传递签名,而使会话计数器获得同步。
Description
技术领域
本发明通常涉及数据通信中的同步过程和身份验证过程。
背景技术
通常,通过非安全的通信通道如公用电话线路、数据网络、无线电传输操作等等很难达到安全的加密传送。常规的加密算法要求密钥以私有密钥或公开密钥的形式在单元之间传送。然而,这种密钥传送在实际操作中会产生问题。密钥可以在分离的安全通道上传送,但这种方案不方便、昂贵并且耗时。另一种选择方案是,可以通过非安全的通道传送密钥,然后在该通道上传送加密信息。但是,这一过程涉及安全性的风险。而且当使用所谓的公开密钥(open keys)的加密系统时,如RSA系统,密钥的传送意味着为了确保加密传送足够安全,要求更大更复杂的密钥和加密算法,这自然会使操作麻烦并增加成本。
通过非安全的通信通道提供安全的单元验证,即所谓的身份验证,也会遇到类似的问题。这种身份验证基于数据单元之间的传送,其中的数据单元基于一个唯一的密钥。例如,该密钥可以用于加密基于传送的信息或接收的信息的一个验证码。在这种情况下也会遇到与在单元之间传送密钥情况下其它加密传送中出现的那些问题所相同的问题。
同步密钥生成器(SKG)是一种在物理上分离的地址,无需发送任何与密钥有关的信息,而同步生成相同的例如160位密钥的方法。通过这种方法,当各通信方进行身份验证或通过加密交换机密信息时,安全性达到了很高的水平。该技术适合于所谓的“封闭环境”,通信各方已经明确。这种环境例如可以是公司与它的外地工作人员,银行与它的顾客,VPN之间等。
国际专利申请号WO 01/74007(在这里作为参考文献)公开了一种在至少两个单元之间通过非安全的通信通道进行加密传送或身份验证的方法和系统。该方法包括如下步骤:在初始化过程中,获得一个公用原始值在各个单元中使用;同步各个单元中的计数值;根据各个单元中的原始值和计数值生成一个密钥,与其它单元无关;并在随后的加密传送或身份验证的操作中使用生成的密钥。
SKG可以用软件或硬件或两者的结合来实现。SKG可以使用160位对称密钥。无需受信任的第三方对通信建立过程进行校验。SKG能用软件以各种形式的硬件设备实现或者用纯软件解决方案实现。用硬件实现提供了最高水平的安全性。由于软件的特性以及软件能被破解,纯软件解决方案不推荐在客户节点位置使用。不过服务器软件以其它的方式保护,可以认为是安全的环境。
SKG具有低带宽的要求以及很高的安全性,适合用于手持无线设备(例如PDA)和手机以及传统计算机相关设备。其它具有巨大潜力的相关领域是telematic,汽车和无线电通信(蓝牙),WLAN(无线局域网)。
WO 03/026198涉及一个传送序列,该传送序列被加密成一组子序列,每个子序列有一个不同的会话密钥。传送设备决定每个新的会话密钥开始生效的时间,并向接收设备传送这个预定的新-密钥-开始-时间。在优选的实施方案中,传送设备也向接收设备传送一个准备-新-密钥的命令,为接收设备提供充分的前导-时间以计算新的会话密钥。利用一个计数器索引以及在传送设备和接收设备之间进行初始密钥交换会话过程中确定的一组密钥的哈希功能,创建出每个新的密钥。在每次预定的新-密钥-开始-时间,计数器索引增加,产生新的会话密钥。
在US 6,377,692中,在同一个更新周期不同次更新的两个密钥,被制备成签名密钥(主密钥和辅助密钥)用于电子签名,并且每个密钥的更新周期被分成,例如三段。更新后的第一段和最后一段用于辅助密钥,而中间段用于主密钥,并用主密钥来实现电子签名。电子签名用两个确认密钥中的任何一个来确认,确认密钥与用作签名密钥的两个密钥的更新同步更新。这样在更新签名密钥时,无需停止发布电子签名或限制提供服务。
根据US 20020110245,在利用频带外信令的光学通信系统中在节点之间保持安全密钥同步,表明新密钥正用于在传送端加密后续的信息块以及应该在接收端用这个新密钥解密后续的信息块。切换到新密钥的代码可以从一组未使用的、编码方案为八位到十位的代码中选出。切换到新密钥的代码能代替用于在信息块之间创建足够间隔的空闲码。收到切换到新密钥的代码表明,传送端正在使用新密钥对后续的信息块进行加密,并触发切换到该新密钥,在接收端对后续的信息块进行解密。
美国专利公开号20030003896公开的实施方案包括了一种使加解密系统同步的方法。在一种实施方案中,该方法使用现有的控制数据,控制数据作为连接建立过程的一部分在无线通信系统中传送。在一种实施方案中,在建立发端呼叫和终端呼叫过程中基站和远程单元之间通常发送的信息被解析以检测特殊的控制信息,这一信息表示电话通讯数据的传送开始了。检测到这一信息表示在这端加密/解密可以开始了,并且用这一信息使加解密系统同步。使加解密系统同步包括在keyed-autokey(“KEK”)加密系统中生成一个RC4状态空间。在一种实施方案中,根据无线通信协议,使用Lower Medium Access Channel(“LMAC”)信息。这是很方便的,因为LMAC信息经过相同的随路控制信道(“ACC”),处理加密和解密电话通讯数据。
根据WO 02/47319,一种通信系统包括,在一个通信通道的一终端有第一个密码生成器用于生成一连串的密码,该生成器包括第一个随机数生成器用于生成一序列的随机数,这一连串密码中的每一个密码是基于这一序列随机数中各自连续的部分;和一个对称加密器用于对向该通道其它终端传送的信息的连续量进行加密,信息的每个量分别用这一连串密码中相应的一个加密。在通道的其它终端,该系统包括第二个密码生成器用于与第一个密码生成器同步生成和第一个密码生成器生成的相同的一串密码,第二个密码生成器包括第二个随机数生成器用于生成和第一个随机数生成器生成的相同序列的随机数,和一个对称解密器用于对从通道一终端接收到的信息加密的连续量进行解密,信息的每个量分别用与通道一终端用加密器加密所使用的密码相同的一连串密码中相应的一个进行解密。
上述所有的文件公开了一些与本发明技术领域相关的安全数据通信的方法。这些显示了现有技术的状态,例如通常使用哈希算法,同步密钥生成器,签名方法,对称密钥以及同步化。而现有技术文件中没有一份与本发明的全部特征完全相同。
发明内容
本发明的目的是提出一种有效的方法,由此基本上同时完成同步过程和身份验证。进一步的目的是无需发送与实际使用的密钥有关的信息而达到安全通信的目的。
因此,本发明的一个目的是提供一种同步化的方法,该方法保证了节点完全同步并同时完成了身份验证。
系统SKG对于支持用于像B2B、VPN、Telematic、Internet tunnelling等之类的“封闭环境”系统的高安全级别的身份验证和加密是很理想的。它尺寸小和带宽低的要求,对于PDA:s、Telecom、WAP、RadioCom(蓝牙)units、WLAN等等都是很理想的。它非常适合于这类应用并不会使它局限于此,它当然也可以在具有更广泛前景的应用中使用,如在传统的互联网安全中使用。
出于这些原因,提供了一种使通信会话同步的方法,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,每个单元包括一个会话计数器,通过一个通信通道进行加密传送或身份验证。本方法包括一个握手过程,由此通过通信单元之间逐次传递签名而使会话计数器获得同步。
最优选的是,不用提供与密钥有关的信息,在物理上分离的地址,同步生成密钥并且生成的密钥相同,因而允许在线或离线进行同步化。起初,每个单元用一个公用“种子”(common“seed”),一个用于同步的密钥,进行初始化。这一公用密钥仅在初始化步骤中使用,并且可以在任何时间被替代,例如,当被毁坏时。
本方法还进一步包括以下步骤:a.通过向第二个单元发送包括第一个单元的身份、一个当前会话计数器和第一个签名在内的数据集,第一个单元初始化通信过程,b.第二个单元收到数据,c.校验签名执行同步化过程,d.第二个单元获取第一个签名并发送它的身份、第二个会话计数器和第一个签名,e.第一个单元校验来自第二个单元的第一个签名,f.第一个单元执行同步化过程,g.如果两个单元同步,第一个单元获得一个新的密钥用于加密,h.第一个单元生成一个新的签名并把它提供给第二个单元,i.第二个单元校验第二个签名,j.经过对第二个签名进行校验得到肯定后,第二个单元生成一个新的密钥。
优选的是,在步骤h之后,第一个单元(A)对数据进行加密并传送数据,以及在步骤j之后,第二个单元(B)解密从第一个单元(A)处收到的数据。
优选但并不排除其它,生成的签名为任何大小的哈希值。用一种或几种算法SHA-1,SHA-256 MD5等生成签名。通过得到具有最高索引密钥的那个单元的同意并用这个密钥作为计算下一个会话密钥的基础,一个密钥从不会被重复使用。
本发明也涉及一种通信网络包括至少两个通信单元,通过一个通信通道进行通信,每个单元包括使通信会话同步的装置,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间进行加密传送或身份验证。每个单元包括用于握手过程的装置,在握手过程中,通过在通信单元之间逐次传递签名,发生签名和同步化过程。
该装置可以包括一个非操控区,一个应用程序代码存储器,一个处理单元和一个用于存储会话密钥的存储器。该装置由一个智能卡、软件应用程序、一个USB-Dongle、蓝牙单元、RF单元、WLAN或一个biometric unit(生物特征辨识单元)组成。最优选的是,软件应用程序包括一个含一个密钥引擎和注册器的加密数据集。
而且,该装置被配置为操纵一个以上的密钥生成器,每一个这种生成器充当一个独立的通信通道。
本发明也涉及同步密钥生成器(SKG)管理设备,它可以用作安装在系统中的几个同步密钥生成器引擎的一个公用接入点,用以使在至少两个通信单元,第一个单元和第二个单元之间进行加密传送或身份验证的通信会话同步,每个单元包括一个会话计数器,该设备包括至少一个具有一定类型的SKG单元的通信接口。每个单元包括初始化握手过程的装置,由此通过通信单元之间逐次传递签名使会话计数器获得同步。
优选的是,一个应用程序通过加载一个设备驱动程序使用该设备。管理器设备管理着许多模块,这些模块代表不同类型的单元。每个SKG单元可以包含一个密钥生成器。优选的是,单元是智能卡、USB-dongle、磁盘或数据库表中的文件或其它存储器基设备中的一种。
优选的是,一个单元包括不同的接口:一个接入接口(710),包含格式化、登入/登出、锁定单元的功能,一个SKG接口(720)包含操纵密钥生成器的功能如分配、初始化、产生以及同步,一个注册表接口(730)实现一个注册表,用于应用程序安全地存储和检索配置和SKG单元中其它类型的永久性数据,和一个加解密接口(740)提供用生成的密钥对数据块进行加密和解密的功能,也提供用密码生成安全的随机数的功能。一个SKG单元支持接入接口和SKG接口。
而且,本发明涉及一种利用一种设备使用于加密传送或身份验证的通信会话同步的方法,包括如下步骤:第一个主步骤是来自第一个单元的初始化,第二个主步骤是第二个节点进行校验,第三个主步骤是第一个节点进行校验,第四个主步骤是在第二个单元中完成同步。
第一个主步骤进一步包括:第一个单元确定第一个密钥生成器的身份(SID),第一个单元生成第一个签名,由第一个单元向第二个单元传送该密钥生成器的身份和第一个签名。
优选的是,该密钥生成器的身份保存在单元注册表或本地数据库中。
第二个主步骤进一步包括:第二个单元收到这个密钥生成器的身份和第一个签名,第二个单元找到一个密钥生成器,用第一个密钥生成器的id进行初始化,校验第一个签名,如果校验失败,中止同步过程并返回到它的初始状态,如果校验成功,同步第二个单元的密钥生成器,由第二个单元生成第一个签名并将它与第二个密钥生成器的标识符一起传送给第一个单元。
在以上的步骤中,第二个单元检查所有已知的模块和单元直到找到相匹配的密钥生成器的身份,调用在SKG管理器接口中查找身份的函数,将结果缓存起来,作为会话过程中所有进一步调用的参考使用。
本方法还进一步包括在本地单元中查找与指定的远程身份相联系的密钥生成器。
第三个主步骤进一步包括:a.第一个单元收到这个SID和在单元中生成的第二个签名,b.第一个单元校验,如果校验成功,同步它的密钥生成器,c.第一个单元生成下一个会话密钥,d.第一个单元生成第二个签名,e.将结果传送给第二个单元。
在步骤e中,第一个单元开始使用会话密钥并发送加密数据。
第四个主步骤进一步包括:第二个单元收到第二个签名,校验第二个签名,从密钥生成器获得下一个密钥并把它用作会话密钥,使用这个会话密钥进行加密。
本发明还涉及一种使通信会话同步的方法,该通信会话用于在至少两个单元之间通过一个非安全的通信通道进行加密传送或身份验证,包括如下步骤:在初始化过程中,获得一个公用原始值在各个单元中使用;一个握手过程,在这里通过通信单元之间逐次传递签名而获得同步,根据原始值(种子)、现有密钥和每个单元中的会话计数值生成密钥,与其它单元无关;会话计数器增加一个数字,并在随后的加密传送或身份验证操作中使用生成的密钥。根据这一实施方案,该原始值以动态的和可交换的方式至少在一个单元中,优选在所有的单元中保存。计数值在各个单元中的计数器中生成,计数值的同步与计数器的同步有关。在计数器初始同步化之后,各单元仅在需要时执行补充的同步化步骤。
本发明还涉及一种使通信会话同步的计算机程序,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,每个单元包括一个会话计数器,通过一个通信通道进行加密传送或身份验证,该计算机程序包括一组用于握手过程指令,一组通过在通信单元之间逐次传递签名而使会话计数器获得同步的指令集。
本发明的另一个方案涉及一种为使通信会话同步而在系统中使用的存储器,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,每个单元包括一个会话计数器,通过一个通信通道进行加密传送或身份验证,该存储器包括一个用于握手过程的数据结构,一个通过在通信单元之间逐次传递签名而使会话计数器获得同步的数据结构。
本发明进一步涉及一种计算机程序可读介质,它具有存储于其中的一个应用程序接口(API),用于使通信会话同步,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,每个单元包括一个会话计数器,通过一个通信通道进行加密传送或身份验证,该计算机程序可读介质包括一组用于握手过程的指令,一组通过在通信单元之间逐次传递签名而使会话计数器获得同步的指令集。
本发明还涉及一种网络设备使通信会话同步的方法,该通信会话用于与第二个设备,每个设备包括一个会话计数器,通过一个通信通道进行加密传送或身份验证,该方法包括一个握手过程,用于通过在通信设备之间逐次传递签名而使会话计数器获得同步。
附图说明
下面参照附图中描述的几个典型的实施方案,对本发明进行描述,其中:
图1是描述了在实现本发明的通信网络中在两个节点之间进行同步的示意图,
图2是在图1的节点之间进行信息传送的示意图,
图3显示了在图1的节点A和B中进行同步的步骤,
图4是使用了本发明的一个智能卡的方块图,
图5描述了实现本发明的另一个通信网络,
图6是根据本发明的管理系统的分层方块图,
图7描述了实现本发明的接口单元的方块图,
图8显示了与管理系统相关的图1中节点A和B进行同步的步骤。
具体实施方案
传统上,通常使用某种类型的时钟使两个独立的节点同步,两个节点知道时钟必须一直处于同步。为了克服类似问题带来的不便,本发明提供了一种“握手”方法。根据本发明,每次启动一次新的通信会话都意味着一次握手过程,校验通信方是否是应该的那个通信方(正确的签名)并校验是否在每一边产生了相同的密钥。如果所有的参数都正确,产生一个新的密钥来使用,否则不执行这次通信过程。
根据本发明,在被广泛接受和测试的安全的哈希算法,如SHA-1,FIPS180-1的帮助下,用算法生成密钥以确保系统最高的安全性。
图1描述了在两个节点A和B之间处理密钥的流程。节点生成密钥0-n,其中n是一个整数,并传送用生成的密钥加密过的数据。当通信会话开始时,一方必须肯定两边的密钥生成器是同步的,即它们将生成相同的密钥。
由于SKG只是密钥生成器和密钥处理器,任何类型的加密方法都能使用。通过一个命令,这里称作Get Key,调用密钥,例如到一个API。
图2显示了例如当节点A初始化通信时,怎样执行同步过程。根据本发明,SKG必须用一个公用密钥(种子)初始化以执行同步化过程。这个种子(K0)仅在开始时使用,并可以在任何时间被代替,但不能被外界获得,例如通过硬件接入限制。
根据本发明,同步化过程是一种利用签名保证会话计数器X和Y同步的方法。A’和B’是每边的SID(唯一的ID)。函数S(KAB)和R(K)是下面所述的签名生成器函数。
同步化过程的目标是通过得到A或B中具有最高索引密钥的一边的同意,并用这个密钥作为计算下一个会话密钥的基础,保证了一个密钥从不被重复使用。在图2中:
-A生成一段信息[A’XS(KxA’B’)]由A的身份“A连着A的密钥索引“X”连着一个哈希值“S”组成。这个S值是通过对索引为X的密钥“Kx”连着A的身份“A和B的身份“B进行哈希计算得到的。把这组信息传送给B。
-B收到这组信息,将它的密钥索引Y与收到的X相比较。如果X大于Y,B知道它需要生成密钥直到索引X以达到同步。如果X小于或等于Y,B知道A必须生成密钥直到索引Y。B能计算S值并与传送的S值相比较。如果S值相等,则B可以相信A的当前密钥索引是X,因为对于一个确定的密钥只有A和B能生成正确的S值。如果不相等,中止同步过程,B回到它原始的第一个密钥Ky。
-如果X大于Y,B现在生成密钥直到索引X,从而确立Y大于或等于X。产生一组由B的身份“B连着B的密钥索引“Y”连着一个哈希值“S”组成的信息[B’YS(KyB’A’)]。这个S值是通过对索引为Y的密钥“Ky”连着B的身份“B和A的身份“A进行哈希计算得到的。然后把这组信息传回A。
-A收到这组信息,将它的密钥索引X与收到的Y相比较。如果A的密钥索引X小于Y,则A必须生成密钥直到索引Y,建立一个X等于Y的密钥索引。如果收到的S值与生成的S值相比较,证明B声明的密钥索引Y是正确的,仅执行这个。
-这时,A和B有相同的密钥索引。A能生成下一个密钥(Kx其中索引X增加1),下一个密钥将用作会话密钥。通过对新生成的密钥进行哈希计算R值并将它传送给B(可选择与第一个有效载荷D0一起传送,用新的密钥利用函数Ckx(D0)对D0加密)。将信息[R(Kx)Ckx(D0)]传送给B。
-B收到这个R值,生成下一个密钥并计算它的R值。对比R值,如果相等,B将这一状态(密钥索引)保持在它的密钥生成器中,现在能对第一有效负载进行解密了。如果R值不同,有错误发生,整个过程中止,B回到它原始的第一个密钥Ky。
下面是一个实施例结合图3进行阐述,公开了本发明的同步化方法:
·A方通过将它的身份A’(SID)、当前会话计数器X和S签名发送到B,初始化通信过程。S签名通过调用API中的GetSSig()计算得到。
·B方收到数据并调用VerSSig()以执行图2中描述的同步化过程。
·B方也调用GetSSig()并发送它的身份B’、会话计数器Y和S签名。
·A方校验来自B的S签名。A调用VerSSig()以执行同步化过程。
·A知道A和B同步,并调用GetNextKey()获得下一个密钥用于加密。
·A方调用GetRSig()(在调用获得下一个密钥之后),并将这个签名发送给B。A现在能加密数据并传送数据了。
·B通过调用VerRSig()用它的Ky+1检查这个签名,如果它们匹配,B调用GetNextKey()。
·B现在知道A和B同步,并能解密数据了。
优选但并不排除其它,上述函数可以被定义在一个API密钥-生成器中,并具有下面的功能:
GetSSig():获取S签名
使用识别密钥生成器的SID和一个指向包含X S(KxAB)的缓冲区的指针作为参数。
VerSSig():校验S签名
使用与一个密钥生成器相关的SD和一个指向包含Y S(KYBA)的缓冲区的指针。
GetRSig()::获取R签名
使用识别密钥生成器的SID和一个指向包含R(KxAB)的缓冲区的指针。VerRSig():校验R签名
使用与一个密钥生成器相关的SID和一个指向包含R(KY+1BA)的缓冲区的指针。
GetNextKey():从得到的SID的密钥生成器获取下一个密钥使用识别密钥生成器的SID和下一个密钥的引用。
对签名函数的参数进行哈希,产生签名。例如算法SHA-1用来哈希不同的输入数据并用来计算一段信息或一个数据文件的摘要。也可以使用其它算法,例如SHA-256,MD5和类似的。
对于SKG在其它已有的硬件设计如硅质智能卡中实现时,需要一些组件。
类似环境的例子是ATMEL:s AT90SC硅质智能卡,其中SKG能被实现为一种身份验证和加密方法,例如用于安全“聊天”的目的。
图4说明了一个实施例,例如一个智能卡400,本发明在这里得以实现。该智能卡包括一个非操控区410,一个应用程序代码存储器420,一个处理单元430和一个用于存储会话密钥的存储器440。处理单元控制存储器单元的功能和代码存储器和通信。应当理解的是智能卡和它的功能单元仅作为例子给出,也可以出现其它的现象和应用程序。通过将SKG应用于智能卡中,容易与已有环境整合。为了在智能卡环境里实现SKG,需要为处理器核心提供开发平台和为实际的智能卡提供编程工具。智能卡必须具有板载非易失存储器(E2PROM/Flash)。这种存储器的大小限制了能生成密钥的数量。希望将高安全性级别的智能卡用于最高的安全性(EAL 4+)。
根据一个实施例,如图5所描述,外地客户510a-510d与他们的公司520之间,通过在客户节点使用例如前述的一个SKG智能卡530,在公司节点使用一个SKG应用程序540,能达到安全通信。通信通过例如互联网560或其它的通信网络实施。在公司节点使用该应用程序使处理数量巨大的客户群成为可能。在客户方,SKG也可以用下面的方式实现:
·软件
·USB-Dongle(任意的USB存储器密钥)570
·Bluetooth unit 580
·RF unit(580)
·WLAN units
·RFID
·Biometric unit(580)
所有的单元能通过模块驱动程序与它的应用程序通信。这些驱动程序可以为单元特定开发。软件-单元、万用卡-单元和USB dongle-单元现已在市场上存在了。
一个强大的加密文件包含密钥引擎和注册器,能表示软件模块。这在服务器端是最普通的,甚至能在客户端使用。
USB dongle 570或是闪存,或是与智能卡非常类似、但具有USB接口的更强大的单元。其优点是单元不需要使用特定的读卡器,因为USB在大多数计算机上是通用的标准。
蓝牙区没有足够的安全性。SKG可以容易地调整为管理密钥操作方式,使蓝牙成为一个高水平安全信息的承担者。
根据802.11,802.11b等的WLAN也没有足够的安全性。SKG可以容易地调整为管理密钥操作方式。
RF设备的使用范围常常很广泛,但主要是作为识别标签在通道系统中使用。一个问题是标签Id是一个固定的密钥,每次看起来都一样。通过实现SKG,很可能使标签成为SKG的一个触发器,每次有人通过大门时SKG就会产生一个新的密钥。
Biometric units(生物特征辨识单元)非常适合于用户识别,因此它能给SKG技术增加价值。但是当单独使用时,它也遇到了与RF同样的问题,即每次同样的身份(一个指纹)。每次有人识别自身时,通过让指纹触发SKG生成一个新的密钥,以达到最高级别的安全性。
通过配置SKG以操纵多个密钥生成器,每个这样的生成器充当一个独立的通信通道。因此,将一个单独的SKG设备用于多个通信目的/应用程序是可能的。例如,一个智能卡可以用于通道系统、计算机登录、银行转账等,在这里每个应用程序使用它自己的SKG通道。通过仅使用一个SKG设备如一个智能卡,用户只是必须要对一个设备识别自身,仅用一种身份验证,如PIN码。
而且,一个可实现SKG的设备能有多个有效层,如一个用户级,在这里用户能改变PIN码,一个管理级,在这里管理多个通道的设置等。每层都能用一个加密的登陆程序保护。
图6描述了一个SKG管理器(SKGM)600,它可以用作安装在系统中的所有SKG引擎的公用接入点。它的模块610a-610c,和SKGM的一个子对象定义了一个SKG引擎。这个模块实现了一个具有一定类型的SKG单元620a-620f的通信接口。所有需要接入这些引擎的应用程序可以使用SKG管理器,SKG管理器管理这些资源。
在最优选的实施方案中,一个应用程序能使用SKGM,例如通过加载一个动态链接库(DLL),或一个或隐式或显式的设备驱动程序。附带的头文件包含了使用DLL所必要的定义和声明。
SKGM是系统SKG在计算机单元上一种实现。管理器管理着许多模块,这些模块代表不同类型的单元。在SKG单元中存在着密钥生成器。一个单元可以有不同的特性,智能卡,USB-dongle,磁盘文件,数据库表等等。单元700,如图7中所描述的,有四个不同的接口(对功能分组)。
●接入接口710包含格式化,登入/登出,锁定单元等功能。
●SKG接口720包含所有操纵密钥生成器的功能,例如分配,初始化,产生和同步。
●注册表接口730实现了一个小的注册表,用于应用程序安全地存储和检索配置以及在SKG单元中的其它类型的永久性数据。
●加解密接口740提供了用生成的密钥对数据块进行加密和解密的功能,同时用密码生成安全的随机数的功能。
一个SKG单元不需要支持全部的四个接口,并且有办法查询它以查找所支持的接口。然而,接入接口和SKG接口必须一直存在。
下面参考图1和图8。
当一次通信会话开始时,两边的密钥生成器必须同步,即它们将生成同样的密钥。
为了达到这一目的,SKG管理器的SKG接口给出了一些有用的API调用。为了使两个密钥生成器安全地同步,实施本发明的同步方法。
每个节点A和B(图1)有一个密钥生成器标识符(SID)专门用于与其它节点通信。
假定节点A决定初始化同步过程。
步骤1:来自节点A的初始化(图8)
节点A处的应用程序必须知道它与节点B通信所使用的密钥生成器的身份(SID)。这个密钥生成器的身份可能保存在单元注册表或一些其它的本地数据库中。当节点A知道使用哪个密钥生成器标识符(SID)时,它通过调用函数GetSSig()生成一个唯一的签名(S-签名)。数据现在已经做好准备通过使用中的应用程序协议进行传送了。节点A传送这个SID和这个S-签名(S-签名包括碰撞计数(bump count))给节点B。
步骤2:在节点B中进行校验
节点B处的应用程序收到这个SID和在节点A处生成的S-签名。从节点B的角度来看,来自节点A的密钥生成器标识符(SID)是SID-B。节点B需要找到它自己的密钥生成器(SID-A),SID-A已用SID-B初始化了,并调用(API)函数GetSidAFromSidB()。必须对所有已知的模块和单元进行检查直到找到相匹配的SIDA。一种可替代的方法是调用SKGM接口中的函数FindRemoteSid。一种好的设计职能是将从这一操作得到的结果缓存起来,因为返回的Sid-A将作为会话过程中所有进一步的API调用的参考使用。节点B现在用从节点A处收到的S-签名调用函数VerSSig()。如果GetSidAFromSidB()或VerSSig()失败,应当中止同步过程,节点B回到它的初始状态。由应用程序决定是否应该通知节点Alfa同步过程已不可能进行。在成功调用VerSSig()之后,节点B知道了正确的碰撞计数值以及它的密钥生成器是同步的。但是,节点A不知道这次会话使用哪个密钥,节点B不知道是否A是同步的。节点B调用GetSSig()并将它自己的密钥生成器标识符(SID)与结果一起发送给节点A。
FindRemoteSid搜索本地单元以查找与一个指定的远程SID相联系的密钥生成器,在一些函数中也叫做SidB。如果找到了,返回这个密钥生成器的本地SID和它所存在的那个单元。
步骤3:在节点A中进行校验
节点A处的应用程序收到这个SID和在节点B处生成的S-签名。调用函数VerSSig(),如果校验成功,节点A同步它的密钥生成器。节点A现在知道A和B都已经同步。通过调用函数GetNextKey(),生成下一个会话密钥是安全的。节点A现在必须向节点B证明节点A是同步的。节点A调用函数GetRSig()并把结果发送给节点B。节点A处的应用程序也可能开始使用会话密钥并发送加密数据。
步骤4:在节点B中完成同步
节点B处的应用程序收到这个R-签名并把它传递给函数VerRSig()。这个函数为节点B校验节点A是同步的并且节点A已经产生的下一个密钥是正确的。节点B知道它应该从密钥生成器获得下一个密钥并用它作为会话密钥。节点B调用函数GetNextKey()并开始用该会话密钥进行加密。
图9描述了利用本发明的一个优选的实施方案,它涉及在两个单元之间通过一个非安全的通信通道进行安全地加密传送/身份验证的系统。该通信通道可能是可以传送数据的任何通道,尤其是通道可能是固定的以及无线的。每个这样的单元包括一个密钥-生成单元900。密钥-生成单元包括一个存储器910,其中相同的原始值SID,所说的种子,存储在这里,优选以动态的/固定的和内部的/可交换的方式存储。实施原始值的存储优选与单元的引导性初始化有关,有利的是它可能通过安全的通道来实施。很可能原始值不需要,却被物理传送,而作为替代的是有关单元的用户可以自己输入一个预先同意的值。另外,当需要时,可以交换原始值,但可替代的是在密钥-生成单元的整个运行期间内都使用同样的原始值。在这种情况下,原始值不需要存储在动态存储器中,而是可以使用永久性存储器作为替代。
另外,密钥生成单元包含一个计数器X,表示生成过的密钥的数目。
倘若同样的原始值存储在存储器910中,同时计数器被同步为传递同样的计数值,则可以在几个密钥-生成单元中生成相同的密钥,与其它的无关。
这些密钥于是可以用于单元之间的加密或身份验证目的。
而且,密钥-生成单元优选适应于感知它们是否同步,如果他们没有同步,实现这一同步化过程。依靠在生成密钥之前执行的一个特殊的同步测试,可以完成感知过程。
可替代的,当使用不同的密钥时,可以对同步化的需求进行鉴别,仅在这之后可实施同步化重置。实施同步例如可以通过单元之间交换计数值。
计算单元包括一个计算算法F,用来哈希原始值(种子),现有密钥和计数值作为输入参数。之后,计数值增加一个数字,即count=count+1。这个计算算法优选在计算单元用硬件实现,或者可替代的,它被存储在一个非动态的和不可变的存储器中。计算算法优选生成一个160位的密钥,但是其它长度的密钥当然也是可能的。每次给密钥生成器一个命令让其产生一个新的密钥,因此生成一个新的伪随机的160位字,它是根据“种子”和计数值计算得到的。
密钥-生成单元900进一步包括一个接口部分912,使通信单元和密钥-生成单元之间的通信成为可能。优选的是,这个通信包括给密钥-生成单元发出指示让其生成密钥,并发出将生成的密钥返回到通信单元的指令。
有利的是,密钥-生成单元在硬件中实现并以集成电路的形式执行,因此很难对此篡改。可以将这个电路加到并与基本上任何类型的通信单元一起使用。例如,将本发明的密钥-生成单元与再充电卡,所说的智能卡一起用于手提式或台式计算机,用于移动电话、电子日历以及类似的能进行通信的电子设备是可能的。
然而,在软件中例如在传统的计算机中实现密钥-生成单元,使用已有的存储器和类似物同样也是可能的。这一替代方案对于在固定单元中实现和在那些作为中央单元使用的特殊单元中实现特别有利。
根据本发明,密钥-生成单元可以或者用于点对点通信或身份验证,即在两个单元之间,或者用在一个中央单元,一个服务器,或几个用户、客户之间。这样的中央单元优选包括多个不同的密钥-生成单元,一个单元用于每个客户与中央单元的通信。可替代的是,一个密钥单元可能包括几个不同的原始值,在这种情况下,让密钥-生成单元生成密钥的命令也包括关于应该使用哪个原始值的信息。同样,与中央单元通信的几个单元也可能具有相同的密钥生成单元,使它们能与中央单元中同一个密钥-生成单元通信。
在中央单元的情况下,为适应与几个其它单元进行通信,中央单元优选包括软件实现密钥生成单元的一种装置,而客户端有硬件实现的装置。例如,客户端可能是智能卡或移动电话,计算机和类似的。因此,根据本发明的系统可以应用在银行和它的客户之间,企业和它们的雇员之间,公司和它的子公司之间等等。另外,该系统可以用来控制通过互联网或类似网络访问主页,例如将它的智能卡连接到为这一目的提供的读卡机上,如此,使控制接入无线通信的电子设备,例如通过蓝牙或WLAN成为可能。
而且,非中央单元的单元可以包括几个原始值,在同一个密钥-生成设备中或在分离的单元中,以便通过几个分离的通道进行通信。如此,单元可以用于与几个不同的中央单元通信。例如,一个智能卡可以用于与数家不同的银行或其它的企业进行通信。
下面,借助图9的系统,对加密传送或身份验证进行描述。第一步,希望未来互相通信的单元被初始化,在这一过程中,它们被提供以相同的原始值并且优选它们也是同步的。系统现在已经准备好使用了,在随后的时间里,初始化后经过任意一段时间可以使用系统了,单元之间通过非安全的通信通道相互联系,并且至少一个单元向其它单元识别自己。在下一个步骤中,其它单元决定所给的身份是否是已知的,它是否有相应的密钥生成电路,即如上所定义的密钥-生成电路并具有一个相应的原始值。如果是,过程继续进行到下一个步骤,否则过程被中断。
于是单元同意执行加密传送或身份验证,由此,每一个单元在各自的密钥-生成单元分别计算密钥。在这个过程发生之前,可能已经做了一个同步化测试,以调查各自的密钥-生成单元中的计数器是否同步。如果是,过程继续直接到下一个步骤,否则首先执行如结合前面实施方案(图3和图8)所描述的同步化步骤,重新设置单元之间的同步化。
计算得到的密钥于是用来执行加密传送或身份验证。然而,应当理解的是加密传送和身份验证当然可以同时并在同一过程中实施。加密和身份验证的实现可以借助基本上任何使用密钥的加密算法,如已知的DES和RC6等。
本发明可以用于身份验证,即校验与之通信的单元是它所要求的那个单元,也可以用于为加密传送目的生成密钥。而有利的是,根据本发明所使用的单元,如智能卡、电话和类似物,可能装备有能确保单元用户是正确用户的装置,即在用户和通信单元之间进行身份验证。这种身份验证可以借助输入一个密码,识别指纹和类似的来实现。
上述的系统和方法的一些变体也是可能的。例如,本方法和系统不依赖于所使用的加密或身份验证的方法,但可以以简单安全的方式使用本方法和系统生成密钥,因此它可以和此类最知名的方法一起使用。另外,密钥-生成单元优选在硬件中实现,这使得密钥-生成过程完全向用户隐藏起来。然而,在普通的计算机或处理单元在软件中实现密钥-生成单元也是可能的。另外,系统中的单元可以是基本上任何通信的电子单元。用来为密钥-生成单元生成计数值的计数器也可能是任何类型,它们生成的计数值随时间变化。同样的,省略一个或几个单元中计数器也是可能的,在这种情况下,在每次密钥-生成操作之前,使计数器同步的步骤用在单元之间交换计数值的步骤来替代,即使计数值同步。这样的和其它明显的变体应该视为在本发明的保护范围内,如后者在附带的权利要求中所定义的那样。
本发明并不限于图解阐述的和描述的实施方案。根据需要、要求和功能上的要求,可以存在附带权利要求范围内的变体和可替代的实施方案。
Claims (41)
1.一种使通信会话同步的方法,该通信会话用于在至少两个通信单元,第一个单元和第二个单元(A,B)之间,每个单元包括一个会话计数器(X,Y),通过一个通信通道进行加密传送或身份验证,其中,该方法包括一个握手过程,由此,通过在所述的通信单元(A,B)之间逐次传递签名(S,R)而使会话计数器获得同步。
2.根据权利要求1的方法,其中在物理上分离的地址,无需在线或离线提供与密钥有关的信息,同步生成相同的密钥。
3.根据权利要求1或2的方法,其中每个单元用一个公用“种子”,一个密钥(K0)为同步过程进行初始化。
4.根据权利要求3的方法,其中所述的公用密钥仅在初始化步骤中使用,并可以在任何时间被替代。
5.根据权利要求1的方法,包括如下的步骤:
a.通过向所述的第二个单元(B)发送包括所述的第一个单元的身份(A’)、一个当前会话计数器(X)和第一个(S)签名在内的数据集,第一个单元(A)初始化通信过程,
b.所述的第二个单元(B)收到所述的数据,
c.校验所述的签名,执行同步化过程,
d.所述的第二个单元(B)获取所述的第一个签名(S)并发送它的身份(B’)、第二个会话计数器(Y)和所述的第一个签名,
e.所述的第一个单元(A)校验来自所述第二个单元(B)的所述第一个签名,
f.所述的第一个单元(A)执行同步化过程,
g.如果两个单元同步,所述的第一个单元(A)获得一个新的密钥用于加密,
h.所述的第一个单元(A)生成一个新的签名(R)并把它提供给所述的第二个单元(B),
i.所述的第二个单元(B)校验所述的第二个签名(R),和
j.经过对所述的第二个签名进行校验得到肯定后,所述的第二个单元生成一个新的密钥。
6.根据权利要求5的方法,其中在步骤h之后,所述的第一个单元(A)加密数据并传送数据。
7.根据权利要求5的方法,其中在步骤j之后,所述的第二个单元(B)解密从所述的第一个单元(A)处收到的数据。
8.根据前述权利要求中任何一个的方法,其中生成的签名为任何大小的哈希值。
9.根据权利要求8的方法,其中用一种或几种算法SHA-1,SHA-256MD5等生成所述的签名。
10.根据前述权利要求中任何一个的方法,其中通过得到具有最高索引密钥的单元(A或B)的同意并用这个密钥作为计算下一个会话密钥的基础,一个密钥从不会被重复使用。
11.一种通信网络包括至少两个通信单元(A,B),通过一个通信通道进行通信,每个单元包括使通信会话同步的装置,该通信会话用于在所述的至少两个通信单元,第一个单元和第二个单元之间进行加密传送或身份验证,其特征在于,每个单元包括用于握手过程的装置,在握手过程中,通过在所述的通信单元之间逐次传递签名,发生签名和同步化过程。
12.根据权利要求11的网络,其中所述的装置包括一个非操控区(410),一个应用程序代码存储器(420),一个处理单元(430)和一个用于存储会话密钥的存储器。
13.根据权利要求12的网络,其中所述的装置由一个智能卡(400)、软件应用程序、一个USB-Dongle(570)、蓝牙单元(580)、RF单元(580)、WLAN或一个biometric unit(580)组成。
14.根据权利要求13的网络,其中所述的软件应用程序包括一个含一个密钥引擎和注册器的加密数据集。
15.根据权利要求11的网络,其中所述的装置操纵一个以上的密钥生成器,每个这样的生成器充当一个独立的通信通道。
16.一种同步密钥生成器(SKG)管理设备(600),它能用作安装在系统中的几个同步密钥生成器引擎的一个公用接入点,用于使在至少两个通信单元(A,B),第一个单元和第二个单元之间进行加密传送或身份验证的通信会话同步,每个单元包括一个会话计数器(X,Y),所述的设备包括至少一个具有一定类型的SKG单元(620a-620f)的通信接口(610a-610c),其中每个单元包括初始化握手过程的装置,由此通过在所述的通信单元之间逐次传送签名使会话计数器获得同步。
17.根据权利要求16的设备,其中一个应用程序通过加载一个设备驱动程序使用所述的设备。
18.根据权利要求16的设备,其中管理器设备管理着许多模块,这些模块代表不同类型的单元。
19.根据权利要求16的设备,其中每个SKG单元(620a-620f)包含一个密钥生成器。
20.根据权利要求16的设备,其中单元是智能卡、USB-dongle、磁盘或数据库表中的文件或其它存储器基设备中的一种。
21.根据权利要求20的设备,其中一个单元包括不同的接口:
-一个接入接口(710),包含格式化、登入/登出、锁定单元的功能,
-一个SKG接口(720)包含操纵密钥生成器的功能如分配、初始化、产生以及同步,
-一个注册表接口(730)实现了一个注册表,用于应用程序安全地存储和检索配置和SKG单元中的其它类型的永久性数据,和
-一个加解密接口(740)提供了利用生成的密钥对数据块进行加密和解密的功能,也提供了用密码生成安全的随机数的功能。
22.根据权利要求20的设备,其中一个SKG单元支持接入接口和SKG接口。
23.一种利用权利要求16-22中任何一个的设备,使用于加密传送或身份验证的通信会话同步的方法,包括:
-第一个主步骤:来自所述的第一个单元(A)的初始化,
-第二个主步骤:所述的第二个节点(B)进行校验,
-第三个主步骤:所述的第一个节点(A)进行校验,
-第四个主步骤:在所述的第二个单元(B)中完成同步。
24.根据权利要求23的方法,其中所述的第一个主步骤进一步包括:
a.第一个单元(A)确定第一个密钥生成器的身份(SID),
b.所述的第一个单元(A)生成第一个签名(S),
c.由所述的第一个单元向所述的第二个单元(B)传送所述密钥生成器的身份和所述的第一个签名(S)。
25.根据权利要求23的方法,其中所述的密钥生成器的身份保存在单元注册表或本地数据库中。
26.根据权利要求24的方法,其中所述的第二个主步骤进一步包括:
-所述的第二个单元(B)收到所述的密钥生成器的身份和第一个签名(S),
-所述的第二个单元(B)找到一个密钥生成器(SID-A),用所述的第一个密钥生成器的id(SID-B)进行初始化,
-校验所述的第一个签名,和
-如果校验失败,中止同步过程并返回到它的初始状态,
-如果校验成功,同步所述第二个单元的密钥生成器,
-由所述的第二个单元(B)生成第一个签名并将它与第二个密钥生成器的标识符(SID)一起传送给所述的第一个单元(A)。
27.根据权利要求26的方法,其中在步骤b中,所述的第二个单元检查所有已知的模块和单元直到找到相匹配的密钥生成器的身份(SIDA)。
28.根据权利要求26的方法,其中在步骤b中,调用在SKG管理器接口中查找身份的函数,将结果缓存起来并作为会话过程中所有进一步调用的参考使用。
29.根据权利要求28的方法,进一步包括在本地单元中查找与指定的远程身份(SID-B)相联系的密钥生成器。
30.根据权利要求23的方法,其中所述的第三个主步骤进一步包括:
a.所述的第一个单元收到这个SID和在单元(B)中生成的第二个签名,
b.所述的第一个单元校验,如果校验成功,同步它的密钥生成器,
c.所述的第一个单元生成下一个会话密钥,
d.所述的第一个单元生成第二个签名(R),和
e.将结果传送给所述的第二个单元(B)。
31.根据权利要求30的方法,其中在步骤e中,所述的第一个单元(A)开始使用会话密钥并发送加密数据。
32.根据权利要求23的方法,其中所述的第四个主步骤进一步包括:
-所述的第二个单元收到所述的第二个签名(R),
-校验所述的第二个签名,
-从密钥生成器得到下一个密钥并把它用作会话密钥,
-使用这个会话密钥进行加密。
33.一种使通信会话同步的方法,该通信会话用于在至少两个单元之间通过一个非安全的通信通道进行加密传送或身份验证,包括如下步骤:
-在初始化过程中,获得一个公用原始值在各个单元中使用;
-一个握手过程,在这里通过在所述的通信单元之间逐次传递签名而获得同步,
-根据原始值(种子)、现有密钥和每个单元中的会话计数值生成密钥,与其它单元无关;会话计数器增加一个数字,
-在随后的加密传送或身份验证操作中使用生成的密钥。
34.根据权利要求32所述的方法,其中原始值以动态的和可交换的方式至少在一个单元中,优选在所有的单元中保存。
35.根据权利要求32或33所述的方法,其中计数值在各个单元中的计数器中生成,计数值的同步与计数器的同步有关。
36.根据权利要求34所述的方法,其中在计数器初始同步化之后,各单元仅在需要时执行补充的同步化步骤。
37.一种使通信会话同步的计算机程序,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,每个单元包括一个会话计数器(X,Y),通过一个通信通道进行加密传送或身份验证,该计算机程序包括一组用于握手过程的指令,一组通过在所述的通信单元之间逐次传递签名而使会话计数器获得同步的指令集。
38.一种为使通信会话同步而在系统中使用的存储器,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,每个单元包括一个会话计数器(X,Y),通过一个通信通道进行加密传送或身份验证,该存储器包括一个用于握手过程的数据结构,一个通过在所述的通信单元之间逐次传递签名而使会话计数器获得同步的数据结构。
39.一种计算机程序可读介质,它具有存储于其中的一个应用程序接口(API),用于使通信会话同步,该通信会话用于在至少两个通信单元,第一个单元和第二个单元之间,每个单元包括一个会话计数器(X,Y),通过一个通信通道进行加密传送或身份验证,该计算机程序可读介质包括一组用于握手过程的指令,一组通过在所述的通信单元之间逐次传递签名而使会话计数器获得同步的指令集。
40.一种网络设备使通信会话同步的方法,该通信会话用于与第二个设备,每个设备包括一个会话计数器(X,Y),通过一个通信通道进行加密传送或身份验证,该方法包括一个握手过程,用于通过在所述的通信设备之间逐次传递签名而使会话计数器获得同步。
41.根据权利要求39的方法,进一步包括如下的步骤:
k.通过向所述的第二个单元(B)发送包括所述的第一个单元的身份(A’)、一个当前会话计数器(X)和第一个(S)签名在内的数据集,第一个单元(A)初始化通信过程,
l.所述的第二个单元(B)收到所述的数据,
m.校验所述的签名,执行同步化过程,
n.所述的第二个单元(B)获取所述的第一个签名(S)并发送它的身份(B’)、第二个会话计数器(Y)和所述的第一个签名,
o.所述的第一个单元(A)校验来自所述第二个单元(B)的所述第一个签名,
p.所述的第一个单元(A)执行同步化过程,
q.如果两个单元同步,所述的第一个单元(A)获得一个新的密钥用于加密,
r.所述的第一个单元(A)生成一个新的签名(R)并把它提供给所述的第二个单元(B),
s.所述的第二个单元(B)校验所述的第二个签名(R),和
t.经过对所述的第二个签名进行校验得到肯定后,所述的第二个单元生成一个新的密钥。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE03025244 | 2003-09-22 | ||
SE0302524A SE526070C2 (sv) | 2003-09-22 | 2003-09-22 | Arrangemang för datakommunikationssäkerhet och metod |
US60/504,946 | 2003-09-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1883156A true CN1883156A (zh) | 2006-12-20 |
Family
ID=29212520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800344278A Pending CN1883156A (zh) | 2003-09-22 | 2004-09-22 | 数据通信安全设备和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1883156A (zh) |
SE (1) | SE526070C2 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420306B (zh) * | 2008-12-12 | 2010-12-08 | 肖佐楠 | 一种基于rsa加密和签名算法的汽车车载自动诊断方法 |
CN101257304B (zh) * | 2008-04-03 | 2011-11-09 | 北京大学 | 一种双环路频率综合器粗调环路的调谐方法 |
CN101626373B (zh) * | 2008-07-11 | 2012-06-06 | 华为技术有限公司 | 超宽带系统的报文处理方法、装置和系统 |
CN104969509A (zh) * | 2013-03-21 | 2015-10-07 | 松下知识产权经营株式会社 | 通信装置、通信系统及通信方法 |
CN105474275A (zh) * | 2013-08-27 | 2016-04-06 | 高通股份有限公司 | 用以控制对入口的解锁的所有者接入点 |
CN105721395A (zh) * | 2014-12-03 | 2016-06-29 | 华为数字技术(苏州)有限公司 | 数据同步配置方法、设备及系统 |
CN108600231A (zh) * | 2018-04-27 | 2018-09-28 | 广东复安科技发展有限公司 | 一种基于同步技术的网络安全传输方法 |
CN108702353A (zh) * | 2015-12-21 | 2018-10-23 | 艾德米亚法国 | 接收电子实体内的数据的方法及相关联的电子实体 |
CN110768691A (zh) * | 2019-09-30 | 2020-02-07 | 星微科技(天津)有限公司 | 一种听障人士使用的智能腰佩终端及实现方法 |
CN113315632A (zh) * | 2021-07-29 | 2021-08-27 | 北京紫光青藤微系统有限公司 | 用于确定密钥生成器的方法及系统、装置、通信设备 |
-
2003
- 2003-09-22 SE SE0302524A patent/SE526070C2/sv not_active IP Right Cessation
-
2004
- 2004-09-22 CN CNA2004800344278A patent/CN1883156A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257304B (zh) * | 2008-04-03 | 2011-11-09 | 北京大学 | 一种双环路频率综合器粗调环路的调谐方法 |
CN101626373B (zh) * | 2008-07-11 | 2012-06-06 | 华为技术有限公司 | 超宽带系统的报文处理方法、装置和系统 |
CN101420306B (zh) * | 2008-12-12 | 2010-12-08 | 肖佐楠 | 一种基于rsa加密和签名算法的汽车车载自动诊断方法 |
CN104969509B (zh) * | 2013-03-21 | 2018-11-30 | 松下知识产权经营株式会社 | 通信装置、通信系统及通信方法 |
CN104969509A (zh) * | 2013-03-21 | 2015-10-07 | 松下知识产权经营株式会社 | 通信装置、通信系统及通信方法 |
CN105474275A (zh) * | 2013-08-27 | 2016-04-06 | 高通股份有限公司 | 用以控制对入口的解锁的所有者接入点 |
US9763086B2 (en) | 2013-08-27 | 2017-09-12 | Qualcomm Incorporated | Owner access point to control the unlocking of an entry |
CN105721395A (zh) * | 2014-12-03 | 2016-06-29 | 华为数字技术(苏州)有限公司 | 数据同步配置方法、设备及系统 |
CN105721395B (zh) * | 2014-12-03 | 2019-03-01 | 华为数字技术(苏州)有限公司 | 数据同步配置方法、设备及系统 |
CN108702353A (zh) * | 2015-12-21 | 2018-10-23 | 艾德米亚法国 | 接收电子实体内的数据的方法及相关联的电子实体 |
CN108702353B (zh) * | 2015-12-21 | 2021-07-27 | 艾德米亚法国 | 接收电子实体内的数据的方法及相关联的电子实体 |
CN108600231A (zh) * | 2018-04-27 | 2018-09-28 | 广东复安科技发展有限公司 | 一种基于同步技术的网络安全传输方法 |
CN108600231B (zh) * | 2018-04-27 | 2020-10-27 | 广东复安科技发展有限公司 | 一种基于同步技术的网络安全传输方法 |
CN110768691A (zh) * | 2019-09-30 | 2020-02-07 | 星微科技(天津)有限公司 | 一种听障人士使用的智能腰佩终端及实现方法 |
CN113315632A (zh) * | 2021-07-29 | 2021-08-27 | 北京紫光青藤微系统有限公司 | 用于确定密钥生成器的方法及系统、装置、通信设备 |
CN113315632B (zh) * | 2021-07-29 | 2021-11-02 | 北京紫光青藤微系统有限公司 | 用于确定密钥生成器的方法及系统、装置、通信设备 |
Also Published As
Publication number | Publication date |
---|---|
SE526070C2 (sv) | 2005-06-28 |
SE0302524L (sv) | 2005-03-23 |
SE0302524D0 (sv) | 2003-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431498B2 (en) | Quantum-augmentable hybrid encryption system and method | |
EP3602991B1 (en) | Mechanism for achieving mutual identity verification via one-way application-device channels | |
US10469253B2 (en) | Methods and apparatus for migrating keys | |
US20050154896A1 (en) | Data communication security arrangement and method | |
US20140201517A1 (en) | Method and system for distributed off-line logon using one-time passwords | |
CN1879072A (zh) | 提供断开鉴别的系统和方法 | |
CN1565117A (zh) | 数据验证方法和装置 | |
CN105847247A (zh) | 一种认证系统及其工作方法 | |
CN1701561A (zh) | 基于地址的验证系统及其装置和程序 | |
TW200828935A (en) | System and method of secure encryption for electronic data transfer | |
CN1700699A (zh) | 提供用于对数据数字签名、认证或加密的签名密钥的方法和移动终端 | |
US10819688B2 (en) | System and method for generating and managing a key package | |
CN109922027B (zh) | 一种可信身份认证方法、终端及存储介质 | |
WO2020013928A1 (en) | Public-private key pair account login and key manager | |
CN1547142A (zh) | 一种动态身份认证方法和系统 | |
CN113055882B (zh) | 无人机网络高效认证方法、装置、计算机设备及存储介质 | |
US20230344643A1 (en) | Digital signature system using scalable servers | |
WO2021173569A1 (en) | Method and apparatus for creating and using quantum resistant keys | |
CN112966287B (zh) | 获取用户数据的方法、系统、设备和计算机可读介质 | |
CN1977559A (zh) | 保护在用户之间进行通信期间交换的信息的方法和系统 | |
GB2574458A (en) | Methods and Systems For Secure Data Transmission | |
CN1883156A (zh) | 数据通信安全设备和方法 | |
US9654455B2 (en) | Communication system, communication device, key management apparatus, and communication method | |
CN1771691A (zh) | 用于网络设备的安全管理的方法、系统和计算机程序 | |
WO2018043573A1 (ja) | 鍵交換方法、鍵交換システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20061220 |