Система и способ вынесения решения о компрометации данных
SYSTEM AND METHOD OF DECIDING ON DATA COMPROMISING

Область техники
Изобретение относится к технологиям хранения данных, а более конкретно к системам и способам обеспечения информационной безопасности данных с использованием ограниченного объема вычислительных ресурсов.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, смартфонов и т.д.) и, особенно, встраиваемых систем (англ. embedded system) (микроконтроллеров, систем хранения данных и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до управления холодильниками и сбора данных от датчиков автомобилей). Параллельно с ростом количества используемых вычислительных устройств лавинообразно рос и объем обрабатываемых упомянутыми устройствами данных, что в свою очередь сделало актуальной задачу обеспечения информационной безопасности собираемых и обрабатываемых данных.
В современном мире использование недостоверной или неполной информация способно привести к огромным материальным и финансовым потерям. Например, в банковском секторе подмена персональных данных пользователей может обернуться потерей денег клиентов банков, в финансовом секторе неверная или неполная информация может привести к многомиллиардным убыткам и парализации работы фондовых бирж, в страховом секторе поддельная информация может стать причиной незаконных выплат и, как следствие, убытков страховых компаний.
Для обеспечения информационной безопасности данных, т.е. для защиты данных от модификации, удаления или подмены эффективно применяются разнообразные технологии:
• резервное копирование данных;
• симметричное и ассиметричное шифрование данных;
• помехоустойчивого кодирования данных;
• децентрализованный реестр записей (англ. blockchain).
Например, в публикации US 20030236992 A1 описана технология обеспечения безопасности журналов данных от несанкционированной модификации. С этой целью для подтверждения каждого сообщения из упомянутого журнала используют симметричные ключи шифрования и коды аутентификации сообщений. Каждое вновь полученное сообщение из журнала данных шифруется симметричным ключом, вычисленным на основании полученных предыдущих сообщений, а для подтверждения корректности упомянутого сообщения вычисляется код аутентификации сообщения, который привязывается к текущему сообщению. Таким образом становится возможным определять, были ли внесены изменения в журнал после обработки предыдущего сообщения и до обработки текущего сообщения.
Описанные выше технологии хорошо справляются с задачами защиты данных от модификации, удаления или подмены, однако только при достаточном объеме используемых для этой цели вычислительных ресурсов (процессорного времени, оперативной памяти, места на сменных носителях и т.д.), и малоэффективны, когда объем вычислительных ресурсов или время, отведенное на обработку данных, ограничены.
Настоящее изобретение позволяет решать задачу обеспечения информационной безопасности данных с использованием ограниченного объема вычислительных ресурсов.
Раскрытие изобретения
Изобретение предназначено для обеспечения информационной безопасности данных.
Технический результат настоящего изобретения заключается в определении факта компрометации данных за счет анализа различий между вычисленными на основании упомянутых данных имитовставками.
Данные результаты достигаются с помощью использования системы вынесения решения о компрометации данных, которая содержит: средство вычисления имитовставки, предназначенное для вычисления имитовставки последовательно для каждого выбранного сообщения из журнала данных, содержащего по меньшей мере два сообщения, при этом вычисление имитовставки включает в себя: для первого выбранного сообщения: вычисление имитовставки на основании заранее заданного ключа шифрования и выбранного сообщения; для каждого последующего после первого выбранного сообщения: формирование ключа шифрования на основании ключа шифрования, сформированного для сообщения, выбранного ранее; формирование блока данных на основании выбранного сообщения и имитовставки, вычисленной для сообщения, выбранного ранее; вычисление имитовставки на основании сформированных ключа шифрования и блока данных; записи в базу сообщений записи, содержащей последнюю вычисленную имитовставку и все выбранные сообщения; средство вынесения решения о проверке, предназначенное для: перехвата события, удовлетворяющего заранее заданным правилам, при этом событие возникает в случае записи сообщения в журнал данных; вынесения решения о необходимости выполнения проверки компрометации данных на основании перехваченного события и последующей отправки средству проверки выбранной записи из базы сообщений; средство проверки, предназначенное для анализа записи, при этом анализ включает в себя: вычисление имитовставки последовательно для каждого сообщения, содержащегося в полученной записи, включающего в себя: для первого сообщения: вычисление имитовставки на основании заранее заданного ключа шифрования и выбранного сообщения; для каждого последующего после первого сообщения: формирование ключа шифрования на основании ключа шифрования, сформированного для сообщения, выбранного ранее; формирования блока данных на основании выбранного сообщения и имитовставки, вычисленной для сообщения, выбранного ранее; вычисления имитовставки на основании сформированных ключа шифрования и блока данных; сравнение вычисленной имитовставки с имитовставкой, содержащейся в выбранной записи; вынесение решения о компрометации данных, если вычисленная имитовставка не совпадает с имитовставкой, содержащейся в выбранной записи.
В другом частном случае реализации системы на клиенте функционируют средство анализа журнала данных и средство работы с базой сообщений, на сервере функционируют средство работы с базой сообщений; средство анализа записей и средство вынесения решения.
Еще в одном частном случае реализации системы формируют ключ шифрования с использованием криптографической хеш-функции.
В другом частном случае реализации системы средство работы с базой сообщений выполняет сохранение записи в базу сообщений по запросу.
Данные результаты достигаются с помощью использования способа вынесения решения о компрометации данных, при этом способ содержит этапы, которые реализуются с помощью средств из системы вынесения решения о компрометации данных и на которых: вычисляют имитовставку последовательно для каждого выбранного сообщения из журнала данных, содержащего по меньшей мере два сообщения, для чего: для первого выбранного сообщения: вычисляют имитовставку на основании заранее заданного ключа шифрования и выбранного сообщения; для каждого последующего после первого выбранного сообщения: формируют ключ шифрования на основании ключа шифрования, сформированного для сообщения, выбранного ранее; формируют блок данных на основании выбранного сообщения и имитовставки, вычисленной для сообщения, выбранного ранее; вычисляют имитовставку на основании сформированного ключа шифрования и блока данных; сохраняют в базу сообщений запись, содержащую последнюю вычисленную имитовставку и все выбранные сообщения; выполняют анализ каждой выбранной записи из базы сообщений, для чего: выполняют первый этап для вычисления имитовставки последовательно для каждого сообщения, содержащегося в выбранной записи; сравнивают вычисленную имитовставку с имитовставкой, содержащейся в выбранной записи; на основании отрицательного результата выполненных сравнений выносят решение о компрометации журнала данных.
В другом частном случае реализации способа этапы 1.а) - 1.б) выполняются на клиенте, а этапы 1.в) - 1.г) выполняются на сервере.
Еще в одном частном случае реализации способа формируют ключ шифрования с использованием криптографической хеш-функции.
В другом частном случае реализации способа выполняют предыдущий этап по запросу.
Краткое описание чертежей
Фиг. 1 представляет пример структурную схему системы вынесения решения о компрометации данных.
Фиг. 2 представляет пример структурной схемы способа вынесения решения о компрометации данных.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Имитозащита - защита системы шифровальной связи или другой криптосистемы от навязывания ложных данных. Защита данных от внесения в них непозволительных изменений, другими словами, защита целостности сообщения.
Имитовставка (англ. MAC, Message Association Code) - элемент обеспечения имитозащиты в протоколах аутентификации сообщений с доверяющими друг другу участниками - специальный набор символов, который добавляется к сообщению и предназначен для проверки его целостности и аутентификации источника данных.
Симметричное шифрование (англ. symmetric-key algorithm) - способ шифрования данных, в котором для шифрования и расшифровывания упомянутых данных применяется один и тот же криптографический ключ.
Ассиметричное шифрование (например, криптографическая система с открытым ключом) - система шифрования, при которой открытый ключ передается по открытому (то есть незащищенному, доступному для наблюдения) каналу и используется для шифрования сообщения, для расшифровки сообщения используется закрытый ключ, который остается у того, что собирается расшифровывать зашифрованные данные и никуда не передается.
Криптографическая стойкость (или криптостойкость) - способность криптографического алгоритма противостоять криптоанализу. Стойким считается алгоритм, успешная атака на который требует от атакующего обладания недостижимым на практике объемом вычислительных ресурсов или перехваченных открытых и зашифрованных сообщений либо настолько значительных затрат времени на раскрытие, что к его моменту защищенная информация утратит свою актуальность.
Фиг. 1 представляет пример структурную схему системы вынесения решения о компрометации данных.
Структурная схема системы вынесения решения о компрометации данных содержит журнал данных 130, средство формирования ключей шифрования 110, средство вычисления имитовставки 120, базы сообщений 140, средства вынесения решения о проверке 150, средства проверки 160.
В одном из вариантов реализации упомянутая система вынесения решения о компрометации данных построена по клиент-серверной архитектуре, на клиенте находится журнал данных 130, функционируют средство формирования ключей шифрования 110 и средство вычисления имитовставки 120, на сервере находится база сообщений 140, правила проверки 151 и функционируют средство решения о проверке 150 и средство проверки 160.
Например, клиентская часть может находиться в автомобиле и осуществлять сбор данных о параметрах поведения автомобиля для страховой компании, а серверная часть находиться на стороне страховой компании (выполняться на оборудовании страховой компании). При этом клиентская часть может быть уязвима перед вредоносными атаками (например, для модификации данных о параметрах поведения автомобиля: скорости движения, характеристиках работы двигателя, геолокации и т.д.), а серверная часть может быть гарантированно защищена от любого типа вредоносных атак, т.е. результаты анализа клиентских данных на ресурсах серверной части будут доверенными.
События 101 возникают в системе вынесения решения о компрометации данных в ответ на некоторые внешние действия, в результате которых для каждого события формируется по меньшей мере одно сообщение 102.
В качестве сообщения 102 могут выступать данные, по меньшей мере:
• характеризующие события 101;
• содержащие временные метки;
Например, каждую 0.01 сек (событие 101 - наступление времени сбора данных) датчик, установленный в двигателе автомобиля, получает значение оборотов двигателя. На основании полученных данных формируется сообщение 102, содержащее информацию о времени наступления события, типе события, характеристиках события:
163625324→таймер→двигатель→обороты→8450
имеющее следующий hex вид:
0х09С0В96С00010210000100002102.
Средство формирования ключей шифрования 110 предназначено для:
0
• формирования первичного ключа шифрования pk (англ. initial pre-shared key) на основании характеристик средства формирования ключей шифрования 110;
n
• формирования ключа шифрования pk на основании сформированного ранее ключа шифрования:
n
n-1
pk=g(pk),
где
g - функция формирования ключа шифрования,
n-1
pk - сформированный ранее ключ шифрования,
n
pk - текущий сформированный ключ шифрования;
• передачи сформированного ключа шифрования средству вычисления имитовставки 120.
В одном из вариантов реализации формирование ключей шифрования выполняется по запросу средства вычисления имитовставки 120.
Еще в одном из вариантов реализации в качестве характеристик средства формирования ключей шифрования 110 выступает время, полученное от часов точного времени, встроенных в средство формирования ключей шифрования 110.
0
Еще в одном из вариантов реализации первичный ключ шифрования pk формируют на основании по меньшей мере:
1
• времени выборки первого сообщения 102 m или,
1
• времени возникновения события 101, характеризуемого первым сообщением 102 m.
Еще в одном из вариантов реализации средство формирования ключей шифрования 110 представляет HSM (англ. Hardware Security Module) или программное средство, работающее на HSM. При этом HSM обладает физической защитой от вскрытия, таким образом, становится невозможным несанкционированный доступ к функционалу средства формирования ключей шифрования 110, т.е. к управлению средством формирования ключей шифрования 110, получения данных из управления средством формирования ключей шифрования 110 и т.д.
0
Еще в одном из вариантов реализации первичный ключ шифрования pk содержится в средстве формирования ключей шифрования 110 и задается заранее, до начала функционирования системы вынесения решения о компрометации данных.
Например, при использовании HSM первичный ключ шифрования формируется во время создания и программирования HSM.
Еще в одном из вариантов реализации ключ шифрования формируют с использованием односторонней криптографически стойкой хеш-функции.
Еще в одном из вариантов реализации в качестве криптографической хеш-функции формирования ключа шифрования выступает по меньшей мере:
• функции асимметричного шифрования открытым ключом, при этом открытый криптографический ключ содержится в средстве формирования ключей шифрования 110 и задается заранее, до начала функционирования системы вынесения решения о компрометации данных, а закрытый криптографический ключ содержится в средстве проверки 160;
• функции симметричного шифрования криптографическим ключом, при этом упомянутый криптографический ключ содержится в средстве формирования ключей шифрования 110, средстве проверки 160 и задается заранее, до начала функционирования системы вынесения решения о компрометации данных.
Таким образом, при использовании средства, обладающего физической защитой от вскрытия, методов шифрования формируемых ключей шифрования и т.д. обеспечивается вычислительная криптографическая стойкость сформированных ключей шифрования, что не позволяет злоумышленникам сформировать свои ключи шифрования на основании подмененных характеристик средства формирования ключей шифрования 110 (например, времени формирования ключей шифрования, а по сути времени формирования сообщений 102).
При использовании в качестве криптографической хеш-функции формирования ключа шифрования функции асимметричного шифрования на стороне сервера могут подтвердить валидность используемого ключа шифрования (таким образом определять, когда ключ шифрования был подделан). При использовании в качестве криптографической хеш-функции формирования ключа шифрования функции симметричного шифрования на стороне сервера могут расшифровать используемый ключ шифрования и получить данные, на основании которых упомянутый ключ шифрования формировался (таким образом исключить подделку ключа шифрования).
Средство вычисления имитовставки 120 предназначено для:
• перехвата по меньшей мере двух сформированных сообщений 102;
• вычисления имитовставки последовательно для каждого перехваченного сообщения 102, при этом вычисление имитовставки (Алгоритм I) включает в себя:
1
i. для первого перехваченного сообщения m:
1
1
вычисление имитовставки на основании запрошенного у средства формирования ключа шифрования 110 ключа шифрования pk и перехваченного сообщения m:
1
1
1
μ=ƒ{m,pk),
где
ƒ - криптографическая функция,
1
pk - заранее заданный ключ шифрования,
1
m - 1-е сообщение,
1
1
μ - имитовставка для сообщения m;
n
ii. для каждого последующего после первого перехваченного сообщения m:
n
n-1
формирования блока данных на основании перехваченного сообщения m и имитовставки μ, вычисленной для сообщения, перехваченного ранее:
n
n-1
n
b=h(μ, m),
где
h - функция формирования блока данных (правила формирования блока данных),
n
b - n-ый блок данных,
n
m - n-ое сообщение,
n-1
n-1
μ - имитовставка для сообщения m;
n
n
вычисления имитовставки на основании запрошенного у средства формирования ключа шифрования 110 ключа шифрования pk и сформированного блока данных b:
n
n
n
μ=ƒ(b, pk),
где
ƒ - криптографическая функция,
n
pk - ключ шифрования для n-ого сообщения,
n
b - n-ый блок данных,
n
n
μ - имитовставка для сообщения m;
• записи в журнал данных 130 записи, содержащей последнюю вычисленную имитовставку и все перехваченные сообщения;
• записи данных из журнала данных 130 в базу сообщений 140.
В одном из вариантов реализации перед обработкой первого перехваченного сообщения 102 у средства формирования ключей шифрования 110 запрашивается первый (первичный) ключ шифрования, формирование которого выполняется по отличной от формирования последующих ключей шифрования методике, а при обработке первого и последующих перехваченных сообщений 102 у средства формирования ключей шифрования 110 запрашиваются ключи шифрования, формирование которых выполняется по одинаковой для всех подобных ключей методике.
Еще в одном из вариантов реализации все промежуточные результаты обработки перехваченных сообщений 102 (в том числе вычисленные имитовставки за исключением последней, сформированные блоки данных, запрошенные ключи шифрования и т.д.) удаляются из системы вынесения решения о компрометации данных после завершения записи в базу данных 130 упомянутой выше записи.
Таким образом отсутствие упомянутых промежуточных данных не позволяет злоумышленникам сформировать свои записи в журнал данных 130 на основании подмененных сообщений 102.
Еще в одном из вариантов реализации если запись в журнал данных 130 не представляется возможным в связи с ограниченным объемом доступных вычислительных ресурсов, связанным с предыдущими записями в журнал данных 130, выполняются следующие этапы:
• журнал данных 130 удаляется (тем самым высвобождаются занятые вычислительные ресурсы) и создается новый (пустой) журнал данных 130 (при этом информация из старого журнала данных 130 утрачивается);
• первое после создания нового журнала данных 130 формирование имитовставки осуществляется на основании запрошенного у средства формирования ключей шифрования 110 первичного ключа шифрования.
Таким образом, средство формирования ключей шифрования 110 предоставляет ключи по следующей схеме:
Например после того как журнал данных 130 полностью заполнен (доступные вычислительные ресурсы отсутствуют) данные из журнала данных 130 утрачиваются, а сам журнал данных 130 начинает заполняться с начала (т.е. опять клиентская часть обладает свободными вычислительными ресурсами).
Еще в одном из вариантов реализации средствами HSM предоставляется и время, и ключ (зависящий от этого времени). Поэтому при последующей проверке можно будет
• восстановить первичный ключ, зная время,
• посмотреть на время и оценить, насколько оно правдоподобно.
При компрометации устройства ничто не мешает атакующему удалить имеющийся лог, запросить у HSM новый ключ и сформировать новый лог, заполнив его произвольными событиями, якобы из прошлого. При использовании HSM, обладающего описанными выше свойствами, осуществить упомянутую атаку будет очень сложно, т.к. первичный ключ будет жестко связан с реальным временем, а значит отправить записи в прошлое (назначить записям более ранние времена создания, чем есть на самом деле) у атакующего не получится. В этом основная сущность описываемой защиты. Поскольку HSM сам выдает время, т.е. в него входит средство реального времени (часы реального времени), требования защиты от вскрытия нужны в том числе для того, что атакующий не смог манипулировать этим средством (часами).
Еще в одном из вариантов реализации в качестве доступных ресурсов системы вынесения решения о компрометации данных выступает по меньшей мере:
• место на носителе информации, выделенное для хранения журнала данных 130, при этом носитель информации относится к клиентской части системы (в случае реализации ее с использованием клиент-серверной архитектуры);
• процессорное время, выделяемое средству вычисления имитовставки 120 для анализа перехваченных сообщений 102;
• параметры соединения между средствами клиентской и серверной частей системы, характеризующие возможность осуществить запись и считывание данных из базы сообщений 140 (например, скорость записи данных в базу сообщений 140);
• максимальный размер сообщения 102, которое может быть записано в журнал данных 130 или проанализировано средством вычисления имитовставки 120.
Например, для хранения журнала данных 130 выделено 100МБ свободного места на носителях клиентской части системы вынесения решения о компрометации данных. Если одно сообщение занимает 1КБ и записывается средством вычисления имитовставки 120 в журнал данных 130 каждую секунду (например, в автомобиле при его движении), то журнал данных будет заполнен (будет использовано все выделенное свободное место) за ~28 часов. При проектировании упомянутой системы разработчики рассчитывали, что в течении суток между клиентской и серверной частями системы вынесения решения о компрометации данных гарантированно будет установлено соединение и данные из журнала данных 130 после анализа средством вычисления имитовставки 120 будут записаны в базу сообщений 140. Если бы на журнал данных 130 было выделен всего 1МБ свободного места (такие объемы памяти или более маленькие бывают во многих встраиваемых системах), то журнал данных 130 был бы заполнен за 17 минут, и была возможна ситуация, когда данные не были бы переданы серверной части и были бы утрачены (в том числе перезаписаны).
Еще в одном из вариантов реализации сформированный блок данных содержит выбранное сообщение и имитовставку, вычисленную для сообщения, выбранного ранее.
Еще в одном из вариантов реализации запись данных из журнала данных 130 в базу сообщений 140 осуществляется по меньшей мере:
• в любой момент времени при условии наличия соединения между клиентской и серверной частями системы вынесения решения о компрометации данных;
• через заранее заданное время после предыдущей успешной записи данных из журнала данных 130 в базу сообщений 140;
• после обработки превышающих заранее заданное кол-во сообщений 102;
• при наличии заранее заданного объема свободных ресурсов системы вынесения решения о компрометации данных.
Еще в одном из вариантов реализации после записи в базу сообщений 140 всех данных из журнала данных 130, журнал данных очищается и следующее сообщение 102, записанное в журнал данных 130, считается первым сообщением, т.е.
• журнал данных 130 удаляется (тем самым высвобождаются занятые вычислительные ресурсы) и создается новый (пустой) журнал данных 130;
• первое после создания нового журнала данных 130 формирование имитовставки осуществляется на основании запрошенного у средства формирования ключей шифрования 110 первичного ключа шифрования.
Журнал данных 130 представляет собой базу данных, содержащую обработанные средством вычисления имитовставки 120 сообщения 102.
В одном из вариантов реализации характеристики журнала данных 130 определяются доступными в системе ресурсами.
Еще в одном из вариантов реализации в качестве характеристик журнала данных 130 выступают по меньшей мере:
• максимальное кол-во сообщений 102 (записей), которое может быть записано в журнал данных 130;
• максимальный объем данных (суммарный объем записанных сообщений 102), который может быть записан в журнал данных 130.
Еще в одном из вариантов реализации системы журнал данных 130 сформирован таким образом, чтобы дополнительно хранить порядок записи в него сообщений 102.
База сообщений 140 представляет собой базу данных, содержащую переданные средством вычисления имитовставки 120 данные, содержащие в каждой записи по меньшей мере совокупность сообщений 102 и последнюю вычисленную имитовставку.
Средство вынесения решения о проверке 150 предназначено для:
• перехвата события 101, удовлетворяющего заранее заданным правилам 151, при этом событие 101 возникает в случае записи сообщения 102 в журнал данных 130;
• вынесения решения о необходимости выполнения проверки компрометации данных на основании перехваченного события 101 и отправки средству проверки 160 выбранной записи из базы сообщений 140.
В одном из вариантов реализации решение о необходимости выполнения проверки компрометации данных выносится по меньшей мере в случае:
• перехвата события записи данных в журнал данных 130;
• устойчивого соединения между клиентской и серверной частью системы вынесения решения о компрометации данных.
Средство проверки 160 предназначено для анализа по запросу каждой полученной от средства вынесения решения 150 записи, при этом анализ включает в себя:
• вычисления имитовставки последовательно для каждого сообщения, содержащегося в полученной записи с использованием Алгоритма I;
• сравнения вычисленной имитовставки с имитовставкой, содержащейся в выбранной записи;
• вынесения решения о компрометации журнала данных 130 если вычисленная имитовставка не совпадает с имитовставкой, содержащейся в выбранной записи.
В одном из вариантов реализации сообщения 102 из записи выбирают в порядке их внесения в упомянутую запись.
Еще в одном из вариантов реализации заранее заданный ключ шифрования, используемый в средстве вычисления имитовставки 120, и заранее заданный ключ шифрования, используемый в средстве проверки 160, идентичны и заданы при формировании системы вынесения решения о компрометации данных.
Еще в одном из вариантов реализации заранее заданный ключ шифрования, используемый в средстве проверки 160, формируется на основании временной метки, содержащейся в выбранной из базы сообщений 140 записи.
Еще в одном из вариантов реализации ключ шифрования формируют с использованием криптографической хеш-функции.
Еще в одном из вариантов реализации в качестве криптографической хеш-функции формирования ключа шифрования выступает по меньшей мере:
• функции асимметричного шифрования открытым ключом, при этом открытый криптографический ключ содержится в средстве формирования ключей шифрования 110 и задается заранее, до начала функционирования системы вынесения решения о компрометации данных, а закрытый криптографический ключ содержится в средстве проверки 160;
• функции симметричного шифрования криптографическим ключом, при этом упомянутый криптографический ключ содержится в средстве формирования ключей шифрования 110, средстве проверки 160 и задается заранее, до начала функционирования системы вынесения решения о компрометации данных.
Еще в одном из вариантов реализации сформированный блок данных содержит выбранное сообщение и имитовставку, вычисленную для сообщения, выбранного ранее.
Еще в одном из вариантов реализации сравнение имитовставок выполняется побитово.
Еще в одном из вариантов реализации журнал данных 130 считается скомпрометированным, если сравниваемые имитовставки, одна из которых вычислена средством вычисления имитовставки 120, а другая - средством проверки 160 - не совпадают.
Еще в одном из вариантов реализации дополнительно для вынесения решения о компрометации журнала данных 130 анализируют по меньшей мере:
• ключи шифрования, сформированные средством проверки 160 на основании данных, выбранных из записи;
• временные характеристики формирования сообщений 102, содержащихся в выбранных записях.
Рассмотрим работу системы вынесения решения о компрометации данных на примере анализа журнала данных 130, описывающих эксплуатационные характеристики транспортного средства.
Для вынесения решения о страховых выплатах в случае аварии страховая компания устанавливает в автомобили своих клиентов систему сбора данных с датчиков автомобиля. На основании анализа собранных данных, определяются эксплуатационные характеристики автомобиля, нарушал ли он скоростной режим во время аварии, где двигался, какие действия предпринимал водитель во время управления автомобилем и т.д. Определенные эксплуатационные характеристики служат для определения страховых выплат, стоимости страховки автомобиля (если водитель ездит «агрессивно», нарушает скоростной режим и т.п., то стоимость страховки возрастает). Компрометация собранных данных способна привести к ошибочному анализу и финансовым потерям страховой компании (например, искусственно была занижена скорость автомобиля во время аварии, что привело к ошибочному определению страхового случая и дополнительным выплатам).
При срабатывании одного из датчиков спидометра автомобиля возникает событие #1 101 «изменение скорости», характеризуемое текущей скоростью автомобиля и временной меткой, когда упомянутая скорость была зарегистрирована (когда возникло событие #1 101), например, , t=1067256253,232 (условные временные единицы, например, в формате Unix time).
1
Упомянутое событие #1 101 инициирует формирование сообщения m 102, содержащего приведенные выше данные:
, t=1067256253,232.
1
1
1
и последующую запись его в журнал данных 130. После чего средство вычисления имитовставки 120, являющееся компонентом клиентской части системы вынесения решения о компрометации данных, с помощью ключа шифрования K и сообщения m 102 вычисляет имитовставку μ и записывает ей в базу сообщений 140.
Событие #1 101 также передается средству вынесения решения о проверке 150, являющемуся компонентом серверной части системы вынесения решения о компрометации данных. На основании правил проверки 151 и полученных данных (в данном случае событие #1 101) выносится решение о необходимости выполнения проверки компрометации данных на основании перехваченного события #1 101. Например, одним из правил может служить резкое изменение скорости движения автомобиля, или ускорение движение автомобиля выше заранее заданного значения (к примеру, 2g), такие данные могут поступать еще от одного датчика спидометра, поскольку такого события не было зарегистрировано, решение о необходимости выполнения проверки компрометации данных не принимается.
До тех пор, пока средство вынесения решения о проверке 150 не вынесет соответствующее решение, данные сохраняются в журнал данных 130 и базу сообщений 140.
При срабатывании еще одного из датчиков спидометра автомобиля возникает событие #N 101 «изменение скорости», характеризуемое текущей скоростью автомобиля и временной меткой, когда упомянутая скорость была зарегистрирована (когда возникло событие #1 101), например, , t=1067279253,008.
n
Упомянутое событие #1 101 инициирует формирование сообщения m 102, содержащего приведенные выше данные:
, t=1067279253,008.
n
n
n
и последующую запись его в журнал данных 130. После чего средство вычисления имитовставки 120, являющееся компонентом клиентской части системы вынесения решения о компрометации данных, с помощью ключа шифрования K и сообщения m 102 вычисляет имитовставку μ и записывает ей в базу сообщений 140.
Событие #N 101 также передается средству вынесения решения о проверке 150. На основании правил проверки 151 и полученных данных (в данном случае событие #N 101) выносится решение о необходимости выполнения проверки компрометации данных на основании перехваченного события #N 101. Определяется, что изменение скорости превысило заранее заданное пороговое значение (например, ) и ускорение -также превысило заранее заданное пороговое значение (например, g=5.6). В результате средство вынесение решения о проверки 150 передает запрос средству проверки 160 о необходимости выполнить проверку данных, записанных в базе сообщений 140.
Средство вынесения проверки 160 выбирает последовательно все записи из базы сообщений 140 и заново для всех сообщений, содержащихся в выбранных записях, вычисляет имитовставки (такими же методами, как и средство вычисления имитовставки 120). После чего сравнивает полученную окончательную имитовставку и имитовставку, содержащуюся в последней выбранной записи. Если имитовставки отличаются, выносится решение о компрометации журнала данных 130, содержащих информацию, собранную с датчиков автомобиля, и делается вывод, что пользователь системы (автомобилист) пытался подделать данные с датчиков, тем самым пытаясь скрыть информацию о состоянии автомобиля. В результаты страховая компания имеет основание отказать такому пользователю в страховых выплатах или пересмотреть условия страхования.
Фиг. 2 представляет пример структурной схемы способа вынесения решения о компрометации данных.
Структурная схема способа вынесения решения о компрометации данных содержит этап 210, на котором вычисляют имитовставку, этап 220, на котором сохраняют запись, этап 230, на котором выполняют анализ, этап 240, на котором выносят решение.
На этапе 210 вычисляют имитовставку последовательно для каждого выбранного сообщения из журнала данных 130, содержащего по меньшей мере два сообщения 102, для чего:
i. для первого выбранного сообщения:
• вычисляют имитовставку на основании заранее заданного ключа шифрования и выбранного сообщения;
ii. для каждого последующего после первого выбранного сообщения:
• формируют ключ шифрования на основании ключа шифрования, сформированного для сообщения, выбранного ранее;
• формируют блок данных на основании выбранного сообщения и имитовставки, вычисленной для сообщения, выбранного ранее;
• вычисляют имитовставку на основании сформированных ключа шифрования и блока данных.
На этапе 220 сохраняют в базу сообщений 140 запись, содержащую последнюю вычисленную на этапе 210 имитовставку и все выбранные на этапе 210 сообщения.
На этапе 230 выполняют анализ каждой выбранной записи из базы сообщений 140, для чего:
• выполняя этапы 210.i) - 210.ii), вычисляют имитовставку последовательно для каждого сообщения, содержащегося в выбранной записи;
• сравнивают окончательно вычисленную имитовставку с имитовставкой, содержащейся в выбранной записи.
На этапе 240 на основании результата выполненных на этапе 230 сравнений выносят решение о компрометации журнала данных 130.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.