Система информационного обмена

Реферат

 

Изобретение относится к системам информационного обмена с портативными блоками обработки данных. Техническим результатом является создание средства, предназначенного для оптимизации ограничений, налагаемых размерами области памяти, и создание механизма защищенной загрузки программных кодов. Система информационного обмена состоит по меньшей мере из одного портативного блока обработки данных, содержащего в себе средство передачи данных, средство обработки и запоминающее средство, причем последнее содержит первую область с управляющей программой и вторую область, содержащую описания возможных режимов связи между блоками обработки данных в виде контекстов взаимодействия. 16 з.п. ф-лы, 5 ил.

Изобретение касается системы информационного обмена, включающей в себя по меньшей мере один портативный блок обработки данных, содержащий средство передачи данных, средство обработки данных и запоминающее устройство, причем последнее содержит в себе управляющую программу.

Такая система известна из международной заявки на патент WO-A-87/07063, в которой описана система, прданазначенная для портативного носителя информации, имеющего файлы многочисленных прикладных задач. Одним из наиболее важных применений такого портативного носителя информации является интеллектуальная карточка, пригодная для многочисленных применений. Известный носитель информации описан как носитель иерархических структурированных данных с характеристиками защиты для обеспечения решения многочисленных прикладных задач с одним и тем же носителем данных. Прикладные задачи представлены в виде наборов данных. В указанной заявке описано выполнение системы иерархических файлов на носителе информации для запоминания изменяемых данных в сочетании с иерархическим набором разрешений доступа. Носитель информации реагирует на набор общих команд. Разрешения доступа к файлу различаются для различных операций и допускаются в зависимости от подтверждения пароля. Вводится счетчик попыток верификаций пароля, а также предусмотрено уничтожение запомненных данных в качестве санкции против слишком большого количества попыток обращений.

Известный носитель информации представляется, в первую очередь, в виде запоминающего устройства, а не в виде процессора. С помощью управляющей программы типа двоичной логической операции можно выполнять только очень простые функции. Не допускается выполнение непредусмотренного набора операций по запросу терминала, устанавливающего связь с носителем информации. Единственную возможность защиты обеспечивает введение верификации пароля. В известной системе невозможны другие проверки условий доступа. Помимо этого, каждая прикладная задача для носителя информации имеет свой собственный файл в памяти носителя информации. Отсутствуют специальные меры повышения эффективности располагаемой области памяти, которая, особенно на интеллектуальных карточках, весьма ограничена и, следовательно, устанавливает ограничения на количество возможных применений.

Патент EP-A-0479655 касается осуществления проверок условий доступа в интеллектуальных карточках. Однако для раскрытой здесь технологии желательно обеспечить меры для введения возможности других проверок условий доступа.

Патент EP-A-0361491 касается системы программирования плат с микросхемами, обеспечивающей осуществление защитного перепрограммирования карточек. В нем описано использование режимов доступа с однократной записью для управления доступом к частям программируемой памяти. Таким образом, можно расширить количество применений одной карточки. Описана проверка условий доступа различными методами, включая криптографические протоколы.

Патент EP-A-0292248 касается загрузки прикладных программ в интеллектуальную карточку, используя неизменяемую программу операционной системы. Она включает в себя осуществление способа форсирования режима доступа к данным, используя зоны памяти с назначенными атрибутами доступа. Особые режимы доступа представляют собой "однократную запись" (которая описана только косвенно) и "только выполнение".

Патент США 4874935 касается программирования карточек с использованием словаря данных, описывающего формат элементов данных, запомненных в памяти карточки. Словари данных обычно отличаются от каталогов тем, что они описывают не только действительно запомненные данные, но также и данные, которые будут запоминаться позже. Дополнительно к этому, словари данных обычно включают в себя описание формата данных. В компилированных форматах словари данных используются в системах управления базами данных, где они запоминаются на жестком диске в виде части базы данных. Кроме того, их закладывают в выходные загрузочные файлы, получающиеся в результате компиляции программы в условиях разработки программного обеспечения. Однако в патенте не заявлено представление словарей данных, в частности, пригодных для интеллектуальных карточек.

