CN101809964A - 信息交换安全化方法、设备、及相应的计算机程序产品 - Google Patents
信息交换安全化方法、设备、及相应的计算机程序产品 Download PDFInfo
- Publication number
- CN101809964A CN101809964A CN200880024587A CN200880024587A CN101809964A CN 101809964 A CN101809964 A CN 101809964A CN 200880024587 A CN200880024587 A CN 200880024587A CN 200880024587 A CN200880024587 A CN 200880024587A CN 101809964 A CN101809964 A CN 101809964A
- Authority
- CN
- China
- Prior art keywords
- entity
- safe
- session
- data
- message
- 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
Images
Classifications
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种产生安全化数据的方法,使得根据安全化会话建立协议在第一实体和至少一个第二实体之间进行安全化会话。根据本发明,所述方法包括:与所述第一实体关联的第三安全化实体的初始化步骤;在所述第三实体内生成所述安全化数据的至少一部分的步骤;从所述第三安全化实体向所述第一实体传输所述安全化数据的步骤。
Description
1技术领域
本发明涉及通信网络中的两个实体之间实现的信息交换的管理领域。
更为具体地是,本发明与这类交换的安全化有关。许多应用,尤其是商务应用或机密信息的存取,使用SSL(安全套接层,英语“SecureSocket Layer”)或TLS(传输层安全,英语“Transport LayerSecurity”)协议,用于以安全的方式交换数据。虽然存在用于这些协议的数学证明,它们由缺乏保障的信息系统全面实现,使得被攻击成为可能,而这些攻击正在降低应当给予正在执行这些协议的交换流程的信任。
2现有技术的解决方案
2.1现有技术
在一个通信网络的两个实体之间的安全连接的执行由基于SSL协议,或基于TLS协议的安全化会话触发。
因此,为建立这样一个会话,两个实体使用被视为保证所创建的会话不成为盗用或窥伺对象的机制。随后描述SSL和TLS协议的运行情况。虽然该描述尤其针对TLS协议,它同样适用于SSL协议。
TLS协议是基于一个相互协作的五个软件实体的组:应用、握手、CCS、报警和记录组织起来的。实体“应用”表示用于执行安全通信会话(OSI模型层7)的一个软件应用。握手、CCS、报警和记录实体(同样被称为层)是在一个TLS协议应用范围内被执行的实体,其细节描述通过在IETF(互联网工程任务组)委员会的“RFC2246”编号下找到。这样一个TLS协议应用在OSI模型层5中被实现。
一个TLS “栈”结构可被如此描述:由“记录”实体管理的层(同样被称为“记录”层),借助于一个精确指明生成消息的实体、所用TLS协议版本、及消息长度的5个八位字节的头部,来传输由应用、握手、CCS和报警实体生成的消息。这样一种消息还包含一个指明消息类型和相关数据长度的头部。然而“应用”消息结构不是由TLS标准定义的。事实上,每一个应用交换其结构由应用协协商义的消息,例如HTTPS(超文本安全传输协议,英语“Hypertext Transfer ProtocolSecured”)协议的消息。
因此,一个应用“应用”使用TLS协议所提供的服务,TLS协议借助于传输层的TCP(表示传输控制协议的英语“TransmissionControl Protocol”)协议实现所传输的数据的机密性和(密码)机密性。
由TLS实现的安全信道的执行由两个步骤展开,一个认证和计算密钥阶段,在成功的情况下,随后跟有使用先前确定的密钥组的安全通信信道使用阶段。
“握手”层的实体(也被称为“握手”层)实现认证和密钥计算流程。存在两种认证模式:完全模式(称为Full Session(完全会话))和快速模式(称为Session Resumption(继续会话))。这两种模式随后会细述。
“握手”层协商由“记录”层(同样被称为“记录”层)实体执行的密码和完整性算法,它由一个命名为“cipher_suite”密码组的数来标识。
在认证流程成功后,“记录”层确定一个被称为master_secret的数值。借助于由客户端实体和服务器端实体生成的两个随机数(client_random)(server_random),“记录”层计算一组密钥(key_bloc),用于所收到和发送的数据的译成密码和完整性:
key_block=PRF(master_secret,“key expansion”,server_random|client_random);
PRF(伪随机功能Pseudo Random Function)是一个生成伪随机数据的功能;符号“|”指代一个级联操作。
在简化的方式下,参数keys_bloc是一个对,其中有两对密钥(KcRx,KiRx)和(KcTx,KiTx),它们分别被用于所接收(后缀Rx)和发送(后缀Tx)的数据的加密(译成密码)(前缀Kc)和完整性(前缀Ki)。
“CCS”(Change Cipher Spec)层向”记录”实体指示安全参数的改变。它用参数“keys_bloc”和“cipher_suite”,激活数据译成密码和完整性流程的运行。
报警层实体(同样被称为报警层)指示(在认证失败情况下)由“握手”实体,或(在检测出完整性缺失,或会话结束时)由“记录”层检测出的错误。
“记录”层保证四类操作:
-最大尺寸在214八位字节数量级的数据块的分片;
-数据的可选择性的压缩;该服务通常并不确定有;
-(基于HMAC算法,由RFC2104定义的)签名的生成;
-将数据译成密码。
“记录”层运行所需的整组参数被命名为“security_parameters”并且还包含“握手”实体生成的keys_bloc数值。
在应用层和TCP层之间交换的消息由“记录”层借助于前述的两对密钥(KcRx,KiRx)和(KcTx,KiTx)加密和解密。
-由“记录”层接收到的消息由密钥KcRx({M}KcRx)加密并带有一个关联于密钥KiRx的HMAC签名(KiRx,M)。密钥KiRx验证HMAC签名并恢复在应用层解密的数值。
-应用层发送的消息被“记录”层借助于密钥KcTx({M}KcTx)加密并带有一个关联于密钥KiTx的HMAC签名(M,KiTx)。
当译成密码模式被激活时,“记录”层的运行如下:由一个例如“握手”或“应用”实体发送/接收的一个“消息”带有一个包含三个参数:类型、版本、长度的头部。“消息”、“HMAC签名”和“填充字节”组借助于认证阶段协商的算法和密钥Kc被加密。
“HMAC”签名基于头部、“消息”和一个(被初始化为0值并在每次使用“记录”层时递增的)帧号(seq_num)根据以下关系被计算:
HMAC(Ki,seq_num|类型|版本|长度|消息)
另外前边已经提到,存在两种被称为“Full Session”和“SessionResumption”的TLS会话开始模式。
因此,例如,在“Full Session”会话开始情况下,通过使用RSA算法,以及一个客户端实体和一个服务器实体之间的相互认证(ClientAuthentication Handshake客户端认证握手),客户端实体向服务器实体传达一个“客户端问候ClientHello”消息,服务器实体则通过“服务器问候SeverHello”、“证书Certificate”、“证书要求CertificateRequest”、“服务器问候完毕ServerHelloDone”这一组消息回复。客户端实体则传送“证书Certificate”、“证书验证CertificateVerify”、“客户密钥交换ClientKeyExchange”、“改变密码规范ChangeCipherSpec”、和“结束Finished”这些消息。
在此流程中客户端实体验证服务器证书的有效性,取出其RSA公钥,随后向其传输用该密钥加密并命名为″pre_master_secret”的一个数值。″master_secret”是基于“client-random”、“server-random”和″pre_master_secret”计算的。“证书验征Certificate Verify”消息包含一个用客户端RSA私钥实现的签名,它证明该客户端的身份(在“证书Certificate”消息中有其证书)。
在该认证流程结束后,客户端实体和服务器实体具有一个新数值″master_secret”,从中导出keys_bloc密钥。在“服务器问候ServerHello”消息中传输的一个“SessionID”参数提供一个″master_secret”的索引。随后,由“应用”层生成的数据被“记录”实体进行传输,得益于Kc和Ki密钥保证机密性和完整性。
在“Session Resumption”会话开始情况下,前一流程“FullSession”已经允许获得由一个“SessionID”索引标识的一个″master_secret”。认证阶段被简化并能够为两部分(客户端实体和服务器端实体)证实它们知晓″master_secret”数值。客户端实体通过包含前一会话索引(“SessionID”)的一个“客户端问候ClientHello”消息打开TLS会话。服务器端实体用“服务器问候SeverHello”、“改变密码规范ChangeCipherSpec”、及“结束Finished”的一组消息回复。它通过在“服务器端问候SeverHello”消息中插入一个与“客户端问候ClientHello”消息中一样的“SessionID”值指明会话的恢复。客户端实体则发出“改变密码规范ChangeCipherSpec”、及“结束Finished”消息。
″master_secret”不被重新计算,然而一个新的keys_bloc组基于元素″master_secret”、“ClientRandom”和“ServerRandom”通过执行以下函数而取得:
keys_block=PRF(master_secret,“key expansion”,server_random|client_random);
随后由“应用”生成的数据由“记录”实体进行传输,得益于Kc和Ki密钥保证机密性和完整性。
“Session Resumption”机制在一个TLS会话间简化信息交换。第一个“Full Session”执行两端(客户端和服务器端)的简单或相互认证并生成一个″master_secret”。随后的会话,基于“Session Resumption”机制,再次使用″master_secret”以计算新的加密和完整性密钥。
2.2现有技术的缺陷
如TLS会话建立机制所述那样,用于安全信息交换的两个步骤被表明:
-允许获得″master_secret”并计算会话密钥keys_bloc的一个认证步骤;并且
-以加密模式转移由“记录”层所保护的消息的步骤。
虽然,应用数据在客户端和服务器端实体之间被交换,认证步骤是最为关键的流程,因为它建立两个部分的身份,验证它们的证书并计算密码密钥。
现有技术中的这一技术的缺陷与TLS堆栈(换而言之即使信息交换的步骤序列)在同一计算机上被全部执行同时因此不允许将认证流程和信息交换流程分离开这一事实有关。
因此无法保证执行该TLS堆栈的计算机是完全安全的而且在认证和转移受保护消息的关键步骤期间密钥的盗用无法进行。
不过,许多应用,例如基于SSL/TLS的虚拟网络(VPN)、计算格栅或叠层类型网络,需要特别的安全保证,以便禁止身份盗用,换而言之即服务被计算机海盗(或黑客)的非法使用。
目前计算机的复杂开发系统允许能够收集用户的身份和RSA密钥的例如特洛伊木马、蠕虫、病毒等恶意软件的执行。
为了解决这些问题,曾经建议许多特别基于包含用户物理身份证明的芯片卡或外延设备的解决方案,或者是希望(尤其通过在芯片卡内部存储私钥和公钥)建立一个安全会话的机器。这样的解决方案能够有效保证希望被连接但无法保证实现认证流程所在的机器的安全的实体的身份。
3发明内容
本发明推荐一个能够解决现有技术的这些缺陷新解决方案,即一种产生安全化数据的方法,允许根据安全化会话建立协议在第一实体和至少一个第二实体间进行安全化会话。根据本发明,这样的一种方法包括:
-初始化与所述第一实体关联的第三安全化实体的步骤;
-在所述第三实体内生成所述安全化数据的至少一部分的步骤;
-从所述第三安全化实体向所述第一实体传输所述安全化数据的步骤。
因此,与只允许在即将实际执行安全化会话的实体上产生会话数据的现有技术中的技术不同,本发明允许在不同于第一实体的第三实体内部产生这样的数据。该第三实体可机械地连接到第一实体,或者经由诸如局域网的一个网络接口与第一实体关联。允许执行安全化会话的数据的生成因此不再由执行安全化会话的实体而是由第三实体实现,因此可避免可能直接导向第一实体的不同攻击。
根据本发明的方法因此允许在产生安全化会话数据时更换第一实体。这样一个替代使得至少一部分定义数据的操作在第三实体内部建立会话,第三实体因此可以取代第一实体并因此为在一个安全环境中创建数据的流程提供保障。
根据本发明的一种初始实施方式,所述第三实体是一个Javacard类型的芯片卡。
因此,本发明允许把负责执行安全协议的设备与希望具有安全化连接的设备分离开。而且,Javacard类型的芯片卡的使用保证负责执行安全协议的该实体不受侵犯并且完全安全的。一个来自于发明者的设计的补充的安全化层次因此被加入整套安全协议中。
根据本发明的一个具体特征,所述的安全化会话建立协议是SSL协议。
因此,本发明负责建立遵守SSL协议的安全化会话,SSL协议是本领域中的一个主要协议。
根据本发明的一个具体特征,所述的安全化会话建立协议是TLS协议。
因此,本发明负责建立遵守TLS协议的安全化会话,TLS协议是本领域中的一个最常用协议。
根据本发明的一个具体特征,所述产生方法还包含:
-由所述第一实体向所述第三实体内使用的“记录”层传输至少一个消息的步骤;
-由所述第一实体接收来自所述“记录”层的至少一个消息的步骤;
-由所述第三实体计算一组密钥的步骤;
-由所述第一实体在所述第三实体中收集所述可用密钥组的步骤;
-取回安全化通信会话的识别码的步骤。
因此,本发明允许通过进行消息转移来取代在易于被攻击的第一实体上执行产生步骤,从而保留现存设备的一致性。
本发明同样涉及一个安全化数据产生设备,它根据安全化会话建立协议,允许在第一实体和至少第二实体之间进行安全化会话。根据本发明,这样一个设备包含:
与所述第一实体关联的初始化装置;
生成所述安全化数据的至少一部分的装置;
向所述第一实体传输所述安全化数据的装置。
通常方式下,这样一个设备包含允许其执行如前所述的产生方法的步骤的装置。
根据本发明的一种原始实施方式,所述生成装置和所述传输装置被组合在一个芯片卡中。
因此,根据本发明的这样一个设备具有抵抗恶意攻击的装置。
在另一种实施方式下,本发明同样涉及一种可从通信网络远程下载和/或可被存储于计算机可读载体和/或可由微处理器执行的计算机程序产品。
根据本发明,在至少一种实施方式下,这样一种计算机程序产品包含用于执行如前所述的产生方法的程序代码指令。
4附图说明
本发明的其他特征和优势在阅读了作为简单而非限制性的例子的一种优选实现方式的以下描述及附图后将更为清晰,其中:
-图1表示根据本发明的安全化数据产生方法的方框图;
-图2示出在根据本发明的安全化模块内实施产生方法的例子;
-图3示出由两个实体借助于在称为“Full Session”模式下的两个安全化模块实施的产生方法的一种方式;
-图4示出由两个实体借助于在称为“Session Resumption”的模式下的两个安全化模块实施的产生方法的一种方式;
-图5同样示出由两个实体借助于在称为“SessionResumption”的模式下的两个安全化模块实施的产生方法的一种方式;
-图6示出也被称为安全化模块的一种安全化数据产生设备的结构。
5具体实施方式
5.1本发明原理复述
本发明因此能够解决与已实施SSL和TLS协议的实体的固有不安全性有关的问题。事实上,这些实体,通常情况下,是运行在有产权的、免费发行的开发系统上的服务器或传统个人计算机。如果在大部分时间内给予“服务器”类别相对大的信任,单个用户的个人计算机没有与服务器同样的安全化级别并且因此更经常处于攻击风险中。因此,即使TLS和SSL类通信会话安全化协议正确履行它们的功能,借助于恶意软件针对一个工作站或一个服务器实体的攻击还是非常有可能被引入到一个“软件堆栈”中或甚至还修改开发系统文件。进行这样一种引入旨在能够取得对用户发起的会话的以后的控制。
为了避免这些外部攻击,本发明允许在与通常执行该认证步骤的实体有关联的第三方实体中执行至少一些认证步骤。这样一个第三方实体是根据本发明的一个安全化消息产生设备,也被称为“安全化模块”。这一实体随后使用继续认证会话所需的信息。
这些信息,例如,可以是用于需要交换SSL/TLS协议安全化信息的软件的会话密钥(keys_bloc)或“master_secret”(根据所需的安全级别)。
本发明的总原理在于,将待执行的一个协议,例如一个认证协议的至少一些步骤向例如安全化模块等信任实体中的转移(délocalisation)。
事实上,虽然应用数据在客户端和服务器端实体间交换,认证步骤是最为关键流程,这是由于它建立两个部分的身份,验证它们的证书并计算密码密钥。
使用芯片卡的本发明清楚有别于现有技术中的技术,由于这些现有机制不在讨论中的卡的内部执行软件,而只是简单地存储作为例如证书或密钥的数据。相反地,根据本发明的一个实体在其第一功能中不局限于数据,而是一整套机制,允许以独立的方式执行一个安全化协议的至少一些步骤。
根据图1,示出根据本发明的安全化数据的产生方法。它包含:
-与第一实体(例如一台个人计算机)关联的安全化模块(例如一张芯片卡)的初始化(100)步骤;
-在安全化模块内生成一部分安全化数据(101)的步骤;
-从安全化模块向第一实体传输安全化数据的(102)步骤。
随后,尤其表示安全化模块执行根据本发明的用于SSL/TLS协议认证步骤的方法的情况。然而很清楚的是本发明不局限于这一特定应用,还可被应用到许多其他领域,例如应用到可以执行其他实体例如汽车等的初始化或启动机制的实体中,并且更为普遍的是应用到本发明所能带来的优势尤为明显的所有情况中。
5.2一种实施方式的描述
在此实施方式下表示根据本发明的本方法在一张装有计算机程序执行装置的芯片卡(安全化模块)内部的实施。这例如可以涉及一个“Javacard”,换而言之即一个集成了Java虚拟机的芯片卡。这类芯片卡显示出抗攻击的优势。这意味着这些卡具有显著降低风险和侵权可能性的物理特征。它们因此尤被指定用于安全化流程的实现。
在此实施方式下,根据本发明的方法允许将SSL或TLS协议的执行转移到该安全化模块内部。
在现有技术状态下,TLS堆栈(换而言之即导向认证的流程的步骤序列)完全在同一计算机上执行并且因此不允许分割信息交换和认证流程。
然而许多应用,例如基于SSL/TLS的虚拟网络(VPN)、计算栅格或“overlay”(英语,意为重叠)类网络,需要特别的安全保证,以便禁止身份盗用,换而言之即被计算机海盗(或“黑客”)违法使用服务。当前计算机的复杂开发系统允许能够收集用户的身份和RSA密钥的例如特洛伊木马、蠕虫、病毒等恶意软件的执行。
执行根据本发明的方法的一个安全化模块因此包含原始功能性,它允许其实现TLS协议认证步骤,并向一个应用转移使用预先建立的安全化隧道的权力。
执行根据本发明的方法的安全化模块实现TLS客户端或服务器端实体的功能。因此,在此特定实施方式下,根据本发明的方法实现前述的各握手、报警、CCS和记录实体。
图2显示根据本发明的产生方法执行TLS协议的一个安全化模块(210)和一个用户实体(200),换而言之即一个包含TLS堆栈子集的应用(2000),即必备的“记录”层(2004)和“报警”层(2002)和非强制的CCS层(2003)和“握手”层(2001)。“记录”层(2004)示出一个与“TCP”层(2005)的通信接口。
在此实施方式下,这样一个安全化模块提供一个包含8个命令的功能性接口(220):“SET-Credentials”、“Start”、“Process-TLS”、“GET-keys_bloc”、“Compute-keys_bloc”、“GET-cipher_suite”、“GET-SessionID”、“GET-Master_secret”。这些命令可遵守ISO7816标准并根据经常被命名为“APDUs”(英语“Application Protocol DataUnit”,OSI模型层7应用协议数据单元(PDU))的编码方式来实现。
实施根据本发明的产生方法的安全化模块(210)包含执行安全化方法所需的实体,即“记录”层(2104)和“报警”层(2102)以及在非强制的CCS层(2103)和“握手”层(2101)。
功能接口(220)允许用户实体(200)求助安全化模块(210)来产生安全化数据。
5.3命令描述
5.3.1 SET-Credentials命令
该模块的作用(role),换而言之即它的客户端或服务器实体行为以及其运行所需的、通常由证书crédits或credentials(英语certificatsX509,RSA私钥)的字母形容的不同参数由SET-Credentials()命令激活。
SET-Credentials(Credentials,role)
5.3.2 Start(Unix-Time)
在此实施方式下,一个“Start”命令初始化一个TLS会话;由于安全化模块在通常规则下不包含时钟,它同样报知以被称为UNIX的格式的GMT时间,换而言之即是用测量自1970年1月1日以来所经过的秒数的一个32位数字。
5.3.3 Process-TLS
TLS包,换而言之即由一个”记录”实体产生的消息,借助于返回一个或几个记录消息的Process-TLS(Record-Packets)命令被传输到安全化模块。
Record-Packets=Process-TLS(Record-Packets)
5.3.4 GET-keys_bloc
当TLS安全模式成功对其会话者进行认证,它计算keys_bloc,“记录”层将CCS和FINISHED消息转换为加密模式并且发送。GET-keys_bloc命令则采集可用的全体密钥。
keys_bloc=GET-keys_bloc()
安全化模块业务的用户则可以自主(无需安全化模块的帮助)管理它自己的“记录”层。事实上,它知道安全化信道密钥(keys_bloc)而参数seq_num当前值等于1(数值0已被用于计算FINISHED消息的HMAC完整性性)。
5.3.5 Compute-keys_bloc
与客户端实体和服务器端实体生成的随机数(Client-Random和Server-Random)关联的Compute-keys_bloc()命令允许计算keys_bloc参数。在“Session Resumption”类会话时它是有用的,其中安全化模块用户使用“Session Resumption”类会话仅仅为了得到keys_bloc。
keys_bloc=Compute-keys_bloc(Client-Random,Server-Random)
非常重要的是注意到在此情况下安全化模块不输出Master_secret值。因此在没有安全化模块的情况下进行一个“SessionResumption”类会话是不可能的,安全化模块因此保证服务用户的良好可信度。
5.3.6 GET-Cipher_suite
一个GET-Cipher_suite命令允许知晓由与“记录”层实体关联的Cipher_suite数编索引的安全参数。
Cipher_suite=GET-Cipher_suite()
5.3.7 GET-SessionID
GET-SessionID命令返回与当前会话或之前会话关联的“SessionID”参数。这对于希望部分管理一个“Session Resumption”的用户是一个有用消息。
SessionID=GET-SessionID()
5.3.8 GET-Master_secret
GET-Master_secret()命令采集与当前会话或之前会话的SessionID关联的Master_secret。它是非强制的并对应一个“SessionResumption”管理政策,在此政策中用户不使用计算keys_bloc的业务。
Master_secret=GET-Master_secret()
5.4协议的执行
借助于前述八条命令,每一用户有可能执行TLS安全化模块的至少三种主要使用模式。
第一种模式被描绘在图3上。它涉及根据本发明的方法应用到使用RSA算法以及相互认证(“客户端认证握手Client AuthenticationHandshake”)、被称为“Full Session”模式的会话开始中。一个客户端实体(350)通过客户端问候ClientHello(301)消息发起会话。一个服务器实体(360)用服务器问候SeverHello(302)、证书Certificate(303)、证书请求CertificateRequest(304)、服务器问候完毕SeverHelloDone(305)这一组消息回复。客户端实体则发出消息证书Certificate(306)、证书验证CertificateVerify(307)、客户密钥交换ClientKeyChange(308)改变密码规范ChangeCipherSpec(309),及结束Finshed(310)。
在此流程下,客户端实体验证服务器证书有效性,取出它的RSA公钥,随后向其传输一个由该密钥加密并命名为pre_master_secret的数值。master_secret是基于Client_Random、Server_Random和pre_master_secret元素计算的。证书验证CertificateVerify(307)消息包含一个用客户RSA私钥实现的签名,其证明客户的身份(其证书显示在证书消息(306)中)。
在这一认证流程结束之后客户端实体和服务器实体具有一个新值master_secret,从中导出keys_bloc密钥。在服务器问候消息中传输的参数SessionID提供一个master_secret索引。由此,由“应用”层生成的数据由“记录”实体(313)传输,得益于Kc和Ki密钥保证机密性和完整性。
前述步骤在安全化模块内部执行:一个用于客户端实体(35)而一个是用于服务器实体(36)。如显示在图3中的,前述步骤不在客户端实体(350)和服务器端实体(360)内部执行,但仅由这些实体“转运”。在安全化模块内部借助于模块功能接口命令得以高效实现该执行过程。
在每一个实现的安全化模块中,四个命令被使用:用于初始化一个TLS会话的“Start”(3001,3002),处理TLS包(未表示出)的“Process-TLS”,采集”记录”层密钥的“GET-keys_bloc”(3003,3004)以及指示用于管理安全化信道的密码算法列表的“GET-Cipher_suite”(3005,3006)。客户端实体打开一个与典型地在TCP443端口监听的服务器实体的TLS会话。在此图中,一个安全化模块在客户实体(350)端和服务器实体(360)端实施。
第二种模式被显示在图4上。在此情况下前一个“Full Session”类会话允许取得由SessionID索引标识的一个“master_secret”。认证步骤被简化且针对两个部分(客户端和服务器端实体)旨在于证明它们知晓master_secret值。客户端实体(440)用包含前一会话索引(SessionID)的一个“客户端问候ClientHello”(401)消息打开TLS会话。服务器端实体(460)用“服务器问候SeverHello”(402)、“改变密码规范ChangeCipherSpec”(403)、和“结束Finshed”(404)这一组消息回复。它通过在“服务器问候SeverHello”消息中插入一个与包含在“客户端问候ClientHello”中的相同的一个SessionID值来指明会话的恢复。客户端实体则发出“改变密码规范ChangeCipherSpec”(405)、和“结束Finshed”(406)这些消息。
“master_secret”不被重新计算,然而一个新的“keys_bloc”组从元素“master_secret”、“Client_Random”和“Server_Random”获得。
keys_block=
PRF(master_secret,“key expansion”,server-random|client-random)。
随后,由“应用”层生成的数据由“记录”实体(407)(408)传输,得益于Kc和Ki密钥保证机密性和完整性。
被称为“Session Resumption”的机制在一个TLS会话时简化信息交换。第一个Full Session执行两个端(客户端实体和服务器)的简单或相互认证并产生一个master_secret。后续的会话,基于会话恢复机制,再使用master_secret以计算加密和完整性的新密钥。
在此实施方式下,一个“Session Resumption”类的会话在一个客户端实体和一个服务器实体之间被协商。master_secret值被客户端实体和/或服务器的安全化模块保护起来。
三个命令是必需的;“Start”(4001,4002)初始化一个安全化模块;“GET-SessionID”(4003,4005)取回前一会话的“SessionID”,它可被插入到“客户端问候Client-Hello”消息(4001)中或允许验证服务器侧(4003)一个master_secret的存在;“Compute-keys_bloc()”借助于客户端实体(4004)和服务器实体(4006)交换的随机数计算“keys_bloc”。
第三种模式在图5上被清楚解释。一个“Session Resumption”类的会话在一个客户端实体(550)和一个服务器实体(560)之间被协商。“master_secret”值由客户端侧(55)和/或服务器侧(56)的安全化模块存储起来。
三个命令是必需的;“Start”(5001,5002)初始化一个安全化模块;“GET-SessionID”取回前一会话的“SessionID”,它可被插入到“客户端问候Client-Hello”消息(5003)中或允许验证服务器侧(5005)一个master_secret的存在。“GET-Master_secret”返回“Master_secret”值(5004,5005)。这一运行模式与例如使用存储在各文件中的“SESSION”对象的“OpenSSL”等软件是兼容的。安全化模块在此情况下扮演“Master_secret”值的可移动缓存的角色。步骤401至408与关于图4的描述内容相同。
5.5根据本发明的一个安全化模块的描述
图6显示一个硅集成电路形式的安全化模块(600),其通常作为抵抗破坏的装置,例如ST22元件(由ST Microelectronics公司生产)并有如被集成在USB盘上、或在MMC(MultiMedia Card)存储器上的PVC卡,(芯片卡,SIM卡......)等多种形式可选。
这样一种安全化模块合并有所有数据存储安全化装置,并同样允许软件在安全且受保护的环境下被执行。
更精确地说,它包括一个中央单元(CPU,601),存储开发系统和RAM存储器(603)的编码(602)的ROM存储器,和被用作类似硬盘的模拟存储设备的非易失存储器(NVR,604),并包含例如一个装有TLS的软件。一条系统总线(610)连接安全化模块的不同装置。与外部世界(620)的接口由符合例如ISO6816、USB、USB-OTG、ISO6816-12、MMC、IEEE802.3、IEEE802.11等标准的输入/输出IO端口保证。
JAVA芯片卡,通常由术语JAVACARD指代,是安全化模块的一种具体类型。
Claims (6)
1.一种产生安全化数据的产生方法,使得根据安全化会话建立协议在第一实体和至少一个第二实体之间进行安全化会话,其特征在于所述安全化数据是实施SSL或TLS协议的数据,并且所述方法包括:
初始化与所述第一实体关联的第三安全化实体的步骤;
在所述第三实体内生成所述安全化数据的至少一部分的步骤;
从所述第三安全化实体向所述第一实体传输所述安全化数据的步骤。
2.根据权利要求1所述的产生方法,其特征在于所述第三实体是“JavaCard”类型的芯片卡。
3.根据权利要求1或2所述的产生方法,其特征在于还包括:
-由所述第一实体向所述第三实体内实施的“记录”层传输至少一个消息的步骤;
-由所述第一实体接收来自所述“记录”层的至少一个消息的步骤;
-由所述第三实体计算一组密钥的步骤;
-由所述第一实体在所述第三实体中收集所述可用密钥组的步骤;
-取回安全化通信会话的识别码的步骤。
4.一种安全化数据产生设备,使得根据安全化会话建立协议在第一实体和至少一个第二实体之间进行安全化会话,其特征在于包括:
与所述第一实体关联的初始化装置;
生成所述安全化数据的至少一部分的装置;
向所述第一实体传输所述安全化数据的装置。
5.根据权利要求4所述的安全化数据产生设备,其特征在于所述生成装置和所述传输装置被组合在一个芯片卡中。
6.一种可从通信网络远程下载和/或存储于计算机可读载体上和/或可由微处理器执行的计算机程序产品,其特征在于包含当在计算机上被执行时用于执行根据至少权利要求1至3之一所述的产生方法的程序代码指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR07/03743 | 2007-05-25 | ||
FR0703743A FR2916592B1 (fr) | 2007-05-25 | 2007-05-25 | Procede de securisation d'echange d'information,dispositif, et produit programme d'ordinateur correspondant |
PCT/EP2008/056136 WO2008145558A2 (fr) | 2007-05-25 | 2008-05-19 | Procede de securisation d'echange d'information, dispositif, et produit programme d'ordinateur correspondant |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101809964A true CN101809964A (zh) | 2010-08-18 |
Family
ID=38690408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880024587A Pending CN101809964A (zh) | 2007-05-25 | 2008-05-19 | 信息交换安全化方法、设备、及相应的计算机程序产品 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8646041B2 (zh) |
EP (1) | EP2153613A2 (zh) |
CN (1) | CN101809964A (zh) |
CA (1) | CA2689015A1 (zh) |
FR (1) | FR2916592B1 (zh) |
RU (1) | RU2487482C2 (zh) |
WO (1) | WO2008145558A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930847A (zh) * | 2011-08-09 | 2013-02-13 | 锋厚科技股份有限公司 | 多切换显示控制装置、矩阵式显示控制装置及其控制方法 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2943198B1 (fr) | 2009-03-16 | 2011-05-20 | Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst | Procede de production de donnees de securisation, dispositif et programme d'ordinateur correspondant |
FR2945650B1 (fr) * | 2009-05-13 | 2011-05-06 | Groupe Ecoles Telecomm | Procede de securisation de documents par application d'un numero d'identification propre et appareil pour l'authentification dudit numero. |
US8875219B2 (en) * | 2009-07-30 | 2014-10-28 | Blackberry Limited | Apparatus and method for controlled sharing of personal information |
JP5923161B2 (ja) | 2011-03-29 | 2016-05-24 | ヴィフォール (インターナショナル) アクチェンゲゼルシャフトVifor (International) AG | 鉄欠乏症状および鉄欠乏性貧血の治療および予防のための鉄(iii)錯体化合物 |
US20140248342A1 (en) | 2011-05-31 | 2014-09-04 | Vifor (International) Ag | Fe(III) 2,4-Dioxo-1-Carbonyl Complexes For Treatment And Prophylaxis Of Iron Deficiency Symptoms And Iron Deficiency Anaemias |
US9537899B2 (en) | 2012-02-29 | 2017-01-03 | Microsoft Technology Licensing, Llc | Dynamic selection of security protocol |
RU2641030C2 (ru) | 2012-12-21 | 2018-01-15 | Вифор (Интернациональ) Аг | Комплексные соединения трехвалентного железа для лечения и профилактики симптомов дефицита железа и железодефицитных анемий |
CN103618726A (zh) * | 2013-12-04 | 2014-03-05 | 北京中创信测科技股份有限公司 | 一种基于https协议实现移动数据业务识别的方法 |
US11399019B2 (en) * | 2014-10-24 | 2022-07-26 | Netflix, Inc. | Failure recovery mechanism to re-establish secured communications |
US11533297B2 (en) | 2014-10-24 | 2022-12-20 | Netflix, Inc. | Secure communication channel with token renewal mechanism |
US10050955B2 (en) | 2014-10-24 | 2018-08-14 | Netflix, Inc. | Efficient start-up for secured connections and related services |
US10129031B2 (en) * | 2014-10-31 | 2018-11-13 | Convida Wireless, Llc | End-to-end service layer authentication |
US9854000B2 (en) | 2014-11-06 | 2017-12-26 | Cisco Technology, Inc. | Method and apparatus for detecting malicious software using handshake information |
KR102001753B1 (ko) | 2015-03-16 | 2019-10-01 | 콘비다 와이어리스, 엘엘씨 | 공개 키잉 메커니즘들을 사용한 서비스 계층에서의 종단간 인증 |
US9955199B2 (en) * | 2015-07-23 | 2018-04-24 | Panasonic Avionics Corporation | Transfer of consumable data to vehicles |
US10635370B2 (en) * | 2016-03-31 | 2020-04-28 | Tanita Corporation | Image forming apparatus that acquires data from an activity amount meter |
DE102017202953A1 (de) * | 2017-02-23 | 2018-08-23 | Bundesdruckerei Gmbh | Zugangskontrollvorrichtung und Verfahren zur Authentisierung einer Zugangsberechtigung |
US20200389322A1 (en) * | 2017-12-07 | 2020-12-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Security for group communication |
US11165824B2 (en) * | 2019-10-18 | 2021-11-02 | Cisco Technology, Inc. | Transport layer security extension for hybrid information centric networking |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
UA53651C2 (uk) * | 1996-06-05 | 2003-02-17 | Сіменс Акцієнгезельшафт | Спосіб криптографічного обміну кодами між першим комп'ютерним пристроєм та другим комп'ютерним пристроєм |
AU4781899A (en) * | 1998-07-03 | 2000-01-24 | Nokia Mobile Phones Limited | Secure session set up based on the wireless application protocol |
FR2805062B1 (fr) * | 2000-02-10 | 2005-04-08 | Bull Cp8 | Procede de transmission de flux de donnees a haut debit sur un reseau de type internet entre un serveur et un terminal a carte a puce, notamment d'un flux de donnees multimedia |
CA2305249A1 (en) * | 2000-04-14 | 2001-10-14 | Branko Sarcanin | Virtual safe |
US20040218762A1 (en) * | 2003-04-29 | 2004-11-04 | Eric Le Saint | Universal secure messaging for cryptographic modules |
US6854057B2 (en) * | 2001-09-06 | 2005-02-08 | America Online, Inc. | Digital certificate proxy |
US7996888B2 (en) * | 2002-01-11 | 2011-08-09 | Nokia Corporation | Virtual identity apparatus and method for using same |
EP1349032B1 (en) * | 2002-03-18 | 2003-11-19 | Ubs Ag | Secure user authentication over a communication network |
US7246236B2 (en) * | 2002-04-18 | 2007-07-17 | Nokia Corporation | Method and apparatus for providing peer authentication for a transport layer session |
US7007163B2 (en) * | 2002-05-31 | 2006-02-28 | Broadcom Corporation | Methods and apparatus for accelerating secure session processing |
RU2295200C2 (ru) * | 2002-08-16 | 2007-03-10 | Тогева Холдинг Аг | Способ и система для gsm-аутентификации при роуминге в беспроводных локальных сетях |
US7373500B2 (en) * | 2003-04-15 | 2008-05-13 | Sun Microsystems, Inc. | Secure network processing |
US20040210663A1 (en) * | 2003-04-15 | 2004-10-21 | Paul Phillips | Object-aware transport-layer network processing engine |
US20050181875A1 (en) * | 2004-02-18 | 2005-08-18 | Coin Mechanisms, Inc. | Mobile lottery, gaming and wagering system and method |
WO2006021865A1 (en) * | 2004-08-24 | 2006-03-02 | Axalto Sa | A personal token and a method for controlled authentication. |
US7451921B2 (en) * | 2004-09-01 | 2008-11-18 | Eric Morgan Dowling | Methods, smart cards, and systems for providing portable computer, VoIP, and application services |
US7565536B2 (en) * | 2005-09-02 | 2009-07-21 | Gemalto Inc | Method for secure delegation of trust from a security device to a host computer application for enabling secure access to a resource on the web |
US7725928B2 (en) * | 2005-12-02 | 2010-05-25 | Palo Alto Research Center Incorporated | System and method for establishing temporary and permanent credentials for secure online commerce |
US20080022374A1 (en) * | 2006-06-29 | 2008-01-24 | Research In Motion Limited | System and method for securely communicating with a server |
-
2007
- 2007-05-25 FR FR0703743A patent/FR2916592B1/fr active Active
-
2008
- 2008-05-19 RU RU2009147315/08A patent/RU2487482C2/ru not_active IP Right Cessation
- 2008-05-19 US US12/602,000 patent/US8646041B2/en active Active
- 2008-05-19 CN CN200880024587A patent/CN101809964A/zh active Pending
- 2008-05-19 EP EP08750344A patent/EP2153613A2/fr not_active Withdrawn
- 2008-05-19 CA CA002689015A patent/CA2689015A1/en not_active Abandoned
- 2008-05-19 WO PCT/EP2008/056136 patent/WO2008145558A2/fr active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930847A (zh) * | 2011-08-09 | 2013-02-13 | 锋厚科技股份有限公司 | 多切换显示控制装置、矩阵式显示控制装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2008145558A3 (fr) | 2009-03-19 |
EP2153613A2 (fr) | 2010-02-17 |
US20100257588A1 (en) | 2010-10-07 |
FR2916592B1 (fr) | 2017-04-14 |
CA2689015A1 (en) | 2008-12-04 |
WO2008145558A2 (fr) | 2008-12-04 |
RU2487482C2 (ru) | 2013-07-10 |
FR2916592A1 (fr) | 2008-11-28 |
US8646041B2 (en) | 2014-02-04 |
RU2009147315A (ru) | 2011-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101809964A (zh) | 信息交换安全化方法、设备、及相应的计算机程序产品 | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
US7992193B2 (en) | Method and apparatus to secure AAA protocol messages | |
US20190238334A1 (en) | Communication system, communication client, communication server, communication method, and program | |
EP2173055A1 (en) | A method, a system, a client and a server for key negotiating | |
US11811939B2 (en) | Advanced crypto token authentication | |
CN106603487B (zh) | 一种基于cpu时空隔离机制对tls协议处理进行安全改进的方法 | |
JP2019530265A (ja) | グラフィックコード情報を提供及び取得する方法及び装置並びに端末 | |
CN107800675A (zh) | 一种数据传输方法、终端以及服务器 | |
WO2015158172A1 (zh) | 一种用户身份识别卡 | |
CN108718233B (zh) | 一种加密方法、计算机设备及存储介质 | |
CN104322003A (zh) | 借助实时加密进行的密码认证和识别方法 | |
CN112016103A (zh) | 用于对安全元件与主机设备进行加密对准和绑定的方法和装置 | |
WO2023151427A1 (zh) | 量子密钥传输方法、装置及系统 | |
CN116633530A (zh) | 量子密钥传输方法、装置及系统 | |
Han et al. | A survey on MITM and its countermeasures in the TLS handshake protocol | |
CN110611679A (zh) | 一种数据传输方法、装置、设备及系统 | |
CN105873043B (zh) | 一种用于移动终端的网络私匙的生成及应用方法及其系统 | |
Charjan et al. | An overview of secure sockets layer | |
JP2007104118A (ja) | 秘密情報の保護方法及び通信装置 | |
CN113592484B (zh) | 一种账户的开立方法、系统及装置 | |
CN112422530B (zh) | Tls握手过程中服务器端的密钥安全保护方法及密码设备 | |
CN115333779A (zh) | 一种验证数据的方法、装置及电子设备 | |
CN114329522A (zh) | 一种私钥保护方法、装置、系统及存储介质 | |
US20120072994A1 (en) | Method to produce securing data, corresponding device and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100818 |