Как стать автором
Обновить
1501.8
Timeweb Cloud
То самое облако

ЭКЛЗ. Как работали кассы в нулевые

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7K
Приветствую всех! Давным-давно, лет так десять назад, не было онлайн-касс. И, если в девяностые обходились одной лишь фискальной памятью, то в двухтысячные придумали ещё один девайс для контроля, сложный и во многом противоречивый. Сейчас они уже не используются, а кассы такой системы запрещены к применению. Тем интереснее заставить их работать сейчас. Конечно, в магазин такую уже не поставишь, но посмотреть на сами аппараты после многих лет простоя мы сможем.



Итак, в сегодняшней статье поговорим про электронную контрольную ленту, применявшуюся в кассовых аппаратах. Заодно препарируем один такой блок, посмотрим на схемотехнику касс тех лет, а заодно и узнаем, действительно ли такое решение обеспечивало должную защиту. Как водится, будет много интересного.

Суть такова



Те, кто не имеет какого-то отношения к торговле и торговому оборудованию, возможно, даже не заметил, как в начале 2017 года как-то тихо и незаметно навсегда ушли в историю вот такие кассовые чеки.


На смену им пришли вот такие, с QR-кодом, применяющиеся и сейчас. Для покупателей изменилось мало что (кроме цен), для владельцев бизнеса и специалистов по обслуживанию кассовой техники это стало целым испытанием: затраты на обновление или модернизацию оборудования (какие-то кассы доработать до онлайн-версии не представлялось возможным, отчего они просто списывались и заменялись на новые), возня с документами, неожиданные глюки и много чего ещё.



И вот как-то раз я задумался: а реально ли сейчас напечатать чек на такой кассе? Конечно, сейчас их уже нигде не применить, но посмотреть в работе хотелось.

Немного про ЭКЛЗ


Если вы никогда не имели дела с такими кассами, самое время разобраться, что же за железку мы сейчас будем препарировать.


В далёком 2004 году стало ясно, что одной лишь фискальной памятью в кассах не обойтись, нужно какое-то более защищённое средство контроля, желательно — криптографическое. Им и стала ЭКЛЗ — электронная контрольная лента защищённая. Внутри этой коробочки находился криптопроцессор (К5004ВЕ1), управляющий мироконтроллер и Flash, куда заносились все пробитые чеки. При этом на чеках печатался специальный криптографический проверочный код, призванный защитить их от подделки. Само собой, алгоритм генерации этого кода и ключи для его проверки были строго засекречены.



Существовал даже специальный сайт, позволявший проверить напечатанный на чеке код на предмет его подлинности. Забавно, что ЭКЛЗ ушли в историю в 2017 году, а сам сайт прекратил работу аж в 2021…
Сами ЭКЛЗ надо было менять каждые 13 месяцев (даже если на кассе за это время не было выбито ни одного чека), либо после заполнения Flash. Само собой, возможность стирания памяти отсутствовала, после закрытия архива блок надо было хранить в течение трёх лет.
Также существовали специальные эмуляторы ЭКЛЗ, служащие для ремонта и диагностики касс в сервисных центрах. Код, который они генерировали, не мог считаться подлинным. Именно такой блок мы сегодня попробуем собрать.

Обзор оборудования


Ну что же, взглянем на девайсы, которые достались мне. Какие-то лежали у меня уже много лет, несколько штук подогнал на опыты мой товарищ, ещё парочку специально раздобыл на опыты.

image

Фискальные регистраторы «Феликс-РК» и «Феликс-02К». Предназначались они для работы в паре с компьютером. Также я мельком упоминал их в посте про термопринтер. 02К древнее — у него ещё остался принтер контрольной ленты. По сути это наследник выглядевшего точно так же, но не имевшего в себе ЭКЛЗ аппарата «Феликс-Р Ф», на который сейчас не найти даже инструкции. Существовал ли «Феликс-Р», история умалчивает.



Разъёмы. К ним подключается денежный ящик (на 12 или 24 В), компьютер (к которому он подключается нуль-модемным кабелем) и дисплей покупателя. Питание подаётся по нестандартному для «бытовухи», но абсолютно типичному для торгового оборудования разъёму.



Характерный для продукции завода «Счётмаш» блок питания.



Касса Касби-02К. В общем-то, ничего особенного про неё сказать нельзя.



Нельзя не отметить забавное решение с дисплеем покупателя, который просто дублирует всё, что выводится на основной. Увы, у меня его крепление раскрошилось, отчего я решил его открутить окончательно.



Меркурий-180К. Как заявляли производители, на момент выпуска это был самый маленький из кассовых аппаратов.



В своё время те, кто эксплуатировал эти устройства, шутили, что на корпусе уже банально нет места, чтобы налепить все необходимые марки, пломбы и голограммы. Касса утыкана ими со всех сторон.



