U bekijkt een oudere versie van dit document, geldig op 01-01-2016.

Ministeriële regeling · BWBR0027945

Regeling specificaties en typegoedkeuring boordcomputer taxi

Wijzigingen Officiële bron
Regeling specificaties en typegoedkeuring boordcomputer taxiRegeling specificaties en typegoedkeuring boordcomputer taxiDe Minister van Verkeer en Waterstaat,

Gelet op de artikelen artikel 22, eerste en derde lid, 23, derde lid, en 24 van de Wegenverkeerswet 1994;

Besluit:

Deze regeling zal met de toelichting in de Staatscourant worden geplaatst.

De Minister van Verkeer en Waterstaat,C.M.P.S.Eurlings

In deze regeling wordt verstaan onder:

De boordcomputer stelt in de operationele modus, werkingsniveau taxivervoer, ten behoeve van het afdrukken van een ritbewijs ten minste de volgende gegevens, inclusief een korte aanduiding van het gegeven, ter beschikking:

De fabrikant voorziet erin dat de pin-code van de boordcomputerkaart gedeblokkeerd en gewijzigd kan worden op de wijze zoals gespecificeerd in de paragrafen 8.1, 8.3 en 8.4 van bijlage 4.

Een typegoedkeuring voor een boordcomputer vervalt van rechtswege zodra voor de registratie, verkoop of het in het verkeer brengen van nieuwe boordcomputers zwaardere eisen van kracht worden, tenzij:

Met een boordcomputer als bedoeld in deze regeling wordt gelijkgesteld een boordcomputer die rechtmatig is vervaardigd of in de handel is gebracht in een andere lidstaat van de Europese Unie dan wel rechtmatig is vervaardigd in een staat, niet zijnde een lidstaat van de Europese Unie, die partij is bij daartoe strekkend of mede daartoe strekkend verdrag dat Nederland bindt, en die voldoet aan eisen die een beschermingsniveau bieden dat ten minste gelijkwaardig is aan het niveau dat met de nationale eisen wordt nagestreefd.

De Regeling boordcomputer taxi wordt ingetrokken.

Deze regeling wordt aangehaald als: Regeling specificaties en typegoedkeuring boordcomputer taxi.

Deze regeling treedt in werking met ingang van 1 oktober 2010.

Versie 1.8

Datum 6 februari 205

Status Defnitief

Deze bijlage is een beveiligingsprofiel (Protection Profile) voor de voertuigcomponenten van de boordcomputer in overeenstemming met de Common Criteria versie 3.1. Het beveiligingsprofiel geeft een beschrijving van het door de boordcomputer te implementeren beleid, de te realiseren beveiligingsdoelstellingen, en de te behalen beveiligingseisen, alsmede het vereiste garantieniveau voor de boordcomputer, zoals afgeleid is bij een eerdere afhankelijkheids- en kwetsbaarheidsanalyse.

Dit beveiligingsprofiel voor de boordcomputer is opgesteld voor de Inspectie Leefomgeving en Transport van het Ministerie van Infrastructuur en Milieu.

Dit document is het ‘Beveiligingsprofiel Boordcomputer Taxi’ (PP-BCT) Versie 1.8, 6 februari 2015.

Dit beveiligingsprofiel voldoet aan Common Criteria versie 3.1 Revisie 4. Hoewel de ‘International English’ versie is gebruikt voor het ontwikkelen van dit beveiligingsprofiel, is (met toestemming van het certificeringsschema) dit profiel in het Nederlands.

Dit beveiligingsprofiel:

Dit document volgt de naamgeving en notaties voor beveiligingsprofielen volgens de Common Criteria standaard. Er zijn unieke labels toegewezen aan entiteiten zodat deze gemakkelijk terug te vinden zijn. De labels beginnen met één van de onderstaande karakters:

De TOE wordt getoetst conform het normenkader van Common Criteria for Information Technology Security Evaluation, versie 3.1, revisie 3, July 2009.

De TOE ondersteunt de volgende standaarden wanneer cryptografische bewerkingen dienen te worden uitgevoerd:

De TOE is een controleapparaat bedoeld voor installatie in auto’s gebruikt voor taxivervoer. Het doel is om handhavingprocessen te helpen uitvoeren door de elektronische registratie van de ritadministratie en de arbeids-, rij- en rusttijden en het op aanvraag ter beschikking stellen van deze informatie aan bevoegde personen ter controle.

De TOE kent vier werkingsmodi, te weten: operationele modus, controle modus, activering/keuringsmodus en bedrijfsmodus. De operationele modus kent drie werkingsniveaus: basis, arbeidstijd en taxivervoer. Wanneer taxivervoer wordt aangeboden of arbeidstijd plaatsheeft, selecteert de bestuurder handmatig het corresponderende werkingsniveau. In de operationele modus, werkingsniveau arbeidstijd of taxivervoer, worden gegevens geregistreerd over de uitgevoerde taxiritten en de arbeids-, rij-, en rusttijden van de bestuurder. De aanvang en het beëindigen van een rit wordt door een actieve bedieningshandeling van de bestuurder bij de TOE kenbaar gemaakt. Hierbij dient de beladingtoestand (beladen/onbeladen) te worden aangegeven.

Daarnaast draagt de TOE in alle modi zorg voor het beschikbaar stellen van de basisgegevens tijd en afgelegde afstand, en de positie van het voertuig. In het werkingsniveau basis wordt ook de registratie van gebeurtenissen gevoerd. In de operationele modus is het werkingsniveau basis een apart werkingsniveau. In de overige modi integreert de TOE de basis functionaliteit met de overige functionaliteit van de betreffende modus.

De TOE bestaat ten minste uit een verwerkingseenheid, een geheugen, een tijdklok, een ISO 7816 kaartinterface, een ISO 7810 ID-000 kaartinterface ten behoeve van de systeemkaart, een positiebepalingssensor of een interface voor de positiebepalingssensor, een verplaatsingsopnemer, een interface voor de bewegingsopnemer, een gegevensoverbrengingsinterface, een interface voor de taxameter, een leesvenster en voorzieningen voor de invoer van gebruikersgegevens.

De TOE kan door middel van additionele verbindingen aan andere inrichtingen worden gekoppeld, of daarmee geïntegreerd worden.

Toegang tot de TOE wordt verleend door middel van een boordcomputerkaart met PIN-code en voorzien van een (authenticatie)certificaat. Er worden vier gebruikersrollen voorzien, te weten bestuurder, toezichthouder, werkplaats en vervoerder. De omschakeling tussen werkingsmodi gebeurt door het plaatsen van de correcte boordcomputerkaart in de TOE. Er worden vier verschillende kaarten onderscheiden, te weten: chauffeurskaart, inspectiekaart, keuringskaart en ondernemerskaart. Boordcomputerkaarten maken geen onderdeel uit van de TOE.

Bij aanvang van de dienst dient een chauffeurskaart in de TOE te zijn geplaatst. De bestuurder meldt zich aan met de chauffeurskaart en een persoonlijk identificatie code (PIN-code). De TOE registreert de persoonlijke arbeids-, rij- en rusttijden van de bestuurder en slaat deze op in het interne geheugen van de TOE en op de chauffeurskaart.

In voorkomende gevallen heeft een chauffeur geen kaart en dan dient hij zijn burgerservicenummer in te voeren. Dit burgerservicenummer dient alleen voor identificatie, en wordt door de TOE verder niet gecontroleerd.

De boordcomputerkaarten voor de bestuurder zijn voorzien van een certificaat voor het elektronisch identificeren van de persoon en het ondertekenen van geregistreerde gegevens.

De TOE gebruikt een systeemkaart welke is voorzien van certificaten voor identificatie van de TOE en het plaatsen van elektronische handtekeningen. Het certificaat ten behoeve van de TOE wordt in de productiefase in de vorm van de systeemkaart geïmplementeerd in de TOE. Deze certificaten worden uitgegeven onder verantwoordelijkheid van de Minister van Infrastructuur en Milieu. Systeemkaarten zijn geen onderdeel van de TOE.

De TOE voert gegevens uit naar een leesvenster en kan gegevens ter beschikking stellen ten behoeve van een externe printer en externe inrichtingen.

De operationele omgeving van de TOE geïnstalleerd in de auto is weergegeven in onderstaande figuur.

Figuur 1

De systeemkaart plaatst een elektronische handtekening (EH) per uitgevoerde rit over alle ritgegevens terstond nadat de bestuurder heeft aangegeven dat de rit teneinde is.

De chauffeurskaart plaatst een elektronische handtekening bij het einde van de dienst van de bestuurder over de arbeids-, rij- en rusttijden van de bestuurder gedurende de dienst. Hiervoor wordt het persoonsgebonden certificaat van de chauffeurkaart gebruikt waarbij de bestuurder vooraf zijn goedkeuring verleent door het ingeven van de PIN-code van de chauffeurskaart.

De systeemkaart plaatst een elektronische handtekening over de geregistreerde gegevens wanneer deze worden opgeslagen en wanneer deze worden uitgevoerd naar een externe gegevensdrager.

De koppeling van bestuurder aan de geregistreerde gegevens en de waarborging van de integriteit en authenticiteit van de gegevens wordt in onderstaande figuur geïllustreerd:

Figuur 2

De typische levenscyclus van een TOE wordt geïllustreerd door onderstaande figuur. Het verkrijgen van een typegoedkeuring is een verantwoordelijkheid van de fabrikant. Eventuele reparaties worden uitgevoerd door, of onder verantwoordelijkheid van, de fabrikant. Installatie van eventuele nieuwere versies van programmatuur mogen door erkende werkplaatsen met een programmatuurrevisie worden uitgevoerd na een succesvolle authenticatie met een keuringskaart.

Indien naar het oordeel van de Dienst Wegverkeer bij/na het implementeren van een bepaalde programmatuurrevisie geen kalibratie van de boordcomputer benodigd is, dan mag die programmatuurrevisie ook buiten een erkende werkplaats door eenieder op de boordcomputer geïmplementeerd worden indien deze zich in operationele modus met werkingsniveau basis bevindt en er geen gebruikerssessie actief is.

Teneinde de blijvend correcte werking van de boordcomputer te kunnen waarborgen, moet de boordcomputer ten aanzien van het implementeren van programmatuurrevisies de volgende acties uitvoeren:

Figuur 3

Voor de TOE zijn de volgende types van entiteiten (subjecten en objecten) relevant:

S.BEWEGINGSOPNEMER

Het instrument, of een deel ervan, gekoppeld aan de TOE dat een signaal in de vorm van een impuls afgeeft over de beweging van de auto op basis waarvan de TOE de afgelegde afstand van de auto kan bepalen.

S.POSITIEBEPALINGSSENSOR

Het instrument, of een deel ervan, gekoppeld aan de TOE dat een signaal afgeeft aan de TOE over de locatie van de auto op basis van verkregen informatie van een satelliet positiebepalingsysteem.

S.BOORDCOMPUTERKAART

De geheugenkaart met chip voor gebruik in de TOE waarmee de TOE de identiteit van de kaarthouder kan vaststellen en waarop gegevens kunnen worden opgeslagen.

S.SYSTEEMKAART

De geheugenkaart met chip die de TOE in staat stelt een elektronische handtekening te plaatsen.

S.PRINTER

Een externe inrichting waaraan gegevens beschikbaar kunnen worden gesteld voor het afdrukken op papier.

S.TAXAMETER

De geijkte externe inrichting voor het bepalen van de ritprijs op basis van een tarievenstructuur.

S.HANDHAVINGSMIDDELEN

Fysiek aan de TOE gekoppelde hulpmiddelen, waaronder externe gegevensdragers en ook te beschouwen als externe gegevensdragers, t.b.v. toezichthouders voor het uitlezen en eventueel verwerken van gegevens.

S.KALIBRATIEMIDDELEN

Fysiek aan de TOE gekoppelde hulpmiddelen, waaronder externe gegevensdragers en ook te beschouwen als externe gegevensdragers, t.b.v. een erkende werkplaats voor het uitlezen van gegevens en/of het ijken, kalibreren, activeren en deactiveren van de TOE.

S.BEDRIJFSMIDDELEN

Fysiek of logisch aan de TOE gekoppelde hulpmiddelen, waaronder externe gegevensdragers en ook te beschouwen als externe gegevensdragers, t.b.v. de vervoerder voor de overdracht van gegevens van en naar de bedrijfsadministratie.

S.UPDATEMIDDELEN

Fysiek of logisch aan de TOE gekoppelde hulpmiddelen, waaronder externe gegevensdragers en ook te beschouwen als externe gegevensdragers, voor de overdracht van programmatuurrevisies naar de TOE.

S.CHAUFFEURSKAART

Een aan de bestuurder afgegeven boordcomputerkaart waarmee de boordcomputer de identiteit van de desbetreffende bestuurder kan vaststellen, een elektronische handtekening kan plaatsen, en waarmee de operationele modus van de TOE kan worden geactiveerd.

S.INSPECTIEKAART

Een aan de met het toezicht op de naleving belaste persoon afgegeven boordcomputerkaart die de desbetreffende persoon identificeert en waarmee de controlemodus van de boordcomputer kan worden geactiveerd.

S.KEURINGSKAART

Een aan een erkende werkplaats afgegeven boordcomputerkaart die de desbetreffende werkplaats identificeert en waarmee de activerings- en keuringsmodus van de boordcomputer kan worden geactiveerd.

S.ONDERNEMERSKAART

Een aan een vervoerder afgegeven boordcomputerkaart die de desbetreffende vervoerder identificeert en waarmee de bedrijfsmodus van de boordcomputer kan worden geactiveerd.

O.BASISGEGEVENS

De tijd, afgelegde afstand en gegevens betreffende verplaatsing zoals bijgehouden door de TOE.

O.ARBEIDSTIJDGEGEVENS

De arbeids-, rij- en rusttijden gegevens van de bestuurder zijnde de rijtijd, pauze en andere werkzaamheden dan rijden geregistreerd door de TOE.

O.RITGEGEVENS

De gegevens per individuele rit bestaande uit ten minste de begin- en eindlocatie, de begin- en einddatum en tijd, afgelegde afstand, de ritprijs, de beladingstoestand en identiteit van de bestuurder geregistreerd door de TOE.

O.BEDRIJFSGEGEVENS

Gegevens over de vervoerder, waaronder autorisaties voor het gedurende een bepaalde periode onafhankelijk van een kaartsessie uitlezen van de TOE, zoals zijn vastgelegd op de TOE.

O.KAARTHOUDERGEGEVENS

Gegevens opgeslagen op de boordcomputerkaart ingebracht in de TOE.

O.POSITIEGEGEVENS

Gegevens betreffende de locatie van de auto die door de S.POSITIEBEPALINGSSENSOR aan de TOE worden aangeleverd.

O.BEWEGINGSGEGEVENS

Gegevens betreffende snelheid en afgelegde afstand die door S.BEWEGINGSOPNEMER of S.POSITIEBEPALINGSSENSOR aan de TOE worden aangeleverd.

O.GEBEURTENISGEGEVENS

Gegevens geregistreerd door de TOE met betrekking tot routinematige en uitzonderlijke gebeurtenissen op basis waarvan analyses mogelijk zijn en de verantwoordelijke gebruiker of proces kan worden bepaald.

O.SYSTEEMGEGEVENS

