- PVSM.RU - https://www.pvsm.ru -
Как вы думаете, какой элемент вашей IT инфраструктуры самый главный? Межсетевой экран, сертифицированный ФСТЭК? VPN шлюз с российской криптографией? Сервер на базе процессора 1891ВМ038 Эльбрус-16С или Байкале BE-S1000?
Нет! Главный элемент информационной безопасности — это ваша клавиатура! Ведь именно клавиатура первой узнает ваш новый пароль, знает какие сайты вы посещаете и что вы пишете в мессенджерах. Вы уверены, что это вы стучите по клавишам, а не ваша клавиатура «стучит» куда-то на вас? Особенно, если эту клавиатуру вам подарили.
Это все конечно шутка, но как говорится в каждой шутке есть только доля шутки.
При кажущейся простоте клавиатура все же не самое простое электронное устройство. Основой клавиатуры является плата контроллера, которая отвечает за опрос нажатых клавиш и передачи их кодов в компьютер, например, по USB интерфейсу. Попробуем проиллюстрировать это на примере самой разрекламированной отечественной клавиатуре КЛ104РУ от Бештау электроникс, первого российского производителя клавиатур.

В приобретенной нами клавиатуре (произведена в декабре 2024 года) мы нашли вот такую плату контроллера.

Хотя ожидали увидеть несколько иные платы, например, вот такую с маркировкой OPTION
Или вот такую, с маркировкой Бештау.
Эти платы многократно были показаны в рекламных роликах Бештау электроникс, в том числе блогером Максимом Горшениным.
Не знаем, с чем связано то, что в доставшейся нам клавиатуре Бештау КЛ104РУ мы нашли непонятную плату с маркировкой LJ6723 SXY-DGJD-C311 V1.1. Судя по всему, еще 2021 года разработки.
Обычно во всех таких платах используются зарубежные специализированные микросхемы контроллеров клавиатур - Keyboard Encoder IC. Эти микросхемы выпускают несколько компаний, например, американская Sprintek [3], или тайваньская Holtek [4], есть компании и с материкового Китая, например Sigma Micro и многие другие. Такой же импортный чип применен применен и на этой плате. И хотя обычно по спецификации это не всегда очевидно, но в основе этих микросхем лежит микроконтроллер со специальным записанным при изготовлении самой микросхемы программным обеспечением. Каким образом работает этот микроконтроллер? И как используя только около 30 ножек отслеживается нажатие более чем 100 клавиш стандартной клавиатуры?
Для этого реализуется механизм сигнальной развёртки.

Все клавиши делятся на группы объединённые горизонтальными и вертикальными связями. Связи внутри групп задаются вертикальными сигналами – COLUMN (сигналы С0….С17) и горизонтальными сигналами ROW (R0…R7). И алгоритм работает следующим образом. На вывод микросхемы С0 выдается сигнал. И если, например, нажата кнопка S137, то этот сигнал появляется на входе R0. Если же нажата клавиша S144 – то сигнал мы увидим на входе R7. Если нажаты обе, то сигнал будет и на R0 и на R7. Для того что бы опросить состояние кнопок из следующего столбца, мы перестаем выдавать сигнал на выход С0 и переводим его в третье состояние, и после этого подаем сигнал на выход С1. И так далее по всем столбцам. С учетом того, что длительность нажатия человеком на клавишу измеряется в десятки или даже сотни миллисекунд, то организовав очень быструю поочередную выдачу сигнала по столбцам С0….С17 и опрос состояния входов R0….R7 можно опросить до 144 клавиш. Сопоставляя на какой столбец подается сигнал и в каких строках он принимается можно однозначно определить нажатые клавиши. В общем обычный «ногодрыг» для микроконтроллера. И значит эту задачу можно решить с помощью любого универсального микроконтроллера, и необходимое ПО можно написать самостоятельно.
Мы узнали, что Лайтком запускает в производство свои клавиатуры [5] на базе отечественного микроконтроллера и нам предоставили образец для тестирования с возможностью ее разобрать. Результатами мы и спешим с вами поделиться.
И так представляем вам клавиатуру Lightcom Type K1W на базе российской ЭКБ.

