DER dvejetainis formatas (.der)
ITU-T StandartinisSkiriamųjų kodavimo taisyklių (angl. Distinguished Encoding Rules, DER) standartas yra griežtas, kanoninis dvejetainis ASN.1 duomenų struktūrų kodavimo standartas, užtikrinantis vienareikšmį, bitslieka tikslų saugos sertifikatų ir kriptografinių raktų vaizdavimą.
Konvertuoti DER į PEM
Nemokamas DER į PEM konverteris naršyklėje. Konvertuokite failus akimirksniu savo įrenginyje.
Tikrinti ir metaduomenys
Operacinės sistemos ir failų analizatoriai atpažįsta DER failus tikrindami pradinę dvejetainę baitų seką:
Baitų lygio antraštės parašas (magiškieji baitai)
Operacinės sistemos ir failų analizatoriai atpažįsta DER failus tikrindami pradinę dvejetainę baitų seką:
ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):
30 82ASCII ATVAIZDAVIMAS: 0\x82
Standartizacija: ITU-T Recommendation X.690
Techninės specifikacijos
| Konteinerio architektūra | Strict canonical binary encoding of ASN.1 structures using Tag-Length-Value (TLV) triples |
| Glaudinimas | Uncompressed binary data |
| Baitų seka (Endianness) | Big-Endian ASN.1 encoding |
| Spalvų erdvės | N/A (Cryptographic Binary Stream) |
| Kanalai ir struktūra | Cryptographic keys, X.509 certificates, CRLs, and PKCS structures |
| Maksimalūs matmenys | Unbounded ASN.1 length |
| Skaidrumas | Binary ASN.1 data structure |
| Srautas ir progresyvusis įkėlimas | Deterministic single-pass canonical decoding |
Techninė palyginimo matrica: DER vs konkurentai
| Techninis atributas | DER (Dabartinis) | PEM | CRT | P12 |
|---|---|---|---|---|
| Duomenų vaizdavimas | Griežtas dvejetainis ASN.1 kodavimas | Base64 ASCII šarvuotas tekstas | Base64 PEM arba dvejetainis DER | Užšifruotas dvejetainis PKCS #12 archyvas |
| Deterministinė maiša | 100 % kanoninis bitų srautas | Priklauso nuo tarpų / reklaminių juostų | Priklauso nuo formato | Užšifruota su „salt" / IV |
| Failo dydis | Mažiausias (~33 % mažesnis nei PEM) | Didesnis dėl Base64 (+33 %) | Didesnis dėl Base64 (+33 %) | Didesnis dėl šifravimo gaubtų |
| „Java" ir aparatinės įrangos palaikymas | Gimtasis standartas | Reikalauja konvertavimo „Java" aplinkoje | Reikalauja konvertavimo „Java" aplinkoje | Palaikomas kaip raktų saugykla |
Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas
OpenSSL klaida: „asn1 encoding routines:ASN1_get_object:header too long".
Pirminė priežastis: Sugadintas žymos-ilgio-reikšmės (TLV) baitas ASN.1 sekos antraštėje.
Atkūrimas: Atlikite perkodavimą naudodami „File2File Certificate Tool", kad atkurtumėte galiojančius DER kanoninius baitus.
Saugumo analizė ir analizatoriaus atakos vektoriai
DER dekoderiai išanalizuoja ilgio aprašus, kur sveikųjų skaičių perteklius arba nepakankamumas (underflow/overflow) gimtosiose kriptografijos bibliotekose gali sukelti buferio perpildymą.
Žinomi atakos vektoriai
- Sveikojo skaičiaus perteklius dekoduojant giliai įdėtą neapibrėžtą ASN.1 ilgį.
- Skaitymas už ribų analizuojant deformuotas bitų eilutes.
- Paslaugos trikdymas (DoS) per įdėtąsias ASN.1 rekursijos bombas.
Geriausia apsaugos praktika:
Istorinė kilmė ir svarbiausi etapai
Pagrindiniai privalumai
- Kanoninis ir deterministinis: garantuoja, kad identiški duomenys visada sugeneruoja lygiai tokį patį dvejetainį maišos (angl. hash) kodą, kuris yra būtinas skaitmeniniams parašams.
- Kompaktiškesnis nei PEM: sutaupo apie 33 % papildomos apimties, nes nenaudojamas Base64 kodavimas ir ASCII reklaminės juostos.
- Vietinis formatas aparatinės įrangos saugos moduliams (HSM), išmaniosioms kortelėms ir „Java" raktų saugykloms.
Techniniai apribojimai ir trūkumai
- Dvejetainio formato negalima peržiūrėti, redaguoti ar kopijuoti teksto rengyklėse.
- Retesnis žiniatinklio prieglobos aplinkose, kuriose visiškai teikiama pirmenybė tekstiniams PEM/CRT failams.
- Griežtos kodavimo taisyklės reiškia, kad bet koks nedidelis užpildymo neatitikimas sukelia analizės klaidą ir atmetimą.
Įdomūs techniniai faktai
- DER yra griežtas BER (pagrindinių kodavimo taisyklių) poaikis; nors BER leidžia kelis galimus reikšmių kodavimo būdus, DER leidžia tiksliai vieną kanoninį būdą.
- Jei DER failą užkoduosite naudodami Base64 ir apgaubsite „-----BEGIN CERTIFICATE-----", gausite standartinį PEM failą.
- „Java" KeyFactory reikalauja, kad RSA viešieji ir privačiai raktai būtų pateikti grynuoju DER formatu.
Dažniausiai užduodami techniniai klausimai
Kuo skiriasi DER ir PEM?
DER yra neapdorotas dvejetainis sertifikato arba rakto formatas. PEM yra tiesiog tas pats DER failas, konvertuotas į įskaitomą Base64 tekstą su „-----BEGIN...-----“ žymomis.
Kaip konvertuoti DER į PEM?
Įkelkite savo .der failą į File2File.app, kad per vieną sekundę tiesiogiai savo naršyklėje konvertuotumėte jį į standartinį .pem tekstinį sertifikatą.
Kodėl „Java“ naudoja DER raktus?
Java kriptografijos architektūra (JCA) savo vietinėms raktų specifikacijoms naudoja DER koduotus PKCS#8 ir X.509 baitų masyvus.