A short authenticated string (SAS) is a compact value that two devices display after a key exchange. A person compares the values; matching strings indicate that the exchange was not actively man-in-the-middled—provided the SAS protocol is designed securely. section 11.3 section 11.4
A typical SAS-based pairing flow works like this:
- The devices perform a key exchange, initially without authenticating each other. section 11.3.3
- Each device derives a short value from the exchange transcript, commonly by truncating a hash to fewer than 20 bits and displaying a six-digit number. section 11.3.3
- The user compares both displays in real time; equality authenticates the exchange only when the protocol prevents an attacker from choosing keys adaptively. section 11.3.3
SAS values are intentionally easy to compare but dangerously small. In a naive design, an active attacker can generate many public keys until truncated transcript hashes produce the same value on both sides. A commitment step improves the design: one party commits to its public key before receiving the other key, preventing adaptive key selection. section 11.3.3
Pairing a phone with a car
Bluetooth Numeric Comparison can display an SAS for the negotiated connection so a user can compare the phone and car screens. Bluetooth security protocols were described as broken because of the KNOB attack, so controlled devices require a carefully implemented SAS protocol rather than blind reliance on the built-in flow.
