Skip to content
Permalink
Browse files

Rettet opp feil ved bruk av AES-GCM

  • Loading branch information...
ogrinde committed May 19, 2014
1 parent bb462e5 commit f996b690212b84ceab103cb4718185d99eb55377
Showing with 61 additions and 7 deletions.
  1. +61 −7 Dokumentpakke/ASiC_sikkerhet.textile
@@ -24,7 +24,7 @@ table(table table-striped table-condensed).
| IETF, RFC 3560 | "Use of the RSAES-OAEP Key Transport Algorithm in the Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf6 | IETF, 2003-07. |
| IETF, RFC 3565 | "Use of the Advanced Encryption Standard (AES) Encryption Algorithm in Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf7 | IETF, 2003-07. |
| IETF, RFC 5084 | "Using AES-CCM and AES-GCM Authenticated Encryption in the Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf8 | IETF, 2007-11. |

| IETF, RFC 5083 | "Cryptographic Message Syntax (CMS) Authenticated-Enveloped-Data Content Type":ietf9 | IETF, 2007-11 |
h3. Integritet

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.
@@ -74,10 +74,32 @@ ContentInfo ::= SEQUENCE {
Her skal følgende begrensninger gjelde:

<pre>
contentType = 1.2.840.113549.1.7.3 (id-envelopedData)
contentType = 1.2.840.113549.1.9.16.1.23 (id-ct-authEnvelopedData) ved bruk av AES-GCM, eller
contentType = 1.2.840.113549.1.7.3 (id-envelopedData) ved bruk av AES-CBC.
</pre>

content er EnvelopedData som beskrevet nedenfor.
content vil da være AuthEnvelopedData eller EnvelopedData som beskrevet nedenfor. AuthEnvelopedData er definert i "Cryptographic Message Syntax (CMS) Authenticated-Enveloped-Data Content Type":ietf9

<pre>
AuthEnvelopedData ::= SEQUENCE {
version CMSVersion,
originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
recipientInfos RecipientInfos,
authEncryptedContentInfo EncryptedContentInfo,
authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
mac MessageAuthenticationCode,
unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL
</pre>

Her skal følgende begrensninger gjelde:

* version = 0
* originatorInfo skal ikke være med
* recipientInfos skal være en mengde av nøyaktig en KeyTransRecipientInfo som beskrevet nedenfor
* authEncryptedContentInfo er EncryptedContentInfo som beskrevet nedenfor
* authAttrs skal ikke være med
* mac skal være 12 byte "authentication tag" som output av AES-GCM definert i NIST Special Publication 800-38D.
* unauthAttrs skal ikke være med

<pre>
EnvelopedData ::= SEQUENCE {
@@ -125,10 +147,41 @@ EncryptedContentInfo ::= SEQUENCE {
Her skal følgende begrensninger gjelde:

* contentType = 1.2.840.113549.1.7.1 (data)
* 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 2.16.840.1.101.3.4.1.42 (aes256-CBC) i henhold til "Use of the Advanced Encryption Standard (AES) Encryption Algorithm in Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf7. kan også benyttes.
* contentEncryptionAlgorithm er en AlgorithmIdentifier som beskrevet nedenfor

<pre>
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL }
</pre>

Her skal følgende begrensninger gjelde:

For AuthEnvelopedData (AES-GCM) skal verdiene være i henhold til "Using AES-CCM and AES-GCM Authenticated Encryption":ietf8.

* algorithm = 2.16.840.1.101.3.4.1.46 (aes256-GCM)
* parameters = GCMParameters som beskrevet nedenfor

<pre>
GCMParameters ::= SEQUENCE {
aes-nonce OCTET STRING, -- recommended size is 12 octets
aes-ICVlen AES-GCM-ICVlen DEFAULT 12 }
</pre>

Her skal følgende begrensninger gjelde:

* aes-nonce = 12 byte IV/Teller
* aes-ICVlen = 12


For EnvelopedData (AES-CBC) skal verdiene være i henhold til "Use of the Advanced Encryption Standard (AES) Encryption Algorithm in Cryptographic Message Syntax <notexttile>(CMS)</notexttile>":ietf7.

* algorithm = 2.16.840.1.101.3.4.1.42 (aes256-CBC)
* parameters = 16 byte IV

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 "Dokumentpakkefingeravtrykk":../StandardBusinessDocument/Melding/Dokumentpakkefingeravtrykk som ligger i en signert melding.

Det er avsenders ansvar å generere en AES-nøkkel med tilstrekkelig tilfeldighet. Kilden bør være en sertifisert generator for tilfeldige tall (TRNG).
@@ -145,9 +198,10 @@ Det er avsenders ansvar å generere en AES-nøkkel med tilstrekkelig tilfeldighe
[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
[ietf5]http://tools.ietf.org/html/rfc5652
[ietf5_6_3]http://tools.ietf.org/html/rfc5652#section-6.3
[ietf6]http://tools.ietf.org/html/rfc3560
[ietf7]https://tools.ietf.org/html/rfc3565
[ietf7]http://tools.ietf.org/html/rfc3565
[ietf8]http://tools.ietf.org/html/rfc5084
[ietf9]http://tools.ietf.org/html/rfc5083

0 comments on commit f996b69

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