Specifieke gegevens ter ondersteuning of noodzakelijk voor het functioneren van de TOE of voor identificatie en instellingen van de TOE functies, bestaande uit O.VASTE_SYSTEEMGEGEVENS, O.VARIABELE_SYSTEEMGEGEVENS en O.PROGRAMMATUURGEGEVENS.

O.VASTE_SYSTEEMGEGEVENS

Vaste gegevens van de TOE, zoals de naam van diens fabrikant, het serienummer en het bouwjaar.

O.VARIABELE_SYSTEEMGEGEVENS

Wijzigbare gegevens van de TOE, waaronder het kenteken van de auto en O.INSTELLINGSGEGEVENS.

O.INSTELLINGSGEGEVENS

Die subset van O.VARIABELE_SYSTEEMGEGEVENS die aan kalibratie onderhevig is.

O.PROGRAMMATUUR

De combinatie van TOE uitvoerbare code en gegevens zoals de CA certificaathiërarchie(ën) nodig voor het verifiëren van de geldigheid en authenticiteit van certificaten van boordcomputer- en systeemkaarten, alsmede de bij dat geheel behorende O.PROGRAMMATUURGEGEVENS.

O.PROGRAMMATUURGEGEVENS

Versie-identificerende (vaste) gegevens van O.PROGRAMMATUUR, waaronder een versienummer en een goedkeuringsnummer. De O.PROGRAMMATUURGEGEVENS van de op de TOE operationele O.PROGRAMMATUUR vormen eveneens een subset van O.SYSTEEMGEGEVENS.

O.PROGRAMMATUURREVISIE

De combinatie van een versie van O.PROGRAMMATUUR die is bedoeld om de op de TOE operationele O.PROGRAMMATUUR of delen daarvan te vervangen, een O.KALIBRATIEINDICATIE en een O.VERVANGBARE_VERSIES.

O.KALIBRATIEINDICATIE

Een vast attribuut van een O.PROGRAMMATUURREVISIE dat aanduidt of het vervangen van de op de TOE operationele O.PROGRAMMATUUR met de in de O.PROGRAMMATUURREVISIE opgenomen O.PROGRAMMATUUR wel (positief) of niet (negatief) gevolgd moet worden door kalibratie van O.INSTELLINGSGEGEVENS.

O.VERVANGBARE_VERSIES

Een in een O.PROGRAMMATUURREVISIE opgenomen criterium (zoals een lijst of wildcard) waarmee een versienummer kan worden vergeleken om te bepalen of het met dat criterium correspondeert.

Ter verduidelijking is in de onderstaande figuur de samenhang van de op de TOE aanwezige O.SYSTEEMGEGEVENS en de op de TOE operationele O.PROGRAMMATUUR en hun subobjecten / attributen grafisch weergegeven.

Figuur 4

Eveneens ter verduidelijking is in de onderstaande figuur de opbouw van een O.PROGRAMMATUURREVISIE opgenomen.

Figuur 5

De TOE (Target of Evaluation) is de selectie van hardware en software en bijbehorende handleidingen die uiteindelijk wordt geëvalueerd. De TOE moet alle functionaliteit omvatten die nodig is om aan de eisen in dit profiel te voldoen, maar mag daarnaast ook andere zaken bevatten, zoals een routeplanningsapplicatie.

De minimale omvang van de TOE wordt schematisch weergegeven in onderstaande figuur:

Figuur 6

Alle onderdelen die in deze afbeelding binnen de grijze omheining worden weergegeven moeten onderdeel zijn van de TOE. Dus bijvoorbeeld de (voertuig) sensor voor bewegingsgegevens (bewegingsopnemer) en de positiebepalingssensor (GNSS) hoeven geen deel uit te maken van de TOE maar de aansluiting van deze sensoren weer wel

Andere zaken die in deze figuur zijn weergegeven (zoals de taxameter en de printer), mogen onderdeel zijn van de TOE, hoewel dit niet altijd praktisch is. Ook extra software en hardware die niet in deze figuur zijn weergegeven (zoals de bovengenoemde routeplanningsapplicatie) mogen deel uitmaken van de TOE.

Daarnaast is het toegestaan om extra hardware of software binnen de fysieke behuizing van de TOE op te nemen, zonder dat deze hardware of software meteen onderdeel worden van de TOE. Het is echter niet toegestaan om tijdens de evaluatie van de TOE aan te nemen dat deze extra hardware of software vertrouwd of goedaardig is: de evaluatie van de TOE dient ondubbelzinnig aan te tonen dat de TOE nog steeds voldoet aan dit Beschermingsprofiel als deze opgenomen hardware of software niet vertrouwd of goedaardig is.

P.VASTLEGGEN

De TOE legt de volgende gegevens vast, afhankelijk van de werkingsmodus en het actieve werkingsniveau:

P.BEWAREN_EN_BORGEN

De TOE bewaart de vastgelegde gegevens zodat:

P.ACTIES

De TOE kan de volgende acties uitvoeren, afhankelijk van de werkingsmodus, het actieve werkingsniveau en de ingebrachte en geauthenticeerde boordcomputerkaart:

P.UITVOEREN_GEGEVENS

De TOE kan de geregistreerde gegevens uitvoeren, afhankelijk van de ingebrachte boordcomputerkaart:

De TOE kan

uitvoeren naar een extern bedrijfsmiddel (op afstand of lokaal) indien

P.INVOEREN_GEGEVENS

De TOE kan gegevens invoeren, afhankelijk van de ingebrachte boordcomputerkaart:

De TOE kan, onafhankelijk van het bestaan van een gebruikerssessie:

P.VEILIG_UPDATEN

De TOE kan zijn operationele programmatuur updaten met de programmatuur uit een (van een extern updatemiddel afkomstige) programmatuurrevisie indien de TOE heeft vastgesteld dat

P.DEACTIVERING

De TOE kan met behulp van een keuringskaart worden gedeactiveerd. Alle gegevens opgeslagen op de TOE tijdens de deactivering worden overgebracht naar een extern kalibratiemiddel met uitzondering van positiegegevens. Positiegegevens kunnen alleen worden overgebracht naar extern handhavingsmiddel als er tijdens P.DEACTIVERING op de TOE wordt aangemeld met achtereenvolgens S.KEURINGSKAART en S.INSPECTIEKAART.

A.BEDIENING

Er wordt verondersteld dat de bestuurder van de auto de TOE juist bedient en correct het werkingsniveau, de beladingtoestand en het moment van aanvang en beëindiging van een rit selecteert.

A.SENSOREN

Er wordt verondersteld dat de gegevens aangeboden op de sensorinterface(s) correct zijn.

A.SYSTEEMKAART

Er wordt verondersteld dat de systeemkaart een certificaat bevat welk onweerlegbaar is gekoppeld met de TOE; alle gegevens die door de TOE worden aangeboden correct ondertekent; de handtekening terugstuurt naar de TOE.

A.BOORDCOMPUTERKAART

Er wordt verondersteld dat een ingebrachte boordcomputerkaart een certificaat bevat welk onweerlegbaar is gekoppeld met de boordcomputerkaarthouder; alle gegevens die door de TOE worden aangeboden correct ondertekent; de handtekening terugstuurt naar de TOE.

A.BOORDCOMPUTERKAARTHOUDER

Er wordt verondersteld dat boordcomputerkaarthouders hun boordcomputerkaart niet aan derden uitreiken en hun PIN-code geheim houden.

A.PRINTER

Er wordt verondersteld dat gegevens die worden aangeboden ten behoeve van een aangesloten printer, correct worden afgedrukt door die printer.

A.VOOR_ACTIVERING

De TOE wordt in inactieve toestand geleverd aan voertuigfabrikanten, installateurs en/of erkende werkplaatsen. Deze zullen de TOE installeren waarna een erkende werkplaats de TOE zal kalibreren en vervolgens activeren. Na activering kan de TOE door een erkende werkplaats middels deactivering weer in inactieve toestand worden teruggebracht. De cyclus van activering en deactivering door erkende werkplaatsen kan zich gedurende de levensduur van de TOE meerdere keren herhalen.

Voertuigfabrikanten, installateurs en/of erkende werkplaatsen zullen de integriteit van de TOE beschermen zolang de TOE zich niet in actieve toestand bevindt.

OT.AUDIT

De TOE legt beveiligingsrelevante gebeurtenisgegevens vast en toont deze op het beeldscherm.

OT.AUTHENTICATIE_BOORDCOMPUTERKAART

De TOE zal een ingebrachte boordcomputerkaart authenticeren door middel van zowel:

OT.VASTLEGGEN

De TOE legt gegevens vast volgens de regels van P.VASTLEGGEN en zodanig dat de geregistreerde gegevens een correcte afspiegeling zijn van de waarden aangeboden op de sensorinterface(s).

OT.KOPPELEN_AAN_SYSTEEMKAART

De TOE zal gegevens die geregistreerd dienen te worden aan de systeemkaart aanbieden ter ondertekening met een elektronische handtekening.

OT.KOPPELEN_AAN_BOORDCOMPUTERKAART

De TOE zal arbeids-, rij- en rusttijden van de bestuurder die geregistreerd dienen te worden, aan de chauffeurskaart aanbieden ter ondertekening met een elektronische handtekening.

OT.OPSLAAN

De TOE zal gegevens die geregistreerd dienen te worden opslaan. De gegevens zullen gezamenlijk worden opgeslagen met de elektronische handtekeningen over deze gegevens.

OT.UITVOEREN_GEGEVENS

De TOE kan geregistreerde gegevens uitvoeren volgens de regels van P.UITVOEREN_GEGEVENS. Tenzij gegevens worden uitgevoerd naar printer of leesvenster worden de bij de gegevens opgeslagen elektronische handtekeningen eveneens uitgevoerd.

OT.INVOEREN_GEGEVENS

De TOE kan gegevens invoeren volgens de regels van P.INVOEREN_GEGEVENS.

OT.FYSIEKE_BEVEILIGING

De TOE biedt fysieke weerstand zodanig dat het openmaken van de TOE in een laboratorium kan worden vastgesteld.

OT.BEWAKING_INTEGRITEIT

De TOE zal de integriteit van de gegevens ten minste bewaken door:

OT.VEILIG_UPDATEN

De TOE kan zijn operationele programmatuur updaten met de programmatuur uit een (van een extern updatemiddel afkomstige) programmatuurrevisie indien de TOE heeft vastgesteld dat

OE.VOOR_ACTIVERING

De TOE wordt in inactieve toestand geleverd aan voertuigfabrikanten, installateurs en/of erkende werkplaatsen. Deze zullen de TOE installeren waarna een erkende werkplaats de TOE zal kalibreren en vervolgens activeren. Na activering kan de TOE door een erkende werkplaats middels deactivering weer in inactieve toestand worden teruggebracht. De cyclus van activering en deactivering door erkende werkplaatsen kan zich gedurende de levensduur van de TOE meerdere keren herhalen.

Voertuigfabrikanten, installateurs en/of erkende werkplaatsen zullen de integriteit van de TOE beschermen zolang de TOE zich niet in actieve toestand bevindt.

OE.SENSOREN

De omgeving van de TOE dient ervoor zorg te dragen dat de gegevens die worden aangeboden op de sensorinterface(s) correct zijn. Dit kan bijvoorbeeld door:

OE.PRINTER

De omgeving van de TOE dient ervoor zorg te dragen dat de gegevens die worden aangeboden door de TOE aan de printer correct worden afgedrukt. Dit kan bijvoorbeeld door:

OE.BEDIENING

De omgeving van de TOE dient ervoor zorg te dragen dat de bestuurder van de auto correct gebruik maakt van de mogelijkheden om het werkingsniveau, de beladingtoestand, het begin en einde van een rit en de aanvang en einde van de dienst te selecteren. Dit kan bijvoorbeeld door:

OE.SYSTEEMKAART

De omgeving van de TOE dient een systeemkaart te bevatten die:

OE.BOORDCOMPUTERKAART

De omgeving van de TOE dient boordcomputerkaarten te bevatten die:

OE.BOORDCOMPUTERKAARTHOUDER

Boordcomputerkaarthouders dienen hun boordcomputerkaart niet aan derden uit te reiken en hun PIN-code geheim te houden. Bestuurders mogen maar één geldige chauffeurskaart in hun bezit hebben.

OE.DEACTIVERING

De TOE wordt buiten gebruik gesteld (deactivering) door erkende werkplaatsen. De opgeslagen gegevens worden hierbij verwijderd met uitzondering van O.SYSTEEMGEGEVENS, O.PROGRAMMATUUR en O.POSITIEGEGEVENS.

OE.VEILIG_UPDATEN

De omgeving van de TOE dient programmatuurrevisies aan te leveren waarvan, voorafgaand aan het door de fabrikant aan de programmatuurrevisie aanbrengen van enig integriteits- en authenticiteitskenmerk,

De functionele beveiligingseisen zijn verdeeld in een aantal functionele groepen. Iedere groep bevat één of meer onderling samenhangende eisen. De groepen zijn:

FMT_SMR.2 Restricties op gebruikersrollen

FMT_SMR.2.1 De TSF kent de volgende gebruikersrollen:

FMT_SMR.2.2 De TSF kan rollen met gebruikers associëren

FMT_SMR.2.3 De TSF zal de volgende regels afdwingen:

FIA_UID.1 Tijd van identificatie (Boordcomputerkaarten)

FIA_UID.1.1 De TSF staat het registreren van de O.POSITIEGEGEVENS, en O.GEBEURTENISGEGEVENS namens de gebruikersrol ONBEKEND toe, voordat een gebruiker is geïdentificeerd.

FIA_UID.1.2 De TSF eist dat S.CHAUFFEURSKAART, S.INSPECTIEKAART, S.KEURINGSKAART, en S.ONDERNEMERSKAART succesvol zijn geïdentificeerd op basis van de identiteit weergegeven in het certificaat op die boordcomputerkaart, alvorens andere handelingen te verrichten namens de desbetreffende gebruiker.

FIA_UAU.1 Tijd van authenticatie (Boordcomputerkaarten)

FIA_UAU.1.1 De TSF staat het registreren van de O.BASISGEGEVENS, O.ARBEIDSTIJDGEGEVENS, O.RITGEGEVENS, O.POSITIEGEGEVENS, O.BEWEGINGSGEGEVENS en O.GEBEURTENISGEGEVENS namens de gebruikersrol ONBEKEND toe, voordat een gebruiker is geauthenticeerd.

FIA_UAU.1.2 De TSF eist dat S.CHAUFFEURSKAART, S.INSPECTIEKAART, S.KEURINGSKAART en S.ONDERNEMERSKAART succesvol zijn geauthenticeerd op basis van:

FIA_AFL.1 Falen van authenticatie (FIA_AFL)

FIA_AFL.1.1 De TSF detecteert wanneer vijf (5) opeenvolgende niet-succesvolle authenticatiepogingen plaatsvinden gerelateerd aan het authenticeren van dezelfde S.CHAUFFEURSKAART, S.INSPECTIEKAART, S.KEURINGSKAART of S.ONDERNEMERSKAART

FIA_AFL.1.2 Als er vijf (5) opeenvolgende niet-succesvolle authenticatiepogingen zijn gedetecteerd, dan zal de TSF:

FIA_UAU.6 Herauthenticeren

FIA_UAU.6.1 De TSF zal S.CHAUFFEURSKAART, S.INSPECTIEKAART, S.KEURINGSKAART en S.ONDERNEMERSKAART herauthenticeren onder de volgende condities:

FTA_SSL.2 Blokkeren van een sessie op initiatief van een gebruiker

FTA_SSL.2.1 De TSF zal S.BOORDCOMPUTERKAART toestaan een sessie te blokkeren door het uitnemen van S.BOORDCOMPUTERKAART zonder dat is aangegeven dat de sessie van de gebruiker is beëindigd en als de auto zich in de toestand stilstaan bevindt door middel van:

FTA_SSL.2.2 De TSF eist dat de volgende handelingen plaatsvinden alvorens de blokkering op te heffen:

FTA_SSL.3 Automatisch beëindigen van een sessie

FTA_SSL.3.1 De TSF beëindigt een kaartsessie:

FIA_UID.2 Identificatie voor enige actie (Systeemkaart)

FIA_UID.2.1 De TSF identificeert S.SYSTEEMKAART op basis van de identiteit weergegeven in het machine-gebonden certificaat zoals vastgelegd op de systeemkaart verbonden met de TOE, alvorens handelingen te verrichten namens S.SYSTEEMKAART.

FIA_UID.2 Identificatie voor enige actie (Overigen)

FIA_UID.2.1 De TSF identificeert S.BEWEGINGSOPNEMER, S.POSITIEBEPALINGSSENSOR, S.PRINTER, S.TAXAMETER, S.HANDHAVINGSMIDDELEN, S.KALIBRATIEMIDDELEN, S.BEDRIJFSMIDDELEN en S.UPDATEMIDDELEN op basis van hun aanwezigheid op de daarvoor bestemde interface, alvorens handelingen te verrichten namens de desbetreffende subjecten.

FDP_ACC.2 Volledige toegangscontrole

FDP_ACC.2.1 De TSF dwingt het toepassen van het BCT-toegangsbeleid af voor alle subjecten, alle objecten en alle handelingen4.

FDP_ACC.2.2 De TSF garandeert dat alle verrichtingen tussen een subject gecontroleerd door de TSF en een object gecontroleerd door de TSF zijn onderworpen aan een toegangscontrole SFP.

FDP_ACF.1 Toegangscontrole op basis van attributen

FDP_ACF.1.1 De TSF dwingt het toepassen van het BCT-toegangsbeleid af voor objecten voor alle subjecten en alle objecten.

FDP_ACF.1.2 De TSF dwingt de volgende regels af om te bepalen of een verrichting tussen gecontroleerde subjecten en gecontroleerde objecten is toegestaan:

FDP_ACF.1.3 -7

FDP_ACF.1.4 De TSF zal expliciet toegang van subjecten naar objecten weigeren gebaseerd op de volgende regel:

FDP_ETC.2 Export van gegevens met attributen

FDP_ETC.2.1 De TSF dwingt het gebruik van het BCT-toegangsbeleid af wanneer O.BASISGEGEVENS, O.ARBEIDSTIJDENGEGEVENS, O.RITGEGEVENS, O.POSITIEGEGEVENS, O.BEDRIJFSGEGEVENS, O.GEBEURTENISGEGEVENS en O.SYSTEEMGEGEVENS gegevens worden overgebracht naar externe gegevensdragers of inrichtingen buiten de TSF.

FDP_ETC.2.2 De TSF exporteert gegevens inclusief de bijbehorende elektronische handtekening over deze gegevens, behalve als deze naar S.PRINTER of het leesvenster worden geëxporteerd.

FDP_ETC.2.3 De TSF garandeert dat de elektronische handtekening onlosmakelijk is geassocieerd met de geëxporteerde gegevens.

FDP_ETC.2.4 De TSF dwingt de volgende regels af wanneer gegevens worden geëxporteerd van de TSF:

FDP_ITC.1 Import van gegevens zonder attributen

FDP_ITC.1.1 De TSF dwingt het gebruik van het BCT-toegangsbeleid af wanneer gegevens worden ingelezen van S.BOORDCOMPUTERKAARTEN, S.BEWEGINGSOPNEMER, S.POSITIEBEPALINGSSENSOR, S.HANDHAVINGSMIDDELEN, S.KALIBRATIEMIDDELEN, S.BEDRIJFSMIDDELEN, S.UPDATEMIDDELEN of S.TAXAMETER.FDP_ITC.1.2 De TSF negeert attributen wanneer gegevens worden ingelezen door de TSF.

FDP_ITC.1.3 De TSF dwingt de volgende regels af wanneer gegevens worden ingelezen door de TSF:

FDP_DAU.2 Data authenticatie met identiteit

FDP_DAU.2.1 De TSF kan een bewijs van de validiteit van gegevens genereren als volgt:

FDP_DAU.2.2 De TSF levert S.BOORDCOMPUTERKAART een mogelijkheid om het bewijs van de integriteit en authenticiteit van de gegevens en de identiteit van de gebruiker die de gegevens heeft ondertekend te verifiëren.

FTP_ITC.1 Vertrouwd kanaal tussen TSFs

FTP_ITC.1.1 De TSF levert een communicatiekanaal tussen de TSF en de S.SYSTEEMKAART. Dit communicatiekanaal is gescheiden van andere communicatiekanalen, levert zekere identificatie van de eindpunten, en beschermt de data op het kanaal tegen wijzigen of lekken.

FTP_ITC.1.2 De TSF mag alleen zelf communicatie initiëren over het vertrouwde kanaal.

FTP_ITC.1.3 De TSF zal communicatie initiëren over het vertrouwde kanaal voor het door S.SYSTEEMKAART laten zetten van handtekeningen en het ontvangen van deze handtekeningen.

FCS_COP.1 Cryptografische operaties

FCS_COP.1.1 De TSF zal hash-operaties uitvoeren volgens zowel het SHA-1 en het SHA-256 cryptografische algoritme zoals gedefinieerd in de ISO/IEC 10118-3, FIPS PUB 180-2 en ETSI TS 102 176-1 standaarden.

FAU_GEN.1 Genereren van gebeurtenisgegevens8

FAU_GEN.1.1 De TSF genereert een gebeurtenis record van de volgende gebeurtenissen:

FAU_GEN.1.2 De TSF legt per gebeurtenis ten minste de volgende informatie vast zoals die geldt op het moment van optreden:

als een storing of fout is opgetreden tevens:

als een S.BOORDCOMPUTERKAART is ingebracht in de TSF tevens:

als geen S.BOORDCOMPUTERKAART is ingebracht, maar de gebruiker is geïdentificeerd met een burgerservicenummer:

FAU_SAA.1 Detectie van potentiële inbreuk op beveiliging

FAU_SAA.1.1 De TSF beschouwt de in FAU_GEN.1.1 met een – gemarkeerde gebeurtenissen als beveiligingsrelevant.

FAU_ARP.1 Automatische respons op gebeurtenissen

FAU_ARP.1.1 De TSF geeft een waarschuwingsignaal op het leesvenster wanneer een beveiligingsrelevante gebeurtenis wordt gedetecteerd.

FAU_STG.1 Bescherming van gebeurtenisgegevens

FAU_STG.1.1 De TSF beschermt de opgeslagen gebeurtenis records in O.GEBEURTENISGEGEVENS tegen ongeautoriseerd verwijderen.

FAU_STG.1.2 De TSF voorkomt ongeautoriseerde aanpassingen in de opgeslagen gebeurtenis records in O.GEBEURTENISGEGEVENS.

FAU_STG.4 Voorkomen van verlies van gebeurtenisgegevens

FAU_STG.4.1 De TSF overschrijft de oudste gebeurtenis records met nieuwere wanneer de opslagcapaciteit voor de O.GEBEURTENISGEGEVENS vol is.

FRU_RSA.2 Maximum en minimum quotas

FRU_RSA.2.1 -11

FRU_RSA.2.2 De TSF garandeert een minimum hoeveelheid opslagcapaciteit voldoende voor 365 dagen van normaal gebruik tegelijkertijd te gebruiken voor:

FPT_STM.1 Tijd

FPT_STM.1.1 De TSF is in staat om betrouwbare tijdsregistraties uit te voeren in de Universal Time Coordinated met een afwijking van ten hoogste één (1) seconde en een resolutie van één (1) seconde of nauwkeuriger.

FPT_PHP.1 Passieve detectie van fysieke aanvallen

FPT_PHP.1.1 De TSF zal een laboratorium in staat stellen om fysieke aanvallen ondubbelzinnig te detecteren12.

FPT_PHP.1.2 De TSF zal het mogelijk maken om te bepalen dat fysieke aanvallen op de TSF, de S.SYSTEEMKAART of de verbinding tussen TSF en de S.SYSTEEMKAART hebben plaatsgevonden.

FPT_TST.1 Testen van de TSF

FPT_TST.1.1 De TSF zal een verzameling zelf-testen doen bij het opstarten om de correcte werking van de TSF te demonstreren.

FPT_TST.1.2 De TSF zal TOEZICHTHOUDER, WERKPLAATS en VERVOERDER de mogelijkheden bieden om de integriteit van de TSF data te verifiëren.

FPT_TST.1.3 De TSF zal ONBEKEND, TOEZICHTHOUDER, WERKPLAATS en VERVOERDER de mogelijkheden bieden om de integriteit van de op de TOE operationele O.PROGRAMMATUUR, waaronder de TSF uitvoerbare programmatuurcode (executables), te verifiëren.

Voor de typegoedkeuring van de boordcomputer wordt een Common Criteria garantieniveau vereist van ten minste EAL3. Dit niveau analyseert de geclaimde beveiligingsfuncties door middel van een analyse van functionele en interface specificatie, (gebruikers)documentatie en een beschrijving van de architectuur van de boordcomputer. De analyse wordt ondersteund met onafhankelijk testen, verificatie van de testresultaten van de ontwikkelaar een beperkt onderzoek naar zwakheden. Daarnaast worden aspecten van de gebruikte ontwerpmiddelen, configuratiebeheer en leveringsprocedures beschouwd.

In combinatie met een uitgebreid en formeel geëvalueerd beveiligingsprofiel (Protection Profile), een periodiek onderzoek en actieve handhaving, kan aannemelijk worden gemaakt dat goedgekeurde boordcomputers voldoende weerstand zullen bieden tegen de onderkende dreigingen en dat gebrekkig functionerende boordcomputers kunnen worden opgespoord.

Deze sectie bevat een uitleg dat de beveiligingsdoelstellingen het gehele beveiligingsprobleem adresseren. Dit beveiligingsprobleem bestaat uit drie delen:

Deze sectie bevat een uitleg dat de beveiligingsdoelstellingen alle delen van het beveiligingsbeleid implementeren.

P.VASTLEGGEN

Deze wordt direct ondervangen door OT.VASTLEGGEN. Daarnaast vindt indirecte ondersteuning plaats door OT.FYSIEKE_BEVEILIGING en OT.AUTHENTICATIE_BOORDCOMPUTERKAART.

P.BEWAREN_EN_BORGEN

Het bewaren van de gegevens wordt ondervangen door:

Het detecteren van de wijzigingen in de vastgelegde gegevens wordt ondervangen door:

Het onweerlegbaar koppelen aan de TOE wordt ondervangen door:

Het onweerlegbaar koppelen aan de boordcomputerkaarthouder wordt ondervangen door:

Daarnaast vindt indirecte ondersteuning plaats door OT.FYSIEKE_BEVEILIGING, OT.AUDIT en OT.BEWAKING_INTEGRITEIT.

P.ACTIES

Deze wordt direct ondervangen door OT.AUDIT, OT.UITVOEREN_GEGEVENS, OT.INVOEREN_GEGEVENS, OT_VEILIG_UPDATEN, OT.AUTHENTICATIE_BOORDCOMPUTERKAART en OE.BEDIENING. Daarnaast vindt indirecte ondersteuning plaats door OT.FYSIEKE_BEVEILIGING en OT.BEWAKING_INTEGRITEIT.

P.UITVOEREN_GEGEVENS

Deze wordt direct ondervangen door OT.UITVOEREN_GEGEVENS, OT.AUTHENTICATIE_BOORDCOMPUTERKAART en OE.BEDIENING. Daarnaast vindt indirecte ondersteuning plaats door OE.PRINTER.

P.INVOEREN_GEGEVENS

Deze wordt direct ondervangen door OT.INVOEREN_GEGEVENS, OT.AUTHENTICATIE_BOORDCOMPUTERKAART en OE.BEDIENING.

P.VEILIG_UPDATEN

Deze wordt direct ondervangen door OT.VEILIG_UPDATEN, OE.VEILIG_UPDATEN, OT.AUTHENTICATIE_BOORDCOMPUTERKAART en OE.BEDIENING. Daarnaast vindt indirecte ondersteuning plaats door OT.INVOEREN_GEGEVENS.

P.DEACTIVERING

Deze wordt direct ondervangen door OE.DEACTIVERING (voor deactivering en verwijderen gegevens), OT.UITVOEREN_GEGEVENS (voor wat betreft het uitvoeren van gegevens) en OT.AUTHENTICATIE_BOORDCOMPUTERKAART.

Deze sectie bevat een uitleg dat de beveiligingsdoelstellingen alle aannames implementeren.

A.BEDIENING

Deze wordt direct ondervangen door OE.BEDIENING.

A.SENSOREN

Deze wordt direct ondervangen door OE.SENSOREN.

A.SYSTEEMKAART

Deze wordt direct ondervangen door OE.SYSTEEMKAART.

A.BOORDCOMPUTERKAART

Deze wordt direct ondervangen door OE.BOORDCOMPUTERKAART.

A.BOORDCOMPUTERKAARTHOUDER

Deze wordt direct ondervangen door OE.BOORDCOMPUTERKAARTHOUDER.

A.PRINTER

Deze wordt direct ondervangen door OE.PRINTER.

A.VOOR_ACTIVERING

Deze wordt direct ondervangen door OE.VOOR_ACTIVERING.

OT.AUDIT

Deze wordt gerealiseerd door FAU_GEN.1 die specificeert welke gegevens er van welke gebeurtenissen worden vastgelegd.

Dit wordt ondersteund door:

OT.AUTHENTICATIE_BOORDCOMPUTERKAART

Deze wordt gerealiseerd door FIA_UID.1 (Boordcomputerkaarten) en FIA_UAU.1 (Boordcomputerkaarten) welke de I&A regels voor boordcomputerkaarten geven

Dit wordt ondersteund door:

OT.VASTLEGGEN

Deze wordt gerealiseerd door FDP_ACC.2 en FDP_ACF.1 die de regels van P.VASTLEGGEN implementeren.

Dit wordt ondersteund door:

OT.KOPPELEN_AAN_SYSTEEMKAART

Deze wordt gerealiseerd door FDP_DAU.2 die het zetten van een handtekening implementeert. Dit wordt ondersteund door:

OT.KOPPELEN_AAN_BOORDCOMPUTERKAART

Deze wordt gerealiseerd door FDP_DAU.2 die het zetten van een handtekening implementeert. Dit wordt ondersteund door:

OT.OPSLAAN

Zie OT.VASTLEGGEN, OT.KOPPELEN_AAN_SYSTEEMKAART en OT.KOPPELEN_AAN_BOORDCOMPUTERKAART. Daarnaast wordt dit ondersteund door:

OT.UITVOEREN_GEGEVENS

Deze wordt gerealiseerd door FDP_ACC.2 en FDP_ACF.1 die de regels van P.UITVOEREN_GEGEVENS implementeren. Dit wordt ondersteund door:

OT.INVOEREN_GEGEVENS

Deze wordt gerealiseerd door FDP_ACC.2 en FDP_ACF.1 die de regels van P.INVOEREN_GEGEVENS implementeren. Dit wordt ondersteund door:

OT.FYSIEKE_BEVEILIGING

Deze wordt direct gerealiseerd door FPT_PHP.1.

OT.BEWAKING_INTEGRITEIT

Deze wordt direct gerealiseerd door FPT_TST.1.

OT.VEILIG_UPDATEN

Deze wordt direct gerealiseerd door FDP_ACC.2 en FDP_ACF.1 die de regels van P.VEILIG_UPDATEN implementeren. Dit wordt ondersteund door:

De volgende afhankelijkheden zijn niet vervuld:

Versie 2.2

Datum 8 december 2014

Status DEFINITIEF

In deze bijlage wordt verstaan onder:

Aan dit document wordt gerefereerd als ‘Gegevensoverbrengingsinterface Boordcomputer Taxi Versie 2.2’. Deze versie dateert van 8 december 2014’.

In dit artikel worden de gemeenschappelijke kenmerken beschreven die gelden voor de gegevensleveringen ‘Ritadministratie’, ‘Arbeids-, rij- en rusttijden’, ‘Coördinaten’, ‘Gebeurtenis’, ‘Onderzoek’ en ‘Chauffeurskaartdata’.

De overbrengingsinterface die gebruikt wordt voor de gegevensoverbrenging naar een externe gegevensdrager is een USB poort. Er geldt:

De snelheidseis, als beschreven in artikel 2.3, is leidend bij de keuze van USB 1.1 of hoger. Als de snelheidseis van alle gegevensleveringen (‘Ritadministratie’, ‘Arbeids-, rij- en rusttijden’, ‘Coördinaten’, ‘Gebeurtenis’ ‘Onderzoek’ en ‘Chauffeurskaartdata’) beschreven in deze bijlage gehaald kan worden met USB 1.1 (12 Mbit/s) dan is USB 1.1 toegestaan, zo niet dan moet USB 2.0 (480 Mbit/s) of hoger gebruikt worden.

Na opvragen van een gegevenslevering moet het corresponderende XML bericht binnen de volgende termijnen beschikbaar zijn op het externe gegevensdrager:

Voor externe opslagmedia moet het bestandssysteem FAT32 ondersteund worden.

De boordcomputer fungeert als host en neemt het initiatief voor gegevensoverdracht naar de externe gegevensdrager.

Om een gegevenslevering tot stand te laten komen, stelt de boordcomputer de houder van een boordcomputerkaart in staat om:

Nadat alle geselecteerde gegevensleveringen succesvol zijn afgerond en de berichten met de gegevens beschikbaar zijn op de externe gegevensdrager, toont de boordcomputer een melding dat de gegevens beschikbaar zijn.

De periode, als bedoeld in artikel 2.6, onderdeel d, bedraagt per levering maximaal 1 jaar, met uitzondering van de gegevenslevering ‘Onderzoek’ die geen maximum periode kent, en de gegevenslevering ‘Chauffeurskaartdata’ die de periode van de arbeids-, rij- en rusttijdendata van de chauffeurskaart overneemt.

De standaardwaarde voor ‘Datumtijd begin periode’ is het tijdstip van opvragen minus 29 kalenderdagen, met uitzondering van de gegevenslevering ‘Onderzoek’, waar ‘Datumtijd begin periode’ standaard leeg is, en de gegevenslevering ‘Chauffeurskaartdata’, waar de standaarwaarde voor ‘Datumtijd begin periode’ overeenkomt met het oudste record op de chauffeurskaart. ‘Datumtijd einde periode’ is standaard leeg. Als bij opvragen van een gegevenslevering ‘Datumtijd begin periode’ leeg is, wordt deze gevuld met de datum en het tijdstip van de activering. Is ‘Datumtijd einde periode’ leeg, dan wordt ‘Datumtijd einde periode’ gevuld met de datum en het tijdstip waarop het bericht wordt samengesteld;

In de gegevenslevering ‘Coördinaten’, ‘Gebeurtenis’ en ‘Onderzoek’ worden alle gegevens opgenomen die binnen de opgevraagde periode vallen.

In de gegevenslevering ‘Ritadministratie’, ‘Arbeidstijd’ en ‘Chauffeurskaartdata’ worden alle gegevensets opgenomen die de gevraagde periode, inclusief grenzen, overlappen. In de onderstaande tabel is de selectie voor deze gegevensleveringen verder uitgewerkt. Alle gegevensets worden opgenomen die voldoen aan één van de onderstaande condities:

De tabel kan als volgt gevisualiseerd worden. Alle gegevenssets behalve gegevensset 11 en 12 worden in het bericht opgenomen.

Figuur 1

Aanvragen van een gegevenslevering is een synchrone aanvraag die direct verwerkt moet worden.

Als de boordcomputer bezig is met de verwerking van een aanvraag voor een gegevenslevering, dan is het niet mogelijk om dezelfde gegevenslevering of een andere gegevenslevering aan te vragen zolang de huidige aanvraag niet is afgerond.

Het is wel eenvoudig mogelijk om een aanvraag te onderbreken. Na onderbreken van de huidige aanvraag is een nieuwe aanvraag van een gegevenslevering direct (< 1 seconde wachten) mogelijk.

De overige functies van de boordcomputer blijven functioneren als de boordcomputer bezig is met het verwerken van een aanvraag voor een gegevenslevering ‘Ritadministratie’, ‘Arbeids-, rij- en rusttijden’, ‘Coördinaten’, ‘Gebeurtenis’, ‘Onderzoek’ of ‘Chauffeurskaartdata’.

Overschrijven van een bericht op de externe gegevensdrager met dezelfde naam, is alleen toegestaan na een bevestiging van de gebruiker.

Aanvragen van de gegevensleveringen ‘Ritadministratie’, ‘Arbeids-, rij- en rusttijden’, ‘Coördinaten’, ‘Gebeurtenis’, ‘Onderzoek’ en ‘Chauffeurskaartdata’ moet alleen mogelijk zijn voor daartoe geauthenticeerde en geautoriseerde gebruikers.

De door de boordcomputer geregistreerde gegevens worden voorzien van een elektronische handtekening zodat achteraf de authenticiteit en integriteit van deze gegevens kan worden vastgesteld. Voor het aanmaken van de elektronische handtekeningen worden de boordcomputerkaarten gebruikt.

De integriteit van gegevens wordt onderverdeeld in ‘integriteit exportbericht’ en ‘integriteit geregistreerde gegevens’.

De boordcomputer kent zes gegevensleveringen, te weten ‘Ritadministratie’, ‘Arbeids-, rij- en rusttijden’, ‘Coördinaten’, ‘Gebeurtenis’, ‘Onderzoek’ en ‘Chauffeurskaartdata’. Deze gegevensleveringen worden elk in een exportbericht vanuit de boordcomputer overgebracht. Dit exportbericht is een XML bericht dat bestaat uit een gegevenslevering-element zoals gespecificeerd in één van de artikelen 3 t/m 8, gevolgd door een element met een elektronische handtekening berekend over het gegevenslevering-element en de identificatie van de sleutel gebruikt voor het berekenen van de elektronische handtekening.

