<div class="row">
    <div class="col-xs-12 v2-sub-page">

        <h2>Security through the life of a device</h2>

        <p>
        One of the primary goals of the Apache Mynewt project is to facilitate security assurance at every stage of a product's lifecycle. Securing a device essentially requires balancing the cost of the product inclusive of all its security mechanisms and the value of the product, keeping in mind that neither should exceed the cost of attacks on deployments of that product. Apache Mynewt OS takes care of the fundamental security requirements of a connected embedded device in a commercial marketplace. It also acknowledges that security is an ongoing effort with evolving threat scenarios, and therefore enables remote, secure updates over the product’s lifetime. 
        </p>


<div class="tg-wrap"><table>
  <tr>
    <th>Stage</th>
    <th>Secure Feature/Service</th>
  </tr>
  <tr>
    <td>Development</td>
    <td>Dev image signing and verification<br>Separation of duties<br>Enable HW security (e.g. crypto accelerator)<br>Enable security logs and stats</td>
  </tr>
  <tr>
    <td>Manufacturing</td>
    <td>Unique Device ID<br>Unique Crypto keys<br>Secure bootloader<br>Manufacturing data integrity</td>
  </tr>
  <tr>
    <td>Deployment</td>
    <td>Prod image signing and verification<br>Authenticated and authorized network join<br>Secure manufacturing data upload<br>Secure time update</td>
  </tr>
  <tr>
    <td>Operations</td>
    <td>Authorized access to device<br>Mutual authentication<br>Encrypted communication<br>Data integrity<br>Secure over-the-air updates</td>
  </tr>
  <tr>
    <td>Decommission</td>
    <td>Authorized credential removal</td>
  </tr>
</table>
</div>

    </div>
</div>
