Устройство обработки информации, устройство обработки верификации и их способы управления
Иллюстрации
Показать всеИзобретение относится к средствам обработки информации и средствам верификации. Техническим результатом является повышение точности верификации подписи за счет верификации составного содержания цифровых данных. Устройство обработки информации содержит первый модуль формирования, выполненный с возможностью формировать данные, которые будут подписаны, второй модуль формирования, выполненный с возможностью формировать первые значения дайджеста данных, которые должны быть подписаны, и идентификаторы, используемые для идентификации данных, которые должны быть подписаны, третий модуль формирования, выполненный с возможностью формировать информацию подписи на основе множества первых значений дайджеста и идентификаторов, полученных из цифрового документа, и четвертый модуль формирования, выполненный с возможностью формировать первый подписанный цифровой документ на основе информации подписи и данных, которые должны быть подписаны. Устройство верификации верифицирует цифровой документ на основе первого подписанного цифрового документа, сформированного устройством обработки информации. Способы описывают работу данных устройств. 5 н. и 10 з.п. ф-лы, 20 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение имеет отношение к устройству обработки информации, устройству обработки верификации и их способам управления.
Уровень техники
В последние годы наряду с быстрым развитием и распространением компьютеров и их сетей много видов информации, такой как текстовые данные, данные изображения, звуковые данные и т.п., были оцифрованы. Цифровые данные свободны от ухудшения вследствие старения и т.п. и навсегда могут быть сохранены в отличном состоянии. Кроме того, цифровые данные можно легко копировать, редактировать и модифицировать.
Такое копирование, редактирование и модифицирование цифровых данных очень полезны для пользователей, в то время как защита цифровых данных представляет собой серьезную проблему. В частности, когда документы и данные изображения распространяются через глобальные сети, такие как Интернет и т.п., поскольку цифровые данные можно легко изменить, третья сторона может изменить данные.
Чтобы получатель обнаружил, действительно ли входящие данные были изменены, была предложена технология обработки, названная цифровой подписью, в качестве схемы верификации дополнительные данные, чтобы предотвратить изменение. Технология обработки цифровой подписи может предотвратить не только изменение данных, но также и перехват зашифрованного сигнала с его передачей в измененном виде ("спуфинг"), отказ в доступе и т.п. в Интернете.
Ниже будут подробно описаны цифровая подпись, хеш-функция, криптографическая система с открытым ключом и инфраструктура открытых ключей (PKI).
Цифровая подпись
Фиг.14A и 14B являются изображениями для объяснения процесса формирования подписи и процесса верификации подписи, и эти процессы будут описаны ниже со ссылкой на фиг. 14A и 14B. При генерации данных цифровой подписи используются хеш-функция и криптографическая система с открытым ключом.
Пусть Ks (2106) является секретным ключом, и Kp (2111) является открытым ключом. Отправитель применяет процесс 2102 хеширования к данным М. (2101) для вычисления значения дайджеста H(M) 2103 как данных фиксированной длины. Затем отправитель применяет процесс 2104 подписи к данным фиксированной длины H(M) с использованием секретного ключа Ks (2106) для формирования данных S (2105) цифровой подписи. Отправитель отправляет эти данные S (2105) цифровой подписи и данные М (2101) получателю.
Получатель преобразовывает (расшифровывает) принятые данные S (2110) цифровой подписи с использованием открытого ключа Kp (2111). Получатель формирует значение дайджеста фиксированной длины: H (M) 2109 путем применения процесса 2108 хеширования к принятым данным М (2107). Процесс 2112 верификации проверяет, соответствуют ли расшифрованные данные значению дайджеста H(M) или нет. Если два набора данных не соответствуют друг другу в результате этой верификации, может быть обнаружено, что данные были изменены.
Для цифровой подписи используются такие криптографические системы с открытым ключом, как RSA, DSA (будут подробно описаны позже) и т.п. Безопасность этих цифровых подписей основана на факте, что для субъекта, кроме держателя секретного ключа, трудно в терминах вычислений подделать подпись или декодировать секретный ключ.
Хеш-функция
Ниже будет описана хеш-функция. Хеш-функция используется вместе с обработкой цифровой подписи для сокращения периода времени обработки для назначения подписи путем применения к данным, которые должны быть подписаны, сжатия с потерей данных. Таким образом, хеш-функция имеет функцию обработки данных М, имеющих произвольную длину, и формирования выходных данных H(M), имеющих постоянную длину. Следует отметить, что вывод H (M) называют хешированными данными данных М открытого текста.
В особенности, односторонняя хеш-функция отличается тем, что если заданы данные М, то трудно в терминах объема вычислений вычислить данные М' открытого текста, которые удовлетворяют условию H(М') = H(M). В качестве односторонней хеш-функции доступны такие стандартные алгоритмы, как MD2, MD5, SHA-1 и т.п.
Криптографическая система с открытым ключом
Ниже будет описана криптографическая система с открытым ключом. Криптографическая система с открытым ключом использует два различных ключа и отличается тем, что данные, зашифрованные одним ключом, могут быть расшифрованы только другим ключом. Из этих двух ключей один ключ называется открытым ключом и является публично открытым. Другой ключ называется секретным ключом, и им владеет идентифицированное лицо.
Известны цифровые подписи, использующие криптографическую систему с открытым ключом, подпись RSA, подпись DSA, подпись Шнорра (Schnorr) и т.п. В этом случае будет проиллюстрирована подпись RSA, описанная в Р.Л.Райвест (R.L. Rivest), А. Шамир (A. Shamir) и Л. Альдеман (L. Aldeman): "Способ получения цифровых подписей и криптографические системы с открытым ключом", Communications of the ACM, v. 21, n. 2, стр 120 - 126, февраль 1978. Также дополнительно будет объясняться подпись DSA, описанная в Федеральном стандарте обработки информации (FIPS) 186-2, Стандарт цифровой подписи (DSS), январь 2000.
Подпись RSA
Генерируются простые числа p и q для получения n = pq. λ(n) определяется как наименьший общий множитель для p-1 и q-1. Выбирается число e, взаимно простое (не имеющее общих делителей) с λ(n) для получения секретного ключа d = 1/e (mod λ(n)), где e и n являются открытыми ключами. Также пусть H() является хеш-функцией.
Формирование подписи RSA
Последовательность формирования подписи для документа М.
Пусть s: = H (M) ^d (mod n) является данными подписи.
Верификация подписи RSA
Последовательность верификации подписи (s, T)
для документа М.
Документ верифицирован, если H(M) = s^e (mod n).
Подпись DSA
Пусть p и q являются простыми числами, и p-1 является значением, которое делит q (является делителем q). Пусть q является элементом (производящим элементом) порядка q, который произвольно выбран из Z_p* (мультипликативной группы за исключением нуля из циклической группы Z_p порядка p). Пусть x, произвольно выбранное из Z_p*, является секретным ключом для получения открытого ключа у путем y: = g^x mod p. Пусть H() является хеш-функцией.
Формирование подписи DSA
Последовательность формирования подписи для документа М.
1) α является произвольно выбранным из Z_q для получения T: = (g^ α mod p) mod q.
2) Получаем c: = H(M).
3) Получаем s: = α ^ - 1 (с + хТ) mod q, чтобы определить (s, T) как данные подписи.
Верификация подписи DSA
Последовательность верификации подписи (s, T) для документа М.
Документ верифицирован, если T = (g^(h(M) s ^-1) y ^ (T s ^-1) mod p) mod q.
Инфраструктура открытых ключей
Для обращения к ресурсам на сервере в коммуникации клиент-сервер требуется аутентификация (подтверждение подлинности) пользователей. В качестве одного средства аутентификации пользователей используется сертификат для открытого ключа, такой как описан в рекомендации X.509 Международного союза электросвязи (ITU-U) и т.п. Сертификат для открытого ключа представляет собой данные, которые гарантируют привязку между открытым ключом и его пользователем, и является подписанным в цифровой форме доверенным третьим лицом, называемым центром сертификации (CA). Схема аутентификации пользователей с использованием протокола SSL (протокола безопасных соединений SSL), используемая в браузере, реализована путем подтверждения, имеет ли пользователь секретный ключ, соответствующий открытому ключу, включенному в сертификат для открытого ключа, предоставленный пользователем.
Поскольку сертификат для открытого ключа подписан центром сертификации (CA), открытому ключу пользователя или сервера, включенному в него, можно доверять. Поэтому, когда секретный ключ, использованный при формировании подписи центром сертификации (CA), подвергается утечке информации или становится уязвимым, все сертификаты для открытого ключа, выпущенные этим центром сертификации (CA), становятся недействительными. Поскольку некоторые центры сертификации (CA) управляют огромным количеством сертификатов для открытого ключа, были сделаны различные предложения для уменьшения стоимости управления. Настоящее изобретение, которое будет описано позже, в качестве своего эффекта может уменьшить количество сертификатов, которые должны быть выпущены, и обращений к серверу как хранилищу открытых ключей.
В рекомендации X.509 v.3 Международного союза электросвязи (ITU-U), описанной в рекомендации X.509/ISO/IEC 9594-8 Международного союза электросвязи (ITU-U): "Информационная технология - Взаимодействие открытых систем - Каталог: Структура сертификата для общего ключа и атрибутов", идентификатор и информация открытого ключа субъекта, которые должны быть заверены (сертифицированы), включаются как данные, которые должны быть подписаны. С помощью операции подписи, такой как упомянутый выше алгоритм RSA и т.п., для дайджеста, полученного путем применения хеш-функции к этим данным, которые должны быть подписаны, формируются данные подписи. Данные, которые должны быть подписаны, имеют дополнительное поле "extensions" ("расширения"), которое может включать в себя расширенные данные, уникальные для приложения или протокола.
Фиг.15 показывает формат, определенный рекомендацией X.509 v.3, и ниже будет объяснена информация, показанная в каждом индивидуальном поле. Поле 1501 "version" ("версия") хранит версию рекомендации X.509. Это поле является необязательным и представляет значение v1, если оно опущено. Поле 1502 "serial Number" ("серийный номер") хранит серийный номер, уникально назначенный центром сертификации (CA). Поле 1503 "signature" ("подпись") хранит схему подписи сертификата открытого ключа. Поле 1504 "issuer" ("издатель") хранит идентификационное имя формата X.500 центра сертификации (CA) как издателя сертификата открытого ключа. Поле 1505 "validity" ("срок действия") хранит период действия (дата начала и дата конца) открытого ключа.
Поле 1506 "subject" ("субъект") хранит идентификационное имя формата X.500 держателя секретного ключа, соответствующего открытому ключу, включенному в этот сертификат. Поле 1507 "subjectPublicKeylnfo" ("информация открытого ключа субъекта") хранит открытый ключ, который сертифицирован. Поле 1508 "issuerUniqueIdentifier" ("уникальный идентификатор издателя"), и поле 1509 "subjectUniqueIdentifier" ("уникальный идентификатор субъекта") являются необязательными полями, добавленными со времени версии v2, и соответственно хранят уникальные идентификаторы центра сертификации (CA) и держателя.
Поле 1510 "extensions" ("расширения") является необязательным полем, добавленным в версии v3, и хранит наборы трех значений, то есть тип расширения (extnId) 1511, критический бит (critical) 1512 и значение расширения (extnValue) 1513. Поле "extensions" ("расширения") версии v3 может хранить не только стандартный тип расширения, определенный рекомендацией X.509, но также и уникальный новый тип расширения. Поэтому то, как распознавать поле "extensions" ("расширения") версии v3, зависит от стороны приложения. Критический бит 1512 указывает, является ли этот тип расширения обязательным или им можно пренебречь.
Были описаны цифровая подпись, хеш-функция, криптографическая система с открытым ключом и инфраструктура открытых ключей.
Была предложена схема для разделения текстовых данных, которые должны быть подписаны, на множество текстовых данных и присоединения цифровых подписей к соответствующим текстовым данным с использованием упомянутой выше технологии обработки цифровой подписи (см. выложенный патент Японии №10-003257). Согласно этой предложенной схеме подписанные цифровой подписью текстовые данные частично цитируются, процесс верификации может быть выполнен для частично процитированного текста.
Предложенная схема обрабатывает только текстовые данные в качестве данных, которые должны быть подписаны. Однако наряду с разнообразием цифровых данных в последние годы цифровой подписью может быть подписано составное содержание, включающее в себя множество типов содержания. Когда такое составное содержание обрабатывается как группа двоичных данных и должно быть подписано цифровой подписью через, например, процесс сжатия и т.п., если третья сторона делит содержание на подсодержание и пытается вновь распространять подсодержание, данные подписи в подсодержании больше не могут быть подтверждены.
Чтобы избежать такой проблемы, как в предложенной схеме, все подсодержание, которое должно быть подписано, может быть подписано цифровой подписью в дополнение к текстовым данным. Однако в этом случае как формирование подписи, так и верификация подписи требуют огромной вычислительной стоимости в своих процессах шифрования или расшифровки. Таким образом, количество процессов увеличивается с увеличением количества подсодержания.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Таким образом, задача настоящего изобретения состоит в том, чтобы обеспечить возможность верификации подписи не только для текстовых данных, но также и для составного содержания цифровых данных, сохраненных в различных форматах, даже когда подсодержание как часть такого составного содержания существует отдельно. Также задачей настоящего изобретения является обеспечение технологии обработки подписи, которая может задать, чтобы объемы вычислений процессов формирования подписи и верификации подписи были постоянными, а не были пропорциональны количеству разделенного подсодержания.
В соответствии с настоящим изобретением, которое, по меньшей мере, частично решает упомянутые выше проблемы вместе или индивидуально, обеспечивается устройство обработки информации, содержащее первый модуль формирования, выполненный с возможностью формировать данные, которые должны быть подписаны, путем разделения цифрового документа на области, второй модуль формирования, выполненный с возможностью формировать первые значения дайджеста данных, которые должны быть подписаны, и идентификаторы, используемые для идентификации данных, которые должны быть подписаны, третий модуль формирования, выполненный с возможностью формировать информацию подписи на основе множества первых значений дайджеста и идентификаторов, полученных из цифрового документа, и четвертого модуля формирования, выполненного с возможностью формировать первый подписанный цифровой документ на основе информации подписи и данных, которые должны быть подписаны.
Также обеспечивается устройство обработки верификации, которое верифицирует цифровой документ на основе подписанного цифрового документа. Устройство содержит модуль извлечения, выполненный с возможностью извлекать информацию подписи из подписанного цифрового документа, модуль определения, выполненный с возможностью определять, были ли изменены первое значение дайджеста и идентификатор в информации подписи, модуль получения, выполненный с возможностью получать данные, которые должны быть подписаны, из подписанного цифрового документа на основе идентификатора, когда модуль определения определяет, что первое значение дайджеста и идентификатор не были изменены, модуль вычисления, выполненный с возможностью вычислять второе значение дайджеста данных, которые должны быть подписаны, модуль сравнения, выполненный с возможностью сравнивать первое значение дайджеста и второе значение дайджеста, и модуль формирования результата верификации, выполненный с возможностью формировать результат верификации на основе результата сравнения.
Также обеспечивается способ управления устройством обработки информации, содержащий первый этап формирования, на котором формируют данные, которые должны быть подписаны, путем разделения цифрового документа на области, второй этап формирования, на котором формируют первые значения дайджеста данных, которые должны быть подписаны, и идентификаторы, используемые для идентификации данных, которые должны быть подписаны, третий этап формирования, на котором формируют информацию подписи на основе множества первых значений дайджеста и идентификаторов, полученных из цифрового документа, и четвертый этап формирования, на котором формируют первый подписанный цифрой документ на основе информации подписи и данных, которые должны быть подписаны.
Также обеспечивается способ управления устройством обработки верификации, которое верифицирует цифровой документ на основе первого подписанного цифрового документа, содержащий этап извлечения, на котором извлекают информацию подписи из первого подписанного цифрового документа, этап определения, на котором определяют, были ли изменены первое значение дайджеста и идентификатор в информации подписи, этап получения, на котором получают данные, которые должны быть подписаны, из подписанного цифрового документа на основе идентификатора, когда на этапе определения определено, что первое значение дайджеста и идентификатор не были изменены, этап вычисления, на котором вычисляют второе значение дайджеста данных, которые должны быть подписаны, этап сравнения, на котором сравнивают первое значение дайджеста и второе значение дайджеста, и этап формирования результата верификации, на котором формируют результат верификации на основе результата сравнения.
Дальнейшие признаки настоящего изобретения станут очевидными из следующего описания иллюстративных вариантов воплощения со ссылкой на приложенные чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 является диаграммой, показывающей пример компоновки системы, соответствующей вариантам воплощения настоящего изобретения;
Фиг.2 является блок-схемой, показывающей пример функциональной компоновки системы, соответствующей вариантам воплощения настоящего изобретения;
Фиг.3 является блок-схемой, показывающей пример компоновки аппаратных средств системы, соответствующей вариантам воплощения настоящего изобретения;
Фиг.4 является блок-схемой последовательности этапов процесса формирования цифрового документа и процесса обработки цифрового документа, соответствующего вариантам воплощения настоящего изобретения;
Фиг.5 является блок-схемой последовательности этапов примера обработки в процессе формирования промежуточного цифрового документа, соответствующего вариантам воплощения настоящего изобретения;
Фиг.6A и 6B являются изображениями для объяснения примера цифровых данных, соответствующего вариантам воплощения настоящего изобретения;
Фиг.7A и 7B являются изображениями для объяснения промежуточного цифрового документа и цифрового документа, соответствующих вариантам воплощения настоящего изобретения;
Фиг.8 является блок-схемой последовательности этапов, показывающей пример обработки в процессе формирования подписи, соответствующей вариантам воплощения настоящего изобретения;
Фиг.9A и 9B являются изображениями, показывающими пример структуры цифрового документа, соответствующей вариантам воплощения настоящего изобретения;
Фиг.10 является блок-схемой последовательности этапов, показывающей пример обработки в процессе верификации подписи, соответствующей вариантам воплощения настоящего изобретения;
Фиг.11A и 11B являются изображениями, показывающими пример структуры данных подписи после процесса преобразования, соответствующей вариантам воплощения настоящего изобретения;
Фиг.12 является изображением для объяснения примера просмотра цифровых данных, соответствующего третьему варианту воплощения настоящего изобретения;
Фиг.13 является изображением для объяснения другого примера просмотра цифровых данных, соответствующего третьему варианту воплощения настоящего изобретения;
Фиг.14A является диаграммой, показывающей общий пример процесса формирования подписи;
Фиг.14B является диаграммой, показывающей общий пример процесса верификации подписи; и
Фиг.15 является изображением для объяснения формата данных сертификата открытого ключа X.509 v.3.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Теперь будут подробно описаны предпочтительные варианты воплощения настоящего изобретения в соответствии с сопроводительными чертежами.
<Первый вариант воплощения>
Процесс формирования подписи и процесс верификации подписи, соответствующие этому варианту воплощения, включают в себя процесс формирования цифрового документа и процесс обработки цифрового документа. Более точно - процесс формирования цифрового документа разделяет данные изображения, сформированные путем сканирования бумажного документа, на подсодержание и формирует составное содержание (упоминаемое далее как цифровой документ) путем цифровой подписи желаемой пользователем группы подсодержания. Процесс обработки цифрового документа извлекает подсодержание из цифрового документа, верифицирует информацию подписи подсодержания, которая требует верификации, и затем выполняет процесс употребления содержания, такой как просмотр, печать и т.п., процесс преобразования содержания и т.п.
Фиг.1 является диаграммой, показывающей пример компоновки системы, соответствующей этому варианту воплощения. Система, показанная на фиг.1, сконфигурирована путем соединения сканера 101, компьютера 102 как устройства обработки для формирования и верификации цифрового документа, компьютера 103 для редактирования и модифицирования цифрового документа и принтера 104 для печати цифрового документа через сеть 105.
Фиг.2 является функциональной блок-схемой, показывающей пример функциональной компоновки системы, соответствующей этому варианту воплощения. В отношении фиг.2 устройство 201 ввода изображений принимает данные изображения. Информация 202 о ключах включает в себя ключ шифрования, используемый для формирования цифровой подписи, и ключ расшифровки, используемый для верификации цифровой подписи. Устройство 203 формирования цифрового документа как устройство обработки информации формирует цифровой документ 204 путем присоединения информации подписи к входным данным изображения на основе входных данных изображения и ключа шифрования информации 202 о ключах. Устройство 205 обработки цифрового документа (устройство обработки верификации) верифицирует сформированный цифровой документ 204 с использованием ключа расшифровки информации 202 о ключах и выполняет такие операции, как модифицирование данных, редактирование, печать и т.п. цифрового документа. Обработка цифровой подписи будет объясняться в соответствии с криптографической системой с открытым ключом. В этом случае ключ шифрования информации 202 о ключах соответствует секретному ключу 406, и ключ расшифровки информации 202 о ключах соответствует открытому ключу 414.
Фиг.3 является блок-схемой, показывающей пример внутренней компоновки аппаратных средств устройства формирования цифрового документа 203 и устройства операции цифрового документа 205. Центральный процессор 301 управляет устройством в целом путем выполнения программного обеспечения. Память 302 временно хранит программное обеспечение данных, выполняемых центральным процессором 301. Жесткий диск 303 хранит программное обеспечение и данные. Модуль 304 ввода-вывода принимает входную информацию от клавиатуры, мыши, сканера и т.п. и выводит информацию на дисплей и принтер.
Процесс формирования цифрового документа
Ниже будет описан процесс, соответствующий этому варианту воплощения. Фиг.4 является функциональной блок-схемой последовательности этапов, показывающей пример процесса, соответствующего этому варианту воплощения. Как показано на фиг.4, процесс, соответствующий этому варианту воплощения, в общих чертах включает в себя процесс 401 формирования цифрового документа и процесс 402 обработки цифрового документа.
В процессе 401 формирования цифрового документа, соответствующем этому варианту воплощения, процесс 404 ввода бумажного документа вводит бумажный документ 403. Затем процесс 405 формирования промежуточного цифрового документа формирует промежуточный цифровой документ путем анализа бумажного документа 403. Процесс 407 формирования информации подписи формирует информацию подписи на основе промежуточного цифрового документа и секретного ключа 406. Процесс 408 присоединения информации подписи соединяет промежуточный цифровой документ с информацией подписи. Процесс 409 архивации цифрового документа формирует цифровой документ 411 путем объединения промежуточного цифрового документа и информации подписи. Цифровой документ 411 соответствует цифровому документу 205 на фиг.2. Процесс 410 передачи цифрового документа передает цифровой документ 411 процессу 402 обработки цифрового документа.
В процессе 402 обработки цифрового документа процесс 412 приема цифрового документа принимает цифровой документ 411. Процесс 413 извлечения цифрового документа извлекает промежуточный цифровой документ и информацию подписи из принятого цифрового документа 411. Процесс 415 верификации информации подписи выполняет верификацию на основе промежуточного цифрового документа, информации подписи и открытого ключа 414. Процесс 416 обработки документа выполняет такую операцию, как модифицирование, редактирование, печать и т.п. извлеченного цифрового документа.
Далее будут описаны подробности функциональных блоков на фиг.4. Подробности процесса 405 формирования промежуточного цифрового документа будут описаны ниже со ссылкой на фиг.5 и фиг.6A и 6B. Фиг.5 является блок-схемой последовательности этапов, показывающей пример обработки в процессе 405 формирования промежуточного цифрового документа, соответствующем этому варианту воплощения. Фиг.6A и 6B показывают пример цифровых данных и результат процесса разделения на области.
В отношении фиг.5, на этапе S501 данные, полученные процессом 404 ввода бумажного документа, оцифровываются для формирования цифровых данных. Фиг.6A показывает пример сформированных цифровых данных.
На этапе S502 цифровые данные делятся на области по соответствующим атрибутам. Атрибуты в этом случае включают в себя текст, фотографию, таблицу и изображение.
Процесс разделения на области извлекает такие наборы, как группа из 8 связанных черных пикселей контура, группа из 4 связанных белых пикселей контура и т.п., в цифровых данных и может извлечь области с такими названиями признака, как текст, изображение или фигура, таблица, рамка и линия. Такая схема описывается в патенте США №5680478. Следует отметить, что способ реализации процесса разделения на области не ограничивается таким заданным процессом, но могут быть применены другие способы.
Фиг.6B показывает пример результата разделения на области путем определения атрибутов на основе количеств извлеченных признаков. Следует отметить, что в качестве атрибутов соответствующих областей 602, 604, 605 и 606 показывают текстовые области и 603 показывает область цветной фотографии.
На этапе S503 информация документа формируется для каждой области, полученной на этапе S502. Каждая информация документа включает в себя атрибут, информацию расположения, такую как координаты позиции на странице и т.п., строку кодов символов, если атрибутом интересующей разделенной области является текст, логическую структуру документа, такую как параграф, заголовок и т.п. и т.д.
На этапе S504 каждая область, полученная на этапе S502, преобразовывается в информацию передачи. Информация передачи требуется для визуализации. Более точно информация передачи включает в себя растровое изображение с переменной разрешающей способностью, векторное изображение, одноцветное изображение или цветное изображение, размер файла каждой информации передачи, текст как результат распознавания символов, если атрибутом итересующей разделенной области является текст, позиции и шрифты индивидуальных символов, достоверность символов, полученных распознаванием символов, и т.п.. Беря фиг.6B в качестве примера, текстовые области 602, 604, 605 и 606 преобразовываются в векторные изображения, а область 603 цветной фотографии преобразовывается в цветное растровое изображение.
На этапе S505 области, разделенные на этапе S502, информация документа, сформированная на этапе S503, и информация передачи, полученная на этапе S504, связываются друг с другом. Соответствующие части связанной информации описываются в древовидной структуре. Информация передачи и информация документа, сформированная на упомянутых выше этапах, в дальнейшем будут называться компонентами.
На этапе S506 компоненты, сформированные на упомянутых выше этапах, сохраняются как промежуточный цифровой документ. Формат сохранения специальным образом не ограничивается до тех пор, пока он может выразить древовидную структуру. В этом варианте воплощения промежуточный цифровой документ может быть сохранен с использованием XML в качестве примера структурированного документа.
Ниже будет описан процесс 407 формирования информации подписи на фиг.4. В этом процессе формируются цифровые подписи для компонентов промежуточного цифрового документа, сформированных предварительно. Фиг.8 является блок-схемой последовательности этапов процесса формирования информации подписи в этом варианте воплощения. Ниже будет описан процесс 407 формирования информации подписи со ссылкой на фиг.8.
На этапе S801 значение дайджеста данных, которые должны быть подписаны, формируется для каждых данных, которые должны быть подписаны. Следует отметить, что данные, которые должны быть подписаны, являются данными, которые включены в промежуточный цифровой документ, и могут рассматриваться как информация a (701) передачи, информация b (702) передачи или информация (703) документа на фиг.7A (будут описаны позже). Чтобы сформировать значение дайджеста, этот вариант воплощения применяет хеш-функцию. Поскольку хеш-функция была описана в параграфах "Описания предшествующего уровня техники", ее подробное описание будет опущено.
На этапе S802 идентификатор данных, которые должны быть подписаны, формируется для каждых данных, которые должны быть подписаны. Следует заметить, что идентификатор должен уникально идентифицировать только данные, которые должны быть подписаны. Например, в этом варианте воплощения, унифицированный идентификатор ресурса (URI), заданный документом RFC2396, применяется в качестве идентификатора данных, которые должны быть подписаны. Однако настоящее изобретение не ограничивается этой спецификацией, и различные другие значения могут быть применены как идентификаторы.
На этапе S803 проверяется, были ли процессы этапов S801 и S802 применены ко всем данным, которые должны быть подписаны. Если такие процессы были применены ко всем данным, которые должны быть подписаны ("ДА" на этапе S803), поток последовательности этапов переходит на этап S804; иначе поток последовательности этапов возвращается на этап S801.
На этапе S804 выполняется процесс формирования значения подписи с использованием секретного ключа 406 для всех значений дайджеста, сформированных для идентичного цифрового документа на этапе S801, и всех идентификаторов, сформированных на этапе S802, для вычисления значения подписи. Чтобы сформировать значение подписи, этот вариант воплощения применяет цифровую подпись, описанную в параграфах "Описания предшествующего уровня техники". Детализированное описание практической арифметической обработки цифровой подписи будет опущено. Данные M (2101) в потоке процесса формирования подписи, показанном на фиг.14A, соответствуют всем значениям дайджеста, сформированным на этапе S801, и всем идентификаторам, сформированным на этапе S802 (эта группа данных будет называться как агрегированные данные). Аналогично секретный ключ Ks 2106 соответствует секретному ключу 406 на фиг.4.
Затем на этапе S805 информация подписи конфигурируется с использованием агрегированных данных (всех значений дайджеста, сформированных на этапе S801, и всех идентификаторов, сформированных на этапе S802) и значения подписи, сформированного на этапе S804, таким образом, заканчивая процесс формирования информации подписи.
Следует заметить, что процесс формирования значения подписи на этапе S804 может выполняться для некоторых из сформированных значений дайджеста и идентификаторов (то есть множества сформированных значений дайджеста и идентификаторов), а не всех значений дайджеста и всех сформированных идентификаторов. В этом случае подсодержание, которое более вероятно будет повторно использовано, в первоначальном содержании может быть выбрано автоматически или вручную пользователем, и значение подписи может быть вычислено на основе значений дайджеста и идентификаторов, связанных с выбранным подсодержанием. В этом случае на этапе S805 информация подписи конфигурируется с использованием некоторых значений дайджеста и идентификаторов, использованных для вычисления значения подписи, и вычисленного значения подписи. Даже когда значение подписи вычисляется с использованием множества (и не всех) значений дайджеста и идентификаторов, процесс формирования значения подписи может быть сделан только однажды для всего содержания.
Ниже будет описана структура цифрового документа 411, соответствующая этому варианту воплощения, со ссылкой на фиг.9A и 9B. Фиг.9A и 9B показывают пример структуры цифрового документа 411, соответствующей этому варианту воплощения. Фиг.9A показывает структуру всего цифрового документа 411. Как показано на фиг.9A, цифровой документ 411 предпочтительно включает в себя информацию подписи 901, данные 1 (902), которые должны быть подписаны, и данные 2 (903), которые должны быть подписаны. Фиг.9B показывает пример подробной структуры информации 901 подписи на фиг.9A. Как показано на фиг.9B, информация 901 подписи предпочтительно включает в себя значение 904 подписи, идентификатор (905) данных 1, которые должны быть подписаны, значение (906) дайджеста данных 1, которые должны быть подписаны 1 (906), идентификатор (907) данных 2, которые должны быть подписаны, и значения (908) дайджеста данных 2, которые должны быть подписаны. Данные 905 - 908 формируют агрегированные данные 909.
Фиг.9A показывает пример структуры цифрового документа 411, когда одна информация 901 подписи формируется для двух данных 1 (902), которые должны быть подписаны, и данных 2 (903), которые должны быть подписаны. Фиг.9B показывает пример подробной структуры информации 901 подписи. На фиг.9B идентификатор (905) данных 1, которые должны быть подписаны, и идентификатор (907) данных 2, которые должны быть подписаны, сформированы на этапе S802, описанном выше. Кроме того, значение дайджеста (906) данных 1, которые должны быть подписаны, и значения дайджеста (908) данных 2, которые должны быть подписаны, сформированы на этапе S801, описанном выше. Значение 904 подписи сформировано на этапе S804 с использованием данных 905 - 908, то есть агрегированных данных 909.
Затем ниже будет описан процесс 408 присоединения данных подписи со ссылкой на фиг.7A. Номера позиций 701 и 702 обозначают две части информации передачи промежуточного цифрового документа, сформированного в процессе 405 формирования промежуточного цифрового документа; и 703 - информацию документа. Номера позиций 704 и 705 обозначают две части информации подписи, сформированной в процессе 407 формирования информации подписи.
В каждую информацию подписи встраивается идентификатор, который указывает информацию передачи, или информацию документа, соответствующую данным, которые должны быть подписаны, как описано выше. На фиг.7A идентификатор 706, который указывает данные, которые должны быть подписаны (то есть информация 701 передачи), встраивается в информацию 704 подписи. Информация подписи и данные, которые должны быть подписаны, не всегда должны иметь взаимно однозначное соответствие. Например, идентификаторы 707 и 708, которые соответственно указывают информацию 702 передачи и информацию 703 документа как данные, которые должны быть подписаны, могут быть внедрены в информацию 705 подписи.
Следует заметить, что информация a (701) передачи рассматривается как данные 1 (902), которые должны быть подписаны, и информация b (702) передачи и информация 703 документа 703 рассматриваются как данные 2 (903), которые должны быть подписаны. Также информацию 1 (704) подписи и информацию 2 (705) подписи можно рассматривать как информацию 901 подписи.
Ниже будет описан процесс 409 архивации цифрового документа со ссылкой на фиг.7A и 7B. Промежуточный цифровой документ и информация подписи, сформированные в процессах, описанных до настоящего момента, существуют как независимые данные, как показано на фиг.7A. Следовательно, процесс архивации цифрового документа архивирует эти данные для формирования одного цифрового документа. Фиг.7B пока