информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеЗа кого нас держат?Портрет посетителя
BugTraq.Ru
Русский BugTraq
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модель надежности отказоустойчивой... 
 ЛК нашла бэкдор в ASUS Live Update 
 Facebook хранил часть пользовательских... 
 NSA выпустило Гидру 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Нужен совет по ассиметрии, плиз! 09.01.02 18:42  Число просмотров: 1211
Автор: Artik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
>
> (база (в худшем случае под контролем злоумышленника)) 
>    |
>    | (канал 1)
>    |
>  (безопасный сервер шифрования, никогда не содержащий
> вредоносного кода) 
>    |
>    | (канал 2)
>    |
>  (сборище пользователей и потенциальных врагов партии и
> правительства)
> 

---

Ну все, теперь я вообще запутался с твоей схемой. Как она работает?
1. Каким алгоритмом и с каким ключом зашифрованы данные, хранимые в "базе"?
2. Что конкретно делает "сервер шифрования" в ситуациях чтения данных Юзером и записи данных Админом?
3. Где хранится AESKey и каково его время жизни?

Я-то хотел делать вот как:
(База)
    |
    |  Незащищенный канал
    |
(Точка)

---

Где:
"База" - полностью не отчего незащищенная станция, на которой хранится база данных, полностью зашифрованная. Каждая таблица в ней зашифрована постоянным ключом AccessKey (он может быть разным для разных таблиц - но это уже детали), ну и плюс извраты с подписью. База ничего не шифрует, и ничего не дефишрует, просто тупо принимает, хранит и передает данные без всяких изменений.
"Точка" - одна из многих клиентских станций. Получает данные от Базы в зашифрованном виде. Расшифровывает их, использует, зашифровывает и передает в базу на хранение. Точка должна быть защищина от программных приколов. В начале сеанса точка считывает с Базы зашифрованные системные таблицы с паролями AccessKey, ReadKey, WriteKey. Затем пользователь вводит логин и пароль. По хэшу логина выбирается соответствующая строка системной таблицы паролей. Строка расшифровывается хэшем пароля пользователя (Личного пароля). В расшиврованной таблице проверяется какой-нибудь CRC. Заметь, что хэш личного пароля пользователя НИГДЕ не храниться, вообще никакая инфа о нем (пароле) нигде не хранится. Если пользователь прогнал и ввел левый пароль, то строка системной таблице расшифруется в чушь, CRC не сойдется и т.д.

<----- про Васю, Петю и Машу skipped----->

> тебе все равно, видимо, надо будет хранить хеш от пароля,
> чтобы контролировать правильность его ввода. Или это будет
> делаться на фазе расшифровки ?

Да после расшифровки системной таблицы проверится ее CRC (CRC таблицы, а не пароля).

> Но тогда непонятно, как
> пароль будет передаваться по сети.. Если ты хранишь хеш -
> это схема challenge-response (атаку women-in-the-middle ;)

Пароли вообще не передаются по сети. Точнее передаются только как часть системной таблицы паролей (она зашифрована, см. выше). Причем в составе этой таблицы передаюся только AccessKey, ReadKey, WriteKey. Личные пароли вообще нигде не храняться и никуда не передаются, причем ни сами пароли, ни их хэши.

> не пока рассматриваю, ты свой вариант предложи, а я к нему
> привяжусь ;) ). Послал rnd , принял обратно rnd и hash(rnd
> + hash(password)) , достал из базы хранимое pwdhash
> (равное hash(password)), вычислил и сравнил значения, все.

Понятно, о чем ты. Тут плохо то, что нужно что-то сравнивать. Если злоумышленик достанет все алгоритмы на обоих сторонах, он подделает hash(rnd + hash(password)), т.к. у него будет алгоритм, по которому ты будешь считать.


> Ну и вообще, как ты думаешь этот пароль по сети пересылать
> в момент смены и ввода? это и имелось ввиду под "вручать
> ключ"
Личные пароли передаются тоже лично ;)) Серьезно. Это вполне реально. Т.к. Админ Вася подходит к Юзеру Пете и всучает ему конверт с текстом "Маша", ну или наоборот. Можно использовать курьера с охраной.
Но дальше - проще. Пароли на доступ к самим данным - системные таблицы уже безопасно гуляют по сети.
<theory> Поиск 








Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach