Gilles Peskine | 882f7c7 | 2022-04-07 13:44:55 +0200 | [diff] [blame] | 1 | |
| 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 3 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 4 | |
| 5 | <html xmlns="http://www.w3.org/1999/xhtml"> |
| 6 | <head> |
| 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| 8 | <title>1. Introduction — PSA Crypto API 1.1.0 documentation</title> |
| 9 | <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" /> |
| 10 | <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> |
| 11 | <script type="text/javascript"> |
| 12 | var DOCUMENTATION_OPTIONS = { |
| 13 | URL_ROOT: '../', |
| 14 | VERSION: '1.1.0', |
| 15 | COLLAPSE_INDEX: false, |
| 16 | FILE_SUFFIX: '.html', |
| 17 | HAS_SOURCE: false, |
| 18 | SOURCELINK_SUFFIX: '.txt' |
| 19 | }; |
| 20 | </script> |
| 21 | <script type="text/javascript" src="../_static/jquery.js"></script> |
| 22 | <script type="text/javascript" src="../_static/underscore.js"></script> |
| 23 | <script type="text/javascript" src="../_static/doctools.js"></script> |
| 24 | <link rel="author" title="About these documents" href="../about.html" /> |
| 25 | <link rel="index" title="Index" href="../genindex.html" /> |
| 26 | <link rel="search" title="Search" href="../search.html" /> |
| 27 | <link rel="next" title="2. Design goals" href="goals.html" /> |
| 28 | <link rel="prev" title="About this document" href="../about.html" /> |
| 29 | |
| 30 | <link rel="stylesheet" href="../_static/custom.css" type="text/css" /> |
| 31 | |
| 32 | <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> |
| 33 | |
| 34 | </head> |
| 35 | <body> |
| 36 | |
| 37 | |
| 38 | <div class="document"> |
| 39 | <div class="documentwrapper"> |
| 40 | <div class="bodywrapper"> |
| 41 | <div class="body" role="main"> |
| 42 | |
| 43 | <div class="section" id="introduction"> |
| 44 | <h1>1. Introduction</h1> |
| 45 | <p>Arm’s Platform Security Architecture (PSA) is a holistic set of threat models, |
| 46 | security analyses, hardware and firmware architecture specifications, an |
| 47 | open source firmware reference implementation, and an independent evaluation |
| 48 | and certification scheme. PSA provides a recipe, based on |
| 49 | industry best practice, that allows security to be consistently designed in, at |
| 50 | both a hardware and firmware level.</p> |
| 51 | <p>The PSA Cryptographic API (Crypto API) described in this document is an |
| 52 | important PSA component that provides a portable interface to cryptographic operations |
| 53 | on a wide range of hardware. The interface is user-friendly, while still |
| 54 | providing access to the low-level primitives used in modern cryptography. It |
| 55 | does not require that the user has access to the key material. Instead, it uses |
| 56 | opaque key identifiers.</p> |
| 57 | <p>This document is part of the PSA family of specifications. It defines an |
| 58 | interface for cryptographic services, including cryptography primitives and a |
| 59 | key storage functionality.</p> |
| 60 | <p>This document includes:</p> |
| 61 | <ul class="simple"> |
| 62 | <li>A rationale for the design. See <a class="reference internal" href="goals.html#design-goals"><span class="secref">Design goals</span></a>.</li> |
| 63 | <li>A high-level overview of the functionality provided by the interface. See <a class="reference internal" href="functionality.html#functionality-overview"><span class="secref">Functionality overview</span></a>.</li> |
| 64 | <li>A description of typical architectures of implementations for this specification. See <a class="reference internal" href="sample-arch.html#architectures"><span class="secref">Sample architectures</span></a>.</li> |
| 65 | <li>General considerations for implementers of this specification, and for applications that use the interface defined in this specification. See <a class="reference internal" href="implementation.html#implementation-considerations"><span class="secref">Implementation considerations</span></a> and <a class="reference internal" href="usage.html#usage-considerations"><span class="secref">Usage considerations</span></a>.</li> |
| 66 | <li>A detailed definition of the API. See <a class="reference internal" href="../api/library/index.html#library-management"><span class="secref">Library management reference</span></a>, <a class="reference internal" href="../api/keys/index.html#key-management"><span class="secref">Key management reference</span></a>, and <a class="reference internal" href="../api/ops/index.html#crypto-operations"><span class="secref">Cryptographic operation reference</span></a>.</li> |
| 67 | </ul> |
| 68 | <p><span><em>PSA Cryptographic API 1.1 PAKE Extension</em> <a class="reference internal" href="../about.html#citation-psa-pake"><span class="cite">[PSA-PAKE]</span></a></span> is a companion document for version 1.1 of this specification. <a class="reference internal" href="../about.html#citation-psa-pake"><span class="cite">[PSA-PAKE]</span></a> defines a new API for Password Authenticated Key Establishment (PAKE) algorithms. The PAKE API is an initial proposal at BETA status. The API defined by <a class="reference internal" href="../about.html#citation-psa-pake"><span class="cite">[PSA-PAKE]</span></a> is provided in a separate specification to reflect the different status of this API, and indicate that a future version can include incompatible changes to the PAKE API. When the PAKE API is stable, it will be included in a future version of the PSA Cryptographic API specification.</p> |
| 69 | <p>In future, other companion documents will define <em>profiles</em> for this specification. A profile is |
| 70 | a minimum mandatory subset of the interface that a compliant implementation must |
| 71 | provide.</p> |
| 72 | </div> |
| 73 | |
| 74 | |
| 75 | </div> |
| 76 | </div> |
| 77 | </div> |
| 78 | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> |
| 79 | <div class="sphinxsidebarwrapper"><h3><a href="../index.html"><b>PSA Crypto API</b></a></h3> |
| 80 | IHI 0086<br/> |
| 81 | Non-confidential<br/> |
| 82 | Version 1.1.0 |
| 83 | <span style="color: red; font-weight: bold;"></span> |
| 84 | <ul> |
| 85 | <li class="toctree-l1"><a class="reference internal" href="../about.html">About this document</a></li> |
| 86 | </ul> |
| 87 | <ul class="current"> |
| 88 | <li class="toctree-l1 current"><a class="current reference internal" href="#">1. Introduction</a></li> |
| 89 | <li class="toctree-l1"><a class="reference internal" href="goals.html">2. Design goals</a></li> |
| 90 | <li class="toctree-l1"><a class="reference internal" href="functionality.html">3. Functionality overview</a></li> |
| 91 | <li class="toctree-l1"><a class="reference internal" href="sample-arch.html">4. Sample architectures</a></li> |
| 92 | <li class="toctree-l1"><a class="reference internal" href="conventions.html">5. Library conventions</a></li> |
| 93 | <li class="toctree-l1"><a class="reference internal" href="implementation.html">6. Implementation considerations</a></li> |
| 94 | <li class="toctree-l1"><a class="reference internal" href="usage.html">7. Usage considerations</a></li> |
| 95 | <li class="toctree-l1"><a class="reference internal" href="../api/library/index.html">8. Library management reference</a></li> |
| 96 | <li class="toctree-l1"><a class="reference internal" href="../api/keys/index.html">9. Key management reference</a></li> |
| 97 | <li class="toctree-l1"><a class="reference internal" href="../api/ops/index.html">10. Cryptographic operation reference</a></li> |
| 98 | </ul> |
| 99 | <ul> |
| 100 | <li class="toctree-l1"><a class="reference internal" href="../appendix/example_header.html">Example header file</a></li> |
| 101 | <li class="toctree-l1"><a class="reference internal" href="../appendix/encodings.html">Algorithm and key type encoding</a></li> |
| 102 | <li class="toctree-l1"><a class="reference internal" href="../appendix/specdef_values.html">Example macro implementations</a></li> |
| 103 | <li class="toctree-l1"><a class="reference internal" href="../appendix/sra.html">Security Risk Assessment</a></li> |
| 104 | <li class="toctree-l1"><a class="reference internal" href="../appendix/history.html">Changes to the API</a></li> |
| 105 | </ul> |
| 106 | <ul> |
| 107 | <li class="toctree-l1"><a class="reference internal" href="../psa_c-identifiers.html">Index of API elements</a></li> |
| 108 | </ul> |
| 109 | <div id="searchbox" style="display: none" role="search"> |
| 110 | <h3>Quick search</h3> |
| 111 | <form class="search" action="../search.html" method="get"> |
| 112 | <div><input type="text" name="q" /></div> |
| 113 | <div><input type="submit" value="Go" /></div> |
| 114 | <input type="hidden" name="check_keywords" value="yes" /> |
| 115 | <input type="hidden" name="area" value="default" /> |
| 116 | </form> |
| 117 | </div> |
| 118 | <script type="text/javascript">$('#searchbox').show(0);</script> |
| 119 | </div> |
| 120 | </div> |
| 121 | <div class="clearer"></div> |
| 122 | </div> |
| 123 | <div class="footer"> |
| 124 | © 2018-2022, Arm Limited or its affiliates. All rights reserved. |
| 125 | |
| 126 | | |
| 127 | Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.7</a> |
| 128 | & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a> |
| 129 | |
| 130 | </div> |
| 131 | |
| 132 | |
| 133 | |
| 134 | |
| 135 | </body> |
| 136 | </html> |