Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Юрий  
#11 Оставлено : 1 октября 2015 г. 13:07:12(UTC)
Юрий

Статус: Активный участник

Группы: Участники
Зарегистрирован: 22.01.2008(UTC)
Сообщений: 675
Мужчина
Российская Федерация
Откуда: Йошкар-Ола

Сказал «Спасибо»: 3 раз
Поблагодарили: 95 раз в 68 постах
Автор: Андрей * Перейти к цитате
Автор: Юрий Перейти к цитате
Автор: Андрей * Перейти к цитате
Автор: Юрий Перейти к цитате
Автор: kov Перейти к цитате
Можно ли это сделать без дописывания в конец файлов дополнительных данных, таких, например, как размер подписи.

Нельзя. Возможно создание различных, совершенно "валидных" "сигнатур подписи". То есть подпись кодируется с помощью ASN.1, а в ASN.1 длина блока может быть как обозначенной явно, так и обозначенной неявно. Также проблема в том, что ASN.1 "заточено" под декодирование с начала. Декодировать с конца абсолютно нет возможности.



Юрий, т.е. предложенный мною выше вариант (извлечь блок 2-10 кб с конца и найти начало cms, т.к. автору нельзя хранить размер подписи и ее саму отдельно, а присоединенная подпись - "не вариант") - не рабочий?

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


Они же сами себе режиссеры, нет?
Не вижу препятствий, раз не могут по нормальному использовать CryptoAPI, узаконить жесткие требования (только 1 сертификат, без цепочки, + примерный диапазон размера).

Искать "начало CMS" только на первый взгляд кажется возможным решением. Однако никогда нельзя полагаться, что требуемая последовательность байт будет отсутствовать в самом исходном файле, причём она может встречаться именно в его конце. С таким же успехом можно поискать "начало CMS" в любом произвольном массиве данных - думаю, что такое "начало" будет найдено во многих случаях.
С уважением,
Юрий Строжевский
Offline Boris@Serezhkin.com  
#12 Оставлено : 6 октября 2015 г. 14:27:15(UTC)
Boris@Serezhkin.com

Статус: Активный участник

Группы: Участники
Зарегистрирован: 26.08.2010(UTC)
Сообщений: 259
Откуда: Moscow

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 11 раз в 10 постах
Да, какие интересные решенияApplause
Искать нельзя, не искать нельзя, что найдем непонятно...Dancing
Конечно можно - нашел 0х30 проверил а не подпись ли это...
и ДАЛЕЕ ПОНИ БЕГАЕТ ПО КРУГУ...

Написал же товарисч:
Автор: kov Перейти к цитате
Я пытаюсь понять для себя надо ли дописывать в конец файла еще какую-нибудь информацию, например размер подписи или можно каким-нибудь образом обойтись без этого, чтобы получить detached подпись отдельно от данных, когда она записана в конец данных

Да тут надо дописывать длину подписи. Я бы писал длину данных и длину подписи.
В каком формате неважно. главное перед проверкой хвостик от подписи отрезатьShhh
И убедиться что этот хвостик остальное "все" не порушит.

Offline Юрий  
#13 Оставлено : 7 октября 2015 г. 12:06:12(UTC)
Юрий

Статус: Активный участник

Группы: Участники
Зарегистрирован: 22.01.2008(UTC)
Сообщений: 675
Мужчина
Российская Федерация
Откуда: Йошкар-Ола

Сказал «Спасибо»: 3 раз
Поблагодарили: 95 раз в 68 постах
Нашёл тут одно изящное решение: просто полностью перевернуть подпись перед присоединением к данным. То есть первый байт будет последним, и так далее.
В таком случае мы можем реально прочитав последние несколько килобайт данных узнать размер (и значение) собственно присоединённой к данным подписи - переворачиваем полученный блок данных и пытаемся его декодировать с помощью абсолютно обычных функций Crypto API (например).
С уважением,
Юрий Строжевский
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы<12
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.