Задачей настоящего изобретения является создание средства, предназначенного для оптимизации ограничений, налагаемых ограниченными физическими размерами располагаемой области памяти в портативных устройствах обработки данных, особенно интеллектуальных карточках.

Также задачей настоящего изобретения является создание более общего механизма защищенной загрузки программных кодов и обеспечение возможности такой загрузки для множества программ, каждая из которых предназначена для одной прикладной задачи каждого портативного блока обработки данных.

Настоящее изобретение направлено также на обеспечение использования проверок режима доступа, не заданных изготовителем портативного устройства обработки данных, но выбираемых разработчиком прикладной задачи для удовлетворения его конкретных потребностей.

Для решения указанных задач соответствующая изобретению система отличается тем, что запоминающее средство дополнительно содержит по меньшей мере один контекст взаимодействия, содержащий в себе следующую структуру когерентных данных: a) набор основных примитивов (базисных элементов) связи, которые принимаются всякий раз, когда устройство обработки данных осуществляет связь с аналогичным устройством, причем упомянутые примитивы по меньшей мере включают в себя примитив, используемый для избирательного ввода одного из упомянутых контекстов взаимодействия; b) набор процедурных описаний, определяющих подлежащие выполнению действия в ответ на каждый из принятых примитивов связи, по меньшей мере содержащий в себе первое процедурное описание, подлежащее выполнению при активировании контекста взаимодействия, и последнее процедурное описание, подлежащее выполнению непосредственно перед деактивированием контекста; c) возможно незаполненный набор элементов данных, либо постоянно хранящихся в памяти, либо вычисляемых, которые полезны для использования при выполнении определяемых в процедурных описаниях процедур; d) возможно незаполненный набор ссылок на элементы данных, и эти ссылки связываются с процедурными описаниями, причем упомянутые элементы данных также доступны для возможных в дальнейшем контекстов взаимодействия и доступны для использования при выполнении процедур, определяемых в процедурных описаниях; e) возможно незаполненная таблица данных, содержащая в себе таблицу ссылок на элементы данных, которые доступны для точной ссылки в качестве части примитива связи, подлежащего использованию процедурным описанием, связанным с примитивом связи; f) набор условий доступа, связанных с элементами данных, на которые осуществляются ссылки в связи с процедурными описаниями; g) набор условий доступа, связанных с таблицей ссылок на данные в таблице данных.

Благодаря такому определению данных в запоминающем средстве портативного блока обработки блок обработки реально организован в виде процессора, то есть он не только обеспечивает возможность осуществлять логические операции, но также выполняет процедуры, которые могут загружаться в блок обработки уполномоченными на это лицами, например представителем персонала банка. Предусматривая процедуры, которые могут обеспечить произвольные сложные операции в ответ на принимаемые команды и обеспечивая подробную таблицу запомненных элементов данных, которые могут адресоваться как часть таких команд, можно оптимально использовать ширину занимаемой полосы частот, получая в результате уменьшенное количество обмениваемых команд. При соответствующей изобретению системе множество действительных использований системы требуют обмена только двумя командами. Фиксируется только структура в запоминающем средстве, которая определена таким образом, что позволяет весьма эффективно добавлять прикладные задачи блока, то есть с использованием минимально возможной дополнительной области памяти. Это особенно важно, если блок представляет собой интеллектуальную карточку, которой свойственно жесткое ограничение для располагаемой области памяти. Помимо этого, соответствующая изобретению структура обеспечивает возможности включения мер защиты для исключения доступа неуполномоченным лицам к процедурам или данным, которые они не имеют права использовать.

