首页    期刊浏览 2024年11月26日 星期二
登录注册

文章基本信息

  • 标题:An Intrinsic Encoding of a Subset of C and its Application to TLS Network Packet Processing
  • 本地全文:下载
  • 作者:Reynald Affeldt ; Kazuhiko Sakaguchi
  • 期刊名称:Journal of Formalized Reasoning
  • 印刷版ISSN:1972-5787
  • 出版年度:2014
  • 卷号:7
  • 期号:1
  • 页码:63-104
  • DOI:10.6092/issn.1972-5787/4317
  • 语种:English
  • 出版社:Alma Mater Studiorum - University of Bologna
  • 摘要:TLS is such a widespread security protocol that errors in its implementation can have disastrous consequences. This responsibility is mostly borne by programmers, caught between specifications with the ambiguities of natural language and error-prone low-level parsing of network packets. We report here on the construction in the Coq proof-assistant of libraries to model, specify, and verify C programs to process TLS packets. We provide in particular an encoding of the core subset of C whose originality lies in its use of dependent types to guarantee statically well-formedness of datatypes and correct typing. We further equip this encoding with a Separation logic that enables byte-level reasoning and also provide a logical view of data structures. We also formalize a significant part of the RFC for TLS, again using dependent types to capture succinctly constraints that are left implicit in the prose document. Finally, we apply the above framework to an existing implementation of TLS (namely, PolarSSL) of which we specify and verify a parsing function for network packets. Thanks to this experiment, we were able to spot ambiguities in the RFC and to correct bugs in the C source code.
  • 关键词:C language ;TLS protocol ;Coq
国家哲学社会科学文献中心版权所有