<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.14 (Ruby 3.3.8) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-josefsson-sshsig-format-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="SSHSIG">Lightweight Secure Shell (SSH) Signature Format</title>

    <author fullname="Sebastian Kinne">
      <organization></organization>
      <address>
        <email>skinne@google.com</email>
      </address>
    </author>
    <author fullname="Damien Miller">
      <organization>OpenSSH</organization>
      <address>
        <email>djm@mindrot.org</email>
      </address>
    </author>
    <author fullname="Simon Josefsson" role="editor">
      <organization></organization>
      <address>
        <email>simon@josefsson.org</email>
      </address>
    </author>

    <date year="2026" month="July" day="22"/>

    <area>IETF</area>
    <workgroup>Secure Shell Maintenance</workgroup>
    <keyword>SSH</keyword> <keyword>Secure Shell</keyword> <keyword>Signature</keyword> <keyword>secsh</keyword>

    <abstract>


<?line 44?>

<t>This document describes a lightweight SSH Signature format that is
compatible with SSH keys and wire formats.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-josefsson-sshsig-format/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SSHM Working Group mailing list (<eref target="mailto:ssh@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ssh/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ssh/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://gitlab.com/jas/ietf-sshsig-format"/>.</t>
    </note>


  </front>

  <middle>


<?line 49?>

<section anchor="introduction"><name>Introduction</name>

<t>Secure Shell (SSH) <xref target="RFC4251"></xref> is a secure remote-login protocol. It
provides for an extensible variety of public key algorithms for
identifying servers and users to one another.</t>

<t>The SSH key and signature formats have found uses outside of the
interactive online SSH protocol itself.  This document specify these
formats.</t>

<t>At present, only detached and armored signatures are supported.</t>

<t>It is suggested that when referring to this signature format that the
term "SSHSIG" is used.</t>

</section>
<section anchor="conventions-used-in-this-document"><name>Conventions Used In This Document</name>

<t>The descriptions of key and signature formats use the notation
introduced in <xref target="RFC4251"></xref>.</t>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="armored-format"><name>Armored format</name>

<t>The Armored SSH signatures is ASCII-encoded <xref target="RFC20"></xref> and consists of a
header, a base64 encoded blob, and a footer.</t>

<t>The header is the string "-----BEGIN SSH SIGNATURE-----" followed by a
newline. The footer is the string "-----END SSH SIGNATURE-----"
immediately after a newline.</t>

<t>Newlines here is defined as ASCII LF.  Some text transfer mechanism
may use other line delimiters, however when Armored SSHSIG signatures
are stored in context which are input to cryptographic hashes or
otherwise subject to bit-by-bit comparisons, implementations <bcp14>MUST</bcp14> use
ASCII LF as the line delimiter to have one canonical representation.</t>

<t>The header <bcp14>MUST</bcp14> be present at the start of every signature.  Files
containing the signature <bcp14>MUST</bcp14> start with the header.  Likewise, the
footer <bcp14>MUST</bcp14> be present at the end of every signature.</t>

<t>The base64 encoded blob <bcp14>SHOULD</bcp14> be broken up by newlines every 76
characters.</t>

<t>Example:</t>

<figure><artwork><![CDATA[
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgJKxoLBJBivUPNTUJUSslQTt2hD
jozKvHarKeN8uYFqgAAAADZm9vAAAAAAAAAFMAAAALc3NoLWVkMjU1MTkAAABAKNC4IEbt
Tq0Fb56xhtuE1/lK9H9RZJfON4o6hE9R4ZGFX98gy0+fFJ/1d2/RxnZky0Y7GojwrZkrHT
FgCqVWAQ==
-----END SSH SIGNATURE-----
]]></artwork></figure>

</section>
<section anchor="blob-format"><name>Blob format</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
#define MAGIC_PREAMBLE "SSHSIG"
#define SIG_VERSION    0x01

byte[6] MAGIC_PREAMBLE
 uint32 SIG_VERSION
 string publickey
 string namespace
 string reserved
 string hash_algorithm
 string signature
<CODE ENDS>
]]></artwork></figure>

<t>The publickey field <bcp14>MUST</bcp14> contain the serialisation of the public key
used to make the signature using the usual SSH encoding rules, i.e
<xref target="RFC4253"></xref>, <xref target="RFC5656"></xref>, <xref target="RFC8709"></xref>, etc.</t>

<t>Verifiers <bcp14>MUST</bcp14> reject signatures with versions greater than those they
support.</t>

<t>The purpose of the namespace value is to specify a unambiguous
interpretation domain for the signature, e.g. file signing.  This
prevents cross-protocol attacks caused by signatures intended for one
intended domain being accepted in another.  The namespace value <bcp14>MUST
NOT</bcp14> be the empty string.</t>

<t>The reserved value is present to encode future information (e.g. tags)
into the signature. Implementations should ignore the reserved field
if it is not empty.</t>

<t>Data to be signed is first hashed with the specified hash_algorithm.
This is done to limit the amount of data presented to the signature
operation, which may be of concern if the signing key is held in
limited or slow hardware or on a remote ssh-agent. The supported hash
algorithms for this pupose are "sha256" and "sha512". (Signature
algorithms may use other hash algorithms internally.)</t>

<t>The signature itself is made using the SSH signature algorithm and
encoding rules for the chosen key type. For RSA signatures, the
signature algorithm must be "rsa-sha2-512" or "rsa-sha2-256" (i.e.
not the legacy RSA-SHA1 "ssh-rsa").</t>

<t>This blob is encoded as a string using the <xref target="RFC4253"></xref> encoding rules and
base64 encoded to form the middle part of the armored signature.</t>

</section>
<section anchor="signed-data-of-which-the-signature-goes-into-the-blob-above"><name>Signed Data, of which the signature goes into the blob above</name>

<figure><artwork><![CDATA[
<CODE BEGINS>
#define MAGIC_PREAMBLE "SSHSIG"

byte[6] MAGIC_PREAMBLE
 string namespace
 string reserved
 string hash_algorithm
 string H(message)
<CODE ENDS>
]]></artwork></figure>

<t>The preamble is the six-byte sequence "SSHSIG". It is included to
ensure that manual signatures can never be confused with any message
signed during SSH user or host authentication.</t>

<t>The reserved value is present to encode future information (e.g. tags)
into the signature. Implementations should ignore the reserved field
if it is not empty.</t>

<t>The data is concatenated and passed to the SSH signing function.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>None</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The security considerations of all referenced specifications are
inherited.</t>

<t>Cryptographic algorithms and parameters are usually broken or weakened
over time.  Implementers and users need to continously re-evaluate
that cryptographic algorithms continue to provide the expected level
of security.</t>

<t>Implementations has to follow best practices to avoid security
concerns, and users needs to continously re-evaulate implementations
for security vulnerabilities.</t>

<t>SSH supports several Public Key Algorithms and new algorithms may be
introduced in the future.  This document does not limit their use in
SSHSIG.  Any SSH Public Key Algorithm is automatically available in
SSHSIG.  Therefor, applications relying on SSHSIG has to decide which
algorithms and parameters are acceptable in their particular use-case.
Things to consider include which algorithms to support (e.g., disallow
'ssh-dss' and 'null' and/or only allow 'ssh-ed25519'), key sizes
(e.g., 'rsa-sha2-256' key sizes below 2048 bits), algorithm properties
(e.g., disallow 'ssh-rsa' due to SHA-1), cryptographic features (e.g.,
malleability of the signature), performance characteristics, code
size, signature size, and so on.</t>

<t>This signature format embeds the public key, which is usually already
available for a verifier to perform the cryptographic verification
with and to make trust decisions.  When verifying a signature
cryptographically, it is <bcp14>RECOMMENDED</bcp14> to use the locally configured
public key rather than the public key provided in the signature.  A
bit-by-bit comparison of the public key could also be done.  The
public key within the signature should be treated as untrusted input,
but it may be used as an identifier to find the locally trusted public
key that can be used to verify the signature.</t>

<t>RSA public keys can be used with both SHA2-256 ('rsa-sha2-256') and
SHA2-512 ('rsa-sha2-512').  Implementations <bcp14>MUST NOT</bcp14> let library
defaults chose the variant to use but instead instruct the library
specifically which algorithm to use.  This is a generic concern, but
historically has only been relevant for RSA.</t>

<t>Some implementation do not explicitly require or validate that the
namespace is not empty.  We RECOMMEND that implementations reject
those signatures as invalid.  Comparing the namespace value before
performing the signature verification <bcp14>MAY</bcp14> be done to provide a better
error condition rather than a generic signature verification failure.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The text in this document is from <spanx style="verb">PROTOCOL.sshsig</spanx> from OpenSSH which
appears to have been contributed to by at least Sebastian Kinne,
Damien Miller, Markus Friedl, HARUYAMA Seigo, Pedro Martelletto, Paul
Tagliamonte, Hidde Beydals, and Castedo Ellerman.</t>

