1 kap. Föreskrifternas tillämpningsområde

1 §Av 39 kap. 2 § skatteförfarandelagen (2011:1244) framgår att med kassaregister avses kassaapparat, kassaterminal, kassasystem och liknande apparatur för registrering av försäljning av varor eller tjänster mot kontant betalning eller mot betalning med kontokort.

Som en del i ett kassaregistersystem ska alltid ingå en kontrollenhet eller ett kontrollsystem. Särskilda bestämmelser om krav på kassaregister finns i Skatteverkets föreskrifter (SKVFS 2014:9) om krav på kassaregister. Särskilda bestämmelser om kontrollenheten finns i Skatteverkets föreskrifter (SKVFS 2009:2) om kontrollenhet till kassaregister. Särskilda bestämmelser om användning av kassaregister finns i Skatteverkets föreskrifter (SKVFS 2014:10) om användning av kassaregister. I dessa föreskrifter finns bestämmelser om kontrollsystem till kassaregister.

2 kap. Övergripande systembeskrivning

1 §Ett kontrollsystem till kassaregister ska bestå av ett buffringsprogram, en signeringsmodul och en kontrollserver. Särskilda bestämmelser om dessa delar finns i 5 kap. Buffringsprogram, 6 kap. Signeringsmodul och 7 kap. Kontrollserver. I 8 kap. finns bestämmelser om hur ett kontrollsystem ska sammankopplas med de kassaregister som ska anslutas till kontrollsystemet.

Ett kontrollsystem ska vara certifierat och bestämmelser om detta finns i 13 kap. En kontrollserver ska finnas i en miljö som uppfyller kraven i 10 kap. Kontrollserverns miljö ska vara certifierad och bestämmelser om detta finns i 14 kap.

Innehållet i föreskrifterna är uppdelat enligt följande.

 1 kap. Föreskrifternas tillämpningsområde

 2 kap. Övergripande systembeskrivning

 3 kap. Definitioner

 4 kap. Hårdvara och programvara för buffringsprogram och signeringsmodul

 5 kap. Buffringsprogram

 6 kap. Signeringsmodul

 7 kap. Kontrollserver

 8 kap. Sammankoppling

 9 kap. Kommunikation inom kontrollsystemet

10 kap. Kontrollserverns miljö

11 kap. Kontrolldata till Skatteverket

12 kap. Tillverkning, test och dokumentation

13 kap. Certifiering av kontrollsystem

14 kap. Certifiering av kontrollserverns miljö

3 kap. Definitioner

1 §Med administrativ säkerhet avses i dessa föreskrifter de policyer, rutiner och organisatoriska strukturer som utgör del i en organisations arbete med informationssäkerhet.

2 §Med anslutet kassaregister avses i dessa föreskrifter ett kassaregister som kan kommunicera med ett kontrollsystem men inte är sammankopplat med kontrollsystemet.

3 §Med buffringsprogram avses i dessa föreskrifter en programvara som behandlar kvittodata för sammankopplade kassaregister.

4 §Med dedikerad dator avses i dessa föreskrifter en fysisk dator som ingår i ett kontrollsystem och som har ett buffringsprogram och en signeringsmodul och som inte innehåller något kassaregisterprogram.

5 §Med fysisk säkerhet avses i dessa föreskrifter skydd mot obehörig direkt eller indirekt tillgång till systemets resurser samt skydd mot störningar och skada i lokalen.

6 §Med HMAC version SHA-256 avses i dessa föreskrifter en metod för att beräkna ett meddelandes autentiseringskod med autentiseringsmetoden HMAC där den kryptografiska hashfunktion som används är SHA-256.

7 §Med informationssäkerhet avses i dessa föreskrifter förmågan att upprätthålla önskad konfidentialitet, riktighet och tillgänglighet beträffande informationstillgångar.

8 §Med IT-säkerhet avses i dessa föreskrifter säkerhet beträffande IT-system med förmåga att förhindra obehörig åtkomst och obehörig eller oavsiktlig förändring eller störning vid databehandling samt dator- och telekommunikation.

9 §Med kassaregister avses i dessa föreskrifter kassaregister som uppfyller kraven i Skatteverkets föreskrifter (SKVFS:9) om krav på kassaregister.

10 §Med kassaregisternummer avses i dessa föreskrifter detsamma som i 2 kap. 10 § Skatteverkets föreskrifter (SKVFS 2014:9) om krav på kassaregister.

11 §Med kassaregisterprogram avses i dessa föreskrifter en programvara som uppfyller kraven i Skatteverkets föreskrifter (SKVFS 2014:9) om krav på kassaregister.

12 §Med kontrolldata avses i dessa föreskrifter poster med kvittokontrolldata och andra data som lagras i ett kontrollsystem.

13 §Med kontrollserver avses i dessa föreskrifter en dator som har programvara för att kommunicera med buffringsprogram.

14 §Med kvitto av typ normal avses i dessa föreskrifter dels ett sådant kvitto (kassakvitto) som enligt 39 kap. 7 § skatteförfarandelagen (2011:1244) ska tas fram och erbjudas kunden och dels ett returkvitto enligt 7 kap. 1 § 3 st. Skatteverkets föreskrifter (SKVFS 2014:9) om krav på kassaregister.

15 §Med kvittodata avses i dessa föreskrifter sådana data som ett buffringsprogram enligt 5 kap. 30 § tar emot från kassaregister för att kunna ta fram kvittokontrolldata enligt vad som anges i 5 kap. 33 §.

16 §Med kvittokontrollposter avses i dessa föreskrifter poster enligt 5 kap. 38–41 §§.

17 §Med processorns time stamp counter (TSC) avses i dessa föreskrifter en i processorn tillgänglig resurs som tillhandahåller klockcykelbaserad tidsinformation.

18 §Med produktionsmiljö avses i dessa föreskrifter hela processen från utveckling till tillverkning av kontrollsystem.

19 §Med sammankopplat kassaregister avses i dessa föreskrifter ett kassaregister som enligt 8 kap. är sammankopplat med ett kontrollsystem.

20 §Med SHA-256 avses i dessa föreskrifter den kryptografiska hashfunktionen SHA-2 med ett kryptografiskt kondensat på 256 bitar.

21 §Med signatur avses i dessa föreskrifter en äkthetskod skapat med metoden HMAC baserad på den kryptografiska hashfunktionen SHA-256.

22 §Med signering avses i dessa föreskrifter framställande av en signatur inom kontrollsystemet med avsikt att verifiera kontrolldata.

23 §Med signeringsmodul avses i dessa föreskrifter en programvara som utför signering åt ett buffringsprogram.

24 §Med tillverkare avses i dessa föreskrifter den som producerar kontrollsystemet även om delar av detta tillverkas av någon annan.

25 §Med TLS avses i dessa föreskrifter ett kryptografiskt protokoll med öppen standard för säkert utbyte av krypterad information mellan en klient och en server.

26 §Med TPM-chip avses i dessa föreskrifter en hårdvarufunktion enligt standarden Trusted Platform Module.

27 §Med tunn klient avses i dessa föreskrifter detsamma som i 2 kap. 22 § Skatteverkets föreskrifter (SKVFS 2014:9) om krav på kassaregister.

28 §Med virtuell dator avses i dessa föreskrifter en programvara som innehåller en särskild avgränsad virtuell datormiljö för antingen ett kassaregisterprogram eller för ett buffringsprogram och en signeringsmodul.

29 §Med virtuell miljö avses i dessa föreskrifter en fysisk dator som ingår i ett kontrollsystem och som innehåller virtuella datorer.

30 §Med virtualiseringsprogram avses i dessa föreskrifter en programvara i en virtuell miljö och som hanterar två virtuella datorer.

4 kap. Hårdvara och programvara för buffringsprogram och signeringsmodul

1 §I detta kapitel finns bestämmelser om hårdvara och programvara för buffringsprogram och signeringsmoduler som ingår i ett kontrollsystem.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Signeringsmodul på separat hårdvara

  2. Virtuell miljö

  3. Dedikerad dator

A Signeringsmodul på separat hårdvara

2 §En signeringsmodul på separat hårdvara ska vara ansluten till en fysisk port eller direkt på datorns moderkort. I kap. 6 finns särskilda bestämmelser om signeringsmodulen.

B Virtuell miljö

3 §En virtuell miljö ska ha ett virtualiseringsprogram som utgör dess enda operativsystem. Bestämmelser om virtualiseringsprogrammet finns i 8 §.

En virtuell miljö ska innehålla en virtuell dator för kassaregisterprogram enligt 9 § och en virtuell dator för buffringsprogram och signeringsmodul enligt 10 §. Av 8 § framgår att virtualiseringsprogrammet ska kontrollera de virtuella datorerna.

En virtuell miljö får utöver vad som anges i första och andra styckena endast innehålla de funktioner som ska finnas enligt 11 kap.

4 §En virtuell miljö ska ha ett TPM-chip som ska säkerställa att den fysiska datorn enbart kan startas och köras med av tillverkaren installerat virtualiseringsprogram enligt 8 § och installerade virtuella datorer enligt 9–10 §§.

5 §En virtuell miljö ska ha ett ytterhölje som är plomberat. Plomberingen ska ske med plomberingstape eller med annan plombering som ska klara det temperaturområde som den virtuella miljön är avsedd att användas i. Plomberingen ska minst klara temperaturområdet –30 C till +110 C. Plomberingen ska vara utformad på ett sådant sätt att det går att identifiera vem som utfört plomberingen. Om plomberingen bryts ska det ge synliga spår.

6 §Alla portar samt alla in- och utenheter som en virtuell miljö har ska vara plomberade. Plomberingen ska minst uppfylla de krav som anges i 5 §.

Plombering av portar gäller inte för portar som är nödvändiga för kassaregisterprogrammets funktioner eller för kommunikation mellan kontrollserver och buffringsprogram.

7 §Om en virtuell miljö behöver repareras får detta endast utföras av tillverkaren av kontrollsystemet eller av denne utsedd behörig reparatör som då får bryta plomberingar som avses i 5–6 §§. Efter reparation ska datorn omedelbart plomberas av tillverkaren enligt 5–6 §§. Tillverkaren eller en av denne utsedd representant i Sverige ska föra ett register över de reparationer som gjorts av virtuella miljöer. På begäran av Skatteverket ska tillverkaren eller representanten tillhandahålla uppgifter från registret.

8 §För virtualiseringsprogrammet gäller följande.

  1. Virtualiseringsprogrammet ska kontrollera de virtuella datorernas tillgång till den gemensamma fysiska datorns resurser.

  2. Virtualiseringsprogrammet får inte blockera eller förvanska identitetsinformation som avser den fysiska datorn som de virtuella datorerna begär.

  3. Virtualiseringsprogrammet ska tillhandahålla en lokal säker nätverksanslutning mellan de virtuella datorerna.

  4. Virtualiseringsprogrammet ska tilldela de virtuella datorerna separata delar av den fysiska datorns arbetsminne. De separata delarna av arbetsminnet i den fysiska datorn ska vara exklusiva för de virtuella datorerna. Virtualiseringsprogrammet ska förhindra att ett program i en virtuell dator kan läsa eller påverka processorns interna temporära arbetsminne (cacheminne) som finns i den fysiska datorn och som den andra virtuella datorn använder.

  5. Virtualiseringsprogrammet ska säkerställa att en virtuell dator inte kan läsa eller ändra lagrad information som den andra virtuella datorn ansvarar för.

  6. Virtualiseringsprogrammet ska vid uppstart starta de virtuella datorerna.

  7. Virtualiseringsprogrammet ska vara låst för användaren.

  8. Virtualiseringsprogrammet ska förhindra att de virtuella datorerna kan läsa ut värden från den fysiska processorns time stamp counter (TSC) eller motsvarande räknare.

9 §En virtuell dator för kassaregisterprogram får utöver ett operativsystem endast innehålla de funktioner som ska finnas för ett kassaregisterprogram. Den virtuella miljöns TPM-chip ska genom en lagrad signatur verifiera den virtuella datorn samt de program som körs i den virtuella datorn för kassaregisterprogrammet. Signaturen ska infogas av tillverkaren. Om äktheten inte kan verifieras ska TPM-chipet förhindra att kassaregisterprogrammet startas.

Den virtuella datorns operativsystem ska vara låst för användaren.

10 §En virtuell dator för buffringsprogram och signeringsmodul får utöver ett operativsystem endast innehålla de funktioner som ska finnas för buffringsprogrammet och signeringsmodulen. Den virtuella miljöns TPM-chip ska genom en lagrad signatur validera den virtuella datorn samt de program som körs i den virtuella datorn för buffringsprogrammet och signeringsmodulen. Signaturen ska infogas av tillverkaren. Om signaturen inte kan verifieras ska TPM-chipet förhindra att buffringsprogrammet startas.

Den virtuella datorns operativsystem ska vara låst för användaren.

C Dedikerad dator

11 §En dedikerad dator får utöver ett operativsystem endast innehålla de funktioner som ska finnas för ett buffringsprogram, för en signeringsmodul och de funktioner som ska finnas enligt 11 kap.

Operativsystemet ska vara låst för användaren. Signeringsmodulen får vara implementerad som programvara.

Om ett buffringsprogram är installerat på en dedikerad dator får inte kassaregisterprogramvaran vara installerad på den dedikerade datorn.

12 §En dedikerad dator ska ha ett ytterhölje som är plomberat. Plomberingen ska ske med plomberingstape eller med annan plombering som ska klara det temperaturområde som den dedikerade datorn är avsedd att användas i. Plomberingen ska minst klara temperaturområdet –30 C till +110 C. Plomberingen ska vara utformad på ett sådant sätt att det går att identifiera vem som utfört plomberingen. Om plomberingen bryts ska det ge synliga spår.

13 §Alla portar samt alla in- och utenheter som en dedikerad dator har ska vara plomberade. Plomberingen ska minst uppfylla de krav som anges i 12 §.

Plombering av portar gäller inte för portar som är nödvändiga för kommunikation mellan

  • Kassaregisterprogram och buffringsprogram

  • kontrollserver och buffringsprogram.

14 §Om en dedikerad dator behöver repareras får detta endast utföras av tillverkaren av kontrollsystemet eller av denna utsedd behörig reparatör som då får bryta plomberingar som avses i 12–13 §§. Efter reparation ska datorn omedelbart plomberas enligt 12–13 §§. Tillverkaren eller en av denne utsedd representant i Sverige ska föra ett register över de reparationer som gjorts av dedikerade datorer. På begäran av Skatteverket ska tillverkaren eller representanten tillhandahålla uppgifter från registret.

5 kap. Buffringsprogram

1 §I detta kapitel finns bestämmelser om buffringsprogram.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Allmänna krav

  2. Placering och plombering

  3. Start och avstängning

  4. Kommunikation med kassaregister

  5. Kommunikation med kontrollserver

  6. Kommunikation med signeringsmodulen

  7. Räknare

  8. Kvittodata från kassaregister och generering av kvittokontrolldata

  9. Stödinformation till kvittokontrolldata

  10. Signering av kvittokontrolldata

  11. Lagring av data

  12. Kontrolldata till kontrollserver

  13. Aktivitetsloggar

A Allmänna krav

2 §Ett buffringsprogram ska ha en unik ID-sträng som identifierar buffringsprogrammet. ID-strängen ska bestå av serienummer samt versionsnummer i en sträng på totalt 32 bytes. Tecken för ID-strängen får endast utgöras av a–z, A–Z, 0–9 och bindestreck.

3 §Ett buffringsprogram ska ha tillgång till en realtidsklocka med en sekunds upplösning.

4 §Ett buffringsprogram får bara kunna exekveras på den fysiska dator där signeringsmodulen är inkopplad. Om signeringsmodulen finns i en virtuell miljö ska buffringsprogrammet exekveras i en virtuell dator enligt bestämmelserna i 4 kap.

B Placering och plombering

5 §Ett buffringsprograms funktioner får endast finnas

  1. i en dator där ett kassaregisterprogram är installerat och där signeringsmodulen utgörs av en separat hårdvara,

  2. i en dedikerad dator, eller

  3. i en virtuell miljö.

6 §Om ett buffringsprogram är installerat på en dedikerad dator ska datorns fysiska portar vara plomberade om de inte är nödvändiga för buffringsprogrammets kommunikation med kontrollservern eller sammankopplade kassaregister. Plomberingen ska utföras av tillverkaren eller en av denne auktoriserad installatör.

