В настоящее время я работаю над встроенным проектом. Клиентская сторона - это 8-битный MCU, а серверная сторона - компьютер.Как микроконтроллер с малой мощностью может аутентифицироваться на сервере?
Как часть цели, я хочу свести к минимуму случай, когда люди копируют наш продукт. На этапе инициализации сервер отправляет свой серийный номер клиенту и клиенту, выполняет некоторые простые вычисления с его серийным номером, а затем отправляет результат обратно на сервер. Сервер проверяет результат на предварительно рассчитанное, жестко закодированное значение, если он соответствует клиенту.
Проблема заключается в вычисленном серийном номере, который отправляется обратно на сервер, всегда фиксируется. Любая копировальная компания может легко понять это с помощью логического анализатора. Я хочу сделать серийный номер передачи случайным битом время от времени, но все же иметь возможность расшифровать обратно до его первоначального значения. A good example using AES encryption (обратите внимание, каждый раз, когда вы нажимаете зашифровать кнопку генерируется, казалось бы, случайный текст, но, как вы расшифровать его, то он возвращается к исходному тексту.)
Благодаря в ROM/RAM и процесса ограничения мощности в 8bits MCU Я не могу вписать в него полную процедуру AES, поэтому AES не имеет решения. Есть ли простой и эффективный алгоритм для рандомизации передачи?
Серверная сторона кодируется в C# – wei 2010-11-25 19:57:42