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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>


<rfc ipr="trust200902" docName="draft-josefsson-sshsig-format-03" 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="2025" month="July" day="07"/>

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

    <abstract>


<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/"/>.
      </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>


<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>

</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>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 and RSA2-512, and
implementations <bcp14>MUST NOT</bcp14> let library defaults chose the variant to use
but instead instruct the library specifically which algorithm to use.</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'>



<reference anchor='RFC20' target='https://www.rfc-editor.org/info/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/RFC0020'/>
</reference>

<reference anchor='RFC4251' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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'>



<reference anchor='RFC7942' target='https://www.rfc-editor.org/info/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:
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

-->

</rfc>