В первом предпочтительном варианте осуществления определенная выше система обмана данными отличается тем, что средство памяти дополнительно содержит в себе по меньшей мере два контекста взаимодействия, по меньшей мере одно описание прикладной задачи и элемент памяти для хранения ссылки на действующий в данный момент контекст взаимодействия, причем каждое описание прикладной задачи содержит в себе: a) таблицу данных, содержащую в себе ссылки на элементы данных, эти ссылки доступны для двух или более контекстов взаимодействия и могут направляться с помощью дополнительных элементов данных; b) дополнительный набор условий доступа, связанных с упомянутыми дополнительными элементами данных и определяющих ограничения использования.

Благодаря этим мерам все ссылки на элементы данных, которые являются общими для разных контекстов взаимодействия, доступны для всех этих контекстов взаимодействия, так что их необходимо запоминать только один раз, экономя область памяти. Кроме того, общие условия доступа к упомянутым ссылкам к данным доступны для заранее установленных контекстов взаимодействия. Следовательно, эти общие условия доступа также необходимо запоминать только один раз, экономя тем самым область памяти и повышая эффективность.

Каждое описание прикладной задачи также может содержать в себе библиотеку процедур, содержащую в себе модули рабочей программы, которые можно использовать с помощью процедурных описаний каждого контекста взаимодействия, связанного с каждым из упомянутых описаний прикладных задач.

Блок обработки предпочтительно пригоден по меньшей мере для двух прикладных задач с использованием небольшой дополнительной области памяти. Для достижения этой цели соответствующая изобретению система отличается тем, что средство памяти содержит в себе по меньшей мере два описания прикладных задач и модулей рабочей программы, которые могут быть использованы посредством процедурных описаний каждого контекста взаимодействия в каждом описании прикладной задачи или с помощью каждого модуля рабочей программы каждой библиотеки процедур в каждом описании прикладной задачи.

Модули рабочей программы в библиотеке процедур предпочтительно модернизируются путем включения спецификации использования их операционных параметров в классы, касающиеся определяющих признаков, относящихся к элементам данных, которые можно использовать в качестве действительного значения при вычислении, причем вычисление производится только в том случае, если согласованы определяющие признаки данных и классы параметров. Это является эффективным способом проверки условий доступа по информационному уровню и функциональному уровню, для которого существует весьма эффективная реализация.

Обеспечивается более высокая надежность системы, если соответствующая изобретению система информационного обмена отличается тем, что управляющая программа содержит в себе обращение к устанавливаемому по умолчанию контексту взаимодействия, который используется для инициализирования элемента памяти, запоминающего ссылку на действующий в настоящий момент контекст взаимодействия, для выполнения конечного действия после выявления внутреннего противоречия при возвращении к нормальному режиму работы или всякий раз, когда управляющая программа активирована и не определен точный контекст взаимодействия с помощью примитива связи, принимаемого из противоположного блока обработки данных.

Для совершенствования надежности данных и функций в блоке обработки соответствующая изобретению система информационного обмена отличается тем, что средство памяти содержит контекст взаимодействия, назначенный для содержания Персональных идентифицирующих номеров, а управляющая программа приспособлена для проверки Персональных идентифицирующих номеров (ПИН), обеспечиваемых пользователем системы информационного обмена.

Контекст взаимодействия управлением Персональным идентифицирующим номером и устанавливаемый по умолчанию контекст можно выгодно реализовать в виде части той же прикладной задачи владельца устройства. Обеспечение этой прикладной задачи большим количеством устройств, с которыми осуществляет связь соответствующее изобретению устройство, дает владельцу устройства возможность пересматривать его персональные данные, запомненные в памяти устройства, например владелец интеллектуальной карточки может иметь возможность видоизменять свой ПИН (персональный идентификационный номер) на любом терминале интеллектуальных карточек, который обеспечивает соответствующий пользовательский интерфейс.

