Токены безопасности с нечитаемыми закрытыми ключами? - PullRequest
1 голос
/ 14 августа 2011

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

Что самое дешевое / самое дорогое?-веренный способ реализовать это?

Ответы [ 3 ]

3 голосов
/ 14 августа 2011

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

ИЛИ:

  1. Поделитесь секретом с каждым клиентом (напечатанным на бумаге, по электронной почте, телефону и т. Д.).

  2. Пусть клиент сгенерирует ключи на основе этого секрета, времени (скажем, 5-минутные интервалы) и всего, что вы можете получить (идентификатор оборудования компьютера - если вы уже знаете его, IP-адрес клиента, так далее...).Убедитесь, что пользователь ввел секрет и никогда не хранит его в приложении / браузере.

  3. Неверный / часто истекает токены и договариваются о новых

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

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

Можете ли вы в любой момент проверить личность ваших клиентов?

Если клиентский компьютер скомпрометирован, вы можете смело предположить, что частныйключ тоже скомпрометирован.Что не так с SSL / HTTPS.Вам действительно нужно иметь один сертификат для каждого клиента?

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

* мой банк дал мне сертификат (который работает только в IE), используемый для доступа к моей учетной записи онлайн-банкинга.Мне пришлось пройти несколько запутанных шагов, чтобы сгенерировать и установить этот сертификат, и он работает только на одном компьютере - вы думаете, что ваши клиенты / пользователи согласятся пройти такую ​​установку?

1 голос
/ 18 августа 2011

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

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

Карты PIV (и карты PIV-I) используют ряд мер безопасности для подписания сертификатов. Во-первых, закрытый ключ хранится на смарт-карте, и нет тривиального способа его извлечь. Карта использует цифровой ПИН-код для использования закрытого ключа подписи и эффективно уничтожает ключ после определенного количества неправильных попыток. Аппаратный криптомодуль должен соответствовать стандартам Уровня 2 и быть защищенным от несанкционированного доступа, а транспортировка карты требует физической защиты Уровня 3 (FIPS 201). Сертификат подписан доверенным центром сертификации. ПИН-код, если он введен с помощью клавиатуры, должен быть отправлен непосредственно на карту, чтобы избежать атак типа кейлоггер.

Эти меры предосторожности сложны, интенсивны и до сих пор не гарантируют невозвращение. (Что, если вредоносная программа убеждает пользователя подписать документ, отличный от того, который он намерен подписать? Или пользователь находится под принуждением? Или спецслужба получает транзитную карту и использует секретную уязвимость для извлечения закрытого ключа перед заменой карта?)

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

0 голосов
/ 18 августа 2011

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

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

Причина, по которой существуют стандарты для цифровых подписей, заключается в том, что этот материал очень трудно понять правдоподобным способом. Смотрите " Закон Шнайера "

Кроме того, в конечном счете, отказ от ответственности сводится к тому, что кому-то предъявляют иск - вы говорите, что «B» сделал это (подписал соглашение, нажал кнопку и т. Д.), Но «B» это отрицает. Вы говорите, что можете «доказать», что Б сделал это. Но что, вам нужно будет доказать в суде, что B сделал это, чтобы заставить суд предоставить вам помощь (чтобы B мог сделать что-то, например, возместить ущерб.)

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

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

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

...