Voor het genereren en de opmaak van de elektronische handtekening wordt gebruik gemaakt van de W3C Recommendation ‘XML Signature Syntax and Processing Version 1.1’ (XMLDSIG11) van 11 april 2013. De XMLDSIG11 specificatie (http://www.w3.org/TR/xmldsig-core1/) is een door het World Wide Web Consortium (W3C) ontworpen standaard voor de XML syntax en het genereren van elektronische handtekeningen.

Het XML exportbericht bestaat uit een <Envelope>-element met daarin een van de gegevenslevering-elementen <Ritadministratie>, <Arbeidstijden>, <Coordinaten>, <Gebeurtenis>, <Onderzoek> of <Chauffeurskaartdata>, gevolgd door een <Signature>-element. Het gegevenslevering-element bevat een resultaatbericht van een gegevenslevering zoals gespecificeerd in één van de artikelen 3 t/m 8. Het <Signature>-element is opgebouwd conform de XMLDSIG11 specificatie en bevat achtereenvolgens de elementen

Het XML exportbericht kent, afhankelijk van de omsloten gegevenslevering, een van de volgende structuren:

Het <Signature> element in eender welke van de zes bovenstaande XML exportberichten heeft altijd de volgende, aan de XMLDSIG11 conformerende, opbouw:

Toelichting:

De keuze van het algoritme voor de Digest en de Signature is afhankelijk van het certificaat op de kaart waarmee de handtekening wordt gezet. Als dit in de toekomst anders wordt dan SHA-256 respectievelijk RSA-SHA256’ zullen de algoritmes voor Digest en Signature meeveranderen.

Bepaalde gegevenssets, die door de boordcomputer taxi worden geregistreerd, dienen vanaf het moment van vastleggen de waarborg van integriteit en authenticiteit te bevatten. In de specificatie van elke soort gegevenslevering in artikel 3 t/m 8 wordt aangegeven welke gegevensset dit betreft, op welke momenten deze gegevensset met een elektronische handtekening worden ondertekend en als zodanig moeten worden vastgelegd en met welke private sleutel die ondertekening moet gebeuren.

Voor een gegevensset die bij vastleggen elektronisch ondertekend wordt, wordt een tekenbericht gegenereerd. Dit tekenbericht is, op enkele uitzonderingen na, gelijk aan het (corresponderende) XML exportbericht:

Voor de namespace en de structuur van het betreffende <Data> element wordt verwezen naar de artikelen 3.4, 4.4, 6.4, 7.4, respectievelijk 8.4.

Ook het <Signature> element van het tekenbericht wijkt op slechts enkele onderdelen af van die van het XML exportbericht:

Na generatie van het tekenbericht wordt de waarde van het element <SignatureValue> als <Integriteit> element opgeslagen bij de gegevens waarover de elektronische handtekening is berekend. Het tekenbericht zelf hoeft niet te worden opgeslagen, zolang de getekende gegevens in de vorm waarin zij werden getekend kunnen worden gereproduceerd. Dat betekent dat de boordcomputer, behalve de gegevens die het <Data> element vormen, het certificaat dat voor ondertekening werd gebruikt, moet vastleggen.

Het genereren en vastleggen van de elektronische handtekening over het <Data> element vindt plaats bij het vastleggen van de gegevens die het <Data> element vormen.

Bij het samenstellen van een exportbericht worden de gegevens van het <Data> element onveranderd overgenomen uit de administratie op de boordcomputer. Het <Data> element wordt opnieuw geproduceerd, en moet exact gelijk zijn aan het <Data> element waarvoor een elektronische handtekening is berekend bij vastleggen van het gegeven. De geregistreerde elektronische handtekening moet worden overgenomen in het <Integriteit> element, het is niet toegestaan om de elektronische handtekening opnieuw te berekenen. Ook moet per <Integriteit> element het voor de betreffende handtekening gebruikte certificaat onveranderd worden overgenomen uit de administratie op de boordcomputer.

Een mogelijk proces voor samenstellen van de elementen voor een tekenbericht en het genereren van de elektronische handtekening over die elementen is weergegeven in figuur 2.

Figuur 2

Van de output van de groen gekleurde deelprocessen kan het tekenbericht (zonder <SignatureValue>) worden samengesteld. De 256-bytes RSA handtekening zou daarna gebruikt kunnen worden voor het completeren van het tekenbericht, maar moet in ieder geval worden gearchiveerd in de boordcomputer.

Figuur 3 geeft een mogelijk proces voor samenstellen van de elementen van een exportbericht weer. Het exportbericht kan worden geassembleerd met de output van de groen gekleurde deelprocessen.

Figuur 3

Bij het opvragen van de gegevensleveringen kunnen foutsituaties optreden. Hierbij kan onderscheid gemaakt worden tussen functionele fouten, technische fouten en niet volledige gegevens.

Bij onderstaande foutsituaties moet de boordcomputer de bijbehorende foutmelding tonen:

Het niet volledig zijn van gegevens op de boordcomputer mag geen reden zijn om een resultaat bericht niet te exporteren.

Voor het bericht ‘Ritadministratie’ worden de volgende gegevens en functionele en technische berichtstructuur onderkend:

Voor de legenda van het bovenstaande overzicht wordt verwezen naar artikel 10.

Toelichting:

De onderstaande Ritadministratie.xsd wordt gebruikt.

Voor de definitie van bcttypes.xsd wordt verwezen naar artikel 9.

De geselecteerde ritten moeten gegroepeerd per vervoerder, en daarbinnen per ondernemerskaart, in oplopende volgorde van volgnummer worden opgenomen in de ritadministratie.

Alle ritten worden ondertekend worden met een elektronische handtekening op basis van de private sleutel van de systeemkaart.

De ritadministratie bevat een element <Rit> en <Rit> bevat de elementen <Data> en <Integriteit>. Het <Data> element bevat de volgende ritgegevens:

Het <Integriteit> element bevat de elektronische handtekening van het bijbehorende Data element.

Bij het samenstellen van de ritadministratie moeten de gegevens van het <Data> element onveranderd worden overgenomen uit de ritadministratie op de boordcomputer. Het berekenen van de ‘Elektronische handtekening boordcomputer’ van het <Data> element van een <Rit> wordt gedaan bij het beëindigen van de rit. De vastgelegde ‘Elektronische handtekening boordcomputer’ wordt per <Rit> onveranderd overgenomen in het onderliggende <Integriteit> element.

De naamgeving van de gegevenslevering ‘Ritadministratie’ is als volgt:

Hierbij worden de cursief gedrukte gegevens gevuld met de corresponderende registratiewaarde. De volgende formaten worden hierbij gebruikt:

Bij 100 ritten is het bericht ‘ritadministratie’ maximaal 100 Kbyte groot.

Voor het bericht ‘Arbeids-, rij- en rusttijden’ worden de volgende gegevens en functionele en technische berichtstructuur onderkend:

Voor de legenda van het bovenstaande overzicht wordt verwezen naar artikel 10.

Toelichting:

De onderstaande Arbeidstijden.xsd wordt gebruikt.

De geselecteerde arbeidstijden moeten gegroepeerd per vervoerder, en daarbinnen per ondernemerskaart, en daarbinnen per bestuurder in oplopende volgorde van volgnummer worden opgenomen. Binnen een arbeidstijd moeten de rijtijd, pauze en andere werkzaamheden elk in oplopende volgorde van volgnummer worden opgenomen.

Alle arbeidstijden worden ondertekend met een elektronische handtekening. Voor het plaatsen van de elektronische handtekening wordt gebruik gemaakt van de private sleutel van de chauffeurskaart indien deze aanwezig is, en van de private sleutel van de systeemkaart indien de chauffeurskaart niet aanwezig is.

De ‘Arbeids-, rij- en rusttijden’ bevat een element <Arbeidstijd> en <Arbeidstijd> bevat de elementen <Data> en <Integriteit>. Het <Data> element bevat de volgende arbeidstijd gegevens:

Het <Integriteit> element bevat de elektronische handtekening chauffeur of elektronische handtekening boordcomputer van het bijbehorende <Data> element.

Bij het samenstellen van bericht ‘Arbeids-, rij- en rusttijden’ moeten de gegevens van het <Data> element onveranderd worden overgenomen uit de boordcomputer. Het berekenen van de ‘Elektronische handtekening chauffeur’ of ‘Elektronische handtekening boordcomputer’ van het <Data> element moet gebeuren bij het beëindigen van een arbeidstijd. De vastgelegde ‘Elektronische handtekening chauffeur’ of ‘Elektronische handtekening boordcomputer’ moeten per arbeidstijd onveranderd worden overgenomen in het onderliggende <Integriteit> element.

De naamgeving van de gegevenslevering ‘Arbeidstijd’ is als volgt:

Hierbij worden de cursief gedrukte gegevens gevuld met de corresponderende registratiewaarde. De volgende formaten worden hierbij gebruikt:

Bij 100 arbeidstijden is het bericht ‘arbeidstijd’ maximaal 120 Kbyte groot.

Voor het bericht ‘Coördinaten’ worden de volgende gegevens en functionele en technische berichtstructuur onderkend:

Voor de legenda van het bovenstaande overzicht wordt verwezen naar artikel 10.

Toelichting:

De onderstaande Coordinaten.xsd wordt gebruikt.

De geselecteerde coördinaten moeten gegroepeerd per kenteken, en daarbinnen per vervoerder, en daarbinnen per ondernemerskaart, in oplopende volgorde van volgnummer, in het bericht worden opgenomen.

Het bericht ‘Coördinaten’ wordt ondertekend met een elektronische handtekening van de boordcomputer. De afzonderlijke coördinaten worden niet ondertekend.

De naamgeving van de gegevenslevering ‘Coördinaten’ is als volgt:

Hierbij worden de cursief gedrukte gegevens gevuld met de corresponderende registratiewaarde. De volgende formaten worden hierbij gebruikt:

Een bericht ‘Coördinaten’ bevat maximum 1.440 coördinaten per dag, wanneer de auto continu rijdt en 1 coördinaat per minuut wordt vastgelegd. Voor de periode van een dag geeft dat een bericht van maximaal 236 Kbyte. Per jaar is het bericht ‘Coördinaten’ maximaal 84 Mbyte groot.

Voor het bericht ‘Gebeurtenis’ worden de volgende gegevens en functionele en technische berichtstructuur onderkend:

Voor de legenda van het bovenstaande overzicht wordt verwezen naar artikel 10.

Toelichting:

De onderstaande Gebeurtenis.xsd wordt gebruikt.

De geselecteerde gebeurtenissen moeten gegroepeerd per vervoerder, en daarbinnen per ondernemerskaart, in oplopende volgorde van volgnummer, in het bericht worden opgenomen.

Alle gebeurtenissen worden ondertekend op basis van de private sleutel van de boordcomputer.

Het bericht Gebeurtenis bevat een element <Gebeurtenis> en het element <Gebeurtenis> bevat de elementen <Data> en <Integriteit>. Het <Data> element bevat de volgende gegevens:

Het <Integriteit> element bevat de elektronische handtekening boordcomputer van het bijbehorende <Data> element.

Bij het samenstellen van het bericht ‘Gebeurtenis’ moeten de gegevens van het <Data> element onveranderd worden overgenomen uit de administratie op de boordcomputer. Het berekenen van de ‘Elektronische handtekening boordcomputer’ van het Data element van een Rit moet gebeuren bij het optreden van de gebeurtenis. De vastgelegde ‘Elektronische handtekening boordcomputer’ moet per gebeurtenis onveranderd worden overgenomen in het onderliggende <Integriteit> element.

In de onderstaande tabel staat de in het bericht op te nemen code per gebeurtenis vermeld.

Een fabrikant is vrij om voor eigen doeleinden codes aan de bovenstaande reeks toe te voegen. Elke code moet bestaan uit een hoofdletter gevolgd door drie cijfers.

De naamgeving van de gegevenslevering ‘Gebeurtenis’ is als volgt:

Hierbij worden de cursief gedrukte gegevens gevuld met de corresponderende registratiewaarde. De volgende formaten worden hierbij gebruikt:

Bij 100 gebeurtenissen is het bericht ‘Gebeurtenis’ maximaal 100 Kbyte groot.

Voor het bericht ‘Onderzoek’ worden de volgende gegevens en functionele en technische berichtstructuur onderkend:

Voor de legenda van het bovenstaande overzicht wordt verwezen naar artikel 10.

Toelichting:

De onderstaande Onderzoek.xsd dient te worden gebruikt.

Als eerste wordt het geselecteerde activeringsonderzoek in het bericht opgenomen. Daarna worden de geselecteerde periodieke onderzoeken in oplopende volgorde van volgnummer in het bericht opgenomen.

Het activeringsonderzoek en de periodieke onderzoeken worden ondertekend op basis van de private sleutel van de boordcomputer.

Het bericht ‘Onderzoek’ bevat het element <ActiveringsOnderzoek> en nul of meer <PeriodiekOnderzoek> elementen. Elke instantie van een van beide elementen bevat de elementen <Data> en <Integriteit>. Het <Data> element bevat elk van deze gevallen dezelfde gegevens:

Het <Integriteit> element bevat de elektronische handtekening van het bijbehorende <Data> element.

Bij het samenstellen van het bericht ‘Onderzoek’ moeten de gegevens van het <Data> element onveranderd worden overgenomen uit de registratie op de boordcomputer. Het berekenen van de elektronische handtekening van het <Data> element van een ‘Onderzoek’ wordt gedaan bij het afronden van een onderzoek. De vastgelegde elektronische handtekening wordt per onderzoek overgenomen in het onderliggende <Integriteit> element.

De naamgeving van de gegevenslevering ‘Onderzoek’ is als volgt:

Hierbij worden de cursief gedrukte gegevens gevuld met de corresponderende registratiewaarde. De volgende formaten worden hierbij gebruikt:

Bij 10 onderzoeken is het bericht ‘onderzoek’ maximaal 10 Kbyte groot.

Voor het bericht ‘Chauffeurskaartdata’ worden de volgende gegevens en functionele en technische berichtstructuur onderkend:

Voor de legenda van het bovenstaande overzicht wordt verwezen naar artikel 10.

Toelichting:

De onderstaande Chauffeurskaartdata.xsd wordt gebruikt.

De chauffeurskaartdata wordt overgenomen zoals deze wordt aangetroffen op de chauffeurskaart.

Chauffeurskaartdata wordt ondertekend met een elektronische handtekening. Voor het plaatsen van de elektronische handtekening wordt gebruik gemaakt van de private sleutel behorende bij het handtekeningcertificaat van de chauffeurskaart.

Het bericht ‘Chauffeurskaartdata’ bevat een element <ChKrtData> en <ChKrtData> bevat de elementen <Data> en <Integriteit>. Het <Data> element bevat de base64 representaties van de binaire inhoud van de chip-bestanden ‘EF.Driver_Activity_Data’ en ‘EF.BCT_Certificates’, zoals overgenomen uit de chauffeurskaart, in de volgende respectievelijke elementen:

Het <Integriteit> element bevat de elektronische handtekening chauffeur van het bijbehorende <Data> element.

Bij het samenstellen van bericht ‘Chauffeurskaartdata’ moeten de gegevens van het <Data> element zoals hierboven gespecificeerd worden overgenomen uit de chauffeurskaart. Het berekenen van de ‘Elektronische handtekening chauffeur’ moet gebeuren zodra deze data van de chauffeurskaart is overgenomen. De vastgelegde ‘Elektronische handtekening chauffeur’ moet onveranderd worden overgenomen in het onderliggende <Integriteit> element.

De naamgeving van de gegevenslevering ‘Chauffeurskaartdata’ is als volgt:

Hierbij worden de cursief gedrukte gegevens gevuld met de corresponderende registratiewaarde. De volgende formaten worden hierbij gebruikt:

Het bericht ‘Chauffeurskaartdata’ is maximaal 200 Kbyte groot.

De toelichting bij elk van de functioneel/technische specificaties van een gegevenslevering uit artikelen 3 t/m 8 bestaat uit de navolgende legenda:

De berichtstructuren uit artikelen 3 t/m 8 maken allen gebruik van een algemene XSD: bcttypes.xsd. Dit is een XML schema definitie zonder default namespace en zonder targetNamespace. Daardoor neemt het de default namespace en targetNamespace van elke XML schema definitie die bcttypes.xsd ’include’ aan. Dit effect heet: ‘chameleon include’.

De inhoud van bcttypes.xsd is als volgt:

In deze bijlage wordt verstaan onder:

Een overzicht van de complete interface is te zien in Figuur 1 hieronder.

Figuur 1 – Overzicht van de interfaces

Hierin zijn twee niveaus te onderscheiden:

Het bericht VR_STATUS wordt gebruikt om de status van de taxameter op te vragen. Voor de situatie waarin de taxameter ingesteld is om niet te functioneren indien de interface niet functioneert is er een extra veld beschikbaar. Dit veld is om aan de taxameter duidelijk te maken of de interface softwarematig inactief dan wel operationeel is. Zo kan er gecontroleerd worden of de fysieke interface in beide richtingen correct functioneert zonder dat de taxameter deze controle hoeft te interpreteren als goed werkende verbinding.

Totale berichtgrootte: 8 bytes

Toelichting: dit is ten behoeve van de functionaliteit van het automatisch uitschakelen van de taxameter. De taxameter dient uit te vallen indien er 15 seconden geen statusbericht is ontvangen met ‘Status interface’ = ‘interface operationeel’.

Het antwoord op het bericht VR_STATUS. Hierin geeft de taxameter de functiestand aan en de identificatie van het huidige tarief. Dit TARIEF_ID dient overeen te komen met de tariefgroepen die met bericht VR_TARIEFINFO kunnen worden opgevraagd. De informatie in dit bericht kan door de boordcomputer gebruikt worden om een overgang van de functiestand te detecteren.

Totale berichtgrootte: 15 bytes

Dit bericht is voor het opvragen van tariefinformatie. Totale berichtgrootte: 7 bytes

Het bericht A_TARIEFINFO is het antwoord op het bericht VR_TARIEFINFO. Hierin is per tarief een identificatienummer, een omschrijving, een tarief per eenheid en een omschrijving van de eenheid aangegeven. Deze gegevens worden per tarief verstrekt.

Ook BTW kan gezien worden als een tarief.

Totale berichtgrootte: variabel, 14 bytes + (5 + tekstlengte) * TARIEF_AANTAL

Indien het tarief een percentage betreft dient bij de berekening het tarief per eenheid door 100 gedeeld te worden.

Dit bericht is bedoeld om het ritbedrag op te vragen, bijvoorbeeld nadat er een functiestand overgang van de taxameter is gedetecteerd. Totale berichtgrootte: 7 bytes

Het bericht A_RITBEDRAG is het antwoord op het bericht VR_RITBEDRAG. Hierin staat de functiestand en het ritbedrag vermeld. De functiestand is hier nogmaals opgenomen zodat er zekerheid is dat op het moment van opvragen de functiestand en het ritbedrag op het zelfde moment zijn uitgelezen.

Totale berichtgrootte: variabel, minimaal 29 bytes, maximaal 65535 bytes

Een korting wordt als negatief TOESLAG_BEDR weergegeven.

Dit bericht is voor het opvragen van de totalisatordata. Totale berichtgrootte: 7 bytes

Het bericht A_TOTALEN is het antwoord op het bericht VR_TOTALEN. Het bericht bevat de totalisatordata.

Totale berichtgrootte: 33 bytes

Dit bericht is voor het opvragen van de constante van de afstandssignaalgenerator, de beveiligingsdatum en de identificatie van de taxi. Totale berichtgrootte: 7 bytes

Het bericht A_TAXAMETER_INFO is het antwoord op het bericht VR_TAXAMETER_INFO. Het bericht bevat de constante van de afstandssignaalgenerator, de beveiligingsdatum en de identificatie van de taxi. Dit bericht is bedoeld om de taxameter te identificeren.

Totale berichtgrootte: variabel, minimaal 22 bytes, maximaal 278 bytes

Het bericht F_BERICHT_ONBEKEND is een foutmelding die gestuurd wordt bij het ontvangen van een vraagbericht met een onbekend berichttype. Totale berichtgrootte: 7 bytes.

Het bericht F_CRC_INCORRECT is een foutmelding die gestuurd wordt bij het ontvangen van een vraagbericht met een onjuiste CRC. Totale berichtgrootte: 7 bytes.

Het bericht F_LENGTE_INCORRECT is een foutmelding die gestuurd wordt bij het ontvangen van een vraagbericht met een onjuiste minimale of maximale berichtlengte. Totale berichtgrootte: 7 bytes.

Het bericht F_GEEN_STX is een foutmelding die gestuurd wordt bij het ontvangen tweemaal een ETX teken zonder het tussentijds ontvangen van een STX teken. Totale berichtgrootte: 7 bytes

Het bericht F_GEEN_ETX is een foutmelding die gestuurd wordt bij het ontvangen tweemaal een STX teken zonder het tussentijds ontvangen van een ETX teken. Totale berichtgrootte: 7 bytes

Het bericht F_NIET_STANDAARD is een foutmelding die gestuurd wordt indien er een fout optreedt die niet gedefinieerd is in een van de overige foutberichten. Er wordt een omschrijving van de fout meegestuurd.

Totale berichtgrootte: variabel, minimaal 8 bytes, maximaal 264 bytes

Het bericht F_VELD_ONGELDIG is een foutmelding die gestuurd wordt indien er een ongeldig veld gedetecteerd is in het vraagbericht. Bijvoorbeeld voor een ongeldige waarde in het veld ‘Status interface’ van het bericht VR_STATUS. Totale berichtgrootte: 7 bytes

Prioriteit 1 is de hoogste, 3 de laagste.

OPENBAAR

Versie 1.7

Datum 25 april 2012

Status DEFINITIEF

Met de inwerkingtreding van de ‘Ministeriele Regeling specificaties en typegoedkeuring boordcomputer taxi’ zijn de specificaties van de ‘Boordcomputer Taxi’ (BCT) van kracht geworden. Met deze regelgeving wordt elke taxi in Nederland voorzien van een boordcomputer, die zowel de arbeids-, rij- en rusttijden van de taxichauffeur als de rittenstaat behorend bij de taxi vastlegt.

Om de authenticiteit en integriteit van de vastgelegde data te waarborgen, voorziet de boordcomputer deze data van elektronische handtekeningen. Daartoe wordt een zogeheten ‘Public Key Infrastructure’ worden opgezet. De boordcomputer wordt voorzien van een certificaat en een sleutelpaar (publieke- en private sleutels), zodat hij in staat is data elektronisch te ondertekenen en de authenticiteit van aangeboden gebruikerskaarten vast te stellen. Het certificaat en het sleutelpaar van de boordcomputer worden hiertoe opgeslagen op een chipkaart, de zogeheten systeemkaart, die in een speciaal kaartslot van de boordcomputer wordt geplaatst.

Alle gebruikers van de boordcomputer worden voorzien van gebruikerskaarten, de zogeheten boordcomputerkaarten. Deze kaarten bevatten evenals de systeemkaart certificaten en sleutelparen. Toegang tot de boordcomputer is alleen mogelijk na authenticatie van een boordcomputerkaart door (de logica van) de boordcomputer.

Binnen de groep gebruikers van de boordcomputer zijn vier rollen te onderscheiden, namelijk die van bestuurder, vervoerder, werkplaats en toezichthouder. Elk van deze rollen is gebonden aan een apart type boordcomputerkaart. Elke rol heeft zijn eigen autorisatieniveau, bijvoorbeeld waar het gaat om toegang tot de op de boordcomputer vastgelegde data.

Binnen BCT zijn dus vijf verschillende chipkaarten te onderscheiden:

Dit document bevat technische specificaties en richtlijnen voor het gebruik van de hierboven genoemde chipkaarten. Dit document is primair bedoeld voor fabrikanten van boordcomputers. De hoofdstukken 2 en 5 t/m 8, alsmede bijlage A, zijn echter ook interessant voor ontwikkelaars van toepassingen bedoeld om chauffeurskaarten uit te lezen.

De boordcomputer- en systeemkaarten zijn uitgevoerd als ISO/IEC 7816-15 kaarten. De algemene opbouw van ISO/IEC 7816-15 kaarten staat beschreven in Referentie [3]. De opbouw per kaart wordt in de specificatie documenten van de afzonderlijke kaarten beschreven (Referenties [8] t/m [12]).

De op de boordcomputer- en systeemkaarten gebruikte certificaten zijn X.509 certificaten uitgegeven conform PKIoverheid. Er worden verschillende X.509 certificaten gebruikt, zoals voor authenticatie, handtekening en vertrouwelijkheid. Zie verder Referentie [13] in hoofdstuk 10.

Asymmetrische sleutels worden gebruikt voor authenticatie, vertrouwelijkheid en handtekening. De publieke sleutels zijn opgeslagen in de X.509 certificaten (zie § 2.2) en de private sleutels intern in de kaarten.

De asymmetrische sleutels die in de kaarten gebruikt worden zijn RSA sleutels met een lengte van 2048 bits.

De eigenschappen van de PIN en PUK (PIN Unblock Key) per kaart worden in de specificatie documenten van de afzonderlijke kaarten beschreven (Referenties [8] t/m [12] in hoofdstuk 10).

De PIN wordt algemeen gebruikt voor de authenticatie van de kaarthouder en bij persoonsgebonden boordcomputerkaarten voor het zetten van elektronische handtekeningen. De PUK kan gebruikt worden om de PIN te deblokkeren.

Op alle kaarten zijn gegevens zoals voorgeschreven in ISO/IEC 7816-15 opgeslagen. Er zijn echter twee typen kaarten waarop ook andere gegevens toegevoegd kunnen worden: de systeemkaart en de chauffeurskaart.

Op de systeemkaart kan eenmalig het serienummer van de boordcomputer opgeslagen worden. Dit staat beschreven in hoofdstuk 3. Verder worden er (tijdens de gebruiksfase) op de systeemkaart geen gegevens opgeslagen.

Op de chauffeurskaart worden de arbeids-, rij- en rusttijden van de chauffeur, alsmede de systeemkaartcertificaten van de laatst gebruikte boordcomputers opgeslagen. Dit wordt beschreven in hoofdstuk 5.

Voor de boordcomputer is het niet vastgelegd hoe de gegevens opgeslagen moeten worden. Wel is vastgelegd welke gegevens er opgeslagen moeten worden en hoe en in welk formaat ze beschikbaar moeten zijn voor gegevenslevering.

Vanwege beperkingen voor wat betreft het formaat en de mogelijkheden voor controle en uitlezen van de gegevens, is voor de chauffeurskaart wel exact vastgelegd hoe de gegevens opgeslagen moeten worden. Dit staat beschreven in hoofdstuk 5.

Specifieke toegangscondities worden gegeven in de specificatiedocumenten van de afzonderlijke boordcomputerkaarten.

Algemeen geldt voor de toegangscondities:

De systeemkaart moet initieel aan de boordcomputer gekoppeld worden om de boordcomputer te laten functioneren. Onderstaande paragrafen geven een nadere specificatie van boordcomputerproductie, respectievelijk systeemkaartvervanging.

Een boordcomputer wordt gevormd door de combinatie van een boordcomputerunit en een systeemkaart. De boordcomputerunit wordt hierbij beschouwd als de gebruiker/houder van de systeemkaart. Net zoals een boordcomputerkaart uitsluitend door zijn rechtmatige houder mag worden gebruikt (voor het plaatsen van elektronische handtekeningen), mag ook een systeemkaart uitsluitend door zijn rechtmatige “houder” worden gebruikt. Om dit rechtmatige gebruik te waarborgen wordt elke systeemkaart voorzien van een geheime sleutel die in de boordcomputerunit dient te worden voorgeprogrammeerd.

Het communicatiekanaal (voor het plaatsen van elektronische handtekeningen) tussen een boordcomputerunit en zijn gekoppelde systeemkaart moet beveiligd zijn om de integriteit, authenticiteit en vertrouwelijkheid van de uitgewisselde gegevens te beschermen. Omdat de koppeling tussen een boordcomputerunit en “zijn” systeemkaart een-op-een is, is er voor het opzetten van een veilig communicatiekanaal geen noodzaak voor asymmetrische cryptografie, maar kan met symmetrische cryptografie worden volstaan. De symmetrische sleutel(set) die voor deze communicatiebeveiliging wordt gebruikt is per boordcomputer uniek; elke systeemkaart wordt voorzien van een symmetrische communicatiesleutel(set) die in de bijbehorende boordcomputerunit dient te worden voorgeprogrammeerd.

Er bestaan vijf soorten combinaties van boordcomputerunits en systeemkaarten:

Combinatie 1 is van toepassing in de fabriek waar de boordcomputerunit wordt geproduceerd. Combinatie 2 wordt gemaakt bij de boordcomputerfabrikant voorafgaand aan de distributie van de resulterende boordcomputer. Combinaties 1 en 2 vallen daarmee onder de noemer “boordcomputerproductie”.

Combinaties 3, 4 en 5 betreffen het “in het veld” (buiten de fabriek) op een boordcomputer vervangen van de huidige gekoppelde systeemkaart door een andere systeemkaart. Deze combinaties vallen onder de noemer “systeemkaartvervanging”.

Onderstaande subparagrafen geven een nadere specificatie van boordcomputerproductie, respectievelijk systeemkaartvervanging.

Elke boordcomputerfabrikant die een typegoedkeuring heeft verkregen kan, per typegoedkeuringsnummer, bij de Kaartuitgever een verzoek voor een transportkey indienen. De Kaartuitgever zal, na verificatie van het typegoedkeuringsnummer, via de Personalisator een transportkey voor het typegoedkeuringsnummer genereren. Deze transportkey zal op een pinmailer aan de fabrikant worden verzonden.

Wanneer de fabrikant boordcomputers van het desbetreffende type wil gaan produceren, zal de fabrikant op basis van het typegoedkeuringsnummer een of meer batches van systeemkaarten bestellen bij de Kaartuitgever. De Kaartuitgever / Personalisator gebruikt de eerder vastgelegde transportkey (zie voorgaande alinea) om de te produceren systeemkaarten mee te beschermen. De door de fabrikant geproduceerde boordcomputerunits dienen door de fabrikant te worden voorgeprogrammeerd met diezelfde transportkey.

Met het bovenstaande scenario kan elke nieuw geproduceerde boordcomputerunit (van een specifiek type) communiceren met elke gepersonaliseerde eerste systeemkaart (voor datzelfde boordcomputertype).

Nadat de operator bij de fabrikant een boordcomputerunit van een nieuwe systeemkaart (uit de bij de fabrikant aanwezige voorraad) heeft voorzien, dient die operator de “koppelfunctie” van de boordcomputerunit te gebruiken. Die koppelfunctie dient de typespecifieke transportkey te vervangen met een door de boordcomputerunit gegenereerde “true random” waarde. Deze sleutelvervanging dient uiteraard zowel in de boordcomputerunit als in de systeemkaart te gebeuren. Hierna kan de betreffende boordcomputerunit uitsluitend nog met de betreffende systeemkaart werken.

De onderstaande tabel geeft een overzicht van de toegangscondities en de inhoud van de verschillende security objecten van systeemkaart en boordcomputerunit zowel voor als na het koppelproces.

Tabel 1. Toegangscondities/inhoud van objecten bij eerste systeemkaarten

NB. De constructie en/of logica van de boordcomputer dient het object BCT.SECRET op adequate wijze te beschermen tegen ontvreemding (dit geheim mag uitsluitend toegankelijk zijn voor de boordcomputerlogica en uitsluitend voor de in dit document beschreven doelen worden toegepast.

De Personalisator levert een systeemkaart op met de volgende waarden:

Omdat de waarde “transportkey1” geheimgehouden is, is een gepersonaliseerde niet-gekoppelde kaart tijdens distributie onbruikbaar voor:

Omdat de waarde “transportkey1” wel bij de fabrikant bekend is, is die waarde voorgeprogrammeerd in het “Secret” object van elke nieuw geproduceerde boordcomputerunit. Hiermee kan een boordcomputerunit het koppelproces doorlopen:

NB. Het initiëren van het koppelproces kan, naar keuze van de fabrikant, een (beschermde) menugestuurde optie zijn of automatisch gebeuren als gevolg van het herkennen van een nog niet gekoppelde systeemkaart in het systeemkaartslot.

De systeemkaart is nu een-op-een gekoppeld aan de boordcomputerunit die met zijn kennis van “uniquekey1” een MAC_ENC SM kanaal kan opzetten en daarmee het volgende kan doen:

Ondersteuning van de laatstgenoemde mogelijkheid is niet voorgeschreven, maar kan als extra veiligheidsmaatregel periodiek worden gedaan.

Dit beveiligingsconcept voorziet, teneinde reguliere certificaatvervanging te ondersteunen, in de mogelijkheid om de systeemkaart van een boordcomputer te vervangen door een andere.

Om dit “in het veld” door een werkplaats te kunnen laten doen is het concept voor vervanging dusdanig dat er geen kennis van enig geheim vereist is bij degene die de vervanging uitvoert. Hiertoe is met de Personalisator afgesproken:

Uiteraard zal het NextKey dataobject van de vervangende systeemkaart ook weer worden gevuld met een nieuwe unieke waarde (“transportkey3”), zodat een volgende vervanging ook weer kan worden uitgevoerd.

Zoals in de vorige paragraaf is uitgelegd, worden nieuw geproduceerde boordcomputerunits in de fabriek voorgeprogrammeerd met de (typespecifieke) “transportkey1”. In die veilige omgeving kan elke willekeurige nieuwe boordcomputerunit (van een bepaald type) dan ook gekoppeld worden aan elke willekeurige gepersonaliseerde “eerste systeemkaart” (voor datzelfde boordcomputertype).

Bij het vervangen van een systeemkaart wordt de oude systeemkaart gebruikt om de boordcomputerunit te voorzien van de transportkey die nodig is voor de koppeling aan de vervangende systeemkaart. Hierbij blijft die transportkey onzichtbaar voor degene die de vervanging uitvoert. Omdat bovendien geldt dat de transportkey van elke vervangende systeemkaart uniek is voor die kaart, is bovendien gewaarborgd dat een vervangende systeemkaart uitsluitend in één (1) specifieke boordcomputer zal kunnen werken.

NB. Bij het bestellen van een vervangende systeemkaart wordt aan de Personalisator aangeduid om welke “voorloper” het gaat. Hiervoor wordt het systeemkaartnummer gebruikt dat als volgt is opgebouwd: “S” + boordcomputernummer (hetzelfde als dat van de voorloper) + kaartvolgnummer (1 hoger dan dat van de voorloper).

De onderstaande tabel geeft een overzicht van de toegangscondities en de inhoud van de verschillende security objecten van systeemkaart 1 en 2 en van de boordcomputerunit zowel voor als na het koppelproces.

Het koppelen van de boordcomputerunit aan de vervangende systeemkaart volgt dezelfde stappen als bij het koppelen aan de eerste (of voorgaande) systeemkaart zoals beschreven in § 3.1.1. Het verschil zit hem in de volgende voorbereidende stappen:

13.

NB. Stap 1 kan, naar keuze van de fabrikant, geïnitieerd worden door een (beschermde) menugestuurde optie of automatisch starten wanneer het systeemkaartslot geopend wordt (maar voorafgaand aan het verbreken van de elektrische verbinding tussen boordcomputereenheid en systeemkaart). Hierbij geniet de laatste methode de voorkeur omdat dit een effectieve bescherming tegen misbruik van de systeemkaart biedt.

Overeenkomstig het gestelde in Referentie [14] hoeft de gegevensoverdracht tussen boordcomputer en boordcomputerkaart niet te worden beveiligd. Volgens diezelfde referenties dient de gegevensoverdracht tussen boordcomputerlogica en systeemkaart wel beveiligd te zijn.

Deze beveiligde gegevensoverdracht wordt bereikt door het versleutelen van de gegevens en het toevoegen van een cryptografische controlesom (MAC) aan de binnen het commando of het antwoord gezonden gegevensobjecten (MAC-ENC mode).

De MAC van binnen een commando gezonden gegevens moet de commando-kop en alle gezonden gegevensobjecten integreren (=> CLA = '0C', en alle gegevensobjecten moeten worden ingekapseld met tags waarin b1 = 1).

De MAC moet door de ontvanger geverifieerd worden.

De bytes van de statusinformatie van het antwoord moeten altijd door een MAC worden beveiligd, met uitzondering van de gevallen beschreven in paragraaf 4.2.

In de onderstaande figuren zijn schematisch een beveiligd commando en een beveiligd antwoord weergegeven. Voor een verdere beschrijving hiervan wordt verwezen naar Referentie [7], section 7.1.9 en section 7.1.10.

Figuur 1: Beveiligd commandoFiguur 2: Beveiligd antwoord

Wanneer de systeemkaart tijdens het verwerken van een commando een Secure Messaging-fout ontdekt, dan moeten de statuswoorden zonder Secure Messaging teruggezonden worden. Overeenkomstig ISO/IEC 7816-4 moeten de onderstaande statuswoorden gebruikt worden om Secure Messaging-fouten aan te geven:

'69 82' Veiligheids toestand voldoet niet,

'69 85' Sessiesleutels zijn niet beschikbaar,

'69 87' Verwachte Secure Messaging-gegevensobjecten ontbreken,

'69 88' Secure Messaging-gegevensobjecten onjuist.

Wanneer de systeemkaart statuswoorden zonder Secure Messaging gegevensobjecten of met een foutieve Secure Messaging gegevensobjecten terugzendt, moet de sessie door de boordcomputerlogica afgebroken worden.

In het geval van een Secure Messaging-fout vervallen de sessiesleutels en SSC.

Voor beveiligde gegevensoverdracht tussen de boordcomputerlogica en de systeemkaart worden twee 16 bytes lange sessiesleutels gebruikt. De methode om deze sessiesleutels SKENC en SKMAC te genereren wordt beschreven in Referentie [7], section 7.1.4.

Tijdens de authenticatie procedure wordt er door zowel de systeemkaart als door de boordcomputerlogica een 8 bytes random gegenereerd, RND.BCT resp. RND.ICC.

De vier minst significante bytes (LSB) van beiden worden gebruikt om de initiële waarde voor de SSC te bepalen: SSC = RND.ICC (4 LSB) || RND.BCT (4 LSB).

De SSC wordt iedere keer voordat een MAC berekend wordt met 1 verhoogd, dus voor de eerste MAC-berekening wordt de waarde SSC + 1 gebruikt.

Het algoritme dat gebruikt wordt voor het berekenen van cryptogrammen wordt beschreven in Referentie [7], section 7.1.9 en section 7.1.10.

Het algoritme dat gebruikt wordt voor het berekenen van cryptografische controlesommen (MACs) wordt beschreven in Referentie [7], section 7.1.12.

De MAC is 8 bytes lang.

Iedere keer voordat er een MAC berekend wordt, wordt de zendsequentieteller (SSC) met 1 verhoogd.

Het authenticatiescenario tussen systeemkaart en boordcomputer wordt uitgevoerd zoals beschreven is in Referentie [7], section 5.2.2.

Hierbij moet gelet worden op de volgende punten:

Na een succesvolle uitvoering van de Mutual Authenticate kunnen de sessiesleutels en de SSC berekend worden, zoals beschreven is in Referentie [7], section 7.1.4 en 7.1.5.

Er is dan een secure messaging kanaal tussen de systeemkaart en de boordcomputer (MAC-ENC mode) en alle volgende commando’s en antwoorden moeten beveiligde gegevensoverdracht gebruiken.

Op de chauffeurskaart worden de arbeids- rij- en rusttijden van een chauffeur opgeslagen in de bestandsstructuur EF.Driver_Activity_Data. De grootte van die bestandsstructuur wordt door de Personalisator op elke chauffeurskaart gemaximeerd (zie ook § 7.1, § 9.5 en Referentie [9] in hoofdstuk 10).

EF.Driver_Activity_Data is opgebouwd uit de volgende elementen:

Een DailyRecord bevat alle gegevens van de activiteiten van de chauffeur op een bepaalde dag. Na personaliseren bestaat er nog geen enkel DailyRecord.

Een DailyRecord bestaat uit de volgende elementen:

Een SessionRecord bevat de gegevens van de activiteiten van de chauffeur voor een kaartsessie. Indien er meerdere kaartsessies op een dag zijn, zijn er voor die dag ook meerdere SessionRecords. Na personaliseren bestaat er nog geen enkel SessionRecord.

De lengte van een SessionRecord kop (zonder de ActivityRecords) is 299 bytes.

Een SessionRecord bestaat uit de volgende elementen:

Er wordt een aantal types ActivityRecords onderscheiden aan de hand van de activiteit.

Een ActivityRecord heeft een kop van 24 bits (3 bytes) groot die de volgende elementen bevat:

Noot 1: Bij de activiteit “Start werk” wordt een Rijtijdveld aan de kop toegevoegd. Dit werkt als volgt:

Noot 2: Bij zowel de activiteit “Start werk” als “Start pauze” wordt een Tijdsduurveld aan de kop toegevoegd. Dit werkt als volgt:

Noot 3: Bij iedere toevoeging van een ActivityRecord bestaat de mogelijkheid dat er een nieuw DailyRecord en/of nieuw SessionRecord aangemaakt moet worden. Zie hiervoor ook § 7.5 en § 0.

De gegevens worden per dag vastgelegd en moeten minimaal 31 kalenderdagen beschikbaar blijven op de kaart. Voor iedere dag dat er gegevens op de chauffeurskaart vastgelegd moeten worden, wordt er een DailyRecord aangemaakt.

Naast de arbeids- rij- en rusttijden zelf moet ook vastgelegd worden voor welke ondernemer en in welk voertuig deze tijden gemaakt zijn en welke boordcomputer er gebruikt is. Dit wordt per sessie vastgelegd in het SessionRecord.

In Figuur 7 staat een overzicht van EF.Driver_Activity_Data en hoe de verschillende records hier onder vallen.

Figuur 7: Overzicht EF.Driver_Activity_Data

Activiteiten van de chauffeur worden opgeslagen in ActivityRecords. In Figuur 6 worden de verschillende typen van ActivityRecords genoemd. Het verloop van een sessie staat in hoofdstuk 7 beschreven. Het exacte verloop van het toevoegen van een ActivityRecord staat in § 0.

Elk van de navolgende subparagrafen (5.2.2 t/m 5.2.7) gaat er van uit dat de toe te voegen activiteit niet de eerste activiteit binnen het betreffende SessionRecord is. Indien dat echter wél het geval is, moeten de instructies voor het overschrijven van de PointerLastActivityRecord en de DayRecordLength velden telkens worden vervangen door de volgende:

De “Login” activiteit geeft de werkelijke tijd aan dat de chauffeurskaart in de boordcomputer ingebracht is en de authenticatie plaatsgevonden heeft. Dit is het login-tijdstip. Dit staat beschreven in 7.1.

Bij een “Login” wordt er een nieuw ActivityRecord aangemaakt.

PointerLastSessionRecord geeft het begin van het huidige SessionRecord aan.

In dit SessionRecord wordt

In het huidige DailyRecord wordt

Bij een “Start pauze” wordt er een nieuw ActivityRecord aangemaakt.

PointerLastSessionRecord geeft het begin van het huidige SessionRecord aan.

In dit SessionRecord wordt

In het huidige DailyRecord wordt

Bij een “Start werk” wordt er een nieuw ActivityRecord aangemaakt.

“Start werk” wijkt af van de andere activiteiten. Hierin wordt bijgehouden hoeveel secondes het voertuig gereden heeft gedurende deze activiteit. Zolang de chauffeur nog aan het werk is en het voertuig afwisselend rijdt en stilstaat, wordt iedere keer zodra het voertuig stopt het aantal secondes dat er gereden is bijgewerkt. Er wordt dus niet iedere keer een nieuw ActivityRecord aangemaakt.

PointerLastSessionRecord geeft het begin van het huidige SessionRecord aan.

In dit SessionRecord wordt

In het huidige DailyRecord wordt

Bij een normale afsluiting door de chauffeur, “Afsluiting”, wordt er een nieuw ActivityRecord aangemaakt.

PointerLastSessionRecord geeft het begin van het huidige SessionRecord aan.

In dit SessionRecord wordt

In het huidige DailyRecord wordt

Wanneer er bij een sessie nog activiteiten toegevoegd worden, kan het voorkomen dat de eindtijd aangepast moet worden. Dit wordt gedaan met een “Nieuwe eindtijd” activiteit. Hierbij wordt er een nieuwe ActivityRecord aangemaakt.

PointerLastSessionRecord geeft het begin van het huidige SessionRecord aan.

In dit SessionRecord wordt

In het huidige DailyRecord wordt

Wanneer er een sessie actief is, de laatstgeboekte activiteit een “Start werk” of “Start pauze” is en:

dan moet:

Het toevoegen van het nieuwe DailyRecord met een nieuw SessionRecord en een eerste “Start pauze” of “Start werk” activiteit wordt beschreven in respectievelijk § 8.11, § 8.10, § 5.2.1 en § 5.2.3 / 5.2.4. Hier wordt uitsluitend toevoeging van de “Dagovergang” aan het huidige SessionRecord beschreven.

PointerLastSessionRecord geeft het begin van het huidige SessionRecord aan.

In dit SessionRecord wordt

In het huidige DailyRecord blijft DayRecordLength gelijk, omdat het (inmiddels) vorige ActivityRecord een “Start werk” of “Start pauze” betreft.

NB. Indien de invoeging van de dagovergang en de nieuwe kalenderdag het gevolg is van het toevoegen van een handmatige activiteit, dan kán het zo zijn dat er meer dan één kalenderdag tussen de huidige activiteit en de toe te voegen activiteit bestaat. Indien dat zo blijkt te zijn dan dienen de instructies in deze paragraaf te worden herhaald voor iedere betreffende (kalender)dagovergang.

Bij lees- en schrijfacties (Read Binary en Update Binary) dient met de volgende punten rekening te worden gehouden:

Om de integriteit van gegevens te waarborgen, worden digitale handtekeningen gebruikt. Er worden twee soorten digitale handtekeningen onderscheiden:

In dit document gaat het om de tweede soort, waarbij de handtekeningen op de chauffeurskaart worden opgeslagen. De handtekeningen die op de boordcomputer opgeslagen worden, worden hier verder buiten beschouwing gelaten.

De digitale handtekening wordt berekend over het DriverCardNumber, de DayRecordDate en een deel van het SessionRecord (zie 5.1.2) en wordt opgeslagen in het veld SessionSignature in het betreffende SessionRecord. Daarbij worden de mogelijke vorige SignatureDateTime en handtekening in dit SessionRecord overschreven. Het te ondertekenen DriverCardNumber is een 16-karakter PrintableString zoals die aansluitend op het inloggen van de chauffeur door de boordcomputer uit de eerste 16 bytes van het subject.serialNumber van het authenticiteitcertificaat van de chauffeurskaart is gelezen. De kopie van het DriverCardNumber die is opgeslagen in bytes ‘00 04’H t/m ‘00 13’H van EF.Driver_Activity_Data mag NIET worden gebruikt bij de berekening van de handtekening.

Om het verlies van gegevens zoveel mogelijk te voorkomen wanneer de chauffeurskaart voortijdig uitgenomen wordt, wordt er na iedere toevoeging van een ActivityRecord (zie 5.1.3) een digitale handtekening berekend en opgeslagen.

Bij de berekening van de handtekening wordt van het laatst toegevoegde ActivityRecord alleen de kop van 3 bytes meegenomen. De reden hiervoor is gelegen in de activiteiten “Start werk” en “Start pauze”. De 6 respectievelijk 3 gegevensbytes die bij deze activiteitsoorten horen worden te vaak bijgewerkt (voor het telkens herberekenen van handtekeningen) en de laatste 3 gegevensbytes worden sowieso overschreven door de vervolgactiviteit. De rijtijdteller van een “Start werk” activiteit wordt hiermee pas meegenomen in de handtekening nadat een vervolgactiviteit wordt gestart.

Om een handtekening te kunnen berekenen, moet eerst de SignatureDateTime worden bijgewerkt met de huidige datum en tijd volgens BCT-klok, dan moet een hashcode berekend worden. Deze hashcode wordt dan gebruikt als input voor het berekenen van de handtekening. De gegevens voor het berekenen van de hashcode moeten in de hieronder genoemde volgorde staan:

*) Van het laatste ActivityRecord wordt alleen de kop (3 bytes) meegenomen.

De berekening van de handtekening wordt volledig door de boordcomputer uitgevoerd en gebeurt als volgt:

NB. Telkens bij het berekenen van de SHA-256 hash dient de boordcomputerlogica het eerste en grootste deel van de berekening (de hash over de data vanaf het DriverCardNumber t/m de ActivityRecords) uit te voeren, waarna het laatste deel van de hashberekening (over de PointerLastActivitityRecord t/m de SignatureDateTime) door de systeemkaart dient te worden berekend. Ook de PKCS#1 v1.5 handtekening dient door de systeemkaart te worden berekend.

NB2. Met behulp van het certificaat behorende bij de private sleutel voor authenticiteit van de boordcomputer (het boordcomputercertificaat) kan gecontroleerd worden of de gegevens in een SessionRecord authentiek zijn. Behalve het boordcomputercertificaat en het SessionRecord zelf, zijn voor zo’n validatie het DriverCardNumber en de DayRecordDate benodigd. Die twee gegevens staan elders in EF.Driver_Activity_Data opgeslagen. Welk boordcomputercertificaat voor een bepaalde SessionRecord-validatie moet worden gebruikt, kan worden achterhaald door het SystemCardNumber in de SessionRecord-kop uit te lezen.

NB3. Indien bij het valideren van de SessionRecord-data de betreffende EF.BCT_Certificates aanwezig is en het betreffende boordcomputercertificaat is daarin ook (nog) aanwezig, kan de validatie direct worden uitgevoerd. Indien het betreffende boordcomputercertificaat niet (meer) in EF.BCT_Certificates is opgeslagen of indien EF.BCT_Certificates niet voorhanden is, dan kan het betreffende boordcomputercertificaat via de Kaartuitgever worden verkregen.

De certificaten van de boordcomputer die gebruikt zijn bij het berekenen van de handtekeningen op de chauffeurskaart worden opgeslagen in EF.BCT_Certificates. Hierin is plaats voor de systeemkaartcertificaten van de 3 verschillende boordcomputers waarin de chauffeurskaart het laatst is gebruikt.

Een boordcomputer dient een bestuurder (tijdig) te waarschuwen dat de momenteel op de chauffeurskaart opgeslagen arbeids-, rij- en rusttijden moeten worden geëxporteerd (ook wel “gedownload”). Aan EF.BCT_Certificates is daarom een extra gegevensstructuur toegevoegd die vermeldt wanneer en naar welke boordcomputer welke dailyrecords zijn geëxporteerd.

EF.BCT_Certificates is opgebouwd uit de volgende elementen:

In Figuur 9 wordt een overzicht van EF.BCT_Certificates gegeven met de initiële waardes.

De opbouw van een DownloadLog_X gegevensstructuur is opgenomen in de onderstaande figuur.

Een kaartsessie is de periode tussen het ingeven van de chauffeurskaart en het wegschrijven van de afsluitende gegevens op de chauffeurskaart door de boordcomputer. In Figuur 10 is het overzicht van een kaartsessie weergegeven.

De wijzigingen in de arbeids- rij- en rusttijden worden tijdens een kaartsessie op de chauffeurskaart opgeslagen in ActivityRecords (zie Figuur 6 en paragrafen 5.2 en 0). Hieronder wordt aangegeven welke informatie op welk ogenblik opgeslagen wordt. Voor voorbeelden van kaartsessies wordt verwezen naar Bijlage A.

Figuur 10: Overzicht kaartsessie

Het begin van een kaartsessie gaat als volgt:

Tijdens een kaartsessie zijn er twee activiteiten mogelijk: “Start pauze” en “Start werk”. Voor het toevoegen van deze activiteiten, zie 5.2.1 respectievelijk 5.2.4.

“Start werk” moet regelmatig bijgewerkt worden met het aantal secondes dat er met het voertuig gereden is (zie Noot 1 in § 5.1.3). “Start werk” en “Start pauze” moeten regelmatig bijgewerkt worden met het aantal secondes dat de betreffende activiteit duurt (zie Noot 2 in § 5.1.3).

Bij het beeindigen van een kaartsessie dient de chauffeur de kaartsessie af te sluiten, voordat hij de chauffeur zijn kaart uit de boordcomputer neemt. Zou hij de sessie niet afsluiten wordt deze geblokkeerd.

Bij het afsluiten van een kaartsessie wordt een “Afsluiting” activiteit toegevoegd, zie 5.2.5.

Direct nadat de “Afsluiting” activiteit is toegevoegd en nog voordat de chauffeur zijn kaart uitneemt, dient de boordcomputer:

Het is mogelijk dat de chauffeur zijn kaart uit de boordcomputer haalt zonder dat hij de kaartsessie afgesloten heeft. In dat geval is er dus geen ActivityRecord aangemaakt voor het afsluiten van de kaartsessie. De boordcomputer constateert dat de kaart is uitgenomen zonder dat de sessie is afgesloten en blokkeert deze kaartsessie.

De op de boordcomputer geblokkeerde kaartsessie wordt beëindigd door:

De eerstvolgende keer dat een chauffeurskaart met een niet afgesloten kaartsessie weer in een boordcomputer wordt ingebracht, krijgt de chauffeur een melding dat de kaartsessie niet goed afgesloten was. De uitzondering hierop is het eerste punt hierboven, waarbij de kaartsessie voortgezet wordt.

In alle gevallen wordt na het inloggen de chauffeur de mogelijkheid geboden voor het handmatig toevoegen van activiteiten die hebben plaatsgevonden tussen de laatstgeboekte “Start werk” of “Start pauze” activiteit en het login-tijdstip. Pas nadat dergelijke handmatige boekingen op de kaart zijn bijgeschreven, wordt het Login-tijdstip vastgelegd door het toevoegen van een “Login” ActivityRecord die aangeeft wanneer de kaart weer in de boordcomputer ingebracht is (zie 5.2.1). Direct aansluitend wordt (met hetzelfde tijdstempel) een “Start werk” activiteit toegevoegd.

Het is mogelijk dat een kaartsessie actief is om 12 uur ’s nachts. Ook kan dat het geval blijken te zijn tijdens het handmatig invoegen van activiteiten (de laatst geboekte activiteit blijkt “Start werk” of “Start pauze” te zijn en de toe te voegen activiteit blijkt te moeten starten in de kalenderdag na die van zijn voorganger). Omdat de activiteiten per dag opgeslagen worden, moet de kaartsessie hier gesplitst worden.

Hiervoor wordt

De commando-antwoord paren (zie hoofdstuk 9) vormen het laagste niveau van communicatie met de boordcomputerkaarten.

Met behulp van één of meerdere commando’s kunnen functies benoemd worden die een logische actie vertegenwoordigen, zoals het wijzigen of deblokkeren van een pincode.

Bij deze functies moeten ook de punten uit 5.3 (Algemene opmerkingen bij lezen en schrijven) in acht worden genomen.

Voor het wijzigen van een PIN moet de oude PIN bekend zijn, anders is dit niet mogelijk.

Voor de oude en nieuwe PIN wordt het PIN formaat 2 gebruikt. Dit is 8 bytes lang en is als volgt opgebouwd:

Waarin:

De PIN is dus maximaal 12 cijfers lang.

Het gebruikte commando is Change Reference Data, waarbij de PIN reference de waarde ‘01’H heeft en oude PIN || nieuwe PIN als data meegegeven wordt.

Op de systeemkaart mag deze functie alleen uitgevoerd worden onder beveiligde gegevensoverdracht (zie Hoofdstuk 4).

Voor het wijzigen van een SM key set moet er een Secure Messaging kanaal bestaan en daarmee moet de oude SM key set bekend zijn, anders is dit niet mogelijk.

Het gebruikte commando is Put Data, waarbij de nieuwe (symmetrische) key set als data meegegeven wordt. Het volledige data veld heeft de vorm

‘70 2A BF 8A 03 26 A2 24 90 10’ || Kmac || ‘91 10’ || Kenc

waarbij Kmac en Kenc de 16 bytes sleutels zijn voor de MAC resp. de ENC.

Hierbij wordt de bestaande PIN gedeblokkeerd.

Het gebruikte commando is Reset Retry Counter, waarbij P1 de waarde ‘03’H heeft en P2 (de PIN reference) de waarde ‘01’H heeft.

Voorafgaand aan dit commando moet een succesvol Verify commando uitgevoerd worden met P1 = ‘00’H en P2 = ‘02’H (de PUK reference). Voor de PUK wordt PIN formaat 2 gebruikt (zie onder 8.1).

Hierbij wordt de bestaande PIN gedeblokkeerd en gewijzigd in de Nieuwe PIN.

Het gebruikte commando is Reset Retry Counter, waarbij P1 de waarde ‘02’H heeft en P2 (de PIN reference) de waarde ‘01’H heeft.

Voorafgaand aan dit commando moet een succesvol Verify commando uitgevoerd worden met P1 = ‘00’H en P2 = ‘02’H (de PUK reference). Voor de PUK wordt PIN formaat 2 gebruikt (zie onder 8.1).

Deze functie wordt gebruikt voor het door een natuurlijke persoon zetten van een rechtsgeldige elektronische handtekening met de sleutel-certificaatcombinatie PKI.CH.DS die uitsluitend op chauffeurs- en inspectiekaarten bestaat.

Voor deze functie moet een aantal stappen doorlopen worden:

Zie ook PSO Hash en PSO Compute Digital Signature in Referentie [7].

Voor de vermelde SDO ID wordt verwezen naar de kaartstructuur documenten in Referenties [9] en [12]. Omdat dit SDO een lokaal object is, moet de in de kaartstructuur documenten gespecificeerde keyReference niet letterlijk worden overgenomen, maar met bit8 hoog (dus ‘86’H in plaats van ‘06’H).

Deze functie wordt gebruikt voor het door een boordcomputer zetten van een elektronische handtekening met de sleutel-certificaatcombinatie PKI.CH.AUT van de systeemkaart.

Op de systeemkaart mag deze functie alleen uitgevoerd worden onder beveiligde gegevensoverdracht (zie Hoofdstuk 4), gebruikmakend van de sleutelset SM.ICC.

Voor deze functie moet een aantal stappen doorlopen worden:

Zie ook PSO Hash en PSO Compute Digital Signature in Referentie [7]).