C Start och avstängning

7 §Ett buffringsprogram som är installerat på samma dator som ett kassaregister ska vara startat när kassaregisterprogrammet startar.

8 §Ett buffringsprogram som är installerat på en dedikerad dator ska starta när den dedikerade datorn startas.

9 §Ett buffringsprogram får enbart kunna stängas av när sammankopplade kassaregister är frånkopplade eller avstängda. Vid avstängning av buffringsprogrammet ska det logga ut från kontrollservern.

D Kommunikation med kassaregister

10 §När ett buffringsprogram och sammankopplade kassaregister ska kommunicera ska det ske via en säker anslutning enligt vad som anges i 9 kap. 2–3 §§.

Statuskoder

11 §Ett buffringsprogram ska skicka statusuppdatering till sammankopplade kassaregister enligt tabellen nedan så fort dess status ändras. Ytterligare statuskoder får användas.

Nr

Statuskod

Betydelse

1

STATUS_OK

Systemstatus är OK

2

EJ_KONTAKT_MED_KS

Buffringsprogrammet har inte kontakt med kontrollservern

3

KONTAKT_MED_KS

Buffringsprogrammet har återfått kontakt med kontrollservern

4

EJ_KONFIGURERAD

Konfigureringen för kassaregisterprogram, buffringsprogram och signeringsmodul är inte slutförd

5

KONTAKTA_TILLVERKARE

En händelse som kräver insats från kontrollsystemets tillverkare har inträffat

6

ANMAL_FEL_24H

Ingen kontakt med kontrollservern på mer än 24 timmar

7

ANMAL_FEL_48H

Ingen kontakt med kontrollservern på mer än 48 timmar

E Kommunikation med kontrollserver

Anslutning till kontrollserver

12 §Vid start av ett buffringsprogram ska det ansluta sig till sin kontrollserver genom att logga in på kontrollservern enligt följande.

  1. Buffringsprogrammet initierar en TLS-anslutning med kontrollservern och tar emot och validerar kontrollserverns servercertifikat. Av 7 kap. 12 § 2 framgår att om TLS-anslutningen inte kan upprättas ska kontrollservern avbryta inloggningen.

  2. Om TLS-anslutningen inte kan upprättas eller om validering av servercertifikat inte kan ske ska buffringsprogrammet skicka meddelande till sammankopplade kassaregister. Statuskod nr 5 enligt tabell i 11 § ska skickas om servercertifikatet inte kan valideras. Statuskod nr 7 ska skickas om anslutningen inte har upprättats inom 48 timmar.

  3. Om TLS-anslutningen kan upprättas ska buffringsprogrammet till kontrollservern skicka sin unika ID-sträng enligt 2 §.

Kontrollera och återuppta anslutning

13 §Ett buffringsprogram ska inom ett tidsintervall av högst tio sekunder kontrollera om kontakt finns med kontrollservern.

Om buffringsprogrammet tappar kontakten med kontrollservern ska det inom ett tidsintervall av högst tio sekunder kontrollera om kontakten med kontrollservern kan återupprättats. När kontakten har återupprättas ska buffringsprogrammet logga in på kontrollservern enligt 12 §.

Kontroll av signeringsmoduler och kassaregister

14 §Buffringsprogrammet och kontrollservern ska kontrollera sammankopplade signeringsmoduler och kassaregister enligt följande.

1.

Av 7 kap. 13 § framgår att ett buffringsprogram ska motta utmaningar från sin kontrollserver för att initiera en kontroll av signeringsmoduler och kassaregister.

2.

Buffringsprogrammet ska efter mottagandet av en utmaning enligt 1 få ett slumpmässigt värde från kontrollservern. En utmaning ska avse ett kassaregisternummer med tillhörande signeringsmodul.

3.

Som svar på utmaning enligt 2 ska buffringsprogrammet skapa en utmaningskontrollpost med följande uppgifter.

  1. Slumpmässigt värde som erhållits från kontrollservern

  2. Tidpunkt enligt realtidsklocka

  3. Värde på transaktionsräknaren enligt 6 kap. 24 § för det utmanade kassaregistret

  4. Värde på initialvektorn enligt 6 kap. 33 § för det utmanade kassaregistret

  5. Kassaregisternummer

  6. Värde på kvittoräknaren enligt 6 kap. 27 § för det utmanade kassaregistret

  7. Värde på beloppsräknaren enligt 6 kap. 30 § för det utmanade kassaregistret.

4.

Buffringsprogrammet ska skicka utmaningskontrollposten enligt 3 för signering till signeringsmodulen som en textsträng enligt vad som anges i rutan nedan. Textsträngen ska fyllas ut med nollor för att bli jämnt delbar med 512 bitar. Den utfyllnad som ska användas är den som anges för standarden för SHA-256.

Utmaningskontrolldata | Utfyllnad

5.

Buffringsprogrammet ska infoga signaturen enligt 4 i utmaningskontrollposten. Utmaningskontrollposten ska skickas till kontrollservern när signaturen är infogad. Bestämmelser om hur data ska skickas till kontrollservern finns i 43–46 §§.

6.

Om buffringsprogrammet får ett meddelande från kontrollservern att utmaningskontrollposten enligt 5 inte har godkänts av kontrollservern ska buffringsprogrammet inte längre tillåta användning av signeringsnyckeln enligt 4. Buffringsprogrammet ska skicka meddelande med statuskod nr 5 enligt tabell i 11 §.

7.

En avstämningskod som kontrollservern enligt 7 kap. 13 § ska skicka till buffringsprogrammet ska buffringsprogrammet ta emot och skicka till det utmanade kassaregistret.

F Kommunikation med signeringsmodulen

15 §Buffringsprogrammet ska skicka kvittokontrolldata för kvitton av typen normal till signeringsmodulen för signering.

Buffringsprogrammet ska skicka data med försäljningsbelopp för kassakvitton till signeringsmodulen för uppdatering av beloppsräknaren enligt 6 kap. 30 §.

G Räknare

16 §Ett buffringsprogram ska ha följande räknare per kassaregisternummer;

  • räknare A, räknare av försäljningsbelopp för kassakvitton

  • räknare B, räknare av returbelopp för returkvitton

  • räknare C, räknare av mervärdesskatt för kassakvitton

  • räknare D, räknare av mervärdesskatt för returkvitton

  • räknare E, räknare av antal utskrifter av kassakvitton och returkvitton

  • räknare F, räknare av antal utskrifter av kvittokopior

  • räknare G, räknare av antal utskrifter av övningskvitton

  • räknare H, räknare av antal utskrifter av pro forma kvitton

  • räknare I, räknare av antal avbrott i kontakten med kontrollservern

  • räknare J, räknare av antal lagrade kvittokontrollposter som inte har levererats till kontrollservern

  • räknare K, räknare av antal lagrade aktivitetsloggposter som inte har levererats till kontrollservern

  • räknare L, räknare av antal levererade poster som inte har bekräftats av kontrollservern

  • räknare M, räknare av antal sekunder som buffringsprogrammet inte har kontakt med kontrollservern.

Räknarna A–I får inte kunna minskas eller nollställas.

17 §Räknare A ska löpande summera försäljningsbelopp för kassakvitton. Räknare A ska börja med värdet 0.00 före första post av försäljningsbelopp som läses in i buffringsprogrammet. Formatet för summan ska vara maximalt 20 tecken inklusive decimalkomma och det ska alltid vara två siffror efter decimalkommat.

18 §Räknare B ska löpande summera returbelopp för returkvitton. Formatet för summan ska vara maximalt 14 tecken inklusive decimalkomma och det ska alltid vara två siffror efter decimalkommat.

19 §Räknare C ska löpande summera mervärdesskatt för kassakvitton. Formatet för summan ska vara maximalt 14 tecken inklusive decimalkomma och det ska alltid vara två siffror efter decimalkommat.

20 §Räknare D ska löpande summera mervärdesskatt för returkvitton. Formatet för summan ska vara maximalt 14 tecken inklusive decimalkomma och det ska alltid vara två siffror efter decimalkommat.

21 §Räknare E ska löpande räkna antalet utskrivna kassakvitton och returkvitton.

22 §Räknare F ska löpande räkna antalet utskrivna kvittokopior. Formatet för antalet ska vara maximalt 12 siffror.

23 §Räknare G ska löpande räkna antalet utskrivna övningskvitton. Formatet för antalet ska vara maximalt 12 siffror.

24 §Räknare H ska löpande räkna antalet utskrivna pro forma kvitton. Formatet för antalet ska vara maximalt 12 siffror.

25 §Räknare I ska löpande räkna antalet tillfällen som buffringsprogrammet tappat kontakten med kontrollservern. Räknare I ska börja med värdet noll och öka med värdet ett för varje tillfälle.

26 §Räknare J ska löpande räkna antalet lagrade kvittokontrollposter som inte har levererats till kontrollservern. Formatet för antalet ska vara maximalt 12 siffror.

27 §Räknare K ska löpande räkna antalet lagrade aktivitetsloggposter som inte har levererats till kontrollservern. Formatet för antalet ska vara maximalt 12 siffror.

28 §Räknare L ska löpande räkna antalet poster som levererats till kontrollservern men som inte har bekräftats. Formatet för antalet ska vara maximalt 12 siffror.

29 §Räknare M ska löpande räkna antalet sekunder som buffringsprogrammet inte har kontakt med kontrollservern. Formatet för värdet ska vara maximalt 12 siffror. Räknare M ska nollställas efter att kontakt återupprättats med kontrollservern.

H Kvittodata från kassaregister och generering av kvittokontrolldata

Kvittodata från kassaregister

30 §Ett buffringsprogram ska ta emot och behandla poster med kvittodata per kvitto för att ta fram kvittokontrolldata från de kassaregister som buffringsprogrammet är sammankopplat med.

31 §Om ett buffringsprogram tar emot en post med kvittodata när dess statuskod är 4, 5 eller 7 enligt tabell i 11 § får buffringsprogrammet inte behandla denna post och ska logga händelsen enligt vad som anges i 54 §.

32 §För varje post av kvittodata som buffringsprogrammet läser in ska interna data i buffringsprogrammet uppdateras.

Generering av kvittokontrolldata

33 §Buffringsprogrammet ska ta fram kvittokontrolldata enligt vad som anges nedan i tabellerna A–D.

Formatlängden redovisas från vänster till höger med de mest signifikanta siffrorna från vänster. Tidpunkter ska vara 14 siffror och anges i formatet ååååmmddttmmss.

A Tabell för kvitto av typ normal

Fält

Data

Beskrivning

Format

N1

Datum och tid

7 kap. 1 § 1 st. c SKVFS 2014:9

14 siffror, format ååååmmddttmmss

N2

Organisationsnummer

7 kap. 1 § 1 st. a SKVFS 2014:9

10 siffror

N3

Kassabeteckning

7 kap. 1 § 1 st. e SKVFS 2014:9

Maximalt 16 alfanumeriska tecken

N4

Adress

7 kap. 1 § 1 st. b SKVFS 2014:9

Maximalt 40 alfanumeriska tecken

N5

Löpnummer

7 kap. 1 § 1 st. d SKVFS 2014:9

Maximalt 14 siffror

N6

Skattesats för moms och försäljningsbelopp per skattesats

Skattesatser för moms uttryckt i procent och försäljningsbelopp per skattesats

<FXXX%><Belopp> FXXX% ger 5 tecken (1)
Belopp: maximalt 14 tecken inkl. decimalkomma (2)

N7

Försäljningsbelopp

Totalt försäljningsbelopp för ett kassakvitto, 7 kap. 1 § 1 st. h SKVFS 2014:9

Maximalt 14 tecken inkl. decimalkomma (2)

N8

Skattesatser för moms och returbelopp per skattesats

Skattesatser för moms uttryckt i procent och returbelopp per skattesats

<RXXX%><Belopp> RXXX% ger 5 tecken (3)
Belopp: maximalt 14 tecken inkl. decimalkomma (2)

N9

Totalt returbelopp

7 kap. 1 § 3 st. SKVFS 2014:9

Maximalt 14 tecken inkl. decimalkomma (2)

N10

Skattesats och momsbelopp

7 kap. 1 § 1 st. i och j SKVFS 2014:9
7 kap. 1 § 3 st. SKVFS 2014:9

<MXXX%><Belopp> MXXX% ger 5 tecken (4)
Belopp: maximalt 14 tecken inkl. decimalkomma (2)

N11

Offline-status

Texten ”Offline”, om kvittot producerats i offline-läge

Maximalt 7 bokstäver

(1) FXXX%: Första krysset = tiotal, andra krysset = ental, tredje krysset = tiondel. Exempel: 25 % skattesats för moms med försäljningsbelopp inklusive moms på 100,95 kronor och 6 % skattesats för moms på försäljningsbelopp inklusive moms på 90 kronor för ett kvitto blir F250%100,95F060%90,00
(2) Det ska alltid vara två siffror efter decimalkommat.
(3) RXXX%. Första krysset = tiotal, andra krysset = ental, tredje krysset = tiondel. Exempel: 25 % skattesats för moms på returbelopp 70,50 inklusive moms blir R250%70,50
(4) MXXX%. Första krysset = tiotal, andra krysset = ental, tredje krysset = tiondel. Exempel: 25 % skattesats för moms med momsbelopp 100 kronor och 12 % skattesats för moms med momsbelopp 50 kronor blir M250%100,00M120%50,00

B Tabell för kvittokopia

Fält

Data

Beskrivning

Format

K1

Datum och tid

Datum och klockslag för kvittokopian

14 siffror, format ååååmmddttmmss

K2

Datum och tid

Datum och klockslag förnormalkvittot (originalet)

14 siffror, format ååååmmddttmmss

K3

Organisationsnummer

7 kap. 1 § 1 st. a SKVFS 2014:9

10 siffror

K4

Kassabeteckning

7 kap. 1 § 1 st. e SKVFS 2014:9

Maximalt 16 alfanumeriska tecken

K5

Löpnummer för kvittokopian

Om löpnummer inte finns anges <Saknas>

Maximalt 12 alfanumeriska tecken

K6

Löpnummer för normalkvittot

7 kap. 1 § 1 st. d SKVFS 2014:9

Maximalt 14 siffror

K7

Offline-status

Texten ”Offline”, om kvittokopian producerats i offline-läge

Maximalt 7 bokstäver

C Tabell för övningskvitto

Fält

Data

Beskrivning

Format

O1

Datum och tid

Datum och klockslag för övningskvittot

14 siffror, format ååååmmddttmmss

O2

Organisationsnummer

7 kap. 1 § 1 st. a SKVFS 2014:9

10 siffror

O3

Kassabeteckning

7 kap. 1 § 1 st. e SKVFS 2014:9

Maximalt 16 alfanumeriska tecken

O4

Löpnummer för övningskvittot

Om löpnummer inte finns anges <Saknas>

Maximalt 14 alfanumeriska tecken

O5

Offline-status

Texten ”Offline”, om övningskvittot tagits fram i offline-läge

Maximalt 7 bokstäver

D Tabell för pro forma kvitto

Fält

Data

Beskrivning

Format

P1

Datum och tid

Datum och klockslag för utskrift av pro forma kvittot

14 siffror, format ååååmmddttmmss

P2

Organisationsnummer

7 kap. 1 § 1 st. a SKVFS 2014:9

10 siffror

P3

Kassabeteckning 1

Kassabeteckning enligt 7 kap. 1 § 1 st. e SKVFS 2014:9 där pro forma kvittot skrevs ut

Maximalt 16 alfanumeriska tecken

P4

Kassabeteckning 2

Kassabeteckning enligt 7 kap. 1 § 1 st. e SKVFS 2014:9 för den registreringsenhet där registreringen av pro forma kvittot påbörjades

Maximalt 16 alfanumeriska tecken

P5

Löpnummer för pro forma kvittot

Om löpnummer inte finns anges <Saknas>

Maximalt 12 siffror

P6

Försäljningsbelopp

Försäljningsbelopp på pro forma kvittot inklusive moms

Maximalt 14 tecken inkl. decimalkomma (1)

P7

Moms

Angivet momsbelopp på pro forma kvittot

Maximalt 14 tecken inkl. decimalkomma (1)

P8

Offline-status

Texten ”Offline”, om övningskvittot tagits fram i offline-läge

Maximalt 7 bokstäver