Зарядное устройство (увы, не полноценный блок питания, работать от него касса не будет) легче, чем большинство нынешних зарядок телефонов.



Элвес-Микро-К. Довольно распространённый кассовый аппарат от «Штрих-М».



Также отдельно раздобыл несколько блоков ЭКЛЗ нового образца.



Несмотря на то, что меня уверяли в их новом состоянии, все они давно использованы…



Соединительный кабель ЭКЛЗ нового образца. Что забавно, точно такая же распиновка используется в нынешних фискальных накопителях.

Первый запуск


Перед тем, как пытаться что-то сделать, посмотрим, что умеют сами кассовые аппараты.
«Феликс-02К» что-то пропищал и промотал ленту, «Феликс-РК» напечатал "НЕВЕРНЫЙ КОД ЗАЩИТЫ, АРХИВ ЭКЛЗ ЗАКРЫТ". Хорошее начало.

image

Качаем «Драйвер ККМ», где есть возможность погонять кассовые аппараты в работе. Далее жмякаем «Настройка свойств», выбираем модель фискального регистратора, скорость (обычно 115200 бод) и COM-порт. Стандартный пароль связи для «Феликсов» — «30», если не поможет — «0».

image

В одном из разделов можно даже что-то попечатать — достаточно просто ввести текст и жмякнуть «Печать строки». То же относится к аппарату «Феликс-РК». В школьные годы (а заполучил я их очень-очень давно, ещё будучи в седьмом классе) я их так и использовал, пока не раздобыл термопринтер с интерфейсом ESC/POS. А вот чеки они ожидаемо не выбивают: в одном экземпляре ЭКЛЗ давным-давно закрыта, в другом — просто протухла и заблокирована.



«Меркурий» ожил, однако в режим регистрации не пустил: слетели дата и время.



«Касби» запустилась и даже пустила в кассовый режим.



Выставил минимально возможную дату, однако при попытке распечатать чек ЭКЛЗ сдохла.

Внутренности


Первым на очереди у нас «Феликс-РК».



Внутри у него два микроконтроллера от Winbond: один управляет принтером, другой — ФП и ЭКЛЗ. Кнопочка для сброса часов. Попутно при помощи "Дамп-конструктора" прочитал пароль налогового инспектора: 12345678 (да, стоял именно такой. Хах).



ЭКЛЗ.



«Феликс-02К» внутри оказался попроще. Всё та же чёрная коробочка фискальной памяти и МК от Winbond, на этот раз лишь один. Большой электролитический конденсатор, знаменитый своим эффектным белым дымом при подключении блока питания от «Феликса-РК» к данному аппарату.



На очереди «Касби». Разбирается она очень муторно, до саморезов в задней части корпуса из всех отвёрток, что были дома, смогла дотянуться только одна. В нижней половинке сетевой блок питания и термопринтер.



БП ожидаемо трансформаторный.



А вот принтер. Сделан он на базе печально известной термоголовки ТД4032А…



В верхней половинке плата управления. ЭКЛЗ должна была крепиться снизу (липучка, на которую она сажается, видна на днище), но шлейф несъёмный, а разъём прихвачен металлической скобой, так что пришлось её открутить. Очередное не слишком удачное схемотехническое решение: на плате нет батарейки, отчего даже при простой замене АКБ часы слетают. При этом при долгом лежании плата будет разряжать аккумулятор до тех пор, пока он не сядет в ноль и не сдохнет. Впрочем, нельзя не порадоваться за разработчиков цепей питания: касса умеет работать от любого из трёх источников: от сети, от внешнего БП и от аккумулятора.



Фискальная память.



Клавиатура ожидаемо резиновая.



А вот начинка «Элвеса». Маленькая плата, микроконтроллер от NXP, термопринтер, клеммы для подключения свинцового аккумулятора… и всё.



Блок фискальной памяти, прикрученный к корпусу саморезом под пломбой.



Помимо EEPROM тут стоит микроконтроллер ATTiny45, защищающий память от прямого доступа к её интерфейсу (чтобы при обслуживании кассы ФП нельзя было скрутить, просто подключившись к её проводам).



ЭКЛЗ тоже чуть другая — производства предприятия «Научные приборы».

Препарируем ЭКЛЗ


Вообще, все выпускавшиеся блоки уже успели расковырять и детально изучить уже до меня. Но было интересно, что внутри моего.



Внутри корпуса нас ждёт плата, залитая силиконом — этакая защита от реверс-инжиниринга.



К счастью, он легко отковыривается даже голыми руками. При наличии иглы, отвёртки, скальпеля и некоторого количества терпения плату можно очистить от белой дряни полностью.