Voor de vermelde SDO ID wordt verwezen naar het kaartstructuur documenten in Referentie [8]. Omdat dit SDO een lokaal object is, moet de in het kaartstructuur document gespecificeerde keyReference niet letterlijk worden overgenomen, maar met bit8 hoog (dus ‘85’H in plaats van ‘05’H).

Noot: Zie ook 5.4 (Digitale handtekening).

Deze functie wordt gebruikt voor het door een boordcomputerkaarthouder zetten van een elektronische handtekening met de sleutel-certificaatcombinatie PKI.CH.AUT die op elke boordcomputerkaart bestaat.

NB. Gebruik van deze functie is niet voorzien binnen de regelgeving van Boordcomputer Taxi, maar voor de volledigheid is deze paragraaf toch opgenomen.

Voor deze functie moet een aantal stappen doorlopen worden:

Zie ook PSO Hash en PSO Compute Digital Signature in Referentie [7].

Voor de vermelde SDO ID wordt verwezen naar de kaartstructuur documenten in Referenties [9] t/m [12]. Omdat dit SDO een lokaal object is, moet de in de kaartstructuur documenten gespecificeerde keyReference niet letterlijk worden overgenomen, maar met bit8 hoog (dus ‘85’H in plaats van ‘05’H).

Om te controleren of een boordcomputerkaart authentiek is, wordt er een Client/Server authenticatie uitgevoerd (zie Referentie [7]). Hierbij wordt een boordcomputer challenge ondertekend met behulp van de sleutel-certificaatcombinatie PKI.CH.AUT van de een boordcomputerkaart. Deze functie is analoog aan SignDataForAuthenticity, maar wordt hier uitsluitend voor authenticatiedoeleinden gebruikt.