Каждое описание прикладной задачи может содержать в себе таблицу числовых значений, которая построена таким образом, чтобы обеспечить идентификаторы для всех контекстов взаимодействий, и содержит в себе по меньшей мере первое числовое значение, идентифицирующее тип прикладной задачи, второе числовое значение, указывающее уникальную идентификацию поставщика прикладной задачи, третье числовое значение, указывающее характер описания прикладной задачи, и дополнительные номера, каждый из которых однозначно указывает на один контекст взаимодействия, связанный с описанием прикладной задачи.

Последовательность числовых величин, однозначно относящихся к контексту взаимодействия, обеспечивает средство установления возможности взаимодействия между двумя осуществляющими связь устройствами, которое более эффективно, чем предусматривается в настоящее время, например, для интеллектуальных карточек, при передаче поставщику прикладной задачи ответственности за назначение однозначных значений каждому контексту взаимодействия, оставляя назначение уникальных номеров категориям и прикладным задачам для соответствующих групп пользователей, относящихся к секторной и международной кооперации соответственно. Поставщик прикладной задачи может с выгодой назначать уникальные номера контекстов для введения версий реализации и секретной информации генерирования ключа.

Средство передачи данных может быть выполнено так, чтобы осуществлять структурирование обмена данными посредством блоков данных, включающих в себя по меньшей мере две части, где первая часть представляет собой данные, квалифицируемые как рабочие данные в том смысле, что они используются для воздействия на характер операций, осуществляемых с помощью команды, как указывается примитивом связи, или для влияния на характер данных, получаемых в результате осуществления операций; вторая часть квалифицируется в качестве защиты в том смысле, что она используется для определения соответствия осуществления операции или приемлемости данных в части рабочих данных, подлежащей использованию в операции, или для подтверждения завершения операции или правильности полученных в результате данных.

Такие соответствие, приемлемость, подтверждение и правильность получаются с помощью выполнения релевантных криптографических операций с данными. Таким образом, идентификация и защита данных делаются неотъемлемой частью выполнения команд, обеспечивающих лучшую защиту, чем можно получить в имеющихся в настоящее время системах, например интеллектуальных карточках.

Управляющая программа может быть компонована для выполнения при приеме примитива связи операций, определяемых в текущем контексте взаимодействия, причем каждая операция представляет собой часть заранее установленной и фиксированной последовательности действий, каждое из которых определено как часть процедурного описания, связанного с принятым примитивом связи, и эти действия содержат в себе по меньшей мере следующие действия: a) разрешение использования примитива связи; b) расшифровывание рабочих данных или какой-либо их части; c) выполнение команды с любыми входными данными; d) зашифровывание любых рабочих данных, получающихся в результате выполнения какой-нибудь операции; e) вычисление подтверждения завершения какого-либо выполненного действия или правильности получающихся в результате данных, подлежащих использованию при вычислениях для обеспечения защиты.

Защита дополнительно усиливается, если блок обработки данных генерирует случайное число транзакции при инициализации передачи данных, которое служит в качестве основы для криптографических вычислений.

Чтобы обеспечить возможность ввода нового контекста взаимодействия, если требуется, один примитив связи можно назначить определенному значению, которое всегда будет интерпретироваться как требование для ввода нового контекста взаимодействия.

В следующем предпочтительном варианте осуществления соответствующая изобретению система информационного обмена отличается тем, что включает в себя дополнительный блок обработки данных, содержащий в себе такие же элементы, как блок обработки данных, а также интерфейс прикладного программирования, который состоит из кода программы, разработанного для обеспечения возможности выполнения дополнительных машинных программ для обеспечения пользователей управлением последовательностью обмениваемых примитивов связи или воздействия на передаваемые в них данные, или для обучения, или дальнейшей обработки данных, принимаемых при обмена. Совершенствование программного обеспечения для соответствующих изобретению систем обеспечивает выгоды из-за наличия интерфейса прикладного программирования.

