English version

Домой   Новости   Радио   Карточки   Кодграберы   Мобилки   Телефония   АТС   Пейджинг   Транки   Жучки   Форум


Google

Документация на IZ4436

Содержание

Общие сведения о БИС

Интеллектуальный 221-битный счетчик на ЭСППЗУ с объемом более 20000 тарифных единиц с секретной логикой и высокой степени защищенности механизмом аутентификации

Назначение

БИС разработана для использования в телефонных картах с предоплатой. БИС состоит из ЭСППЗУ объемом 221 бит, ПЗУ 16 бит, устройства управления/защиты и специального вычислительного устройства для аутентификации БИС.

Назначение выводов микросхемы

Таблица 1. Краткое описание контактов микросхемы

Наименование

Назначение

I/O

Двунаправленная линия данных (открытый сток). Используется как вход только при вводе транспортного кода.

CLK

Вход сигнала синхронизации.

RST

Вход. Устанавливается в « I» при сбросе микросхемы и при программировании бит.

VCC

Напряжение питания.

Test

Не используется.

GND

Общий.

Структура памяти микросхемы

Дамп памяти микросхемы имеет организацию 237х1 бит. В соответствии с режимом память может быть использована как ППЗУ, однократно программируемое ПЗУ или как ЭСППЗУ (стирание и программирование). В режиме пользователя только область ключей аутентификации секретна и не может быть прочитана никаким образом. Изменение кода производителя возможно только при изготовлении и тестировании в процессе производства. Адреса 108, 109 и область с 176 адреса по 319 зарезервированы.

После стирания ячейки ЭСППЗУ читаются как логическая "I". Операция записи переводит ячейки в состояние читаемое как логический "0".

Области памяти могут работать в двух режимах: Режим Эмитента и Режим Пользователя. Переход из Режима Эмитента в Режим Пользователя происходит после программирования бита флага персонализации (адрес 64).

Таблица 2. Структура памяти микросхемы функционально разделена па следующие области

 

Адрес

Режим

Эмитент

Пользователь

Область идентификации

16 бит код производителя

0..15

масочноеПЗУ

48 бит данные персонализации

16..63

ППЗУ

ПЗУ

Область счетчика

Пять 8-ми разрядных ступеней счетчика

64.. 103

ЭСППЗУ/ ППЗУ

Флаг персонализации

64

ППЗУ

ПЗУ("0")

Защита счетчика от потери переноса

4 байта для старших ступеней счетчика

104.. 107

ЭСППЗУ

Включение механизма аутентификации с использованием первого ключа

110

ПЗУ("0")

ПЗУ("1")

Управление областью данных 2

111

ППЗУ

ПЗУ

Область данных 1 (16 бит)

112..127

ППЗУ

Область первого ключа (48 бит)

128..175

ППЗУ

недоступна

Зона для свободного доступа пользователя

320..383

ППЗУ

Область второго ключа (48 бит)

320..367

ППЗУ

недоступна

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

Режим Пользователя

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

Счетчик тарифных единиц

Счетчик тарифных единиц (биты с 64 по 103) организован как 5-ступенчатый не сбрасываемый счетчик с декадной организацией (каждый бит в пределах одной ступени счетчика имеет одинаковый вес). Каждая ступень счетчика занимает в памяти 8 бит, т.е. может принимать значение от нуля до 8. Так как биты данных в счетчиках инвертированы, то минимальное значение счетчика 11111111, а максимальное - 00000000.

Таблица 3. Описание ступеней тарифного счетчика

Ступень счетчика

Биты

Вес одного разряда

Примечание

С5

64..71

4096

Старшая, 5-я ступень, очистка (стирание) невозможна.

С4

72..79

512

4-я ступень, очищается при наличии переноса в 5-ю ступенью.

С3

80..87

64

3-я ступень, очищается при наличии переноса в 4-ю ступенью.

С2

88..95

8

2-я ступень, очищается при наличии переноса в 3-ю ступенью.

С1

96..103

1

Младшая, 1-я ступень, очищается при наличии переноса во 2-ю ступенью.

Таким образом, максимальная емкость счетчика может составлять:

7*4096 + 8*512 + 8*64 + 8*8 + 8 = 33352

Например, если актив микросхемы составляет 100 тарифных единиц, то значения ступеней счетчика составят:

С5 = 100/4096 = 0 = 00000000
С4 = 100/512 = 0 = 00000000
СЗ = 100/64 = 1 = 00000001
С2 = (100-64*СЗ)/8 = 4 = 00001111
С1 = 100-64*СЗ-8*С2 = 4 = 00001111

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

Таблица 4. Назначение ячеек счетчика в разных режимах

Назначение

Адрес

Режим

Режим эмитента

Режим пользователя

Эмитент

Пользователь

 

5 ступень счетчика

64..71

ПЗУ

ППЗУ

Счетчик ошибок

4 ступень счетчика

72..79

ППЗУ

ЭСППЗУ

Транспортный код (байт 1)

3 ступень счетчика

80..87

недоступна

ЭСППЗУ

Транспортный код (байт 2)

2 ступень счетчика

88..95

недоступна

ЭСППЗУ

Транспортный код (байт 3)

1 ступень счетчика

96..103

недоступна

ЭСППЗУ

Механизм работы счетчика

Подсчет (вычитание) выполняется путем программирования содержащих "1" разрядов счетчика в "О". Если в счетчике соответствующей ступени все разряды запрограммированы в "0" необходимо выполнить перенос в старшую ступень счетчика.

Рисунок 1. Структура счетчика

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