</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in <xref target="RFC7942"></xref>.  The
description of implementations in this section is intended to assist
the IETF in its decision processes in progressing drafts to RFCs.
Please note that the listing of any individual implementation here
does not imply endorsement by the IETF.  Furthermore, no effort has
been spent to verify the information presented here that was supplied
by IETF contributors.  This is not intended as, and must not be
construed to be, a catalog of available implementations or their
features.  Readers are advised to note that other implementations may
exist.</t>

<t>According to <xref target="RFC7942"></xref>, "this will allow reviewers and working groups
to assign due consideration to documents that have the benefit of
running code, which may serve as evidence of valuable experimentation
and feedback that have made the implemented protocols more mature.  It
is up to the individual working groups to use this information as they
see fit</t>

<t>The following example projects maintain an implementation of this
protocol:</t>

<t><strong>OpenSSH</strong>: C implementation.</t>

<t>Website: https://www.openssh.com/</t>

<t><strong>SSHSIGLIB</strong>: Python implementation by Castedo Ellerman.</t>

<t>Website: https://gitlab.com/perm.pub/sshsiglib</t>

<t><strong>SSHSIGN-GO</strong>: Go implementation by Benjamin Pannell at SierraSoftworks.</t>

<t>Website: https://github.com/SierraSoftworks/sshsign-go</t>

<t><strong>SSHSIG</strong>: Go implementation by Hidde Beydals.</t>

<t>Website: https://github.com/hiddeco/sshsig</t>

<t><strong>GO-SSHSIG</strong>: Go implementation by Paul Tagliamonte.</t>

<t>Website: https://github.com/paultag/go-sshsig</t>

<t><strong>REKOR-PKI-SSH</strong>: Go implementation by Sigstore/Rekor.</t>

<t>Website: https://github.com/sigstore/rekor/tree/v1.0.1/pkg/pki/ssh</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC20">
  <front>
    <title>ASCII format for network interchange</title>
    <author fullname="V.G. Cerf" initials="V.G." surname="Cerf"/>
    <date month="October" year="1969"/>
  </front>
  <seriesInfo name="STD" value="80"/>
  <seriesInfo name="RFC" value="20"/>
  <seriesInfo name="DOI" value="10.17487/RFC20"/>
</reference>
<reference anchor="RFC4251">
  <front>
    <title>The Secure Shell (SSH) Protocol Architecture</title>
    <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
    <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
    <date month="January" year="2006"/>
    <abstract>
      <t>The Secure Shell (SSH) Protocol is a protocol for secure remote login and other secure network services over an insecure network. This document describes the architecture of the SSH protocol, as well as the notation and terminology used in SSH protocol documents. It also discusses the SSH algorithm naming system that allows local extensions. The SSH protocol consists of three major components: The Transport Layer Protocol provides server authentication, confidentiality, and integrity with perfect forward secrecy. The User Authentication Protocol authenticates the client to the server. The Connection Protocol multiplexes the encrypted tunnel into several logical channels. Details of these protocols are described in separate documents. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4251"/>
  <seriesInfo name="DOI" value="10.17487/RFC4251"/>
</reference>
<reference anchor="RFC4253">
  <front>
    <title>The Secure Shell (SSH) Transport Layer Protocol</title>
    <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
    <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
    <date month="January" year="2006"/>
    <abstract>
      <t>The Secure Shell (SSH) is a protocol for secure remote login and other secure network services over an insecure network.</t>
      <t>This document describes the SSH transport layer protocol, which typically runs on top of TCP/IP. The protocol can be used as a basis for a number of secure network services. It provides strong encryption, server authentication, and integrity protection. It may also provide compression.</t>
      <t>Key exchange method, public key algorithm, symmetric encryption algorithm, message authentication algorithm, and hash algorithm are all negotiated.</t>
      <t>This document also describes the Diffie-Hellman key exchange method and the minimal set of algorithms that are needed to implement the SSH transport layer protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4253"/>
  <seriesInfo name="DOI" value="10.17487/RFC4253"/>
