majority of user data that exhibit patterns using
implicit integrity and the remaining data using
standard techniques. There is nothing in the implicit
integrity methodology, discussed here, that prevents
it from being used together with other independent
integrity mechanisms such as MACs. Such solutions
can co-exist with implicit integrity.
If some decrypted content exhibits patterns, then
there is some assurance that no corruption has
occurred. If no patterns are exhibited, however, a
search can be made for a MAC associated with the
content. If no MAC is found then the data is deemed
corrupted. Otherwise, an integrity check is made
using the returned MAC. Such implementation can
use a content addressable memory unit or a hash table
for accessing and managing MACs. Further
investigation on hardware and operating system
changes required in order to support implicit integrity
are the subject of future work.
Finally, a reasonable question that can be asked is
why not simply compress the data and augment it by
a MAC in the now free space. Compressing and
decompressing in combinatorial logic, for some
patterns such as the nibble-based ones, can be in fact
quite costly. Ongoing research of ours shows that the
client cache lines that can be compressed at
reasonable cost are significantly fewer than those
protected via implicit integrity (78% as opposed to
91%). Such analysis is the subject of future work.
REFERENCES
D. Durham and M. Long, “Memory Integrity”, United
States Patent, No. 9,213,653, December 2013.
D. Durham, et. al., “Memory Integrity with Error Detection
and Correction”, United States Patent, No. 9,990,249,
December 2015.
D. Durham, S. Chhabra, M. Kounavis, S. Deutsch, K.
Grewal, J. Cihula and S. Komijani, “Convolutional
Memory Integrity”, United States Patent Application,
No. 20170285976, 2016.
SHA256, “Secure Hash Standard”, Federal Information
Processing Standards Publication FIPS PUB 180-4,
2012.
SHA-3, “SHA-3 Standard: Permutation-Based Hash and
Extendable-Output Functions”, Federal Information
Processing Standards Publication FIPS PUB 202,
2015.
HMAC, “The Keyed-Hash Message Authentication Code
(HMAC)”, Federal Information Processing Standards
Publication FIPS PUB 198-1, 2008.
KMAC, “SHA-3 Derived Functions: cSHAKE, KMAC,
TupleHash and ParallelHash”, NIST Special
Publication 800-185, 2016.
AES, “Advanced Encryption Standard (AES)”, Federal
Information Processing Standards Publication FIPS
PUB 197, 2001.
N. Ferguson, S. Lucks, B. Schneier, D. Whiting, M. Bellare,
T. Kohno, J. Calas and J. Walker, “The Skein Hash
Function Family”, available online at http://www.
skein-hash.info/sites/default/files/skein1.2.pdf, 2009.
F. McKeen, I. Alexandrovich, A. Berenzon, C. Rozas, H.
Shafi, V. Shanbhogue and U. Savagaonkar, “Innovative
instructions and software model for isolated execution”,
Proceedings of the Workshop on Hardware and
Architectural Support for Security and Privacy (HASP),
2013.
C. Hall, D. A. Wagner, J. Kelsey and B. Schneier, “Building
PRFs from PRPs”, CRYPTO 1998: 370-389.
S. Gilboa and S. Gueron, “Distinguishing a truncated
random permutation from a random function”, IACR
Cryptology ePrint Archive 2015: 773 (2015).
M. S. Klamkin and D. J. Newman, “Extensions on the
Birthday Surprise” Journal of Combinatorial Theory,
Vol. 3, pp. 279-282, 1967.
K. Suzuki, D. Tonien, K. Kurosawa and K. Toyota,
“Birthday Paradox for Multi-collisions”, International
Conference on Information Security and Cryptology,
pp. 29-40, 2006.
M. Kounavis, S. Deutsch, D. Durham and S. Komijani,
“Non-recursive computation of the probability of more
than two people having the same birthday”, ISCC 2017:
1263-1270.
C. Jan et al., “A 14 nm SoC Platform Technology Featuring
2nd Generation Tri-Gate Transistors, 70 nm Gate Pitch,
52 nm Metal Pitch, and 0.0499 μm
2
SRAM Cells,
Optimized for Low Power, High Performance and High
Density SoC Products”, pp. 12-13, Sym. on VLSI Tech.,
2015.
V. T. Hoang, T. Krovetz and P. Rogaway, “Robust
Authenticated-Encryption AEZ and the Problem That It
Solves”, EUROCRYPT, 2015.