(1) Det ska alltid vara två siffror efter decimalkommat

I Stödinformation till kvittokontrolldata

34 §Följande data utgör stödinformation till kvittokontrolldata.

  1. Tidpunkt enligt realtidsklocka då kvittodata togs emot från sammankopplat kassaregister.

  2. Kassaregisternummer.

J Signering av kvittokontrolldata

35 §Buffringsprogrammet ska för kvittokontrolldata av typ normal begära att signeringsmodulen genererar en signatur. Informationen som buffringsprogrammet ska skicka till signeringsmodulen för signering är.

  1. Kvittokontrolldata enligt 33 § tabell A.

  2. Stödinformation enligt 34 §.

  3. Värde på transaktionsräknaren enligt 6 kap. 24 §.

  4. Uppgift som anger om värdet på initialvektorn motsvarar signatur på senaste signerade kontrollpost.

  5. Värde på initialvektorn enligt 6 kap. 33 §.

  6. Värde på räknare A–F och I–M enligt 16 §.

  7. Värde på kvittoräknaren enligt 6 kap. 27 §.

  8. Värde på beloppsräknaren enligt 6 kap. 30 §.

Informationen som buffringsprogrammet ska skicka till signeringsmodulen ska ske med en textsträng med data enligt vad som anges i rutan nedan. Textsträngen ska fyllas ut med nollor för att bli jämnt delbar med 512 bitar. Den utfyllnad som ska användas är den som anges för standarden för SHA-256.

Information enligt första stycket 1–8 | Utfyllnad

K Lagring av data

Icke flyktigt minne

36 §Ett buffringsprogram ska ha ett icke flyktigt minne för lagring av kontrolldata, räknare och annan information som är nödvändig för att säkerställa de krav som anges i dessa föreskrifter.

Kontrolldata

37 §Ett buffringsprogram ska lagra poster av kontrolldata enligt vad som anges i 38–41 §§. Uppgifterna ska lagras i minst tre år. Poster som är äldre än tre år och som är skickade till kontrollservern får skrivas över.

Lagring av kontrolldata kvittokontrollposter

38 §Buffringsprogrammet ska för kvittodata av typ normal lagra följande information i ett icke-flyktigt minne.

  1. Kvittokontrolldata enligt 33 § tabell A

  2. Värde på transaktionsräknaren enligt 6 kap. 24 §

  3. Uppgift som anger om värdet på initialvektorn motsvarar signaturen på senaste signerade kontrollpost

  4. Stödinformation enligt 34 §

  5. Värde på räknare A–F och I–M enligt 16 §

  6. Signatur enligt 6 kap. 12–17 §§

  7. Värde på kvittoräknaren enligt 6 kap. 27 §

  8. Värde på beloppsräknaren enligt 6 kap. 30 §.

  9. Statuskoder enligt 43 §.

39 §Buffringsprogrammet ska för kvittodata av typ kopia lagra följande information i ett icke-flyktigt minne.

  1. Kvittokontrolldata enligt 33 § tabell B

  2. Stödinformation enligt 34 §

  3. Värde på räknare I–M enligt 16 §.

40 §Buffringsprogrammet ska för kvittodata av typ övning lagra följande information i ett icke-flyktigt minne.

  1. Kvittokontrolldata enligt 33 § tabell C

  2. Stödinformation enligt 34 §

  3. Värde på räknare G och I–M enligt 16 §.

41 §Buffringsprogrammet ska för kvittodata av typ pro forma lagra följande information i ett icke-flyktigt minne.

  1. Kvittokontrolldata enligt 33 § tabell D

  2. Stödinformation enligt 34 §

  3. Värde på räknare H–M enligt 16 §.

42 §Buffringsprogrammet ska efter att kvittokontrolldata och stödinformation lagrats meddela kassaregistret att kvitto får skrivas ut.

L Kontrolldata till kontrollserver

43 §Ett buffringsprogram ska infoga följande statuskoder för varje kontrollpost som lagras. När statusen ändras för en kontrollpost ska statuskoden uppdateras. Statuskoden ska skickas till kontrollservern tillsammans med kontrollposten.

Statuskod

Text

Förklaring

Köad

Ja/Nej

Ja = Skickad efter 10 sekunder
Nej = Skickad inom 10 sekunder

Skickad

Ja/Nej

Ja = Kontrollposten är skickad
Nej = Kontrollposten är inte skickad

Verifierad

Ja/Nej

Ja = Kontrollservern har verifierat den infogade signaturen enligt 7 kap. 17 § 1.
Nej = Kontrollservern har inte kunnat verifiera den infogade signaturen enligt 7 kap. 17 § 2.

Resultatet av verifieringen av den infogade signaturen enligt 7 kap. 17 § ska skickas till kassaregistret tillsammans med löpnumret för kvittokontrollposten av typ normal.

44 §Ett buffringsprogram ska skicka meddelande till kontrollservern när det finns lagrade kontrollposter som kontrollservern kan hämta. Buffringsprogrammet ska på begäran av kontrollservern skicka över lagrade kontrollposter. Följande kontrolldata ska skickas.

  • Kvittokontrollposter enligt 38–41 §§

  • Utmaningskontrollposter enligt 14 § 3

  • Systemkontrollposter enligt 8 kap. 5 §

  • Aktivitetsloggposter enligt 48 §.

När buffringsprogrammet inte får kontakt med kontrollservern

45 §Buffringsprogrammet får hantera kvittodata från sammankopplade kassaregister i upp till 48 timmar även om det inte har kontakt med kontrollservern. Efter 48 timmar utan kontakt med kontrollservern ska buffringsprogrammet skicka statuskod 7 enligt 11 § till sammankopplade kassaregister. Buffringsprogrammet får därefter hantera ny kvittodata från sammankopplade kassaregister först efter att kontakten med kontrollservern återupprättats.

46 §När buffringsprogrammet återupprättat kontakt med kontrollservern enligt 13 § ska buffringsprogrammet på begäran från kontrollservern skicka över lagrade poster av kontrolldata som inte skickats över tidigare.

M Aktivitetsloggar

47 §Ett buffringsprogram ska löpande generera följande aktivitetsloggar.

  • Systemlogg

  • Sammankopplingslogg

  • Verifieringslogg

  • Anslutningslogg

  • Logg för felaktiga signaturer

  • Logg för uttag av kontrolldata till Skatteverket

  • Logg för andra aktiviteter

48 §Aktivitetsloggarna enligt 47 § ska skickas till kontrollservern som aktivitetsloggposter med följande uppgifter

  • namn på loggfilen

  • händelse enligt 49–62 §§

  • text till händelserna enligt 49–62 §§.

En aktivitetsloggspost ska innehålla en händelse i en textsträng.

Systemlogg

49 §Ett buffringsprogram ska skapa en systemlogg för varje signeringsmodulsidentitet. Denna ska innehålla uppgifter om start och avstängning av enskilda program på de enheter där buffringsprogrammet är installerat. Dessa händelser ska registreras i loggfilen System<signeringmodulsidentititet>.log.

50 §System<signeringmodulsidentititet>.log ska för varje signeringsmodulsidentitet innehålla uppgifter om

  1. när kassaregisterprogrammets anslutning till buffringsprogrammet startar och upphör

  2. start och avstängning av signeringsmodulsprogram

  3. start och avstängning av buffringsprogrammet

  4. start och avstängning av andra program som är aktiva på samma dator som den där buffringsprogrammet är installerat.

Program som startas innan buffringsprogrammet startas ska anses ha startat samtidigt som buffringsprogrammet och prefixet f ska anges närmast före ordet start. Vid tillämpningen av denna bestämmelse utgör datorns operativsystem ett program.

51 §Loggfilen i 50 § ska radvis ha följande uppgifter per program.

Händelse 1: Start av program enligt 50 §.

Text till händelsen 1

<programnamn>;start;ååååmmdd;ttmmss

Händelse 2: Stängning av program enligt 50 §.

Text till händelsen 2

<programnamn>;avstängd;ååååmmdd;ttmmss

52 §Om buffringsprogrammet eller signeringsmodulsprogrammet vid start upptäcker att föregående avstängning av buffringsprogrammet inte skett på ett enligt manualen korrekt sätt ska detta registreras i systemloggen enligt följande.

Text till händelsen

Buffringsprogrammet felaktigt avstängt; ååååmmdd;ttmmss

53 §I systemloggen ska registreras en SHA-256 checksumma för varje fil som ingår i ett buffringsprogram. Detta ska registreras i systemloggen enligt följande.

Text till händelsen

<filnamn>;<SHA-256 checksumma>;ååååmmdd;ttmmss

54 §Om ett buffringsprogram tar emot en post med kvittodata när dess statuskod är 4, 5 eller 7 enligt tabell i 11 § ska detta registreras i systemloggen enligt följande.

Text till händelsen

Otillåtna kvittodata;<kassaregisternummer>;ååååmmdd;ttmmss

Sammankopplingslogg

55 §Ett buffringsprogram ska skapa en sammankopplingslogg för varje kassaregister när sammankoppling enligt 8 kap. påbörjas. Detta ska registreras i följande loggfil: Sammankoppling<kassaregisternummer>.log

56 §En sammankopplingsloggfil enligt 55 § ska innehålla följande uppgifter.

Händelse 1: Initiering av sammankoppling

Text till händelsen 1

Start sammankoppling;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Händelse 2: Sammankoppling mellan kassaregister, buffringsprogram och signeringsmodul klar

Text till händelsen 2

Lokal koppling utförd;<signeringsmodulsidentitet>;åååmmdd;ttmmss

Händelse 3: Sammankoppling mellan kassaregister, buffringsprogram och signeringsmodul misslyckades

Text till händelsen 3

Lokalt kopplingsfel;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Händelse 4: Sammankoppling mellan buffringsprogrammet och kontrollservern

Text till händelsen 4

Extern koppling utförd;ååååmmdd;ttmmss

Händelse 5: Sammankoppling mellan buffringsprogrammet och kontrollservern misslyckades

Text till händelsen 5

Externt kopplingsfel;ååååmmdd;ttmmss

57 §Ett buffringsprogram ska logga uppgifter om löpande kontroller av sammankopplade kassaregister enligt 8 kap. 12–15 §§. Detta ska registreras i följande loggfil: Sammankoppling<kassaregisternummer>.log

Händelse 1: Initiering av kontroll enligt 8 kap. 12–13 §§

Text till händelsen 1

Start kontroll;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Händelse 2: Kontroll mot server utförd enligt 8 kap. 14 § första stycket

Text till händelsen 2

Kontroll utförd;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Händelse 3: Kontroll mot server fel enligt 8 kap. 14 § andra stycket

Text till händelsen 3

Kontroll fel;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Verifieringslogg

58 §Ett buffringsprogram ska logga uppgifter om utmaningar som skickas från kontrollservern till buffringsprogrammet enligt 14 § 2. Dessa ska registreras i följande loggfil: Verifiering<kassaregisternummer>.log

Händelse 1: Initiering av kontroll enligt 14 §

Text till händelsen 1

start kontroll;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Händelse 2: Kontroll mot server utförd enligt 14 §

Text till händelsen 2

Kontroll utförd;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Händelse 3: Kontroll mot server fel enligt 14 § 6

Text till händelsen 3

Kontroll fel;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

Anslutningslogg

59 §Ett buffringsprogram ska logga uppgifter om kommunikation med kontrollservern. Detta ska registreras i följande loggfil: Anslutning.log

Händelse 1: Initiering av anslutning mot kontrollserver enligt 12 §

Text till händelsen 1

Start session;<buffringsprogramsidentitet>;ååååmmdd;ttmmss

Händelse 2: Avbrott i anslutning mot kontrollserver enligt 13 §

Text till händelsen 2

Avbrott session;<buffringsprogramsidentitet>;ååååmmdd;ttmmss

Händelse 3: Återstart av anslutning mot kontrollserver enligt 13 §

Text till händelsen 3

Återstart session;<buffringsprogramsidentitet>;ååååmmdd;ttmmss

Händelse 4: Anslutning på annat sätt än vad föreskrifterna anger

Text till händelsen 4

Otillåten anslutning; <buffringsprogramsidentitet>;ååååmmdd;ttmmss

Logg för felaktiga signaturer

60 §Ett buffringsprogram ska logga uppgift från kontrollservern att verifiering av signatur enligt 7 kap. 17 § 2 inte har kunnat ske. Detta ska registreras i följande loggfil:

Felaktiga_signaturer.log

Text till händelsen

<kassaregisternummer>;<löpnummer>;ååååmmdd;ttmmss

Logg för uttag av kontrolldata till Skatteverket

61 §Ett buffringsprogram ska logga uttag av kontrolldata till Skatteverket enligt vad som anges i 11 kap. 33 §. Detta ska registreras i följande loggfil:

Kontrolldata.log

Text till händelsen

Uttag av kontrolldata;<skattetjänsteman>;ååååmmdd;ttmmss

Logg för andra aktiviteter

62 §Ett buffringsprogram får logga andra händelser än de som ska loggas enligt vad som anges i 49–61 §§. Detta ska registreras i följande loggfil:

Egen.log

Följande format ska inleda registrering av egna loggtyper.

Text till händelsen

<kassaregisternummer>;<signeringsmodulsidentitet>;ååååmmdd;ttmmss

6 kap. Signeringsmodul

1 §I detta kapitel finns bestämmelser om signeringsmodulen.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Allmänna krav

  2. Kommunikation med buffringsprogram

  3. Signering

  4. Interna data och räknare.

A Allmänna krav

2 §I ett kontrollsystem ska det finnas en signeringsmodul för varje kassaregister. Flera kassaregister får dock dela på en gemensam signeringsmodul om den finns på en dedikerad dator.

3 §Signeringsmodulens funktioner får endast finnas

  1. på en separat hårdvara

  2. i en dedikerad dator

  3. i en virtuell miljö.

Särskilda bestämmelser om separat hårdvara, dedikerad dator och virtuell miljö finns i 4 kap.

4 §Signeringsmodulens funktioner får inte vara integrerade i ett kassaregisterprogram och får inte utgöra en del av ett buffringsprogram.

5 §En signeringsmoduls program får inte kunna exekveras tillsammans med ett kassaregisterprogram och får inte dela minne med ett kassaregisterprogram. Detta gäller inte för en signeringsmodul som finns i en virtuell miljö.

En signeringsmodul som kan hantera fler än ett sammankopplat kassaregister ska separera kvittodata från kassaregistren genom användning av ett kassaregisternummer.

6 §En signeringsmodul får endast ha de funktioner som anges i dessa föreskrifter. Ytterligare funktioner får dock finnas om dessa är nödvändiga för att säkerställa de krav som anges i dessa föreskrifter.

7 §En signeringsmodul ska ha tillräcklig kapacitet för att kunna lagra den information som anges i dessa föreskrifter.

8 §De data som en signeringsmodul lagrar får bara vara åtkomliga för signeringsmodulens programvara.

B Kommunikation med buffringsprogram

9 §En signeringsmodul får endast kunna kommunicera med ett buffringsprogram.

10 §En signeringsmodul får inte kunna ta emot ett nytt kommando från ett buffringsprogram innan den har utfört närmast föregående kommando.

11 §Om ett avbrott eller annat fel uppstår under behandling av en pågående sekvens av kommandon eller om buffringsprogrammet skickar ett kommando som inte ingår i en pågående sekvens ska signeringsmodulen skicka ett felmeddelande till buffringsprogrammet. När ett felmeddelande skickas ska signeringsmodulen inte utföra det kommando som buffringsprogrammet har skickat och som är anledningen till att felmeddelandet skickades.

C Signering

12 §En signeringsmodul ska signera sådana data som buffringsprogrammet begär ska signeras.

Vid signeringen ska signeringsmodulen använda sig av en signeringsnyckel enligt 19–21 §§ och en initialiseringsvektor enligt 33–35 §§.

13 §Den signeringsnyckel som ska användas vid signeringen är den som hör ihop med kassaregisternumret.

14 §Den signeringsfunktion som ska användas är HMAC version SHA-256.

15 §Signeringsmodulen ska använda följande information för att generera en signatur

  • data från buffringsprogrammet

  • signeringsnyckel.

16 §Signaturen beräknas som; signatur = HMAC (data, signeringsnyckel).

17 §Av 25 § framgår att vid varje signering ska signeringsmodulens transaktionsräknare räknas upp ett steg.

