Datum Sida 2017-04-25 1 (10) Mottagare: Uppgiftslämnare till VINN och KRITA Filleveranser till VINN och KRITA Sammanfattning I detta dokument beskrivs översiktligt Vinn/Kritas lösning för filleveranser textuellt och i form av sekvensdiagram. Dokumentet innehåller även en kortfattad beskrivning av den tekniska lösningen utifrån ett säkerhetsperspektiv Postadress Box 24300, 104 51 STOCKHOLM 701 89 ÖREBRO www.scb.se Organisationsnummer: 20 21 00-0837 Besöksadress Karlavägen 100 Klostergatan 23 E-post: scb@scb.se Momsregnummer: SE202100083701 Telefon 010-479 40 00 Fax 010-479 52 61 010-479 70 80
2 (10) Innehåll Leverans av filer... 3 Textuell beskrivning... 3 Leverans av certifikat... 3 Leverera uppgifter M2M... 3 Leverera uppgifter manuellt... 4 Status för filleveranser... 5 M2M klient... 5 Sekvensdiagram... 6 Leverans av certifikat... 6 Leverera uppgifter M2M... 7 Leverera uppgifter manuellt... 8 Generella säkerhetsinitiativ Vinn/Krita... 9 Penetrationstester... 9 Test SSL LABS... 9 Riskanalys... 9 Säkerhet kring autentisering och överföring... 9 M2M-lösning... 9 Manuell leverans... 10 Servercertifikat... 10 Protokoll... 10
3 (10) Leverans av filer Textuell beskrivning Leverans av certifikat 1. Rapportör kontaktar SCB via e-post till vinn@scb.se alternativt krita@scb.se och begär att få ett certifikat för maskin till maskin lösningen. 2. Beställning av certifikat verifieras av handläggare på SCB. 3. Administratör på SCB registrerar certifikatsanvändaren i Vinn/Krita administrationsgränsnitt. 4. Certifikat skapas av autentiseringslösningen. 5. Lösenordet för certifikatets privata nyckel visas på skärm för administratören 6. Administratören skriver ut lösenordet 7. Administratören skickar lösenord för certifikatets privata nyckel via rekommenderat brev till den rapportör som begärde certifikatet. 8. Rapportör tar emot meddelande om att certifikat är klart att ladda ned tillsammans med certifikatslösenordet. 9. Rapportör loggar in enligt flödet för manuell inleverans. 10. Rapportör väljer certifikat att hämta. 11. Rapportör väljer att ladda ned certifikatet. Leverera uppgifter M2M 1. Uppgiftslämnarens M2M-klient skickar filen med ett POSTanrop till https://m2m.gdb.scb.se/m2m/{organisationsnummer}/{und ersökning}/{filformat}/{version} 2. Kontroll av certifikat a. kontroll mot rotcertifikatet av att signaturen stämmer och tillhör SCB:s interna CA b. kontroll av certifikatets giltighetsdatum c. kontroll mot revokeringslista 3. Certifikatets serienummer matchas mot en användaridentitet. 4. Vinn/Krita tar emot fil och autentiserad användare 5. Kontroll av att användaren har rätt att skicka in fil för angiven a. organisation b. undersökning c. filformat (XML-schema)
4 (10) 6. Inskickad fil valideras avseende format 7. Om inskick korrekt a. Filen sparas i en databas b. Uppladdningsid returneras 8. Annars returneras en felkod (401 alternativt 500) Leverera uppgifter manuellt 1. Rapportör försöker ansluta till Vinn/Kritas e-tjänst och uppmanas att ange det användarnamn och lösenord som denne fått från SCB. 2. Ett OTP skickas som SMS tillsammans med instruktioner till det mobiltelefonnummer som är kopplat till rapportören. Samtidigt kommer rapportören i inloggningsvyn att uppmanas att ange det OTP denne har fått på sin mobiltelefon 3. När korrekt OTP har angetts kan rapportören lämna uppgifter i e-tjänsten. 4. Rapportören väljer Lämna uppgifter i huvudmenyn. 5. Rapportören väljer Uppgiftslämnare som uppgifterna avser. 6. Rapportören väljer undersökning. 7. Rapportören anger filformat (kontrakt) för rapportering. 8. Rapportören anger sökväg till aktuell XML-fil, väljer fil och trycker på Ladda upp för att posta filen till SCB. 9. När filen laddas upp skapas en rad i listan över samtliga uppladdningar, där aktuell status visas som Verifiering pågår. 10. Om allt gått bra får filen status Godkänd, men om något blivit fel kommer status att bli Felmeddelande och kräver åtgärd av rapportören. Statusar är a. Verifiering pågår Uppladdning av fil pågår b. Godkänd Filen har tagits emot, gått igenom valideringssteget utan anmärkning och skickats vidare in till VINN- eller KRITA-systemet. c. Felmeddelande I valideringen har ett eller flera fel identifierats och filen har stoppats 11. Om fel uppstått: Rapportören rättar filen i sina system och skickar in den på nytt till SCB. Observera att en fullständig fil ska skickas in på nytt för ny verifiering. 12. För aktiv utloggning finns en knapp uppe till höger Logga ut.
5 (10) 13. Om användaren är inaktiv så avslutas sessionen efter 65 minuter. Den längsta tid en användare kan vara inloggad är 10 timmar, efter det loggas man ut automatiskt. Status för filleveranser I Indataportalen finns en lista med status för genomförda leveranser. Motsvarande lista går även att hämta via API med ett GET-anrop till adressen https://m2m.gdb.scb.se/m2m/v1/history/{id} Parametern id är det uppladdningsid som returnerades vid uppladdning via maskin till maskin lösningen. Svaret levereras i json-format och innehåller uppgift om ifall en uppladdad fil har tagits emot och godkänts eller eventuella felmeddelanden. Om anropet genomförs utan id returneras en lista med resultat för alla filuppladdningar som gjorts för den kombination av organisationsnummer och undersökning som certifikatet är knutet till. M2M klient Varje uppgiftslämnare är fri att själv ta fram sin egen M2M-klient för filleveranser, men för att underlätta har SCB tagit fram en klientprogramvara som fungerar för maskin till maskin lösningen. Källkoden till denna kan tillhandahållas efter begäran. Test för att verifiera att uppkoppling mot maskin till maskin lösningen fungerar korrekt samt att certifikatet blir validerat kan göras via GET- anrop till https://m2m.gdb.scb.se/m2m/v1/heartbeat Om anropet fungerar korrekt returneras 200 (OK) samt tidpunkt för anropet.
6 (10) Sekvensdiagram Leverans av certifikat
Leverera uppgifter M2M Sida 7 (10)
Leverera uppgifter manuellt Sida 8 (10)
9 (10) Generella säkerhetsinitiativ Vinn/Krita Penetrationstester På begäran från SCB har ett externt säkerhetsföretag genomfört en säkerhetsgranskning av Vinn/Kritas lösning för filleveranser via Indataportalen samt maskin-till-maskin-gränssnittet för motsvarande tjänst med gott resultat. Test SSL LABS Tester på SSL LABS för HTTPS ger ratingen A+ vilket är den högsta möjliga. Riskanalys Under hösten 2016 har ett antal workshops hållits för att identifiera och analysera risker avseende autentisering och filleverans i Vinn/Krita. Deltagare i dessa har varit medlemmar i Vinn/Kritaprojektet, representanter från säkerhetsavdelningen, driftavdelningen, projektet för generell autentiseringslösning samt arkitekturavdelningen. Under diskussionerna har man kommit fram till att de prioriterade riskerna rör läckage av känslig information. Risken för attacker mot dataintegriteten har bedömts som låga då SCB har fungerande rutiner för att analysera data och hitta avvikelser. Säkerhet kring autentisering och överföring M2M-lösning För identifikation av klienter i Vinn/Kritas M2M-lösning används ett klientcertifikat. Klientcertifikaten är utgivna av en intern CA på SCB. Detta är certifikat som SCB ska lita på och som SCB distribuerar till bankerna. Klientcertifikatet är inte knutet till en person utan till ett företag och används av en klientprogramvara som körs på en server. Certifikaten är inte knutna till en maskin utan går att flytta om det behövs. Säker hantering av den privata nyckeln är upp till banken att hantera efter det att SCB distribuerat denna. Certifikaten är signerade med SHA-256 och såväl RootCA och SubCA använder RSA-nycklar med en nyckellängd på 4096 bit. Livslängden på certifikaten är två år, sedan kommer de att bytas ut.
10 (10) Manuell leverans För manuella leveranser via Indataportalen används användarnamn och lösenord samt OTP (One Time Password) via SMS och denna lösning är knuten till en person. Servercertifikat För att på ett säkert sätt verifiera SCB:s identitet samt för kommunikationen mellan klient och server används ett servercertifikat utfärdat av en extern CA. Certifikaten är signerade med SHA-256 med en nyckellängd på 2048 bit. Protokoll Aktiva protokoll i lösningarna för M2M och manuell leverans är för närvarande TLS 1.0, TLS 1.1 och TLS 1.2 för att inte lägga för stora begränsningar avseende uppgiftslämnarnas klientprogram.