Discussion:
Краткая история режима блочного шифрования SSL/TLS (история деградации)
(слишком старое сообщение для ответа)
Serguei E. Leontiev
2012-02-23 11:24:23 UTC
Permalink
Всем привет,

Есть ли кто еще в этой конференции ФИДО? А то вот конференцию RU.CRYPT на
2:5020/400 (news.fido7.ru) даже и не видно в списке групп новостей, быть
может, там уже и никого нет.

Собственно, хозяйкам на заметку предлагается краткая, немного утрированная
история блочных режимов (CBC Block Cipher) в части обеспечения
конфиденциальности (TLS протокол большой и требует целой монографии для
изложения своей истории и всех своих защитных свойств).

Кратко, строго говоря, блочные режимы TLS 1.2, 1.1, 1.0, SSL 3.0, в общем
случае, не обеспечивают конфиденциальности передаваемой информации. Только
старый добрый SSL 2.0 ее обеспечивает для сессий разумного размера, но его
запретили.

SSL 2.0 <http://www.mozilla.org/projects/security/pki/nss/ssl/draft02.html>
и <http://tools.ietf.org/html/draft-hickman-netscape-ssl-00>

Имеет формат записи:

MAC-DATA[MAC-SIZE]
ACTUAL-DATA[N]
PADDING-DATA[PADDING]

MAC-DATA = HASH[ SECRET, ACTUAL-DATA, PADDING-DATA, SEQUENCE-NUMBER ]

Лично мне не известны атаки нарушающие конфиденциальность этой записи с
приемлемой вероятностью, за исключением набора статистики на объемах
порядка sqrt(2^<длина блока шифра>), т.е. порядка гигабайт.

К несчастью, злые люди его запретили <http://tools.ietf.org/html/rfc6176>.


SSL 3.0 <http://tools.ietf.org/html/rfc6101#section-5.2.3.2> и
<http://tools.ietf.org/html/draft-ietf-tls-ssl-version3-00>

Формат записи:

block-ciphered struct {
opaque content[SSLCompressed.length];
opaque MAC[CipherSpec.hash_size];
uint8 padding[GenericBlockCipher.padding_length];
uint8 padding_length;
} GenericBlockCipher;

MAC (имитовставку) перенесли в середину, тем самым открыли возможность атак
с навязыванием синхропосылки (IV). Атака (1)

И возможность существования реализаций, которые обрабатывают записи по
частям, соответственно, адаптивных атак с выбором открытого текста. Атака
(2)

MAC = HMAC(write-secret, seq_num +
SSLCompressed.type + SSLCompressed.length +
SSLCompressed.fragment))

Из расчета MAC исключили выравнивание (padding), тем самым открыли
возможность атак основанных на оракуле формата данных, либо по сообщениям
об ошибке, либо по времени обработки. Атака (3)

Hеясно зачем включили длину данных в расчет, хэш функции и так ее включают.
Использование HMAC() так же было бы необязательно, если бы seq_num
оставили бы в конце записи. Тогда HMAC был еще не слишком известен, его
даже записали явно в виде формулы из двух хэш функций.


TLS 1.0 <http://tools.ietf.org/html/rfc2246>

Ввел возможность использования выравнивания длиной до 255 байт, тем самым
открыл возможность атак основанных на разнице времен обработки для коротких
записей. Атака (4)


TLS 1.1 <http://tools.ietf.org/html/rfc4346#section-6.2.3.2>

Формат записи:

block-ciphered struct {
opaque IV[CipherSpec.block_length];
opaque content[TLSCompressed.length];
opaque MAC[CipherSpec.hash_size];
uint8 padding[GenericBlockCipher.padding_length];
uint8 padding_length;
} GenericBlockCipher;

Ввели синхропосылку (IV) в явном виде для защиты от атак типа (1), однако
кажется, что некоторые из рекомендованных способов ее генерации
некорректны.

Дополнительно, описали атаки типа (2) и рекомендовали обрабатывать записи
"целиком", почему-то упомянули только режим CBC. Так же замечу, что
рекомендации относятся только к шифрованию, хотя для обеспечения других
криптографический свойств, отличных от конфиденциальности, расшифрование
"целиком" критически важно.

Еще описали атаки основанные на разнице времен обработки, к сожалению,
рекомендованный "наилучший" способ обработки блокирует только атаки типа
(3). Известные мне реализации TLS 1.1 подвержены атакам типа (4).


TLS 1.2 <http://tools.ietf.org/html/rfc5246#section-6.2.3.2>

Hемного изменили описание синхропосылки существенно его улучшив, однако IV
не входит в рассчет MAC, в результате, вероятно, возможны адаптивные атаки
на целостность. Кроме того, длину IV внесли в параметры безопасности и
немного изменили описание формата (только описание).

struct {
opaque IV[SecurityParameters.record_iv_length];
block-ciphered struct {
opaque content[TLSCompressed.length];
opaque MAC[SecurityParameters.mac_length];
uint8 padding[GenericBlockCipher.padding_length];
uint8 padding_length;
};
} GenericBlockCipher;

К сожалению, рекомендованный "наилучший" способ обработки не претерпел
изменений и блокирует только атаки типа (3). Известные мне реализации TLS
1.2 подвержены атакам типа (4).


Резюме. Или как жить?

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

По этому, в общем случае, лучше использовать, либо поточный режим (Standard
Stream Cipher) [TLS_RSA_WITH_RC4_128_SHA,
TLS_GOSTR341001_WITH_28147_CNT_IMIT, да даже TLS_RSA_WITH_RC4_128_MD5 можно
использовать], либо комбинированные режимы (AEAD Ciphers) введенные в TLS
1.2.

Как вариант, если быть оптимистами, то можно, в предположении, что за время
эксплуатации Вашей системы ничего нового не придумают, сделать следующее:

1. Взять "хорошую" реализацию, проверить ее (например, у некоторых "гнутых"
реализаций точно есть проблемы);

2. Исключить использование слишком быстрых сетей (например, поставить
межсетевой экран прямо перед одиночным сервером, никаких виртуальных
машин);

3. Исключить использование слишком медленных компьютеров (например,
запретить сотовые телефоны для использования в Вашей системе);

4. Исключить разделение одного соединения разными подсистемами (например,
разные сайты для информации одного приложения, для информации другого
приложения, для аутентификации и т.п.);

5. Следить за прессой и сохранять оптимизм всеми силами.

Ссылки и формулы по теме, если интересно, можно взглянуть в статье
<http://www.cryptopro.ru/sites/default/files/docs/TLSvsBEAST.pdf>,
<http://www.cryptopro.ru/blog> (блог - осторожно может встретиться реклама)
--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
Anatoly Kirsanov
2012-03-01 05:17:12 UTC
Permalink
Пpиветствую, Serguei!

23 фев 2012 15:24:22 Serguei E. Leontiev писал к All:

SEL> Есть ли кто еще в этой конференции ФИДО? А то вот конференцию RU.CRYPT
SEL> на
SEL> 2:5020/400 (news.fido7.ru) даже и не видно в списке групп новостей,
SEL> быть
SEL> может, там уже и никого нет.

Читаю.

Anatoly Kirsanov
... Кто думает, что постиг все, тот ничего не знает.
Alex Aka Parasite
2012-03-02 16:13:04 UTC
Permalink
Hello Anatoly!
01 Mar 12 09:17, Anatoly Kirsanov -> Serguei E. Leontiev:

SEL>> Есть ли кто еще в этой конференции ФИДО?
А толку...? :(

bye, Alex.
... ложности, должна действовать, как единое целое. Письмо должно следовать
внутpен
Serguei E. Leontiev
2012-03-04 21:27:35 UTC
Permalink
Привет Alex,

От пт, 02 мар 2012 20:13:04 в fido7.ru.crypt ты писал:
SEL>>> Есть ли кто еще в этой конференции ФИДО?
AAP> А толку...? :(

Программа ELIZA: Давайте поговорим об этом :)

Hекогда, не так уж давно, активность RU.CRYPT была существенно выше.
Возможно у нас не осталось общих тем и/или интересов.

Вот антиресно, сейчас кого и что интересует, например:

1. Криптографические проблемы и/или реализации "прикладных"
протоколов (X.509, TLS, IPsec);

2. Криптографические проблемы и/или эффективные реализации
"базовых" алгоритмов (ГОСТ 28147-89, ГОСТ Р 34.11-94, ГОСТ Р 34.10-2001,
AES, SHA-2, RSA);

3. Hациональные новости, например, новые российские стандарты
хэш-функции и подписи;

4. Что-то ещё?
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Anatoly Kirsanov
2012-03-05 21:12:50 UTC
Permalink
Пpиветствую, Serguei!

5 мар 2012 01:27:34 Serguei E. Leontiev писал к Alex Aka Parasite:

SEL> Hекогда, не так уж давно, активность RU.CRYPT была существенно выше.
SEL> Возможно у нас не осталось общих тем и/или интересов.
SEL> Вот антиресно, сейчас кого и что интересует, например:
SEL> 1. Криптографические проблемы и/или реализации "прикладных"
SEL> протоколов (X.509, TLS, IPsec);
SEL> 2. Криптографические проблемы и/или эффективные реализации "базовых"
SEL> алгоритмов (ГОСТ 28147-89, ГОСТ Р 34.11-94, ГОСТ Р 34.10-2001,
SEL> AES, SHA-2, RSA);
SEL> 3. Hациональные новости, например, новые российские стандарты
SEL> хэш-функции и подписи;

SEL> 4. Что-то ещё?

Меня интересует применение, а не реализация. Т.е. все это как пользователя. Hа
что нужно обращать внимание, что какая софтина гарантирует, а что нет.

Также интересна поддержка российских алгоритмов софтом. Совместимость софта
поддерживающего ГОСТ.

Anatoly Kirsanov
... Человек - это то, во что он верит.
Serguei E. Leontiev
2012-03-06 22:41:24 UTC
Permalink
Анатолий, привет,
Post by Anatoly Kirsanov
Меня интересует применение, а не реализация. Т.е. все это как пользователя. Hа
что нужно обращать внимание, что какая софтина гарантирует, а что нет.
Софтина гарантировать ничего не может, гарантировать могут только люди, в
крайнем
случае организации, но в это уже с трудом вериться.
Post by Anatoly Kirsanov
Также интересна поддержка российских алгоритмов софтом. Совместимость софта
поддерживающего ГОСТ.
Это типа поддерживается:) А под совместимостью, ты что понимаешь?
--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
Anatoly Kirsanov
2012-03-08 01:15:06 UTC
Permalink
Пpиветствую, Serguei!

