СПОСОБ ФУНКЦИОНИРОВАНИЯ ТАХОГРАФА И ТАХОГРАФ
METHOD OF OPERATING TACHOGRAPH AND TACHOGRAPH

Изобретение относится к способу функционирования тахографа и тахографу с контроллером приложений и контроллером безопасности.
Путевые регистраторы или тахографы могут являться приборами контроля, которые предусмотрены для того, чтобы устанавливаться в автомобиле, в частности грузовом или легковом автомобиле, чтобы обеспечивать возможность контроля действий водителя автомобиля или его напарника.
В WO 2006/053998 А1 описан, например, тахограф, с контроллером безопасности и отдельным контроллером приложений для контроля действий водителя автомобиля и его напарника.
Задачей изобретения является создание способа функционирования тахографа, который отвечает высоким требованиям по защите от манипуляций и является максимально надежным.
Эта задача решается признаками независимых пунктов формулы изобретения. Предпочтительные формы выполнения изобретения следуют из зависимых пунктов формулы изобретения.
Изобретение характеризуется способом функционирования тахографа и соответствующим тахографом с контроллером приложений и контроллером безопасности. С контроллером приложений сопоставлена память, в которой сохранена исполняемая контроллером приложений программа. С контроллером безопасности сопоставлена другая память, в которой сохранена исполняемая контроллером безопасности другая программа. Контроллер приложений соединен с контроллером безопасности. При этом зашифрованный программный код с по меньшей мере одной цифровой подписью предоставляется в распоряжение контроллеру безопасности. Посредством контроллера безопасности зашифрованный программный код дешифруется и верифицируется посредством по меньшей мере одной цифровой подписи. Определяется, является ли дешифрованный программный код предназначенным для контроллера приложений или контроллера безопасности. В зависимости от определения, программа в памяти и/или другая программа в другой памяти по меньшей мере частично заменяется посредством дешифрованного программного кода. В зависимости от результата, верификации, по меньшей мере частично замененная программа и/или по меньшей мере частично замененная другая программа деблокируются для выполнения.
Это позволяет также при защищенном от манипуляций тахографе выполнять актуализацию исполняемой программы для контроллера приложений и/или контроллера безопасности. Преимущества тахографа с подобной архитектурой контроллера безопасности и взаимодействие с контроллером приложений состоят прежде всего в существенной интеграции функций безопасности в контроллере безопасности.
Программный код может включать в себя часть соответствующей исполняемой программы или полную соответствующую исполняемую программу. Исполняемую программу в этом отношении следует понимать так, что она процессором соответствующего контроллера может интерпретироваться как последовательность команд и, тем самым, исполняется и реализует одну или несколько функций тахографа. В противоположность этому, данные не представляют никакой интерпретируемой последовательности команд. Данные могут применяться во время выполнения заданной команды. Предпочтительным образом данные обрабатываются соответствующей программой.
По меньшей мере одна цифровая подпись может служить для верификации дешифрованного программного кода или для верификации зашифрованного программного кода.
Программный код может предоставляться контроллеру безопасности также в незашифрованной форме, причем контроллер безопасности тогда предпочтительным образом больше не выполняет дешифрование, а выполняет только верификацию. Незашифрованный программный код соответствует тогда дешифрованному программному коду. Также возможно предоставление частично зашифрованного программного кода.
В другой памяти, которая также может содержаться в контроллере безопасности, наряду с другой программой, сохранены, например, криптологические ключи, с помощью которых блок шифрования зашифровывает и/или подписывает рабочие данные транспортного средства. Другая программа и криптологические ключи предпочтительно сохранены способом, защищенным от манипулирования и от несанкционированного доступа, в другой памяти.
Верификация посредством цифровой подписи может включать в себя проверку целостности зашифрованного или дешифрованного программного кода, то есть проверку целостности и неизменности программного кода. В качестве альтернативы или дополнительно, можно посредством верификации также проверять происхождение зашифрованного или дешифрованного программного кода. При этом программный код может содержать только цифровую подпись или также несколько цифровых подписей, которые, например, ассоциированы с заданными частями программного кода и позволяют верифицировать только эти заданные части. Для этого могут применяться симметричные и/или асимметричные сигнатурные способы, так, например, RSA-, MDS- или SHA-способы.
В предпочтительном выполнении посредством контроллера безопасности идентифицируется и/или аутентифицируется источник зашифрованного программного кода зашифрованного программного кода. В зависимости от идентификации и/или аутентификации, зашифрованный программный код предоставляется контроллеру безопасности. За счет этого уже перед предоставлением зашифрованного программного кода устанавливается, является ли источник достоверным. Источник представляет предпочтительно отдельный и внешний прибор и может, например, представлять собой диагностический прибор или компьютер и осуществлять связь посредством проводного или беспроводного соединения с тахографом.
В другом предпочтительном выполнении дешифрованный программный код промежуточным образом сохраняется в контроллере приложений и/или контроллере безопасности. Программа в памяти и/или другая программа в другой памяти заменяются посредством промежуточно сохраненного дешифрованного программного кода, если верификация успешна. Предпочтительно промежуточным образом сохраняется полный программный код. Это обеспечивает возможность особенно надежной актуализации соответствующей программы. При успешной верификации соответствующая программа предпочтительно не заменяется, а текущая программа продолжает исполняться. Тем самым полная предшествующая функциональность тахографа предоставляется пользователю в распоряжение и после успешной актуализации.
В другом предпочтительном выполнении зашифрованный программный код дешифруется пакетами (попакетно) посредством контроллера безопасности. Программа в памяти и/или другая программа в другой памяти попакетно заменяются соответствующими пакетами дешифрованного программного кода. По меньшей мере частично замененная программа и/или по меньшей мере частично замененная другая программа деблокируются для выполнения, если верификация успешна. Это допускает особенно незначительную потребность в памяти в соответствующем контроллере и к тому же особенно быструю актуализацию соответствующей программы.
Примеры выполнения изобретения далее более подробно поясняются со ссылками на чертежи, на которых показано следующее:
Фиг. 1 - схематичное представление тахографа,
Фиг. 2 - блок-схема последовательности операций способа.
Элементы одинаковой конструкции или функции снабжены на чертежах одинаковыми ссылочными позициями.
На фиг. 1 показано схематичное представление тахографа 1, который включает в себя контролер 2 приложений и контроллер 3 безопасности.
Контролер 2 приложений имеет интерфейс 7 и память 5, которая, например, выполнена как энергонезависимая память, таким образом, например, как флэш-память, как SRAM (статическое запоминающее устройство с произвольной выборкой) или FRAM (ферроэлектрическое запоминающее устройство) с батарейной поддержкой. В памяти 5 сохранена программа, в частности, прикладная программа, которая может выполняться процессором контролера 2 приложений. Посредством программы могут быть реализованы основные функции тахографа 1. Наряду с этой программой, в памяти 5 могут быть также сохранены коммуникационные программы, которые обеспечивают возможность коммуникации с контроллером 3 безопасности и/или с внешними приборами через интерфейс 7. Кроме того, в памяти 5 сохранены программы управления памятью, которые обеспечивают возможность стирания, управления и/или перепрограммирования памяти 5. Кроме того, в памяти 5 могут быть также сохранены данные, например, данные о транспортном средстве и/или о водителе. Предпочтительным образом контролер 2 приложений выполнен с возможностью заменять только программу в памяти 5 по меньшей мере частично посредством соответствующего дешифрованного программного кода ЕРС.
Контроллер 3 безопасности имеет другой интерфейс 8 и другую память 6, которая, например, также выполнена как энергонезависимая память, так например, как флэш-память или EEPROM (электрически стираемое программируемое постоянное запоминающее устройство). В другой памяти 6 сохранена другая программа, которая может выполняться другим процессором контроллера 3 безопасности. Посредством другой программы могут быть реализованы функции безопасности тахографа 1. Для этого, наряду с другой программой, в другой памяти 6 могут быть сохранены также криптологические функции и криптологические данные, например, криптологические ключи. Кроме того, ассоциированные с контроллером 3 безопасности данные и программы также в зашифрованном виде могут быть сохранены в другой памяти 6. Например, контроллер 3 безопасности выполнен как контроллер, который также применяется на чип-картах и оптимизирован для выполнения криптологических операций. Другая программа предпочтительно не включает в себя никаких криптологических вычислительных операций, а они предоставляются в распоряжение, например, только посредством криптологических функций, которые, например, вызываются другой программой. Кроме того, в другой памяти 6 могут быть сохранены программы управления памятью для другой памяти 6 и коммуникационные программы. Предпочтительным образом контроллер 3 безопасности выполнен с возможностью заменять только другую программу в другой памяти 6 по меньшей мере частично посредством соответствующего дешифрованного программного кода ЕРС.
Интерфейс 7 электрически связан с другим интерфейсом 8, так что возможна коммуникация между контролером 2 приложений контроллером 3 безопасности. Коммуникация между обоими контролерами 2, 3 может, например, быть последовательной и/или параллельной и осуществляться в смысле коммуникации типа «задающий-подчиненный». При этом контролер 2 приложений представляет, например, «задающий» контролер, а контроллер 3 безопасности представляет «подчиненный» контроллер. Кроме того, контролер 2 приложений может также быть выполнен с возможностью связывания с внешним прибором и коммуникации с ним. Дополнительно, контролер 2 приложений для коммуникации с внешним прибором 4 может также иметь дополнительный интерфейс.
Коммуникация с внешним прибором 4 может осуществляться проводным способом, последовательно и/или параллельно. Также была бы возможной беспроводная коммуникация между контроллером 2 приложений и внешним прибором 4 или между контроллером 3 безопасности и внешним прибором 4.
Посредством внешнего прибора 4, который выполнен, например, как диагностический прибор или как портативный компьютер, контроллер 2 приложений может предоставлять зашифрованный и снабженный цифровой подписью программный код DPC на интерфейс 7. Зашифрованный программный код DPC содержит программный код, который должен заменять текущую программу в памяти 5 или текущую другую программу в другой памяти 6 в рамках актуализации программного обеспечения. Так как контроллер 2 приложений не выполнен с возможностью исполнения криптологических вычислительных операций, то предоставленный зашифрованный программный код DPC не может непосредственно интерпретироваться процессором контроллера 2 приложений. Поэтому контроллер 2 приложений выполнен с возможностью распознавания зашифрованного программного кода DPC, например, на основе данных заголовка, которые ассоциированы с зашифрованным программным кодом DPC и, например, являются незашифрованными и на контроллер 3 безопасности передаются, в частности, без изменений.
Контроллер 3 безопасности выполнен с возможностью принимать зашифрованный программный код DPC, дешифровать его и проверять программный код, посредством ассоциированной цифровой подписи, на целостность и/или аутентичность. Для этого контроллер 3 безопасности дешифрует зашифрованный программный код DPC, например, побайтно или по каждому слову данных. Кроме того, контроллер 3 безопасности выполнен с возможностью определять, предназначен ли дешифрованный программный код ЕРС для контроллера 2 приложений и/или для контроллера 3 безопасности. Затем, в зависимости от этого определения, дешифрованный программный код ЕРС передается пакетами на контроллер 2 приложений или другая программа в другой памяти 6 попакетно заменяется на попакетно дешифрованный программный код ЕРС.
Интерфейсы 7, 8 выполнены, например, как SPI- или SCI-,
CAN-, RS-232-, PC- или ISO 9018.3-интерфейсы.
Дешифрованный программный код ЕРС может попакетно заменять программу в памяти 5 и/или другую программу в другой памяти 6, то есть пакет дешифрованного программного кода ЕРС сохраняется по адресу, ассоциированному с этим пакетом, в соответствующей памяти. Для этого может потребоваться перед этим по меньшей мере частично стереть область памяти, ассоциированную с программой в соответствующей памяти.
Попакетная замена программы и/или другой программы посредством соответствующего дешифрованного программного кода ЕРС имеет преимущество, состоящее в том, что потребность в памяти является очень незначительной, и актуализация может осуществляться особенно быстро. Если верификация цифровой подписи безуспешна, то это сообщается контроллеру 2 приложений. Контроллер 3 безопасности и контроллер 2 приложений выполнены, соответственно, таким образом, чтобы выполнять замененный программный код или разрешать к использованию, если верификация успешна, а в противном случае - блокировать выполнение. За счет этого предотвращается то, что выполняется программный код, для которого требуемая аутентичность и/или целостность не верифицирована успешным образом, и который не является достоверным. Если в этом случае не предоставляется достоверный программный код, то контроллер 3 безопасности и/или контроллер 2 приложений остаются в режиме блокировки, в котором могут выполняться только коммуникационные программы, программы дешифрования и/или программы управления памятью, но не программа и/или другая программа, сохраненные в соответствующей памяти.
Альтернативно или дополнительно, дешифрованный программный код ЕРС сначала полностью сохраняется промежуточным образом в контроллере 3 безопасности или контроллере 2 приложений, например, в соответствующей памяти RAM. В этом случае программа в памяти 5 и/или другая программа в другой памяти 6 могут заменяться только посредством дешифрованного программного кода ЕРС, если верификация успешна. Это имеет преимущество, состоящее в том, что текущая программа и/или текущая другая программа так долго сохраняются в соответствующей памяти, пока она не будет заменена соответствующим достоверным программным кодом. При безуспешной верификации промежуточно сохраненный программный код может быть стерт или оставлен без внимания. Текущая программа и/или текущая другая программа остаются, таким образом, неизменными и могут продолжать выполняться. Тем самым тахограф 1 остается полностью работоспособным и тогда, когда пытаются недостоверный программный код перенести в контроллер 2 приложений и/или контроллер 3 безопасности. В другой форме выполнения внешний прибор 4 может быть также непосредственно электрически связан с другим интерфейсом 8 контроллера 3 безопасности, чтобы обеспечить возможность коммуникации и непосредственно предоставлять зашифрованный и снабженный цифровой подписью программный код DPC контроллеру 3 безопасности. Контроллер 3 безопасности может для этой цели также иметь другой дополнительный интерфейс.
На фиг. 2 показан способ функционирования тахографа 1 с помощью диаграммы последовательности операций способа. Способ начинается на этапе S0. На этапе S2 выполняется конфигурирование CONF, которое, например, конфигурирует интерфейсы 7, 8, так что через внешний прибор 4 зашифрованный программный код DPC может предоставляться в распоряжение. Кроме того, может устанавливаться соединение между внешним прибором 4 и соответствующим интерфейсом. Если контроллер 3 безопасности выполнен для этого, то альтернативно может также конфигурироваться коммуникация между контроллером 3 безопасности и внешним прибором 4.
На этапе S4 посредством контроллера 3 безопасности непосредственно через интерфейс 7 контроллера 2 приложений внешний прибор 4 идентифицирует и/или аутентифицирует себя. Внешний прибор 4 может также обозначаться как источник зашифрованного программного кода DPC. Если идентификация ID и/или аутентификация внешнего прибора 4 безуспешна, то на этапе S14 актуализация завершается. Если, напротив, внешний прибор 4 успешно идентифицируется и/или аутентифицируется, то на этапе S6 зашифрованный программный код DPC предоставляется в распоряжение контроллеру 3 безопасности и с помощью него дешифруется и определяется, с каким контроллером 2, 3 следует ассоциировать дешифрованный программный код ЕРС. С зашифрованным программным кодом DPC могут быть также ассоциированы зашифрованные или дешифрованные данные заголовка, которые перед дешифрованием DECRYPT зашифрованного программного кода DPC оцениваются, например, с помощью контроллера 2 приложений и/или контроллера 3 безопасности. В рамках этой проверки данных заголовка могут, например, сравниваться номера версий программного кода с номерами версий текущей программы. Если проверка данных заголовка безуспешна, то на этапе S14 актуализация завершается. В противном случае, в зависимости от определения цели программного кода, дешифрованный программный код ЕРС на этапе S8 подается на другую память 6 и/или на этапе S9 через интерфейс 7 предоставляется в распоряжение памяти 5 контроллера 2 приложений. При этом дешифрованный программный код ЕРС попакетно заменяет соответствующую программу в соответствующей памяти. Зашифрованный или дешифрованный программный код DPC, ЕРС может также полностью сохраняться промежуточным образом в соответствующем контроллере.
На этапе S10 затем верифицируется цифровая подпись с помощью контроллера 3. Если верификация VERIFY безуспешна, то на этапе S14 актуализация завершается. Промежуточно сохраненный программный код может на этапе S10 стираться, и для контроллера 3 безопасности и/или контроллера 2 приложений может задаваться режим блокировки. В качестве альтернативы, актуализация при успешной верификации VERIFY может снова выполняться на этапе S2 или S4.
Если верификация VERIFY, напротив, успешна, то на этапе S12 выполнение ЕХЕ соответствующей замененной программы разблокируется или соответствующая программа заменяется промежуточно сохраненным программным кодом и затем разблокируется для выполнения ЕХЕ. На этапе S14 актуализация завершается. Верификация цифровой подписи может также выполняться уже на этапе S6, причем затем этап S10 следует игнорировать.
Внешний прибор 4 может также предоставлять контроллеру 2 приложений или контроллеру 3 безопасности незашифрованный или частично зашифрованный программный код.