БЕЗОПАСНЫЙ ДОСТУП К ПЕРСОНАЛЬНЫМ ЗАПИСЯМ О СОСТОЯНИИ ЗДОРОВЬЯ В ЭКСТРЕННЫХ СИТУАЦИЯХ
SECURE ACCESS TO PERSONAL HEALTH RECORDS IN EMERGENCY SITUATIONS

Область техники, к которой относится изобретение
Изобретение относится к обеспечению безопасного доступа к записи данных.
Уровень техники
Существует возрастающая потребность в систематическом управлении данными, относящимися к состоянию здоровья, и/или медицинскими данными. Диагностические отчеты из разных больниц или клиник, предписания, журналы регистраций приема лекарственных препаратов и т.д. могут храниться безопасно, и доступ к таким медицинским данным может быть сделан удобным для пользователя. Такое приложение управления данными о состоянии здоровья может использоваться, например, для пациентов, которые страдают от хронических болезней, и пожилых людей, которые склонны к забывчивости, и которым требуется помощь в управлении своими записями о состоянии здоровья. В последнее время было предложено понятие Персональной записи о состоянии здоровья (PHR), которой могут управлять сами пользователи. Такая PHR может быть использована для хранения данных о состоянии здоровья пользователей и управления доступом к ним. Электронные медицинские карты (EMR) и Электронные истории болезней (EHR) из больницы могут быть импортированы в PHR пользователя с обеспечением повсеместного доступа к данным о состоянии здоровья пользователя всегда, когда соединение с Internet является доступным.
По умолчанию доступ к PHR обеспечивается только для самих пользователей. Однако пользователи также могут определять список контроля доступа или другие механизмы контроля за доступом. Например, в работе Julien Kunzi, Paul Koster Milan Petkovic, Emergency Access to Protected Health Records, in K.-P. Adlassnig et al. (Eds.): Medical Informatics in a United and Healthy Europe, MIE 2009, IOS Press, 2009, pp. 705-709, далее в этом документе: Kunzi и другие, раскрывается предоставление доступа членам семьи пользователя, друзьям и родственникам. Кроме того, пожилые люди могут делегировать задачу управления своими медицинскими записями посредством предоставления полного разрешения члену семьи, который является более компетентным. Такая предопределенная политика контроля за доступом терпит неудачу, когда врач или бригада скорой медицинской помощи намерены оказать медицинскую помощь пользователю, который находится в бессознательном состоянии, в экстренной ситуации. Врач скорой помощи и бригада скорой медицинской помощи не смогут получить доступ к PHR пользователя, потому что пользователь не может предоставить свой пароль, и политика контроля за доступом, возможно, не обеспечивает возможность доступа к данным неуполномоченным отдельным лицам. Однако было бы полезно, если некоторая основная информация о состоянии здоровья пользователя могла быть обеспечена тогда, когда ему оказывают медицинскую помощь в экстренном случае. Исследования показали, что многих фатальных ошибок можно избежать, если у врача есть доступ к информации о пациенте перед оказанием экстренной медицинской помощи.
В работе Kunzi и др. раскрывается отправка запроса на доступ врачом скорой помощи с указанием того, что это является экстренной блокировкой автоматической системы управления. Доступ предоставляется и затем выполняется протоколирование, если у запрашивающего субъекта есть надлежащие учетные записи, т.е. запрашивающий субъект является дипломированным врачом. Впоследствии используется журнал доступа для пост-контроля за доступом для определения того, является ли доступ к данным о состоянии здоровья пользователя правомочным. Однако такой механизм является неэффективным, поскольку он нарушает права конфиденциальности данных о состоянии здоровья пользователя, если экстренная блокировка автоматической системы управления является злонамеренной. По существу, ведение контроля не является предупредительной мерой для предотвращения злонамеренного доступа к PHR.
В экстренной ситуации, так как пользователь находится в бессознательном состоянии, он не может предоставить свой пароль для обеспечения возможности организации доступа к PHR. Соответственно, это вызывает необходимость экстренного доступа к PHR пользователя. Однако Серверу PHR трудно отличить подлинную экстренную ситуацию от злонамеренной попытки получения доступа к PHR, так как в обоих случаях пользователь является недоступным.
В работе "Implementing Security And Access Control Mechanisms For An Electronic Healthcare Record", Frank K. Uckert et al., AMIA 2002 Annual Symposium Proceedings, раскрывается система, в которой пользователь может обеспечивать доступ для чтения к экстренному подмножеству своей EHR посредством обеспечения возможности и определения этого внутри своей записи. Когда обеспечена возможность этого признака, создается экстренный TAN. Комбинация адреса сети, имени пользователя и этого экстренного TAN, напечатанного на маленькой памятке, может быть взята с собой пациентом, и использоваться любым другим лицом в случаях чрезвычайной ситуации для этого пациента. С TAN (номера транзакций) пользователь может предоставлять доступ к частям его записи любому только на один сеанс. Принцип TAN является аналогичным принципу, известному из международного дистанционного банковского обслуживания. После одного использования TAN является недействительным. Новый TAN может формироваться пользователем всегда, когда это необходимо.
Раскрытие изобретения
Предпочтительно наличие улучшенной системы для обеспечения безопасного доступа к записи данных. Для улучшения решения вопросов, связанных с этой проблемой, первый аспект изобретения обеспечивает серверную систему, содержащую:
средство хранения информации для хранения множества записей данных, причем с записью данных ассоциируется последовательность секретных ключей, совместно используемая с аппаратным маркером, соответствующим этой записи данных, причем упомянутая серверная система также выполнена с возможностью хранения множества учетных записей для аутентификации для пользователей,
средство аутентификации пользователя для приема учетных данных для аутентификации пользователя из терминала пользователя, и аутентификации пользователя как пользователя серверной системы на основе этих учетных данных для аутентификации пользователя,
средство приема секретного ключа для приема представления секретного ключа, раскрытого аппаратным маркером, и информации, идентифицирующей запись данных, соответствующую этому аппаратному маркеру, из терминала,
средство сопоставления для сопоставления представления упомянутого секретного ключа с неиспользованным секретным ключом в последовательности секретных ключей, ассоциированной с записью данных, соответствующей упомянутому аппаратному маркеру,
средство предоставления доступа для предоставления пользователю доступа к по меньшей мере части записи данных, соответствующей упомянутому аппаратному маркеру, если представление упомянутого секретного ключа соответствует упомянутому неиспользованному секретному ключу, и пользователь аутентифицирован как пользователь серверной системы, и
средство маркировки для маркировки упомянутого неиспользованного секретного ключа как использованного.
Серверная система может обеспечивать улучшенную безопасность. Средство аутентификации пользователя обеспечивает то, что только авторизованные лица могут получить доступ к записи данных. Например, только работникам скорой помощи дают учетные данные для проверки полномочий (по выбору, эти учетные данные делают действительными только на время их рабочих смен). Кроме того, средство приема секретного ключа и средство сопоставления используются для идентификации записи данных и обеспечения доказательства того, что у пользователя существует профессиональная необходимость получения доступа к записи данных, потому что в противном случае пользователь не обладал бы аппаратным маркером с представлением на нем секретного ключа. Комбинация аутентификации пользователя и представления секретного ключа, принятого из аппаратного маркера, обеспечивают улучшенную безопасность, потому что без аутентификации пользователя любой, кто найдет или украдет карточку, может получить доступ к записи данных.
Поскольку аппаратный маркер может формировать представления последовательности секретных ключей, он может использоваться многократно. Каждый секретный ключ предоставляет только одноразовый доступ к записи данных, потому что действительными являются только неиспользованные секреты.
Серверная система может содержать средство связи для выполнения автоматического телефонного вызова или отправки сообщения в мобильный телефон или мобильный терминал лица, ассоциированного с аппаратным маркером, до того как средство предоставления доступа предоставит пользователю доступ, и причем это средство связи выполнено с возможностью обеспечения упомянутому лицу возможности отказа в предоставлении доступа. Например, упомянутое лицо может отказаться предоставить доступ посредством нажатия кнопки на телефоне во время упомянутого автоматического телефонного вызова или отправки возвращаемого сообщения. Посредством этого проверяется то, находится ли это лицо в сознательном состоянии. Если упомянутое лицо не отвечает на вызов, или не возвращает сообщение, то это может быть потому, что это лицо находится в бессознательном состоянии, и система тогда разрешает доступ к записи данных.
Средство предоставления доступа может содержать шифратор для шифровки по меньшей мере части записи данных с использованием ключа на основе значения, принятого из терминала пользователя, и передачи шифруемых данных и информации для вычисления этого ключа исходя из упомянутого значения в терминал пользователя. Посредством этого может быть обеспечено то, что только терминал пользователя может дешифровать упомянутые данные.
Доступ, предоставленный к по меньшей мере одной из записей данных, может быть ограничен по времени. Посредством этого избегают того, что запись данных может быть просмотрена, когда этой экстренной ситуации больше не существует.
Представление секретного ключа может содержать шифрование секретного ключа, и это шифрование может быть основано на ключе, и этот ключ может быть частью хеш-последовательности, и позиция секретного ключа в последовательности секретных ключей может соответствовать позиции ключа в хеш-последовательности. Посредством этого каждый секретный ключ в последовательности шифруется по-разному. Маркер и серверная система могут использовать идентичную последовательность ключей. Нет необходимости, чтобы серверная система хранила полную последовательность зашифрованных ключей, потому что они могут быть повторно вычислены посредством хеш-последовательности.
Серверная система может содержать средство передачи данных, выполненное с возможностью передачи ключа в хеш-последовательности, соответствующего позиции секретного ключа в последовательности секретных ключей, в терминал пользователя. С применением хеш-функции, терминал пользователя или аппаратный маркер могут вычислять один или несколько дополнительных ключей в хеш-последовательности. Терминал пользователя или маркер могут сравнивать эти вычисленные значения с сохраненным значением. Например, на аппаратном маркере сохраняют конечный ключ в цепочке хеширования до того, как этот аппаратный маркер будет выдан. Это обеспечивает аутентификацию сервера или обеспечивает способ, которым терминал может проверить то, что получена правильная запись данных.
Согласно еще одному аспекту, изобретение обеспечивает аппаратный маркер. Этот аппаратный маркер может использоваться с терминалом пользователя, связанным с вышеизложенной серверной системой. Аппаратный маркер может содержать средство обеспечения секретного ключа для обеспечения представления секретного ключа, причем это представление секретного ключа содержит шифрование секретного ключа, и это шифрование основано на ключе, и этот ключ является частью хеш-последовательности, и позиция секретного ключа в последовательности секретных ключей соответствует позиции ключа в хеш-последовательности, и это средство обеспечения секретного ключа выполнено с возможностью обеспечения представления в обратном порядке следования. Последовательность представлений может быть сохранена на средстве хранения информации аппаратного маркера.
Согласно еще одному аспекту, изобретение обеспечивает терминал пользователя для использования с серверной системой. Терминал пользователя содержит
устройство приема секретного ключа для приема представления секретного ключа, раскрытого аппаратным маркером, и информации, идентифицирующей запись данных, соответствующую этому аппаратному маркеру,
устройство приема учетных данных для приема учетных данных для аутентификации пользователя,
генератор значений для генерации значения,
передающее устройство для передачи учетных данных для аутентификации пользователя, представления секретного ключа, раскрытого аппаратным маркером, информации, идентифицирующей запись данных, соответствующую аппаратному маркеру, и сгенерированного значения в серверную систему, и
устройство приема данных для приема по меньшей мере части содержимого записи данных в зашифрованном виде и данных о ключе из серверной системы,
средство вычисления ключа для вычисления ключа на основе упомянутого значения и данных о ключе, и
дешифратор данных для дешифровки по меньшей мере части содержимого записи данных на основе ключа.
Терминал пользователя обеспечивает улучшенную безопасность посредством учетных данных пользователя и секретного ключа из аппаратного маркера. Кроме того, запись данных защищена шифрованием, причем нет необходимости передачи ключа по сети.
Устройство приема секретного ключа может содержать устройство считывания маркера для электронного получения представления или информации из аппаратного маркера.
Система для обеспечения безопасного доступа к записи данных может содержать упомянутую серверную систему, множество аппаратных маркеров и множество терминалов пользователя. Аппаратные маркеры могут иметь при себе такие лица, как потенциальные пациенты, и терминалы пользователя могут иметь при себе или использовать, таки пользователи, как работники скорой помощи. Когда некоторое лицо нуждается в помощи и не может обеспечить детали доступа к своей персональной записи о состоянии здоровья, работник скорой помощи может соединить аппаратный маркер с терминалом, и терминал может передать представление секретного ключа в серверную систему, работник скорой помощи аутентифицируется в серверной вычислительной системе, и получает доступ к экстренной части персональной записи о состоянии здоровья упомянутого лица. В следующий раз, когда упомянутое лицо будет нуждаться в экстренной помощи, аппаратный маркер может сформировать следующее представление секретного ключа.
Согласно еще одному аспекту, изобретение обеспечивает способ обеспечения безопасного доступа к записи данных. Способ содержит
сохранение множества записей данных, причем с записью данных ассоциируется последовательность секретных ключей, совместно используемых с аппаратным маркером, соответствующим этой записи данных, и множества учетных записей для аутентификации для пользователей на серверной вычислительной системе,
прием учетных данных для аутентификации пользователя из терминала пользователя, и аутентификация пользователя как пользователя серверной системы на основе этого учетных данных для аутентификации пользователя,
прием представления секретного ключа, раскрытого аппаратным маркером, и информации, идентифицирующей запись данных, соответствующую этому аппаратному маркеру, из терминала,
сопоставление представления секретного ключа с неиспользованным секретным ключом в последовательности секретных ключей, ассоциированной с записью данных, соответствующей упомянутому аппаратному маркеру,
предоставление пользователю доступа к по меньшей мере части записи данных, соответствующей аппаратному маркеру, если это представление секретного ключа соответствует неиспользованному секретному ключу, и пользователь аутентифицирован как пользователь серверной системы, и
маркировку упомянутого неиспользованного секретного ключа как использованного.
Согласно еще одному аспекту, изобретение обеспечивает компьютерный программный продукт, содержащий команды для побуждения процессорной системы выполнять вышеизложенный способ.
Специалистам в данной области техники будет очевидно, что два или большее количество из вышеупомянутых вариантов осуществления, реализаций и/или аспектов изобретения могут быть объединены любым способом, который считается целесообразным.
На основе настоящего описания специалистом в данной области техники могут быть выполнены модификации и изменения серверной системы, терминала пользователя, аппаратного маркера, способа и/или компьютерного программного продукта, которые соответствуют описанным модификациям и изменениям других аспектов изобретения.
Краткое описание чертежей
Эти и другие аспекты изобретения станут очевидны из вариантов осуществления, описанные далее в этом документе, и объяснение их приводится со ссылкой на эти варианты осуществления. В чертежах:
Фиг.1 - блок-схема системы для обеспечения безопасного доступа к записи данных.
Фиг.2 - блок-схема терминала пользователя для использования в упомянутой системе.
Фиг.3 - блок-схема последовательности операций способа обеспечения безопасного доступа к записи данных.
Фиг.4 - схема, обеспечивающая другой вид системы для обеспечения безопасного доступа к записи данных.
Осуществление изобретения
В настоящем описании раскрыты варианты осуществления системы, которая может быть использована для обеспечения доступа к медицинской записи лица в случае чрезвычайной ситуации, например, тогда, когда лицо находится в бессознательном состоянии вследствие несчастного случая или остановки сердца. Это лицо может иметь при себе аппаратный ярлык, который может быть использован им в пути аналогично кредитной карточке. Информация, хранящаяся на этом аппаратном ярлыке, держится в секрете. Секретная информация на аппаратном ярлыке может храниться в электронном виде, так что эта информация раскрывается только тогда, когда аппаратный ярлык соединен со считывателем ярлыков. В качестве альтернативы, эту информацию можно визуализировать, поэтому лицо, которому требуется получить доступ к записи данных, может скопировать эту информацию на терминал. Когда пользователь находится в бессознательном состоянии, врач может взять аппаратный ярлык и использовать информацию, находящуюся на нем, для запроса одноразового экстренного доступа к персональной записи о состоянии здоровья этого лица, хранящейся на сервере персональных записей о состоянии здоровья (PHR). В случае, если ярлык с данными украден или утерян, пользователь может уведомить о потере для запрета любого экстренного доступа к PHR посредством блокировки на сервере этого аппаратного ярлыка.
В качестве контрмеры против воровства, обладание ярлыком с данными не обязательно означает то, что запрашивающий субъект имеет экстренный доступ к PHR пользователя. На Сервере PHR может быть определена политика, заключающаяся в том, чтобы только дипломированным врачам или медицинскому персоналу, которые могут предоставить информацию из ярлыка с данными, разрешать инициировать экстренный доступ. Аналогично, врач, у которого нет информации из ярлыка с данными, не уполномочен инициировать экстренный доступ.
Кроме того, аппаратный ярлык может обеспечивать одноразовый ключ для сеанса для использования врачом скорой помощи для получения доступа к PHR пользователя на основе ключа из цепочки хеширования пользователя, известной только серверу PHR и секретному ключу от врача. Врач также может выявлять то, является ли PHR, принятая из сервера PHR, подлинной, и что она соответствует личности пользователя.
На фиг.1 иллюстрируется система, включающая в себя серверную систему 100, терминал 200 пользователя и аппаратный маркер 60. Эта система может быть использована для обеспечения безопасного доступа к записи 2 данных. Серверная система 100 может быть реализована с использованием множества компьютеров и носителей информации. Система также может быть реализована в меньшем масштабе с использованием только одного компьютера. С учетом настоящего описания, специалисту будут очевидны другие возможности реализации.
1
2
3
4
Средство 1 хранения информации серверной системы может быть сконфигурировано для хранения множества записей данных, например, персональные записи о состоянии здоровья. На этом чертеже иллюстративно изображена одна запись 2 данных. Для каждой записи данных 2, для которой обеспечена возможность экстренного доступа, может существовать соответствующий аппаратный маркер 60, который должно иметь при себе лицо, к которому относится запись 2 данных. Такая запись 2 данных, может также иметь, ассоциированную с ней последовательность секретных ключей 14, совместно используемую с аппаратным маркером 60, соответствующим этой записи 2 данных. На иллюстрации, в качестве примера, в последовательности секретных ключей 14 изображены четыре секретного ключа s, s, s, s.
Кроме того, серверная система 100 может быть выполнена с возможностью хранения информации 3 для аутентификации пользователя. Такая информация аутентификации пользователя может включать в себя политику контроля за доступом. Упоминаемый пользователь может являться врачом или работником скорой помощи, или другим лицом, у которого существует действительная причина для получения доступа к записи данных, или он уполномочен на это.
Серверная система 100 может также содержать средство 10 аутентификации пользователя для приема учетных данных 11 для аутентификации пользователя из терминала 200 пользователя. На основе принятого учетных данных 11 для аутентификации и сохраненной информации 3 для аутентификации, средство 10 аутентификации пользователя принимает решение относительно того, может ли пользователь терминала 200 в общем иметь доступ к экстренным данным записей данных, хранящихся в серверной вычислительной системе 100. Другими словами, средство аутентификации пользователя выполнено с возможностью аутентификации пользователя как авторизованного пользователя. Средство 10 аутентификации может быть выполнено с возможностью выполнения основанного на обязанностях контроля за доступом или основанного на атрибуте контроля за доступом, например, на основе сохраненной политики контроля за доступом. Основанный на обязанностях или основанный на атрибуте контроль за доступом является известным в данной области техники как таковой. В серверной вычислительной системе 100 такая политика может обеспечивать пользователю, имеющему конкретный набор ассоциированных с ним атрибутов, доступ к записи данных только тогда, когда пользователь также предоставляет надлежащую секретную информацию 13, полученную из аппаратного маркера 60, как обсуждается ниже. Секретная информация 13 может считываться из аппаратного маркера 60 и пересылаться на сервер 100 терминалом 200, которым управляет пользователь.
Серверная система 100 может также содержать средство 9 приема секретного ключа для приема представления секретного ключа 13 из терминала 200. Терминал 200 может быть выполнен с возможностью считывания секретного ключа 13 с аппаратного маркера 60 лица, к которому относится запись 2 данных. Кроме того, может быть принята информация, идентифицирующая запись данных, соответствующую аппаратному маркеру. Эта последняя информация может быть включена в секрет, или она может быть отдельным элементом данных, получаемым из маркера или каким-либо иным способом.
1
2
3
4
3
Серверная система 100 может также содержать средство 7 сопоставления для сопоставления представления секретного ключа 13 с неиспользованным секретным ключом в последовательности секретных ключей, ассоциированной с записью 2 данных, соответствующей аппаратному маркеру 60. На этом чертеже s, s и s являются неиспользованными секретными ключами, и s является использованным секретным ключом. Например, средство 7 сопоставления может сопоставить принятое представление секретного ключа 13 с последним неиспользованным секретным ключом s в последовательности секретных ключей 14.
3
Серверная система 100 может также содержать средство 6 предоставления доступа для предоставления пользователю доступа к по меньшей мере части записи 2 данных, соответствующей аппаратному маркеру 60, если представление секретного ключа 13 соответствует неиспользованному секретному ключу s, и пользователь аутентифицирован как авторизованный пользователь. Если эти два условия оба не удовлетворяются, то средство 6 предоставления доступа может отказать в доступе к записи 2 данных.
3
1
2
Серверная система 100 может также содержать средство 12 маркировки для маркировки упомянутого неиспользованного секретного ключа s как использованного. Посредством этого, система отслеживает то, какие секреты все еще являются неиспользованными (например, s и s). Для получения доступа к записи 2 данных могут использоваться только представления 13 неиспользованных секретных ключей.
Серверная система может содержать средство 8 связи для выполнения автоматического телефонного вызова или отправки сообщения в мобильный терминал 50, например, мобильный телефон, лица, ассоциированного с аппаратным маркером 60. Например, средство 8 связи может содержать коммуникационное оборудование, встречающееся в мобильных телефонах, или сетевое соединение с таким коммуникационным оборудованием. Средство 8 связи выполняет свою задачу до того, как средство 6 предоставления доступа предоставит пользователю доступ. Средство 8 связи может осуществлять двустороннюю связь. Если средство 8 связи принимает надлежащий сигнал обратно из мобильного терминала 50, то средство 8 связи может отправить сигнал в средство 6 предоставления доступа для выдачи команды средству 6 предоставления доступа для отказа в доступе к записи 2 данных. Мобильный терминал 50 содержит интерфейс пользователя, обеспечивающий возможность пользователю передавать надлежащий сигнал, например тональный сигнал DTMF или sms-сообщение.
Серверная система 100 может содержать шифратор 5 для шифрования по меньшей мере части записи 2 данных с использованием ключа на основе значение, принимаемого из терминала пользователя. Это значение может передаваться из терминала пользователя вместе с представлением секретного ключа 13. Серверная система 100 может также содержать средство 4 передачи данных для передачи зашифрованных данных и информации для вычисления ключа исходя из упомянутого значения в терминал пользователя. Средство 4 передачи данных может отправлять полнодоступную часть записи данных на терминал 200, и терминал 200 может содержать программные средства, обеспечивающие возможность пользователю просматривать данные. В качестве альтернативы, средство 4 передачи данных может содержать веб-сервер, который отправляет элементы записи 2 данных, запрашиваемые пользователем через терминал 200 и веб-интерфейс. Средство 4 передачи не обязательно должно быть основано на вычислениях ключа, описанных выше. Вместо этого или дополнительно, например, может быть применена технология шифрования HTTPSSL,и/или SSL,или другие протоколы защиты данных.
Серверная система 100 может быть выполнена с возможностью предоставления доступа к записи 2 данных только на ограниченное время после приема представления секретного ключа 13. Например, доступ разрешается только в течение одного сеанса и/или в течение предопределенного периода времени. Например, только на один час. В качестве альтернативы или дополнительно, запись 2 данных может быть передана на терминал 200 пользователя только один раз или только предопределенное число раз.
3
Представление секретного ключа 13 может содержать шифровку секретного ключа (например, шифровку s). Эта шифровка основана на ключе, и ключ может быть частью хеша-последовательности. Хеш-последовательность является последовательностью, в которой каждый последующий элемент получают посредством применения хеш-функции к предыдущему элементу. Позиция секретного ключа в этой последовательности секретных ключей соответствует позиции ключа в упомянутой хеш-последовательности. Другими словами, каждый последующий секретный ключ шифруется посредством следующего ключа в хеш-последовательности. Соответственно, с раскрытием ключей одного за другим, начиная с последнего ключа в хеш-последовательности и действуя в обратном направлении, атакующему трудно взломать нераскрытые ключи. Это так, потому что хеш-функция является необратимой функцией.
На фиг.1 также изображен аппаратный маркер 60 для использования с терминалом 200 пользователя, связанного с серверной системой 100. Аппаратный маркер 60 содержит средство 61 обеспечения секретного ключа для обеспечения представления секретного ключа 13 в терминал 200. Представление секретного ключа 13 может содержать шифровку секретного ключа. Шифровка может быть основана на ключе, и этот ключ может быть частью хеш-последовательности, и позиция секретного ключа в последовательности секретных ключей может соответствовать позиции ключа в хеш-последовательности, и средство обеспечения секретного ключа может быть выполнено с возможностью обеспечения представлений в обратном порядке следования.
Аппаратный маркер может содержать верификатор 62, ыполненный с возможностью приема ключа, посредством которого генерировалась шифровка секретного ключа. Этот ключ называется 'принятый ключ'. Принятый ключ может передаваться из серверной системы 100 в терминал 200 и пересылаться терминалом в аппаратный маркер 60. Верификатор 62 может применять хеш-функцию к принятому ключу. Следовательно, обработанный ключ является сгенерированным. Этот обработанный ключ, который может быть подвергнут дополнительным этапам обработки, может сравниваться с сохраненным значением. Сохраненное значение основано на следующем ключе в хеш-последовательности. После упомянутого сравнения результат сравнения может быть отправлен в терминал. Если сравнение в результате не приводит к попаданию, то терминал может генерировать ошибку, так как существует рассогласование между записью данных на серверной вычислительной системе и информацией на аппаратном маркере.
На фиг.2 иллюстрируется возможный терминал 200 пользователя для использования с серверной системой 100. Терминал по фиг.2 может быть выполнен с возможностью выполнения задачи верификации аппаратного маркера. В этом случае, аппаратному маркеру не требуется выполнять верификацию. Аналогично, если в аппаратном маркере существует верификатор 62, то может использоваться более простой терминал без верификатора 204. Терминал 200 может быть реализован с использованием аппаратных средств PC (ПК), или может быть реализован с использованием других аппаратных средств и соответствующих программных средств. В чертежах подобные объекты пронумерованы подобными ссылочными позициями. Терминал 200 пользователя может содержать устройство 205 приема секретного ключа для приема представления секретного ключа, раскрытого аппаратным маркером 60, и информации, идентифицирующей запись данных, соответствующую аппаратному маркеру 60. Терминал 200 пользователя может также содержать устройство 206 приема учетных данных для приема учетных данных для аутентификации пользователя. Устройство 206 приема учетных данных может быть основано на элементах интерфейса пользователя, обеспечивающих возможность пользователю, например, вводить имя пользователя и пароль. Кроме того, с использованием комбинации имени пользователя, пароля и аппаратного маркера, ассоциированного с пользователем (в отличие от аппаратного маркера 60, соответствующего записи данных пациента) можно выполнять строгую аутентификацию пользователя.
Терминал 200 пользователя может также содержать передающее устройство 201 для передачи учетных данных для аутентификации пользователя, представления секретного ключа, раскрытого аппаратным маркером 60, и информации, идентифицирующей запись данных, соответствующую аппаратному маркеру 60, в серверную систему 100. Когда на основе предоставленной информации серверная система 100 предоставляет доступ к записи 2 данных, содержимое в записи 2 данных может быть отправлено в зашифрованном виде в терминал 200 пользователя. Однако также может быть выполнена аутентификация сервера и/или проверка того, была ли серверной системой 100 найдена правильная запись 2 данных, следующим образом.
Терминал 200 пользователя может содержать устройство 202 приема данных для приема по меньшей мере части содержимого записи данных в зашифрованном виде и данных о ключе из серверной системы 100. Данные о ключе могут пересылаться в верификатор 204, выполненный с возможностью применения хеш-функции к принятым данным о ключе (один раз или многократно) и, по выбору, дополнительных этапов обработки для получения обработанного ключа, и сравнения обработанного ключа со значением, принятым с этой целью из аппаратного маркера 60. Значение может быть основано на ключе, следующем в хеш-последовательности. На основе этого сравнения, верификатор 204 принимает решение, является ли серверная система 100 и/или запись 2 данных подлинной.
Терминал 200 пользователя может содержать дешифратор данных для дешифровки по меньшей мере части содержимого записи данных на основе данных о ключе. Дешифратор 203 данных может быть сконфигурирован для дешифровки содержимого записи данных только в том случае, если аутентификация верификатором 204 была успешной.
Средство 205 приема секретного ключа может содержать устройство 207 считывания маркера для электронного получения представления или информации из аппаратного маркера 60. Например, устройство 207 считывания маркера содержит устройство считывания смарт-карты, и аппаратный маркер 60 содержит смарт-карту.
С использованием серверной системы аппаратных маркеров и терминалов пользователя, изложенных выше, может быть создана полностью защищенная система доступа, причем верификатор может быть реализован в терминале пользователя или в аппаратном маркере.
На фиг.3 иллюстрируется блок-схема последовательности операций способа обеспечения безопасного доступа к записи данных. Способ может быть реализован в виде программных средств, которые могут быть сохранены на одном или нескольких носителях информации для распределения на серверной вычислительной системе, одном или нескольких терминалах пользователя и одном или нескольких аппаратных маркерах.
Способ может содержать этап 301 сохранения множества записей данных, причем с записью данных ассоциируется последовательность секретных ключей, совместно используемая с аппаратным маркером, соответствующим записи данных, и сохранения информации аутентификации пользователя.
Способ может содержать этап 302 приема учетных данных для аутентификации пользователя из терминала пользователя и аутентификации пользователя как авторизованного пользователя на основе упомянутого учетных данных для аутентификации пользователя и упомянутой сохраненной информации аутентификации.
Способ может содержать этап 303 приема представления секретного ключа, раскрытого аппаратным маркером, и информации, идентифицирующей запись данных, соответствующую упомянутому аппаратному маркеру, из терминала.
Способ может содержать этап 304 сопоставления представления секретного ключа с неиспользованным секретным ключом в последовательности секретных ключей, ассоциированной с записью данных, соответствующей упомянутому аппаратному маркеру.
Способ может содержать этап 305 предоставления доступа для предоставления пользователю доступа к по меньшей мере части записи данных, соответствующей аппаратному маркеру, если представление секретного ключа соответствует упомянутому неиспользованному секретному ключу, и пользователь аутентифицирован как авторизованный пользователь.
Способ может также содержать этап 306 маркировки упомянутого неиспользованного секретного ключа как использованного.
Использование аппаратного маркера, например смарт-карты ярлыка с данными (содержащей экстренные маркеры спасения), может обеспечивать возможность персоналу службы медицинской помощи получить доступ к PHR пользователя в экстренном случае. В качестве примера, могут быть реализованы следующие признаки.
Ярлык с данными содержит информацию о доступе, необходимую для доступа к записям о состоянии здоровья.
Информация на карточке может быть обновлена без необходимости ликвидации или аннулирования ваших записей.
Протокол включает в себя проверку медицинского учетных данных инициатора запроса информации.
Протокол обеспечивает то, что доступ к записи является действительным только на один единственный сеанс.
Иллюстративный вариант осуществления может включать в себя один, или несколько, или все следующие элементы.
Сервер PHR устанавливает ассоциацию с пользователем посредством генерации цепочки хеширования и маркера спасения. Маркеры спасения шифруются и сохраняются на смарт-карте, вместе с псевдосекретным ключом.
Врач может аутентифицироваться на Сервере PHR, и его учетные данные должен удовлетворять политике, определенной Сервером PHR для обеспечения возможности экстренного доступа.
i
Врач, или терминал пользователя, используемый врачом, локально генерируют секретный ключ x и обеспечивают его на сервер PHR вместе с псевдосекретным ключом (ps) и i-ым маркером спасения (rk).
Экстренный доступ разрешается только в том случае, если врач обладает смарт-картой пользователя. Доказательство этого формируется посредством обеспечения как псевдосекретного ключа, так и маркера спасения.
i
Диапазон действия конкретного маркера спасения ограничивается конкретным экстренным сеансом. Для каждого экстренного сеанса используется отличающийся маркер спасения (rk). Использование i-го маркера спасения обеспечивает возможность доступа только для i-го экстренного сеанса, и он не является действительным впоследствии, даже если упомянутый врач пытается использовать его впоследствии. Следовательно, это препятствует тому, чтобы упомянутый врач использовал экстренный доступ к PHR пользователя в будущем, и защищает конфиденциальность пользователя эффективным способом.
Вместе с тем сервер PHR может инициировать автоматизированный телефонный вызов пользователю для определения того, находится ли пользователь в данный момент в экстренной ситуации. Если пользователь не отвечает, то можно предположить, что он действительно находится в экстренной ситуации.
i-1
l
2
N
После проверки правильности маркера спасения и псевдосекретного ключа пользователя (здесь: лицо, нуждающееся в помощи), сервер PHR возвращает (i-l)-й ключ K из цепочки хеширования K, K, …, K в безопасном аутентифицированном канале, упомянутый секретный ключ после этого используется в комбинации с собственным секретным ключом x врача для генерации одноразового секретного ключа z для использования для дешифровки PHR пользователя или подмножества PHR.
Сервер PHR возвращает зашифрованный PHR, который зашифрован посредством ключа z, и доступ к PHR может быть ограничен по времени. В этом случае, исходный пароль пользователя или секретный ключ для доступа к PHR не раскрывается никому.
На фиг.4 иллюстрируется более детализированный пример варианта осуществления изобретения. Эти детали здесь описаны как простые примеры и могут быть применены отдельно или в комбинации к системам по фиг.1 и 2 и способу по фиг.3. В системе иллюстративно изображен потенциальный пациент 451. На чертеже также изображена смарт-карта 452, которая является только примером аппаратного маркера. На чертеже также изображен сервер 453 PHR и терминал 454 пользователя (обычно управляемый врачом). Ссылочные позиции 401-414 указывают потоки данных, ассоциированные с несколькими этапами обработки.
A. Инициализация секретных ключей (этап 401).
1
Когда пользователь подписывается на бюджет PHR, он получает из Сервера PHR псевдосекрет. Сервер PHR сначала выбирает случайное число K в качестве первого ключа цепочки хеширования [5]. Для вычисления следующего ключа в цепочке, к ключу применяется хеш-функция. Для генерации цепочки хеширования, этот процесс повторяется n-1 раз следующим образом:
1
2
1
3
2
n
n-1
K→K=H[K]→K=H[K]→...→K=Η[K]
n
n-1
n
Цепочка хеширования обладает свойством необратимости в том смысле, что по данному K атакующий не может вычислить K. Цепочка хеширования является уникальной для каждого отдельного лица и она служит идентификатором для PHR пользователя. Ключ в цепочке хеширования может использоваться для определения подлинности PHR пользователя. Цепочка хеширования используется в обратном порядке, и K обозначают псевдосекретный ключ пользователя.
1
n
В дополнение к цепочке хеширования сервер PHR генерирует n маркеров спасения X, ..., X, например, случайные числа, и они шифруются посредством ключей цепочки хеширования следующим образом:
Kn-1
n
Kn-2
n-1
K1
2
Ε(Χ), Ε(Χ), ···, Ε(Χ)
Маркеры спасения являются секретного ключами, совместно используемыми аппаратным маркером пользователя и Сервером PHR. Врач, который использует маркер спасения, не может дешифровать маркер из-за шифрования, следовательно, предотвращается повторное использование. Поскольку каждый маркер шифруется посредством ключа из цепочки ключей, и так как этот ключ известен только Серверу PHR, то атакующий не может создать новый маркер или модифицировать этот маркер.
Ярлык с данными, т.е. аппаратный маркер, содержащий псевдосекретный ключ, возможно в незашифрованном виде, URL для доступа к Серверу PHR и зашифрованные маркеры спасения отправляют пользователю с сопроводительным письмом, в котором ему советуют иметь при себе этот ярлык с данными всегда.
B. Инициирование экстренного доступа.
В экстренном случае врач и сервер PHR могут выполнять некоторые или все из следующих этапов для разблокировки данных PHR для врача.
Этап 402: Врач запрашивает данные на смарт-карте ярлыка с данными.
n
i
Ki-1
i
Ki-2
i-1
n
Этап 403: Смарт-карта ярлыка с данными возвращает псевдосекретный K и i-й маркер спасения rk=Ε(X). Псевдосекретный ключ служит идентификатором PHR пользователя, тогда как маркер спасения предоставляет врачу экстренный доступ. В следующий раз, когда врач запрашивает смарт-карту, выдается новый маркер спасения т.е. Ε(X), вместе с псевдосекретным ключом K.
Этап 404: Врач аутентифицируется на сервере PHR, например, с использованием своего имени пользователя и пароля, маркера SAML, Сертификата PKI и т.д.
Этап 405: Сервер PHR аутентифицирует врача и возвращает либо ошибку аутентификации, или сообщение об успехе.
Этап 406: После успешной аутентификации врач локально генерирует случайный секретный ключ x.
n
i
Ki-1
i
Этап 407: После генерации секретного ключа врач отправляет псевдосекретный ключ (ps=K), маркер спасения (rk=E(X)) и случайный секретный ключ x на Сервер PHR.
i-1
i-1
Этап 408: На основе принятого псевдосекретного ключа сервер PHR определяет местоположение соответствующей цепочки хеширования пользователя, и продвигается по цепочке хеширования назад для получения K. После этого маркер спасения дешифруется с использованием K, и Сервер PHR убеждается в том, что этот маркер никогда прежде не использовался, в противном случае сервер PHR прерывает сеанс и не разблокирует данные PHR пациента.
Сервер PHR может также сделать автоматизированный телефонный вызов пользователю для определения того, находится ли пользователь в экстренной ситуации, причем экстренный запрос на доступ немедленно прерывается, если пользователь указывает на обратное.
i-1
Этап 410: Если выявлена экстренная ситуация, то сервер PHR генерирует одноразовый секретный ключ z=x+K.
Этап 411: После этого сервер PHR использует секретный ключ z для шифровки PHR пользователя.
i-1
Этап 412: Сервер PHR отправляет зашифрованный PHR врачу вместе с ключом K (например, ключ может быть отправлен как часть протокола обмена ключами).
i-1
i-1
i-1
n
i-1
n-1
n
Этап 413: Терминал врача, который также знает x и K, также может вычислить одноразовый секретный ключ z. Однако до этого врач может убедиться в том, что K, принятый из Сервера PHR, является подлинным и соответствует личности пользователя, для обеспечения того, что осуществляется выборка правильного PHR. Терминал врача может повторно применять хеш-функцию к K и получающиеся в результате значения хеш-функции до тех пор, пока не будет достигнут K, который может рассматриваться как псевдосекретный ключ пользователя. Это служит способом аутентификации Сервера PHR, так как только Сервер PHR знает всю цепочку хеширования Η[K]→...→Η[K]=K.
Этап 414: Врач дешифрует данные PHR с использованием выходных данных этапа 413.
Очевидно, что изобретение также относится к компьютерным программам, в частности к компьютерным программам на или в носителе информации, выполненном с возможностью реализации изобретения на практике. Программа может быть в виде исходного кода, объектного кода, кодовым промежуточным исходным и объектным кодом, например, в конкретном откомпилированном виде, или в любом другом виде, подходящем для использования в реализации способа согласно изобретению. Также очевидно, что такая программа может иметь много различных архитектурных проектов. Например, код программы, реализующий функциональность способа или системы согласно изобретению, может быть подразделен на одну или несколько подпрограмм. Специалисту будут очевидны многие различные способы распределения функциональности среди этих подпрограмм. Подпрограммы могут быть сохранены вместе в одном исполняемом файле для формирования модульной программы. Такой исполняемый файл может содержать исполнимые компьютером команды, например, команды процессора и/или команды интерпретатора (например, команды интерпретатора Java). В качестве альтернативы, одна, или несколько, или все подпрограммы могут быть сохранены в по меньшей мере одном внешнем библиотечном файле, и связываться с главной программой или статически, или динамически, например, во время выполнения. Главная программа содержит по меньшей мере один вызов по меньшей мере одной из подпрограмм. Подпрограммы могут также содержать вызовы друг друга. Вариант осуществления, относящийся к компьютерному программному продукту, содержит исполнимые компьютером команды, соответствующие каждому этапу обработки по меньшей мере одного из способов, изложенных в этом документе. Эти команды могут быть подразделены на подпрограммы и/или сохранены в одном или нескольких файлах, которые могут быть связаны статически или динамически. Другой вариант осуществления, относящийся к компьютерному программному продукту, содержит исполнимые компьютером команды, соответствующие каждому средству из по меньшей мере одного из систем и/или продуктов, изложенных в этом документе. Эти команды могут быть подразделены на подпрограммы и/или сохранены в одном или нескольких файлах, которые могут быть связаны статически или динамически.
Носитель компьютерной программы может быть любым объектом или устройством, способным к переносу программы. Например, носитель может включать в себя такой носитель информации, как ROM (ПЗУ), например, CD-ROM или полупроводниковое ПЗУ, или магнитный носитель записи, например флеш-память или жесткий диск. Кроме того, носитель может быть передаваемым носителем, например электрическим или оптическим сигналом, который может быть передан через электрический или волоконно-оптический кабель или по радиосвязи или другими средствами. Когда программа воплощается в таком сигнале, носитель может состоять из такого кабеля или другого устройства или средства. В качестве альтернативы, носитель может быть интегральной схемой, в которой воплощена эта программа, причем эта интегральная схема выполнена с возможностью выполнения или использования при выполнении, соответствующего способа.
Следует отметить, что вышеупомянутые варианты осуществления иллюстрируют, но не ограничивают это изобретение, и что специалисты в данной области техники смогут разработать много альтернативных вариантов осуществления, не выходя за пределы объема прилагаемой формулы изобретения. В пунктах формулы изобретения любые ссылочные обозначения, помещенные в круглые скобки, не должны рассматриваться как ограничение этого пункта формулы изобретения. Использование глагола "содержит" и форм его спряжения не исключает присутствия элементов или этапов, отличающихся от изложенных в формуле изобретения. Употребление слова в единственном числе не исключает присутствие множества таких элементов. Изобретение может быть реализовано посредством аппаратных средств, содержащих несколько отдельных элементов, и посредством соответственно запрограммированного компьютера. В пункте формулы изобретения для устройства с перечислением нескольких средств, несколько из этих средств могут быть воплощены посредством идентичного элемента аппаратных средств. Тот факт, что определенные характеристики изложены во взаимно различных зависимых пунктах формулы изобретения, не указывает на то, что комбинация этих характеристик не может быть с успехом использована.