</reference>
<reference anchor="RFC5656">
  <front>
    <title>Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer</title>
    <author fullname="D. Stebila" initials="D." surname="Stebila"/>
    <author fullname="J. Green" initials="J." surname="Green"/>
    <date month="December" year="2009"/>
    <abstract>
      <t>This document describes algorithms based on Elliptic Curve Cryptography (ECC) for use within the Secure Shell (SSH) transport protocol. In particular, it specifies Elliptic Curve Diffie-Hellman (ECDH) key agreement, Elliptic Curve Menezes-Qu-Vanstone (ECMQV) key agreement, and Elliptic Curve Digital Signature Algorithm (ECDSA) for use in the SSH Transport Layer protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5656"/>
  <seriesInfo name="DOI" value="10.17487/RFC5656"/>
</reference>
<reference anchor="RFC8709">
  <front>
    <title>Ed25519 and Ed448 Public Key Algorithms for the Secure Shell (SSH) Protocol</title>
    <author fullname="B. Harris" initials="B." surname="Harris"/>
    <author fullname="L. Velvindron" initials="L." surname="Velvindron"/>
    <date month="February" year="2020"/>
    <abstract>
      <t>This document describes the use of the Ed25519 and Ed448 digital signature algorithms in the Secure Shell (SSH) protocol. Accordingly, this RFC updates RFC 4253.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8709"/>
  <seriesInfo name="DOI" value="10.17487/RFC8709"/>
</reference>
<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>



    </references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81a63IbN7L+j6fA0j98WZG6RL5Ilc2GutPWLaIUr+1yZcEZ
kIQ1FxqYEcWkkmc5z3Ke7HzdwAxnKDmpOvtnVWVrBgM0uht9+bqhbrcrClMk
eld2Ts1kWsw1/S+HOiqtlsOpThL5bDg8eS6HZpKpgkaPcpuqoiPUaGT1HVbi
+3Bw3BFxHmUqBa3YqnHR/ZI7PXYuz7rOTZ2ZdMe8sLuxLSJV6EluF7vSFbEw
M7srC1u6YmtjY2djSyir1a4cHF4fCVeOUuOcybNiMdNhcD7ZbbN4pkxW6Exl
kRa3ejHPbbwrZFeCM/7VmMvvlSz04nTkpuJOZ6XGGjmxeTnzQp118O637bzP
7a3JJvKYPtN4qkyCcYj2o9HFuJfbCQ0rG00xPC2KmdtdX6dZNGTudK+atk4D
6yObz51ex/p1Wmf1LG+sm+BQ1KgX5en6F+XWaWlbix3hCpXFv6gkz8DfQjsx
M7vyU5FHa9LltrDQPZ4WKT18FqosprklpWAzKcdlkvizGuqRcoVRmXxnskzz
V+2Fc7c08uMkzyeJJl4erj5QqdGZPDNJoi1/g4AqM7+qAke2Ky9mOuNDWFKN
v6Q/piaLbV6QNh7hyKR5Jt9W1tPiiD79WBuWX48fm5MJ69gUuRUZKwgap+O8
Otrf2ggP21svN5eP34XHl69evgqPb15v7OwKk41XKLze2d6iR9HtdqUaucKq
qBDiemqchNGXqc4KGWsXWTPSTiqZNH1peNJwHk9aFlP8Z5yAUmfYaZRoOTfF
lCfDgEEjizFSL3A94XdPTRwnWogncpAVNo/LiBQtf3tiGq+/C/GIB38KKviM
jcGj8zOsTvNCd5N8YjI5w6HkUZ705KAQeLkzkIpYAD9S38PFHPN6pyxMciHz
sZyVo8RExLRUCXwaUqS8RGBtVpjxgtzGaXunrRerdPRU5BKWi4G8mGrbI23q
Snye5lZ05uRU3dFL6Wk4mZeFwybEBWgICgF0MDg3kE5M5ulVMklTOJ2Me1K2
z83NdAQuiYTTola36BdYiqGsWCNyCxxwoaKpjpk7ZdPc6gaXkA2sunI2g/Pp
GAQGdMIYmUy0w4g/8/kU7gKX1NaSXqCFgrhZFdZPJqkgU1qHWCII0Yn6E7mf
Z3ek4Txz8gaDsAgv2kEQzevU2+XMz4Oqvq1fUKYtJY6E3VdUNgXaMI7afsJh
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
m72N3ub67HaCf4akFP8HbkW4mmIoAAA=

-->

</rfc>

