vovanse 0 21 апреля, 2016 Опубликовано 21 апреля, 2016 · Жалоба Может RFID? А в метке шифрованная информация. Просто и удобно - поднес, ключ введен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 21 апреля, 2016 Опубликовано 21 апреля, 2016 · Жалоба Насмешек я не писал. Критику - да. Моя критика не уменьшит возможного дохода от изделия, так и переживать не о чем. Успехов! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 21 апреля, 2016 Опубликовано 21 апреля, 2016 · Жалоба Насмешек я не писал. Тогда к чему это: Или дальнейших насмешек боится? Моя критика не уменьшит возможного дохода от изделия, так и переживать не о чем. Успехов! Здесь полностью с Вами согласен. Спасибо за пожелание успехов! Может RFID? А в метке шифрованная информация. Просто и удобно - поднес, ключ введен. Можно кратко об этой технологии? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vovanse 0 21 апреля, 2016 Опубликовано 21 апреля, 2016 · Жалоба Можно кратко об этой технологии? Ключи от домофона http://ru.aliexpress.com/wholesale?catId=0...archText=EM4305 http://www.emmicroelectronic.com/sites/def...205-4305_ds.pdf Есть немного памяти куда можно записать данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aiwa 0 22 апреля, 2016 Опубликовано 22 апреля, 2016 · Жалоба Сейчас есть следующая идея. Программа в устройстве пользователя генерирует ключ шифрования случайным образом. Пользователь с помощью кнопок устройства определяет этот ключ и передает его продавцу лицензий. Продавец лицензий с помощью этого ключа создает код активации, в который "вшит" нужный срок действия программы, и продает этот код пользователю устройства. Пользователь вводит код активации в устройство. Программа устройства, если код активации "правильный", устанавливает время работы. Если у кого-то есть другие идеи, поделитесь, пожалуйста. В свое время делал нечто подобное - для компакт-дисков. Только у меня, в отличие от переменного количества суток, функционал выдавался порциями, и поэтому алгоритм был немного попроще, но это не принципиально. Я написал алгоритм, выдающий последовательность строк из шести букв и этот алгоритм включил в обе программы: в программу для бухгалтерии - продавца лицензий, и непосредственно в рабочую. При обнулении счетчика. рабочая программа ожидала ввода следующего ключа, который формировался алгоритмом на основании старого и являлся следующим элементом последовательности. Начальную строку для каждого компакта поначалу генерировали индивидуально, а потом, увидев кровавые мозоли от сего действа, начали шлепать идентичными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 22 апреля, 2016 Опубликовано 22 апреля, 2016 · Жалоба всю тему не осилил, если пишу боян - сори просто берете серийный номер устройства + срок лицензии + еще что хотите (например случайное чисто) добавляете CRC потом обычным AES-128 (да и DES можно, наверно) код к коду прилепить еще CRC для проверки ввода в устройстве открываете (AES ключ секретен так же, как и прошивка), проверяете CRC, серийный номер и дату по-моему получать что-то из устройства будет излишне Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 24 апреля, 2016 Опубликовано 24 апреля, 2016 · Жалоба всю тему не осилил, если пишу боян - сори просто берете серийный номер устройства + срок лицензии + еще что хотите (например случайное чисто) добавляете CRC потом обычным AES-128 (да и DES можно, наверно) код к коду прилепить еще CRC для проверки ввода в устройстве открываете (AES ключ секретен так же, как и прошивка), проверяете CRC, серийный номер и дату по-моему получать что-то из устройства будет излишне Вы написали не боян. Скажите, зачем нужен серийный номер? Что если делать так: срок лицензии + "мусор" из случайных чисел + CRC ранее перечисленного. Далее шифруем все это с помощью AES. После вычисляем CRC шифровки. Передаем шифровку с CRC покупателю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slanted 0 24 апреля, 2016 Опубликовано 24 апреля, 2016 · Жалоба Вы написали не боян. Скажите, зачем нужен серийный номер? Что если делать так: срок лицензии + "мусор" из случайных чисел + CRC ранее перечисленного. Далее шифруем все это с помощью AES. После вычисляем CRC шифровки. Передаем шифровку с CRC покупателю. Да, это вполне годный вариант аутентификации. Только вам не нужен AES, вам нужен криптографический хэш типа sha1. Кстати, а какой-нибудь разъем в устройстве предусмотрен? Совать туда физический ключ — EEPROM'ку с подписью любой нужной длины. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 24 апреля, 2016 Опубликовано 24 апреля, 2016 · Жалоба Кстати, а какой-нибудь разъем в устройстве предусмотрен? Совать туда физический ключ — EEPROM'ку с подписью любой нужной длины. Разъема в устройстве нет. Сегодня было время подумать над моей задачей и я понял, что варианты, предложенные controller_m30 и slanted мне не подходят. По крайней мере без соответствующих доработок. Все дело в том, что система активации должна быть такой, что код активации должен подходить только к одному устройству и только один раз. У покупателя может быть несколько устройств и код активации должен быть индивидуальным и одноразовым для каждого устройства. Чтобы код активации был индивидуальным и одноразовым для каждого устройства, его необходимо шифровать каждый раз новым ключом. Получается, что этот ключ должно генерировать само устройство, а покупатель будет передавать его мне для генерации нового кода активации. Или можно сделать систему активации так, что новый ключ будет генерироваться по заранее известному алгоритму. При этом, из-за того, что начальное значение ключа в каждом устройстве индивидуально, следующий сгенерированный ключ в данном устройстве с большой долей вероятности не будет иметь такое же значение, как и в другом устройстве. Тем более у одного и того же покупателя. Теперь у меня вопросы: каким образом генерировать новый ключ, какой он должен быть длины и каким образом с помощью этого ключа шифровать код активации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 25 апреля, 2016 Опубликовано 25 апреля, 2016 · Жалоба Дальше в лес - больше дров. Говорил уже, задайте в каждом устройстве индивидуальный серийный номер. А по нему в устройстве и в своем компе вычисляйте ключ. Который и надо задать кнопками. Пользователь вам - серийный номер, вы ему - ключЪ. Как генерить ключ, импровизируйте, на что голова нафантазирует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 20 мая, 2016 Опубликовано 20 мая, 2016 · Жалоба В общем, как в той сказке: "думал, думал и наконец придумал". А точнее, наверное, решил делать следующим образом. Для каждого устройства будет задан начальный уникальный ключ. Назовем его пароль. С помощью этого пароля будет создан первый лицензионный ключ. При вводе этого ключа в устройство, последнее с помощью имеющегося пароля расшифрует лицензию и, посредством генератора псевдослучайных чисел, сгенерирует следующий пароль. Я, имея параметры генератора псевдослучайных чисел, знаю какой следующий пароль будет сгенерирован. При запросе второго лицензионного ключа я создаю его, используя этот следующий пароль. Пользователь вводит второй ключ в устройство, устройство производит расшифровку, генерирует следующий пароль и т. д. Таким образом, каждый новый лицензионный ключ будет создаваться используя новый пароль, что значительно повышает криптостойкость ключа, я так думаю... Кроме этого, пользователю не нужно передавать мне никаких данных. Теперь у меня следующая головоломка: каким способом, используя пароль от генератора псевдослучайных чисел, мне создавать лицензионный ключ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 мая, 2016 Опубликовано 20 мая, 2016 · Жалоба А пользователя как собираетесь определять, по фамилии? Все равно идет идентификация запрашиваемого. Чем лучше серийного номера? По серийному номеру и номеру запроса (год, второй.. ) вычисляйте свою ПСП. Криптостойкость - одинаковая. "думал, думал..." гора родила мышь. А если пользователь сменился? Держать в своем компе список всех пользователей? А если какая-то случайная потеря пользователя произойдет? Обратится к вам человек, "имею ваш прибор, хочу продлить жизнь". А вы ему - "а откуда прибор к вам попал? Опишите того человека, что продал вам его - лысый, с длинным носом?" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 20 мая, 2016 Опубликовано 20 мая, 2016 · Жалоба А пользователя как собираетесь определять, по фамилии? Все равно идет идентификация запрашиваемого. Чем лучше серийного номера? По серийному номеру и номеру запроса (год, второй.. ) вычисляйте свою ПСП. Криптостойкость - одинаковая. "думал, думал..." гора родила мышь. А если пользователь сменился? Держать в своем компе список всех пользователей? А если какая-то слусчайная потеря пользователя произойдет? Обратится к вам человек, "имею ваш прибор, хочу продлить жизнь". А вы ему - "а откуда прибор к вам попал? Опишите того человека, что продал вам его - лысый, с длинным носом?" Хорошо, хорошо. Ваша критика верна. В принципе, как я считаю, для этого и нужен форум, где можно изложить свои идеи или задать вопрос, а пользователи укажут тебе где ты не прав или подскажут что-то. У каждого устройства будет серийный номер. Следуя Вашим рекомендациям, я буду определять следующее случайное число для создания лицензионного ключа, по серийному номеру и номеру запроса. При этом все равно надо держать в своем компе список всех серийных номеров и сколько запросов от них было. Или я опять не прав? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 мая, 2016 Опубликовано 20 мая, 2016 · Жалоба У каждого устройства будет серийный номер. Следуя Вашим рекомендациям, я буду определять следующее случайное число для создания лицензионного ключа, по серийному номеру и номеру запроса. При этом все равно надо держать в своем компе список всех серийных номеров и сколько запросов от них было. Или я опять не прав? Даете лицензию на год работы. По серийному номеру и текущему году (2016, в этом году) вычисляете свою хитрую комбинацию. Одинаково, что в приборе, что в компьютере. Если пользователь введет то, что вы ему дали, оно совпадет с тем, что высчитает прибор. Время-то вы как-то будете иметь в приборе? Чтобы год работы отсчитать. Если кто-то захочет на 5 лет лицензию купить, в следующий раз посчитаете для S/N и 2021. Э... срок-то надо уже заложить... Тогда задавайте сейчас год окончания лицензии. И пусть прибор работает, вычисляет код, пока он не совпадет со сроком окончания... Наверное, можно придумать проще. Если интервалы будут меньше года, используйте еще и месяц. Например, 201605. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 20 мая, 2016 Опубликовано 20 мая, 2016 (изменено) · Жалоба Если кто-то захочет на 5 лет лицензию купить, в следующий раз посчитаете для S/N и 2021. Э... срок-то надо уже заложить... Тогда задавайте сейчас год окончания лицензии. И пусть прибор работает, вычисляет код, пока он не совпадет со сроком окончания... Наверное, можно придумать проще. Ну а разве не удобнее задавать в лицензионном ключе время действия в сутках? С учетом того, что я планирую хранить время действия в 2-х байтах, то максимум - это 65535 суток или 179 с лишним лет. Более чем предостаточно! В этом случае нет никакой привязки к дате. Пользователь может купить код и сколь угодно долго не вводить его в прибор. При этом его срок действия не теряется. И это намного проще! При продаже устройства на него будет наносится начальный уникальный ключ (первое число из ПСП). Он и будет выполнять роль серийного номера. При запросе лицензионного ключа, пользователь будет сообщать этот номер (идентификация пользователя). Естественно, при этом надо хранить список всех серийных номеров и количество запросов. Эти данные надо сохранять в архиве на случай сбоя или умирания компа. Если быть вообще параноиком, то можно для каждого проданного устройства сгенерировать ПСП, распечатать ее и зачеркивать использованные коды. В общем, здесь полет фантазии может завести очень далеко. Изменено 20 мая, 2016 пользователем d7d1cd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться