Разве пароль не является формой безопасности через неясность?

Я знаю, что безопасность через неясность не одобряется и считается небезопасной, но не является ли безопасность паролей через неясность? Он защищен только до тех пор, пока его никто не найдет.

Это только вопрос уровня безвестности? (то есть хороший пароль, хорошо соленый и хешированный, непрактично нарушать)

Примечание. Я не спрашиваю о процессе сохранения паролей (предположим, что они правильно хэшированы и соленые). Я прошу про всю идею использовать пароль, который представляет собой часть информации, которая, если она известна, может скомпрометировать учетную запись человека.

Или я не понимаю, что означает безопасность через неясность? Я предполагаю, что я предполагаю, что это означает, что существует некоторая информация, которая, если она была известна, могла бы скомпрометировать систему (в этом случае система определяется как любой пароль, предназначенный для защиты)

Ответ 1

Вы правы в том, что пароль защищен только в том случае, если он неясен. Но "одержимая" часть "безопасности через неясность" относится к безвестности системы . С паролями система полностью открыта - вы знаете точный метод, который используется для ее разблокировки, но ключ, который не является частью системы, неизвестен.

Если бы мы обобщали, то да, вся безопасность - это безвестность. Однако фраза "безопасность через неясность" не относится к этому.

Ответ 2

Может быть, легче понять, о чем идет речь в "О безопасности", глядя на то, что в некотором смысле является противоположным: второй принцип Августа Керкхоффа (теперь просто известный обычно как принцип Керкхоффса), сформулированный в 1883 году в двух статьях о La Cryptographie Militaire:

[Шифр] не обязательно должен быть секретным, и он должен быть в состоянии попасть в руки противника без неудобств.

Клод Шеннон переформулировал это как:

Враг знает систему.

И Эрик Раймонд:

Любой дизайн программного обеспечения безопасности, который не предполагает, что противник обладает исходным кодом, уже недостоверен.

Альтернативная формулировка этого принципа состоит в том, что

Безопасность системы должна зависеть только от секретности ключа, а не от секретности системы.

Итак, мы можем просто определить Security-by-Obscurity как любую систему, которая не следует этому принципу, и поэтому мы искусно вычеркнули пароль: -)

Есть две основные причины, почему этот Принцип имеет смысл:

  • Ключи, как правило, намного меньше, чем системы, поэтому их легче защитить.
  • Компромисс секретности ключа только ставит под угрозу секретность всех коммуникаций, защищенных этим ключом, что подрывает секретность системы, компрометируя все коммуникации.

Обратите внимание, что он нигде не говорит, что вы не можете хранить свою систему в секрете. Он просто говорит, что вы не должны зависеть от этого. Вы можете использовать Security-by-Obscurity в качестве дополнительной линии защиты, вы просто не должны предполагать, что она действительно работает.

В целом, однако, криптография сложна, а криптографические системы сложны, поэтому вам очень нужно ее публиковать, чтобы как можно больше зрительных яблок. На этой планете очень мало организаций, на самом деле у которых есть необходимые умные люди для секретной разработки криптографических систем: в прошлом, когда математики были патриотами, а правительства были богатыми, это были НСА и КГБ, сейчас это IBM и через пару лет это станет китайской секретной службой и международными преступными синдикатами.

Ответ 3

Нет. Давайте посмотрим определение безопасности через неясность из wikipedia

уничижительный подход к принципу в технике безопасности, который пытается использовать секретность (дизайна, реализации и т.д.) для обеспечения безопасности.

Фраза относится к самому коду или к конструкции системы. С другой стороны, пароли - это то, с чем пользователь должен себя идентифицировать. Это тип токена аутентификации, а не реализация кода.

Ответ 4

Пароли являются формой аутентификации. Они призваны идентифицировать, что вы взаимодействуете с тем, с кем вы должны взаимодействовать.

Вот хорошая модель различных аспектов безопасности (мне пришлось запомнить это в моем курсе безопасности)

http://en.wikipedia.org/wiki/File:Mccumber.jpg

Пароли являются аспектом аспекта конфиденциальности безопасности.

Хотя, вероятно, слабее форм аутентификации (что-то, что вы знаете, что-то у вас есть, что-то есть), я бы все же сказал, что это не представляет собой безопасность через неясность. С паролем вы не пытаетесь скрыть грань системы, чтобы попытаться скрыть ее.

Edit:

