CRYPTO · TIMING
Nâng cao
CA 03 / 11
So sánh cũng làm lộ bí mật
So sánh token/mã bí mật người dùng gửi lên với giá trị đúng, bằng toán tử == thông thường:
if userToken == realToken { // dừng NGAY khi gặp ký tự khác nhau đầu tiên
grantAccess()
}
❯ Vì "==" dừng ngay tại ký tự lệch đầu tiên, thời gian so sánh dài-ngắn khác nhau. Điều này mở ra kiểu tấn công nào?