|
|
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Есть сайт работающий на ASP.NET, сервер IIS 7, через http-протокол. Кратко, в сайте есть пользователи, авторизация и работа с которыми ведется на логическом уровне, т.е. на уровне приложения (таблицы TblUsers) и авторизация, ограничение действий и т.д. все делается на уровне приложения. В целях безопасности необходимо переключить работу сайта на https-протокол, посмотрел способы установки selfsigned-сертификата на сервер. Но еще нужно сделать возможность выдачи сертификатов пользователям программным способом, также должна быть возможность контроля действий этих сертификатов программно. К примеру, зашли на определенную страничку управления пользователями, выбрали из таблицы пользователя и нажали сгенерировать и вышла ссылка на скачивание этого сертификата. При генерации нового сертификата старый сертификат должен быть недействительными. Т.е. в таблице пользователей должна сохраняться информация по данным сертификатов. Никак не могу найти в нете подобну информацию, только варианты с установкой сервера сертификации и запроса/выдачи/установки на сервер ручным образом. Мне нужно именно программно генерировать клиентские сертификаты и валидация данных этих сертификатов на уровне приложения. Если кто видел киньте ссылку пожалуйста, или подсказку, в каком направлении копать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 19:19:12 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
а зачем тебе подписывать каждого юзера сертификатом? вообще обычно сертификат ставиться на сайт или отдельные страницы к примеру ввода логина и паса или если магаз то ввода номеров счета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 09:47:16 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
самописный сертификат на https, считается моветоном. Это раз. Во вторых, сертификат вы можете генерировать один - он называется корневой CA-сертификат и подписывать им клиентские запросы на сертификат. В третьих это несложно - в базе будет хранится отпечаток сертификата - Modulus(X509Certifiacet2 key.Modulus). А в хранилище сертификатов(cmd\mmc\Добавить оснастку\Сертификаты) подписанный корневым сертификатом клиентский сертификат. То что вы пытаетесь найти - это хрень, ибо в таком понятии как безопасность на сертификатах есть только одна догма - у вас сертификат и приватный ключ, у клиентов сертификат с публичным ключом полученным от вас. Все остальное ложится на ваши плечи что, где и как валидировать, нужна\не нужна криптовка запросов, ЭЦП и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2011, 11:13:41 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
brainproof, OracleLover, в целях безопасности, чтобы минимизировать взломы учетных записей даже если украли логин и пароль, чтобы без сертификата не могли авторизоваться или, если есть подозрение на взлом, обновляется сертификат и предотвращается авторизация со взломанной учетной записи учетных записей много, вероятности обновления сертификатов тоже достаточно много поэтому и ищу автоматизации выдачи сертификатов, и рассматриваю самописные сертификаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2011, 12:14:55 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
orunbek, https и авторизация(в вашем случае правильнее термин - аутентификация) это немного разные вещи. https нужен чтобы шифровать соединение между сервером и клиентом, чтоб гарантировать что между этими двумя никто не вклинится. Аутентификацию на сертификатах можно и на http сделать. Автоматических центров выдачи сертификатов конечно нет, да и что за бредовое название - есть просто центры сертификации, есть точки, есть корневые центры и узлы. Все остальное вам необходимо реализовать своими силами и так как вам нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2011, 12:45:31 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
OracleLoverorunbek, https и авторизация(в вашем случае правильнее термин - аутентификация) это немного разные вещи. https нужен чтобы шифровать соединение между сервером и клиентом, чтоб гарантировать что между этими двумя никто не вклинится. Аутентификацию на сертификатах можно и на http сделать. Автоматических центров выдачи сертификатов конечно нет, да и что за бредовое название - есть просто центры сертификации, есть точки, есть корневые центры и узлы. Все остальное вам необходимо реализовать своими силами и так как вам нужно. я про аутентификацию и имел в виду, неправильно выразился написав "авторизация" мне нужна дополнительная защита хоть с самописными сертификатами, но с возможностью программной генерации хоть путем вызова makecert.exe, в сети нашел пару статей про возможности выдачи CA сертификатов, затем подписанных ими клиентских сертификатов, но почему то не получается "гуглю дальше" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2011, 14:10:57 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
я про аутентификацию и имел в виду, неправильно выразился написав "авторизация" мне нужна дополнительная защита хоть с самописными сертификатами, но с возможностью программной генерации хоть путем вызова makecert.exe, в сети нашел пару статей про возможности выдачи CA сертификатов, затем подписанных ими клиентских сертификатов, но почему то не получается "гуглю дальше" А так ли вам нужно динамически генерить клиенту сертификаты?? зачем?? Достаточно одного вашего самоподписанного сертификата на сервере для установки шифрованного соединения, а для авторизации - у вас туева хуча свободы в выборе атрибутов для определения ваш или не ваш человек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2011, 15:00:38 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
orunbekOracleLoverorunbek, https и авторизация(в вашем случае правильнее термин - аутентификация) это немного разные вещи. https нужен чтобы шифровать соединение между сервером и клиентом, чтоб гарантировать что между этими двумя никто не вклинится. Аутентификацию на сертификатах можно и на http сделать. Автоматических центров выдачи сертификатов конечно нет, да и что за бредовое название - есть просто центры сертификации, есть точки, есть корневые центры и узлы. Все остальное вам необходимо реализовать своими силами и так как вам нужно. я про аутентификацию и имел в виду, неправильно выразился написав "авторизация" мне нужна дополнительная защита хоть с самописными сертификатами, но с возможностью программной генерации хоть путем вызова makecert.exe, в сети нашел пару статей про возможности выдачи CA сертификатов, затем подписанных ими клиентских сертификатов, но почему то не получается "гуглю дальше" Вы не понимаете основы работы с сертификатами, "дополнительный" механизм защиты это как пятая нога собаке. Сертификаты меняют не только когда подозревают нарушение конфиденциальности, но вообще-то и от попыток его взлома - обычно сертификаты имеют срок действия: как правило год, ну или в компаниях попроще - 3 года. Но никто из них не пытается это действие автоматизировать - ибо тогда расширяется контекст безопасности, фирмы просто для каждого клиента выдают новый сертификат и просят заменить старый. Если у вас возникают такие вопросы, мой вам совет - откажитесь от сертификатов, все с ними носятся, не понимая толком что это серъезный инструмент. В итоге они только усложняют жизнь и себе и своим клиентам, не сильно защищая свою систему. Используйте MD5.Hash(), обменяйтесь парольным словом и шифруйте\подписывайте им данные, сгенирировать новое парольное слово вы так и быть можете настроить автоматически ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2011, 15:08:54 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
spя про аутентификацию и имел в виду, неправильно выразился написав "авторизация" мне нужна дополнительная защита хоть с самописными сертификатами, но с возможностью программной генерации хоть путем вызова makecert.exe, в сети нашел пару статей про возможности выдачи CA сертификатов, затем подписанных ими клиентских сертификатов, но почему то не получается "гуглю дальше" А так ли вам нужно динамически генерить клиенту сертификаты?? зачем?? Достаточно одного вашего самоподписанного сертификата на сервере для установки шифрованного соединения, а для авторизации - у вас туева хуча свободы в выборе атрибутов для определения ваш или не ваш человек в моем случае может быть возникнет необходимость частой генерации сертификатов, это и есть один из атрибутов определения "своего" человека ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2011, 15:38:16 |
|
||
|
Работа сайта через https + Генерация клиентских сертификатов через .NET
|
|||
|---|---|---|---|
|
#18+
OracleLoverorunbekпропущено... я про аутентификацию и имел в виду, неправильно выразился написав "авторизация" мне нужна дополнительная защита хоть с самописными сертификатами, но с возможностью программной генерации хоть путем вызова makecert.exe, в сети нашел пару статей про возможности выдачи CA сертификатов, затем подписанных ими клиентских сертификатов, но почему то не получается "гуглю дальше" Вы не понимаете основы работы с сертификатами, "дополнительный" механизм защиты это как пятая нога собаке. Сертификаты меняют не только когда подозревают нарушение конфиденциальности, но вообще-то и от попыток его взлома - обычно сертификаты имеют срок действия: как правило год, ну или в компаниях попроще - 3 года. Но никто из них не пытается это действие автоматизировать - ибо тогда расширяется контекст безопасности, фирмы просто для каждого клиента выдают новый сертификат и просят заменить старый. Если у вас возникают такие вопросы, мой вам совет - откажитесь от сертификатов, все с ними носятся, не понимая толком что это серъезный инструмент. В итоге они только усложняют жизнь и себе и своим клиентам, не сильно защищая свою систему. Используйте MD5.Hash(), обменяйтесь парольным словом и шифруйте\подписывайте им данные, сгенирировать новое парольное слово вы так и быть можете настроить автоматически ;) про сроки и про сами механизмы понимаю, признаюсь, глубооких познаний нету но базовые понятия есть, и видел реализацию подобной системы на java/php вот хочу то же самое и реализовать под .NET конечно можно и другими способами дополнительную авторизацию сделать, к примеру, для каждой авторизации посылать дополнительный ключ доступа (кроме логина и пароля к примеру), через смс/mail либо дополнительный код доступа меняется каждые N-дней и может менятся по запросу и установить сертификат на веб-сервер, для шифрации трафика, и будет подобие сертификатов но хотел попробовать реализовать это через сертификаты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2011, 15:43:42 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37588297&tid=1360134]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
269ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 569ms |

| 0 / 0 |
