You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 15, 2025. It is now read-only.
|`cacheValidNotBefore`| String | Unsigned 64-bit integer | UNIX timestamp that specifies the time from which this cache entry may be treated as valid. |
933
+
|`cacheValidNotAfter`| String | Unsigned 64-bit integer | UNIX timestamp that specifies a time until which this cache entry may be treated as valid. |
934
+
|`cacheSignature`| String | - | Signature generated by the home server. This signature can be verified using the home servers' public identity key. |
935
+
936
+
A server generates the `cacheSignature` by concatenating the serial number of the ID-Cert in
937
+
question with the `cacheValidNotBefore` timestamp and the `cacheValidNotAfter` timestamp, then
938
+
generating the signature of the resulting, concatenated string using the private identity key of
939
+
the server.
940
+
941
+
!!! warning
942
+
943
+
Concatenation operations are not commutative.
944
+
945
+
!!! quote "Definition: Concatenation"
946
+
947
+
> In formal language theory and computer programming, string concatenation is the operation of
948
+
joining character strings end-to-end. For example, the concatenation of "snow" and "ball" is
949
+
"snowball".
950
+
951
+
*From Wikipedia, The Free Encyclopedia. [Source](https://en.wikipedia.org/w/index.php?title=Concatenation&oldid=1266032132#:~:text=In%20formal%20language,a%20primitive%20notion.)*
952
+
953
+
Because digital signatures rely on asymmetric key cryptography, possession of this server's public
954
+
identity key allows an actor to validate that a cached ID-Cert is both genuine and up-to-date.
955
+
956
+
This technique remedies the possibility of caching introducing an additional attack vector, allowing
957
+
caching to be used without conflicting with the [trust model](#2-trust-model) of polyproto.
0 commit comments