Av 28 § framgår att vid varje signering av poster som innehåller kvittodata från kvitto av typ normal ska signeringsmodulens kvittoräknare räknas upp ett steg.

Av 34 § framgår att vid varje signering ska signeringsmodulens initialvektor uppdateras.

D Interna data och räknare

Signeringsnyckel

18 §En signeringsmodul ska ha lagrade signeringsnycklar enligt följande.

Typ

Antal

3 a § – separat hårdvara

en

3 b § – dedikerad dator

en eller flera

3 c § – virtuell miljö

en

19 §En signeringsnyckel ska vara 256 bitar (32 bytes) lång och ha en beräknad styrka på 256 bitar.

20 §En signeringsnyckel ska vara framställd med en certifierad nyckelgenerator som uppfyller kraven i NIST SP 800–22.

21 §En signeringsnyckel får inte innehålla några fasta fält.

Signeringsmodulsidentitet

22 §En signeringsmodul ska lagra en signeringsmodulsidentitet som ska vara en för tillverkaren unik beteckning och bestå av serienummer samt versionsnummer i en sträng på totalt 32 bytes. Tecken för signeringsmodulsidentitet får endast utgöras av a–z, A–Z, 0–9 och bindestreck.

23 §Signeringsmodulen ska lämna uppgift om sin signeringsmodulsidentitet när buffringsprogrammet begär uppgift om detta.

Transaktionsräknare

24 §En signeringsmodul ska ha en transaktionsräknare för varje sammankopplat kassaregister.

En transaktionsräknare ska minst ha en kapacitet på 64 bitar.

25 §En transaktionsräknare ska räkna antalet signerade poster. Värdet för första posten ska vara ett och ska öka med värdet ett för varje post. Transaktionsräknaren får inte kunna minskas eller nollställas.

26 §En signeringsmodul ska lämna uppgift om värdet på sina transaktionsräknare när buffringsprogrammet begär uppgift om detta.

Kvittoräknare

27 §En signeringsmodul ska ha en kvittoräknare för varje sammankopplat kassaregister.

En kvittoräknare ska minst ha en kapacitet på 64 bitar. Kvittoräknaren får inte kunna minskas eller nollställas. Om kvittoräknaren når sitt maximala värde ska signeringsmodulen sluta att fungera.

28 §En kvittoräknare ska räkna signerade poster som innehåller kvittodata av typ normal. Värdet för första posten ska vara ett och ska öka med värdet ett för varje post. Kvittoräknare får inte kunna minskas eller nollställas.

29 §En signeringsmodul ska lämna uppgift om värdet på sina kvittoräknare när buffringsprogrammet begär uppgift om detta.

Beloppsräknare

30 §En signeringsmodul ska ha en beloppsräknare för varje sammankopplat kassaregister.

En beloppsräknare ska minst ha en kapacitet på 64 bitar. Beloppsräknaren får inte kunna minskas eller nollställas. Om beloppsräknaren når sitt maximala värde ska signeringsmodulen sluta att fungera.

31 §En beloppsräknare ska löpande summera försäljningsbelopp som buffringsprogrammet skickar över. Värdet på beloppsräknaren ska vara 0.00 före den första post av försäljningsbelopp som räknas.

32 §En signeringsmodul ska lämna uppgift om värdet på sina beloppsräknare när buffringsprogrammet begär uppgift om detta.

Initialvektor

33 §En signeringsmodul ska ha en initialvektor för varje sammankopplat kassaregister. Värdet på initialvektorn ska bestå av 32 nollor före första signering.

34 §Vid varje signering av en post ska initialvektorn uppdateras.

Efter beräkning av varje signatur enligt första stycket ska signeringsmodulen spara ned signaturen som den nya initialvektorn. Den nya signaturen ersätter den tidigare initialvektorn.

35 §En signeringsmodul ska lämna uppgift om värdet på sina initialvektorer när buffringsprogrammet begär uppgift om detta.

7 kap. Kontrollserver

1 §I detta kapitel finns bestämmelser om kontrollserver.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Allmänna krav

  2. Statuskontroll

  3. Säkerhet

  4. Kommunikation med buffringsprogram

  5. Kontrolldata från buffringsprogram

  6. Lagring av data

  7. Aktivitetsloggar

  8. Generering av avstämningskod

A Allmänna krav

2 §En kontrollserver ska vara en fysiskt separat server.

3 §En kontrollserver ska ha en slumptalsgenerator för att generera de slumptal som ska användas som signeringsnycklar och initialvektorer i signeringsmoduler och i kontrollservern. Slumptalsgeneratorn ska generera ett slumpmässigt bitmönster om 256 bitar som har en styrka om 256 bitar. Slumptalsgeneratorn ska minst uppfylla kvalitetsmåtten i NIST SP 800–90B eller senare och nyckelstyrkan ska vara testad med NIST SP 800–22.

4 §En kontrollserver ska ha ett unikt servercertifikat. Servercertifikatet ska vara ett giltigt EV-certifikat (extended validation) som anskaffas och installeras av tillverkaren. EV-certifikatet ska ha en livslängd på högst två år och den ska använda en nyckel på minst 2048 bitar.

5 §En kontrollserver ska ha en lagrad lista över giltiga signeringsmodulsidentiteter. Endast tillverkaren av kontrollservern ska kunna uppdatera listan över signeringsmodulsidentiteter.

6 §En kontrollserver ska ha en lagrad lista över giltiga ID-strängar för buffringsprogram. Endast tillverkaren av kontrollservern ska kunna uppdatera listan över ID-strängar.

7 §En kontrollserver ska ha en lagrad lista över de kassaregister som har sammankopplats med kontrollservern. Listan ska innehålla uppgifter om kassaregisternummer och digitala fingeravtryck enligt 8 kap. 4 §.

B Statuskontroll

8 §En kontrollserver ska periodiskt, minst en gång per timma, kontrollera status på egna lagringsmedia samt på egna program som har väsentlig betydelse för kontrollserverns funktion.

9 §Om kontrollservern upptäcker att något fel uppstått på program eller hårdvara ska kontrollservern signalera detta på ett tydligt visuellt sätt. Olika hälsostatus ska minimum vara:

OK

Hårdvara inte OK

Programvara inte OK

C Säkerhet

10 §Kontrollserverns fysiska skal ska vara plomberat. Fysiska intrång och intrångsförsök ska ge synliga spår.

Plomberingen får vid reparationsbehov brytas av tillverkaren av kontrollservern eller av denne utsedd behörig person. Om plomberingen bryts ska denna återställas av tillverkaren så snart det kan ske.

Kontrollserverns oanvända fysiska portar ska vara plomberade. Om plomberingarna bryts ska det ge synliga spår.

11 §En kontrollserver ska ha ett ändamålsenligt skydd mot skadlig kod.

D Kommunikation med buffringsprogram

Anslutning till buffringsprogram

12 §När en kontrollserver anropas av ett enligt 8 kap. sammankopplat buffringsprogram som begär inloggning ska detta ske enligt följande.

  1. Kontrollservern upprättar en TLS-anslutning mot buffringsprogrammet och identifierar sig med sitt servercertifikat enligt 4 §. I 9 kap. finns bestämmelser om TLS-anslutningen.

  2. Kontrollservern ska avbryta inloggningen om TLS-anslutningen inte kan upprättas.

  3. Om TLS-anslutning upprättas ska kontrollservern ta emot buffringsprogrammets unika ID-sträng enligt 5 kap. 2 §.

  4. Kontrollservern verifierar den mottagna unika ID-strängen mot den lagrade listan enligt 6 §. Om verifiering kan ske är buffringsprogrammet inloggat.

  5. Om verifiering inte kan ske enligt 4 ska kontrollservern avbryta inloggningen.

  6. Kontrollservern ska ta emot meddelande från buffringsprogrammet om antal kontrollposter som buffringsprogrammet har och som inte har skickats till kontrollservern.

Kontroll av signeringsmoduler och kassaregister

13 §Kontrollservern ska kontrollera enligt 8 kap. sammankopplade signeringsmoduler och kassaregister enligt följande.

  1. Kontrollservern ska minst en gång var tionde minut initiera en kontroll av signeringsmoduler och kassaregister genom att skicka en utmaning till buffringsprogrammet.

  2. Vid utmaning enligt 1 ska kontrollservern skicka ett slumpmässigt värde till buffringsprogrammet. En utmaning ska avse ett kassaregisternummer med tillhörande signeringsmodul.

  3. Kontrollservern ska från buffringsprogrammet ta emot en utmaningskontrollpost med följande uppgifter.

    1. Slumpmässigt värde enligt 2

    2. Tidpunkt enligt realtidsklocka

    3. Värde på transaktionsräknaren enligt 6 kap. 24 § för det utmanade kassaregistret

    4. Värde på initialvektorn enligt 6 kap. 33 § för det utmanade kassaregistret

    5. Kassaregisternummer

    6. Värde på kvittoräknaren enligt 6 kap. 27 § för det utmanade kassaregistret

    7. Värde på beloppsräknaren enligt 6 kap. 30 § för det utmanade kassaregistret

    8. Infogad signatur för utmaningskontrollposten.

  4. Kontrollservern ska använda uppgifterna i 3 a–g för att beräkna en signatur med egen kopia av den utmanade signeringsmodulens signeringsnyckel. Den beräknade signaturen ska jämföras med signaturen enligt 3 h.

  5. Om signaturerna i 4 inte överensstämmer ska kontrollservern markera signeringsnyckeln enligt 4 som ej godkänd och meddela detta till buffringsprogrammet.

  6. Om signaturerna i 4 överensstämmer är det utmanade kassaregistret och tillhörande signeringsmodul godkänt.

  7. Kontrollservern ska efter kontroll enligt 1–6 generera en avstämningskod enligt 34 § och skicka denna till buffringsprogrammet.

Avstängning av en kontrollserver

14 §En kontrollserver ska under avstängning inte acceptera några nya överföringar från ett buffringsprogram. Pågående bearbetningar av överföringar från ett buffringsprogram ska slutföras innan avstängning ska kunna påbörjas.

E Kontrolldata från buffringsprogram

Inhämtning av kontrollposter

15 §En kontrollserver ska från ett buffringsprogram hämta in följande kontrollposter om kontrollservern har fått meddelande att det finns kontrollposter att hämta.

  • Kvittokontrollposter enligt 5 kap. 38–41 §§

  • Utmaningskontrollposter enligt 5 kap. 14 § 3

  • Systemkontrollposter 8 kap. 5 §

  • Aktivitetsloggposter enligt 5 kap. 48 §.

16 §En kontrollserver ska ha kapacitet att utan fördröjning kunna hämta in det antal kontrollposter som enligt 15 § genereras av sammankopplade kassaregister. Kontrollposter ska hämtas in från buffringsprogram enligt följande.

  1. Kontrollservern begär uppgift från ett buffringsprogram hur många kontrollposter som finns att hämta.

  2. Kontrollservern hämtar kontrollposter en åt gången.

Kontrollservern ska bekräfta hämtade kontrollposter och spara ned dessa.

Verifiering av kontrolldata

17 §När en kontrollserver tar emot en kvittokontrollpost av typ normal, en systemkontrollpost eller utmaningskontrollpost från ett buffringsprogram ska den verifiera signaturen i kontrollposten enligt nedan.

  1. Kontrollservern verifierar att den i kontrollposten infogade signaturen är korrekt genom att beräkna en signatur för kontrolldata på samma sätt som signeringsmodulen har beräknat den infogade signaturen.

  2. Om verifiering av den infogade signaturen enligt 1 inte kan göras ska uppgift om detta lagras tillsammans med kontrollposten. Uppgift om detta ska lagras i en logg för felaktiga signaturer.

  3. Resultatet av verifieringen enligt 1 ska skickas till buffringsprogrammet.

F Lagring av data

18 §En kontrollserver ska under minst fem år lagra följande uppgifter.

  1. Inhämtade kontrolldata enligt 15 §.

  2. Uppgifter om signeringsnycklar och vilka kassaregisternummer som de hör ihop med.

  3. Servercertifikat enligt 4 §.

  4. Uppgifter om giltiga signeringsmodulsidentiteter enligt 5 §.

  5. Uppgifter om giltiga ID-strängar enligt 6 §.

  6. Uppgifter om kassaregister och digitala fingeravtryck enligt 7 §.

I 10 kap. finns bestämmelser som reglerar åtkomst till kontrollservern.

G Aktivitetsloggar

19 §En kontrollserver ska löpande generera följande aktivitetsloggar.

  • Systemlogg

  • Sammankopplingslogg

  • Verifieringslogg

  • Anslutningslogg

  • Logg för sammankopplade kassaregister

  • Logg för felaktiga signaturer

  • Logg för uttag av kontrolldata till Skatteverket

  • Logg för andra aktiviteter

  • Logg för inloggningar på en kontrollserver

En aktivitetsloggspost ska innehålla en händelse i en textsträng.

Systemlogg

20 §En kontrollserver ska löpande skriva till loggfilen Serversystem.log. Loggfilen ska radvis innehålla uppgifter enligt vad som anges i 21–23 §§.

21 §Loggfilen enligt 20 § ska innehålla uppgifter om start och avstängning av enskilda program på kontrollservern. Operativsystem anses som ett program.

Händelse 1: Start av program

Text till händelsen 1

<programnamn>;start;ååååmmdd;ttmmss

Händelse 2: Stängning av program

Text till händelsen 2

<programnamn>;avstängd;ååååmmdd;ttmmss

22 §Loggfilen enligt 20 § ska innehålla uppgift om kontrollservern vid start upptäcker att föregående avstängning av kontrollservern inte skett på ett enligt manualen korrekt sätt.

Text till händelsen

Kontrollservern felaktigt avstängt;ååååmmdd;ttmmss

23 §Loggfilen enligt 20 § ska innehålla uppgifter om kontroller som utförts enligt 8 § och resultat av kontroll av hälsostatus enligt 9 §.

Händelse 1: Start av program

Text till händelse 1

Statuskontroll;ååååmmdd;ttmmss

Händelse 2: Statuskontroll av hårdvara

Text till händelse 2

Statuskontroll fel;<hårdvarunamn>;ååååmmdd;ttmmss

Händelse 3: Statuskontroll av mjukvara

Text till händelse 3

Statuskontroll fel;<mjukvarunamn>;ååååmmdd;ttmmss

Sammankopplingslogg

24 §En kontrollserver ska löpande skriva till loggfilerna Sammankoppling<kassaregisternummer>.log. Loggfilerna ska för varje sammankopplat kassaregister innehålla följande uppgifter.

Händelse 1: Slutförd sammankoppling av kassaregister enligt 8 kap. 10 §

Text till händelsen 1

Sammankoppling;<digitalt fingeravtryck>;ååååmmdd;ttmmss

Händelse 2: Kontroll av sammankoppling av kassaregister enligt 8 kap. 14 §

Text till händelsen 2

Kontroll sammankoppling;<digitalt fingeravtryck>;ååååmmdd;ttmmss

Verifieringslogg

25 §En kontrollserver ska löpande skriva till loggfilerna Serververifiering<kassaregisternummer>.log. Loggfilerna ska för varje sammankopplat kassaregister innehålla följande uppgifter avseende utförd kontroll av signeringsmoduler och kassaregister enligt 13 §.

Händelse 1: Kontroll utförd

Text till händelsen

Kontroll utförd; signeringsmodulsidentitet;ååååmmdd;ttmmss

Händelse 2: Ingen kontakt

Text till händelsen

Ingen kontakt; signeringsmodulsidentitet;ååååmmdd;ttmmss

Anslutningslogg

26 §En kontrollserver ska löpande skriva till loggfilerna Serveranslutning<buffringsprograms ID-sträng>.log. Loggfilerna ska för varje sammankopplat buffringsprogram innehålla följande uppgifter.

Händelse 1: Accepterad inloggning av buffringsprogram enligt 12 § 4

Text till händelsen 1

Anslutning accepterad;ååååmmdd;ttmmss

Händelse 2: Nekad inloggning av buffringsprogram enligt 12 § 2 och 5

Text till händelsen 2

Nekad inloggning;ååååmmdd;ttmmss

Händelse 3: Buffringsprogrammet loggar ut enligt 5 kap. 9 §

Text till händelsen 3

Utloggning;ååååmmdd;ttmmss

Logg för sammankopplade kassaregister