Таким образом, при программировании битов ступеней счетчика (кроме младшей) в микросхеме устанавливается бит переноса. Этот бит позволяет провести стирание младшей, по отношению к программируемой, ступени счетчика. Стирание происходит автоматически при проведении повторной операции записи, как показано на диаграмме 1.

Диаграмма 1

Механизм восстановления при потере переноса

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

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

Механизм восстановления при потере переноса необходимо включать каждый раз после выполнения адресного сброса путем фиктивного цикла программирования по любому адресу с 8 до 15. При этом бит механизма восстановления программируется всегда при записи в соответствующую ступень счетчика, а стирается всегда вместе с младшей, по отношению к ней, ступенью счетчика. Адресный сброс выключает данный механизм. В БИС "Друид-06" данный механизм отсутствует.

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

Диаграмма 2

Установленный в "О" бит механизма восстановления (адреса 104..107) указывает на пропущенную операцию стирания младшей, по отношению к соответствующей биту ступени счетчика. Таким образом, при стирании ступени счетчика не происходит программирования разрядов старшей ступени.

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

Процедура перезагрузки с использованием механизма восстановления

Состояние бита механизма восстановления обозначает:

бит = 1

отсутствовал сбой при выполнении операции переноса или механизм восстановления не используется

бит = 0

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

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

  1. Операция повторного стирания соответствующей младшей ступени:

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

  2. Операция очистки бита механизма восстановления:

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

Диаграмма 3

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

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

Транспортный код

После изготовления память микросхемы находится в исходном стертом состоянии (единицы). Для предотвращения несанкционированного использования микросхем при изготовлении микросхема защищается записью 24-х разрядного секретного транспортного кода (Режим Эмитента) Значения транспортного кода согласовывается с потребителем. Для его хранения используется область счетчика (ступени 3,2 и 1). 4-я ступень выполняет функцию счетчика ошибок.

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

Ниже приводится процедура позволяющая провести верификацию транспортного кода (Диаграмма 4):

  1. Произвести адресный сброс

  2. Увеличить счетчик ошибок на единицу:

Диаграмма 4

После корректной верификации транспортного кода область счетчика функционирует как 5-ти ступенчатый счетчик. Ступени счетчика 1..4 должны быть очищены (установлены в «I») путем программирования бита в соответствующей старшей ступени. Для получения максимального объема счетчика при очистке 4-й ступени может быть использован, бит инициализации находящийся в 5-й ступени.

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

Персонализация

Для выполнения персонализации микросхемы необходимо запрограммировать область персонализации, ключ аутентификации 1, при необходимости ключ аутентификации 2. Программирование бита персонализации находящегося в 5 ступени счетчика переводит БИС из Режима Эмитента в Режим Пользователя. После персонализации область идентификации защищена от перепрограммирования, а область ключей аутентификации становится недоступной для чтения.

Закрытая область

1. Верификация транспортного кода.

2. Программирование области персонализации и ключей аутентификации.

3. Программирование бита персонализации.

Область данных 2 или ключ аутентификации 2

Ключ аутентификации 1

Область данных 1

Биты защиты/управления

Секретный транспортный код

Счетчик ошибок

Область счетчика

Р=1 ПЗУ

Р=0 ППЗУ

ПЗУ

Область идентификации

Код производителя

Код производителя

Аутентификация

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

Данные используемые при аутентификации:

Алгоритм аутентификации:

Ответ длинной до 16 бит:

Два независимых ключа содержатся в памяти БИС для предоставления возможности аутентификации карты в считывателях двух различных фирм предоставляющих услуги с использованием данной карты. Ключ аутентификации 2 является дополнительным и его использование определяется состоянием флага данного ключа (адрес 111). В зависимости от выбранного при запуске стартового адреса в процедуре аутентификации используется первый или второй ключ.

Для запуска процедуры аутентификации необходимо установить адресный счетчик на стартовый адрес процедуры 110 или 111 (для ключа 2). После выполнения фиктивной записи по стартовому адресу (110 для ключа аутентификации 1 и 111 для ключа 2) производится выполнение двух операций:

  1. Загружаются исходные данные в блок вычисления :

  2. Производится вычисление ответа длинной до 16 бит:

    m = 160..256 - число импульсов входной частоты на один бит выходной последовательности (определяется масочным программированием БИС).

    n = 1..16 - число бит в выходной последовательности.

Таблица 5. Назначение стартовых адресов аутентификации

Назначение

Адрес

Режим

Эмитент

Пользователь

Управление ключом 1.

Стартовый адрес для процедуры аутентификации с использованием ключа 1.

110

ПЗУ

ПЗУ

Управление ключом 1.

Стартовый адрес для процедуры аутентификации с использованием ключа 2. Область памяти по адресам 320..367 используется для хранения ключа 2.

111

ППЗУ

ППЗУ "0"

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

Запуск процедуры аутентификации и подача входной последовательности

  1. Выполнить адресный сброс.

  2. Подачей импульсов тактовой частоты установить адрес 110 (для использования при аутентификации ключа 1) или адрес 111 (для использования при аутентификации ключа 2).

  3. Выполнить фиктивную операцию записи.

  4. Подать 177 импульсов тактовой частоты для загрузки данных БИС в блок вычисления.

  5. Начиная с 178 импульса тактовой частоты подать на вход \/q 48 бит входных данных для формирования ответа. Каждый бит входных данных не должен изменятся в течение высокого уровня сигнала тактовой частоты. Защелкивание данных в БИС происходит по переходу в 0 сигнала тактовой частоты. Изменение данных должно происходить при низком уровне сигнала синхронизации.

Диаграмма 5. Запуск процедуры аутентификации и загрузка данных