Аббревиатура OTP используется для обозначения двух разных вещей в области компьютерной безопасности. Старое значение — «Одноразовый блокнот», в современном контексте гораздо чаще используется «Одноразовый пароль/пароль/ПИН-код». Как вы, наверное, догадались из общего использования термина «Один раз», есть некоторые сходства.
Одноразовый блокнот — основы
Одноразовый блокнот — это метод шифрования. Теоретически он абсолютно безопасен и его невозможно взломать. Однако он не получил широкого распространения, потому что имеет множество ограничений и требований, которые серьезно препятствуют его жизнеспособности на практике. Первая проблема заключается в том, что блокнот требует, чтобы ключ шифрования на блокноте был действительно случайным. Даже генераторы псевдослучайных чисел PRNG, используемые для других криптографических целей, недостаточно случайны, чтобы быть безопасными. Любой уровень предсказуемости в ключевом материале ставит под угрозу идеальную секретность.
Процесс генерации ключей должен быть полностью безопасным. Кроме того, метод связи с одноразовым блокнотом должен быть безопасным. После этого все стороны также должны продолжать безопасно хранить одноразовые блокноты. Использованные одноразовые ключи также должны быть надежно утилизированы. Одноразовый блокнот не предлагает никакого механизма аутентификации. Злоумышленник, который знает открытый текст и зашифрованный текст, может восстановить ключ. Затем они могут использовать это для создания другого зашифрованного текста, если они сохраняют сообщение того же размера или короче. Наконец, зашифрованное сообщение может быть только длиной предварительно сгенерированного ключа.
Использование термина «блокнот» связано с тем, что в большинстве случаев распространяется серия одноразовых ключей приличного размера. Полезным форматом является блокнот с уникальным ключом на каждой странице. Когда сообщение необходимо зашифровать, используется самая верхняя страница. затем страница обычно удаляется и уничтожается, чтобы предотвратить ее компрометацию или повторное использование.
Одноразовый блокнот – осложнения
На практике тот факт, что одноразовый блокнот должен быть надежно сгенерирован, передан и сохранен, как и любой общий секрет, делает его очень сложным в использовании. Например, одноразовый блокнот безопасен настолько, насколько безопасен метод связи. Если вы полагаетесь на HTTPS для безопасной передачи блокнота, злоумышленник, способный взломать это шифрование TLS, чтобы получить блокнот, не будет иметь дальнейших проблем с декодированием сообщений. Таким образом, планшет с цифровой связью не обеспечивает никакой дополнительной безопасности. При использовании физического метода передачи, т. е. курьера или тайника, блокнот либо защищен, либо нет. Это делает физические пэды гораздо более полезными, чем цифровые пэды. Кроме того, компьютерные одноразовые блокноты гораздо сложнее безопасно удалить и столкнуться с проблемами остаточного хранения данных.
Если одноразовый блокнот скомпрометирован, его можно использовать для расшифровки прошлых сообщений. Чтобы избежать этого, обычно страницу уничтожают, часто сжигают. Это предотвращает повторное использование или обнаружение ключа. Предполагая, что блокнот скомпрометирован, но соблюдается практика уничтожения, прошлые сообщения не могут быть расшифрованы. Однако будущие сообщения тогда можно будет расшифровать.
На практике современная криптография обычно более чем надежна. Одно из преимуществ одноразового блокнота заключается в том, что его можно использовать вручную. Современная криптография очень сложна и нуждается в компьютере для эффективного использования. Это делает одноразовые блокноты полезными в шпионской среде, когда сообщения необходимо отправлять без использования Интернета или компьютеров. Во времена холодной войны шпионы часто использовали одноразовые блокноты, напечатанные на флэш-бумаге. Использованную страницу, сделанную из нитроцеллюлозы, можно было очень быстро сжечь, не выделяя дыма.
Одноразовый пароль
Одноразовый пароль — это секретная строка, которую можно использовать для аутентификации. Однако он должен оставаться в секрете, однако, в отличие от одноразового блокнота, его нельзя использовать для шифрования чего-либо, и он не имеет особых требований к случайности. Обычный вариант использования одноразовых паролей — двухфакторная аутентификация. Например, приложение двухфакторной аутентификации генерирует одноразовый код на основе времени и секрета для подтверждения вашей личности. Одноразовый пароль даже не обязательно должен быть уникальным. Двухфакторные коды часто состоят из шести цифр. Это обеспечивает достаточную случайность, чтобы сделать крайне маловероятным, что злоумышленник сможет угадать действующий код в нужное время.
Некоторые компании, такие как банки, могут также предварительно создать список одноразовых паролей и отправить их своим клиентам для использования в онлайн-банкинге. Одноразовые пароли в этом случае не могут быть одинаковыми для всех, но и не обязательно должны быть на 100% уникальными во всех случаях.
Одноразовые пароли могут быть несколько неуклюжими с точки зрения взаимодействия с пользователем. Пароли должны быть безопасно переданы и сохранены, или безопасно сгенерированы. Фишинг также представляет собой риск, в то время как одноразовые пароли добавляют пользователю дополнительную возможность не попасться на фишинг. которые уже были убеждены передать свое имя пользователя и пароль, обычно также передают и одноразовый пароль.
Заключение
В компьютерной безопасности OTP означает One Time Pad или One Time Password. Одноразовый блокнот — это метод шифрования, обеспечивающий полную секретность. Однако у него есть ряд требований, из-за которых его неудобно использовать на практике и, как правило, очень сложно правильно реализовать на компьютерах. Однако одноразовые блокноты можно использовать вручную, что делает их полезными для старомодных шпионских операций. Одноразовые пароли — это секретные строки, которые можно использовать для входа в систему. они могут работать вместе или вместо традиционного пароля. Двухфакторная аутентификация является одним из примеров реализации одноразовых паролей.