27 §En kontrollserver ska för sammankopplade kassaregister logga uppgifter enligt 5–7 §§ för signeringsmodulsidentiteter, ID-strängar för buffringsprogram och kassaregisternummer. Detta ska registreras i loggfilen Server_sammankopplade_kassaregister.log.

Text till händelsen

<kassaregisternummer>;<signeringsmodulsidentitet>;<buffringsprogramsidentitet>;ååååmmdd;ttmmss

Logg för felaktiga signaturer

28 §En kontrollserver ska logga uppgift att verifiering av signatur enligt 17 § 2 inte har kunnat ske. Detta ska registreras i följande loggfil:

Server_felaktiga_signaturer.log

Text till händelsen

<organisationsnummer>;<kassaregisternummer>;<löpnummer>;ååååmmdd;ttmmss

Logg för uttag av kontrolldata till Skatteverket

29 §En kontrollserver ska logga uttag av kontrolldata till Skatteverket. Detta ska registreras i loggfilen Serverkontrolldata.log.

Text till händelsen

Uttag av kontrolldata;<skattetjänsteman>;ååååmmdd;ttmmss

Logg för andra aktiviteter

30 §En kontrollserver får löpande logga andra händelser än vad som ska loggas enligt 20–29 och 31 §§. Detta ska registreras i loggfilen Server_egen.log.

Följande format ska inleda registrering av egna loggtyper.

Text till händelsen

<loggtyp>;ååååmmdd;ttmmss

Logg för inloggningar på en kontrollserver

31 §En kontrollserver ska logga användare som loggar in på kontrollservern. Även felaktiga försök att logga in ska loggas. Detta ska registreras i loggfilen Server_access.log.

Händelse 1: Godkänd inloggning på kontrollserver

Text till händelsen

Inloggning;<användarnamn>;ååååmmdd;ttmmss

Händelse 2: Ej godkänt inloggningsförsök på kontrollserver

Text till händelsen

Fel inloggning;<användarnamn>;ååååmmdd;ttmmss

H Generering av avstämningskod

32 §I 13 § finns bestämmelser om kontroll av sammankopplade signeringsmoduler och kassaregister. Vid sådan kontroll ska kontrollservern generera en avstämningskod för varje kassaregisternummer.

SKVFS (2014:14)

33 §En kontrollserver ska använda följande kontrolldata för generering av en avstämningskod.

Nr

Kontrolldata

Hänvisning

1

Datum och tid

5 kap. 33 § A N1

2

Löpnummer

5 kap. 33 § A N5

3

Försäljningsbelopp

5 kap. 33 § A N7

4

Ackumulerat försäljningsbelopp

5 kap. 17 §

5

Ackumulerat returbelopp

5 kap. 18 §

Kontrolldata ska avse senast inkomna kvittokontrolldata för normalkvitto.

SKVFS (2014:14)

34 §Avstämningskoden ska bestå av två delar.

Del 1: Signeringskod, 32 tecken

Del 2: Krypteringskod, 80 tecken

Avgränsning mellan del 1 och del 2 ska göras med tecknet semikolon (;). Den sammanlagda längden ska vara 113 tecken.

Del 1, Signeringskod

Signeringskoden ska skapas med följande steg (1–2).

  1. Kontrolldata enligt 33 § ska signeras med algoritmen enligt 39 §.

    Signaturen ska vara på 20 bytes.

  2. Resultatet ska konverteras med bas-32 kodning för att skapa signeringskoden.

    Signeringskoden ska bli 32 alfanumeriska tecken i UTF-8 teckenformat.

Del 2, Krypteringskod

Krypteringskoden ska skapas med följande steg (1–3).

  1. Underlaget för generering av krypteringskoden ska bestå av en 316-bitars datapost med följande fält:

    ## TABELL i lista ##

  2. Underlaget för generering av krypteringskoden (tabellen ovan) ska krypteras med den symmetriska krypteringsalgoritmen enligt 38 §.

  3. Resultatet ska konverteras med bas-32 kodning och fyllas ut med ”===” för att skapa den krypterade kontrollinformationen. Krypteringskoden ska presenteras i UTF-8 teckenformat.

Fält (bitar)

Data

Beräkning

0–111
(längd 112 bitar)

Datumsträng som upptar 112 bitar

Formatet ska vara enligt 5 kap. 33 § A N1

112–159
(längd 48 bitar)

48-bitars heltal som innehåller löpnummer

Löpnummer enligt 5 kap. 33 § A N5 från detta kvittos kvittodata. Om löpnummer inte ryms inom 48-bitar ska värdet på detta fält vara 281474976710655.

160–207
(längd 48 bitar)

48-bitars heltal som innehåller försäljningsbelopp angivet i öre

Försäljningsbelopp enligt 5 kap. 33 § A N7 från detta kvittos kvittodata. Om beloppet är negativt ska detta representeras med ett tvåkomplement binärt tal.

208–267
(längd 60 bitar)

60-bitars heltal som innehåller ackumulerat försäljningsbelopp

Ackumulerat försäljningsbelopp från räknare A enligt 5 kap. 17 §

268–315
(längd 48 bitar)

48-bitars heltal som innehåller ackumulerat returbelopp

Ackumulerat returbelopp från räknare B enligt 5 kap. 18 §

Individuella krypteringsnycklar

Generering av individuella krypteringsnycklar

35 §En giltig huvudnyckel utfärdad av Skatteverket ska användas vid generering av sådana individuella krypteringsnycklar som avses i 36 §. När en huvudnyckel upphör att vara giltig ska tillverkaren radera de individuella krypteringsnycklarna. Nya individuella krypteringsnycklar får endast genereras med användning av en ny giltig huvudnyckel från Skatteverket. I 40 § finns bestämmelser om utfärdande av Skatteverkets huvudnyckel. I 12 kap. 27–31 §§ finns bestämmelser om hur tillverkaren ska hantera Skatteverkets huvudnyckel i sin produktionsmiljö.

Skatteverkets huvudnyckel får inte användas för annat ändamål än vad som anges i första stycket.

36 §Följande tre individuella krypteringsnycklar ska genereras för varje kontrollserver.

  1. Individuell krypteringsnyckel: lägg till versal ”K” på slutet av tillverkningsnumret.

    Individuell krypteringsnyckel =

    HMAC-SHA256(<huvudnyckel>,<tillverkningsnummer>K)

    Detta ska ge 256 bitar.

  2. Individuell initialiseringsvektor: lägg till versal ”I” på slutet av tillverkningsnumret.

    Individuell initialiseringsvektor =

    HMAC-SHA256( <huvudnyckel>,<tillverkningsnummer>I)

    Endast de 128 minst signifikanta bitarna i resultatet ska användas.

  3. Individuell signeringsnyckel: lägg till versal ”A” på slutet av tillverkningsnumret.

    Individuell signeringsnyckel =

    HMAC-SHA256(<huvudnyckel>,<tillverkningsnummer>A)

    Detta ska ge 256 bitar.

37 §En kontrollserver ska ha ett tillverkningsnummer med följande format:

Fält

Format

Tillverkarens identitet

 5 alfanumeriska tecken

Kontrollserverns identitet

12 alfanumeriska tecken

Fälten ska vara i UTF-8 teckenformat och högerjusterad, eventuellt utfylld med blanka tecken (mellanslag) för att uppnå angiven fältlängd.

Krypteringsalgoritm

38 §Den symmetriska krypteringsalgoritmen AES-256 i CBC-läge ska användas för att kryptera data som skickas från kontrollservern till buffringsprogrammet.

Den individuella krypteringsnyckeln enligt 36 § 1 och den individuella initialiseringsvektorn enligt 36 § 2 ska användas i algoritmen.

Data ska inför kryptering fyllas på med nollor (0) till nödvändig längd för krypteringsalgoritmen.

Signeringsalgoritm

39 §För signering ska algoritmen HMAC-SHA1 användas.

Den individuella signeringsnyckeln enligt 36 § 3 ska användas i algoritmen.

Skatteverkets huvudnyckel

40 §Av 35 § första stycket framgår att en giltig huvudnyckel utfärdad av Skatteverket ska användas vid generering av individuella krypteringsnycklar till varje kontrollserver. På ansökan av den som vill tillverka kontrollsystem ska Skatteverket skyndsamt utfärda en huvudnyckel om sökanden kan uppvisa certifikat att aktuellt kontrollsystem och kontrollserverns miljö är certifierade i enlighet med dessa föreskrifter. Skatteverkets huvudnyckel utfärdas endast för en viss tid. I 12 kap. 27–31 §§ finns bestämmelser om hur tillverkaren ska hantera Skatteverkets huvudnyckel i kontrollserverns miljö.

Skatteverkets huvudnyckel får inte användas för generering av individuella krypteringsnycklar som avses i 36 § om sådana åtgärder som ett certifieringsorgan ska utföra enligt 13 kap. eller 14 kap. inte utförs. Om sådana åtgärder inte kan utföras beroende på att certifieringsorganets ackreditering upphört att gälla utgör detta inte hinder mot att Skatteverkets huvudnyckel får användas för att generera individuella krypteringsnycklar. Detta gäller under högst sex månader efter det att certifieringsorganets ackreditering återkallades.

8 kap. Sammankoppling

1 §I detta kapitel finns bestämmelser om hur sammankoppling av kassaregister ska ske med ett kontrollsystem.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Sammankoppling

  2. Kontroll av sammankoppling

  3. Ny sammankoppling efter ej godkänd verifiering

A Sammankoppling

2 §Sammankoppling ska ske av kassaregister, buffringsprogram, signeringsmodul och kontrollserver. Sammankopplingen styrs av buffringsprogrammet och ska genomföras i två steg.

  1. Mellan buffringsprogrammet, ett kassaregister och dess signeringsmodul.

  2. Mellan buffringsprogrammet och kontrollservern.

Sammankopplingen enligt 1–2 ska göras för varje kassaregister som ska anslutas till kontrollsystemet. Kontrollsystemet får inte hantera kvittodata från kassaregister innan sammankoppling är gjord.

Buffringsprogram – kassaregister och signeringsmodul

3 §Ett buffringsprogram ska samla in följande information för varje kassaregister som ska sammankopplas med kontrollsystemet.

Systeminformation för buffringsprogrammet:
  • ID-sträng från buffringsprogrammet

  • ID-sträng från processorn (CPUID)

  • ID-sträng i BIOS

  • ID-sträng i lokal hårddisk eller annat icke-flyktigt minne

  • MAC-adress för nätverkskort.

Systeminformation om kassaregistret:
  • Kassaregisternummer

Systeminformation om signeringsmodulen:
  • Signeringsmodulsidentitet

4 §Buffringsprogrammet ska använda systeminformationen enligt 3 § för att generera ett digitalt fingeravtryck med algoritmen SHA-256.

5 §Buffringsprogrammet ska sammanställa en systemkontrollpost innehållande följande information.

  1. Digitalt fingeravtryck enligt 4 §

  2. Kassaregisternummer

  3. Tidpunkt från realtidsklocka

  4. Värdet på signeringsmodulens transaktionsräknare

  5. Värdet på signeringsmodulens initialvektor

6 §Buffringsprogrammet ska för en systemkontrollpost enligt 5 § begära att signeringsmodulen generar en signatur. Signaturen ska infogas i systemkontrollposten. Av 16 § framgår att buffringsprogrammet ska lagra uppgifterna och i 5 kap. 43–44 §§ framgår hur uppgifterna ska skickas till kontrollservern.

Buffringsprogram – kontrollservern

7 §Buffringsprogrammet ska ansluta sig till kontrollservern genom att logga in enligt 5 kap. 12 §.

8 §Buffringsprogrammet ska meddela kontrollservern att det finns en systemkontrollpost enligt 5 § att hämta för verifiering av sammankopplingen.

9 §Kontrollservern ska hämta systemkontrollpost enligt 5 § för verifiering. Av 7 kap. 17 § framgår hur verifieringen ska göras.

10 §När buffringsprogrammet får bekräftelse från kontrollservern att systemkontrollposten har verifierats är sammankopplingen klar och buffringsprogrammet får hantera kvittodata från det sammankopplade kassaregistret.

Av 7 kap. 18 § framgår att kontrollservern ska lagra uppgifter om de kassaregister och signeringsmoduler som har sammankopplats med kontrollsystemet.

11 §Statuskod nr 1 enligt tabell i 5 kap. 11 § ska skickas till kassaregistret för att indikera att buffringsprogrammet är redo att hantera försäljningar.

B Kontroll av sammankoppling

12 §När buffringsprogrammet startas ska det kontrollera att de kassaregister som är anslutna till kontrollsystemet också är sammankopplade med kontrollsystemet. Kontrollen ska göras mot de uppgifter som har lagrats enligt 10 § andra stycket.

Kontroll av sammankopplingen ska ske varje gång ett kassaregister startas.

13 §Buffringsprogrammet ska minst var tjugofjärde timme kontrollera att de kassaregister som är anslutna till kontrollsystemet också är sammankopplade med kontrollsystemet. Kontrollen ska göras mot de uppgifter som har lagrats enligt 10 § andra stycket.

Verifiering av digitalt fingeravtryck

14 §Vid kontroll enligt 12–13 §§ ska buffringsprogrammet framställa en systemkontrollpost och skicka denna till kontrollservern för verifiering av i kontrollservern lagrat digitalt fingeravtryck.

Om verifieringen inte godkänns ska detta meddelas buffringsprogrammet och statuskod nr 5 enligt tabell i 5 kap. 11 § ska skickas till kassaregistret. Buffringsprogrammet får därefter inte ta emot kvittodata från det ej verifierade kassaregistret innan det har sammankopplats på nytt.

Ej kontakt med kontrollservern

15 §Om buffringsprogrammet vid kontroll av sammankopplingen enligt 12–14 §§ inte får kontakt med kontrollservern får buffringsprogrammet enligt 5 kap. 45 § hantera kvittodata från sammankopplade kassaregister under högst 48 timmar.

Statuskod nr 3 enligt tabell i 5 kap. 11 § ska skickas till kassaregistret om buffringsprogrammet inte har kontakt med kontrollservern. Statuskod nr 7 ska skickas till kassaregistret om buffringsprogrammet inte har kontakt med kontrollservern på mer än 48 timmar.

Lagring

16 §Buffringsprogrammet ska lagra uppgifter om sammankoppling och kontroll av sammankoppling. Uppgifterna får inte raderas eller skrivas över.

C Ny sammankoppling efter ej godkänd verifiering

17 §Om kontrollservern vid kontroll enligt 12–14 §§ inte godkänner det lagrade digitala fingeravtrycket för ett visst kassaregister får en ny sammankoppling av detta kassaregister endast initieras av tillverkaren av kontrollsystemet.

Vid sådan initiering ska kontrollservern till buffringsprogrammet skicka begäran om ny sammankoppling av det aktuella kassaregisternumret. Vid sammankoppling ska buffringsprogrammet generera en ny systemkontrollpost enligt 5 §. Systemkontrollposten ska skickas till kontrollservern och det digitala fingeravtrycket i systemkontrollposten utgör det nya digitala fingeravtrycket.

9 kap. Kommunikation inom kontrollsystemet

1 §I detta kapitel finns bestämmelser om hur kontrollsystemets olika delar ska kommunicera med varandra.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Säker anslutning

  2. Kommunikationsbekräftelse

A Säker anslutning

2 §Ett buffringsprogram och en kontrollserver ska kommunicera via en anslutning som använder protokollet TLS version 1.0 eller senare.

Ett buffringsprogram och sammankopplade kassaregister ska kommunicera via en anslutning som använder protokollet TLS version 1.0 eller senare.

TLS-anslutningen ska för algoritmuppsättningar och nyckellängder följa rekommendationerna i aktuell utgåva av NIST SP 800-52.

3 §Om ett buffringsprogram och ett sammankopplat kassaregister är installerade på samma fysiska dator behöver kommunikationen inte ske med TLS 1.0.

B Kommunikationsbekräftelse

4 §All data som skickas inom ett kontrollsystem eller tas emot från ett sammankopplat kassaregister ska bekräftas enligt följande.

  1. Ett buffringsprogram ska bekräfta data som tas emot från ett kassaregister, en signeringsmodul och en kontrollserver.

  2. En signeringsmodul ska bekräfta data som tas emot från ett buffringsprogram.

  3. En kontrollserver ska bekräfta data som tas emot från ett buffringsprogram.