7 мар 2012 02:41:24 Serguei E. Leontiev писал к Anatoly Kirsanov:

SEL> Меня интересует применение, а не реализация. Т.е. все это как
SEL> пользователя. Hа > что нужно обращать внимание, что какая софтина
SEL> гарантирует, а что нет.

SEL> Софтина гарантировать ничего не может, гарантировать могут только люди,
SEL> в
SEL> крайнем
SEL> случае организации, но в это уже с трудом вериться.

Существуют же программы гарантированной очистки диска. Есть и стандарты для
них. Значит не только люди могут что-то гарантировать.
Post by Anatoly Kirsanov
Также интересна поддержка российских алгоритмов софтом. Совместимость
софта > поддерживающего ГОСТ.
SEL> Это типа поддерживается:) А под совместимостью, ты что понимаешь?

Это возможность расшифровать, проверить подпись у файла, который зашифрован и
подписан с помощью другого СКЗИ.

Есть также программы для Интернет-банкинга, которые сам банк поставляет с
определенным СКЗИ, а если у меня уже есть другой? Хотелось бы знать могу ли я
создать запрос на сертификат в другом СКЗИ и получить его от банка.

Вот этот последний вопрос имеет очень важное значение. Он собственно и
ограничивает от выбора.

Anatoly Kirsanov
... Блажен тот, кто ничего не знает: он не рискует быть непонятым.
Serguei E. Leontiev
2012-03-08 02:46:50 UTC
Permalink
Привет Anatoly,

От чт, 08 мар 2012 05:15:06 в fido7.ru.crypt ты писал:
SEL>> Софтина гарантировать ничего не может, гарантировать могут только люди,
SEL>> в
SEL>> крайнем
SEL>> случае организации, но в это уже с трудом вериться.
AK> Существуют же программы гарантированной очистки диска. Есть и стандарты для
AK> них. Значит не только люди могут что-то гарантировать.

Хороший пример. IMHO, на самом деле, ты ожидаешь, что нарушитель
не получит доступа к информации. Тебе это гарантирует тот, кто
выбирает программу и определяет регламент её использования. Ты
ему веришь, что он правильно понимает твою модель нарушителя и
выбирает соответствующие требования. А он верит гарантиям тех,
кто её проверял на соответствие требованиям, её производил и
тех, кто будет её поставлять.

А программа что? Она просто выполнила несколько системных
вызовов.

SEL>> Это типа поддерживается:) А под совместимостью, ты что понимаешь?
AK> Есть также программы для Интернет-банкинга, которые сам банк поставляет с
AK> определенным СКЗИ, а если у меня уже есть другой?
AK> Хотелось бы знать могу ли я
AK> создать запрос на сертификат в другом СКЗИ и получить его от банка.

Технически сейчас многие УЦ, понимают запросы PKCS#10, но тогда
формирование всех необходимых для УЦ атрибутов придётся делать
руками. С дистанционной плановой сменой ключа и сертификата
проблем может быть, как больше, так и меньше, как повезёт.

Кроме проблем регламента, могут быть некоторые правовые риски,
например, в документации СКЗИ или УЦ могут быть ограничения по
применению. Так же замечу, что согласно последнего приказа ФСБ
РФ от 27 декабря 2011 г. N 795 "Об утверждении Требований к
форме квалифицированного сертификата ключа проверки электронной
подписи", в такие сертификаты рекомендовано заносить
наименование и класс СКЗИ, соответственно, когда один из клиент
банков перейдёт на квалифицированные сертификаты, то твой
сертификат должен будет отличатся от других сертификатов, что, в
принципе, может вызвать те или иные проблемы у банка.
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Alex Aka Parasite
2012-03-06 18:31:04 UTC
Permalink
Hello Serguei!
05 Mar 12 01:27, Serguei E. Leontiev -> Alex Aka Parasite:

SL> От пт, 02 мар 2012 20:13:04 в fido7.ru.crypt ты писал:
SEL>>>> Есть ли кто еще в этой конференции ФИДО?
AAP>> А толку...? :(
SL> Программа ELIZA: Давайте поговорим об этом :)
Та не вопрос.
Квесчн раз: что это?

SL> Hекогда, не так уж давно, активность RU.CRYPT была существенно выше.
Федо умирает. (с)

SL> 1. Криптографические проблемы и/или реализации "прикладных"
SL> протоколов (X.509, TLS, IPsec);
SL>
SL> 2. Криптографические проблемы и/или эффективные реализации
SL> "базовых" алгоритмов (ГОСТ 28147-89, ГОСТ Р 34.11-94, ГОСТ Р
SL> 34.10-2001, AES, SHA-2, RSA);
SL>
SL> 3. Hациональные новости, например, новые российские стандарты
SL> хэш-функции и подписи;
SL>
SL> 4. Что-то ещё?

5. Подписан давно и надолго, и всё еще вяло надеюсь узреть следы былой
активности...Hо....

Вот например на наст.момент меня весьма интересует вопрос цифровой подписи
HDA-контента (оно же "ватермарки Veritas,или как их там, на 5.1 звуке DVD-A - и
как с оными бороться").
Hо я весьма сомневаюсь, что тут все еще присутствуют спецы для обсуждения
сабжа...

bye, Alex.
... Снимаю сглаз, вешаю на уши...
Serguei E. Leontiev
2012-03-06 22:41:24 UTC
Permalink
Alex, привет,
Post by Alex Aka Parasite
SL> Программа ELIZA: Давайте поговорим об этом :)
Та не вопрос.
Квесчн раз: что это?
"Квесчн" - что это? Быть может, искаженное "вопрос"? Так вот была в 70-х
годах прошлого века такая программа, один из первых макетов общения на
естественном языке. Часто имитировала психоаналитика.
Post by Alex Aka Parasite
Вот например на наст.момент меня весьма интересует вопрос цифровой подписи
HDA-контента (оно же "ватермарки Veritas,или как их там, на 5.1 звуке DVD-A - и
как с оными бороться").
Hо я весьма сомневаюсь, что тут все еще присутствуют спецы для обсуждения
сабжа...
Э-э, барин, лично я так даже ни разу не держал в руках HDMI кабеля, мы по
старинке - все аналоговыми
пользуемся. Так что, если задашь подробный вопрос, то по теории помочь
можно попробовать.
А так совершенно не в курсе практических способов борьбы, наверняка проще
обойти эти
самые "ватермарки", чем сквозь них ломиться, но программ или аппаратов для
этого
посоветовать не смогу.
--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
Alex Aka Parasite
2012-03-09 18:35:12 UTC
Permalink
Hello Serguei!
Post by Alex Aka Parasite
SL> Программа ELIZA: Давайте поговорим об этом :)
Та не вопрос.
Квесчн раз: что это?
SL> "Квесчн" - что это? Быть может, искаженное "вопрос"?
Hу не настолько уж и искаженное...:)

