<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.0.2) -->
<rfc category="info" consensus="true"
     docName="draft-yu-deviceauthentication-02" ipr="trust200902"
     sortRefs="true" submissionType="IETF" symRefs="true" tocInclude="true"
     version="3" xmlns:xi="http://www.w3.org/2001/XInclude">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->

  <front>
    <title>LTE-D Physical Layer Device Authentication Protocol</title>

    <seriesInfo name="Internet-Draft" value="draft-yu-deviceauthentication-02"/>

    <author fullname="Yanzhao Yang">
      <organization>China Automotive Innovation Corporation</organization>

      <address>
        <email>yangyanzhao@t3caic.com</email>
      </address>
    </author>

    <author fullname="Peng Guo">
      <organization>China Automotive Innovation Corporation</organization>

      <address>
        <email>guopeng@t3caic.com</email>
      </address>
    </author>

    <author fullname="Jiabao Yu">
      <organization>Purple Mountain Laboratories, China</organization>

      <address>
        <email>yujiabao@pmlabs.com.cn</email>
      </address>
    </author>

    <date month="April" year="2024"/>

    <keyword>Device authentication</keyword>

    <keyword>LTE-D</keyword>

    <abstract>
      <?line 53?>

      <t>This document describes a physical layer device authentication
      protocol based on the physical layer unclonable fingerpint (PUF)
      technique for LTE Direct (LTE-D), a subprotocol of LTE V2X
      (Vehicle-to-Everything), to help the LTE-D message receiver confirm the
      identity of the LTE-D message sender.</t>

      <t>PUF utilizes intrinsic nonlinear characters of the transmission
      signal to identificate the devices and coresponding wireless signal
      transmitters, and is suitable for critical vehicular communication
      scenarios by its immunity against traditional cryptographic attacks.</t>

      <t>The protocol can be seamlessly integrated into the LTE-D
      communication system, and compatible with the traditional
      cryptography-based authentication mechanism.</t>
    </abstract>
  </front>

  <middle>
    <?line 62?>

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

      <t>LTE Direct (LTE-D), a subprotocol of LTE V2X (Vehicle-to-Everything),
      is designed for device-to-device communication within vehicular
      environments. LTE-D lies in its potential to enable direct, efficient,
      and low-latency communication between nearby devices, fostering enhanced
      safety, cooperative driving, and diverse applications in the automotive
      landscape.</t>

      <t>To realize the benefits and ensure the integrity and security of
      communications, authentication mechanisms for high-level security are
      imperative.</t>

      <t>A novel technique called physical layer unclonable fingerprint (PUF)
      is proposed for device authentication, which does not rely on
      cryptographic algorithms or keys, but utilizes intrinsic nonlinear
      characters of the transmission signal to identify devices with
      corresponding wireless signal transmitters, and is suitable for
      enhancing the security of critical vehicular communication scenario by
      tis immunity against traditional cryptographic attacks.</t>

      <t>A PUF system is composed by two kinds of components, the capturing
      frontends and the identification backend.</t>

      <t>A PUF capture frontend is often implemented by a Software Radio
      Platform (SRP), which captures wireless signals and extracts device
      characters (device fingerprint) from them.</t>

      <t>A PUF identification backend is a program with a database of
      pre-collected device fingerprints of varied devices, which takes device
      fingerprint as input and outputs the identification result.</t>

      <t>This document describes an physical layer device authentication
      protocol based on the PUF technique to help the LTE-D message receiver
      confirm the identity of the LTE-D message sender. The protocol can be
      seamlessly integrated into the LTE-D communication system, and
      compatible with the traditional cryptography-based authentication
      mechanism.</t>
    </section>

    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>

      <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="device-authentication-protocol">
      <name>Device Authentication Protocol</name>

      <t>The device authentication protocol contains only two messages and
      only involves the receiver, equipped with a PUF capture frontend, and
      the authenticator, equipped with a PUF identification backend. Notice
      that the sender does not need more interactions than normal LTE-D
      communication processes, and the traditional first step of
      authentication, i.e. initiating the authentication, is understood by the
      action of sending messages.</t>

      <section anchor="device-authentication-request">
        <name>Device Authentication Request</name>

        <t>The Receiver initiates the authentication process by sending a
        request to the Authenticator.</t>

        <figure>
          <name>Table of fields included in the request</name>

          <artset>
            <artwork type="ascii-art" xml:space="preserve">
                +---------------------------+---------+
                | Field                     | Length  |
                +---------------------------+---------+
                | Message Type              | 8 bits  |
                +---------------------------+---------+
                | Endian Type               | 1 bits  |
                +---------------------------+---------+
                | Reserved                  | 7 bits  |
                +---------------------------+---------+
                | Receiver ID               | 16 bits |
                +---------------------------+---------+
                | Serial Number             | 32 bits |
                +---------------------------+---------+
                | Timestamp                 | 64 bits |
                +---------------------------+---------+
                | Nonce                     | 64 bits |
                +---------------------------+---------+
                | Signal Data Length        | 32 bits |
                +---------------------------+---------+
                | Signal Data               | variable|
                |                           | length  |
                +---------------------------+---------+
	       </artwork>
          </artset>
        </figure>

        <ol spacing="normal" type="1">
          <li>
            <t>
              <strong>Message Type (8 bits)</strong>
            </t>

            <t>8 bits for fixed message type, i.e., 0x10, for Device
            Authentication Request.</t>
          </li>

          <li>
            <t>
              <strong>Endian Type (1 bits)</strong>
            </t>

            <t>0 for little endian, 1 for big endian.</t>
          </li>

          <li>
            <t>
              <strong>Receiver ID (32 bits)</strong>
            </t>

            <t>Unique identifier for the Receiver.</t>
          </li>

          <li>
            <t>
              <strong>Serial Number (32 bits)</strong>
            </t>

            <t>A serial number indicating the receive order of the
            message.</t>
          </li>

          <li>
            <t>
              <strong>Timestamp (64 bits)</strong>
            </t>

            <t>A timestamp indicating when the request was generated.</t>
          </li>

          <li>
            <t>
              <strong>Nonce (64 bits)</strong>
            </t>

            <t>A random value generated by the device to prevent replay
            attacks.</t>
          </li>

          <li>
            <t>
              <strong>Signal Data Length (32 bits)</strong>
            </t>

            <t>The length of the following signal data, in octets.</t>
          </li>

          <li>
            <t>
              <strong>Signal Data (variable length)</strong>
            </t>

            <t>Data captured by the SRP of the receiver that contains enough
            information to authentication.</t>
          </li>
        </ol>
      </section>

      <section anchor="device-authentication-response">
        <name>Device Authentication Response</name>

        <t>The Authenticator processes the request, comparing the signal data
        with the pre-collected fingerprints and decoding the data by the PUF
        Backend, then sends the result back to the Receiver.</t>

        <figure>
          <name>Table of fields included in the response</name>

          <artset>
            <artwork type="ascii-art" xml:space="preserve">
                +---------------------------+---------+
                | Field                     | Length  |
                +---------------------------+---------+
                | Message Type              | 8 bits  |
                +---------------------------+---------+
                | Endian Type               | 1 bits  |
                +---------------------------+---------+
                | Confidence Coefficient    | 7 bits  |
                +---------------------------+---------+
                | Sender ID                 | 16 bits |
                +---------------------------+---------+
                | Serial Number             | 32 bits |
                +---------------------------+---------+
                | Timestamp                 | 64 bits |
                +---------------------------+---------+
                | Nonce                     | 64 bits |
                +---------------------------+---------+
                | Decoded Data Length       | 32 bits |
                +---------------------------+---------+
                | Decoded Data              | variable|
                |                           | length  |
                +---------------------------+---------+
	       </artwork>
          </artset>
        </figure>

        <ol spacing="normal" type="1">
          <li>
            <t>
              <strong>Message Type (8 bits)</strong>
            </t>

            <t>8 bits for fixed message type, i.e., 0x20, for Device
            Authentication Response.</t>
          </li>

          <li>
            <t>
              <strong>Endian Type (1 bits)</strong>
            </t>

            <t>0 for little endian, 1 for big endian.</t>
          </li>

          <li>
            <t>
              <strong>Confidence Coefficient (7 bits)</strong>
            </t>

            <t>The confidence coefficient of the following calculated sender
            ID given by the PUF backend, in percent, from 0 to 100. Any value
            above 100 is illegal.</t>
          </li>

          <li>
            <t>
              <strong>Sender ID (32 bits)</strong>
            </t>

            <ul spacing="normal">
              <li>
                <t>Unique identifier for the Sender, identified by the
                Authenticator with the pre-collected fingerprints.</t>
              </li>

              <li>
                <t>The ID 0xFFFFFFFF is reserved for unknown sender.</t>
              </li>
            </ul>
          </li>

          <li>
            <t>
              <strong>Serial Number (32 bits)</strong>
            </t>

            <t>A serial number corresponding with the request.</t>
          </li>

          <li>
            <t>
              <strong>Timestamp (64 bits)</strong>
            </t>

            <t>A timestamp indicating when the response was generated.</t>
          </li>

          <li>
            <t>
              <strong>Nonce (64 bits)</strong>
            </t>

            <t>A random value generated by the device to prevent replay
            attacks.</t>
          </li>

          <li>
            <t>
              <strong>Decoded Data Length (32 bits)</strong>
            </t>

            <t>The length of the following decoded data, in octets.</t>
          </li>

          <li>
            <t>
              <strong>Decoded Data (variable length)</strong>
            </t>

            <t>Data decoded by the signal data from the corresponding
            authentication request message.</t>
          </li>
        </ol>
      </section>
    </section>

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

      <t>To ensure the confidentiality, integrity, and authenticity of
      communication within the LTE-D Physical Layer Device Authentication
      Protocol, it is crucial to employ strong encryption and integrity
      mechanisms for the exchanged messages among all the parties of the
      protocol. Leveraging Transport Layer Security (TLS)[RFC8446] is highly
      recommended for this purpose.</t>
    </section>

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

      <t>This document does not require any actions or registrations with the
      Internet Assigned Numbers Authority (IANA).</t>
    </section>
  </middle>

  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>

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

      <reference anchor="RFC8446">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version
          1.3</title>

          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>

          <date month="August" year="2018"/>

          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer
            Security (TLS) protocol. TLS allows client/server applications to
            communicate over the Internet in a way that is designed to prevent
            eavesdropping, tampering, and message forgery.</t>

            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs
            5077, 5246, and 6961. This document also specifies new
            requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="8446"/>

        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
    </references>

    <?line 225?>
  </back>
</rfc>
