Т.И. Булдакова, А.В. Ланцберг, К.А. Смолянинова
100
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 3
Окончание таблицы
Наименование элементов
Допустимые значения
Размер занимае-
мой памяти, байт
Группа крови
и резус фактор
0+, 0–, A+, A–, B+, B–, AB+, AB–
3
Сахарный диабет
и его тип
0 — нет, 1 или 2 — тип диабета
1
ВИЧ-статус
Один символ (+, –)
1
Гепатит
Один символ (0 — нет гепатита, A, B,
C, D, E, F, G)
1
Хронические заболевания
Коды, соответствующие заболева-
ниям по Международной класси-
фикации болезней
10
Непереносимость лекар-
ственных препаратов
Коды веществ из непереносимых
пациентом лекарственных препаратов
10
Сертификат открытого
ключа
Открытый ключ
64
Дайджест
Хэш всех данных карты
64
По результатам исследований авторами создано приложение, которое рабо-
тает с базой данных
Medical_card
, содержащей информацию о медицинских со-
трудниках, пациентах и их электронных персональных медицинских записях.
Описание работы приложения.
Программное обеспечение, которое осу-
ществляет доступ к карте, разработано на языке программирования С++ в среде
разработки
QtCreator
. Для работы с базой данных была выбрана СУБД
MySQL
.
Приложение предусматривает работу с двумя смарт-картами: картой врача
и картой пациента. На карте врача хранится идентификатор и ключевая пара, на
карте пациента — идентификатор, фамилия, имя, отчество, базовая информа-
ция, подпись врача, сертификат открытого ключа.
При запуске программы и на протяжении ее работы происходит проверка
наличия подключенной карты врача. Если при запуске программы карта отсутству-
ет, то появляется сообщение с просьбой подключить карту. После подключения
карты происходит авторизация. Врачу предлагается ввести PIN-код карты. Если
PIN-код корректен, то происходит проверка подлинности карты методом
Challenge-Response
[12, 14]. Суть данного метода заключается в следующем. На карте
врача хранится идентификатор, по которому в БД выбирается открытый ключ, со-
ответствующий врачу, для проверки подписи. Приложение генерирует случайное
число, хэширует его алгоритмом в соответствии с ГОСТ34.11–94. Затем хэш аппа-
ратно подписывается картой по алгоритму, приведенному в ГОСТ34.10–2001. Далее
с помощью открытого ключа из БД подпись проверяется. Если подпись верна, то
врачу предоставляется доступ к системе. Для того чтобы продолжить работу с при-
ложением, необходимо подключить вторую карту.
После подключения второй карты приложение предоставляет врачу три ре-
жима работы с картой пациента: «Режим записи»; «Режим частичного чтения»;