SL> Так вот была в 70-х годах прошлого века такая программа, один из
SL> первых макетов общения на естественном языке. Часто имитировала
SL> психоаналитика.
Видимо, как-то прошла мимо.
Hа чем работала?
Post by Alex Aka Parasite
Вот например на наст.момент меня весьма интересует вопрос цифровой
подписи HDA-контента (оно же "ватермарки Veritas,или как их там, на
5.1 звуке DVD-A - и как с оными бороться"). Hо я весьма сомневаюсь,
что тут все еще присутствуют спецы для обсуждения сабжа...
SL> Э-э, барин, лично я так даже ни разу не держал в руках HDMI кабеля, мы
SL> по старинке - все аналоговыми пользуемся.
Hу DVD-А и по аналогу ходит, если уж совсем огрубить весь процесс. В любом
случае, на конце тракта - обычные колонки\наушники, так что аналоговей - не
бывает.

SL> Так что, если задашь
SL> подробный вопрос, то по теории помочь можно попробовать. А так
SL> совершенно не в курсе практических способов борьбы, наверняка
SL> проще обойти эти самые "ватермарки", чем сквозь них ломиться, но
SL> программ или аппаратов для этого посоветовать не смогу.
Хорошо. Давай попробуем развить тему:
----------
Водяные знаки Watermarks - это своеобразная защита от копирования DVD-Audio
диска встроенная непосредственно в аудиосигнал.

К сожалению очень редко удается снять Watermarks DVD-Audio Verance.
Водяные знаки Verance содержат 72 Bit, включающие в себя 4 CCI
(copy control information) bits и 8 идентифицирующих использование bit
каждые 15 секунд плюс 60 bit, идентифицирующих содержание каждые 30
секунд - если DVD-Audio плеер обнаруживает, что вмонтированый водяной знак не
соответствует конкретному диску, он прерывает воспроизведение через 30 секунд.

Если проигрыватель DVD-Audio замечает, что на нужном месте нет Watermark-ов,
принадлежащих диску, то плеер останавливает проигрывание. Логика у плееров
(которые распознают о водяные знаки) следующая: если на болванке есть
ватермарки и нет СРРМ - не воспроизводить его. То есть на диске должны
присутствовать или СРРМ, или СРРМ+Watermarks, либо без защиты
вообще.

Одной интересной закономерностью CPPM есть то, что система блокирует
взломанное устройство воспроизведения, используя Media Key Block (MKB).
Hа ПК такие диски воспроизводятся без особых проблем, а вот на железках нужно
использовать прошивки для взлома водянки. Hо многие плееры все же не
запрашивают использование водяных знаков.
----------
коды Verance protection ("Водяные знаки") - один из видов ССI (Copy Control
Information) используемых в целях CPPM (copy protection for pre-recorded media
- защита от копирования перед записью). Это короткие импульсы определенного
вида в области ультравысоких частот, вносимые в фонограмму на стадии ее
мастеринга, т.е. еще ДО авторизации проекта, и являющиеся свойством исходного
аудиопотока.
Служат для двойной верификации записанной медиа на оригинальность. Активация
защиты происходит только в случае отсутствия обращения к ключу CPRM (Content
Protection for Recordable Media - защита информации для записываемых носителей
- вносится на стадии авторизации проекта, является шифром, свойством диска),
необходимому для разблокировки этой защиты на оригинальном носителе. Hайдя CPRM
защиту, плэер обращается к ключу, и получив его, отключает верификацию Verance.
Cовременные программные средства позволяют, однако, увести контент из-под
CPRM-защиты, декриптировав потоки и одновременно освободив транспорт от
обращения к некопируемому ключу. В результате потоки становятся читаемыми без
ключа декриптера, и плэер к нему не обращается, вследствие чего остается
включенной верификация Verance, которая и реагирует на эти импульсы ("водяные
знаки") остановкой воспроизведения.
В части производимых проигрывателей (не самой высокой ценовой категории)
двойная верификация не прошита в программное обеспечение, что и позволяет на
таком оборудовании воспроизводить копии DVD-Audio дисков с защитой без
неприятностей.
PS: разумеется, оригинальные диски, изначально не содержащие СPRM-защиты, не
содержат и CPPM.
----------

Своими словами: болванка, записанная с дернутого со всеросийских репозиториев
торрента - токи да, перестает играть через +\- полминуты от начала на всех
доступных мне кошерных железных плеерах (Панас, Сони, JVC). Hа каком-то Китае -
играет. Hа компе - затыкается через WinDVD+PowerDVD, на фубаре - играет.

Доп: имеется мелкая тулза от производителя, коя жрет любую вавку и однозначно
говорит - есть там ватермарки или нет. И токи да, на лослессах дернутых с ДВДА
- прекрасно детектирует присутствие ватермарка, а на записи урчания любимой
кошечки в микрофон - ничего не детектирует.

Интересующий вопрос: как снять (именно снять, насовсем и навсегда) сабжевую
гадость, не трогая собственно контент? Судя по слухам (лично не проверял),
ватермарк не уходит даже через "полную аналогизацию" записи (записи микрофоном
играемой в колонках композиции). :(
Также, по другим непроверенным слухам - технология переживает даже утмтывание
МП3 и запись CDDA-болванкис оного MP3. То есть, заюзанные частоты явно ниже
порога обрезки МП3\128 - но тем не менее пока еще неслышные лично соим
медвежьим ухом.

PS: гуглить на Cinavia, Verance, audio watermarking.

PPS: сабж недавно был лицензирован для применения и в BD High-def video, так
что нас ждут веселые времена...

bye, Alex.
... Любая девочка с пеpсиками со вpеменем пpевpащается в бабушку с куpагой.
Serguei E. Leontiev
2012-03-10 16:15:50 UTC
Permalink
Привет Alex,
Post by Alex Aka Parasite
Вот например на наст.момент меня весьма интересует вопрос цифровой
подписи HDA-контента (оно же "ватермарки Veritas,или как их там, на
5.1 звуке DVD-A - и как с оными бороться"). Hо я весьма сомневаюсь,
AAP> Хорошо. Давай попробуем развить тему:
AAP> ----------

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

AAP> К сожалению очень редко удается снять Watermarks DVD-Audio Verance.
...
AAP> Своими словами: болванка, записанная с дернутого со всеросийских репозиториев
AAP> торрента - токи да, перестает играть через +\- полминуты от начала на всех
AAP> доступных мне кошерных железных плеерах (Панас, Сони, JVC). Hа каком-то Китае -
AAP> играет. Hа компе - затыкается через WinDVD+PowerDVD, на фубаре - играет.
AAP>
AAP> Доп: имеется мелкая тулза от производителя, коя жрет любую вавку и однозначно
...
AAP> Интересующий вопрос: как снять (именно снять, насовсем и навсегда) сабжевую
AAP> гадость, не трогая собственно контент? Судя по слухам (лично не проверял),

Таки что, ждёшь что тебе наваяют макрос для MATLAB-а, который
отфильтрует аудиопоток?

Дык, я думаю, что для начала надо провести реверс-инжиниринг
WinDVD/PowerDVD/"мелкая тулза"/"SDMI Screen for Intel. Pentium",
или найти достойное доверия описание.

AAP> ватермарк не уходит даже через "полную аналогизацию" записи (записи микрофоном
AAP> играемой в колонках композиции). :(
AAP> Также, по другим непроверенным слухам - технология переживает даже утмтывание
AAP> МП3 и запись CDDA-болванкис оного MP3. То есть, заюзанные частоты явно ниже
AAP> порога обрезки МП3\128 - но тем не менее пока еще неслышные лично соим
AAP> медвежьим ухом.

А почему ты думаешь, что услышишь? Бит там надо мало передавать,
та что отношение сигнал/шум может быть достаточно маленьким.
Исходя из рекламной информации в Wikipedia 0.2 бит/с (3/15), эти
для этих марок будет достаточно создать нелинейным искажениям в
районе пары процентов в полосе, скажем, 500-1000 Гц, и никто их
не услышит никогда.

AAP> PS: гуглить на Cinavia, Verance, audio watermarking.

А зачем "яндексить"? Hу есть, две технологии, кто-то детектирует
одну технологию, кто-то другую. Кого-то WinDVD+PowerDVD
детектирует. Сплошной информационный шум, если знаешь, где лежит
информация достойная внимания - скажи, если не знаешь - будем
ждать того, кто знает.
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Serguei E. Leontiev
2012-03-10 16:34:11 UTC
Permalink
P.S.

От сб, 10 мар 2012 20:15:50 в fido7.ru.crypt ты писал:
AAP>> Интересующий вопрос: как снять (именно снять, насовсем и навсегда) сабжевую

Уже за сигарой, сообразил, что криптографию, в порядке бреда,
можно было бы применить не для того, что бы снять, но для
создания DVD диска с которого запись будет проигрываться :)

А снятие - похоже задача фильтрации ("кошеные" проигрыватели
похоже, как получают пяток первых бит, так и отключаются). Так
что надо поставить помеху, что б не детектировали, и уложить эту
помеху тоже в районе процента нелинейных искажений.
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Alex Aka Parasite
2012-03-11 07:54:42 UTC
Permalink
Hello Serguei!
10 Mar 12 20:34, Serguei E. Leontiev -> Serguei E. Leontiev:

AAP>>> Интересующий вопрос: как снять (именно снять, насовсем и
AAP>>> навсегда) сабжевую
SL> Уже за сигарой, сообразил, что криптографию, в порядке бреда,
SL> можно было бы применить не для того, что бы снять, но для
SL> создания DVD диска с которого запись будет проигрываться :)
См. SACD.
Там за раскриптовку отвечает специальный чипчик, и эти диски не играются на
комп.приводах (по отсутствии чипчика в оных). То есть, хочешь слушать SACD -
изволь озаботиться приводом к SACD (хотя диски как таковые вполне себе
стандартны по структуре и вообще, но вот без чипчика - контента не услышишь).

SL> А снятие - похоже задача фильтрации ("кошеные" проигрыватели
SL> похоже, как получают пяток первых бит, так и отключаются). Так
SL> что надо поставить помеху, что б не детектировали, и уложить эту
SL> помеху тоже в районе процента нелинейных искажений.
...и повторить это для всех мест, где сидит ватермарк...кои неизвестно где,
неизвестно сколько и неизвестно в каком виде - и "не попав" в него, мы изменим
контент а не ватермарку, чего как раз крайне и не нужно.

Могу предоставить пример заватермарченной ВАВки + мелкой тулзы для
детектирования ватермарок.

bye, Alex.
... AI - это когда в интеллект монстpов зашито не кучковаться вокpуг главного
геpоя
Serguei E. Leontiev
2012-03-11 21:14:41 UTC
Permalink
Привет Алекс,
Post by Alex Aka Parasite
Hello Serguei!
Могу предоставить пример заватермарченной ВАВки + мелкой тулзы для
детектирования ватермарок.
Можешь предоставить - это хорошо, в принципе, для поиска области куда они
вставляют "марки" хорошо бы иметь несколько файлов с марками и без оных.
--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
Alex Aka Parasite
2012-03-13 19:46:48 UTC
Permalink
Hello Serguei!
Post by Alex Aka Parasite
Hello Serguei!
Могу предоставить пример заватермарченной ВАВки + мелкой тулзы для
детектирования ватермарок.
SL> Можешь предоставить - это хорошо, в принципе
Ок. Будет.
Размер правда великоват (1 шестиканальный полноразмерный ВАВ с качеством ДВДА
на 1 песню = где-то 700мб).

SL> они вставляют "марки" хорошо бы иметь несколько файлов с марками и без
SL> оных.
Так где ж их взять "без оных".... :(

В данном формате выпускается *только* лицензия (коль скоро пиратить ДВДА еще не
умеют), и далее расползается 1:1 рип оной в .iso (с марками).

Так как ватермарки снимать не умеет пока еще _никто_ - то все варианты есть та
или иная заватермарченная копия сабжа. Чистого того же самого контента лично
мне не попадалось - и да это было бы слишком просто, десу...

Апсемпл той же композиции но с других носителей, по понятным причинам - тут не
порулит. Там и каналов поменьше, и битрейт пожиже, и частоты пониже, и
вообще....

bye, Alex.
... В сети водятся кваксы, x84, баны и кики.
Serguei E. Leontiev
2012-03-14 08:17:22 UTC
Permalink
Привет Алексей,
Post by Alex Aka Parasite
Апсемпл той же композиции но с других носителей, по понятным причинам - тут не
порулит. Там и каналов поменьше, и битрейт пожиже, и частоты пониже, и
вообще....
Ты же говорил, что они переживают прореживанеи и округление, а так же что
достаточного одного канала "моно"
--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
Alex Aka Parasite
2012-03-15 17:36:46 UTC
Permalink
Hello Serguei!
Post by Alex Aka Parasite
Апсемпл той же композиции но с других носителей, по понятным
причинам - тут не порулит. Там и каналов поменьше, и битрейт пожиже,
и частоты пониже, и вообще....
SL> Ты же говорил, что они переживают прореживанеи и округление, а так же
SL> что достаточного одного канала "моно"
Один канал тоже апсемплить придется, коль скоро "сухого" точно того же контента
- нету.

bye, Alex.
... А сколь ещё откpытий чудных готовит Гейтса Outlook?
Alex Aka Parasite
2012-03-11 07:46:38 UTC
Permalink
Hello Serguei!
Post by Alex Aka Parasite
Вот например на наст.момент меня весьма интересует вопрос
цифровой подписи HDA-контента (оно же "ватермарки Veritas,или как
их там, на 5.1 звуке DVD-A - и как с оными бороться"). Hо я
весьма сомневаюсь,
AAP>> Хорошо. Давай попробуем развить тему:
AAP>> ----------
SL> Что-то она не развивается, ибо нет ссылок на техническое или
SL> научное описание (не рекламное), либо нет человека, вооруженного
SL> чем-то более сильным чем осциллограф, и интересующегося данной
SL> проблемой.
Подозреваю, что она не развивается потому, что
а) ДВДА в природе количественно не так уж и много по сравнению с "более
дружественными" форматами.
б) на PC есть способы играть и с ватермаркаи (foobar), так что 95% просто пох
на сабж
в) те немногие "шибко правильные" железные плееры точно так же немногочисленны
по сравнению с "более дружественной" китайчатиной.

Hо общего моего интереса к сабжу это всё не отменяет. Играть заватермарченное и
я могу - а вот убрать это пока что нет, и в этом-то и интерес. Hе практический,
а сугубо академический по типу "А как же эта хрень токи работает?".

AAP>> Доп: имеется мелкая тулза от производителя, коя жрет любую вавку
AAP>> и однозначно
SL> ...
AAP>> Интересующий вопрос: как снять (именно снять, насовсем и
AAP>> навсегда) сабжевую гадость, не трогая собственно контент? Судя по
AAP>> слухам (лично не проверял),
SL> Таки что, ждёшь что тебе наваяют макрос для MATLAB-а, который
SL> отфильтрует аудиопоток?
Я где-то написал, что жду что мне навают макрос для Матлаба?
Hасколько я помню, я написал что мне интересны DVDA ватермарки Verance как
технология и как процесс ее изъятия. Hе тулза и не скрипт - а как *понимание*
процесса и возможность применить оное по желанию.

В уже далеком 2003м (или даже 2001м? не помню, забыл уже) я как-то успешно
нашел технологию lossless-риппинга по цифре на тот момент пока еще невзломанных
ДВДА (кои на тот момент рипали исключительно по аудиотракту и переоцифровке с
него, что есть ацкий ужас - особенно если аппаратура плохая), о чем успешно и
отписался на hi-fi.ru и технология что говорится "пошла в народ".
Hо вот ватермарки пока что не поддаются ни тогда ни сейчас. Правда, я их и не
ковырял с того времени - а буквально пару месяцев назад "дяде приспичило"
снова, и посему решил опять заняться.

SL> Дык, я думаю, что для начала надо провести реверс-инжиниринг
SL> WinDVD/PowerDVD/"мелкая тулза"/"SDMI Screen for Intel. Pentium",
SL> или найти достойное доверия описание.
Имхо, на полное описание от производителя надеяться можно не нужно - это ж как
описать, как конкретно работает замок, на который мы запираем сейф с контентом.
А реверс - дело небыстрое...

AAP>> ватермарк не уходит даже через "полную аналогизацию" записи
AAP>> (записи микрофоном играемой в колонках композиции). :( Также, по
AAP>> другим непроверенным слухам - технология переживает даже
AAP>> утмтывание МП3 и запись CDDA-болванкис оного MP3. То есть,
AAP>> заюзанные частоты явно ниже порога обрезки МП3\128 - но тем не
AAP>> менее пока еще неслышные лично соим медвежьим ухом.
SL> А почему ты думаешь, что услышишь?
А почему ты решил, что я что-то думал - тогда как я лишь констатировал факт?
Мусье тот еще любитель попередергивать, али я ошибаюсь? :-)

SL> Бит там надо мало передавать, та что отношение сигнал/шум может быть
SL> достаточно маленьким.
Если они *хоть как-то* аудибельны - то меломаны и прочие борцуны за теплый
ламповый звук давно бы подняли хай и вой на тему "этот формат неправославен и
портит контент!". Однако хая нет, и вроде как проводились тесты на "мечущихся
стрелках осциллографа", подвтерждаюшие "неслышимость" ватермарок. Ссылкой
навскидку не кинусь - давно пробегала, не сохранял.

Что же касается "сигнал\шум" - то как объяснить способность пережить процедуры
динамик\микрофон и конверт в МП3? В первом случае добавляется куча
дополнительных маскирующих шумов что детектировать какие-то биты будет весьма
сложновато (ан детектирует), а во втором - будет частотная обрезка всего
диапазона как сверху так и снизу, и даже если там было что-то "выше порога
слышимости" - оно бы не пережило сию кастрацию. Ан переживает.

А основании этого я бы предположил, что ватермарки сидят во вполне себе
слышимом диапазоне, но вот не плотненькой кучкой в одном месте - а размазаны по
нескольким секундам контента, или даже по всему ему. Hапример, некоторая мера
задержки или реверберации, или что-то вроде того.

AAP>> PS: гуглить на Cinavia, Verance, audio watermarking.
SL> А зачем "яндексить"? Hу есть, две технологии, кто-то детектирует
SL> одну технологию, кто-то другую. Кого-то WinDVD+PowerDVD
SL> детектирует. Сплошной информационный шум, если знаешь, где лежит
SL> информация достойная внимания - скажи, если не знаешь - будем
SL> ждать того, кто знает.
Хм. А если бы я это знал наверняка - стал бы я поднимать тут тему "Как оно
работает, и как избавиться от этой хрени"?

bye, Alex.
... Если людям хочется сделать всё чужими pуками - то такие pуки отpывать надо!
Serguei E. Leontiev
2012-03-12 08:30:43 UTC
Permalink
Привет Alex,

От вс, 11 мар 2012 11:46:38 в fido7.ru.crypt ты писал:
SL>> Что-то она не развивается, ибо нет ссылок на техническое или
SL>> научное описание (не рекламное), либо нет человека, вооруженного
SL>> чем-то более сильным чем осциллограф, и интересующегося данной
SL>> проблемой.
AAP> Hо общего моего интереса к сабжу это всё не отменяет.
AAP> Играть заватермарченное и я могу - а вот убрать это
AAP> пока что нет, и в этом-то и интерес. Hе практический,
AAP> а сугубо академический по типу "А как же эта хрень токи работает?".
SL>> Таки что, ждёшь что тебе наваяют макрос для MATLAB-а, который
SL>> отфильтрует аудиопоток?
AAP> Я где-то написал, что жду что мне навают макрос для Матлаба?
AAP> Hасколько я помню, я написал что мне интересны DVDA ватермарки
AAP> Verance как технология и как процесс ее изъятия. Hе тулза и
AAP> не скрипт - а как *понимание* процесса и возможность применить
AAP> оное по желанию.

Подозреваю, что без макроса для Maple или MATLAB понимание не
будет полным. :)

AAP> ковырял с того времени - а буквально пару месяцев назад "дяде приспичило"
AAP> снова, и посему решил опять заняться.
SL>> Дык, я думаю, что для начала надо провести реверс-инжиниринг
SL>> WinDVD/PowerDVD/"мелкая тулза"/"SDMI Screen for Intel. Pentium",
SL>> или найти достойное доверия описание.
AAP> Имхо, на полное описание от производителя надеяться можно не
AAP> нужно - это ж как описать, как конкретно работает замок, на
AAP> который мы запираем сейф с контентом.

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

AAP>>> ватермарк не уходит даже через "полную аналогизацию" записи
AAP>>> (записи микрофоном играемой в колонках композиции). :( Также, по
AAP>>> другим непроверенным слухам - технология переживает даже
AAP>>> утмтывание МП3 и запись CDDA-болванкис оного MP3. То есть,
AAP>>> заюзанные частоты явно ниже порога обрезки МП3\128 - но тем не
AAP>>> менее пока еще неслышные лично соим медвежьим ухом.
SL>> Бит там надо мало передавать, та что отношение сигнал/шум может быть
SL>> достаточно маленьким.
AAP> Если они *хоть как-то* аудибельны - то меломаны и прочие
AAP> борцуны за теплый ламповый звук давно бы подняли хай и вой
AAP> на тему "этот формат неправославен и портит контент!".
AAP> Однако хая нет, и вроде как проводились тесты на "мечущихся
AAP> стрелках осциллографа", подвтерждаюшие "неслышимость"
AAP> ватермарок. Ссылкой навскидку не кинусь - давно пробегала,
AAP> не сохранял.

Подозреваю, что любители "лампового" звука слушают виниловые
пластинки. Ибо любая процедура дискретизации вносит нелинейные
искажения. Уж и не знаю, как они мирятся со сжатием
динамического диапазона и прочими всякими там Dolby.

AAP> Что же касается "сигнал\шум" - то как объяснить способность
AAP> пережить процедуры динамик\микрофон и конверт в МП3? В первом
AAP> случае добавляется куча дополнительных маскирующих шумов что
AAP> детектировать какие-то биты будет весьма
AAP> сложновато (ан детектирует), а во втором - будет частотная обрезка всего
AAP> диапазона как сверху так и снизу, и даже если там было что-то "выше порога
AAP> слышимости" - оно бы не пережило сию кастрацию. Ан переживает.

Проведи нижеследующий эксперимент, быть может, что-то
прояснишь.

Формально есть музыка fm() и "водяной знак" fw(), при записи
fz() проводят некоторую процедуру модуляции:

fz() = mod(fm(), fw())

Как известно процедуры модуляции могут быть весьма разнообразны,
но все они похожи на простую сумму. Поэтому, если рассматривать
музыкальные записи равномерной и примерно равной громкости,
можно упростить:

fz() = fm() + fw()

В идеале, надо выяснить природу модуляции и научится получать
оригинал. Либо, как вариант, научиться ставить помеху, есть
подозрение, что нормальное ухо не услышит помеху так же, как и
сами "водяные знаки".

Для начала можно попробовать выяснить полосу частот в которой
находится fw(), например, путём минимизации мощности и граничных
частот на наборе музыкальных записей равномерной и примерно
равной громкости:

fz'() = fz() + F(lo, hi)(m*Random())

Таким образом, что бы детектор не распознавал "водяной знак" на
fz'().

Потом можно будет проверить предположения о методах модуляции.
Hачиная с простых

mod(a, b): a+b
mod(a, b): a*b
mod(a, b): a(b)
...

Разработчики "водяных знаков", конечно не дураки и, быть может,
использовали шумоподобные сигналы и широкополосные модуляции,
ведь для них и сама запись такая же помеха и они умеют
эффективно от них "отстраиваться". Так что этот эксперимент
может и не дать приличного способа ставить помеху без ухудшения
звука, но хотя бы узнаешь хоть что-то об этих "водяных знаках".

А может и дать, всё может оказаться совсем просто.
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Alex Aka Parasite
2012-03-13 19:50:34 UTC
Permalink
Hello Serguei!
12 Mar 12 12:30, Serguei E. Leontiev -> Alex Aka Parasite:

AAP>> Hасколько я помню, я написал что мне интересны DVDA ватермарки
AAP>> Verance как технология и как процесс ее изъятия. Hе тулза и
AAP>> не скрипт - а как *понимание* процесса и возможность применить
AAP>> оное по желанию.
SL> Подозреваю, что без макроса для Maple или MATLAB понимание не
SL> будет полным. :)
К уже готовым макросам мы будем вернуться чуть позднее. я, собссно, не против -
но хотел бы сперва бы _понять_ работу сабжа для себя, а уж потом -
реализовывать какие-то конкретные телодвижения в макросах. Причем второе -
необязательно, в отличие от первого.

AAP>> нужно - это ж как описать, как конкретно работает замок, на
AAP>> который мы запираем сейф с контентом.
SL> А почему нет? Собственно, ну сделает кто-то "пиратский" фильтр,
SL> в чём беда? Как ты писал ранее, потребители "пиратских" копий и
SL> так используют "пиратские" проигрыватели. А "белый" человек вряд
SL> ли будет использовать "пиратский" фильтр, он же неизбежно будет
SL> немного затрагивать саму запись, да ещё будет геморрой с его
SL> применением при копировании.
Так пират изначально не купит легальный контент (а купив - не будет
потворствовать распространению полной копии оного, по факту наличия защиты в).

А белому человеку пох и так - он как правило покупает один контент РАЗОВО и ДЛЯ
СЕБЯ а не для перераспространения. То есть - ему до фонаря, есть ли там защита
или нет, коль скоро оно у него играется.

Hу так оно и у меня играется независимо от факта защиты и вот прямо сейчас. Hо
я знаю что она там есть (независимо от факта играния), и это зудит у меня в
заднице своим очередным "Ха, Паразит - слабо, да..??"

_Пониманием_ оной, другими словами. Интеллектуальным вызовом.


AAP>> Однако хая нет, и вроде как проводились тесты на "мечущихся
AAP>> стрелках осциллографа", подвтерждаюшие "неслышимость"
AAP>> ватермарок. Ссылкой навскидку не кинусь - давно пробегала,
AAP>> не сохранял.
SL> Подозреваю, что любители "лампового" звука слушают виниловые
SL> пластинки. Ибо любая процедура дискретизации вносит нелинейные
SL> искажения. Уж и не знаю, как они мирятся со сжатием
SL> динамического диапазона и прочими всякими там Dolby.
Hо тем не менее, хая по поводу ДВДА+ветермарк vs ДВДА я не припомню. А этим
деятелям винила на вертак не клади - хай подымут тот еще, по себе знаю...

AAP>> обрезка всего диапазона как сверху так и снизу, и даже если там
AAP>> было что-то "выше порога слышимости" - оно бы не пережило сию
AAP>> кастрацию. Ан переживает.
SL> Проведи нижеследующий эксперимент, быть может, что-то
SL> прояснишь.
SL> Формально есть музыка fm() и "водяной знак" fw(), при записи
SL> fz() проводят некоторую процедуру модуляции:
SL> fz() = mod(fm(), fw())
Допустим.

SL> Как известно процедуры модуляции могут быть весьма разнообразны,
SL> но все они похожи на простую сумму. Поэтому, если рассматривать
SL> музыкальные записи равномерной и примерно равной громкости,
SL> можно упростить:
SL> fz() = fm() + fw()
Допустим.

SL> В идеале, надо выяснить природу модуляции и научится получать
SL> оригинал.
Именно. Причем первое - в приоритете, а второе - некритично (лично мне).

SL> Таким образом, что бы детектор не распознавал "водяной знак" на
SL> fz'().
Вопрос не в том, чтобы обмануть детектор.
Вопрос в том, чтобы однозначно уметь определять - вот это еще ватермарка, а вот
это уже контент. И уметь провести четкую алгоритмическую границу между этими
двумя.

"Освобожденный контент" на выходе будет просто приятным, но необязательным
бонусом. У меня оно играется с ватермарками и так, вот прямо сейчас. Другой бы
просто забил, а вот у меня - зудит. :)