В общем, клавиатура как клавиатура. В конце концов эту статью мы на ней и пишем. Но мы решили воспользоваться возможностью ее разобрать, и внутри находим уже хорошо узнаваемую по форме и расположению контактов плату контроллера клавиатуры.

Но в отличии от китайских разработок, на этой плате установлен микроконтроллер К1986ВЕ92FI от АО «ПКК Миландр» [6] (г. Зеленоград). В котором специальная программа и реализует тот самый опрос клавиш и передачу их кодов по USB интерфейсу.

Кроме того, разрабатывая эту плату производитель постарался учесть реальные российские технологические возможности по всем остальным электронным компонентам. Например, в качестве LDO регулятора питания (из 5В делает 3,3В) можно использовать микросхему GM1117 [7] от Зеленоградского Микрона. В качестве кварцевого резонатора на 8 МГц можно использовать резонатор РК602-52 [8] от АО «Метеор» (г. Волжский). Эти микросхемы по размерам и расположениям выводов полностью совпадают с примененными. Для пассивных компонент специально выбрали типоразмер 0805, чтобы можно было использовать отечественные резисторы от АО «Ресурс» [9] (г. Богородицк) и конденсаторы от АО «Элеконд» [10] (г. Сарапул). Ну а плата и так сделана в ООО Резонит [11] (г. Зеленоград, п. Зубово).
За счет того, что используется собственное программное обеспечение, можно легко адаптировать прошивку под другие типы мембранных матриц клавиатур, увеличивать или уменьшать число клавиш. Ну и самое главное, в отличие от прочих, кто использует китайские чипы, производитель может потешить свое самолюбие:
Но это не только блажь разработчика, использование собственного российского бренда при именовании клавиатуры в системе позволит при осуществлении серийных поставок проконтролировать, что поставляется именно разработанная и собранная в России, а не в Китае продукция. Сейчас российская персональная компьютерная техника и периферия в большинстве своем это копия китайских разработок, на китайских же микросхемах и загруженным в них ПО в Китае. А это согласитесь не может быть безопасно, когда нет даже возможности проверить программное обеспечение на «закладки». Скептики скажут «российские разработчики тоже могут добавить в ПО ненужные или даже шпионские функции». Но в случае когда разработка велась в России есть возможность независимой проверки программного кода, а значит можно доказать доверенность для критической информационной инфраструктуры, спрос на которую в России все больше и больше. Но это уже совсем другая история.
Автор: D4N3L0NG
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/424332
Ссылки в тексте:
[1] https://t.me/beshtau_electronics: https://t.me/beshtau_electronics
[2] https://dzen.ru/a/ZLPIGCXiK3gJZv3M: https://dzen.ru/a/ZLPIGCXiK3gJZv3M
[3] Sprintek: https://www.sprintek.com/en/products/Keyboard.aspx
[4] Holtek: http://www.gaw.ru/pdf/Holtek/micros/82k95x.pdf
[5] Лайтком запускает в производство свои клавиатуры: https://t.me/c/2150484265/47
[6] К1986ВЕ92FI от АО «ПКК Миландр»: https://ic.milandr.ru/products/mikrokontrollery_i_protsessory/32_razryadnye_mikrokontrollery/k1986ve92fi/
[7] GM1117: https://mikron.ru/upload/specification/ic-industrial/GM1117S.pdf
[8] РК602-52: https://www.katalog-rek.ru/upload/iblock/570/v6h3b95pj1vl23kek3iim2c1exsnw276/RK602_53-IL.pdf
[9] АО «Ресурс»: https://aoresurs.com/
[10] АО «Элеконд»: https://elecond.ru
[11] ООО Резонит: https://www.rezonit.ru
[12] Источник: https://habr.com/ru/articles/924888/?utm_source=habrahabr&utm_medium=rss&utm_campaign=924888
Нажмите здесь для печати.