======================================================
QEMU Security Protocols and Data Models (SPDM) Support
======================================================

SPDM enables authentication, attestation and key exchange to assist in
providing infrastructure security enablement. It's a standard published
by the `DMTF`_.

QEMU supports connecting to a SPDM responder implementation. This allows an
external application to emulate the SPDM responder logic for an SPDM device.

Setting up a SPDM server
========================

When using QEMU with SPDM devices QEMU will connect to a server which
implements the SPDM functionality.

SPDM-Utils
----------

You can use `SPDM Utils`_ to emulate a responder. This is the simplest method.

SPDM-Utils is a Linux applications to manage, test and develop devices
supporting DMTF Security Protocol and Data Model (SPDM). It is written in Rust
and utilises libspdm.

To use SPDM-Utils you will need to do the following steps. Details are included
in the SPDM-Utils README.

 1. `Build libspdm`_
 2. `Build SPDM Utils`_
 3. `Run it as a server`_

spdm-emu
--------

You can use `spdm emu`_ to model the
SPDM responder.

.. code-block:: shell

    $ cd spdm-emu
    $ git submodule init; git submodule update --recursive
    $ mkdir build; cd build
    $ cmake -DARCH=x64 -DTOOLCHAIN=GCC -DTARGET=Debug -DCRYPTO=openssl ..
    $ make -j32
    $ make copy_sample_key # Build certificates, required for SPDM authentication.

It is worth noting that the certificates should be in compliance with
PCIe r6.1 sec 6.31.3. This means you will need to add the following to
openssl.cnf

.. code-block::

    subjectAltName = otherName:2.23.147;UTF8:Vendor=1b36:Device=0010:CC=010802:REV=02:SSVID=1af4:SSID=1100
    2.23.147 = ASN1:OID:2.23.147

and then manually regenerate some certificates with:

.. code-block:: shell

    $ openssl req -nodes -newkey ec:param.pem -keyout end_responder.key \
        -out end_responder.req -sha384 -batch \
        -subj "/CN=DMTF libspdm ECP384 responder cert"

    $ openssl x509 -req -in end_responder.req -out end_responder.cert \
        -CA inter.cert -CAkey inter.key -sha384 -days 3650 -set_serial 3 \
        -extensions v3_end -extfile ../openssl.cnf

    $ openssl asn1parse -in end_responder.cert -out end_responder.cert.der

    $ cat ca.cert.der inter.cert.der end_responder.cert.der > bundle_responder.certchain.der

You can use SPDM-Utils instead as it will generate the correct certificates
automatically.

The responder can then be launched with

.. code-block:: shell

    $ cd bin
    $ ./spdm_responder_emu --trans PCI_DOE

Connecting an SPDM NVMe device
==============================

Once a SPDM server is running we can start QEMU and connect to the server.

For an NVMe device first let's setup a block we can use

.. code-block:: shell

    $ cd qemu-spdm/linux/image
    $ dd if=/dev/zero of=blknvme bs=1M count=2096 # 2GB NNMe Drive

Then you can add this to your QEMU command line:

.. code-block:: shell

    -drive file=blknvme,if=none,id=mynvme,format=raw \
        -device nvme,drive=mynvme,serial=deadbeef,spdm_port=2323

At which point QEMU will try to connect to the SPDM server.

Note that if using x64-64 you will want to use the q35 machine instead
of the default. So the entire QEMU command might look like this

.. code-block:: shell

    qemu-system-x86_64 -M q35 \
        --kernel bzImage \
        -drive file=rootfs.ext2,if=virtio,format=raw \
        -append "root=/dev/vda console=ttyS0" \
        -net none -nographic \
        -drive file=blknvme,if=none,id=mynvme,format=raw \
        -device nvme,drive=mynvme,serial=deadbeef,spdm_port=2323

.. _DMTF:
   https://www.dmtf.org/standards/SPDM

.. _SPDM Utils:
   https://github.com/westerndigitalcorporation/spdm-utils

.. _spdm emu:
   https://github.com/dmtf/spdm-emu

.. _Build libspdm:
   https://github.com/westerndigitalcorporation/spdm-utils?tab=readme-ov-file#build-libspdm

.. _Build SPDM Utils:
   https://github.com/westerndigitalcorporation/spdm-utils?tab=readme-ov-file#build-the-binary

.. _Run it as a server:
   https://github.com/westerndigitalcorporation/spdm-utils#qemu-spdm-device-emulation