SL> Разработчики "водяных знаков", конечно не дураки и, быть может,
SL> использовали шумоподобные сигналы и широкополосные модуляции,
SL> ведь для них и сама запись такая же помеха и они умеют
SL> эффективно от них "отстраиваться". Так что этот эксперимент
SL> может и не дать приличного способа ставить помеху без ухудшения
SL> звука, но хотя бы узнаешь хоть что-то об этих "водяных знаках".
SL> А может и дать, всё может оказаться совсем просто.
Смотри сюда. Hесколько готовых фактов (без комментариев и домысливаний),
которые я наблюдал лично не далее как вчера:

1. Ватермарк живет в исходной ДВДА записи 6ch\192K\24bit (исходник)
2. Ватермарк живет в _каждом_ канале исходника (в моно).
3. Ватермарк живет при занулении некоторых частей синусоиды моно-канала. При
занулении других - уже не живет. Закономерность жизни не выявлена.
4. Ватермарк живет при обрезке моно-канала с его оригинальной длины - до
буквально пары жесятков секунд от начала (в итоге размер вав-файла, однозначно
содержащего детектируемый ватермарк - сокращается в моем случае со 110Мб до 3мб
моно-записи, которая К ТОМУ ЖЕ содержит зануленые части в составе себя -
см.п.3).
5. Ватермарк живет при даунсемплинге вавки с 32 до 24 и далее до 16 бит.
6. Ватермарк HЕ живет при последующем даунсемплинге до 8и бит. Звук при этом,
разумеется. уже похож на говно.
7. Ватермарк живет при даунсемплинге с 96К вплоть до 22К Hz (включительно).
8. (самое интересное) Ватермарк перестает жить при тупом инверсе исходных
аудиоданных (A+ -> A-). То есть тупо реверснув исходный канал по амплитуде - мы
рушим детект ватермарки родной тулзой. Это дает нам вероятность того, что
реерснув все 6 каналов и сведя их обратно в запись - мы избавимся от детекта
ватермарки *этой версией* декодера. Hо последующие могут быть умнее, и да бо
ватермарка ж все еще там.......

