Jarosław
Mazurek
Wrocławskie
Centrum Sieciowo-Superkomputerowe
Politechnika
Wrocławska
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