...
The method by which secure endpoints are protected.
A The planned method of authenticating HTTP requests from the Safe Places web app is to use a JSON Web Token (JWT).
...
The method by which access tokens for consent are generated and exchanged.
The planned method for generating an access code to be communicated to the member of the public (MoP) is generating a fixed-length numeric code.
Requirements
The numeric code must be generated with a cryptographically secure random number generator.
The code must be short enough and unambiguous so that it can be communicated verbally over the telephone.
The code must be long enough so that an attacker cannot brute-force the code.
This problem can be remediated by rate-limiting the access code endpoint.
Structure
Numeric digits allow us log2(10) = 3.32 bits of entropy per character. RFC 4086 recommends 29 bits of entropy for a password based on online authentication.
To meet that, we would need roughly 8 digits to have a decently-secured access code. Through key-stretching via simple HTTP rate-limiting, and considering accessibility, we can likely reduce the requirement to 6 digits.
An example of an access code would be as follows:
Code Block |
---|
123759 |