Previous Page  6 / 12 Next Page
Information
Show Menu
Previous Page 6 / 12 Next Page
Page Background

Т.И. Булдакова, А.В. Ланцберг, К.А. Смолянинова

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. Далее

с помощью открытого ключа из БД подпись проверяется. Если подпись верна, то

врачу предоставляется доступ к системе. Для того чтобы продолжить работу с при-

ложением, необходимо подключить вторую карту.

После подключения второй карты приложение предоставляет врачу три ре-

жима работы с картой пациента: «Режим записи»; «Режим частичного чтения»;