Cargando…
Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores
The Transport Layer Security (TLS) 1.0 protocol has been formally verified with CafeInMaude Proof Generator (CiMPG) and Proof Assistant (CiMPA), where CafeInMaude is the second major implementation of CafeOBJ, a direct successor of OBJ3, a canonical algebraic specification language. The properties c...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
PeerJ Inc.
2023
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10280648/ https://www.ncbi.nlm.nih.gov/pubmed/37346581 http://dx.doi.org/10.7717/peerj-cs.1284 |
_version_ | 1785060843825659904 |
---|---|
author | Tran, Duong Dinh Wai Mon, Thet Ogata, Kazuhiro |
author_facet | Tran, Duong Dinh Wai Mon, Thet Ogata, Kazuhiro |
author_sort | Tran, Duong Dinh |
collection | PubMed |
description | The Transport Layer Security (TLS) 1.0 protocol has been formally verified with CafeInMaude Proof Generator (CiMPG) and Proof Assistant (CiMPA), where CafeInMaude is the second major implementation of CafeOBJ, a direct successor of OBJ3, a canonical algebraic specification language. The properties concerned are the secrecy property of pre-master secrets and the correspondence (or authentication) property from both server and client points of view. We need to use several lemmas to formally verify that TLS 1.0 enjoys the properties. CiMPG takes proof scores written in CafeOBJ and infers proof scripts that can be checked by CiMPA. Proof scores are prone to human errors and CiMPG can be regarded as a proof score checker in that if the proof scripts inferred by CiMPG from proof scores are successfully executed with CiMPA, it is guaranteed that no human error is lurking in the proof scores. We have used the existing proof scores to show that TLS 1.0 enjoys the two properties. We needed to revise the proof scores so that CiMPG can handle them. Through the revision process, we discovered that one additional lemma is required for the revised proof scores. There are about 20 proof scores and each proof score is large. It is not reasonable to handle all proof scores at the same time with CiMPG. Thus, we handled each proof score one by one with CiMPG. There is one proof score that it took a long time to handle with CiMPG. For that proof score, we handled each induction case one by one to reduce the time taken. We describe how to revise the existing proof scores, how to find the new lemma, the lemma, how to handle each proof score one by one, and how to handle each induction case one by one as tips on checking existing large proof scores with CiMPG and CiMPA. |
format | Online Article Text |
id | pubmed-10280648 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2023 |
publisher | PeerJ Inc. |
record_format | MEDLINE/PubMed |
spelling | pubmed-102806482023-06-21 Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores Tran, Duong Dinh Wai Mon, Thet Ogata, Kazuhiro PeerJ Comput Sci Cryptography The Transport Layer Security (TLS) 1.0 protocol has been formally verified with CafeInMaude Proof Generator (CiMPG) and Proof Assistant (CiMPA), where CafeInMaude is the second major implementation of CafeOBJ, a direct successor of OBJ3, a canonical algebraic specification language. The properties concerned are the secrecy property of pre-master secrets and the correspondence (or authentication) property from both server and client points of view. We need to use several lemmas to formally verify that TLS 1.0 enjoys the properties. CiMPG takes proof scores written in CafeOBJ and infers proof scripts that can be checked by CiMPA. Proof scores are prone to human errors and CiMPG can be regarded as a proof score checker in that if the proof scripts inferred by CiMPG from proof scores are successfully executed with CiMPA, it is guaranteed that no human error is lurking in the proof scores. We have used the existing proof scores to show that TLS 1.0 enjoys the two properties. We needed to revise the proof scores so that CiMPG can handle them. Through the revision process, we discovered that one additional lemma is required for the revised proof scores. There are about 20 proof scores and each proof score is large. It is not reasonable to handle all proof scores at the same time with CiMPG. Thus, we handled each proof score one by one with CiMPG. There is one proof score that it took a long time to handle with CiMPG. For that proof score, we handled each induction case one by one to reduce the time taken. We describe how to revise the existing proof scores, how to find the new lemma, the lemma, how to handle each proof score one by one, and how to handle each induction case one by one as tips on checking existing large proof scores with CiMPG and CiMPA. PeerJ Inc. 2023-03-31 /pmc/articles/PMC10280648/ /pubmed/37346581 http://dx.doi.org/10.7717/peerj-cs.1284 Text en © 2023 Tran et al. https://creativecommons.org/licenses/by/4.0/This is an open access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited. |
spellingShingle | Cryptography Tran, Duong Dinh Wai Mon, Thet Ogata, Kazuhiro Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores |
title | Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores |
title_full | Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores |
title_fullStr | Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores |
title_full_unstemmed | Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores |
title_short | Transport Layer Security 1.0 handshake protocol formal verification case study: How to use a proof script generator for existing large proof scores |
title_sort | transport layer security 1.0 handshake protocol formal verification case study: how to use a proof script generator for existing large proof scores |
topic | Cryptography |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10280648/ https://www.ncbi.nlm.nih.gov/pubmed/37346581 http://dx.doi.org/10.7717/peerj-cs.1284 |
work_keys_str_mv | AT tranduongdinh transportlayersecurity10handshakeprotocolformalverificationcasestudyhowtouseaproofscriptgeneratorforexistinglargeproofscores AT waimonthet transportlayersecurity10handshakeprotocolformalverificationcasestudyhowtouseaproofscriptgeneratorforexistinglargeproofscores AT ogatakazuhiro transportlayersecurity10handshakeprotocolformalverificationcasestudyhowtouseaproofscriptgeneratorforexistinglargeproofscores |