В таком предпочтительном варианте осуществления изобретения примитив, используемый для ввода определенного контекста взаимодействия, может содержать в себе числовые значения, подлежащие использованию при вычислениях зашиты в последующих связях, первое значение, генерируемое случайным образом одним из блоков обработки, и второе значение, служащее для идентификации упомянутого блока обработки.

Дополнительные преимущества данного изобретения обеспечиваются тем, что каждый примитив связи можно далее структурировать таким образом, чтобы он состоял из двух или больше числовых значений, которые увеличивают возможности выражения значений примитива связи для интерпретации с помощью управляющей программы.

В качестве первого альтернативного варианта каждый примитив связи может состоять из двух или больше числовых значений, причем первое значение используется для обращения к процедурному описанию действия, связанного с примитивом взаимодействия, второе значение состоит из фиксированного количества двоичных значений, каждое из которых интерпретируется с помощью управляющей программы, в виде ссылки на один элемент данных.

В качестве второго альтернативного варианта каждый примитив связи может состоять из двух или больше числовых значений, причем первое значение используется для обращения к процедурному описанию действия, связанного с примитивом связи, второе значение используется для определения, который из элементов данных, доступный для внешнего обращения в действующем контексте взаимодействия, будет использован при выполнении соответствующих действий таким образом, что выбирается любой элемент данных, если он содержит значение, согласующееся с упомянутым вторым значением.

В качестве третьего альтернативного варианта каждый примитив связи состоит из двух или более числовых значений, причем первое значение используется для обращения к процедурному описанию действия, связанного с примитивом связи, второе значение составлено из ряда двоичных значений, которые присваиваются конкретным значениям управляющей программой, подлежащей использованию при интерпретировании форматов данных в примитиве связи и при осуществлении ответных действий.

Определенный выше механизм контекста и способы, которые делают его доступным, приводят к более широкому диапазону использования интеллектуальных карточек и принципу разработки прикладных задач интеллектуальных карточек, которые имеют ряд преимуществ по сравнению с традиционными путями.

Прежде всего, он обеспечивает возможность выполнения особого кода программы прикладной задачи в интеллектуальной карточке, без необходимости тщательной проверки кода на потенциальные опасности для защиты данных, запомненных для других прикладных задач. Поскольку условия доступа, которые хранятся вместе с данными на карточке, осуществляются операционной системой карточки, исключая помехи извне при выполнении кода прикладной задачи, схема мультизадачной карточки не нуждается в коде программы, проверяющем полномочия. Такие полномочия в традиционных интеллектуальных карточках являются единственным способом обеспечить возможность исполнения личного кода. При подтверждении кода для использования на карточке полномочия проверки влекут за собой обязанности в отношении защиты всей системы; это значительно усложняет управление схемами мультизадачных интеллектуальных карточек. Связанные с этим сложность и стоимость делают применение конкретного кода в традиционных схемах карточек почти невыполнимым. В случае новой технологии потребности в выполнении этих возможностей со стороны поставщиков прикладных задач интеллектуальных карточек могут быть удовлетворены.

Во-вторых, как прямое следствие защищаемой прикладной задачи специфических программ на карточках, можно реализовать специализированную прикладную задачу, которая предназначена для загрузки других прикладных задач на карточку. Таким путем прикладные задачи, загруженные на карточку, могут быть защищены от самой прикладной задачи, которая их загружает. Эта защита создает основу для деловых соглашений между сторонами, связанными с созданием схемы мультизадачной карточки, в частности между стороной, выпускающей карточки, и стороной, обеспечивающей прикладные задачи. Основываясь на материальных характеристиках, таких как величина памяти, необходимая каждой карточке, количество обеспечиваемых карточек и продолжительность выполнения прикладной задачи на карточке, вместо абстрактных понятий "траст" и "кредитное содержание", можно легче формулировать заказ поставщикам прикладных задач, чем в традиционно выполненных интеллектуальных карточках. Более того, выпускающему карточки и поставщику прикладных задач не нужно совместно использовать ключевые слова защиты и защищать это совместное использование договорными обязательствами и взаимно согласованными возможностями переноса ключевых слов.

