Код документа: RU2004106183A
1. Способ генерации сильнозащищенных идентификационных данных аппаратных средств (SHWID) для первой компьютерной системы, имеющей первую аппаратную конфигурацию, причем способ содержит этапы, на которых:
идентифицируют каждый класс компонентов в пределах первой аппаратной конфигурации, причем количество классов компонентов равно n,
определяют произведение cp класса для каждого класса компонентов,
определяют неполный секрет Pp для каждого класса компонентов, и
суммируют произведение cp класса и неполный секрет Pp для каждого класса компонентов для формирования n сильнозащищенных идентификаторов классов,
причем n сильнозащищенных идентификаторов классов в комбинации формируют сильнозащищенные идентификационные данные аппаратных средств (SHWID) первой компьютерной системы.
2. Способ по п.1, в котором n - целое число до приблизительно 16.
3. Способ по п.1, в котором произведение cp класса для каждого класса компонентов определяют с помощью следующих этапов, на которых:
выбирают определенное количество n классов компонентов,
идентифицируют эти n классов компонентов,
идентифицируют все экземпляры в пределах каждого класса компонентов,
назначают идентифицирующую строку для каждого экземпляра компонента,
генерируют простое число pp,q экземпляра для каждого экземпляра компонента, причем каждое простое число экземпляра - положительное простое число, и p представляет номер заданного класса компонентов в пределах от 1 до n, и q представляет q-й тип компонента в пределах первой аппаратной конфигурации, и
перемножают простые числа экземпляров в пределах каждого класса компонентов для формирования произведения cp класса для каждого класса компонентов.
4. Способ по п.3, в котором этап генерации простых чисел экземпляров содержит ввод идентифицирующей строки для каждого экземпляра компонента в функцию f(x) генерации простых чисел, где x - идентифицирующая строка, имеющая длину до приблизительно 65 000 символов.
5. Способ по п.4, в котором f(x) генерирует положительное простое число, имеющее значение, большее, чем 2t, где t - целое число в пределах от приблизительно 32 до приблизительно 2048.
6. Способ по п.1, в котором неполный секрет Pp для каждого класса компонентов определяют с помощью следующих этапов, на которых:
генерируют случайное число rp для каждого класса компонентов,
генерируют простое число pр класса для каждого класса компонентов, причем каждое простое число класса - положительное простое число,
выбирают требуемое количество m совпадений классов компонентов, причем m меньше или равно n,
определяют N, где N равно произведению m наименьших простых чисел pp классов,
определяют M, где M равно произведению (m-1) наибольших простых чисел pр классов, и М меньше N,
выбирают секретное число S, причем M
определяют остаток dp класса для каждого класса компонентов, причем dp равен [S (mod pp)],
формируют первое двоичное значение для каждого класса компонентов, причем первое двоичное значение - это простое число pр класса для каждого класса, закодированное в первое двоичное число, имеющее до u битов, где u меньше t, и как u, так и t - меньше приблизительно 2048,
формируют второе двоичное значение для каждого класса компонентов, причем второе двоичное значение - это остаток dp класса для каждого класса, закодированный во второе двоичное число, имеющее до v битов, где v меньше t, и (u+v=t), и
соединяют первое двоичное значение и второе двоичное значение для формирования неполного секрета Pp для каждого класса компонентов, имеющего общее количество битов, равное t.
7. Способ по п.6, в котором каждое случайное число rp генерируют с использованием генератора случайных чисел, и оно имеет значение в пределах от 0 до меньше, чем 2u.
8. Способ по п.6, в котором этап генерации простых чисел pp классов для каждого класса компонентов содержит ввод случайного числа для каждого класса компонентов в функцию g(x) генерации простых чисел, где x - случайное число, имеющее длину до приблизительно 65 000 символов.
9. Способ по п.8, в котором g(x) генерирует положительное простое число, имеющее значение в пределах от больше, чем 2 до меньше, чем 2V.
10. Способ по п.1, в котором упомянутый способ инициируют во время этапа загрузки программного продукта на первой компьютерной системе.
11. Способ определения того, может ли программный продукт использоваться на второй компьютерной системе, имеющей вторую аппаратную конфигурацию, причем вторая компьютерная система идентична или отличается от первой компьютерной системы, при этом способ содержит этапы, на которых:
идентифицируют n классов компонентов, использовавшихся для определения сильнозащищенных идентификационных данных аппаратных средств (SHWID), сгенерированных способом по п.1,
идентифицируют все экземпляры в пределах каждого класса компонентов второй аппаратной конфигурации,
воссоздают идентифицирующую строку, которая представляет каждый отдельный экземпляр компонента,
генерируют простое число ip,q экземпляра для каждого экземпляра компонента, причем каждое простое число экземпляра - положительное простое число, и p представляет номер заданного класса компонентов в пределах от 1 до n, и q представляет q-й тип компонента в пределах первой аппаратной конфигурации или второй аппаратной конфигурации,
воссоздают возможные неполные секреты Pp,q классов, причем:
Pp,q=[cp (mod ip,q)]
извлекают возможные простые числа pp,q классов и возможные остатки dp,q классов из возможных неполных секретов Pp,q классов,
решают набор отношений сравнимости по модулю, полученных с помощью перестановки возможных простых чисел классов и возможных остатков классов, для генерации возможного секрета, и
проверяют возможный секрет, декодируя заданный зашифрованный текст и проверяя результат проверки по отношению к соответствующему известному открытому тексту,
причем:
если результирующий открытый текст соответствует известному открытому тексту, то загружают программный продукт на второй компьютерной системе, и
если результирующий открытый текст не соответствует известному открытому тексту, то препятствуют загрузке программного продукта на второй компьютерной системе.
12. Способ по п.11, в котором этап генерации простых чисел экземпляров содержит ввод идентифицирующей строки, которая представляет каждый отдельный экземпляр компонента, в функцию f(x) генерации простых чисел, где x - идентифицирующая строка, имеющая длину до приблизительно 65 000 символов.
13. Способ по п.12, в котором f(x) генерирует положительное простое число, имеющее значение большее 2t, где t - целое число в пределах от приблизительно 32 до приблизительно 2048.
14. Вычислительная система, содержащая по меньшей мере один модуль приложения, пригодный для использования в этой вычислительной системе, причем упомянутый по меньшей мере один модуль приложения содержит код приложения для выполнения способа по п.1.
15. Машиночитаемый носитель, хранящий машиноисполняемые команды для выполнения способа по п.1.
16. Машиночитаемый носитель, хранящий машиноисполняемые команды для выполнения способа генерации сильнозащищенных идентификационных данных аппаратных средств (SHWID) для первой компьютерной системы, имеющей первую аппаратную конфигурацию, при этом способ содержит этапы, на которых:
идентифицируют каждый класс компонентов в пределах первой аппаратной конфигурации, причем количество классов компонентов равно n,
определяют произведение cp класса для каждого класса компонентов,
определяют неполный секрет Pp для каждого класса компонентов, и
суммируют произведение cp класса и неполный секрет Pp для каждого класса компонентов для формирования n сильнозащищенных идентификаторов классов,
причем n сильнозащищенных идентификаторов классов в комбинации формируют сильнозащищенные идентификационные данные аппаратных средств (SHWID) первой компьютерной системы.
17. Машиночитаемый носитель по п.16, в котором n - целое число до приблизительно 16.
18. Машиночитаемый носитель по п.16, в котором произведение cp класса для каждого класса компонентов определяют с помощью следующих этапов, на которых:
выбирают определенное количество n классов компонентов,
идентифицируют эти n классов компонентов,
идентифицируют все экземпляры в пределах каждого класса компонентов,
назначают идентифицирующую строку для каждого экземпляра компонента,
генерируют простое число pp, q экземпляра для каждого экземпляра компонента, причем каждое простое число экземпляра - положительное простое число, и p представляет номер заданного класса компонентов в пределах от 1 до n, и q представляет q-й тип компонента в пределах первой аппаратной конфигурации, и
перемножают простые числа экземпляров в пределах каждого класса компонентов для формирования произведения cp класса для каждого класса компонентов.
19. Машиночитаемый носитель по п.18, в котором этап генерации простых чисел экземпляров содержит ввод идентифицирующей строки для каждого экземпляра компонента в функцию f(x) генерации простых чисел, где x - идентифицирующая строка, имеющая длину до приблизительно 65 000 символов.
20. Машиночитаемый носитель по п.19, в котором f(x) генерирует положительное простое число, имеющее значение большее 2t, где t - целое число в пределах от приблизительно 32 до приблизительно 2048.
21. Машиночитаемый носитель по п.16, в котором неполный секрет Pp для каждого класса компонентов определяют с помощью следующих этапов, на которых:
генерируют случайное число rp для каждого класса компонентов,
генерируют простое число pp класса для каждого класса компонентов, причем каждое простое число класса - положительное простое число,
выбирают требуемое количество m совпадений классов компонентов, причем m меньше или равно n,
определяют N, где N равно произведению m наименьших простых чисел pp классов,
определяют M, где М равно произведению (m-1) наибольших простых чисел pp классов, и М меньше N,
выбирают секретное число S, причем M
определяют остаток dp класса для каждого класса компонентов, причем dp равен [S (mod pp)],
формируют первое двоичное значение для каждого класса компонентов, причем первое двоичное значение - простое число pp класса для каждого класса, закодированное в первое двоичное число, имеющее до u битов, где u меньше t, и как u, так и t меньше, чем приблизительно 2048,
формируют второе двоичное значение для каждого класса компонентов, причем второе двоичное значение - остаток dp класса для каждого класса, закодированный во второе двоичное число, имеющее до v битов, где v меньше t, и (u+v=t), и
соединяют первое двоичное значение и второе двоичное значение для формирования неполного секрета Pp для каждого класса компонентов, имеющего общее количество битов, равное t.
22. Машиночитаемый носитель по п.21, в котором каждое случайное число rp генерируют, используя генератор случайных чисел, и оно имеет значение в пределах от 0 до меньше, чем 2u.
23. Машиночитаемый носитель по п.21, в котором этап генерации простого числа pp класса для каждого класса компонентов содержит ввод случайного числа для каждого класса компонентов в функцию g(x) генерации простых чисел, где x - случайное число, имеющее длину до приблизительно 65 000 символов.
24. Машиночитаемый носитель по п.23, в котором g(x) генерирует положительное простое число, имеющее значение в пределах от больше, чем 2 до меньше, чем 2v.
25. Машиночитаемый носитель по п.16, в котором упомянутый способ инициируют во время этапа загрузки программного продукта на первой компьютерной системе.
26. Машиночитаемый носитель, хранящий машиноисполняемые команды для выполнения способа определения того, может ли программный продукт использоваться во второй компьютерной системе, имеющей вторую аппаратную конфигурацию, причем вторая компьютерная система идентична или отличается от первой компьютерной системы, при этом способ содержит этапы, на которых:
идентифицируют n классов компонентов, использовавшихся для определения сильнозащищенных идентификационных данных аппаратных средств (SHWID), сгенерированных способом по п.16,
идентифицируют все экземпляры в пределах каждого класса компонентов второй аппаратной конфигурации,
воссоздают идентифицирующую строку, которая представляет каждый отдельный экземпляр компонента,
генерируют простое число ip,q экземпляра для каждого экземпляра компонента, причем каждое простое число экземпляра - положительное простое число, и p представляет номер заданного класса компонентов в пределах от 1 до n, и q представляет q-й тип компонента в пределах первой аппаратной конфигурации или второй аппаратной конфигурации,
воссоздают возможные неполные секреты Pp,q классов, причем:
Pp,q=[Cp (mod ip,q)],
извлекают возможные простые числа pp,q классов и возможные остатки dp,q классов из возможных неполных секретов Pp,q классов,
решают набор отношений сравнимости по модулю, полученных посредством перестановки возможных простых чисел классов и возможных остатков классов для генерации возможного секрета, и
проверяют возможный секрет, декодируя заданный зашифрованный текст и проверяя результат относительно соответствия известному открытому тексту,
причем:
если результирующий открытый текст соответствует известному открытому тексту, то загружают программный продукт на второй компьютерной системе, и
если результирующий открытый текст не соответствует известному открытому тексту, то препятствуют загрузке программного продукта на второй компьютерной системе.
27. Машиночитаемый носитель по п.26, в котором этап генерации простых чисел экземпляров содержит ввод идентифицирующей строки, которая представляет каждый отдельный экземпляр компонента, в функцию f(x) генерации простых чисел, где x - идентифицирующая строка, имеющая длину до приблизительно 65 000 символов.
28. Машиночитаемый носитель по п.27, в котором f(x) генерирует положительное простое число, имеющее значение большее, чем 2t, где t - целое число в пределах от приблизительно 32 до приблизительно 2048.
29. Вычислительная система, содержащая по меньшей мере один модуль приложения, пригодный для использования в этой вычислительной системе, причем упомянутый по меньшей мере один модуль приложения содержит код приложения для выполнения способа генерации сильнозащищенных идентификационных данных аппаратных средств (SHWID) для первой компьютерной системы, имеющей первую аппаратную конфигурацию, при этом способ содержит этапы, на которых:
идентифицируют каждый класс компонентов в пределах первой аппаратной конфигурации, причем количество классов компонентов равно n,
определяют произведение cp класса для каждого класса компонентов,
определяют неполный секрет Pp для каждого класса компонентов, и
суммируют произведение cp класса и неполный секрет Pp для каждого класса компонентов для формирования n сильнозащищенных идентификаторов классов,
причем n сильнозащищенных идентификаторов классов в комбинации формируют сильнозащищенные идентификационные данные аппаратных средств (SHWID) первой компьютерной системы.
30. Вычислительная система по п.29, в которой n - целое число до приблизительно 16.
31. Вычислительная система по п.29, в которой произведение cp класса для каждого класса компонентов определяют с помощью следующих этапов, на которых:
выбирают определенное количество n классов компонентов,
идентифицируют эти n классов компонентов,
идентифицируют все экземпляры в пределах каждого класса компонентов,
назначают идентифицирующую строку для каждого экземпляра компонента,
генерируют простое число рp,qэкземпляра для каждого экземпляра компонента, причем каждое простое число экземпляра - положительное простое число, и p представляет номер заданного класса компонентов в пределах от 1 до n, и q представляет q-й тип компонента в пределах первой аппаратной конфигурации, и
перемножают простые числа экземпляров в пределах каждого класса компонентов для формирования произведения cp класса для каждого класса компонентов.
32. Вычислительная система по п.31, в которой этап генерации простых чисел экземпляров содержит ввод идентифицирующей строки для каждого экземпляра компонента в функцию f(x) генерации простых чисел, где x - идентифицирующая строка, имеющая длину до приблизительно 65 000 символов.
33. Вычислительная система по п.32, в которой f(x) генерирует положительное простое число, имеющее значение большее, чем 2t, где t - целое число в пределах от приблизительно 32 до приблизительно 2048.
34. Вычислительная система по п.29, в которой неполный секрет Pp для каждого класса компонентов определяют с помощью следующих этапов, на которых:
генерируют случайное число rp для каждого класса компонентов,
генерируют простое число pp класса для каждого класса компонентов, причем каждое простое число класса - положительное простое число,
выбирают требуемое количество m совпадений классов компонентов, причем m меньше или равно n,
определяют N, где N равно произведению m наименьших простых чисел pp классов,
определяют M, где М равно произведению (m-1) наибольших простых чисел pp классов, и М меньше N,
выбирают
секретное число S, где M
определяют остаток dp класса для каждого класса компонентов, причем dp равен [S (mod pp)],
формируют первое двоичное значение для каждого класса компонентов, причем первое двоичное значение - простое число pp класса для каждого класса, закодированное в первое двоичное число, имеющее до u битов, где u меньше t, и как u, так и t меньше, чем приблизительно 2048,
формируют второе двоичное значение для каждого класса компонентов, причем второе двоичное значение - остаток dp класса для каждого класса, закодированный во второе двоичное число, имеющее до v битов, где v меньше t, и (u+v=t), и
соединяют первое двоичное значение и второе двоичное значение для формирования неполного секрета Pp для каждого класса компонентов, имеющего общее количество битов, равное t.
35. Вычислительная система по п.34, в которой каждое случайное число rp генерируют, используя генератор случайных чисел, и оно имеет значение в пределах от 0 до меньше, чем 2u.
36. Вычислительная система по п.34, в которой этап генерации простого pp числа класса для каждого класса компонентов содержит ввод случайного числа для каждого класса компонентов в функцию g(x) генерации простых чисел, где x - случайное число, имеющее длину до приблизительно 65 000 символов.
37. Вычислительная система по п.36, в которой g(x) генерирует положительное простое число, имеющее значение в пределах от больше, чем 2 до меньше, чем 2v.
38. Вычислительная система по п.29, в которой упомянутый способ инициируют во время этапа загрузки программного продукта на первой компьютерной системе.
39. Вычислительная система, содержащая по меньшей мере один модуль приложения, пригодный для использования в этой вычислительной системе, причем упомянутый по меньшей мере один модуль приложения содержит код приложения для выполнения способа определения того, может ли данный программный продукт использоваться во второй компьютерной системе, имеющей вторую аппаратную конфигурацию, причем вторая компьютерная система идентична или отличается от первой компьютерной системы, при этом способ содержит этапы, на которых:
идентифицируют n классов компонентов, использовавшихся для определения сильнозащищенных идентификационных данных аппаратных средств (SHWID), сгенерированных способом по п.29,
идентифицируют все экземпляры в пределах каждого класса компонентов второй аппаратной конфигурации,
воссоздают идентифицирующую строку, которая представляет каждый отдельный экземпляр компонента,
генерируют простое число ip,q экземпляра для каждого экземпляра компонента, причем каждое простое число экземпляра - положительное простое число, и p представляет номер заданного класса компонентов в пределах от 1 до n, и q представляет q-тый тип компонента в пределах первой аппаратной конфигурации или второй аппаратной конфигурации,
воссоздают возможные неполные секреты Pp,q классов, причем:
Pp,q=[Cp (mod ip,q)],
извлекают возможные простые числа pp,q классов и возможные остатки dp,q классов из возможных неполных секретов Pp,q классов,
решают набор отношений сравнимости по модулю, полученных посредством перестановки возможных простых чисел классов и возможных остатков классов, для генерации возможного секрета, и
проверяют возможный секрет, декодируя заданный зашифрованный текст и проверяя его по отношению к соответствующему известному открытому тексту,
причем:
если результирующий открытый текст соответствует известному открытому тексту, то загружают программный продукт на второй компьютерной системе, и
если результирующий открытый текст не соответствует известному открытому тексту, то препятствуют загрузке программного продукта на второй компьютерной системе.
40. Вычислительная система по п.39, в которой этап генерации простых чисел экземпляров содержит ввод идентифицирующей строки, которая представляет каждый отдельный экземпляр компонента, в функцию f(x) генерации простых чисел, где x - идентифицирующая строка, имеющая длину до приблизительно 65 000 символов.
41. Вычислительная система по п.40, в которой g(x) генерирует положительное простое число, имеющее значение большее, чем 2t, где t - целое число в пределах от приблизительно 32 до приблизительно 2048.