Вы не просекли фишку. Нужно сделать так, чтобы ввод новых данных
можно было доверить условному бомжу - либо он ввёл пакет и получил
в ответ код корректного приёма, либо нет - вообще ничего сделать не
может. Так как блоки данных шифрованные. Таким образом, недоверенное лицо может срубить свою копеечку только за корректный ввод (с подтверждением - передачей заказчику ответного кода о корректном приёме данных). И больше ничего сделать не сможет. Никак. Ибо весь обмен - шифрованный.
Грубо говоря, подходит оборванец к заправочной колонке. И начинает вводить коды, ответные - записывает - чисто как доказательство корректного ввода. Но если по телефону - просто довольного писка терминала достаточно, чтобы оператор на том конце голосового канала убедился в корректном вводе.
В общем, подойдя к терминалу, не нужно входить в сервисное меню. Просто начинаешь набирать шумоподобную комбинацию, каждый раз разную. И всё. В ответ либо ничего - ошибся или ты вообще левый, не в системе. Либо би-бип - успех! А на табло код из двух байт в HEX - цифровая подпись терминалом принятого блока. И всё. Никакого секретного меню с паролем - сам блок кода и есть и вход в меню, и пароль, и контрольная сумма.
Например, подрядчик, дома, печатает на лист блоки кодов с адресами установки: Таком серийному терминала - эти коды, другому - эти коды, третьему - эти. Подъезжает на своём Логане к очередному терминалу. Вводит блоки с листа. Чиркает карандашиком что уже ввёл, а рядом - контрольные ответы. И сдаёт скан/фото листика заказчику. В крайнем случае, диктует по тому же телефону.
Таким образом, терминал остаётся в безопасности - подрядчик не является доверенным лицом, ему ничего не доверяется, информация защищена. И деньги за не совершённый ввод он тоже не получит - так как не предоставит доказательств такого ввода.