A check code that can be used to confirm that two [EstablishedEcies]
objects share the same secret. This is supposed to be shared out-of-band to
protect against active Man-in-the-middle (MITM) attacks.
Since the initiator device can always tell whether a MITM attack is in
progress after channel establishment, this code technically carries only a
single bit of information, representing whether the initiator has determined
that the channel is "secure" or "not secure".
However, given this will need to be interactively confirmed by the user,
there is risk that the user would confirm the dialogue without paying
attention to its content. By expanding this single bit into a deterministic
two-digit check code, the user is forced to pay more attention by having to
enter it instead of just clicking through a dialogue.
A check code that can be used to confirm that two [
EstablishedEcies
] objects share the same secret. This is supposed to be shared out-of-band to protect against active Man-in-the-middle (MITM) attacks.Since the initiator device can always tell whether a MITM attack is in progress after channel establishment, this code technically carries only a single bit of information, representing whether the initiator has determined that the channel is "secure" or "not secure".
However, given this will need to be interactively confirmed by the user, there is risk that the user would confirm the dialogue without paying attention to its content. By expanding this single bit into a deterministic two-digit check code, the user is forced to pay more attention by having to enter it instead of just clicking through a dialogue.