В-третьих, программное обеспечение прикладной задачи, если выполнено на основании новой технологии, имеет несколько преимуществ по сравнению с существующими операционными системами интеллектуальных карточек.

- Минимальный обмен данными между терминалом и карточкой необходим для установления возможности взаимодействия между карточкой и терминалом, например они поддерживают одну и ту же прикладную задачу (задачи). Значения подлежащих обмену данных для этой цели можно структурировать так, как предложено в проекте международного стандарта ISO 7816-5.

- Для завершения транзакции между карточкой и терминалом можно, как теоретически предполагается, в действительности использовать минимальное число информационных обменов, поскольку транзакция завершается в виде частного вычисления вместо необходимости использовать растянутую последовательность стандартных команд.

- Обеспечивается возможность осуществления управляемого доступа к данным, не требуя сложного пути доступа, определяемого каталогом и иерархией файлов с участием всех прикладных задач, используемых в настоящее время и предлагаемых для стандартизации.

- Обеспечивается возможность осуществления совместной разработки терминала и прикладной задачи интеллектуальной карточки, причем процесс разработки может поддерживаться компьютерными инструментальными программными средствами типа компиляторов и эмуляторов. Таким образом, разработка и реализация программного обеспечения карточки и терминала могут быть подняты над утомительным и подверженным ошибкам кодированием на общепринятом в настоящее время языке ассемблера.

- Обеспечивается возможность стандартизации оборудования, как карточек, так и терминалов с использованием абстрактного формализованного подхода для описания возможностей устройства, которые обеспечивают гибкость для будущего развития, в частности характеристик, предлагаемых изготовителями карточек и терминалов. Стандартизированные возможности терминала могут включать в себя API (интерфейс прикладных программ). В противоположность этому современные усилия по стандартизации в части интеллектуальных карточек сосредоточены на предписывании фиксированных содержаний данных сообщений, предназначенных для обеспечения идентификационных значений, интерпретируемых в соответствии со стандартом, который оставляет небольшой участок памяти для новых разработок.

И наконец, в случае новой технологии разработчики операционных систем интеллектуальных карточек имеют большую свободу в проектировании оптимальных реализаций ядра операционной системы карточки и операционной системы терминала. Разработчики аппаратного обеспечения интеллектуальных карточек имеют несколько вариантов для оптимизации использования микросхемы с поддержкой аппаратными средствами для базовых операций, включенных в ядро системы. Снижение стоимости аппаратных средств, получаемое, начиная с определенного выше специализированного проектирования, может быть больше, чем когда оно основано на усовершенствованиях универсальных однокристальных.

Теперь будет подробно описано изобретение со ссылками на чертежи, на которых представлен пример реализации общих принципов настоящего изобретения.

Фиг. 1 представляет структуру существующей прикладной программы на интеллектуальных карточках, основанную на иерархически организованной совокупности элементов данных.

Фиг. 2 представляет схему потока сообщений между портативным блоком обработки с конструированным аналогичным образом блоком обработки в принятом в настоящее время в качестве стандарта формате.

Фиг. 3 представляет основную реализацию настоящего изобретения с использованием концепции контекстов взаимодействия в портативных блоках обработки, таких как интеллектуальные карточки и терминалы карточек.

Фиг. 4 представляет пример практической организации управляющего контекста, выделяющей различные взаимосвязи между процедурными описаниями, содержащимися в контексте взаимодействия и элементах данных, и библиотечными функциями, используемыми при выполнении процедур.

Фиг. 5 представляет пример блок-схемы управления выполнением программы и переключений контекстов для обеспечения защиты, связанных с выполнением процедурного описания, активизируемого примитивом связи.

