0931454574 1 Скарга Опубліковано: 22 березня 2011 (змінено) Часто встречаю вопросы по шифрованию радиосигнала, типу используемых датчиков и т.д. В ближайшее время выложу материал по данной теме, материал с оф.сайта производителя одной из лучших GSM сигнализаций. Так что скоро увидите. А сейчас возможно у кого то припрятан материал в поддержку темы? Если остались еще нераскрытые темы в данной нише , то пишите здесь, думаю ответы будут исчерпывающими, короче говоря пишите вопросы на которые пока не встречали ответы (конечно вопросы о сигнализации, а то... знаю) Змінено 22 березня 2011 користувачем 0931454574 Поділитися повідомленням Посилання на повідомлення Поділитися на інших сайтах
0931454574 1 Скарга Опубліковано: 23 березня 2011 Плавающий код с динамической синхронизацией Система кодирования, разработанная фирмой MSS, используемая в сигнализациях MAGNUM защищена от всех известных на сегодняшний день способов и методов интеллектуального взлома охранных систем. Код «MSS» включает в себя следующие компоненты: - Статическая часть (24 разряда) - Динамическая часть (24 разряда) - Код команды (8 разрядов) - Код синхронизации (40 разрядов) Статическая часть кода представляет собой фиксированный персональный код конкретного брелока-передатчика, присваиваемый ему посредством однократного программирования при производстве микросхем-кодеров. Тут нет никаких отличий от кода системы «KeeLoq». Код команды – код, несущий информацию о том, какие кнопки брелока нажаты. Тут уже есть небольшие отличия от системы «KeeLoq», но они связаны исключительно с расширением возможностей по управлению. Код команды в системе кодирования «MSS» обеспечивает передачу информации о нажатии любой комбинации кнопок брелока, а также информации о трёх типах удержания кнопок брелока. Динамическая часть кода являет собой результат работы 24-х разрядного двоичного счетчика, изменяющегося при каждом прохождении кода. В системе кодирования «KeeLoq» динамическая часть кода изменяется при каждом новом нажатии кнопок брелока, а в системе «MSS» динамическая часть кода непрерывно изменяется даже в течение одной короткой радиопосылки. Для повышения криптоустойчивости статическая и динамическая части кода, а также код команды подвергаются целому ряду простейших операций, таких как сдвиг, перемешивание битов, масочная инверсия и т.п. преобразованиям. Здесь нет ничего особенно революционного. Код синхронизации системы кодирования «MSS» представляет собой совокупность контрольных битов преобразованных статической, динамической частей кода и кода команды. Порядок контроля определяется статической частью кода, то есть является индивидуальным для каждого брелока. А вот это – как раз та важная изюминка, которой в системах «KeeLoq» нет и быть не может. Процесс генерации кода имеет некоторые специфические особенности. Начало выдачи кода на модулятор брелока-передатчика подчиняется случайному закону и код начинается с любого из 96-ти разрядов. После выдачи 96-го разряда кода изменяется его динамическая часть и, следовательно, код синхронизации. Непосредственно за 96-м разрядом «старого» кода следует 1-й разряд «нового». Число выданных сплошным потоком кодов зависит от длительности удержания кнопки брелока. Окончание выдачи кода – также процесс случайный – брелоки обеспечивают себе автоматическую поддержку питания для маскирования факта окончания выдачи последнего кода: кодовая посылка завершится произвольным образом на любом из 96-ти разрядов искусственно добавленного окончания кода. Таким образом, физически код представляет собой сплошную, непрерывно изменяющуюся последовательность импульсов без фиксированного начала и окончания, не имеющую синхроимпульсов или синхропауз и не обладающую периодом повторения. К тому же в системе кодирования «MSS» не используется автоматическая синхронизация декодеров по двум, по трём или по какому-либо другому числу подряд перехваченных радиокоманд. Всё это делает принципиально невозможным анализ кода с использованием самых мощных сверхсовременных систем обработки сигналов. Поділитися повідомленням Посилання на повідомлення Поділитися на інших сайтах
ajm 379 Скарга Опубліковано: 6 квітня 2011 (змінено) Технология кодирования KeeLoq KeeLoq является блочным кодом с 64-разрядным ключом и размером блока 32 бита. Блок-схема кодирования состоит из регистра сдвига данных, формирователя нелинейной функции NLF, аргументами которой являются 5 бит регистра данных, логического элемента XOR (исключающее ИЛИ) и регистра сдвига ключа кодирования. Нелинейная обратная связь для регистра данных формируется из бита выхода NLF, двух бит данных и бита ключа кодирования. Перед началом кодирования исходные данные (исходный текст) и ключ помещаются в соответствующие им регистры. В каждом цикле кодирования содержимое регистра ключа и содержимое регистра данных сдвигаются каждый в своем регистре на один бит вправо так, что новое значение функции XOR попадает на вход регистра данных. После выполнения 528-ти таких циклов кодирования, в регистре данных получается нужный код (шифрованный текст). Процесс декодирования полностью аналогичен кодированию, за исключением направления сдвига и отводов регистра данных для функций NLF и XOR. Нелинейная функция введена в алгоритм для устранения линейной связи между исходными и шифрованными текстами. В противном случае этот алгоритм кодирования действительно был бы совсем прост для "взлома". Как известно из школьной алгебры, функции второго (квадратный многочлен) и третьего порядка имеют в общем случае соответственно два и три корня (решения). Здесь используется NLF 32-го порядка и для каждой комбинации 5-ти аргументов эта функция имеет 32 корня. С теоретической точки зрения, мощности этого кода вполне достаточно для использования в устройствах дистанционного управления центральными замками, охранных системах или в системах идентификации иммобилайзеров автомобилей, срок эксплуатации которых значительно меньше продолжительности "взлома" ключей кодирования этих систем. Стандартный формат KeeLoq кода имеет следующий вид: Открыто передаются: - 28 бит Серийного Номера передатчика, который должен быть уникальным для каждого выпускаемого производителем передатчика. Этот номер является первичной информацией для распознавания передатчика в приемнике устройства дистанционного управления. Как правило, этот номер используется при формировании ключа кодирования для данного передатчика. Кроме того, в более секретных устройствах управления этот номер может передаваться в закодированном виде (Envelope Code) для исключения возможности применения различных код-грабберов. - 4 бита кода команды. - 2 бита состояния источника питания передатчика и признака повтора посылки. Собственно алгоритм KeeLoq используется для кодирования следующих 32 бит данных: - 16 бит счетчика синхронизации передаваемых посылок, обеспечивающих правильную работу декодера на приемной стороне. - 4 бита команды. - 12 бит значения дискриминанта – секретного слова, которое может задаваться для каждой группы устройств, выпускаемых производителем. Исходные значения всех этих бит помещаются в регистр данных кодера в начале процесса кодирования и через 528 циклов в этом регистре получается набор бит шифра, передаваемго в изменяемой части стандартной посылки. Свойства алгоритма KeeLoq обеспечивают изменение как минимум половины бит этого набора при изменении только одного любого бита исходного набора. Это и обеспечивает неповторимость этой части посылки, препятствующей простому копированию кода из эфира для дальнейшего несанкционированного доступа к охраняемому объекту. В KeeLoq технологии используется два типа ключей: Ключ Производителя (Мастер Код) – 64-разрядное слово, уникальное для каждого производителя и используемое для формирования Индивидуальных Ключей для каждого устройства этого производителя. Индивидуальный Ключ устройства – 64-разрядное слово уникальное для каждого устройства кодирования, формируемое по определенному алгоритму с использованием Ключа Производителя. Этот ключ одинаков для кодирования и декодирования информации. Ключ Производителя представляет главный секрет системы кодирования и является основной целью любой атаки или "взлома" KeeLoq вопреки расхожим домыслам о "взломе" кода KeeLoq, алгоритмы которого, а так же тексты их программной реализации широко известны. Индивидуальный Ключ стандартных микросхем кодеров формируется в технологических программаторах во время производства конкретных устройств и хранится в EEPROM кодера. Ключ Производителя в памяти кодеров не хранится. В декодере Индивидуальные Ключи каждого передатчика формируются при его регистрации с использованием его же индивидуальных данных, например, Серийного Номера, и хранятся эти ключи в EEPROM декодера. Так как в формировании Индивидуальных Ключей устройств должен использоваться Ключ Производителя, то он всегда хранится в ROM памяти декодера. Процедуры формирования Индивидуальных Ключей кодирования составляют главный секрет технологии KeeLoq. Некоторые процедуры защищены даже патентами и не могут быть использованы бесплатно другими производителями. Стандартные процедуры описаны в руководствах по применению микросхем компании Мicrochip, что послужило успешному "взлому" ключей некоторых производителей, использующих самые простые из них. В общем, описание стандартных процедур формирования Индивидуальных Ключей выглядит следующим образом. Первая разновидность процедуры называется "Обычной" (Normal). Её смысл заключается в использовании 28-разрядного Серийного Номера конкретного устройства в качестве исходного текста для получения уникального для этого устройства Индивидуального Ключа. При этом функции F1 и F2 тем или иным способом преобразуют Серийный Номер в 32-разрядное исходное слово, а в качестве кодирующих алгоритмов могут использоваться либо сложный нелинейный алгоритм декодирования KeeLoq, либо простая логическая функция исключающего ИЛИ (XOR). Вторая разновидность процедуры называется "Защищенной" (Secure). Её смысл заключается в использовании для формирования Индивидуального Ключа не открыто передаваемого Серийного Номера, а индивидуального для каждого кодера, так называемого "Зерна". Эта процедура обеспечивает достаточно мощную защиту от различных атак на KeeLoq, однако она практически н еиспользуется в коммерческих устройствах. Третья разновидность процедуры называется "Простой" (Simple). Эта процедура редко упоминается в официальной документации Микрочип и в работах по "взлому" Ключей. Однако эта процедура имеется в технологических программаторах стандартных микросхем KeeLoq кодеров и Мicrochip предлагает пример исходного текста программной реализации соответствующего декодера. Смысл этой процедуры заключается в самой дешевой реализации программного декодера, код которого занимает всего 250 байт в программой памяти процессора, предоставляя большую часть этой памяти для реализации потребительских функций, например, в сигнализации. Достигается это тем, что во всех изделиях производителя просто используются одинаковые Индивидуальные Ключи и, как правило, им является Ключ Производителя. С коммерческой точки зрения это очень выгодно – по всем внешним признакам KeeLoq, а на самом деле "кукла". Непосредственно в соответствие используемым процедурами формирования Индивидуальных Ключей применяются и процедуры регистрации передатчиков дистанционного управления (кодеров) в приемных устройствах (декодерах). В оригинальной литературе Мicrochip этот процесс называется "обучение" приемников передатчикам. При использовании Обычной процедуры генерации Ключа, приемное устройство переводится в режим регистрации передатчиков. На передатчике нажимается любая кнопка передачи команды, из принятого сигнала приемник выделяет Серийный Номер данного передатчика, формирует по заданному алгоритму Индивидуальный Ключ для данного Номера передатчика и производит дальнейшее декодирование принятого сообщения. Полученные в результате этого декодирования значения Счетчика Синхронизации и Дискриминанта записываются вместе с полученным Индивидуальным Ключом в отведенное для данного передатчика место памяти для дальнейшего декодирования сообщений этого передатчика. При использовании Простой процедуры, приемное устройство в процессе регистрации передатчика сразу использует фиксированный Ключ для декодирования Счетчика Синхронизации и Дискриминанта и записывает их в область EEPROM, соответствующую принятому Серийному Номеру для дальнейшей дешифрации сообщений данного передатчика. В приведенном описании акцентируется внимание на широком применении стандартных микросхем кодеров серии HCS и широко известных примеров программного обеспечения для реализации декодеров на микропроцессорах фирмы Мicrochip. Применение этих стандартных и широко известных средств вызвало штормовую волну разнообразных и небезуспешных атак на применяемую практически во всем мире в промышленных масштабах технологию кодирования KeeLoq. Однако, даже из этого краткого описания очевидно, что в этой технологии возможно применение множества средств, обеспечивающих надежную защиту от любых атак. Источник dedal.com" rel="external">Посилання Змінено 6 квітня 2011 користувачем ajm Поділитися повідомленням Посилання на повідомлення Поділитися на інших сайтах