Область техники, к которой относится изобретение
Настоящее изобретение касается способа и устройства для надежного шифрования (кодирования), скремблирования, дешифрования (декодирования) и дескремблирования данных, и более конкретно, способа и устройства для надежного шифрования и дешифрования данных при записи или считывании из запоминающего устройства большой емкости типа дискового устройства, запоминающего устройства на ленте или другого электронного/механического/оптического носителя памяти большой емкости (называемого памятью большой емкости), связанного с компьютером или другим электронным оборудованием типа цифровой камеры, устройств цифровой звуковой/видеозаписи (называемых компьютерными системами), с помощью шины памяти большой емкости.
Предпосылки создания изобретения
Компьютерные системы хранят программы и данные в запоминающих устройствах большой емкости. Несанкционированный доступ к хранящимся таким образом данным является известной и возрастающей угрозой. Обычный способ защиты такой хранящейся информации заключается в требовании имени пользователя и пароля от пользователя компьютерной системы, избегая таким образом несанкционированного доступа к данным.
Немногие осознают, что лицо, не обладающее полномочиями, может получить доступ к любой части информации, хранящейся в запоминающем устройстве большой емкости, без стандартного способа идентификации пользователя; лицо, не обладающее полномочиями, может удалять запоминающее устройство из компьютера (в некоторых системах с внешними модулями памяти большой емкости это чрезвычайно просто), вставлять запоминающее устройство в другую компьютерную систему и считывать/использовать информацию, хранящуюся в модуле памяти большой емкости, и даже изменять данные, если пожелает (мошенничество). Хищение данных из памяти большой емкости представляет существенно увеличивающуюся угрозу.
Известно обеспечение защиты информации посредством шифрования прежде, чем сохранять ее на носителях памяти большой емкости. Зашифрованные файлы или сегменты данных должны быть дешифрованы прежде, чем их можно использовать. Когда данные записываются обратно в запоминающее устройство, данные должны быть повторно зашифрованы. Этот процесс включает в себя дополнительную обработку процесса для пользователя, и это часто является причиной того, почему такие предосторожности редко эффективны в использовании.
Большинство компьютерных операционных систем также создано для использования рабочих файлов (файлов подкачки, временных файлов) информации, обрабатываемых в данный момент времени. В рабочих файлах могут оставаться доступными уязвимые данные. Даже если пользователь полагает, что задание выполнено, и данные записаны в зашифрованном виде и находятся в безопасности на диске, специалист в данной области техники сможет извлечь данные и документы из рабочих файлов.
Даже когда эти рабочие копии удалены, они все еще являются восстановимыми, поскольку удаление обычно только отмечает область на носителях памяти большой емкости, как свободную для использования, и не стирает данные. Чтобы убедиться, что данные стерты, носители должны быть записаны много раз случайными данными для гарантирования, что никакая информация на удаленной части носителя памяти большой емкости не располагается. Эта процедура является зависимой от носителя данных. Приведенный выше пример типичен для магнитного типа носителей и будет различаться для электронных/механических/оптических носителей. Вы не можете выполнять запись обратно на перепрограммируемых носителях слишком много раз, поскольку запись резко сокращает срок службы носителей.
Эти процедуры включают в себя большой объем компьютерной обработки и используют специально разработанное программное обеспечение.
Использование программ шифрования программного обеспечения раскрывает распределенные ключи шифрования, когда они обрабатываются. Лица, не обладающие полномочиями, вирусные программы, шпионские программы и т.д. могут использовать эти раскрытые ключи для дешифровки хранящихся данных.
Чтобы избежать некоторых из упомянутых выше недостатков обеспечения защиты данных памяти большой емкости, известно, что можно зашифровывать все хранящиеся данные на запоминающем устройстве большой емкости и дешифровывать все считываемые данные с такого запоминающего устройства большой емкости.
Одно преимущество этой схемы заключается в том, что все данные в запоминающем устройстве большой емкости всегда зашифрованы. Это достигается благодаря обеспечению специализированной программы, которая выполняется посредством обрабатывания потока данных в запоминающее устройство большой емкости и из него.
Однако вышеупомянутая программа не может храниться зашифрованной, потому что компьютерная система должна иметь возможность считывать и запускать выполнение программы для обеспечения возможности дешифрования информации, хранящейся в запоминающем устройстве большой емкости. Если вся информация, хранящаяся в запоминающем устройстве большой емкости, подлежит шифрованию, программа должна храниться во втором запоминающем устройстве без шифрования данных, хранящихся в нем. Другим очевидным недостатком в такой системе является требование ресурсов компьютера для процесса шифрования/дешифрования, оставляя намного меньше ресурсов процессора для пользователя компьютерной системы, и ключи шифрования все еще могут быть раскрыты при их использовании.
В патенте США № 5513262 (van Rumpt и др.) раскрыто электронное устройство для кодирования и декодирования данных, посылаемых в запоминающее устройство большой емкости в компьютерной системе и из него, посредством введения электронного устройства в шину, соединяющую компьютерную систему и запоминающее устройство большой емкости.
Соединяющая шина передает коды команд, например, для контроллера жесткого диска. Команды распознаются электронным устройством, и оно пропускает команды неизменяемыми, в то время как данные кодируются/декодируются на ходу, когда они проходят по шине к запоминающему устройству большой емкости и от него через электронное устройство.
Кодирования/декодирования достигают, применяя алгоритмы шифрования/дешифрования (СШД (стандарт шифрования данных)) и ключ шифрования/дешифрования в потоке данных, проходящем через электронное устройство. Однако раскрытие не предлагает, как надежным способом передавать ключ в устройство шифрования/дешифрования.
Одно возможное решение заключается в том, чтобы ключ жестко закодировать в модуль, но заменяемый ключ является более привлекательным, если, например, используемый ключ случайно раскрыт. При изготовлении устройства шифрования/дешифрования требуется также следить за всеми используемыми кодами, если, например, используемое электронное устройство разрушится, его следует заменить, чтобы получить доступ к хранящимся данным. Поэтому там должен существовать индекс, связывающий жестко закодированные ключи с конкретными устройствами, что само по себе представляет риск для защиты.
Замена ключа может подразумевать пересылку ключа от компьютерной системы в электронное устройство по шине соединения между компьютером и запоминающим устройством большой емкости, что означает включение центрального процессора в компьютерную систему. Враждебное программное обеспечение, установленное в компьютерной системе типа вируса, самораспространяющейся программы или кода "Троянский конь", может похитить ключ при перенесении, и шифрование может быть дискредитировано.
В заявке на патент Великобритании GB 2264374 (Nolan) раскрыто другое устройство, которое подлежит введению между главным компьютером и запоминающим устройством большой емкости. Данные проходят между несколькими буферами данных, что может быть приемлемым для системы записи на магнитную ленту низкого быстродействия, но структура устройства не может обслуживать современный быстродействующий накопитель на жестких дисках. Кроме того, шифрование/дешифрование зависит от организации блоков данных при хранении, что делает компьютерную систему устройства шифрования/дешифрования зависимой. Однако патент раскрывает отдельный терминал, где оператор может вводить ключи шифрования/дешифрования непосредственно в устройство шифрования/дешифрования без включения центрального процессора в компьютерную систему. Даже при использовании отдельного канала, поставляющего ключи от отдельного носителя данных ключей подобно интеллектуальной карте, поток данных может быть дискредитированным и/или манипулируемым.
Один большой недостаток известного уровня техники состоит в том, что все способы, известные до сих пор, используют один алгоритм и один ключ для всего содержимого на носителе данных. Равные наборы данных будут зашифрованы с помощью одной и той же кодовой комбинации, которую можно использовать для взламывания используемого ключа и способа шифрования. Простой пример, иллюстрирующий этот сценарий, может заключаться в том, что английское слово "is" (является) может быть зашифровано, например, как "ce". Понимая, что "is" является очень часто встречающейся фразой в английском тексте, и что эта комбинация из двух символов довольно часто является второй фразой в предложении, это наблюдение и кодовая комбинация могут помочь взломать используемый код.
Краткое изложение сущности изобретения
Настоящее изобретение, как заявлено в прилагаемой формуле изобретения и раскрыто в примерах вариантов осуществления изобретения, обеспечивает улучшенный способ и устройство для предоставления возможности хранения и извлечения зашифрованных/дешифрованных данных на/из носителей памяти большой емкости в компьютерной системе или подобной системной среде.
Настоящее изобретение обеспечивает способ и устройство, которые могут шифровать и дешифровать данные, расположенные в адресуемых областях на носителях памяти большой емкости, с помощью одного из множества алгоритмов и ключей шифрования/дешифрования, где выбор текущего алгоритма и ключа, используемых в текущем элементе данных в пределах адресуемой области, основан на физических адресах нижнего и верхнего пределов адресов, которые охватывают упомянутую адресуемую область на носителе памяти большой емкости.
Компоновку устройства согласно варианту осуществления настоящего изобретения можно использовать для шифрования/дешифрования электронной почты или других типов электронных сообщений на ходу. Ключ и связанный алгоритм шифрования могут быть системой, которая обеспечивает открытый ключ и секретный ключ. При этом люди, поддерживающие связь с помощью электронной почты, могут устанавливать защищенный канал для сообщений со своими собственными секретными ключами и посредством обмена информацией, в которой сообщение было зашифровано открытым ключом и алгоритмом.
В предпочтительном варианте осуществления настоящего изобретения обеспечены способ и устройство, которые позволяют различным операционным системам быть полностью независимыми и изолированными, даже когда они хранятся на одних и тех же носителях памяти большой емкости, и загружать их в компьютерную систему только когда в устройство введен надлежащий ключ в соответствии с настоящим изобретением для этих условий эксплуатации. В одном варианте осуществления изобретения, пользователь/администратор компьютерной системы будет иметь свой собственный ключ, хранящийся зашифрованным на носителе ключей, который передает ключ устройству шифрования/дешифрования по защищенному каналу. Эта компоновка позволяет пользователю/администратору обращаться к собственным файлам данных и разрешенным условиям эксплуатации. Когда такой ключ удален из устройства, выполняемое возможное действие, согласно предпочтительному варианту осуществления изобретения, может быть одним из следующих: завершение работы компьютера, просто останавливая выполнение программ в компьютере, останавливая выполнение программ после прохождения предварительно определенного периода времени или просто оставляя компьютер работающим, пока компьютерная система не перезагрузится. Здесь, ключ может потребоваться, когда загрузка запускается снова. Способ и устройство согласно этому конкретному варианту осуществления изобретения обеспечивают существенное улучшение безопасности данных в серверной системе компьютера по сравнению с известным уровнем техники.
Аспект настоящего изобретения заключается в обеспечении безопасного и свободного от тайного действия способа и устройства для обеспечения ключа для выполнения алгоритма шифрования/дешифрования в варианте осуществления изобретения.
Фиг.1 изображает схематический вид примера варианта осуществления настоящего изобретения.
Фиг.2 изображает схематический вид защищенного канала, передающего в устройство ключ шифрования/дешифрования от интеллектуальной карты или другого типа носителя ключей в соответствии с настоящим изобретением.
Фиг.3 изображает схематическую разбивку и взаимосвязи функциональных блоков в электронном устройстве в соответствии с предпочтительным вариантом осуществления настоящего изобретения.
Фиг.4 представляет иллюстрацию процесса шифрования согласно примеру варианта осуществления настоящего изобретения.
Фиг.5 представляет иллюстрацию процесса шифрования согласно примеру варианта осуществления настоящего изобретения.
Фиг.6 представляет иллюстрацию предпочтительного варианта осуществления процесса шифрования в соответствии с настоящим изобретением.
Фиг.7 изображает схематический вид системы компаратора согласно варианту осуществления изобретения, изображенному на фиг.3.
Фиг.8 изображает систему в соответствии с настоящим изобретением, где головная запись загрузки системы дисков является заменяемой.
Запоминающее устройство большой емкости связано с компьютерной системой магистральной шиной памяти большой емкости (типа кабеля, медного кабеля или волоконно-оптического кабеля и т.д.), которая обеспечивает передачу данных, управляющих кодов и кодов состояния между запоминающим устройством большой емкости и компьютерной системой.
Есть несколько типов таких магистральных систем и протоколов, используемых для этой цели. Примерами являются ИМВС (интерфейс малых вычислительных систем)(SCSI), ВИН (встроенный интерфейс накопителя) (интерфейс IDE), ПТ (продвинутая технология)(AT), УТП (усовершенствованная технология подсоединения)(ATA), УПШ (универсальная последовательная шина)(USB), FireWire (высокоскоростная локальная шина), волоконно-оптический канал и другие. Эти типы шин специалистам в данной области техники известны.
Настоящее изобретение может использовать один или больше из этих шинных протоколов.
На фиг.1 показано электронное устройство 13 в соответствии с вариантом осуществления изобретения. Запоминающее устройство большой емкости осуществляет связь с компьютером через устройство 13, которое обеспечивает первый конец 12, связанный с компьютером 10 через сегмент 11 шины, и второй конец 14, связанный с шинным запоминающим устройством 16 большой емкости через сегмент 15 шины. В сегменте 15 шины обычно используется стандартный шинный протокол памяти большой емкости, как известно специалистам в данной области техники. В сегменте 11 шины может использоваться тот же протокол, что и в сегменте 15, но может использоваться другой протокол, например последовательная шина, в то время как сегмент 15 представляет собой параллельную шину. Во всяком случае устройство 13 принимает данные или передает данные к обоим концам и с обоих концов, связывающих компьютерную систему 10 с запоминающим устройством 16 большой емкости. Данные, посылаемые от компьютерной системы 10 через сегмент 11, шифруются на ходу в устройстве 13, в то время как данные, посылаемые из запоминающего устройства 16 большой емкости через сегмент 15 в компьютерную систему 10, дешифруются на ходу в том же устройстве 13. В варианте осуществления настоящего изобретения, где сегмент 11 и сегмент 15 используют различные шинные протоколы, устройство 13 также служит в качестве преобразователя между двумя протоколами, в то же время одновременно обеспечивая на ходу шифрование/дешифрование данных пользователя.
В соответствии с настоящим изобретением, устройство 13 можно компоновать различными способами. Например, функциональные блоки, как изображено на фиг.3, можно компоновать как неотъемлемую часть контроллера жесткого диска. В этом случае сегмент 11 шины обычно представляет собой шину памяти большой емкости. Сегмент 15 шины обычно является внутренним определением шины, которая подключена прямо к системе накопителя на жестких дисках.
Еще в одном примере варианта осуществления настоящего изобретения, устройство 13 является схемой, разработанной как часть материнской платы компьютерной системы. Как правило, сегмент 11 шины осуществлен в соответствии с внутренним определением шины материнской платы, или он специально приспособлен для обеспечения связи с программируемым устройством ввода/вывода на материнской плате, например, каналом прямого доступа к памяти. Сегмент 15 шины является шиной памяти большой емкости.
Данные, передаваемые между компьютерной системой и запоминающим устройством большой емкости, могут быть разделены на две категории: коды команды/управления и данные пользователя. Коды команды/управления представляют всю информацию относительно команды/управления запоминающего устройства большой емкости, включая коды состояния, коды форматирования и коды, которые определяют организацию данных носителей памяти большой емкости, какую операцию исполнить, которое местоположение использовать на носителях и т.д.
Коды команды/управления считываются через первый конец 12 устройства 13 с сегмента 11 шины и затем записываются устройством 13 на второй стороне 14 на сегмент 15 шины без шифрования или дешифрования (однако, в некоторых случаях там может выполняться перемежение). Контроллер запоминающего устройства большой емкости будет действовать на основании этих команд/управлений согласно спецификациям обработки запоминающего устройства большой емкости. Эта компоновка выборочной идентификации команд/кодов или данных используется, чтобы посылать расширенные управления/коды, которые воздействуют на устройство 13 для выбора ключей шифрования, алгоритмов и других операционных функций и характеристик внутри устройства 13.
Схема относительно того, как распознавать такие коды команды/управления, обычно определяется в шинном протоколе памяти большой емкости.
Однако, в некоторых шинных протоколах памяти большой емкости нет возможности расширять коды команды/управления, чтобы достичь действий в устройстве 13. В другом примере варианта осуществления настоящего изобретения возможно "заимствовать" некоторые блоки данных на неиспользуемой области на носителе памяти большой емкости, обычно области за пределом запоминающего устройства (скрытая область). Устройство 13 может использовать такую область, как окно связи с компьютером, и она может использоваться таким же образом, как известно специалистам в данной области техники, как в случае, когда коды команды/управления расширены. Компьютерная система и устройство 13 могут считывать и записывать сообщения (команды, инструкции, данные и т.д.) друг для друга через это окно.
Рассмотрим теперь фиг.3, на которой данные пользователя представляют собой данные, подлежащие хранению на носителе памяти большой емкости. Шифрование и дешифрование выполняются при посылке данных пользователя в качестве входных данных в хорошо описанные в документах алгоритмы шифрования типа СШД (стандарта шифрования данных)(DES), УСШ (усовершенствованного стандарта шифрования)(AES) и т.д. Устройство 13 шифрования/дешифрования, в соответствии с настоящим изобретением, имеет внутреннюю шину 32 шифратора, которая подключает различные секции 41a, 41b, 41n оборудования в устройстве 13, каждая из которых выполняет конкретные алгоритмы, подключенные к потоку ввода данных пользователя, проходящему к первому концу 12 и второму концу 14 и от них через внутренние шины внутри устройства 13 и под контролем управляющей части 30 устройства. Специалистам в данной области техники должно быть понятно, что 41a, 41b, 41n могут воплощать любой из известных алгоритмов, например, в постоянно замонтированной компоновке процессора для каждого алгоритма с учетом максимального быстродействия, но также могут быть воплощены и специально разработанные решения для конкретных потребностей типа военного использования, каналов спутниковой связи и т.д. (например, алгоритмы скремблирования).
Еще в одном варианте осуществления изобретения, алгоритмы могут быть выполнены в компоновке микроконтроллера, где действие выбора конкретного алгоритма выполняется посредством загрузки различного содержимого указателя команд в микроконтроллере. Каждое из упомянутого содержимого указателя команд соответствует начальному адресу каждого алгоритма, хранящегося в общей памяти для хранения программ. Памятью для хранения программ может быть, например, постоянная энергонезависимая память или оперативное запоминающее устройство, инициализируемое в момент включения электропитания от компьютерной системы 10. Таким образом, пересылки также могут шифроваться и/или подвергаться жестким процедурам проверки полномочий, как известно специалистам в данной области техники.
Крупные запоминающие устройства большой емкости должны организовывать данные так, чтобы ими могла управлять компьютерная система, и обеспечивать функциональную файловую систему для пользователя или прикладной программы. Основное форматирование представляет собой деление носителей на блоки/сектора. В общем, необходимо иметь адресуемые области с подадресуемыми модулями внутри области на носителе памяти большой емкости, чтобы составить (основать) функциональные решения памяти большой емкости типа файловых систем. Адресуемая область на носителе памяти большой емкости обычно является последовательной физически адресуемой областью носителя, ограниченной нижним и верхним адресами, определяющими протяженность адресуемой области. Системы памяти большой емкости обычно упорядочиваются в иерархии логических уровней, определяющих различные типы, например, областей и систем памяти. Примером являются определения дисковых систем ИМНД (избыточный массив независимых дисков). Адрес такой области обычно упоминается как логический адрес. В настоящем изобретении все ссылки будут относиться к самому нижнему уровню адреса - физическому адресу на носителе. Варианты осуществления настоящего изобретения можно использовать со всеми видами уровней и систем логической памяти на высоком уровне среды передачи сигнала.
Согласно предпочтительному варианту осуществления настоящего изобретения, такие адресуемые области (блоки/сектора) могут быть индивидуально зашифрованы с помощью своего собственного ключа и/или алгоритма шифрования. Блок 40 в устройстве 13 принимает адрес области типа номера блока/сектора и выбирает один из алгоритмов, подлежащих выполнению в секциях 4la, 41b,.., 41n на базе сравнения этого номера с адресом (подадресом в пределах области), связанным с элементом данных, подлежащим сохранению или считыванию из запоминающего устройства 16 большой емкости. Фиг.7 иллюстрирует блок компаратора 40. Начальный адрес и конечный адрес блока данных (пределы адресуемой области на носителе) хранятся в компараторе 40 как "блок запуска" и "блок останова" соответственно. Когда получен адрес элемента данных пользователя (подадрес в пределах области), адрес элемента данных пользователя сравнивается с вышеупомянутыми адресами "блока запуска" и "блока останова". Если адрес элемента данных пользователя больше или равен адресу "блока запуска", и адрес элемента данных пользователя меньше или равен адресу "блока останова", булева операция и в компараторе 40 определяет это состояние и посылает сигнал "является моим" в одну из секций алгоритма 41a, 41b,..., 41n, так что этот конкретный сигнал "является моим" связывается с предоставлением алгоритма, когда он истинный. В противном случае сигнал является ложным, запрещающим выполнение вышеупомянутого алгоритма.
В варианте осуществления изобретения, все постоянно замонтированные секции 41a, 41b,..., 41n алгоритмов процессора содержат область памяти с таким же количеством ячеек памяти, какое имеется в секциях алгоритмов. Тогда выполняется связывание сигнала "является моим" с конкретной секцией алгоритма с помощью введения логической 1 в ячейке с адресом, равным номеру секции алгоритма, в противном случае нуль. Объединяя каждый сигнал "является моим" от каждого компаратора со всеми ячейками с адресом, соответствующим номеру сигнала "является моим", получают выбор алгоритма, являющийся взаимозаменяемо программируемым.
В варианте осуществления секций алгоритмов с помощью микроконтроллера можно, связывая надлежащее содержимое указателя команд со связанным сигналом "является моим", выполнять выбор и взаимозаменяемое программирование.
Компоновка сравнения в блоке компаратора 40 повторяется n раз, по одному разу для каждой из n секций, выполняющих алгоритм.
Фиг.4 иллюстрирует пример шифрования элементов данных (блоков/секторов или адресуемых областей), где данные являются различными, но используется один и тот же ключ.
Фиг.5 иллюстрирует такую же схему шифрования, как на фиг.4, но в этом примере два из элементов данных являются теми же, и используется один и тот же ключ. Поэтому зашифрованные элементы данных будут составлять такую же кодовую комбинацию, которая может представлять риск для защиты.
В предпочтительном варианте осуществления настоящего изобретения, информация о номере блока/сектора в коде команды/управления или информация об адресуемой области, даваемая в команде для этой конкретной адресуемой области, используется для выбора ключа, вместе с произвольно сгенерированным номером, уникальным для этого блока/сектора/адресуемой области (комбинация номера блока/сектора/адресуемой области и случайной сгенерированной таблицы, где комбинация может быть составлена, как сцепление, если ключ представляет собой символы, например добавление или вычитание и т.д., если ключ представляет собой номер и т.д.). Эта схема иллюстрируется на фиг.6.
Произвольно сгенерированный номер используется для предотвращения ситуации, когда два идентичных блока данных (или последовательности данных) будут зашифрованы идентично, как показано на фиг.5. Случайные номера генерируются и сохраняются в таблице внутри устройства 13, адресуемого номером блока/сектора/адресуемой области. В варианте осуществления настоящего изобретения может быть множество таблиц, которые адресуются в два этапа, сначала сигналом выбора "является моим", генерируемым в компараторе 40, а на втором этапе номером блока/сектора/адресуемой области. Эта компоновка обеспечивает то же самое случайное число для того же самого номера блока/сектора/адресуемой области, таким образом обеспечивая надлежащее шифрование/дешифрование одних и тех же элементов данных, в то же самое время обеспечивая полностью случайные кодовые комбинации в зашифрованном потоке данных, даже если появляются такие же элементы данных, и используются такие же ключи, как показано на фиг.6. Содержимое таблицы может быть сгенерировано внутри, в устройстве 13 в микроконтроллере 51.
Обращаясь теперь к фиг.3, отметим, что для записи блока данных (последовательности данных) на диск, компьютер должен сообщить контроллеру диска через номер блока/сектора, где записать данные. Устройство шифрования/дешифрования принимает команду с номером блока/сектора/адресуемой области через конец 12 устройства 13. Интерпретирующая протокол часть 30 устройства 13 распознает ее, как команду, и посылает ее по своему внутреннему тракту передачи данных к концу 14 устройства 13. Часть 30 протокола также сохраняет эту информацию и передает ее в компараторы 40 внутри устройства 13, как описано выше (адреса "блока запуска" и "блока останова", адрес элемента данных пользователя и т.д.).
Когда компьютер посылает команду записи, часть 30 протокола посылает команду записи в конце 14 и устанавливает часть 30 протокола в состояние готовности выполнять передачи данных. Тогда компьютер запускает посылку данных. Часть 30 протокола собирает данные из конца 12 через сегмент 11 шины, устанавливая размеры их в 32 бита (который является размером внутренней шины 32 шифратора, но не ограничиваясь этим размером), и передавая данные в шину 32 шифратора. Компаратор 40 разблокирует надлежащую секцию алгоритма и связанный ключ и позволяет данным, по шине 32 шифратора, проходить через надлежащую секцию алгоритма 4la, 41b,..., и 41n.
Когда данные считываются из запоминающего устройства 16 большой емкости, компьютер посылает команду считывания, и часть 30 протокола упорядочивает поток данных так, что данные считываются из запоминающего устройства большой емкости в компьютер через надлежащую функцию дешифрования внутри устройства 13 способом, подобным описанному выше.
Когда запускается трафик считывания/записи данных, секция компаратора 40, которая содержит набор компараторов, описывающих адресуемые области на носителях памяти большой емкости, зашифрованные с помощью различных алгоритмов (адреса "блока запуска" и "блока останова"), посылает выходной сигнал "является моим", который соответствует текущему сектору, таким образом выбирая надлежащую секцию алгоритма 41a, 41b,..., 41n и связанный ключ.
Алгоритмы шифрования/дешифрования, 41a, 41b,..., или 41n запускают сбор данных, упорядочивая их к битовому размеру используемого алгоритма. Когда надлежащее количество битов собрано, данные будут посланы через текущую секцию алгоритма 41a, 41b,..., 41n, выбранную компаратором 40. После шифрования/дешифрования данные будут разбиты на битовый размер шины шифратора и посланы с выхода текущего алгоритма 41a, 41b,..., 41n назад по шине 32 шифратора к части 30 протокола, которая разбивает данные до битового размера сегментов 15 или 11 шины и посылает данные либо в компьютер 10 (дешифрование), либо в запоминающее устройство 16 большой емкости (шифрование). Секции шифрования 41a, 41b,..., 41n также получают информацию от компаратора, когда запускается новый блок данных, чтобы получить возможность использовать ЦЦБ (цепочку цифровых блоков)(CBC) или другие функции шифрования для расширения защиты.
Часть 30 протокола выдает также все необходимые сигналы "квитирования установления связи", являющиеся частью сегментов 11 и 15 шины.
Способ и устройство в соответствии с настоящим изобретением не ограничены, как описано, определенным алгоритмом шифрования/дешифрования. Все секции 41a, 41b,..., 41n могут воплощать любой тип алгоритма или скремблирования данных. В предпочтительном варианте осуществления настоящего изобретения каждая секция 41a, 41b,..., 41n имеет "слоты" памяти для ключа, связанного с этим конкретным алгоритмом.
В лучшем варианте осуществления режима изобретения устройство воплощено, как изображено на фиг.1 и фиг.2, где ключи взаимозаменяемым и заменяемым образом размещены в каждой секции 41a, 41b,..., 41n в распределениях памяти, выбранных системой компаратора, изображенной на фиг.7, когда сигнал "является моим" выбирает секцию 41a, 41b,..., 41n, выполняющую текущий алгоритм, выбранный компаратором 40.
Инициализация системы шифрования/дешифрования согласно предпочтительному варианту осуществления изобретения включает в себя обеспечение адреса блока запуска, адреса блока останова, ключа и индикатора того, которая секция алгоритма 41a, 41b,..., 41n должна использоваться для различных блоков/сектора или адресуемой части носителя данных. Фиг.2 изображает систему со считывающим устройством 61а интеллектуальной карты для считывания с интеллектуальной карты 63а (носителя ключей), содержащей адрес блока запуска, адрес блока останова, ключ и индикатор алгоритма. Согласно изобретению, можно использовать другое средство обеспечения этой информации для устройства 13 типа линии связи в инфракрасном диапазоне или канала 62b радиосвязи и т.д.
Когда устройство 13 запускается, внутренний микроконтроллер 51 собирает ключи с носителя 63a ключей. Микроконтроллер посылает ключи в надлежащую секцию шифрования через секцию 42 защиты. Секция защиты предотвращает разрушение ключей, если микроконтроллер 51 запустил выполнение неисправного кода. Микроконтроллер также загружает значения компаратора.
Внутреннее ОЗУ 31 (оперативное запоминающее устройство)(RAM) устроено таким же образом, как адресуемая часть запоминающего устройства большой емкости. То есть, все общие особенности устройства 13 в соответствии с настоящим изобретением могут применяться к содержимому ОЗУ.
Чтобы использовать эти функциональные возможности, можно использовать расширенные коды, как описано выше, для перемещения блока данных в ОЗУ 31 и из него, или в/из компьютерной системы 10 через сегмент 11 шины, или в/из запоминающего устройства 16 большой емкости через сегмент 15 шины. Другой способ доступа к ОЗУ 31 состоит в том, чтобы использовать его как ячейку памяти вне границы диска, и таким образом, для доступа к памяти, как будто это часть дисковой системы, хотя и скрытая. Эти действия управляются в соответствии с частью 30 протокола.
Одно действие, которое ОЗУ 31 может выполнять, заключается в посылке прерывания во внутренний микроконтроллер 51, когда, например, ОЗУ 31 заполнено. Тогда микроконтроллер 51 может считывать данные из ОЗУ 31 и выполнять обработку данных. Микроконтроллер также может выполнять запись в ОЗУ 31. Компьютерная система 10 также может считывать данные из ОЗУ 31. С помощью формирования простого протокола связи компьютер может осуществлять связь с микроконтроллером 51. Такой протокол воплощен в предпочтительном варианте осуществления настоящего изобретения, а также протокол, где микроконтроллер 51 может ретранслировать эту информацию на носитель 63, 65 ключей. В этом случае мы имеем канал связи и с микроконтроллером, и с носителем 63, 65 ключей через компьютерную систему 10, и непосредственно внутри устройства 13. Эти каналы связи используются для загрузки ключей в носитель 63, 65 ключей так же, как загрузки ключей в секции 41a, 41b,..., 41n алгоритмов.
Каким бы ни было воплощение, ОЗУ 31 можно использовать в нескольких полезных применениях. В одном варианте осуществления настоящего изобретения ОЗУ используется для загрузки электронной почты или других типов электронных данных, таких как файлы, сетевой трафик и т.д., в ОЗУ 31, шифрования содержимого ОЗУ в одной из выбранных секций 41a, 41b,..., 41n и затем считывания зашифрованных данных обратно в компьютерную систему 10, где будут выполнены дальнейшие действия с данными. Если длина данных превышает размер ОЗУ 31, протокол связи разобьет данные, а затем организует цикл через различные секции данных по всему процессу, как описано выше, пока все данные не закончатся.
Когда зашифрованная электронная почта или другие типы данных, например, должны быть дешифрованы, пользователь компьютерной системы 10 должен загрузить электронную почту или данные в ОЗУ 31. Тогда устройство 13 выполняет соответствующий алгоритм, и дешифрованная электронная почта переносится обратно в компьютерную систему 10. Ключами для этой операции могут быть системы открытых/секретных ключей, обеспечивающие защищенную систему, где ключи никогда не раскрываются, когда они передаются зашифрованными, согласно изобретению, в устройство 13, как описано в настоящем раскрытии.
Один важный аспект настоящего изобретения заключается в обеспечении защищенного манипулирования ключами шифрования. В предпочтительном варианте осуществления изобретения ключ сначала переносят в микроконтроллер из компьютерной системы 10. Тогда устройство 13 может выполнять выбранное шифрование ключа, и затем микроконтроллер 51 может перемещать и загружать зашифрованный ключ в носитель 63, 65 ключей, например интеллектуальную карту. Таким простым образом способ и устройство согласно настоящему изобретению обеспечивают защищенный канал и передачу зашифрованных ключей шифрования, используемых в системе.
Один важный аспект настоящего изобретения состоит в использовании ключей, зашифрованных на носителях ключей типа интеллектуальных карт. Технология носителей ключей позволяет "скрывать" содержимое данных внутри носителя информации. Эта особенность усиливает защиту ключа. Еще более важный аспект технологии носителей ключей заключается в том, что является возможным позволить носителю ключей самому генерировать случайный ключ шифрования для сеанса связи. При этом весь ключевой процесс продолжится без какого-либо тайного действия человека, благодаря чему еще больше усилится защита ключей.
Носитель 63, 65 ключей, несущий ключи, подсоединяют непосредственно через канал 60 связи к устройству 13. Интерфейсом 61 ключевого устройства может быть, например, специализированное устройство для считывания с интеллектуальных карт. Для других типов носителей ключей это может быть приемопередатчик инфракрасного диапазона, приемопередатчик радиочастотного диапазона или другое аналогичное устройство.
Ключи хранятся во внешних устройствах 65 или 63. Имеются также способы хранения ключевых данных внутри в устройстве 13, в энергонезависимой памяти 52, 53, где пользователь должен использовать процедуры проверки полномочий, чтобы разблокировать эти ключи (это представляет собой процедуру, которую можно выполнять вместе с другими программами защиты).
Настоящее изобретение предохраняет загрузку внешних ключей посредством шифрования данных на/из носителя 63, 65 ключей. В соответствии с настоящим изобретением, после обнаружения носителя 63, 65 ключей устройство 13 посылает открытый ключ в носитель 63, 65 ключей. Тогда носитель 63, 65 ключей шифрует с помощью открытого ключа ключ сеанса связи для устройства 13, затем устройство 13 и носитель 63, 65 ключей могут запустить обмен информацией. Альтернативный путь состоит в том, чтобы использовать схему обмена ключами (например, обмен ключами Диффи-Хеллмана (Diffie-Hellman)) для определения ключей сеанса связи. Ключ сеанса связи шифрует все данные в канале 60 связи. Изобретение посылает сообщения проверки в носитель 63, 65 ключей с целью гарантирования, что носитель 63, 65 ключей и интерфейс 61 ключевого устройства все еще в оперативном режиме. Эти сообщения проверки посылаются через случайные временные интервалы с достаточными данными для того, чтобы убедиться, что интерфейс 61 ключевого устройства и носитель 63, 65 ключей и устройство 13 могут подтверждать подлинность друг друга. Если носитель 63, 65 ключей выявляет неупорядоченность, он прекратит работу. Если устройство 13 выявляет неупорядоченность, оно прекратит работу. Одним исключением для этой схемы является то, что ключи могут иметь параметр времени существования. Этот параметр сообщает устройству 13, в течение какого периода времени ключи должны "жить" в устройстве 13 после удаления ключа. Если ключ удален, в соответствии с настоящим изобретением устройство 13 не будет завершать операцию с ключом до тех пор, пока время существования не достигнет предварительно определенного периода. Все другие обнаруживаемые "тайные действия" с ключом или интерфейсом 61 ключевого устройства заставят устройство 13 завершать операцию со всеми ключами. Завершение операции означает, что ключи обнаруживаемым образом удаляются из устройства 13, и устройство 13 больше не будет получать доступ к защищенной области, определяемой ключом.
Обратимся теперь к фиг.8, где настоящее изобретение также может выполнять функцию перехвата данных; это означает, что оно может маркировать сектор/блок и сохранять содержимое внутри в ОЗУ 31, затем содержимое может быть модифицировано или изменено и после этого послано в систему главного компьютера 10. С помощью этой функции мы можем частично изменять таблицы на дисковой системе, частично заменять таблицы для согласования с набором ключей; например, можно загружать наборами отличающихся ключей систему с различными операционными системами. Один ключевой модуль может запускать операционную систему 1, другой ключевой модуль может запускать операционную систему 2, где операционные системы 1 и 2 изолированы друг от друга на накопителе на жестких дисках.
Это является полезной функцией в компьютерах домашнего офиса и других компьютерах, где больше чем один пользователь нуждаются в монопольном доступе и защите данных.
Как показано на фиг.8, устройство 16 на жестких дисках может быть разбито на несколько независимых изолированных областей хранения. Когда система выполняет начальную загрузку, сначала компьютерная система загружается ГЗЗ (головной записью загрузки)(MBR), которая содержит необходимую информацию. Содержимое ГЗЗ сообщает компьютерной системе, где и как загрузить операционную систему из накопителя на жестких дисках. ГЗЗ для различных операционных систем на одном и том же накопителе на жестких дисках может храниться вместе с ключом шифрования, например, на интеллектуальной карте, в соответствии с вариантом осуществления изобретения. Как описано выше, ГЗЗ на интеллектуальной карте можно загружать в ОЗУ 31, дешифровать и затем использовать, как ГЗЗ накопителя 16 на жестких дисках, связанного с устройством 13.
Настоящее изобретение обеспечивает также 2-этапный способ выполнения начальной загрузки компьютерной системы. Во-первых, посылает сегмент кода программы (хранящийся в устройстве 13 в энергонезависимой памяти 52, или в носителе ключей типа интеллектуальной карты) в систему главного компьютера 10, который дает пользователю/администратору способ проверки подлинности. Во-вторых, после успешного проведения проверки подлинности с накопителя на жестких дисках в компьютер загружает головной сектор загрузки.
Настоящее изобретение усиливает защиту запоминающего устройства большой емкости посредством обеспечения способа и устройства для шифрования/дешифрования данных, хранящихся на адресуемых участках носителя памяти большой емкости, с помощью различных алгоритмов и ключей шифрования/дешифрования.
Один аспект настоящего изобретения заключается в обеспечении одного ключа и одного алгоритма для конкретного адресуемого участка носителей данных.
Еще один аспект настоящего изобретения заключается в обеспечении усиленной защиты при шифровании такого адресуемого участка носителей данных с помощью этого конкретного ключа и алгоритма посредством обеспечения случайного номера вместе с ключом для рандомизации кодовых комбинаций, представленных на носителе после шифрования, даже если последовательные записи данных подобны и зашифрованы с помощью одного и того же ключа и алгоритма. Случайные номера хранятся в таблице, позволяющей восстанавливать конкретный случайный номер, используемый при дешифровании данных, зашифрованных с помощью этого случайного номера, выбранного посредством информации относительно номера блока/сектора или адреса адресуемой части носителя.
Настоящее изобретение обеспечивает также систему для гарантирования загрузки конкретной операционной системы и условий эксплуатации с накопителя на жестких дисках в компьютерную систему, которая также обеспечивает строгую физическую и логическую изоляцию между файлами данных для различных операционных систем и пользователей компьютерной системы. Настоящее изобретение обеспечивает способ шифрования/дешифрования и устройство, которые предотвращают доступ к данным на жестких дисках сервера, когда, например, дисковая система на сервере захвачена или удалена и перенесена в другую компьютерную систему.
Еще один аспект настоящего изобретения заключается в обеспечении зашифрованного канала связи для переноса ключей между носителями информации для ключей и устройством в соответствии с настоящим изобретением.
Изобретение касается способа и устройства, осуществляющих шифрование/дешифрование данных при записи или считывании из запоминающего устройства. Сущность изобретения состоит в обеспечении множества различных алгоритмов шифрования/дешифрования со взаимодействующими ключами, причем выбирают и используют один из множества различных алгоритмов шифрования/дешифрования со взаимодействующими ключами в элементе данных, подлежащих перенесению в адрес на носителе памяти или из него, причем при выборе алгоритма и взаимодействующего ключа используют, по меньшей мере, два физических адреса, определяющих верхний и нижний предел адресов адресуемой области, включающий адрес элемента данных на носителе. Технический результат, достигаемый при осуществлении изобретения, состоит в повышении защиты запоминающего устройства путем шифрования/дешифрования данных, хранящихся на адресуемых участках носителя памяти большой емкости, с помощью различных алгоритмов и ключей шифрования/дешифрования. 2 н. и 34 з.п. ф-лы, 8 ил.
обеспечения множества алгоритмов шифрования/дешифрования со взаимодействующими ключами шифрования/дешифрования;
выбора одного и использование этого одного из упомянутого множества алгоритмов шифрования/дешифрования со взаимодействующим ключом в элементе данных, подлежащих перенесению в адрес на носителе памяти или из него, при этом при выборе алгоритма и взаимодействующего ключа используют по меньшей мере два физических адреса, определяющих верхний и нижний пределы адресов протяженности адресуемой области, включающей адрес элемента данных на носителе.
обеспечения списка совокупности адресуемых областей посредством перечисления нижних и верхних пределов адресов попарно в этом списке,
обеспечения соединения таким образом, что один ввод данных в совокупности адресуемых связывается только с одним из упомянутых алгоритмов, не исключая возможности того, что один из алгоритмов может быть связан с множеством адресуемых областей в том смысле, что один алгоритм может использоваться в более чем одной адресуемой области носителя памяти,
использования адреса элемента данных, сравнивая его со всеми верхними и нижними пределами адресов в упомянутой совокупности адресуемых областей, таким образом выявляя пару нижнего и верхнего пределов адресов, которая заключает адрес элемента данных, и
выдачи сигнала или сообщения, содержащего информацию относительно заключения адреса элемента данных, таким образом идентифицируя надлежащий один из алгоритмов шифрования/дешифрования посредством использования соединения алгоритмов и адресуемых областей.
головную запись загрузки системы жестких дисков, зашифрованной с помощью одного из множества алгоритмов шифрования/дешифрования со связанным ключом на носителе ключей,
считывание содержимого интеллектуальной карты, таким образом допуская дешифрование головной записи загрузки в идентифицируемом алгоритме дешифрования со связанным ключом,
пересылку дешифрованного содержимого головной записи загрузки в компьютерную систему, связанную с системой накопителя на жестких дисках, таким образом допуская выполнение начальной загрузки операционной системы компьютера, и/или некоторой части файловой системы, и/или системного/пользовательского окружения, и/или другого типа разбиения, и/или информации, хранящейся зашифрованной в системе накопителя на жестких дисках, в компьютерную систему.
множество секций (41а, 41b, ..., 41n) электрических схем электронного шифрования/дешифрования, содержащих соединенное пространством памяти для взаимодействующих ключей шифрования/дешифрования,
электрические схемы компаратора (40), разбитые на множество секций, содержащие в каждой секции две доступные для записи/доступные для считывания ячейки (100, 101) памяти, два электронных модуля (102, 103) компаратора и логический элемент И (104), связанные так, что ячейка (100) памяти сравнивается с содержимым адресного элемента (105) в модуле (102) компаратора для определения, превышает ли адресный элемент (105) ячейку (100) памяти или равен ей, и в то же самое время сравнивая адресный элемент (105) с содержимым ячейки (101) памяти в модуле (103) компаратора для определения, является ли адресный элемент (105) меньше содержимого ячейки (101) памяти или равен ему, посредством чего выходной сигнал логического элемента (104) производит разрешающий сигнал в каждом разбиении компаратора (40), при этом каждый разрешающий сигнал подается на одну из множества секций (41а, 41b, ..., 41n) электрических схем электронного шифрования/дешифрования.
СПОСОБ КОМПЛЕКСНОЙ ЗАЩИТЫ ПРОЦЕССА ОБРАБОТКИ ИНФОРМАЦИИ В ЭВМ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА, ПРОГРАММНЫХ ЗАКЛАДОК И ВИРУСОВ | 1998 |
|
RU2137185C1 |
RU 96120771 A, 10.01.1999 | |||
US 5659614 A, 19.08.1997 | |||
Прибор, замыкающий сигнальную цепь при повышении температуры | 1918 |
|
SU99A1 |
US 5724426 A, 03.03.1998 | |||
СПОСОБ ПОЛУЧЕНИЯ ДИХЛОРЭТАНА | 2004 |
|
RU2264374C1 |
Устройство для защиты памяти | 1987 |
|
SU1513458A1 |
Авторы
Даты
2007-05-10—Публикация
2002-09-25—Подача