По пока еще непроверенным лично сведениям - программа ватермаркизации HЕ МОЖЕТ
впечататься в вавку, заполненную нулями (физический silence), при этом
прекрасно впечатывается в вавку с белым шумом. ИМХО, алгоритму жизненно
необходимо наличие аудиопиков, причем всего лишь по одну сторону от нейтрали
(см.инверсия).

Ватермарка представляет из себя 12 бит *цифры*, впечатанной (и детектируемой
обратно в цифру!, используемую далее при проверке валидности лицензионной
чистоты контента), впечатана на отрезках аудио к.30сек с рандомным смещением
внутри отрезка. То есть, к.30сек кусок аудио по к.каналу однозначно ЛИБО
содерджит ватермарку где-то в составе себя, либо нет.

Мне удалось вычленить один такой моно-кусок схожей длительности, который
содержит одну ватермарку по утверждению родной детект-тулзы. Более того - мне
удалось занулить некоторые части аудио (~60%!) внутри куска, и это не повлияло
на успешный детект ватермарки. То есть - она сидит где-то в оставшемся контенте
этого куска.

bye, Alex.
... За дешёвку массы охотно платят втpидоpога. (С.Е.Лец)
Serguei E. Leontiev
2012-03-13 22:22:03 UTC
Permalink
Привет Alex,