Voor deze functie moeten een aantal stappen doorlopen worden:

NB. De boordcomputerkaarten ondersteunen Windows/Kerberos smartcard logon. Ook deze wijze van authenticeren is toegestaan, mits ook hier de geldigheid van het authenticiteitcertificaat middels een padvalidatie wordt gevalideerd.

Voor de vermelde SDO ID wordt verwezen naar de kaartstructuur documenten in Referenties [9] t/m [12]. Omdat dit SDO een lokaal object is, moet de in de kaartstructuur documenten gespecificeerde keyReference niet letterlijk worden overgenomen, maar met bit8 hoog (dus ‘85’H in plaats van ‘05’H).

Deze functie wordt gebruikt om een ActivityRecord toe te voegen in EF.Driver_Activity_Data.

De functie moet gevoed worden met de volgende argumenten met betrekking tot het toe te voegen ActivityRecord:

Deze functie moet, voorafgaand aan het daadwerkelijk toevoegen van het ActivityRecord, aan de hand van meegestuurde argumenten, het laatst in EF.Driver_Activity_Data geboekte ActivityRecord en de status van de boordcomputer bepalen of voor het ActivityRecord al dan niet een nieuw DailyRecord en/of SessionRecord moet worden aangemaakt en op welke geheugenpositie het nieuwe ActivityRecord moet worden toegevoegd. Stapsgewijs is de daarvoor te volgen logica als volgt:

NB1. NewActivityPointer, LastActivityRecordHeader en NewActivityLength maken géén onderdeel van de structuur uit, maar zijn tijdelijke waardes in het geheugen van de boordcomputer.

NB2. Indien het LastActivityRecord een “(Start) werk” of “(Start) pauze” betreft worden met het bovenstaande algoritme de laatste 3 bytes (waarin de tijdsduur van de activiteit tijdelijk werd bijgehouden) overschreven door het nieuw toe te voegen ActivityRecord.

Voeg nu het nieuwe ActivityRecord toe in het in het huidige SessionRecord:

Voer tot slot nog de procedure uit voor het door de boordcomputer ondertekenen van het aangepaste SessionRecord, zoals beschreven in § 5.4.

Deze functie wordt gebruikt om een nieuw leeg SessionRecord aan het huidige DailyRecord toe te voegen. Deze functie wordt altijd aangeroepen vanuit de functie voor het toevoegen van een ActivityRecord (zie 0)

Hiervoor moeten de volgende stappen doorlopen worden:

Noot: Zie 5.3, aangezien de mogelijkheid bestaat dat de te schrijven data niet aan het eind van EF.Driver_Activity_Data past.

Deze functie wordt gebruikt om een nieuw leeg DailyRecord toe te voegen. Dit wordt gedaan voor de eerste registratie van een dag. Dit nieuwe DailyRecord bevat nog geen SessionRecords.

Hiervoor moeten de volgende stappen doorlopen worden:

Noot: Zie 5.3, aangezien de mogelijkheid bestaat dat de te schrijven data niet aan het eind van EF.Driver_Activity_Data past.

Hiervoor moeten de volgende stappen doorlopen worden:

Hiervoor moeten de volgende stappen doorlopen worden:

Hiervoor moeten de volgende stappen doorlopen worden:

Hiervoor moeten de volgende stappen doorlopen worden:

Hiervoor moeten de volgende stappen doorlopen worden:

Hiervoor moeten de volgende stappen doorlopen worden:

In deze functie wordt gecontroleerd of het certificaat behorende bij het systeemkaartnummer al opgeslagen is in EF.BCT_Certificates.

Voor deze functie moeten de volgende stappen doorlopen worden:

Indien het certificaat behorende bij het systeemkaartnummer aanwezig is in EF.BCT_Certificates, wordt deze als meest recente in de Rank gezet.

Voor deze functie moeten de volgende stappen doorlopen worden:

Indien het certificaat behorende bij het systeemkaartnummer aanwezig is in EF.BCT_Certificates, wordt dit als resultaat terug gegeven.

Voor deze functie moeten de volgende stappen doorlopen worden:

Het systeemkaartnummer wordt met het bijbehorende certificaat als meest recente opgeslagen in EF.BCT_Certificates. Hierbij wordt de plaats van het minst recente certificaat overschreven.

Voor deze functie moeten de volgende stappen doorlopen worden:

Voor deze functie moeten de volgende stappen doorlopen worden:

Het in de Input opgegeven DownloadLog wordt als het meest recente opgeslagen in DownloadLogs van EF.BCT_Certificates. Hierbij wordt de plaats van het minst recente DownloadLog overschreven.

Voor deze functie moeten de volgende stappen doorlopen worden:

De communicatie met de boordcomputerkaarten gebeurt door middel van commando-antwoord paren. Het commando wordt naar de boordcomputerkaart toegestuurd en daarop komt een antwoord terug.

Een commando bestaat uit:

Een antwoord bestaat uit:

Dit hoofdstuk geeft enkele tips voor het gebruik van de commando’s voor het selecteren, uitlezen en beschrijven van transparante elementaire files (transparent EF’s). Voor de exacte opbouw van de commando-antwoord paren wordt echter verwezen naar Referentie [7].

De paragrafen hieronder vermelden bepaalde file identifiers en short EF identifiers. Voor een volledig overzicht van de beschikbare short EF identifiers (SFIDs) wordt verwezen naar Referenties [8] t/m [12].

Voordat een EF kan worden uitgelezen of beschreven, dient deze geselecteerd te worden. Voordat een EF geselecteerd kan worden, dient eerst de Dedicated File (DF) waar deze EF onderdeel van uitmaakt te worden geselecteerd. Conform Referenties [8] t/m [12] bevat elke BCT kaart de volgende twee DF’s:

De verwachte respons op elk van de bovenstaande commando’s is SW1-SW2 = ’90 00’H.

Nadat de betreffende DF is geselecteerd, kan elke daarin opgenomen EF op een van de volgende wijzen worden geselecteerd:

Als voorbeeld van efficiënt coderen volgt hier de kleinste commandoreeks waarmee de 4e t/m 7e byte (willekeurig voorbeeld) van EF.BCT_Certificates kunnen worden uitgelezen:

Als voorbeeld van efficiënt coderen volgt hier het kleinste commando waarmee de 4000e t/m 4050e byte (willekeurig voorbeeld) van de momenteel geselecteerde EF kunnen worden uitgelezen:

Als voorbeeld van efficiënt coderen volgt hier de kleinste commandoreeks waarmee de 40000e t/m 40001e byte en dan de 40002e t/m 40003e byte (willekeurig voorbeeld) van de nog niet eerder geselecteerde EF.Driver_Activity_Data kunnen worden uitgelezen (uitgangspunt is dat de DF.CIA wel al geselecteerd is):

Omdat EF.Driver_Activity_Data per chauffeurskaart een eigen grootte heeft, is het noodzakelijk om minimaal één keer per kaartsessie te achterhalen wat die grootte exact is. Hiervoor biedt de chip (conform referentie [7]) en diens personalisatie de mogelijkheid om van EF’s de file control parameters (FCP) op te vragen. Er van uitgaande dat de DF.CAI reeds is geselecteerd, is het betreffende commando voor de EF.Driver_Activity_Data als volgt:

De chips zijn zodanig geprogrammeerd dat dit resulteert in de volgende respons (voorbeeld):

62 1B 80 02 xx xx 82 01 01 83 02 44 01 88 01 98 A1 08 8C 02 01 00 9C 02 01 00 8A 01 05 90 00

De betekenis van deze respons is hieronder uitgewerkt:

Voor een compleet overzicht van FCP wordt verwezen naar § 3.3.4.1 van Referentie [7].

De onderstaande referenties worden in dit document gebruikt:

De onderstaande begrippen en afkortingen worden in dit document gebruikt:

Hieronder volgt een aantal scenario’s die het wegschrijven van gegevens op de chauffeurskaart tijdens een kaartsessie toelichten.

Hieronder volgt een aantal voorbeelden van functies met de uitgewerkte hexadecimale codes. Dit geeft een beter inzicht in het toepassen van deze functies in de Boordcomputer Taxi.

Voor het opzetten van Secure Messaging, zoals beschreven staat in 4.6, worden de volgende stappen uitgevoerd:

Na het opzetten van de secure messaging verbinding, moeten alle volgende commando's met secure messaging uitgevoerd worden. Dit staat beschreven in 4.1 t/m 4.5.

Hierbij worden de SK_ENC, SK_MAC en SSC gebruikt die na het opzetten van de secure messaging verbinding te berekenen zijn (zie hierboven).

Om te komen van een normaal commando tot een commando onder secure messaging, moeten de volgende stappen doorlopen worden:

Zie de tabel hieronder voor een voorbeeld van een commando, het commando met secure messaging en het antwoord met secure messaging.

Voor het zetten van een elektronische handtekening met een boordcomputerkaart, zoals beschreven staat in 8.5, worden de volgende stappen uitgevoerd:

Voor het zetten van een elektronische handtekening met de sleutel-certificaatcombinatie PKI.CH.AUT van een boordcomputerkaart, zoals beschreven staat in 8.7, worden de volgende stappen uitgevoerd:

NB. Deze functie moet uitgevoerd worden onder secure messaging, zoals beschreven is in B.2. Voor het overzicht worden onderstaande commando’s en responses echter zonder deze secure messaging weergegeven.

Voor het zetten van een elektronische handtekening met een systeemkaart, zoals beschreven staat in 8.6, worden de volgende stappen uitgevoerd: