Skip to content
Permalink
Browse files

Merge branch 'master' into nye_soap_eksempler_2014-05-19

  • Loading branch information...
eoftedal committed May 19, 2014
2 parents 8d9b5ea + 4af5874 commit 3c1145ca6c6859046bb7e9ad5a351413bb1682f6
@@ -8,50 +8,148 @@ h3. Introduksjon

En forsendelse i Sikker digital post inneholder blant annet informasjon for varsling og et hoveddokument med null eller flere vedlegg.

Her beskrives hvordan dokumenter som sendes i Sikker digital post er beskyttet.
Her beskrives hvordan dokumenter og vedlegg som sendes i Sikker digital post er beskyttet.

Dokumentene og metadata relatert til dokumentene pakkes i en dokumentpakke som ivaretar dokumentenes integritet, samt integriteten til metadata relatert til dokumentene. Dokumentpakken krypteres med en symmetrisk engangsnøkkel, og den symmetriske nøkkelen krypteres med mottakerens sertifikat som hentes fra oppslagstjenesten for kontaktinformasjon.
Dokumentene og metadata relatert til dokumentene pakkes i en dokumentpakke som ivaretar dokumentenes integritet, samt integriteten til metadata relatert til dokumentene. Dokumentpakkens konfidensialitet ivaretas ved at dokumentpakken krypteres med en symmetrisk engangsnøkkel, og den symmetriske nøkkelen krypteres med mottakerens sertifikat som hentes fra oppslagstjenesten for kontaktinformasjon.

h3. Referanser
h3. Standarder

[1] ETSI, «ETSI TS 102 918: "Electronic Signatures and Infrastructures (ESI); Associated Signature":http://www.etsi.org/deliver/etsi_ts/102900_102999/102918/01.03.01_60/ts_102918v010301p.pdf ,» ETSI, 2013-06.
[2] ETSI, «ETSI TS 103 174: "Electronic Signatures and Infrastructures (ESI); ASiC Baseline Profile":http://www.etsi.org/deliver/etsi_ts/103100_103199/103174/02.02.01_60/ts_103174v020201p.pdf ,» ETSI, 2013-06.
[3] ETSI, «ETSI TS 101 903: "Electronic Signatures and Infrastructures (ESI); XML Advanced Electronic Signatures (XAdES)":http://www.etsi.org/deliver/etsi_ts%5C101900_101999%5C101903%5C01.04.02_60%5Cts_101903v010402p.pdf ,» ETSI, 2010-12.
[4] ETSI, «ETSI TS 103 171: "Electronic Signatures and Infrastructures (ESI); XAdES Baseline Profile":http://www.etsi.org/deliver/etsi_ts/103100_103199/103171/02.01.01_60/ts_103171v020101p.pdf ,» ETSI, 2012-03.
table(table table-striped table-condensed).
|_. Standard |_. Dokument |_. Versjon |
|{white-space:nowrap}. ETSI, ETSI TS 102 918 | "Electronic Signatures and Infrastructures (ESI); Associated Signature":etsi1 |{white-space:nowrap}. ETSI, 2013-06. |
| ETSI, ETSI TS 103 174 | "Electronic Signatures and Infrastructures (ESI); ASiC Baseline Profile":etsi2 | ETSI, 2013-06. |
| ETSI, ETSI TS 101 903 | "Electronic Signatures and Infrastructures (ESI); XML Advanced Electronic Signatures (XAdES)":etsi3 | ETSI, 2010-12. |
| ETSI, ETSI TS 103 171 | "Electronic Signatures and Infrastructures (ESI); XAdES Baseline Profile":etsi4 | ETSI, 2012-03. |
| IETF, RFC 5652 | "Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf5 | 2009-09. |
| IETF, RFC 3560 | "Use of the RSAES-OAEP Key Transport Algorithm in the Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf6 | 2003-07. |
| IETF, RFC 3565 | "Use of the Advanced Encryption Standard (AES) Encryption Algorithm in Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf7 | 2003-07. |
| IETF, RFC 5084 | "Using AES-CCM and AES-GCM Authenticated Encryption in the Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf8 | 2007-11. |

h3. ASiC profil for dokumentpakken brukt i sikker digital post.
h3. Integritet

Hoveddokumentet og vedleggene pakkes sammen i en dokumentpakke sammen med noe metadata i henhold til [1], og videre begrenset i henhold til profilen definert i [2]. Ytterlige begrensninger følger nedenfor:
Integriteten til dokumentene skal kunne valideres mange år etter mottak, og er ivaretatt ved digitale signaturer som beskrevet nedenfor. I praksis er dette en zip-fil med en gitt struktur som inneholder en digital signatur over innholdet.

[2] krav 6.1 “ASiC conformance” skal være “ASiC-E XAdES”.
[2] krav 8.1 “ASiC-E Media type identification” skal være “ASiC file extension is ".asice"”
[2] krav 8.2 “ASiC-E Signed data object”. Alle filer utenfor META-INF katalogen skal være signert.
[2] krav 8.3.1 «ASiC-E XAdES signature» Det skal kun være en signatur i META-INF katalogen, med navn signature.xml. Denne signaturen skal dekke alle andre filer i beholderen, og avsenderens virksomhetssertifikat skal benyttes for signering.
[2] krav 8.3.2 “Requirements for the contents of Container” refererer til [1] 6.2.2 punkt 4b) “"META-INF/manifest.xml" if present […]”. Denne filen skal ikke være tilstede.
h4. ASiC profil for dokumentpakken brukt i sikker digital post.

h3. Signatur i dokumentpakken for sikker digital post
Hoveddokumentet og vedleggene pakkes sammen i en dokumentpakke sammen med noe metadata i henhold til "ASiC (ETSI TS 102 918)":etsi1, og videre begrenset i henhold til profilen definert i "Baseline Profile (ETSI TS 103 174)":etsi2. Ytterlige begrensninger "Baseline Profile (ETSI TS 103 174)":etsi2 følger nedenfor:

Dokumentpakken BØR være signert av "Behandlingsansvarlig":../Aktorer, men KAN signeres av "Databehandler":../Aktorer.
table(table table-striped table-condensed).
|_. Krav |_. Felt |_. Kommentar |
| "krav 6.1":etsi2_9 | "ASiC conformance" | Skal være "ASiC-E XAdES" |
| "krav 8.1":etsi2_11 | "ASiC-E Media type identification" | skal være "ASiC file extension is ".asice" |
| "krav 8.2":etsi2_11 | "ASiC-E Signed data object" | Alle filer utenfor META-INF katalogen skal være signert. |
| "krav 8.3.1":etsi2_12 | "ASiC-E XAdES signature" | Det skal kun være en signatur i META-INF katalogen, med navn signature.xml. Denne signaturen skal dekke alle andre filer i beholderen, og avsenderens virksomhetssertifikat skal benyttes for signering. |
|{white-space:nowrap}. "krav 8.3.2":etsi2_12 | "Requirements for the contents of Container" refererer til "6.2.2 punkt 4b) <notextile>"META-INF/manifest.xml" if present […]</notextile> i "ASiC":etsi1 | Denne filen skal ikke være tilstede. |

Signaturen skal være i henhold til [3] med basisprofilen definert i [4] (B-Level Conformance). Ytterlige begrensninger følger nedenfor:
h4. Signatur i dokumentpakken for sikker digital post

[4] krav 5.1 «Algorithm requirements». Signeringsalgoritmen skal være "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256":http://www.w3.org/2001/04/xmldsig-more#rsa-sha256. Fingeravtrykksalgoritmen i referansene skal være "http://www.w3.org/2001/04/xmlenc#sha256":http://www.w3.org/2001/04/xmlenc#sha256. Fingeravtrykksalgoritmen i CertDigest skal være "http://www.w3.org/2000/09/xmldsig#sha1":http://www.w3.org/2000/09/xmldsig#sha1..
[4] krav 6.2.1 «Placement of the signing certificate”. Alle sertifikater fra virkomhetsertifikatet og opp til en tiltrodd rot skal være inkludert.
[4] krav 6.2.2 “Canonicalization of ds:SignedInfo element” skal være "http://www.w3.org/2006/12/xml-c14n11":http://www.w3.org/2006/12/xml-c14n11
[4] krav 6.2.3 “Profile of ds:Reference element”. Alle dokumenter skal være med, og det er ikke lov med referanser utenfor dokumentpakken.
[4] krav 6.2.4 “Transforms within ds:Reference element”. Alle fil-referansene skal være uten transform, og referansen til SignedProperties skal være "http://www.w3.org/TR/2001/REC-xml-c14n-20010315":http://www.w3.org/TR/2001/REC-xml-c14n-20010315
[4] krav 6.3.1 “Profile of xades:SigningCertificate element”. Ingen ytterlige begrensninger.
[4] krav 6.3.2 “Profile of xades:SigningTime element”. Tidsangivelsen skal være korrekt innenfor +/- 5 sekunder.
[4] krav 6.3.3 “Profile of xades:DataObjectFormat element”. Kun MimeType og ObjectReference skal være med.
Dokumentpakken bør være signert av "Behandlingsansvarlig":../Aktorer, men kan signeres av "Databehandler":../Aktorer.

Signaturen skal være i henhold til "XAdES (ETSI TS 101 903)":etsi3 med basisprofilen definert i "XAdES Baseline Profile (ETSI TS 103 171)":etsi4 (B-Level Conformance). Ytterlige begrensninger til "XAdES Baseline Profile (ETSI TS 103 171)":etsi4 følger nedenfor:

table(table table-striped table-condensed).
|_. Krav |_. Felt |_. Kommentar |
| "krav 5.1":etsi4_8 | "Algorithm requirements" | Signeringsalgoritmen skal være "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256":http://www.w3.org/2001/04/xmldsig-more#rsa-sha256. Fingeravtrykksalgoritmen i referansene skal være "http://www.w3.org/2001/04/xmlenc#sha256":http://www.w3.org/2001/04/xmlenc#sha256. Fingeravtrykksalgoritmen i CertDigest skal være "http://www.w3.org/2000/09/xmldsig#sha1":http://www.w3.org/2000/09/xmldsig#sha1. |
| "krav 6.2.1":etsi4_10 | "Placement of the signing certificate" |. Alle sertifikater fra virkomhetsertifikatet og opp til en tiltrodd rot skal være inkludert. |
| "krav 6.2.2":etsi4_11 | "Canonicalization of ds:SignedInfo element" | Skal være "http://www.w3.org/2006/12/xml-c14n11":http://www.w3.org/2006/12/xml-c14n11 |
| "krav 6.2.3":etsi4_11 | "Profile of ds:Reference element" | Alle dokumenter skal være med, og det er ikke lov med referanser utenfor dokumentpakken. |
| "krav 6.2.4":etsi4_12 | "Transforms within ds:Reference element" | Alle fil-referansene skal være uten transform, og referansen til SignedProperties skal være "http://www.w3.org/TR/2001/REC-xml-c14n-20010315":http://www.w3.org/TR/2001/REC-xml-c14n-20010315 |
| "krav 6.3.1":etsi4_12 | "Profile of xades:SigningCertificate element" | Ingen ytterlige begrensninger. |
| "krav 6.3.2":etsi4_13 | "Profile of xades:SigningTime element" | Tidsangivelsen skal være korrekt innenfor +/- 5 sekunder. |
|{white-space:nowrap}. "krav 6.3.3":etsi4_13 | "Profile of xades:DataObjectFormat element" | Kun MimeType og ObjectReference skal være med. |

h3. Konfidensialitet

Dokumentpakken krypteres med en 256-bit AES nøkkel i modus AES/CTR/NoPadding. Det skal genereres en ny nøkkel for hver kryptering av en dokumentpakke. Teller (IV) skal starte på. IV lik null er sikkerhetsmessig ikke et problem fordi den aldri blir gjentatt ettersom nøkkelen bare brukes en gang.
TODO: Formatering i ASN.1 med for eksempel [0] skal ikke være en referanse