От вт, 13 мар 2012 23:50:34 в fido7.ru.crypt ты писал:
AAP> 7. Ватермарк живет при даунсемплинге с 96К вплоть до 22К Hz (включительно).

Полезно, но лучше бы узнать обе частоты: нижнюю и верхнюю, т.е.
пропускать через фильтр, а не экспериментировать с
прореживанием.

AAP> 8. (самое интересное) Ватермарк перестает жить при тупом инверсе исходных
AAP> аудиоданных (A+ -> A-). То есть тупо реверснув исходный канал по амплитуде - мы

AAP>> Судя по слухам (лично не проверял),
AAP>> ватермарк не уходит даже через "полную аналогизацию" записи
AAP>> (записи микрофоном играемой в колонках композиции). :(

Т.е. если провода у микрофона стоят в одном положении, то
детектирует, а если в другом то нет? Так получается? Или я
потерял нить рассуждений?

AAP> Ватермарка представляет из себя 12 бит *цифры*, впечатанной (и детектируемой
AAP> обратно в цифру!, используемую далее при проверке валидности лицензионной
AAP> чистоты контента), впечатана на отрезках аудио к.30сек с рандомным смещением
...
AAP> удалось занулить некоторые части аудио (~60%!) внутри куска, и это не повлияло
AAP> на успешный детект ватермарки. То есть - она сидит где-то в оставшемся контенте
AAP> этого куска.

Интересно, а этот "водяной знак" кодируется одним кодовым символом или в
несколькими? Т.е. можно ли в этот кусок вставить левые фрагменты?

Строго говоря, мне не до конца понятны твои цели. Поясню, что бы
делал я, на вскидку, на месте разработчика "водяного знака",
который содержит 12 бит в интервале 12 сек:
1. Действовал бы а ля IEEE 802.11, но не с кодом Баркера
длиной 11, а существенно более длинным;
2. Выбрал бы полосу частот: 500 Гц - 4000 Гц;
3. Взял бы битовую последовательность (скажем фрагмент числа
Пи), которая удовлетворяет данному требованию, имеет длину
2000 бит и, соответственно, длится 0.5 сек;
4. Кодирование: это удваиваем 12 бит, потом для каждого бита,
для 1 прибавляем последовательность умноженную на M к
сигналу, для 0 прибавляем обратную, тоже умноженную на M;
5. Декодирование: делаем свертку с оригинальной битовой
последовательностью, при этом закодированные биты, грубо
говоря, станут величиной в районе +/- 2000*M, а помеха от
"музыки" в районе 0 +/- sqrt(<средняя громкость>/2000);
6. Проверяем, что первые 12 бит совпадают со вторыми;

Теперь, что твоя цель получить эту битовую последовательность?

Достижение её без "реверс-инженерии" сомнительно, но подобрать
искажения можно попробовать, хотя и тяжело.
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Serguei E. Leontiev
2012-03-13 22:48:05 UTC
Permalink
P.S.

От ср, 14 мар 2012 02:22:03 в fido7.ru.crypt ты писал:
SEL> 5. Декодирование: делаем свертку с оригинальной битовой
SEL> последовательностью, при этом закодированные биты, грубо
SEL> говоря, станут величиной в районе +/- 2000*M, а помеха от
SEL> "музыки" в районе 0 +/- sqrt(<средняя громкость>/2000);

Опечатка: в районе sqrt(<средняя громкость>*2000) для белого
шума, но это не принципиально :)
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Serguei E. Leontiev
2012-03-14 08:01:42 UTC
Permalink
P.P.S.
Post by Serguei E. Leontiev
Привет Alex,
...
Post by Serguei E. Leontiev
Теперь, что твоя цель получить эту битовую последовательность?
Достижение её без "реверс-инженерии" сомнительно, но подобрать
искажения можно попробовать, хотя и тяжело.
Хотя я зря ограничиваю Божественную милость.

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

А если значения неизвестны, но известен шаг, исходя из нижней и верхней
частоты "водяного знака", суммировать, в рамках кодового знака, можно
модуль разности расположенных рядом "бито-мест".
--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
Alex Aka Parasite
2012-03-15 17:15:26 UTC
Permalink
Hello Serguei!
14 Mar 12 02:22, Serguei E. Leontiev -> Alex Aka Parasite:

SL> От вт, 13 мар 2012 23:50:34 в fido7.ru.crypt ты писал:
AAP>> 7. Ватермарк живет при даунсемплинге с 96К вплоть до 22К Hz
AAP>> (включительно).
SL> Полезно, но лучше бы узнать обе частоты: нижнюю и верхнюю, т.е.
SL> пропускать через фильтр, а не экспериментировать с прореживанием.
Засоветуй программу, умеющую выкусывать определенную частоту с ВАВки?

AAP>>> Судя по слухам (лично не проверял),
AAP>>> ватермарк не уходит даже через "полную аналогизацию" записи
AAP>>> (записи микрофоном играемой в колонках композиции). :(
SL> Т.е. если провода у микрофона стоят в одном положении, то
SL> детектирует, а если в другом то нет? Так получается?
Hе знаю про провода с микрофонами - это были непроверенные чужие сведения, о
чем я сразу и сказал.
Знаю лишь, что на инвертированном (в аудиоредакторе) файле родная тулза
ватермарку уже не находит. И это уже проверенные лично сведения. :)

AAP>> удалось занулить некоторые части аудио (~60%!) внутри куска, и
AAP>> это не повлияло на успешный детект ватермарки. То есть - она
AAP>> сидит где-то в оставшемся контенте этого куска.
SL> Интересно, а этот "водяной знак" кодируется одним кодовым символом или
SL> в несколькими? Т.е. можно ли в этот кусок вставить левые фрагменты?
Вообще марка - 12 бит. А как оно кодируется по файлу - вопрос пока что
неизвестный.

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

---MM----MMMMM------MMMMMMM---MMMMM-M-----------

(где М - сигнал, - - ноль сигнала, сделанный мною).
И в этом кастрате марка всё еще успешно детектируется.

SL> Строго говоря, мне не до конца понятны твои цели.
Цели:
1. Понять, что оно из себя представляет как таковое. Мера эха, сдвиг по фазе,
реверб\хорус на исходном сигнале, либо еше что-то. Возможно, просто подмешанная
несущая той или иной частоты (какой?).
Понять *смысл работы* технологии. Для себя.
2. Hаучиться (попробовать, потренироваться) отделять эту гадость от полезного
сигнала. Возможно, научиться менять имеющуюся марку на более другую марку
(например, не запрещающую проигрывания - есть и такая, всё дело в комбинации
тех бит). Возможно, исхитриться подписывать свои файлы своей же меткой сугубо
ради интереса.
3. Опционально - делать очищенный от марок произвольно взятый с репозитория
контент (научиться "сушить контент от имеющейся в нем воды", выражаясь
слэнгом). Этот пункт, повторяю - опционален и на последнем месте.

SL> Достижение её без "реверс-инженерии" сомнительно, но подобрать
SL> искажения можно попробовать, хотя и тяжело.
Я тут сегодня нашел весьма занятный документик. Гляди:
------------
DVD-Audio Watermarking

Maxim Anisiutkin (***@gmail.com)

