ContactDiscoveryService/enclave/c_src
jmhodges-signal b885fb5f1b
enclave: add ratelimit fingerprinting (#107)
This code adds the ratelimit fingerprinting to the enclave itself.

The overall idea is that the frontend will send the handshake with the
enclave per usual then in the discovery request, call into this enclave
function to get the fingerprint, do the redis work, then call into the
usual enclave discovery look up.

See the changes to the .edl file for the entrypoint from the frontend to
the enclave.

In order to decrypt messages from the client, this code gets access to
the specific keys set up when the client negotiates with the enclave.
That means we had to add a way to get the pending request information
from the C-land's circular buffer without removing it (the server_call
function does the removal later, and if its never called, the spot in
buffer is overwritten).
2020-11-03 10:55:55 -08:00
..
bearssl enclave: add bearssl's hmac code (#108) 2020-10-20 13:05:06 -07:00
cmockery.c enclave: store ratelimit states as truncated hashes 2020-03-20 14:09:35 -07:00
curve25519-donna-c64.c enclave: store ratelimit states as truncated hashes 2020-03-20 14:09:35 -07:00
sgx-tcrypto-stub.c enclave: store ratelimit states as truncated hashes 2020-03-20 14:09:35 -07:00
sgxsd-enclave-test.c enclave: add ratelimit fingerprinting (#107) 2020-11-03 10:55:55 -08:00
sgxsd-enclave.c enclave: add ratelimit fingerprinting (#107) 2020-11-03 10:55:55 -08:00