Хотя, по идее, если в брелок встроить часы, то синхронизация сработает. Брелок генерирует свой код на основе своего ID и, к примеру, количества секунд с даты основания CCP, Рождества Христова или чего-то ещё. Код действителен, к примеру, секунд 30. Сервер может проверить, подходит ли введённый пароль ко временному окну и заявленному ID брелока. При этом отпадает необходимость хранить использованные пароли.
А если батарейка сядет? Это же не флешка... заряжаться её не от чего...