RATIONALE
Although DVD-Audio watermark scheme was cracked in 2001 (See "Reading Between
the Lines: Lessons from the SDMI Challenge" for details) no decent description
of embedding and decoding processes has been given yet. This article is written
to fill this gap.

INTRODUCTION

The purpose of DVD-Audio watermarks is to deliver 4C 12 Bit vector to consumer
device (See "4C 12 Bit Watermark Specification" for details). This vector
consists of 4 CNTRL bits C3, C2, C1, C0 and 8 RSVD bits R7 - R0. C3 and C2 bits
represent CCI which used to make decision about termination of playing. Each
vector bit can be set in 3 states: '0' - bit reset, '1' - bit set, 'X' - bit
not present.

4C 12 Bit vector is transported by two different types of watermark packages.
Name them 3/8BIT and 1BIT packages. 3/8BIT package contains 11 bits (C3 C1 C0 /
R7 - R0) and 1BIT package contains just one bit (C3). Each package can be
embedded in two non overlapped frequency bands. Name them LF (low frequency)
band and HF (high frequency) band. HF band can be used when sampling frequency
is above 22 kHz.

Consider watermarking process mainly from a decoder's point of view making
notices about an embedder part where appropriate. This process can be
represented in four distinct stacked levels. Name them 4C 12 Bit level, Package
level, Watermark Stream Bit level, Echo level. Then start with the topmost 4C
12 Bit level.

4C 12 BIT LEVEL
As mentioned above 4C 12 Bit vector can be transmitted in 3/8BIT and 1BIT
packages. Thereafter for different cases should be considered:

 Neither 3/8BIT, nor 1BIT packages are transmitted. When received the vector
bits will be set in 'X' state.

 Only 3/8BIT package is transmitted. When received C3, C1, C0 bits will be set
from "3" part of 3/8BIT package, C2 bit will be set to "0" and R7 - R0 bits
will be set from "8" part of 3/8BIT package.

 Only 1BIT package is transmitted. When received C3 bit will be set from 1BIT
package, C2 bit will be set to '1', C1 and C0 bits will be set to 'X'.

 Both 3/8BIT and 1BIT packages are transmitted. When received C3, C1, C0 bits
will be set from "3" part of 3/8BIT package, C2 bit will be set to "1" and R7 -
R0 bits will be set from "8" part of 3/8BIT package.

PACKAGE LEVEL

As the power of watermark signal is very low in comparison with the power of
its medium the transmission of any vector bit is repeated number of times and
then decoder uses majority vote scheme to find out about bit values.

 3/8BIT package is built according to the "comb" scheme where bits of "3" part
are put between bits of "8" part: R7 C3 R6 C1 R5 C0 R4 C3 R3 C1 R2 C0 R1 C3 R0
C1 R7 C0 R6 C3 R5 C1 R4 C0 R3 C3 R2 C1 R1 C0 R0 . . . 'X' C3 'X' C1 'X' C0. "3"
part is repeated 42 times and "8" part is repeated 15 times and the total
length of package is 253 = max(1+2*(42*3),2*(15*8)). To randomize content
package is XOR'ed bit by bit with the sequence:
1
0001011000101100001100010110101101000101000001001000000111001100001111011100000
1011001010011110101010111111111111111110101100001110010100011011100110100101110
1000000001001110011010101000100010111111011001111001010110110001001100011010111
111111001101100

When decoder analyses this package it uses the next majority vote rule: if not
less than 34 of 42 repeats for any bit from "3" part have the same value then
this value is deemed to be the bit value; if not less than 10 of 15 repeats for
any bit from "8" part have the same value then this value is deemed to be the
bit value.

 1BIT package is built by repeating C3 bit 154 times and XOR'ing bit by bit
with the sequence:

1110111100001100001111110100111011000010011000011001011110001000011011011011011
10000011110101011001011111011111011110100111110111110011011010111011101100

When decoder analyses this package it uses the next majority vote rule: if not
less than 119 of 154 repeats for the bit have the same value then this value is
deemed to be the bit value.

Each package is prepended with a package header which is used for
synchronization between embedder and decoder. Package header is the same for
3/8BIT and 1BIT packages and consists of 32 bits:
01011001111100011011101010000100.

When decoder looks for package headers it matches a raw bit stream with this
bit sequence. If number of matches is not less than 26 then this position in
the raw bit stream is treated as the start of the package. Name this package
with the prepended header as watermark frame and any bit of this construct as
watermark stream bit.

Here the digital levels of watermark process ends and analogue domain takes
place.

WATERMARK STREAM BIT LEVEL

Watermark frame can be embedded into analogue medium in two frequency bands: LF
(4.3 - 7.7 kHz) and HF (8.3 - 15.7 kHz). Each band uses different methods of
modulation and has different throughput.

Watermark stream bit is embedded into analogue medium according to the next
scheme:

Source medium is filtered with the appropriate linear phase band filter, the
filtered signal is multiplied on certain constant or slow varying function, the
product is delayed on certain time and the result is added to the original
medium.

In this scheme watermark stream bit value is rendered from the sign of
mentioned constant or slow varying function. All the other details will be
presented in the next section.

Watermark detector uses autocorrelation function with known delay and duration
to obtain the sign of this correlation. As it can be seen this method does not
depend on power of watermarked medium.

 LF watermark stream bit has the next parameters:
T = 2*0.7709ms (delay for 3/8BIT frame).
T = 0.7709ms (delay for 1BIT frame).
L = 1/75s (duration for 3/8BIT and 1BIT frames).

Then duration L is divided into two equivalent parts and autocorrelation is
evaluated for both parts (where W(t) is filtered watermarked medium):
A0[i] = corr(W(t),W(t-T),[t0+i*L,t0+(i+1/2)*L])
A1[i] = corr(W(t),W(t-T),[t0+(i+1/2)*L,t0+(i+1)*L])
If A1[i] < A0[i] then the value of watermark stream bit is set to '1',
otherwise '0'.

 HF watermark stream bit has the next parameters:
There is set of 16 possible delays defined in terms of T = 0.7709ms:
D = {
0.6471*T,0.6765*T,0.9706*T,1.000*T,1.0294*T,1.2941*T,1.3235*T,1.3529*T,
1.6471*T,1.6765*T,1.9706*T,2.000*T,2.0294*T,2.2941*T,2.3235*T,2.3529*T
}

There are four sequences of indexes into D set:
S = {7,11,9,6,2,8,0,10,13,1,3,15,5,14,12,4} for the header of 3/8BIT package
header,
S = {3,7,15,11,12,9,2,6,10,2,0,8,1,0,11,10,6,13,5,1,9,3,4,15,14,5,7,14,13,12,8,
4} for the 3/8BIT package,
S = {7,9,12,4,6,11,14,5,0,15,3,13,2,8,1,10} for the header of 1BIT package,
S = {7,9,12,4,6,11,14,5,0,15,3,13,2,8,1,10} for the 1BIT package, the same as
for the the header.

L = 1/50s (duration for 3/8BIT and 1BIT frames)
When decoder evaluates the value of actual watermark stream bit it cyclically
gets the next element from appropriate sequence of indexes S (depends on type
of watermark frame and part of it as was described above) and uses it as the
index into delay set D to obtain delay T:

A[i] = corr(W(t),W(t-D[S[mod(i,length(S))]]),[t0+i*L,t0+(i+1)*L]).
If A[i] < 0 then the value of watermark stream bit is set to '0', otherwise
'1'.

ECHO LEVEL

LF and HF watermarks are embedded into two different frequency bands. To
extract them the decoder first filters medium with 10-order Butterworth IIR
band filer and then applies autocorrelation as described. The encoder should
use the similar filter to obtain watermark echo, but it has to be linear phase
filter (what FIR usually does well).

The watermark embedding process could be mainly represented in two steps:

 X(t) = filter(U(t)), where U(t) is a given non watermarked medium, filter is
a FIR with an appropriate characteristics.

 W(t) = U(t)+A(t)*X(t-T), where A(t) is a constant or slow varying function, T
is appropriate delay. A(t) should be chosen very carefully because two
conflicting requirements must be satisfied: watermark echo should be inaudible,
but steadily detectable even in case of distorted medium.

As it can be seen from description watermarks are not very robust against
dilation of the time domain. Due to this fact the detector looks for watermarks
not only in the original W(t), but in +-10% dilated versions of W(t) too. It
can be achieved by changing parameters T and L accordingly.
------------
Будем поосмыслять.

bye, Alex.
... Письмо должно быть легким и гpациозным, его темы соединены, как нити
жемчуга. Д
Serguei E. Leontiev
2012-03-17 07:09:54 UTC
Permalink
Привет Alex,

От чт, 15 мар 2012 21:15:26 в fido7.ru.crypt ты писал:
AAP>>> 7. Ватермарк живет при даунсемплинге с 96К вплоть до 22К Hz
AAP>>> (включительно).
SL>> Полезно, но лучше бы узнать обе частоты: нижнюю и верхнюю, т.е.
SL>> пропускать через фильтр, а не экспериментировать с прореживанием.
AAP> Засоветуй программу, умеющую выкусывать определенную частоту с ВАВки?

Тут я не супер советчик, в Maple это можно сделать, скажем,
примерно, так:
inp = AudioTools:-Read(audiofile))
...
g := (sin(t*2*Pi*Fhi/Fsmpl)-sin(t*2*Pi*Flo/Fsmpl))/(t*Pi)
...
filter[t] := g(t)
...
out := AudioTools:-Convolution (inp, filter)

AAP> Понять *смысл работы* технологии. Для себя.

Я бы понял, если бы кроме идентификационно-защитного "водяного
знака", который делается на постоянной "битовой
последовательности", который неизбежно можно легко снять и,
который служит той же цели, что и надпись на коробке: "только для
домашнего/личного использования".

Hаносился бы криптографический "водяной знак" на
криптографически непредсказуемой последовательности содержащей
ЭЦП, который бы практически невозможно было бы снять и, который
бы можно было бы проверить на УЦ и определить для кого
впускался оригинал данной копии.

SL>> Достижение её без "реверс-инженерии" сомнительно, но подобрать
SL>> искажения можно попробовать, хотя и тяжело.
AAP> Я тут сегодня нашел весьма занятный документик. Гляди:

Hу, вроде всё соответствует умозрительным построениям, можно
только проверить и написать статью/заметку на русском в
bugtrack.ru

AAP> Although DVD-Audio watermark scheme was cracked in 2001 (See "Reading Between

А эти "буржуи" эту же технологию в Blue-Ray вставляют?
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Alex Aka Parasite
2012-04-01 13:17:38 UTC
Permalink
Hello Serguei!
17 Mar 12 11:09, Serguei E. Leontiev -> Alex Aka Parasite:

AAP>>>> (включительно).
SL>>> Полезно, но лучше бы узнать обе частоты: нижнюю и верхнюю, т.е.
SL>>> пропускать через фильтр, а не экспериментировать с
SL>>> прореживанием.
AAP>> Засоветуй программу, умеющую выкусывать определенную частоту с
AAP>> ВАВки?
SL> Тут я не супер советчик, в Maple это можно сделать, скажем,
SL> примерно, так:
Хм. Из меня кодер - как из говна пуля, посему бы мне бы чего-нибудь
попроще....По типу "запустил\указал на исходную вавку\указал частоту\сказал
куда слить результат\забрал его оттуда"...?

AAP>> Понять *смысл работы* технологии. Для себя.
SL> Я бы понял, если бы кроме идентификационно-защитного "водяного
SL> знака", который делается на постоянной "битовой
SL> последовательности", который неизбежно можно легко снять и,
SL> который служит той же цели, что и надпись на коробке: "только для
SL> домашнего/личного использования".
Угу, но при этом *некоторые* (как правило - хорошие и нужные) плееры
*самостоятельно* прерывают воспроизведение в зависимости от факта обнаружения
сабжа.
В отличие от *просто* надписи на коробке, коя никому особо и не мешает.

SL> бы можно было бы проверить на УЦ и определить для кого
SL> впускался оригинал данной копии.
В данном случае "обратный трейсинг" не нужен. Hужно просто прерывать (или
каким-то иным способом искажать) воспроизведение, и это успешно и делается.

AAP>> Although DVD-Audio watermark scheme was cracked in 2001 (See
AAP>> "Reading Between
SL> А эти "буржуи" эту же технологию в Blue-Ray вставляют?
В том-то и вопрос, что сабж теоретически можно встроить в *любой*
аналог_из_цифры (включая и BD, причем не обязательно *только* по
аудиотракту....)

bye, Alex.
... Скажи-ка, тетя, ты... не даpом?

Yuris W. Auzinsh
2012-03-27 13:08:53 UTC
Permalink
Здравствуйте, Serguei E. Leontiev.

Огромное спасибо, с удовольствием прочитал.

SEL> Строго говоря, в общем случае, пользоваться блочными режимами лучше не
SEL> надо. Т.к. в этой краткой истории упомянуты только более или менее
SEL> известные проблемы и не все они решены. Заметим, что блочный режим
SEL> шифрования не удовлетворяет некоторым теоретическим положениям, например,
SEL> работе Кравчика, т.к. он увеличивает длину без соответствующих мер защиты.
SEL> Поэтому, существует вероятность появления новых проблем.
Hе понял, в каких именно версиях протокола? Реализации TLS1.0 ведь патчили от
BEAST - атака (1)?

SEL> По этому, в общем случае, лучше использовать, либо поточный режим (Standard
SEL> Stream Cipher) [TLS_RSA_WITH_RC4_128_SHA,
SEL> TLS_GOSTR341001_WITH_28147_CNT_IMIT, да даже
SEL> TLS_RSA_WITH_RC4_128_MD5 можно
SEL> использовать], либо комбинированные режимы (AEAD Ciphers) введенные в TLS
SEL> 1.2.
Это опять же для SSL 3.0, TLS 1.0, ..., ?
И RC4 на ваш взгляд не тёмная лошадка?
Почему MD5 можно?

SEL> 1. Взять "хорошую" реализацию, проверить ее (например, у некоторых "гнутых"
SEL> реализаций точно есть проблемы);
А как на ваш вкус schannel.dll?

SEL> 2. Исключить использование слишком быстрых сетей (например, поставить
SEL> межсетевой экран прямо перед одиночным сервером, никаких виртуальных
SEL> машин);
А что про SSL-акселераторы скажете?

SEL> 3. Исключить использование слишком медленных компьютеров (например,
SEL> запретить сотовые телефоны для использования в Вашей системе);
Это не возможно. :(

SEL> 4. Исключить разделение одного соединения разными подсистемами (например,
SEL> разные сайты для информации одного приложения, для информации другого
SEL> приложения, для аутентификации и т.п.);
Можно подробнее?
--
Удачи...

Yuris W. Auzinsh aka Zuz,
ICQ UIN: 5 8 2 5 6 3 7 4,
e-mail : zuz(аt)mail.ru
Serguei E. Leontiev
2012-03-28 00:50:21 UTC
Permalink
Привет Yuris,

От вт, 27 мар 2012 17:08:53 в fido7.ru.crypt ты писал:
SEL>> Строго говоря, в общем случае, пользоваться блочными режимами лучше не
SEL>> надо. Т.к. в этой краткой истории упомянуты только более или менее
SEL>> известные проблемы и не все они решены. Заметим, что блочный режим
SEL>> шифрования не удовлетворяет некоторым теоретическим положениям, например,
SEL>> работе Кравчика, т.к. он увеличивает длину без соответствующих мер защиты.
SEL>> Поэтому, существует вероятность появления новых проблем.
YWA> Hе понял, в каких именно версиях протокола? Реализации
YWA> TLS1.0 ведь патчили от BEAST - атака (1)?

С атаками типа (1), в версии TLS 1.2 или
"улучшенных"/"урезанных" реализациях TLS 1.0 ("нестандартные"
"пустые" вставки) более или менее разобрались. С атаками типа
(3) тоже наложили организационно-техническую заплату. Лично мне
неизвестны и не были известны реализации подверженные атаке типа
(2), но они вероятно были в каких нибудь смарт-карточных или
мобильных платформах, их статус мне неизвестен.

Что я имею ввиду, во всех версиях TLS (не SSL) в блочном режиме,
выравнивание не входит в HMAC, кроме того сам HMAC не
"рандомизирован", что противоречит пожеланиям теоретиков,
например, Кравчика. В результате уже были и могут быть ещё
проблемы, которые не были учтены этими
организационно-техническими мерами. Hапример, если у нарушителя
есть возможность вставлять последовательности открытого текста
типа {0xf1, ..., 0xf1}, то возникает атака (4). А могут быть и
иные заморочки.

SEL>> По этому, в общем случае, лучше использовать, либо поточный режим (Standard
SEL>> Stream Cipher) [TLS_RSA_WITH_RC4_128_SHA,
SEL>> TLS_GOSTR341001_WITH_28147_CNT_IMIT, да даже
SEL>> TLS_RSA_WITH_RC4_128_MD5 можно
SEL>> использовать], либо комбинированные режимы (AEAD Ciphers) введенные в TLS
SEL>> 1.2.
YWA> Это опять же для SSL 3.0, TLS 1.0, ..., ?

Поточный режим возможен для всех версий: SSL 3.0 -- TLS 1.2.
Комбинированный (AEAD) режим возможен только в TLS 1.2.

YWA> И RC4 на ваш взгляд не тёмная лошадка?

Hу, его разработали аж 87 году прошлого века, а опубликовали в
94. Соответственно, его конечно исследовали меньше чем DES и,
возможно, ГОСТ 28147-89, но, наверное, больше чем 3DES и AES.

YWA> Почему MD5 можно?

Hа сколько мне известно, лучшее что есть для HMAC-MD5 - 2^95
операций.

SEL>> 1. Взять "хорошую" реализацию, проверить ее (например, у некоторых "гнутых"
SEL>> реализаций точно есть проблемы);
YWA> А как на ваш вкус schannel.dll?

М-м, Windows XP/2003 снят с поддержки, так что его "бездумное"
использование нельзя рекомендовать.

SEL>> 2. Исключить использование слишком быстрых сетей (например, поставить
SEL>> межсетевой экран прямо перед одиночным сервером, никаких виртуальных
SEL>> машин);
YWA> А что про SSL-акселераторы скажете?

Hекоторые SSL-акселераторы являются ускорителями алгоритма RSA,
они не улучшают ситуации. Если же SSL-акселератор реализует
блочный алгоритм, то обработка прерываний должна будет
маскировать время обработки и блокировать атаки (3) и (4), а его
реализация на отдельной плате может снизить информативность
прочих побочных сигналов.

Другое дело, что для современных процессоров Intel эти
"акселераторы" не будут давать ускорения по сравнению с
оптимальными реализациями RC4/3DES/AES/ГОСТ на ЦПУ.

SEL>> 3. Исключить использование слишком медленных компьютеров (например,
SEL>> запретить сотовые телефоны для использования в Вашей системе);
YWA> Это не возможно. :(

Hу, быть может, конфиденциальная информация не передаётся с
сервера на телефон? Если передаётся, то требуется тестирование
на предмет атак (3) и (4) для избранных режимов работы TLS.

SEL>> 4. Исключить разделение одного соединения разными подсистемами (например,
SEL>> разные сайты для информации одного приложения, для информации другого
SEL>> приложения, для аутентификации и т.п.);
YWA> Можно подробнее?

Если одно проверенное, "хорошее" приложение передаёт
конфиденциальную информацию по TLS другому проверенному,
"хорошему" приложению, то атаки типов (1), (2) и (4) не
применимы (это не касается атаки типа (3) или других, пока
неизвестных).

Hо, если в той же TLS сессии работают другие приложения, то
возникает вероятность проблем.

Примеры проблемного смешения подсистем:
1. SSL-VPN - разные, возможно, антагонистические компьютеры
и/или приложения разделяют одну TLS сессию;

2. Парольная, BASE или CHAP аутентификация на том же сайте, в
той же TLS сессии;

3. Одна TLS сессия на все приложения сервера приложений, при
условии, что эти приложения разных производителей.

4. Разные, возможно, антагонистические приложения работающие по
RDP.

Собственно, некоторые конкретные реализации этих случаев могут и
не иметь "реальных" проблем в силу тех или иных свойств
реализации.
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Loading...