Оригинальный вариант взлома …

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

Расчет абсолютно верный: всякие метрики, адворды и прочие маркетинговые фигни требуют разместить очень похожее для подтверждения. Одним меньше, другим больше …

Но проблема только в одном: размещение данного кода приведет к открытию «потрохов» сайта любому желающему.

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

А вот дальнейшее не повторяйте! Я знаю, что делаю и к чему это может привести.

Я создал этот a1iqyyar9p1ep21a.php в домашнем каталоге kaloshin.ru. Посмотрю, что получится 🙂

Загадочный AES

В процессе обкатки модулей для супер-мега-экстра часов добрался до СС модулей от Texas Instruments. Документации куда больше, чем на nRF серию от Nordic, демоплатки тоже завелись без проблем.

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

There are 3 components of the encryption scheme that can be used to maintain security: the 128 bit key, a 32-bit Initialization Vector (IV) and a 32-bit counter. The key and the IV are fixed at build time.

Офигеть. Даже мне, далекому от криптографии, становится смешно. 32 бита «энтропии», которые меняются по жесткому алгоритму … Ну ладно, что там еще

The scheme encrypts 64-bit blocks using an encryption scheme available in the public domain (XTEA: EXtended Tiny Encryption Algorithm). The 64-bit block is a concatenation of the 32-bit IV and a 32-bit counter. Changing the counter for each encryption guarantees a unique block for each encryption action. The key length used in the encryption is 128 bits.

Читаю дальше …

Because SimpliciTI does not support guaranteed delivery there must be a mechanism to synchronize the counters. Otherwise correct decryption could not occur. The synchronization is done by supplying a counter hint in the frame containing the encrypted payload. The hint is a single byte representing the least significant byte (lsb) of the 4 byte counter value used to encrypt the accompanying payload. It is sent in the clear over the air.

Вот так вот просто, берут и выдают последний байт счетчика в открытом виде в воздух. Круто, разом на треть уменьшают и без того маленький «ключ»

И как-то все. В задумчивости сижу, думаю, что не так.

Потом вспоминаю рекламные зазывалки.

The CC1110’s integrated AES-128 co-processor makes it ideal for wireless payment systems, since strong encryption can be done on the chip itself

Ну AES-128 это круто. Странно, что не написали в аппноуте, как до него добраться. Но счас почитаю оставшуюся документацию.

(пропущено несколько часов ползанья по докам и исходникам)

А нигде нету ни слова про AES вообще. Печаль. Может это из-за того, что я скачивал документацию с фирменного сайта TI, а там меня спрашивали, откуда я. Вот может под какие санкции попал. Пошел спрашивать интернет.

И тут открылось обычное. На более-менее приличных сайтах, которые не занимаются тупой перепечаткой, нет ни слова про AES. Вообще.

Вот такой вот AES. То он есть, то его сразу нет …

ЗЫ И именно поэтому я не люблю маркетологов, которые уцепившись за циферку 128, сразу прилепили к ней слева магические (в 2009 году) буквы AES.

Странная штука …

Пока я тщательно выколупываю адреналин из ушей, предлагаю погадать (или просто рассказать мне), что же за странный инструмент я нашел в уазике?

strange_tool

Длина около метра-полутора, на одном конце вварен болт на 14, а другая выгнута крюком …