На фиг. 1 представлена структура данных и файлов в существующих системах. По существу, имеется главный файл 1, который подсоединен к нескольким элементарным файлам 3 и одному или больше специализированным файлам 2. Каждый специализированный файл 2 может быть подсоединен к одному или больше следующим специализированным файлам 2 и к одному или больше элементарным файлам 3. В известном уровне техники используют древовидную иерархию каталогов и файлов. Количество подчиненных уровней в известной структуре в принципе не ограничено. Используемая в фиг. 1 терминология взята из предложенного международного стандарта ISO 7816-4. В соответствии со стандартом формата коммуникационного потока между портативным блоком обработки данных 5 и аналогично структурированным блоком обработки данных 4, как показано на фиг. 2, осуществление связи включает в себя набор блоков. Осуществление связи начинается с сигнала установки m0 из блока обработки данных 4. Такой сигнал установки может быть вне занимаемой ширины полосы частот типа генерируемой посредством логической схемы включения питания в блоке обработки данных 5. Портативный блок обработки данных 5 отвечает сигналом ответа на сигнал установки (ATR) m1 по возможности с последующими содержаниями. Все последующие пары блоков m2, m3,..., m(n-1), mn состоят из блоков, возглавляемых примитивом связи (например, командой), за которым следует содержание.

На фиг. 3 показана внутренняя структура двух соответствующих изобретению блоков обработки данных, которые обмениваются друг с другом передаваемыми и принимаемыми данными. Расположенный слева блок обработки данных 4 может представлять собой терминал, а расположенный справа блок обработки - портативный блок обработки данных, например интеллектуальную карточку. Однако изобретение также применимо к двум портативным блокам обработки данных, способным осуществлять связь друг с другом с помощью соответствующего средства связи.

Каждый из блоков обработки данных 4, 5 содержит в себе средство 7, 14 передачи данных, посредством которого можно обмениваться структурированными блоками данных. Каждый из блоков обработки данных 4, 5 содержит в себе средство обработки 8, 15 и память 9, 16. Память 9, 16 может иметь любую конфигурацию постоянного запоминающего устройства (ПЗУ), запоминающего устройства с произвольной выборкой (ЗУПВ) и программируемого постоянного запоминающего устройства, типа электрически стираемого программируемого постоянного запоминающего устройства (ЭСППЗУ).

Память 9, 16 включает в себя управляющую программу 12, 17, на фиг. 3 обозначенную "MAXOS". Если портативный блок обработки данных 5 пригоден для двух или больше прикладных задач, память 9, 16 содержит в себе два или больше описаний прикладных задач 13(1)... 13(n), 18(1)...18(n). Здесь имеется столько описаний прикладных задач, сколько прикладных задач содержит рассматриваемый блок обработки данных. Каждое описание прикладной задачи обозначено ссылочной позицией CSA. Второе описание прикладной задачи 13(2), 18(2) показано в увеличенном масштабе на фиг. 3 для отображения содержимого каждого описания прикладной задачи. Каждое описание прикладной задачи 13(i), 18(i) содержит в себе по меньшей мере один "контекст взаимодействия" 11(1).. . 11(m), 19(1). ..19(m). Каждый контекст взаимодействия обозначен ссылочной позицией CTA. Первый из этих контекстов взаимодействия 11(1), 19(1) показан в увеличенном масштабе для отображения его содержимого. Каждый контекст взаимодействия содержит в себе: - набор команд, определяющих примитивы связи, распознаваемые контекстом взаимодействия и указыващие соответствующие процедуры, определяемые в наборе процедур; - набор данных; - набор ссылок на данные, постоянно хранящиеся в других контекстах взаимодействия, если вообще имеются; - набор процедур, которые могут выполняться с помощью управляющей программы 12, 17; - набор условий доступа к элементам данных; - набор внешних ссылок, указывающих на элементы данных, подлежащие использованию в командах, выдаваемых другим блоком обработки данных; - дополнительно, другие перечни, определенные разработчиком.

