Struktura X.509 certifikata

Standard X.509 propisuje da svaki certifikat sadrži sljedeće podatke:
Verzija
Označava koja verzija X.509 certifikata se primijenjuje na taj certifikat. Serijski broj
Pozitivan cijeli broj koji je jedinstven unutar CA. CA koji izdaje certifikat odgovoran je za dodjelu jedinstvenog serijskog broja certifikatu tako da se on može razlikovati od ostalih certifikata koje taj CA izdaje. Ovaj broj se koristi u različite svrhe. Npr. prilikom opoziva certifikata serijski broj se smješta u listu opozvanih certifikata (Certificate Revocation List, CRL).
Identifikator algoritma potpisa
Identificira algoritam koji je korišten od strane CA prilikom izdavanja certifikata za digitalno potpisivanje certifikata.
Izdavač
Označava X.500 ime entiteta koji je potpisao certifikat. Ovo je obično CA. Upotreba certifikata implicira povjerenje u entitet koji je potpisao certifikat. Razdoblje valjanosti
Svaki certifikat je valjan samo određeno vrijeme. Ovo vrijeme je određeno datumom početka i datumom kraja, a može varirati od samo nekoliko sekundi do gotovo stoljeća. Trajanje valjanosti ovisi o brojnim faktorima, kao npr. snaga privatnog ključa koji se koristi za potpisivanje certifikata ili o iznosu plaćenom za certifikat.
Ime subjekta
Identificira entitet povezan s javnim ključem. Ime koristi X.500 standard, uz namjeru da bude jedinstveno na Internetu. Za kvalificirani certifikat ovo polje mora imati vrijednost prepoznatljivog imena subjekta (Distinguished Name, DN), npr.
CN = webmail.fer.hr, OU = CIP, O = FER, C = HR gdje su oznake redom: CN – Common Name, OU – Organizational Unit, O – Organization,
C – Country.
Podaci o javnom ključu subjekta
Sadrži javni ključ imenovanog subjekta, zajedno s identifikatorom kriptografskog algoritma, te parametrima ključa.
Jedinstveni ID izdavača
Ovo polje je propisano u verziji 2 preporuke i opcionalno je. U polju se odreduje niz bitova koji jedinstveno identificiraju X.500 ime izdavača, u slučaju da je jedan X.500 DN kroz vrijeme bio dodijeljen više nego jednom certifikatoru.
Jedinstveni ID subjekta
Polje je propisano u verziji 2 preporuke i opcionalno je. U polju se odreduje niz bitova koji jedinstveno identificiraju subjekt, u slučaju da je jedan X.500 DN kroz vrijeme bio dodijeljen više nego jednom entitetu (npr. zaposlenik napusti poduzeće, a kroz nekoliko mjeseci u poduzeću se zaposli osoba istog imena i prezimena).
Proširenja
Proširenja su propisana u verziji 3. U preporuci se definiraju standardna proširenja za neke šire primjenjiva proširenja verzije 2 preporuke. Ali certifikati nisu ograničeni samo na standardna proširenja već svatko može registrirati proširenje kod odgovarajućih ustanova (npr. ISO). Svako proširenje se sastoji od tri polja:
  • type – tip,
  • critcality – kritičnost i
  • value – vrijednost.
Struktura proširenja je prikazana na slici 3-1.
Slika 3-1 Struktura proširenja verzije 3 X.509 certifikata

Polje extension type definira tip podatka u polju extension value. Tip može biti tekst, numerička vrijednost, datum, grafika ili neka složena struktura podataka. Polje extension criticality je jednobitna oznaka. Kada je polje označeno kao kritično znači da polje extension value sadrži podatak toliko važan da se ne smije zanemariti. Ako se kritično proširenje ne može obraditi, certifikat se mora odbaciti. Postoji razlika izmedu kritičnog proširenja i nužnog podatka u certifikatu. Određeno proširenje može biti nužno nekoj aplikaciji, ali to ne znači da takvo polje mora biti označeno kao kritično. Kritična polja su namijenjena samo za podatke tolike važnosti da ga moraju razumjeti sve aplikacije, npr. informacije važne za sprečavanje pogrešne uporabe certifikata. Velika većina proširenja je nekritična. Kritična proširenja se trebaju dodavati s oprezom i tek nakon pažljivog razmatranja jer mogu prouzročiti probleme pri korištenju certifikata. Polje extension value sadrži podatke. Tip podataka je definiran u polju extension type. Neka od standardnih proširenja su: informacije o ključu (sadrže informacije o namjeni certifikata i para ključeva), informacije o politici (daju mehanizam koji omogućuje certifikatoru da definira način na koji se određeni certifikat mora koristiti i interpretirati), atributi korisnika i certifikatora (omogućuju dodatne mehanizme kojima se odreduju informacije za identifikaciju korisnika i certifikatora), ograničenja na stazu certifikacije (omogućuju mehanizme kojima certifikator upravlja i ograničava povjerenje “prošireno” na treće osobe, te se primjenjuje kod unakrsne certifikacije). Dodatak A prikazuje najčešće korištene ekstenzije u verziji 3 X.509 certifikata, uz kratki opis i OID (Object Identifier).
Digitalni potpis
Digitalni potpis ostvaruje se tako da se tijelo certifikata sažme odabranom funkcijom sažimanja. Nakon toga, oblikuje se i proslijeđuje algoritmu enkripcije. Tako dobiveni rezultat zapisuje se u ovo polje. Struktura X.509 certifikata prikazana je na slici 3-2.
Slika 3-2 Struktura X.509 certifikata