Integriteten til den krypterte dokumentpakken ivaretas av "Dokumentpakke":../StandardBusinessDocument/Melding/Dokumentpakke.
Dokumentpakken krypteres til mottakers sertifikat som leveres fra oppslagstjenesten. Krypteringen skal gjøres i henhold til "CMS (Cryptographic Message Syntax)":ietf5 med begrensninger angitt nedenfor.

CMS starter med en sekvens av ContentInfo

<pre>
ContentInfo ::= SEQUENCE {
contentType ContentType,
content [0] EXPLICIT ANY DEFINED BY contentType
}
</pre>

Her skal følgende begrensninger gjelde:

<pre>
contentType = 1.2.840.113549.1.7.3 (id-envelopedData)
</pre>

content er EnvelopedData som beskrevet nedenfor.

<pre>
EnvelopedData ::= SEQUENCE {
version CMSVersion,
originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
recipientInfos RecipientInfos,
encryptedContentInfo EncryptedContentInfo,
unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
</pre>

Her skal følgende begrensninger gjelde:

Det er avsenders ansvar å generere en AES-nøkkel med tilstrekkelig tilfeldighet. Kilden bør være en sertifisert tilfeldig tall generator (TRNG).
* version = 1
* originatorInfo skal ikke være med
* recipientInfos en mengde av nøyaktig en KeyTransRecipientInfo som beskrevet nedenfor
* encryptedContentInfo er EncryptedContentInfo som beskrevet nedenfor
* unprotectedAttrs skal ikke være med

<pre>
KeyTransRecipientInfo ::= SEQUENCE {
version CMSVersion, -- always set to 0 or 2
rid RecipientIdentifier,
keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
encryptedKey EncryptedKey
}
</pre>

Her skal følgende begrensninger gjelde:

* version = 0
* rid = issuerAndSerialNumber
* keyEncryptionAlgorithm = 1.2.840.113549.1.1.7 (id-RSAES-OAEP) som spesifisert i "RSAES-OAEP Key Transport Algorithm":ietf6
* hashFunc = { 1.3.14.3.2.26 (id-sha1), Null }
* maskGenFunc = { 1.2.840.113549.1.1.8, { 1.3.14.3.2.26 (id-sha1), Null } }
* pSourceFunc = { 1.2.840.113549.1.1.9, nullOctetString }

<pre>
EncryptedContentInfo ::= SEQUENCE {
contentType ContentType,
contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
}
</pre>

Her skal følgende begrensninger gjelde:

* contentType = 1.2.840.113549.1.7.1 (data) TODO: sjekk støtte for s/mime og mulighet for å angi ASiC.
* contentEncryptionAlgorithm = 2.16.840.1.101.3.4.1.46 (aes256-GCM) i henhold til "Using AES-CCM and AES-GCM Authenticated Encryption":ietf8 som anbefalt, men kan også bruke "2.16.840.1.101.3.4.1.42 (aes256-CBC)":ietf7.

Ved bruk av aes256-CBC skal padding gjøres i henhold til "kapittel 6.3 i CMS spesifikasjonen":ietf5_6_3

Integriteten til den krypterte dokumentpakken ivaretas av "Dokumentpakke":../StandardBusinessDocument/Melding/Dokumentpakke.

AES-nøkkelen krypteres til mottakers sertifikat som beskrevet i "Dokumentpakke":../StandardBusinessDocument/Melding/Dokumentpakke.
Det er avsenders ansvar å generere en AES-nøkkel med tilstrekkelig tilfeldighet. Kilden bør være en sertifisert generator for tilfeldige tall (TRNG).

[etsi1]http://www.etsi.org/deliver/etsi_ts/102900_102999/102918/01.03.01_60/ts_102918v010301p.pdf
[etsi2]http://www.etsi.org/deliver/etsi_ts/103100_103199/103174/02.02.01_60/ts_103174v020201p.pdf
[etsi2_9]http://www.etsi.org/deliver/etsi_ts/103100_103199/103174/02.02.01_60/ts_103174v020201p.pdf#page=9
[etsi2_11]http://www.etsi.org/deliver/etsi_ts/103100_103199/103174/02.02.01_60/ts_103174v020201p.pdf#page=11
[etsi2_12]http://www.etsi.org/deliver/etsi_ts/103100_103199/103174/02.02.01_60/ts_103174v020201p.pdf#page=12
[etsi3]http://www.etsi.org/deliver/etsi_ts%5C101900_101999%5C101903%5C01.04.02_60%5Cts_101903v010402p.pdf
[etsi4]http://www.etsi.org/deliver/etsi_ts/103100_103199/103171/02.01.01_60/ts_103171v020101p.pdf
[etsi4_8]http://www.etsi.org/deliver/etsi_ts/103100_103199/103171/02.01.01_60/ts_103171v020101p.pdf#page=8
[etsi4_10]http://www.etsi.org/deliver/etsi_ts/103100_103199/103171/02.01.01_60/ts_103171v020101p.pdf#page=10
[etsi4_11]http://www.etsi.org/deliver/etsi_ts/103100_103199/103171/02.01.01_60/ts_103171v020101p.pdf#page=11
[etsi4_12]http://www.etsi.org/deliver/etsi_ts/103100_103199/103171/02.01.01_60/ts_103171v020101p.pdf#page=12
[etsi4_13]http://www.etsi.org/deliver/etsi_ts/103100_103199/103171/02.01.01_60/ts_103171v020101p.pdf#page=13
[ietf5]https://tools.ietf.org/html/rfc5652
[ietf5_6_3]https://tools.ietf.org/html/rfc5652#section-6.3
[ietf6]http://tools.ietf.org/html/rfc3560
[ietf7]https://tools.ietf.org/html/rfc3565
[ietf8]http://tools.ietf.org/html/rfc5084


@@ -16,11 +16,12 @@ Sikker Digital Post har definert et eget begrep "Manifest":Manifest som innehold

h3. Innhold

{background:#ddd}.|_. Fil |_. Kardinalitet |_. Beskrivelse |
table(table table-striped).
|_. Fil |_. Kardinalitet |_. Beskrivelse |
| hoveddokument | 1..1 | fil |
{background:#ddd}.| "Manifest.xml":Manifest | 1..1 | "Manifest":Manifest |
| "Manifest.xml":Manifest | 1..1 | "Manifest":Manifest |
| vedlegg | 0..99 | fil |
{background:#ddd}.| META-INF/signatures.xml | 1..1 | "XAdES":http://www.etsi.org/deliver/etsi_ts%5C101900_101999%5C101903%5C01.04.02_60%5Cts_101903v010402p.pdf signaturer av filene |
| META-INF/signatures.xml | 1..1 | "XAdES":http://www.etsi.org/deliver/etsi_ts%5C101900_101999%5C101903%5C01.04.02_60%5Cts_101903v010402p.pdf signaturer av filene |

h3. Eksempel

@@ -29,12 +29,25 @@ Grensesnittet mellom avsender og meldingsformidler har to sett med P-Mode parame
* "FormidleDigitalPostForsendelse":FormidleDigitalPostForsendelse - benyttes ved sending av en digital post forsendelse fra avsender til meldingsformidler
* "KvitteringsForespoersel":KvitteringsForespoersel - benyttes av avsender for å sjekke om det er forretningskvitteringer som kan hentes

Sentralt i utvekslingsmønsteret er "Message Partition Channel (mpc)":../UserMessage/mpc som blir brukt til å angi informasjon om hvilken kø man formidler/sjekker informasjon i. Ved "KvitteringsForespoersel":KvitteringsForespoersel så er det forventet at man respekterer følgende intervaller mellom hver forespørsel når forrige forespørsel returnerte at det er ikke er meldinger å hente:
h4. Message Partition Channel (mpc)

Sentralt i utvekslingsmønsteret er "Message Partition Channel (mpc)":../UserMessage/mpc som blir brukt til å angi informasjon om hvilken kø man formidler/sjekker informasjon i. Denne blir brukt til å angi prioritet på meldingen, samt støtte at en teknisk avsender har håndterer flere avsendere.

h4. Mellomlagring av meldinger i Meldingsformidler

Meldingsformidler kan mellomlagre meldinger i en tidsperiode for å skjule kompeksitet for avsender. Tidsfristene er relatert til hvor lenge meldingsformidler kan gjøre dette uten å sende feil-kvittering tilbake til avsender (merk at alle parter blir målt på SLA ihht kontrakt og at disse tidsfristene ikke påvirker dette).

- normal melding := Kan mellomlagre i opptil 25+5 dager
- prioritert melding := Kan mellomlagre i opptil 24 timer

h4. Intervall mellom kvitteringsforespørsler

Ved "KvitteringsForespoersel":KvitteringsForespoersel så er det forventet at man respekterer følgende intervaller mellom hver forespørsel når forrige forespørsel returnerte at det er ikke er meldinger å hente:

- normal := Vent minst 10 minutter før neste forespørsel
- prioritert := Vent minst 1 minutter før neste forespørsel

h3. Duplikate meldinger/resending av mendlinger
h4. Duplikate meldinger/resending av mendlinger

Automatisk resending av en melding som ikke er kommet fram er en valgfri opsjon i AS4. Dersom en avsendervirksomhet benytter seg av denne type funksjonalitet, så skal denne gjøres i henhold til AS4 profilen.

@@ -16,7 +16,7 @@ Når den digitale posten er dekryptert og innbygger er autentisert på tilstrekk

h3. Attributer


table(table table-striped).
|_. Identifikator |_. Kardinalitet |_. Datatype |
| "sikkerhetsnivaa":/Felles/sikkerhetsnivaa | 1..1 | "xs:int":http://www.w3.org/TR/xmlschema-2/#int |
| "virkningsdato":/Felles/virkningsdato | 0..1 | "xs:date":http://www.w3.org/TR/xmlschema-2/#date |
@@ -12,12 +12,12 @@ group: SikkerDigitalPost

h3. Attributer


{background:#ddd}.|_. Identifikator |_. Kardinalitet |_. Datatype |
table(table table-striped).
|_. Identifikator |_. Kardinalitet |_. Datatype |
| Signature | 1..1 | "ds:Signature":https://www.oasis-open.org/committees/download.php/21256/wss-v1.1-spec-errata-os-SOAPMessageSecurity.htm#_Toc118717148, Enveloped XML signatur |
{background:#ddd}.| "konversasjonsId":/Felles/konversasjonsId | 1..1 | "xs:string":http://www.w3.org/TR/xmlschema-2/#string |
| "konversasjonsId":/Felles/konversasjonsId | 1..1 | "xs:string":http://www.w3.org/TR/xmlschema-2/#string |
| "Avsender":Avsender | 1..1 | "sdp:Avsender":Avsender |
{background:#ddd}.| "Mottaker":Mottaker | 1..1 | "sdp:Mottaker":Mottaker |
| "Mottaker":Mottaker | 1..1 | "sdp:Mottaker":Mottaker |
| "Dokumentpakke":Dokumentpakke | 1..1 | "sdp:Dokumentpakke":Dokumentpakke |
{background:#ddd}.| "FysiskpostInfo":FysiskPostInfo | 0..1 | "sdp:FysiskpostInfo":FysiskPostInfo |
| "FysiskpostInfo":FysiskPostInfo | 0..1 | "sdp:FysiskpostInfo":FysiskPostInfo |
| "DigitalpostInfo":DigitalPostInfo | 0..1 | "sdp:DigitalpostInfo":DigitalPostInfo |
Oops, something went wrong.

0 comments on commit 3c1145c

Please sign in to comment.
You can’t perform that action at this time.