-
- То же самое можно сказать, я могу ошибаться, о практически всех ГПСЧ. Что мол зная часть последовательности можно вычислить остальные. Ну так надо ввести какой-то элемент случайности. У Maxim есть аппнота как сделать ГПСЧ на двух LFSR с разным fk0(62 знак., 09.04.2013 12:06)
- В этом плане интересен ГПСЧ на остатках деления. Предсказать конечно можно, но забибикаешься. - ASDFS(09.04.2013 18:57)
- RTEA - Гудвин(09.04.2013 10:30)
- Ох сколько этих *TEA - Make_Pic(09.04.2013 13:20)
- дан кишон! :) википедия говорит, всего пара строчек на C! - Argon(09.04.2013 10:43)
- Они там довольно тяжелые эти пара строчек. RC4 проще. - ASDFS(09.04.2013 18:55)
- Если уже есть шифрование, то генератор псевдослучайных чисел получается шифрованием счетчика. - vmp(09.04.2013 10:15)
- Есть сомнения насчет ГПСЧ шифрованием счетчика: при каждом включении девайса будет детерминированность. Могу привнести начальную энтропию с АЦП, только как правильно? Сдвигать младшие шумящие биты влево? - Argon(09.04.2013 12:09)
- Да плюнуть на этот вопрос. Нешумящие биты ни на что не влияют. fk0(110 знак., 09.04.2013 12:12, ссылка)
- Для этого нужен ключ. А что будет ключём? Общий секретный ключ разделить на две половины: для счётчика и для "подписи"? - fk0(09.04.2013 12:08)
- Отдельный ключ для ПДСЧ. И ему вовсе не обязательно быть общим. - vmp(09.04.2013 12:11)
- Точно! Но ему нужно быть разным (в разных экземплярах приборов). Рекурсия: чтоб сгенерировать ключ -- нужен ГСЧ, чтоб сделать ГСЧ нужен ключ... - fk0(09.04.2013 12:13)
- Этот ключ можно генерить на этапе производства с сертифицированного аппаратного ДСЧ. Или подмешивать в общий ключ серийный номер устройства. - vmp(09.04.2013 12:15)
- серийный номер предполагается также генерировать с помощью ГПСЧ в режиме обучения. причем не обязательно чтобы он был уникальным - главное чтобы как можно реже повторялся, по сути не серийный номер, а ID. Argon(450 знак., 09.04.2013 12:23)
- Алгоритм уязвим: fk0(2341 знак., 09.04.2013 14:02)
- В принципе согласен. Переводя на более понятный неспециалисту язык: vmp(1994 знак., 09.04.2013 14:47, ссылка)
- стОит, стОит! не делать же обработку свой-чужой тупо на основе открытого идентификатора пульта! Argon(114 знак., 09.04.2013 14:39)
- Чтоб все не орали R!R!R! нужно в каждый пакет, добавить "MAC-адрес" адресующий конкретный приёмник и раздать разные адреса каждому устройству. Наличие MAC, кстати, решает проблему одновременной работы двух и более пультов (иначе нельзя fk0(31 знак., 09.04.2013 14:46)
- в пинг добавить трансляцию MAC? - Argon(09.04.2013 15:16)
- В любую посылку MAC ("аппаратный адрес") назначения. При приёме если MAC не свой -- как будто не принимал. - fk0(09.04.2013 16:07)
- а разве есть разница передавать MAC девайса или пульта? Девайс знает MAC (или ID) каждого из своих пультов. - Argon(09.04.2013 16:10)
- Передавать MAC того, кому пакет предназначен. Если пульт будет реагировать на MAC девайса, то он будет принимать пакеты от второго пульта в сторону девайса -- а оно нужно? - fk0(09.04.2013 16:52)
- не догоняю... почему бы пульту не передавать свой MAC? на него среагирует только свой девайс, у к-рого, кстати, MACа нет, есть только таблица MACов своих пультов. - Argon(09.04.2013 17:00)
- Я тоже не догоняю, почему некоторые не догоняют, что номера телефонов могут быть не только московские, или часовой пояс тоже не только московский. Пультов может быть более одного. И чтобы корректно работать с ними девайс должен знать кому fk0(103 знак., 10.04.2013 14:13)
- не вижу противоречия. разве было сказано, что один идентификатор на все пульты? и ваабще -> - Argon(10.04.2013 14:17, ссылка)
- Одним девайсом можно управлять девятью тысячами пятиста семидесятью тремя пультами. Так понятней? И на половине из них можно одновременно нажать разные кнопки. - fk0(10.04.2013 16:18)
- нет, не понятнее нифига. девять тысяч пятьсот семьдесят три пульта имеют девять тысяч пятьсот семьдесят три разных идентификатора. девайс знает только два-три из них и соответственно не отвечает на остальные. В чем же еще дело? - Argon(10.04.2013 17:27)
- Хорошо. Имеется 2 пульта. На них одновременно нажали кнопки. Девайс должен ответить на посылки каждого пульта но так, чтобы не свести с ума другой пульт. Неужели не очевидно? - fk0(10.04.2013 17:48)
- что-то ощущение, что говорим о разных вещах :) Argon(580 знак., 10.04.2013 18:53)
- Я выше сказал про московские телефонные номера. Нужно либо кругозор чуть шире, либо абстрактное мышление включать уметь. Есть ещё один ньюанс. Секретный ключ у каждого пульта должен быть свой (и поэтому пульты тоже нужно отличать). Иначе fk0(793 знак., 10.04.2013 19:22)
- точно, о разном говорим. или хоть бы кто вклинился, объяснил другими словами что хочешь донести. Argon(259 знак., 10.04.2013 19:45 - 19:48)
- Я выше сказал про московские телефонные номера. Нужно либо кругозор чуть шире, либо абстрактное мышление включать уметь. Есть ещё один ньюанс. Секретный ключ у каждого пульта должен быть свой (и поэтому пульты тоже нужно отличать). Иначе fk0(793 знак., 10.04.2013 19:22)
- что-то ощущение, что говорим о разных вещах :) Argon(580 знак., 10.04.2013 18:53)
- Хорошо. Имеется 2 пульта. На них одновременно нажали кнопки. Девайс должен ответить на посылки каждого пульта но так, чтобы не свести с ума другой пульт. Неужели не очевидно? - fk0(10.04.2013 17:48)
- нет, не понятнее нифига. девять тысяч пятьсот семьдесят три пульта имеют девять тысяч пятьсот семьдесят три разных идентификатора. девайс знает только два-три из них и соответственно не отвечает на остальные. В чем же еще дело? - Argon(10.04.2013 17:27)
- Одним девайсом можно управлять девятью тысячами пятиста семидесятью тремя пультами. Так понятней? И на половине из них можно одновременно нажать разные кнопки. - fk0(10.04.2013 16:18)
- не вижу противоречия. разве было сказано, что один идентификатор на все пульты? и ваабще -> - Argon(10.04.2013 14:17, ссылка)
- аа, все просто: принадлежность MAC это всего лишь условность. девайс и пульт хранят один и тот же MAC, к-рый передается пультом при пинге. - Argon(09.04.2013 18:29)
- Я тоже не догоняю, почему некоторые не догоняют, что номера телефонов могут быть не только московские, или часовой пояс тоже не только московский. Пультов может быть более одного. И чтобы корректно работать с ними девайс должен знать кому fk0(103 знак., 10.04.2013 14:13)
- не догоняю... почему бы пульту не передавать свой MAC? на него среагирует только свой девайс, у к-рого, кстати, MACа нет, есть только таблица MACов своих пультов. - Argon(09.04.2013 17:00)
- Передавать MAC того, кому пакет предназначен. Если пульт будет реагировать на MAC девайса, то он будет принимать пакеты от второго пульта в сторону девайса -- а оно нужно? - fk0(09.04.2013 16:52)
- а разве есть разница передавать MAC девайса или пульта? Девайс знает MAC (или ID) каждого из своих пультов. - Argon(09.04.2013 16:10)
- В любую посылку MAC ("аппаратный адрес") назначения. При приёме если MAC не свой -- как будто не принимал. - fk0(09.04.2013 16:07)
- А криптография ещё порождает проблему изначальной раздачи ключей S. Где гарантия, что особо умные их на производстве в тетрадку не переписывают? Ибо перебрать 48 бит ключа или перебрать 10000 известных ключей -- две большие разницы, последнее fk0(101 знак., 09.04.2013 14:47)
- Проблему изначальной раздачи ключей можно решить техническими методами, но в данном случае не того уровня девайс. - Argon(09.04.2013 15:23)
- Не так-то просто её решить. Alex B тут на diffie hellman ссылался. Не самое плохое решение на мой взгляд. Даже больше. Другого адекватного и применимого к МК я вообще не вижу. Всё упирается в ассиметричные алгоритмы криптографии трудно реализуемые fk0(99 знак., 09.04.2013 16:08)
- При наличии в устройстве серийного номера (в ПЗУ, как у STM32 или во флеше в процессе производства) задача вполне решаемая. - vmp(09.04.2013 16:11)
- Каким именно образом она решаемая, при наличии серийника? - fk0(09.04.2013 16:53)
- Например, генерацией индивидуальных ключей устройства путем шифрования серийного номера на мастер-ключе. Мастер-ключ сидит только в ПО генерации индивидуальных зашивок перед программированием устройства. Безопасность мастер-ключа и исходного файла vmp(35 знак., 09.04.2013 17:01)
- реализуется оргмерами == не реализуется вообще. я выше писал, что в таком случае криптография не нужна и достаточно "секретного алгоритма". - fk0(10.04.2013 13:47)
- Речь идет об оргмерах на одном отдельном рабочем месте про зашивке устройств. Это вполне выполнимая задача. - vmp(10.04.2013 16:09)
- реализуется оргмерами == не реализуется вообще. я выше писал, что в таком случае криптография не нужна и достаточно "секретного алгоритма". - fk0(10.04.2013 13:47)
- Например, генерацией индивидуальных ключей устройства путем шифрования серийного номера на мастер-ключе. Мастер-ключ сидит только в ПО генерации индивидуальных зашивок перед программированием устройства. Безопасность мастер-ключа и исходного файла vmp(35 знак., 09.04.2013 17:01)
- Каким именно образом она решаемая, при наличии серийника? - fk0(09.04.2013 16:53)
- При наличии в устройстве серийного номера (в ПЗУ, как у STM32 или во флеше в процессе производства) задача вполне решаемая. - vmp(09.04.2013 16:11)
- Не так-то просто её решить. Alex B тут на diffie hellman ссылался. Не самое плохое решение на мой взгляд. Даже больше. Другого адекватного и применимого к МК я вообще не вижу. Всё упирается в ассиметричные алгоритмы криптографии трудно реализуемые fk0(99 знак., 09.04.2013 16:08)
- Проблему изначальной раздачи ключей можно решить техническими методами, но в данном случае не того уровня девайс. - Argon(09.04.2013 15:23)
- в пинг добавить трансляцию MAC? - Argon(09.04.2013 15:16)
- Чтоб все не орали R!R!R! нужно в каждый пакет, добавить "MAC-адрес" адресующий конкретный приёмник и раздать разные адреса каждому устройству. Наличие MAC, кстати, решает проблему одновременной работы двух и более пультов (иначе нельзя fk0(31 знак., 09.04.2013 14:46)
- Алгоритм уязвим: fk0(2341 знак., 09.04.2013 14:02)
- серийный номер предполагается также генерировать с помощью ГПСЧ в режиме обучения. причем не обязательно чтобы он был уникальным - главное чтобы как можно реже повторялся, по сути не серийный номер, а ID. Argon(450 знак., 09.04.2013 12:23)
- вот-вот! - Argon(09.04.2013 12:15)
- Этот ключ можно генерить на этапе производства с сертифицированного аппаратного ДСЧ. Или подмешивать в общий ключ серийный номер устройства. - vmp(09.04.2013 12:15)
- Точно! Но ему нужно быть разным (в разных экземплярах приборов). Рекурсия: чтоб сгенерировать ключ -- нужен ГСЧ, чтоб сделать ГСЧ нужен ключ... - fk0(09.04.2013 12:13)
- Отдельный ключ для ПДСЧ. И ему вовсе не обязательно быть общим. - vmp(09.04.2013 12:11)
- тот алгоритм, к-рый предполагается для шифрования, не факт, что даст большой период. а тесты писать как-то неохота... - Argon(09.04.2013 10:20)
- Возьмите любой проверенный блочный шифр. Период в нем определяется размером блока. Не изобретайте велосипед. - vmp(09.04.2013 10:24)
- а его реально найти в виде готового исходника с комментариями? так-то у меня есть давно писанный алгоритм (шифрования прошивки МК), к-рый хотел приспособить и в этом случае. - Argon(09.04.2013 10:30)
- От кого защищаетесь? Если от ЦРУ, то доморощенных схем шифрования недостаточно, нужно привлекать экспертов. А от дворовых хулиганов помогают простейшие меры. - SciFi(09.04.2013 10:44)
- от продвинутых хулиганов, способных продублировать кодовую последовательность :) Argon(145 знак., 09.04.2013 10:45)
- Например исходники gnupg. Несколько шифров на выбор. - vmp(09.04.2013 10:38, ссылка)
- спасибо! однако если буду пользовать какой-то из них, то паранойя заставит и тесты писать. - Argon(09.04.2013 10:42)
- Простейший тест на случайные числа - попробовать их заархивировать. Не должны сжаться. А если нужна тяжелая артиллерия - тогда тесты DIEHARD. - vmp(09.04.2013 10:55, ссылка)
- спасибо! однако если буду пользовать какой-то из них, то паранойя заставит и тесты писать. - Argon(09.04.2013 10:42)
- От кого защищаетесь? Если от ЦРУ, то доморощенных схем шифрования недостаточно, нужно привлекать экспертов. А от дворовых хулиганов помогают простейшие меры. - SciFi(09.04.2013 10:44)
- а его реально найти в виде готового исходника с комментариями? так-то у меня есть давно писанный алгоритм (шифрования прошивки МК), к-рый хотел приспособить и в этом случае. - Argon(09.04.2013 10:30)
- Возьмите любой проверенный блочный шифр. Период в нем определяется размером блока. Не изобретайте велосипед. - vmp(09.04.2013 10:24)
- Есть сомнения насчет ГПСЧ шифрованием счетчика: при каждом включении девайса будет детерминированность. Могу привнести начальную энтропию с АЦП, только как правильно? Сдвигать младшие шумящие биты влево? - Argon(09.04.2013 12:09)
- То же самое можно сказать, я могу ошибаться, о практически всех ГПСЧ. Что мол зная часть последовательности можно вычислить остальные. Ну так надо ввести какой-то элемент случайности. У Maxim есть аппнота как сделать ГПСЧ на двух LFSR с разным fk0(62 знак., 09.04.2013 12:06)