10 kap. Kontrollserverns miljö

1 §En kontrollserver i drift ska finnas i en miljö som uppfyller kraven i detta kapitel.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Allmänna krav

  2. Ledningssystem

  3. Administrativ säkerhet

  4. Fysisk säkerhet

  5. Informationssäkerhet

  6. Driftsäkerhet

  7. Underrättelse

  8. Bevarande av data

A Allmänna krav

2 §En kontrollservers miljö ska tillhandahållas i Sverige av en tillverkare av ett kontrollsystem eller en av denne anlitad utomstående part. De krav som finns i detta kapitel ska uppfyllas av tillverkaren av kontrollsystemet eller i förekommande fall av en av denne anlitad part som tillhandahåller kontrollserverns miljö. Om utomstående parter anlitas ska detta regleras i avtal.

3 §En kontrollservers hölje ska vara tydligt märkt med minst följande information.

  • Namn på kontrollsystemet

  • Versionsnummer för kontrollserverns programvara

  • Beteckning för certifikat för kontrollsystemet

  • Beteckning för certifikat för kontrollserverns miljö

  • Beteckningen SKVFS 2014:8.

B Ledningssystem

4 §Tillverkaren ska ha dokumenterade rutiner i form av ledningssystem för kontrollserverns miljö. Ledningssystemet ska minst omfatta de åtgärder som anges i 5–12 §§. Ledningssystemet ska kontinuerligt revideras för att svara upp mot de krav och risker som finns.

5 §Det ska finnas en riskanalys som underlag för tillverkarens ledningssystem. Tillverkaren ska initialt och minst en gång per år göra en riskanalys. En riskanalys ska alltid ingå som underlag vid varje ändring av kontrollserverns miljö. En riskanalys behöver dock inte göras om ändringen av kontrollserverns miljö uppenbarligen inte förändrar hotbilden mot miljön (säkerhet och kvalitet).

6 §En riskanalys ska minst omfatta

  • intrångsskydd

  • behörigheter till en kontrollserver

  • behörighet att hantera information i en kontrollserver

  • hantering av krypteringsnycklar

  • vilka hot som finns mot informationssäkerheten

  • tillgångar knutna till kontrollservens miljö.

Med tillgångar avses sådana tillgångar som är kritiska för kontrollserverns miljö.

7 §Tillverkaren ska vidta de skyddsåtgärder för kontrollserverns miljö som i riskanalysen bedömts som nödvändiga för att upprätthålla lämpligt skydd för tillgångar knutna till kontrollservern.

Tillverkaren ska vidta nödvändiga skyddsåtgärder samt bevaka kvarstående risker.

Tillverkaren ska hantera nya och kvarstående risker genom omvärldsbevakning i den omfattning som behövs.

8 §Tillverkaren ska tydligt definiera ansvarsfördelningen för kontrollserverns miljö enligt bestämmelserna i detta kapitel samt fördela ansvaret i roller. För varje roll ska det finnas en riskprofil som tar hänsyn till kraven i 9 §.

9 §Tillverkaren ska se till att de roller som är definierade upprätthålls av personer som har tillräcklig kompetens samt att personerna är lämpliga för sina roller och förstår sitt ansvar för de roller som de tilldelats.

10 §För kontrollserverns miljö ska det finnas rutiner för hantering och rapportering av säkerhetsincidenter och för incidentrapportering. Resultatet av incidenthanteringen ska användas i riskhanteringen.

11 §Kontrollserverns miljö ska skyddas genom behörighetskontroller med spårbarhet ner på individnivå. För att säkerställa spårbarhet ska nödvändiga uppgifter samlas in och lagras. Uppgifterna ska lagras på ett säkert sätt och under så lång tid som bedöms skäligt av certifieringsorganet.

12 §Det ska finnas ett tydligt regelverk för ändringshantering för kontrollserverns miljö och ändringar ska dokumenteras. Det ska finnas rutiner för ändringshantering avseende exempelvis uppdatering av programvara i en kontrollserver.

Efterlevnaden av rutinerna ska kontrolleras genom interna revisioner. Genomgång av rutinernas lämplighet ska ske kontinuerligt.

C Administrativ säkerhet

13 §Endast särskilt utsedd personal får ha åtkomst till en kontrollserver och endast för administration och drift. Tillverkaren ska säkerställa att varje användares åtkomstmöjligheter är begränsade. Åtkomstmöjligheten ska vara baserade på behörighet, ansvarsområde och tilldelad roll. Behörigheten ska för varje individ vara definierad både vad avser fysisk åtkomst och möjligheten att logga in i systemet. Tillverkaren ska regelbundet analysera insamlade uppgifter med avseende på att säkerställa att ingen obehörig åtkomst eller obehörig användning av data och system har skett.

14 §För att få åtkomst till en kontrollservers funktioner ska minst två personer logga in.

15 §Kontrolldata får endast läsas ut från en kontrollserver till ett av Skatteverket tillhandahållet lagringsmedium enligt vad som är reglerat i 11 kap.

Kontrolldata får dock läsas ut på lagringsmedia som tillhandahålls av ett certifieringsorgan om det avser ett kassaregister som tillhör certifieringsorganet och som används i certifieringsverksamheten.

16 §Det ska finnas en manuellt förd liggare för varje kontrollserver där följande uppgifter löpande ska noteras.

  1. Ändringar, service och uppdateringar.

  2. Incidenter avseende kontrollserver eller dess miljö.

Uppgifterna i liggaren ska bevaras under minst tre år efter det att de antecknades. Uppgifterna ska på begäran tillhandahållas Skatteverket.

D Fysisk säkerhet

17 §Det ska finnas ett ändamålsenligt brandskydd för den plats där en kontrollserver förvaras. Det ska finnas ett lämpligt system för upptäckt och åtgärd av brand.

18 §Larm för att upptäcka vattenläckor ska finnas för den plats där en kontrollserver förvaras om det där finns rördragningar innehållande vatten eller om det av andra orsaker finns risk för vattenskador.

19 §En kontrollserver ska ha tillgång till reservkraft för el som ska klara serverns drift under minst 48 timmar.

20 §Kontrollservern ska vara placerad i ett säkert utrymme omgärdat av ett ändamålsenligt skalskydd med tillträdesspärrar och inpasseringskontroller.

E Informationssäkerhet

21 §Brandvägg ska finnas för att förhindra att obehöriga får åtkomst till en kontrollservers data. Det ska finnas rutiner för kontroll av brandvägg.

22 §Viruskontroll ska ske automatiskt. Det ska finnas rutiner för uppföljning av skydd enligt 7 kap. 11 §.

23 §Säkerhetskopiering av kontrolldata och programvara ska utföras regelbundet enligt fastställd instruktion. En säkerhetskopia av data från en kontrollserver ska vara krypterad på ett ändamålsenligt sätt och ska bevaras på ett säkert sätt. Det ska finnas rutiner för kontroll av att säkerhetskopieringen fungerar och att återläsning sker på ett korrekt sätt.

24 §En tillverkare ska hantera individuella krypteringsnycklar enligt 7 kap. 36 § på ett säkert sätt.

25 §En individuell krypteringsnyckel får inte kopieras eller lagras utanför en kontrollserver efter det att krypteringsnyckeln är installerad i kontrollservern. Kopior av individuella krypteringsnycklar som har skapats för mellanlagring ska genast förstöras och på ett sådant sätt att de inte kan återskapas.

26 §Tillverkaren ska genast underrätta certifieringsorganet och Skatteverket om en individuell krypteringsnyckel misstänks vara eller har konstaterats vara röjd. Certifieringsorganet och Skatteverket ska också underrättas om orsaken till detta.

F Driftsäkerhet

27 §En kontrollserver ska vara i kontinuerlig drift för att kunna ta emot kontrolldata från enligt 8 kap. sammankopplade kassaregister. Detta gäller inte under tid då kontrollservern behöver vara avstängd för nödvändigt underhåll.

28 §En kontrollserver ska ha säkrad tillgång till Internet för att uppnå en sannolik tillgänglighet på minst 99 % av tiden.

29 §I kontrollserverns miljö ska det finnas tillgång till system och hårdvara för att en kontrollserver ska ha sannolik driftsäkerhet på minst 99 % av tiden.

30 §Regelbunden mätning och uppföljning av nödvändig kapacitet ska genomföras.

G Underrättelse

31 §Vid utbyte av en kontrollserver ska tillverkaren genast underrätta certifieringsorganet och Skatteverket. Detta gäller även vid installation av ytterligare kontrollservrar.

Tillverkaren ska genast underrätta certifieringsorganet och Skatteverket om någon allvarlig driftstörning uppkommer.

H Bevarande av data

32 §Av 7 kap. 18 § framgår att en kontrollserver under minst fem år ska lagra vissa uppgifter. Uppgifterna ska lagras under fem år även om det företag som uppgifterna avser har upphört att vara anslutet till de tjänster som en kontrollserver ska tillhanda enligt dessa föreskrifter.

11 kap. Kontrolldata till Skatteverket

1 §I detta kapitel finns bestämmelser om hur kontrolldata ska kunna överföras från ett kontrollsystem till Skatteverket och om hur länge kontrolldata ska bevaras.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Utläsning och format på data

  2. Kontrolldata från ett buffringsprogram

  3. Kontrolldata från en kontrollserver

  4. Bevarande av kontrolldata

A Utläsning och format på data

Skatteverkets utläsningsfil

2 §Ett buffringsprogram och en kontrollserver ska kunna läsa en av Skatteverket tillhandahållen utläsningsfil i XML-format med UTF-8 som teckenkodning.

Ett buffringsprogram ska kunna läsa en utläsningsfil från ett externt medium kopplat via minst USB2 eller eSATA2.

En kontrollserver ska kunna läsa en utläsningsfil från ett externt medium kopplat via minst USB3, eSATA3 eller Thunderbolt.

3 §En utläsningsfil inleds alltid med XML-deklarationen <XML version=”1.0”>. Efter XML-deklarationen anges ett element med starttaggen <Kontrolldata> och sluttaggen </Kontrolldata>. Mellan starttaggen och sluttaggen anges olika element som innehåller olika parametrar för utläsning av kontrolldata. Element och parametrar för olika utläsningsfiler anges i 4–13 §§.

Element och parametrar i en utläsningsfil

4 §Parametrar i olika element för utläsning av olika slag av kontrolldata anges enligt följande.

  1. <Typ>Standard</Typ>

    1. Buffringsprogram enligt 22–26 §§

    2. Kontrollserver enligt 35–39 §§

  2. <Typ>Standard med loggar</Typ>

    1. Buffringsprogram enligt 22–30 §§

    2. Kontrollserver enligt 35–43 §§

  3. <Typ>All kontrolldata</Typ>

    1. Buffringsprogram enligt 22–33 §§

    2. Kontrollserver enligt 35–54 §§

  4. <Typ>Logg felaktiga signaturer</Typ>

    1. Kontrollserver enligt 53 §

  5. <Typ>Logg inloggningar</Typ>

    1. Kontrollserver enligt 54 §

5 §Parametrar för utläsning enligt 4 § för en tidsperiod anges med elementen Starttid och Sluttid enligt följande.

  1. <Starttid>12 tecken, ååååmmddttmmss </Starttid>

  2. <Sluttid>12 tecken, ååååmmddttmmss </Sluttid>

Enbart ett element för Starttid och ett element för Sluttid anges i en utläsningsfil. Om både Starttid och Sluttid anges med asterix (*) är tidsperioden för utläsning av kontrolldata inte begränsad i tid.

6 §Parameter för utläsning enligt 4 § för organisationsnummer anges utan bindestreck med elementet Orgnr enligt följande.

<Orgnr>10 tecken</Orgnr>

Utläsning av kontrolldata för alla organisationsnummer anges med en asterix (*).

7 §Parameter för utläsning enligt 4 § för ett eller flera kassaregisternummer anges med elementet Kassaregnr enligt följande. Varje kassaregisternummer utgör ett element.

<Kassaregnr>27 tecken</Kassaregnr>

8 §I en utläsningsfil finns uppgift som identifierar vilken tjänsteman på Skatteverket som har angett hur utläsning av kontrolldata ska göras. Detta anges med elementet SKVPerson enligt följande.

<SKVPerson>4 tecken</SKVPerson>

Formatmallar för utläsningsfiler

9 §En utläsningsfil för kontrolldata av typen Standard enligt 4 § 1 innehåller följande element.

<XML version=”1.0”>

    <Kontrolldata>

    <Typ>Standard<Typ/>

    <Starttid>ååååmmddttmmss</Starttid>

    <Sluttid>ååååmmddttmmss</Sluttid>

    <Orgnr>organisationsnummer</Orgnr>

    <Kassaregnr>kassaregisternummer<Kassaregnr>

    <Kassaregnr>kassaregisternummer<Kassaregnr>

    <SKVPerson>XXXX</SKVPerson>

</Kontrolldata>

10 §En utläsningsfil för kontrolldata av typen Standard med loggar enligt 4 § 2 innehåller följande element.

<XML version=”1.0”>

<Kontrolldata>

    <Typ>Standard med loggar</Typ>

    <Starttid>ååååmmddttmmss</Starttid>

    <Sluttid>ååååmmddttmmss</Sluttid>

    <Orgnr>organisationsnummer</Orgnr>

    <Kassaregnr>kassaregisternummer<Kassaregnr>

    <Kassaregnr>kassaregisternummer<Kassaregnr>

    <SKVPerson>XXXX</SKVPerson>

</Kontrolldata>

11 §En utläsningsfil för kontrolldata av typen All kontrolldata enligt 4 § 3 innehåller följande element.

<XML version=”1.0”>

<Kontrolldata>

    <Typ>All kontrolldata<Typ/>

    <Starttid>ååååmmddttmmss</Starttid>

    <Sluttid>ååååmmddttmmss</Sluttid>

    <Orgnr>organisationsnummer</Orgnr>

    <SKVPerson>XXXX</SKVPerson>

</Kontrolldata>

12 §En utläsningsfil för kontrolldata av typen Logg felaktiga signaturer enligt 4 § 4 innehåller följande element.

<XML version=”1.0”>

<Kontrolldata>

    <Typ>Logg felaktiga signaturer<Typ/>

    <Starttid>ååååmmddttmmss</Starttid>

    <Sluttid>ååååmmddttmmss</Sluttid>

    <Orgnr>organisationsnummer</Orgnr>

    <Kassaregnr>kassaregisternummer<Kassaregnr>

    <Kassaregnr>kassaregisternummer<Kassaregnr>

    <SKVPerson>XXXX</SKVPerson>

</Kontrolldata>

13 §En utläsningsfil för kontrolldata av typen Logg inloggningar enligt 4 § 5 innehåller följande element.

<XML version=”1.0”>

<Kontrolldata>

    <Typ>Logg inloggningar<Typ />

    <Starttid>ååååmmddttmmss</Starttid>

    <Sluttid>ååååmmddttmmss</Sluttid>

    <SKVPerson>XXXX</SKVPerson>

</Kontrolldata>

Utläsning av kontrolldata

14 §När ett buffringsprogram eller en kontrollserver hittar en utläsningsfil vid namn utlasning.skv ska buffringsprogrammet/ kontrollservern påbörja utläsning av kontrolldata och tydligt signalera visuellt eller genom ljud att utläsning av kontrolldata har startats.

15 §Kontrolldata som ett buffringsprogram eller en kontrollserver ska läsa ut till Skatteverket ska skrivas till filer med teckenkodningen UTF-8. Kontrolldata och loggfiler ska lagras på externt medium enligt 2 § andra stycket.

Loggfiler som ska skapas enligt 17 § vid överföring av kontrolldata ska ha teckenkodning UTF-8.

16 §Kontrolldata som skrivs till filer enligt 15 § får endast skrivas med tecknen a–ö, A–Ö, 0–9, komma (,), bindestreck (-) och semikolon (;). Semikolon (;) får endast användas som fältavskiljare.

Fält som innehåller verksamhetsadresser får innehålla mellanslag.

17 §Vid utläsning av kontrolldata ska ett buffringsprogram och en kontrollserver skapa en loggfil vid namn skv_uttag.log med följande uppgifter.

  1. Tidpunkt i formatet ååååmmddttmmss när en utläsning påbörjas

  2. Tidpunkt i formatet ååååmmddttmmss när en utläsning avslutas

  3. Identifikation i utläsningsfilen enligt 8 §

  4. Identifikation på serverpersonal som utför utläsningen på en kontrollserver enligt 10 kap. 14 §.

  5. Parametrarna för den gjorda utläsningen enligt 4–7 §§

  6. Felmeddelanden vid utläsningen enligt 18 §

  7. Utlästa filer och antal rader per fil.

