<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    <title>Project-Team:PROSECCO</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="Research Program - Efficient Formally Secure Compilers to a Tagged Architecture"/>
    <meta name="dc.title" content="Research Program - Efficient Formally Secure Compilers to a Tagged Architecture"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2016-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="PROSECCO"/>
    <script type="text/javascript" src="https://raweb.inria.fr/rapportsactivite/RA2016/static/MathJax/MathJax.js?config=TeX-MML-AM_CHTML">
      <!--MathJax-->
    </script>
  </head>
  <body>
    <div class="tdmdiv">
      <div class="logo">
        <a href="http://www.inria.fr">
          <img style="align:bottom; border:none" src="../static/img/icons/logo_INRIA-coul.jpg" alt="Inria"/>
        </a>
      </div>
      <div class="TdmEntry">
        <div class="tdmentete">
          <a href="uid0.html">Project-Team Prosecco</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">Programming securely
with cryptography</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid10.html&#10;&#9;&#9;  ">Symbolic verification of cryptographic applications</a></li><li><a href="uid17.html&#10;&#9;&#9;  ">Computational verification of cryptographic applications</a></li><li><a href="uid18.html&#10;&#9;&#9;  ">F*: A Higher-Order Effectful Language Designed for Program Verification</a></li><li class="tdmActPage"><a href="uid19.html&#10;&#9;&#9;  ">Efficient Formally Secure Compilers to a Tagged Architecture</a></li><li><a href="uid20.html&#10;&#9;&#9;  ">Provably secure web applications</a></li><li><a href="uid21.html&#10;&#9;&#9;  ">Design and Verification of next-generation protocols: identity, blockchains, and messaging</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid23.html&#10;&#9;&#9;  ">Cryptographic Protocol Libraries</a></li><li><a href="uid24.html&#10;&#9;&#9;  ">Hardware-based security APIs</a></li><li><a href="uid25.html&#10;&#9;&#9;  ">Web application security</a></li></ul></div>
      <div class="TdmEntry">
        <a href="./uid27.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid37.html&#10;&#9;&#9;  ">
        
          ProVerif
        
      </a></li><li><a href="uid44.html&#10;&#9;&#9;  ">
        
          CryptoVerif
        
      </a></li><li><a href="uid45.html&#10;&#9;&#9;  ">miTLS</a></li><li><a href="uid46.html&#10;&#9;&#9;  ">F*</a></li><li><a href="uid47.html&#10;&#9;&#9;  ">HACL*</a></li><li><a href="uid48.html&#10;&#9;&#9;  ">ProScript</a></li><li><a href="uid49.html&#10;&#9;&#9;  ">QuickChick</a></li><li><a href="uid50.html&#10;&#9;&#9;  ">Luck</a></li><li><a href="uid51.html&#10;&#9;&#9;  ">Privacy-preserving federated identity</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid53.html&#10;&#9;&#9;  ">Verification of Security
Protocols in the Symbolic Model</a></li><li><a href="uid54.html&#10;&#9;&#9;  ">Verification of Security Protocols in the Computational model</a></li><li><a href="uid55.html&#10;&#9;&#9;  ">Verification of Avionic Security Protocols</a></li><li><a href="uid56.html&#10;&#9;&#9;  ">The F* programming language</a></li><li><a href="uid57.html&#10;&#9;&#9;  ">Dependable Property-Based Testing</a></li><li><a href="uid58.html&#10;&#9;&#9;  ">Micro-Policies and Secure Compilation</a></li><li><a href="uid59.html&#10;&#9;&#9;  ">miTLS: Proofs for TLS 1.3</a></li><li><a href="uid60.html&#10;&#9;&#9;  ">Attacks on obsolete cryptography</a></li><li><a href="uid61.html&#10;&#9;&#9;  ">HACL*: Verified cryptographic library</a></li><li><a href="uid62.html&#10;&#9;&#9;  ">Design and Verification of next-generation protocols: identity, blockchains, and messaging</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid64.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid89.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid108.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid115.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid132.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid161.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li><li><a href="uid180.html&#10;&#9;&#9;  ">Popularization</a></li></ul></div>
      <div class="TdmEntry">
        <div>Bibliography</div>
      </div>
      <div class="TdmEntry">
        <ul>
          <li>
            <a id="tdmbibentyear" href="bibliography.html">Publications of the year</a>
          </li>
          <li>
            <a id="tdmbibentfoot" href="bibliography.html#References">References in notes</a>
          </li>
        </ul>
      </div>
    </div>
    <div id="main">
      <div class="mainentete">
        <div id="head_agauche">
          <small><a href="http://www.inria.fr">
	    
	    Inria
	  </a> | <a href="../index.html">
	    
	    Raweb 
	    2016</a> | <a href="http://www.inria.fr/en/teams/prosecco">Presentation of the Project-Team PROSECCO</a> | <a href="http://prosecco.inria.fr">PROSECCO Web Site
	  </a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="prosecco.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="prosecco.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-prosecco-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../prosecco/prosecco.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-prosecco-epub.png"/>
                </a>
              </td>
            </tr>
            <tr>
              <td/>
              <td>PDF
</td>
              <td>e-Pub
</td>
            </tr>
          </table>
        </div>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid18.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid20.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
      <div id="textepage">
        <!--DEBUT2 du corps du module-->
        <h2>Section: 
      Research Program</h2>
        <h3 class="titre3">Efficient Formally Secure Compilers to a Tagged Architecture</h3>
        <p>Severe low-level vulnerabilities abound in today’s computer systems,
allowing cyber-attackers to remotely gain full control. This happens
in big part because our programming languages, compilers, and
architectures were designed in an era of scarce hardware resources and
too often trade off security for efficiency. The semantics of
mainstream low-level languages like C is inherently insecure, and even
for safer languages, establishing security with respect to a
high-level semantics does not guarantee the absence of low-level
attacks. Secure compilation using the coarse-grained protection
mechanisms provided by mainstream hardware architectures would be too
inefficient for most practical scenarios.</p>
        <p>We aim to leverage emerging hardware capabilities for fine-grained
protection to build the first, efficient secure compilers for
realistic programming languages, both low-level (the C language) and
high-level (ML and F*, a dependently-typed variant). These compilers
will provide a secure semantics for all programs and will ensure that
high-level abstractions cannot be violated even when interacting with
untrusted low-level code. To achieve this level of security without
sacrificing efficiency, our secure compilers will target a tagged
architecture, which associates a metadata tag to each word and
efficiently propagates and checks tags according to software-defined
rules. We will experimentally evaluate and carefully optimize the
efficiency of our secure compilers on realistic workloads and standard
benchmark suites. We will use property-based testing and formal
verification to provide high confidence that our compilers are indeed
secure. Formally, we will construct machine-checked proofs of full
abstraction with respect to a secure high-level semantics. This strong
property complements compiler correctness and ensures that no
machine-code attacker can do more harm to securely compiled components
than a component in the secure source language already could.
</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid18.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid20.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
    </div>
  </body>
</html>
