КОНТРОЛЬНОГО УСТРОЙСТВА
![]()
И КАРТОЧЕК ТАХОГРАФА
В настоящем подразделе уточняются форматы данных, элементы данных и структуры данных, подлежащие использованию в контрольных устройствах и карточках тахографа.
Для определения типов данных в настоящем подразделе используется абстрактное описание синтаксиса версии 1 (ASN.1). Он позволяет определить простые и структурированные данные, не прибегая к помощи какого-либо конкретного синтаксиса передачи (правил кодирования), который зависит от приложения и операционной среды.
Правила присвоения названий типа ASN.1 соответствуют стандарту ISO/IEC 8824-1. Это предполагает, что:
- при возможности смысл соответствующего типа данных косвенно заложен в выбранных названиях,
- в том случае, если какой-либо тип данных состоит из других типов данных, то название этого типа данных и в этом случае представляет собой простую последовательность буквенных знаков, которая начинается с заглавной буквы; вместе с тем заглавные буквы используются и в названии с целью придать данным соответствующий смысл,
- в целом название типов данных соотносится к названию тех типов данных, с помощью которых они построены, с оборудованием, в которых хранятся данные, и с функцией, имеющей отношение к данным.
Если какой-либо тип ASN.1 уже определен в качестве того или иного стандарта и если он подходит для использования в контрольном устройстве, то в этом подразделе будет определен и этот тип ASN.1.
Для того чтобы можно было использовать несколько типов правил кодирования, некоторые типы ASN.1 в настоящем подразделе ограничиваются соответствующими идентификаторами диапазона значений. Идентификаторы диапазона значений определяются в пункте 3.
В настоящем подразделе используются следующие источники:
В случае любого из следующих типов данных значение по умолчанию содержания "unknown" ("нет данных") или "not applicable" ("не применимо") определяется посредством заполнения соответствующего элемента данных с помощью байтов 'FF'.
(ДАННЫЕ ОБ ИЗМЕНЕНИИ ВИДА ДЕЯТЕЛЬНОСТИ)
Этот тип данных позволяет кодировать с помощью слова из двух байтов состояние считывающего устройства в 00:00 часов и статус водителя в 00:00 часов и/или изменения вида деятельности и/или изменения статуса управления и/или изменения положения карточки водителя или второго водителя. Этот тип данных относится к требованиям 084, 109a, 199 и 219.
ActivityChangeInfo ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (2))
Присвоение значения - выровненный байт: 'scpaattttttttttt'B (16 бит)
Для записи данных в блок памяти (или состояние считывающего устройства):
'ttttttttttt'B Время изменения: число минут начиная с 00:00 часов на данный день.
Для записи данных на карточку водителя (или мастерской) (и статуса водителя):
's'B Считывающее устройство (не применимо, если 'p' = 1, за
исключением случая, указанного ниже):
'0'B: DRIVER (ВОДИТЕЛЬ),
'1'B: CO-DRIVER (ВТОРОЙ ВОДИТЕЛЬ),
'c'B Статус управления (случай 'p' = 0) или Следующий вид
деятельности
(случай 'p' = 1):
'0'B: SINGLE (ОДИН), '0'B: UNKNOWN (НЕТ ДАННЫХ)
'1'B: CREW (ЭКИПАЖ), '1'B: KNOWN (ЕСТЬ ДАННЫЕ)
(= введено вручную)
'p'B Положение карточки:
'0'B: INSERTED, карточка вставлена в контрольное устройство,
'1'B: NOT INSERTED, карточка не вставлена (или карточка
извлечена),
'aa'B Вид деятельности (неприменимо, если 'p' = 1 и 'c' = 0, за
исключением случая, указанного ниже):
'00'B: ПЕРЕРЫВ/ОТДЫХ,
'01'B: ГОТОВНОСТЬ,
'10'B: РАБОТА,
'11'B: УПРАВЛЕНИЕ,
'ttttttttttt'B Время изменения: число минут, начиная с 00:00 часов на
данный день.
Когда карточка извлечена:
- 's' этот знак применим и указывает на считывающее устройство, из которого извлечена карточка,
- 'c' должно быть установлено на 0,
- 'p' должно быть установлено на 1,
- 'aa' должно кодировать текущий вид деятельности, выбранный в указанное время.
В результате ручного ввода биты 'c' и 'aa' в составе слова (хранящееся в памяти карточки) позднее могут быть стерты и на их место записаны другие данные, отражающие факт этого ввода.
Адрес.
Address ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
codePage ЦЕЛОЕ ЧИСЛО (0..255),
address ОКТЕТНАЯ СТРОКА (РАЗМЕР (35))
}
codePage указывает на часть стандарта ISO/IEC 8859, используемую для кодирования адреса,
address - закодированный адрес в соответствии с ISO/IEC 8859.
BCDString используется для отображения десятичного числа в двоичном коде (BCD). Этот тип данных используется для отображения одного десятичного знака в полуоктете (4 бита). BCDString определяется в соответствии со стандартом ISO/IEC 8824-1 (тип строки знаков).
BCDString ::= ЗНАКОВАЯ СТРОКА (С КОМПОНЕНТАМИ {
идентификация (С КОМПОНЕНТАМИ {
устанавливает ПРИСУТСТВИЕ }) })
BCDString использует для описания строки нотацию 'hstring'. Крайняя левая шестнадцатеричная цифра представляет собой самый значимый полубайт первого байта. Для получения нескольких октетов после крайнего левого полуоктета первого октета включается соответствующее число нулевых полуоктетов.
Допустимые цифры: 0, 1, .. 9.
Данный код указывает причину регистрации набора параметров калибровки. Этот тип данных относится к требованиям 097 и 098.
CalibrationPurpose ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР(1))
Присвоение значения:
(ЗАПИСЬ ВИДА ДЕЯТЕЛЬНОСТИ НА КАРТОЧКЕ)
Информация, которая хранится на карточке, относится к деятельности водителя за конкретный календарный день. Этот тип данных относится к требованиям 199 и 219.
CardActivityDailyRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
activityPreviousRecordLength ЦЕЛОЕ ЧИСЛО (0..CardActivityLengthRange),
activityRecordLength ЦЕЛОЕ ЧИСЛО (0..CardActivityLengthRange),
activityRecordDate Реальное время,
activityDailyPresenceCounter Счетчик ежедневного присутствия,
activityDayDistance Расстояние,
activityChangeInfo УСТАНОВЛЕННЫЙ РАЗМЕР (1..1440)
ЭЛЕМЕНТА ДАННЫХ ActivityChangeInfo
}
activityPreviousRecordLength - общая длина предыдущей ежедневной записи в байтах. Максимальное значение определяется в виде длины ОКТЕТНОЙ СТРОКИ, содержащей эти записи (см. пункт 3: CardActivityLengthRange). Когда эта запись становится самой старой ежедневной записью, значение activityPreviousRecordLength должно устанавливаться на ноль.
activityRecordLength - общая длина данной записи в байтах. Максимальное значение определяется длиной ОКТЕТНОЙ СТРОКИ, содержащей эти записи.
activityRecordDate - дата записи.
activityDailyPresenceCounter - счетчик ежедневного наличия карточки на данный день.
activityDayDistance - общее расстояние, пройденное за данный день.
activityChangeInfo - набор данных типа ActivityChangeInfo в отношении водителя на данный день. Он может содержать максимум 1 440 значений (изменение вида деятельности 1 раз в минуту). Этот набор данных всегда включает кодирование статуса водителя (activityChangeInfo) на 00:00 часов.
(ДЛИНА ЗАПИСИ О ДЕЯТЕЛЬНОСТИ НА КАРТОЧКЕ)
Число байтов на карточке водителя или мастерской, которые предусмотрены для хранения записей, касающихся деятельности водителя.
CardActivityLengthRange ::= ЦЕЛОЕ ЧИСЛО (0..216 - 1)
Присвоение значения: см. пункт 3.
(НОМЕР ОФИЦИАЛЬНОГО УТВЕРЖДЕНИЯ КАРТОЧКИ)
Эта позиция определяет номер официального утверждения типа карточки.
Card Approval Number:: = Строка IA5 (РАЗМЕР(8))
Присвоение значения: Не определено.
Сертификат открытого ключа карточки.
CardCertificate: = Сертификат
(ИДЕНТИФИКАЦИЯ МИКРОПРОЦЕССОРА КАРТОЧКИ)
Информация, записанная на карточке, которая относится к идентификации интегральной схемы карточки (ИС) (требование 191).
CardChipIdentification: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
icSerialNumber ОКТЕТНАЯ СТРОКА (РАЗМЕР (4)),
icManufacturingReferences ОКТЕТНАЯ СТРОКА (РАЗМЕР (4))
}
icSerialNumber - серийный номер ИС, определенный в стандарте EN 726-3.
icManufacturingReferences - идентификатор изготовителя ИС и производственные данные, определенные в стандарте EN 726-3.
Порядковый индекс карточки (определение h)).
CardConsecutiveIndex: = строка IA5 (РАЗМЕР (1))
Присвоение значения: (см. главу VII настоящего добавления)
Порядок увеличения: '0, ..., 9, A, ..., Z, a, ..., z'
(ЗАПИСЬ ДАННЫХ О ПРОВЕРОЧНЫХ ОПЕРАЦИЯХ)
Информация, записанная на карточке водителя или мастерской, которая имеет отношение к последней проверке, которой подвергался водитель (требования 210 и 225).
CardControlActivityDataRecord: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
controlType тип проверки,
controlTime реальное время,
controlCardNumber полный номер карточки,
controlVehicleRegistration идентификация регистрации транспортного средства,
controlDownloadPeriodBegin реальное время,
controlDownloadPeriodEnd реальное время
}
controlType - тип проверки.
controlTime - дата и время проверки.
controlCardNumber - полный номер карточки инспектора, который произвел проверку.
controlVehicleRegistration - регистрационный номер транспортного средства (VRN) и название Договаривающейся стороны регистрации транспортного средства, в которой была произведена проверка.
controlDownloadPeriodBegin и controlDownloadPeriodEnd - период, за который загружаются данные, в случае загрузки.
Информация о фактическом использовании карточки (требование 212).
CardCurrentUse: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
sessionOpenTime реальное время,
sessionOpenVehicle идентификация регистрации транспортного средства
}
sessionOpenTime - время, когда карточка была вставлена в считывающее устройство применительно к данному виду использования. В случае извлечения карточки этот элемент данных устанавливается на ноль.
sessionOpenVehicle - идентификация используемого в настоящее время транспортного средства, регистрируемая в момент ввода карточки. В случае извлечения карточки этот элемент данных устанавливается на ноль.
Информация, записанная на карточке водителя или мастерской, которая имеет отношение к деятельности водителя (требования 199 и 219).
CardDriverActivity: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
activityPointerOldestDayRecord ЦЕЛОЕ ЧИСЛО (0.. CardActivityLengthRange-1),
activityPointerNewestRecord ЦЕЛОЕ ЧИСЛО (0.. CardActivityLengthRange-1),
activityDailyRecords ОКТЕТНАЯ СТРОКА
(РАЗМЕР(CardActivityLengthRange))
}
activityPointerOldestDayRecord - указание на начало блока памяти (число байтов с начала строки) для хранения самой старой ежедневной записи в строке activityDailyRecords. Максимальное значение определяется длиной строки.
activityPointerNewestRecord - указание на начало блока памяти (число байтов с начала строки) для хранения самой последней ежедневной записи в строке activityDailyRecords. Максимальное значение определяется длиной строки.
activityDailyRecords - место, имеющееся для хранения данных о деятельности водителя (структура данных: CardActivityDailyRecord) за каждый календарный день, в течение которого использовалась карточка.
Присвоение значения: данная октетная строка периодически заполняется записями типа CardActivityDailyRecord. При первом использовании хранение данных производится с начала первого байта строки. Все новые записи включаются в конце предыдущей. Когда вся строка заполняется, процесс хранения продолжается с первого байта строки, независимо от наличия разрыва в том или ином элементе данных. До включения в строку данных о новом виде деятельности (посредством расширения текущей позиции activityDailyRecord или включения новой позиции activityDailyRecord), которые записываются вместо прежних данных о деятельности; указатель activityPointerOldestDayRecord должен быть обновлен с целью отразить новое место хранения самой старой полной ежедневной записи, а указатель activityPreviousRecordLength этой (новой) самой старой полной ежедневной записи должен быть установлен на ноль.
(ИНФОРМАЦИЯ О ВОДИТЕЛЬСКОМ УДОСТОВЕРЕНИИ)
Информация, записанная на карточке водителя, которая относится к данным о водительском удостоверении держателя карточки (требование 196).
CardDrivingLicenceInformation :: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
drivingLicenceIssuingAuthority название,
drivingLicenceIssuingNation числовой код страны,
drivingLicenceNumber строка IA5 (РАЗМЕР (16))
}
drivingLicenceIssuingAuthority - орган, ответственный за выдачу водительского удостоверения.
drivingLicenceIssuingNation - национальная принадлежность органа, выдавшего водительское удостоверение.
drivingLicenceNumber - номер водительского удостоверения.
Информация, записанная на карточке водителя или мастерской, которая относится к событиям, связанным с держателем карточки (требования 204 и 223).
CardEventData ::= РАЗМЕР ПОСЛЕДОВАТЕЛЬНОСТИ(6) {
cardEventRecords УСТАНОВЛЕННЫЙ РАЗМЕР(NoOfEventsPerType)
ЗАПИСИ CardEventRecord
}
CardEventData - последовательность записей cardEventRecords, записанная в порядке возрастания значения элемента EventFaultType (за исключением записей, касающихся нарушения защиты, которые группируются в последнем массиве данных данной последовательности).
cardEventRecords - набор записей о событиях данного типа (или категория событий, имеющих отношение к попыткам нарушения защиты).
Информация, записанная на карточке водителя или мастерской, которая имеет отношение к данному событию, связанному с держателем карточки (требования 205 и 223).
CardEventRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
eventType тип события/неисправности,
eventBeginTime реальное время,
eventEndTime реальное время,
eventVehicleRegistration идентификация регистрации транспортного средства
}
eventType - тип события.
eventBeginTime - дата и время начала события.
eventEndTime - дата и время завершения события.
eventVehicleRegistration - регистрационный номер транспортного средства (VRN) и название Договаривающейся стороны регистрации транспортного средства, в которой произошло данное событие.
Информация, записанная на карточке водителя или мастерской, которая имеет отношение к сбоям в работе, связанным с держателем карточки (требования 207 и 223).
CardFaultData ::= РАЗМЕР ПОСЛЕДОВАТЕЛЬНОСТИ(2) {
cardFaultRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(NoOfFaultsPerType) ЗАПИСИ CardFaultRecord
}
CardFaultData - последовательность совокупности записей, отражающих неисправности контрольного устройства, за которой следует совокупность записей, отражающих сбои в работе карточек.
cardFaultRecords - совокупность записей о неисправностях, сгруппированных по данной категории неисправностей (контрольного устройства или карточки).
Информация, записанная на карточке водителя или мастерской, которая имеет отношение к сбою в работе, связанному с держателем карточки (требования 208 и 223).
CardFaultRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
faultType тип события/сбоя в работе,
faultBeginTime реальное время,
faultEndTime реальное время,
VehicleRegistration идентификация регистрации транспортного средства
}
faultType - тип сбоя в работе.
faultBeginTime - дата и время начала сбоя в работе.
faultEndTime - дата и время конца сбоя в работе.
faultVehicleRegistration - VRN и название Договаривающейся стороны регистрации транспортного средства, в которой имел место сбой в работе.
Информация, записанная на карточке, которая относится к идентификации интегральной схемы (ИС) карточки (требование 192).
CardIccIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
clockStop ОКТЕТНАЯ СТРОКА (РАЗМЕР(1)),
CardApprovalNumber расширенный номер серии,
cardApprovalNumber номер официального утверждения карточки,
cardPersonaliserID ОКТЕТНАЯ СТРОКА (РАЗМЕР(1)),
embedderIcAssemblerId ОКТЕТНАЯ СТРОКА (РАЗМЕР(5)),
icIdentifier ОКТЕТНАЯ СТРОКА (РАЗМЕР(2))
}
clockStop - режим остановки часов, определенных в стандарте EN 726-3.
cardExtendedSerialNumber - серийный номер карточки на интегральной схеме и исходный заводской номер карточки на интегральной схеме, определенный в стандарте EN 726-3 и более точно определяемый типом данных ExtendedSerialNumber.
cardApprovalNumber - номер официального утверждения типа карточки.
cardPersonaliserID - идентификатор учреждения, персонализирующего карточку, определенный в стандарте EN 726-3.
embedderIcAssemblerId - идентификатор монтажного/сборочного предприятия, определенный в стандарте EN 726-3.
icIdentifier - идентификатор ИС карточки и изготовитель ИС, определенный в стандарте EN 726-3.
Информация, записанная на карточке, которая имеет отношение к идентификации карточки (требования 194, 215, 231, 235).
CardIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
CardIssuingMemberState числовой код страны,
cardNumber номер карточки,
cardIssuingAuthorityName название,
cardIssueDate реальное время,
cardValidityBegin реальное время,
cardExpiryDate реальное время
}
CardIssuingMemberState - код Договаривающейся стороны, выдавшей карточку.
cardNumber - номер карточки.
cardIssuingAuthorityName - название органа, выдавшего карточку.
cardIssueDate - дата выдачи карточки нынешнему держателю.
cardValidityBegin - первая дата действия карточки.
cardExpiryDate - дата истечения срока действия карточки.
Номер карточки, содержащийся в определении (g).
CardNumber ::= ВЫБОР {
ПОСЛЕДОВАТЕЛЬНОСТЬ {
driverIdentification строка IA5 (РАЗМЕР (14)),
cardReplacementIndex индекс замены карточки
cardRenewalIndex индекс обновления карточки
},
ПОСЛЕДОВАТЕЛЬНОСТЬ {
ownerIdentification строка IA5 (РАЗМЕР (13)),
cardConsecutiveIndex порядковый индекс карточки,
cardReplacementIndex индекс замены карточки,
cardRenewalIndex индекс обновления карточки
}
}
driverIdentification - индивидуальная идентификация водителя Договаривающейся стороны.
ownerIdentification - индивидуальная идентификация предприятия или мастерской или контрольного органа в соответствующей Договаривающейся стороне.
cardConsecutiveIndex - порядковый индекс карточки.
cardReplacementIndex - индекс замены карточки.
cardRenewalIndex - индекс возобновления карточки.
Первая последовательность этого варианта позволяет кодировать номер карточки водителя, а вторая последовательность позволяет кодировать номера карточки мастерской, контролера и предприятия.
(ЕЖЕДНЕВНЫЙ ПЕРИОД РАБОТЫ И МЕСТО)
Информация, записанная на карточке водителя или мастерской, которая имеет отношение к местам, в которых начинаются и/или заканчиваются ежедневные периоды работы (требования 202 и 221).
CardPlaceDailyWorkPeriod ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
placePointerNewestRecord ЦЕЛОЕ ЧИСЛО (0 .. NoOfCardPlaceRecords-1),
placeRecords УСТАНОВЛЕННЫЙ РАЗМЕР (NoOfCardPlaceRecords)
ЗАПИСИ PlaceRecord
}
placePointerNewestRecord - индекс последней обновленной записи данных о месте.
Присвоение значения: Число, соответствующее числовому показателю записи данных о месте, которое начинается с '0' в случае первой регистрации записей, касающихся места, в структуре.
placeRecords - совокупность записей, содержащих информацию о введенных названиях мест.
Закрытый ключ карточки.
CardPrivateKey ::= закрытая экспонента ключа RSA
Открытый ключ карточки.
CardPublicKey ::= открытый ключ
Индекс возобновления карточки (определение i)).
CardRenewalIndex ::= строка IA5 (РАЗМЕР (1))
Присвоение значения: (см. главу VII настоящего добавления).
'0' Первая выдача.
Порядок увеличения: '0, ..., 9, A, ..., Z'
Индекс замены карточки (определение j)).
CardReplacementIndex ::= IA5 Строка (РАЗМЕР (1))
Присвоение значения: (см. главу VII настоящего добавления).
'0' первая карточка.
Порядок увеличения: '0, ..., 9, A, ..., Z'
(НОМЕР СЧИТЫВАЮЩЕГО УСТРОЙСТВА КАРТОЧКИ)
Код, позволяющий проводить различие между двумя считывающими устройствами бортового устройства.
CardSlotNumber ::= ЦЕЛОЕ ЧИСЛО {
driverSlot (0),
co-driverSlot (1)
}
Присвоение значения: дополнительно не уточняется.
(СОСТОЯНИЕ СЧИТЫВАЮЩИХ УСТРОЙСТВ КАРТОЧКИ)
Код, указывающий тип карточек, вставленных в два считывающих устройства бортового устройства.
CardSlotsStatus ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (1))
Присвоение значения - Выровненный октет: 'ccccdddd'B
'cccc'B идентификация типа карточки, вставленной в считывающее
устройство второго водителя,
'dddd'B идентификация типа карточки, вставленной в считывающее
устройство водителя,
со следующими идентификационными кодами:
'0000'B карточка не вставлена,
'0001'B не вставлена карточка водителя,
'0010'B вставлена карточка мастерской,
'0011'B вставлена карточка контролера,
'0100'B вставлена карточка предприятия.
Код, указывающий вариант структуры, использованной на карточке тахографа.
CardStructureVersion ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (2))
Присвоение значения: 'aabb'H:
'aa'H индекс изменения структуры,
'00h' для данной версии
'bb'H индекс изменений, касающийся использования элементов данных,
определенных в структуре, заданной стартовым байтом, '00h' для
данного варианта.
(ЗАПИСЬ ИСПОЛЬЗОВАНИЯ ТРАНСПОРТНОГО СРЕДСТВА)
Информация, записанная на карточке водителя или предприятия, которая имеет отношение к периоду использования транспортного средства в течение соответствующего календарного дня (требования 197 и 217).
CardVehicleRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
vehicleOdometerBegin счетчик пробега,
vehicleOdometerEnd счетчик пробега,
vehicleFirstUse реальное время,
vehicleLastUse реальное время,
vehicleRegistration идентификация регистрации транспортного
средства,
vuDataBlockCounter счетчик массивов данных бортового
устройства
}
vehicleOdometerBegin - показания счетчика пробега транспортного средства на начало периода использования транспортного средства.
vehicleOdometerEnd - показания счетчика пробега транспортного средства на конец периода использования транспортного средства.
vehicleFirstUse - дата и время начала периода использования транспортного средства.
vehicleLastUse - дата и время завершения периода использования транспортного средства.
vehicleRegistration - VRN и Договаривающаяся сторона регистрации транспортного средства.
vuDataBlockCounter - показания счетчика блока данных бортового устройства на момент последнего извлечения данных, касающихся периода использования транспортного средства.
(ИСПОЛЬЗОВАННОЕ ТРАНСПОРТНОЕ СРЕДСТВО)
Информация, записанная на карточке водителя или мастерской, которая имеет отношение к транспортным средствам, используемым держателем карточки (требования 197 и 217).
CardVehiclesUsed := ПОСЛЕДОВАТЕЛЬНОСТЬ {
vehiclePointerNewestRecord ЦЕЛОЕ ЧИСЛО (0..NoOfCardVehicleRecords-1),
cardVehicleRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(NoOfCardVehicleRecords) ЗАПИСИ
CardVehicleRecord
}
vehiclePointerNewestRecord - индекс последней обновленной записи, касающейся транспортного средства.
Присвоение значения: число, соответствующее числовому показателю записи, касающейся транспортного средства, которое начинается с '0' в случае первой регистрации записей, касающихся транспортного средства, в данной структуре.
cardVehicleRecords - совокупность записей, содержащих информацию об использованных транспортных средствах.
Сертификат открытого ключа, выданный сертификационным органом.
Certificate ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (194))
Присвоение значения: цифровая подпись с частичным восстановлением содержания сертификата в соответствии с подразделом 11 (общие механизмы защиты): подпись (128 байтов) || остальная часть открытого ключа (58 байтов) || исходные данные сертификационного органа (8 байтов).
(Открытое) содержание сертификата открытого ключа в соответствии с общими механизмами защиты, изложенными в подразделе 11.
CertificateContent ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
certificateProfileIdentifier ЦЕЛОЕ ЧИСЛО (0..255),
certificationAuthorityReference Идентификатор ключа,
certificateHolderAuthorisation Разрешение владельца сертификата,
certificateEndOfValidity Реальное время,
certificateHolderReference Идентификатор ключа,
publicKey Открытый ключ
}
certificateProfileIdentifier - версия соответствующего сертификата.
Присвоение значения: '01h' для данного варианта.
certificationAuthorityReference - идентификатор сертификационного органа, выдавшего сертификат. Он также включает ссылку на открытый ключ данного сертификационного органа.
certificateHolderAuthorisation - идентификатор прав держателя сертификата.
certificateEndOfValidity - дата, когда истекает срок административного действия сертификата.
certificateHolderReference - идентификатор держателя сертификата. Он также включает ссылку на его открытый ключ.
publicKey - открытый ключ, подтверждающий данный сертификат.
(РАЗРЕШЕНИЕ ДЕРЖАТЕЛЯ СЕРТИФИКАТА)
Идентификация прав держателя сертификата.
CertificateHolderAuthorisation::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
tachographApplicationID ОКТЕТНАЯ СТРОКА (РАЗМЕР (6))
equipmentType Тип оборудования
}
tachographApplicationID - идентификатор приложения для прикладной программы тахографа.
Присвоение значения: 'FFh' '54h' '41h' '43h' '48h' '4Fh'. Этот идентификатор является фирменным незарегистрированным идентификатором приложения в соответствии со стандартом ISO/IEC 7816-5.
equipmentType - идентификация типа оборудования, для которого предназначен этот сертификат.
Присвоение значения: в соответствии с типом данных EquipmentType. 0, если сертификат выдан какой-либо Договаривающейся стороной.
(ЗАПРОС НА ИДЕНТИФИКАЦИЮ СЕРТИФИКАТА)
Индивидуальная идентификация запроса сертификата. Она также может использоваться в качестве идентификатора открытого ключа бортового устройства, если серийный номер бортового устройства, для которого предназначен данный ключ, в момент создания сертификата не был известен.
CertificateRequestID::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
requestSerialNumber ЦЕЛОЕ ЧИСЛО
![]() requestMonthYear BCDString(РАЗМЕР (2))
crIdentifier ОКТЕТНАЯ СТРОКА (РАЗМЕР (1))
manufacturerCode Код изготовителя
}
requestSerialNumber - порядковый номер запроса на сертификат, индивидуальный для данного изготовителя и относящийся к месяцу, указанному ниже.
requestMonthYear - идентификация месяца и года запроса на сертификат.
Присвоение значения: Код BCD месяца (две цифры) и года (две последние цифры).
crIdentifier: идентификатор, позволяющий проводить различие между запросом на сертификат и расширенным порядковым номером.
Присвоение значения: 'FFh'.
Код завода-изготовителя: цифровой код изготовителя, запрашивающего сертификат.
Идентификатор открытого ключа Сертификационного органа (Договаривающейся стороны или Европейского сертификационного органа)
CertificationAuthorityKID:= ПОСЛЕДОВАТЕЛЬНОСТЬ {
nationNumeric Числовой код страны
nationAlpha Буквенный код страны
keySerialNumber ЦЕЛОЕ ЧИСЛО (0..255)
additionalInfo ОКТЕТНАЯ СТРОКА (РАЗМЕР (2))
caIdentifier ОКТЕТНАЯ СТРОКА (РАЗМЕР (1))
}
nationNumeric - числовой код страны сертификационного органа.
nationAlpha - буквенно-числовой код страны сертификационного органа.
keySerialNumber - порядковый номер, позволяющий проводить различие между различными ключами сертификационного органа в случае изменения ключей.
additionalInfo - двухбайтовое поле для дополнительного кодирования (специфичное для сертификационного органа).
caIdentifier - идентификатор, позволяющий проводить различие между идентификатор ключа сертификационного органа и другими идентификаторами ключа.
Присвоение значения: '01h'.
(ДАННЫЕ ОБ ОПЕРАЦИЯХ С КАРТОЧКОЙ ПРЕДПРИЯТИЯ)
Информация, записанная на карточке предприятия, которая имеет отношение к операциям, произведенным с карточкой (требование 237).
CompanyActivityData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
companyPointerNewestRecord ЦЕЛОЕ ЧИСЛО (0..NoOfCompanyActivityRecords-1),
companyActivityRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(NoOfCompanyActivityRecords)
companyActivityRecord ПОСЛЕДОВАТЕЛЬНОСТИ {
companyActivityType тип операций с карточкой предприятия
companyActivityTime реальное время,
cardNumberInformation полный номер карточки,
vehicleRegistrationInformation идентификация регистрации
транспортного средства,
downloadPeriodBegin реальное время,
downloadPeriodEnd реальное время
}
}
companyPointerNewestRecord - индекс последней обновленной записи операции с карточкой предприятия.
Присвоение значения: число, соответствующее числовому идентификатору записи операций с карточкой предприятия, начинающееся с '0' в случае первой записи операции, произведенной предприятием в данной структуре.
companyActivityRecords - совокупность всех записей операций, произведенных предприятием.
companyActivityRecord - последовательность информации, относящейся к одной операции, произведенной предприятием.
companyActivityType - тип операции, произведенной предприятием.
companyActivityTime - дата и время операции, произведенной предприятием.
cardNumberInformation - номер карточки и, в соответствующих случаях, название Договаривающейся стороны, выдавшей карточку с загруженными с нее данными.
vehicleRegistrationInformation - VRN и страна регистрации транспортного средства, с которого были загружены данные или на которое была поставлена или снята блокировка.
downloadPeriodBegin и downloadPeriodEnd - период, за который были загружены в соответствующих случаях данные с БУ.
(ТИП ОПЕРАЦИИ, ПРОИЗВЕДЕННОЙ ПРЕДПРИЯТИЕМ)
Код указывающей операции, произведенной предприятием с использованием карточки предприятия.
CompanyActivityType:= ЦЕЛОЕ ЧИСЛО {
загрузка данных с карточки (1),
загрузка с БУ (2),
блокировка БУ (3),
снятие блокировки с БУ (4)
}
(ИДЕНТИФИКАЦИЯ ПРИЛОЖЕНИЯ КАРТОЧКИ ПРЕДПРИЯТИЯ)
Информация, записанная на карточке предприятия, которая имеет отношение к идентификации приложения карточки (требование 190).
CompanyCardApplicationIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
typeOfTachographCardId тип оборудования,
cardStructureVersion вариант структуры карточки,
noOfCompanyActivityRecords число записей операций,
произведенных компанией
}
typeOfTachographCardId - элемент данных, указывающий на применяемый тип карточки.
cardStructureVersion - элемент данных, указывающий на версию структуры, которая используется в карточке.
noOfCompanyActivityRecords - число записей операций, произведенных предприятием, которые могут храниться на карточке.
(ИДЕНТИФИКАЦИЯ ДЕРЖАТЕЛЯ КАРТОЧКИ ПРЕДПРИЯТИЯ)
Информация, записанная на карточке предприятия, которая относится к идентификации держателя карточки (требование 236).
CompanyCardHolderIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
companyName название,
companyAddress адрес,
cardHolderPreferredLanguage язык
}
companyName - название предприятия-держателя.
companyAddress - адрес предприятия-держателя а.
cardHolderPreferredLanguage - предпочитаемый язык держателя карточки.
(ИДЕНТИФИКАЦИЯ ПРИЛОЖЕНИЯ КАРТОЧКИ КОНТРОЛЕРА)
Информация, записанная на карточке контролера, которая имеет отношение к идентификации приложения карточки (требование 190).
ControlCardApplicationIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
typeOfTachographCardId тип оборудования,
cardStructureVersion версия структуры карточки,
noOfControlActivityRecords число записей проверочных операций
}
typeOfTachographCardId - элемент данных, указывающий на используемый тип карточки.
cardStructureVersion - элемент данных, указывающий вариант структуры, применяемой на карточке.
noOfControlActivityRecords - число записей проверочных операций, которые могут храниться на карточке.
(ДАННЫЕ О ПРОВЕРОЧНЫХ ОПЕРАЦИЯХ НА КАРТОЧКЕ КОНТРОЛЕРА)
Информация, записанная на карточке контролера, которая имеет отношение к проверочной операции, произведенной с карточкой (требование 233).
ControlCardControlActivityData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
controlPointerNewestRecord ЦЕЛОЕ ЧИСЛО
(0.. NoOfControlActivityRecords-1),
controlActivityRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(NoOfControlActivityRecords)
controlActivityRecord ПОСЛЕДОВАТЕЛЬНОСТИ {
controlType тип проверки,
controlTime реальное время,
controlledCardNumber полное время карточки,
controlledVehicleRegistration идентификация регистрации
транспортного средства,
controlDownloadPeriodBegin реальное время,
controlDownloadPeriodEnd реальное время
}
}
controlPointerNewestRecord - индекс последней обновленной записи проверочной операции.
Присвоение значения: число, соответствующее числовому показателю записи проверочной операции, которая начинается с '0' в случае первой записи проверочной операции в данной структуре.
controlActivityRecords - совокупность всех записей проверочных операций.
controlActivityRecord - последовательность информации, связанной с одной проверкой.
controlType - тип проверки.
controlTime - дата и время проверки.
controlledCardNumber - номер карточки и название Договаривающейся Стороны, выдавшей карточку, которая подвергалась проверке.
controlledVehicleRegistration - VRN и название Договаривающейся Стороны регистрации транспортного средства, в которой производилась проверка.
controlDownloadPeriodBegin и controlDownloadPeriodEnd - период, за который в соответствующих случаях загружались данные.
(ИДЕНТИФИКАЦИЯ ДЕРЖАТЕЛЯ КАРТОЧКИ КОНТРОЛЕРА)
Информация, записанная на карточке контролера, которая имеет отношение к идентификации держателя карточки (требование 232).
ControlCardHolderIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
controlBodyName название,
controlBodyAddress адрес,
cardHolderName фамилия держателя,
cardHolderPreferredLanguage язык
}
controlBodyName - название контрольного органа держателя карточки.
controlBodyAddress - адрес контрольного органа держателя карточки.
cardHolderName - фамилия и имя (имена) держателя контрольной карточки.
cardHolderPreferredLanguage - предпочитаемый язык держателя карточки.
Код, указывающий на операции, проведенные в ходе проверки. Этот тип данных имеет отношение к требованиям 102, 210 и 225.
ControlType ::= ОКТЕТНАЯ (РАЗМЕР (1))
Присвоение значения - выровненный октет: 'cvpdxxxx'B (8 битов)
Текущая дата и время, отображаемые на контрольном устройстве.
CurrentDateTime ::= реальное время
Присвоение значения: дополнительно не указывается.
Показания счетчика, записанные на карточке водителя или предприятия, которые увеличиваются на единицу за каждый календарный день, в течение которого в БУ была вставлена карточка. Этот тип данных имеет отношение к требованиям 199 и 219.
DailyPresenceCounter ::= строка BCD (РАЗМЕР(2))
Присвоение значения: порядковый номер с максимальным значением = 9 999, который снова начинается с 0. В момент первой выдачи номера карточки это число устанавливается на 0.
Дата, отображенная в числовом формате, которая может сразу выводиться на печать.
Datef ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
год строка BCD (РАЗМЕР(2)),
месяц строка BCD (РАЗМЕР(1)),
день строка BCD (РАЗМЕР(1))
}
Присвоение значения:
гггг год
мм месяц
дд день
'00000000'H четкое указание на отсутствие даты.
Пройденное расстояние (результат расчета разницы между двумя показаниями счетчика пробега транспортного средства в километрах).
Distance ::= ЦЕЛОЕ ЧИСЛО (0..216 - 1)
Присвоение значения: двоичный код без знака. Значение в км в рабочем диапазоне от 0 до 9 999 км.
(ИДЕНТИФИКАЦИЯ ПРИЛОЖЕНИЯ КАРТОЧКИ ВОДИТЕЛЯ)
Информация, записанная на карточке водителя, которая имеет отношение к идентификации приложения карточки (требование 190).
DriverCardApplicationIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
typeOfTachographCardId тип оборудования,
cardStructureVersion вариант структуры карточки,
noOfEventsPerType число событий по типу,
noOfFaultsPerType число неисправностей по типу,
activityStructureLength диапазон длины записи вида деятельности на
карточку,
noOfCardVehicleRecords число записей на карточке, относящихся к
транспортному средству,
noOfCardPlaceRecords число записей на карточке, относящихся к месту
}
typeOfTachographCardId - элемент данных, указывающий тип используемой карточки.
cardStructureVersion - элемент данных, указывающий вариант структуры, использованной в карточке.
noOfEventsPerType - число событий по типу события, которое может быть записано на карточку.
noOfFaultsPerType - число неисправностей по типу неисправности, которое может быть записано на карточку.
activityStructureLength - элемент данных, указывающий число байтов, которые могут быть использованы для хранения записей, относящихся к виду деятельности.
noOfCardVehicleRecords - число записей, относящихся к транспортному средству, которое может быть записано на карточку.
noOfCardPlaceRecords - число мест, которое может быть записано на карточку.
(ИДЕНТИФИКАЦИЯ ДЕРЖАТЕЛЯ КАРТОЧКИ ВОДИТЕЛЯ)
Информация, записанная на карточке водителя, которая имеет отношение к идентификации держателя карточки (требование 195).
DriverCardHolderIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
cardHolderName фамилия держателя,
cardHolderBirthDate формат даты,
cardHolderPreferredLanguage язык
}
cardHolderName - фамилия и имя (имена) держателя карточки водителя.
cardHolderBirthDate - дата рождения держателя карточки водителя.
cardHolderPreferredLanguage - предпочитаемый язык держателя карточки.
(ТИП ВВОДА ДАННЫХ О ЕЖЕДНЕВНЫХ ПЕРИОДАХ РАБОТЫ)
Код, позволяющий провести различие между началом и концом ввода данных о месте ежедневного периода работы и условиями ввода.
EntryTypeDailyWorkPeriod ::= ЦЕЛОЕ ЧИСЛО {
начало, относительное время = время ввода карточки или время ввода
данных (0),
конец, относительное время = время извлечения карточки или время
ввода данных (1),
начало, относительное время ручного ввода данных (время начала
работы) (2),
конец, относительное время ручного ввода данных (конец рабочего
периода) (3),
начало, относительное время, зафиксированное БУ (4),
конец, относительное время, зафиксированное БУ (5)
}
Присвоение значения: в соответствии со стандартом ISO/IEC 8824-1.
Код, позволяющий провести различие между различными типами оборудования в связи с использованием тахографа.
EquipmentType ::= ЦЕЛОЕ ЧИСЛО (0..255)
-- зарезервировано (0),
-- карточка водителя (1),
-- карточка мастерской (2),
-- карточка контролера (3),
-- карточка предприятия (4),
-- карточка завода-изготовителя (5),
-- бортовое устройство (6),
-- датчик движения (7),
-- RFU (зарезервировано для будущего использования) (8..255)
Присвоение значения: в соответствии со стандартом ISO/IEC 8824-1.
Значение 0 зарезервировано для целей указания Договаривающейся стороны или Европы в поле данных СНА сертификатов.
Европейский открытый ключ.
EuropeanPublicKey ::= открытый ключ
Код, отображающий события или неисправность.
EventFaultType ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (1))
Присвоение значений:
(ЦЕЛЬ РЕГИСТРАЦИИ СОБЫТИЯ ИЛИ НЕИСПРАВНОСТИ)
Код, указывающий на причину регистрации события или неисправности.
EventFaultRecordPurpose: = ОКТЕТНАЯ СТРОКА (РАЗМЕР(1))
Присвоение значений:
Индивидуальная идентификация оборудования. Она может использоваться в качестве идентификатора открытого ключа оборудования.
ExtendedSerialNumber: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
serialNumber ЦЕЛОЕ ЧИСЛО
![]() monthYear строка BCD (РАЗМЕР(2))
type ОКТЕТНАЯ СТРОКА (РАЗМЕР(1))
manufacturerCode код изготовителя
}
serialNumber - серийный номер оборудования, индивидуальный для данного изготовителя, типа оборудования и месяца, указанного ниже.
monthYear - идентификация месяца и года изготовления (или присвоение порядкового номера).
Присвоение значения: кодирование BCD месяца (две цифры) и года (две последние цифры).
type - идентификатор типа оборудования.
Присвоение значения: по усмотрению изготовителя с зарезервированным значением 'FFh'.
manufacturerCode: числовой код изготовителя оборудования.
Код, полностью идентифицирующий карточку тахографа.
FullCardNumber: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
cardType тип оборудования,
cardIssuingMemberState числовой код страны,
cardNumber номер карточки
}
cardType - тип карточки тахографа.
cardIssuingMemberState - код Договаривающейся стороны, выдавшей карточку.
cardNumber - номер карточки.
Показания счетчика пробега транспортного средства: общее расстояние, пройденное транспортным средством за период его эксплуатации.
HighResOdometer: = ЦЕЛОЕ ЧИСЛО (0..232 - 1)
Присвоение значения: двоичный код без знака. Значение с точностью до 1/200 км в рабочем диапазоне от 0 до 21 055 406 км.
Расстояние, пройденное за весь или часть рейса.
HighResTripDistance: = ЦЕЛОЕ ЧИСЛО (0..232 - 1)
Присвоение значения: двоичный код без знака. Значение с точностью до 1/200 км в рабочем диапазоне от 0 до 21 055 406 км.
Фамилия и имя (имена) держателя карточки.
HolderName: = ПОСЛЕДОВАТЕЛЬНОСТЬ {
holderSurname фамилия,
holderFirstNames имя
}
holderSurname - фамилия держателя. Эта фамилия не включает никаких дополнительных указаний.
Присвоение значения: когда карточка не именная, позиция holderSurname содержит ту же информацию, что и companyName (название предприятия), или workshopName (название мастерской) или controlBodyName (название контрольного органа).
holderFirstNames - имя (имена) и инициалы держателя.
(ПОСТОЯННАЯ К ЗАПИСЫВАЮЩЕГО ОБОРУДОВАНИЯ)
Постоянная контрольного устройства (определение m)).
K-ConstantOfRecordingEquipment: = ЦЕЛОЕ ЧИСЛО (0..216 - 1)
Присвоение значения: импульсы на километр в рабочем диапазоне от 0 до 64 255 имп./км.
Индивидуальный идентификатор открытого ключа, используемого для назначения и выбора ключа. Он также определяет держателя ключа.
KeyIdentifier: = ВЫБОР {
extendedSerialNumber расширенный номер серии,
certificateRequestID идентификатор запроса на сертификат,
certificationAuthorityKID сертификационный орган KID
}
Первый вариант выбора позволяет назначить открытый ключ бортового устройства или карточки тахографа.
Второй вариант выбора позволяет назначить открытый ключ бортового устройства (в том случае если в момент создания сертификата серийный номер бортового устройства неизвестен).
Третий вариант выбора позволяет назначить открытый ключ Договаривающейся стороны.
Эффективная окружность шин колес (определение u)).
L-TyreCircumference: = ЦЕЛОЕ ЧИСЛО (0..216 - 1)
Присвоение значения: двоичный код без знака, значение с точностью 1/8 мм в рабочем диапазоне от 0 до 8 031 мм.
Код, идентифицирующий язык.
Language: = Строка IA5 (РАЗМЕР (2))
Присвоение значения: код в виде двух строчных букв в соответствии со стандартом ISO 639.
Дата и время, записанные на карточке водителя, последней загрузки данных с карточки (для иных целей, кроме контроля). Эта дата может обновляться БУ или любым считывающим устройством.
LastCardDownload: = Реальное время
Присвоение значения: дополнительно не уточняется.
Код, позволяющий определить, ввел ли держателя карточки данные о деятельности водителя вручную в момент ввода карточки или нет (требование 081).
ManualInputFlag: = ЦЕЛОЕ ЧИСЛО {
noEntry (0)
manualEntries (1)
}
Присвоение значения: дополнительно не уточняется.
Код, идентифицирующий изготовителя <*>.
--------------------------------
<*> Обновленный список кодов, позволяющих идентифицировать заводы-изготовители, размещен на веб-сайте Европейского сертификационного органа по адресу: /template/go.php?url=https://dtc.jrc.ec.europa.eu/text/cm.html.
ManufacturerCode: = ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения:
Сертификат открытого ключа Договаривающейся стороны, выданный Европейским сертификационным органом.
MemberStateCertificate: = Сертификат
Открытый ключ Договаривающейся стороны.
MemberStatePublicKey: = Открытый ключ
Название.
Название := ПОСЛЕДОВАТЕЛЬНОСТЬ {
codePage ЦЕЛОЕ ЧИСЛО (0..255),
name ОКТЕТНАЯ СТРОКА (РАЗМЕР(35))
}
codePage - элемент данных, указывающий на раздел стандарта ISO/IEC 8859, использованный для кодирования названия,
name - название, закодированное в соответствии со стандартом ISO/IEC 8859-codePage.
Буквенное обозначение страны в соответствии с обычным принципом кодирования стран (отличительные знаки), которое наносится на заднюю часть транспортных средств (либо отдельно от номерного знака, либо включенного в номерной знак) и/или упомянутое в зеленых карточках, выдаваемых страховыми компаниями.
NationAlpha ::= строка IA5 (РАЗМЕР(3))
Присвоение значения:
Числовое обозначение страны.
NationNumeric ::= ЦЕЛОЕ ЧИСЛО (0 .. 255)
Присвоение значения:
Число записей калибровки, которое может храниться на карточке.
NoOfCalibrationRecords: = ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения: см. пункт 3.
(ЧИСЛО КАЛИБРОВОК ПОСЛЕ ЗАГРУЗКИ)
Счетчик, указывающий число калибровок, произведенных с карточкой мастерской после последней загрузки данных с этой карточки (требование 230).
NoOfCalibrationsSinceDownload ::= ЦЕЛОЕ ЧИСЛО (0..216 - 1),
Присвоение значения: Дополнительно не уточняется.
(ЧИСЛО ЗАПИСЕЙ, КАСАЮЩИХСЯ МЕСТ, МЕСТ НА КАРТОЧКЕ)
Число записей с указанием мест, которое может храниться на карточке водителя или мастерской.
NoOfCardPlaceRecords ::= ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения: см. пункт 3.
(ЧИСЛО ЗАПИСЕЙ, КАСАЮЩИХСЯ ТРАНСПОРТНЫХ СРЕДСТВ НА КАРТОЧКЕ)
Число записей с указанием использованных транспортных средств, которое может храниться на карточке водителя или мастерской.
NoOfCardVehicleRecords: = ЦЕЛОЕ ЧИСЛО (0.. 216 - 1)
Присвоение значения: см. пункт 3.
(ЧИСЛО ЗАПИСЕЙ, КАСАЮЩИХСЯ ОПЕРАЦИЙ ПРЕДПРИЯТИЯ)
Число записей, касающихся операций предприятия, которое может храниться на карточке предприятия.
NoOfCompanyActivityRecords ::= ЦЕЛОЕ ЧИСЛО (0.. 216 - 1)
Присвоение значения: см. пункт 3.
(ЧИСЛО ЗАПИСЕЙ, КАСАЮЩИХСЯ ПРОВЕРОЧНЫХ ОПЕРАЦИЙ)
Число, касающихся проверочных операций, которое может храниться на карточке контролера.
NoOfControlActivityRecords ::= ЦЕЛОЕ ЧИСЛО (0.. 216 - 1)
Присвоение значения: см. пункт 3.
Число событий по типу события, которое может храниться на карточке.
NoOfEventsPerType ::= ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения: см. пункт 3.
Число неисправностей по типу неисправности, которое может храниться на карточке.
NoOfFaultsPerType ::= ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения: см. пункт 3.
(ПОКАЗАНИЯ СЧЕТЧИКА ПРОБЕГА В ПОЛНОЧЬ)
Показания счетчика пробега транспортного средства в полночь на данный день (требование 090).
OdometerValueMidnight ::= Показания счетчика
Присвоение значения: дополнительно не уточняется.
Показания счетчика пробега транспортного средства в краткой форме.
OdometerShort ::= ЦЕЛОЕ ЧИСЛО (0..224 - 1)
Присвоение значения: двоичный код без знака. Значение в км в рабочем диапазоне от 0 до 9 999 999 км.
Число превышений скорости с момента последнего контроля за превышением скорости.
OverspeedNumber ::= ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения: 0 означает, что после последнего контроля за превышением скорости случаев превышения скорости не было, 1 означает, что после последнего контроля за превышением скорости был один случай превышения скорости... 255 означает, что после последнего контроля за превышением скорости было 255 или больше случаев превышения скорости.
Информация, касающаяся места, в котором начинается или заканчивается ежедневный период работы (требования 087, 202, 221).
PlaceRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
entryTime реальное время,
entryTypeDailyWorkPeriod тип данных о ежедневном периоде работы,
dailyWorkPeriodCountry числовой код страны,
dailyWorkPeriodRegion числовой код региона,
vehicleOdometerValue показания счетчика пробега
}
entryTime - дата и время ввода данных.
entryTypeDailyWorkPeriod - тип ввода.
dailyWorkPeriodCountry - страна въезда.
dailyWorkPeriodRegion - район въезда.
vehicleOdometerValue - показания счетчика пробега в момент ввода данных о месте въезда.
(ИНФОРМАЦИЯ О ПРЕДЫДУЩЕМ ТРАНСПОРТНОМ СРЕДСТВЕ)
Информация, касающаяся транспортного средства, использованного водителем ранее, в момент ввода его карточки в бортовое устройство (требование 081).
PreviousVehicleInfo ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
vehicleRegistrationIdentification идентификация регистрации
транспортного средства,
cardWithdrawalTime реальное время
}
vehicleRegistrationIdentification - VRN и Договаривающаяся сторона регистрации транспортного средства.
cardWithdrawalTime - дата и время извлечения карточки.
Открытый ключ RSA.
PublicKey::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
rsaKeyModulus модуль ключа RSA,
rsaKeyPublicExponent открытая экспонента ключа RSA
}
rsaKeyModulus - модуль парного ключа.
rsaKeyPublicExponent - открытая экспонента парного ключа.
Буквенное обозначение региона в конкретной стране.
RegionAlpha ::= СТРОКА IA5 (РАЗМЕР (3))
Присвоение значения:
Числовое обозначение района в конкретной стране.
RegionNumeric ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (1))
Присвоение значения:
Модуль парного ключа RSA.
RSAKeyModulus ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (128))
Присвоение значения: не определено.
(закрытая экспонента парного ключа RSA.
RSAKeyPrivateExponent ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (128))
Присвоение значения: не определено.
Открытая экспонента ключа RSA.
RSAKeyPublicExponent ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР (8))
Присвоение значения: не определено.
(НОМЕР ОФИЦИАЛЬНОГО УТВЕРЖДЕНИЯ ДАТЧИКА)
Номер официального утверждения типа датчика.
SensorApprovalNumber ::= строка IA5 (РАЗМЕР(8))
Присвоение значения: не определено.
Информация, записанная в датчике движения, которая имеет отношение к идентификации датчика движения (требование 077).
SensorIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
sensorSerialNumber серийный номер датчика,
SensorApprovalNumber номер официального утверждения датчика,
sensorSCIdentifier идентификатор компонента защиты датчика,
sensorOSIdentifier идентификатор операционной системы датчика
}
sensorSerialNumber - расширенный серийный номер датчика движения (включая номера деталей и код изготовителя).
SensorApprovalNumber - номер официального утверждения датчика движения.
sensorSCIdentifier - идентификатор компонента защиты датчика движения.
sensorOSIdentifier - идентификатор операционной системы датчика движения.
Информация, записанная в датчике движения, которая имеет отношение к установке датчика движения (требование 099).
SensorInstallation ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
sensorPairingDateFirst дата подсоединения датчика,
firstVuApprovalNumber номер официального утверждения БУ,
firstVuSerialNumber серийный номер БУ,
sensorPairingDateCurrent дата подсоединения датчика,
currentVuApprovalNumber номер официального утверждения БУ,
currentVUSerialNumber серийный номер БУ
}
sensorPairingDateFirst - дата первого подсоединения датчика движения к бортовому устройству.
firstVuApprovalNumber - номер официального утверждения первого бортового устройства, подсоединенного к датчику движения.
firstVuSerialNumber - серийный номер первого бортового устройства, подсоединенного к датчику движения.
sensorPairingDateCurrent - дата текущего подсоединения датчика движения к бортовому устройству.
currentVuApprovalNumber - официальный номер бортового устройства, подсоединенного в данный момент к датчику движения.
currentVUSerialNumber - серийный номер бортового устройства, подсоединенного в данный момент к датчику движения.
Информация, записанная на карточке мастерской, которая имеет отношение к данным о защите, необходимым для подсоединения датчиков движения к бортовым устройствам (требование 214).
SensorInstallationSecData ::= сеанс трехкратного шифрования ключа по системе DES
Присвоение значения: в соответствии со стандартом ISO 16844-3.
Идентификатор операционной системы датчика движения.
SensorOSIdentifier ::= Строка IA5 (РАЗМЕР (2))
Присвоение значения: по усмотрению изготовителя.
Информация, записанная в бортовом устройстве, которая имеет отношение к идентификации датчика движения, подсоединенного к бортовому устройству (требование 079).
SensorPaired ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
sensorSerialNumber серийный номер датчика,
sensorApprovalNumber номер официального утверждения датчика,
sensorPairingDateFirst дата подсоединения датчика
}
sensorSerialNumber - серийный номер датчика движения, подсоединенного в данный момент к бортовому устройству.
sensorApprovalNumber - номер официального утверждения датчика движения, подсоединенного в данный момент к бортовому устройству.
sensorPairingDateFirst - дата первого подсоединения к бортовому устройству датчика движения, подсоединенного к бортовому устройству в данный момент.
Дата подсоединения датчика движения к бортовому устройству.
SensorPairingDate ::= Реальное время.
Присвоение значения: не определено.
Серийный номер датчика движения.
SensorSerialNumber ::= Расширенный серийный номер
Идентификатор компонента защиты датчика движения.
SensorSCIdentifier ::= Страна IA5 (РАЗМЕР (8))
Присвоение значения: по усмотрению изготовителя компонента.
Цифровая подпись.
Signature ::= ОКТЕТНАЯ СТРОКА (РАЗМЕР(128))
Присвоение значения: в соответствии с общими механизмами защиты, определенными в подразделе 11.
Число аналогичных событий за один конкретный день (требование 094).
SimilarEventsNumber ::= ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения: 0 не используется, 1 означает, что в данный день имело место и было зарегистрировано только одно событие этого типа, 2 означает, что в этот день имели место 2 события (из которых было зарегистрировано только одно), ...255 означает, что в данный день произошло 255 или более событий этого типа.
SpecificConditionType ::= ЦЕЛОЕ ЧИСЛО (0..255)
Присвоение значения:
'00'H RFU (зарезервировано для будущего использования)
'01'H неприменимо - начало
'02'H неприменимо - конец
'03'H Переезд на пароме/поезде
'04'H .. 'FF'HRFU
Информация, записанная на карточке водителя, карточке предприятия и в бортовом устройстве, которая имеет отношение к особой ситуации (требования 105a, 212a и 230a).
SpecificConditionRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
entryTime реальное время,
SpecificConditionType тип особой ситуации
}
entryTime - дата и время ввода данных.
SpecificConditionType - код, позволяющий идентифицировать особую ситуацию.
Скорость транспортного средства (км/ч).
Speed ::= ЦЕЛОЕ ЧИСЛО (0,255)
Присвоение значения: км в час в рабочем диапазоне от 0 до 220 км/ч.
Максимальная разрешенная скорость транспортного средства (определение bb)).
SpeedAuthorised ::= Скорость
Средняя скорость за предварительно определенный промежуток времени (км/ч).
SpeedAverage ::= Скорость
Максимальная скорость за предварительно определенный промежуток времени.
SpeedMax ::= Скорость
Трехкратное шифрование ключа сеанса в системе DES.
TDesSessionKey ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
tDesKeyA ОКТЕТНАЯ СТРОКА (РАЗМЕР (8))
tDesKeyB ОКТЕТНАЯ СТРОКА (РАЗМЕР (8))
}
Присвоение значения: дополнительно не уточняется.
Код совмещенного поля данных даты и времени, в котором дата и время выражаются в секундах, начиная с 00 ч. 00 м. 00 с. 1 января 1970 года (среднее время по Гринвичу).
TimeReal{INTEGER:TimeRealRange} ::= ЦЕЛОЕ ЧИСЛО (0..TimeRealRange)
Присвоение значения - Выровненный байт: число секунд начиная с полночи 1 января 1970 года (среднее время по Гринвичу).
Максимально возможное отображение даты/времени - 2106 год.
Обозначение размера шин.
TyreSize ::= Сторона IA5 (РАЗМЕР (15))
Присвоение значения: в соответствии с Правилами ЕЭК N 54 <*>.
--------------------------------
<*> Исходным текстом является директива ЕС 92/23/EEC, касающаяся шин автотранспортных средств и их прицепов и их установки, от 31 марта 1992 года (OJ No L 129, 14/05/1992).
(ИДЕНТИФИКАЦИОННЫЙ НОМЕР ТРАНСПОРТНОГО СРЕДСТВА)
Идентификационный номер транспортного средства (VIN), указывающий на транспортное средство в целом; обычно это серийный номер шасси или номер рамы.
VehicleIdentificationNumber ::= Сторона IA5 (РАЗМЕР (17))
Присвоение значения: в соответствии с определением в стандарте ИСО 3779.
(ИДЕНТИФИКАЦИЯ РЕГИСТРАЦИИ ТРАНСПОРТНОГО СРЕДСТВА)
Идентификация транспортного средства, индивидуальная для Европы (VRN и Договаривающаяся сторона)
VehicleRegistrationIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
vehicleRegistrationNation числовой код страны,
vehicleRegistrationNumber номер регистрации транспортного средства
}
vehicleRegistrationNation - страна, в которой зарегистрировано транспортное средство.
vehicleRegistrationNumber - номер регистрации транспортного средства (VRN).
(НОМЕР РЕГИСТРАЦИИ ТРАНСПОРТНОГО СРЕДСТВА)
Номер регистрации транспортного средства (VRN). Номер регистрации присваивается компетентным органом, регистрирующим транспортное средство.
VehicleRegistrationNumber ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
codePage ЦЕЛОЕ ЧИСЛО (0,255),
vehicleRegNumber ОКТЕТНАЯ СТРОКА (РАЗМЕР(13))
}
codePage - элемент данных, указывающих на раздел стандарта ISO/IEC 8859, использованный для кодирования регистрационного номера транспортного средства,
vehicleRegNumber - VRN, закодированный в соответствии со стандартом ISO/IEC 8859-codePage.
Присвоение значения: по усмотрению страны.
(ДАННЫЕ ОБ ИЗМЕНЕНИИ ДЕЯТЕЛЬНОСТИ В БУ)
Информация, записанная в БУ, которая имеет отношение к изменению деятельности и/или изменению статуса управления и/или изменению состояния карточки за данный календарный день (требование 084) и к состоянию считывающих устройств на 00:00 часов в указанный день.
VuActivityDailyData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfActivityChanges ЦЕЛОЕ ЧИСЛО (0.1440),
activityChangeInfos УСТАНОВЛЕННЫЙ РАЗМЕР
(noOfActivityChanges) ПАРАМЕТРА
ActivityChangeInfo
}
noOfActivityChanges - число слов позиции ActivityChangeInfo в совокупности данных activityChangeInfos.
activityChangeInfos - совокупность слов позиции ActivityChangeInfo, записанных в БУ за данный день. Она всегда включает два слова ActivityChangeInfo, указывающих на состояние считывающих устройств в 00:00 часов в указанный день.
Номер официального утверждения типа бортового устройства
VuApprovalNumber ::= Сторона IA5 (РАЗМЕР (8))
Присвоенное значение: не определено.
Информация, записанная в бортовом устройстве, которая имеет отношение к калибровке контрольного устройства (требование 098).
VuCalibrationData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfVuCalibrationRecords ЦЕЛОЕ ЧИСЛО (0,255),
vuCalibrationRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(noOfVuCalibrationRecords) ПАРАМЕТРА
VuCalibrationRecord
}
noOfVuCalibrationRecords - число записей, содержащееся в совокупности vuCalibrationRecords.
vuCalibrationRecords - совокупность записей калибровки.
Информация, записанная в бортовом устройстве, которая имеет отношение к калибровке контрольного устройства (требование 098).
VuCalibrationRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
calibrationPurpose цель калибровки,
workshopName название,
workshopAddress адрес,
workshopCardNumber полный номер карточки,
workshopCardExpiryDate реальное время,
vehicleIdentificationNumber идентификационный номер транспортного
средства,
vehicleRegistrationIdentification идентификация регистрации
транспортного средства,
wVehicleCharacteristicConstant характеристическая постоянная
транспортного средства W,
kConstantOfRecordingEquipment постоянная записывающего оборудования
K,
lTyreCircumference окружность шины L,
tyreSize размер шины,
authorisedSpeed разрешенная скорость,
oldOdometerValue показания счетчика пробега,
newOdometerValue показания счетчика пробега,
oldTimeValue реальное время,
newTimeValue реальное время,
nextCalibrationDate реальное время
}
calibrationPurpose - цель калибровки.
workshopName, workshopAddress - название и адрес мастерской.
workshopCardNumber - идентификатор карточки мастерской, использованной во время калибровки.
workshopCardExpiryDate - дата истечения срока действия карточки.
vehicleIdentificationNumber - VIN (опознавательный номер транспортного средства).
vehicleRegistrationIdentification - VRN (регистрационный номер транспортного средства) и Договаривающаяся сторона регистрации.
wVehicleCharacteristicConstant - характеристический коэффициент транспортного средства.
kConstantOfRecordingEquipment - постоянная контрольного устройства.
lTyreCircumference - эффективная окружность шин колес.
tyreSize - обозначение размера шин, установленных на транспортном средстве.
authorisedSpeed - разрешенная скорость транспортного средства.
oldOdometerValue, newOdometerValue - прежние и новые показания счетчика пробега.
oldTimeValue, newTimeValue - прежние и новые значения даты и времени.
nextCalibrationDate - дата следующей калибровки типа, указанной в позиции CalibrationPurpose, которая должна быть произведена уполномоченным инспекционным органом.
Информация, записанная в бортовом устройстве, которая имеет отношение к циклам ввода карточек водителя или карточек мастерской в бортовое устройство и их извлечения (требование 081).
VuCardIWData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfIWRecords ЦЕЛОЕ ЧИСЛО
, vuCardIWRecords УСТАНОВЛЕННЫЙ РАЗМЕР (noOfIWRecords)
ПАРАМЕТРА VuCardIWRecord
}
noOfIWRecords - число записей в совокупности vuCardIWRecords.
vuCardIWRecords - совокупность записей, относящихся к циклам ввода и извлечения карточек.
(ЗАПИСЬ ДАННЫХ О ВВОДЕ И ИЗВЛЕЧЕНИИ КАРТОЧКИ)
Информация, записанная в бортовом устройстве, которая имеет отношение к циклу ввода карточки водителя или карточки мастерской в бортовое устройство и их извлечения (требование 081).
VuCardIWRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
cardHolderName фамилия держателя,
fullCardNumber полный номер карточки,
cardExpiryDate реальное время,
cardInsertionTime реальное время,
vehicleOdometerValueAtInsertion показания счетчика пробега,
cardSlotNumber номер считывающего устройства,
cardWithdrawalTime реальное время,
vehicleOdometerValueAtWithdrawal показания счетчика пробега,
previousVehicleInfo информация о предыдущем транспортном
средстве
manualInputFlag отметка, указывающая на ручной ввод
данных
}
cardHolderName - фамилия и имя держателя карточки водителя или мастерской, записанные в карточке.
fullCardNumber - тип карточки, выдавшая ее Договаривающаяся сторона и номер карточки, записанные в карточке.
cardExpiryDate - дата истечения срока действия карточки, записанная в карточке.
cardInsertionTime - дата и время ввода карточки.
vehicleOdometerValueAtInsertion - показания счетчика пробега транспортного средства в момент ввода карточки.
cardSlotNumber - считывающее устройство, в которое вставлена карточка.
cardWithdrawalTime - дата и время извлечения карточки.
vehicleOdometerValueAtWithdrawal - показания счетчика пробега транспортного средства в момент извлечения карточки.
previousVehicleInfo - информация о предыдущем транспортном средстве, использованном водителем, записанная в карточке.
manualInputFlag - метка, позволяющая определить, ввел ли держатель карточки в момент ее ввода данные о деятельности водителя вручную.
Сертификат открытого ключа бортового устройства.
VuCertificate ::= сертификат
Информация, записанная в бортовом устройстве, которая относится к блокировкам, установленным предприятием (требование 104).
VuCompanyLocksData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfLocks ЦЕЛОЕ ЧИСЛО(0..20),
vuCompanyLocksRecords УСТАНОВЛЕННЫЙ РАЗМЕР(noOfLocks)
ПАРАМЕТРА VuCompanyLocksRecord
}
noOfLocks - число блокировок, перечисленных в файле vuCompanyLocksRecords.
vuCompanyLocksRecords - совокупность записей о блокировках, установленных предприятием.
(ЗАПИСЬ БЛОКИРОВКИ БУ ПРЕДПРИЯТИЕМ)
Информация, записанная в бортовом устройстве, которая относится к одной блокировке, произведенной предприятием (требование 104).
VuCompanyLocksRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
lockInTime реальное время,
lockOutTime реальное время,
companyName название,
companyAddress адрес,
companyCardNumber полный номер карточки
}
lockInTime, lockOutTime - дата и время блокировки и снятия блокировки.
companyName, companyAddress - название и адрес предприятия, которое произвело блокировку.
companyCardNumber - номер, идентифицирующий карточку, использованную для блокировки.
Информация, записанная в бортовом устройстве, которая имеет отношение к проверкам данного БУ (требование 102).
VuControlActivityData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfControls ЦЕЛОЕ ЧИСЛО(0..20),
vuControlActivityRecords УСТАНОВЛЕННЫЙ РАЗМЕР(noOfControls)
ПАРАМЕТРА VuControlActivityRecord
}
noOfControls - число проверок, перечисленных в файле vuControlActivityRecords.
vuControlActivityRecords - совокупность записей о проверочных операциях.
(ЗАПИСЬ ОПЕРАЦИЙ ПО ПРОВЕРКЕ БУ)
Информация, записанная в бортовом устройстве, которая имеет отношение к проверке данного БУ (требование 102).
VuControlActivityRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
controlType тип проверки,
controlTime реальное время,
controlCardNumber полный номер карточки,
downloadPeriodBeginTime реальное время,
downloadPeriodEndTime реальное время
}
controlType - тип проверки.
controlTime - дата и время проверки.
controlCardNumber - идентификатор карточки контролера, использованной для проверки.
downloadPeriodBeginTime - время начала периода, за который загружаются данные (в случае загрузки).
downloadPeriodEndTime - время конца периода, за который загружаются данные (в случае загрузки).
Счетчик, записанный на карточке, который позволяет определять последовательную нумерацию циклов ввода и извлечения карточки в бортовых устройствах.
VuDataBlockCounter ::= строка BCD (РАЗМЕР (2))
Присвоение значения: последовательная нумерация с максимальным значением 9 999, которая снова начинается с 0.
Информация, записанная в бортовом устройстве, которое относится к скорости транспортного средства за минуту, в течение которой транспортное средство находится в процессе движения (требование 093).
VuDetailedSpeedBlock ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
speedBlockBeginDate реальное время,
speedsPerSecond РАЗМЕР ПОСЛЕДОВАТЕЛЬНОСТИ (60) параметра Speed
}
speedBlockBeginDate - дата и время первого значения скорости в блоке данных.
speedsPerSecond хронологическая последовательность измеряемых скоростей за каждую секунду в течение минуты, которая начинает отсчитываться с момента реального времени, отраженного в позиции SpeedBlockBeginDate (включительно).
Информация, записанная в бортовом устройстве, которая имеет отношение к изменению скорости транспортного средства.
VuDetailedSpeedData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfSpeedBlocks ЦЕЛОЕ ЧИСЛО
, vuDetailedSpeedBlocks УСТАНОВЛЕННЫЙ РАЗМЕР
(noOfSpeedBlocks) параметра
VuDetailedSpeedBlock
}
noOfSpeedBlocks - число блоков скорости в совокупности vuDetailedSpeedBlocks.
vuDetailedSpeedBlocks - совокупность блоков данных об изменении скорости.
Самая ранняя и самая последняя дата, на которую хранятся в бортовом устройстве данные о деятельности водителя (требования 081, 084 или 087).
VuDownloadablePeriod ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
minDownloadableTime
maxDownloadableTime реальное время
}
minDownloadableTime - самая ранняя дата и время ввода карточки, въезда на данную территорию или изменения вида деятельности, которые хранятся в блоке памяти бортового устройства.
maxDownloadableTime - самая последняя дата и время извлечения карточки, въезда на данную территорию или изменения вида деятельности, которые хранятся в блоке памяти бортового устройства.
(ИНФОРМАЦИЯ О ЗАГРУЗКЕ ДАННЫХ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на время последней загрузки (требование 105).
VuDownloadActivityData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
downloadingTime реальное время,
fullCardNumber полный номер карточки,
companyOrWorkshopName название
}
downloadingTime - дата и время загрузки.
fullCardNumber - идентификатор использованной карточки, разрешающий загрузку.
companyOrWorkshopName - название предприятия или мастерской.
Информация, записанная в бортовом устройстве, указывающая на события (требование 094, за исключением случая превышения скорости).
VuEventData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfVuEvents ЦЕЛОЕ ЧИСЛО (0,255),
vuEventRecords УСТАНОВЛЕННЫЙ РАЗМЕР (noOfVuEvents)
параметра VuEventRecord
}
noOfVuEvents - число событий, перечисленных в массиве данных vuEventRecords.
vuEventRecords - совокупность записей данных о событиях.
Информация, записанная в бортовом устройстве, указывающая на соответствующее событие (требование 094, за исключением случая превышения скорости).
VuEventRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
eventType тип события/неисправности,
eventRecordPurpose причина регистрации события/неисправности,
eventBeginTime реальное время,
eventEndTime реальное время,
cardNumberDriverSlotBegin полный номер карточки,
cardNumberCodriverSlotBegin полный номер карточки,
cardNumberDriverSlotEnd полный номер карточки,
cardNumberCodriverSlotEnd полный номер карточки,
similarEventsNumber число аналогичных событий
}
eventType - тип события.
eventRecordPurpose - цель регистрации данного события.
eventBeginTime - дата и время начала события.
eventEndTime - дата и время конца события.
cardNumberDriverSlotBegin - идентификатор вставленной карточки в считывающее устройство водителя в начале события.
cardNumberCodriverSlotBegin - идентификатор вставленной карточки в считывающее устройство второго водителя в начале события.
cardNumberDriverSlotEnd - идентификатор вставленной карточки в считывающее устройство водителя в конце события.
cardNumberCodriverSlotEnd - идентификатор вставленной карточки в считывающее устройство второго водителя в конце события.
similarEventsNumber - число аналогичных событий в указанный день.
Эта последовательность может быть использована для всех событий, помимо случаев превышения скорости.
Информация, записанная в бортовом устройстве, указывающая на неисправности (требование 096).
VuFaultData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfVuFaults ЦЕЛОЕ ЧИСЛО (0,255),
vuFaultRecords УСТАНОВЛЕННЫЙ РАЗМЕР (noOfVuFaults)
параметра VuFaultRecord
}
noOfVuFaults - число неисправностей, перечисленных в массиве данных vuFaultRecords.
vuFaultRecords - совокупность записей о неисправностях.
Информация, записанная в бортовом устройстве, которое указывает на неисправность (требование 096).
VuFaultRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
faultType тип неисправности,
faultRecordPurpose цель регистрации неисправности,
faultBeginTime реальное время,
faultEndTime реальное время,
cardNumberDriverSlotBegin полный номер карточки,
cardNumberCodriverSlotBegin полный номер карточки,
cardNumberDriverSlotEnd полный номер карточки,
cardNumberCodriverSlotEnd полный номер карточки
}
faultType - тип неисправности контрольного устройства.
faultRecordPurpose - цель регистрации данной неисправности.
faultBeginTime - дата и время начала неисправности.
faultEndTime - дата и время конца неисправности.
cardNumberDriverSlotBegin - идентификатор карточки, вставленной в считывающее устройство водителя в начале неисправности.
cardNumberCodriverSlotBegin - идентификатор карточки, вставленной в считывающее устройство второго водителя в начале неисправности.
cardNumberDriverSlotEnd - идентификатор карточки, вставленной в считывающее устройство водителя в конце неисправности.
cardNumberCodriverSlotEnd - идентификатор карточки, вставленной в считывающее устройство второго водителя в конце неисправности.
Информация, записанная в бортовом устройстве, которая указывает на идентификацию бортового устройства (требование 075).
VuIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
vuManufacturerName название изготовителя БУ,
vuManufacturerAddress адрес изготовителя БУ,
vuPartNumber номер детали БУ,
vuSerialNumber серийный номер БУ,
vuSoftwareIdentification идентификация программного обеспечения БУ,
vuManufacturingDate дата изготовления БУ,
vuApprovalNumber номер официального утверждения БУ
}
vuManufacturerName - название изготовителя бортового устройства.
vuManufacturerAddress - адрес изготовителя бортового устройства.
vuPartNumber - номер детали бортового устройства.
vuSerialNumber - серийный номер бортового устройства.
vuSoftwareIdentification - идентификатор программного обеспечения, использованного в бортовом устройстве.
vuManufacturingDate - дата изготовления бортового устройства.
vuApprovalNumber - номер официального утверждения бортового устройства.
Адрес изготовителя бортового устройства.
VuManufacturerAddress ::= адрес.
Присвоение значения: не определено.
Название изготовителя бортового устройства.
VuManufacturerName ::= название
Присвоение значения: дата изготовления бортового устройства.
Дата изготовления бортового устройства.
VuManufacturingDate ::= реальное время
Присвоение значения: не определено.
(ДАННЫЕ О КОНТРОЛЕ ЗА ПРЕВЫШЕНИЕМ СКОРОСТИ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на случаи превышения скорости после последнего контроля за превышением скорости (требование 095).
VuOverSpeedingControlData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
lastOverspeedControlTime реальное время,
firstOverspeedSince реальное время,
numberOfOverspeedSince число превышений скорости
}
lastOverspeedControlTime - дата и время последнего контроля за превышением скорости.
firstOverspeedSince - дата и время первого превышения скорости после указанного контроля за превышением скорости.
numberOfOverspeedSince - число случаев превышения скорости после последнего контроля за превышением скорости.
(ДАННЫЕ О СЛУЧАЯХ ПРЕВЫШЕНИЯ СКОРОСТИ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на случаи превышения скорости (требование 094).
VuOverSpeedingEventData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfVuOverSpeedingEvents ЦЕЛОЕ ЧИСЛО(0..255),
vuOverSpeedingEventRecords УСТАНОВЛЕННЫЙ
РАЗМЕР(noOfVuOverSpeedingEvents) ПАРАМЕТРА
VuOverSpeedingEventRecord
}
noOfVuOverSpeedingEvents - число случаев, перечисленных в массиве данных vuOverSpeedingEventRecords.
vuOverSpeedingEventRecords - массив данных, содержащий записи случаев превышения скорости.
(ЗАПИСИ СЛУЧАЕВ ПРЕВЫШЕНИЯ СКОРОСТИ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на случаи превышения скорости (требование 094).
VuOverSpeedingEventRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
eventType тип события/неисправности,
eventRecordPurpose цель регистрации события/неисправности,
eventBeginTime реальное время,
eventEndTime реальное время,
maxSpeedValue максимальная скорость,
averageSpeedValue средняя скорость,
cardNumberDriverSlotBegin полный номер карточки,
similarEventsNumber число аналогичных событий
}
eventType - тип события.
eventRecordPurpose - цель регистрации данного события.
eventBeginTime - дата и время начала события.
eventEndTime - дата и время завершения события.
maxSpeedValue - максимальная скорость, измеренная во время события.
averageSpeedValue - среднее арифметическое скорости, измеренной во время события.
cardNumberDriverSlotBegin - идентификатор карточки, вставленной в считывающее устройство водителя в начале события.
similarEventsNumber - число аналогичных событий в указанный день.
Номер детали бортового устройства.
VuPartNumber ::= Строка IA5(РАЗМЕР(16))
Присвоение значения: по усмотрению изготовителя БУ.
(ДАННЫЕ О МЕСТЕ/ЕЖЕДНЕВНОМ ПЕРИОДЕ РАБОТЫ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на места, в которых водители начинают или завершают ежедневные периоды работы (требование 087).
VuPlaceDailyWorkPeriodData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfPlaceRecords ЦЕЛОЕ ЧИСЛО(0..255),
vuPlaceDailyWorkPeriodRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(noOfPlaceRecords) ПАРАМЕТРА
VuPlaceDailyWorkPeriodRecord
}
noOfPlaceRecords - число записей, перечисленных в массиве данных vuPlaceDailyWorkPeriodRecords.
vuPlaceDailyWorkPeriodRecords - массив записей с указанием мест.
(ЗАПИСИ О МЕСТЕ/ЕЖЕДНЕВНОМ ПЕРИОДЕ РАБОТЫ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на место, в котором водитель начинает или заканчивает ежедневный период работы (требование 087).
VuPlaceDailyWorkPeriodRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
fullCardNumber полный номер карточки,
placeRecord запись данных о месте
}
fullCardNumber - тип карточки водителя, Договаривающаяся сторона, выдавшая карточку и номер карточки.
placeRecord - запись, содержащая информацию о месте въезда.
Закрытый ключ бортового устройства.
VuPrivateKey ::= Закрытая экспонента ключа RSA
Открытый ключ бортового устройства
VuPublicKey ::= открытый ключ
Серийный номер бортового устройства (требование 075).
VuSerialNumber ::= расширенный серийный номер
Дата установки варианта программного обеспечения бортового устройства.
VuSoftInstallationDate ::= реальное время
Присвоение значения: не определено.
Информация, записанная в бортовом устройстве, которая указывает на установленное программное обеспечение.
VuSoftwareIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
vuSoftwareVersion вариант программы БУ,
VuSoftInstallationDate дата установки программы БУ
}
vuSoftwareVersion - номер версии программного обеспечения бортового устройства.
VuSoftInstallationDate - дата установки версии программного обеспечения.
Вариант программного обеспечения бортового устройства.
VuSoftwareVersion ::= IA5Размер(РАЗМЕР(4))
Присвоение значения: не определено.
(ДАННЫЕ ОБ ОСОБЫХ СИТУАЦИЯХ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на особые ситуации.
VuSpecificConditionData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfSpecificConditionRecords ЦЕЛОЕ ЧИСЛО(0..216 - 1)
specificConditionRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(noOfSpecificConditionRecords)
ПАРАМЕТРА SpecificConditionRecord
}
noOfSpecificConditionRecords - число записей, перечисленных в массиве данных specificConditionRecords.
specificConditionRecords - массив данных, содержащих записи об особых ситуациях.
(ДАННЫЕ О КОРРЕКТИРОВКЕ ВРЕМЕНИ В БУ)
Информация, записанная в бортовом устройстве, которая указывает на корректировки времени, произведенные вне программы регулярной калибровки (требование 101)
VuTimeAdjustmentData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
noOfVuTimeAdjRecords ЦЕЛОЕ ЧИСЛО(0..6),
vuTimeAdjustmentRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(noOfVuTimeAdjRecords) ПАРАМЕТРА
VuTimeAdjustmentRecord
}
noOfVuTimeAdjRecords - число записей в массиве данных TimeAdjustmentRecords.
vuTimeAdjustmentRecords - массив данных с записями о корректировке времени.
(ЗАПИСИ КОРРЕКТИРОВКИ ВРЕМЕНИ В БУ)
Информация, записанная в бортовом устройстве, указывающая на корректировку времени, произведенную вне программы регулярной калибровки (требование 101)
VuTimeAdjustmentRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
newTimeValue реальное время,
workshopName название,
workshopAddress адрес,
workshopCardNumber полный номер карточки
}
oldTimeValue, newTimeValue - прежнее и новое значения даты и времени.
workshopName, workshopAddress - название и адрес мастерской.
workshopCardNumber - идентификатор карточки мастерской, использованной для корректировки времени.
(ХАРАКТЕРИСТИЧЕСКАЯ ПОСТОЯННАЯ W ТРАНСПОРТНОГО СРЕДСТВА
Характеристический коэффициент транспортного средства (определение k)).
W-VehicleCharacteristicConstant ::= ЦЕЛОЕ ЧИСЛО (0..216 - 1))
Присвоение значения: Импульсы на километр в рабочем диапазоне от 0 до 64 255 имп./км.
(ИДЕНТИФИКАЦИЯ ПРИЛОЖЕНИЯ КАРТОЧКИ МАСТЕРСКОЙ)
Информация, записанная в карточке мастерской, которая указывает на идентификацию приложения карточки (требование 190).
WorkshopCardApplicationIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
typeOfTachographCardId тип оборудования
cardStructureVersion вариант структуры карточки
noOfEventsPerType число событий по типу
noOfFaultsPerType число неисправностей по типу
activityStructureLength диапазон длины записи, касающейся
деятельности
noOfCardVehicleRecords число записей, касающихся транспортного
средства
noOfCardPlaceRecords число записей, касающихся мест
noOfCalibrationRecords число записей калибровок
}
typeOfTachographCardId - данные, указывающие на тип использованной карточки.
cardStructureVersion - данные, указывающие вариант структуры, использованной в карточке.
noOfEventsPerType - число событий по типу события, которое может храниться на карточке.
noOfFaultsPerType - число неисправностей по типу неисправности, которое может храниться на карточке
activityStructureLength - число имеющихся байтов памяти для хранения записей, касающихся деятельности.
noOfCardVehicleRecords - число записей, касающихся транспортного средства, которое может храниться на карточке.
noOfCardPlaceRecords - число мест, которое может храниться на карточке.
noOfCalibrationRecords - число записей калибровки, которое может храниться на карточке.
(ДАННЫЕ О КАЛИБРОВКЕ НА КАРТОЧКЕ МАСТЕРСКОЙ)
Информация, записанная на карточке мастерской, указывающая на операцию, произведенную мастерской с карточкой (требования 227 и 229).
WorkshopCardCalibrationData ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
calibrationTotalNumber ЦЕЛОЕ ЧИСЛО
, calibrationPointerNewestRecord ЦЕЛОЕ ЧИСЛО(0 .. NoOfCalibrationRecords-1),
calibrationRecords УСТАНОВЛЕННЫЙ РАЗМЕР
(NoOfCalibrationRecords) ПАРАМЕТРА
WorkshopCardCalibrationRecord
}
calibrationTotalNumber - общее число калибровок, произведенных с карточкой.
calibrationPointerNewestRecord - индекс последней обновленной записи калибровки.
Присвоение значения: число, соответствующее численному показателю записи калибровки, которое начинается с '0' в случае первой записи калибровки в структуре.
calibrationRecords - массив данных с записями, содержащими данные о калибровке и/или корректировке времени.
(ЗАПИСИ КАЛИБРОВКИ НА КАРТОЧКЕ МАСТЕРСКОЙ)
Информация, записанная на карточке мастерской, которая указывает на калибровку, произведенную с карточкой (требование 227).
WorkshopCardCalibrationRecord ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
calibrationPurpose цель калибровки,
vehicleIdentificationNumber номер идентификации транспортного
средства,
vehicleRegistration идентификация регистрации транспортного
средства,
wVehicleCharacteristicConstant характеристическая постоянная
транспортного средства W,
kConstantOfRecordingEquipment постоянная записывающего оборудования K
lTyreCircumference окружность шин L,
tyreSize размер шин,
authorisedSpeed разрешенная скорость,
oldOdometerValue показания счетчика пробега,
newOdometerValue показания счетчика пробега,
oldTimeValue реальное время,
newTimeValue реальное время,
nextCalibrationDate реальное время,
vuPartNumber номер детали БУ,
vuSerialNumber серийный номер БУ,
sensorSerialNumber серийный номер датчика
}
calibrationPurpose - цель калибровки.
vehicleIdentificationNumber - опознавательный номер транспортного средства (VEST).
vehicleRegistration - VIN и Договаривающаяся сторона регистрации.
wVehicleCharacteristicConstant - характеристический коэффициент транспортного средства.
kConstantOfRecordingEquipment - постоянная контрольного устройства.
lTyreCircumference - эффективная окружность шин колес.
tyreSize - обозначение размеров шин, установленных на транспортном средстве.
authorisedSpeed - максимальная разрешенная скорость транспортного средства.
oldOdometerValue, newOdometerValue - прежние и новые показания счетчика пробега.
oldTimeValue, newTimeValue - прежние и новые значения даты и времени.
nextCalibrationDate - дата следующей калибровки типа, указанного в файле CalibrationPurpose, которая должна осуществляться уполномоченным инспекционным органом.
vuPartNumber, vuSerialNumber и sensorSerialNumber - элементы данных, идентифицирующие контрольное устройство.
(ИДЕНТИФИКАЦИЯ ДЕРЖАТЕЛЯ КАРТОЧКИ МАСТЕРСКОЙ)
Информация, записанная в карточке мастерской, указывающая на идентификацию держателя карточки (требование 216).
WorkshopCardHolderIdentification ::= ПОСЛЕДОВАТЕЛЬНОСТЬ {
workshopName название,
workshopAddress адрес,
cardHolderName фамилия держателя,
cardHolderPreferredLanguage язык
}
workshopName - название мастерской держателя карточки.
workshopAddress - адрес мастерской держателя карточки.
cardHolderName - фамилия и имя (имена) держателя (например, фамилия механика).
cardHolderPreferredLanguage - предпочитаемый язык держателя карточки.
Персональный идентификационный номер карточки мастерской (требование 213).
WorkshopCardPIN ::= Строка IA5 (РАЗМЕР(8))
Присвоение значения: Известный номер PIN держателя карточки, за которым следует серия байтов 'FF' (до восьми байтов).
Определение значений переменных, используемых для определений, содержащихся в пункте 2.
TimeRealRange ::= 232 - 1
В строках IA5 используются знаки ASCII, определенные в стандарте ISO/IEC 8824-1. Для удобочитаемости и простоты присвоенные значения приводятся ниже. В случае разночтений вместо этой информационной записки следует использовать стандарт ISO/IEC 8824-1.
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]
В других строках знаков (адрес, название, номер регистрации транспортного средства) используются, кроме того, знаки, определенные кодами 192-255 стандарта ISO/IEC 8859-1 (Набор латинских знаков типа 1) или ISO/IEC 8859-7 (Набор греческих знаков).
В случае кодирования с помощью правил кодирования ASN.1 все определенные типы данных кодируются в соответствии со стандартом ISO/IEC 8825-2 (согласованный вариант).
Для целей настоящего подраздела используются следующие сокращения.
В настоящем подразделе использованы следующие источники:
EN 726-3 Системы идентификационных карточек - Карточки и терминалы на интегральных схемах для передачи данных - Часть 3: применение независимых требований к карточке. Декабрь 1994 года.
ISO/IEC 7816-2 Информационные технологии - Карточки идентификационные - Карточки на интегральных схемах с контактами - Часть 2: Размеры и расположение контактов. Издание первое: 1999 год.
ISO/IEC 7816-3 Информационные технологии - Карточки идентификационные - Карточки на интегральных схемах с контактами - Часть 3: Электронные сигналы и протокол передачи данных. Издание 2: 1997 год.
ISO/IEC 7816-4 Информационные технологии - Карточки идентификационные - Карточки на интегральных схемах с контактами - Часть 4: Межотраслевые команды обмена данных. Издание первое: 1995 год + поправка 1:1997 год.
ISO/IEC 7816-6 Информационные технологии - Карточки идентификационные - Карточки на интегральных схемах с контактами - Часть 6: Межотраслевые элементы данных. Издание первое: 1996 год + поправка 1:1998 год.
ISO/IEC 7816-8 Информационные технологии - Карточки идентификационные - Карточки на интегральных схемах с контактами - Часть 8: Межотраслевые команды, связанные с защитой. Издание первое: 1999 год.
ISO/IEC 9797 Информационные технологии - методы защиты - механизм обеспечения целостности данных с использованием функции криптографической проверки на основе алгоритма блочного шифрования. Издание 2: 1994 год.
TCS_200 Все электрические сигналы должны соответствовать стандарту ISO/IEC 7816-3, если не указано иное.
TCS_201 Расположение и размеры контактов карточки должны соответствовать стандарту ISO/IEC 7816-2.
TCS_202 Карточка должна работать в соответствии со спецификациями на предельные значения потребления, указанные в стандарте ISO/IEC 7816-3.
TCS_203 Карточка должна работать при Vcc = 3 В (+/- 0,3 В) или при Vcc = 5 В (+/- 0,5 В).
Выбор напряжения производится в соответствии со стандартом ISO/IEC 7816-3.
TCS_204 Карточка не должна предусматривать наличие программирующего напряжения на выводе C6. Предполагается, что вывод C6 к интерфейсу не подсоединяется. На контакт C6 может подаваться напряжение Vcc с карточки, однако он не должен подсоединяться на массу. В любом случае это напряжение не должно интерпретироваться.
TCS_205 Карточка должна работать в диапазоне частот а 1 - 5 МГц в течение одного сеанса использования карточки. Тактовая частота может меняться в пределах +/- 2%. Тактовая частота генерируется бортовым устройством, а не самой карточкой. Рабочий цикл может варьироваться в пределах 40 - 60%.
TCS_206 В соответствии с параметрами, заложенными в файле карточки EFICC, внешние часы могут останавливаться. Первый байт основного файла EFICC кодирует параметры режима остановки часов (более подробно см. стандарт EN 726-3):
Биты 4 - 8 не используются.
TCS_207 Контакт C7 "вход-выход" используется для получения данных от интерфейса и передачи данных на интерфейсе. Во время работы в режиме передачи может находиться либо только карточка, либо интерфейс. В том случае, если оба устройства работают в режиме передачи, карточка повреждена не будет. Если передача данных с карточки не производится, она переключается в режим приема.
TCS_208 В случае подачи на карточку напряжения, она может находиться в двух состояниях:
- в рабочем состоянии при выполнении команд или обмене данными с цифровым блоком,
- в нерабочем состоянии в остальное время; в этом состоянии все данные на карточке сохраняются.
В настоящем пункте излагаются минимальные требования к функциям карточек тахографа и БУ в целях обеспечения правильной работы и эксплуатационной совместимости.
Карточки тахографа в максимальной степени соответствуют применимым нормам стандарта ISO/IEC (прежде всего ISO/IEC 7816). Однако в целях уточнения некоторых ограниченных видов использования или различий, в случае их наличия, характеристики всех команд и протоколов указываются полностью. Указанные команды полностью соответствуют упомянутым выше стандартам, если не оговорено иное.
TCS_300 Протокол передачи данных соответствует стандарту ISO/IEC 7816-3. В частности, БУ должно распознавать сигналы продления времени ожидания, передаваемые карточкой.
TCS_301 Карточка должна поддерживать протокол T = 0 и протокол T = 1.
TCS_302 T = 0 - протокол по умолчанию, поэтому для изменения протокола на T = 1 нужна команда PTS (выбор протокола передачи).
TCS_303 Устройства должны поддерживать прямой режим в обоих протоколах. В этой связи для карточки прямой режим обязателен.
TCS_304 Байт Information Field Size Card должен быть отображен в ATR в виде AT3. Это значение должно составлять как минимум: 'F0h' (240 байт).
К протоколу применяются следующие ограничения.
- Интерфейс должен принимать ответ на входе и выходе после нарастания сигнала на RST начиная с 400 тц.
- Интерфейс должен быть способен считывать знаки, отделенные во времени на 12 эев.
- Интерфейс должен распознавать ошибочные знаки и их повторение, если они разделены во времени на 13 эев. В случае обнаружения ошибочного знака контакт "вход-выход" должен отражать сигнал ошибки в интервале 1 - 2 эев. Устройство должно реагировать на задержку продолжительностью 1 эев.
- Интерфейс должен принимать ATR (ответ на перезагрузку) размером 33 байта (TS + 32)
- Если в ATR есть знак TC1, то для знаков, передаваемых интерфейсом, должно быть предусмотрено дополнительное время хранения, хотя временной интервал между знаками, посылаемыми карточкой, может и в этом случае составлять 12 эев. Это также применимо к знаку ACK, посылаемому карточкой после передачи знака P3 интерфейсом.
- Интерфейс должен принимать знак NUL, передаваемый карточкой.
- Интерфейс должен принимать дополнительный режим для ACK.
- Команда на получение ответа не может использоваться в режиме прямого вывода для получения данных, длина которых может превышать 255 байтов.
- Байт NAD не используется (NAD устанавливается на "00").
- S-блок "ABORT": не используется.
- Ошибка состояния S-блока VPP: не используется.
- Общая длина цепочки вывода данных для поля данных не должна превышать 255 байтов (для обеспечения совместимости с интерфейсом).
- Размер поля данных для интерфейса (IFSD) указывается IFD сразу же после ATR (ответ на сигнал перезагрузки): интерфейс передает запрос на указание размера информационного S-блока после ATR, после чего карточка должна передать обратно данные о размере S-блока интерфейса. Рекомендуемое значение для IFSD: 254 байта.
- Карточка не должна требовать корректировки IFS.
TCS_307 Устройство проверяет байты ATR в соответствии со стандартом ISO/IEC 7816-3. Проверка архивных знаков ATR не производится.
Пример базового двойного протокола ATR в соответствии со стандартом ISO/IEC 7816-3
TCS_308 После ответа на сигнал перезагрузки (ATR) выбирается по косвенным признакам основной файл (MF), который становится текущей директорией.
TCS_309 Протоколом по умолчанию является T = 0. Для перехода на протокол T = 1 устройство должно передать на карточку сигнал PTS (также обозначаемый сокращением PPS).
TCS_310 Поскольку для карточки оба протокола T = 0 и T = 1 обязательны, базовый сигнал PTS для перехода с одного протокола на другой обязателен и для карточки.
PTS может использоваться, как указано в стандарте ISO/IEC 7816-3, для перехода на более высокие скорости передачи данных в бодах, чем скорость по умолчанию, предлагаемая в соответствующих случаях карточкой в ATR (байт (TA(1)).
Более высокие скорости передачи в бодах для карточки факультативны.
TCS_311 Если другая скорость передачи в бодах, помимо скорости по умолчанию, не поддерживается (или если не поддерживается выбранная скорость передачи в бодах), то карточка должна передать правильную команду PTS в соответствии со стандартом ISO/IEC 7816-3, опустив байт PPS1.
Примеры базовой команды PTS для выбора протокола указаны ниже:
Условия доступа (AC) для команд UPDATE_BINARY и READ_BINARY определяется в каждом элементарном файле.
TCS_312 До открытия доступа к файлу с помощью этих команд должен удовлетворяться параметр AC для данного файла.
Определения имеющихся условий доступа указаны ниже:
- ALW: действие возможно во всех случаях и может быть выполнено без каких бы то ни было ограничений.
- NEV: действие невозможно ни в каких случаях.
- AUT: право, соответствующее успешной внешней аутентификации, должно быть открыто (производится с помощью команды EXTERNAL_AUTHENTICATE).
- PRO SM: команда должна передаваться с криптографической контрольной суммой в криптозащищенном виде (см. подраздел 11).
- AUT и PRO SM (комбинированные).
После обработки команды (UPDATE_BINARY и READ_BINARY) на карточке могут быть открыты следующие условия доступа:
Для команды READ_BINARY условие доступа PRO SM отсутствует. Это означает, что наличие криптографической контрольной суммы для команды READ необязательно ни в одном случае. Однако, используя значения 'OC' для данного класса, можно использовать команду READ_BINARY в криптозащищенном виде, как описано в пункте 3.6.2.
В том случае, если надо обеспечить конфиденциальность данных, считываемых с того или иного файла, этот файл должен быть отмечен "Encrypted". Шифрование производится с использованием системы криптозащищенного обмена данными (см. подраздел 11).
Команды и структура файлов определяются стандартом ISO/IEC 7816-4 и соответствуют ему.
TCS_314 Слова состояния SW1 SW2 включаются в любое ответное сообщение и означают состояние обработки команды.
В настоящей главе описываются параметры обязательных команд для карточек тахографа.
Дополнительные соответствующие данные, относящиеся к криптографическим операциям, даются в подразделе 11 "Общие механизмы защиты".
Все команды описываются независимо от используемого протокола (T = 0 или T = 1). Байты APDU: CLA, INS, P1, P2, Lc и Le указываются всегда. Если байты Lc или Le для данной команды не нужны, относящаяся к ней длина, значение и описание не заполнены.
TCS_315 Если запрашиваются оба байта длины (Lc и Le), то описываемая команда разделяется на две части; если IFD (интерфейс) использует протокол T = 0: IFD передает команду, описанную с помощью данных P3 = Lc + данные, после чего направляет команду GET_RESPONSE (см. пункт 3.6.6) с P3 = Le.
TCS_316 Если запрашиваются оба байта длины и если Le = 0 (криптозащищенный обмен сообщениями):
- в случае использования протокола T = 1 карточка выдает Le = 0, передавая все имеющиеся выходные данные;
- в случае использования протокола T = 0 IFD передает первую команду с P3 = Lc + данные, карточка передает ответ (на это имплицитное значение Le = 0) с помощью байтов состояния '61La', где La - число байтов, имеющихся для ответа. После этого IFD генерирует команду GET REPONSE с P3 = La для чтения данных.
Эта команда соответствует стандарту ISO/IEC 7816-4, однако ее использование ограничено по сравнению с командой, определенной в указанном стандарте.
Команда SELECT FILE используется:
- для выбора приложения DF (должен использоваться выбор с использованием названия);
- для выбора элементарного файла, соответствующего представленному файлу ID
Эта команда позволяет выбрать приложение DF на карточке.
TCS_317 Эта команда может быть выполнена из любой точки структуры файла (после ATR и в любое время).
TCS_318 Выбор приложения приводит к перезагрузке текущей среды защиты. После выбора приложения используемый открытый ключ больше не выбирается, а ключ прежнего сеанса криптозащищенной передачи сообщений более недоступен. Условие доступа AUT также теряется.
TCS_319 Командное сообщение
Ответ на команду SELECT FILE не требуется (в случае T = 1 Le отсутствует, а в случае T = 0 запрос на ответ не передается).
TCS_320 Ответное сообщение (запроса на ответ нет)
- Если команда проходит, карточка выдает '9000'.
- Если приложение, соответствующее AID, не найдено, состояние обработки выдается в виде '6A82'.
- При T = 1, если присутствует байт Le, состояние выдается в виде '6700'.
- При T = 0, если запрос на ответ поступает после команды SELECT FILE, состояние выдается в виде '6900'.
- Если выбранное приложение считается поврежденным (в атрибутах файла обнаружена ошибка целостности), состояние обработки выдается в виде '6400' или '6581'.
с использованием идентификатора файла
TCS_321 Командное сообщение
Ответ на команду SELECT FILE не требуется (в случае T = 1 байт Le отсутствует, а в случае T = 0 запрос на ответ не передается).
TCS_322 Ответное сообщение (ответ не запрашивается)
- Если команда проходит, карточка выдает '9000'.
- Если файл, соответствующий идентификатору, не найден, состояние обработки выдается в виде '6A82'.
- При T = 1, если присутствует байт Le, состояние выдается в виде '6700'.
- При T = 0, если запрос на ответ поступает после команды SELECT FILE, состояние выдается в виде '6900'.
- Если выбранное приложение считается поврежденным (в атрибутах файла обнаружена ошибка целостности), состояние обработки выдается в виде '6400' или '6581'.
Эта команда соответствует стандарту ISO/IEC 7816-4, однако ее использование ограничено по сравнению с командой, определенной в указанном стандарте.
Команда Read Binary используется для считывания данных с "прозрачного" файла.
Ответ карточки сводится к обратной передаче считанных данных, которые могут быть включены в структуру криптозащищенного обмена сообщениями.
TCS_323 Команда может быть выполнена только в том случае, если состояние защиты соответствует атрибутам защиты, определенным для элементарного файла и функции READ.
Эта команда позволяет интерфейсу считывать данные с выбранного в данный момент файла EF в некриптозащищенном виде.
TCS_324 Считывание данных с файла с отметкой "Encrypted" с помощью этой команды невозможно.
TCS_325 Командное сообщение
Примечание: бит 8 байта P1 должен быть равен 0.
TCS_326 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если выбран EF, состояние обработки выдается в виде '6986'.
- Если параметры контроля доступа к выбранному файле не удовлетворены, команда прерывается с выдачей '6982'.
- Если сдвиг не соответствует размеру EF (Сдвиг > размера EF), состояние обработки выдается в виде '6B00'.
- Если размер данных, подлежащих извлечению, не соответствует размеру EF (Сдвиг + Le > размера EF), состояние обработки выдается в виде '6700' или '6Cxx', где 'xx' указывает точную длину.
- Если в атрибутах файла обнаружена ошибка целостности, карточка считает, что файл поврежден и не может быть восстановлен, и состояние обработки выдается в виде '6400' или '6581'.
- Если в записанных данных обнаруживается ошибка целостности, карточка возвращает затребованные данные, а состояние обработки выдаются в виде '6281'.
Эта команда позволяет интерфейсу считывать данные с выбранного в данный момент файла EF в криптозащищенном виде в целях проверки целостности полученных данных и защиты конфиденциальности данных в том случае, если EF содержит отметку "Encrypted".
TCS_327 Командное сообщение
TCS_328 Ответ на сообщение, если файл EF не содержит отметку "Encrypted" и если входной формат криптозащищенного обмена данными правильный:
TCS_329 Ответ на сообщение, если файл EF содержит отметку "Encrypted" и если входной формат криптозащищенного обмена данными правильный:
Возвращенные зашифрованные данные содержат первый байт, указывающий на использованный способ заполнения. В случае приложения тахографа показатель заполнения всегда принимает значение '01h', что указывает на соответствие использованного способа заполнения способу, предусмотренному в стандарте ISO/IEC 7816-4 (один байт, со значением '80h', за которым следует несколько нулевых байтов: ISO/IEC 9797, метод 2).
Данные о состояниях "нормальной" обработки, описанных в команде READ BINARY, передаваемой в некриптозащищенном виде (см. пункт 3.6.2.1), могут возвращаться с использованием структур ответного сообщения, описанного выше, с меткой "99h" (как указано в TCS_335).
Кроме того, могут иметь место некоторые ошибки, которые конкретно связаны с криптозащищенным обменом сообщениями. В этом случае данные о состоянии обработки просто возвращаются, не задействуя использованную структуру защиты данных:
TCS_330 Ответное сообщение, если входной формат криптозащищенного обмена данными неправильный
- Если ключ текущего сеанса отсутствует, состояние обработки выдается в виде '6A88'. Это происходит либо по той причине, что ключ сеанса еще не создан, или по той, что ключ сеанса больше недействителен (в этом случае интерфейс должен повторить процесс взаимной аутентификации в целях генерации нового ключа сеанса).
- Если некоторые ожидаемые объекты данных (как указано выше) в формате криптозащищенного обмена данными отсутствуют, состояние обработки выдается в виде '6987': эта ошибка имеет место в том случае, если ожидаемая метка отсутствует или если основная часть команды составлена неправильно.
- Если некоторые объекты неправильны, состояние обработки выдается в виде '6988': эта ошибка имеет место в том случае, если требуемые метки есть, но длина некоторых из них отличается от ожидаемой длины.
- Если проверка криптографической контрольной суммы показала неправильный результат, состояние обработки выдается в виде '6688'.
Эта команда соответствует стандарту ISO/IEC 7816-4, однако ее использование ограничено по сравнению с командой, определенной в указанном стандарте.
Командное сообщение UPDATE BINARY начинает обновление (стирание + запись) битов, которые уже присутствуют в данных файла EF с помощью битов, содержащихся в команде APDU.
TCS_331 Эта команда может выполняться в том случае, если состояние защиты удовлетворяет атрибутам защиты, определенным для EF и функции UPDATE (если контроль доступа к безопасной функции UPDATE включает PRO SM, в команду должен быть включен элемент защиты данных).
Эта команда позволяет интерфейсу записывать данные в выбранный в данный момент элементарный файл без проверки целостности полученных данных карточкой. Этот обычный режим допускается только в том случае, если соответствующий файл не содержит отметку "Encrypted".
TCS_332 Командное сообщение
Примечание: бит 8 байта P1 должен быть равен 0.
TCS_333 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если элементарный файл не выбран, состояние обработки выдается в виде '6986'.
- Если параметры контроля доступа к выбранному файлу не удовлетворены, передача команды прерывается и выдается в виде '6982'.
- Если сдвиг не соответствует размеру элементарного файла (сдвиг > размера EF), состояние обработки выдается в виде '6B00'.
- Если размер данных, подлежащих записи, не соответствует размеру элементарного файла (сдвиг + Lc > размера EF), состояние обработки выдается в виде '6700'.
- Если в атрибутах файла обнаружена ошибка целостности, карточка считает файл поврежденным и невосстанавливаемым, и состояние обработки выдается в виде '6400' или '6500'.
- Если при записи произошел сбой, состояние обработки выдается в виде '6581'.
Эта команда позволяет интерфейсу записывать данные в элементарный файл, выбранный в данный момент, с проверкой целостности полученных данных карточкой. Поскольку требование конфиденциальности отсутствует, данные не шифруются.
TCS_334 Командное сообщение
TCS_335 Ответное сообщение, если входной формат криптозащищенного обмена данными правильный
Данные о состояниях "нормальной" обработки, описанные для команды UPDATE BINARY, передаваемой в некриптозащищенном виде (см. пункт 3.6.3.1), могут возвращаться с использованием структур ответного сообщения, описанного выше.
Кроме того, могут иметь место некоторые ошибки, которые конкретно связаны с криптозащищенным обменом сообщениями. В этом случае данные о состоянии обработки просто возвращаются, не задействуя использованную структуру защиты данных:
TCS_336 Ответное сообщение в случае ошибки в криптозащищенном обмене сообщениями
- Если ключ текущего сеанса отсутствует, состояние обработки выдается в виде '6A88'.
- Если некоторые ожидаемые объекты данных (как указано выше) в формате криптозащищенного обмена сообщениями отсутствуют, состояние обработки выдается в виде '6987': эта ошибка происходит в том случае, если отсутствует метка или если основная часть команды построена неправильно.
- Если некоторые объекты данных неправильны, состояние обработки выдается в виде '6988': эта ошибка имеет место в том случае, если все требуемые метки есть, но длина некоторых из них отличается от ожидаемой длины.
- Если проверка криптографической контрольной суммы дала неправильные результаты, состояние обработки выдается в виде '6688'.
Эта команда соответствует стандарту ISO/IEC 7816-4, однако ее использование по сравнению с командой, определенной в указанном стандарте, ограничено.
Команда GET CHALLENGE предлагает карточке выдать запрос для его использования в процедуре, связанной с защитой, которая предусматривает передачу карточке криптограммы или некоторых зашифрованных данных.
TCS_337 Запрос, выданный карточкой, действителен только для следующей команды, которая использует запрос, переданный карточке.
TCS_338 Командное сообщение
TCS_339 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если Le отличается от '08h', то состояние обработки выдается в виде '6700'.
- Если параметры P1 - P2 неправильны, состояние обработки выдается в виде '6A86'.
Эта команда соответствует стандарту ISO/IEC 7816-4, однако ее использование по сравнению с командой, определенной в указанном стандарте, ограничено.
Команда Verify инициирует сравнение на уровне карточки между переданными данными CHV (PIN) и исходными данными CHV, записанными на карточке.
Примечание: PIN, введенный пользователем, должен быть заполнен интерфейсом с правой стороны байтами 'FFh' до достижения длины 8 байтов.
TCS_340 Если команда проходит, права отображения CHV открываются и счетчик оставшихся попыток CHV выставляется на ноль.
TCS_341 Сравнение, которое дало неправильные результаты, регистрируется в карточке с целью ограничить число дальнейших попыток использования исходных данных CHV.
TCS_342 Командное сообщение
TCS_343 Ответное сообщение
- Если команда не проходит, карточка выдает '9000'.
- Если исходные данные CHV не найдены, состояние обработки выдается в виде '6A88'.
- Если данные CHV заблокированы (счетчик оставшихся попыток CHV показывает ноль), состояние обработки выдается в виде '6983'. В этом состоянии данные CHV больше никогда не принимаются.
- Если сравнение дало неправильные результаты, показание счетчика оставшихся попыток уменьшается и статус обработки выдается в виде '63CX' (X > 0 и X равно показанию счетчика оставшихся попыток CHV. Если X = 'F', то показания счетчика попыток CHV больше 'F').
- Если исходные данные CHV считаются поврежденными, состояние обработки выдается в виде '6400' или '6581'.
Эта команда соответствует стандарту ISO/IEC 7816-4.
Эта команда (необходимая и доступная только для протокола T = 0) используется для передачи подготовленных данных с карточки на интерфейс (случай, когда команда включает оба байта Lc и Le).
Команда GET_RESPONSE должна выдаваться сразу же после команды на подготовку данных, в противном случае данные потеряются. После выполнения команды GET_RESPONSE (за исключением случаев ошибки '61xx' или '6Cxx', см. ниже) данные, подготовленные ранее, становятся недоступны.
TCS_344 Командное сообщение
TCS_345 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если данные карточкой подготовлены не были, состояние обработки выдается в виде '6900' или '6F00'.
- Если длина байта превышает число имеющихся байтов или если Le равно нулю, то состояние обработки выдается в виде '6Cxx', где xx указывает на точное число имеющихся байтов. В этом случае подготовленные данные все еще доступны для следующей команды GET_RESPONSE.
- Если длина байта Le не равна нулю и меньше, чем число имеющихся байтов, то требуемые данные нормально передаются карточкой, а состояние обработки выдается в виде '61xx', где 'xx' указывает число дополнительных байтов, все еще имеющихся для выполнения следующей команды GET_RESPONSE.
- Если команда не поддерживается (протокол T = 1), карточка выдает '6D00'.
Эта команда соответствует стандарту ISO/IEC 7816-8, однако ее использование по сравнению с командой, определенной в указанном стандарте, ограничено.
Команда VERIFY CERTIFICATE используется карточкой для получения открытого ключа извне и проверки его действительности.
TCS_346 Если команда VERIFY CERTIFICATE проходит, открытый ключ записывается для будущего использования в среде защиты. Этот ключ должен прямо конфигурироваться для использования команд, связанных с защитой (INTERNAL AUTHENTICATE, EXTERNAL AUTHENTICATE или VERIFY CERTIFICATE) c помощью команды MSE (см. пункт 3.6.10), использующей идентификатор этого ключа.
TCS_347 В любом случае команда VERIFY CERTIFICATE использует открытый ключ, ранее выбранный командой MSE для открытия сертификата. Открытый ключ должен быть ключом одной из Договаривающихся сторон.
TCS_348 Командное сообщение
TCS_349 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если проверка сертификата дает неправильные результаты, состояние обработки выдается в виде '6688'. Процесс проверки и расшифровки сертификата описывается в подразделе 11.
- Если открытый ключ среды защиты отсутствует, выдается '6A88'.
- Если выбранный открытый ключ (используемый для расшифровки сертификата) считается поврежденным, состояние обработки выдается в виде '6400' или '6581'.
- Если параметр выбранного открытого ключа (используемого для расшифровки сертификата) CHA.LSB (CertificateHolderAuthorisation.equipmentType) отличается от '00' (т.е. не является ключом какой-либо Договаривающейся стороны), состояние обработки выдается в виде '6985'.
Эта команда соответствует стандарту ISO/IEC 7816-4.
Используя команду INTERNAL AUTHENTICATE, интерфейс может произвести аутентификацию карточки.
Процесс аутентификации описывается в подразделе 11. Он включает следующие сообщения:
TCS_350 Команда INTERNAL AUTHENTICATE использует закрытый ключ (выбранный по косвенным признакам) для подтверждения данных аутентификации, включая K1 (первый элемент, указывающий на соответствие ключа сеанса) и RND1, и использует открытый ключ, выбранный в данный момент (на основании последней команды MSE) для шифрования подписи и создания маркера аутентификации (более подробно см. в подразделе 11).
TCS_351 Командное сообщение
TCS_352 Ответ на сообщение
- Если команда проходит, карточка выдает '9000'.
- Если в среде защиты присутствует открытый ключ, состояние обработки дается в виде '6A88'.
- Если в среде защиты присутствует закрытый ключ, состояние обработки выдается в виде '6A88'.
- Если VU.CHR не соответствует данному идентификатору открытого ключа, состояние обработки выдается в виде '6A88'.
- Если выбранный закрытый ключ считается поврежденным, состояние обработки выдается в виде '6400' или '6581'.
TCS_353 Если команда INTERNAL_AUTHENTICATE проходит, ключ текущего сеанса, если он существует, стирается и для создания нового ключа сеанса больше не доступен. Для создания нового ключа сеанса команда EXTERNAL_AUTHENTICATE должна быть выполнена.
Эта команда соответствует стандарту ISO/IEC 7816-4.
Используя команду EXTERNAL AUTHENTICATE, карточка может произвести аутентификацию интерфейса.
Процесс аутентификации излагается в подразделе 11. Он включает следующие сообщения:
TCS_354 Команда GET CHALLENGE должна предшествовать непосредственно команде EXTERNAL_AUTHENTICATE. Карточка выдает запрос во внешнюю среду (RND3).
TCS_355 Для проверки криптограммы используется RND3 (запрос, выданный карточкой), закрытый ключ карточки (выбранный по косвенным признакам) и открытый ключ, выбранный ранее по команде MSE.
TCS_356 Карточка проверяет криптограмму и, если она правильная, открывается условие доступа AUT (на подтверждение).
TCS_357 Входная криптограмма передает второй элемент K2, указывающий на соответствие ключа сеанса.
TCS_358 Командное сообщение
TCS_359 Ответ на сообщение
- Если команда проходит, карточка выдает '9000'.
- Если открытый ключ в среде защиты отсутствует, выдается '6A88'.
- Если CHA выбранного открытого ключа не соответствует соединению AID приложения тахографа и типа БУ, состояние обработки выдается в виде '6F00' (см. подраздел 11).
- Если в среде защиты закрытый ключ отсутствует, состояние обработки выдается в виде '6A88'.
- Если проверка криптограммы дала неправильные результаты, состояние обработки выдается в виде '6688'.
- Если этой команде не предшествует непосредственно команда GET CHALLENGE, состояние обработки выдается в виде '6985'.
- Если выбранный закрытый ключ считается поврежденным, состояние обработки выдается в виде '6400' или '6581'.
TCS_360 Если команда EXTERNAL AUTHENTICATE проходит и если доступ к первой части ключа сеанса в результате выполненной перед этим команды INTERNAL AUTHENTICATE есть, ключ сеанса готов для выполнения будущих команд по процедуре криптозащищенного обмена сообщениями.
TCS_361 Если по предыдущей команде INTERNAL AUTHENTICATE первая часть ключа сеанса не доступна, вторая часть ключа сеанса, переданная интерфейсом, в карточке не регистрируется. Этот механизм обеспечивает осуществление процесса взаимной аутентификации в порядке, указанном в подразделе 11.
(УПРАВЛЕНИЕ СРЕДОЙ ЗАЩИТЫ)
Эта команда используется для определения открытого ключа в целях аутентификации.
Эта команда соответствует стандарту ISO/IEC 7816-8. Использование этой команды по сравнению с указанным стандартом ограничено.
TCS_362 Ключ, указанный в поле данных MSE, действителен для каждого файла DF тахографа.
TCS_363 Ключ, указанный в поле данных MSE, продолжает оставаться действующим открытым ключом до следующей правильной команды MSE.
TCS_364 Если указанный ключ в карточке еще не указан, среда защиты не меняется.
TCS_365 Командное сообщение
TCS_366 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если указанный ключ в карточке отсутствует, состояние обработки выдается в виде '6A88'.
- Если некоторые ожидаемые объекты данных в формате криптозащищенного обмена сообщениями отсутствуют, состояние обработки выдается в виде '6987'. Это может произойти, если отсутствует метка '83h'.
- Если некоторые объекты данных неправильны, состояние обработки выдается в виде '6988'. Это может произойти в том случае, если длина идентификатора ключа не соответствует '08h'.
- Если выбранный ключ считается поврежденным, состояние обработки выдается в виде '6400' и '6581'.
Эта команда используется для передачи карточке результата расчета хеширования некоторых данных. Она используется для проверки цифровых подписей. Значение хеширования хранится в памяти EEPROM для следующей команды на проверку цифровой подписи.
Эта команда соответствует стандарту ISO/IEC 7816-8. Использование этой команды по сравнению с указанным стандартом ограничено.
TCS_367 Командное сообщение
TCS_368 Ответное на сообщение
- Если команда проходит, карточка выдает '9000'.
- Если некоторые ожидаемые объекты данных (как указано выше) отсутствуют, состояние обработки выдается в виде '6987'. Это происходит в том случае, если одна из меток '90h' отсутствует.
- Если некоторые объекты данных неправильны, состояние обработки выдается в виде '6988'. Эта ошибка имеет место в том случае, если требуемая метка присутствует, но ее длина отличается от '14h'.
Эта команда не соответствует стандарту ISO/IEC 7816-8. Поэтому байт CLA этой команды указывает на эксклюзивное использование команды PERFORM SECURITY OPERATION/HASH.
TCS_369 Команда PERFORM HASH FILE используется для хеширования зоны данных выбранного в данный момент транспарентного элементарного файла.
TCS_370 Результат операции хеширования регистрируется на карточке. Он может затем использоваться для получения цифровой подписи файла с использованием команды PSO-COMPUTE_DIGITAL_SIGNATURE. Этот результат остается доступным для команды COMPUTE DIGITAL SIGNATURE до следующей выполненной команды PERFORM HASH OF FILE.
TCS_371 Командное сообщение
TCS_372 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если приложение не выбрано, состояние обработки выдается в виде '6985'.
- Если выбранный элементарный файл считается поврежденным (ошибки в атрибутах файла или целостности записанных данных), состояние обработки выдается в виде '6400' или '6581'.
- Если выбранный файл является транспарентным файлом, состояние обработки выдается в виде '6986'.
(РАСЧЕТ ЦИФРОВОЙ ПОДПИСИ)
Эта команда используется для расчета цифровой подписи ранее рассчитанного хеш-кода (см. ХЕШИРОВАНИЕ ФАЙЛА, пункт 3.6.12).
Эта команда соответствует стандарту ISO/IEC 7816-8. Использование этой команды по сравнению с указанным стандартом ограничено.
TCS_373 Закрытый ключ карточки используется для расчета цифровой подписи и известен карточке по косвенным признакам.
TCS_374 Карточка производит цифровую подпись с использованием метода заполнения, соответствующего PKCS1 (более подробно см. подраздел 11).
TCS_375 Командное сообщение
TCS_376 Ответное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если выбранный закрытый ключ считается по косвенным признакам поврежденным, состояние обработки выдается в виде '6400' или '6581'.
(ПРОВЕРКА ЦИФРОВОЙ ПОДПИСИ)
Данная команда используется для проверки цифровой подписи, представленной в качестве входных данных в соответствии с параметром PKCS1 сообщения, хеш-код которой карточке известен. Алгоритм подписи известен карточке по косвенным признакам.
Эта команда соответствует стандарту ISO/IEC 7816-8. Использование этой команды по сравнению с указанным стандартом ограниченно.
TCS_377 Команда Verify Digital Signature всегда использует открытый ключ, выбранный на основании предыдущей команды Manage Security Environment, а предыдущий хеш-код вносится командой PSO: Hash (хеширование).
TCS_378 Командное сообщение
- Если команда проходит, карточка выдает '9000'.
- Если проверка подписи дает неправильные результаты, состояние обработки выдается в виде '6688'. Процесс проверки описан в подразделе 11.
- Если открытый ключ не выбран, состояние обработки выдается в виде '6A88'.
- Если некоторые ожидаемые объекты данных (как указано выше) отсутствуют, состояние обработки выдается в виде '6987'. Это может произойти в том случае, если одна из требуемых меток отсутствует.
- Если хеш-кода для обработки команды нет (в результате предыдущей команды на хеширование), состояние обработки выдается в виде '6985'.
- Если некоторые объекты данных неправильные, состояние обработки выдается в виде '6988'. Это может произойти в том случае, если требуемая длина объектов данных неправильна.
- Если выбранный открытый ключ считается поврежденным, состояние обработки выдается в виде '6400' или '6581'.
В настоящем пункте уточняются структуры файлов карточек тахографа для хранения доступных данных.
В нем не указываются внутренние структуры, определяемые по усмотрению изготовителя, такие, как заголовки файлов, а также элементы хранения и обработки данных, необходимые только для внутреннего пользования, например, EuropeanPublicKey, CardPrivateKey, TDesSessionKey или WorkshopCardPin.
Полезный объем хранения данных на карточках тахографа должен составлять не менее 11 килобайт. Допускается использование большего объема. В таком случае структура карточки остается той же, однако число записей некоторых элементов структуры увеличивается. В этом пункте указываются минимальные и максимальные значения этого количества записей.
TCS_400 После ее персонализации карточка водителя должна иметь следующую постоянную структуру файла и условия доступа к файлам:
???????????????????????????????????
? Условия доступа ?
???????????????????????????????????????????????????????????????????????????
? Файл ?ИД файла?Чтение? Обновление ?Зашифрованный?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
??? EF ICC ? 0002 ? ALW ? NEV ? Нет ?
??? EF IC ? 0005 ? ALW ? NEV ? Нет ?
??? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application ? ? ? ? ?
? ? Identification ? 0501 ? ALW ? NEV ? Нет ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? Нет ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? Нет ?
? ?? EF Identification ? 0520 ? ALW ? NEV ? Нет ?
? ?? EF Card Download ? 050E ? ALW ? ALW ? Нет ?
? ?? EF Driving Licence Info ? 0521 ? ALW ? NEV ? Нет ?
? ?? EF Events Data ? 0502 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Faults Data ? 0503 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Driver Activity Data ? 0504 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Vehicles Used ? 0505 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Places ? 0506 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Current Usage ? 0507 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Control Activity Data? 0508 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Specific Conditions ? 0522 ? ALW ? PRO SM/AUT ? Нет ?
???????????????????????????????????????????????????????????????????????????
Число Размер (байты) по
Файл/Элемент данных записей мин. макс. умолчанию
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? IICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00 00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufacturingReferences 4 4 {00..00}
?? DF Tachograph 11378 24926
?? EF Application Identification 10 10
? ?? DriverCardApplicationIdentification 10 10
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStructureVersion 2 2 {00 00}
? ?? noOfEventsPerType 1 1 {00}
? ?? noOfFaultsPerType 1 1 {00}
? ?? activityStructureLength 2 2 {00 00}
? ?? noOfCardVehicleRecords 2 2 {00 00}
? ?? noOfCardPlaceRecords 1 1 {00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA_Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 143 143
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {20..20}
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? DriverCardHolderIdentification 78 78
? ?? cardHolderName 72 72
? ? ?? holderSurname 36 36 {00, 20..20}
? ? ?? holderFirstNames 36 36 {00, 20..20}
? ?? cardHolderBirthDate 4 4 {00..00}
? ?? cardHolderPreferredLanguage 2 2 {20..20}
?? EF Card Download 4 4
? ?? LastCardDownload 4 4
?? EF Driving Licence Info 53 53
? ?? CardDrivingLicenceInformation 53 53
? ?? drivingLicenceIssuingAuthority 36 36 {00, 20..20}
? ?? drivingLicenceIssuingNation 1 1 {00}
? ?? drivingLicenceNumber 16 16 {20..20}
?? EF Events Data 864 1728
? ?? CardEventData 864 1728
? ?? cardEventRecords 6 144 288
? ?? CardEventRecord n 24 24
? ? 1
? ?? eventType 1 1 {00}
? ?? eventBeginTime 4 4 {00..00}
? ?? eventEndTime 4 4 {00..00}
? ?? eventVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
?? EF Faults Data 576 1152
? ?? CardFaultData 576 1152
? ?? cardFaultRecords 2 288 576
? ?? CardFaultRecord n 24 24
? ? 2
? ?? faultType 1 1 {00}
? ?? faultBeginTime 4 4 {00..00}
? ?? faultEndTime 4 4 {00..00}
? ?? faultVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 0..20}
?? EF Driver Activity Data 5548 13780
? ?? CardDriverActivity 5548 13780
? ?? activityPointerOldestDayRecord 2 2 {00 00}
? ?? activityPointerNewestRecord 2 2 {00 00}
? ?? activityDailyRecords n 5544 13776 {00..00}
? 6
?? EF Vehicles Used 2606 6202
? ?? CardVehiclesUsed 2606 6202
? ?? vehiclePointerNewestRecord 2 2 {00 00}
? ?? cardVehicleRecords 2604 6200
? ?? CardVehicleRecord n 31 31
? ? 3
? ?? vehicleOdometerBegin 3 3 {00..00}
? ?? vehicleOdometerEnd 3 3 {00..00}
? ?? vehicleFirstUse 4 4 {00..00}
? ?? vehicleLastUse 4 4 {00..00}
? ?? vehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
? ?? vuDataBlockCounter 2 2 {00 00}
?? EF Places 841 1121
? ?? CardPlaceDailyWorkPeriod 841 1121
? ?? placePointerNewestRecord 1 1 {00}
? ?? placeRecords 840 1120
? ?? PlaceRecord n 10 10
? ? 4
? ?? entryTime 4 4 {00..00}
? ?? entryTypeDailyWorkPeriod 1 1 {00}
? ?? dailyWorkPeriodCountry 1 1 {00}
? ?? dailyWorkPeriodRegion 1 1 {00}
? ?? vehicleOdometerValue 3 3 {00..00}
?? EF Current Usage 19 19
? ?? CardCurrentUse 19 19
? ?? sessionOpenTime 4 4 {00..00}
? ?? sessionOpenVehicle
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
?? EF Control Activity Data 46 46
? CardControlActivityDataRecord 46 46
? ?? controlType 1 1 {00}
? ?? controlTime 4 4 {00..00}
? ?? controlCardNumber
? ? ?? cardType 1 1 {00}
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ?? controlVehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
? ?? controlDownloadPeriodBegin 4 4 {00..00}
? ?? controlDownloadPeriodEnd 4 4 {00..00}
?? EF Specific Conditions 280 280
?? SpecificConditionRecord 56 5 5
?? entryTime 4 4 {00..00}
?? SpecificConditionType 1 1 {00}
TCS_404 Следующие значения, используемые для указания размера файлов в таблице выше, представляют собой минимальные и максимальные значения количества записей, которые должны использоваться в структуре данных карточки водители:
TCS_405 После персонализации карточка мастерской должна иметь следующую постоянную структуру файлов и условия доступа к файлам:
???????????????????????????????????
? Условия доступа ?
???????????????????????????????????????????????????????????????????????????
? Файл ?ИД файла?Чтение? Обновление ?Зашифрованный?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
??? EF ICC ? 0002 ? ALW ? NEV ? Нет ?
??? EF IC ? 0005 ? ALW ? NEV ? Нет ?
??? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application ? ? ? ? ?
? ? Identification ? 0501 ? ALW ? NEV ? Нет ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? Нет ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? Нет ?
? ?? EF Identification ? 0520 ? ALW ? NEV ? Нет ?
? ?? EF Card Download ? 0509 ? ALW ? ALW ? Нет ?
? ?? EF Calibration ? 050A ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Sensor Installation ? ? ? ? ?
? ? Data ? 050B ? ALW ? NEV ? Да ?
? ?? EF Events Data ? 0502 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Faults Data ? 0503 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Driver Activity Data ? 0504 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Vehicles Used ? 0505 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Places ? 0506 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Current Usage ? 0507 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Control Activity Data? 0508 ? ALW ? PRO SM/AUT ? Нет ?
? ?? EF Specific Conditions ? 0522 ? ALW ? PRO SM/AUT ? Нет ?
???????????????????????????????????????????????????????????????????????????
Число Размер (байты) по
Файл/Элемент данных записей мин. макс. умолчанию
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? EF ICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00 00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufactuingReferences 4 4 {00..00}
?? DF Tachograph 11055 29028
?? EF Application Identification 11 11
? ?? WorkshopCardApplicationIdentification 11 11
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStructureVersion 2 2 {00 00}
? ?? noOfEventsPerType 1 1 {00}
? ?? noOfFaultsPerType 1 1 {00}
? ?? activityStructureLength 2 2 {00 00}
? ?? noOfCardVehicleRecords 2 2 {00 00}
? ?? noOfCardPlaceRecords 1 1 {00}
? ?? noOfCalibrationRecords 1 1 {00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 211 211
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {00, 20..20}
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? WorkshopCardHolderIdentification 146 146
? ?? workshopName 36 36 {00, 20..20}
? ?? workshopAddress 36 36 {00, 20..20}
? ?? cardHolderName
? ? ?? holderSurname 36 36 {00, 20..20}
? ? ?? holderFirstNames 36 36 {00, 20..20}
? ?? cardHolderPreferredLanguage 2 2 {20 20}
?? EF Card Download 2 2
? ?? NoOfCalibrationsSinceDownload 2 2 {00 00}
?? EF Calibration 9243 26778
? ?? WorkshopCardCalibrationData 9243 26778
? ?? calibrationTotalNumber 2 2 {00 00}
? ?? calibrationPointerNewestRecord 1 1 {00}
? ?? calibrationRecords 9240 26775
? ?? WorkshopCardCalibrationRecord n 105 105
? ? 5
? ?? calibrationPurpose 1 1 {00}
? ?? vehicleIdentificationNumber 17 17 {20..20}
? ?? vehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
? ?? wVehicleCharacteristicConstant 2 2 {00 00}
? ?? kConstantOfRecordingEquipment 2 2 {00 00}
? ?? lTyreCircumference 2 2 {00 00}
? ?? tyreSize 15 15 {20..20}
? ?? authorisedSpeed 1 1 {00}
? ?? oldOdometerValue 3 3 {00..00}
? ?? newOdometerValue 3 3 {00..00}
? ?? oldTimeValue 4 4 {00..00}
? ?? newTimeValue 4 4 {00..00}
? ?? nextCalibrationDate 4 4 {00..00}
? ?? vuPartNumber 16 16 {20..20}
? ?? vuSerialNumber 8 8 {00..00}
? ?? sensorSerialNumber 8 8 {00..00}
?? EF Sensor Installation Data 16 16
? ?? SensorInstallationSecData 16 16 {00..00}
?? EF Events Data 432 432
? ?? CardEventData 432 432
? ?? cardEventRecords 6 72 72
? ?? CardEventRecord n 24 24
? ? 1
? ?? eventType 1 1 {00}
? ?? eventBeginTime 4 4 {00..00}
? ?? eventEndTime 4 4 {00..00}
? ?? eventVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
?? EF Faults Data 288 288
? ?? CardFaultData 288 288
? ?? cardFaultRecords 2 144 144
? ?? CardFaultRecord n 24 24
? ? 2
? ?? faultType 1 1 {00}
? ?? faultBeginTime 4 4 {00..00}
? ?? faultEndTime 4 4 {00..00}
? ?? faultVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 0..20}
?? EF Driver Activity Data 202 496
? ?? CardDriverActivity 202 496
? ?? activityPointerOldestDayRecord 2 2 {00 00}
? ?? activityPointerNewestRecord 2 2 {00 00}
? ?? activityDailyRecords n 198 492 {00..00}
? 6
?? EF Vehicles Used 126 250
? ?? CardVehiclesUsed 126 250
? ?? vehiclePointerNewestRecord 2 2 {00 00}
? ?? cardVehicleRecords 124 248
? ?? CardVehicleRecord n 31 31
? ? 3
? ?? vehicleOdometerBegin 3 3 {00..00}
? ?? vehicleOdometerEnd 3 3 {00..00}
? ?? vehicleFirstUse 4 4 {00..00}
? ?? vehicleLastUse 4 4 {00..00}
? ?? vehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
? ?? vuDataBlockCounter 2 2 {00 00}
?? EF Places 61 81
? ?? CardPlaceDailyWorkPeriod 61 81
? ?? placePointerNewestRecord 1 1 {00}
? ?? placeRecords 60 80
? ?? PlaceRecord n 10 10
? ? 4
? ?? entryTime 4 4 {00..00}
? ?? entryTypeDailyWorkPeriod 1 1 {00}
? ?? dailyWorkPeriodCountry 1 1 {00}
? ?? dailyWorkPeriodRegion 1 1 {00}
? ?? vehicleOdometerValue 3 3 {00..00}
?? EF Current Usage 19 19
? ?? CardCurrentUse 19 19
? ?? sessionOpenTime 4 4 {00..00}
? ?? sessionOpenVehicle
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
?? EF Control Activity Data 46 46
? ?? CardControlActivityDataRecord 46 46
? ?? controlType 1 1 {00}
? ?? controlTime 4 4 {00..00}
? ?? controlCardNumber
? ? ?? cardType 1 1 {00}
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ?? controlVehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
? ?? controlDownloadPeriodBegin 4 4 {00..00}
? ?? controlDownloadPeriodEnd 4 4 {00..00}
?? EF Specific Conditions 10 10
?? SpecificConditionRecord 2 5 5
?? entryTime 4 4 {00..00}
?? SpecificConditionType 1 1 {00}
TCS_409 Следующие значения, используемые для указания размера файлов в таблице выше, представляют собой минимальные и максимальные значения количества записей, которые должны использоваться в структуре данных карточки мастерской:
TCS_410 После персонализации карточка контролера должна иметь следующую постоянную структуру файлов и условия доступа к файлам:
???????????????????????????????????
? Условия доступа ?
???????????????????????????????????????????????????????????????????????????
? Файл ?ИД файла?Чтение? Обновление ?Зашифрованный?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
??? EF ICC ? 0002 ? ALW ? NEV ? Нет ?
??? EF IC ? 0005 ? ALW ? NEV ? Нет ?
??? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application ? ? ? ? ?
? ? Identification ? 0501 ? ALW ? NEV ? Нет ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? Нет ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? Нет ?
? ?? EF Identification ? 0520 ? ALW ? NEV ? Нет ?
? ?? EF Control Activity Data? 050C ? ALW ? PRO SM/AUT ? Нет ?
???????????????????????????????????????????????????????????????????????????
Число Размер (байты) по
Файл/Элемент данных записей мин. макс. умолчанию
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? EF ICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00 00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufactuingReferences 4 4 {00..00}
?? DF Tachograph 11186 24526
?? EF Application Identification 5 5
? ?? ControlCardApplicationIdentification 5 5
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStructureVersion 2 2 {00 00}
? ?? noOfControlActivityRecords 2 2 {00 00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 211 211
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {00, 20..20}
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? ControlCardHolderIdentification 146 146
? ?? controlBodyName 36 36 {00, 20..20}
? ?? controlBodyAddress 36 36 {00, 20..20}
? ?? cardHolderName
? ? ?? holderSurname 36 36 {00, 20..20}
? ? ?? holderFirstNames 36 36 {00, 20..20}
? ?? cardHolderPreferredLanguage 2 2 {20 20}
?? EF Controller Activity Data 10582 23922
?? ControlCardControlActivityData 10582 23922
?? controlPointerNewestRecord 2 2 {00 00}
?? controlActivityRecords 10580 23920
?? controlActivityRecord n7 46 46
?? controlType 1 1 {00}
?? controlTime 4 4 {00..00}
?? controlledCardNumber
? ?? cardType 1 1 {00}
? ?? CardIssuingMemberState 1 1 {00}
? ?? cardNumber 16 16 {20..20}
?? controlledVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
?? controlDownloadPeriodBegin 4 4 {00..00}
?? controlDownloadPeriodEnd 4 4 {00..00}
TCS_414 Следующие значения, используемые для указания размера файлов в таблице выше, представляют собой минимальные и максимальные значения количества записей, которые должны использоваться в структуре данных карточки контролера:
TCS_415 После персонализации карточка предприятия должна иметь следующую постоянную структуру файлов и условия доступа к файлам:
???????????????????????????????????
? Условия доступа ?
???????????????????????????????????????????????????????????????????????????
? Файл ?ИД файла?Чтение? Обновление ?Зашифрованный?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
??? EF ICC ? 0002 ? ALW ? NEV ? Нет ?
??? EF IC ? 0005 ? ALW ? NEV ? Нет ?
??? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application ? ? ? ? ?
? ? Identification ? 0501 ? ALW ? NEV ? Нет ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? Нет ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? Нет ?
? ?? EF Identification ? 0520 ? ALW ? NEV ? Нет ?
? ? ? ? ? ? ?
? ? EF Company_Activity_Data? 050D ? ALW ? PRO SM/AUT ? Нет ?
? ?? ? ? ? ? ?
???????????????????????????????????????????????????????????????????????????
Число Размер (байты) по
Файл/Элемент данных записей мин. макс. умолчанию
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? EF ICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00 00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufactuingReferences 4 4 {00..00}
?? DF Tachograph 11114 24454
?? EF Application Identification 5 5
? ?? ControlCardApplicationIdentification 5 5
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStructureVersion 2 2 {00 00}
? ?? noOfControlActivityRecords 2 2 {00 00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 139 139
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {00, 20..20}
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? CompanyCardHolderIdentification 74 74
? ?? companyName 36 36 {00, 20..20}
? ?? companyAddress 36 36 {00, 20..20}
? ?? cardHolderPreferredLanguage 2 2 {20 20}
?? EF Company Activity Data 10582 23922
?? CompanyActivityData 10582 23922
?? companyPointerNewestRecord 2 2 {00 00}
?? companyActivityRecords 10580 23920
?? companyActivityRecord n8 46 46
?? companyActivityType 1 1 {00}
?? companyActivityTime 4 4 {00..00}
?? vehicleRegistrationInformation
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 20..20}
?? downloadPeriodBegin 4 4 {00..00}
?? downloadPeriodEnd 4 4 {00..00}
TCS_419 Следующие значения, используемые для указания размера файлов в таблице выше, представляют собой минимальные и максимальные значения количества записей, которые должны использоваться в структуре данных карточки мастерской:
Примечание. В подразделе IV указаны дополнительные комбинации пиктограмм, используемые в качестве идентификаторов блоков или записей данных при распечатке.
Каждая распечатка составляется из следующих друг за другом блоков различных данных, которые могут быть обозначены идентификаторами блоков.
Блок данных состоит из одной или нескольких записей, которые могут быть обозначены идентификаторами записей.
PRT_001 Если идентификатору записи непосредственно предшествует идентификатор блока данных, то идентификатор записи не печатается.
PRT_002 Если элемент данных отсутствует или не подлежит распечатке в силу режима доступа к данным, вместо него распечатывается серия пробелов.
PRT_003 Если содержание целой строки отсутствует или не нуждается в распечатке, эта строка опускается целиком.
PRT_004 Поля числовых данных печатаются с выравниванием по правому краю; в качестве символа, отделяющего разряды тысяч и миллионов, используется пробел; начальные нули не печатаются.
PRT_005 Поля строковых данных печатаются с выравниванием по левому краю и заполняются пробелами на всю оставшуюся длину элемента данных, а в соответствующих случаях (названия, фамилии, адреса) печатаются в форме, усеченной до размеров элемента данных.
В тексте данной главы применяются следующие условные обозначения:
- жирным шрифтом <*> обозначена информация, распечатываемая в текстовой форме (при распечатке используется обычный шрифт);
--------------------------------
- обычным шрифтом указаны переменные параметры (поля для пиктограмм или виды данных), вместо которых распечатываются соответствующие пиктограммы или значения;
- к названиям переменных параметров добавлены символы подчеркивания, указывающие длину элемента данных, выделенного под соответствующий параметр;
- даты указываются в формате "дд/мм/гггг" (день-месяц-год). Допускается также использование формата "дд.мм.гггг";
- под термином "идентификационные данные карточки" понимается совокупность следующих компонентов: вид карточки, обозначаемый комбинацией соответствующих пиктограмм, код Договаривающейся стороны, выдавшей карточку, наклонная черта вправо и номер карточки с индексом замены и индексом обновления, отделенными пробелом:
PRT_006 При распечатке данные делятся на блоки и/или записи данных, перечисляемые ниже с указанием их значения и формата:
На карточки, не принадлежащие конкретным лицам, вместо фамилии держателя наносится название предприятия, мастерской или контрольного органа.
Вид контроля: до четырех пиктограмм. Возможные виды контроля (по отдельности или в сочетании друг с другом):
При вводе команды на распечатку суточной сводки за текущий день имеющиеся данные за сутки суммируются по состоянию на момент распечатки.
Цель записи (ц) указывается числовым кодом, обозначающим цель регистрации события или неисправности и определяемым в порядке, предусмотренном для элемента данных EventFaultRecordPurpose.
Цель калибровки (р) указывается числовым кодом, обозначающим цель регистрации соответствующих калибровочных параметров и определяемым в порядке, предусмотренном для элемента данных CalibrationPurpose.
"Информация, вписываемая от руки": над названием графы, заполняемой от руки, следует оставить достаточное количество пустых строк для вписывания необходимой информации или для собственноручной подписи.
В тексте данной главы применяются следующие условные обозначения:
--------------------------------
<*> В тексте документа для ячеек, выделенных полужирной линией, использовано выделение пунктирной линией.
О ДЕЯТЕЛЬНОСТИ ВОДИТЕЛЯ ЗА СУТКИ
PRT_007 При распечатке сохраненных на карточке данных о деятельности водителя за сутки соблюдается следующий формат:
О ДЕЯТЕЛЬНОСТИ ВОДИТЕЛЯ ЗА СУТКИ
PRT_008 При распечатке сохраненных в БУ данных о деятельности водителя за сутки соблюдается следующий формат:
О СОБЫТИЯХ И НЕИСПРАВНОСТЯХ
PRT_009 При распечатке сохраненных на карточке данных о событиях и неисправностях соблюдается следующий формат:
О СОБЫТИЯХ И НЕИСПРАВНОСТЯХ
PRT_010 При распечатке сохраненных в БУ данных о событиях и неисправностях соблюдается следующий формат:
PRT_011 При распечатке технических данных соблюдается следующий формат:
В тексте настоящего подраздела применяются следующие условные обозначения:
- жирным шрифтом <*> обозначена информация, выводимая на дисплей в текстовой форме (на дисплее используется обычный шрифт),
--------------------------------
- обычным шрифтом указаны переменные параметры (поля для пиктограмм или виды данных), вместо которых отображаются соответствующие пиктограммы или значения:
- дд мм гггг: день, месяц, год;
- чч: часы;
- мм: минуты;
- В: пиктограмма периода времени;
- СО: комбинация пиктограмм события и неисправности;
- Р: пиктограмма режима работы.
INT_001 Соединительное гнездо для загрузки данных и калибровки должно располагаться на передней панели, быть доступным без снятия каких-либо деталей контрольного устройства и представлять собой 6-контактный разъем, выполненный в соответствии с нижеследующими чертежами (все размеры указаны в миллиметрах):
![]() ![]() Типовая схема вилки 6-контактного штепсельного разъема:
![]()
INT_002 Разводка контактов указана в таблице ниже.
INT_003 Блок-схема должна соответствовать приведенной ниже.
![]() INT_004 Интерфейс загрузки данных должен соответствовать спецификациям RS232.
INT_005 Порядок загрузки данных через интерфейс: один стартовый бит, 8 битов данных начиная с младшего бита, один бит контроля по четности, один стоп-бит.
![]() Структура байта данных
При передаче числовых данных объемом больше одного байта байт старшего разряда передается первым, байт младшего разряда - последним.
INT_006 Скорость передачи данных должна быть регулируемой в диапазоне от 9 600 бит/с до 115 200 бит/с. При инициализации обмена данными задается начальная скорость передачи 9 600 бит/с; затем скорость доводится до максимальной возможной величины.
INT_007 Обмен данных осуществляется в соответствии со стандартом ISO 14230-1 (Транспорт дорожный. Системы диагностического контроля. Протокол ключевых слов 2000. Часть 1. Физический уровень. Издание первое, 1999 год).
INT_008 Электрические характеристики входного/выходного сигнала должны соответствовать указанным ниже.
INT_009 Временные диаграммы входного/выходного сигнала приводятся ниже:
минимум 100 минимум 100
мксек. мксек.
<?????><????????????????>
??????? ?????????????
/\ ? /\ ?
? ? ? ?
Сигнал датчика (выход) ??? ??????????????????? ????????
Частота датчика
<???????????????????????>
минимум 100 минимум 100
мксек. мксек.
<?????><????????????????>
??????? ?????????????
/\ ? /\ ?
? ? ? ?
Тест-сигнал (вход) ??? ??????????????????? ????????
Частота тест-сигнала
<???????????????????????>
минимум 100 минимум 100
мксек. мксек.
<?????><????????????????>
??????? ?????????????
/\ ? /\ ?
? ? ? ?
Сигнал синхронизации ??? ??????????????????? ????????
в формате UTC <???????????????????????>
доля или кратное одной секунды
В настоящем подразделе изложены процедуры различных вариантов загрузки данных на внешний носитель (ВН), а также протоколы, применение которых необходимо для правильной передачи данных и для обеспечения универсальной совместимости формата, в котором они загружаются, с тем чтобы любой контролер имел возможность ознакомиться с этими данными и перед началом их анализа убедиться в их подлинности и достоверности.
На ВН могут загружаться данные:
- из бортового устройства при помощи подключенной к БУ специализированной программируемой аппаратуры (СПА),
- с карточки тахографа при помощи СПА, оснащенной устройством считывания карточек (УСК),
- с карточки тахографа через бортовое устройство путем подключения СПА к БУ.
Для целей контроля подлинности и целостности данных, сохраняемых на ВН, при загрузке они снабжаются подписью в соответствии с указанным в подразделе XI ("Общие механизмы защиты"). В состав загружаемой информации включаются идентификационные данные аппаратного источника (БУ или карточки) и соответствующие ему сертификаты безопасности (Договаривающейся стороны и аппаратуры). Лицо, осуществляющее проверку данных, должно иметь собственный открытый криптографический ключ от надежного европейского поставщика.
DDP_001 Данные, загруженные за один сеанс загрузки, должны сохраняться на ВН в виде одного файла.
В настоящем подразделе используются следующие сокращения:
Для загрузки данных из БУ оператору необходимо выполнить следующие действия:
- ввести свою карточку тахографа в считывающее устройство БУ <*>;
--------------------------------
<*> Ввод карточки инициирует подтверждение соответствующих прав доступа к функции загрузки и загружаемым данным.
- подсоединить СПА к выходному разъему БУ;
- установить канал связи между СПА и БУ;
- с помощью СПА выбрать данные для загрузки и передать запрос в БУ;
- завершить сеанс загрузки.
Протокол построен по принципу "ведущий-ведомый", при котором в роли ведущего выступает СПА, а в роли ведомого - БУ.
Структура, типы и поток сообщений в основном соответствуют протоколу ключевых слов KWP 2000 (ISO 14230-2 Транспорт дорожный. Системы диагностического контроля. Протокол ключевых слов 2000. Часть 2. Уровень обмена данными).
Уровень приложений в основном соответствует нынешней версии проекта стандарта ISO 14229-1 (Транспорт дорожный. Системы диагностического контроля. Часть 1. Диагностические функции. Версия 6 от 22 февраля 2001 года).
DDP_002 Все сообщения, которыми обмениваются СПА и БУ, форматируются в соответствии с трехкомпонентной структурой:
- заголовок, состоящий из байта формата (FMT), байта адреса приемника (TGT), байта адреса источника (SRC) и в некоторых случаях также байта длины сообщения (LEN);
- поле данных, образуемое байтом идентификатора функции (SID) и переменным числом байтов данных, включая необязательный байт диагностического сеанса (DS_) и необязательный байт параметра передачи (TRTP или TREP);
- контрольная сумма, определяемая байтом контрольной суммы (CS).
Байты TGT и SRC указывают физические адреса получателя и отправителя сообщения. Их значения - F0 Hex для СПА и EE Hex для БУ.
Байт LEN представляет собой длину поля данных в сообщении.
Байт контрольной суммы представляет собой 8-битную сумму по модулю 256 всех байт сообщения, за исключением самой контрольной суммы.
Определения байтов FMT, SID, DS_, TRTP и TREP приводятся далее в настоящем документе.
DDP_003 Если объем передаваемых в сообщении данных превышает длину поля данных, то сообщение фактически высылается в виде нескольких подсообщений. Каждое подсообщение содержит заголовок, одни и те же байты SID и TREP, а также 2-байтовый счетчик подсообщений, указывающий порядковый номер данного подсообщения в общем сообщении. Чтобы обеспечить возможность обнаружения ошибок и отмены передачи, СПА подтверждает получение каждого подсообщения. СПА может принять подсообщение, запросить его повторную передачу, выдать БУ команду начать передачу заново или отменить ее.
DDP_004 Если поле данных последнего подсообщения содержит ровно 255 байт, то к нему должно добавляться заключительное подсообщение с пустым (то есть содержащим только SID, TREP и счетчик подсообщений) полем данных, означающее конец сообщения.
Пример:
Передается как
...
или как:
...
Протокол загрузки данных для БУ и СПА предусматривает обязательный обмен сообщениями восьми типов.
Общая характеристика этих сообщений представлена в таблице ниже.
Примечания:
- Sid Req = Sid соответствующего запроса.
- TREP = TRTP соответствующего запроса.
--------------------------------
- Термин "upload" (загрузка со стороны СПА) используется для целей совместимости с ISO 14229. Он имеет тот же смысл, что и термин "download" (загрузка со стороны БУ).
- 2-байтные счетчики подсообщений, которые могут содержаться в сообщениях, в таблице не показаны.
ОБМЕНА ДАННЫМИ (SID 81)
DDP_005 Данное сообщение высылается СПА для установления канала обмена данными с БУ. Начальная скорость передачи данных во всех случаях составляет 9600 бод (до тех пор, пока она не будет изменена при помощи соответствующих функций управления передачей данных).
- ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ: ИНИЦИАЛИЗАЦИЯ ОБМЕНА ДАННЫМИ (SID C1)
DDP_006 Данное сообщение высылается БУ в качестве положительного ответа на запрос инициализации обмена данными. Оно включает два байта ключей - 'EA' и '8F', указывающие на поддержку данного протокола устройством, и заголовок с информацией о получателе, источнике и длине сообщения.
ИНИЦИАЛИЗАЦИИ ДИАГНОСТИЧЕСКОГО СЕАНСА (SID 10)
DDP_007 Сообщение с запросом инициализации диагностического сеанса высылается СПА, чтобы начать новый сеанс обмена диагностическими данными с БУ. Подфункция "default session" (сеанс по умолчанию) (81 Hex) указывает на то, что будет начат стандартный диагностический сеанс.
ОТВЕТ: ИНИЦИАЛИЗАЦИЯ ДИАГНОСТИКИ (SID 50)
DDP_008 Сообщение с положительным ответом на запрос инициализации диагностики высылает БУ, чтобы подтвердить начало диагностического сеанса.
КАНАЛА ОБМЕНА ДАННЫМИ (SID 87)
DDP_052 Функция регулировки канала обмена данными используется СПА для того, чтобы инициировать изменение скорости передачи данных. Это происходит в два этапа. На первом этапе СПА предлагает изменение скорости передачи, указывая новую скорость. По получении от БУ положительного ответа СПА высылает БУ подтверждение изменения скорости (второй этап). Затем СПА переключается на новую скорость передачи данных. Получив подтверждение, БУ также переключается на новую скорость передачи.
ОБМЕНА ДАННЫМИ: ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ (SID C7)
DDP_053 Это сообщение высылается БУ в качестве положительного ответа на запрос регулировки канала обмена данными (первый этап). Следует обратить внимание на то, что ответ на запрос подтверждения не высылается (второй этап).
DDP_009 Сообщение с запросом загрузки высылается СПА с целью указать БУ на необходимость загрузить данные. В соответствии с требованиями ISO 14229 в него должна включаться информация об адресе, объеме и формате запрашиваемых данных. Поскольку до загрузки данных СПА такой информацией не располагает, адрес ячейки памяти при этом устанавливается на 0, формат указывается как нешифрованный и без сжатия, а объем памяти задается максимальным.
ОТВЕТ НА ЗАПРОС ЗАГРУЗКИ (SID 75)
DDP_010 Сообщение с положительным ответом на запрос загрузки высылается БУ с целью указать СПА на готовность БУ к загрузке данных. В соответствии с требованиями ISO 14229 в это сообщение включаются данные, указывающие СПА о том, что последующие положительные ответы на запросы передачи данных будут содержать максимум 00FF Hex байт.
ПЕРЕДАЧИ ДАННЫХ (SID 36)
DDP_011 Запрос передачи данных высылается СПА с целью указать БУ тип данных, которые должны быть загружены. Тип данных указывается однобайтовым параметром запроса передачи (TRTP).
Возможна передача шести типов данных:
- Обзор (TRTP 01),
- Деятельность на указанную дату (TRTP 02),
- События и неисправности (TRTP 03),
- Подробные данные о скоростном режиме (TRTP 04),
- Технические данные (TRTP 05),
- Загрузка с карточки (TRTP 06).
DDP_054 В ходе сеанса загрузки СПА в обязательном порядке запрашивает передачу обзорных данных (TRTP 01), так как только при этом в загружаемом файле регистрируются сертификаты БУ (что создает возможность проверки цифровой подписи).
Во втором случае (TRTP 02) сообщение с запросом передачи данных включает указание календарной даты (в формате реального времени), данные за которую подлежат загрузке.
ОТВЕТ НА ЗАПРОС ПЕРЕДАЧИ ДАННЫХ (SID 76)
DDP_012 Положительный ответ на запрос передачи данных высылается БУ по получении запроса передачи данных. Это сообщение содержит запрошенные данные и параметр ответа на запрос передачи (TREP), который соответствует TRTP запроса.
DDP_055 В первом случае (TREP 01) БУ высылает данные, помогающие оператору СПА выбрать информацию, загрузку которой он желает продолжить. Сообщение содержит данные о:
- сертификатах безопасности;
- идентификации транспортного средства;
- текущей дате и времени по хронометражу БУ;
- самой ранней и самой поздней дате, данные за которую могут быть загружены из БУ;
- наличии карточек в считывающих устройствах БУ;
- предыдущей загрузке данных представителем предприятия;
- блокировках, установленных предприятием;
- предыдущих проверках.
ЗАВЕРШЕНИЯ ПЕРЕДАЧИ (SID 37)
DDP_013 Сообщение с запросом завершения передачи высылается СПА с целью указать БУ на завершение сеанса загрузки.
- ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ НА ЗАПРОС ЗАВЕРШЕНИЯ
ПЕРЕДАЧИ (SID 77)
DDP_014 Сообщение с положительным ответом на запрос завершения передачи высылает БУ с целью подтвердить прием запроса завершения передачи.
ОБМЕНА ДАННЫМИ (SID 82)
DDP_015 Сообщение с запросом завершения обмена данными высылается СПА с целью закрыть канал обмена данными с БУ.
- ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ НА ЗАПРОС НА ЗАВЕРШЕНИЕ
ОБМЕНА ДАННЫМИ (SID C2)
DDP_016 Сообщение с положительным ответом на запрос завершения обмена данными высылается БУ с целью подтвердить прием запроса завершения обмена данными.
ПРИЕМА ПОДСООБЩЕНИЯ (SID 83)
DDP_017 Подтверждение приема подсообщения высылается СПА, подтверждая этим получение каждой части сообщения, передаваемого в виде ряда подсообщений. Поле данных содержит SID, полученный от БУ, и двухбайтовый код со следующими возможными значениями:
- MsgC + 1 - подтверждение правильного приема подсообщения номер MsgC.
Запрос от СПА к БУ на отправку следующего подсообщения;
MsgC - указание на сбой при приеме подсообщения номер MsgC.
Запрос от СПА к БУ на повторную отправку данного подсообщения;
FFFF - запрос прекращения передачи сообщения.
Эта функция может использоваться СПА для прекращения по каким-либо причинам передачи сообщения от БУ.
Прием последнего подсообщения в сообщении (LEN < 255 байт) может подтверждаться любым из вышеуказанных кодов или оставаться без подтверждения.
К ответам БУ, которые состоят из нескольких подсообщений, относятся:
- положительный ответ на запрос передачи данных (SID 76).
DDP_018 Сообщение с отрицательным ответом на те или иные из перечисленных выше запросов БУ высылает в тех случаях, когда запрос не может быть выполнен. Поле данных сообщения содержит SID ответа (7F), SID запроса и код, указывающий причину отрицательного ответа. Могут использоваться следующие коды:
- 10 Общее отклонение запроса
Действие не может быть выполнено по причине, не входящей в число нижеперечисленных;
- 11 Функция не поддерживается
Не опознан SID запроса;
- 12 Подфункция не поддерживается
Не опознан DS_ или TRTP запроса либо отсутствуют другие подсообщения для передачи;
- 13 Неверная длина сообщения
Получено сообщение неверной длины;
- 22 Недопустимые условия или ошибка очередности запросов
Требуемая функция не активирована либо неверная очередность запросов;
- 31 Нештатный запрос
Значение параметра запроса (поле данных) недействительно;
- 50 Отказ в приеме загружаемых данных
Невозможно выполнить запрос (несоответствие режима работы БУ или внутренние неполадки в БУ);
- 78 Ожидается ответ
Запрошенная операция не может быть завершена своевременно; БУ не готов к приему нового запроса;
- FA Данные отсутствуют
Запрошенный к передаче объект данных отсутствует в БУ (например, не введена карточка, и т.п.).
При нормальной загрузке данных поток сообщений, как правило, выглядит следующим образом:
DDP_019 Временные параметры для нормального режима работы указаны в таблице ниже:
![]() Где:
P1 = Межбайтовый интервал для ответа БУ.
P2 = Время между окончанием запроса СПА и началом ответа БУ или между окончанием подтверждения СПА и началом следующего ответа БУ.
P3 = Время между окончанием ответа БУ и началом нового запроса СПА или между окончанием ответа БУ и началом подтверждения СПА, или между окончанием запроса СПА и началом нового запроса СПА при отсутствии ответа от БУ.
P4 = Межбайтовый интервал для запроса СПА.
P5 = Увеличенное значение P3 для загрузки данных с карточек.
Допустимые значения временных параметров приводятся в нижеследующей таблице (расширенный диапазон временных параметров протокола KWP для использования при физической адресации в целях ускорения передачи данных).
--------------------------------
<*> если БУ выдает отрицательный ответ с кодом, означающим "запрос получен правильно - ожидается ответ", то это значение увеличивается до соответствующего верхнего предельного значения P3.
При возникновении ошибки в процессе обмена сообщениями схема потока сообщений модифицируется в зависимости от того, каким из приборов обнаружена ошибка и каким сообщением она вызвана.
DDP_020 Если СПА обнаруживает ошибку синхронизации или ошибку в битовом потоке на стадии инициализации обмена данными, то период ожидания СПА перед повторением запроса равняется P3 min.
DDP_021 Если БУ обнаруживает ошибку в очередности сообщений от СПА, то оно не высылает ответа и ожидает нового сообщения с запросом инициализации обмена данными в течение периода, равного P3 max.
На этой стадии можно выделить два типовых случая обработки ошибок:
БУ обнаруживает ошибку в передаче данных от СПА
DDP_022 БУ проверяет каждое полученное сообщение на ошибки синхронизации, ошибки в формате байтов (например, в стартовом и стоповом разрядах) и ошибки передачи кадров (неверное число полученных байтов, ошибки в байте контрольной суммы).
DDP_023 При обнаружении одной из вышеназванных ошибок БУ не высылает ответа и игнорирует поступившее сообщение.
DDP_024 БУ может обнаружить и другие ошибки в формате или содержании полученного сообщения (например, "сообщение не поддерживается"), даже если оно соответствует требованиям по длине и контрольной сумме; в этом случае БУ высылает СПА отрицательный ответ с указанием характера ошибки.
/??????????????\
? Начало ?
\??????????????/
?????????????????????????
????????Нет??????? ?
???????????????? \/ ? ?
? Выдача ? / \ / \ ?
?отрицательного??????????????????????????>/ Запрос \???Нет??>/P3max \ ?
? ответа ? ? \получен?/ \истек?/ ?
???????????????? ? \ / \ / ?
/\ ? ? ? ?
? Да Да Да ?
? ? \/ \/ ?
? ? / \ /????????????\?
? ? / Ошибка\ ?Прекращение ??
? ????????????????/контрольной\ ? обмена ??
? \ суммы / ? данными ??
? \ / \????????????/?
? ? ?
? Нет ?
? \/ ?
? ????????????????????????? / \ ?
? ? Отрицательный ответ ? / Ошибка \ ?
??? Несоответствие длины ?<?Да??????\ длины? / ?
? ? сообщения ? \ / ?
? ????????????????????????? ? ?
? Нет ?
? \/ ?
? / \ ?
? ????????????????????????? / \ ?
? ? Отрицательный ответ ? /Поддерживается\ ?
??? Функция или подфункция?<?Нет??\ ли сообщение / ?
? ? не поддерживается ? \с запросом/ ?
? ????????????????????????? \ / ?
? ? ?
? Да ?
? \/ ?
? ????????????????????????? / \ ?
? ? Отрицательный ответ ? / Правильная \ ?
??? Сбой очередности ?<?Нет??? \очередность?/ ?
? ? запросов ? \ / ?
? ????????????????????????? ? ?
? Да ?
? \/ ?
? ????????????????????????? / \ ????????????????
? ? Отрицательный ответ ? /Загрузка\ ? Выдача ?
??? Отказ в приеме ?<?Нет?????\принята?/ ?положительного?
? ? загружаемых данных ? \ / ? ответа ?
? ????????????????????????? ? ????????????????
? Да /\
? \/ ?
? ????????????????????????? / \ ?
? ? Отрицательный ответ ? / Штатный\ ?
??? Нештатный запрос ?<?Нет?????\ запрос?/ ?
? ????????????????????????? \ / ?
? ? ?
? Да Да
? \/ ?
? ????????????????????????? / \ ?
? ? Отрицательный ответ ? / Имеются \ ?
??? Данные отсутствуют ?<?Нет?????\ли данные?/ ?
? ????????????????????????? \ / ?
? ? ?
? Да ?
? \/ / \
? ??????????????????????? ?????????????????? / \
? ? Построение и выдача ? ? Построение ? /Положительный\
? ?>?отрицательного ответа?????>? положительного ???> \ ответ готов /
? ? ? Ответ задерживается ? ? ответа ? \ /
? ? ??????????????????????? ?????????????????? \ /
? ? /\ /\ ?
? ? ??????????????????????? ? ?
? ? ? P2max продлевается ? ? ?
? ? ? до P3max ? ? Нет
? ? ??????????????????????? ? ?
? ? /\ ? ?
? ? Нет ? \/
? ? ? /\ /\
? ? / \ / \ / \
? ? /Загрузка \ / P2max \ / P3max \
? ? \карточки?/<??????Да????????\ истек /<????Нет??\ истек? /
? ? \ / \ / \ /
? ? ? \/ \/
? ? Да ?
? ? \/ ?
? ? ??????????????????????? ?
? ? ? P2max и P3max ? ?
? ??? продлеваются до P5 ? ?????????????????????????? ?
? ??????????????????????? ? Отрицательный ответ ? ?
??????????????????????????????Общее отклонение запроса?<????Да
??????????????????????????
2. СПА обнаруживает ошибку в передаче данных от БУ
DDP_025 СПА проверяет каждое полученное сообщение на ошибки синхронизации, ошибки в формате байтов (например, в стартовом и стоповом разрядах) и ошибки в передаче кадров (неверное число полученных байтов, ошибки в байте контрольной суммы).
DDP_026 СПА проверяет поступающие сообщения на ошибки очередности, такие как сбои возрастания порядковых номеров подсообщений в последовательно поступающих сообщениях.
DDP_027 Если СПА обнаруживает ошибку или не получает от БУ ответа в течение периода, равного P2max, то запрос высылается повторно, причем общее число передач ограничивается тремя. Для случаев обнаружения ошибок данного вида подтверждение приема подсообщения рассматривается как запрос к БУ.
DDP_028 Период ожидания СПА перед началом каждой передачи равняется или превышает P3min; этот период отсчитывается с расчетного момента приема последнего стопового бита после обнаруженной ошибки.
/???????????????\
? Начало ?
\???????????????/
\/
????????????????????
???>?Построение запроса?
? ? Выдача запроса ?
? ????????????????????
? ??????????????????????????????????????????????????
? \/ ? ????????????????????????
? / \ ? ? P2max и P3max ?
? /Ответ \ ? ?продлевается до P5max ?
? ???>\получен?/????????????? ? ????????????????????????
? ? \ / Да ? /\
? ? \/ ? ? ?
Нет ? ? ? ? ?
? Нет Нет ? ? ?
? ? ? ? ? ?
? ? \/ ? ???????????????????? ?
? ? / \ ? ?P2max продлевается? ?
? ? /P2max\ ? ? до P3max ? ?
? ?????\истек? / ? ???????????????????? ?
? \ / ? /\ ?
? ? ? ? Да
? Да ? ? ?
? ? \/ ? ?
? \/ / \ ? ?
? / \ / \ Нет ?
? / 3 \ /Ошибка длины\ ? ?
????????\попытки?/<?Да??\ или контр./ ? ?
\ / \ суммы?/ / \ ?
\/ \ / / \ ?
? ? /Выгрузка \ ?
? Нет \карточки?/????????????
? ? \ /
? \/ \ /
? / \ /\
Да / Ответ \ ?
? \задерживается?/???Да??
? \ /
? \ /
? ?
? Нет
? ?
\/ \/
/???????????????\ / \
? Обработка ? /Ответ\
? ошибок в СПА ?<??Нет??\ OK? /
\???????????????/ \ /
?
Да
?
\/
/????????????????????\
? Приложение ?
? продолжает работу ?
\????????????????????/
В данном пункте указано содержание полей данных различных сообщений с положительным ответом.
Определения элементов данных приводятся в подразделе I (словарь данных).
ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ НА ЗАПРОС ПЕРЕДАЧИ ОБЗОРНЫХ ДАННЫХ
DDP_029 В поле данных сообщения "Положительный ответ на запрос передачи обзорных данных" включаются перечисленные ниже данные в порядке, соответствующем нижеуказанному, при SID 76 Hex и TREP 01 Hex, с соответствующим выделением и нумерацией подсообщений:
ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ НА ЗАПРОС ПЕРЕДАЧИ ДАННЫХ
О ДЕЯТЕЛЬНОСТИ ВОДИТЕЛЕЙ
DDP_030 В поле данных сообщения "Положительный ответ на запрос передачи данных о деятельности водителей" включаются перечисленные ниже данные в порядке, соответствующем нижеуказанному, при SID 76 Hex и TREP 02 Hex, с соответствующим выделением и нумерацией подсообщений:
ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ НА ЗАПРОС ПЕРЕДАЧИ ДАННЫХ
О СОБЫТИЯХ И НЕИСПРАВНОСТЯХ
DDP_031 В поле данных сообщения "Положительный ответ на запрос передачи данных о событиях и неисправностях" включаются перечисленные ниже данные в порядке, соответствующем нижеуказанному, при SID 76 Hex и TREP 03 Hex, с соответствующим выделением и нумерацией подсообщений:
ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ НА ЗАПРОС ПЕРЕДАЧИ ПОДРОБНЫХ
ДАННЫХ О СКОРОСТНОМ РЕЖИМЕ
DDP_032 В поле данных сообщения "Положительный ответ на запрос передачи подробных данных о скоростном режиме" включаются перечисленные ниже данные в порядке, соответствующем нижеуказанному, при SID 76 Hex и TREP 04 Hex, с соответствующим выделением и нумерацией подсообщений:
ПОЛОЖИТЕЛЬНЫЙ ОТВЕТ НА ЗАПРОС ПЕРЕДАЧИ ТЕХНИЧЕСКИХ ДАННЫХ
DDP_033 В поле данных сообщения "Положительный ответ на запрос передачи технических данных" включаются перечисленные ниже данные в порядке, соответствующем нижеуказанному, при SID 76 Hex и TREP 05 Hex, с соответствующим выделением и нумерацией подсообщений:
DDP_034 В случаях, когда сеанс загрузки данных включает передачу данных с БУ, СПА сохраняет в виде одного физического файла все данные, полученные от БУ в ходе сеанса загрузки в сообщениях типа "Положительный ответ на запрос передачи данных". Сохраняемые данные не включают заголовки сообщений, счетчики подсообщений, пустые под сообщения и контрольные суммы, но включают SID и TREP (при наличии нескольких подсообщений - только для первого подсообщения).
В настоящем пункте изложен порядок прямой загрузки данных с карточки тахографа на СПА. СПА не является частью защищенной среды; поэтому процедура аутентификации между карточкой и СПА не предусмотрена.
DDP_035 Процесс загрузки данных с карточки тахографа состоит из следующих этапов:
- Загрузка общей информации, записанной на карточке в элементарных файлах ICC и IC. Эта информация не является обязательной и не защищена цифровой подписью.
- Загрузка элементарных файлов Card_Certificate и CA_Certificate. Эта информация не защищена цифровой подписью.
Вышеуказанные файлы загружаются в обязательном порядке при каждом сеансе загрузки.
- Загрузка элементарных файлов с другими прикладными данными (входящих в каталог тахографа), кроме файла Card_Download. Эта информация защищена цифровой подписью.
- При каждом сеансе загрузки обязательно загружаются как минимум
элементарные файлы Application_Identification и ID.
- При загрузке данных с карточки водителя в обязательном порядке
загружаются также следующие элементарные файлы:
- Events_Data,
- Faults_Data,
- Driver_Activity_Data,
- Vehicles_Used,
- Places,
- Control_Activity_Data,
- Specific_Conditions.
- При загрузке данных с карточки водителя обновляется дата LastCardDownload в элементарном файле Card_Download.
- При загрузке данных с карточки мастерской обнуляется счетчик калибровок в элементарном файле Card_Download.
DDP_036 СПА запускает процедуру следующим образом:
Возможно использование ВПП для переключения на более высокую скорость передачи данных, если она поддерживается МПК.
DDP_037 Процедура загрузки элементарных файлов ICC, IC, Card_Certificate и CA_Certificate выглядит следующим образом:
Примечание: перед выбором элементарного файла Card_Certificate необходимо выбрать приложение "Тахограф" (выбор по ИП).
DDP_038 Для каждого из нижеперечисленных файлов, загружаемых вместе с соответствующей подписью, применяется следующая процедура:
DDP_039 Для обнуления счетчика NoOfCalibrationsSinceDownload в элементарном файле Card_Download, хранящемся на карточке мастерской, применяется следующая процедура:
DDP_040 Загружаемые данные должны сохраняться с соблюдением следующих требований:
- данные сохраняются транспарентно. Это означает, что последовательность байтов, а также последовательность битов внутри каждого байта переносимых с карточки данных должна при их сохранении оставаться неизменной;
- все файлы, загружаемые с карточки за один сеанс загрузки, сохраняются на ВН в виде одного файла.
DDP_041 Формат файла представляет собой совокупность нескольких взаимосвязанных TLV-объектов.
DDP_042 Меткой EF является FID с добавлением "00".
DDP_043 Меткой подписи EF является FID файла с добавлением "01".
DDP_044 Значение длины состоит из двух байтов. Им определяется число байтов в поле значений. Значение "FF FF" в поле длины резервируется для последующего использования.
DDP_045 Если файл не загружается, то никакая информация о нем сохранению не подлежит (т.е. не сохраняется ни метка, ни нулевой параметр длины).
DDP_046 В качестве TLV-объекта, следующего непосредственно за TLV-объектом с данными файла, сохраняется подпись.
Пример данных в файле, загруженном на ВН:
ЧЕРЕЗ БОРТОВОЕ УСТРОЙСТВО
DDP_047 БУ должно обеспечивать возможность загрузки данных с введенной в него карточки водителя на подключенную СПА.
DDP_048 Для инициализации данного режима СПА направляет БУ сообщение "Transfer Data Request Card Download" - "Запрос передачи данных, загруженных с карточки" (см. 2.2.2.9).
DDP_049 После этого БУ файл за файлом загружает с карточки все имеющиеся на ней данные в соответствии с протоколом загрузки, который определен в пункте 0, и передает все полученные таким образом данные на СПА в соответствующем TLV-формате (см. 3.4.2), заключенные внутри сообщения "Положительный ответ на запрос передачи данных".
DDP_050 СПА извлекает данные карточки из сообщения "Положительный ответ на запрос передачи данных" (освобождая их от всех заголовков, SIDов, TREPов, счетчиков подсообщений и контрольных сумм) и сохраняет их в одном физическом файле, как указано в пункте 2.3.
DDP_051 Затем БУ при необходимости обновляет содержание файла Control_Activity_Data или файла Card_Download на карточке водителя.
В настоящем подразделе рассматривается процесс обмена данными между бортовым устройством и тестером по K-линии, предусмотренной в калибровочном интерфейсе, описание которого приводится в подразделе VI. В нем также указан способ управления каналом ввода-вывода на калибровочном разъеме.
Процедура установления связи по K-линии описана в пункте 4 "Функции обмена данными".
Для определения задач управления обменом данными по K-линии при различных условиях в данном подразделе используется понятие "диагностических сеансов". По умолчанию под этим понимается сеанс "StandardDiagnosticSession", при котором с бортового устройства могут быть считаны все имеющиеся данные, однако сохранение данных на бортовом устройстве невозможно.
Выбор вида диагностического сеанса рассмотрен в пункте 5 ("Административные функции").
CPR_001 Сеанс "ECUProgrammingSession" позволяет вводить данные в бортовое устройство. При этом для ввода калибровочных данных (требования 097 и 098) бортовое устройство должно быть переведено в режим CALIBRATION.
Процесс передачи данных по K-линии описан в пункте 6 ("Функции передачи данных"). Форматы передаваемых данных подробно указаны в пункте 8 ("Форматы записей данных").
CPR_002 Сеанс "ECUAdjustmentSession" позволяет выбирать режим работы канала ввода-вывода калибровочных данных через интерфейс K-линии. Способ управления каналом ввода-вывода калибровочных данных изложен в пункте 7 ("Настройка проверочных импульсов - функциональный блок регулировки входного/выходного сигнала").
CPR_003 Адрес тестера везде в настоящем документе обозначен как 'tt'. Хотя для тестеров могут существовать общепринятые адреса, БУ должно быть способно правильно поддерживать связь с тестером по любому адресу. Физический адрес БУ - 0xEE.
Протоколы, сообщения и коды ошибок в основном соответствуют нынешней версии проекта стандарта ISO 14229-1 (Транспорт дорожный. Системы диагностического контроля. Часть 1. Диагностические функции. Версия 6 от 22 февраля 2001 года).
Для идентификаторов функций, запросов функций и ответов на них, а также для стандартных параметров используются байтовое кодирование и шестнадцатеричные величины.
Под термином "тестер" понимается аппаратура, используемая для ввода программных/калибровочных данных в БУ.
Под терминами "клиент" и "сервер" понимаются, соответственно, тестер и БУ.
Под аббревиатурой "ECU", означающей "электронный контрольный блок", понимается БУ.
Источники:
ISO 14230-2 Транспорт дорожный. Системы диагностического контроля. Протокол ключевых слов 2000. Часть 2. Уровень обмена данными. Первое издание, 1999 год. Транспортные средства. Системы диагностического контроля.
В таблице ниже представлен обзорный перечень функций, которые должны быть предусмотрены в контрольном устройстве и определения которых приводятся в настоящем документе.
CPR_004 В таблице показаны функции, доступные после начала диагностического сеанса.
- В 1-м столбце приведен перечень имеющихся функций.
- Во 2-м столбце перечислены номера пунктов данного подраздела, содержащих развернутые определения соответствующих функций.
- В 3-м столбце указаны значения идентификаторов соответствующих функций, используемые в запросах.
- В 4-м столбце указаны функции сеанса "StandardDiagnosticSession" (SD), которые должны быть реализованы в каждом БУ.
В 5-м столбце указаны функции сеанса "ECUAdjustmentSession" (ECUAS), которые должны быть реализованы для обеспечения возможности управления каналом ввода-вывода калибровочного разъема на передней панели БУ.
- В 6-м столбце указаны функции сеанса "ECUProgrammingSession" (ECUPS), которые должны быть выполнены для обеспечения возможности программирования параметров работы БУ.
Отсутствие символа означает, что в процессе данного диагностического сеанса указанная функция невозможна.
Для каждой функции предусмотрены определенные коды ответов.
Ряд функций необходимы для установления и поддержания канала обмена данными. На уровне приложений они не отображаются. Описание имеющихся функций приведено в таблице ниже.
CPR_005 Функция StartCommunication используется для инициализации обмена данными. Для выполнения любой функции необходимо начать обмен данными и обеспечить, чтобы его параметры соответствовали нужному режиму.
CPR_006 По получении примитива индикации StartCommunication БУ проверяет возможность инициализации запрошенного канала обмена данными при существующих условиях. Описание условий, необходимых для инициализации канала обмена данными, приведено в документе ISO 14230-2.
CPR_007 После этого БУ выполняет все действия, необходимые для инициализации канала обмена данными, и возвращает примитив ответа StartCommunication с выбранными параметрами положительного ответа.
CPR_008 Если на БУ, которое уже инициализовано (и уже находится в процессе того или иного диагностического сеанса), поступает новый запрос StartCommunication (например, при восстановлении работы тестера после сбоя), то этот запрос принимается и производится повторная инициализация БУ.
CPR_009 Если по каким-либо причинам канал обмена данными не может быть инициализован, то БУ продолжает функционировать в том же режиме, в котором оно находилось непосредственно перед попыткой инициализации канала обмена данными.
CPR_010 Сообщение с запросом StartCommunication должно иметь физическую адресацию.
CPR_011 Инициализация БУ для выполнения соответствующих функций производится методом "ускоренной инициализации":
- любой операции предшествует определенный период бездействия шины;
- затем тестер высылает шаблон инициализации;
- ответ БУ содержит всю информацию, необходимую для установления канала обмена данными.
CPR_012 По завершении инициализации значения всех параметров обмена данными задаются такими, как определено в
- в соответствии с байтами ключей;
- БУ ожидает первого запроса от тестера;
- БУ находится в диагностическом режиме, выбираемом по умолчанию, т.е. в режиме StandardDiagnosticSession;
- канал ввода-вывода калибровочных данных находится в состоянии, выбираемом по умолчанию, т.е. не активирован.
CPR_014 Скорость передачи данных по K-линии составляет 10 400 бод.
CPR_016 Для вызова ускоренной инициализации тестер передает по K-линии шаблон запуска (Wup). Этот шаблон начинает действовать после периода бездействия на K-линии, с периода низкого уровня тактового сигнала, равного Tinil. Тестер высылает первый бит сообщения StartCommunicationService по истечении периода Twup с момента первого спада тактового сигнала.
![]() CPR_017 Значения временных параметров ускоренной инициализации и обмена данными в целом приведены в нижеследующих таблицах. Время бездействия может быть различным:
- от включения питания до первой передачи данных: Tidle = 300 мс;
- после завершения функции StopCommunication: Tidle = P3 мин;
- после прекращения обмена данными из-за превышения времени ожидания P3 max: Tidle = 0.
Временные параметры обмена данными
CPR_018 Формат сообщений для ускоренной инициализации подробно указан в нижеследующих таблицах.
Положительный ответ на запрос StartCommunication
CPR_019 Отрицательный ответ на запрос StartCommunication невозможен. При отсутствии положительного ответа инициализация БУ не происходит, никакие сообщения не передаются, и устройство продолжает функционировать в обычном режиме.
Эта функции уровня обмена данными предназначена для прекращения сеанса обмена.
CPR_020 По получении примитива индикации StopCommunication БУ проверяет возможность прекращения текущего обмена данными. Если это возможно, то в этом случае БУ выполняет все действия, необходимые для прекращения сеанса обмена данными.
CPR_021 Если обмен данными может быть прекращен, то перед прекращением обмена данными БУ возвращает примитив ответа StopCommunication с выбранными параметрами положительного ответа.
CPR_022 Если по каким-либо причинам прекращение обмена данными невозможно, то БУ возвращает примитив ответа StopCommunication с выбранными параметрами отрицательного ответа.
CPR_023 Если БУ фиксирует истечение периода ожидания P3max, то обмен данными прекращается без направления какого-либо примитива ответа.
CPR_024 Форматы сообщений для примитивов StopCommunication подробно указаны в нижеследующих таблицах.
Положительный ответ на запрос StopCommunication
Отрицательный ответ на запрос StopCommunication
Данная функция не требует определения каких-либо параметров.
Функция TesterPresent используется тестером для оповещения сервера о продолжении присутствия на линии с целью предотвратить автоматическое возвращение сервера в обычный режим работы и возможный обрыв связи. Периодически высылаемый запрос данной функции позволяет поддерживать непрерывный сеанс диагностики/обмена данными, так как счетчик времени P3 обнуляется при каждом очередном поступлении этого запроса.
CPR_079 Форматы сообщений для примитивов TesterPresent подробно указаны в нижеследующих таблицах.
CPR_080 Если параметр responseRequired установлен на ответ "да", то сервер возвращает положительный ответ, показанный ниже. Если параметр установлен на ответ "нет", то на данный запрос сервер не отвечает.
Положительный ответ на запрос TesterPresent
CPR_081 В данной функции предусмотрены следующие коды возможного отрицательного ответа:
Отрицательный ответ на запрос TesterPresent
Описание имеющихся функций приводится в таблице ниже.
CPR_025 Функция StartDiagnosticSession используется для запуска различных диагностических сеансов на сервере. В ходе диагностического сеанса предоставляется доступ к определенному набору функций, согласно указанному в таблице 17. Некоторые функции, возможные в ходе таких сеансов, специфичны для транспортных средств конкретных изготовителей и в настоящем документе не рассматриваются. Правила технической реализации соответствующих систем должны отвечать следующим требованиям:
- БУ должно постоянно поддерживать только один текущий диагностический сеанс;
- при подаче питания БУ во всех случаях должно начинать стандартный сеанс диагностики (StandardDiagnosticSession). Если после этого не будет начат другой диагностический сеанс, то стандартный сеанс диагностики продолжается до тех пор, пока питание БУ не будет отключено;
- если тестером запрашивается уже запущенный диагностический сеанс, то БУ возвращает положительный ответ;
- если тестером запрашивается новый диагностический сеанс, то БУ сначала высылает положительный ответ на запрос StartDiagnosticSession, а затем запускает новый сеанс. Если БУ не имеет возможности начать новый диагностический сеанс в соответствии с запросом, оно возвращает отрицательный ответ на запрос StartDiagnosticSession, а текущий сеанс продолжается.
CPR_026 Диагностический сеанс может быть начат только при условии, что между клиентом и БУ установлен канал обмена данными.
CPR_027 Временные параметры, определенные в таблице, начинают применяться после успешного выполнения запроса StartDiagnosticSession, в котором параметр diagnosticSession был установлен на "StandardDiagnosticSession" (стандартный сеанс диагностики), если до этого выполнялся другой диагностический сеанс.
CPR_028 Формат сообщений для примитивов StartDiagnosticSession подробно указан в нижеследующих таблицах.
Положительный ответ на запрос StartDiagnosticSession
Отрицательный ответ на запрос StartDiagnosticSession
--------------------------------
<a> - значение, заданное в байте #6 запроса, не поддерживается и поэтому не фигурирует в таблице 17,
CPR_029 Параметр diagnosticSession (DS_) используется функцией StartDiagnosticSession для выбора того или иного режима работы сервера(ов). В настоящем документе указаны его значения для следующих видов диагностических сеансов:
Запись калибровочных данных и доступ к каналу ввода/вывода этих данных возможны лишь при условии, что БУ находится в режиме CALIBRATION (калибровка). Для получения доступа к режиму CALIBRATION необходимо, помимо ввода в БУ действительной карточки мастерской, ввести в бортовое устройство соответствующий PIN-код.
Функция SecurityAccess обеспечивает возможность введения PIN-кода и получения тестером информации о том, находится ли БУ в режиме CALIBRATION.
Допустимы и другие методы введения PIN-кода.
Функция SecurityAccess предусматривает направление сообщения SecurityAccess "requestSeed" (запрос стартового значения для генерации ключа), за которым на соответствующем этапе следует сообщение SecurityAccess "sendKey" (передача ключа). Функция SecurityAccess выполняется в обязательном порядке после функции StartDiagnosticSession.
CPR_033 Сообщение SecurityAccess "requestSeed" используется тестером для проверки готовности бортового устройства к приему PIN-кода.
CPR_034 Если бортовое устройство уже находится в режиме CALIBRATION, то в ответ на запрос оно при помощи функции положительного ответа SecurityAccess возвращает стартовое значение 0x0000.
CPR_035 Если бортовое устройство готово принять PIN-код для проверки с помощью карточки мастерской, то оно при помощи функции положительного ответа SecurityAccess возвращает стартовое значение, превышающее 0x0000.
CPR_036 Если бортовое устройство не готово принять от тестера PIN-код, поскольку карточка мастерской недействительна или не была введена в устройство, либо потому, что бортовое устройство ожидает введения PIN-кода другим способом, то оно возвращает отрицательный ответ с кодом conditionsNotCorrectorRequestSequenceError (недопустимые условия или неверная последовательность запросов).
CPR_037 В таких случаях тестер передает PIN-код на бортовое устройство с помощью сообщения SecurityAccess "sendKey". Для обеспечения достаточного времени, необходимого для завершения процесса аутентификации карточки, БУ использует код отрицательного ответа requestCorrectlyReceived-ResponsePending (запрос получен правильно - ожидается ответ), позволяющий продлить период ожидания ответа. Этот период, однако, не может превышать 5 минут. Как только выполнение запрошенной функции завершается, БУ высылает положительный ответ или отрицательный ответ с кодом, отличным от данного. Код отрицательного ответа requestCorrectlyReceived-ResponsePending может высылаться бортовым устройством неоднократно, вплоть до завершения запрошенной функции и направления заключительного ответного сообщения.
CPR_038 Бортовое устройство реагирует на данный запрос с помощью функции положительного ответа SecurityAccess лишь тогда, когда оно находится в режиме CALIBRATION.
CPR_039 Ниже перечисляются случаи, когда бортовое устройство возвращает на данный запрос отрицательный ответ, и соответствующие коды ответа.
subFunctionNot supported: неправильный формат параметра подфункции (accessType);
conditionsNotCorrectOrRequestSequenceError: бортовое устройство не готово к введению PIN-кода;
invalidKey: неверный PIN-код; допустимое количество попыток подтверждения PIN-кода не превышено;
exceededNumberOfAttempts: неверный PIN-код; допустимое количество попыток подтверждения PIN-кода превышено;
generalReject: PIN-код верен, но взаимную аутентификацию устройства и карточки мастерской произвести не удалось.
CPR_040 Форматы сообщений для примитивов SecurityAccess "requestSeed" подробно указаны в нижеследующих таблицах.
Положительный ответ на запрос SecurityAccess - requestSeed
Отрицательный ответ на запрос SecurityAccess
CPR_041 Форматы сообщений для примитивов SecurityAccess "sendKey" подробно указаны в нижеследующих таблицах.
Положительный ответ на запрос Security Access - sendKey
Отрицательный ответ на запрос SecurityAccess
Описание имеющихся функций приведено в таблице ниже.
CPR_050 Функция ReadDataByIdentifier используется клиентом с целью запроса у сервера значения записей данных. Данные опознаются по идентификатору recordDataIdentifier. Изготовитель БУ должен обеспечить, чтобы эта функция выполнялась с соблюдением заданных условий работы сервера.
CPR_051 Форматы сообщений для примитивов ReadDataByIdentifier подробно указаны в нижеследующих таблицах.
Положительный ответ на запрос ReadDataByIdentifier
Отрицательный ответ на запрос ReadDataByIdentifier
CPR_052 Параметр recordDataIdentifier (RDI_) в запросе ReadDataByIdentifier служит для идентификации записи данных.
CPR_053 Значения параметра recordDataIdentifier, определенные в настоящем документе, указаны в таблице ниже.
Таблица значений параметра recordDataIdentifier состоит из четырех столбцов и ряда строк.
В 1-м столбце (Шестн. значение) приведено шестнадцатеричное значение, закрепленное за идентификатором recordDataIdentifier, который указан в 3-м столбце.
Во 2-м столбце (Data element) указан элемент данных согласно подразделу I, лежащий в основе параметра recordDataIdentifier (в некоторых случаях требуется перекодирование).
В 3-м столбце (Идентификатор) указано наименование соответствующего идентификатора recordDataIdentifier.
В 4-м столбце (Мнемокод) указан мнемокод данного идентификатора recordDataIdentifier.
CPR_054 Параметр dataRecord (DREC_) используется в положительном ответе на запрос ReadDataByIdentifier для сообщения клиенту (тестеру) значения записи данных, опознаваемой по идентификатору recordDataIdentifier. Форматы данных указаны в пункте 8. Для удобства пользователя могут быть предусмотрены и другие, не определяемые в настоящем документе виды записей данных, включая специфичные для той или иной модели БУ входные, внутренние и выходные данные.
CPR_056 Функция WriteDataByIdentifier используется клиентом в целях сохранения значений записей данных на сервере. Для идентификации данных служит параметр recordDataIdentifier. Изготовитель БУ должен обеспечить, чтобы эта функция выполнялась с соблюдением заданных условий работы сервера. Для обновления значений параметров, перечисленных в таблице 28, БУ должно быть переведено в режим CALIBRATION.
CPR_057 Форматы сообщений для примитивов WriteDataByIdentifier подробно указаны в нижеследующих таблицах.
Положительный ответ на запрос WriteDataByIdentifier
Отрицательный ответ на запрос WriteDataByIdentifier
Определение параметра recordDataIdentifier (RDI_) приводится в таблице 28.
Параметр dataRecord (DREC_) используется в запросе WriteDataByIdentifier для сообщения серверу (БУ) значений записей данных, опознаваемых по идентификаторам recordDataIdentifier. Форматы данных указаны в пункте 8.
РЕГУЛИРОВКИ ВХОДНОГО/ВЫХОДНОГО СИГНАЛА
Описание имеющихся функций приведено в таблице ниже.
Подключение соответствующего тестера к разъему на передней панели позволяет производить настройку или мониторинг проверочных импульсов.
CPR_058 Конфигурация калибровочного канала ввода-вывода может быть изменена с помощью команды, передаваемой по K-линии с использованием функции InputOutputControlByIdentifier, позволяющей задавать этому каналу необходимый режим ввода или вывода данных. Предусмотрены следующие режимы:
отключение,
режим speedSignalInput, при котором по каналу ввода-вывода калибровочных данных вводится тест-сигнал скорости, заменяющий собой сигнал скорости от датчика движения,
режим realTimeSpeedSignalOutputSensor, при котором по каналу ввода-вывода калибровочных данных выводится сигнал скорости, поступающий от датчика движения,
режим RTCOutput, при котором по каналу ввода-вывода калибровочных данных выводится сигнал синхронизации в формате UTC.
CPR_059 Для изменения конфигурации канала на бортовом устройстве должен быть инициирован сеанс настройки, а само устройство должно находиться в режиме CALIBRATION. При завершении сеанса настройки или при выходе из режима CALIBRATION бортовое устройство должно обеспечивать возвращение канала ввода-вывода калибровочных данных в "отключенное" состояние (в котором он находится по умолчанию).
CPR_060 В случае поступления импульсов скорости по входному каналу БУ, предназначенному для приема сигнала скорости в реальном времени, когда канал ввода-вывода калибровочных данных переключен на ввод, канал ввода-вывода калибровочных данных переключается на вывод или возвращается в отключенное состояние.
CPR_061 Последовательность операций выглядит следующим образом:
инициализация обмена данными с помощью функции StartCommunication;
запуск сеанса настройки с помощью функции StartDiagnosticSession и переход в режим CALIBRATION (очередность выполнения этих двух операций значения не имеет);
регулировка канала вывода данных с помощью функции InputOutputControlByIdentifier.
CPR_062 Форматы сообщений для примитивов InputOutputControlByIdentifier подробно указаны в нижеследующих таблицах.
Примечание. Параметр controlState (управление конфигурацией) присутствует лишь в некоторых случаях (см. 7.1.3).
Положительный ответ на запрос InputOutputControlByIdentifier
Отрицательный ответ на запрос InputOutputControlByIdentifier
CPR_064 Определение параметра inputOutputControlParameter (IOCP_) приведено в нижеследующей таблице.
CPR_065 Параметр controlState (управление конфигурацией) присутствует лишь в случаях, когда параметр inputOutputControlParameter установлен на ShortTermAdjustment. Определение значений параметра controlState приводится в таблице ниже.
В настоящем разделе изложены:
- общие правила определения диапазона параметров, передаваемых бортовым устройством на тестер;
- форматы данных, передаваемых посредством функций передачи данных, о которых говорится в пункте 6.
CPR_067 Все указанные здесь параметры должны поддерживаться БУ.
CPR_068 Данные, передаваемые БУ на тестер по соответствующему запросу, по своему типу представляют собой результаты замеров (т.е. текущее значение запрошенного параметра, измеренное или зафиксированное бортовым устройством).
CPR_069 В таблице 38 определены диапазоны, по которым определяется допустимость передаваемых значений параметров.
CPR_070 Используя значения диапазона "указатель ошибки", БУ может незамедлительно сообщать о том, что достоверные параметрические данные на текущий момент отсутствуют из-за той или иной ошибки контрольного устройства.
CPR_071 Значения диапазона "данные отсутствуют" могут использоваться бортовым устройством при передаче сообщений, в которых указаны отсутствующие или не поддерживаемые данным модулем параметры. С помощью значений диапазона "данные не запрашиваются" устройство может при передаче команды указать параметры, ответ по которым от устройства-адресата не требуется.
CPR_072 Если из-за отказа того или иного компонента передача достоверных данных о каком-либо параметре невозможна, то вместо этих данных используется указатель ошибки, приведенный в таблице 38. Если же данные, полученные в результате расчетов или измерений, являются достоверными, но выходят за пределы заданного диапазона значений запрошенного параметра, то указатель ошибки не используется. В этом случае при передаче данных используется соответствующее минимальное или максимальное значение параметра.
CPR_073 Для параметров, представляемых с помощью кода ASCII, символ ASCII "*" резервируется в качестве ограничителя.
В таблицах 39 - 42 ниже подробно показаны форматы, используемые в связи с функциями ReadDataByIdentifier и WriteDataByIdentifier.
CPR_074 В таблице 39 указываются длина поля данных, разрешение и рабочий диапазон для каждого параметра, определяемого соответствующим идентификатором recordDataIdentifier.
CPR_075 В таблице 40 подробно указаны форматы различных байтов параметра TimeDate:
(значение recordDataIdentifier # F90B)
CPR_076 В таблице 41 подробно указаны форматы различных байтов параметра NextCalibrationDate.
(значение recordDataIdentifier # F922)
значение даты, равное 0, информации не содержит. Значения 1, 2, 3, и 4 используются для указания первого дня месяца; 5, 6, 7, и 8 - для указания второго дня месяца, и т.д. Данный параметр никак не влияет на параметр "часы" в таблице выше и не изменяет его.
значение года, равное 0, соответствует 1985 году; значение, равное 1, - 1986 году, и т.д.
CPR_078 В таблице 42 подробно указаны форматы различных байтов параметра VehicleRegistrationNumber.
(значение recordDataIdentifier # F97E)
ПЕРЕЧЕНЬ МИНИМАЛЬНЫХ ТРЕБУЕМЫХ ИСПЫТАНИЙ
Процедура официального утверждения типа регистрирующей аппаратуры (либо ее компонентов) или карточек тахографа состоит из следующих основных частей:
сертификация защиты, проводимая органом по общей оценке безопасности информационной технологии безопасности в целях подтверждения соответствия тому или иному из контрольных показателей защиты, которые должны полностью отвечать положениям подраздела X настоящего добавления;
- сертификация функциональности, проводимая органом Договаривающейся стороны в целях подтверждения того, что испытываемое изделие соответствует требованиям настоящего добавления по набору выполняемых функций, точности измерений и допустимым условиям эксплуатации;
- сертификация эксплуатационной совместимости, проводимая компетентным органом в целях подтверждения полной эксплуатационной совместимости контрольного устройства (или карточки тахографа) с необходимыми моделями карточек тахографа (или контрольных устройств) (см. главу VIII настоящего добавления).
В данном подразделе содержится перечень минимальных рабочих испытаний, которые должны быть проведены ответственным за это органом Договаривающейся стороны, а также испытаний на совместимость, которые должен провести соответствующий компетентный орган. Процедуры проведения этих испытаний и их виды дополнительно не конкретизируются.
Аспекты, связанные с сертификацией защиты, в настоящем подразделе не рассматриваются. Если какие-либо из испытаний, необходимых для официального утверждения типа, уже были проведены в процессе аттестации и сертификации систем защиты, то повторное их проведение не требуется. В таких случаях можно ограничиться проверкой результатов этих испытаний. Характеристики, которые должны испытываться при сертификации защиты (или которые тесно связаны с проводимыми при этом испытаниями) в справочных целях помечены в настоящем подразделе знаком "*".
Официальное утверждение типа датчика движения и бортового устройства рассматривается в настоящем подразделе отдельно, так как речь идет о разных компонентах контрольного устройства. Эксплуатационная совместимость каждой модели датчика движения с каждой моделью бортового устройства необязательна; поэтому тип датчика движения может быть утвержден только в сочетании с соответствующим типом бортового устройства, и наоборот.
При подготовке данного подраздела использовались следующие источники:
IEC 68-2-1 Испытания на воздействие внешних факторов. Часть 2: Испытания. Испытание A. Холод. 1990 год + Поправка 2, 1994 год.
IEC 68-2-2 Испытания на воздействие внешних факторов. Часть 2: Испытания. Испытание B. Сухое тепло. 1974 + Поправка 2, 1994 год.
IEC 68-2-6 Основные процедуры испытаний на воздействие внешних факторов. Методы испытаний. Испытание Fc и руководство. Вибрация (синусоидальная). Издание шестое, 1985 год.
IEC 68-2-14 Основные процедуры испытаний на воздействие внешних факторов. Методы испытаний. Испытание N. Колебания температуры. Изменение 1, 1986 год.
IEC 68-2-27 Основные процедуры испытаний на воздействие внешних факторов. Методы испытаний. Испытание Ea и руководство. Ударные воздействия. Издание третье, 1987 год.
IEC 68-2-30 Основные процедуры испытаний на воздействие внешних факторов. Методы испытаний. Испытание Db и руководство. Влажное тепло, циклический режим (12 + 12 - часовой цикл). Изменение 1, 1985 год.
IEC 68-2-35 Основные процедуры испытаний на воздействие внешних факторов. Методы испытаний. Испытание Fda. Широкополосная случайная вибрация. Высокая воспроизводимость. Изменение 1, 1983 год.
IEC 529 Степени защиты, обеспечиваемой корпусами изделий (код IP). Издание второе, 1989 год.
IEC 61000-4-2 Совместимость электромагнитная (ЕМС). Методы испытаний и измерений. Испытание на устойчивость к электростатическому разряду. 1995 год/Поправка 1, 1998 год.
ISO 7637-1 Транспорт дорожный. Электрические помехи, вызываемые проводимостью и взаимодействием. Часть 1. Легковые автомобили и автомобили малой грузоподъемности для коммерческих перевозок с номинальным напряжением электропитания 12 В. Распространение помех, вызываемых переходными процессами, только по линиям, обеспечивающим электропитание. Издание второе, 1990 год.
ISO 7637-2 Транспорт дорожный. Электрические помехи, вызываемые проводимостью и взаимодействием. Часть 2. Автомобили для коммерческих перевозок с номинальным напряжением электропитания 24 В. Распространение помех, вызываемых переходными процессами, только по линиям, обеспечивающим электропитание. Издание первое, 1990 год.
ISO 7637-3 Транспорт дорожный. Электрические помехи, вызываемые проводимостью и взаимодействием. Часть 3. Автомобили с номинальным напряжением электропитания 12 В или 24 В. Распространение помех, вызываемых переходными процессами, обусловленными емкостным или индуктивным соединением, по линиям, не обеспечивающим электропитание. Издание первое. 1995 год + Поправка 1, 1995 год.
ISO/IEC 7816-1 Информационные технологии. Карточки идентификационные. Карточки на интегральных схемах с контактами. Часть 1. Физические характеристики. Издание первое, 1998 год.
ISO/IEC 7816-2 Информационные технологии. Карточки идентификационные. Карточки на интегральных схемах с контактами. Часть 2. Размеры и расположение контактов. Издание первое, 1999 год.
ISO/IEC 7816-3 Информационные технологии. Карточки идентификационные. Карточки на интегральных схемах с контактами. Часть 3. Электронные сигналы и протоколы передачи. Издание второе, 1997 год.
ISO/IEC 10373 Карточки идентификационные. Методы испытаний. Издание первое, 1993 год.
В настоящем подразделе содержится минимальный перечень обязательных контрольных показателей защиты датчиков движения, бортовых устройств и карточек тахографа.
В целях выработки контрольных показателей защиты соответствующих изделий, на основании которых им могут присваиваться сертификаты защиты, изготовители этих изделий должны по мере необходимости уточнять и дополнять соответствующую документацию, не изменяя и не удаляя при этом существующих определений опасностей, а также целей, процедурных средств и защитных функций.
В настоящем документе приводится описание датчика движения с перечислением опасностей, которым он должен противостоять, и целей, на которые должна быть направлена его защита. В нем указаны необходимые для этого защитные функции, минимальный уровень заданной эффективности механизмов защиты и требуемая степень надежности при их разработке и аттестации.
Требования, о которых говорится в настоящем документе, сформулированы в основном тексте добавления 1B. В интересах ясности изложения некоторые контрольные показатели защиты дублируют положения основного текста добавления 1B. При отсутствии однозначного совпадения между каким-либо из контрольных показателей и соответствующим ему положением основного текста добавления 1B следует руководствоваться основным текстом добавления 1B.
Требования основного текста добавления 1B, для которых не определены контрольные показатели, защитными функциями не охватываются.
Определения опасностей, целей и процедурных средств, а также спецификации защитных функций снабжены индивидуальными индексами для более наглядной увязки с проектной и аттестационной документацией.
Датчик движения предназначен для установки на автотранспортных средствах. Он служит для получения и передачи на БУ криптозащищенных данных о движении, позволяющих определять скорость и пробег транспортного средства.
Датчик движения механически сопряжен с движущейся деталью транспортного средства, по движению которой может измеряться скорость транспортного средства или пройденное им расстояние. Он может располагаться в коробке передач или в любом другом месте на транспортном средстве.
В рабочем режиме датчик движения должен быть подключен к БУ.
В административных целях он также может подключаться к другому оборудованию (по усмотрению изготовителя).
Типичная схема датчика движения представлена ниже.
??????????????????????????????????????
? ?
???????????? ???????????????? ?
? ? ?Блок обработки? ???????? Данные ??????
Механическое?Информация? ? данных ? ? ?<?????????>? ?
сопряжение ?о движении????>? ?<????>?Разъем? о движении? БУ ?
? ? ? Элементы ? ? ?<???? ? ?
???????????? ? защиты ? ???????? ? ??????
? ???????????????? ? Питание
? ? ?
??????????????????????????????????????
Схема жизненного цикла датчика движения представлена ниже.
???????????????????????????????????????????????????????????????????????????
? ????????????????????? ?
? ?????????? Разработка/ ?????????????? ?
? \/ ? конструирование ? \/ ?
? ???????????????? ????????????????????? ????????????????? Стадия?
? ? Разработка ? ? ? Разработка и ? разработки?
? ? программного ? ? ?конструирование? ?
? ? обеспечения ? ? ? комплектующих ? ?
? ???????????????? ? ????????????????? ?
? ? . ? . ? . ??. ? . ? . ? . ? .?? . ? . ? . ? . ? . ? . ? . ? . ? . ? ?
? ? \/ \/ ?
? ? ????????????????????? ????????????????? ?
? ? ? Изготовление ? ? Изготовление ? ?
? ? ? ? ? комплектующих ? ?
? ? ????????????????????? ????????????????? ?
? ? \/ \/ ?
? ? ????????????????????? ????????????????? ?
? ???????>? Сборка ?<?? Поставка ? ?
? ? ? ? комплектующих ? ?
? ????????????????????? ????????????????? Процесс?
? \/ производства?
? ???????????????? ????????????????????? ?
? ? Генерация ???>? Ввод ? ?
? ?данных защиты ? ? данных защиты ? ?
? ???????????????? ????????????????????? ?
? \/ ?
? ????????????????????? ????????????????? ?
? ?Складское хранение ?<?? Ремонт ? ?
? ? Сбыт ? ? ? ?
? ????????????????????? ????????????????? ?
? ? . ? . ? . ? . ? . ? . ? . ? .?? . ? . ?. ? . ? . ?/\. ? . ? . ? . ? ?
? \/ ? ?
? ????????????????????? ? ?
? ?Складское хранение ?<?????????? ?
? ????????????????????? ? ?
? ? ? ?
? \/ ? Процесс?
? ????????????????????? ? установки?
? ? Установка ? ? и отладки?
? ????????????????????? ? ?
? \/ ? ?
? Присоединение ????????????????????? ???????????????? ?
?<????????????????????>? Проверка/ ?<?? Ремонт ??? ?
? к БУ ??????? Калибровка ? ? ? ? ?
? ? ???>????????????????????? ???????????????? ? ?
? ? . ? . ? . ? .???. ? . ? . ? .?? . ? . ? . ? . ? ./\ . ? . ??. ? ?
? ? ? \/ ? ? Процесс?
? ? ? ????????????????????? ? ? конечного?
? ? ????? Эксплуатация ??????????? ? исполь-?
? ? ????????????????????? ? зования?
? ? . ? . ? . ? .?? . ? . ? . ? .?? . ? . ? . ? . ? . ? . ? . ??. ? ?
? ? \/ ? ?
? ? ???????????????????????? ? ?
? ????>?Окончание срока службы?<????????????????? ?
? ???????????????????????? ?
???????????????????????????????????????????????????????????????????????????
Настоящий пункт содержит описание опасностей, которым может подвергаться датчик движения.
КОНТРОЛЯ ЗА ДОСТУПОМ
Основная цель защиты системы цифрового тахографа заключается в следующем:
Соответственно цель защиты датчика движения, способствующая достижению вышеупомянутой основной цели, заключается в следующем:
Конкретные цели защиты датчика движения в области ИТ, способствующие достижению главной цели защиты датчика, заключаются в следующем:
В данном пункте излагаются технические, организационные и процедурные требования, связанные с защитой датчика движения.
КОНТРОЛЬНОГО УСТРОЙСТВА
UIA_101 При каждом взаимодействии с другими устройствами датчик движения должен иметь возможность идентифицировать подключенное устройство.
- указания категории, к которой относится данное устройство, а именно:
- БУ;
- административные устройства;
- прочие устройства;
- собственного идентификатора устройства (только для БУ).
UIA_103 Идентификатор подключенного БУ состоит из номера официального утверждения данного образца БУ и серийного номера БУ.
UIA_104 Датчик движения должен иметь возможность аутентифицировать любое подключенное к нему БУ или административное устройство:
- при подключении устройства;
- при восстановлении подачи питания.
UIA_105 Датчик движения должен иметь возможность периодически производить повторную аутентификацию БУ, к которому он подключен.
UIA_106 Датчик движения должен выявлять и предотвращать использование скопированных и повторно воспроизводимых аутентификационных данных.
UIA_107 После регистрации (количество определяется изготовителем, но не должно превышать 20) неудачных попыток аутентификации подряд защитные функции должны обеспечивать:
- генерацию контрольной записи о событии;
- выдачу предупреждения на подключенное устройство;
- продолжение экспорта данных о движении в незащищенном режиме.
Средства контроля за доступом обеспечивают возможность считывания, ввода или изменения информации в АИ только для уполномоченных на то лиц.
ACC_102 Должна быть предусмотрена лишь однократная возможность сохранения идентификационных данных датчика движения (требование 078).
ACC_103 Датчик движения должен принимать и/или сохранять пользовательские данные только при их поступлении от аутентифицированных устройств.
ACC_104 Датчик движения должен обеспечивать соответствующий режим доступа к функциям считывания и сохранения данных защиты.
ACC_105 Структура файлов приложений и файлов данных и условия доступа к ним определяются в процессе изготовления и защищаются от любого последующего изменения или удаления.
ACT_101 В памяти датчика движения должны храниться идентификационные данные этого датчика (требование 077).
ACT_102 В памяти датчика движения должны храниться данные об установке (требование 099).
ACT_103 Должна быть предусмотрена возможность передачи учетных данных с датчика движения на аутентифицированные устройства по их запросу.
AUD_101 Датчик движения должен генерировать контрольные записи о событиях, способных нарушить его защиту.
- попытки преодоления защиты:
- отрицательный результат аутентификации;
- ошибка при проверке целостности сохраненных данных;
- ошибка при внутренней передаче данных;
- несанкционированное вскрытие корпуса;
- умышленная порча оборудования;
- отказ датчика.
- дата и время события;
- тип события;
- идентификационные данные подключенного устройства.
Если необходимые данные отсутствуют, должно использоваться соответствующее обозначение по умолчанию (определяется изготовителем).
AUD_104 Генерируемые датчиком движения контрольные записи передаются на БУ в момент их генерации и могут также сохраняться в памяти датчика.
AUD_105 Если контрольные записи сохраняются в памяти датчика движения, то должно быть обеспечено хранение 20 таких записей даже после того, как емкость выделенной для них памяти будет исчерпана, с возможностью выдачи сохраненных записей на аутентифицированные устройства по их запросу.
ACR_101 Датчик движения должен воспринимать и обрабатывать данные о движении, поступающие только через устройства его механического сопряжения с ходовой частью.
Требования настоящего пункта применяются лишь к датчикам движения, в которых используются физически разделенные компоненты.
ACR_102 Если между физически разделенными компонентами датчика движения передаются данные, то эти данные должны быть защищены от изменения.
ACR_103 При обнаружении ошибки передачи данных в процессе их внутренней передачи передача осуществляется повторно, а защитная функция (ЗФ) генерирует контрольную запись об этом событии.
ACR_104 Датчик движения должен проверять целостность хранящихся в его памяти пользовательских данных.
ACR_105 В случае ошибки при проверке неискаженности сохраненных пользовательских данных защитная функция генерирует надзорную запись.
RLB_101 Все команды, функции и контакты, предназначенные исключительно для тестирования датчика на стадии производства, перед выпуском готового изделия блокируются или удаляются. Возможность их восстановления для последующего использования должна быть исключена.
RLB_102 При включении, а также в процессе работы в обычном режиме датчик движения должен производить самопроверку для подтверждения того, что он функционирует нормально. При самопроверке датчика движения проверяются целостность данных защиты и хранящихся в памяти исполнимых команд (если они не сохранены в ROM).
RLB_103 В случае обнаружения внутренних неполадок в процессе самопроверки система защиты генерирует отчетную запись (сбой в работе датчика).
RLB_104 Возможность анализа или отладки программного обеспечения датчика движения в полевых условиях должна быть исключена.
RLB_105 Данные, поступающие из внешних источников, не должны восприниматься в качестве исполнимых команд.
RLB_106 Если конструкция датчика движения допускает вскрытие его корпуса, то датчик должен быть способен регистрировать любое такое вскрытие и сохранять эту способность даже при отключении от внешнего источника питания в течение как минимум шести месяцев. При этом ЗФ генерирует отчетную запись о данном событии (допускается возможность генерации и сохранения такой записи после возобновления питания).
Если конструкция датчика движения не предусматривает вскрытия корпуса, то она должна обеспечивать легкое обнаружение следов физического воздействия (например, при внешнем осмотре).
RLB_107 Датчик движения должен быть способен регистрировать конкретные (определяемые заводом-изготовителем) виды умышленной порчи оборудования.
RLB_108 В вышеупомянутых случаях ЗФ должна генерировать контрольную запись, а датчик движения должен: (определяется заводом-изготовителем).
RLB_109 Защита датчика движения не должна нарушаться при отключении от источника питания или при изменениях параметров тока в цепи питания.
RLB_110 В случае прекращения питания, при досрочном прерывании текущей операции или при наступлении любых других условий, требующих перезапуска, датчик движения полностью перезапускается.
RLB_111 Датчик движения должен предоставлять доступ к имеющимся ресурсам данных по мере необходимости, обеспечивать отсутствие неоправданных обращений к ресурсам и удалять ненужные данные.
RLB_112 Если датчик движения используется для других целей, помимо обеспечения работы тахографа, то все соответствующие приложения должны быть физически и/или логически отделены друг от друга. Данные защиты не должны быть общими для этих приложений. Одновременное выполнение более чем одной функции не допускается.
DEX_101 Датчик движения выдает данные о движении транспортного средства на БУ с соответствующими атрибутами защиты, позволяющими БУ проверять их целостность и подлинность.
Требования данного пункта применяются лишь в необходимых случаях в зависимости от используемых механизмов защиты и примененных заводом-изготовителем технических решений.
CSP_101 Любые криптографические операции, выполняемые датчиком движения, должны соответствовать заданному алгоритму при заданном размере ключа.
CSP_102 Если датчик движения генерирует криптографические ключи, то это должно делаться в соответствии с заданными алгоритмами генерации криптографических ключей при заданных размерах таких ключей.
CSP_103 Если датчик движения рассылает криптографические ключи, то это должно делаться в соответствии с установленными методами рассылки криптографических ключей.
CSP_104 Если датчик движения получает доступ к криптографическим ключам, то это должно соответствовать установленному порядку доступа к криптографическим ключам.
CSP_105 Если датчик движения уничтожает криптографические ключи, то это должно делаться в соответствии с установленными методами уничтожения криптографических ключей.
Механизмы защиты, обеспечивающие выполнение защитных функций датчика движения, определяются заводами-изготовителями датчиков движения.
Минимальная эффективность механизмов защиты датчика движения должна соответствовать Высокому уровню согласно определению, содержащемуся в [ITSEC].
Степень надежности защиты датчика движения по системе ITSEC должна соответствовать уровню E3 (согласно определению, содержащемуся в [ITSEC]).
В нижеследующей таблице приводится обоснование ЗФ с указанием:
- опасностей, для защиты от которых предназначены соответствующие ЗФ;
- связанных с информационными технологиями целей защиты, достижению которых способствуют соответствующие ЗФ.
В настоящем документе приводится описание бортового устройства с перечислением опасностей, которым оно должно противостоять, и целей, на которые должна быть направлена его защита. В нем указаны необходимые в этой связи защитные функции, минимальный уровень заявленной эффективности механизмов защиты и требуемая степень надежности при их разработке и аттестации.
Требования, о которых говорится в настоящем документе, сформулированы в основном тексте добавления 1B. В интересах ясности изложения некоторые контрольные показатели защиты дублируют положения основного текста добавления 1B. При отсутствии однозначного совпадения между каким-либо из контрольных показателей и соответствующим ему положением основного текста добавления 1B следует руководствоваться основным текстом добавления 1B.
Требования основного текста добавления 1B, для которых не определены контрольные показатели, защитными функциями не охватываются.
Определения опасностей, целей и процедурных средств, а также спецификации защитных функций снабжены индивидуальными индексами для более наглядной увязки с проектной и аттестационной документацией.
АИ Аттестуемое изделие
БУ Бортовое устройство
ЗФ Защитная функция
PIN Персональный идентификационный номер
ROM Постоянная память (доступная только для чтения)
ITSEC Критерии оценки безопасности информационной технологии ITSEC, 1991 год.
БУ предназначено для установки на автотранспортных средствах. Оно служит для регистрации, хранения, отображения, распечатки и выдачи на внешние устройства данных о деятельности водителей.
БУ соединено с датчиком движения, с которым оно обменивается данными о движении транспортного средства.
При взаимодействии с БУ пользователи идентифицируют себя с помощью карточек тахографа.
БУ регистрирует и сохраняет в своей памяти данные о деятельности пользователей; кроме того, данные о деятельности пользователей сохраняются им на карточках тахографа.
БУ способно отображать данные на дисплее, распечатывать их и передавать их на внешние устройства.
Операционная среда, в которой функционирует бортовое устройство, установленное на транспортном средстве, схематически показана на рисунке ниже.
![]()
Общие характеристики БУ, описание его функций и режимов работы приводятся в главе II добавления 1B.
Конкретные требования к конструкции БУ изложены в главе III добавления 1B.
Типовая схема БУ представлена ниже.
![]()
Следует иметь в виду, что хотя печатающее устройство является частью АИ, распечатанные им документы в состав АИ не входят.
Типовая схема жизненного цикла БУ представлена ниже.
???????????????????????????????????????????????????????????????????????????
? ?
? ????????????????????? ?
? ???????????? Разработка/ ???????????? ?
? \/ ? конструирование ? \/ Стадия?
? ???????????????? ????????????????????? ????????????????? разработки?
? ? Разработка ? ? ? Разработка и ? ?
? ? программного ? ? ?конструирование? ?
? ? обеспечения ? ? ? комплектующих ? ?
? ???????????????? ? ????????????????? ?
? ? . ? . ? ? ? . ? . ? . ? . ? .?? . ? . ? . ? . ? . ? . ? . ? . ? . ? ?
? ? \/ \/ ?
? ? ????????????????????? ????????????????? ?
? ? ? Изготовление ? ? Изготовление ? ?
? ? ? ? ? комплектующих ? ?
? ? ????????????????????? ????????????????? ?
? ? \/ \/ ?
? ? ????????????????????? ????????????????? ?
? ??????????>? Сборка ?<?? Поставка ? ?
? ? ? ? комплектующих ? ?
? ????????????????????? ????????????????? Процесс?
? \/ производства?
? ???????????????? ????????????????????? ?
? ? Генерация ???>? Ввод ? ?
? ?данных защиты ? ? данных защиты ? ?
? ???????????????? ????????????????????? ?
? \/ ?
? ????????????????????? ????????????????? ?
? ? Складское хранение?<?? Ремонт ? ?
? ? Сбыт ? ? ? ?
? ????????????????????? ????????????????? ?
? ? . ? . ? . ? . ? . ? . ? . ? .?? . ? . ? . ? . ? . /\. ? . ? . ? . ? ?
? \/ ? ?
? ????????????????????? ? ?
? ? Складское хранение?<?????????? ?
? ????????????????????? ? ?
? \/ ? ?
? Новое ????????????????????? ? ?
? ?? изделие ?? Установка ? ? ?
? \/ ????????????????????? ? ?
? ??????????????? Изделие б/у ? Процесс?
? ??>? Активация ? \/ ? установки?
? ? ??????????????? ????????????????????? ???????????????? и отладки?
? Подсоединение ?????>? Калибровка ?<?? Ремонт ??? ?
?<?? датчика ???????>? ? ? ? ? ?
? ?????????>????????????????????? ???????????????? ? ?
? ??????????????? ? /\ ? ?
? ????Периодический? ? ? ? ?
? ? ? осмотр ? ? ? ? ?
? ? ??????????????? ? ? ? ?
? ? /\ ? ? ? ?
? ??. ? . ? ? ? . ? . ? . ? . ? .?? . ? . ? . ? . ? . ? . ? . ??. ? ?
? ? ? \/ ? ? Процесс?
? ? ? ????????????????????? ? ? конечного?
? ? ???????????? Эксплуатация ???????????? ? исполь-?
? ? ????????????????????? ? зования?
? ??. ? . ? . ? . ? . ? . ? . ? .?? . ? . ? . ? . ? . ? . ? . ??. ? ?
? ? \/ ? ?
? ? ???????????????????????? ? ?
? ??????????????????>?Окончание срока службы?<????????????????? ?
? ???????????????????????? ?
???????????????????????????????????????????????????????????????????????????
Настоящий пункт содержит описание угроз, которым может подвергаться БУ.
ДАННЫМИ И РЕЖИМОМ КОНТРОЛЯ ЗА ДОСТУПОМ
Основная цель защиты системы цифрового тахографа заключается в следующем:
Соответственно, цели защиты БУ, способствующие достижению вышеупомянутой основной цели, заключаются в следующем:
Конкретные цели защиты БУ в области ИТ, способствующие достижению главной цели защиты БУ, заключаются в следующем:
В данном пункте излагаются технические, организационные и процедурные требования, связанные с защитой БУ.
КОНТРОЛЬНОГО УСТРОЙСТВА
UIA_201 При каждом взаимодействии с датчиком движения БУ должно иметь возможность идентифицировать датчик, к которому оно подключено.
UIA_202 Идентификационные данные датчика движения состоят из номера официального утверждения прототипа датчика и серийного номера датчика.
- при подключении датчика движения;
- при каждой калибровке контрольного устройства;
- при восстановлении подачи питания после перерыва.
Процесс аутентификации является двусторонним и инициируется бортовым устройством.
UIA_204 БУ должно периодически (периодичность определяется изготовителем, но должна составлять более одного раза в час) производить повторную идентификацию и повторную аутентификацию подключенного к нему датчика движения и подтверждать, что датчик движения, идентифицированный при последней калибровке контрольного устройства, не был заменен другим.
UIA_205 БУ должно выявлять и предотвращать использование скопированных и повторно воспроизводимых аутентификационных данных.
UIA_206 После регистрации (количество определяется изготовителем, но не должно превышать 20) неудачных попыток аутентификации подряд и/или после обнаружения несанкционированной (т.е. произведенной не в процессе калибровки контрольного устройства) замены датчика движения защитная функция должны обеспечивать:
- генерацию контрольный записи о событии;
- выдачу предупреждения пользователю;
- дальнейший прием и использование данных о движении, передаваемых датчиком движения, в незащищенном режиме.
UIA_207 БУ на постоянной основе избирательно отслеживает идентификационные данные двух пользователей по информации, считываемой с карточек тахографа, которые вводятся в считывающие устройства для карточек водителя и второго водителя.
- указания категории пользователя:
- ВОДИТЕЛЬ (карточка водителя),
- КОНТРОЛЕР (карточка контролера),
- МАСТЕРСКАЯ (карточка мастерской),
- ПРЕДПРИЯТИЕ (карточка предприятия),
- НЕТ ДАННЫХ (карточка не введена),
- идентификатора пользователя, который включает:
- код выдавшей карточку Договаривающейся стороны и номер карточки;
- параметр UNKNOWN, если НЕТ ДАННЫХ о том, к какой категории принадлежит пользователь.
Пользователи, идентификатор которых содержит параметр UNKNOWN, могут быть опознаваемыми непосредственно или по косвенным признакам.
- при возобновлении подачи питания;
- на периодической основе или после конкретных событий (периодичность определяется изготовителем, но должна составлять более одного раза в сутки).
UIA_211 Аутентификация производится путем подтверждения того, что введенная в устройство карточка является действительной карточкой тахографа и содержит данные защиты, которые могли быть получены только из системы. Процесс аутентификации является двусторонним и инициируется бортовым устройством.
UIA_212 В дополнение к вышеизложенному обязательным требованием является положительная аутентификация мастерских с помощью PIN-кода. PIN-код должен состоять не менее чем из 4 знаков.
Примечание. Если PIN-код передается на БУ с внешней аппаратуры, расположенной вблизи от БУ, то меры по защите конфиденциальности PIN-кода при передаче не требуются.
UIA_213 БУ должно выявлять и предотвращать использование скопированных и повторно воспроизводимых аутентификационных данных.
UIA_214 После регистрации 5 неудачных попыток аутентификации подряд защитная функция должна обеспечивать:
- генерацию контрольной записи о событии;
- выдачу предупреждения пользователю;
- отнесение пользователя к категории НЕТ ДАННЫХ и признание карточки недействительной (определение "z" и требование 007).
ПРИ ДИСТАНЦИОННОМ ПОДКЛЮЧЕНИИ
Возможность дистанционного подключения предприятия не обязательна. Поэтому настоящий пункт применяется лишь в тех случаях, когда эта функция реализована.
UIA_215 При каждом взаимодействии с дистанционно подключенным предприятием БУ должно иметь возможность идентифицировать это предприятие.
UIA_216 Идентификационные данные предприятия, использующего дистанционное подключение, состоят из кода Договаривающейся стороны, которая выдала карточку предприятия, и номера карточки предприятия.
UIA_217 Экспорту каких-либо данных БУ в адрес дистанционно подключенного предприятия должна предшествовать положительная аутентификация этого предприятия бортовым устройством.
UIA_218 Аутентификация производится путем подтверждения того, что у предприятия имеется действительная карточка предприятия, содержащая данные защиты, которые могли быть получены только из системы.
UIA_219 БУ должно выявлять и предотвращать использование скопированных и повторно воспроизводимых аутентификационных данных.
- выдачу предупреждения дистанционно подключенному предприятию.
АДМИНИСТРАТИВНЫХ УСТРОЙСТВ
Изготовителями БУ могут быть предусмотрены специальные устройства для выполнения дополнительных административных функций, связанных с БУ (таких, как установка обновлений программного обеспечения, перезагрузка данных защиты и т.п.). Настоящий пункт применяется лишь при наличии подобных устройств.
UIA_221 При каждом взаимодействии с административным устройством БУ должно иметь возможность идентифицировать это устройство.
UIA_222 Любому дальнейшему взаимодействию должна предшествовать успешная аутентификация административного устройства бортовым устройством.
UIA_223 БУ должно выявлять и предотвращать использование скопированных и повторно воспроизводимых аутентификационных данных.
Средства контроля за доступом обеспечивают, чтобы возможность считывать, вводить или изменять информацию в АИ имели только санкционированные лица.
Следует иметь в виду, что хотя регистрируемые БУ пользовательские данные могут рассматриваться как чувствительные с точки зрения защиты личных данных или коммерческой тайны, конфиденциального характера они не носят. Поэтому функциональное требование, касающееся прав доступа к считке этих данных (требование 011), не обеспечивается соответствующей защитной функцией.
ACC_203 В рамках соответствующих режимов работы БУ обеспечивает соблюдение правил контроля за доступом к функциям (требование 010).
ACC_204 БУ обеспечивает соблюдение правил доступа к функции сохранения идентификационных данных БУ (требование 076).
ACC_205 БУ обеспечивает соблюдение правил доступа к функции сохранения идентификационных данных подсоединенного к нему датчика движения (требования 079 и 155).
ACC_206 После активации БУ бортовое устройство обеспечивает, чтобы калибровочные данные могли вводиться в БУ и сохраняться в его памяти только тогда, когда устройство находится в режиме калибровки (требования 154 и 156).
ACC_207 После активации БУ бортовое устройство обеспечивает соблюдение правил доступа к функции сохранения и удаления калибровочных данных (требование 097).
ACC_208 После активации БУ бортовое устройство обеспечивает, чтобы данные корректировки времени могли вводиться в БУ и сохраняться в его памяти только тогда, когда устройство находится в режиме калибровки (данное требование не распространяется на незначительные корректировки времени, допустимые согласно требованиям 157 и 158).
ACC_209 После активации БУ бортовое устройство обеспечивает соблюдение правил доступа к функции сохранения и удаления данных корректировки времени (требование 100).
ACC_210 БУ должно обеспечивать соответствующий режим доступа к функциям считывания и сохранения данных защиты (требование 080).
ACC_211 Структура файлов приложений и файлов данных и условия доступа к ним определяются в процессе изготовления и защищаются от любого последующего изменения или удаления.
ACT_201 БУ должно обеспечивать отчетность водителей о своей деятельности (требования 081, 084, 087, 105a, 105b, 109 и 109a).
ACT_202 В БУ должны храниться неизменяемые идентификационные данные (требование 075).
ACT_203 БУ должно обеспечивать отчетность мастерских о своей деятельности (требования 098, 101 и 109).
ACT_204 БУ должно обеспечивать отчетность контролеров о своей деятельности (требования 102, 103 и 109).
ACT_205 БУ должно регистрировать данные счетчика пробега (требование 090) и подробные данные о скоростном режиме (требование 093).
ACT_206 БУ должно обеспечивать, чтобы пользовательские данные, имеющие отношение к требованиям 081 - 093 и 102 - 105b включительно, не изменялись после их сохранения, за исключением случаев, когда они становятся наиболее старыми из хранящихся в памяти данных и подлежат замене новыми данными.
ACT_207 БУ должно обеспечивать, чтобы данные, уже сохраненные на карточке тахографа, не изменялись бортовым устройством (требования 109 и 109a), за исключением случаев замены наиболее старых данных новыми данными (требование 110) и случая, о котором говорится в примечании к пункту 2.1 подраздела I.
Контрольные функции необходимы только в связи с событиями, которые могут указывать на попытки вмешательства в работу устройства или нарушения его защиты. При обычном осуществлении пользовательских прав, даже имеющих отношение к защите, эти функции не требуются.
AUD_201 События, затрагивающие защиту БУ, регистрируются БУ вместе с соответствующими данными (требования 094, 096 и 109).
- попытки нарушения защиты:
- отрицательный результат аутентификации датчика движения;
- отрицательный результат аутентификации карточки тахографа;
- несанкционированная замена датчика движения;
- ошибка при проверке целостности данных, введенных с карточки;
- ошибка при проверке целостности сохраненных пользовательских
данных;
- ошибка внутренней передачи данных;
- несанкционированное вскрытие корпуса;
- умышленная порча оборудования;
- ошибка в данных о движении;
- перерыв в подаче питания;
- внутренние неполадки в БУ.
AUD_203 В БУ обеспечивается соответствующий режим хранения контрольных записей (требования 094 и 096).
AUD_205 Должна быть предусмотрена возможность вывода контрольных записей на дисплей, их распечатки и загрузки на внешние устройства.
REU_201 БУ обеспечивает возможность повторного использования временно сохраненных объектов без недопустимой дополнительной передачи информации.
ACR_201 БУ должно обеспечивать, чтобы пользовательские данные, имеющие отношение к требованиям 081, 084, 087, 090, 093, 102, 104, 105, 105a и 109, принимались к обработке лишь при условии их поступления из следующих источников:
- данные о движении транспортного средства;
- часы реального времени, встроенные в БУ;
- параметры калибровки контрольного устройства;
- карточки тахографа;
- ввод данных пользователем.
ACR_201a БУ должно обеспечивать возможность ввода пользовательских данных, имеющих отношение к требованию 109a, только за период с момента последнего извлечения карточки до ввода карточки, находящейся в устройстве на данный момент (требование 050a).
Требования настоящего пункта применяются лишь к тем БУ, в которых используются физически разделенные компоненты.
ACR_202 Если между физически разделенными компонентами БУ передаются данные, то эти данные должны быть защищены от изменения.
ACR_203 При обнаружении ошибки передачи данных в процессе их внутренней передачи передача осуществляется повторно, а ЗФ генерирует контрольную запись об этом событии.
ACR_205 В случае ошибки при проверке целостности сохраненных пользовательских данных ЗФ генерирует контрольную запись.
RLB_201 Все команды, функции и контакты, предназначенные исключительно для тестирования БУ на стадии производства, перед активацией БУ блокируются или удаляются. Возможность их восстановления для последующего использования должна быть исключена.
RLB_202 При включении, а также в процессе работы в обычном режиме БУ должно производить самопроверку для подтверждения того, что оно функционирует нормально. При самопроверке БУ проверяется целостность данных защиты и хранящихся в памяти исполнимых команд (если они не сохранены в ROM).
- генерацию отчетной записи (если устройство не находится в режиме калибровки) (внутренние неполадки в БУ);
- целостность сохраненных данных.
RBL_204 Возможность анализа или отладки программного обеспечения активированного БУ в полевых условиях должна быть исключена.
RLB_205 Данные, поступающие из внешних источников, не должны восприниматься в качестве исполнимых команд.
RLB_206 Если конструкция БУ допускает вскрытие его корпуса, то БУ, когда оно не находится в режиме калибровки, должно регистрировать любое такое вскрытие и сохранять эту способность даже при отключении от внешнего источника питания в течение как минимум шести месяцев. При этом ЗФ генерирует отчетную запись (допускается возможность генерации и сохранения такой записи после возобновления питания).
Если конструкция БУ не предусматривает вскрытия корпуса, то она должна обеспечивать легкое обнаружение следов физического воздействия (например, при внешнем осмотре).
RLB_207 После активации БУ должно производить тестирование с целью выявления конкретных видов умышленной порчи оборудования (определяются изготовителем).
RLB_208 В случае обнаружения такой порчи оборудования ЗФ генерируют надзорную запись, а БУ (определяется изготовителем).
RLB_209 БУ должно регистрировать отклонения от номинальных параметров тока в цепи питания, в том числе отключения от источника питания.
- генерацию надзорной записи (если устройство не находится в режиме калибровки);
- сохранение защищенности БУ;
- сохранение функций защиты не отключенных компонентов и процессов;
- целостность сохраненных данных.
RLB_211 При перерыве в подаче питания, при досрочном прерывании текущей операции или при наступлении любых других условий, требующих перезапуска, БУ полностью перезапускается.
RLB_212 БУ должно предоставлять доступ к имеющимся ресурсам данных по мере необходимости, обеспечивать отсутствие неоправданных обращений к ресурсам и предусматривать стирание ненужных данных.
RLB_213 БУ должно обеспечивать невозможность извлечения карточек до сохранения на них соответствующих данных (требования 015 и 016).
RLB_215 Если БУ используется для других целей, помимо функции тахографа, то все соответствующие приложения должны быть физически и/или логически отделены друг от друга. Данные защиты не должны быть общими для этих приложений. Одновременное выполнение более чем одной функции не допускается.
В настоящем пункте рассматривается обмен данными между БУ и подключенными к нему устройствами.
DEX_201 БУ должно проверять целостность и подлинность данных о движении, импортируемых с датчика движения.
DEX_202 В случае обнаружения ошибки при проверке целостности или подлинности данных о движении ЗФ обеспечивает:
- генерацию контрольной записи;
- дальнейшее использование импортируемых данных.
DEX_204 В случае обнаружения ошибки при проверке целостности или подлинности данных, поступающих с карточки, БУ:
- генерирует контрольную запись;
- не использует поступившие данные.
DEX_205 БУ экспортирует данные на микропроцессорные карточки тахографа с соответствующими атрибутами защиты, позволяющими карточке проверять их целостность и подлинность.
(ФУНКЦИЯ ЗАГРУЗКИ ДАННЫХ)
DEX_206 БУ генерирует информацию, подтверждающую происхождение данных, загружаемых на внешний носитель.
DEX_207 БУ обеспечивает возможность проверки получателем информации, подтверждающей происхождение загруженных данных.
DEX_208 БУ загружает данные на внешний носитель с соответствующими атрибутами защиты, позволяющими проверять целостность и подлинность загруженных данных.
Требования данного пункта применяются лишь в необходимых случаях, в зависимости от используемых механизмов защиты и примененных изготовителем технических решений.
CSP_201 Любые криптографические операции, выполняемые БУ, должны соответствовать заданному алгоритму при заданном размере ключа.
CSP_202 Если БУ генерирует криптографические ключи, то это должно делаться в соответствии с заданными алгоритмами генерации криптографических ключей при заданных размерах таких ключей.
CSP_203 Если БУ рассылает криптографические ключи, то это должно делаться в соответствии с установленными методами рассылки ключей.
CSP_204 Если БУ получает доступ к криптографическим ключам, то это должно соответствовать установленному порядку доступа к криптографическим ключам.
CSP_205 Если БУ уничтожает криптографические ключи, то это должно делаться в соответствии с установленными методами уничтожения криптографических ключей.
Обязательные механизмы защиты указаны в подразделе XI.
Все остальные механизмы защиты определяются изготовителями по их усмотрению.
Минимальная эффективность механизмов защиты бортового устройства должна соответствовать "высокому" уровню согласно определению, содержащемуся в [ITSEC].
Степень надежности защиты бортового устройства по системе ITSEC должна соответствовать уровню E3 (согласно определению, содержащемуся в [ITSEC]).
В нижеследующей таблице приводится обоснование ЗФ с указанием:
- опасностей, для защиты от которых предназначены соответствующие ЗФ;
- связанных с информационными технологиями целей защиты, достижению которых способствуют соответствующие ЗФ.
В настоящем документе приводится описание карточки тахографа с перечислением опасностей, которым она должна противостоять, и целей, на которые должна быть направлена ее защита. В нем указаны необходимые для этого защитные функции, минимальный уровень заданной эффективности механизмов защиты и требуемая степень надежности при их разработке и аттестации.
Требования, о которых говорится в настоящем документе, сформулированы в основном тексте добавления 1B. В интересах ясности изложения некоторые контрольные показатели защиты дублируют положения основного текста добавления 1B. При отсутствии однозначного совпадения между каким-либо из контрольных показателей и соответствующим ему положением основного текста добавления 1B следует руководствоваться основным текстом добавления 1B.
Требования основного текста добавления 1B, для которых не определены контрольные показатели, защитными функциями не охватываются.
Карточка тахографа представляет собой стандартную карточку со встроенной микросхемой, в которую введена специализированная прикладная программа тахографа, отвечающую современным требованиям в отношении функциональных возможностей и защиты микропроцессорных карточек. Соответственно, изложенные здесь контрольные показатели защиты касаются только дополнительных потребностей в защите, непосредственно связанных с функциями тахографа.
Определения опасностей, целей и процедурных средств, а также спецификации защитных функций снабжены индивидуальными индексами для более наглядной увязки с проектной и аттестационной документацией.
Карточка тахографа представляет собой карточку со встроенной микросхемой, соответствующую описанию, которое приводится в источниках [IC PP] и [ES PP], и несущую в себе прикладную программу для использования этой карточки совместно с контрольным устройством.
Основными функциями карточки тахографа являются:
- хранение идентификационных данных карточки и ее держателя. Эти данные используются бортовым устройством для идентификации держателя карточки, предоставления полагающегося ему доступа к функциям и данным и обеспечения отчетности держателя карточки о своих действиях;
- хранения данных о деятельности держателя карточки, данных о событиях и неисправностях и данных о контрольных мероприятиях, имеющих отношение к держателя карточки.
Таким образом, карточка тахографа предназначена для взаимодействия с бортовым устройством через его интерфейс для считки карточек. Она также может использоваться посредством любого считывающего устройства карт (например, подключенного к персональному компьютеру), через который можно получить полный доступ к любым пользовательским данным для их чтения.
На стадии конечного использования карточки тахографа (7-й этап "жизненного цикла", описание которого содержится в [ES PP]), бортовые устройства могут осуществлять только запись на нее пользовательских данных.
Требования к функциональным возможностям карточки тахографа изложены в основном тексте добавления 1B и в подразделе II.
Жизненный цикл карточек тахографа соответствует жизненному циклу карточек со встроенной микросхемой, описание которого приводится в [ES PP].
Помимо перечисленных в [ES PP] и [IC PP] общих опасностей, актуальных для всех карточек со встроенной микросхемой, карточки тахографа могут подвергаться следующим опасностям:
Конечной целью попыток преодоления защиты является изменение хранящихся в АИ пользовательских данных.
Для преодоления защиты АИ могут использоваться следующие методы:
- несанкционированное получение сведений об устройстве аппаратной части и программного обеспечения АИ, и в первую очередь о его защитных функциях или данных защиты. Такие сведения могут быть получены в результате незаконного завладения материалами разработчика или изготовителя (путем хищения, подкупа и т.д.) или в результате непосредственного изучения АИ (физическое исследование, дедуктивный анализ и т.д.);
- использование слабых мест конструкции или технического исполнения АИ (инженерных просчетов, ошибок программного обеспечения, сбоев при передаче данных, отклонений в работе АИ, спровоцированных экстремальным воздействием внешних факторов, недостатков защитных функций - таких, как процедуры аутентификации, контроль за доступом к данным, криптографическая защита и т.д.).
- воздействие на АИ или его защитные функции с помощью физических, электрических или логических средств по отдельности или в сочетании друг с другом.
Основная цель защиты всей системы цифрового тахографа заключается в следующем:
Соответственно, основные цели защиты АИ, способствующие достижению вышеупомянутой основной цели, заключаются в следующем:
Помимо перечисленных в [ES PP] и [IC PP] целей защиты, являющихся общими для всех карточек со встроенной микросхемой, реализации основных целей защиты АИ на стадии его конечного использования способствует достижение следующих специфических целей, связанных с информационными технологиями:
Технические, организационные и процедурные требования, направленные на защиту АИ, перечислены в [ES PP] и [IC PP] (разделы о целях защиты, связанных с операционной средой).
В данном пункте конкретизируются некоторые из допустимых операций, такие как постановка функциональных задач или выбор [ES PP], и излагаются дополнительные функциональные требования к ЗФ.
CPP_301 АИ должно соответствовать [IC PP].
CPP_302 АИ должно соответствовать [ES PP], с учетом дальнейших уточнений.
Карточка должна идентифицировать устройство, в которое она введена, и распознавать, является ли это устройство аутентифицированным бортовым устройством. Допускается экспорт любых пользовательских данных с карточки на любое считывающее устройство; исключение составляют карточки контролера и карточки предприятия, идентификационные данные держателей которых могут экспортироваться только на аутентифицированные бортовые устройства (соответственно, появление имени контролера на дисплее или в распечатке служит доказательством того, что бортовое устройство не фальсифицировано).
Функциональная задача (FIA_UID.1.1) Перечень действий со стороны ЗФАИ: не требуются.
Функциональная задача (FIA_ATD.1.1) Перечень атрибутов защиты:
Функциональная задача (FIA_UAU.1.1) Перечень действий со стороны ЗФАИ:
- карточка водителя и карточка мастерской: экспорт пользовательских данных с атрибутами защиты (функция загрузки данных с карточки);
- карточка контролера: экспорт пользовательских данных без атрибутов защиты помимо идентификационных данных держателя карточки.
UIA_301 Аутентификация бортового устройства осуществляется путем подтверждения наличия в нем данных защиты, которые могут быть получены только из системы.
Выбор (FIA_UAU.3.1 и FIA_UAU.3.2): блокировать.
Функциональная задача (FIA_UAU.4.1) Заданный(е) механизм(ы) аутентификации: любой механизм аутентификации.
UIA_302 Для карточки мастерской предусмотрен дополнительный механизм аутентификации, заключающийся в проверке PIN-кода (этот механизм предназначается для подтверждения бортовым устройством данных о личности держателя карточки, а не для защиты содержания карточки мастерской).
Ниже представлены функциональные задачи, определяющие реакцию карточки в каждом конкретном случае, когда аутентификация пользователя дает отрицательный результат.
Функциональная задача (FIA_AFL.1.1) Номер: 1, перечень событий в процессе аутентификации: аутентификация устройства считывания карточек.
Функциональная задача (FIA_AFL.1.2) Перечень действий:
- выдача предупреждения на подключенное устройство;
- занесение пользователя в категорию НЕ_БОРТОВОЕ_УСТРОЙСТВО.
Ниже представлены также функциональные задачи, определяющие реакцию карточки в случае, когда аутентификация посредством дополнительного механизма согласно UIA_302 дает отрицательный результат.
Функциональная задача (FIA_AFL.1.1) Номер: 5, перечень событий в процессе аутентификации: проверка PIN (карточка мастерской).
Функциональная задача (FIA_AFL.1.2) Перечень действий:
- выдача предупреждения на подключенное устройство;
- блокировка процедуры проверки PIN-кода таким образом, чтобы любой введенный после этого PIN-код отклонялся;
- возможность информирования последующих пользователей о причинах блокировки.
На стадии конечного использования карточки тахографа для нее предусмотрен единственный защитный режим контроля за доступом (SFP), обозначаемый как AC_SFP.
Функциональная задача (FDP_ACC.2.1) Контроль за доступом SFP: AC_SFP.
Функциональная задача (FDP_ACF.1.1) Контроль за доступом SFP: AC_SFP.
Функциональная задача (FDP_ACF.1.1) Заданная группа атрибутов защиты: КАТЕГОРИЯ_ПОЛЬЗОВАТЕЛЕЙ.
Функциональная задача (FDP_ACF.1.2) Правила, регулирующие доступ контролируемых субъектов к контролируемым объектам посредством контролируемых операций с контролируемыми объектами:
ACT_302 Должны быть указаны время и дата персонализации АИ. Возможность изменения этих данных должна быть исключена.
АИ должно отслеживать события, свидетельствующие о потенциальном нарушении его защиты.
Функциональная задача (FAU_SAA.1.2) Подмножество типовых событий, регистрируемых в надзорных целях:
- отрицательный результат аутентификации держателя карточки (5 неправильных вводов PIN-кода подряд);
- ошибка самопроверки;
- ошибка при проверке целостности сохраненных данных;
- ошибка при проверке целостности вводимых данных о деятельности.
Функциональная задача (FDP_SDI.2.2) Необходимые действия: выдача предупреждения на подключенное устройство,
Функциональная задача (FDP_DAU.1.1) Перечень объектов или типов информации: данные о деятельности.
Функциональная задача (FDP_DAU.1.2) Перечень субъектов: любые.
Выбор (FPT_TST.1.1): при включении, периодически в обычном режиме работы.
Примечание. "При включении" означает до исполнения команды (но не обязательно в ходе процедуры ответа на сигнал перезапуска).
RLB_301 Процедура самопроверки АИ включает проверку целостности любого программного обеспечения кроме хранящегося в ROM.
RLB_302 При обнаружении ошибки во время самопроверки ЗФАИ выдает предупреждение на подключенное устройство.
RLB_303 По окончании тестирования ОС все команды и функции, специально предназначенные для тестирования, блокируются или удаляются. Возможность снятия блокировки и повторного использования этих функций должна быть исключена. Команды, рассчитанные на использование в пределах какой-либо одной стадии жизненного цикла, должны быть полностью недоступными на других стадиях.
RLB_304 Возможность анализа, отладки или изменения программного обеспечения АИ в полевых условиях должна быть исключена.
RLB_305 Данные, поступающие из внешних источников, не должны восприниматься в качестве исполнимых команд.
RLB_306 Защита АИ не должна нарушаться при отключении от источника питания или при изменениях параметров тока в цепи питания.
RLB_307 При отключении питания (или при изменениях параметров тока в цепи питания) АИ, при досрочном прерывании текущей операции или при наступлении любых других условий, требующих перезапуска, АИ полностью перезапускается.
- выдает предупреждение устройству, с которого поступают данные;
- не использует импортируемые данные.
DEX_303 АИ экспортирует пользовательские данные на бортовое устройство с соответствующими атрибутами защиты, позволяющими бортовому устройству проверять целостность и подлинность полученных данных.
БОРТОВЫМИ УСТРОЙСТВАМИ (ФУНКЦИЯ ЗАГРУЗКИ)
DEX_304 АИ должно быть способно генерировать информацию, подтверждающую происхождение данных, загружаемых на внешний носитель.
DEX_305 АИ должно быть способно обеспечивать возможность проверки получателем информации, подтверждающей происхождение загруженных данных.
DEX_306 АИ должно быть способно загружать данные на внешний носитель с соответствующими атрибутами защиты, позволяющими проверять целостность загруженных данных.
CSP_301 Если ЗФАИ генерирует криптографические ключи, то это должно делаться в соответствии с заданными алгоритмами генерации криптографических ключей при заданных размерах таких ключей. Генерируемые криптографические сеансовые ключи должны быть пригодными для использования ограниченное количество раз (количество определяется изготовителем, но не должно превышать 240).
CSP_302 Если ЗФАИ рассылает криптографические ключи, то это должно делаться в соответствии с установленными методами рассылки криптографических ключей.
Обязательные механизмы защиты указаны в подразделе XI.
Все остальные механизмы защиты определяются изготовителем АИ по собственному усмотрению.
Минимальная эффективность механизмов защиты карточки тахографа должна соответствовать "Высокому" уровню согласно определению, содержащемуся в [ITSEC].
Степень надежности защиты карточки тахографа по системе ITSEC должна соответствовать уровню E3 согласно определению, содержащемуся в [ITSEC].
В нижеследующей таблице приводится обоснование дополнительных ЗФ с указанием:
- опасностей, для защиты от которых предназначены соответствующие ЗФ;
- связанных с информационными технологиями целей защиты, достижению которых способствуют соответствующие ЗФ.
Настоящий подраздел содержит конкретные указания относительно механизмов защиты, обеспечивающих:
- взаимную аутентификацию БУ и карточек тахографа, включая согласование сеансовых ключей;
- конфиденциальность, целостность и аутентификацию данных, передаваемых между БУ и карточками тахографа;
- целостность и аутентификацию данных, загружаемых с БУ и сохраняемых на внешнем носителе;
- целостность и аутентификацию данных, загружаемых с карточек тахографа и сохраняемых на внешнем носителе.
При подготовке настоящего подраздела использовались следующие источники:
SHA-1 National Institute of Standards and Technology (NIST). FIPS Publication 180-1: Secure Hash Standard. April 1995.
PKCS1 RSA Laboratories. PKCS # 1: RSA Encryption Standard. Version 2.0. October 1998.
TDES National Institute of Standards and Technology (NIST). FIPS Publication 46-3: Data Encryption Standard. Draft 1999.
TDES-OP ANSI X9.52, Triple Data Encryption Algorithm Modes of Operation. 1998.
ISO/IEC 7816-4 Информационные технологии. Карточки идентификационные. Карточки на интегральных схемах с контактами. Часть 4. Межотраслевые команды обмена данными. Издание первое, 1995 год + Поправка 1, 1997 год.
ISO/IEC 7816-6 Информационные технологии. Карточки идентификационные. Карточки на интегральных схемах с контактами. Часть 6. Элементы межотраслевых данных для обмена информацией. Издание первое, 1996 год + Поправка 1, 1998 год.
ISO/IEC 7816-8 Информационные технологии. Карточки идентификационные. Карточки на интегральных схемах с контактами. Часть 8. Межотраслевые команды обеспечения защиты. Издание первое, 1999 год.
ISO/IEC 9796-2 Информационные технологии. Методы защиты. Схемы цифровой подписи, обеспечивающие восстановление сообщений. Часть 2. Механизмы с использованием хеш-функции. Издание первое, 1997 год.
ISO/IEC 9798-3 Информационные технологии. Методы защиты. Механизмы аутентификации объектов. Часть 3. Аутентификация объектов посредством алгоритма шифрования с открытым ключом. Издание второе, 1998 год.
ISO 16844-3 Транспорт дорожный. Тахо графические системы. Часть 3. Интерфейс датчика движения.
В настоящем подразделе используются следующие условные обозначения и сокращенные термины:
CSM_001 В бортовых устройствах и карточках тахографа применяется классический вариант криптосистемы RSA с открытым ключом для решения следующих задач защиты:
- взаимная аутентификация бортовых устройств и карточек;
- передача между бортовыми устройствами и карточками тахографа сеансовых ключей тройного шифрования по системе DES;
- цифровая подпись данных, загружаемых с бортовых устройств или карточек тахографа и сохраняемых на внешних носителях.
CSM_002 В бортовых устройствах и карточках тахографа используется симметричная криптосистема DES с тройным шифрованием информации для ее защиты от искажений при пользовательских операциях обмена данными между бортовыми устройствами и карточками тахографа и для обеспечения в необходимых случаях конфиденциальности данных, передаваемых между бортовым устройством и карточкой тахографа.
CSM_003 Алгоритм RSA полностью выражается следующими соотношениями:
Более всестороннее описание функции RSA можно найти в источниках [PKCS1].
При вычислениях по методу RSA в качестве открытой экспоненты, e, выбирается целое число в пределах от 3 до n - 1, удовлетворяющее условию gcd(e, 1cm(p - 1, q - 1)) = 1.
CSM_004 В схемах цифровой подписи используется хеш-алгоритм SHA-1, описание которого приведено в источниках [SHA-1],
CSM_005 Алгоритмы на базе DES применяются в режиме сцепления криптоблоков.
CSM_006 Ключи RSA генерируются на трех функциональных уровнях, которые образуют следующую иерархию:
- европейский уровень,
- уровень Договаривающихся сторон,
- аппаратный уровень.
CSM_007 На европейском уровне генерируется единая пара общеевропейских ключей (EUR.SK И EUR.PK). Закрытый европейский ключ служит для сертификации открытых ключей Договаривающихся сторон. Все сертифицируемые ключи подлежат регистрации. Эти функции выполняет пользующийся международным признанием европейский сертификационный орган.
CSM_008 На уровне Договаривающихся сторон генерируется по паре ключей (CP.SK и CP.PK) для каждой Договаривающейся стороны. Открытые ключи Договаривающихся сторон сертифицируются европейским сертификационным органом. Закрытый ключ Договаривающейся стороны используется для сертификации открытых ключей, вводимых в соответствующие аппаратные средства (бортовые устройства и карточки тахографа). Все сертифицируемые открытые ключи подлежат регистрации с указанием аппаратуры, для которой они предназначены. Эти функции выполняет сертификационный орган Договаривающейся стороны. Договаривающаяся сторона может регулярно изменять свою пару ключей.
CSM_009 На аппаратном уровне генерируется единая пара ключей (EQT.SK и EQT.PK), вводимых в каждое устройство. Открытый ключ аппаратного уровня сертифицируется сертификационным органом Договаривающейся стороны. Эти функции могут выполняться изготовителями аппаратуры, предприятиями, персонализирующими аппаратуру, или соответствующими органами Договаривающихся сторон. Данная пара ключей служит для аутентификации, создания цифровых подписей и шифрования данных.
CSM_010 При генерации, транспортировке (если она необходима) и хранении закрытых ключей должен соблюдаться режим конфиденциальности.
Поток данных в ходе этого процесса схематически представлен на рисунке ниже.
? Европейский уровень ?
? ???????????????????????????????????????????????? ?
? EUR.SK Европейский закрытый ключ ?
? EUR.PK Европейский открытый ключ ?
? Регистрация сертифицированных открытых ключей ?
? Договаривающихся сторон ?
????????????????????????????????????????????????????
/\ ?
? ?
CP .CHR CP .C
i i
CP .PK EUR.PK
i ?
? \/
????????????????????????????????????????????????????????????????????
? Уровень государств-членов (государство-член i) ?
? ??????????????????????????????????????????????????????????????????
? CP .CHR Идентификационные данные Договаривающейся стороны i ?
? i ?
? ?
? CP .SK Закрытый ключ Договаривающейся стороны i ?
? i ?
? ?
? CP .PK Открытый ключ Договаривающейся стороны i ?
? i ?
? ?
? CP .C Сертификат открытого ключа Договаривающейся стороны i, ?
? i выданный EUR ?
? ?
? EUR.PK Европейский открытый ключ ?
? Регистрация сертифицированных открытых ключей аппаратуры ?
? /\ ?
????????????????????????????????????????????????????????????????????
EQT .CHA EQT .C
j j
EQT .CHR CP .C
j i
EQT .PK EUR.PK
j
????????????????????????????????????????????????????????????????????
? \/ ?
? Аппаратный уровень (аппаратура j) ?
? ???????????????????????????????????????????????????????????????? ?
? EQT .CHA Тип аппаратуры j ?
? j ?
? ?
? EQT .CHR Идентификационные данные аппаратуры j ?
? j ?
? ?
? EQT .SK Закрытый ключ аппаратуры j ?
? j ?
? ?
? EQT .PK Открытый ключ аппаратуры j ?
? j ?
? ?
? EQT .C Сертификат открытого ключа аппаратуры j, выданный ДС i ?
? j ?
? ?
? CP .C Сертификат открытого ключа Договаривающейся стороны i, ?
? i выданный EUR ?
? ?
? EUR.PK Европейский открытый ключ ?
????????????????????????????????????????????????????????????????????
CSM_011 В целях испытания аппаратуры (включая испытания на эксплуатационную совместимость) европейский сертификационный орган генерирует отдельную пару общеевропейских испытательных ключей и не менее двух пар испытательных ключей для Договаривающихся сторон, открытые ключи которых сертифицируются закрытым испытательным ключом общеевропейского уровня. При испытаниях, проводимых с целью официального утверждения типовых образцов, в испытываемую аппаратуру изготовителями вводятся испытательные ключи, сертифицированные одним из вышеупомянутых испытательных ключей Договаривающихся сторон.
При генерации, транспортировке (если она необходима) и хранении трех ключей TDES, о которых говорится ниже, должен соблюдаться надлежащий режим конфиденциальности.
В целях обеспечения совместимости с контрольными устройствами, соответствующими стандарту ISO 16844, европейский сертификационный орган и сертификационные органы Договаривающихся сторон предпринимают нижеследующие дополнительные меры.
CSM_036 Европейский сертификационный орган генерирует KmVU и KmWC - два независимых уникальных ключа для тройного шифрования по системе DES - после чего вычисляет Km по формуле:
По запросам сертификационных органов Договаривающихся сторон европейский сертификационный орган высылает им эти ключи с соблюдением надлежащих процедур защиты.
CSM_037 Сертификационные органы Договаривающихся сторон:
- используют ключ Km для шифрования показаний датчиков движения в соответствии с указаниями изготовителей этих датчиков (определение данных, подлежащих шифрованию ключом Km, дается в стандарте ISO 16844-3);
- с соблюдением надлежащих процедур защиты высылают KmVU заводам-изготовителям бортовых устройств для ввода в эти устройства;
- обеспечивают ввод KmWC во все карточки мастерских (запись SensorInstallationSecData в элементарном файле Sensor_Installation_Data) при персонализации карточек.
CSM_012 Бортовые устройства и карточки тахографа в рамках процесса взаимной аутентификации генерируют необходимые данные и обмениваются ими в целях составления единого сеансового ключа для тройного шифрования по системе DES. Для сохранения конфиденциальности этого обмена данными используется криптографическая защита RSA.
CSM_013 Составленный ключ используется при всех последующих операциях криптозащищенного обмена сообщениями. Он перестает действовать по окончании текущего сеанса (извлечение или перезагрузка карточки) и/или после 240-го использования (однократное использование ключа = передача на карточку одного криптозащищенного сообщения-команды и получение соответствующего ответа).
CSM_014 Ключи RSA (независимо от уровня) имеют следующую длину: модуль n - 1024 бита, открытая экспонента e - до 64 бит, закрытая экспонента d - 1024 бита.
CSM_015 Ключи DES для тройного шифрования имеют вид (Ka, Kb, Ka), где Ka и Kb - независимые ключи длиной 64 бита. Биты контроля по четности не задаются.
CSM_016 Сертификаты открытых ключей RSA должны быть "не содержащими самоописания" сертификатами с возможностью "проверки по карточке" (см. ISO/IEC 7816-8).
CSM_017 Сертификаты открытых ключей RSA составляются из следующих данных в следующем порядке:
Примечания:
1. "Идентификатор профиля сертификата" (CPI) определяет конкретную структуру сертификата, используемого в целях аутентификации. Он может применяться аппаратурой в качестве внутреннего идентификатора для вызова соответствующего списка заголовков, заключающего в себе описание конкатенации (последовательности) элементов данных, из которых состоит сертификат.
Такой список заголовков, отражающий содержание сертификата, выглядит следующим образом:
2. "Указатель сертификационного органа" (CAR) служит для обозначения сертификационного органа, выдавшего сертификат; таким образом, этот элемент данных может использоваться одновременно с идентификатором ключа сертификационного органа для указания на принадлежащий данному органу открытый ключ (информацию о соответствующих кодах см. ниже, в пункте, посвященном идентификаторам ключей).
3. "Полномочия держателя сертификата" (CHA) - указание на объем прав, предоставляемых сертификатом. Оно включает идентификатор приложения тахографа и тип аппаратуры, для которой предназначен сертификат (соответствует элементу данных EquipmentType; для Договаривающейся стороны используется значение "00").
4. "Указатель держателя сертификата" (CHR) предназначен для однозначной идентификации держателя данного сертификата; таким образом, этот элемент данных может использоваться одновременно с идентификатором ключа субъекта для указания на принадлежащий держателю сертификата открытый ключ.
5. Идентификаторы ключей позволяют однозначно идентифицировать держателя сертификата или сертификационный орган. Они кодируются следующим образом:
5.1 Аппаратура (БУ или карточка):
Когда речь идет о бортовом устройстве, его изготовитель, запрашивая сертификаты, не обязательно должен знать идентификационные данные аппаратуры, в которую будут вводиться соответствующие ключи.
Если эти идентификационные данные изготовителю известны, то он направляет их вместе с открытым ключом на сертификацию в сертификационный орган своей Договаривающейся стороны. Выданный в результате сертификат будет содержать идентификационные данные аппаратуры, и изготовителю необходимо будет принять меры к тому, чтобы ключи и сертификат вводились именно в ту аппаратуру, для которой они предназначены. Идентификатор ключа при этом имеет вид, показанный выше.
Если идентификационные данные аппаратуры изготовителю не известны, то он должен снабдить каждую заявку на сертификат индивидуальным обозначением и сообщить это обозначение вместе с открытым ключом сертификационному органу своей Договаривающейся стороны на предмет сертификации. В выданном сертификате будет указано индивидуальное обозначение заявки. После ввода ключа в аппаратуру изготовитель должен информировать сертификационный орган своей Договаривающейся стороны о закреплении этого ключа за соответствующей аппаратурой (т.е. сообщить индивидуальное обозначение заявки на сертификат и идентификационные данные аппаратуры). При этом идентификатор ключа выглядит следующим образом:
5.2 Сертификационный орган:
Серийный номер ключа позволяет отличать друг от друга различные ключи Договаривающейся стороны в случае смены ею своего ключа.
6. Сторона, проверяющая сертификат, должна по косвенным признакам распознавать сертифицируемый открытый ключ как ключ криптосистемы RSA, предназначенный для аутентификации, проверки цифровых подписей и шифрования конфиденциальной информации (сам сертификат не содержит прямо указывающих на это идентификаторов объектов).
CSM_018 Выдаваемый сертификат представляет собой цифровую подпись с возможностью частичного восстановления содержания сертификата, соответствующую стандарту ISO/IEC 9796-2 (за исключением приложения A.4) и сопровождаемую "указателем сертификационного органа".
При содержании сертификата
= Cc =
106 байт 58 байт
Примечания:
1. Длина данного сертификата составляет 194 байта.
2. К подписи также приобщается скрытый ею CAR, что позволяет использовать для проверки сертификата открытый ключ соответствующего сертификационного органа.
3. Сторона, проверяющая сертификат, должна по косвенным признакам определить алгоритм, использованный сертификационным органом для подписания сертификата.
4. Данному сертификату соответствует следующий список заголовков:
Процесс проверки и расшифровки сертификатов заключается в проверке подписи согласно стандарту ISO/IEC 9796-2, извлечении содержания сертификата, получении из него соответствующего открытого ключа (X.PK = X.CA.PKoX.C) и подтверждении действительности сертификата.
CSM_019 Этот процесс состоит из следующих этапов:
Проверка подписи и извлечение содержания:
- из X.C извлекаются Sign, Cn' и CAR':
X.C = Sign ||
128 байт 58 байт 8 байт
- из указателя CAR' выбирается открытый ключ соответствующего сертификационного органа (если он не выбран до этого иным способом);
- с помощью открытого ключа сертификационного органа расшифровывается содержание Sign: Sr'= X.CA.PK [Sign];
- проверяется Sr' (начальными символами должны быть "6A", конечными - "BC");
- вычисляются Cr' и H' по формуле:
Sr' = '6A' ||
106 байт 20 байт
- извлекается содержание сертификата C' = Cr' || Cn';
- проверяется Hash(C') = H'.
Положительный результат проверки указывает на подлинность сертификата, содержание которого соответствует C'.
Подтверждение действительности:
- если применимо, проверяется дата истечения срока действия сертификата, извлекаемая из C'.
Извлечение из C' и сохранение открытого ключа, идентификатора ключа, полномочий держателя сертификата и даты истечения срока его действия:
- X.PK = n||e
- X.KID = CHR
- X.CHA = CHA
- X.EOV = EOV
В основу механизма взаимной аутентификации карточек и БУ положен следующий принцип:
Каждая сторона должна доказать другой наличие у нее действительной пары ключей, открытый ключ которой сертифицирован сертификационным органом Договаривающейся стороны, имеющим в свою очередь сертификат, выданный европейским сертификационным органом.
Доказательством служит подписание закрытым ключом случайной последовательности цифр, полученной от другой стороны, которая при проверке подписи должна восстановить из нее ту же последовательность цифр.
Данный механизм запускается со стороны БУ при вводе карточки в считывающее устройство. Процесс начинается с обмена сертификатами и извлечения открытых ключей и завершается созданием сеансового ключа.
CSM_020 При этом используется протокол, представленный ниже (стрелками показаны команды и передаваемые данные (см. подраздел II)):
/???????????????????\
БУ ? Ввод карточки ? КАРТОЧКА
\???????????????????/
\/
?????????????????????????
? Перезагрузка карточки ? ??????????Перезагрузка?????????>
????????????????????????? <??????????????ATR?????????????
\/ ?????????????????????????????
????????????????????????? ??????? Выбор файла (EF, ICC)??????>? Выбор файла ?
? Получение ? <??????????????OK?????????????? ?????????????????????????????
? идентификационных ? ????????Считка бинарного кода??????>?????????????????????????????
? данных карточки ? (сдвиг = 1, Le = 8) ?Передача запрошенных данных?
????????????????????????? <???????????Card.CHR??????????? ? из выбранного файла ?
\/ ?????????????????????????????
???????????????????????????? ?????????????????????????????
?Выбор приложения тахографа? ??????Выбор файла (Tacho AID)??????>? Выбор приложения ?
???????????????????????????? <??????????????OK?????????????? ?????????????????????????????
\/
/ \
/PK карточки \
/ опознан БУ, срок \
??????????/ действия C. карточки \
? \ OK? /
? \ /
? \ /
? Нет
? ? ?????????????????????????????
? \/ ??Выбор файла (EF.Card_Certificate)?>? Выбор файла ?
? ?????????????????????? <??????????????OK??????????????? ?????????????????????????????
? ? Получение ? ????? Считка бинарного кода ??>?????????????????????????????
? ?сертификата карточки? (сдвиг = 0, Le = 194) ?Передача запрошенных данных?
? ?????????????????????? <????????C. карточки???????????? ? из выбранного файла ?
? \/ ?????????????????????????????
? / \
? /PK.CA карточки\
? / опознан БУ, срок \
? ???????\действия C.CA карточки/
? ? \ карточки OK? /
? ? \ /
? ? \ /
? ? ?
? ? Нет
? ? \/ ?????????????????????????????
? ? ??????????????????????? ??Выбор файла (EF.CA_Certificate)??> ? Выбор файла ?
Да ? ?Получение сертификата? <?????????????ОК????????????? ?????????????????????????????
? ? ? CA карточки ? ???? Считка бинарного кода ???> ?????????????????????????????
? ? ??????????????????????? (сдвиг = 0, Le = 194) ?Передача запрошенных данных?
? Да \/ <???????C.CA карточки???????? ? из выбранного файла ?
? ???????????????????????????????????????? ?????????????????????????????
? ??Проверка C.CA карточки европейским PK?
? ??Сохранение KID, CHA и срока действия ????
? ?? PK.CA карточки ? ?
? ???????????????????????????????????????? ?
? ? OK ?
? ? \/ ?
? ? ?????????????????????????????????????? ?
? ? ? Проверка C. карточки с помощью ? ?
? ?>? PK.CA карточки ????
? ? Сохранение KID, CHA и срока ? ?
? ? действия PK карточки ? ?
? ?????????????????????????????????????? ?
? OK Не ?
? \/ OK ?
? ?????????????????????????????????????? ?
???>? Передача на карточку ? ?
? идентификационных данных БУ ? ? ?????????????????????????????
?????????????????????????????????????? ? ?????MSE:SET (KID.БУ)?????> ? Если ключ известен, ?
\/ ? <????????OK/KO????????? ? применить его ?
/ \ ? ?????????????????????????????
/ PK.БУ \ ?
???????????/ опознан карточкой?\ ?
? \ / ?
? \ / ?
? ? ?
? Нет ?
? \/ ?
? ???????????????????????????????????????? ?
? ?Передача на карточку идентификационных? ?
? ? данных CA.БУ ? ? ?????????????????????????????
? ???????????????????????????????????????? ? ????MSE:SET (KID.CA.БУ)???> ? Если ключ известен, ?
? \/ ? <????????OK/KO????????? ? применить его ?
? / \ ? ?????????????????????????????
? / PK.CA.БУ \ ?
???????????/ опознан карточкой?\ ?
?? \ / ?
?? \ / ?
?? ? ?
?? Нет ?
?? \/ ?
?? ???????????????????????????????????????? ?
?? ?Передача на карточку идентификационных? ?
?? ? данных EUR ? ? ?????????????????????????????
?? ???????????????????????????????????????? ? ?????MSE:SET (KID.EUR)????> ? Если ключ известен, ?
?? \/ ? <????????OK/KO????????? ? применить его ?
?? / \ ? ?????????????????????????????
Да? / PK.EUR \ ?
?? / опознан карточкой?\????Нет??????
?? \ / ??
?Да \ / ??
?? ? ??
?? Да ??
?? \/ ??
?? ??????????????????????????????????????????
?? ?Передача сертификата CA.БУ на проверку??? ?????????????????????????????
?? ?????????????????????????????????????????? ???Проверка сертификата???> ? Проверка сертификата ?
?? \/ ?? (C.CA.БУ) ? действующим PK ?
?? / \ ?? <?????????OK/KO???????? ? Сохранение найденных KID ?
?? /OK?\???????Нет??????????? ? и CHA PK ?
?? \ / ?? ????MSE:SET (KID.CA.БУ)???> ?????????????????????????????
?? \ / ??
?? ? ??
?? Да ??
?? \/ ??
?? ??????????????????????????????????????????
??>? Передача сертификата БУ на проверку ??? ?????????????????????????????
? ?????????????????????????????????????????? ???Проверка сертификата???> ? Проверка сертификата ?
? \/ ?? (C.БУ) ? действующим PK ?
? / \ ?? <?????????OK/KO???????? ? Сохранение найденных KID ?
? Да ???/OK?\????????Нет?????????? ? и CHA PK ?
? ? \ / ?? ??????MSE:SET (KID.БУ)????> ?????????????????????????????
? \/ \ / \/
? /????????????????????\ /????????????????????\
?>?Продолжение взаимной? ? Карточка ?
? аутентификации ? ? не принимается ?
\????????????????????/ \????????????????????/
БУ /?????????????????????????\ КАРТОЧКА
? Взаимная аутентификация ?
\?????????????????????????/
\/
/ \
/ CHA карточки = \ /?????????????\
/ тахограф || карточка \???Нет?> ? Карточка не ?
\ / ? принимается ?
\ / \?????????????/
?
Да
\/
/ \
/ CHA карточки = \
???? / ... || карточка \
? \ мастерской /
? \ /
? ?
? Да
? \/
? ????????????????????????????
? ?Запрос PIN у пользователя ?
? ?и его передача на карточку? ????????????????
? ? для проверки ? ??Проверка (PIN)?> ? ?
? ???????????????????????????? ? Проверка PIN ?
? \/ ? ?
Нет / \ <??????OK/KO????? ????????????????
? /PIN OK\?????????Нет????????
? \ / ?
? ? ?
? Да ?
? \/ ?
? ???????????????????????????? ? Внутренняя ??????????????????????????????????????????????????
? ? Генерация вызова ? ? аутентификация ?- Проверка полученного CHR на соответствие KID ?
???>? Rnd1 (8 байт) ? ? ??(Rnd1||VU.CHR)?>? действующего PK ?
? Аутентификация карточки ? ? ?- Генерация K1, случайное число, 16 байт ?
???????????????????????????? ? ?- Генерация PRnd2 90 байт (случайное заполнение)?
? ? ? ?
\/ ? ?- Вычисление маркера аутентификации: ?
/ \ ?<??? МаркАут/KO ?? ? VU.PK[Card.SK*['6A'||PRnd2||K1|| ?
/OK \???????????Нет???????? ? Hash (PRnd2||K1||Rnd1||VU.CHR)||'BC']] ?
\ / ? ? = шифрование подписи* (ISO 9796-2) ?
\ / ? ? PRnd2||K1||Rnd1||VU.CHR ?
? ? ??????????????????????????????????????????????????
Да ?
\/ ? /???????????????????????????????????????????\
?????????????????????????????????????????? ? ? Подпись* = min {подпись, n-подпись}, ?
?- Вычисление: Подпись = VU.SK.[МаркАут] ? ? ?где "n" - модуль ключа, использованного для?
?- Расшифровка и проверка подписи ? ? ? подписания ?
? с помощью PK карточки для ? ? \???????????????????????????????????????????/
? извлечения PRnd2||K1||H' ? ?
?- Проверка Hash ? ?
? (PRnd2||K1||Rnd1||VU.CHR) = H' ? ?
?- Сохранение K1 ? ?
?????????????????????????????????????????? ?
OK ? Не ?
? ?? OK ???
\/ ? ???????????????????????????
???????????????????????? ? ?Получение вызова?> ? Генерация вызова ?
?Запрос вызова (8 байт)? ? <??????Rnd3???????? ? Rnd3 (8 байт) ?
???????????????????????? ? ???????????????????????????
\/ ?
?????????????????????????????????????????????
?- Генерация K2, случайное число, 16 байт ??
?- Генерация PRnd4 90 байт (случайное ??
? заполнение) ??
?- Вычисление маркера аутентификации: ??
? Card.PK[VU.SK*['6A'||PRnd4||K2|| ??
? Hash (PRnd4||K2||Rnd3||Card.CHR)||'BC']]??
? = шифрование подписи (ISO 9796-2) - ?? ????????????????????????????????????????????????
? PRnd4||K2||Rnd3||Card.CHR ?? Внешняя ?- Проверка соответствия CHA.PK = Тахограф||БУ ?
? - Самоаутентификация для карточки ?? ??аутентификация?>? ?
????????????????????????????????????????????? (МаркАут) ?- Вычисление: подпись = SK[МаркАут] карточки ?
\/ ? ?- Расшифровка и проверка подписи по PK.БУ для ?
/ \ ? <??????OK/KO????? ? извлечения PRnd4||K2||H' ?
/OK \?????????????????????? ?- Проверка соответствия Hash ?
\ / Нет ? ? (PRnd4||K2||Rnd3||Card.CHR) = H' ?
\ / ? ?- Если проверка OK, подтвержд. прав AUT ?
? ? ?- Сохранение K2 ?
Да ? ????????????????????????????????????????????????
\/ ? \/
??????????????????????????????????????? ? ????????????????????????????????????????????????
? Определение сеансового ключа TDES ? ? ?Определение сеансового ключа TDES (Ka, Kb, Ka)?
?(Ka, Kb, Ka) при Ka || Kb = K1 XOR K2? ? ? при Ka || Kb = K1 XOR K2 ?
? SSC задается значение Rnd3 || Rnd1 ? ? ? SSC задается значение Rnd3 || Rnd1 ?
? (по 4 LSB от каждого) ? ? ? (по 4 LSB от каждого) ?
??????????????????????????????????????? ? ????????????????????????????????????????????????
\/ \/
/?????????????\ /???????????????????????\
? ? ?Отрицательный результат?
? Продолжение ? ? аутентификации ?
? ? ?Карточка не принимается?
\?????????????/ \???????????????????????/
И АУТЕНТИФИКАЦИИ ДАННЫХ ПРИ ИХ ПЕРЕДАЧЕ МЕМЕДУ БУ
И КАРТОЧКАМИ
CSM_021 Неискаженность данных, передаваемых между БУ и карточками, обеспечивается благодаря криптозащите сообщений в соответствии с цитируемыми источниками [ISO/IEC 7816-4] и [ISO/IEC 7816-8].
CSM_022 При передаче данных, которые нуждаются в защите, к высылаемым в виде команды или ответа объектам данных добавляется объект, представляющий собой криптографическую контрольную сумму. Эта криптографическая контрольная сумма проверяется принимающим устройством.
CSM_023 В криптографической контрольной сумме данных, высылаемых в виде команды, учитываются заголовок команды и все содержащиеся в ней объекты данных (=> CLA = '0C', причем все эти объекты данных при их формировании снабжаются метками, где b1 = 1).
CSM_024 Байты ответа, несущие информацию о состоянии, защищаются с помощью криптографической контрольной суммы в тех случаях, когда ответ не содержит полей данных.
CSM_025 Криптографические контрольные суммы имеют длину 4 байта.
Таким образом, при криптозащищенном обмене сообщениями команды и ответы имеют структуру, показанную ниже.
Используемые здесь объекты данных представляют собой часть набора ОД для криптозащищенного обмена сообщениями, описание которого приводится в ISO/IEC 7816-4:
Если незащищенная пара "команда-ответ" выглядит следующим образом:
то соответствующая ей криптозащищенная пара "команда-ответ" имеет следующий вид:
Криптозащищенная команда:
Данные, учитываемые в контрольной сумме = CH || PB || TPV || LPV || PV || TLE || LLE || Le || PB, где
PB = заполняющие байты (80 .. 00) согласно стандартам ISO-IEC 7816-4 и ISO 9797 (метод 2).
Объекты данных PV и LE присутствуют лишь в случаях, когда незащищенная команда содержит соответствующие данные.
Криптозащищенный ответ:
1. Если поле данных ответа не является пустым, но не нуждается в защите конфиденциальности:
Данные, учитываемые в контрольной сумме = TPV || LPV || PV || PB
2. Если поле данных ответа не является пустым и нуждается в защите конфиденциальности:
Информация, передаваемая в виде криптограммы: данные без кодировки BER-TLV и заполняющие байты.
Данные, учитываемые в контрольной сумме = TPI CG || LPI CG || PI CG || PB
3. Если поле данных ответа оставлено пустым:
Данные, учитываемые в контрольной сумме = TSW || LSW || SW || PB
ОБМЕНЕ СООБЩЕНИЯМИ
CSM_026 Когда карточка тахографа обнаруживает ошибку КЗОС при расшифровке команды, она возвращает соответствующие байты состояния, не используя КЗОС. В соответствии со стандартом ISO/IEC 7816-4 для указания на ошибки КЗОС предусматриваются следующие байты состояния:
'66 88': несоответствие криптографической контрольной суммы;
'69 87': отсутствие ожидаемых объектов данных КЗОС;
'69 88': неверные объекты данных КЗОС.
CSM_027 Если карточкой тахографа возвращены байты состояния без ОД КЗОС или с неверным ОД КЗОС, то БУ должно прервать сеанс обмена данными.
CSM_028 Криптографические контрольные суммы вычисляются на основе алгоритма аутентификации сообщений retail-MAC в соответствии с ANSI X9.19 и системой DES:
- начальный этап: в качестве первого контрольного блока y0 используется E(Ka, SSC);
- последующие этапы: на основе Ka рассчитываются контрольные блоки y1, .., yn;
- заключительный этап: по последнему контрольному блоку yn рассчитывается криптографическая контрольная сумма: E(Ka, D(Kb, yn)),
где E() означает шифрование по системе DES, a D() - расшифровка по системе DES.
Передаче подлежат четыре старших байта криптографической контрольной суммы.
CSM_029 В ходе процедуры согласования ключей счетчику исходящих сообщений (SSC) задаются следующие начальные значения: Initial SSC: Rnd3 (4 младших байта) || Rnd1 (4 младших байта).
CSM_030 Счетчик исходящих сообщений увеличивается на 1 единицу перед каждым вычислением MAC (кода аутентификации сообщения) (т.е. для первой команды значение SSC составляет Initial SSC + 1, а для первого ответа - Initial SSC + 2).
Способ вычисления retail-MAC изображен на диаграмме ниже.
![]() ДЛЯ ЗАЩИТЫ КОНФИДЕНЦИАЛЬНОСТИ ОД
CSM_031 Криптограммы рассчитываются с помощью алгоритма TDEA в режиме TCBC, как указано в цитируемых источниках [TDES] и [TDES-OP], причем в качестве блока начальной величины используется нуль-вектор.
Применение ключей TDES показано на следующей диаграмме.
Шифрование TDES ? ? ?
Ka Kb Ka
? ? ?
\/ \/ \/
Данные ???????????? ????????????? ???????????? E(K, данные)
????????????> ?ШИФРОВАНИЕ???>?РАСШИФРОВКА???>?ШИФРОВАНИЕ??????????????>
???????????? ????????????? ????????????
Расшифровка TDES ? ? ?
Ka Kb Ka
? ? ?
\/ \/ \/
E(K, данные) ????????????? ???????????? ????????????? Данные
????????????> ?РАСШИФРОВКА???>?ШИФРОВАНИЕ???>?РАСШИФРОВКА?????????????>
????????????? ???????????? ?????????????
CSM_032 Данные, полученные из того или иного аппаратного источника (БУ или карточки) за один сеанс загрузки, сохраняются специализированной программируемой аппаратурой (СПА) в виде одного физического файла данных. Этот файл должен заключать в себе сертификаты CPi.C и EQT.C. Файл содержит цифровые подписи блоков данных в соответствии с указанным в подразделе VII (Протоколы загрузки данных).
CSM_033 Цифровые подписи загружаемых данных создаются по схеме, предполагающей добавление информации, которая позволяет при желании производить считку загруженных данных в нерасшифрованном виде.
CSM_034 Подписи данных генерируются аппаратурой согласно схеме подписи с соответствующим добавлением, которая определена в цитируемом источнике [PKCS1], при помощи хеш-функции SHA-1:
Подпись = EQT.SK['00' || '01' || PS || '00' || DER(SHA-1(данные))]
PS = Заполняющая октетная строка со значением 'FF', до общей длины 128.
DER(SHA-1(M)) - кодированное представление идентификатора алгоритма хеш-функции и значения хеш-функции в виде величины стандарта ASN.1 типа DigestInfo (правила однозначного шифрования):
'30'||'21'||'30'||'09'||'06'||'05'||'2B'||'0E'||'03'||'02'||'1A'||'05'||'00'||'04'||'14'||значение хеш-функции.
CSM_035 Проверка подписей загружаемых данных производится согласно схеме подписи с соответствующим добавлением, которая определена в цитируемом источнике [PKCS1], при помощи хеш-функции SHA-1.
Проверяющей стороне должен быть известен европейский открытый ключ EUR.PK, который она должна получить из независимого (и пользующегося доверием) источника.
В нижеследующей таблице представлен протокол, в соответствии с которым СПА после ввода в нее карточки контролера может проверять целостность загруженных данных, сохраненных на ВН (внешнем носителе). Для расшифровки цифровых подписей используется карточка контролера. В этом случае данная функция не обязательно должна быть предусмотрена в СПА.
Аппаратура, с помощью которой были загружены и подписаны подлежащие анализу данные, обозначена буквами EQT.
?
\/
?????????????????????????
? Перезагрузка карточки ? ????Перезагрузка???>
????????????????????????? <????????ATR????????
\/
???????????????????????????????
?Извлечение сертификата EQT из?
?файла для анализа и передача ?
? на карточку идент. данных ?
? EQT.CA ? ???????????????????????????????????
??????????????????????????????? ???MSE:SET(EQT.CA.KID)??>?Если ключ известен, применить его?
\/ <??????OK/KO???????? ???????????????????????????????????
/ \
/ EQT.CA.PK \
/ опознается карточкой?\????????????
\ / ?
\ / ?
? ?
Нет ?
\/ ?
?????????????????????????????? ? ???????????????????????????????????
?Извлечение сертификата ГЧ из? ? ?????MSE:SET(EUR.KID)???>?Если ключ известен, применить его?
?файла для анализа и передача? ? <???????OK/KO??????? ???????????????????????????????????
? на карточку идент. данных ? ?
? EUR ? ?
?????????????????????????????? ?
\/ ?
/ \ ?
/ EUR.PK \ ?
<???Нет ?/ опознается карточкой?\ Да
\ / ?
\ / ?
? ?
Да ?
? ?
\/ ?
?????????????????????????????????????? ?
?Передача сертификата ГЧ для проверки? ? Проверка сертификата ???????????????????????????????????
?????????????????????????????????????? ? ??? (EQT.CA.C) ?>? Проверка сертификата ?
\/ ? <???????OK/KO???????? ? действующим PK ?
/ \ ? ?Сохранение найденных KID и CHA PK?
??????????Нет?????/OK?\ ? ???MSE:SET(EQT.CA.KID)??>???????????????????????????????????
? \ / ?
? \ / ?
? ? ?
? Да ?
? \/ ?
? ???????????????????????????????????????? ?
? ? Передача сертификата EQT для проверки?<??
? ???????????????????????????????????????? Проверка сертификата ???????????????????????????????????
\/ \/ ??? (EQT.C) ?>? Проверка сертификата ?
/????????????\ / \ <???????OK/KO???????? ? действующим PK ?
? Ошибка в ?<?Нет?/OK?\ ?Сохранение найденных KID и CHA PK?
?сертификатах? \ / ?????MSE:SET(EQT.KID)???>???????????????????????????????????
\????????????/ \ /
?
Да
\/
???????????????????????????????
?Извлечение подлежащих анализу?
? данных и их подписи ?
???????????????????????????????
\/
???????????????????????????????
? Хеш-данные ? ???????????????????????????????????
? Передача результатов ? ???????PSO: хеш-функция?????>? Сохранение значения хеш-функции ?
? хеширования ? (Hash) ???????????????????????????????????
??????????????????????????????? ???????????????????????????????????
\/ ? Вычисление M' = EQT.PK[Подпись] ?
??????????????????????????????? PSO: проверка цифровой подписи? Подтверждение того, что M' имеет?
?Передача подписи на проверку ? ???? (подпись) ????>? вид 00||01||PS||00||DER(H') ?
? ? <??????OK/KO??????? ? Проверка соответствия Hash = H' ?
??????????????????????????????? ???????????????????????????????????
REQUIREMENTS
FOR CONSTRUCTION, TESTING, INSTALLATION, AND INSPECTION
OF THE DIGITAL CONTROL DEVICE USED IN ROAD TRANSPORT
(Consolidated version)
In this Appendix:
a) "activation" means:
phase where the control device becomes fully operational and implements all functions, including security functions;
Activating a control device requires the use of a workshop card and the entry of its PIN code.
b) "authentication" means:
A function intended to establish and verify a claimed identity;
c) "authenticity" means:
The property that an information is coming from a party whose identity can be verified;
d) "built-in-test (BIT)" means:
Tests run at request, triggered by the operator or by an external equipment;
e) "calendar day" means:
a day ranging from 00.00 hours to 24.00 hours. All calendar days relate to UTC time (Universal Time Co-ordinated);
f) "calibration" means:
updating or confirming vehicle parameters to be held in the data memory. Vehicle parameters include vehicle identification (VIN, VRN and registering Contracting Party) and vehicle characteristics (w, k, l, tyre size, speed limiting device setting (if applicable), current UTC time, current odometer value);
Calibrating a control device requires the use of a workshop card.
g) "card number" means:
a 16 alpha-numerical characters number that uniquely identifies a tachograph card within a Contracting Party. The card number includes a consecutive index (if applicable), a replacement index and a renewal index;
A card is therefore uniquely identified by the code of the issuing Contracting Party and the card number.
h) "card consecutive index" means:
the 14th alpha-numerical character of a card number that is used to differentiate the different cards issued to a company or a body entitled to be issued several tachograph cards. The company or the body is uniquely identified by the 13 first characters of the card number;
i) "card renewal index" means:
the 16th alpha-numerical character of a card number which is incremented each time a tachograph card is renewed;
j) "card replacement index" means:
the 15th alpha-numerical character of a card number which is incremented each time a tachograph card is replaced;
k) "characteristic coefficient of the vehicle" means:
the numerical characteristic giving the value of the output signal emitted by the part of the vehicle linking it with the control device (gearbox output shaft or axle) while the vehicle travels a distance of one kilometre under standard test conditions (see Chapter VI.-5.). The characteristic coefficient is expressed in impulses per kilometre (w = ... imp/km);
l) "company card" means:
a tachograph card issued by the authorities of a Contracting Party to the owner or holder of vehicles fitted with control devices
The company card identifies the company and allows for displaying, downloading and printing of the data stored in the control device which has been locked by this company.
m) "constant of the control device" means:
the numerical characteristic giving the value of the input signal required to show and record a distance travelled of one kilometre; this constant shall be expressed in impulses per kilometre (k = ... imp/km);
n) "continuous driving time" is computed within the control device as <*> the continuous driving time is computed as the current accumulated driving times of a particular driver, since the end of his last AVAILABILITY or BREAK/REST or UNKNOWN <**> period of 45 minutes or more (this period may have been split in several periods of 15 minutes or more). The computations involved take into account, as needed, past activities stored on the driver card. When the driver has not inserted his card, the computations involved are based on the data memory recordings related to the current period where no card was inserted and related to the relevant slot;
--------------------------------
<*> This way of computing the continuous driving time and the cumulative break time serves into the control device for computing the continuous driving time warning. It does not prejudge the legal interpretation to be made of these times.
<**> UNKNOWN periods correspond to periods where the driver's card was not inserted in a control device and for which no manual entry of driver activities was made.
o) "control card" means:
a tachograph card issued by the authorities of a Contracting Party to a national competent control authority;
The control card identifies the control body and possibly the control officer and allows for getting access to the data stored in the data memory or in the driver cards for reading, printing and/or downloading.
p) "cumulative break time" is computed within the control device as:
the cumulative break from driving time is computed as the current accumulated AVAILABILITY or BREAK/REST or UNKNOWN <*> times of 15 minutes or more of a particular driver, since the end of his last AVAILABILITY or BREAK/REST or UNKNOWN <*> period of 45 minutes or more (this period may have been split in several periods of 15 minutes or more).
--------------------------------
<*> UNKNOWN periods correspond to periods where the driver's card was not inserted in a control device and for which no manual entry of driver activities was made.
The computations involved take into account, as needed, past activities stored on the driver card. Unknown periods of negative duration (start of unknown period > end of unknown period) due to time overlaps between two different control devices, are not taken into account for the computation.
When the driver has not inserted his card, the computations involved are based on the data memory recordings related to the current period where no card was inserted and related to the relevant slot;
q) "data memory" means:
an electronic data storage device built into the control device;
r) "digital signature" means:
data appended to, or a cryptographic transformation of, a block of data that allows the recipient of the block of data to prove the authenticity and integrity of the block of data;
s) "downloading" means:
copying together with digital signature of a part or of a complete set of data stored in the data memory of the vehicle or in the memory of a tachograph card;
Downloading may not alter or delete any stored data.
t) "driver card" means:
a tachograph card issued by the authorities of a Contracting Party to a particular driver;
The driver card identifies the driver and allows for storage of driver activity data.
u) "effective circumference of the wheel tyres" means:
the average of the distances travelled by each of the wheels moving the vehicle (driving wheels) in the course of one complete rotation. The measurement of these distances shall be made under standard test conditions (Chapter VI-5.) and is expressed in the form "l = ... mm". Vehicle manufacturers may replace the measurement of these distances by a theoretical calculation which takes into account the distribution of the weight on the axles, vehicle unladen in normal running order <*>. The methods for such theoretical calculation will be approved by a competent Contracting Party authority;
--------------------------------
<*> The measurement of distances conforms to the provisions of Council Directive No. 97/27/EC of 22 July 1997 relating to the masses and dimensions of certain categories of motor vehicles and their trailers and amending Directive 70/156/EEC (OJ L 233, 25.08.97).
v) "event" means:
abnormal operation detected by the control device which may come from a fraud attempt;
w) "fault" means:
abnormal operation detected by the control device which may come from an equipment malfunction or failure;
x) "installation" means:
mounting of the control device in a vehicle;
y) "motion sensor" means:
part of the control device, providing a signal representative of vehicle speed and/or distance travelled;
z) "non valid card" means:
a card detected as faulty, or which initial authentication failed, or which start of validity date is not yet reached, or which expiry date has passed;
aa) "out of scope" means:
when the use of the control device is not required, according to the provisions of this Agreement.
bb) "over speeding" means:
exceeding the authorised speed of the vehicle, defined as any period of more than 60 seconds during which the vehicle's measured speed exceeds the limit for setting the speed limitation device <*>.
--------------------------------
<*> The limit for setting the speed limitation device conforms to the provisions of Council Directive No. 92/6/EEC of 10 February 1992 on the installation and use of speed limitation devices for certain categories of motor vehicles in the Community (OJ No L 057, 02/03/1992)
cc) "periodic inspection" means:
set of operations performed to control that the control device works properly and that its settings correspond to the vehicle parameters;
dd) "printer" means:
component of the control device which provides printouts of stored data;
ee) "control device" means:
the total equipment intended for installation in road vehicles to show, record and store automatically or semi-automatically details of the movement of such vehicles and of certain work periods of their drivers;
ff) "renewal" means:
issue of a new tachograph card when an existing card reaches its expiry date, or is malfunctioning and has been returned to the issuing authority. Renewal always implies the certainty that two valid cards do not co-exist;
gg) "repair" means:
any repair of a motion sensor or of a vehicle unit that requires disconnection of its power supply, or disconnection from other control device components, or opening of it;
hh) "replacement" means:
issue of a tachograph card in replacement of an existing card, which has been declared lost, stolen or malfunctioning and has not been returned to the issuing authority.
Replacement always implies a risk that two valid cards may co-exist;
ii) "security certification" means:
process to certify, by a certification authority <*> that the control device (or component) or the tachograph card under investigation fulfils the security requirements defined in sub-appendix 10 Generic security targets;
--------------------------------
<*> The provisions on security shall conform with the provisions laid out in Council Recommendation 95/144/CE of 7 April 1995 on common information technology security evaluation criteria (O.J. No L093, 26/04/1995).
jj) "self test" means:
tests run cyclically and automatically by the control device to detect faults;
kk) "tachograph card" means:
smart card intended for use with the control device. Tachograph cards allow for identification by the control device of the identity (or identity group) of the cardholder and allow for data transfer and storage. A tachograph card may be of the following types:
- driver card,
- control card,
- workshop card,
- company card;
ll) "type approval" means:
Process to certify, by a Contracting Party, that the control device (or component) or the tachograph card under investigation fulfils the requirements of the AETR;
mm) "tyre size" means:
the designation of the dimensions of the tyres (external driving wheels) in accordance with ECE Regulation N 54 <*>;.
--------------------------------
<*> Reference text in the EU is Directive 92/23/EEC of 31 March 1992 relating to tyres for motor vehicles and their trailers and to their fitting (OJ No L 129, 14/05/1992).
nn) "vehicle identification" means:
numbers identifying the vehicle: Vehicle Registration Number (VRN) with indication of the registering Contracting Party and Vehicle Identification Number (VIN) <*>;
--------------------------------
<*> Vehicle identification conforms to the provisions of Council Directive No. 76/114/EEC of 18 December 1975 on the approximation of the laws of the Member States relating to statutory plates and inscriptions for motor vehicles and their trailers, and their location and method of attachment (OJ, No. L 24, 30/01/1976).
oo) "vehicle unit (VU)" means:
the control device excluding the motion sensor and the cables connecting the motion sensor. The vehicle unit may either be a single unit or be several units distributed in the vehicle, as long as it complies with the security requirements of the AETR;
pp) for computing sake in the control device "week" means:
the period between 00.00 hours UTC on Monday and 24.00 UTC on Sunday;
qq) "workshop card" means:
a tachograph card issued by the authorities of a Contracting Party to a control device manufacturer, a fitter, a vehicle manufacturer or workshop, approved by that Contracting Party.
The workshop card identifies the cardholder and allows for testing, calibration and/or downloading of the control device.
OF THE RECORDING EQUIPMENT
FOR RECORDING EQUIPMENT
FOR TACHOGRAPH CARDS
![]()
This sub-appendix specifies data formats, data elements, and data structures for use within the control devices and tachograph cards.
This sub-appendix uses Abstract Syntax Notation One (ASN.1) to define data types. This enables simple and structured data to be defined without implying any specific transfer syntax (encoding rules) which will be application and environment dependent.
ASN.1 type naming conventions are done in accordance with ISO/IEC 8824-1. This implies that:
- where possible, the meaning of the data type is implied through the names being selected,
- where a data type is a composition of other data types, the data type name is still a single sequence of alphabetical characters commencing with a capital letter, however capitals are used within the name to impart the corresponding meaning,
- in general, the data types names are related to the name of the data types from which they are constructed, the equipment in which data is stored and the function related to the data.
If an ASN.1 type is already defined as part of another standard and if it is relevant for usage in the control device, then this ASN.1 type will be defined in this sub-appendix.
To enable several types of encoding rules, some ASN.1 types in this sub-appendix are constrained by value range identifiers. The value range identifiers are defined in paragraph 3.
The following references are used in this sub-appendix:
For any of the following data types, the default value for an "unknown" or a "not applicable" content will consist in filling the data element with 'FF' bytes.
This data type enables to code, within a two bytes word, a slot status at 00:00 and/or a driver status at 00:00 and/or changes of activity and/or changes of driving status and/or changes of card status for a driver or a co-driver. This data type is related to requirements 084, 109a, 199 and 219.
ActivityChangeInfo ::= OCTET STRING (SIZE(2))
Value assignment - Octet Aligned : 'scpaattttttttttt'B (16 bits)
For Data Memory recordings (or slot status):
For Driver (or Workshop) card recordings (and driver status):
Note for the case 'card withdrawal':
When the card is withdrawn:
- 's' is relevant and indicates the slot from which the card is withdrawn,
- 'c' must be set to 0,
- 'p' must be set to 1,
- 'aa' must code the current activity selected at that time,
As a result of a manual entry, the bits 'c' and 'aa' of the word (stored in a card) may be overwritten later to reflect the entry.
An address.
Address ::= SEQUENCE {
codePage INTEGER (0..255),
address OCTET STRING (SIZE(35))
}
codePage specifies the part of the ISOAEC 8859 used to code the address,
address is an address coded in accordance with ISO/IEC 8859-codePage.
BCDString is applied for Binary Code Decimal (BCD) representation. This data type is used to represent one decimal digit in one semi octet (4 bits). BCDString is based on the ISO/IEC 8824-1 "CharacterStringType".
BCDString ::= CHARACTER STRING (WITH COMPONENTS {
identification ( WITH COMPONENTS {
fixed PRESENT }) })
BCDString uses an "hstring" notation. The leftmost hexadecimal digit shall be the most significant semi octet of the first octet. To produce a multiple of octets, zero trailing semi octets shall be inserted, as needed, from the leftmost semi octet position in the first octet.
Permitted digits are: 0, 1, .. 9.
Code explaining why a set of calibration parameters was recorded. This data type is related to requirements 097 and 098.
CalibrationPurpose ::= OCTET STRING (SIZE(1))
Value assignment:
Information, stored in a card, related to the driver activities for a particular calendar day. This data type is related to requirements 199 and 219.
CardActivityDailyRecord ::= SEQUENCE {
activityPreviousRecordLength INTEGER(0..CardActivityLengthRange),
activityRecordLength INTEGER(0..CardActivityLengthRange),
activityRecordDate TimeReal,
activityDailyPresenceCounter DailyPresenceCounter,
activityDayDistance Distance,
activityChangeInfo SET SIZE(1..1440) OF ActivityChangeInfo
}
activityPreviousRecordLength is the total length in bytes or the previous daily record. The maximum value is given by the length of the OCTET STRING containing these records (see CardActivityLengthRange paragraph 3). When this record is the oldest daily record, the value of activityPreviousRecordLength must be set to 0.
activityRecordLength is the total length in bytes of this record. The maximum value is given by the length of the OCTET STRING containing these records.
activityRecordDate is the date of the record.
activityDailyPresenceCounter is the daily presence counter for the card this day.
activityDayDistance is the total distance travelled this day.
activityChangeInfo is the set of ActivityChangeInfo data for the driver this day. It may contain at maximum 1440 values (one activity change per minute). This set always includes the activityChangeInfo coding the driver status at 00:00.
Number of bytes in a driver or a workshop card, available to store driver activity records.
CardActivityLengthRange ::= INTEGER(0..216 - 1)
Value assignment: see paragraph 3.
Type approval number of the card.
Card Approval Number ::= IA5String(SIZE(8))
Value assignment: Unspecified.
Certificate of the public key of a card.
CardCertificate ::= Certificate
Information, stored in a card, related to the identification of the card's Integrated Circuit (IC) (requirement 191).
CardChipIdentification ::= SEQUENCE {
icSerialNumber OCTET STRING (SIZE(4)),
icManufacturingReferences OCTET STRING (SIZE(4))
}
icSerialNumber is the IC serial number as defined in EN 726-3.
icManufacturingReferences is the IC manufacturer identifier and fabrication elements as defined in EN 726-3.
A card consecutive index (definition h)).
CardConsecutiveIndex :: = IA5String(SIZE(1))
Value assignment: (see this Appendix, chapter VII)
Order for increase: '0, ..., 9, A, ..., Z, a, ..., z'
Information, stored in a driver or workshop card, related to the last control the driver has been subject to (requirements 210 and 225).
CardControlActivityDataRecord ::= SEQUENCE {
controlType ControlType,
controlTime TimeReal,
controlCardNumber FullCardNumber,
controlVehicleRegistration VehicleRegistrationIdentification,
controlDownloadPeriodBegin TimeReal,
controlDownloadPeriodEnd TimeReal
}
controlType is the type of the control.
controlTime is the date and time of the control.
controlCardNumber is the FullCardNumber of the control officer having performed the control.
controlVehicleRegistration is the VRN and registering Contracting Party of the vehicle in which the control happened.
controlDownloadPeriodBegin and controlDownloadPeriodEnd is the period downloaded, in case of downloading.
Information about the actual usage of the card (requirement 212).
CardCurrentUse ::= SEQUENCE {
sessionOpenTime TimeReal,
sessionOpenVehicle VehicleRegistrationIdentification
}
sessionOpenTime is the time when the card is inserted for the current usage. This element is set to zero at card removal.
sessionOpenVehicle is the identification of the currently used vehicle, set at card insertion. This element is set to zero at card removal.
Information, stored in a driver or a workshop card, related to the activities of the driver (requirements 199 and 219).
CardDriverActivity ::= SEQUENCE {
activityPointerOldestDayRecord INTEGER(0.. CardActivityLengthRange-1),
activityPointerNewestRecord INTEGER(0.. CardActivityLengthRange-1),
activityDailyRecords OCTET STRING
(SIZE(CardActivityLengthRange))
}
activityPointerOldestDayRecord is the specification of the begin of the storage place (number of bytes from the beginning of the string) of the oldest complete day record in the activityDailyRecords string. The maximum value is given by the length of the string.
activityPointerNewestRecord is the specification of the begin of the storage place (number of bytes from the beginning of the string) of the most recent day record in the activityDailyRecords string. The maximum value is given by the length of the string.
activityDailyRecords is the space available to store the driver activity data (data structure: CardActivityDailyRecord) for each calendar day where the card has been used.
Value assignment: this octet string is cyclically filled with records of CardActivityDailyRecord. At the first use storing is started at the first byte of the string. All new records are appended at the end of the previous one. When the string is full, storing continues at the first byte of the string independently of a break being inside a data element. Before placing new activity data in the string (enlarging current activityDailyRecord, or placing a new activityDailyRecord) that replaces older activity data, activityPointerOldestDayRecord must be updated to reflect the new location of the oldest complete day record, and activityPreviousRecordLength of this (new) oldest complete day record must be reset to 0.
Information, stored in a driver card, related to the card holder driver licence data (requirement 196).
CardDrivingLicenceInformation ::= SEQUENCE {
drivingLicenceIssuingAuthority Name,
drivingLicenceIssuingNation NationNumeric,
drivingLicenceNumber IA5String(SIZE(16))
}
drivingLicenceIssuingAuthority is the authority responsible for issuing the driving licence.
drivingLicenceIssuingNation is the nationality of the authority that issued the driving licence.
drivingLicenceNumber is the number of the driving licence.
Information, stored in a driver or workshop card, related to the events associated with the card holder (requirements 204 and 223).
CardEventData ::= SEQUENCE SIZE(6) OF {
cardEventRecords SET SIZE(NoOfEventsPerType) OF
CardEventRecord
}
CardEventData is a sequence, ordered by ascending value of EventFaultType, of cardEventRecords (except security breach attempts related records which are gathered in the last set of the sequence).
cardEventRecords is a set of event records of a given event type (or category for security breach attempts events).
Information, stored in a driver or a workshop card, related to an event associated to the card holder (requirements 205 and 223).
CardEventRecord ::= SEQUENCE {
eventType EventFaultType,
eventBeginTime TimeReal,
eventEndTime TimeReal,
eventVehicleRegistration Vehicle
RegistrationIdentification
}
eventType is the type of the event.
eventBeginTime is the date and time of beginning of event.
eventEndTime is the date and time of end of event.
eventVehicleRegistration is the VRN and registering Contracting Party of vehicle in which the event happened.
Information, stored in a driver or a workshop card, related to the faults associated to the card holder (requirements 207 and 223).
CardFaultData ::= SEQUENCE SIZE(2) OF {
cardFaultRecords SET SIZE(NoOfFaultsPerType) OF
CardFaultRecord
}
CardFaultData is a sequence of control device faults set of records followed by card faults set of records.
cardFaultRecords is a set of fault records of a given fault category (Control device or card).
Information, stored in a driver or a workshop card, related to a fault associated to the card holder (requirement 208 and 223).
CardFaultRecord ::= SEQUENCE {
faultType EventFaultType,
faultBeginTime TimeReal,
faultEndTime TimeReal,
faultVehicleRegistration VehicleRegistrationIdentification
}
faultType is the type of the fault.
faultBeginTime is the date and time of beginning of fault.
faultEndTime is the date and time of end of fault.
faultVehicleRegistration is the VRN and registering Contracting Party of vehicle in which the fault happened.
Information, stored in a card, related to the identification of the integrated circuit (IC) card (requirement 192).
CardIccIdentification ::= SEQUENCE {
clockStop OCTET STRING (SIZE(1)),
cardExtendedSerialNumber ExtendedSerialNumber,
cardApprovalNumber CardApprovalNumber
cardPersonaliserID OCTET STRING (SIZE(1)),
embedderIcAssemblerId OCTET STRING (SIZE(5)),
icIdentifier OCTET STRING (SIZE(2))
}
clockStop is the Clockstop mode as defined in EN 726-3.
cardExtendedSerialNumber is the IC card serial number and IC card manufacturing reference as defined in EN 726-3 and as further specified by the ExtendedSerialNumber data type.
cardApprovalNumber is the type approval number of the card.
cardPersonaliserID is the card personaliser ID as defined in EN 726-3.
embedderIcAssemblerId is the embedder/IC assembler identifier as defined in EN 726-3.
icIdentifier is the Identifier of the IC on the card and its IC manufacturer as defined in EN 726-3.
Information, stored in a card, related to the identification of the card (requirements 194, 215, 231,235).
CardIdentification ::= SEQUENCE {
CardIssuingMemberState NationNumeric,
cardNumber CardNumber,
cardIssuingAuthorityName Name,
cardIssueDate Time Real,
cardValidityBegin Time Real,
cardExpiryDate Time Real
}
cardIssuingMemberState is the code of the Contracting Party issuing the card.
cardNumber is the card number of the card.
cardIssuingAuthorityName is the name of the authority having issued the Card.
cardIssueDate is the issue date of the Card to the current holder.
cardValidityBegin is the first date of validity of the card.
cardExpiryDate is the date when the validity of the card ends.
A card number as defined by definition (g).
CardNumber ::= CHOICE {
SEQUENCE {
driverIdentification IA5String(SIZE(14)),
cardReplacementIndex CardReplacementIndex,
cardRenewalIndex CardRenewalIndex
},
SEQUENCE{
ownerIdentification IA5String(SIZE(13)),
cardConsecutiveIndex CardConsecutiveIndex,
cardReplacementIndex CardReplacementIndex,
cardRenewalIndex CardRenewalIndex
}
}
driverIdentification is the unique identification of a driver in a Contracting Party.
ownerIdentification is the unique identification of a company or a workshop or a control body within a Contracting Party.
cardConsecutiveIndex is the card consecutive index.
cardReplacementIndex is the card replacement index.
cardRenewalIndex is the card renewal index.
The first sequence of the choice is suitable to code a driver card number, the second sequence of the choice is suitable to code workshop, control, and company card numbers.
Information, stored in a driver or a workshop card, related to the places where daily work periods begin and/or end (requirements 202 and 221).
CardPlaceDailyWorkPeriod ::= SEQUENCE {
placePointerNewestRecord INTEGER(0 .. NoOfCardPlaceRecords-1),
placeRecords SET SIZE(NoOfCardPlaceRecords) OF PlaceRecord
}
placePointerNewestRecord is the index of the last updated place record.
Value assignment: Number corresponding to the numerator of the place record, beginning with '0' for the first occurrence of the place records in the structure.
placeRecords is the set of records containing the information related to the places entered..
The private key of a card.
CardPrivateKey ::= RSAKeyPrivateExponent
The public key of a card.
CardPublicKey ::= PublicKey
A card renewal index (definition i)).
CardRenewalIndex ::= IA5String(SIZE(1))
Value assignment: (see this Appendix, chapter VII).
'0' First issue.
Order for increase: '0, ..., 9, A, ..., Z'
A card replacement index (definition j)).
CardReplacementIndex ::= IA5String(SIZE(1))
Value assignment: (see this Appendix, chapter VII).
'0' Original card.
Order for increase: '0, ..., 9, A, ..., Z'
Code to distinguish between the two slots of a Vehicle Unit.
CardSlotNumber ::= INTEGER {
driverSlot (0),
co-driverSlot (1)
}
Value assignment: not further specified.
Code indicating the type of cards inserted in the two slots of the vehicle unit.
CardSlotsStatus ::= OCTET STRING (SIZE(1))
Value assignment - Octet Aligned: 'ccccdddd'B
with the following identification codes:
Code indicating the version of the implemented structure in a tachograph card.
CardStructureVersion ::= OCTET STRING (SIZE(2))
Value assignment: 'aabb'H:
Information, stored in a driver or workshop card, related to a period of use of a vehicle during a calendar day (requirements 197 and 217).
CardVehicleRecord::= SEQUENCE {
vehicleOdometerBegin OdometerShort,
vehicleOdometerEnd OdometerShort,
vehicleFirstUse TimeReal,
vehicleLastUse TimeReal,
vehicleRegistration VehicleRegistrationIdentification,
vuDataBlockCounter VuDataBlockCounter
}
vehicleOdometerBegin is the vehicle odometer value at the beginning of the period of use of the vehicle.
vehicleOdometerEnd is the vehicle odometer value at the end of the period of use of the vehicle.
vehicleFirstUse is the date and time of the beginning of the period of use of the vehicle.
vehicleLastUse is the date and time of the end of the period of use of the vehicle.
vehicleRegistration is the VRN and the registering Contracting Party of the vehicle.
vuDataBlockCounter is the value of the VuDataBlockCounter at last extraction of the period of use of the vehicle.
Information, stored in a driver or workshop card, related to the vehicles used by the card holder (requirements 197 and 217).
CardVehiclesUsed := SEQUENCE {
vehiclePointerNewestRecord INTEGER(0..NoOfCardVehicleRecords-1),
cardVehicleRecords SET SIZE(NoOfCardVehicleRecords) OF
CardVehicleRecord
}
vehiclePointerNewestRecord is the index of the last updated vehicle record.
Value assignment: Number corresponding to the numerator of the vehicle record, beginning with '0' for the first occurrence of the vehicle records in the structure.
cardVehicleRecords is the set of records containing information on vehicles used.
The certificate of a public key issued by a Certification Authority.
Certificate ::= OCTET STRING (SIZE(194))
Value assignment: digital signature with partial recovery of a CertificateContent according to sub-appendix 11 common security mechanisms: Signature (128 bytes) || Public Key remainder (58 bytes) || Certification Authority Reference (8 bytes).
The (clear) content of the certificate of a public key according to sub-appendix 11 common security mechanisms.
CertificateContent ::= SEQUENCE {
certificateProfileIdentifier INTEGER(0..255),
certificationAuthorityReference KeyIdentifier,
certificateHolderAuthorisation CertificateHolderAuthorisation,
certificateEndOfValidity TimeReal,
certificateHolderReference KeyIdentifier,
publicKey PublicKey
}
certificateProfileIdentifier is the version of the corresponding certificate.
Value assignment: '01h' for this version.
certificationAuthorityReference identifies the Certification Authority issuing the certificate. It also references the Public Key of this Certification Authority.
certificateHolderAuthorisation identifies the rights of the certificate holder.
certificateEndOfValidity is the date when the certificate expires administratively.
certificateHolderReference identifies the certificate holder. It also references his Public Key.
publicKey is the public key that is certified by this certificate.
Identification of the rights of a certificate holder.
CertificateHolderAuthorisation ::= SEQUENCE {
tachographApplicationID OCTET STRING(SIZE(6))
equipmentType EquipmentType
}
tachographApplicationID is the application identifier for the tachograph application.
Value assignment: 'FFh' '54h' '41h' '43h' '48h' '4Fh'. This AID is a proprietary non registered application identifier in accordance with ISO/IEC 7816-5.
equipmentType is the identification of the type of equipment to which the certificate is intended.
Value assignment: in accordance with EquipmentType data type. 0 if certificate is the one of a Contracting Party.
Unique identification of a certificate request. It can also be used as a Vehicle Unit Public Key Identifier if the serial number of the vehicle Unit to which the key is intended is not known at certificate generation time.
CertificateRequestID ::= SEQUENCE {
requestSerialNumber INTEGER
![]() requestMonthYear BCDString(SIZE(2))
crIdentifier OCTET STRING(SIZE(1))
manufacturerCode ManufacturerCode
}
requestSerialNumber is a serial number for the certificate request, unique for the manufacturer and the month below.
requestMonthYear is the identification of the month and the year of the certificate request.
Value assignment: BCD coding of Month (two digits) and Year (two last digits).
crIdentifier: is an identifier to distinguish a certificate request from an extended serial number.
Value assignment: 'FFh'.
manufacturerCode: is the numerical code of the manufacturer requesting the certificate.
Identifier of the Public Key of a Certification Authority (a Contracting Party or the European Certification Authority)
CertificationAuthorityKID ::= SEQUENCE {
nationNumeric NationNumeric
nationAlpha NationAlpha
keySerialNumber INTEGER(0..255)
additionalInfo OCTET STRING(SIZE(2))
caIdentifier OCTET STRING(SIZE(1))
}
nationNumeric is the numerical nation code of the Certification Authority.
nationAlpha is the alphanumerical nation code of the Certification Authority.
keySerialNumber is a serial number to distinguish the different keys of the Certification Authority in the case keys are changed.
additionalInfo is a two byte field for additional coding (Certification Authority specific).
caIdentifier is an identifier to distinguish a Certification Authority Key Identifier from other Key Identifiers.
Value assignment: '01h'.
Information, stored in a company card, related to activities performed with the card (requirement 237).
CompanyActivityData::= SEQUENCE {
companyPointerNewestRecord INTEGER(0..NoOfCompanyActivityRecords-1),
companyActivityRecords SET SIZE(NoOfCompanyActivityRecords) OF
companyActivityRecord SEQUENCE {
companyActivityType CompanyActivityType,
companyActivityTime TimeReal,
cardNumberInformation FullCardNumber,
vehicleRegistrationInformation VehicleRegistrationIdentification,
downloadPeriodBegin TimeReal,
downloadPeriodEnd TimeReal
}
}
companyPointerNewestRecord is the index of the last updated companyActivityRecord.
Value assignment: Number corresponding to the numerator of the company activity record, beginning with '0' for the first occurrence of the company activity record in the structure.
companyActivityRecords is the set of all company activity records.
companyActivityRecord is the sequence of information related to one company activity.
company ActivityType is the type of the company activity.
companyActivityTime is the date and time of the company activity.
cardNumberInformation is the card number and the card issuing Contracting Party of the card downloaded, if any.
vehicleRegistrationInformation is the VRN and registering Contracting Party of the vehicle downloaded or locked in or out..
downloadPeriodBegin and downloadPeriodEnd is the period downloaded from the VU, if any.
Code indicating an activity carried out by a company using its company card..
CompanyActivityType ::= INTEGER {
card downloading (1),
VU downloading (2),
VU lock-in (3),
VU lock-out (4)
}
Information, stored in a company card related to the identification of the application of the card (requirement 190).
CompanyCardApplicationIdentification ::= SEQUENCE {
typeOfTachographCardId EquipmentType,
cardStructureVersion CardStructureVersion,
noOfCompanyActivityRecords NoOfCompanyActivityRecords
}
typeOfTachographCardId is specifying the implemented type of card.
cardStructureVersion is specifying the the version of the structure that is implemented in the card.
noOfCompanyActivityRecords is the number of company activity records the card can store.
Information, stored in a company card, related to the cardholder identification (requirement 236).
CompanyCardHolderIdentification ::= SEQUENCE {
companyName Name,
companyAddress Address,
cardHolderPreferredLanguage Language
}
companyName is the name of the holder company.
companyAddress is the address of the holder company.
cardHolderPreferredLanguage is the preferred language of the card holder.
Information, stored in a control card related to the identification of the application of the card (requirement 190).
ControlCardApplicationIdentification ::= SEQUENCE {
typeOfTachographCardId EquipmentType,
cardStructureVersion CardStructureVersion,
noOfControlActivityRecords NoOfControlActivityRecords
}
typeOfTachographCardId is specifying the implemented type of card.
cardStructureVersion is specifying the version of the structure that is implemented in the card.
noOfControlActivityRecords is the number of control activity records the card can store.
Information, stored in a control card, related to control activity performed with the card (requirement 233).
ControlCardControlActivityData ::= SEQUENCE {
controlPointerNewestRecord INTEGER(0.. NoOfControlActivityRecords-1),
controlActivityRecords SET SIZE(NoOfControlActivityRecords) OF
controlActivityRecord SEQUENCE {
controlType ControlType,
controlTime TimeReal,
controlledCardNumber FullCardNumber,
controlledVehicleRegistration VehicleRegistrationIdentification,
controlDownloadPeriodBegin TimeReal,
controlDownloadPeriodEnd TimeReal
}
}
controlPointerNewestRecord is the index of the last updated control activity record.
Value assignment: Number corresponding to the numerator of the control activity record, beginning with '0' for the first occurrence of the control activity record in the structure.
controlActivityRecords is the set of all control activity records.
controlActivityRecord is the sequence of information related to one control.
controlType is the type of the control.
controlTime is the date and time of the control.
controlledCardNumber is the card number and the card issuing Contracting Party of the card controlled.
controlledVehicleRegistration is the VRN and registering Contracting Party of the vehicle in which the control happened.
controlDownloadPeriodBegin and controlDownloadPeriodEnd is the period eventually downloaded.
Information, stored in a control card, related to the identification of the cardholder (requirement 232).
ControlCardHolderIdentification ::= SEQUENCE {
controlBodyName Name,
controlBodyAddress Address,
cardHolderName HolderName,
cardHolderPreferredLanguage Language
}
controlBodyName is the name of the control body of the card holder.
controlBodyAddress is the address of the control body of the card holder.
cardHolderName is the name and first name(s) of the holder of the Control Card.
cardHolderPreferredLanguage is the preferred language of the card holder.
Code indicating the activities carried out during a control. This data type is related to requirements 102, 210 and 225.
ControlType ::= OCTET STRING (SIZE(1))
Value assignment - Octet aligned: 'cvpdxxxx'B (8 bits)
The current date and time of the control device.
CurrentDateTime ::= TimeReal
Value assignment: not further specified.
Counter, stored in a driver or workshop card, increased by one for each calendar day the card has been inserted in a VU. This data type is related to requirements 199 and 219.
DailyPresenceCounter ::= BCDString(SIZE(2))
Value assignment: Consecutive Number with maximum value = 9 999, starting again with 0. At the time of first issuing of the card the number is set to 0.
Date expressed in a readily printable numeric format.
Datef ::= SEQUENCE{
year BCDString(SIZE(2)),
month BCDString(SIZE(1)),
day BCDString(SIZE(1))
}
Value assignment:
A distance travelled (result of the calculation of the difference between two vehicle's odometer value in kilometres).
Distance ::= INTEGER(0..216 - 1)
Value assignment: Unsigned binary. Value in km in the operational range 0 to 9 999 km.
Information, stored in a driver card related to the identification of the application of the card (requirement 190).
DriverCardApplicationIdentification ::= SEQUENCE {
typeOfTachographCardId EquipmentType,
cardStructureVersion CardStructureVersion,
noOfEventsPerType NoOfEventsPerType,
noOfFaultsPerType NoOfFaultsPerType,
activityStructureLength CardActivityLengthRange,
noOfCardVehicleRecords NoOfCardVehicleRecords,
noOfCardPlaceRecords NoOfCardPlaceRecords
}
typeOfTachographCardId is specifying the implemented type of card.
cardStructureVersion is specifying the the version of the structure that is implemented in the card.
noOfEventsPerType is the number of events per type of event the card can record.
noOfFaultsPerType is the number of faults per type of fault the card can record.
activityStructureLength indicates the number of bytes available for storing activity records..
noOfCardVehicleRecords is the number of vehicle records the card can contain.
noOfCardPlaceRecords is the number of places the card can record.
Information, stored in a driver card, related to the identification of the cardholder (requirement 195).
DriverCardHolderIdentification ::= SEQUENCE {
cardHolderName HolderName,
cardHoIderBirthDate Datef,
cardHolderPreferredLanguage Language
}
cardHolderName is the name and first name(s) of the holder of the Driver Card.
cardHoIderBirthDate is the date of birth of the holder of the Driver Card.
cardHolderPreferredLanguage is the preferred language of the card holder.
Code to distinguish between begin and end for an entry of a daily work period place and condition of the entry.
EntryTypeDailyWorkPeriod ::= INTEGER {
Begin, related time = card insertion time or time of entry (0),
End, related time = card withdrawal time or time of entry (1),
Begin, related time manually entered (start time) (2),
End, related time manually entered (end of work period) (3),
Begin, related time assumed by VU (4),
End, related time assumed by VU (5)
}
Value assignment: according to ISO/IEC 8824-1.
Code to distinguish different types of equipment for the tachograph application.
EquipmentType ::= INTEGER(0..255)
--Reserved (0),
--Driver Card (1),
--Workshop Card (2),
--Control Card (3),
--Company Card (4),
--Manufacturing Card (5),
--Vehicle Unit (6),
--Motion Sensor (7),
--RFU (8..255)
Value assignment: According to ISO/IEC 8824-1.
Value 0 is reserved for the purpose of designating a Contracting Party or Europe in the CHA field of certificates.
The European public key.
EuropeanPublicKey ::= PublicKey
Code qualifying an event or a fault.
EventFaultType ::= OCTET STRING (SIZE(1))
Value assignment:
Code explaining why an event or a fault has been recorded.
EventFaultRecordPurpose ::= OCTET STRING (SIZE(1))
Value assignment:
Unique identification of an equipment. It can also be used as an equipment Public Key Identifier.
ExtendedSerialNumber ::= SEQUENCE {
serialNumber INTEGER
![]() monthYear BCDString(SIZE(2))
type OCTET STRING(SIZE(1))
manufacturerCode ManufacturerCode
}
serialNumber is a serial number for the equipment, unique for the manufacturer, the equipment's type and the month below.
monthYear is the identification of the month and the year of manufacturing (or of serial number assignment).
Value assignment: BCD coding of Month (two digits) and Year (two last digits).
type is an identifier of the type of equipment.
Value assignment: manufacturer specific, with 'FFh' reserved value.
manufacturerCode: is the numerical code of the manufacturer of the equipment.
Code fully identifying a tachograph card.
FullCardNumber ::= SEQUENCE {
cardType EquipmentType,
cardIssuingMemberState NationNumeric,
cardNumber CardNumber
}
cardType is the type of the tachograph card.
cardIssuingMemberState is the code of the Contracting Party having issued the card.
cardNumber is the card number.
Odometer value of the vehicle: Accumulated distance travelled by the vehicle during its operation.
HighResOdometer ::= INTEGER(0..232 - 1)
Value assignment: Unsigned binary. Value in 1/200 km in the operating range 0 to 21 055 406 km.
A distance travelled during all or part of a journey.
HighResTripDistance ::= INTEGER(0..232 - 1)
Value assignment: Unsigned binary. Value in 1/200 km in the operating range 0 to 21 055 406 km.
The surname and first name(s) of a card holder.
HolderName ::= SEQUENCE {
holderSurname Name,
holderFirstNames Name
}
holderSurname is the surname (family name) of the holder. This surname does not include titles.
Value assignment: When a card is not personal, holderSurname contains the same information as companyName or workshopName or controlBodyName.
holderFirstNames is the first name(s) and initials of the holder.
Constant of the control device (definition m)).
K-ConstantOfRecordingEquipment ::= INTEGER(0..216 - 1)
Value assignment: Pulses per kilometre in the operating range 0 to 64 255 pulses/km.
A unique identifier of a Public Key used to reference and select the key. It also identifies the holder of the key.
KeyIdentifier ::= CHOICE {
extendedSerialNumber ExtendedSerialNumber,
certificateRequestID CertificateRequestID,
certificationAuthorityKID CertificationAuthorityKID
}
The first choice is suitable to reference the public key of a Vehicle Unit or of a tachograph card.
The second choice is suitable to reference the public key of a Vehicle Unit (in the case the serial number of the Vehicle Unit cannot be known at certificate generation time).
The third choice is suitable to reference the public key of a Contracting Party.
Effective circumference of the wheel tyres (definition u)).
L-TyreCircumference ::= INTEGER(0.. 216 - 1)
Value assignment: Unsigned binary, value in 1/8 mm in the operating range 0 to 8 031 mm.
Code identifying a language.
Language ::= IA5String(SIZE(2))
Value assignment: Two-letter lower-case coding according to ISO 639.
Date and time, stored on a driver card, of last card download (for other purposes than control). This date is updateable by a VU or any card reader.
LastCardDownload ::= TimeReal
Value assignment: not further specified.
Code identifying whether a cardholder has manually entered driver activities at card insertion or not (requirement 081).
ManualInputFlag ::= INTEGER {
noEntry (0)
manualEntries (1)
}
Value assignment: not further specified.
Code identifying a manufacturer. <*>
--------------------------------
<*> An updated list of codes identifying the manufacturers is available on the website of the European Certification Authority at this address: /template/go.php?url=https://dtc.jrc.ec.europa.eu/text/cm.html
ManufacturerCode ::= INTEGER(0..255)
Value assignment:
The certificate of the public key of a Contracting Party issued by the European Certification Authority..
MemberStateCertificate ::= Certificate
The public key of a Contracting Party.
MemberStatePublicKey ::= PublicKey
A name.
Name ::= SEQUENCE {
codePage INTEGER (0..255),
name OCTET STRING (SIZE(35))
}
codePage specifies the part of the ISO/IEC 8859 used to code the name,
name is a name coded in accordance with ISO/IEC 8859-codePage.
Alphabetic reference to a country, in accordance with the conventional coding of countries (distinguishing signs) which is displayed at the rear of vehicles (either separately from the registration plate or incorporated into the registration plate) and/or mentioned in the green cards issued by the insurance companies.
NationAlpha ::= IA5String(SIZE(3))
Value assignment:
Numerical reference to a country.
NationNumeric ::= INTEGER(0 .. 255)
Value assignment:
Number of calibration records, a workshop card can store.
NoOfCalibrationRecords ::= INTEGER(0..255)
Value assignment: see paragraph 3.
Counter indicating the number of calibrations performed with a workshop card since its last download (requirement 230).
NoOfCalibrationsSinceDownload ::= INTEGER(0..216 - 1),
Value assignment: Not specified further.
Number of place records a driver or workshop card can store.
NoOfCardPlaceRecords ::= INTEGER(0..255)
Value assignment: see paragraph 3.
Number of vehicles used records a driver or workshop card can store.
NoOfCardVehicleRecords ::= INTEGER(0.. 216 - 1)
Value assignment: see paragraph 3.
Number of company activity records, a company card can store.
NoOfCompanyActivityRecords ::= INTEGER(0.. 216 - 1)
Value assignment: see paragraph 3.
Number of control activity records, a control card can store.
NoOfControlActivityRecords ::= INTEGER(0.. 216 - 1)
Value assignment: see paragraph 3.
Number of events per type of event a card can store.
NoOfEventsPerType ::= INTEGER(0..255)
Value assignment: see paragraph 3.
Number of faults per type of fault a card can store.
NoOfFaultsPerType ::= INTEGER(0..255)
Value assignment: see paragraph 3.
The vehicle's odometer value at midnight on a given day (requirement 090).
OdometerValueMidnight ::= OdometerShort
Value assignment: not further specified.
Odometer value of the vehicle in a short form.
OdometerShort ::= INTEGER(0..224 - 1)
Value assignment: Unsigned binary. Value in km in the operating range 0 to 9 999 999 km.
Number of over speeding events since the last over speeding control.
OverspeedNumber ::= INTEGER(0..255)
Value assignment: 0 means that no over speeding event has occurred since the last over speeding control, 1 means that one over speeding event has occurred since the last over speeding control ...255 means that 255 or more over speeding events have occurred since the last over speeding control.
Information related to a place where a daily work period begins or ends (requirements 087, 202,221).
PlaceRecord ::= SEQUENCE {
entryTime TimeReal,
entryTypeDailyWorkPeriod EntryTypeDailyWorkPeriod,
dailyWorkPeriodCountry NationNumeric,
dailyWorkPeriodRegion RegionNumeric,
vehicleOdometerValue OdometerShort
}
entryTime is a date and time related to the entry.
entryTypeDailyWorkPeriod is the type of entry.
dailyWorkPeriodCountry is the country entered.
dailyWorkPeriodRegion is the region entered.
vehicleOdometerValue is the odometer value at the time of place entry.
Information related to the vehicle previously used by a driver when inserting his card in a vehicle unit (requirement 081).
PreviousVehicleInfo ::= SEQUENCE {
vehicleRegistrationIdentification VehicleRegistrationIdentification,
cardWithdrawalTime TimeReal
}
vehicleRegistrationIdentification is the VRN and the registering Contracting Party of the vehicle.
cardWithdrawalTime is the card withdrawal date and time.
A public RSA key.
PublicKey ::= SEQUENCE {
rsaKeyModulus RSAKeyModulus,
rsaKeyPublicExponent RSAKeyPublicExponent
}
rsaKeyModulus is the Modulus of the key pair.
rsaKeyPublicExponent is the public exponent of the key pair.
Alphabetic reference to a region within a specified country.
RegionAlpha ::= IA5STRING(SIZE(3))
Value assignment:
Numerical reference to a region within a specified country.
RegionNumeric ::= OCTET STRING (SIZE(1))
Value assignment:
The modulus of a RSA key pair.
RSAKeyModulus ::= OCTET STRING (SIZE(128))
Value assignment: Unspecified.
The private exponent of a RSA key pair.
RSAKeyPrivateExponent ::= OCTET STRING (SIZE(128))
Value assignment: Unspecified.
The public exponent of a RSA key pair.
RSAKeyPublicExponent ::= OCTET STRING (SIZE(8))
Value assignment: Unspecified.
Type approval number of the sensor.
SensorApprovalNumber ::= IA5String(SIZE(8))
Value assignment: Unspecified.
Information, stored in a motion sensor, related to the identification of the motion sensor (requirement 077).
SensorIdentification ::= SEQUENCE {
sensorSerialNumber SensorSerialNumber,
SensorApprovalNumber SensorApprovalNumber,
sensorSCIdentifier SensorSCIdentifier,
sensorOSIdentifier SensorOSIdentifier
}
sensorSerialNumber is the extended serial number of the motion sensor (includes part number and manufacturer code).
SensorApprovalNumber is the approval number of the motion sensor.
sensorSCIdentifier is the identifier of the security component of the motion sensor.
sensorOSIdentifier is the identifier of the operating system of the motion sensor.
Information, stored in a motion sensor, related to the installation of the motion sensor (requirement 099).
SensorInstallation ::= SEQUENCE {
sensorPairingDateFirst SensorPairingDate,
firstVuApprovalNumber VuApprovalNumber,
firstVuSerialNumber VuSerialNumber,
sensorPairingDateCurrent SensorPairingDate,
currentVuApprovalNumber VuApprovalNumber,
currentVUSerialNumber VuSerialNumber
}
sensorPairingDateFirst is the date of the first pairing of the motion sensor with a vehicle unit.
firstVuApprovalNumber is the approval number of the first vehicle unit paired with the motion sensor.
firstVuSerialNumber is the serial number of the first vehicle unit paired with the motion sensor.
sensorPairingDateCurrent is the date of the current pairing of the motion sensor with the vehicle unit.
currentVuApprovalNumber is the approval number of the vehicle unit currently paired with the motion sensor.
currentVUSerialNumber is the serial number of the vehicle unit currently paired with the motion sensor.
Information, stored in a workshop card, related to the security data needed for pairing motion sensors to vehicle units (requirement 214).
SensorInstallationSecData ::= TDesSessionKey
Value assignment: in accordance with ISO 16844-3.
Identifier of the operating system of the motion sensor.
SensorOSIdentifier ::= IA5String(SIZE(2))
Value assignment: manufacturer specific.
Information, stored in a vehicle unit, related to the identification of the motion sensor paired with the vehicle unit (requirement 079).
SensorPaired ::= SEQUENCE {
sensorSerialNumber SensorSerialNumber,
sensorApprovalNumber SensorApprovalNumber,
sensorPairingDateFirst SensorPairingDate
}
sensorSerialNumber is the serial number of the motion sensor currently paired with the vehicle unit.
sensorApprovalNumber is the approval number of the motion sensor currently paired with the vehicle unit.
sensorPairingDateFirst is the date of the first pairing with a vehicle unit of the motion sensor currently paired with the vehicle unit.
Date of a pairing of the motion sensor with a vehicle unit.
SensorPairingDate ::= TimeReal
Value assignment: Unspecified.
Serial number of the motion sensor.
SensorSerialNumber ::= ExtendedSerialNumber
Identifier of the security component of the motion sensor.
SensorSCIdentifier ::= IA5String(SIZE(8))
Value assignment: component manufacturer specific.
A digital signature.
Signature ::= OCTET STRING (SIZE(128))
Value assignment: in accordance with sub-appendix 11 Common security mechanisms.
The number of similar events for one given day (requirement 094).
SimilarEventsNumber ::= INTEGER(0..255)
Value assignment: 0 is not used, 1 means that only one event of that type has occurred and has been stored on that day, 2 means that 2 events of that type has occurred on that day (one only has been stored), ...255 means that 255 or more events of that type have occurred on that day.
Code identifying a specific condition (requirements 050b, 105a, 212a and 230a).
SpecificConditionType ::= INTEGER(0..255)
Value assignment:
Information, stored in a driver card, a workshop card or a vehicle unit, related to a specific condition (requirements 105a, 212a and 230a).
SpecificConditionRecord ::= SEQUENCE {
entryTime TimeReal,
specificConditionType SpecificConditionType
}
entryTime is the date and time of the entry.
specificConditionType is the code identifying the specific condition.
Speed of the vehicle (km/h).
Speed ::= INTEGER(0..255)
Value assignment: kilometre per hour in the operational range 0 to 220 km/h.
Maximum authorised Speed of the vehicle (definition bb)).
SpeedAuthorised ::= Speed
Average speed in a previously defined duration (km/h).
SpeedAverage ::= Speed
Maximum speed measured in a previously defined duration.
SpeedMax ::= Speed
A triple DES session key.
TDesSessionKey ::= SEQUENCE {
tDesKeyA OCTET STRING (SIZE(8))
tDesKeyB OCTET STRING (SIZE(8))
}
Value assignment: not further specified.
Code for a combined date and time field, where the date and time are expressed as seconds past 00h.00m.00s. on 1 January 1970 GMT.
TimeReal{INTEGER:TimeRealRange} ::= INTEGER(0..TimeRealRange)
Value assignment - Octet Aligned: Number of seconds since midnight 1 January 1970 GMT.
The max. possible date/time is in the year 2106.
Designation of tyre dimensions.
TyreSize ::= IA5String(SIZE(15))
Value assignment: in accordance with ECE Regulation N 54 <*>.
--------------------------------
<*> Reference text in the EU is Directive 92/23/EEC relating to tyres for motor vehicles and their trailers and to their fitting of 31 March 1992 (OJ No L 129, 14/05/1992).
Vehicle Identification Number (VIN) referring to the vehicle as a whole, normally chassis serial number or frame number.
VehicleIdentificationNumber ::= IA5String(SIZE(17))
Value assignment: As defined in ISO 3779.
Identification of a vehicle, unique for Europe (VRN and Contracting Party)
VehicleRegistrationIdentification ::= SEQUENCE {
vehicleRegistrationNation NationNumeric,
vehicleRegistrationNumber VehicleRegistrationNumber
}
vehicleRegistrationNation is the nation where the vehicle is registered.
vehicleRegistrationNumber is the registration number of the vehicle (VRN).
Registration number of the vehicle (VRN). The registration number is assigned by the vehicle licensing authority.
VehicleRegistrationNumber ::= SEQUENCE {
codePage INTEGER (0..255),
vehicleRegNumber OCTET STRING (SIZE(13))
}
codePage specifies the part of the ISO/IEC 8859 used to code the vehicleRegNumber,
vehicleRegNumber is a VRN coded in accordance with ISO/IEC 8859-codePage.
Value assignment: Country specific.
Information, stored in a VU, related to changes of activity and/or changes of driving status and/or changes of card status for a given calendar day (requirement 084) and to slots status at 00:00 that day.
VuActivityDailyData ::= SEQUENCE {
noOfActivityChanges INTEGER SIZE(0..1440),
activityChangeInfos SET SIZE(noOfActivityChanges) OF
ActivityChangeInfo
}
noOfActivityChanges is the number of ActivityChangeInfo words in the activityChangeInfos set.
activityChangeInfos is the set of ActivityChangeInfo words stored in the VU for the day. It always includes two ActivityChangeInfo words giving the status of the two slots at 00:00 that day.
Type approval number of the vehicle unit.
VuApprovalNumber ::= IA5String(SIZE(8))
Value assignment: Unspecified.
Information, stored in a vehicle unit, related to the calibrations of the control device (requirement 098).
VuCalibrationData ::= SEQUENCE {
noOfVuCalibrationRecords INTEGER(0..255),
vuCalibrationRecords SET SIZE(noOfVuCalibrationRecords) OF
VuCalibrationRecord
}
noOfVuCalibrationRecords is the number of records contained in the vuCalibrationRecords set.
vuCalibrationRecords is the set of calibration records.
Information, stored in a vehicle unit, related a calibration of the control device (requirement 098).
VuCalibrationRecord ::= SEQUENCE {
calibrationPurpose CalibrationPurpose,
workshopName Name,
workshopAddress Address,
workshopCardNumber FullCardNumber,
workshopCardExpiryDate TimeReal,
vehicleIdentificationNumber VehicleIdentificationNumber,
vehicleRegistrationIdentification VehicleRegistrationIdentification,
wVehicleCharacteristicConstant W-VehicleCharacteristicConstant,
kConstantOfRecordingEquipment K-ConstantOfRecordingEquipment,
lTyreCircumference L-TyreCircumference,
tyreSize TyreSize,
authorisedSpeed SpeedAuthorised,
oldOdometerValue OdometerShort,
newOdometerValue OdometerShort,
oldTimeValue TimeReal,
newTimeValue TimeReal,
nextCalibrationDate TimeReal
}
calibrationPurpose is the purpose of the calibration.
workshopName, workshopAddress are the workshop name and address.
workshopCardNumber identifies the workshop card used during the calibration.
workshopCardExpiryDate is the card expiry date.
vehicleIdentificationNumber is the VIN.
vehideRegistrationIdentification contains the VRN and registering Contracting Party.
wVehicleCharacteristicConstant is the characteristic coefficient of the vehicle.
kConstantOfRecordingEquipment is the constant of the control device.
lTyreCircumference is the effective circumference of the wheel tyres.
tyreSize is the designation of the dimension of the tyres mounted on the vehicle
authorisedSpeed is the authorised speed of the vehicle.
oldOdometerValue, newOdometerValue are the old and new values of the odometer.
oldTimeValue, newTimeValue are the old and new values of date and time.
nextCalibrationDate is the date of the next calibration of the type specified in CalibrationPurpose to be carried out by the authorised inspection authority.
Information, stored in a vehicle unit, related to insertion and withdrawal cycles of driver cards or of workshop cards in the vehicle unit (requirement 081).
VuCardIWData ::= SEQUENCE {
noOfIWRecords INTEGER
, vuCardIWRecords SET SIZE(noOfIWRecords) OF
VuCardIWRecord
}
noOfIWRecords is the number of records in the set vuCardIWRecords.
vuCardIWRecords is a set of records related to card insertion withdrawal cycles.
Information, stored in a vehicle unit, related to an insertion and withdrawal cycle of a driver card or of a workshop card in the vehicle unit (requirement 081).
VuCardIWRecord ::= SEQUENCE {
cardHolderName HolderName,
fullCardNumber FullCardNumber,
cardExpiryDate TimeReal,
cardInsertionTime TimeReal,
vehicleOdometerValueAtInsertion OdometerShort,
cardSlotNumber CardSlotNumber,
cardWithdrawalTime TimeReal,
vehicleOdometerValueAtWithdrawal OdometerShort,
previousVehicleInfo PreviousVehicleInfo
manualInputFlag ManualInputFlag
}
cardHolderName is the driver or workshop card holder's surname and first names as stored in the card.
fullCardNumber is the type of card, its issuing Contracting Party and its card number as stored in the card.
cardExpiryDate is the card's expiry date as stored in the card.
cardInsertionTime is the insertion date and time.
vehicleOdometerValueAtInsertion is the vehicle odometer value at card insertion.
cardSlotNumber is the slot in which the card is inserted.
cardWithdrawalTime is the withdrawal date and time.
vehicleOdometerValueAtWithdrawal is the vehicle odometer value at card withdrawal.
previousVehicleInfo contains information about the previous vehicle used by the driver, as stored in the card.
manualInputFlag is a flag identifying if the cardholder has manually entered driver activities at card insertion.
Certificate of the public key of a vehicle unit.
VuCertificate ::= Certificate
Information, stored in a vehicle unit, related to company locks (requirement 104).
VuCompanyLocksData ::= SEQUENCE {
noOfLocks INTEGER(0..20),
vuCompanyLocksRecords SET SIZE(noOfLocks) OF
VuCompanyLocksRecord
}
noOfLocks is the number of locks listed in vuCompanyLocksRecords.
vuCompanyLocksRecords is the set of company locks records.
Information, stored in a vehicle unit, related to one company lock (requirement 104).
VuCompanyLocksRecord ::= SEQUENCE {
lockInTime TimeReal,
lockOutTime TimeReal,
companyName Name,
companyAddress Address,
companyCardNumber FullCardNumber
}
lockInTime, lockOutTime are the date and time of lock-in and lock-out.
companyName, company Address are the company name and address related with the lock-in.
companyCardNumber identifies the card used at lock-in.
Information, stored in a vehicle unit, related to controls performed using this VU (requirement 102).
VuControlActivityData ::= SEQUENCE {
noOfControls INTEGER(0..20),
vuControlActivityRecords SET SIZE(noOfControls) OF
VuControlActivityRecord
}
noOfControls is the number of controls listed in vuControlActivityRecords.
vuControlActivityRecords is the set of control activity records.
Information, stored in a vehicle unit, related to a control performed using this VU (requirement 102).
VuControlActivityRecord ::= SEQUENCE {
controlType ControlType,
controlTime TimeReal,
controlCardNumber FullCardNumber,
downloadPeriodBeginTime TimeReal,
downloadPeriodEndTime TimeReal
}
controlType is the type of the control.
controlTime is the date and time of the control.
controlCardNumber identifies the control card used for the control.
downloadPeriodBeginTime is the begin time of the downloaded period, in case of downloading.
downloadPeriodEndTime is the end time of the downloaded period, in case of downloading.
Counter, stored in a card, identifying sequentially the insertion withdrawal cycles of the card in vehicle units.
VuDataBlockCounter ::= BCDString(SIZE(2))
Value assignment: Consecutive Number with max, value 9 999, starting again with 0.
Information, stored in a vehicle unit, related to the vehicle's detailed speed for a minute during which the vehicle has been moving (requirement 093).
VuDetailedSpeedBlock ::= SEQUENCE {
speedBlockBeginDate TimeReal,
speedsPerSecond SEQUENCE SIZE(60) OF Speed
}
speedBlockBeginDate is the date and time of the first speed value within the block.
speedsPerSecond is the chronological sequence of measured speeds every seconds for the minute starting at speedBlockBeginDate (included).
Information, stored in a vehicle unit, related to the detailed speed of the vehicle.
VuDetailedSpeedData ::= SEQUENCE {
noOfSpeedBlocks INTEGER
, vuDetailedSpeedB locks SET SIZE(noOfSpeedBlocks) OF
VuDetailedSpeedBlock
}
noOfSpeedBlocks is the number of speed blocks in the vuDetailedSpeedB locks set.
vuDetailedSpeedBlocks is the set of detailed speed blocks.
Oldest and latest dates for which a vehicle unit holds data related to drivers activities (requirements 081, 084 or 087).
VuDownloadablePeriod ::= SEQUENCE {
minDownloadableTime TimeReal
maxDownloadableTime TimeReal
}
minDownloadableTime is the oldest card insertion or activity change or place entry date and time stored in the VU.
maxDownloadableTime is the latest card withdrawal or activity change or place entry date and time stored in the VU.
Information, stored in a vehicle unit, related to its last download (requirement 105).
VuDownloadActivityData ::= SEQUENCE {
downloadingTime TimeReal,
fullCardNumber FullCardNumber,
companyOrWorkshopName Name
}
downloadingTime is the date and time of downloading.
fullCardNumber identifies the card used to authorise the download.
companyOrWorkshopName is the company or workshop name.
Information, stored in a vehicle unit, related to events (requirement 094 except over speeding event).
VuEventData ::= SEQUENCE {
noOfVuEvents INTEGER(0..255),
vuEventRecords SET SIZE(noOfVuEvents) OF VuEventRecord
}
noOfVuEvents is the number of events listed in the vuEventRecords set.
vuEventRecords is a set of events records.
Information, stored in a vehicle unit, related to an event (requirement 094 except over speeding event).
VuEventRecord ::= SEQUENCE {
eventType EventFaultType,
eventRecordPurpose EventFaultRecordPurpose,
eventBeginTime TimeReal,
eventEndTime TimeReal,
cardNumberDriverSlotBegin FullCardNumber,
cardNumberCodriverSlotBegin FullCardNumber,
cardNumberDriverSlotEnd FullCardNumber,
cardNumberCodriverSlotEnd FullCardNumber,
similarEventsNumber SimilarEventsNumber
}
eventType is the type of the event.
eventRecordPurpose is the purpose for which this event has been recorded.
eventBeginTime is the date and time of beginning of event.
eventEndTime is the date and time of end of event.
cardNumberDriverSlotBegin identifies the card inserted in the driver slot at the beginning of the event.
cardNumberCodriverSlotBegin identifies the card inserted in the co-driver slot at the beginning of the event.
cardNumberDriverSlotEnd identifies the card inserted in the driver slot at the end of the event.
cardNumberCodriverSlotEnd identifies the card inserted in the co-driver slot at the end of the event.
similarEventsNumber is the number of similar events that day.
This sequence can be used for all events other than over speeding events.
Information, stored in a vehicle unit, related to faults (requirement 096).
VuFaultData ::= SEQUENCE {
noOfVuFaults INTEGER(0..255),
vuFaultRecords SET SIZE(noOfVuFaults) OF VuFaultRecord
}
noOfVuFaults is the number of faults listed in the vuFaultRecords set.
vuFaultRecords is a set of faults records.
Information, stored in a vehicle unit, related to a fault (requirement 096).
VuFaultRecord ::= SEQUENCE {
faultType EventFaultType,
faultRecordPurpose EventFaultRecordPurpose,
faultBeginTime TimeReal,
faultEndTime TimeReal,
cardNumberDriverSlotBegin FullCardNumber,
cardNumberCodriverSlotBegin FullCardNumber,
cardNumberDriverSlotEnd FullCardNumber,
cardNumberCodriverSlotEnd FullCardNumber
}
faultType is the type of control device fault.
faultRecordPurpose is the purpose for which this fault has been recorded.
faultBeginTime is the date and time of beginning of fault.
faultEndTime is the date and time of end of fault.
cardNumberDriverSlotBegin identifies the card inserted in the driver slot at the beginning of the fault.
cardNumberCodriverSlotBegin identifies the card inserted in the co-driver slot at the beginning of the fault.
cardNumberDriverSlotEnd identifies the card inserted in the driver slot at the end of the fault.
cardNumberCodriverSlotEnd identifies the card inserted in the co-driver slot at the end of the fault.
Information, stored in a vehicle unit, related to the identification of the vehicle unit (requirement 075).
VuIdentification ::= SEQUENCE {
vuManufacturerName VuManufacturerName,
vuManufacturerAddress VuManufacturerAddress,
vuPartNumber VuPartNumber,
vuSerialNumber VuSerialNumber,
vuSoftwareIdentification VuSoftwareIdentification,
vuManufacturingDate VuManufacturingDate,
vuApprovalNumber VuApprovalNumber
}
vuManufacturerName is the name of the manufacturer of the vehicle unit.
vuManufacturerAddress is the address of the manufacturer of the vehicle unit.
vuPartNumber is the part number of the vehicle unit.
vuSerialNumber is the serial number of the vehicle unit.
vuSoftwareIdentification identifies the software implemented in the vehicle unit.
vuManufacturingDate is the manufacturing date of the vehicle unit.
vuApprovalNumber is the type approval number of the vehicle unit.
Address of the manufacturer of the vehicle unit.
VuManufacturerAddress ::= Address
Value assignment: Unspecified.
Name of the manufacturer of the vehicle unit.
VuManufacturerName ::= Name
Value assignment: Unspecified.
Date of manufacture of the vehicle unit.
VuManufacturingDate ::= TimeReal
Value assignment: Unspecified.
Information, stored in a vehicle unit, related to over speeding events since the last over speeding control (requirement 095).
VuOverSpeedingControlData ::= SEQUENCE {
lastOverspeedControlTime TimeReal,
firstOverspeedSince TimeReal,
numberOfOverspeedSince OverspeedNumber
}
lastOverspeedControlTime is the date and time of the last over speeding control.
firstOverspeedSince is the date and time of the first over speeding following this over speeding control.
numberOfOverspeedSince is the number of over speeding events since the last over speeding control.
Information, stored in a vehicle unit, related to over speeding events (requirement 094).
VuOverSpeedingEventData ::= SEQUENCE {
noOfVuOverSpeedingEvents INTEGER(0..255),
vuOverSpeedingEventRecords SET SIZE(noOfVuOverSpeedingEvents) OF
VuOverSpeedingEventRecord
}
noOfVuOverSpeedingEvents is the number of events listed in the vuOverSpeedingEventRecords set.
vuOverSpeedingEventRecords is a set of over speeding events records.
Information, stored in a vehicle unit, related to over speeding events (requirement 094).
VuOverSpeedingEventRecord ::= SEQUENCE {
eventType EventFaultType,
eventRecordPurpose EventFaultRecordPurpose,
eventBeginTime TimeReal,
eventEndTime TimeReal,
maxSpeedValue SpeedMax,
averageSpeedValue SpeedAverage,
cardNumberDriverSlotBegin FullCardNumber,
similarEventsNumber SimilarEventsNumber
}
eventType is the type of the event.
eventRecordPurpose is the purpose for which this event has been recorded.
eventBeginTime is the date and time of beginning of event.
eventEndTime is the date and time of end of event.
maxSpeedValue is the maximum speed measured during the event.
averageSpeedValue is the arithmetic average speed measured during the event.
cardNumberDriverSlotBegin identifies the card inserted in the driver slot at the beginning of the event.
similarEventsNumber is the number of similar events that day.
Part number of the vehicle unit.
VuPartNumber ::= IA5String(SIZE(16))
Value assignment: VU manufacturer specific.
Information, stored in a vehicle unit, related to places where drivers begin or end a daily work periods (requirement 087).
VuPlaceDailyWorkPeriodData ::= SEQUENCE {
noOfPlaceRecords INTEGER(0..255),
vuPlaceDailyWorkPeriodRecords SET SIZE(noOfPlaceRecords) OF
VuPlaceDailyWorkPeriodRecord
}
noOfPlaceRecords is the number of records listed in the vuPlaceDailyWorkPeriodRecords set.
vuPlaceDailyWorkPeriodRecords is a set of place related records.
Information, stored in a vehicle unit, related to a place where a driver begins or ends a daily work period (requirement 087).
VuPlaceDailyWorkPeriodRecord ::= SEQUENCE {
fullCardNumber FullCardNumber,
placeRecord PlaceRecord
}
fullCardNumber is the driver's card type, card issuing Contracting Party and card number.
placeRecord contains the information related to the place entered.
The private key of a vehicle unit.
VuPrivateKey ::= RSAKeyPrivateExponent
The public key of a vehicle unit.
VuPublicKey ::= PublicKey
Serial number of the vehicle unit (requirement 075).
VuSerialNumber ::= ExtendedSerialNumber
Date of installation of the vehicle unit software version.
VuSoftInstallationDate ::= TimeReal
Value assignment: Unspecified.
Information, stored in a vehicle unit, related to the software installed.
VuSoftwareIdentification ::= SEQUENCE {
vuSoftwareVersion VuSoftwareVersion,
VuSoftInstallationDate VuSoftInstallationDate
}
vuSoftwareVersion is the software version number of the Vehicle Unit.
VuSoftInstallationDate is the software version installation date.
Software version number of the vehicle unit.
VuSoftwareVersion ::= IA5String(SIZE(4))
Value assignment: Unspecified.
Information, stored in a vehicle unit, related to specific conditions.
VuSpecificConditionData ::= SEQUENCE {
noOfSpecificConditionRecords INTEGER
![]() specificConditionRecords SET SIZE (noOfSpecificConditionRecords) OF
SpecificConditionRecord
}
noOfSpecificConditionRecords is the number of records listed in the specificConditionRecords set.
specificConditionRecords is a set of specific conditions related records.
Information, stored in a vehicle unit, related to time adjustments performed outside the frame of a regular calibration (requirement 101).
VuTimeAdjustmentData ::= SEQUENCE {
noOfVuTimeAdjRecords INTEGER(0..6),
vuTimeAdjustmentRecords SET SIZE(noOfVuTimeAdjRecords) OF
VuTimeAdjustmentRecord
}
noOfVuTimeAdjRecords is the number of records in vuTimeAdjustmentRecords.
vuTimeAdjustmentRecords is a set of time adjustment records.
Information, stored in a vehicle unit, related a time adjustment performed outside the frame of a regular calibration (requirement 101).
VuTimeAdjustmentRecord ::= SEQUENCE {
newTimeValue TimeReal,
workshopName Name,
workshopAddress Address,
workshopCardNumber FullCardNumber
}
oldTimeValue, newTimeValue are the old and new values of date and time.
workshopName, workshopAddress are the workshop name and address.
workshopCardNumber identifies the workshop card used to perform the time adjustment.
Characteristic coefficient of the vehicle (definition k)).
W-VehicleCharacteristicConstant ::= INTEGER(0..216 - 1))
Value assignment: Impulses per kilometre in the operating range 0 to 64 255 pulses/km.
Information, stored in a workshop card related to the identification of the application of the card (requirement 190).
WorkshopCardApplicationIdentification ::= SEQUENCE {
typeOfTachographCardId EquipmentType,
cardStructureVersion CardStructureVersion,
noOffiventsPerType NoOffiventsPerType,
noOfFaultsPerType NoOfFaultsPerType,
activityStructureLength CardActivityLengthRange,
noOfCardVehicleRecords NoOfCardVehicleRecords,
noOfCardPlaceRecords NoOfCardPlaceRecords,
noOfCalibrationRecords NoOfCalibrationRecords
}
typeOfTachographCardId is specifying the implemented type of card.
cardStructureVersion is specifying the the version of the structure that is implemented in the card.
noOfEventsPerType is the number of events per type of event the card can record.
noOfFaultsPerType is the number of faults per type of fault the card can record.
activityStructureLength indicates the number of bytes available for storing activity records..
noOfCardVehicleRecords is the number of vehicle records the card can contain.
noOfCardPlaceRecords is the number of places the card can record.
noOfCalibrationRecords is the number of calibration records the card can store.
Information, stored in a workshop card, related to workshop activity performed with the card (requirements 227 and 229).
WorkshopCardCalibrationData ::= SEQUENCE {
calibrationTotalNumber INTEGER
, calibrationPointerNewestRecord INTEGER(0 .. NoOfCalibrationRecords-1),
calibrationRecords SET SIZE(NoOfCalibrationRecords) OF
WorkshopCardCalibrationRecord
}
calibrationTotalNumber is the total number of calibrations performed with the card.
calibrationPointerNewestRecord is the index of the last updated calibration record.
Value assignment: Number corresponding to the numerator of the calibration record, beginning with '0' for the first occurrence of the calibration records in the structure.
calibrationRecords is the set of records containing calibration and/or time adjustment information.
Information, stored in a workshop card, related to a calibration performed with the card (requirement 227).
WorkshopCardCalibrationRecord ::= SEQUENCE {
calibrationPurpose CalibrationPurpose,
vehicleIdentificationNumber VehicleIdentificationNumber,
vehicleRegistration VehicleRegistrationIdentification,
wVehicleCharacteristicConstant W-VehicleCharacteristicConstant,
kConstantOfRecordingEquipment K-ConstantOfRecordingEquipment,
lTyreCircumference L-TyreCircumference,
tyreSize TyreSize,
authorisedSpeed SpeedAuthorised,
oldOdometerValue OdometerShort,
newOdometerValue OdometerShort,
oldTimeValue TimeReal,
newTimeValue TimeReal,
nextCalibrationDate TimeReal,
vuPartNumber VuPartNumber,
vuSerialNumber VuSerialNumber,
sensorSerialNumber SensorSerialNumber
}
calibrationPurpose is the purpose of the calibration.
vehicleIdentificationNumber is the VIN.
vehicleRegistration contains the VRN and registering Contracting Party.
wVehicleCharacteristicConstant is the characteristic coefficient of the vehicle.
kConstantOfRecordingEquipment is the constant of the control device.
lTyreCircumference is the effective circumference of the wheel tyres.
tyreSize is the designation of the dimensions of the tyres mounted on the vehicle.
authorisedSpeed is the maximum authorised speed of the vehicle.
oldOdometerValue, newOdometerValue are the old and new values of the odometer.
oldTimeValue, newTimeValue are the old and new values of date and time.
nextCalibrationDate is the date of the next calibration of the type specified in CalibrationPurpose to be carried out by the authorised inspection authority.
vuPartNumber, vuSerialNumber and sensorSerialNumber are the data elements for control device identification.
Information, stored in a workshop card, related to the identification of the cardholder (requirement 216).
WorkshopCardHolderIdentification ::= SEQUENCE {
workshopName Name,
workshopAddress Address,
cardHolderName HolderName,
cardHolderPreferredLanguage Language
}
workshopName is name of the workshop of the card holder.
workshopAddress is the address of the workshop of the card holder.
cardHolderName is the name and first name(s) of the holder (e.g. the name of the mechanic).
cardHolderPreferredLanguage is the preferred language of the card holder.
Personal identification number of the Workshop Card (requirement 213).
WorkshopCardPIN ::= IA5String(SIZE(8))
Value assignment: The PIN known to the cardholder, right padded with 'FF' bytes up to 8 bytes.
Definition of variable values used for definitions in paragraph 2.
TimeRealRange ::= 232 - 1
IA5Strings use the ASCII characters as defined by ISO/IEC 8824-1. For readability and for easy referencing the value assignment is given below. The ISO/IEC 8824-1 supersedes this informative note in case of discrepancy.
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ]
Other character strings (Address, Name, VehicleRegistrationNumber) use, in addition, the characters defined by the codes 192 to 255 of ISO/IEC 8859-1 (Latin1 character set) or ISO/IEC 8859-7 (Greek character set):
When encoded with ASN.1 encoding rules, all data types defined shall be encoded according to ISO/IEC 8825-2, aligned variant.
For the purpose of this sub-appendix, the following abbreviations apply.
The following references are used in this sub-appendix:
TCS_200 All electronic signals shall be in accordance with ISO/IEC 7816-3 unless specified otherwise.
TCS_201 The location and dimensions of the card contacts shall comply with the ISO/IEC 7816-2.
TCS_202 The card shall work according to specifications within the consumption limits specified in ISO/IEC 7816-3.
TCS_203 The card shall work with Vcc = 3V (+/- 0.3V) or with Vcc = 5V (+/- 0.5V).
Voltage selection shall be performed according to ISO/IEC 7816-3.
TCS_204 The card shall not require a programming voltage at pin C6. It is expected that pin C6 is not connected in an IFD. Contact C6 may be connected to Vcc in the card but shall not be connected to ground. This voltage should not be interpreted in any case.
TCS_205 The card shall operate within a frequency range of 1 to 5 MHz. Within one card session the clock frequency may vary +/- 2%. The clock frequency is generated by the Vehicle Unit and not the card itself. The duty cycle may vary between 40 and 60%.
TCS_206 Under conditions contained into the card file EFICC, the external clock can be stopped. The first byte of the EFICC file body codes the Clockstop mode conditions (see EN 726-3 for further details):
TCS_207 The I/O contact C7 is used to receive data from and to transmit data to the IFD. During operation only either the card or the IFD shall be in transmit mode. Should both units be in transmit mode no damage shall occur to the card. Unless transmitting, the card shall enter the reception mode.
TCS_208 The card works in two states while the supply voltage is applied:
- Operation state while executing commands or interfacing with Digital Unit,
- Idle state at all other times; in this state all data shall be retained by the card.
This paragraph describes the minimum functionality required by Tachograph cards and VUs to ensure correct operation and interoperability.
Tachograph cards are as compliant as possible with the available ISO/IEC applicable norms (especially ISO/IEC 7816). However, commands and protocols are fully described in order to specify some restricted usage or some differences if they exist. The commands specified are fully compliant with the referred norms except where indicated.
TCS_300 The Transmission protocol shall be compliant with ISO/IEC 7816-3. In particular, the VU shall recognise waiting time extensions sent by the card.
TCS_301 The card shall provide both protocol T = 0 and protocol T = 1.
TCS_302 T = 0 is the default protocol, a PTS command is therefore necessary to change the protocol to T = 1.
TCS_303 Devices shall support direct convention in both protocols: the direct convention is hence mandatory for the card.
TCS_304 The Information Field Size Card byte shall be presented at the ATR in character TA3. This value shall be at least 'F0h' (= 240 bytes).
The following restrictions apply to the protocols:
TCS_305 T = 0
- The interface device shall support an answer on I/O after the rising edge of the signal on RST from 400 cc.
- The interface device shall be able to read characters separated with 12 etu.
- The interface device shall read an erroneous character and its repetition if separated with 13 etu. If an erroneous character is detected, the Error signal on I/O can occur between 1 etu and 2 etu. The device shall support a 1 etu delay.
- The interface device shall accept a 33 bytes ATR (TS + 32)
- If TC1 is present in the ATR, the Extra Guard Time shall be present for characters sent by the interface device although characters sent by the card can still be separated with 12 etu. This is also true for the ACK character sent by the card after a P3 character emitted by the interface device.
- The interface device shall take into account a NUL character emitted by the card.
- The interface device shall accept the complementary mode for ACK.
- The get-response command cannot be used in chaining mode to get a data which length could exceed 255 bytes.
TCS_306 T = 1
- NAD byte: not used (NAD shall be set to '00').
- S-block ABORT: not used.
- S-block VPP state error: not used.
- The total chaining length for a data field will not exceed 255 bytes (to be ensured by the IFD).
- The Information Field Size Device (IFSD) shall be indicated by the IFD immediately after the ATR: the IFD shall transmit the S-Block IFS request after the ATR and the card shall send back S-Block IFS. The recommended value for IFSD is 254 bytes.
- The card will not ask for an IFS readjustment.
TCS_307 The device checks ATR bytes, according to ISO/IEC 7816-3. No verification shall be done on ATR Historical Characters.
Example of Basic Biprotocol ATR according to ISO/IEC 7816-3
TCS_308 After the Answer To Reset (ATR), the Master File (MF) is implicitly selected and becomes the Current Directory.
TCS_309 The default Protocol is T = 0. To set the T = 1 protocol, a PTS (also known as PPS) must be sent to the card by the device.
TCS_310 As both T = 0 and T = 1 protocols are mandatory for the card, the basic PTS for protocol switching is mandatory for the card.
The PTS can be used, as indicated in ISO/IEC 7816-3, to switch to higher baud rates than the default one proposed by the card in the ATR if any (TA(1) byte).
Higher baud rates are optional for the card.
TCS_311 If no other baud rate than the default one are supported (or if the selected baud rate is not supported), the card shall respond to the PTS correctly according to ISO/IEC 7816-3 by omitting the PPS 1 byte.
Examples of basic PTS for protocol selection are the following:
Access Conditions (AC) for the UPDATE_BINARY and READ_BINARY commands are defined for each Elementary File.
TCS_312 The AC of the current file must be met before accessing the file via these commands.
The definitions of the available access conditions are the following:
- ALW: The action is always possible and can be executed without any restriction.
- NEV: The action is never possible.
- AUT: The right corresponding a successful external authentication must be opened up (done by the EXTERNAL_AUTHENTICATE command).
- PRO SM: Command must be transmitted with a cryptographic checksum using secure messaging (See sub-appendix 11).
- AUT and PRO SM (combined)
On the processing commands (UPDATE_BINARY and READ_BINARY), the following access conditions can be set in the card:
The PRO SM access condition is not available for the READ_BINARY command. It means that the presence of a cryptographic checksum for a READ command is never mandatory. However, using the value 'OC' for the class, it is possible to use the READ_BINARY command with secure messaging, as described in paragraph 3.6.2.
When confidentiality of data to be read from a file needs to be protected, the file is marked as "Encrypted". Encryption is performed using secure messaging (See sub-appendix 11).
Commands and file organisation are deduced from and complies with ISO/IEC 7816-4.
TCS_313 This section describes the following APDU command-response pairs:
TCS_314 The status word SW1 SW2 are returned in any response message and denote the processing state of the command.
The mandatory commands for the Tachograph cards are described in this chapter.
Additional relevant details, related to cryptographic operations involved, are given in sub-appendix 11 Common security mechanisms.
All commands are described independently of the used protocol (T = 0 or T = 1). The APDU bytes CLA, INS, PI, P2, Lc and Le are always indicated. If Lc or Le is not needed for the described command, the associated length, value and description are empty.
TCS_315 If both length bytes (Lc and Le) are requested, the described command has to be split in two parts if the IFD is using protocol T = 0: the IFD sends the command as described with P3 = Lc + data and then sends a GET_RESPONSE (see § 3.6.6) command with P3 = Le.
TCS_316 If both length bytes are requested, and Le = 0 (secure messaging):
- When using protocol T = 1, the card shall answer to Le = 0 by sending all available output data.
- When using protocol T = 0, the IFD shall send the first command with P3 = Lc + data, the card shall answer (to this implicit Le = 0) by the Status bytes '61La', where La is the number of response bytes available. The IFD shall then generate a GET REPONSE command with P3 = La to read the data.
This command is compliant with ISO/IEC 7816-4, but has a restricted usage compared to the command defined in the norm.
The SELECT FILE command is used:
- to select an application DF (selection by name must be used)
- to select an elementary file corresponding to the submitted file ID
This command allows to select an application DF in the card.
TCS_317 This command can be performed from anywhere in the file structure (after the ATR or at anytime).
TCS_318 The selection of an application resets the current security environment. After performing the application selection, no current public key is selected anymore and the former session key is no longer available for secure messaging. The AUT access condition is also lost.
TCS_319 Command Message
TCS_320 Response Message (no response asked)
- If the command is successful, the card returns '9000'.
- If the application corresponding with the AID is not found, the processing state returned is '6A82'.
- In T = 1, if the byte Le is present, the state returned is '6700'.
- In T = 0, if a response is asked after the SELECT FILE command, the state returned is '6900'.
- If the selected application is considered corrupted (integrity error is detected within the file attributes), the processing state returned is '6400' or '6581'.
using its File Identifier
TCS_321 Command Message
TCS_322 Response Message (no response asked)
- If the command is successful, the card returns '9000'.
- If the file corresponding with the file identifier is not found, the processing state returned is '6A82'.
- In T = 1, if the byte Le is present, the state returned is '6700'.
- In T = 0, if a response is asked after the SELECT FILE command, the state returned is '6900'.
- If the selected file is considered corrupted (integrity error is detected within the file attributes), the processing state returned is '6400' or '6581'.
This command is compliant with ISO/IEC 7816-4, but has a restricted usage compared to the command defined in the norm.
The Read Binary command is used to read data from a transparent file.
The response of the card consists of returning the data read, optionally encapsulated in a secure messaging structure.
TCS_323 The command can be performed only if the security status satisfies the security attributes defined for the EF for the READ function.
This command enables the IFD to read data from the EF currently selected, without secure messaging.
TCS_324 Reading data from a file marked as "Encrypted" shall not be possible through this command.
TCS_325 Command Message
TCS_326 Response Message
- f the command is successful, the card returns '9000'.
- If no EF is selected, the processing state returned is '6986'.
- If the Access Control of the selected file are not satisfied, the command is interrupted with '6982'.
- If the Offset is not compatible with the size of the EF (Offset > EF size), the processing state returned is '6B00'.
- If the size of the data to be read is not compatible with the size of the EF (Offset + Le > EF size) the processing state returned is '6700' or '6Cxx' where 'xx' indicates the exact length.
- If an integrity error is detected within the file attributes, the card shall consider the file as corrupted and unrecoverable, the processing state returned is '6400' or '6581'.
- If an integrity error is detected within the stored data, the card shall return the demanded data, and the processing state returned is '6281'.
This command enables the IDF to read data from the EF currently selected with secure messaging, in order to verify the integrity of the data received and to protect the confidentiality of the data in the case the EF is marked as "Encrypted".
TCS_327 Command Message
TCS_328 Response Message if EF is not marked as "Encrypted" and if Secure Messaging input format is correct:
TCS_329 Response Message if EF is marked as "Encrypted" and if Secure Messaging input format is correct:
The encrypted data returned contain a first byte indicating the used padding mode. For the tachograph application, the padding indicator always takes the value '01h', indicating that the used padding mode is the one specified in ISO/IEC 7816-4 (one byte with value '80h' followed by some null bytes: ISO/IEC 9797 method 2).
The "regular" processing states, described for the READ BINARY command with no secure messaging (see § 3.6.2.1), can be returned using the response message structures described above, under a '99h' Tag (as described in TCS 335).
Additionally, some errors specifically related to secure messaging can happen. In that case, the processing state is simply returned, with no secure messaging structure involved:
TCS_330 Response Message if incorrect Secure Messaging input format
- If no current session key is available, the processing state '6A88' is returned. It happens either if the session key has not already been generated or if the session key validity has expired (in this case the EFD must re-run a mutual authentication process to set a new session key).
- If some expected data objects (as specified above) are missing in the secure messaging format, the processing state '6987' is returned: this error happens if an expected tag is missing or if the command body is not properly constructed.
- If some data objects are incorrect, the processing state returned is '6988': this error happens if all the required tags are present but some lengths are different from the ones expected.
- If the verification of the cryptographic checksum fails, the processing state returned is '6688'.
This command is compliant with ISO/IEC 7816-4, but has a restricted usage compared to the command defined in the norm.
The UPDATE BINARY command message initiates the update (erase + write) of the bits already present in an EF binary with the bits given in the command APDU.
TCS_331 The command can be performed only if the security status satisfies the security attributes defined for the EF for the UPDATE function (If the Access Control of the UPDATE function includes PRO SM, a Secure Messaging must be added in the command).
This command enables the IFD to write data into the EF currently selected, without the card verifying the integrity of data received. This plain mode is allowed only if the related file is not marked as "Encrypted".
TCS_332 Command Message
TCS_333 Response Message
- If the command is successful, the card returns '9000'.
- If no EF is selected, the processing state returned is '6986'.
- If the Access Control of the selected file are not satisfied, the command is interrupted with '6982'.
- If the Offset is not compatible with the size of the EF (Offset > EF size), the processing state returned is '6B00'.
- If the size of the data to be written is not compatible with the size of the EF (Offset + Lc > EF size) the processing state returned is '6700'.
- If an integrity error is detected within the file attributes, the card shall consider the file as corrupted and unrecoverable, the processing state returned is '6400' or '6500'.
- If writing is unsuccessful, the processing state returned is '6581'.
This command enables the IFD to write data into the EF currently selected, with the card verifying the integrity of data received. As no confidentiality is required, the data are not encrypted.
TCS_334 Command Message
TCS_335 Response message if correct Secure Messaging input format
The "regular" processing states, described for the UPDATE BINARY command with no secure messaging (see § 3.6.3.1), can be returned using the response message structure described above.
Additionally, some errors specifically related to secure messaging can happen. In that case, the processing state is simply returned, with no secure messaging structure involved:
TCS_336 Response Message if error in secure messaging
- If no current session key is available, the processing state '6A88' is returned.
- If some expected data objects (as specified above) are missing in the secure messaging format, the processing state '6987' is returned: this error happens if an expected tag is missing or if the command body is not properly constructed.
- If some data objects are incorrect, the processing state returned is '6988': this error happens if all the required tags are present but some lengths are different from the ones expected.
- If the verification of the cryptographic checksum fails, the processing state returned is '6688'.
This command is compliant with ISO/IEC 7816-4, but has a restricted usage compared to the command defined in the norm.
The GET CHALLENGE command asks the card to issue a challenge in order to use it in a security related procedure in which a cryptogram or some ciphered data are sent to the card.
TCS_337 The Challenge issued by the card is only valid for the next command, which uses a challenge, sent to the card.
TCS_338 Command Message
TCS_339 Response Message
- If the command is successful, the card returns '9000'.
- If Le is different from '08h', the processing state is '6700'.
- If parameters P1 - P2 are incorrect, the processing state is '6A86'
This command is compliant with ISO/IEC 7816-4, but has a restricted usage compared to the command defined in the norm.
The Verify command initiates the comparison in the card of the CHV (PIN) data sent from the command with the reference CHV stored in the card.
Note: The PIN entered by the user must be right padded with 'FFh' bytes up to a length of 8 bytes by the IFD.
TCS_340 If the command is successful, the rights corresponding to CHV presentation are opened and the remaining CHV attempt counter is reinitialised.
TCS_341 An unsuccessful comparison is recorded in the card in order to limit the number of further attempts of the use of the reference CHV.
TCS_342 Command Message
TCS_343 Response Message
- If the command is successful, the card returns '9000'.
- If the reference CHV is not found, the processing state returned is '6A88'.
- If the CHV is blocked, (the remaining attempt counter of the CHV is null), the processing state returned is '6983'. Once in that state, the CHV can never be successfully presented anymore.
- If the comparison is unsuccessful, the remaining attempt Counter is decreased and the status '63CX' is returned (X > 0 and X equals the remaining CHV attempts counter. If X = 'F', the CHV attempts counter is greater than 'F').
- If the reference CHV is considered corrupted, the processing state returned is '6400' or '6581'.
This command is compliant with ISO/IEC 7816-4.
This command (only necessary and available for T = 0 Protocol) is used to transmit prepared data from the card to the interface device (case where a command had included both Lc and Le).
The GET_RESPONSE command has to be issued immediately after the command preparing the data, otherwise, the data are lost. After the execution of the GET_RESPONSE command (except if the error '61xx' or '6Cxx' occur, see below), the previously prepared data are no longer available.
TCS_344 Command Message
TCS_345 Response Message
- If the command is successful, the card returns '9000'.
- If no data have been prepared by the card, the processing state returned is '6900' or '6F00'.
- If Le exceeds the number of available bytes or if Le is null, the processing state returned is '6Cxx' where xx denotes the exact number of available bytes. In that case, the prepared data are still available for a subsequent GET_RESPONSE command.
- If Le is not null and is smaller than the number of available bytes, the required data are sent normally by the card, and the processing state returned is '61xx', where 'xx' indicates a number of extra bytes still available by a subsequent GET_RESPONSE command.
- If the command is not supported (protocol T = 1), the card returns '6D00'.
This command is compliant with ISO/IEC 7816-8, but has a restricted usage compared to the command defined in the norm.
The VERIFY CERTIFICATE command is used by the card to obtain a Public Key from the outside and to check its validity.
TCS_346 When a VERIFY CERTIFICATE command is successful, the Public Key is stored for a future use in the Security environment. This key shall be explicitly set for the use in security related commands (INTERNAL AUTHENTICATE, EXTERNAL AUTHENTICATE or VERIFY CERTIFICATE) by the MSE command (see § 3.6.10) using its key identifier.
TCS_347 In any case, the VERIFY CERTIFICATE command uses the public key previously selected by the MSE command to open the certificate. This public key must be the one of a Contracting Party.
TCS_348 Command Message
TCS_349 Response Message
- If the command is successful, the card returns '9000'.
- If the certificate verification fails, the processing state returned is '6688'. The verification and unwrapping process of the certificate is described in sub-appendix 11.
- If no Public Key is present in the Security Environment, '6A88' is returned.
- If the selected public key (used to unwrap the certificate) is considered corrupted, the processing state returned is '6400' or '6581'.
- If the selected public key (used to unwrap the certificate) has a CHA.LSB (CertificateHolderAuthorisation.equipmentType) different from '00' (i.e. is not the one of a Contracting Party), the processing state returned is '6985'.
This command is compliant with ISO/IEC 7816-4.
Using the INTERNAL AUTHENTICATE command, the IFD can authenticate the card.
The authentication process is described in sub-appendix 11. It includes the following statements:
TCS_350 The INTERNAL AUTHENTICATE command uses the card Private Key (implicitly selected) to sign authentication data including K1 (first element for session key agreement) and RND1, and uses the Public Key currently selected (through the last MSE command) to encrypt the signature and form the authentication token (more details in sub-appendix 11).
TCS_351 Command Message
TCS_352 Response Message
- If the command is successful, the card returns '9000'.
- If no Public Key is present in the Security Environment, the processing state returned is '6A88'.
- If no Private Key is present in the Security Environment, the processing state returned is '6A88'.
- If VU.CHR does not match the current public key identifier, the processing state returned is '6A88'.
- If the selected private key is considered corrupted, the processing state returned is '6400' or '6581'.
TCS_353 If the INTERNAL_AUTHENTICATE command is successful, the current session key, if existing, is erased and no longer available. In order to have a new session key available, the EXTERNAL_AUTHENTICATE command must be successfully performed.
This command is compliant with ISO/IEC 7816-4.
Using the EXTERNAL AUTHENTICATE command, the card can authenticate the IFD.
The authentication process is described in sub-appendix 11. It includes the following statements:
TCS_354 A GET CHALLENGE command must precede the EXTERNAL_AUTHENTICATE command immediately. The card issues a challenge to the outside (RND3).
TCS_355 The verification of the cryptogram uses RND3 (challenge issued by the card), the card private key (implicitly selected) and the public key previously selected by the MSE command.
TCS_356 The card verifies the cryptogram, and if it is correct, the AUT access condition is opened.
TCS_357 The input cryptogram carries the second element for session key agreement K2.
TCS_358 Command Message
TCS_359 Response Message
- If the command is successful, the card returns '9000'.
- If no Public Key is present in the Security Environment, '6A88' is returned.
- If the CHA of the currently set public key is not the concatenation of the Tachograph application AID and of a VU equipment Type, the processing state returned is '6F00' (see sub-appendix 11).
- If no Private Key is present in the Security Environment, the processing state returned is '6A88'.
- If the verification of the cryptogram is wrong, the processing state returned is '6688'.
- If the command is not immediately preceded with a GET CHALLENGE command, the processing state returned is '6985'.
- If the selected private key is considered corrupted, the processing state returned is '6400' or '6581'.
TCS_360 If the EXTERNAL AUTHENTICATE command is successful, and if the first part of the session key is available from a successful INTERNAL AUTHENTICATE recently performed, the session key is set for future commands using secure messaging.
TCS_361 If the first session key part is not available from a previous INTERNAL AUTHENTICATE command, the second part of the session key, sent by the IFD, is not stored in the card. This mechanism ensures that the mutual authentication process is done in the order specified in sub-appendix 11.
This command is used to set a public key for authentication purpose.
This command is compliant with ISO/IEC 7816-8. The use of this command is restricted regarding the related standard.
TCS_362 The key referenced in the MSE data field is valid for every file of the Tachograph DF.
TCS_363 The key referenced in the MSE data field remains the current public key until the next correct MSE command.
TCS_364 If the key referenced is not (already) present into the card, the security environment remains unchanged.
TCS_365 Command Message
TCS_366 Response Message
- If the command is successful, the card returns '9000'.
- If the referenced key is not present into the card, the processing state returned is '6A88'.
- If some expected data objects are missing in the secure messaging format, the processing state '6987' is returned. This can happen if the tag '83h' is missing.
- If some data objects are incorrect, the processing state returned is '6988'. This can happen if the length of the key identifier is not '08h'.
- If the selected key is considered corrupted, the processing state returned is '6400' or '6581'.
This command is used to transfer to the card the result of a hash calculation on some data.
This command is used for the verification of digital signatures. The hash value is stored in EEPROM for the subsequent command verify digital signature.
This command is compliant with ISO/TEC 7816-8. The use of this command is restricted regarding the related standard.
TCS_367 Command Message
TCS_368 Response Message
- If the command is successful, the card returns '9000'.
- If some expected data objects (as specified above) are missing, the processing state '6987' is returned. This can happen if one of the tag '90h' is missing.
- If some data objects are incorrect, the processing state returned is '6988'. This error happens if the required tag is present but with a length different from ' 14h'.
This command is not compliant with ISO/IEC 7816-8. Thus the CLA byte of this command indicates that there is a proprietary use of the PERFORM SECURITY OPERATION/HASH.
TCS_369 The perform hash file command is used to hash the data area of the currently selected transparent EF.
TCS_370 The result of the hash operation is stored in the card. It can then be used to get a digital signature of the file, using the PSO-COMPUTE_DIGITAL_SIGNATURE command. This result remains available for the COMPUTE DIGITAL SIGNATURE command until the next successful PERFORM HASH of FILE command.
TCS_371 Command Message
TCS_372 Response Message
- If the command is successful, the card returns '9000'.
- If no application is selected, the processing state '6985' is returned
- If the selected EF is considered corrupted (file attributes or stored data integrity errors), the processing state returned is '6400' or '6581'.
- If the selected file is not a transparent file, the processing state returned is '6986'.
This command is used to compute the digital signature of previously computed hash code (see PERFORM HASH of FILE, § 3.6.12).
This command is compliant with ISO/IEC 7816-8. The use of this command is restricted regarding the related standard.
TCS_373 The card private key is used to compute the digital signature and is implicitly known by the card.
TCS_374 The card performs a digital signature using a padding method compliant with PKCS1 (see sub-appendix 11 for details).
TCS_375 Command Message
TCS_376 Response Message
- If the command is successful, the card returns '9000'.
- If the implicitly selected private key is considered as corrupted, the processing state returned is '6400' or '6581'.
This command is used to verify the digital signature, provided as an input, in accordance with PKCS1 of a message, whose hash is known to the card. The signature algorithm is implicitly known by the card.
This command is compliant with ISO/IEC 7816-8. The use of this command is restricted regarding the related standard.
TCS_377 The Verify Digital Signature command always uses the public key selected by the previous Manage Security Environment command, and the previous hash code entered by a PSO: Hash command.
TCS_378 Command Message
TCS_379 Response Message
- If the command is successful, the card returns '9000'.
- If the verification of the signature fails, the processing state returned is '6688'. The verification process is described in sub-appendix 11.
- If no public key is selected, the processing state returned is '6A88'.
- If some expected data objects (as specified above) are missing, the processing state '6987' is returned. This can happen if one of the required tag is missing.
- If no hash code is available to process the command (as a result of a previous PSO: Hash command), the processing state returned is '6985'.
- If some data objects are incorrect, the processing state returned is '6988'. This can happen if one of the required data objects length is incorrect.
- If the selected public key is considered corrupted, the processing state returned is '6400' or '6581'.
This paragraph specifies the file structures of the Tachograph cards for storage of accessible data.
It does not specify card manufacturer dependant internal structures, such as e.g. file headers, nor storage and handling of data elements needed for internal use only such as EuropeanPublicKey, CardPrivateKey, TDesSessionKey or WorkshopCardPin.
The useful storage capacity of Tachograph cards shall be of 11 Kbytes minimum. Greater capacities may be used. In such case, the structure of the card remains the same, but the number of records of some elements of the structure is increased. This paragraph specifies minimum and maximum values of these record numbers.
TCS_400 After its personalisation, the driver card shall have the following permanent file structure and file access conditions:
???????????????????????????
? Access conditions ?
???????????????????????????????????????????????????????????????????????????
? File ?File ID?Read ? Update ?Encrypted?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
? ?? EF ICC ? 0002 ? ALW ? NEV ? No ?
? ?? EF IC ? 0005 ? ALW ? NEV ? No ?
? ?? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application Identification ? 0501 ? ALW ? NEV ? No ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? No ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? No ?
? ?? EF Identification ? 0520 ? ALW ? NEV ? No ?
? ?? EF Card Download ? 050E ? ALW ? ALW ? No ?
? ?? EF Driving Licence Info ? 0521 ? ALW ? NEV ? No ?
? ?? EF Events Data ? 0502 ? ALW ?PRO SM / ? No ?
? ?? EF Faults Data ? 0503 ? ALW ?PRO SM / ? No ?
? ?? EF Driver Activity Data ? 0504 ? ALW ?PRO SM / ? No ?
? ?? EF Vehicles Used ? 0505 ? ALW ?PRO SM / ? No ?
? ?? EF Places ? 0506 ? ALW ?PRO SM / ? No ?
? ?? EF Current Usage ? 0507 ? ALW ?PRO SM / ? No ?
? ?? EF Control Activity Data ? 0508 ? ALW ?PRO SM / ? No ?
? ?? EF Specific Conditions ? 0522 ? ALW ?PRO SM / ? No ?
???????????????????????????????????????????????????????????????????????????
TCS_401 All EFs structures shall be transparent.
TCS_402 Read with secure messaging shall be possible for all files under the DF Tachograph.
TCS_403 The driver card shall have the following data structure:
No of Size (bytes) Default
File / Data element Records Min Max Values
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? IICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00 00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufacturingReferences 4 4 {00..00}
?? DF Tachograph 11378 24926
?? EF Application Identification 10 10
? ?? DriverCardApplicationIdentification 10 10
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStructureVersion 2 2 {00 00}
? ?? noOfEventsPerType 1 1 {00}
? ?? noOfFaultsPerType 1 1 {00}
? ?? activityStructureLength 2 2 {00 00}
? ?? noOfCardVehicleRecords 2 2 {00 00}
? ?? noOfCardPlaceRecords 1 1 {00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA_Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 143 143
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {20..20}
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? DriverCardHolderIdentification 78 78
? ?? cardHolderName 72 72
? ? ?? holderSurname 36 36 {00,
? ? ?? holderFirstNames 36 36 {00,
? ?? cardHolderBirthDate 4 4 {00..00}
? ?? cardHolderPreferredLanguage 2 2 {20..20}
?? EF Card Download 4 4
? ?? LastCardDownload 4 4
?? EF Driving Licence Info 53 53
? ?? CardDrivingLicenceInformation 53 53
? ?? drivingLicenceIssuingAuthority 36 36 {00,
? ?? drivingLicenceIssuingNation 1 1 {00}
? ?? drivingLicenceNumber 16 16 {20..20}
? EF Events Data 864 1728
? ?? CardEventData 864 1728
? ?? cardEventRecords 6 144 288
? ?? CardEventRecord n 24 24
? ? 1
? ?? eventType 1 1 {00}
? ?? eventBeginTime 4 4 {00..00}
? ?? eventEndTime 4 4 {00..00}
? ?? eventVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00,
?? EF Faults Data 576 1152
? ?? CardFaultData 576 1152
? ?? cardFaultRecords 2 288 576
? ?? CardFaultRecord n 24 24
? ? 2
? ?? faultType 1 1 {00}
? ?? faultBeginTime 4 4 {00..00}
? ?? faultEndTime 4 4 {00..00}
? ?? faultVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00, 0..20}
?? EF Driver Activity Data 5548 13780
? ?? CardDriverActivity 5548 13780
? ?? activityPointerOldestDayRecord 2 2 {00 00}
? ?? activityPointerNewestRecord 2 2 {00 00}
? ?? activityDailyRecords n 5544 13776 {00..00}
? 6
?? EF Vehicles Used 2606 6202
? ?? CardVehiclesUsed 2606 6202
? ?? vehiclePointerNewestRecord 2 2 {00 00}
? ?? cardVehicleRecords 2604 6200
? ?? CardVehicleRecord n 31 31
? ? 3
? ?? vehicleOdometerBegin 3 3 {00..00}
? ?? vehicleOdometerEnd 3 3 {00..00}
? ?? vehicleFirstUse 4 4 {00..00}
? ?? vehicleLastUse 4 4 {00..00}
? ?? vehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00,
? ?? vuDataBlockCounter 2 2 {00..00}
?? EF Places 841 1121
? ?? CardPlaceDailyWorkPeriod 841 1121
? ?? placePointerNewestRecord 1 1 {00}
? ?? placeRecords 840 1120
? ?? PlaceRecord n 10 10
? ? 4
? ?? entryTime 4 4 {00..00}
? ?? entryTypeDailyWorkPeriod 1 1 {00}
? ?? dailyWorkPeriodCountry 1 1 {00}
? ?? dailyWorkPeriodRegion 1 1 {00}
? ?? vehicleOdometerValue 3 3 {00..00}
?? EF Current Usage 19 19
? ?? CardCurrentUse 19 19
? ?? sessionOpenTime 4 4 {00..00}
? ?? sessionOpenVehicle
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00,
?? EF Control Activity Data 46 46
? ?? CardControlActivityDataRecord 46 46
? ?? controlType 1 1 {00}
? ?? controlTime 4 4 {00..00}
? ?? controlCardNumber
? ? ?? cardType 1 1 {00}
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ?? controlVehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00,
? ?? controlDownloadPeriodBegin 4 4 {00..00}
? ?? controlDownloadPeriodEnd 4 4 {00..00}
?? EF Specific Conditions 280 280
?? SpecificConditionRecord 56 5 5
?? entryTime 4 4 {00..00}
?? SpecificConditionType 1 1 {00}
TCS_404 The following values, used to provide sizes in the table above, are the minimum and maximum record number values the driver card data structure must use:
TCS_405 After its personalisation, the workshop card shall have the following permanent file structure and file access conditions:
??????????????????????????????
? Access conditions ?
???????????????????????????????????????????????????????????????????????????
? File ?File ID? Read ? Update ?Encrypted?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
??? EF ICC ? 0002 ? ALW ? NEV ? No ?
??? EF IC ? 0005 ? ALW ? NEV ? No ?
??? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application Identification ? 0501 ? ALW ? NEV ? No ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? No ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? No ?
? ?? EF Identification ? 0520 ? ALW ? NEV ? No ?
? ?? EF Card Download ? 0509 ? ALW ? ALW ? No ?
? ?? EF Calibration ? 050A ? ALW ? PRO SM / ? No ?
? ?? EF Sensor Installation Data ? 050B ? ALW ? NEV ? Yes ?
? ?? EF Events Data ? 0502 ? ALW ? PRO SM / ? No ?
? ?? EF Faults Data ? 0503 ? ALW ? PRO SM / ? No ?
? ?? EF Driver Activity Data ? 0504 ? ALW ? PRO SM / ? No ?
? ?? EF Vehicles Used ? 0505 ? ALW ? PRO SM / ? No ?
? ?? EF Places ? 0506 ? ALW ? PRO SM / ? No ?
? ?? EF Current Usage ? 0507 ? ALW ? PRO SM / ? No ?
? ?? EF Control Activity Data ? 0508 ? ALW ? PRO SM / ? No ?
? ?? EF Specific Conditions ? 0522 ? ALW ? PRO SM / ? No ?
???????????????????????????????????????????????????????????????????????????
TCS_406 All EFs structures shall be transparent.
TCS_407 Read with secure messaging shall be possible for all files under the DF Tachograph.
TCS_408 The workshop card shall have the following data structure:
No of Size (Bytes) Default
File / Data element Records Min Max Values
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? EF ICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00 00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufacturingReferences 4 4 {00..00}
?? DF Tachograph 11055 29028
?? EF Application Identification 11 11
? ?? WorkshopCardApplicationIdentification 11 11
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStractureVersion 2 2 {00 00}
? ?? noOfEventsPerType 1 1 {00}
? ?? noOfFaultsPerType 1 1 {00}
? ?? activityStructureLength 2 2 {00 00}
? ?? noOfCardVehicleRecords 2 2 {00 00}
? ?? noOfCardPlaceRecords 1 1 {00}
? ?? noOfCalibrationRecords 1 1 {00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 211 211
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {00,
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? WorkshopCardHolderIdentification 146 146
? ?? workshopName 36 36 {00,
? ?? workshopAddress 36 36 {00,
? ?? cardHolderName
? ? ?? holderSurname 36 36 {00,
? ? ?? holderFirstNames 36 36 {00,
? ?? cardHolderPreferredLanguage 2 2 {20..20}
?? EF Card Download 2 2
? ?? NoOfCalibrationsSinceDownload 2 2 {00 00}
?? EF Calibration 9243 26778
? ?? WorkshopCardCalibrationData 9243 26778
? ?? calibrationTotalNumber 2 2 {00 00}
? ?? calibrationPointerNewestRecord 1 1 {00}
? ?? calibrationRecords 9240 26775
? ?? WorkshopCardCalibrationRecord n 105 105
? ? 5
? ?? calibrationPurpose 1 1 {00}
? ?? vehicleIdentificationNumber 17 17 {20..20}
? ?? vehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00,
? ?? wVehicleCharacteristicConstant 2 2 {00 00}
? ?? kConstantOfRecordingEquipment 2 2 {00 00}
? ?? lTyreCircumference 2 2 {00 00}
? ?? tyreSize 15 15 {20..20}
? ?? authorisedSpeed 1 1 {00}
? ?? oldOdometerValue 3 3 {00..00}
? ?? newOdometerValue 3 3 {00..00}
? ?? oldTimeValue 4 4 {00..00}
? ?? newTimeValue 4 4 {00..00}
? ?? nextCalibrationDate 4 4 {00..00}
? ?? vuPartNumber 16 16 {20..20}
? ?? vuSerialNumber 8 8 {00..00}
? ?? sensorSerialNumber 8 8 {00..00}
?? EF Sensor Installation Data 16 16
? ?? SensorInstallationSecData 16 16 {00..00}
?? EF Events Data 432 432
? ?? CardEventData 432 432
? ?? cardEventRecords 6 72 72
? ?? CardEventRecord n 24 24
? ? 1
? ?? eventType 1 1 {00}
? ?? eventBeginTime 4 4 {00..00}
? ?? eventEndTime 4 4 {00..00}
? ?? eventVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00,
?? EF Faults Data 288 288
? ?? CardFaultData 288 288
? ?? cardFaultRecords 2 144 144
? ?? CardFaultRecord n 24 24
? ? 2
? ?? faultType 1 1 {00}
? ?? faultBeginTime 4 4 {00..00}
? ?? faultEndTime 4 4 {00..00}
? ?? faultVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00,
?? EF Driver Activity Data 202 496
? ?? CardDriverActivity 202 496
? ?? activityPointerOldestDayRecord 2 2 {00 00}
? ?? activityPointerNewestRecord 2 2 {00 00}
? ?? activityDailyRecords n 198 492 {00..00}
? 6
?? EF Vehicles Used 126 250
? ?? CardVehiclesUsed 126 250
? ?? vehiclePointerNewestRecord 2 2 {00 00}
? ?? cardVehicleRecords 124 248
? ?? CardVehicleRecord n 31 31
? ? 3
? ?? vehicleOdometerBegin 3 3 {00..00}
? ?? vehicleOdometerEnd 3 3 {00..00}
? ?? vehicleFirstUse 4 4 {00..00}
? ?? vehicleLastUse 4 4 {00..00}
? ?? vehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00,
? ?? vuDataBlockCounter 2 2 {00..00}
?? EF Places 61 81
? ?? CardPlaceDailyWorkPeriod 61 81
? ?? placePointerNewestRecord 1 1 {00}
? ?? placeRecords 60 80
? ?? PlaceRecord n 10 10
? ? 4
? ?? entryTime 4 4 {00..00}
? ?? entryTypeDailyWorkPeriod 1 1 {00}
? ?? dailyWorkPeriodCountry 1 1 {00}
? ?? daily WorkPeriodRegion 1 1 {00}
? ?? vehicleOdometerValue 3 3 {00..00}
?? EF Current Usage 19 19
? ?? CardCurrentUse 19 19
? ?? sessionOpenTime 4 4 {00..00}
? ?? sessionOpenVehicle
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00,
?? EF Control Activity Data 46 46
? ?? CardControlActivityDataRecord 46 46
? ?? controlType 1 1 {00}
? ?? controlTime 4 4 {00..00}
? ?? controlCardNumber
? ? ?? cardType 1 1 {00}
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ?? controlVehicleRegistration
? ? ?? vehicleRegistrationNation 1 1 {00}
? ? ?? vehicleRegistrationNumber 14 14 {00,
? ?? controlDownloadPeriodBegin 4 4 {00..00}
? ?? controlDownloadPeriodEnd 4 4 {00..00}
?? EF Specific Conditions 10 10
?? SpecificConditionRecord 2 5 5
?? entryTime 4 4 {00..00}
?? SpecificConditionType 1 1 {00}
TCS_409 The following values, used to provide sizes in the table above, are the minimum and maximum record number values the workshop card data structure must use:
TCS_410 After its personalisation, the control card shall have the following permanent file structure and file access conditions:
????????????????????????????
? Access conditions ?
???????????????????????????????????????????????????????????????????????????
? File ? File ID ? Read ? Update ?Encrypted?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
??? EF ICC ? 0002 ? ALW ? NEV ? No ?
??? EF IC ? 0005 ? ALW ? NEV ? No ?
??? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application Identification ? 0501 ? ALW ? NEV ? No ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? No ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? No ?
? ?? EF Identification ? 0520 ? AUT ? NEV ? No ?
? ?? EF Controller Activity Data ? 050C ? ALW ?PRO SM / ? No ?
???????????????????????????????????????????????????????????????????????????
TCS_411 All EFs structures shall be transparent.
TCS_412 Read with secure messaging shall be possible for files under the DF Tachograph.
TCS_413 The control card shall have the following data structure:
No of Size (Bytes) Default
File / Data element Records Min Max values
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? EF ICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00..00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufacturingReferences 4 4 {00..00}
?? DF Tachograph 11186 24526
?? EF Application Identification 5 5
? ?? ControlCardApplicationIdentification 5 5
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStructureVersion 2 2 {00 00}
? ?? noOfControlActivityRecords 2 2 {00 00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 211 211
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {00,
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? ControlCardHolderIdentification 146 146
? ?? controlBodyName 36 36 {00,
? ?? controlBodyAddress 36 36 {00,
? ?? cardHolderName
? ? ?? holderSurname 36 36 {00,
? ? ?? holderFirstNames 36 36 {00,
? ?? cardHolderPreferredLanguage 2 2 {20 20}
?? EF Controller Activity Data 10582 23922
?? ControlCardControlActivityData 10582 23922
?? controlPointerNewestRecord 2 2 {00 00}
?? controlActivityRecords 10580 23920
?? controlActivityRecord n 46 46
? 7
?? controlType 1 1 {00}
?? controlTime 4 4 {00..00}
?? controlledCardNumber
? ?? cardType 1 1 {00}
? ?? CardIssuingMemberState 1 1 {00}
? ?? cardNumber 16 16 {20..20}
?? controlledVehicleRegistration
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00,
?? controlDownloadPeriodBegin 4 4 {00..00}
?? controlDownloadPeriodEnd 4 4 {00..00}
TCS_414 The following values, used to provide sizes in the table above, are the minimum and maximum record number values the control card data structure must use:
TCS_415 After its personalisation, the company card shall have the following permanent file structure and file access conditions:
???????????????????????????
? Access conditions ?
???????????????????????????????????????????????????????????????????????????
?File ?File ID? Read ? Update ?Encrypted?
???????????????????????????????????????????????????????????????????????????
?MF ? 3F00 ? ? ? ?
??? EF ICC ? 0002 ? ALW ? NEV ? No ?
??? EF IC ? 0005 ? ALW ? NEV ? No ?
??? DF Tachograph ? 0500 ? ? ? ?
? ?? EF Application Identification ? 0501 ? ALW ? NEV ? No ?
? ?? EF Card Certificate ? C100 ? ALW ? NEV ? No ?
? ?? EF CA Certificate ? C108 ? ALW ? NEV ? No ?
? ?? EF Identification ? 0520 ? AUT ? NEV ? No ?
? ?? EF Company_Activity_Data ? 050D ? ALW ?PRO SM /? No ?
? ? ? ? AUT ? ?
???????????????????????????????????????????????????????????????????????????
TCS_416 All EFs structures shall be transparent.
TCS_417 Read with secure messaging shall be possible for all files under the DF Tachograph.
TCS_418 The company card shall have the following data structure:
No of Size (bytes) Default
File / Data element Records Min Max Values
ИС NORMPROD: примечание.
Удален фрагмент нечитаемого текста.
<...>
?? EF ICC 25 25
? ?? CardIccIdentification 25 25
? ?? clockStop 1 1 {00}
? ?? cardExtendedSerialNumber 8 8 {00..00}
? ?? cardApprovalNumber 8 8 {20..20}
? ?? cardPersonaliserID 1 1 {00}
? ?? embedderIcAssemblerId 5 5 {00..00}
? ?? icIdentifier 2 2 {00 00}
?? EF IC 8 8
? ?? CardChipIdentification 8 8
? ?? icSerialNumber 4 4 {00..00}
? ?? icManufacturingReferences 4 4 {00..00}
?? DF Tachograph 11114 24454
?? EF Application Identification 5 5
? ?? CompanyCardApplicationIdentification 5 5
? ?? typeOfTachographCardId 1 1 {00}
? ?? cardStructureVersion 2 2 {00 00}
? ?? noOfCompanyActivityRecords 2 2 {00 00}
?? EF Card Certificate 194 194
? ?? CardCertificate 194 194 {00..00}
?? EF CA Certificate 194 194
? ?? MemberStateCertificate 194 194 {00..00}
?? EF Identification 139 139
? ?? CardIdentification 65 65
? ? ?? CardIssuingMemberState 1 1 {00}
? ? ?? cardNumber 16 16 {20..20}
? ? ?? cardIssuingAuthorityName 36 36 {00,
? ? ?? cardIssueDate 4 4 {00..00}
? ? ?? cardValidityBegin 4 4 {00..00}
? ? ?? cardExpiryDate 4 4 {00..00}
? ?? CompanyCardHolderIdentification 74 74
? ?? companyName 36 36 {00,
? ?? company Address 36 36 {00,
? ?? cardHolderPreferredLanguage 2 2 {20 20}
?? EF Company Activity Data 10582 23922
?? CompanyActivityData 10582 23922
?? companyPointerNewestRecord 2 2 {00 00}
?? companyActivityRecords 10580 23920
?? companyActivityRecord n 46 46
? 8
?? companyActivityType 1 1 {00}
?? companyActivityTime 4 4 {00..00}
?? vehicleRegistrationInformation
? ?? vehicleRegistrationNation 1 1 {00}
? ?? vehicleRegistrationNumber 14 14 {00,
?? downloadPeriodBegin 4 4 {00..00}
?? downloadPeriodEnd 4 4 {00..00}
TCS_419 The following values, used to provide sizes in the table above, are the minimum and maximum record number values the company card data structure must use:
PIC_001 The control device may use the following pictograms and pictograms combinations:
Note: Additional pictogram combinations to form printout block or record identifiers are defined in sub-appendix 4.
Each printout is built up by chaining various data blocks, possibly identified with a block identifier.
A data block contains one or more records, possibly identified with a record identifier.
PRT_001 When a block identifier immediately precedes a record identifier, the record identifier is not printed.
PRT_002 In the case where a data item is unknown, or must not be printed for data access rights reasons, spaces are printed instead.
PRT_003 If the content of a complete line is unknown, or need not to be printed, then the complete line is omitted.
PRT_004 Numerical data fields are printed right aligned, with a space separator for thousands and millions, and without leading zeros.
PRT_005 String data fields are printed left aligned and filled up with spaces to data item length, or truncated to data item length when needed (names and addresses).
In this chapter the following format notation conventions have been used:
- Characters printed in bold <*> denote plain text to be printed (printing remains in normal characters),
--------------------------------
<*> В тексте документа вместо жирного шрифта использовано выделение квадратными скобками.
- Normal characters denote variables (pictograms or data) to be replaced by their values for printing,
- Variable names have been padded with underscores to show the data item length available for the variable,
- Dates are specified with a "dd/mm/yyyy" (day, month, year) format. A "dd.mm.yyyy" format may also be used,
- The term "card identification" denotes the composition of: the type of card through a card pictograms combination, the card issuing Contracting Party code, a forward slash character and the card number with the replacement index and the renewal index separated with a space:
PRT_006 Printouts shall use the following data blocks and/or data records, in accordance with the following meanings and formats:
In this chapter the following notation conventions have been used:
--------------------------------
<*> В тексте документа для ячеек, выделенных полужирной линией, использовано выделение пунктирной линией.
PRT_007 The driver activities from card daily printout shall be in accordance with the following format:
PRT_008 The driver activities from VU daily printout shall be in accordance with the following format:
PRT_009 The events and faults from card printout shall be in accordance with the following format:
PRT_010 The events and faults from VU printout shall be in accordance with the following format:
PRT_011 The technical data printout shall be in accordance with the following format:
PRT_012 The over speeding printout shall be in accordance with the following format:
--------------------------------
<*> В тексте документа вместо жирного шрифта использовано выделение квадратными скобками.
DIS_001 The control device shall display data using the following formats:
INT_001 The downloading/calibration connector shall be a 6 pin connector, accessible on the front panel without the need to disconnect any part of the control device and shall comply with the following drawing (all dimensions in millimetres):
![]() The following diagram shows a typical 6 pin mating plug:
![]() INT_002 Contacts shall be allocated in accordance with the following table:
INT_003 The block diagram shall comply with the following:
![]() INT_004 The downloading interface shall comply to RS232 specifications.
INT_005 The downloading interface shall use one start bit, 8 data bits LSB first, one even parity bit and 1 stop bit.
![]() Data byte organisation
When numerical data composed by more than one byte are transmitted, the most significant byte is transmitted first and the least significant byte last.
INT_006 Transmission baud rates shall be adjustable from 9 600 bps to 115 200 bps. Transmission shall be achieved at the highest possible transmission speed, the initial baud rate after a start of communication being set at 9 600 bps.
INT_007 The data communication shall comply to ISO 14230-1 Road vehicles - Diagnostic systems - Keyword protocol 2000 - Part 1: Physical layer, First edition: 1999.
INT_008 The input/output signal shall comply with the following electrical specification:
INT_009 The input/output signal shall comply with the following timing diagrams:
min. 100 min. 100
<?????><??????????????>
??????? ???????????????
/\ ? /\ ?
? ? ? ?
Sensor signal (out) ??? ?????????????????? ?????????????
Sensore frequency
<?????????????????????>
min. 100 min. 100
<?????><??????????????>
??????? ???????????????
/\ ? /\ ?
? ? ? ?
Test signal (in) ??? ?????????????????? ?????????????
Test frequency
<?????????????????????>
min. 100 min. 100
<?????><??????????????>
??????? ???????????????
/\ ? /\ ?
? ? ? ?
UTC clock signal ??? ?????????????????? ?????????????
<?????????????????????>
a part or multiple of one
This sub-appendix specifies the procedures to follow in order to perform the different types of data download to an External Storage Medium, together with the protocols that must be implemented to assure the correct data transfer and the full compatibility of the downloaded data format to allow any controller to inspect these data and be able to control their authenticity and their integrity before analysing them.
Data may be downloaded to an ESM:
- from a Vehicle Unit by an Intelligent Dedicated Equipment (IDE) connected to the VU,
- from a tachograph card by an IDE fitted with a card interface device (IFD),
- from a tachograph card via a vehicle unit by an IDE connected to the VU.
To give the possibility to verify the authenticity and integrity of downloaded data stored on an ESM, data is downloaded with a signature appended in accordance with sub-appendix 11 Common Security Mechanisms. The source equipment (VU or card) identification and its security certificates (Contracting Party and equipment) are also downloaded. The verifier of the data must possess independently a trusted European public key.
DDP_001 Data downloaded during one download session must be stored in the ESM within one file.
The following acronyms are used in this sub-appendix:
In order to carry on a VU data download, the operator must perform the following operations:
- Insert his tachograph card inside a card slot of the VU <*>;
--------------------------------
<*> The card inserted will trigger the appropriate access rights to the downloading function and to the data.
- Connect the IDE to the VU download connector;
- Establish the connection between the IDE and the VU;
- Select on the IDE the data to download and send the request to the VU;
- Close the download session.
The protocol is structured on a master-slave basis, with the IDE playing the master role and the VU playing the slave role.
The message structure, types and flow are principally based on the Keyword Protocol 2000 (KWP) (ISO 14230-2 Road vehicles - Diagnostic systems - Keyword protocol 2000 - Part 2: Data link layer).
The application layer is principally based on the current draft to date of ISO 14229-1 (Road vehicles - Diagnostic systems - Part 1: Diagnostic services, version 6 of 22 February 2001).
DDP_002 All the messages exchanged between the IDE and the VU are formatted with a structure consisting of three parts:
- Header composed by a Format byte (FMT), a Target byte (TGT), a Source byte (SRC) and possibly a Length byte (LEN),
- Data field composed by a Service Identifier byte (SID) and a variable number of data bytes, which can include an optional diagnostic session byte (DS_) or an optional transfer parameter byte (TRTP or TREP).
- Checksum composed by a Checksum byte (CS).
The TGT and SRC byte represent the physical address of the recipient and originator of the message. Values are F0 Hex for the IDE and EE Hex for the VU.
The LEN byte is the length of the Data field part.
The Checksum byte is the 8 bit sum series modulo 256 of all the bytes of the message excluding the CS itself.
FMT, SID, DS_, TRTP and TREP bytes are defined later in this document.
DDP_003 In the case where the data to be carried by the message is longer than the space available in the data field part, the message is actually sent in several sub messages. Each sub message bears a header, the same SID, TREP and a 2-byte sub message counter indicating the sub message number within the total message. To enable error checking and abort the IDE acknowledges every sub message. The IDE can accept the sub message, ask for it to be re-transmitted, request the VU to start again or abort the transmission.
DDP_004 If the last sub message contains exactly 255 bytes in the data field, a final sub message with an empty (except SID TREP and sub message counter) data field must be appended to show the end of the message.
Example:
Will be transmitted as:
...
or as:
...
The communication protocol for data download between the VU and the IDE requires the exchange of 8 different message types.
The following table summarises these messages.
Notes:
- Sid Req = the Sid of the corresponding request.
- TREP = the TRTP of the corresponding request.
- Dark cells <*> denotes that nothing is transmitted.
--------------------------------
<*> В тексте документа вместо темного фона ячейки использовано выделение знаком "@".
- The term upload (as seen from the IDE) is used for compatibility with ISO 14229. It means the same as download (as seen from the VU).
- Potential 2-byte sub message counters are not shown in this table.
DDP_005 This message is issued by the IDE to establish the communication link with the VU. Initial communications are always performed at 9600 baud (until baud rate is eventually changed using the appropriate Link control services).
DDP_006 This message is issued by the VU to answer positively to a start communication request. It includes the 2 key bytes 'EA' '8F' indicating that the unit supports protocol with header including target source and length information.
DDP_007 The Start Diagnostic Session request message is issued by the IDE in order to request a new diagnostic session with the VU. The sub function 'default session' (81 Hex) indicates a standard diagnostic session is to be opened.
DDP_008 The Positive Response Start Diagnostic message is sent by the VU to answer positively to Diagnostic Session Request.
DDP_052 The Link Control Service is used by the IDE to initiate a change in baud rate. This takes place in two steps. In step one the IDE proposes the baud rate change, indicating the new rate. On receipt of a positive message from the VU the IDE sends out confirmation of the baud rate change to the VU (step two). The IDE then changes to the new baud rate. After receipt of the confirmation the VU changes to the new baud rate
DDP_053 The Link Control Positive response is issued by the VU to answer positively to Link Control Service request (step one). Note that no response is given to the confirmation request (step two).
DDP_009 The Request Upload message is issued by the IDE to specify to the VU that a download operation is requested. To meet the requirements of ISO 14229 data is included covering address, the size and format details for the data requested. As these are not known to the IDE prior to a download, the memory address is set to 0, format is unencrypted and uncompressed and the memory size is set to the maximum.
DDP_010 The Positive Response Request Upload message is sent by the VU to indicate to the IDE that the VU is ready to download data. To meet the requirements of ISO 14229 data is included in this positive response message, indicating to the IDE that further Positive Response Transfer Data messages will include 00FF hex bytes maximum.
DDP_011 The Transfer Data Request is sent by the IDE to specify to the VU the type of data that are to be downloaded. A one byte Transfer Request Parameter (TRTP) indicates the type of transfer.
There are six types of data transfer:
- Overview (TRTP 01),
- Activities of a specified date (TRTP 02),
- Events and faults (TRTP 03),
- Detailed speed (TRTP 04),
- Technical data (TRTP 05),
- Card download (TRTP 06).
DDP_054 It is mandatory for the IDE to request the overview data transfer (TRTP 01) during a download session as this only will ensure that the VU certificates are recorded within the downloaded file (and allow for verification of digital signature).
In the second case (TRTP 02) the Transfer Data Request message includes the indication of the calendar day (TimeReal format) to be downloaded.
DDP_012 The Positive Response Transfer Data is sent by the VU in response to the Transfer Data Request. The message contains the requested data, with a Transfer Response Parameter (TREP) corresponding to the TRTP of the request.
DDP055 In the first case (TREP 01), the VU will send data helping the IDE operator to choose the data he wants to download further. The information contained within this message is:
- Security certificates,
- Vehicle identification,
- VU current date and time,
- Min and Max downloadable date (VU data),
- Indication of cards presence in the VU,
- Previous download to a company,
- Company locks,
- Previous controls.
DDP_013 The Request Transfer Exit message is sent by the IDE to inform the VU that the download session is terminated.
DDP_014 The Positive Response Request Transfer Exit message is sent by the VU to acknowledge the Request Transfer Exit.
DDP_015 The Stop Communication Request message is sent by the IDE to disconnect the communication link with the VU.
DDP_016 The Positive Response Stop Communication message is sent by the VU to acknowledge the Stop Communication Request.
DDP_017 The Acknowledge Sub Message is sent by the IDE to confirm receipt of each part of a message that is being transmitted as several sub messages. The data field contains the SID received from the VU and a 2-byte code as follows:
- MsgC +1 Acknowledges correct receipt of sub message number MsgC.
Request from the IDE to the VU to send next sub message
- MsgC indicates a problem with the receipt of sub message number MsgC.
Request from the IDE to the VU to send the sub message again.
- FFFF requests termination of the message.
This can be used by the IDE to end the transmission of the VU message for any reason.
The last sub message of a message (LEN byte < 255) may be acknowledged using any of these codes or not acknowledged.
The VU responses that will consist of several sub messages are:
- Positive Response Transfer Data (SID 76)
DDP_018 The Negative Response message is sent by the VU in response to the above request messages when the VU cannot satisfy the request. The data fields of the message contains the SID of the response (7F), the SID of the request, and a code specifying the reason of the negative response. The following codes are available:
- 10 general reject
The action cannot be performed for a reason not covered below.
- 11 service not supported
The SID of the request is not understood.
- 12 sub function not supported
The DS_ or TRTP of the request is not understood, or there are no further sub messages to be transmitted.
- 13 incorrect message length
The length of the received message is wrong.
- 22 conditions not correct or request sequence error
The required service is not active or the sequence of request messages is not correct.
- 31 Request out of range
The request parameter record (data field) is not valid.
- 50 upload not accepted
The request cannot be performed (VU in a non appropriate mode of operation or internal fault of the VU).
- 78 response pending
The action requested cannot be completed in time and the VU is not ready to accept another request.
- FA data not available
The data object of a data transfer request are not available in the VU (e.g. no card is inserted, ...).
A typical message flow during a normal data download procedure is the following:
DDP_019 During normal operation the timing parameters shown in the following figure are relevant:
![]() Where:
The allowed values for the timing parameters are showed in the following table (KWP extended timing parameters set, used in case of physical addressing for faster communication).
--------------------------------
<*> if the VU responds with a Negative Response containing a code meaning "request correctly received, response pending", this value is extended to the same upper limit value of P3.
If an error occurs during the message exchange, the message flow scheme is modified depending on which equipment has detected the error and on the message generating the error.
In figure 2 and figure 3 the error handling procedures for the VU and the IDE are respectively shown.
DDP_020 If the IDE detects an error during the Start Communication phase, either by timing or by the bit stream, then it will wait for a period P3min before issuing again the request.
DDP_021 If the VU detects an error in the sequence coming from the IDE, it shall send no response and wait for another Start Communication Request message within a period P3 max.
Two different error handling areas can be defined:
1. The VU detects an IDE transmission error.
DDP_022 For every received message the VU shall detect timing errors, byte format errors (e.g. start and stop bit violations) and frame errors (wrong number of bytes received, wrong checksum byte).
DDP_023 If the VU detects one of the above errors, then it sends no response and ignores the message received.
DDP_024 The VU may detect other errors in the format or content of the received message (e.g. message not supported) even if the message satisfies the length and checksum requirements; in such a case, the VU shall respond to the IDE with a Negative Response message specifying the nature of the error.
/???????\
? Start ?
\???????/
???????????????????????????????
??????????No??????????? ?
? ? ?
\/ ? ?
??????????????? /\ /\ ?
?Send Negative? / \ / \ ?
? Response ????????????????>/Request received?\??No??>/ P3max \ ?
??????????????? ? \ / \expired?/ ?
/\ ? \ / \ / ?
? ? \/ \/ ?
? ? ? ? ?
? Yes Yes Yes ?
? ? \/ ? ?
? ? /\ \/ ?
? ? / \ /?????????????\?
? ?????/Checksum Error?\ ? Stop ??
? \ / ?Communication??
? \ / \?????????????/?
? \/ ?
? ? ?
? No ?
? \/ ?
? ????????????????????? /\ ?
? ? Negative Response ? / \ ?
??? Incorrect Message ?<?Yes??/ Length Error? \ ?
? ? Length ? \ / ?
? ????????????????????? \ / ?
? \/ ?
? ? ?
? No ?
? \/ ?
? ????????????????????? /\ ?
? ? Negative Response ? / \ ?
??? Service or Sub ?<?No????/ Request msg \ ?
? ? Function not ? \ supported? / ?
? ? supported ? \ / ?
? ????????????????????? \/ ?
? ? ?
? Yes ?
? \/ ?
? ????????????????????? /\ ?
? ? Negative Response ? / \ ?
??? Request sequence ?<?No???/ Correct \ ?
? ? error ? \ Sequence? / ?
? ????????????????????? \ / ?
? \/ ?
? ? ?
? Yes ?
? \/ ?
? ????????????????????? /\ ??????????
? ? Negative Response ? / \ ? Send ?
??? Upload not ?<?No???/ Upload \ ?Positive?
? ? accepted ? \ accepted? / ?Response?
? ????????????????????? \ / ??????????
? \/ /\
? ? ?
? Yes ?
? \/ ?
? ????????????????????? /\ ?
? ? Negative Response ? / \ ?
??? Request Out of ?<?No???/ Request in \ ?
? ? Range ? \ Range? / ?
? ????????????????????? \ / ?
? \/ ?
? ? Yes
? Yes ?
? \/ ?
? /\ ?
? ????????????????????? / \ ?
??? Negative Response ?<?No???/Data available?\ ?
? ? Data not available? \ / ?
? ????????????????????? \ / ?
? \/ ?
? ? ?
? Yes ?
? \/ /\
? ??????????????????? ???????????????? / \
???>? Build and Send ?????????>?Build Positive???????????????>/Positive\
?? ?Negative Response? ? Response ? \Response/
?? ? Response penging? ???????????????? \Ready?/
?? ??????????????????? /\ \ /
?? /\ ? \/
?? ??????????????????? ? ?
?? ? Extend P2max to ? No No
?? ? P3max ? ? ?
?? ??????????????????? ? ?
?? /\ ? ?
?? No ? ?
?? ? ? \/
?? /\ /\ /\
?? / \ / \ / \
?? / Card \<???Yes???????/ P2max \<?????????No???????/ P3max \
?? \downloading?/ \expired / \expired?/
?? \ / \ / \ /
?? \/ \/ \/
?? ? ?
?? Yes ?
?? \/ ?
?? ??????????????????? ?
?? ? Extend P2max and? ?
????? P3max to P5 ? ?
? ??????????????????? ??????????????????? ?
? ?Negative Response? ?
???????????????????????????????????????? General reject ?<??????Yes
???????????????????
2. The IDE detects a VU transmission error.
DDP_025 For every received message the IDE shall detect timing errors, byte format errors (e.g. start and stop bit violations) and frame errors (wrong number of bytes received, wrong checksum byte).
DDP_026 The IDE shall detect sequence errors, e.g. incorrect sub message counter increments in successive received messages.
DDP_027 If the IDE detects an error or there was no response from the VU within a P2max period, the request message will be sent again for a maximum of three transmissions in total. For the purposes of this error detection a sub message acknowledge will be considered as a request to the VU.
DDP_028 The IDE shall wait at least for a period of P3min before beginning each transmission; the wait period shall be measured from the last calculated occurrence of a stop bit after the error was detected.
/???????\
? Start ?
\???????/
\/
???????????????
?????>?Build request?
? ? Send request?
? ???????????????
? ?????????????????????????????????????????????????????
? \/ ? ?
? /\ ? ????????????????????
? / \ ? ? Extend P2max and ?
? ????>/ Response \??????????Yes ? ? P3max to P5max ?
? ? \ received?/ ? ? ????????????????????
? ? \ / ? ? /\
? ? \/ ? ? ?
? ? ? ? ? ?
No No No ? ? ?
? ? \/ ? ? ?
? ? /\ ? ? ?
? ? / \ ? ???????????????? ?
? ?????/ P2max \ ? ? Extend P2max ? ?
? \ expired? / ? ? to P3max ? ?
? \ / ? ???????????????? ?
? \/ ? /\ ?
? ? ? ? ?
? Yes ? ? Yes
? \/ \/ No ?
? /\ /\ ? ?
? / \ / \ ? ?
????????/3 attempts?\<?Yes??/ Lenght \ ? ?
\ / \ or CS / /\ ?
\ / \error?/ / \ ?
\/ \/ / Card \?????
? ? \downloading?/
? No \ /
? \/ \/
? /\ /\
? / \ ?
Yes /Response\?????????Yes????
? \pending?/
? \ /
? \/
? ?
? No
? \/
\/ /\
/?????????????????\ / \
?IDE error handler?<?No??/Response\
\?????????????????/ \ OK? /
\ /
\/
?
Yes
\/
/????????????????????\
?Continue application?
\????????????????????/
This paragraph specifies the content of the data fields of the various positive response messages.
Data elements are defined in sub-appendix 1 data dictionary.
DDP_029 The data field of the "Positive Response Transfer Data Overview" message shall provide the following data in the following order under the SID 76 Hex, the TREP 01 Hex and appropriate sub message splitting and counting:
DDP_030 The data field of the "Positive Response Transfer Data Activities" message shall provide the following data in the following order under the SID 76 Hex, the TREP 02 Hex and appropriate sub message splitting and counting:
DDP_031 The data field of the "Positive Response Transfer Data Events and Faults" message shall provide the following data in the following order under the SID 76 Hex, the TREP 03 Hex and appropriate sub message splitting and counting:
DDP_032 The data field of the "Positive Response Transfer Data Detailed Speed" message shall provide the following data in the following order under the SID 76 Hex, the TREP 04 Hex and appropriate sub message splitting and countering:
DDP_033 The data field of the "Positive Response Transfer Data Technical Data" message shall provide the following data in the following order under the SID 76 Hex, the TREP 05 Hex and appropriate sub message splitting and counting:
DDP_034 When a download session has included a VU data transfer, the IDE shall store within one physical file all data received from the VU during the download session within Positive Response Transfer Data messages. Data stored excludes message headers, sub-message counters, empty sub-messages and checksums but include the SID and TREP (of the first sub-message only if several sub-messages).
This paragraph describes the direct card data downloading of a tachograph card to an IDE. The IDE is not part of the secure environment; therefore no authentication between the card and the IDE is performed.
DDP_035 The download of a tachograph card includes the following steps:
- Download the common information of the card in the EFs ICC and IC. This information is optional and is not secured with a digital signature.
- Download the EFs Card_Certificate and CA_Certificate. This information is not secured with a digital signature.
It is mandatory to download these files for each download session.
- Download the other application data EFs (within Tachograph DF) except EF Card_Download. This information is secured with a digital signature.
- It is mandatory to download at least the EFs
Application_Identification and ID for each download session.
- When downloading a driver card it is also mandatory to download
the following EFs:
- Events_Data,
- Faults_Data,
- Driver_Activity_Data,
- Vehicles_Used,
- Places,
- Control_Activity_Data,
- Specific_Conditions.
- When downloading a driver card, update the LastCardDownload date in EF Card_Download,
- When downloading a workshop card, reset the calibration counter in EF Card_Download.
DDP_036 The IDE shall initiate the sequence as follows:
It is optional to use PPS to switch to a higher baudrate as long as the ICC supports it.
DDP_037 The sequence to download the EFs ICC, IC, Card_Certificate and CA_Certificate is as follows:
DDP_038 The following sequence shall be used for each of the following files that has to be downloaded with their signature:
DDP_039 The sequence to reset the NoOfCalibrationsSinceDownload counter in the EF Card_Download in a workshop card is the following:
DDP_040 The downloaded data has to be stored according to the following conditions:
- The data shall be stored transparent. This means that the order of the bytes as well as the order of the bits inside the byte that are transferred from the card has to be preserved during storage.
- All files of the card downloaded within a download session are stored in one file on the ESM.
DDP_041 The file format is a concatenation of several TLV objects.
DDP_042 The tag for an EF shall be the FID plus the appendix "00".
DDP_043 The tag of an EF's signature shall be the FID of the file plus the appendix "01".
DDP_044 The length is a two byte value. The value defines the number of bytes in the value field. The value "FF FF" in the length field is reserved for future use.
DDP_045 When a file is not downloaded nothing related to the file shall be stored (no tag and no zero length).
DDP_046 A signature shall be stored as the next TLV object directly after the TLV object that contains the data of the file.
Example of data in a download file on an ESM:
DDP_047 The VU must allow for downloading the content of a driver card inserted to a connected IDE.
DDP_048 The IDE shall send a "Transfer Data Request Card Download" message to the VU to initiate this mode (see 2.2.2.9).
DDP_049 The VU shall then download the whole card, file by file, in accordance with the card downloading protocol defined in paragraph 0, and forward all data received from the card to the IDE within the appropriate TLV file format (see 3.4.2) and encapsulated within a "Positive Response Transfer Data" message.
DDP_050 The IDE shall retrieve card data from the "Positive Response Transfer Data" message (striping all headers, SIDs, TREPs, sub message counters, and checksums) and store them within one physical file as described in paragraph 2.3.
DDP_051 The VU shall then, as applicable, update the Control_Activity_Data or the Card_Download file of the driver card.
This sub-appendix describes how data is exchanged between a vehicle unit and a tester via the K-line which forms part of the calibration interface described in sub-appendix 6. It also describes control of the input/output signal line on the calibration connector.
Establishing K-line communications is described in Section 4 "Communication Services".
This sub-appendix uses the idea of diagnostic "sessions" to determine the scope of K-line control under different conditions. The default session is the "StandardDiagnosticSession" where all data can be read from a vehicle unit but no data can be written to a vehicle unit.
Selection of the diagnostic session is described in Section 5 "Management Services"
CPR_001 The "ECUProgrammingSession" allows data entry into the vehicle unit. In the case of entry of calibration data (requirements 097 and 098), the vehicle unit must, in addition be in the CALIBRATION mode of operation.
Data transfer via K-line is described in Section 6 "Data Transmission Services". Formats of data transferred are detailed in Section 8 "dataRecords formats"
CPR_002 The "ECUAdjustmentSession" allows the selection of the I/O mode of the calibration I/O signal line via the K-line interface. Control of the calibration I/O signal line is described in section 7 "Control of Test Pulses - Input/Output Control functional unit".
CPR_003 Throughout this document the address of the tester is referred to as 'tt'. Although there may be preferred addresses for testers, the VU shall respond correctly to any tester address. The physical address of the VU is 0xEE.
The protocols, messages and error codes are principally based on the current draft to date of ISO 14229-1 (Road vehicles - Diagnostic systems - Part 1: Diagnostic services, version 6 of 22 February 2001).
Byte encoding and hexadecimal values are used for the service identifiers, the service requests and responses, and the standard parameters.
The term "tester" refers to the equipment used to enter programming/calibration data into the VU.
The terms "client" and "server" refer to the tester and the VU respectively.
The term ECU means "Electronic Control Unit" and refers to the VU.
References:
The following table provides an overview of the services that will be available in the control device and are defined in this document.
CPR_004 The table indicates the services that are available in an enabled diagnostic session.
- The 1st column lists the services that are available.
- The 2nd column includes the section number in this sub-appendix where of service is further defined.
- The 3rd column assigns the assigns the service identifier values for request messages.
- The 4th column specifies the services of the "StandardDiagnosticSession" (SD) which must be implemented in each VU.
- The 5th column specifies the services of the "ECUAdjustmentSession" (ECUAS) which must be implemented to allow control of the I/O signal line in the front panel calibration connector of the VU.
- The 6th column specifies the services of the "ECUProgrammingSession" (ECUPS) which must be implemented to allow for programming of parameters in the VU.
Service Identifier value summary table
No symbol indicates that this service is not allowed in this diagnostic session.
Response codes are defined for each service.
Some services are necessary to establish and maintain communication. They do not appear on the application layer. The services available are detailed in the following table:
Communication Services
CPR_005 The StartCommunication Service is used for starting a communication. In order to perform any service, communication must be initialised and the communication parameters need to be appropriate for the desired mode.
CPR_006 Upon receiving a StartCommunication indication primitive, the VU shall check if the requested communication link can be initialised under the present conditions. Valid conditions for the initialisation of a communication link are described in document ISO 14230-2.
CPR_007 Then the VU shall perform all actions necessary to initialise the communication link and send a StartCommunication response primitive with the Positive Response parameters selected.
CPR_008 If a VU that is already initialised (and has entered any diagnostic session) receives a new StartCommunication Request (e.g. due to error recovery in the tester) the request shall be accepted and the VU shall be reinitialised.
CPR_009 If the communication link cannot be initialised for any reason, the VU shall continue operating as it was immediately prior to the attempt to initialise the communication link..
CPR_010 The StartCommunication Request message must be physically addressed.
CPR_011 Initialising the VU for services is performed through a "fast initialisation" method,
- There is a bus-idle time prior to any activity.
- The tester then sends an initialisation pattern.
- All information which is necessary to establish communication is contained in the response of the VU.
CPR_012 After completion of the initialisation,
All communication parameters are set to values defined in
- according to the key bytes.
- The VU is waiting for the first request of the tester.
- The VU is in the default diagnostic mode, i.e. StandardDiagnosticSession.
- The calibration I/O signal line is in the default state, i.e. disabled state.
CPR_014 The data rate on the K-line shall be 10 400 Baud.
CPR_016 The fast initialisation is started by the tester transmitting a Wake up pattern (Wup) on the K-line. The pattern begins after the idle time on K-line with a low time of Tinil. The tester transmits the first bit of the StartCommunication Service after a time of Twup following the first falling edge.
![]() CPR_017 The timing values for the fast initialisation and communications in general are detailed in the tables below. There are different possibilities for the idle time:
- First transmission after power on, Tidle = 300 ms.
- After completion of a StopCommunication Service, Tidle = P3 min.
- After stopping communication by time-out P3 max, Tidle = 0.
Timing values for fast initialisation
Communication timing values
CPR_018 The message format for fast initialisation is detailed in the following tables.
StartCommunication Request Message
StartCommunication Positive Response Message
CPR_019 There is no negative response to the StartCommunication Request message, if there is no positive response message to be transmitted then the VU is not initialised, nothing is transmitted and it remains in its normal operation.
The purpose of this communication layer service is to terminate a communication session.
CPR_020 Upon receiving a StopCommunication indication primitive, the VU shall check if the current conditions allow to terminate this communication. In this case the VU shall perform all actions necessary to terminate this communication.
CPR_021 If it is possible to terminate the communication, the VU shall issue a StopCommunication response primitive with the Positive Response parameters selected, before the communication is terminated.
CPR_022 If the communication cannot be terminated by any reason, the VU shall issue a StopCommunication response primitive with the Negative Response parameter selected.
CPR_023 If time-out of P3max is detected by the VU, the communication shall be terminated without any response primitive being issued.
CPR_024 The message formats for the StopCommunication primitives are detailed in the following tables.
StopCommunication Request Message
StopCommunication Positive Response Message
StopCommunication Negative Response Message
This service does not require any parameter definition.
The TesterPresent service is used by the tester to indicate to the server that it is still present, in order to prevent the server from automatically returning to normal operation and possibly stopping the communication. This service, sent periodically, keeps the diagnostic session/communication active by resetting the P3 timer each time a request for this service is received.
CPR_079 The message formats for the TesterPresent primitives are detailed in the following tables.
TesterPresent Request Message
CPR_080 If the responseRequired parameter is set to "yes", then the server shall respond with the following positive response message. If set to "no", then no response is sent by the server.
TesterPresent Positive Response Message
CPR_081 The service shall support the following negative responses codes:
TesterPresent Negative Response Message
The services available are detailed in the following table:
Management Services
CPR_025 The service StartDiagnosticSession is used to enable different diagnostic sessions in the server. A diagnostic session enables a specific set of services according to Table 17. A session can enable vehicle manufacturer specific services which are not part of this document. Implementation rules shall conform to the following requirements:
- There shall be always exactly one diagnostic session active in the VU,
- The VU shall always start the StandardDiagnosticSession when powered up. If no other diagnostic session is started, then the StandardDiagnosticSession shall be running as long as the VU is powered,
- If a diagnostic session which is already running has been requested by the tester, then the VU shall send a positive response message,
- Whenever the tester requests a new diagnostic session, the VU shall first send a StartDiagnosticSession positive response message before the new session becomes active in the VU. If the VU is not able to start the requested new diagnostic session, then it shall respond with a StartDiagnosticSession negative response message, and the current session shall continue.
CPR_026 A diagnostic session shall only be started if communication has been established between the client and the VU.
CPR_027 The timing parameters defined in
shall be active after a successful StartDiagnosticSession with the diagnosticSession parameter set to "StandardDiagnosticSession" in the request message if another diagnostic session was previously active.
CPR_028 The message formats for the StartDiagnosticSession primitives are detailed in the following tables.
Management Services
StartDiagnosticSession Positive Response Message
StartDiagnosticSession Negative Response Message
--------------------------------
<a> - the value inserted in byte #6 of the request message is not supported, i.e. not in Table 17.
<b> - the length of the message is wrong,
<c> - the criteria for the request StartDiagnosticSession are not met.
CPR_029 The parameter diagnosticSession (DS_) is used by the StartDiagnosticSession service to select the specific behaviour of the server(s). The following diagnostic sessions are specified in this document:
Definition of diagnosticSession Values
Writing of calibration data or access to the calibration input/output line is not possible unless the VU is in CALIBRATION mode. In addition to insertion of a valid workshop card into the VU, it is necessary to enter the appropriate PIN into the VU before access to the CALIBRATION mode is granted.
The SecurityAccess service provides a means to enter the PIN and to indicate to the tester whether or not the VU is in CALIBRATION mode.
It is acceptable that the PIN may be entered through alternative methods.
The SecurityAccess service consists of a SecurityAccess "requestSeed" message, eventually followed by a SecurityAccess "sendKey" message. The SecurityAccess service must be carried out after the StartDiagnosticSession service.
CPR_033 The tester shall use the SecurityAccess "requestSeed" message to check if the vehicle unit is ready to accept a PIN.
CPR_034 If the vehicle unit is already in CALIBRATION mode, it shall answer the request by sending a "seed" of 0x0000 using the service SecurityAccess Positive Response.
CPR_035 If the vehicle unit is ready to accept a PIN for verification by a workshop card, it shall answer the request by sending a "seed" greater than 0x0000 using the service SecurityAccess Positive Response.
CPR_036 If the vehicle unit is not ready to accept a PIN from the tester, either because the workshop card inserted is not valid, or because no workshop card has been inserted, or because the vehicle unit expects the PIN from another method, it shall answer the request with a Negative Response with a response code set to conditionsNotCorrectOrRequestSequenceError.
CPR_037 The tester shall then, eventually, use the SecurityAccess "sendKey" message to forward a PIN to the Vehicle Unit. To allow time for the card authentication process to take place, the VU shall use the negative response code requestCorrectlyReceived-ResponsePending to extend the time to respond. However, the maximum time to respond shall not exceed 5 minutes. As soon as the requested service has been completed, the VU shall send a positive response message or negative response message with a response code different from this one. The negative response code requestCorrectlyReceived-ResponsePending may be repeated by the VU until the requested service is completed and the final response message is sent.
CPR_038 The vehicle unit shall answer to this request using the service SecurityAccess Positive Response only when in CALIBRATION mode.
CPR_039 In the following cases, the vehicle unit shall answer to this request with a Negative Response with a response code set to:
- subFunctionNot supported: Invalid format for the subfunction parameter (accessType),
- conditionsNotCorrectOrRequestSequenceError: Vehicle unit not ready to accept a PIN entry,
- invalidKey: PIN not valid and number of PIN checks attempts not exceeded,
- exceededNumberOfAttempts: PIN not valid and number of PIN checks attempts exceeded,
- generalReject: Correct PIN but mutual authentication with workshop card failed.
CPR_040 The message formats for the SecurityAccess "requestSeed" primitives are detailed in the following tables.
SecurityAccess Request - requestSeed Message
SecurityAccess - requestSeed Positive Response Message
SecurityAccess Negative Response Message
CPR_041 The message formats for the SecurityAccess "sendKey" primitives are detailed in the following tables.
SecurityAccess Request - sendKey Message
Security Access - sendKey Positive Response Message
SecurityAccess Negative Response Message
The services available are detailed in the following table:
Data Transmission Services
CPR_050 The ReadDataByIdentifier service is used by the client to request data record values from a server. The data are identified by a recordDataIdentifier. It is the VU manufacturer's responsibility that the server conditions are met when performing this service.
CPR_051 The message formats for the ReadDataByIdentifier primitives are detailed in the following tables.
ReadDataByIdentifier Request Message
ReadDataByIdentifier Positive Response Message
ReadDataByIdentifier Negative Response Message
CPR_052 The parameter recordDataIdentifier (RDI_) in the ReadDataByIdentifier request message identifies a data record.
CPR_053 recordDataIdentifier values defined by this document are shown in the table below.
The recordDataIdentifier table consists of four columns and multiple lines.
- The 1st column (Hex) includes the "Hex Value" assigned to the recordDataIdentifier specified in the 3rd column.
- The 2nd column (Data element) specifies the data element of sub-appendix 1 on which the recordDataIdentifier is based (transcoding is sometimes necessary).
- The 3rd column (Description) specifies the corresponding recordDataIdentifier name.
- The 4th column (Mnemonic) specifies the mnemonic of this recordDataIdentifier.
Definition of recordDataIdentifier values
CPR_054 The parameter dataRecord (DREC_) is used by the ReadDataByIdentifier positive response message to provide the data record value identified by the recordDataIdentifier to the client (tester). Data formats are specified in section 8. Additional user optional dataRecords including VU specific input, internal and output data may be implemented, but are not defined in this document.
CPR_056 The WriteDataByIdentifier service is used by the client to write data record values to a server. The data are identified by a recordDataIdentifier. It is the VU manufacturer's responsibility that the server conditions are met when performing this service. To update the parameters listed in Table 28, the VU must be in CALIBRATION mode.
CPR_057 The message formats for the WriteDataByIdentifier primitives are detailed in the following tables.
WriteDataByIdentifier Request Message
WriteDataByIdentifier Positive Response Message
WriteDataByIdentifier Negative Response Message
The parameter recordDataIdentifier (RDI_) is defined in Table 28.
The parameter dataRecord (DREC_) is used by the WriteDataByIdentifier request message to provide the data record values identified by the recordDataIdentifier to the server (VU). Data formats are specified in section 8.
CONTROL FUNCTIONAL UNIT
The services available are detailed in the following table:
InputOutputControlByIdentifier service
There is a connection via the front connector which allows test pulses to be controlled or monitored using a suitable tester.
CPR_058 This calibration I/O signal line can be configured by K-line command using the InputOutputControlByIdentifier service to select the required input or output function for the line. The available states of the line are:
- disabled,
- speedSignalInput, where the calibration I/O signal line is used to input a speed signal (test signal) replacing the motion sensor speed signal,
- realTimeSpeedSignalOutputSensor, where the calibration I/O signal line is used to output the speed signal of the motion sensor,
- RTCOutput, where the calibration I/O signal line is used to output the UTC clock signal.
CPR_059 The vehicle unit must have entered an adjustment session and must be in CALIBRATION mode to configure the state of the line. On exit of the adjustment session or of the CALIBRATION mode the vehicle unit must ensure the calibration I/O signal line is returned to the "disabled" (default) state.
CPR_060 If speed pulses are received at the real time speed signal input line of the VU while the calibration I/O signal line is set to input then the calibration I/O signal line shall be set to output or returned to the disabled state.
CPR_061 The sequence shall be:
- Establish communications by StartCommunication Service
- Enter an adjustment session by StartDiagnosticSession Service and be in CALIBRATION mode of operation (the order of these two operation is not important).
- Change the state of the output by InputOutputControlByIdentifier Service.
CPR_062 The message formats for the InputOutputControlByIdentifier primitives are detailed in the following tables.
InputOutputControlByIdentifier Request Message
Note: The controlState parameter is present only in some cases (see 7.1.3).
InputOutputControlByIdentifier Positive Response Message
InputOutputControlByIdentifier Negative Response Message
CPR_064 The parameter inputOutputControlParameter (IOCP_) is defined in the following table.
Definition of inputOutputControlParameter values
CPR_065 The parameter controlState is present only when the inputOutputControlParameter is set to ShortTermAdjustment and is defined in the following table:
Definition of controlState values
This section details:
- general rules that shall be applied to ranges of parameters transmitted by the vehicle unit to the tester,
- formats that shall be used for data transferred via the Data Transmission Services described in section 6.
CPR_067 All parameters identified shall be supported by the VU.
CPR_068 Data transmitted by the VU to the tester in response to a request message shall be of the measured type (i.e. current value of the requested parameter as measured or observed by the VU).
CPR_069 Table 38 defines the ranges used to determine the validity of a transmitted parameter.
CPR_070 The values in the range "error indicator" provide a means for the vehicle unit to immediately indicate that valid parametric data is not currently available due to some type of error in the control device.
CPR_071 The values in the range "not available" provide a means for the vehicle unit to transmit a message which contains a parameter that is not available or not supported in that module. The values in the range "not requested" provide a means for a device to transmit a command message and identify those parameters where no response is expected from the receiving device.
CPR_072 If a component failure prevents the transmission of valid data for a parameter, the error indicator as described in Table 38 should be used in place of that parameter's data. However, if the measured or calculated data has yielded a value that is valid yet exceeds the defined parameter range, the error indicator should not be used. The data should be transmitted using the appropriate minimum or maximum parameter value.
dataRecords ranges
CPR_073 For parameters coded in ASCII, the ASCII character "*" is reserved as a delimiter.
Tables 39 to 42 below detail the formats that shall be used via the ReadDataByIdentifier and WriteDataByIdentifier Services.
CPR_074 Table 39 provides the length, resolution and operating range for each parameter identified by its recordDataIdentifier:
Format of dataRecords
CPR_075 Table 40 details the formats of the different bytes of the TimeDate parameter:
Detailed format of TimeDate
(recordDataIdentifier value # F90B)
CPR_076 Table 41 details the formats of the different bytes of the NextCalibrationDate parameter.
Detailed format of NextCalibrationDate
(recordDataIdentifier value # F922)
NOTE concerning the use of the "Day" parameter:
A value of 0 for the date is null. The values 1, 2, 3, and 4 are used to identify the first day of the month; 5, 6, 7, and 8 identify the second day of the month; etc.
This parameter does not influence or change the hours parameter above.
NOTE concerning the use of byte "Year" parameter:
A value of 0 for the year identifies the year 1985; a value of 1 identifies 1986; etc.
CPR_078 Table 42 details the formats of the different bytes of the VehicleRegistrationNumber parameter:
Detailed format of VehicleRegistrationNumber
(recordDataIdentifier value # F97E)
OF MINIMUM REQUIRED TESTS
The type approval procedure for the recording equipment (or component) or tachograph card is based on:
- a security certification, performed by an ITSEC authority, against a security target fully compliant with sub-appendix 10 to this appendix,
- a functional certification performed by a Contracting Party authority certifying that the item tested fulfils the requirements of this appendix in terms of functions performed, measurement accuracy and environmental characteristics,
- an interoperability certification performed by the competent body certifying that the control device (or tachograph card) is fully interoperable with the necessary tachograph card (or control device) models (see Chapter VIII of this appendix).
This sub-appendix specifies which tests, as a minimum, must be performed by a Contracting Party authority during the functional tests, and which tests, as a minimum, must be performed by the competent body during the interoperability tests. Procedures to follow to carry out the tests or the type of tests are not specified further.
The security certification aspects are not covered by this sub-appendix. If some tests requested for type approval are performed during the security evaluation and certification process, then these tests do not need to be performed again. In this case, only the results of these security tests may be inspected. For information, the requirements expected to be tested (or closely related to tests expected to be performed) during the security certification, are marked with a "*" in this sub-appendix.
This sub-appendix considers separately the type approval of the motion sensor and of the vehicle unit, as components of the control device. Interoperability between every model of motion sensor and every model of vehicle unit is not required, therefore the type approval for a motion sensor can be granted only in combination with the type approval of a vehicle unit and vice versa.
The following references are used in this sub-appendix:
This sub-appendix specifies the minimum required content of motion sensor, vehicle unit and tachograph card security targets.
In order to form the security targets against which they may seek security certification, manufacturers shall refine and complete the documents as necessary, without amending nor deleting existing threats, objectives, procedural means and security enforcing functions specifications.
This document contains a description of the motion sensor, of the threats it must be able to counteract and of the security objectives it must achieve. It specifies the required security enforcing functions. It states the claimed minimum strength of security mechanisms and the required level of assurance for the development and the evaluation.
Requirements referred to in the document, are those of the body of Appendix 1B. For clarity of reading, duplication sometimes arises between Appendix 1B body requirements and security target requirements. In case of ambiguity between a security target requirement and the Appendix 1B body requirement referred by this security target requirement, the Appendix IB body requirement shall prevail.
Appendix 1B body requirements not referred by security targets are not the subject of security enforcing functions.
Unique labels have been assigned to threats, objectives, procedural means and SEF specifications for the purpose of traceability to development and evaluation documentation.
The motion sensor is intended to be installed in road transport vehicles. Its purpose is to provide a VU with secured motion data representative of vehicle's speed and distance travelled.
The motion sensor is mechanically interfaced to a moving part of the vehicle, which movement can be representative of vehicle's speed or distance travelled. It may be located in the vehicle's gear box or in any other part of the vehicle.
In its operational mode, the motion sensor is connected to a VU.
It may also be connected to specific equipment for management purposes (TBD by manufacturer)
The typical motion sensor is described in the following figure:
?????????????????????????????????
? ? ????
? ???????????? ??????????? ? ?
????????????? ?Processing? ? ? Motion ? ?
Mechanical ? Motion ? ? unit ? ?Connector?<???????>?VU?
interface ?information?????>? Security ?<??>? ? Data ? ?
????????????? ?components? ? ?<??? ????
? ???????????? ??????????? ?
? ? Power
????????????????????????????????? ?
The typical life cycle of the motion sensor is described in the following figure:
???????????????????????????????????????????????????????????????????????????
? ??????????????? ?
? ?????????????? Design/ ??????????????? ?
? \/ ? Development ? \/ ?
? ????????????? ??????????????? ??????????????????? Design?
? ? Software ? ? ?Components design? phase?
? ?development? ? ? and development ? ?
? ????????????? ? ??????????????????? ?
?? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ??. ? . ? . ? . ? . ? ?
? ? \/ \/ ?
? ? ??????????????? ?????????????????? ?
? ? ?Manufacturing? ? Components ? ?
? ? ??????????????? ? manufacturing ? ?
? ? ? ?????????????????? ?
? ? \/ \/ ?
? ? ?????????????? ?????????????????? ?
? ????????????>? Assembly ?<????? Components ? ?
? ?????????????? ? supply ? ?
? \/ ?????????????????? Manufacturing?
? ????????????? ?????????????? environment?
? ? Security ? ? Security ? ?
? ? data ??????>? data ? ?
? ? generation? ? insertion ? ?
? ????????????? ?????????????? ?
? \/ ?
? ?????????????? ?????????????????? ?
? ? Storage ?<????? Repair ? ?
? ?Distribution? ?????????????????? ?
? ?????????????? /\ ?
?? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? ?
? \/ ? ?
? ?????????????? ? ?
? ? Storage ?<????????????? ?
? ?????????????? ? ?
? \/ ? ?
? ?????????????? ? Fitters?
? ?Installation? ? and?
? ?????????????? ? Workshops?
? \/ ? environment?
? VU ?????????????? ?????????????????? ?
?<???????????????????>? inspection ?<????? Repair ???? ?
? Pairing ??????Calibration ? ?????????????????? ? ?
? ????>?????????????? /\ ? ?
?? . ? . ? . ? . ??. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? ?
? ?? \/ ? ? ?
? ?? ?????????????? ? ? End user?
? ?????? Operation ??????????????? ? environment?
? ? ?????????????? ? ?
?? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? ?
? ? \/ ? ?
? ? ?????????????? ? ?
? ????>? End of life?<????????????????????????? ?
? ?????????????? ?
???????????????????????????????????????????????????????????????????????????
This paragraph describes the threats the motion sensor may face.
The main security objective of the digital tachograph system is the following:
Therefore the security objective of the motion sensor, contributing to the global security objective, is:
The specific IT security objectives of the motion sensor contributing to its main security objective, are the following:
This paragraph describes physical, personnel or procedural requirements that contribute to the security of the motion sensor.
AND INSPECTION
UIA_101 The motion sensor shall be able to establish, for every interaction, the identity of any entity it is connected to.
UIA_102 The identity of a connected entity shall consist of:
- an entity group:
- VU,
- Management device,
- Other,
- an entity ID (VU only).
UIA_103 The entity ID of a connected VU shall consist of the VU approval number and the VU serial number.
UIA_104 The motion sensor shall be able to authenticate any VU or management device it is connected to:
- at entity connection,
- at power supply recovery
UIA_105 The motion sensor shall be able to periodically re-authenticate the VU it is connected to.
UIA_106 The motion sensor shall detect and prevent use of authentication data that has been copied and replayed.
UIA_107 After (TBD by manufacturer and not more than 20) consecutive unsuccessful authentication attempts have been detected, the SEF shall:
- generate an audit record of the event,
- warn the entity,
- continue to export motion data in a non secured mode.
Access controls ensure that information is read from, created in, or modified into the TOE only by those authorised to do so.
ACC_101 The motion sensor shall control access rights to function and data.
ACC_102 The motion sensor shall ensure that motion sensor identification data can be written once only (requirement 078).
ACC_103 The motion sensor shall accept and/or store user data from authenticated entities only.
ACC_104 The motion sensor shall enforce appropriate read and write access rights to security data.
ACC_105 Application and data files structure and access conditions shall be created during the manufacturing process, and then locked from any future modification or deletion.
ACT_101 The motion sensor shall hold in its memory motion sensor identification data (requirement 077).
ACT_102 The motion sensor shall store in its memory installation data (requirement 099).
ACT_103 The motion sensor shall have a capability to output accountability data to authenticated entities at their request.
AUD_101 The motion sensor shall, for events impairing its security, generate audit records of the events.
AUD_102 The events affecting the security of the motion sensor are the following:
- security breach attempts:
- authentication failure,
- stored data integrity error,
- internal data transfer error,
- unauthorised case opening,
- hardware sabotage.
- Sensor fault,
AUD_103 Audit records shall include the following data:
- date and time of the event,
- type of event,
- connected entity identity.
when required data is not available, an appropriate default indication shall be given (TBD by manufacturer).
AUD_104 The motion sensor shall send the generated audit records to the VU at the moment of their generation, and may also store them in its memory.
AUD_105 In the case where the motion sensor stores audit records, it shall ensure that 20 audit records will be maintained independent of audit storage exhaustion, and shall have a capability to output stored audit records to authenticated entities at their request.
ACR_101 The motion sensor shall ensure that motion data may only been processed and derived from sensor mechanical input.
The requirements of this paragraph apply only if the motion sensor makes use of physically separated parts.
ACR_102 If data are transferred between physically separated parts of the motion sensor, the data shall be protected from modification.
ACR_103 Upon detection of a data transfer error during an internal transfer, transmission shall be repeated and the SEF shall generate an audit record of the event.
ACR_104 The motion sensor shall check user data stored in its memory for integrity errors.
ACR_105 Upon detection of a stored user data integrity error, the SEF shall generate an audit record.
RLB_101 All commands, actions, or test points, specific to the testing needs of the manufacturing phase shall be disabled or removed before the end of the manufacturing phase. It shall not be possible to restore them for later use.
RLB_102 The motion sensor shall run self-tests, during initial start-up, and during normal operation to verify its correct operation. The motion sensor self-tests shall include a verification of the integrity of security data and a verification of the integrity of stored executable code (if not in ROM).
RLB_103 Upon detection of an internal fault during self-test, the SEF shall generate an audit record (sensor fault).
RLB_104 There shall be no way to analyse or debug the motion sensor software in the field.
RLB_105 Inputs from external sources shall not be accepted as executable code.
RLB_106 If the motion sensor is designed so that it can be opened, the motion sensor shall detect any case opening, even without external power supply for a minimum of 6 months. In such a case, the SEF shall generate an audit record of the event (It is acceptable that the audit record is generated and stored after power supply reconnection).
If the motion sensor is designed so that it cannot be opened, it shall be designed such that physical tampering attempts can be easily detected (e.g. through visual inspection).
RLB_107 The motion sensor shall detect specified (TBD by manufacturer) hardware sabotage.
RLB_108 In the case described above, the SEF shall generate an audit record and the motion sensor shall: (TBD by manufacturer).
RLB_109 The motion sensor shall preserve a secure state during power supply cut-off or variations.
RLB_110 In case of a power supply interruption, or if a transaction is stopped before completion, or on any other reset conditions, the motion sensor shall be reset cleanly.
RLB_111 The motion sensor shall ensure that access to resources is obtained when required and that resources are not requested nor retained unnecessarily.
RLB_112 If the motion sensor provides applications other than the tachograph application, all applications shall be physically and/or logically separated from each other. These applications shall not share security data. Only one task shall be active at a time.
DEX_101 The motion sensor shall export motion data to the VU with associated security attributes, such that the VU will be able to verify its integrity and authenticity.
The requirements of this paragraph are applicable only where needed, depending upon security mechanisms used and upon the manufacturer's solutions.
CSP_101 Any cryptographic operation performed by the motion sensor shall be in accordance with a specified algorithm and a specified key size.
CSP_102 If the motion sensor generates cryptographic keys, it shall be in accordance with specified cryptographic key generation algorithms and specified cryptographic key sizes.
CSP_103 If the motion sensor distributes cryptographic keys, it shall be in accordance with specified key distribution methods.
CSP_104 If the motion sensor accesses cryptographic keys, it shall be in accordance with specified cryptographic keys access methods.
CSP_105 If the motion sensor destroys cryptographic keys, it shall be in accordance with specified cryptographic keys destruction methods.
The security mechanisms, fulfilling the motion sensor security enforcing functions, are defined by the motion sensor manufacturers.
The minimum strength of the motion sensor security mechanisms is High, as defined in [ITSEC].
The target level of assurance for the motion sensor is ITSEC level E3, as defined in [ITSEC].
The following matrixes give a rationale for the SEFs by showing:
- which SEFs or means counteract which threats,
- which SEFs fulfil which IT security objectives.
This document contains a description of the vehicle unit, of the threats it must be able to counteract and of the security objectives it must achieve. It specifies the required security enforcing functions. It states the claimed minimum strength of security mechanisms and the required level of assurance for the development and the evaluation.
Requirements referred to in the document, are those of the body of Appendix 1B. For clarity of reading, duplication sometimes arises between Appendix 1B body requirements and security target requirements. In case of ambiguity between a security target requirement and the Appendix 1B body requirement referred by this security target requirement, the Appendix 1B body requirement shall prevail.
Appendix 1B body requirements not referred by security targets are not the subject of security enforcing functions.
Unique labels have been assigned to threats, objectives, procedural means and SEF specifications for the purpose of traceability to development and evaluation documentation.
The VU is intended to be installed in road transport vehicles. Its purpose is to record, store, display, print and output data related to driver activities.
It is connected to a motion sensor with which it exchanges vehicle's motion data.
Users identify themselves to the VU using tachograph cards.
The VU records and stores user activities data in its data memory, it also records user activities data in tachograph cards.
The VU outputs data to display, printer and external devices.
The vehicle unit's operational environment while installed in a vehicle is described in the following figure:
![]() The VU general characteristics, functions and mode of operations are described in Chapter II of Appendix 1B.
The VU functional requirements are specified in Chapter III of Appendix 1B.
The typical VU is described in the following figure:
![]() It must be noted that although the printer mechanism is part of the TOE, the paper document once produced is not.
The typical life cycle of the VU is described in the following figure:
???????????????????????????????????????????????????????????????????????????
? ??????????????? ?
? ?????????????? Design/ ?????????????? ?
? \/ ? Development ? \/ ?
? ????????????? ??????????????? ??????????????????? Design?
? ? Software ? ? ?Components design? phase?
? ?development? ? ? and development ? ?
? ????????????? ? ??????????????????? ?
?? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ??. ? . ? . ? . ? . ? ?
? ? \/ \/ ?
? ? ??????????????? ?????????????????? ?
? ? ?Manufacturing? ? Components ? ?
? ? ??????????????? ? manufacturing ? ?
? ? ? ?????????????????? ?
? ? \/ \/ ?
? ? ?????????????? ?????????????????? ?
? ????????????>? Assembly ?<????? Components ? ?
? ?????????????? ? supply ? ?
? \/ ?????????????????? Manufacturing?
? ????????????? ?????????????? environment?
? ? Security ? ? Security ? ?
? ? data ??????>? data ? ?
? ? generation? ? insertion ? ?
? ????????????? ?????????????? ?
? \/ ?
? ?????????????? ?????????????????? ?
? ? Storage ?<????? Repair ? ?
? ?Distribution? ?????????????????? ?
? ?????????????? /\ ?
?? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? ?
? \/ ? ?
? ?????????????? ? ?
? ? Storage ?<????????????? ?
? ?????????????? ? ?
? \/ ? ?
? ?????????????? ? ?
? ?????New????Installation? ? ?
? \/ ?????????????? ? ?
? ???????????? 2nd hand ? Fitters?
? ??>?Activation? ? ? and?
? ? ???????????? \/ ? Workshops?
? Sensor ??????????>?????????????? ?????????????????? environment?
?<?pairing???????????>?Calibration ?<????? Repair ???? ?
? ??????????>? ? ?????????????????? ? ?
? ???????????? ?????????????? /\ ? ?
? ? Periodic ? ? ? ? ?
? ????inspection? ? ? ? ?
? ? ???????????? ? ? ? ?
? ? /\ ? ? ? ?
? ??. ? . ??. ? . ? . ? . ? .\/ . ? . ? . ? . ? .?? . ? . ? .?? . ? . ? ?
? ? ? ?????????????? ? ? End?
? ? ???????????? Operation ??????????????? ? user?
? ? ?????????????? ? environment?
? ??. ? . ? . ? . ? . ? . ? .?? . ? . ? . ? . ? . ? . ? . ? .?? . ? . ? ?
? ? \/ ? ?
? ? ?????????????? ? ?
? ??????????????????>? End of life?<????????????????????????? ?
? ?????????????? ?
???????????????????????????????????????????????????????????????????????????
This paragraph describes the threats the VU may face.
The main security objective of the digital tachograph system is the following:
Therefore the security objectives of the VU, contributing to the global security objective, are the following:
The specific IT security objectives of the VU contributing to its main security objectives, are the following:
This paragraph describes physical, personnel or procedural requirements that contribute to the security of the VU.
AND INSPECTION
UIA_201 The VU shall be able to establish, for every interaction, the identity of the motion sensor it is connected to.
UIA_202 The identity of the motion sensor shall consist of the sensor approval number and the sensor serial number.
UIA_203 The VU shall authenticate the motion sensor it is connected to:
- at motion sensor connection,
- at each calibration of the control device,
- at power supply recovery.
Authentication shall be mutual and triggered by the VU.
UIA_204 The VU shall periodically (period TBD by manufacturer and more frequently than once per hour) re-identify and re-authenticate the motion sensor it is connected to, and ensure that the motion sensor identified during the last calibration of the control device has not been changed.
UIA_205 The VU shall detect and prevent use of authentication data that has been copied and replayed.
UIA_206 After (TBD by manufacturer and not more than 20) consecutive unsuccessful authentication attempts have been detected, and/or after detecting that the identity of the motion sensor has changed while not authorised (i.e. while not during a calibration of the control device), the SEF shall:
- generate an audit record of the event,
- warn the user,
- continue to accept and use non secured motion data sent by the motion sensor.
UIA_207 The VU shall permanently and selectively track the identity of two users, by monitoring the tachograph cards inserted in respectively the driver slot and the co-driver slot of the equipment.
UIA_208 The user identity shall consist of:
- a user group:
- DRIVER (driver card),
- CONTROLLER (control card),
- WORKSHOP (workshop card),
- COMPANY (company card),
- UNKNOWN (no card inserted),
- a user ID, composed of:
- the card issuing Contracting Party code and of the card number,
- UNKNOWN if user group is UNKNOWN.
UNKNOWN identities may be implicitly or explicitly known.
UIA_209 The VU shall authenticate its users at card insertion.
UIA_210 The VU shall re-authenticate its users:
- at power supply recovery,
- periodically or after occurrence of specific events (TBD by manufacturers and more frequently than once per day).
UIA_211 Authentication shall be performed by means of proving that the card inserted is a valid tachograph card, possessing security data that only the system could distribute. Authentication shall be mutual and triggered by the VU.
UIA_212 In addition to the above, workshops shall be required to be successfully authenticated through a PIN check. PINs shall be at least 4 characters long.
Note: In the case the PIN is transferred to the VU from an outside equipment located in the vicinity of the VU, PIN confidentiality need not be protected during the transfer.
UIA_213 The VU shall detect and prevent use of authentication data that has been copied and replayed.
UIA_214 After 5 consecutive unsuccessful authentication attempts have been detected, the SEF shall:
- generate an audit record of the event,
- warn the user,
- assume the user as UNKNOWN, and the card as non valid (definition z) and requirement 007).
AND AUTHENTICATION
Company remote connection capability is optional. This paragraph therefore applies only if this feature is implemented.
UIA_215 For every interaction with a remotely connected company, the VU shall be able to establish the company's identity.
UIA_216 The remotely connected company's identity shall consist of its company card issuing Contracting Party code and of its company card number.
UIA_217 The VU shall successfully authenticate the remotely connected company before allowing any data export to it.
UIA_218 Authentication shall be performed by means of proving that the company owns a valid company card, possessing security data that only the system could distribute.
UIA_219 The VU shall detect and prevent use of authentication data that has been copied and replayed.
UIA_220 After 5 consecutive unsuccessful authentication attempts have been detected, the VU shall:
- warn the remotely connected company.
VU manufacturers may foresee dedicated devices for additional VU management functions (e.g. Software upgrading, security data reloading, ...). This paragraph therefore applies only if this feature is implemented.
UIA_221 For every interaction with a management device, the VU shall be able to establish the device identity.
UIA_222 Before allowing any further interaction, the VU shall successfully authenticate the management device.
UIA_223 The VU shall detect and prevent use of authentication data that has been copied and replayed.
Access controls ensure that information is read from, created in, or modified into the TOE only by those authorised to do so.
It must be noted that the user data recorded by the VU, although presenting privacy or commercial sensitivity aspects, are not of a confidential nature. Therefore, the functional requirement related to data read access rights (requirement 011) is not the subject of a security enforcing function.
ACC_201 The VU shall manage and check access control rights to functions and to data.
ACC_202 The VU shall enforce the mode of operation selection rules (requirements 006 to 009).
ACC_203 The VU shall use the mode of operation to enforce the functions access control rules (requirement 010).
ACC_204 The VU shall enforce the VU identification data write access rules (requirement 076)
ACC_205 The VU shall enforce the paired motion sensor identification data write access rules (requirements 079 and 155)
ACC_206 After the VU activation, the VU shall ensure that only in calibration mode, may calibration data be input into the VU and stored into its data memory (requirements 154 and 156).
ACC_207 After the VU activation, the VU shall enforce calibration data write and delete access rules (requirement 097).
ACC_208 After the VU activation, the VU shall ensure that only in calibration mode, may time adjustment data be input into the VU and stored into its data memory (This requirement does not apply to small time adjustments allowed by requirements 157 and 158).
ACC_209 After the VU activation, the VU shall enforce time adjustment data write and delete access rules (requirement 100).
ACC_210 The VU shall enforce appropriate read and write access rights to security data (requirement 080).
ACC_211 Application and data files structure and access conditions shall be created during the manufacturing process, and then locked from any future modification or deletion.
ACT_201 The VU shall ensure that drivers are accountable for their activities (requirements 081, 084, 087, 105a, 105b, 109 and 109a).
ACT_202 The VU shall hold permanent identification data (requirement 075).
ACT_203 The VU shall ensure that workshops are accountable for their activities (requirements 098, 101 and 109).
ACT_204 The VU shall ensure that controllers are accountable for their activities (requirements 102, 103 and 109).
ACT_205 The VU shall record odometer data (requirement 090) and detailed speed data (requirement 093).
ACT_206 The VU shall ensure that user data related to requirements 081 to 093 and 102 to 105b inclusive are not modified once recorded, except when becoming oldest stored data to be replaced by new data.
ACT_207 The VU shall ensure that it does not modify data already stored in a tachograph card (requirements 109 and 109a) except for replacing oldest data by new data (requirement 110) or in the case described in sub-appendix 1, Paragraph 2.1. Note.
Audit capabilities are required only for events that may indicate a manipulation or a security breach attempt. It is not required for the normal exercising of rights even if relevant to security.
AUD_201 The VU shall, for events impairing the security of the VU, record those events with associated data (requirements 094, 096 and 109).
AUD_202 The events affecting the security of the VU are the following:
- Security breach attempts:
- motion sensor authentication failure,
- tachograph card authentication failure,
- unauthorised change of motion sensor,
- card data input integrity error,
- stored user data integrity error,
- internal data transfer error,
- unauthorised case opening,
- hardware sabotage,
- Last card session not correctly closed,
- Motion data error event,
- Power supply interruption event,
- VU internal fault,
AUD_203 The VU shall enforce audit records storage rules (requirement 094 and 096).
AUD_204 The VU shall store audit records generated by the motion sensor in its data memory.
AUD_205 It shall be possible to print, display and download audit records.
REU_201 The VU shall ensure that temporary storage objects can be reused without this involving inadmissible information flow.
ACR_201 The VU shall ensure that user data related to requirements 081, 084, 087, 090, 093, 102, 104, 105, 105a and 109 may only be processed from the right input sources:
- vehicle motion data,
- VU's real time clock,
- control device calibration parameters,
- tachograph cards,
- user's inputs.
ACR_201a The VU shall ensure that user data related to requirement 109a may only be entered for the period last card withdrawal - current insertion (requirement 050a).
The requirements of this paragraph apply only if the VU makes use of physically separated parts.
ACR_202 If data are transferred between physically separated parts of the VU, the data shall be protected from modification.
ACR_203 Upon detection of a data transfer error during an internal transfer, transmission shall be repeated and the SEF shall generate an audit record of the event.
ACR_204 The VU shall check user data stored in the data memory for integrity errors.
ACR_205 Upon detection of a stored user data integrity error, the SEF shall generate an audit record.
RLB_201 All commands, actions or test points, specific to the testing needs of the manufacturing phase of the VU shall be disabled or removed before the VU activation. It shall not be possible to restore them for later use.
RLB_202 The VU shall run self tests, during initial start-up, and during normal operation to verify its correct operation. The VU self tests shall include a verification of the integrity of security data and a verification of the integrity of stored executable code (if not in ROM).
RLB_203 Upon detection of an internal fault during self test, the SEF shall:
- generate an audit record (except in calibration mode) (VU internal fault),
- Preserve the stored data integrity.
RBL_204 There shall be no way to analyse or debug software in the field after the VU activation.
RLB_205 Inputs from external sources shall not be accepted as executable code.
RLB_206 If the VU is designed so that it can be opened, the VU shall detect any case opening, except in calibration mode, even without external power supply for a minimum of 6 months. In such a case, the SEF shall generate an audit record (It is acceptable that the audit record is generated and stored after power supply reconnection).
If the VU is designed so that it cannot be opened, it shall be designed such that physical tampering attempts can be easily detected (e.g. through visual inspection).
RLB_207 After its activation, the VU shall detect specified (TBD by manufacturer) hardware sabotage.
RLB_208 In the case described above, the SEF shall generate an audit record and the VU shall: (TBD by manufacturer).
RLB_209 The VU shall detect deviations from the specified values of the power supply, including cut-off.
RLB_210 In the case described above, the SEF shall:
- generate an audit record (except in calibration mode),
- preserve the secure state of the VU,
- maintain the security functions, related to components or processes still operational,
- preserve the stored data integrity.
RLB_211 In case of a power supply interruption, or if a transaction is stopped before completion, or on any other reset conditions, the VU shall be reset cleanly.
RLB_212 The VU shall ensure that access to resources is obtained when required and that resources are not requested nor retained unnecessarily.
RLB_213 The VU must ensure that cards cannot be released before relevant data have been stored to them (requirements 015 and 016)
RLB_214 In the case described above, the SEF shall generate an audit record of the event.
RLB_215 If the VU provides applications other than the tachograph application, all applications shall be physically and/or logically separated from each other. These applications shall not share security data. Only one task shall be active at a time.
This paragraph addresses data exchange between the VU and connected devices.
DEX_201 The VU shall verify the integrity and authenticity of motion data imported from the motion sensor
DEX_202 Upon detection of a motion data integrity or authenticity error, the SEF shall:
- generate an audit record,
- continue to use imported data.
DEX_203 The VU shall verify the integrity and authenticity of data imported from tachograph cards.
DEX_204 Upon detection of card data integrity or authenticity error, the VU shall:
- generate an audit record,
- not use the data.
DEX_205 The VU shall export data to tachograph smart cards with associated security attributes such that the card will be able to verify its integrity and authenticity.
(DOWNLOADING FUNCTION))
DEX_206 The VU shall generate an evidence of origin for data downloaded to external media.
DEX_207 The VU shall provide a capability to verify the evidence of origin of downloaded data to the recipient.
DEX_208 The VU shall download data to external storage media with associated security attributes such that downloaded data integrity and authenticity can be verified.
The requirements of this paragraph are applicable only where needed, depending upon security mechanisms used and upon the manufacturer's solutions.
CSP_201 Any cryptographic operation performed by the VU shall be in accordance with a specified algorithm and a specified key size.
CSP_202 If the VU generates cryptographic keys, it shall be in accordance with specified cryptographic key generation algorithms and specified cryptographic key sizes.
CSP_203 If the VU distributes cryptographic keys, it shall be in accordance with specified key distribution methods.
CSP_204 If the VU accesses cryptographic keys, it shall be in accordance with specified cryptographic keys access methods.
CSP_205 If the VU destroys cryptographic keys, it shall be in accordance with specified cryptographic keys destruction methods.
Required security mechanisms are specified in sub-appendix 11.
All other security mechanisms are to be defined by manufacturers.
The minimum strength of the Vehicle Unit security mechanisms is High, as defined in [ITSEC].
The target level of assurance for the Vehicle Unit is ITSEC level E3, as defined in [ITSEC].
The following matrixes give a rationale for the SEFs by showing:
- which SEFs or means counteract which threats,
- which SEFs fulfil which IT security objectives.
This document contains a description of the tachograph card, of the threats it must be able to counteract and of the security objectives it must achieve. It specifies the required security enforcing functions. It states the claimed minimum strength of security mechanisms, and the required level of assurance for the development and the evaluation.
Requirements referred to in the document, are those of the body of Appendix 1B. For clarity of reading, duplication sometimes arises between Appendix 1B body requirements and security target requirements. In case of ambiguity between a security target requirement and the Appendix 1B requirement referred by this security target requirement, the Appendix 1B body requirement shall prevail.
Appendix 1B body requirements not referred by security targets are not the subject of security enforcing functions.
A tachograph card is a standard smart card carrying a dedicated tachograph application, and shall comply to up-to-date functional and assurance security requirements applicable to smart cards. This security target therefore incorporates only the extra security requirements needed by the tachograph application.
Unique labels have been assigned to threats, objectives, procedural means and SEF specifications for the purpose of traceability to development and evaluation documentation.
A tachograph card is a smart card, as described in [IC PP] and [ES PP], carrying an application intended for its use with the control device.
The basic functions of the tachograph card are:
- to store card identification and card holder identification data. These data are used by the vehicle unit to identify the cardholder, provide accordingly functions and data access rights, and ensure cardholder accountability for his activities,
- to store cardholder activities data, events and faults data and control activities data, related to the cardholder.
A tachograph card is therefore intended to be used by a card interface device of a vehicle unit. It may also be used by any card reader (e.g. of a personal computer) which shall have full read access right on any user data.
During the end-usage phase of a tachograph card life-cycle (phase 7 of life-cycle as described in [ES PP]), vehicle units only may write user data to the card.
The functional requirements for a tachograph card are specified in Appendix 1B body text and sub-appendix 2.
The tachograph card life-cycle conforms to smart card life cycle described in [ES PP].
In addition to the smart card general threats listed in [ES PP] and [IC PP], the tachograph card may face the following threats:
The final aim of attackers will be to modify user data stored within the TOE.
TOE's assets may be attacked by:
- trying to gain illicit knowledge of TOE's hardware and software design and especially of its security functions or security data. Illicit knowledge may be gained though attacks to designer or manufacturer material (theft, bribery, ...) or through direct examination of the TOE (physical probing, inference analysis, ...).
- taking advantage of weaknesses in TOE design or realisation (exploit errors in hardware, errors in software, transmission faults, errors induced in TOE by environmental stress, exploit weaknesses of security functions such as authentication procedures, data access control, cryptographic operations, ...).
- modifying the TOE or its security functions through physical, electrical or logical attacks or combination of these.
The main security objective of the entire digital tachograph system is the following:
Therefore the main security objectives of the TOE, contributing to this global security objective are the following:
In addition to the smart card general security objectives listed in [ES PP] and [IC PP], the specific IT security objectives of the TOE that contributes to its main security objectives during its end-usage life-cycle phase are the following:
The physical, personnel or procedural requirements that contribute to the security of the TOE are listed in [ES PP] and [IC PP] (chapters security objectives for the environment).
This paragraph refines some of the permitted operations such as assignment or selection of [ES PP] and provides additional SEF functional requirements.
CPP_301 The TOE shall comply with [IC PP].
CPP_302 The TOE shall comply with [ES PP] as refined further.
The card must identify the entity in which it is inserted and know whether it is an authenticated vehicle unit or not. The card may export any user data whatever the entity it is connected to, except the control card and company card which may export card holder identification data to authenticated vehicle units only (such that a controller is ensured that the vehicle unit is not a fake one by seeing his name on display or printouts).
Assignment (FIA_UID. 1.1) List of TSF mediated actions: none.
Assignment (FIA_ATD. 1.1) List of security attributes:
- USER_GROUP: VEHICLE_UNIT, NON_VEHICLE_UNIT,
- USER_ID: Vehicle Registration Number (VRN) and registering Contracting Party Code (USER_ID is known for USER_GROUP = VEHICLE_UNIT only).
Assignment (FIA_UAU.1.1) List of TSF mediated actions:
- Driver and Workshop cards: Export user data with security attributes (card data download function),
- Control card: Export user data without security attributes except cardholder identification data.
UIA_301 Authentication of a vehicle unit shall be performed by means of proving that it possesses security data that only the system could distribute.
Selection (FIA_UAU.3.1 and FIA_UAU.3.2): prevent.
Assignment (FIA_UAU.4.1) Identified authentication mechanism(s): any authentication mechanism.
UIA_302 The Workshop card shall provide an additional authentication mechanism by checking a PIN code (This mechanism is intended for the Vehicle Unit to ensure the identity of the card holder, it is not intended to protect Workshop card content).
The following assignments describe the card reaction for each single user authentication failure.
Assignment (FIA_AFL.1.1) Number: 1, list of authentication events: authentication of a card interface device.
Assignment (FIA_AFL.1.2) List of actions:
- warn the entity connected,
- assume the user as NON_VEHICLE_UNIT.
Additionally the following assignments describe the card reaction in the case of failure of the additional authentication mechanism required in UIA_302.
Assignment (FIA_AFL.1.1) Number: 5, list of authentication events: PIN checks (workshop card).
Assignment (FIA_AFL.1.2) List of actions:
- warn the entity connected,
- block the PIN check procedure such that any subsequent PIN check attempt will fail,
- be able to indicate to subsequent users the reason of the blocking.
During end-usage phase of its life-cycle, the tachograph card is the subject of one single access control Security Function Policy (SFP) named AC_SFP.
Assignment (FDP_ACC.2.1) Access control SFP: AC_SFP.
Assignment (FDP_ACF.1.1) Access control SFP: AC_SFP.
Assignment (FDP_ACF.1.1) Named group of security attributes: USER_GROUP.
Assignment (FDP_ACF.1.2) Rules governing access among controlled subjects and controlled objects using controlled operations on controlled objects:
ACT_301 The TOE shall hold permanent identification data.
ACT_302 There shall be an indication of the time and date of the TOE's personalisation. This indication shall remain unalterable.
The TOE must monitor events that indicate a potential violation of its security.
Assignment (FAU_SAA.1.2) Subset of defined auditable events:
- cardholder authentication failure (5 consecutive unsuccessful PIN checks),
- self test error,
- stored data integrity error,
- activity data input integrity error.
Assignment (FDP_SDI.2.2) Actions to be taken: warn the entity connected,
Assignment (FDP_DAU.1.1) List of objects or information types: Activity data.
Assignment (FDP_DAU.1.2) List of subjects: Any.
Selection (FPT_TST.1.1): during initial start-up, periodically during normal operation.
Note: during initial start-up means before code is executed (and not necessarily during Answer To Reset procedure).
RLB_301 The TOE's self tests shall include the verification of the integrity of any software code not stored in ROM.
RLB_302 Upon detection of a self test error the TSF shall warn the entity connected.
RLB_303 After OS testing is completed, all testing-specific commands and actions shall be disabled or removed. It shall not be possible to override these controls and restore them for use. Command associated exclusively with one life cycle state shall never be accessed during another state.
RLB_304 There shall be no way to analyse, debug or modify TOE's software in the field.
RLB_305 Inputs from external sources shall not be accepted as executable code.
RLB_306 The TOE shall preserve a secure state during power supply cut-off or variations.
RLB_307 If power is cut (or if power variations occur) from the TOE, or if a transaction is stopped before completion, or on any other reset conditions, the TOE shall be reset cleanly.
DEX_301 The TOE shall verify the integrity and authenticity of data imported from a vehicle unit.
DEX_302 Upon detection of an imported data integrity error, the TOE shall:
- Warn the entity sending the data,
- not use the data.
DEX_303 The TOE shall export user data to the vehicle unit with associated security attributes, such that the vehicle unit will be able to verify the integrity and authenticity of data received.
FUNCTION)
DEX_304 The TOE shall be able to generate an evidence of origin for data downloaded to external media.
DEX_305 The TOE shall be able to provide a capability to verify the evidence of origin of downloaded data to the recipient.
DEX_306 The TOE shall be able to download data to external storage media with associated security attributes such that downloaded data integrity can be verified.
CSP_301 If the TSF generates cryptographic keys, it shall be in accordance with specified cryptographic key generation algorithms and specified cryptographic key sizes. Generated cryptographic session keys shall have a limited (TBD by manufacturer and not more than 240) number of possible use.
CSP_302 If the TSF distributes cryptographic keys, it shall be in accordance with specified cryptographic key distribution methods.
Required security mechanisms are specified in sub-appendix 11.
All other security mechanisms are to be defined by the TOE manufacturer.
The minimum strength of mechanisms for the Tachograph Card is High as defined in [ITSEC].
The target level of assurance for the Tachograph Card is ITSEC level E3, as defined in [ITSEC].
The following matrixes give a rationale for the additional SEFs by showing:
- which SEFs counteract which threats,
- which SEFs fulfil which IT security objectives.
This sub-appendix specifies the security mechanisms ensuring:
- The mutual authentication between VUs and tachograph cards, including session key agreement,
- The confidentiality, integrity and authentication of data transferred between VUs and tachograph cards,
- The integrity and authentication of data downloaded from VUs to external storage media,
- The integrity and authentication of data downloaded from tachograph cards to external storage media.
The following references are used in this sub-appendix:
The following notations and abbreviated terms are used in this sub-appendix:
CSM_001 Vehicle units and tachograph cards shall use a classical RSA public-key cryptographic system to provide the following security mechanisms:
- authentication between vehicle units and cards,
- transport of Triple-DES session keys between vehicle units and tachograph cards,
- digital signature of data downloaded from vehicle units or tachograph cards to external media.
CSM_002 Vehicle units and tachograph cards shall use a Triple DES symmetric cryptographic system to provide a mechanism for data integrity during user data exchange between vehicle units and tachograph cards, and to provide, where applicable, confidentiality of data exchange between vehicle units and tachograph cards.
CSM_003 The RSA algorithm is fully defined by the following relations:
A more comprehensive description of the RSA function can be found in reference [PKCS1].
Public exponent, e, for RSA calculations is an integer between 3 and n - 1 satisfying gcd(e, 1 cm(p - 1, q - 1)) = 1.
CSM_004 The digital signature mechanisms shall use the SHA-1 hash algorithm as defined in reference [SHA-1].
CSM_005 DES based algorithms shall be used in Cipher Block Chaining mode of operation.
CSM_006 RSA keys shall be generated through three functional hierarchical levels:
- European level,
- Contracting Party level,
- Equipment level.
CSM_007 At European level, a single European key pair (EUR.SK and EUR.PK) shall be generated. The European private key shall be used to certify the Contracting Parties public keys. Records of all certified keys shall be kept. These tasks shall be handled by a European Certification Authority recognized at the international level.
CSM_008 At Contracting Party level, a Contracting Party key pair (CP.SK and CP.PK) shall be generated. Contracting Parties public keys shall be certified by the European Certification Authority. The Contracting Party private key shall be used to certify public keys to be inserted in equipment (vehicle unit or tachograph card). Records of all certified public keys shall be kept with the identification of the equipment to which it is intended. These tasks shall be handled by a Contracting Party Certification Authority. A Contracting Party may regularly change its key pair.
CSM_009 At equipment level, one single key pair (EQT.SK and EQT.PK) shall be generated and inserted in each equipment. Equipment public keys shall be certified by a Contracting Party Certification Authority. These tasks may be handled by equipment manufacturers, equipment personalisers or Contracting Party authorities. This key pair is used for authentication, digital signature and encipherement services
CSM_010 Private keys confidentiality shall be maintained during generation, transport (if any) and storage.
The following picture summarises the data flow of this process:
?????????????????????????????????????????????????????
? European Level ?
? ????????????????????????????????????????????????? ?
? EUR.SK European Private Key ?
? EUR.PK European Public Key ?
? ?
? Records of Contracting Party Public keys certified?
?????????????????????????????????????????????????????
/\ ?
? ?
CP .CHR CP .C
i i
CP .PK EUR.PK
i ?
? \/
????????????????????????????????????????????????????????????????
? Member State Level (Member State i) ?
? ???????????????????????????????????????????????????????????? ?
? CP .CHR Contracting Party i Identification ?
? i ?
? ?
? CP .SK Contracting Party i Private Key ?
? i ?
? ?
? CP .PK Contracting Party i Public Key ?
? i ?
? ?
? CP .C Certificate of Contracting Party i Public key by EUR ?
? i ?
? ?
? EUR.PK European Public Key ?
? ?
? Records of Equipment Public keys certified ?
????????????????????????????????????????????????????????????????
/\ ?
? ?
EQT .CHA EQT .C
j j
EQT .CHR CP .C
j i
EQT .PK EUR.PK
j ?
? \/
????????????????????????????????????????????????????????????????
? Equipment Level (Equipment j) ?
? ??????????????????????????????????????????????????????????????
? EQT .CHA Equipment j Type ?
? j ?
? ?
? EQT .CHR Equipment j Identification ?
? j ?
? ?
? EQT .SK Equipment j Private Key ?
? j ?
? ?
? EQT .PK Equipment j Public Key ?
? j ?
? ?
? EQT .C Certificate of Equipment j public Key by CP i ?
? j ?
? ?
? CP .C Certificate of Contracting Party i Public key by EUR?
? i ?
? ?
? EUR.PK European Public Key ?
????????????????????????????????????????????????????????????????
CSM_011 For the purpose of equipment testing (including interoperability tests) the European Certification Authority shall generate a different single European test key pair and at least two Contracting Party test key pairs, the public keys of which shall be certified with the European private test key. Manufacturers shall insert, in equipment undergoing type approval tests, test keys certified by one of these Contracting Party test keys.
The confidentiality of the three TDES keys described below shall be appropriately maintained during generation, transport (if any) and storage.
In order to support control device compliant with ISO 16844, the European Certification Authority and the Contracting Party Certification Authorities shall, in addition, ensure the following:
CSM_036 The European Certification Authority shall generate KmVU and KmWC, two independent and unique Triple DES keys, and generate Km as:
The European Certification Authority shall forward these keys, under appropriately secured procedures, to Contracting Party Certification Authorities at their request.
CSM_037 Contracting Party Certification Authorities shall:
- use Km to encrypt motion sensor data requested by motion sensor manufacturers (data to be encrypted with Km is defined in ISO 16844-3),
- forward KmVU to vehicle unit manufacturers, under appropriately secured procedures, for insertion in vehicle units,
- ensure that KmWC will be inserted in all workshop cards (SensorInstallationSecData in Sensor_Installation_Data elementary file) during card personalisation.
CSM_012 Vehicle units and tachograph cards shall, as a part of the mutual authentication process, generate and exchange necessary data to elaborate a common Triple DES session key. This exchange of data shall be protected for confidentiality through an RSA crypt-mechanism.
CSM_013 This key shall be used for all subsequent cryptographic operations using secure messaging. Its validity shall expire at the end of the session (withdrawal of the card or reset of the card) and/or after 240 use (one use of the key = one command using secure messaging sent to the card and associated response).
CSM_014 RSA keys shall have (whatever the level) the following lengths: modulus n 1024 bits, public exponent e 64 bits maximum, private exponent d 1024 bits.
CSM_015 Triple DES keys shall have the form (Ka, Kb, Ka) where Ka and Kb are independent 64 bits long keys. No parity error detecting bits shall be set.
CSM_016 RSA Public key certificates shall be "non self-descriptive" "Card Verifiable" certificates (Ref.: ISO/IEC 7816-8)
CSM_017 RSA Public key certificates are built with the following data in the following order:
Notes:
1. The "Certificate Profile Identifier" (CPI) delineates the exact structure of an authentication certificate. It can be used as an equipment internal identifier of a relevant headerlist which describes the concatenation of Data Elements within the certificate.
The headerlist associated with this certificate content is as follows:
2. The "Certification Authority Reference" (CAR) has the purpose of identifying the certificate issuing CA, in such a way that the Data Element can be used at the same time as an Authority Key Identifier to reference the Public Key of the Certification Authority (for coding, see Key Identifier below).
3. The "Certificate Holder Authorisation" (CHA) is used to identify the rights of the certificate holder. It consists of the Tachograph Application ID and of the type of equipment to which the certificate is intended (according to EquipmentType data element, '00' for a Contracting Party).
4. The "Certificate Holder Reference" (CHR) has the purpose of identifying uniquely the certificate holder, in such a way that the Data Element can be used at the same time as a Subject Key Identifier to reference the Public Key of the certificate holder.
5. Key Identifiers uniquely identify certificate holder or certification authorities. They are coded as follows:
5.1 Equipment (VU or Card):
In the case of a VU, the manufacturer, when requesting certificates, may or may not know the identification of the equipment in which the keys will be inserted.
In the first case, the manufacturer will send the equipment identification with the public key to its Contracting Party authority for certification. The certificate will then contain the equipment identification, and the manufacturer must ensure that keys and certificate are inserted in the intended equipment. The Key identifier has the form shown above.
In the later case, the manufacturer must uniquely identify each certificate request and send this identification with the public key to its Contracting Party authority for certification. The certificate will contain the request identification. The manufacturer must feed back its Contracting Party authority with the assignment of key to equipment (i.e. certificate request identification, equipment identification) after key installation in the equipment. The key identifier has the following form:
5.2 Certification Authority:
The key serial number is used to distinguish the different keys of a Contracting Party, in the case the key is changed.
6. Certificate verifiers shall implicitly know that the public key certified is an RSA key relevant to authentication, digital signature verification and encipherement for confidentiality services (the certificate contains no Object Identifier to specify it).
CSM_018 The certificate issued is a digital signature with partial recovery of the certificate content in accordance with ISO/IEC 9796-2, except for its Annex A.4, with the "Certification Authority Reference" appended.
With certificate content
= Cc =
106 bytes 58 bytes
Notes:
1. This certificate is 194 bytes long.
2. CAR, being hidden by the signature, is also appended to the signature, such that the Public Key of the Certification Authority may be selected for the verification of the certificate.
3. The certificate verifier shall implicitly know the algorithm used by the Certification Authority to sign the certificate.
4. The headerlist associated with this issued certificate is as follows:
Certificate verification and unwrapping consists in verifying the signature in accordance with ISO/IEC 9796-2, retrieving the certificate content and the public key contained: X.PK = X.CA.PK o X.C, and verifying the validity of the certificate.
CSM_019 It involves the following steps:
Verify signature and retrieve content:
- from X.C retrieve Sign, Cn' and CAR':
X.C = Sign ||
128 Bytes 58 Bytes 8 Bytes
- from CAR' select appropriate Certification Authority Public Key (if not done before through other means)
- open Sign with CA Public Key: Sr' = X.CA.PK [Sign],
- check Sr' starts with '6A' and ends with 'BC'
- compute Cr' and H' from:
Sr' = '6A' ||
106 Bytes 20 Bytes
- Recover certificate content C' = Cr' || Cn',
- check Hash(C') = H'
If the checks are OK the certificate is a genuine one, its content is C'.
Verify validity. From C':
- if applicable, check End of validity date,
Retrieve and store public key, Key Identifier, Certificate Holder Authorisation and Certificate End of Validity from C':
- X.PK = n || e
- X.KID = CHR
- X.CHA = CHA
- X.EOV = EOV
Mutual authentication between cards and VUs is based on the following principle:
Each party shall demonstrate to the other that it owns a valid key pair, the public key of which has been certified by a Contracting Party certification authority, itself being certified by the European Certification Authority.
Demonstration is made by signing with the private key a random number sent by the other party, who must recover the random number sent when verifying this signature.
The mechanism is triggered at card insertion by the VU. It starts with the exchange of certificates and unwrapping of public keys, and ends with the setting of a session key.
CSM_020 The following protocol shall be used (arrows indicate commands and data exchanged (see sub-appendix 2)):
/???????????????????\
VU ? Card insertion ? CARD
\???????????????????/
\/
?????????????????????????
? Reset Card ? ?????????????Reset?????????????>
????????????????????????? <?????????????ATR??????????????
\/ ?????????????????????????????
????????????????????????? ????????Select File (EF.ICC)???????>? Select file ?
? Get ? <??????????????OK?????????????? ?????????????????????????????
? card ? ?????????????Read binary???????????>?????????????????????????????
? identification ? (Offset = 1, Le = 8) ? Send requested data from ?
????????????????????????? <???????????Card.CHR??????????? ? selected file ?
\/ ?????????????????????????????
??????????????????????????????? ?????????????????????????????
?Select Tachograph Application? ??????Select File (Tacho AID)??????>? Select Application ?
??????????????????????????????? <??????????????OK?????????????? ?????????????????????????????
\/
/ \
/ Card.PK \
/ known by VU and \
??????????/ Card.C.EOV valid? \
? \ /
? \ /
? \ /
? No
? ? ?????????????????????????????
? \/ ??Select File (EF.Card_Certificate)?>? Select file ?
? ?????????????????????? <??????????????OK??????????????? ?????????????????????????????
? ? Get Card ? ????????????Read Binary?????????????>?????????????????????????????
? ? certificate ? (Offset = 0, Le = 194) ? Send requested data from ?
? ?????????????????????? <???????????Card.C?????????????? ? selected file ?
? \/ ?????????????????????????????
? / \
? / Card.CA.PK \
? / known by VU and \
? ???????\ Card.CA.C.EOV /
? ? \ valid? /
? ? \ /
? ? \ /
? ? ?
? ? No
? ? \/ ?????????????????????????????
? ? ??????????????????????? ?Select File (EF.CA_Certificate)??> ? Select file ?
Yes? ? Get Card.CA ? <?????????????OK????????????? ?????????????????????????????
? ? ? Certificate ? ?????????????Read Binary??????????> ?????????????????????????????
? ? ??????????????????????? (Offset = 0, Le = 194) ? Send requested data from ?
?Yes \/ <??????????Card.CA.C???????? ? selected file ?
? ???????????????????????????????????????? ?????????????????????????????
? ?? Verify Card.CA.C with Eur.PK ?
? ?? Store Card.CA PK KID CHA and EOV ????
? ?? ? ?
? ???????????????????????????????????????? ?
? ? OK ?
? ? \/ ?
? ? ?????????????????????????????????????? ?
? ? ? Verify Card.C with ? ?
? ?>? Card.CA.PK Store Card ????
? ? KID CHA and EOV ? ?
? ?????????????????????????????????????? ?
? OK No
? \/ OK
? ?????????????????????????????????????? ?
???>? Send VU identification to card ? ? ?????????????????????????????
?????????????????????????????????????? ? ?????MSE:SET (VU.KID)?????> ? If Key is known, ?
\/ ? <????????OK/KO????????? ? make it the current one ?
/ \ ? ?????????????????????????????
/ VU.PK \ ?
???????????/ known to card? \ ?
? \ / ?
? \ / ?
? ? ?
? No ?
? \/ ?
? ???????????????????????????????????????? ?
? ? Send VU.CA identification to card ? ? ?????????????????????????????
? ???????????????????????????????????????? ? ????MSE:SET(VU.CA.KID)????> ? If Key is known, ?
? \/ ? <????????OK/KO????????? ? make it the current one ?
? / \ ? ?????????????????????????????
? / VU.CA.PK \ ?
???????????/ known to card? \ ?
?? \ / ?
?? \ / ?
?? ? ?
?? No ?
?? \/ ?
?? ???????????????????????????????????????? ?
?? ? Send EUR identification to card ? ? ?????????????????????????????
?? ???????????????????????????????????????? ? ?????MSE:SET(EUR.KID)?????> ? If Key is known, ?
?? \/ ? <????????OK/KO????????? ? make it the current one ?
?? / \ ? ?????????????????????????????
Yes / EUR.PK \ ?
?? / known to card? \????No???????
?? \ / ?
?Yes \ / ?
?? ? ?
?? Yes ?
?? \/ ?
??????????????????????????????????????????? ?
???Send VU.CA Certificate for verification? ? ?????????????????????????????
??????????????????????????????????????????? ? ????Verify Certificate????> ? Verify certificate with ?
?? \/ ? (VU.CA.C) ? current PK ?
?? / \ ? <?????????OK/KO???????? ? Store found PK KID ?
?? /OK?\???????No???????????? ? and CHA ?
?? \ / ? ????MSE:SET (VU.CA.KID)???> ?????????????????????????????
?? \ / ?
?? ? ?
?? Yes ?
?? \/ ?
?? ???????????????????????????????????????? ?
??>? Send VU Certificate for verification ? ? ?????????????????????????????
? ???????????????????????????????????????? ? ????Verify Certificate????> ? Verify certificate with ?
? \/ ? (VU.C) ? current PK ?
? / \ ? <?????????OK/KO???????? ? Store found PK KID ?
? Yes???/OK?\????????No??????????? ? and CHA ?
? ? \ / ? ??????MSE:SET (VU.KID)????> ?????????????????????????????
? \/ \ / \/
? /????????????????????\ /????????????????????\
?>?Continue with mutual? ? Reject ?
? authentication ? ? Card ?
\????????????????????/ \????????????????????/
VU /?????????????????????????\ CARD
? Mutual authentication ?
\?????????????????????????/
\/
/ \
/ Card.CHA = \ /????????\
/ Tachograph || Card \???No??> ? Reject ?
\ / ? Card ?
\ / \????????/
?
Yes
\/
/ \
/ Card.CHA = \
???? / || Workshop Card \
? \ /
? \ /
? ?
? Yes
? \/
? ???????????????????????????????
? ? Require PIN from user and ? ????????????????
? ?send to card for verification? ??Verify (PIN)?> ? ?
? ??????????????????????????????? ? Verify PIN ?
? \/ ? ?
No / \ <??????OK/KO????? ????????????????
? /PIN OK\?????????No?????????
? \ / ?
? ? ?
? Yes ?
? \/ ?
? ???????????????????????????? ? Internal
? ? Generate Challenge ? ? Authenticate ???????????????????????????????????????????????
???>? Rnd1 (8 Bytes) ? ? ??(Rnd1||VU.CHR)?>?- Verify received CHR matches current PK.KID ?
? Authenticate card ? ? ?- Generate K1, random number, 16 Bytes ?
???????????????????????????? ? ?- Generate PRnd2 90 Bytes (random padding) ?
? ? ? ?
\/ ? ?- Compute authentocation token: ?
/ \ ?<???AutToken/KO??? ? VU.PK[Card.SK*['6A'||PRnd2||K1|| ?
/OK \???????????No????????? ? Hash(PRnd2||K1||Rnd1||VU.CHR)||'BC']] ?
\ / ? ? = Encryption of signature* (ISO 9796-2) of ?
\ / ? ? PRnd2||K1||Rnd1||VU.CHR. ?
? ? ???????????????????????????????????????????????
Yes ?
\/ ? /???????????????????????????????????????????\
?????????????????????????????????????????? ? ? Signature* = min {Signature,n-Signature} ?
?- Compute: Signature = VU.SK.[AutToken] ? ? ? where n is the modulus of the key used to ?
?- Decrypy and verify Signature with? ? ? sign ?
? Card.PK to recover PRnd2||K1||H' ? ? \???????????????????????????????????????????/
?- verify Hash ? ?
? (PRnd2||K1||Rnd1||VU.CHR) = H' ? ?
?- Store K1 ? ?
?????????????????????????????????????????? ?
OK ? Not ?
? ?? OK ???
\/ ? ???????????????????????????
????????????????????????????? ? ???Get Challenge??> ? Generate Challenge ?
?Request Challenge (8 Bytes)? ? <??????Rnd3???????? ? Rnd3 (8 Bytes) ?
????????????????????????????? ? ???????????????????????????
\/ ?
?????????????????????????????????????????????
?- Generate K2, random number, 16 Bytes ??
?- Generate PRnd4 90 Bytes (random padding)??
? ??
?- Compute authentication token: ??
? Card.PK[VU.SK*['6A'||PRnd4||K2|| ??
? Hash(PRnd4||K2||Rnd3||Card.CHR)||'BC']] ??
? = Encryption of signature (ISO 9796-2) ?? ????????????????????????????????????????????????
? of PRnd4||K2||Rnd3||Card.CHR ?? External ?- Verify that current PK.CHA = Tachograph||VU ?
? - Authenticate self to card ?? ??Authenticate???>? ?
????????????????????????????????????????????? (AutToken) ?- Compute: Signature = Card.SK[AutToken], ?
\/ ? ?- Decrypt and verify Signature with VU.PK, to ?
/ \ ? <??????OK/KO????? ? recover PRnd4||K2||H' ?
/OK \?????????????????????? ?- verify Hash ?
\ / No ? ? (PRnd4||K2||Rnd3||Card.CHR) = H' ?
\ / ? ?- if verification OK open AUT rights ?
? ? ?- Store K2. ?
Yes ? ????????????????????????????????????????????????
\/ ? \/
??????????????????????????????????????? ? ????????????????????????????????????????????????
? Set TDES Session Key to (Ka, Kb, Ka)? ? ? Set TDES Session Key (Ka, Kb, Ka) ?
? with Ka || Kb = K1 XOR K2 ? ? ? with Ka || Kb = K1 XOR K2 ?
? Set SSC to Rnd3 || Rnd1 ? ? ? Set SSC to Rnd3 || Rnd1 ?
? (4 LSB of each) ? ? ? (4 LSB of each) ?
??????????????????????????????????????? ? ????????????????????????????????????????????????
\/ \/
/?????????????\ /???????????????????????\
? Continue ? ? Authentication failed ?
\?????????????/ ? Reject card ?
\???????????????????????/
AND AUTHENTICATION MECHANISMS
CSM_021 VU-Cards data transfers integrity shall be protected through Secure Messaging in accordance with references [ISO/IEC 7816-4] and [ISO/IEC 7816-8].
CSM_022 When data need to be protected during transfer, a Cryptographic Checksum Data Object shall be appended to the Data Objects sent within the command or the response. The Cryptographic Checksum shall be verified by the receiver.
CSM_023 The cryptographic checksum of data sent within a command shall integrate the command header, and all data objects sent (=> CLA = '0C', and all data objects shall be encapsulated with tags in which b1 = 1).
CSM_024 The response status-information bytes shall be protected by a cryptographic checksum when the response contains no data field.
CSM_025 Cryptographic checksums shall be 4 Bytes long.
The structure of commands and responses when using secure messaging is therefore the following:
The DOs used are a partial set of the Secure Messaging DOs described in ISO/IEC 7816-4:
Given an unsecured command response pair:
The corresponding secured command response pair is:
Secured command:
Data to be integrated in checksum = CH || PB || TPV || LPV || PV || TLE || LLE || Le || PB
PB = Padding Bytes (80 .. 00) in accordance with ISO-IEC 7816-4 and ISO 9797 method 2.
DOs PV and LE are present only when there is some corresponding data in the unsecured command.
Secured response:
1. Case where response data field is not empty and needs not to be protected for confidentiality:
Data to be integrated in checksum = TPV || LPV || PV || PB
2. Case where response data field is not empty and needs to be protected for confidentiality:
Data to be carried by CG: non BER-TLV coded data and padding bytes.
Data to be integrated in checksum = TPI CG || LPI CG || PI CG || PB
3. Case where response data field is empty:
Data to be integrated in checksum = TSW || LSW || SW || PB
CSM_026 When the tachograph card recognises an SM error while interpreting a command, then the status bytes must be returned without SM. In accordance with ISO/IEC 7816-4, the following status bytes are defined to indicate SM errors:
'66 88': Verification of Cryptographic Checksum failed,
'69 87': Expected SM Data Objects missing,
'69 88': SM Data Objects incorrect.
CSM_027 When the tachograph card returns status bytes without SM DOs or with an erroneous SM DO, the session must be aborted by the VU.
CSM_028 Cryptographic checksums are built using a retail MACs in accordance with ANSI X9.19 with DES:
- Initial stage: The initial check block y0 is E(Ka, SSC).
- Sequential stage: The check blocks y1, .., yn are calculated using Ka.
- Final stage: The cryptographic checksum is calculated from the last check block yn as follows: E(Ka, D(Kb, yn)).
where E() means encryption with DES, and D() means decryption with DES.
The four most significant bytes of the cryptographic checksum are transferred
CSM_029 The Send Sequence Counter (SSC) shall be initiated during key agreement procedure to:
Initial SSC: Rnd3 (4 least significant bytes) || Rnd1 (4 least significant bytes).
CSM_030 The Send Sequence Counter shall be increased by 1 each time before a MAC is calculated (i.e. the SSC for the first command is Initial SSC + 1, the SSC for the first response is Initial SSC + 2).
The following figure shows the calculation of the retail MAC:
![]() DOS
CSM_031 Cryptograms are computed using TDEA in TCBC mode of operation in accordance with references [TDES] and [TDES-OP] and with the Null vector as Initial Value block.
The following figure shows the application of keys in TDES:
TDES Encryption ? ? ?
Ka Kb Ka
? ? ?
\/ \/ \/
Data ????????? ????????? ????????? E(K, Data)
??????????????>?ENCRYPT?????>?DECRYPT?????>?ENCRYPT????????????>
????????? ????????? ?????????
TDES Decryption ? ? ?
Ka Kb Ka
? ? ?
\/ \/ \/
E(K, Data) ????????? ????????? ????????? Data
??????????????>?DECRYPT?????>?ENCRYPT?????>?DECRYPT????????????>
????????? ????????? ?????????
CSM_032 The Intelligent Dedicated Equipment (IDE) stores data received from an equipment (VU or card) during one download session within one physical data file. This file must contain the certificates CPi.C and EQT.C. The file contains digital signatures of data blocks as specified in sub-appendix 7 (Data Downloading Protocols).
CSM_033 Digital signatures of downloaded data shall use a digital signature scheme with appendix such, that downloaded data may be read without any decipherment if desired.
CSM_034 Data signature generation by the equipment shall follow the signature scheme with appendix defined in reference [PKCS1] with the SHA-1 hash function:
Signature = EQT.SK['00' || '01' || PS || '00' || DER(SHA-1 (Data))]
PS = Padding string of octets with value 'FF' such that length is 128.
DER(SHA-1(M)) is the encoding of the algorithm ID for the hash function and the hash value into an ASN.1 value of type DigestInfo (distinguished encoding rules):
'30'||'21'||'30'||'09'||'06'||'05'||'2B'||'0E'||'03'||'02'||'1A'||'05'||'00'||'04'||'14'||Hash Value.
CSM_035 Data signature verification on downloaded data shall follow the signature scheme with appendix defined in reference [PKCS1] with the SHA-1 hash function.
The European public key EUR.PK needs to be known independently (and trusted) by the verifier.
The following table illustrates the protocol an IDE carrying a Control card can follow to verify the integrity of data downloaded and stored on the ESM (External Storage media). The control card is used to perform the decipherement of digital signatures. This function may in this case not be implemented in the IDE.
The equipment that has downloaded and signed the data to be analysed is denoted EQT.
ESM/IDE CARD
?
\/
?????????????????????????
? Reset Card ? ????????Reset??????>
????????????????????????? <????????ATR????????
\/
???????????????????????????????
?Retreive EQT certificate from?
?file to be analysed and send ?
?EQT.CA identification to card? ??????????????????????????????????????????
??????????????????????????????? ???MSE:SET(EQT.CA.KID)??>?If Key is known, make it the current one?
\/ <??????OK/KO???????? ??????????????????????????????????????????
/ \
/ EQT.CA.PK \
/ known to card? \????????????
\ / ?
\ / ?
? ?
No ?
\/ ?
?????????????????????????????? ? ??????????????????????????????????????????
?Retreive MS certificate from? ? ?????MSE:SET(EUR.KID)???>?If Key is known, make it the current one?
?file to be analysed and send? ? <???????OK/KO??????? ??????????????????????????????????????????
? EUR identification to card ? ?
?????????????????????????????? ?
\/ ?
/ \ ?
/ EUR.PK \ ?
<???No??/ known to card? \ Yes
\ / ?
\ / ?
? ?
Yes ?
? ?
\/ ?
?????????????????????????????????????? ?
?Send MS Certificate for verification? ? Verify Certificate ???????????????????????????????????
?????????????????????????????????????? ? ??? (EQT.CA.C) ?>? Verify Certificate ?
\/ ? <???????OK/KO???????? ? with current PK ?
/ \ ? ? Store found PK KID and CHA ?
??????????No??????/OK?\ ? ???MSE:SET(EQT.CA.KID)??>???????????????????????????????????
? \ / ?
? \ / ?
? ? ?
? Yes ?
? \/ ?
? ??????????????????????????????????????? ?
? ?Send EQT Certificate for verification?<??
? ??????????????????????????????????????? Verify Certificate ???????????????????????????????????
\/ \/ ??? (EQT.C) ?>? Verify Certificate ?
/????????????\ / \ <???????OK/KO???????? ? with current PK ?
? Error in ?<?No??/OK?\ ? Store found PK KID and CHA ?
?Certificates? \ / ?????MSE:SET(EQT.KID)???>???????????????????????????????????
\????????????/ \ /
?
Yes
\/
???????????????????????????????
? Retreive Data to be analysed?
? and their signature ?
???????????????????????????????
\/
??????????????????????????????? ???????????????????????????????????
? Hash Data ? ??????PSO:Hash (Hash)???????>? Store Hash value ?
? Send hash result ? ???????????????????????????????????
??????????????????????????????? ???????????????????????????????????
\/ ? Compute M' = EQT.PK[Signature] ?
??????????????????????????????? PSO: Verify Digital Signature ? Verify M' has the from ?
? Send signature for ? ???? (Signature) ????>? 00||01||PS||00||DER(H') ?
? verification ? <??????OK/KO??????? ? Verify Hash = H' ?
??????????????????????????????? ???????????????????????????????????
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/dop_documents/78/r_78878/0/trebo.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||