С обратной стороны NAND Flash. Вообще, забавно: по сути эта штука мощнее всего остального кассового аппарата (просто вспомним, что многие из них работали на реликтовых чипах с архитектурой 8051 и внешним ПЗУ).



Красивый чип криптопроцессора К5004ВЕ1 — по сути кристалл обычной смарт-карты (он даже подключается через микросхему интерфейса ISO7816) в металлокерамическом корпусе. За неимением нормальной документации и протокола работы ценен он исключительно как сувенир. В нём нет даже стоящего количества драгметаллов, что бы ни говорили их искатели. В поздних версиях ЭКЛЗ его вообще выкинули, заменив на импортный.
Точно такой же криптопроцессор, но в другом исполнении является чипом «Российской интеллектуальной карты» (РИК).



На просторах отыскалось расположение тестовых контактов. Увы, использовать их никак нельзя: на МК активированы биты защиты, отчего не получится ни считать прошивку, ни стереть память. SWD и загрузчик по UART также отрублены.



На сайте kovlev.ru отыскалась и схема модуля.


А вот начинка более старой версии.



В некоторых из них криптопроцессор выполнен не в металлокерамическом корпусе, а в виде SAM-модуля.



А вот и самая поздняя редакция.

Пробуем подключить ЭКЛЗ


Перед началом опытов попробуем подключить коробочку к компу. Распиновка новой версии оказалась такая:

  1. Земля
  2. USB D+
  3. USB D-
  4. USB +5 В (VBUS)
  5. Ничего
  6. +5 В
  7. Земля
  8. Select
  9. SCL
  10. SDA
  11. RX
  12. TX

Select отвечает за выбор интерфейса. Если он притянут к питанию, ЭКЛЗ работает по RS-232, если к земле — по I2C.



На просторах есть несколько программ для тестирования ЭКЛЗ, официальных и не очень. Выбор был сделан в пользу утилиты «Дамп-конструктор», позволяющей также работать с образами фискальной памяти.



Для подключения к компьютеру спаял кабель для COM-порта. Однако с ним меня ждал облом: программа не видела ЭКЛЗ. Проверка мультиметром показала, что кабель спаян правильно, а вот с коробочкой какая-то засада: чип преобразователя уровней RS-232 не формировал никаких напряжений. С чем это связано, мне неведомо, но на всех имевшихся у меня модулях «нового» образца результат был один и тот же. Возможно, что протокол задаётся единожды при установке блока и больше никогда не меняется.



Пришлось спаять полноценный переходник, поддерживающий как RS-232, так и I2C.



Отлично, работает!



Архив этого блока даже не закрыт, так что никто не мешает попробовать зарегистрировать чек. Вот такой вот он, последний в истории чек, выбитый на «боевой» ЭКЛЗ…

Фискализация


Несмотря на большое количество имеющихся у меня ККМ, опыты я проводил на «Касби-02К» по причине довольно удобного управления и автономности от компьютера.
Новая касса не сразу готова к работе. Для ввода в эксплуатацию проводят фискализацию — запись в фискальную память данных о регистрации и первую активизацию ЭКЛЗ. С этого момента все закрытия смен будут регистрироваться в ФП, а каждый выбитый на кассе чек — в ЭКЛЗ. Увы, по причине отсутствия у меня «рабочей» ЭКЛЗ печатать фискальные чеки пока не получится, но кое-какой вариант всё же есть.



Поскольку мне неизвестен ни оставшийся объём памяти, ни пароль налогового инспектора, снова разбираем кассу. Увы, но опломбированную крышечку придётся снять. Под ней находится EEPROM Winbond W27C512. Стираем её программатором и вставляем обратно. При включении касса выдаёт ошибку об отсутствии заводского номера. Вводим произвольный и после теста ПЗУ попадаем в нефискальный режим. В нём тоже можно печатать чеки, однако использовать такую кассу для торговли нельзя.



А вот и выбитый чек.

Что же в итоге?


По сравнению с одной лишь фискальной памятью ЭКЛЗ оказалась на порядок более защищённой. Также она избавила предпринимателей от обязательного хранения бумажной контрольной ленты.

Впрочем, технология эта была довольно неоднозначной и порой приносила больше проблем, чем реальной пользы: дорогостоящие блоки при больших объёмах продаж быстро забивались, первые версии работали нестабильно и дохли на жаре или на морозе (при том, что некоторые кассы специально разрабатывались для уличной торговли), ну а цена одной такой коробочки и вовсе казалась полнейшим издевательством.

Такие дела.



Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале



Читайте также:

Теги:
Хабы:
Всего голосов 39: ↑39 и ↓0+58
Комментарии78

Публикации

Информация

Сайт
timeweb.cloud
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Timeweb Cloud