18 §Om ett fel sker under en utläsning enligt detta kapitel ska ett felmeddelande skrivas till en sådan loggfil som avses i 17 §.

Om ett fel uppstår vid utläsning ska ett buffringsprogram eller en kontrollserver tydligt signalera visuellt eller genom ljud att ett fel uppstått.

19 §När en utläsning är klar ska ett buffringsprogram eller en kontrollserver tydligt signalera genom ljud eller visuellt att utläsningen är klar.

20 §Plomberingar enligt 4 kap. 6 och 14 §§ får brytas vid utläsning av kontrolldata från ett buffringsprogram.

B Kontrolldata från ett buffringsprogram

21 §Kvittokontrollposter, systemkontrollposter och utmaningskontrollposter läsas ut och separeras per kassaregisternummer enligt vad som anges i 4–13 §§.

22 §Vid utläsning av kontrolldata enligt 4–7 §§ ska filen normal.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Normal ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Organisationsnummer

5 kap. 33 § tabell A fält N2

Kassaregisternummer

5 kap. 34 § b

Adress

5 kap. 33 § tabell A fält N4

Datum och tid

5 kap. 33 § tabell A fält N1

Kassabeteckning

5 kap. 33 § tabell A fält N3

Löpnummer

5 kap. 33 § tabell A fält N5

Försäljningsbelopp momssats

5 kap. 33 § tabell A fält N6

Försäljningsbelopp

5 kap. 33 § tabell A fält N7

Returbelopp momssats

5 kap. 33 § tabell A fält N8

Totalt returbelopp

5 kap. 33 § tabell A fält N9

Momssumma momssats

5 kap. 33 § tabell A fält N10

Offline-status

5 kap. 33 § tabell A fält N11

Beloppsräknare

5 kap. 35 § 8

Räknare A

5 kap. 17 §

Räknare B

5 kap. 18 §

Räknare C

5 kap. 19 §

Räknare D

5 kap. 20 §

Räknare E

5 kap. 21 §

Transaktionsräknare

5 kap. 35 § p. 3

Kvittoräknare

5 kap. 35 § p. 7

Initialvektor korrekt

5 kap. 35 § p. 4

Initialvektor

5 kap. 35 § p. 5

Kvittodatatidpunkt

5 kap. 34 § a

Köad mer än 10 sekunder

5 kap. 43 §

Överförd till kontrollserver

5 kap. 43 §

Godkänd av kontrollserver

5 kap. 43 §

23 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen kopia.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Kvittokopia ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Organisationsnummer

5 kap. 33 § tabell B fält K3

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell B fält K1

Kassabeteckning

5 kap. 33 § tabell B fält K4

Löpnummer

5 kap. 33 § tabell B fält K5

Löpnummer original

5 kap. 33 § tabell B fält K6

Datum och tid original

5 kap. 33 § tabell B fält K2

Offline-status

5 kap. 33 § tabell B fält K7

Räknare F

5 kap. 22 §

Kvittodatatidpunkt till BP

5 kap. 34 § a

24 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen ovning.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Övningskvitto ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Organisationsnummer

5 kap. 33 § tabell C fält O2

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell C fält O1

Kassabeteckning

5 kap. 33 § tabell C fält O3

Löpnummer

5 kap. 33 § tabell C fält O4

Offline-status

5 kap. 33 § tabell C fält O5

Räknare G

5 kap. 23 §

25 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen proforma.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Pro forma kvitto ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Organisationsnummer

5 kap. 33 § tabell D fält P2

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell D fält P1

Kassabeteckning 1

5 kap. 33 § tabell D fält P3

Kassabeteckning 2

5 kap. 33 § tabell D fält P4

Löpnummer

5 kap. 33 § tabell D fält P5

Försäljningsbelopp

5 kap. 33 § tabell D fält P6

Moms

5 kap. 33 § tabell D fält P7

Oggline-status

5 kap. 33 § tabell D fält P8

Räknare H

5 kap. 24 §

26 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen raknare.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Organisationsnummer

5 kap. 33 § tabell A fält N2

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell A fält N1,
5 kap. 33 § tabell B fält K1,
5 kap. 33 § tabell C fält O1 eller
5 kap. 33 § tabell D fält P1

Räknare A

5 kap. 17 §

Räknare B

5 kap. 18 §

Räknare C

5 kap. 19 §

Räknare D

5 kap. 20 §

Räknare E

5 kap. 21 §

Räknare F

5 kap. 22 §

Räknare G

5 kap. 23 §

Räknare H

5 kap. 24 §

Räknare I

5 kap. 25 §

Räknare J

5 kap. 26 §

Räknare K

5 kap. 27 §

Räknare L

5 kap. 28 §

Räknare M

5 kap. 29 §

27 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen system<signeringmodulsidentititet>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Start av program

5 kap. 51 § 1

Stängning av program

5 kap. 51 § 2

Felaktig avstängning

5 kap. 52 §

SHA-256 Checksummor

5 kap. 53 §

Otillåten kvittodata

5 kap. 54 §

28 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen sammankoppling<kassaregisternummer>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Initiering av sammankoppling

5 kap. 56 § 1

Sammankoppling klar

5 kap. 56 § 2

Sammankoppling misslyckad

5 kap. 56 § 3

Sammankoppling BP KS

5 kap. 56 § 4

Sammankoppling BP KS misslyckad

5 kap. 56 § 5

Initiering av kontroll

5 kap. 57 § 1

Kontroll utförd

5 kap. 57 § 2

Kontroll mot server fel

5 kap. 57 § 3

29 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen verifiering<kassaregisternummer>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Initiering av kontroll

5 kap. 58 § 1

Kontroll mot server utförd

5 kap. 58 § 2

Kontroll mot server fel

5 kap. 58 § 3

30 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen anslutning.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Start anslutning

5 kap. 59 § 1

Avbrott anslutning

5 kap. 59 § 2

Återstart anslutning

5 kap. 59 § 3

Otillåten anslutning

5 kap. 59 § 4

31 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen egen.log skapas. Filen ska inledas med en rad med ordet Egen. För varje förändring som loggats enligt 5 kap. 62 § ska till filen skrivas en post med de data som loggats.

32 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen felaktiga_signaturer.log skapas. Filen ska inledas med en rad med orden Felaktiga signaturer. För varje förändring som loggats enligt 5 kap. 60 § ska till filen skrivas en post med de data som loggats.

33 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen kontrolldata.log skapas. Filen ska inledas med en rad med ordet Kontrolldata. För varje förändring som loggats enligt 5 kap. 61 § ska till filen skrivas en post med samma data.

C Kontrolldata från en kontrollserver

34 §Kvittokontrollposter, systemkontrollposter och utmaningskontrollposter ska separeras och läsas ut per kassaregisternummer enligt vad som anges i 4–13 §§.

35 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_normal.txt. skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Normal ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Data

Organisationsnummer

5 kap. 33 § tabell A fält N2

Kassaregisternummer

5 kap. 34 § b

Adress

5 kap. 33 § tabell A fält N4

Datum och tid

5 kap. 33 § tabell A fält N1

Kassabeteckning

5 kap. 33 § tabell A fält N3

Löpnummer

5 kap. 33 § tabell A fält N5

Försäljningsbelopp per momssats

5 kap. 33 § tabell A fält N6

Försäljningsbelopp totalt

5 kap. 33 § tabell A fält N7

Returbelopp per momssats

5 kap. 33 § tabell A fält N8

Totalt Returbelopp

5 kap. 33 § tabell A fält N9

Momssumma per momssats

5 kap. 33 § tabell A fält N10

Offline-status

5 kap. 33 § tabell A fält N11

Beloppsräknare

5 kap. 35 § 8

Räknare A

5 kap. 17 §

Räknare B

5 kap. 18 §

Räknare C

5 kap. 19 §

Räknare D

5 kap. 20 §

Räknare E

5 kap. 21 §

Transaktionsräknare

5 kap. 35 § p. 3

Kvittoräknare

5 kap. 35 § p. 7

Initialvektor korrekt

5 kap. 35 § p. 4

Initialvektor

5 kap. 35 § p. 5

Kvittodatatidpunkt

5 kap. 34 § a

Köad i mer än 10 sekunder

5 kap. 43 §

Överförd till kontrollserver

5 kap. 43 §

Godkänd av kontrollserver

5 kap. 43 §

36 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_kopia.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Kvittokopia ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Organisationsnummer

5 kap. 33 § tabell B fält K3

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell B fält K1

Kassabeteckning

5 kap. 33 § tabell B fält K4

Löpnummer

5 kap. 33 § tabell B fält K5

Löpnummer original

5 kap. 33 § tabell B fält K6

Datum och tid original

5 kap. 33 § tabell B fält K2

Offline-status

5 kap. 33 § K7

Räknare F

5 kap. 22 §

Kvittodatatidpunkt till BP

5 kap. 34 § a

37 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_ovning.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Övningskvitto ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Organisationsnummer

5 kap. 33 § tabell C O2

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell C fält O1

Kassabeteckning

5 kap. 33 § tabell C fält O3

Löpnummer

5 kap. 33 § tabell C fält O4

Offline-status

5 kap. 33 § tabell C fält O5

Räknare G

5 kap. 23 §

38 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_proforma.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto av typen Pro forma kvitto ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Organisationsnummer

5 kap. 33 § tabell D fält P2

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell D fält P1

Kassabeteckning 1

5 kap. 33 § tabell D fält P3

Kassabeteckning 2

5 kap. 33 § tabell D fält P4

Löpnummer

5 kap. 33 § tabell D fält P5

Försäljningsbelopp

5 kap. 33 § tabell D fält P6

Moms

5 kap. 33 § tabell D fält P7

Offline-status

5 kap. 33 § tabell D fält P8

Räknare H

5 kap. 24 §

39 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_raknare.txt skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje kvitto ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Organisationsnummer

5 kap. 33 § tabell A fält N2

Kassaregisternummer

5 kap. 34 § b

Datum och tid

5 kap. 33 § tabell A fält N1, 5 kap. 33 § tabell B fält K1, 5 kap. 33 § tabell C fält O1 eller 5 kap. 33 § tabell D fält P1

Räknare A

5 kap. 17 §

Räknare B

5 kap. 18 §

Räknare C

5 kap. 19 §

Räknare D

5 kap. 20 §

Räknare E

5 kap. 21 §

Räknare F

5 kap. 22 §

Räknare G

5 kap. 23 §

Räknare H

5 kap. 24 §

Räknare I

5 kap. 25 §

Räknare J

5 kap. 26 §

Räknare K

5 kap. 27 §

Räknare L

5 kap. 28 §

Räknare M

5 kap. 29 §

40 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen system<signeringmodulsidentititet>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Start av program

5 kap. 51 § 1

Stängning av program

5 kap. 51 § 2

Felaktig avstängning

5 kap. 52 §

SHA-256 Checksummor

5 kap. 53 §

Otillåten kvittodata

5 kap. 54 §

41 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen

sammankoppling<kassaregisternummer>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Initiering av sammankoppling

5 kap. 56 § 1

Sammankoppling klar

5 kap. 56 § 2

Sammankoppling misslyckad

5 kap. 56 § 3

Sammankoppling BP KS

5 kap. 56 § 4

Sammankoppling BP KS misslyckad

5 kap. 56 § 5

Initiering av kontroll

5 kap. 57 § 1

Kontroll utförd

5 kap. 57 § 2

Kontroll mot server fel

5 kap. 57 § 3

42 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen verifiering<kassaregisternummer>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Initiering av kontroll

5 kap. 58 § 1

Kontroll mot server utförd

5 kap. 58 § 2

Kontroll mot server fel

5 kap. 58 § 3

43 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen anslutning.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Start session

5 kap. 59 § 1

Avbrott session

5 kap. 59 § 2

Återstart session

5 kap. 59 § 3

Otillåten anslutning

5 kap. 59 § 4

44 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen egen.log skapas. Filen ska inledas med en rad med ordet Egen. För varje förändring som loggats enligt 5 kap. 62 § ska till filen skrivas en post med samma data.

45 §Vid utläsning av kontrolldata enligt 4–7 §§ ska filen kontrolldata.log skapas. Filen ska inledas med en rad med ordet Kontrolldata. För varje förändring som loggats enligt 5 kap. 61 § ska till filen skrivas en post med samma data.

46 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_system<signeringmodulsidentititet>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Start av program

7 kap. 21 §

Stängning av program

7 kap. 21 §

Kontrollservern felaktigt avstängd

7 kap. 22 §

Uppgifter om utförd egenkontroll

7 kap. 23 § 1

Egenkontroll – hårdvara

7 kap. 23 § 2

Egenkontroll – programvara

7 kap. 23 § 3

47 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen

server_sammankoppling<kassaregisternummer>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Sammankoppling utförd

7 kap. 24 § 1

Kontroll av sammankoppling utförd

7 kap. 24 § 2

48 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen

server_verifiering<kassaregisternummer>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Kontroll utförd

7 kap. 25 §

Ingen kontakt

7 kap. 25 §

49 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen

server_anslutning<buffringsprograms ID-sträng>.log skapas. Filen ska inledas med en rad som anger fältnamn enligt den ordning som anges i tabellen nedan. För varje förändring av nedanstående data ska till filen skrivas en post med data enligt vad som anges i tabellen.

Fältnamn

Hänvisning

Anslutning accepterad

7 kap. 26 §

Inloggning nekad

7 kap. 26 §

Utloggning

7 kap. 26 §

50 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_sammankopplade_kassaregister.log skapas. Filen ska inledas med en rad med orden Sammankopplade kassaregister. För varje förändring av data som loggats enligt 7 kap. 27 § ska till filen skrivas en post med de data som loggats.

51 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_kontrolldata.log skapas. Filen ska inledas med en rad med orden Utläsning av kontrolldata. För varje förändring av data som loggats enligt 7 kap. 29 § ska till filen skrivas en post med de data som loggats.

52 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_egen.log skapas. Filen ska inledas med en rad med ordet Egen. För varje förändring som loggats enligt 7 kap. 30 § ska till filen skrivas en post med de data som loggats.

53 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_felaktiga_signaturer.log skapas. Filen ska inledas med en rad med orden Felaktiga signaturer. För varje förändring som loggats enligt 7 kap. 28 § ska till filen skrivas en post med de data som loggats.

54 §Vid utläsning av kontrolldata enligt 14 § och med i 4–7 §§ angivna parametrar ska filen server_access.log skapas. Filen ska inledas med en rad med ordet Inloggningar. För varje förändring som loggats enligt 7 kap. 31 § ska till filen skrivas en post med den data som loggats.

D Bevarande av kontrolldata

55 §Kontrolldata som behandlats av en kontrollserver ska bevaras i kontrollservern under minst fem år.

12 kap. Tillverkning, test och dokumentation

1 §Ett kontrollsystem enligt dessa föreskrifter ska tillverkas, testas och dokumenteras i enlighet med bestämmelserna i detta kapitel.

Innehållet i kapitlet är uppdelat enligt följande.

  1. Tillverkning

  2. Test och dokumentation

  3. Produktionsmiljö och ledningssystem

  4. Skatteverkets huvudnyckel

  5. Individuella krypteringsnycklar

A Tillverkning

Granskning och riskbedömning

2 §Ett kontrollsystems komponenter och programvara ska granskas av tillverkaren för att säkerställa att systemets funktioner överensstämmer med dessa föreskrifter och att det inte finns fler funktioner än vad som framgår av den dokumentation som ska finnas enligt 12 och 14 §§. Granskningen ska dokumenteras.

3 §Tillverkaren ska göra en sårbarhetsanalys av kontrollsystemet. I sårbarhetsanalysen ska ingå en detaljerad beskrivning av programvara, källkod och vilka mekanismer som utför de funktioner som anges i dessa föreskrifter. De sårbarheter som identifieras ska analyseras och konsekvensbedömas. Nödvändiga säkerhetsåtgärder ska vidtas för att minimera sårbarheterna.