Наконец, память 9, 16 содержит элемент памяти 21, 20, который содержит ссылку на "текущий CTA", то есть на действующий в данный момент контекст взаимодействия.

Назначение различных контекстов взаимодействия внутри одного описания прикладной задачи состоит в том, чтобы обеспечить функциональное разделение в возможных взаимодействиях между блоками обработки данных 4, 5. Это особенно релевантно, когда функциональное разделение также является разделением условий защиты. Примером может служить первое взаимодействие между интеллектуальной карточкой и терминалом с целью, например, открывания двери и второе взаимодействие для программирования дверей, которые можно открыть. Второе взаимодействие нуждается в лучшей защите, чем первое взаимодействие, и для него назначается собственный контекст взаимодействия. Для получения доступа к контексту взаимодействия первый этап заключается в обеспечении защиты операций, которые могут выполняться в пределах контекста взаимодействия.

На фиг. 4 показан практический подход к реализации механизма контекста, отображенный в виде модели организации памяти, которая изображает соотношения между элементами данных, условиями доступа и процедурами. Структура по фиг. 4 применяется тогда, когда имеются две или больше прикладные задачи для портативного блока обработки данных 5. Если имеется только одна прикладная задача, структура сильно упрощается, как будет показано ниже. На фиг. 4 изображены ссылочные позиции блока обработки данных 5. Однако показанная на фиг. 4 структура также применима к памяти 9 блока обработки данных 4. На фиг. 4 описания элементов данных и описания процедур оптимально организованы таким образом, чтобы отражать разделение кода программы и разделение данных между разными контекстами взаимодействия (ссылочные позиции CTA), которые составляют одну прикладную задачу (CSA).

Память 16 содержит элементы данных H(1)...H(7), элементы выполняемого кода G(1). ..G(5), которые являются частью операционной системы, и описания прикладных задач 18(1), 18(2) (CSA1, CSA2). На фиг. 4 данные и код, которые являются внутренними по отношению к операционной системе, вынесены влево. Количество элементов данных, элементов исполняемого кода и описаний прикладных задач, представленное на фиг. 4, дано только в качестве примера. В действительности количества могут изменяться в зависимости от потребностей.

Каждое описание прикладной задачи 18(1), 18(2) физически присутствует в памяти. Они обеспечивают первый нижний уровень абстракции для отражения использования памяти. Каждое описание прикладной задачи 18(1), 18(2) состоит из: - библиотеки процедур, состоящей из блоков исполняемого кода F(1)... F(4), которые могут указывать на блоки исполняемого кода операционной системы, сделанные пригодными для этой цели, как показано стрелками p(1)...p(5); - таблицы элементов данных E(1)...E(7), подлежащих использованию с помощью процедур в контекстах взаимодействия 19(1)...19(2) в настоящем описании прикладной задачи 18. Эта таблица данных содержит в себе условия доступа к данным и указатели q(1)...q(7) на области памяти, хранящие элементы данных; - таблицы контекстов взаимодействия, содержащей в себе ряд описаний контекстов взаимодействия 19(1), 19(2).

Количество элементов в библиотеке процедур, количество элементов данных и таблица контекстов взаимодействий описания прикладной задачи 18(1), как показано на фиг. 4, предназначены только для целей представления. Конечно, количество элементов может меняться в зависимости от требований прикладной задачи.

Контексты взаимодействия 19(1), 19(2) физически находятся в запоминающем средстве, хранящем описание прикладной задачи 18(1). Логически контексты взаимодействия обеспечивают второй уровень управления использованием памяти. Объединенное управление, обеспечиваемое этим вторым уровнем и уровнем описания прикладной задачи, дает эффективную реализацию механизма контекстов выполнения, предназначенного для портативных блоков обработки данных типа интеллектуальных карточек. Каждый контекст взаимодействия 19(1), 19(2) содержит в себе - таблицу процедурных описаний C(1)...С(5). Эти процедурные описания мог