СПОСОБ ПРОВЕРКИ ЦЕЛОСТНОСТИ ШИФРОВАЛЬНОГО КЛЮЧА, ПОЛУЧЕННОГО ПРИ ПОМОЩИ КОМБИНАЦИИ ЧАСТЕЙ КЛЮЧА
METHOD TO VERIFY INTEGRITY OF CODING KEY, PRODUCED BY MEANS OF COMBINATION OF KEY PARTS

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу проверки целостности шифровального ключа, полученного при помощи комбинации частей ключа и используемого в связи с симметричным алгоритмом шифрования.
Уровень техники
Известно, что алгоритм шифрования работает при помощи ключа, который является основным элементом обеспечения безопасности шифрования.
Известны различные средства, используемые с целью несанкционированного получения ключа, связанного с алгоритмом шифрования. Одно из этих средств состоит в анализе электрических или электромагнитных явлений, происходящих во время перехода ключа из постоянного запоминающего устройства, где он хранится, в оперативное запоминающее устройство или из оперативного запоминающего устройства в регистр. Чтобы противостоять этому варианту несанкционированного использования, как известно, ключ делят на несколько частей, как правило, на две части, которые комбинируют при помощи оператора, например, коммутативного оператора «исключающее ИЛИ» в защищенной от считывания зоне, в которой применяют алгоритм.
Другим способом воспроизведения ключа является создание возмущений на ключе и анализ последствий на шифрование от воздействия данной, которую многократно используют, создавая последовательные возмущения шифровального ключа. Чтобы помешать взломщику создавать последовательные возмущения ключа, желательно проверять целостность ключа во время применения алгоритма шифрования. Однако комбинирование частей ключа в защищенной зоне, не доступной для считывания, не позволяет повторно считать ключ, чтобы проверить его целостность.
Объект изобретения
Настоящее изобретение призвано предложить способ, позволяющий проверять целостность шифровального ключа, полученного при помощи комбинации нескольких частей ключа в защищенной зоне с использованием коммутативного оператора, связанного с симметричным алгоритмом шифрования.
Сущность изобретения
Для решения этой задачи изобретением предлагается способ, содержащий этапы, на которых при помощи коммутативного оператора осуществляют первую комбинацию между частью ключа и проверочным шифровальным ключом, при помощи коммутативного оператора последовательно осуществляют комбинацию между еще не комбинированной частью ключа и результатом предыдущей комбинации до последней комбинации, содержащей все части ключа, в защищенной зоне осуществляют комбинацию между проверяемым шифровальным ключом и последней комбинацией проверочного шифровального ключа с частями ключа для получения конечного проверочного ключа, осуществляют шифрование проверочной данной при помощи симметричного алгоритма шифрования, используя конечный проверочный ключ, и сравнивают с проверочным шифрованием, полученным путем прямого шифрования проверочной данной при помощи проверочного шифровального ключа.
Таким образом, если проверяемый ключ не претерпел возмущений, конечный проверочный ключ является эквивалентным проверочному шифровальному ключу и шифрование проверочной данной в этом случае идентично проверочному шифрованию. В противном случае, если проверочный ключ претерпел возмущения, конечный проверочный ключ не будет эквивалентным проверочному шифровальному ключу, и между шифрованием проверочной данной и проверочным шифрованием обнаруживается разница. В этом случае можно предпринять соответствующие меры, например заблокировать алгоритм шифрования, чтобы помешать взломщику продолжать серию тестов, позволяющих ему воспроизвести шифровальный ключ.
Предпочтительно, по меньшей мере, одну из комбинаций, предшествующих последней комбинации между частями ключа и проверочным шифровальным ключом, осуществляют за пределами защищенной зоны. Таким образом, сводят к минимуму средства, которые необходимо применять в защищенной зоне.
Краткое описание чертежа
Другие отличительные признаки и преимущества настоящего изобретения будут более очевидны из нижеследующего описания не ограничительного предпочтительного варианта выполнения со ссылками на прилагаемый чертеж, на котором схематично представлен способ в соответствии с настоящим изобретением.
Подробное описание изобретения
Представленный на чертеже способ в соответствии с настоящим изобретением применяют, используя известные средства, содержащие статическое запоминающее устройство 1, такое как ЭППЗУ, оперативное запоминающее устройство 2 и регистр 3, образующий защищенную от считывания зону и конфигурированный для применения симметричного алгоритма шифрования (DES, TDES, AES…) с использованием шифровального ключа К. Как известно, шифровальный ключ К получают при помощи комбинации двух частей ключа КМ и М, используя коммутативный оператор, такой как «исключающее ИЛИ», который в приведенных ниже уравнениях будет обозначаться (+).
Для этого значения ключа КМ и М копируют из статического запоминающего устройства в оперативное запоминающее устройство, затем переносят в защищенную зону 3, в которой их комбинируют согласно уравнению К=КМ(+)М. Следует напомнить, что ключ К не может быть считан в защищенной зоне 3.
Согласно изобретению статическое запоминающее устройство 1 содержит также проверочный шифровальный ключ Kv, проверочную данную Dv и проверочное шифрование Cv, при этом проверочное шифрование Cv получают путем прямого шифрования проверочной данной алгоритмом шифрования с использованием проверочного шифровального ключа. Таким образом, используя алгоритм DES, получают Cv=DES(Kv, Dv).
Для создания возмущения ключа К взломщик может воздействовать на части ключа КМ и/или М, когда они находятся в статическом запоминающем устройстве или в оперативном запоминающем устройстве.
Чтобы проверить целостность шифровального ключа К, содержащегося в регистре 3, способ в соответствии с настоящим изобретением предусматривает следующие этапы:
- в оперативном запоминающем устройстве 3 осуществляют комбинацию между проверочным шифровальным ключом Kv и первой частью ключа КМ. Таким образом, получают:
Т=КМ(+)Kv
- осуществляют вторую комбинацию между ранее полученным результатом комбинации и второй частью ключа М. В описанном варианте осуществления, таким образом, получают последнюю комбинацию Mv, выраженную уравнением:
Mv=Т(+)М
- проверочную комбинацию комбинируют в защищенной зоне 3 с шифровальным ключом К для получения конечного проверочного ключа Kf, выраженного уравнением:
Kf=K(+)Mv
- осуществляют шифрование проверочной данной Dv при помощи симметричного алгоритма шифрования DES, используя конечный проверочный ключ Kf, для получения проверочного шифрования данной CDv, такого как CDv=DES (Kf, Dv),
- полученное проверочное шифрование данных CDv сравнивают с проверочным шифрованием Cv, извлеченным из статического запоминающего устройства 1.
Следует отметить, что если развернуть формулу конечного проверочного ключа, то получают:
Kf=K(+)KM(+)Kv(+)M
то есть, учитывая коммутативность оператора «исключающее ИЛИ»:
Kf=К(+)КМ(+)М(+)Kv
Если исходные данные не подверглись взлому, имеем:
КМ(+)М=К
и выражение Kf становится:
Kf=K(+)K(+)Kv=Kv
Если, наоборот, одна из данных претерпела возмущение, идентичность между К и КМ(+) нарушается, и в этом случае конечный проверочный ключ Kf отличается от проверочного шифровального ключа Kv. Шифрование проверочной данной Dv конечным проверочным ключом Kf дает в этом случае результат CDv, отличающийся от проверочного шифрования Cv.
Таким образом, сравнение CDv и Cv позволяет обнаружить взлом и предпринять защитное действие, например блокировку алгоритма.
Следует отметить, что способ в соответствии с настоящим изобретением позволяет не только проверить целостность шифровального ключа К, но также проверить, осуществлялся ли взлом проверочного шифровального ключа Kv, проверочной данной Dv или проверочного шифрования Cv.
Хотя обнаружение взлома данных и не является первостепенной целью настоящего изобретения, оно все же позволяет предпринять соответствующие меры, чтобы избежать последующего взлома данных, связанных с частями ключа КМ или М.
Разумеется, изобретение не ограничивается описанным вариантом осуществления, и можно предусматривать версии его выполнения, не выходя при этом за рамки изобретения, определенные формулой изобретения.
В частности, несмотря на то что изобретение было описано для ключа, состоящего только из двух частей, способ в соответствии с настоящим изобретением можно применять для ключа, комбинированного из любого числа частей ключа с использованием коммутативного оператора и симметричного алгоритма шифрования.
Этапы комбинирования частей шифровального ключа КМ и М с проверочным ключом Kv были предусмотрены для осуществления в оперативном запоминающем устройстве 2, однако их можно также осуществлять в защищенной зоне 3, но в этом случае будут бесполезно заняты вычислительные ресурсы защищенной зоны 3.