4 §Tillverkaren ska utföra säkerhetstester för att validera de åtgärder som vidtagits efter genomförd sårbarhetsanalys. Åtgärderna ska testas för att verifiera att införda säkerhetsfunktioner fungerar på ett tillförlitligt sätt.

Tillverkaren ska dokumentera gjorda säkerhetstester i form av testfall och testmiljö.

Lagring av data i kontrollsystem vid tillverkning

Signeringsnycklar och signeringsmodulsidentiter

5 §Signeringsnycklar enligt 6 kap. 18 § och signeringsmodulsidentiteter enligt 6 kap. 22 § ska som ett led i tillverkningen lagras

  • i en separat hårdvara

  • i en dedikerad dator, eller

  • i en virtuell miljö.

ID-sträng för ett buffringsprogram

6 §Ett buffringsprograms ID-sträng enligt 5 kap. 2 § ska som ett led i tillverkningen lagras

  • i ett buffringsprogram i en virtuell miljö,

  • i ett buffringsprogram i en dedikerad dator.

7 §För kontrollsystem där signeringsmodulen finns på en separat hårdvara ska buffringsprogrammets ID-sträng enligt 5 kap. 2 lagras i buffringsprogrammet vid installationen hos användaren. Detta ska ombesörjas av tillverkaren av kontrollsystemet.

Data som ska lagras i en kontrollserver

8 §Vid tillverkning av en kontrollserver ska följande data lagras i kontrollservern.

  • Signeringsnycklar enligt 7 kap. 3 §

  • Servercertifikat enligt 7 kap. 4 §

  • Individuella krypteringsnycklar enligt 7 kap. 36 §

  • Tillverkningsnummer enligt 7 kap. 37 §.

Överensstämmelse

9 §Tillverkade kontrollsystem ska överensstämma med den version som har bedömts vid certifieringen.

Tillverkaren ska informera certifieringsorganet om varje ändring som görs i ett certifierat kontrollsystem.

B Test och dokumentation

10 §För varje version av kontrollsystem ska tillverkaren validera att kraven och funktionerna i dessa föreskrifter är uppfyllda.

11 §Testdokumentation ska finnas för valideringen. Testdokumentationen ska innehålla beskrivning av testförfarande och testfall samt användningsmiljö. Resultatet av valideringen ska dokumenteras.

12 §Det ska finnas detaljerad dokumentation av ett kontrollsystems mjuk- och hårdvara med funktionsbeskrivningar och avsedd användningsmiljö.

13 §Det ska finnas dokumenterade instruktioner för installation av kontrollsystemets komponenter och programvaror.

14 §Det ska finnas dokumentation (användarhandböcker) avseende ett kontrollsystems alla funktioner. Användarhandböckerna ska vara på svenska eller engelska och åtfölja kontrollsystemets olika delar eller program vid leverans.

15 §Dokumentation enligt 12–14 §§ ska för varje version tillhandahållas Skatteverket innan ett kontrollsystem tas i bruk. Dokumentationen ska vara i elektronisk form och vara läsbar för Skatteverket.

16 §Det ska finnas ett register med uppgifter om vilka versioner av kontrollsystem som har funnits och vilka versioner som är i drift. Dokumentationen ska på begäran tillhandahållas Skatteverket.

C Produktionsmiljö och ledningssystem

17 §Tillverkaren ska ha dokumenterade rutiner i form av ledningssystem för produktionsmiljön motsvarande ISO 9001. Ledningssystemet ska dessutom motsvara de krav som anges i 18–26 §§. Ledningssystemet ska vid behov revideras för att svara upp mot de krav och risker som finns.

18 §Det ska finnas en riskanalys som underlag för tillverkarens ledningssystem. Tillverkaren ska initialt och minst en gång per år göra en riskanalys. En riskanalys ska alltid ingå som underlag vid varje ändring av produktionsmiljön. En riskanalys behöver dock inte göras om ändringen av produktionsmiljön uppenbarligen inte förändrar hotbilden mot produktionsmiljön (säkerhet och kvalitet).

19 §En riskanalys ska omfatta

  • hantering av signeringsnycklar

  • hantering av Skatteverkets huvudnyckel

  • produktionsprocessen från utveckling till tillverkning

  • vilka hot som finns mot informationssäkerheten

  • vilka nödvändiga skyddsåtgärder som behövs för att upprätta lämpligt skydd för tillgångar knutna till produktionsmiljön för kontrollsystem.

Med tillgångar avses sådana tillgångar som är kritiska för kontrollsystemets kvalitet och säkerhet (tillförlitlighet).

20 §Skyddsåtgärder ska vidtas för produktionsmiljön som i riskanalysen bedömts som nödvändiga för att upprätthålla lämpligt skydd för tillgångar knutna till produktion av kontrollsystem.

Nödvändiga skyddsåtgärder ska vidtas och åtgärder ska vidtas för att bevaka kvarstående risker.

Omvärldsbevakning ska vidtas i den omfattning som behövs för att hantera nya och kvarstående risker.

21 §Det ska finnas en tydligt definierad ansvarsfördelning för informationssäkerheten i produktionsmiljön och ansvaret ska vara fördelat i roller. Särskilt ska ansvaret för hantering av ledningssystemet, Skatteverkets huvudnyckel och individuella krypteringsnycklar vara tydligt definierat. För varje roll ska det finnas en riskprofil.

22 §De roller som är definierade ska upprätthållas av personer som har tillräcklig kompetens, är lämpliga för sina roller och att de ska förstå sitt ansvar för de roller som de tilldelats.

23 §Det ska finnas rutiner för hantering av säkerhetsincidenter och för incidentrapportering. Resultatet av incidenthanteringen ska användas i riskhanteringen.

24 §Verksamhetskritisk data och system för utveckling och tillverkning av kontrollsystem ska skyddas från obehörig åtkomst genom behörighetskontroller och spårbarhet ner på individnivå. Varje användares åtkomstmöjligheter ska vara begränsade till vad som är som är nödvändigt för ansvarsområde och tilldelad roll.

För att säkerställa spårbarhet ska nödvändiga uppgifter samlas in och lagras. Datainsamlingen av de nödvändiga uppgifterna ska minst omfatta uppdatering av programvara och utbyte av huvudnyckel. Uppgifterna ska lagras på ett säkert sätt och under så lång tid som bedöms skäligt av certifieringsorganet.

Uppgifter ska regelbundet samlas in och analyseras för att säkerställa att ingen obehörig åtkomst eller obehörig användning av data och system har skett.

25 §Det ska finnas rutiner för ändringshantering för att säkerställa att tillverkade kontrollsystem är i enlighet med den version som bedömdes vid certifieringen.

Det ska finnas rutiner för ändringshantering avseende uppdatering av all operativ programvara i tillverkningsprocessen.

26 §I produktionsmiljön ska tillverkaren ha rutiner för informationssäkerheten. Efterlevnaden av rutinerna ska kontrolleras genom interna revisioner. Genomgång av rutinernas lämplighet ska ske kontinuerligt.

D Skatteverkets huvudnyckel

27 §Tillverkaren ska hantera Skatteverkets huvudnyckel på ett säkert sätt under hela dess livslängd.

I produktionsmiljön ska Skatteverkets huvudnyckel förvaras och användas på ett sådant sätt att risken minimeras för att den röjs eller förändras.

28 §Det ska säkerställas att all hantering av Skatteverkets huvudnyckel sker under sådana former att minst två hos tillverkaren anställda personer samtidigt är närvarande. Uppgifter om hantering av Skatteverkets huvudnyckel ska vara spårbara på individnivå.

29 §Tillverkaren ska genast informera certifieringsorganet och Skatteverket om en huvudnyckel misstänks vara eller har konstaterats vara röjd. Certifieringsorganet och Skatteverket ska också informeras om orsaken till detta. Den röjda huvudnyckeln ska förstöras utan dröjsmål och den får inte användas för att generera individuella krypteringsnycklar.

30 §Kopiering av Skatteverkets huvudnyckel får enbart ske i den utsträckning som det är nödvändigt och endast på ett sådant sätt att risken för att nyckeln röjs minimeras. Kopior av huvudnyckeln ska hanteras som originalet. Kopior av huvudnyckeln som behövs för mellanlagring ska förstöras utan dröjsmål och på ett sådant sätt att de inte kan återskapas.

31 §Skatteverkets huvudnyckel ska förstöras om dess giltighet upphör eller om Skatteverket ställer krav på förstöring av en huvudnyckel. Om verksamheten med tillverkning och hantering av kontrollsystem upphör ska tillverkaren förstöra alla huvudnycklar.

Huvudnycklar ska förstöras utan dröjsmål och på sådant sätt att de inte kan återskapas.

E Individuella krypteringsnycklar

32 §Individuella krypteringsnycklar ska genereras och hanteras i tillverkningsmiljön på ett sådant sätt att risken minimeras för att de röjs.

Individuella krypteringsnycklar får inte kopieras eller lagras utanför en kontrollserver efter det att kontrollservern är tillverkad. Kopior av de individuella krypteringsnycklarna som har skapats för mellanlagring eller i tillverkningsprocessen ska förstöras utan dröjsmål och på ett sådant sätt att de inte kan återskapas.

33 §Tillverkaren ska utan dröjsmål informera certifieringsorganet och Skatteverket om en individuell krypteringsnyckel misstänks vara eller har konstaterats vara röjd. Certifieringsorganet och Skatteverket ska också underrättas om orsaken till detta.

34 §Individuella krypteringsnycklar som inte uppfyller kraven i dessa föreskrifter ska förstöras utan dröjsmål och på ett säkert sätt.

13 kap. Certifiering av kontrollsystem

1 §Ett kontrollsystem enligt dessa föreskrifter ska certifieras i enlighet med bestämmelserna i detta kapitel. Bestämmelser om certifiering av en kontrollservers miljö finns i 14 kap.

Innehållet i detta kapitel är uppdelat enligt följande.

  1. Inledande bestämmelser

  2. Utvärdering

  3. Certifikat

A Inledande bestämmelser

2 §Av 39 kap. 8 § andra stycket skatteförfarandelagen (2011:1244) framgår att kassaregister som avses i 39 kap. 2 § samma lag ska vara certifierade.

3 §Bestämmelser om certifiering och om ackreditering av organ som får utföra certifiering finns i 39 kap. 8 § andra stycket skatteförfarandelagen (2011:1244) respektive i 9 kap. 2 § första stycket skatteförfarandeförordningen (2011:1261).

4 §Av 9 kap. 2 § andra stycket skatteförfarandeförordningen (2011:1261) framgår att certifiering även får utföras av ett organ från ett annat land inom Europeiska ekonomiska samarbetsområdet (EES) eller från ett land utanför EES som Europeiska unionen har träffat avtal med om ömsesidigt erkännande.

B Utvärdering

5 §Certifieringen ska omfatta tester av funktioner, säkerhet, prestanda, tillförlitlighet och användarmiljö samt krav på tillverkning som anges i denna föreskrift.

6 §Specifikation ska finnas avseende vilka användningsmiljöer som olika kontrollsystem är avsedda att fungera i. Minst en typ av användningsmiljö ska anges. Certifiering görs med hänsyn tagen till modell och angiven användningsmiljö.

7 §Certifieringsorganet ska vid bedömning av säkerhetstesterna använda internationella standarder eller accepterade normativa specifikationer. Tillverkarens egna metoder för bedömning av säkerhetstesterna får användas om dessa ger minst samma säkerhet vid bedömningen.

8 §Certifieringsorganets analys, test och utvärdering av ett kontrollsystem ska omfatta kontroll av att funktionerna är i överensstämmelse med bestämmelserna i dessa föreskrifter.

9 §Certifieringsorganets analys, test och utvärdering av säkerhetsfunktioner ska minst omfatta

  • att individuella krypteringsnycklar i en kontrollserver är skyddade enligt bestämmelserna i dessa föreskrifter

  • att kontrollsystemets programvaror är skyddade

  • en virtuell miljö och en dedikerad dator uppfyller kraven i 4 kap.

  • utvärdering om det finns behov att granska separat hårdvara avsedd för signeringsmodul (4 kap. 2 §).

10 §Certifieringsorganet ska kontrollera att det är spårbart

  • om individuella krypteringsnycklar i en kontrollserver ändras

  • om en programvara i ett kontrollsystem ändras

  • om Skatteverkets kontrolldata ändras eller raderas.

11 §Certifieringsorganet ska utvärdera och bedöma tillverkarens sårbarhetsanalys och säkerhetstester samt vid behov utföra egna säkerhetstester. Certifieringsorganet ska vid behov utföra nödvändiga penetrationstester för att identifiera ytterligare sårbarheter i ett kontrollsystem som inte omfattas av tillverkarens sårbarhetsanalys.

12 §Certifieringsorganet ska kontrollera att granskning enligt 12 kap. 2–4 §§ har utförts.

13 §Certifieringsorganet ska initialt och därefter vid behov göra revision av tillverkarens produktionsmiljö. Revisionen ska göras på plats.

C Certifikat

14 §Certifieringsorganet ska bedöma om ändringar i ett certifierat kontrollsystem medför att ett nytt certifikat ska utfärdas.

15 §Certifieringsorganet ska återkalla ett certifikat

  • om tillverkaren inte har följt bestämmelserna i dessa föreskrifter

  • om tillverkaren har röjt Skatteverkets huvudnyckel

  • om tillverkaren på annat sätt har gjort något som innebär att ett kontrollsystem inte skulle ha godkänts vid certifieringen eller inte skulle komma att godkännas vid en förnyad certifiering.

Certifieringsorganet ska även utvärdera om andra åtgärder bör vidtas mot tillverkaren.

16 §Vid återkallande av ett certifikat ska certifieringsorganet utan dröjsmål underrätta Skatteverket om indragningen och orsaken till denna.

14 kap. Certifiering av kontrollserverns miljö

1 §Av 10 kap. 1 § framgår att en kontrollserver i drift ska finnas i en miljö som uppfyller kraven i det kapitlet. En kontrollservers miljö ska certifieras i enlighet med bestämmelserna i detta kapitel och mot bestämmelserna i 10 kap. Bestämmelser om certifiering av ett kontrollsystem finns i 13 kap.

Innehållet i detta kapitel är uppdelat enligt följande.

  1. Inledande bestämmelser

  2. Utvärdering

  3. Certifikat

A Inledande bestämmelser

2 §Av 39 kap. 8 § andra stycket skatteförfarandelagen (2011:1244) framgår att kassaregister som avses i 39 kap. 2 § samma lag ska vara certifierade.

3 §Bestämmelser om certifiering och om ackreditering av organ som får utföra certifiering finns i 39 kap. 8 § andra stycket skatteförfarandelagen (2011:1244) respektive i 9 kap. 2 § första stycket skatteförfarandeförordningen (2011:1261).

4 §Av 9 kap. 2 § andra stycket skatteförfarandeförordningen (2011:1261) framgår att certifiering även får utföras av ett organ från ett annat land inom Europeiska ekonomiska samarbetsområdet (EES) eller från ett land utanför EES som Europeiska unionen har träffat avtal med om ömsesidigt erkännande.

B Utvärdering

5 §Certifieringen ska omfatta tester av ledningssystem för informationssäkerhet avseende krav inom administrativ säkerhet, fysisk säkerhet och IT-säkerhet.

6 §Certifieringsorganet ska vid bedömning av tester enligt 5 § använda tillämpliga internationella standarder eller accepterade normativa specifikationer. Andra metoder för bedömning av testerna får användas om dessa ger minst samma säkerhet vid bedömningen.

7 §Certifieringsorganet ska initialt och minst en gång per år göra revision av kontrollserverns miljö. Revisionen ska göras på plats.

C Certifikat

8 §Certifieringsorganet ska återkalla ett certifikat om den som tillhandahåller en kontrollservers miljö

  • inte har följt bestämmelserna i 10 kap.

  • har röjt uppgifter lagrade i en kontrollserver

  • på annat sätt har gjort något som innebär att kontrollserverns miljö inte skulle ha godkänts vid certifieringen eller inte skulle komma att godkännas vid en förnyad certifiering.

9 §Vid återkallande av ett certifikat ska certifieringsorganet utan dröjsmål underrätta Skatteverket om indragningen och orsaken till denna.

Ikraftträdande- och övergångsbestämmelser

2014:8

Dessa föreskrifter träder i kraft den 1 juli 2014.

2014:14

Dessa föreskrifter träder i kraft den 1 december 2014.