Подсистема безопасности медицинской информационной системы

Подсистема безопасности составляет основу всей Карельской медицинской информационной системы. Ее разработка на основе стандартных технологий Lotus Domino позволяет говорить о высочайшем уровне защищенности и сохранности данных среди информационных систем в медицине. При этом разработчики применяют уже готовые, отлаженные и проверенные временем и мировым опытом механизмы.
Подсистема безопасности построена на принципе иерархического распределения прав доступа и развитой подсистемы протоколирования. Разграничение прав доступа возможно от сервера до конкретного поля в базе данных, причем как для определенного пользователя, так и для группы пользователей. Подсистема безопасности использует следующие определения:
  • Пользователи – это персоны, для которых возможен доступ с определенным и регламентируемым уровнем прав.
  • Группы пользователей (или группы доступа) – это заранее определенные в системе группы, которым назначены различные права. При включении в группу пользователь автоматически получает определенный уровень прав, например - на доступ к различным документам, функциональному наполнению системы или базам данных.
  • Access Control List (ACL) – это список пользователей и групп, в котором указывается уровень прав на определенный объект в БД.
  • Права доступа – список возможных действий с объектами системы.

С точки зрения объектов КМИС оперирует следующими уровнями защиты:
  • Сервер. По каждому серверу можно указать тех, кому разрешен доступ к БД этого сервера (включая пользователей и другие серверы), кто может создавать или удалять БД, чьи программы могут исполнятся на сервере.
  • База данных. По каждой базе данных предусмотрен список групп и пользователей с указанием прав, предоставляемых им в рамках этой БД. Возможны следующие права: доступ (да/нет), чтение, создание или редактирование документов, создание программ, управление БД, удаление документов, изменение структуры.
  • Документ. Различает список тех, кто может просматривать содержимое документа и тех, кто может его изменять.
  • Поле или область в документе. Можно указать, какая группа пользователей может просматривать определенное поле или область в документе.

Подсистема безопасности устроена так, что ограничению и защите подлежит не только информация, но и дизайн и программы системы. Настройки подсистемы безопасности можно свободно изменять. Это право предоставлено администраторам системы. Ограничение на доступ к информации организовано так, что ненужные документы или программы пользователь просто «не видит» в системе, поэтому и не может выполнять недопустимые действия.

Разграничение прав доступа в КМИС
Разграничение прав доступа составляет основу активных программно-технических методов обеспечения безопасности в КМИС. Это касается не только электронных баз данных и документов, в них содержащихся, но и самого программного обеспечения системы.

Для работы технологии разграничения прав доступа используется аутентификация. Для этого система использует такое понятие, как учетная запись пользователя, которая состоит из открытого имени пользователя и зашифрованного пароля. При выполнении процедуры идентификации пользователь вводит свое имя (или выбирает его из списка, предложенного системой) и пароль, которые затем проверяются подсистемой безопасности на корректность. Если введенный для выбранного имени пользователя пароль оказался верным, то система считает, что процедура аутентификации пройдена успешно и открывает доступ к базам данных КМИС.

При доступе к БД система проверяет, имеется ли у текущего пользователя необходимые права на ту информацию, которую он запрашивает. В случае положительного решения информация предоставляется пользователю. В случае отрицательного решения пользователю в доступе отказывается.

Для того, чтобы администратор системы мог эффективно управлять настройками безопасности, используется понятие ACL, от английского Access Control List – список управления доступом. ACL - это список, в котором указаны пользователи или группы пользователей и сопоставленный им уровень доступа, включая разрешение на просмотр или модификацию документов, изменение БД, создание собственных документов, удаление документов, создание личных или общих программ и т.д. КМИС хранит ACL для следующих основных объектов системы:
  • сервер.
  • база данных.
  • представления данных в БД.
  • группы документов, относящихся к одному виду (например, заключений лабораторной диагностики)
  • отдельные документы или определенные части одного документа (подформы).
  • определенной области документа (например, статистической информации) вплоть до поля
  • настройки системы.
  • приложения, входящие в состав пакета программ системы.
  • команды и функции в приложениях, которые могут использоваться с различным уровнем доступа и многое другое.

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

Реакция системы на изменение ACL может быть различной. Изменение ACL сервера, каждой отдельно взятой БД или приложений, некоторых документов или отдельных полей могут протоколироваться. Администратор системы должен тщательно следить за протоколами этих изменений. Реакция на проверку наличия текущего пользователя в ACL может быть в виде:
  • скрытого отказа, когда пользователь просто «не видит» тех объектов, к которым он не имеет права доступа. Такая реакция может быть у приложения, которое динамически строит свое меню в зависимости от прав пользователя;
  • не протоколируемого отказа, когда пользователю, пытающемуся получить доступ к объекту, выводится сообщение о том, что ему в доступе отказано; такой отказ системой никак не протоколируется;
  • протоколируемого отказа, когда этот факт система протоколирует в специальном журнале;
  • отказа с извещением. Пользователю в доступе отказывается и система извещает администратора или другое доверенное лицо о факте такого отказа, например, по электронной почте.

Наличие или отсутствие прав определяет уровень доступа к объекту (полю, документу). Например, лечащий врач может обладать правами создания, редактирования, чтения документов дневниковой записи, но на заключения врачей-диагностов или консультантов обладает только правом чтения. Создавать, вносить изменения или удалять их он не имеет права.

Применение электронной цифровой подписи
Для защиты документов от несанкционированного изменения и гарантии целостности и актуальности информации в базах данных КМИС применяется электронная цифровая подпись. Принципиально она состоит из двух частей. Во-первых, это собственно цифровая подпись. Она содержит шифрованную хеш-сумму содержимого документа, а также дополнительную информацию, включая имя пользователя, дату и время подписания документа. Если в последующем документ будет изменен, подпись будет уничтожена. Ее основное назначение – гарантия того, что именно данный пользователь, именно в данное время вносил изменения в документ последний. Вторая составляющая – это специальный цифровой замок, который делает невозможным исправление (редактирование) документа. Совокупность этих двух частей обеспечивает защиту от модификации подписанного документа.

Некоторые программные модули КМИС (статистика, финансово-экономическая система) признают документ, как законченный только в том случае, если он имеет цифровую подпись. Например, программа создания эпикриза может анализировать только подписанные документы. Система перед сдачей истории болезни в архив проверяет наличие неподписанных документов, и если таковые обнаружатся - информирует об этом пользователей, не подписавших документ.