Jarosław Mazurek

Wrocławskie Centrum Sieciowo-Superkomputerowe

Politechnika Wrocławska

jarosław.mazurek@pwr.wroc.pl

 

Temat zadania:

 

Projekt schematu bazy (klasy obiektów, atrybuty) dla potrzeb ogólnopolskiej usługi LDAP:

zdefiniowanie dodatkowych klas obiektów i atrybutów wymaganych przez projekt IST NASTEC

 

(opracowanie przygotowane w ramach realizacji zadań projektu KBN)

 

Data opracowania: 13.09.2002.

 

Streszczenie

 

Dokument opisuje schemat bazy LDAP pod względem zastosowania klas obiektów i atrybutów wymaganych przez projekt IST NASTEC.

 

Wstęp

 

Projekt IST NASTEC zakłada przechowywanie w bazie LDAP następujących obiektów:

- certyfikatów klucza publicznego użytkowników,

- certyfikatów klucza publicznego urządzeń sieciowych,

- certyfikatów klucza publicznego urzędów certyfikacyjnych,

- list unieważnionych certyfikatów.

Użytkownik może posiadać kilka certyfikatów i wszystkie one powinny być składowane w bazie.

 

Schemat bazy

 

Podczas testów używano oprogramowania OpenLDAP w wersji 2.0.23.

Dla certyfikatów użytkowników zastosowano klasę obiektów inetOrgPerson. Certyfikaty składowane są tam jako wartości atrybutu userCertificate ze schematu Core:

attributetype ( 2.5.4.36 NAME 'userCertificate'

      DESC 'RFC2256: X.509 user certificate, use ;binary'

      SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )

Istnieje możliwość przechowywania kilku certyfikatów dla jednej osoby. Certyfikaty są rozpoznawane przez przeglądarki Microsoft Internet Explorer (rys. 1.) i Netscape Communicator (rys. 2.), a także przez program LDAP Browser/Editor (rys. 3. i 4.).

 


Rys. 1. Certyfikaty w przeglądarce Microsoft Internet Explorer.


Rys. 2. Certyfikaty w przeglądarce Netscape Communicator.



Rys. 3. Wpis obiektu klasy inetOrgPerson z certyfikatami w programie LDAP Browser/Editor.



Rys. 4. Certyfikaty w programie LDAP Browser/Editor.

 

Dla certyfikatów urządzeń sieciowych zastosowano klasy obiektów ipHost ze schematu NIS oraz strongAuthenticationUser ze schematu Core:

objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost' SUP top AUXILIARY

      DESC 'Abstraction of a host, an IP device'

      MUST ( cn $ ipHostNumber )

      MAY ( l $ description $ manager ) )

objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser'

      DESC 'RFC2256: a strong authentication user'

      SUP top AUXILIARY

      MUST userCertificate )

 


Rys. 5. Wpis urządzenia sieciowego.

 


Rys. 6. Podgląd wpisu urządzenia sieciowego z certyfikatem programie LDAP Browser/Editor.

 

Dla certyfikatów urzędów certyfikacyjnych i list unieważnionych certyfikatów zastosowano klasę certificationAuthority ze schematu Core:

objectclass ( 2.5.6.16 NAME 'certificationAuthority'

      DESC 'RFC2256: a certificate authority'

      SUP top AUXILIARY

      MUST ( authorityRevocationList $ certificateRevocationList $

            cACertificate ) MAY crossCertificatePair )

 


Rys. 7. Wpis urzędu certyfikacyjnego.

 


Rys. 8. Obiekt klasy certificationAuthority w programie LDAP Browser/Editor.

 

Dla użytkowników przewiduje się również zastosowanie atrybutów userSMIMECertificate i userPKCS12 z klasy inetOrgPerson oraz klasy cRLDistributionPoint ze schematu Core dla list unieważnionych certyfikatów:

attributetype ( 2.16.840.1.113730.3.1.40

      NAME 'userSMIMECertificate'

      DESC 'RFC2798: PKCS#7 SignedData used to support S/MIME'

      SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )

attributetype ( 2.16.840.1.113730.3.1.216

      NAME 'userPKCS12'

      DESC 'RFC2798: personal identity information, a PKCS #12 PFX'

      SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 )

objectclass ( 2.5.6.19 NAME 'cRLDistributionPoint'

      SUP top STRUCTURAL

      MUST ( cn )

      MAY ( certificateRevocationList $ authorityRevocationList $

            deltaRevocationList ) )

 

W wersji OpenLDAP 2.1.4. w schemacie Core występują klasy pkiUser oraz pkiCA, które będą używane po uaktualnieniu oprogramowania.

objectclass ( 2.5.6.21 NAME 'pkiUser'

      DESC 'RFC2587: a PKI user'

      SUP top AUXILIARY

      MAY userCertificate )

objectclass ( 2.5.6.22 NAME 'pkiCA'

      DESC 'RFC2587: PKI certificate authority'

      SUP top AUXILIARY

      MAY ( authorityRevocationList $ certificateRevocationList $

            cACertificate $ crossCertificatePair ) )

 

Podsumowanie

 

Biorąc pod uwagę wymagania projektu IST NASTEC, zdefiniowanie dodatkowych klas obiektów i atrybutów nie jest konieczne.

Konieczne natomiast jest stworzenie oprogramowania korzystającego z wymienionych w tym dokumencie klas obiektów i atrybutów.

Oprogramowanie to powinno uwzględniać przypadek, w którym atrybuty mogą posiadać wiele wartości.

 

Bibliografia

 

  1. Strona WWW OpenLDAP: www.openldap.org
  2. Strona WWW programu LDAP Browser/Editor: http://www.iit.edu/~gawojar/ldap/