Collection Contents Zurück Weiter PDF

MobiLink Benutzerhandbuch

Transportschichtsicherheit

Zertifikatsfelder überprüfen


Globale Zertifikate haben eine mögliche Schwachstelle. Da MobiLink-Clients, wenn sie wie oben beschrieben konfiguriert wurden, allen Zertifikaten der entsprechenden Zertifizierungsstelle vertrauen, akzeptieren sie möglicherweise auch Zertifikate, die diese Zertifizierungsstelle für andere Unternehmen ausgestellt hat. Unbeabsichtigt kann Ihr Client in diesem Fall den MobiLink-Synchronisationsserver eines anderen Unternehmens für Ihren eigenen halten und sensible Daten an diesen übermitteln.

Ähnliche Situationen sind auch in anderen Szenarios denkbar. Ein Unternehmen verwendet beispielsweise ein Unternehmenszertifikat, aber es kann dennoch ausschlaggebend sein, mit welcher Abteilung ein MobiLink-Client verbunden ist.

Dieses Problem kann gelöst werden, indem Ihre Clients bestimmte Feldwerte im Identifizierungsabschnitt des Zertifikats überprüfen. Drei Zertifikatsfelder können überprüft werden. Sie können eines, beliebige Kombinationen, oder alle drei der folgenden Felder prüfen:

Um die Felder zu überprüfen, müssen Sie die akzeptablen Werte angeben. Die folgende SQL-Anweisung weist Adaptive Server Anywhere-Client beispielsweise an, alle drei Felder zu überprüfen und nur die angegebenen Werte zu akzeptieren.

CREATE SYNCHRONIZATION SUBSCRIPTION
FOR 'user01'
TO test
ADDRESS 'port=3333;security=ecc_tls(    trusted_certificates=certicom.crt;
   certificate_company=Sybase, Inc.;
   certificate_unit=iAnywhere;certificate_name=sample )'

Die Überprüfung der Felder durch einen UltraLite-Client erfolgt in ähnlicher Weise. Die genaue Syntax hängt von der verwendeten Schnittstelle bei der Erstellung der Anwendung ab. Das folgende C-Code-Fragment erfüllt dieselbe Aufgabe, wenn die UltraLite-Anwendung mit eingebettetem SQL in C oder C++ entwickelt wurde:

ul_synch_info info;
. . .
info.security_parms =
   UL_TEXT ( "certificate_company=Sybase, Inc." )
   UL_TEXT ( ";" )
   UL_TEXT ( "certificate_unit=iAnywhere" )
   UL_TEXT ( ";" )
   UL_TEXT ( "certificate_name=sample" );
. . .
ULSynchronize( &info );

In diesem Beispiel werden alle drei Felder überprüft. Sie können auch nur ein oder zwei Felder überprüfen lassen.


Felder in Zertifikatsketten überprüfen
Global signierte Zertifikate als Unternehmenszertifikate verwenden

Collection Contents Zurück Weiter PDF