Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2014, 23:00   #1
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию Crypto API. Формат подписанного

Всем доброго. Разбираясь с подписью ЭЦП наткнулся на такую статью: http://citforum.ru/security/articles/defense/
Вопрос вызвал рисунок в разделе Электронная цифровая подпись
Смутила фраза:
Цитата:
Поэтому подписанное сообщение должно иметь структуру, показанную на рис. 11.
Вопрос: Этот протокол что стандарт? Неужели я не могу отдельно ЭЦП положить от зашифрованного файла?
Есть вообще какие-то обязательные стандарты внутренностей подписанных файлов, или структура оставляется на откуп разработчику конкретного ПО?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2014, 23:42   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Этот протокол что стандарт?
Как бы да. Придумали что-то лучше?

Это идеально минимальный вариант передачи данных с участием ЭЦП.

Стандарты... хм.. ну если сможешь без второй части ключа декодировать пакет, то да... наверное есть стандартны. Однако тут по голове всеравно разрабы СКЗИ получат, а не те кто обмен данными написал, хотя и эти тоже. Что допусти возможность отжать передачу. OpenSSL к примеру.

Однако если данные будут перегоняются медленно, то по шапке огребать уже тебе. Особенно если пакеты частенько теряются.

Код:
type
  TCrypdoDataPacker = record 
    num:Integer;  //Номер пакета
    signId:Integer; //ID, тип ЭЦП(если их вагон)
    BodySize:Integer; //Размер файла
    Body:dummyData; //Файл
    signSize:Integer; //Размер подписи
    sign:DummyData; //Подпись
  end;
Подписываешь каждый кусок файла по X кб, не отсылаешь же слона через игольное ушко, так?

На сервере пакет читается, и пытается декодироваться.

Преимущество:
1. Тотальный контроль данных
2. Высокая скорость передачи и обработки
3. Этим могут заниматься сразу несколько серверов одновременно(приминать фрагменты, передавать куда-то внутрь системы и сам это дело дефрагментируется в сущность).
4. Битый пакет можно попросить ещё раз


Цитата:
или структура оставляется на откуп разработчику конкретного ПО
Да, если иного не требуют какие-то стандартны при разработке некого ПО. Иначе сам все придумываешь

Последний раз редактировалось Человек_Борща; 19.10.2014 в 23:50.
Человек_Борща вне форума Ответить с цитированием
Старый 20.10.2014, 06:29   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Неужели я не могу отдельно ЭЦП положить от зашифрованного файла?
А смысл?
Сейчас термин ЭЦП стал употребляться реже. Пишут и говорят просто ЭП.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 20.10.2014, 07:27   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну я вообще-то думал так. Шифровку и ее хеш(хеши) с подписями отсылать по другому каналу. А на серваке получать эти два файла и по одному проверять и собирать другой.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.10.2014, 07:38   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Ну я вообще-то думал так. Шифровку и ее хеш(хеши) с подписями отсылать по другому каналу. А на серваке получать эти два файла и по одному проверять и собирать другой.
Это сложней - Вам вот уже 2 канала нада . Да и зачем? Все равно оба файла можно отследить и попытаться провести манипуляции, смысл же в другом, верно?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 20.10.2014, 07:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да, но сложнее отследить два канала. И потом если посолить хеши до длины самого сообщения какеру придется разбираться что именно он получил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.10.2014, 07:51   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Ну я вообще-то думал так. Шифровку и ее хеш(хеши) с подписями отсылать по другому каналу.
Казус: Подпись пришла - файл нет, или наоборот

ЭЦП формирует не хеш, а карту. Потому без второй ключ-пары с сервера, бесполезно пытаться расшифровать блок данных.

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

Сервер получает блок, находит свою часть ключа ЭП, для сервера. А далее просто пробудет декодировать фрагмент данных по указанной карте. Получилось - профит, не получилось - фэил, просим повторить блок или отказываем в передаче вообще.

Передавать сигнатуру отдельно от файла не имеет смысла:
1. Файл целиком, отдельно от ЭЦП может придти битым.
2. ЭЦП может придти битой.
3. Что-то может вообще не дойти.
4. Зачем гонять слонов через игольные ушки?
5. Отжал целый файл с сигнатурой - уже успех для кракера. Осталось разобраться что к чему.

Цитата:
Да, но сложнее отследить два канала.
Неа. Сложней перехватить передачу документа по 50 кб, в 5 сокетов на разные сервера. Вот что и сложнее и прикольнее в реализации. Да и по определению передаст файл быстрее, чем 1 по 250 кб.

Последний раз редактировалось Человек_Борща; 20.10.2014 в 07:54.
Человек_Борща вне форума Ответить с цитированием
Старый 20.10.2014, 10:00   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ясно. Идею фтопку.
Ладно не буду страдать маразмом, пусть даже аккадемически, пойду протоптанным путем.
Вот бы еще научиться понимать как работать с сертификатами. Видимо время покажет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.10.2014, 10:09   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Вот бы еще научиться понимать как работать с сертификатами.
Сразу практически или в теории?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 20.10.2014, 10:16   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Вот бы еще научиться понимать как работать с сертификатами. Видимо время покажет.
В смысле?
На OpenSSL по тренеруйтесь.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт XML, подписанного ЭЦП в VBA baza383 Microsoft Office Excel 1 06.10.2014 12:25
AES-128 (Crypto API) не шифрует Abrokadawr Общие вопросы Delphi 0 05.11.2012 13:57
[C++] Как использовать библиотеку crypto++ by_Trojan Общие вопросы C/C++ 0 10.05.2012 09:07
Вэб страница незапускает апплет как подписанный (signed) после запуска и скрытия первого подписанного апплета CodeGust Общие вопросы по Java, Java SE, Kotlin 0 14.10.2011 03:30