Если вы будете следовать аргументам, что пароли также являются средством "безопасности Throguh Obscurity" для этого логического конца, тогда вся безопасность, включая такие вещи, как шифрование, - это безопасность через неясность. Тогда это означает, что единственная система, которая не защищена через неясность, - это тот, который окружен бетоном и погружен в океанский пол, и никто никогда не может его использовать. Однако это рассуждение не способствует получению чего-либо. Поэтому мы используем Security Through the obscurity, чтобы описать методы, которые используют не понимание реализации системы как средства безопасности. С паролями реализация известна.

Ответ 5

Я знаю, что безопасность через неясность не одобряется и считается небезопасной, но не является ли безопасность паролей через неясность? Он защищен только до тех пор, пока его никто не найдет.

Чтобы ответить на этот вопрос, нам действительно нужно рассмотреть, почему "безопасность через безвестность" считается ошибочной.

Большая причина, по которой безопасность через неясность является ошибочной, заключается в том, что на самом деле очень легко перепроектировать систему на основе ее взаимодействия с внешним миром. Если ваша компьютерная система где-то сидит, счастливо аутентифицируя пользователей, я могу просто посмотреть, какие пакеты он отправляет, наблюдать за шаблонами и выяснить, как это работает. И тогда это просто, чтобы напасть на него.

В отличие от этого, если вы используете правильный открытый криптографический протокол, никакое количество обнюхивания кабеля не позволит мне украсть пароль.

В основном, почему затенение системы ошибочно, но скрытие ключевого материала (при условии безопасной системы) - это не так. Безопасность через неясность никогда сама по себе не обеспечит недостаток системы, и единственный способ узнать вашу систему не является недостатком - это публично проверить ее.

Ответ 6

Нет, это не так.

Безопасность через неизвестность означает, что процесс, обеспечивающий защиту доступа, защищен только потому, что его точные данные не являются общедоступными.

Публично доступный здесь означает, что все детали процесса известны всем, за исключением, конечно, рандомизированной части, составляющей ключ. Обратите внимание, что диапазон, из которого можно выбрать ключи, все еще известен всем.

Эффект от этого заключается в том, что можно доказать, что единственной частью, которая должна быть секретной, является сам пароль, а не другие части процесса. Или наоборот, что единственный способ получить доступ к системе - это как-то добраться до ключа.

В системе, которая опирается на неясность его деталей, вы не можете получить такую ​​уверенность. Вполне возможно, что любой, кто узнает, какой алгоритм вы используете, может найти в нем задний ход (т.е. Способ доступа к системе без пароля).

Ответ 7

Короткий ответ нет. Пароли сами по себе не являются безопасностью безвестности.

Пароль можно считать аналогом ключа в криптографии. Если у вас есть ключ, вы можете декодировать сообщение. Если у вас нет ключа, вы не можете. Аналогичным образом, если у вас есть правильный пароль, вы можете пройти аутентификацию. Если вы этого не сделаете, вы не сможете.

Часть неясности в безопасности по неизвестности относится к тому, как реализуется эта схема. Например, если пароли были сохранены где-то в ясном месте, и их точное местоположение хранилось в секрете, что было бы безопасностью по неизвестности. Скажем, я разрабатываю систему паролей для новой ОС, и я помещаю файл паролей в /etc/guy/magical _location и назову его "cooking.txt", где любой может получить к нему доступ и прочитать все пароли, если они знают, где это было, Кто-то, в конце концов, выяснит (например, обратное проектирование), что пароли есть, а затем все установки ОС в мире будут нарушены, потому что я полагался на неизвестность для безопасности.

Другим примером является то, что пароли хранятся там, где каждый может получить к ним доступ, но зашифрован "секретным" ключом. Любой, кто имеет доступ к ключу, может получить пароли. Это также было бы безопасностью безвестности.

"Неизвестность" относится к некоторой части алгоритма или схемы, которые хранятся в секрете, если, если бы это было общеизвестно, схема могла быть скомпрометирована. Это не относится к необходимости ключа или пароля.

Ответ 8

Да, вы правы, и это очень важное осознание, которое у вас есть.

Слишком много людей говорят "безопасность через безвестность", не имея представления о том, что они означают. Вы правы во всем, что имеет значение, это уровень "сложности" декодирования любой конкретной реализации. Имена пользователей и пароли - это просто их комплексная реализация, поскольку они значительно увеличивают объем информации, необходимой для получения доступа.

Одна важная вещь, которую следует учитывать при любом анализе безопасности, - это модель угрозы: кто вас беспокоит, почему и как вы их предотвращаете? Что вы не закрываете? и т.д. Следите за аналитическим и критическим мышлением; это будет вам хорошо.