RU2142674C1 - Управление доступом с использованием параметризированной хэш-функции - Google Patents
Управление доступом с использованием параметризированной хэш-функции Download PDFInfo
- Publication number
- RU2142674C1 RU2142674C1 RU98105209A RU98105209A RU2142674C1 RU 2142674 C1 RU2142674 C1 RU 2142674C1 RU 98105209 A RU98105209 A RU 98105209A RU 98105209 A RU98105209 A RU 98105209A RU 2142674 C1 RU2142674 C1 RU 2142674C1
- Authority
- RU
- Russia
- Prior art keywords
- unit
- key
- executable program
- signature
- executable
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Abstract
Изобретение относится к управлению доступом в вычислительной системе. Блок хранения получает блок данных, включающий в себя зашифрованный исполняемый модуль и сигнатурный компонент. Блок разделения, связанный с блоком хранения, отделяет сигнатурный компонент от зашифрованного исполняемого модуля. Блок дешифрирования, соединенный с блоком разделения, дешифрирует зашифрованный исполняемый модуль, используя сигнатурный компонент в качестве ключа. Это приводит к получению дешифрированной исполняемой программы. Блок идентификации, связанный с блоком дешифрирования, находит идентификационную метку в дешифрированной исполняемой программе и идентифицирует составной ключ, присвоенный идентификационной метке. Блок формирования сигнатуры, связанный с блоком идентификации, выполняет ключевой криптографический хэш-алгоритм для дешифрированной исполняемой программы, используя составной ключ в качестве ключа. Технический результат изобретения заключается в повышении надежности системы за счет обнаружения скрытых ошибок в интерфейсах между составляющими подсистемы. 5 c. и 7 з.п. ф-лы, 7 ил.
Description
Настоящее изобретение относится к управлению доступом в компьютерной системе. Более конкретно, настоящее изобретение относится к устройству и способу идентификации происхождения исполняемого модуля и использованию этой идентификации для определения уровня прав доступа, предоставляемых исполняемому модулю.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Нарушение защиты в компьютерных системах можно подразделить на преднамеренные и случайные. К видам преднамеренного доступа относятся несанкционированное считывание данных, несанкционированное изменение данных и несанкционированное разрушение данных. Большинство операционных систем предоставляют процессам средства для порождения других процессов. В такой среде возможно создание ситуации, при которой ресурсы операционной системы и файлы пользователя используются некорректно. Вормы и вирусы - два обычных способа некорректного использования. Защита компьютерной системы зависит от способности идентифицировать источник программ, которые должны быть выполнены, и проверять, что эти программы не были изменены таким образом, что могут представлять угрозу защите системы.
Нарушение защиты в компьютерных системах можно подразделить на преднамеренные и случайные. К видам преднамеренного доступа относятся несанкционированное считывание данных, несанкционированное изменение данных и несанкционированное разрушение данных. Большинство операционных систем предоставляют процессам средства для порождения других процессов. В такой среде возможно создание ситуации, при которой ресурсы операционной системы и файлы пользователя используются некорректно. Вормы и вирусы - два обычных способа некорректного использования. Защита компьютерной системы зависит от способности идентифицировать источник программ, которые должны быть выполнены, и проверять, что эти программы не были изменены таким образом, что могут представлять угрозу защите системы.
В дополнение к проверке подлинности источника программы также необходимо убедиться, что файлы, сегменты памяти, ЦПУ и другие ресурсы компьютерной системы могут быть использованы только теми процессами, которые получили соответствующее санкционирование от операционной системы. Существует несколько причин для обеспечения такой защиты. Наиболее очевидное - это потребность предотвратить вредное намеренное нарушение ограничения доступа. Самое важное - необходимость гарантировать, что каждый программный компонент, действующий в системе, использует системные ресурсы способами, согласующимися с установленными правилами для использования этих ресурсов. Защита может улучшить надежность, обнаруживая скрытые ошибки в интерфейсах между составляющими подсистемами. Раннее обнаружение ошибок в интерфейсе может предотвратить вывод из строя исправных подсистем другими подсистемами, которые неправильно функционируют.
Процесс в типовом случае работает в рамках области защиты. Эта область определяет ресурсы, к которым процесс может иметь доступ. Каждая область определяет набор объектов и типы операций, которые могут быть вызваны для каждого объекта. Способность выполнять операцию над объектом определяется как право доступа. Область - это набор прав доступа, каждое из которых в типовом случае представляет собой упорядоченную пару вида: "имя объекта, набор прав". Например, если область D имеет право доступа "файл F, {чтение, запись}", то процесс, исполняющийся в области D, может осуществлять как считывание, так и запись в файл F. Однако выполнение других операций над этим объектом не будет разрешено. Области могут быть разделены или они могут совместно использовать право доступа. Связь между процессом и областью также может быть статической или динамической. Таким образом, важно ограничить области защиты, доступные каждому процессу.
Таким образом существует необходимость в устройстве и способе предоставления защищенной от подделки сигнатуры исполняемого модуля, которая может быть использована, чтобы идентифицировать происхождение исполняемого модуля, определить, было ли сделано какое-либо изменение исполняемого модуля, уровень прав доступа и разрешение использования исполняемого модуля операционной системой.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Описаны способ и устройство для управления доступом в компьютерной системе. Первый вариант осуществления контроллера доступа включает блок хранения. Блок хранения хранит блок данных, включающий в себя сигнатурный компонент и зашифрованный исполняемый модуль. Блок разделения связан с блоком хранения. Блок разделения получает блок данных и отделяет сигнатурный компонент от зашифрованного исполняемого модуля. Блок дешифрования связан с блоком разделения. Блок дешифрования получает зашифрованный исполняемый модуль и расшифровывает зашифрованный исполняемый модуль, преобразуя его в исполняемую программу. Это достигается выполнением алгоритма дешифрования, который использует сигнатурный компонент в качестве ключа для того, чтобы расшифровать зашифрованный исполняемый модуль. Блок идентификации связан с блоком дешифрования. Блок идентификации получает исполняемую программу, которую нужно использовать, и идентифицирует ключ, указанной идентификационной метки в исполняемой программе для вычисления криптографически зашифрованного по ключу хэшированного значения исполняемой программы. Блок генерации сигнатуры связан с блоком дешифрирования. Блок генерации сигнатуры получает исполняемую программу и вычисляет криптографически зашифрованное по ключу хэшированное значение для исполняемой программы с использованием заполненного ключа, идентифицированного блоком идентификации. Блок проверки связан с блоком хэширования. Блок проверки сравнивает ключевое хэшированное значение с сигнатурным компонентом, чтобы проверить источник блока данных и не была ли сделана какая-либо модификация блока данных. Блок назначения прав связан с блоком хэширования. Блок назначения прав получает ключ, используемый для вычисления ключевого хэшированного значения исполняемой программы, и присваивает права исполняемой программе в соответствии с правами, связанными с ключом.
Описаны способ и устройство для управления доступом в компьютерной системе. Первый вариант осуществления контроллера доступа включает блок хранения. Блок хранения хранит блок данных, включающий в себя сигнатурный компонент и зашифрованный исполняемый модуль. Блок разделения связан с блоком хранения. Блок разделения получает блок данных и отделяет сигнатурный компонент от зашифрованного исполняемого модуля. Блок дешифрования связан с блоком разделения. Блок дешифрования получает зашифрованный исполняемый модуль и расшифровывает зашифрованный исполняемый модуль, преобразуя его в исполняемую программу. Это достигается выполнением алгоритма дешифрования, который использует сигнатурный компонент в качестве ключа для того, чтобы расшифровать зашифрованный исполняемый модуль. Блок идентификации связан с блоком дешифрования. Блок идентификации получает исполняемую программу, которую нужно использовать, и идентифицирует ключ, указанной идентификационной метки в исполняемой программе для вычисления криптографически зашифрованного по ключу хэшированного значения исполняемой программы. Блок генерации сигнатуры связан с блоком дешифрирования. Блок генерации сигнатуры получает исполняемую программу и вычисляет криптографически зашифрованное по ключу хэшированное значение для исполняемой программы с использованием заполненного ключа, идентифицированного блоком идентификации. Блок проверки связан с блоком хэширования. Блок проверки сравнивает ключевое хэшированное значение с сигнатурным компонентом, чтобы проверить источник блока данных и не была ли сделана какая-либо модификация блока данных. Блок назначения прав связан с блоком хэширования. Блок назначения прав получает ключ, используемый для вычисления ключевого хэшированного значения исполняемой программы, и присваивает права исполняемой программе в соответствии с правами, связанными с ключом.
Второй вариант осуществления настоящего изобретения раскрывает способ управления доступом в компьютерной системе. Сначала принимают блок данных, включающий в себя сигнатурный компонент и зашифрованный исполняемый модуль. После того, как блок данных получен, сигнатурный компонент отделяют от зашифрованного исполняемого модуля. Затем исполняемый модуль расшифровывают посредством выполнения алгоритма дешифрования, который использует сигнатурный компонент в качестве ключа. Идентифицируют составной ключ, соответствующий идентифицированной метке в исполняемой программе. Составной ключ используют, чтобы вычислить ключевое хэшированное значение исполняемой программы. После того, как ключевое хэшированное значение вычислено, ключевое хэшированное значение сравнивывают с сигнатурным компонентом, чтобы проверить источник блока данных. Исполняемой программе присваивают права в соответствии с правами, предварительно назначенными для ключа.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение поясняется в нижеследующем подробном описании, иллюстрируемым чертежами. Описание и чертежи не предназначаются для ограничения изобретения конкретным вариантом осуществления, а приведены для пояснения, облегчения понимания сущности изобретения.
Настоящее изобретение поясняется в нижеследующем подробном описании, иллюстрируемым чертежами. Описание и чертежи не предназначаются для ограничения изобретения конкретным вариантом осуществления, а приведены для пояснения, облегчения понимания сущности изобретения.
Фиг. 1 иллюстрирует первый вариант осуществления контроллера доступа, используемого в компьютерной системе.
Фиг. 2 иллюстрирует структурную схему первого варианта осуществления блока кодирования, соответствующего настоящему изобретению.
Фиг. 3 иллюстрирует процедуру кодирования блока информации с использованием блока кодирования, соответствующего настоящему изобретению.
Фиг. 4 иллюстрирует структурную схему второго варианта осуществления контроллера доступа, соответствующего настоящему изобретению.
Фиг. 5 иллюстрирует структурную схему третьего варианта осуществления системы обработки видеосигнала, соответствующего настоящему изобретению.
Фиг. 6 - блок-схема, иллюстрирующая способ кодирования.
Фиг. 7 - блок-схема, иллюстрирующая способ управления доступом в компьютерной системе.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Предложен новый блок контроллера доступа. Ниже изложены различные конкретные детали примеров осуществления изобретения. Однако специалистам в данной области техники должно быть понятно, что настоящее изобретение может быть осуществлено без использования этих конкретных деталей. Кроме того, общеизвестные методы, процедуры, компоненты и схемы не описываются подробно, чтобы не затенять сущность настоящего изобретения.
Предложен новый блок контроллера доступа. Ниже изложены различные конкретные детали примеров осуществления изобретения. Однако специалистам в данной области техники должно быть понятно, что настоящее изобретение может быть осуществлено без использования этих конкретных деталей. Кроме того, общеизвестные методы, процедуры, компоненты и схемы не описываются подробно, чтобы не затенять сущность настоящего изобретения.
Некоторые части нижеследующего подробного описания представлены в терминах алгоритмов и символических представлениях операций над битами данных в памяти компьютерной системы. Эти алгоритмические описания и представления являются средствами, используемыми специалистами в данной области обработки данных для того, чтобы наиболее эффективно передать сущность их работы другим специалистам в данной области техники. Алгоритм представляет собой последовательность операций, ведущую к желаемому результату. Операции - это действия, осуществляемые над материальными объектами с помощью материальных средств. Обычно, хотя не обязательно, эти материальные объекты представляют собой электрические и магнитные сигналы, которые можно хранить, перемещать, объединять, сравнивать и подвергать другим манипуляциям. Как оказалось, иногда удобно, преимущественно по причинам общепринятого словоупотребления, ссылаться на эти сигналы как на биты, значения, элементы, символы, знаки, выражения, числа или подобное. Нужно помнить, однако, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и просто являются удобными обозначениями, относящимися к этим величинам. Если специально не оговорено другое, должно быть принято во внимание, что во всем настоящем изобретении такие термины, как "обработка", "вычисление", "расчет", "определение", "отображение" или подобные, относятся к действиям и процессам компьютерной системы или подобного электронного вычислительного устройства, которое манипулирует данными или преобразует данные, представляемые в виде физических (электронных) величин в регистрах компьютерной системы и запоминающих устройствах, в другие данные, также представленные в виде физических величин в запоминающих устройствах компьютерной системы или регистрах или других устройствах, таких, как устройство хранения информации или устройства передачи или отображения.
Фиг. 1 иллюстрирует в виде структурной схемы вычислительную систему первого варианта осуществления настоящего изобретения. Вычислительная система включает шину 100, интерфейс клавиатуры 101, внешнюю память 102, массовое запоминающее устройство 103, процессор 104, контроллер устройства отображения 105. Шина 100 соединена с контроллером устройства отображения, интерфейсом клавиатуры 101, микропроцессором 104, памятью 102 и массовым запоминающим устройством 103. Контроллер устройства отображения может быть соединен с устройством отображения. Интерфейс клавиатуры 101 может быть соединен с клавиатурой.
Шина 100 может быть отдельной шиной или комбинацией нескольких шин. Например, шина 100 может включать шину ISA (промышленной стандартной архитектуры), шину EISA (расширенной промышленной стандартной архитектуры), системную шину, Х-шину, параллельную системную шину PS/2, шину PCI (межсоединений периферийных компонентов), шину PCMCIA (платы памяти персональных компьютеров Международной Ассоциации) или другие шины. Шина 100 может также включать комбинацию любых этих шин. Шина 100 обеспечивает коммуникационные связи между компонентами компьютерной системы. Интерфейс клавиатуры 101 может быть контроллером клавиатуры или другим интерфейсом клавиатуры. Интерфейс клавиатуры 101 может быть специализированным устройством или частью другого устройства - такого, как контроллер шины или другой контроллер. Интерфейс клавиатуры 101 обеспечивает соединение клавиатуры с компьютерной системой и передает сигналы от клавиатуры к компьютерной системе. Внешняя память 102 может включать динамическое оперативное запоминающее устройство (ДОЗУ), статистическое запоминающее устройство (СОЗУ) или другие запоминающие устройства. Внешняя память 102 хранит информацию и данные, полученные из массового запоминающего устройства 103 и процессора 104 для использования процессором 104. Массовое запоминающее устройство 103 может быть накопителем на жестком диске, накопителем на гибком диске, накопителем CDROM, флэш (сверхбыстродействующее) - ПЗУ или другим массовым запоминающим устройством. Массовое запоминающее устройство 103 обеспечивает информацией и данными внешнюю память 102.
Процессор 104 обрабатывает информацию и данные из внешней памяти 102 и сохраняет информацию и данные во внешней памяти 102. Процессор 104 также принимает сигналы от контроллера клавиатуры 101 и передает информацию и данные контроллеру устройства отображения 105 для отображения на дисплее. Процессор 104 также передает видеоизображения контроллеру устройства отображения для отображения на дисплее. Процессор 104 может быть микропроцессором с полным набором команд (CISC-процессором), микропроцессором с сокращенным набором команд (RISC-процессором), микропроцессором со сверхдлинным словом команды (VLIW-процессором) или другим процессорным устройством. Контроллер устройства отображения 105 обеспечивает соединение устройства отображения с вычислительной системой и действует как интерфейс между устройством отображения и вычислительной системой. Контроллер устройства отображения может быть монохромным адаптером (MDA), цветным графическим адаптером (CGA), цветным графическим адаптером (MCGA), графическим адаптером (EGA), видеоадаптером (VGA), видеоадаптером (XGA) или другим контроллером устройства отображения. Устройство отображения может быть телевизионным приемником, компьютерным монитором, плоской индикаторной панелью или другим устройствам отображения. Устройство отображения принимает информацию и данные от процессора 104 через контроллер устройства отображения 105 и отображает информацию и данные для пользователя вычислительной системы.
Вычислительная система также включает блок контроллера доступа 106. Блок контроллера доступа 106 соединен с шиной 100. Набор ключей, которые связаны с правами доступа в компьютерной системе, хранится в блоке контроллера доступа 106. Каждый ключ определяет область, в которой программа функционирует. Ключи также определяют один или более составных ключей, которые используются в качестве параметров криптографической хэш-функции для генерации сигнатуры программы. Сигнатура программы в дальнейшем используется в качестве ключа шифрования для шифрования исполняемой программы.
Блок контроллера доступа 106 получает процесс, который должен быть выполнен процессором 104 из массового запоминающего устройства 103 или другого устройства ввода-вывода, подсоединенного к шине 100. Процесс включает в себя зашифрованный исполняемый модуль и сигнатурный компонент. Прежде чем вычислительная система исполнит программу, блок контроля доступа 106 проверяет, правильно ли построена сигнатура программы, из известного составного ключа. Проверяя сигнатурный компонент процесса, блок контроля доступа 106 идентифицирует происхождения процесса, проверяет, не был ли процесс модифицирован таким образом, что стал представлять угрозу компьютерной системе, и определяет уровень доступа, который операционная система должна предоставить процессу. Затем блок контроллера доступа 106 позволяет исполняемой программе выполняться с правами, присвоенными ключам, используемым при получении составного ключа.
Фиг. 2 иллюстрирует структурную схему первого варианта осуществления блока кодирования файла настоящего изобретения. Блок кодирования файла 210 включает генератор сигнатур 221 и блок шифрования 230. Генератор сигнатур 221 выполняет операции по созданию сигнатур исполняемой программы, которая будет выполнена процессором 104. Блок шифрования 230 шифрует файл, содержащий исполняемую программу, используя сигнатуру в качестве ключа. Генератор сигнатур 221 выполняет криптографическую ключевую хэш-функцию на открытом тексте исполняемой программы, генерируя зашифрованный текст. Генератор сигнатур 221 использует ключи, которые являются составными ключами тех ключей, которые хранятся в блоке управления доступом 106. Каждый из составных ключей, используемых в криптографической хэш-функции, связан с набором прав доступа. Эти права присваиваются исполняемой программе перед ее выполнением.
Генератор сигнатур 221 включает блок вычисления 222 и блок шифрования 223. Генератор сигнатур 221 может использовать блок вычисления и блок шифрования 223 для выполнения любого числа криптографических ключевых хэш-функций или алгоритмов шифрования на открытом тексте исполняемой программы. Ключи могут быть индивидуальными симметричными ключами или общими асимметричными ключами. Различие состоит в степени защиты, требуемой копией ключа операционной системы. Генератор сигнатур 221 может использовать такие стандартные алгоритмы как Lucifer, Madryga, NewDES, FEAL, REDOC, LOKI, Khufu, Khafre или IDEA, с тем, чтобы генерировать криптографическое ключевое хэшированное значение для исполняемой программы. В первом варианте осуществления настоящего изобретения блок вычисления 222 и блок шифрования 223 используют формирование Цепочки Шифрованных Блоков (ФЦШБ) Стандарта Шифрования Данных (СШД) для того, чтобы генерировать криптографическое ключевое хэшированное значение для исполняемой программы.
Фиг. 3 иллюстрирует операции, выполняемые блоком вычисления 222 и блоком шифрования 223, когда он использует ФЦШБ, чтобы генерировать ключевое хэшированное значение для исполняемой программы. Формирование цепочки использует механизм обратной связи. Результаты шифрования предыдущих блоков поступают обратно на шифрование текущего блока. Другими словами, предыдущий блок используется для изменения шифрования следующего блока. Каждый блок зашифрованного текста зависит и от блока открытого текста, который его породил, и от предыдущих блоков открытого текста. В ФЦШБ открытый текст обрабатывается согласно операции "исключающее ИЛИ" совместно с предыдущим блоком зашифрованного текста прежде, чем он будет зашифрован.
В этом примере блок кодирования 210 получает файл, содержащий исполняемую программу, с размером 24 байта. Генератор сигнатур 221 разбивает файл в 24 байта на три раздела по 8 байтов. Первые 8 байтов открытого текста представляются как Р1 в блоке 301. P1 подвергается обработке по процедуре "исключающее ИЛИ" с инициирующим вектором (IV), хранящимся в блоке вычисления 222. Это приводит к получению первого результата. Инициирующий вектор является функцией первого составного ключа, связанного с набором прав доступа, которые будут присвоены исполняемой программе. После этого Р1 обрабатывается по процедуре "исключающее ИЛИ" с IV; блок шифрования 223 выполняет ключевой алгоритм шифрования, используя второй составной ключ для первого результата, формируя первый зашифрованный результат C1. Ключевой алгоритм шифрования может быть одним из ряда различных ключевых алгоритмов шифрования, включая любой из ключевых алгоритмов шифрования, перечисленных ранее. Блок вычисления 222 обрабатывает по процедуре "исключающее ИЛИ" первый зашифрованный результат со вторым 8-байтовым разделом, представляемым как Р2, чтобы получить второй 8-байтовый результат. Блок шифрования 223 выполняет ключевой алгоритм шифрования, используя второй составной ключ для второго результата и формируя второй зашифрованный результат C2. Блок вычисления 222 обрабатывается по процедуре "исключающее ИЛИ" второй зашифрованный результат с третьим 8-байтовым разделом, чтобы сформировать третий 8-байтовый результат. Блок шифрования 223 выполняет ключевой алгоритм шифрования, используя второй составной ключ для третьего результата. Это приводит к получению третьего зашифрованного результата C3, который используется в качестве сигнатуры исполняемой программы.
Блок генерации сигнатуры 221 генерирует сигнатуру исполняемой программы, которая является функцией всех символов в файле. Таким образом, если исполняемая программа изменяется, можно будет обнаружить модификацию, повторно вычисляя криптографическое ключевое хэш-значение и сравнивая повторно вычисленное значение с первоначальной сигнатурой.
Блок шифрования 230 выполняет операции по шифрованию исполняемой программы посредством выполнения алгоритма шифрования с использованием сигнатуры, созданной в результате работы ключевого криптографического хэш-алгоритма в качестве ключа. Это приводит к получению зашифрованного исполняемого модуля. Шифрование исполняемой программы обеспечивает дополнительный уровень защиты, чтобы предотвратить несанкционированное считывание исполняемой программы третьим лицом. Блок шифрования 230 может использовать все разнообразие алгоритмов шифрования. Зашифрованный исполняемый модуль и сигнатура посылаются в виде файла вычислительной системе для исполнения.
Фиг. 4 иллюстрирует структурную схему второго варианта осуществления контроллера доступа настоящего изобретения. Блок управления доступом 400 включает блок хранения 410, блок разделения 420, блок дешифрования 430, блок идентификации 440, блок генерации сигнатуры 450, блок проверки 460 и блок назначения прав 470.
Блок хранения 410 получает блок данных, включающий зашифрованный исполняемый модуль и сигнатурный компонент. Блок хранения 410 может включать ДОЗУ, СОЗУ или другие виды оперативной памяти. Блок хранения 410 использует признак, чтобы указать компьютерной системе, является ли хранящийся файл исполняемым модулем или исполняемой программой. Признак указывает компьютерной системе на то, что блок хранения 410 используется в качестве временной памяти, когда хранящийся файл - исполняемый модуль. Признак указывает компьютерной системе на то, что блок хранения 410 используется в качестве места исполнения, когда файл - исполняемая программа.
Блок разделения 420 соединен с блоком хранения 410. Блок разделения 420 получает блок данных из блока хранения 410 и отделяет зашифрованный исполняемый модуль от сигнатурного, компонента. Это позволяет блоку управления доступом 400 обрабатывать зашифрованный исполняемый модуль и сигнатурный компонент независимо.
Блок дешифрования 430 соединен с блоком хранения 420 и блоком хранения 410. Блок дешифрования 430 получает зашифрованный исполняемый модуль в форме зашифрованного текста и сигнатурного компонента из блока разделения 420. Блок дешифрования 430 расшифровывает зашифрованный исполняемый модуль, используя сигнатурный компонент в качестве ключа дешифрования. Блок дешифрования 430 преобразует зашифрованный исполняемый модуль в дешифрованную исполняемую программу.
Блок идентификации 440 соединен с блоком дешифрования 430 и блоком хранения 410. Блок идентификации 440 получает исполняемую программу от блока дешифрования 430. Блок идентификации 440 считывает идентификационную метку в исполняемой программе и идентифицирует соответствующий составной ключ, который присвоен идентификационной метке. Этот составной ключ - обычно тот же самый ключ, который используется блоком генерации сигнатуры 221, чтобы генерировать ключевое хэшированное значение для исполняемой программы. В первом варианте осуществления настоящего изобретения, идентифицирующий процессор 440 содержит поисковую таблицу, согласовывающую различные идентификационные метки с различными составными ключами. Составной ключ связан со специфическими правами доступа, которые предоставляются исполняемой программе.
Блок генерации сигнатуры 450 соединен с блоком идентификации 440 и блоком хранения 410. Блок генерации 450 получает идентификацию составного ключа, присвоенного идентификационной метке исполняемой программы. Блок генерации сигнатуры 450 выполняет операции по вычислению криптографического ключевого хэш-значения дешифрованной исполняемой программы, полученной блоком идентификации 440, используя идентификацию составного ключа, полученную блоком идентификации 440. Блок генерации сигнатуры 450 хранит множество ключей, которым соответствуют специфические права доступа в компьютерной системе. Эти ключи используются для формирования множество составных ключей для кодирования и декодирования исполняемых программ и дешифрированных исполняемых программ.
Блок проверки 460 связан с блоком генерации сигнатуры 450 и блоком хранения 410. Блок проверки 460 получает сигнатурный компонент исполняемого модуля из блока хранения 410 и ключевое хэшированное значение дешифрованной исполняемой программы из блока генерации сигнатуры 450. Блок проверки 460 сравнивает ключевое хэшированное значение дешифрованной исполняемой программы с сигнатурным компонентом исполняемого модуля. Если они совпадают, блок проверки 460 разрешает выполнение дешифрированной исполняемой программы компьютерной системой. Если они не совпадают, блок проверки 460 принимает решение, что исполняемый модуль был изменен, и не разрешает его выполнения компьютерной системой.
В первом варианте осуществления настоящего изобретения блок генерации сигнатуры 450 не получает идентификацию составного ключа, используемого для вычисления ключевой хэш-функции дешифрированной исполняемой программы. Вместо этого блок генерации сигнатуры 450 вычисляет несколько ключевых хэшированных значений дешифрированной исполняемой программы, используя составные ключи, полученные перестановками ключей, хранящихся в блоке генерации сигнатуры 450. Эти ключевые хэшированные значения принимаются блоком проверки 460, который определяет, соответствует ли любой из ключевых хэшированных значений первоначальному сигнатурному компоненту. Точно так же, если имеется соответствие между сигнатурным компонентом исполняемого модуля и любым из вычисленных ключевых хэшированных значений дешифрованной исполняемой программы, блок проверки 460 позволяет осуществлять выполнение дешифрированной исполняемой программы компьютерной системой. Если нет никаких совпадений, блок проверки 460 принимает решение, что исполняемый модуль был изменен и не должен выполняться компьютерной системой.
Блок назначения прав 470 соединен с блоком проверки 460 и блоком хранения 410. Блок назначения прав 470 получает идентификацию составного ключа, используемого для вычисления соответствующего ключевого хэшированного значения для сигнатурного компонента исполняемого модуля. Когда блок назначения прав 470 получает сигнал от блока проверки 460, показывающий, что дешифрированная исполняемая программа должна быть выполнена компьютерной системой, блок назначения прав 470 выполняет операции, необходимые для присвоения прав, доступных программе, идентифицируя права, связанными со специфическими составными ключами, используемыми для вычисления соответствующего ключевого хэшированного значения. В первом варианте осуществления настоящего изобретения блок назначения прав 470 может содержать поисковую таблицу, согласовывающие различные составные ключи с различными уровнями прав доступа. После того, как блок назначения прав 470 присвоит соответствующие права дешифрированной исполняемой программе, блок назначения прав 470 изменяет признак в блоке хранения 410, чтобы указать компьютерной системе, что блок хранения 410 используется в качестве исполняемого модуля. Компьютерная система воспринимает указания, что блок хранения 410 содержит исполняемую программу, и переходит к ее выполнению.
Фиг. 5 иллюстрирует в форме структурной схемы типовую компьютерную систему для четвертого варианта осуществления настоящего изобретения. Компьютерная система включает шину 500, микропроцессор 510, память 520, устройство хранения данных 530, контроллер клавиатуры 540 и контроллер устройства отображения 550.
Микропроцессор 510 может представлять собой микропроцессор с полным набором команд (CISC-процессор), микропроцессор с сокращенным набором команд (RISC-процессор) или другое процессорное устройство. Микропроцессор выполняет команды или код, хранящиеся в памяти 520, и выполняет операции над данными, хранящимися в памяти 520. Кроме того, компьютерная система 500 включает устройство хранения данных 530 (такое, как накопитель на жестком, гибком или оптическом диске), которое соединено с шиной 515. Контроллер устройства отображения 550 также соединен с шиной 515. Контроллер устройства отображения 550 обеспечивает соединение устройства отображения с компьютерной системой. Контроллер клавиатуры 540 обеспечивает соединение клавиатуры с компьютерной системой и передает сигналы от клавиатуры к компьютерной системе.
Память, 520 соединена с микропроцессором 510 через шину 500. Память 520 может быть динамическим запоминающим устройством (ДОЗУ), статическим оперативным запоминающим устройством (СОЗУ) или другим запоминающим устройством. Память 520 может хранить команды или код, исполняемые процессором 510 и являющиеся частью прикладных программ, программ операционной системы или других компьютерных программ. Память 520 включает модуль хранения 521, модуль разделения 522, модуль дешифрования 523, модуль идентификации 524, модуль генерации сигнатуры 525, модуль проверки 526 и модуль назначения прав 527. Модуль хранения 521 включает первое множество исполняемых команд процессора, которое выполняются процессором 510 так, как показана фиг. 7. Модуль хранения выполняет функции, подобные тем, что выполняет блок хранения 410 на фиг. 4. Модуль разделения 522 включает второе множество исполняемых команд процессора, которые выполняются процессором 510 так, как показано на фиг. 7. Модуль разделения 522 выполняет функции, подобные тем, что выполняет блок разделения 420 на фиг. 4. Модуль дешифрования 523 включает третье множество исполняемых команд процессора, которое выполняются процессором 510 так, как показано на фиг. 7. Модуль дешифрования 523 выполняет функции, подобные тем, что выполняет блок дешифрования 430 на фиг.4. Модуль идентификации 524 включает четвертое множество исполняемых команд процессора, которые выполняются процессором 510 так, как показано на фиг.7. Модуль идентификации 524 функционирует аналогично блоку идентификации 440 на фиг.4. Модуль генерации сигнатуры 525 включает пятое множество исполняемых команд процессора, которое выполняются процессором 510 так, как показано на. фиг.7. Модуль генерации сигнатуры 525 выполняет функции, подобные тем, что выполняет блок генерации сигнатуры 450 на фиг.4. Модуль проверки 526 включает шестое множество исполняемых команд процессора, которые выполняются процессором 510 так, как показано на фиг.7. Модуль проверки 526 выполняет функции, подобные тем, что выполняет блок проверки 460 на фиг. 4. Модуль назначения прав 527 включает седьмое множество исполняемых команд процессора, которые выполняются процессором 510 так, как показано на фиг.7. Модуль назначения прав 527 функционирует аналогично блоку назначения прав 470 на фиг. 4.
Фиг. 6 - блок-схема, иллюстрирующая способ кодирования исполняемой программы, которая должна быть выполнена компьютерной системой. Сначала получают исполняемую программу, как показано в блоке 601. Затем получают составной ключ, определяющий связанные права, которые будут присвоены исполняемой программе, как показано в блоке 602. Выполняют ключевой криптографический хэш-алгоритм для исполняемой программы. Используемый составной ключ может быть или индивидуальными симметричными ключами или общими асимметричными ключами. Это приводит к получению зашифрованного ключевого хэшированного значения которое, служит в качестве сигнатуры для исполняемой программы. Это показано в блоке 603.
Затем зашифровывают исполняемую программу, используя зашифрованное ключевое хэшированное значение в качестве ключа. В результате этого получают исполняемый модуль. Это показано в блоке 604. После того, как исполняемая программа зашифрована в исполняемый модуль, посылают исполняемый модуль и сигнатурный компонент в компьютерную систему на обработку и выполнение. Это показано в блоке 605.
Фиг. 7 - блок-схема, иллюстрирующая способ управления доступом в компьютерной системе. Сначала получают блок данных, включающий в себя сигнатурный компонент и исполняемый модуль, как показано в блоке 701. Отделяют сигнатурный компонент от исполняемого модуля, как показано в блоке 702. Расшифровывают исполняемый модуль, используя сигнатурный компонент в качестве ключа. Это приводит к получению дешифрованной исполняемой программы, что показано в блоке 703.
Затем определяют идентификационную метку в дешифрированной исполняемой программе, как показано в блоке 704. Идентифицируют составной ключ, связанный с идентификационной меткой, как показано в блоке 705. Вычисляют ключевое криптографическое хэш-значение для дешифрированной исполняемой программы, используя составной ключ, связанный с идентификационной меткой, как показано в блоке 706. Затем проверяют источник блока данных и был ли идентифицирован блок, сравнивая сигнатурный компонент в блоке данных с вычисленным ключевым криптографическим хэш-значением для дешифрированной исполняемой программы. Это показано в блоке 707. Если сигнатурный компонент в блоке данных не соответствует вычисленному ключевому криптографическому хэш-значению, то дешифрированную исполняемую программу не выполняют, что показано в блоке 708. Если сигнатурный компонент в блоке данных соответствует вычисленному ключевому криптографическому хэш-значению, то присваивают соответствующие права дешифрированной исполняемой программе, как определено составным ключом. Это показано в блоке 709. Наконец, выполняют дешифрированную исполняемую программу, как показано в блоке 710.
В предшествующем описании изобретения приведены ссылки на конкретные варианты его осуществления. Очевидно, однако, что могут быть сделаны различные модификации и изменения изобретения без изменения сущности и объема изобретения, определяемого формулой изобретения, которая прилагается.
Соответственно описания и чертежи носят скорее иллюстративный, чем ограничительный характер.
Специалистам в данной области техники при рассмотрении предшествующего описания должны быть очевидны различные изменения и модификации настоящего изобретения, поэтому конкретные варианты осуществления, показанные в описании, никоим образом не предназначены для ограничения. Следовательно, ссылки на подробности специфических вариантов осуществления не предназначены для ограничения объема формулы изобретения, которая содержит только существенные признаки изобретения.
Claims (12)
1. Способ формирования закодированного исполняемого модуля, включающий выполнение криптографической ключевой хэш-функции для исполняемой программы для генерирования сигнатурного компонента с использованием первого ключа, имеющего связанный набор прав доступа, присваиваемых исполняемой программе, и выполнение алгоритма шифрования для исполняемой программы с использованием сигнатурного компонента в качестве второго ключа.
2. Способ по п.1, отличающийся тем, что при выполнении криптографической ключевой хэш-функции осуществляют выполнение алгоритма формирования цепочки шифрованных блоков стандарта шифрования данных.
3. Способ управления доступом, включающий отделение сигнатурного компонента от исполняемого модуля в блоке данных, дешифрирование исполняемого модуля в исполняемую программу с использованием сигнатурного компонента, вычисление криптографического ключевого хэш-значения исполняемой программы с использованием ключа и проверку источника блока данных путем сравнения сигнатурного компонента с криптографическим ключевым хэш-значением.
4. Способ по п.3, отличающийся тем, что включает нахождение идентификационной метки в исполняемой программе и поиск ключа, соответствующего идентификационной метке, для выполнения криптографический ключевой хэш-функции для исполняемой программы.
5. Способ по п. 3, отличающийся тем, что включает назначение прав исполняемой программе в соответствии с правами, связанными с ключом.
6. Блок для кодирования исполняемой программы, содержащий блок генерации сигнатуры для выполнения криптографической ключевой хэш-функции для исполняемой программы для генерирования сигнатурного компонента с использованием первого ключа, имеющего связанный набор прав доступа, присваиваемых исполняемой программе, и первый блок шифрования, связанный с блоком генерации сигнатуры, для шифрования исполняемой программы с использованием сигнатурного компонента в качестве второго ключа.
7. Блок для кодирования исполняемой программ по п.6, отличающийся тем, что блок генерации сигнатуры дополнительно включает блок вычисления и второй блок шифрования, который выполняет алгоритм формирования цепочки зашифрованных блоков стандарта шифрования данных.
8. Блок управления доступом, включающий блок разделения для отделения сигнатурного компонента, полученного в результате выполнения ключевой хэш-функции для исполняемой программ, от зашифрованного исполняемого модуля в блоке данных, блок дешифрирования, связанный с блоком разделения, для дешифрирования зашифрованного исполняемого модуля с преобразованием его в дешифрированную исполняемую программу с сигнатурным компонентом, блок генерации сигнатуры, соединенный с блоком дешифрирования, для вычисления криптографического ключевого хэш-значения для дешифрированной исполняемой программы с использованием ключа, и блок проверки, соединенный с блоком генерации сигнатуры, для сравнения криптографического ключевого хэш-значения с сигнатурным компонентом.
9. Блок управления доступом по п.8, отличающийся тем, что блок генерации сигнатуры дополнительно содержит компонент для хранения ключа, предназначенный для хранения ключа, используемого блоком генерации сигнатуры.
10. Блок управления доступом по п.8, отличающийся тем, что дополнительно содержит блок идентификации, соединенный с блоком дешифрирования, предназначенный для идентификации ключа, указывающего на идентификационную метку в исполняемой программе, для вычисления криптографического хэш-значения для дешифрированной исполняемой программы.
11. Блок управления доступом по п.8, отличающийся тем, что содержит блок назначения прав, связанный с блоком генерации сигнатуры, для присвоения права дешифрированной исполняемой программе в соответствии с правами, связанными с ключом.
12. Компьютерная система, содержащая шину, память, соединенную с шиной, блок разделения, предназначенный для отделения сигнатурного компонента от зашифрованного исполняемого модуля в блоке данных, блок дешифрирования, связанный с блоком разделения, для дешифрирования зашифрованного исполняемого модуля с преобразованием его в исполняемую программу с сигнатурным компонентом, блок генерации сигнатуры, связанный с блоком дешифрирования, для вычисления криптографического ключевого хэш-значения для исполняемой программы с использованием ключа, и блок проверки, связанный с блоком генерации сигнатуры, предназначенный для сравнения криптографического ключевого хэш-значения с сигнатурным компонентом.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/519,307 | 1995-08-25 | ||
US08/519,307 US5757915A (en) | 1995-08-25 | 1995-08-25 | Parameterized hash functions for access control |
PCT/US1996/011925 WO1997007657A2 (en) | 1995-08-25 | 1996-07-19 | Parameterized hash functions for access control |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2142674C1 true RU2142674C1 (ru) | 1999-12-10 |
Family
ID=24067740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU98105209A RU2142674C1 (ru) | 1995-08-25 | 1996-07-19 | Управление доступом с использованием параметризированной хэш-функции |
Country Status (11)
Country | Link |
---|---|
US (2) | US5757915A (ru) |
EP (1) | EP0860064B1 (ru) |
JP (1) | JP4087442B2 (ru) |
CN (1) | CN1124719C (ru) |
AU (1) | AU6501196A (ru) |
BR (1) | BR9610127A (ru) |
DE (1) | DE69635209T2 (ru) |
HK (1) | HK1015987A1 (ru) |
IL (1) | IL123198A (ru) |
RU (1) | RU2142674C1 (ru) |
WO (1) | WO1997007657A2 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006022566A1 (fr) * | 2004-07-26 | 2006-03-02 | Stochasto Asa | Procede de protection de systemes informatiques contre des virus chiffres et polymorphes |
RU2533061C1 (ru) * | 2013-06-26 | 2014-11-20 | Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" | Система контроля доступа к шифруемым создаваемым файлам |
Families Citing this family (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157721A (en) * | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
US20120166807A1 (en) | 1996-08-12 | 2012-06-28 | Intertrust Technologies Corp. | Systems and Methods Using Cryptography to Protect Secure Computing Environments |
EP2270687A2 (en) * | 1995-04-11 | 2011-01-05 | Kinetech, Inc. | Identifying data in a data processing system |
KR100250803B1 (ko) * | 1995-09-05 | 2000-04-01 | 다니구찌 이찌로오 | 데이타 변환장치 및 데이타 변환방법 |
US6088515A (en) | 1995-11-13 | 2000-07-11 | Citrix Systems Inc | Method and apparatus for making a hypermedium interactive |
JP3747520B2 (ja) * | 1996-01-30 | 2006-02-22 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理方法 |
US5825877A (en) * | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
US5778070A (en) * | 1996-06-28 | 1998-07-07 | Intel Corporation | Method and apparatus for protecting flash memory |
AU2003203649B2 (en) * | 1996-08-12 | 2006-03-02 | Intertrust Technologies Corporation | Systems and methods using cryptography to protect secure computing environments |
AU2004240210B2 (en) * | 1996-08-12 | 2008-03-06 | Intertrust Technologies Corporation | Systems and methods using cryptography to protect secure computing environments |
JP3570114B2 (ja) * | 1996-10-21 | 2004-09-29 | 富士ゼロックス株式会社 | データ検証方法およびデータ検証システム |
US6253323B1 (en) | 1996-11-01 | 2001-06-26 | Intel Corporation | Object-based digital signatures |
US9219755B2 (en) | 1996-11-08 | 2015-12-22 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US8079086B1 (en) | 1997-11-06 | 2011-12-13 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US7058822B2 (en) | 2000-03-30 | 2006-06-06 | Finjan Software, Ltd. | Malicious mobile code runtime monitoring system and methods |
US6021491A (en) * | 1996-11-27 | 2000-02-01 | Sun Microsystems, Inc. | Digital signatures for data streams and data archives |
US6272631B1 (en) * | 1997-06-30 | 2001-08-07 | Microsoft Corporation | Protected storage of core data secrets |
JP3781874B2 (ja) * | 1997-09-05 | 2006-05-31 | 富士通株式会社 | 画像指示による電子情報管理装置、秘密鍵管理装置及び方法、並びに、秘密鍵管理プログラムを記録した記録媒体 |
US6807632B1 (en) * | 1999-01-21 | 2004-10-19 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
US7110984B1 (en) * | 1998-08-13 | 2006-09-19 | International Business Machines Corporation | Updating usage conditions in lieu of download digital rights management protected content |
WO2000011551A1 (de) * | 1998-08-19 | 2000-03-02 | Siemens Aktiengesellschaft | Verfahren, anordnung sowie ein satz mehrerer anordnungen zum schutz mehrerer programme und/oder mehrerer dateien vor einem unbefugten zugriff durch einen prozess |
US6320964B1 (en) | 1998-08-26 | 2001-11-20 | Intel Corporation | Cryptographic accelerator |
DE19847943A1 (de) * | 1998-10-09 | 2000-04-13 | Deutsche Telekom Ag | Verfahren zum Generieren von digitalen Wasserzeichen für elekronische Dokumente |
US6802006B1 (en) * | 1999-01-15 | 2004-10-05 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US6567917B1 (en) * | 1999-02-01 | 2003-05-20 | Cisco Technology, Inc. | Method and system for providing tamper-resistant executable software |
JP4238410B2 (ja) * | 1999-04-09 | 2009-03-18 | ソニー株式会社 | 情報処理システム |
US6389537B1 (en) * | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
EP1055990A1 (en) * | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | Event logging in a computing platform |
EP1056010A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | Data integrity monitoring in trusted computing entity |
FI110565B (fi) * | 1999-06-08 | 2003-02-14 | Nokia Corp | Menetelmä ja järjestelmä puhelinkeskusjärjestelmässä |
US6560599B1 (en) * | 1999-06-30 | 2003-05-06 | Microsoft Corporation | Method and apparatus for marking a hash table and using the marking for determining the distribution of records and for tuning |
US7650504B2 (en) * | 1999-07-22 | 2010-01-19 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
JP2001066986A (ja) * | 1999-08-26 | 2001-03-16 | Sony Corp | 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体 |
US6976165B1 (en) * | 1999-09-07 | 2005-12-13 | Emc Corporation | System and method for secure storage, transfer and retrieval of content addressable information |
US6868405B1 (en) * | 1999-11-29 | 2005-03-15 | Microsoft Corporation | Copy detection for digitally-formatted works |
EP1256042B1 (en) * | 2000-02-17 | 2005-07-20 | General Instrument Corporation | Method and system for secure downloading of software |
KR100430147B1 (ko) * | 2000-03-15 | 2004-05-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 액세스 제어 |
US6760441B1 (en) * | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US20010042204A1 (en) * | 2000-05-11 | 2001-11-15 | David Blaker | Hash-ordered databases and methods, systems and computer program products for use of a hash-ordered database |
US7117371B1 (en) * | 2000-06-28 | 2006-10-03 | Microsoft Corporation | Shared names |
JP2002016596A (ja) * | 2000-06-29 | 2002-01-18 | Oki Electric Ind Co Ltd | 画像伝送装置及び画像受信装置 |
US6952477B1 (en) * | 2000-07-03 | 2005-10-04 | International Business Machines Corporation | Fault intolerant cipher chaining |
US7096493B1 (en) * | 2000-12-21 | 2006-08-22 | Gary G. Liu | Internet file safety information center |
US6738932B1 (en) * | 2000-12-22 | 2004-05-18 | Sun Microsystems, Inc. | Method and system for identifying software revisions from memory images |
US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
EP1223696A3 (en) * | 2001-01-12 | 2003-12-17 | Matsushita Electric Industrial Co., Ltd. | System for transmitting digital audio data according to the MOST method |
US20020112163A1 (en) * | 2001-02-13 | 2002-08-15 | Mark Ireton | Ensuring legitimacy of digital media |
GB2372595A (en) | 2001-02-23 | 2002-08-28 | Hewlett Packard Co | Method of and apparatus for ascertaining the status of a data processing environment. |
GB2372594B (en) * | 2001-02-23 | 2004-10-06 | Hewlett Packard Co | Trusted computing environment |
GB2372591A (en) * | 2001-02-23 | 2002-08-28 | Hewlett Packard Co | Method of investigating transactions in a data processing environment |
GB2372592B (en) * | 2001-02-23 | 2005-03-30 | Hewlett Packard Co | Information system |
IL142487A0 (en) * | 2001-04-05 | 2003-09-17 | Hexalock Ltd | Method and system for protecting data |
WO2002084590A1 (en) * | 2001-04-11 | 2002-10-24 | Applied Minds, Inc. | Knowledge web |
US7136840B2 (en) | 2001-04-20 | 2006-11-14 | Intertrust Technologies Corp. | Systems and methods for conducting transactions and communications using a trusted third party |
US7424747B2 (en) * | 2001-04-24 | 2008-09-09 | Microsoft Corporation | Method and system for detecting pirated content |
EP1393170A4 (en) * | 2001-04-27 | 2008-07-30 | Quinn Inc W | FILTER DRIVER FOR DISK FILE IDENTIFICATION, BY CONTENT ANALYSIS |
WO2002093502A1 (en) * | 2001-05-17 | 2002-11-21 | Nokia Corporation | Remotely granting access to a smart environment |
US20030105961A1 (en) * | 2001-11-30 | 2003-06-05 | Peter Zatloukal | Avoiding attachment of an ineligible smart interchangeable cover to an electronic device |
US7246235B2 (en) * | 2001-06-28 | 2007-07-17 | Intel Corporation | Time varying presentation of items based on a key hash |
US7237121B2 (en) * | 2001-09-17 | 2007-06-26 | Texas Instruments Incorporated | Secure bootloader for securing digital devices |
US7421411B2 (en) * | 2001-07-06 | 2008-09-02 | Nokia Corporation | Digital rights management in a mobile communications environment |
US7036020B2 (en) * | 2001-07-25 | 2006-04-25 | Antique Books, Inc | Methods and systems for promoting security in a computer system employing attached storage devices |
US7925894B2 (en) * | 2001-07-25 | 2011-04-12 | Seagate Technology Llc | System and method for delivering versatile security, digital rights management, and privacy services |
GB2378013A (en) * | 2001-07-27 | 2003-01-29 | Hewlett Packard Co | Trusted computer platform audit system |
US8117450B2 (en) * | 2001-10-11 | 2012-02-14 | Hewlett-Packard Development Company, L.P. | System and method for secure data transmission |
KR20030075018A (ko) * | 2002-03-15 | 2003-09-22 | 주식회사 셈틀로미디어 | 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법 |
US20030196094A1 (en) * | 2002-04-10 | 2003-10-16 | Hillis W. Daniel | Method and apparatus for authenticating the content of a distributed database |
US8069175B2 (en) * | 2002-04-10 | 2011-11-29 | Google Inc. | Delegating authority to evaluate content |
US20030195834A1 (en) * | 2002-04-10 | 2003-10-16 | Hillis W. Daniel | Automated online purchasing system |
US7844610B2 (en) | 2003-12-12 | 2010-11-30 | Google Inc. | Delegated authority evaluation system |
US20030196096A1 (en) * | 2002-04-12 | 2003-10-16 | Sutton James A. | Microcode patch authentication |
US6715085B2 (en) * | 2002-04-18 | 2004-03-30 | International Business Machines Corporation | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function |
US6851056B2 (en) * | 2002-04-18 | 2005-02-01 | International Business Machines Corporation | Control function employing a requesting master id and a data address to qualify data access within an integrated system |
US7089419B2 (en) | 2002-04-18 | 2006-08-08 | International Business Machines Corporation | Control function with multiple security states for facilitating secure operation of an integrated system |
US7266842B2 (en) * | 2002-04-18 | 2007-09-04 | International Business Machines Corporation | Control function implementing selective transparent data authentication within an integrated system |
US20030217275A1 (en) * | 2002-05-06 | 2003-11-20 | Bentley Systems, Inc. | Method and system for digital rights management and digital signatures |
JP2004013608A (ja) * | 2002-06-07 | 2004-01-15 | Hitachi Ltd | プログラムの実行および転送の制御 |
US7243231B2 (en) | 2002-07-31 | 2007-07-10 | Intel Corporation | Sensory verification of shared data |
US7444522B1 (en) * | 2002-09-18 | 2008-10-28 | Open Invention Network, Llc | Dynamic negotiation of security arrangements between web services |
US8012025B2 (en) * | 2002-12-13 | 2011-09-06 | Applied Minds, Llc | Video game controller hub with control input reduction and combination schemes |
US7765206B2 (en) | 2002-12-13 | 2010-07-27 | Metaweb Technologies, Inc. | Meta-Web |
EP1489517B1 (fr) * | 2003-04-03 | 2006-09-06 | STMicroelectronics S.A. | Protection d'un programme en attente d'exécution dans une mémoire utilisée par un microprocesseur |
US7353397B1 (en) | 2003-04-30 | 2008-04-01 | Adobe Systems Incorporated | Repurposing digitally signed information |
CA2776354A1 (en) * | 2003-06-05 | 2005-02-24 | Intertrust Technologies Corporation | Interoperable systems and methods for peer-to-peer service orchestration |
US7272228B2 (en) * | 2003-06-12 | 2007-09-18 | International Business Machines Corporation | System and method for securing code and ensuring proper execution using state-based encryption |
US20050033700A1 (en) * | 2003-08-04 | 2005-02-10 | Vogler Dean H. | Method and apparatus for creating and rendering an advertisement |
US8661559B2 (en) * | 2003-08-18 | 2014-02-25 | Riverside Research Institute | Software control flow watermarking |
US20050055312A1 (en) * | 2003-08-18 | 2005-03-10 | Wilson Kelce Steven | Software control flow watermarking |
US7734932B2 (en) * | 2003-11-10 | 2010-06-08 | Broadcom Corporation | System and method for securing executable code |
US7516331B2 (en) * | 2003-11-26 | 2009-04-07 | International Business Machines Corporation | Tamper-resistant trusted java virtual machine and method of using the same |
US20050131918A1 (en) * | 2003-12-12 | 2005-06-16 | W. Daniel Hillis | Personalized profile for evaluating content |
JP2005346182A (ja) * | 2004-05-31 | 2005-12-15 | Fujitsu Ltd | 情報処理装置、耐タンパ方法、耐タンパプログラム |
US7461268B2 (en) * | 2004-07-15 | 2008-12-02 | International Business Machines Corporation | E-fuses for storing security version data |
US7712135B2 (en) * | 2004-08-05 | 2010-05-04 | Savant Protection, Inc. | Pre-emptive anti-virus protection of computing systems |
US9313214B2 (en) * | 2004-08-06 | 2016-04-12 | Google Technology Holdings LLC | Enhanced security using service provider authentication |
EP2194476B1 (en) | 2005-03-22 | 2014-12-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for creating a record of a software-verification attestation |
US20060236122A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Secure boot |
US8521752B2 (en) * | 2005-06-03 | 2013-08-27 | Osr Open Systems Resources, Inc. | Systems and methods for arbitrary data transformations |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
JP4901164B2 (ja) * | 2005-09-14 | 2012-03-21 | ソニー株式会社 | 情報処理装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
US8135958B2 (en) * | 2005-11-22 | 2012-03-13 | International Business Machines Corporation | Method, system, and apparatus for dynamically validating a data encryption operation |
US20070180210A1 (en) * | 2006-01-31 | 2007-08-02 | Seagate Technology Llc | Storage device for providing flexible protected access for security applications |
JP5190800B2 (ja) * | 2006-02-21 | 2013-04-24 | 日本電気株式会社 | プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム |
US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US8429724B2 (en) | 2006-04-25 | 2013-04-23 | Seagate Technology Llc | Versatile access control system |
US8028166B2 (en) * | 2006-04-25 | 2011-09-27 | Seagate Technology Llc | Versatile secure and non-secure messaging |
US7539890B2 (en) * | 2006-04-25 | 2009-05-26 | Seagate Technology Llc | Hybrid computer security clock |
US8099629B2 (en) * | 2006-07-14 | 2012-01-17 | Marvell World Trade Ltd. | System-on-a-chip (SoC) test interface security |
US7512748B1 (en) | 2006-08-17 | 2009-03-31 | Osr Open Systems Resources, Inc. | Managing lock rankings |
US8539228B1 (en) * | 2006-08-24 | 2013-09-17 | Osr Open Systems Resources, Inc. | Managing access to a resource |
EP2082523B1 (en) * | 2006-11-13 | 2014-03-19 | Certicom Corp. | Compressed ecdsa signatures |
US8024433B2 (en) * | 2007-04-24 | 2011-09-20 | Osr Open Systems Resources, Inc. | Managing application resources |
US8386608B1 (en) * | 2007-08-03 | 2013-02-26 | Alex Rankov | Service scripting framework |
US7949693B1 (en) | 2007-08-23 | 2011-05-24 | Osr Open Systems Resources, Inc. | Log-structured host data storage |
US20090064134A1 (en) * | 2007-08-30 | 2009-03-05 | Citrix Systems,Inc. | Systems and methods for creating and executing files |
US8667597B2 (en) * | 2008-06-25 | 2014-03-04 | Lockheed Martin Corporation | Systems, methods, and products for secure code execution |
JP2010191665A (ja) * | 2009-02-18 | 2010-09-02 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム、並びに記録媒体 |
EP2486509B1 (en) * | 2009-10-09 | 2022-11-02 | Nokia Technologies Oy | Platform security |
EP2438511B1 (en) | 2010-03-22 | 2019-07-03 | LRDC Systems, LLC | A method of identifying and protecting the integrity of a set of source data |
US9772834B2 (en) * | 2010-04-27 | 2017-09-26 | Red Hat, Inc. | Exportable encoded identifications of networked machines |
US8903874B2 (en) | 2011-11-03 | 2014-12-02 | Osr Open Systems Resources, Inc. | File system directory attribute correction |
US8918881B2 (en) | 2012-02-24 | 2014-12-23 | Appthority, Inc. | Off-device anti-malware protection for mobile devices |
US8713684B2 (en) | 2012-02-24 | 2014-04-29 | Appthority, Inc. | Quantifying the risks of applications for mobile devices |
US10402393B2 (en) * | 2012-03-02 | 2019-09-03 | Pure Storage, Inc. | Slice migration in a dispersed storage network |
US11232093B2 (en) | 2012-03-02 | 2022-01-25 | Pure Storage, Inc. | Slice migration in a dispersed storage network |
FR2992083B1 (fr) * | 2012-06-19 | 2014-07-04 | Alstom Transport Sa | Calculateur, ensemble de communication comportant un tel calculateur, systeme de gestion ferroviaire comportant un tel ensemble, et procede de fiabilisation de donnees dans un calculateur |
US8819772B2 (en) * | 2012-06-25 | 2014-08-26 | Appthority, Inc. | In-line filtering of insecure or unwanted mobile device software components or communications |
US8856519B2 (en) | 2012-06-30 | 2014-10-07 | International Business Machines Corporation | Start method for application cryptographic keystores |
US9106411B2 (en) | 2012-09-30 | 2015-08-11 | Apple Inc. | Secure escrow service |
US11126418B2 (en) * | 2012-10-11 | 2021-09-21 | Mcafee, Llc | Efficient shared image deployment |
US20150039872A1 (en) * | 2013-08-05 | 2015-02-05 | Caterpillar Inc. | Multiple Signed Filesystem Application Packages |
US9830329B2 (en) | 2014-01-15 | 2017-11-28 | W. Anthony Mason | Methods and systems for data storage |
US10491398B2 (en) | 2014-09-12 | 2019-11-26 | Salesforce.Com, Inc. | Facilitating dynamic end-to-end integrity for data repositories in an on-demand services environment |
US9904629B2 (en) | 2015-05-31 | 2018-02-27 | Apple Inc. | Backup system with multiple recovery keys |
CN108416224B (zh) * | 2018-02-13 | 2019-10-15 | 北京梆梆安全科技有限公司 | 一种数据加解密方法及装置 |
US11055426B2 (en) * | 2018-07-16 | 2021-07-06 | Faro Technologies, Inc. | Securing data acquired by coordinate measurement devices |
US11108545B2 (en) * | 2019-05-31 | 2021-08-31 | Advanced New Technologies Co., Ltd. | Creating a blockchain account and verifying blockchain transactions |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4715034A (en) * | 1985-03-04 | 1987-12-22 | John Fluke Mfg. Co., Inc. | Method of and system for fast functional testing of random access memories |
FR2596177B1 (fr) * | 1986-03-19 | 1992-01-17 | Infoscript | Procede et dispositif de sauvegarde qualitative de donnees numerisees |
US5224160A (en) * | 1987-02-23 | 1993-06-29 | Siemens Nixdorf Informationssysteme Ag | Process for securing and for checking the integrity of the secured programs |
US5052040A (en) * | 1990-05-25 | 1991-09-24 | Micronyx, Inc. | Multiple user stored data cryptographic labeling system and method |
US5412717A (en) * | 1992-05-15 | 1995-05-02 | Fischer; Addison M. | Computer system security method and apparatus having program authorization information data structures |
AU683038B2 (en) * | 1993-08-10 | 1997-10-30 | Addison M. Fischer | A method for operating computers and for processing information among computers |
US5412718A (en) * | 1993-09-13 | 1995-05-02 | Institute Of Systems Science | Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information |
US5343527A (en) * | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
US5530757A (en) * | 1994-06-28 | 1996-06-25 | International Business Machines Corporation | Distributed fingerprints for information integrity verification |
-
1995
- 1995-08-25 US US08/519,307 patent/US5757915A/en not_active Expired - Lifetime
-
1996
- 1996-07-19 BR BR9610127-0A patent/BR9610127A/pt not_active IP Right Cessation
- 1996-07-19 IL IL12319896A patent/IL123198A/en not_active IP Right Cessation
- 1996-07-19 JP JP51025397A patent/JP4087442B2/ja not_active Expired - Lifetime
- 1996-07-19 AU AU65011/96A patent/AU6501196A/en not_active Abandoned
- 1996-07-19 WO PCT/US1996/011925 patent/WO1997007657A2/en active IP Right Grant
- 1996-07-19 EP EP96924607A patent/EP0860064B1/en not_active Expired - Lifetime
- 1996-07-19 CN CN96196499A patent/CN1124719C/zh not_active Expired - Lifetime
- 1996-07-19 DE DE69635209T patent/DE69635209T2/de not_active Expired - Lifetime
- 1996-07-19 RU RU98105209A patent/RU2142674C1/ru not_active IP Right Cessation
-
1997
- 1997-10-30 US US08/960,834 patent/US5940513A/en not_active Expired - Lifetime
-
1999
- 1999-02-26 HK HK99100799A patent/HK1015987A1/xx not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006022566A1 (fr) * | 2004-07-26 | 2006-03-02 | Stochasto Asa | Procede de protection de systemes informatiques contre des virus chiffres et polymorphes |
RU2533061C1 (ru) * | 2013-06-26 | 2014-11-20 | Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" | Система контроля доступа к шифруемым создаваемым файлам |
Also Published As
Publication number | Publication date |
---|---|
EP0860064A2 (en) | 1998-08-26 |
US5757915A (en) | 1998-05-26 |
HK1015987A1 (en) | 1999-10-22 |
JPH11511576A (ja) | 1999-10-05 |
DE69635209T2 (de) | 2006-06-22 |
BR9610127A (pt) | 1999-10-26 |
WO1997007657A3 (en) | 1997-04-17 |
CN1124719C (zh) | 2003-10-15 |
IL123198A0 (en) | 1998-09-24 |
EP0860064A4 (en) | 1999-10-06 |
JP4087442B2 (ja) | 2008-05-21 |
DE69635209D1 (de) | 2006-02-02 |
US5940513A (en) | 1999-08-17 |
WO1997007657A2 (en) | 1997-03-06 |
EP0860064B1 (en) | 2005-09-21 |
CN1194072A (zh) | 1998-09-23 |
AU6501196A (en) | 1997-03-19 |
IL123198A (en) | 2001-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2142674C1 (ru) | Управление доступом с использованием параметризированной хэш-функции | |
EP1695169B1 (en) | Method and apparatus for incremental code signing | |
KR101798672B1 (ko) | 코드 불변식을 이용한 스테가노그래픽 메시징 시스템 | |
KR101702545B1 (ko) | 데이터 인증방법 및 그 장치 | |
US11281769B2 (en) | Software integrity verification | |
CN110825672B (zh) | 用于联机加密处理的高性能自主硬件引擎 | |
US20110202996A1 (en) | Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code | |
CN115104096A (zh) | 使用硬件安全区域保护商业现成程序二进制文件免受盗版 | |
KR20050056204A (ko) | 메시지 무결성 보증 시스템, 방법 및 기록 매체 | |
CN110245466B (zh) | 软件完整性保护和验证方法、系统、设备及存储介质 | |
CN112115491A (zh) | 一种对称加密密钥保护方法、装置、设备及存储介质 | |
US7464406B2 (en) | System and method for user determination of secure software | |
KR102017379B1 (ko) | 이미지 벡터 처리를 이용한 해시 암호화 방법 및 장치 | |
KR101999209B1 (ko) | 가상 함수 테이블 포인터 암호화 시스템 및 그 방법 | |
CN116781265A (zh) | 一种数据加密的方法和装置 | |
KR20020071274A (ko) | Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치 | |
CN114520740B (zh) | 一种加密方法、装置、设备及存储介质 | |
CN116451185A (zh) | 一种应用程序的保护方法及装置 | |
CryptoCore | Security Policy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20100720 |