ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к считываемому компьютером носителю, снабженному областью памяти, подобному CD-ROM, флоппи-диску, кассете, компакт-диску, минидиску и DVD. Ради простоты далее эти носители будут называться "носителями данных".
Такой носитель данных содержит данные, например, в форме компьютерного программного обеспечения, подлежащего загрузке в компьютер пользователем, который его купил. Однако на практике данные, доступные на таком носителе данных, часто могут считываться много раз, тогда как изготовитель данных желает повторной оплаты за каждую новую загрузку в другой компьютер. В настоящее время покупатели часто подписывают некоторый вид контракта, обещая не нарушать авторское право, связанное с этими данными. Однако это не является техническим препятствием для незаконного копирования данных. На практике крупномасштабная проверка незаконных копий в условиях, особенно, конечных пользователей почти невозможна.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Поэтому существует задача - создать технические средства, которые обеспечивают надежную защиту против незаконного копирования данных на носителе данных.
В соответствии с данным изобретением такому незаконному копированию может воспрепятствовать считываемый компьютером носитель, снабженный областью памяти для хранения данных и особым микропроцессором, содержащим интерфейс связи для установления связи с внешним устройством, блок памяти и процессор, подключенный как к интерфейсу связи, так и к блоку памяти.
С таким устройством права интеллектуальной собственности на информацию, кроме музыки, рисунков или исполняемого программного обеспечения, хранимых на массово выпускаемых цифровых носителях данных, могут быть эффективно защищены при малых дополнительных расходах. Микропроцессор используется для выполнения защитных функций по отношению к данным, хранимым на носителе данных. Эта защита может быть связана с количеством раз, когда данные могут загружаться в компьютер того, кому разрешено загружать данные в компьютер, и т.д.
Такая защита, например, может быть реализована посредством считываемого компьютером носителя, описанного выше, в котором данные содержат первую часть данных, которая приспособлена для считывания компьютерным устройством и для дешифрации компьютерным устройством с использованием по меньшей мере одного криптографического ключа, при условии выполнения по меньшей мере одного условия, и процессора, приспособленного для установления связи с компьютерным устройством через интерфейс связи для проверки того, выполнено ли это условие, и для генерации криптографического ключа для компьютерного устройства, если это условие выполнено.
Кроме того, данные могут содержать вторую часть данных, содержащую относящиеся к ключу данные, необходимые процессору для генерации по меньшей мере одного криптографического ключа.
Считываемый компьютером носитель может иметь круговую форму с центром вращения и интерфейс связи, которым является антенна, симметрично расположенная вокруг центра вращения.
Одним из условий, подлежащих выполнению, может быть аутентификация пользователя, и тогда процессор приспособлен для приема информации аутентификации через интерфейс связи и для установления аутентификации пользователя на основе принятой информации аутентификации.
Альтернативно, или дополнительно, одним из условий, подлежащих выполнению, является период времени, за который данные могут быть считаны и дешифрованы либо компьютерным устройством, либо каким-либо другим компьютерным устройством, причем этот период времени является частью данных.
Кроме того, альтернативно, или дополнительно, одним из условий, подлежащих выполнению, является максимальное количество раз считывания и дешифрации данных со считываемого компьютером носителя, причем это максимальное количество раз контролируется процессором.
В другом варианте осуществления процессор в считываемом компьютером носителе приспособлен для выполнения дешифрации, основанной на исполняемых программах, принимаемых через указанный интерфейс связи. Опять же, тогда процессор, предпочтительно, приспособлен для подтверждения истинности этих исполняемых программ, например, посредством специфического ключа, хранимого в блоке памяти.
В одном варианте осуществления считываемый компьютером носитель снабжен физической структурой, подключенной к процессору, причем этот процессор приспособлен для проверки физической целостности этой физической структуры и для остановки работы, как только процессор установит, что физическая целостность нарушена.
Изобретение также относится к компьютерному устройству, приспособленному для установления связи со считываемым компьютером носителем, причем этот носитель снабжен областью памяти для хранения данных и отдельным микропроцессором, содержащим интерфейс связи, блок памяти и процессор, подключенный как к интерфейсу микропроцессора, так и к блоку памяти, причем это компьютерное устройство снабжено процессором, памятью, подключенной к процессору, первым блоком интерфейса, подключенным к процессору для обмена с областью памяти считываемого компьютером носителя, и вторым блоком интерфейса, подключенным к процессору для обмена с блоком микропроцессора через интерфейс связи.
Изобретение также относится к способу считывания и дешифрации данных со считываемого компьютером носителя, причем этот носитель снабжен областью памяти для хранения данных и отдельным микропроцессором, содержащим интерфейс связи, блок памяти и процессор, подключенный как к интерфейсу связи, так и к блоку памяти, причем этот способ предусматривает следующие этапы:
(a) прием по меньшей мере одного криптографического ключа от процессора;
(b) считывание первой части данных из области памяти в считываемом компьютером носителе;
(c) дешифрация первой части данных с использованием по меньшей мере одного криптографического ключа.
Изобретение также относится к носителю данных, снабженному компьютерной программой, и к продукту компьютерной программы для осуществления такого способа.
Кроме того, изобретение относится к способу предоставления доступа к данным, хранимым на считываемом компьютером носителе, причем такой носитель снабжен областью памяти, хранящей указанные данные, и отдельным микропроцессором, содержащим интерфейс связи, блок памяти и процессор, подключенный как к указанному интерфейсу связи, так и к указанному блоку памяти, в котором указанные данные содержат первую часть данных, которая приспособлена для считывания компьютерным устройством и для дешифрации указанным компьютерным устройством с использованием по меньшей мере одного криптографического ключа, при условии выполнения по меньшей мере одного условия, причем указанный способ предусматривает стадии:
(а) осуществления связи с указанным компьютерным устройством через указанный интерфейс связи;
(b) проверки выполнения указанного условия и
(c) генерации указанного криптографического ключа для указанного компьютерного устройства, если это условие выполнено.
Изобретение также относится к носителю данных, снабженному компьютерной программой, и к продукту компьютерной программы для осуществления этого последнего способа.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Ниже изобретение будет объяснено со ссылкой на некоторые чертежи, которые предназначены для иллюстрации изобретения, а не для ограничения его объема.
Фигура 1 - изображен носитель данных, снабженный особым микропроцессором для защиты его данных от незаконного копирования, а также системой для считывания данных с носителя данных;
фигура 2 схематично изображает микропроцессор, встроенный в носитель данных;
фигура 3 схематично изображает альтернативный носитель данных с дополнительным микропроцессором;
фигура 4 схематично изображает возможный поток данных между областью памяти носителя данных, микропроцессором на носителе данных и системой, приспособленной для считывания и дешифрации данных с носителя данных;
фигуры 5 и 6 показывают блок-схемы последовательности операций способов изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНОГО ВАРИАНТА ОСУЩЕСТВЛЕНИЯ
Изобретение относится к цифровым устройствам хранения данных, в которых хранятся цифровые данные, возможно, организованные в специально для этого предназначенной области. Эти данные могут быть восстановлены в некоторой форме компьютерной системой и затем использованы пользователем. Фигура 1 схематично показывает некоторые ключевые элементы. Фигура 1 показывает носитель 1 данных круговой формы, подобный компакт-диску (CD), или CD-ROM, имеющий данные, хранимые в области памяти 2. Эти данные могут содержать как исполняемые программы, загружаемые один раз в компьютер, так и нефункциональные данные, подобные тексту, музыке и картинкам.
В соответствии с данным изобретением, носитель 1 данных снабжен микропроцессором 3. Фигура 1 показывает круговую антенну 4 в качестве интерфейса связи для блока микропроцессора, не показанного на фигуре 1. Фигура 2 показывает пример микропроцессора 3, содержащего процессор 5, подключенный к антенне 4, и память 7. Антенна предпочтительно содержит один или несколько круговых витков, расположенных таким образом, что они центрированы относительно центра вращения носителя 1 данных. Память 7 может содержать любой вид памяти, подобный оперативной памяти (RAM), ПЗУ (ROM), ППЗУ (EPROM), ЭСППЗУ (EEPROM) и т.д., позволяющий процессору 5 выполнять свои функции.
Предпочтительно, сам процессор 5 встроен в структуру носителя данных таким образом, что он является защищенным от подделки. Вместе с памятью 7 он может быть реализован в виде микропроцессора на одной микросхеме такого типа, который используют в смарт-карточках. Как показано на фигуре 1, в случае кругового носителя данных, сконструированного для вращения во время считывания, подобного CD или CD-ROM, микропроцессор 3 предпочтительно расположен таким образом, что его центр тяжести совпадает с центром вращения носителя 1 данных.
Предпочтительно, носитель данных содержит встроенную физическую структуру 9, подключенную к процессору 5. Эта физическая структура 9, например, изготовлена из одного или нескольких витков провода, присутствие которых может обнаруживаться процессором 5. Если микропроцессор 5 отключается от физической структуры 9, например, либо посредством удаления микропроцессора 3 с носителя 1 данных, либо посредством повреждения носителя 1 данных, процессор 5 обнаружит это и больше не будет способен осуществлять свою защитную функцию. С этой целью процессор 5 может определять сопротивление витков провода. Альтернативно, физическая структура 9 может иметь некоторую заданную электрическую емкость или индуктивность или любой вид (комплексного) импеданса, который может быть определен процессором 5. С этой дополнительной структурой 9 больше нельзя использовать микропроцессор 3 после его удаления с носителя 1 данных. Только обратное проектирование могло бы затем обеспечить знания о содержимом микропроцессора 3. Однако это содержимое может быть уникальным для каждого другого микропроцессора 3, так что обратное проектирование никогда не будет целесообразным.
Фигура 1 также показывает компьютерное устройство 11, содержащее, например, отдельный блок 16 с процессором 8, монитором 18 и средствами ввода, подобными клавиатуре 20 и мыши 22. Блок 16 также содержит память 14, подключенную к процессору 8. Эта память показана как один "черный ящик", однако следует понимать, что память 14 может содержать любой вид памяти, подобный RAM, ROM, EPROM, ЕЕPROM и т.д. для того, чтобы позволить процессору 8 выполнять свои обычные операции.
В некоторых вариантах осуществления компьютерное устройство 11 может содержать устройство 13 считывания смарт-карточек, подключенное к процессору 8 и приспособленное для считывания смарт-карточки 15.
Показано, что процессор 8 подключен к лазерному устройству 10, служащему в качестве интерфейса для считывания данных с носителя 1 данных (и, возможно, записи на него). Конечно, в случае использования другого типа носителя данных, чем CD или CD-ROM, должен использоваться также и другой тип интерфейса 10. Канавка 12 обеспечена для того, чтобы позволить лазерному устройству 10 перемещаться в радиальном направлении по носителю 1 данных, как известно специалистам в данной области техники.
Кроме интерфейса 10, блок 16 содержит другой блок 6 интерфейса, который приспособлен для того, чтобы позволить процессору 8 устанавливать связь с процессором 5 на носителе 1 данных, когда он вставлен в блок 16 в свое положение считывания, в котором данные могут быть считаны с области памяти 2 на носителе 1 данных лазерным устройством 10.
Фигура 3 показывает альтернативный вариант осуществления носителя данных согласно изобретению. Она показывает кассету 24 с лентой, хранящей данные и намотанной вокруг двух осей 26, 28, как известно в данной области техники. Опять же, микропроцессор 3 встроен в физическую структуру кассеты 24. Альтернативно, микропроцессор 3 может быть помещен на малой боковой поверхности кассеты 24.
Вместо CD/CD-ROM, как показано на фигуре 1, или кассеты, показанной на фигуре 3, для осуществления данного изобретения может быть использован любой другой известный тип носителя данных, такой как флоппи-диск.
Процессор 5, встроенный в носитель 1 данных, запрограммирован на управление доступом процессора 8 к считыванию и/или записи в область 2 памяти носителя данных. С этой целью процессор 5 предпочтительно приспособлен для генерации одного или нескольких секретных криптографических ключей, которые, например, инициализируются на последних стадиях изготовления носителя 1 данных с процессором 5. Один или несколько таких ключей являются, предпочтительно, уникальными для носителя данных и могут просто храниться в памяти 7 микропроцессора 3 или вычисляться процессором 5, как будет объяснено далее. Ниже, ради простоты описания, будет предполагаться, что используется только один ключ.
По меньшей мере часть данных в области 2 данных сохраняется после шифрования посредством этого ключа. В одном варианте осуществления, ключ непосредственно хранится в памяти 7 микропроцессора 3. Однако процессор 5 может быть приспособлен для вычисления правильного ключа на основе одного или нескольких (главных) ключей в памяти 7 с использованием относящихся к ключам данных, извлеченных из области 2 памяти на носителе 1 данных. Со ссылкой на фигуру 4 такой ключ, относящийся к данным, будет считан из области 2 памяти процессором 8 из компьютерного устройства 11, предпочтительно, без использования любого дополнительного механизма санкционирования и затем будет передан к процессору 5 через интерфейс 4 связи. Посредством использования относящихся к ключу данных, хранимых в области 2 памяти, для того чтобы позволить процессору 5 вычислить необходимый ключ с использованием своего собственного главного ключа из блока 7 памяти, алгоритмы шифрования, используемые для того, чтобы скрыть данные, подлежащие защите, на носителе 1 данных, могут быть выбраны для использования очень длинных ключей, подобно вычислениям единовременного заполнения, которые требуют ключей той же самой длины, что и защищенные данные.
Когда пользователь дает команду процессору 8 компьютерного устройства 11 посредством своих средств ввода 20, 22 считать защищенные (шифрованные) данные с носителя 1 данных, это потребует от процессора 5 сгенерировать правильный ключ. Процессор 5 пошлет свой ключ из памяти 7 или вычислит правильный ключ на основе относящихся к ключу данных, как указано выше, и пошлет этот ключ к процессору 8. Как указано на этапе 40 фигуры 5, процессор 8 примет этот ключ. Затем процессор 8 считывает данные из области 2 памяти носителя 1 данных, этап 42. Как показано на этапе 44, процессор 8 использует этот ключ для дешифрации данных, считываемых с носителя 1 данных, и сохранит дешифрованные данные в своей памяти 14. Команды, относящиеся к тому, как установить связь с носителем 1 данных, могут быть загружены с носителя 1 данных в процессор 8 способом, известным специалисту в данной области техники, например, посредством загрузки исполняемого файла с носителя 1 данных в процессор 8.
На практике генерация ключа процессором 5 будет зависеть от того, выполнено или нет одно или несколько условий. Это далее объясняется на фигуре 6.
Одним таким условием может быть период времени, за который данные в носителе 1 данных могут быть считаны и дешифрованы после заданной даты, загруженной в память 7 микропроцессора 3. Такими данными может быть, например, демонстрационная компьютерная программа, которая может быть использована в течение трех месяцев, после чего дешифрация будет автоматически блокирована.
Другим условием может быть максимальное число раз, когда данные могут быть считаны с носителя 1 данных и дешифрованы процессором 8 или любым другим процессором, внешним по отношению к носителю 1 данных. С этой целью микропроцессор 3 может хранить это максимальное число и проверять, превосходит ли число раз, когда компьютерное устройство запрашивает ключ, это максимальное число. Например, во многих случаях конечному пользователю разрешено считать и дешифровать данные дважды, т.е. один раз для регулярных целей и один раз для создания резервной копии. В этих случаях максимальное число равно 2.
В общем случае, как показано на фигуре 6, для проверки условия, подлежащего выполнению, компьютерное устройство 11 и носитель 1 данных начинают обмен данными на этапе 50. Для повышения надежности условие предпочтительно проверяется процессором 5 носителя 1 данных, этап 52. Только при выполнении условия процессор 5 сгенерирует требуемый ключ и пошлет его к процессору 8 компьютерного устройства 11, этап 54.
Для уверенности в том, что как ключ, так и алгоритм дешифрации никогда не будут полностью известны компьютерному устройству, защита и контроль над использованием данных могут быть достигнуты посредством такого взаимодействия между процессором 5 и процессором 8, что процессор 5 выполняет дополнительные вычисления, необходимые для алгоритма дешифрации. Для эффективной работы в отношении быстродействия такие дополнительные вычисления для дешифрации могут осуществляться над выбранной частью данных, подлежащих защите, например в каждых 100 байтах из каждых извлеченных 20 килобайтов. С этой целью фигура 4 показывает ситуацию, когда часть шифрованных данных с носителя 1 данных передается процессору 5 компьютерным устройством 11.
Степень защиты может быть дополнительно повышена посредством введения механизма аутентификации пользователя. Тогда, только когда пользователь докажет его/ее аутентичность процессору 5, последний обеспечит правильный ключ. С этой целью пароли или коды пользователя, вводимые пользователем через одно из средств 20, 22 ввода, могут эффективно использоваться. Такой пароль или код пользователя должен тогда соответствовать паролю или коду пользователя, хранимому в памяти 7.
Альтернативно, может быть использован алгоритм принятия пароля, основанный на дополнительных данных аутентификации, хранимых в носителе 1 данных. Такие данные аутентификации могут считываться процессором 8 с носителя 1 данных и передаваться к микропроцессору 3 (см. фигуру 4). Пароль, введенный пользователем, может, например, быть проверен процессором 5 на подлинность при проверке того, принадлежит ли он к словарю допустимых слов, хранимых в качестве таких данных аутентификации в носителе 1 данных, возможно, дополненному правилами их сочетания, причем эти правила хранятся в качестве ключа аутентификации в памяти 7.
Идентификация пользователя также может быть выполнена посредством использования устройства 13 считывания смарт-карточек и смарт-карточки 15, которая принадлежит пользователю, который знает пароль, связанный со смарт-карточкой 15.
В качестве дополнительной альтернативы, устройство 13 считывания смарт-карточек может быть приспособлено для считывания смарт-карточки 15, снабженной устройством "электронного кошелька", и процессор 5 может быть приспособлен для того, чтобы дать возможность дешифровать данные с носителя 1 данных только при уплате через "электронный кошелек" заданной суммы денег. Средство платежа через Интернет является другим вариантом предоплаты любой следующей стадии дешифрации.
Механизм защиты, иллюстрированный выше, может быть расширен до обеспечения различных наборов ключей для различных наборов данных на носителе данных.
Копия данных, подлежащих защите и загрузке в память 14 компьютера, может быть снабжена цифровым "водяным знаком", вычисляемым микропроцессором 8 во время процесса загрузки данных в компьютер 11. Алгоритм вычислений, используемый процессором 8 для обеспечения "водяного знака", извлекается из носителя 1 данных. Альтернативно, либо часть "водяного знака", либо весь "водяной знак" вычисляется процессором 5 и посылается к процессору 8. "Водяной знак" может включать в себя время загрузки, информацию об именовании пользователя или любую другую информацию для уникальной идентификации хранимой копии загружаемых данных. "Водяной знак" может использовать элементы самих данных, так что сами данные по меньшей мере будут частично повреждены, если кто-то пытается устранить "водяной знак". "Водяной знак" служит в качестве идентификатора для поиска источника незаконных копий данных.
Показано, что процессор 8 является одним блоком. Однако, если это предпочтительно, процессор 8 может быть реализован в виде нескольких подпроцессоров, связывающихся друг с другом, причем каждый из них специализирован для выполнения предопределенного задания. Предпочтительно, процессор 8 (или подпроцессоры) реализован в виде компьютера с соответствующим программным обеспечением. Однако, если это желательно, он (или они) может быть реализован в виде специализированных цифровых схем.
Программное обеспечение, выполняемое процессором 5 носителя 1 данных и процессором 8 компьютерного устройства 11, может перед загрузкой храниться на носителе данных, подобному CD-ROM, или может распространяться через телекоммуникационное подключение (например, целиком или частично радиофицированное), подобное Интернету.
Изобретение относится к цифровым устройствам хранения данных. Технический результат изобретения: обеспечение надежной защиты против незаконного копирования данных с носителя данных. Сущность: считываемый компьютером носитель снабжен областью памяти для хранения данных и отдельным микропроцессором, имеющим интерфейс связи, блок памяти и процессор, подключенный как к интерфейсу связи, так и к блоку памяти. Данные могут включать в себя первую часть данных, которая приспособлена для считывания и дешифрации компьютерным устройством, при условии выполнения по меньшей мере одного условия. Микропроцессор приспособлен для генерации по меньшей мере одного криптографического ключа. Процессор выполнен с возможностью осуществления связи с компьютерным устройством через интерфейс связи для проверки того, выполнено ли упомянутое условие, и для генерации упомянутого криптографического ключа для упомянутого компьютерного устройства, если это условие выполнено. Также предложены компьютерное устройство для связи со считываемым компьютером носителем; способ считывания и дешифрации данных со считываемого компьютером носителя; носитель данных; компьютерный программный продукт для реализации при выполнении процессором способа считывания и дешифрации данных со считываемого компьютером носителя; способ предоставления доступа к данным, хранимым на считываемом компьютером носителе; носитель данных, снабженный компьютерной программой для выполнения способа предоставления доступа к данным, хранимым на считываемом компьютером носителе; компьютерный программный продукт для выполнения способа предоставления доступа к данным, хранимым на считываемом компьютером носителе; способ предоставления доступа к данным, хранимым на считываемом компьютером носителе, и система обеспечения безопасного доступа к данным. 10 н. и 17 з. п. ф-лы, 6 ил.
(a) прием по меньшей мере одного криптографического ключа от упомянутого процессора (5);
(b) считывание первой части данных из упомянутой области памяти в упомянутом считываемом компьютером носителе;
(c) дешифрация упомянутой первой части данных с использованием по меньшей мере одного криптографического ключа.
(a) считывание упомянутой второй части данных из упомянутой области памяти в упомянутом считываемом компьютером носителе,
(b) посылки упомянутой второй части данных к упомянутому процессору (5) для генерации по меньшей мере, одного криптографического ключа упомянутым процессором (5);
(c) прием по меньшей мере одного криптографического ключа от упомянутого процессора (5);
(d) считывание первой части данных из упомянутой области памяти в упомянутом считываемом компьютером носителе;
(e) дешифрация упомянутой первой части данных с использованием по меньшей мере одного криптографического ключа.
(a) считывание упомянутой второй части данных из упомянутой области памяти в упомянутом считываемом компьютером носителе,
(b) посылки упомянутой второй части данных к упомянутому процессору (5) для генерации по меньшей мере одного криптографического ключа упомянутым процессором (5);
(c) прием по меньшей мере одного криптографического ключа от упомянутого процессора (5);
(d) считывание упомянутой первой части данных из упомянутой области памяти в упомянутом считываемом компьютером носителе;
(e) дешифрация упомянутой первой части данных с использованием по меньшей мере одного криптографического ключа.
(a) считывание упомянутой второй части данных из упомянутой области памяти в упомянутом считываемом компьютером носителе,
(b) посылки упомянутой второй части данных к упомянутому процессору (5) для генерации по меньшей мере, одного криптографического ключа упомянутым процессором (5);
(c) прием по меньшей мере одного криптографического ключа от упомянутого процессора (5);
(d) считывание упомянутой первой части данных из упомянутой области памяти в упомянутом считываемом компьютером носителе;
(с) дешифрация упомянутой первой части данных с использованием по меньшей мере одного криптографического ключа.
(а) осуществления связи с упомянутым компьютерным устройством (11) через упомянутый интерфейс (4) связи;
(b) проверки того, выполнено ли упомянутое условие;
(c) генерации упомянутого криптографического ключа для упомянутого компьютерного устройства (11), если это условие выполнено.
(a) осуществления связи с упомянутым компьютерным устройством (11) через упомянутый интерфейс (4) связи;
(b) проверки того, выполнено ли упомянутое условие;
(c) генерации упомянутого криптографического ключа для упомянутого компьютерного устройства (11), используя упомянутую вторую часть данных, если это условие выполнено.
(a) осуществления связи с упомянутым компьютерным устройством (11) через упомянутый интерфейс (4) связи;
(b) проверки того, выполнено ли упомянутое условие;
(c) генерации упомянутого криптографического ключа для упомянутого компьютерного устройства (11), используя упомянутую вторую часть данных, если это условие выполнено.
генерируют посредством внедренной системы обработки криптографический ключ на основе относящихся к ключу данных, получаемых посредством дешифрации упомянутой второй части данных, предоставляемых во внедренную систему обработки посредством внешней системы обработки,
дешифрируют внешней системой обработки первую часть данных, используя криптографический ключ.
ЕР 0849734 А2, 24.06.1998 | |||
WO 9938162 А2, 29.07.1999 | |||
УСТРОЙСТВО ЗАЩИТЫ ИНФОРМАЦИИ, ХРАНЯЮЩЕЙСЯ В ПЕРСОНАЛЬНОЙ ЭВМ | 1995 |
|
RU2099779C1 |
Авторы
Даты
2005-03-27—Публикация
1999-12-07—Подача