<div dir="ltr">
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">Hello
all,</font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif">At
the UNH Community Lab, we are now running CI testing for cryptodev
validation using the FIPS sample application. In setting up testing
we have run into issues with the sample app documentation being out
of date. In places it points to dependency versions which do not work
with the sample app, and we are also seeing the sample application
failing to run on some of the supported test vectors. We hope to
start a conversation about these issues with interested community
members responsible for maintaining cryptodev functions in DPDK and
the FIPS sample application. If desired, we could produce an updated
setup guide according to how we’ve set up our environment. But,
others who are more involved in developing the sample app may want to
provide their own input. We are grateful for any feedback to us or
development of the sample app which may come out of this
conversation. A synopsis of our experience using the FIPS sample app
is below. </font>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><br>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"><b>Issues
with current documentation for IPsec-mb library:</b></font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><br>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"> According
to the current test plan documentation for how to utilize the DPDK
FIPS Validation Application
(<a href="https://git.dpdk.org/tools/dts/tree/test_plans/fips_cryptodev_test_plan.rst">https://git.dpdk.org/tools/dts/tree/test_plans/fips_cryptodev_test_plan.rst</a>),</font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif">it
is recommended that you pull from the intel-ipsec-mb github
repository and then checkout a specific commit (noted as “latest
working commit”). The commit it recommends using in this
documentation is a few commits after the version tagged “v0.50”
however, when trying to build DPDK using this version of the library,
it reports that it does not support any version older than “1.0.0”.
When using the documented version of the library, you also do not get
access to the virtual crypto device that is used in the examples on
this page. </font>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><br>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"> There
is also the DPDK user guide for the application
(</font><a href="https://doc.dpdk.org/guides/sample_app_ug/fips_validation.html" style="color:rgb(0,0,128)"><font color="#000080"><font face="Carlito, serif"><span lang="zxx"><u>https://doc.dpdk.org/guides/sample_app_ug/fips_validation.html</u></span></font></font></a><font face="Carlito, serif">)
and this guide does not list any of those same prerequisites, but
when building DPDK without said prerequisites, you receive the driver
warning </font><font face="Carlito, serif"><i>crypto/ipsec_mb: missing
dependency, "libIPSec_MB”.</i></font><font face="Carlito, serif">
There is a different crypto device used in the examples on this user
guide (</font><font face="Carlito, serif"><b>crypto_aesni_mb</b></font><font face="Carlito, serif">)
but</font><font face="Carlito, serif">
if you do build the IPsec library from github, on the “0.50”
version you don’t get access to this device. However, if you
instead build the IPsec library on the latest tagged version (v1.3)
you can run the sample application using the crypto device that is
mentioned on this page</font><font face="Carlito, serif">.
Even with being able to run the sample application on the latest
version, not all supported algorithms pass, there are a few
algorithms listed as supported that return a failed verdict.</font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<br>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"> It
is unclear which steps should be followed and which parts are
accurate as it seems some pieces of each form of documentation are
true while others are outdated.</font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<br>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"><b>Other
things to note:</b></font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"> There
are other algorithms that pass on some hosts, but fail on others.
Using an ubuntu 20.04 container, on some hosts, validation of AES-GCM
algorithms works and returns a passing verdict. However, running
inside the same container on our production hosts, these algorithms
fail with the message “CipherText was not present in the TestCase.”
There was recently a </font><a href="http://mails.dpdk.org/archives/test-report/2023-February/350635.html" style="color:rgb(0,0,128)"><font color="#000080"><font face="Carlito, serif"><span lang="zxx"><u>patch</u></span></font></font></a><font face="Carlito, serif">
put out to fix the AES-GCM validation, however we are seeing it fail
to compile with DPDK.</font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<br>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"><i><b>All
algorithm testing listed below was performed using the
“crypto_aesni_mb” virtual device on version 1.3 of the ipsec
library</b></i></font></p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<br>
</p>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"><b>List
of working algorithms</b></font><font face="Carlito, serif">:</font></p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">AES-CBC</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">AES-CMAC</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">AES-CTR</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">AES-GMAC</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">HMAC-SHA1</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">TDES-CBC</font></p>
</li></ul>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"><b>List
of failing algorithms</b></font><font face="Carlito, serif">:</font></p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">AES-GCM
</font>
</p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
“<font face="Carlito, serif">CipherText
missing from TestCase”</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">This
failure message is found in the verdict returned from the ACVP API</font></p>
</li></ul>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">AES-XTS
</font>
</p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
“<font face="Carlito, serif">ACVP-AES-XTS-2.0:
General exception. Contact service provider.”</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">This
failure happens before reaching DPDK application so likely a NIST
problem</font></p>
</li></ul>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">SHA-1
</font>
</p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
“<font face="Carlito, serif">Digests
do not match”</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">This
failure message is found in the verdict returned from the ACVP API</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">Passes
some test cases but fails others</font></p>
</li></ul>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">SHA-256
</font>
</p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
“<font face="Carlito, serif">Digests
do not match”</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">This
failure message is found in the verdict returned from the ACVP API</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">Like
SHA-1, fails some but passes others</font></p>
</li></ul>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">TDES-ECB
</font>
</p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
“<font face="Carlito, serif">USER1:
Failed to get capability for cdev 0”</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
“<font face="Carlito, serif">USER1:
Error -22: test block”</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">These
errors are encountered during the validation phase (i.e., when the
vectors are being run through the DPDK sample application)</font></p>
</li></ul>
</li></ul>
<p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent"><font face="Carlito, serif"><b>Untested
algorithms</b></font><font face="Carlito, serif">:</font></p>
<ul>
<li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">RSA</font></p>
</li><li><p class="gmail-western" style="line-height:100%;margin-bottom:0in;font-family:"Liberation Serif",serif;font-size:12pt;color:rgb(0,0,0);direction:ltr;background:transparent">
<font face="Carlito, serif">ECDSA</font></p>
</li></ul><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><p dir="ltr" style="line-height:1.2;margin-top:0pt;margin-bottom:0pt"><font color="#000000" face="Arial"><span style="font-size:13.3333px;white-space:pre-wrap">Patrick Robb</span></font></p><p style="color:rgb(34,34,34);line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:10pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">Technical Service Manager</span></p><p dir="ltr" style="color:rgb(34,34,34);line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:10pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">UNH InterOperability Laboratory</span></p><p dir="ltr" style="color:rgb(34,34,34);line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:10pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">21 Madbury Rd, Suite 100, Durham, NH 03824</span></p><p dir="ltr" style="color:rgb(34,34,34);line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:10pt;font-family:Arial;color:rgb(17,85,204);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><a href="http://www.iol.unh.edu/" style="color:rgb(17,85,204)" target="_blank">www.iol.unh.edu</a></span></p><p dir="ltr" style="color:rgb(34,34,34);line-height:1.2;margin-top:0pt;margin-bottom:0pt"><br></p><p dir="ltr" style="color:rgb(34,34,34);line-height:1.2;margin-top:0pt;margin-bottom:0pt"><span style="font-size:10pt;font-family:Arial;color:rgb(51,51,51);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><img src="https://lh4.googleusercontent.com/7sTY8VswXadak_YT0J13osh5ockNVRX2BuYaRsKoTTpkpilBokA0WlocYHLB4q7XUgXNHka6-ns47S8R_am0sOt7MYQQ1ILQ3S-P5aezsrjp3-IsJMmMrErHWmTARNgZhpAx06n2" width="150" height="37" style="border:none"></span></p></div></div></div>