Вопрос по шифрованию данных

    mErLin

    RA-1103G
    Граждане криптоаналитики и программеры систем защиты данных, памажите неспециалисту

    Требуется передать файлы с одного компа на другой в зашифрованном виде. Как это будет выполняться - через шифрованный туннель или каким-то другим способом - не важно. Главное, чтобы софтина на 1м компьютере писала данные на сетевой диск, а другая софтина (на 2м компьютере) - читала. Сам процесс шифрования должен быть прозрачен для прикладного софта. В крайнем случае, программы можно доработать и научить запускать некие утилиты для шифрования

    Главная проблема в том, что канал передачи (или сами данные) должны быть защищены не або как, а при помощи eToken. Не важно - каким способом эта задача будет решена. Главное, чтобы в системе защиты (хотя-бы на одном из компов) использовался сертифицированный в РФ ключ eToken. Использование ключа будет обязательно проверяться компетентными органами - т.е. нельзя просто воткнуть аппаратный ключ для близиру, а самому гнать данные через SSH с программными ключами. При обнаружении подобного факта личность разработчика будет мгновенно подвергнута жестокому анальному огораживанию в системе ФСИН, и что самое обидное - под громкие апплодисменты конкурирующей околофапсишной структуры (которая, собственно, вышеупомянутое условие и закрепила, путём протаскивания подзаконного акта) :mad:

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

    З.Ы. Операционка на всех компах - ВыньХР. В комп будет воткнут ещё один, чужой eToken (вышеупомянутой мерзкой структуры) - не будут-ли они конфликтовать? И наоборот - нельзя-ли использовать его для собственной задачи? ;)
     
    Последнее редактирование:

    mErLin

    RA-1103G
    Ptica, проблема в том, что не нужно ехать. Нужны "шашечки" (т.е. использование eToken-а) ;)
     

    AndyM

    Пивной тролль
    Ptica, а можно коротко, чем Hamachi лучше OpenVPN ? Просто сейчас подробно изучать лень, а у OpenVPN есть несколько неприятных моментов, которых возможно нет в других подобных софтинах.
     

    Ptica

    Старожил
    AndyM,
    Прежде всего простотой организации и настройки. Это если не вдаваться.
     

    AndreiB

    Местный
    Главное, чтобы софтина на 1м компьютере писала данные на сетевой диск, а другая софтина (на 2м компьютере) - читала. Сам процесс шифрования должен быть прозрачен для прикладного софта.
    Это похоже на задачу, которую решает PGP NetShare (http://www.symantec.com/business/netshare). eToken'ы к PGP прикручиваются без проблем – нативная поддержка.

    В комп будет воткнут ещё один, чужой eToken (вышеупомянутой мерзкой структуры) - не будут-ли они конфликтовать?
    Конфликтовать не должны, но в чем суть втыкания двух ключей?
     

    mErLin

    RA-1103G
    Конфликтовать не должны, но в чем суть втыкания двух ключей?
    На тот случай, если первый будет вытащен его владельцем

    ---------- Добавлено в 17:18 ----------

    AndyM, я не понял из статьи - в eToken нужно записывать какой-то персональный код или устройство просто втыкается и генерит ключи шифрования самостоятельно? Там вообще про какую-то карту. Просто я вообще не в курсе - с чем его едят? Чем отличаются разновидности этих eTokenов? Или поставим вопрос проще: какой ключ надо приобрести, чтобы реализовать мою задачу при помощи OpenVPN. И нужен-ли комплект разработчика.
    И ещё, кто-нибудь на пальцах объяснит смысл работы этого ключа? У Алладина на сайте написана всякая муть для манагеров (или наоборот - слишком понимающих тему)
     
    Последнее редактирование:

    AndyM

    Пивной тролль
    mErLin, завтра на трезвую голову попробую разобраться и ответить :) Сам никогда с еТокеном не работал.
     

    AndreiB

    Местный
    Я какое-то время назад активно eToken'ы использовал, так что позволю себе ответить.

    Ключ – это защищенное хранилище объемом 16-64 Кб + защищенный криптопроцессор + интерфейс смарт-карты.
    Под защищенным хранилищем понимается память, доступ к которой возможен только после введения правильного PIN-кода (в софте). По-другому (разобрав ключ, выпаяв флеш, и и т.п.) память прочитать нельзя.

    Про карту там потому, что подобные электронные ключи традиционно имеют интерфейс смарт-карты, и USB-ключ – это по сути смарт-карта + считыватель в удобном конструктиве.

    eToken'ы различаются объемом памяти и дополнительными фичами (типа встроенных часов или генератора одноразовых паролей).

    В случае с PGP работа с ключом выглядит примерно так:
    1. Генерируется ключевая пара (открытый + секретный ключи). Генерация происходит внутри ключа на его ГСЧ. Секретная часть ключ не покидает. Открытая часть ассоциируется с пользователем.
    2. При необходимости прочитать зашифрованные данные (и при условии что сеансовый ключ был зашифрован на открытом ключе текущего пользователя, т.е. "владелец" файла "предоставил доступ" ему) проверятся воткнут ли нужный токен, и если да – запрашивается PIN. После этого ключу посылается запрос на расшифровку сеансового ключа (помним, что секретный ключ за пределы устройства не выходит), и полученный расшифрованный сеансовый ключ используется для расшифрования данных.

    Если совсем просто, то токен – это устройство, хранящее секрет. Секрет доступен, только если введен PIN. Клонировать устройство (т.е. сдублировать секрет), даже зная PIN, (должно быть) невозможно. EDIT: в случае с eToken'ом это справедливо только если секретный ключ был сгенерирован самим девайсом.

    Пожалуй, наиболее распространенный ключ – это eToken PRO. Все eToken'ы имеют стандартный интерфейс и базовый набор функций, т.е. они в основном совместимы между собой.

    Специфику OpenVPN + eToken оставляю другим, т.к. никогда не занимался. Но если продукт уже поддерживает eToken, то комплект разработчика не нужен.
     
    Последнее редактирование:

    mErLin

    RA-1103G
    AndreiB, спасибо за разъяснение

    Теперь вопрос к тем, кто пользовал OpenVPN:

    Поставил на компы OVPN 5.14. Появился дополнительный нерабочий сетевой интерфейс. Говорят, что надобно сгенерировать ключи и записать их в директорию конфига. Есть куча командных файлов для разных способов генерации. Все они хотят, чтобы на компе был OpenSSL для генерации программных ключей. А как-же аппаратный ключ? Где чего настраивать, чтобы софт работал с ним? В менюшке только про смарт-карты (насколько теперь понимаю - это эквипенисуально), которым надо ещё указывать какой-то сервер сертификата. На этом мысль останавливается...

    Мне нужна просто связь точка-точка между 2мя виндовыми компами. К сожалению, в интернете все обнаруженные вменяемые разъяснения посвящены линуксовому шаманству с неведомыми OVPN серверами.

    Кстати, на каком из 2х компов OpenVPNовских компов должен стоять ключ? Или на обоих?
     

    AndyM

    Пивной тролль
    Так, значит по порядку :)

    1. Архитектура OpenVPN такова: один из компьютеров является сервером, другой клиентом. К серверу могут подсоединиться сколько угодно клиентов. На сервере никакой аппаратный ключ не нужен, на нем хранятся только публичные ключи и сертификаты. Т.е. один из компьютеров мы делаем сервером и генерируем для него сертификат. Как это сделать, подробно описано в документации на OpenVPN.

    2. На сервере мы генерируем сертификаты и ключи для клиентов. Клиенту отдается сертификат сервера, его собственный сертификат и приватный ключ. Приватный ключ является самым секретным элементом и его утечка может дать злоумышленнику возможность соединяться с сервером. Его мы и будем запихивать в eToken.

    С еТокеном я не работал, но вроде в статье все подробно по шагам описано:

    http://acksyn.org/docs/aladdin-etoken-openvpn.html

    Сетевой интерфейс поднимется, когда OpenVPN будет запущен.