Experience of Implementation of the Protocol TLS 1.3 Verification

Алексей Вячеславович Никешин, Виктор Зиновьевич Шнитман
{"title":"Experience of Implementation of the Protocol TLS 1.3 Verification","authors":"Алексей Вячеславович Никешин, Виктор Зиновьевич Шнитман","doi":"10.26907/1562-5419-2021-24-5-902-922","DOIUrl":null,"url":null,"abstract":"This paper presents the experience of verifying server implementations of the TLS cryptographic protocol version 1.3. TLS is a widely used cryptographic protocol designed to create secure data transmission channels and provides the necessary functionality for this: confidentiality of the transmitted data, data integrity, and authentication of the parties. The new version 1.3 of the TLS protocol was introduced in August 2018 and has a number of significant differences compared to the previous version 1.2. A number of TLS developers have already included support for the latest version in their implementations. These circumstances make it relevant to do research in the field of verification and security of the new TLS protocol implementations. We used a new test suite for verifying implementations of the TLS 1.3 for compliance with Internet specifications, developed on the basis of the RFC8446, using UniTESK technology and mutation testing methods. The current work is part of the TLS 1.3 protocol verification project and covers some of the additional functionality and optional protocol extensions. To test implementations for compliance with formal specifications, UniTESK technology is used, which provides testing automation tools based on the use of finite state machines. The states of the system under test define the states of the state machine, and the test effects are the transitions of this machine. When performing a transition, the specified impact is passed to the implementation under test, after which the implementation's reactions are recorded and a verdict is automatically made on the compliance of the observed behavior with the specification. Mutational testing methods are used to detect non-standard behavior of the system under test by transmitting incorrect data. Some changes are made to the protocol exchange flow created in accordance with the specification: either the values of the message fields formed on the basis of the developed protocol model are changed, or the order of messages in the exchange flow is changed. The protocol model allows one to make changes to the data flow at any stage of the network exchange, which allows the test scenario to pass through all the significant states of the protocol and in each such state to test the implementation in accordance with the specified program. So far, several implementations have been found to deviate from the specification. The presented approach has proven effective in several of our projects when testing network protocols, providing detection of various deviations from the specification and other errors.","PeriodicalId":262909,"journal":{"name":"Russian Digital Libraries Journal","volume":"28 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Russian Digital Libraries Journal","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.26907/1562-5419-2021-24-5-902-922","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

This paper presents the experience of verifying server implementations of the TLS cryptographic protocol version 1.3. TLS is a widely used cryptographic protocol designed to create secure data transmission channels and provides the necessary functionality for this: confidentiality of the transmitted data, data integrity, and authentication of the parties. The new version 1.3 of the TLS protocol was introduced in August 2018 and has a number of significant differences compared to the previous version 1.2. A number of TLS developers have already included support for the latest version in their implementations. These circumstances make it relevant to do research in the field of verification and security of the new TLS protocol implementations. We used a new test suite for verifying implementations of the TLS 1.3 for compliance with Internet specifications, developed on the basis of the RFC8446, using UniTESK technology and mutation testing methods. The current work is part of the TLS 1.3 protocol verification project and covers some of the additional functionality and optional protocol extensions. To test implementations for compliance with formal specifications, UniTESK technology is used, which provides testing automation tools based on the use of finite state machines. The states of the system under test define the states of the state machine, and the test effects are the transitions of this machine. When performing a transition, the specified impact is passed to the implementation under test, after which the implementation's reactions are recorded and a verdict is automatically made on the compliance of the observed behavior with the specification. Mutational testing methods are used to detect non-standard behavior of the system under test by transmitting incorrect data. Some changes are made to the protocol exchange flow created in accordance with the specification: either the values of the message fields formed on the basis of the developed protocol model are changed, or the order of messages in the exchange flow is changed. The protocol model allows one to make changes to the data flow at any stage of the network exchange, which allows the test scenario to pass through all the significant states of the protocol and in each such state to test the implementation in accordance with the specified program. So far, several implementations have been found to deviate from the specification. The presented approach has proven effective in several of our projects when testing network protocols, providing detection of various deviations from the specification and other errors.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
TLS 1.3协议验证的实现经验
本文介绍了验证TLS加密协议1.3版本的服务器实现的经验。TLS是一种广泛使用的加密协议,旨在创建安全的数据传输通道,并为此提供必要的功能:传输数据的机密性、数据完整性和各方的身份验证。TLS协议的新版本1.3于2018年8月推出,与之前的1.2版本相比有许多显着差异。许多TLS开发人员已经在他们的实现中包含了对最新版本的支持。这些情况使得对新的TLS协议实现的验证和安全性进行研究具有一定的现实意义。我们使用了一个新的测试套件来验证TLS 1.3的实现是否符合Internet规范,该测试套件是基于RFC8446开发的,使用UniTESK技术和突变测试方法。目前的工作是TLS 1.3协议验证项目的一部分,涵盖了一些额外的功能和可选的协议扩展。为了测试符合正式规范的实现,使用了UniTESK技术,它提供了基于有限状态机使用的测试自动化工具。被测系统的状态定义了状态机的状态,而测试效果是状态机的转换。当执行转换时,指定的影响被传递给被测试的实现,在此之后,实现的反应被记录下来,并且对观察到的行为与规范的遵从性自动做出判断。突变测试方法是通过传输不正确的数据来检测被测系统的非标准行为。对根据规范创建的协议交换流进行了一些更改:要么更改了基于开发的协议模型形成的消息字段的值,要么更改了交换流中的消息顺序。协议模型允许在网络交换的任何阶段对数据流进行更改,这允许测试场景通过协议的所有重要状态,并在每个这样的状态下按照指定的程序测试实现。到目前为止,已经发现有几个实现偏离了规范。在我们的几个项目中,当测试网络协议时,所提出的方法已被证明是有效的,提供了对规范和其他错误的各种偏差的检测。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
How the Latest Release Date of Publication is Formed in Bibliographic Reference "On the Fly" Stages of the Difficult Way (On the Computerization of Economic Research) Digital Platform for Supercomputer Mathematical Modeling of Spraying Processes Organization of Calculations and Work with Memory in the Educational Programming Language SYNHRO Semantic Annotation of Mathematical Formulas in PDF-Documents
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1