{"id":78,"date":"2007-09-19T23:40:43","date_gmt":"2007-09-19T21:40:43","guid":{"rendered":"http:\/\/self.mestrona.net\/blog\/2007\/achtung-bei-client-zertifikaten\/"},"modified":"2007-09-20T00:18:20","modified_gmt":"2007-09-19T22:18:20","slug":"achtung-bei-client-zertifikaten","status":"publish","type":"post","link":"https:\/\/s3lf.de\/blog\/2007\/achtung-bei-client-zertifikaten\/","title":{"rendered":"Achtung bei Client-Zertifikaten!"},"content":{"rendered":"<p>Durch eine <a href=\"http:\/\/www.heise.de\/newsticker\/meldung\/96229\" target=\"_blank\">Heise-Meldung<\/a> bin ich an ein Thema erinnert worden, welches mich vor einiger Zeit schonmal kurz besch&#228;ftigt hat &#8211; und das ich leider aus lauter gutem Glauben beiseite geschoben habe.<\/p>\n<p>Aber von vorne: <a href=\"http:\/\/de.wikipedia.org\/wiki\/Transport_Layer_Security\" target=\"_blank\">SSL<\/a> d&#252;rfte den meisten ein Begriff sein &#8211; neben der verschl&#252;sselten &#220;bertragung der Informationen zwischen Browser und Server geht es ja auch darum, per Server-Zertifikat sicher zu stellen, dass der, dem man dort seine Kontonummer und PIN sendet, auch wirklich seine Bank ist und nicht irgendein Betr&#252;ger. Analog dazu gibt es die &#8211; vielen wohl bisher eher unbekannte M&#246;glichkeit &#8211; im Browser (dem Client) ein so genanntes Client-Zertifikat zu installieren. So ein Client-Zertifikat ist vergleichbar mit einer Art digitalem Personalausweis.<\/p>\n<p><strong>Kleiner Open-ID-Exkurs<\/strong><\/p>\n<p>Nun geht es also nicht mehr darum, dass wir als Benutzer sicher sein wollen, dass wir wirklich mit unserer Bank reden, sondern darum, dass unsere Bank wei&#223;, dass wir der oder diejenige sind, f&#252;r den wir uns ausgeben.<\/p>\n<p>Diese Authentifizierung geschieht aber statt &#252;ber ein Client-Zertifikat heute &#252;blicherweise per Benutzername und Kennwort. Wenn man viel im Internet unterwegs ist, nerven einen aber die vielen Benutzernamen und Kennw&#246;rter, genau wie mich. Es gibt zwar einige Bestrebungen dem Kennwort-Fluch Herr zu werden, doch leider hat sich noch keine davon wirklich durchsetzen k&#246;nnen. Zwar kann man sich &#252;ber viele Firmen bei deren Diensten &#8211; oder Diensten von Kooperationspartnern &#8211; mit einem einzigen Kennwort anmelden (z.B. Google Mail, Google Kalender, Google Blogs bzw. Blogger usw.), aber leider macht man sich dadurch aber eben immer mehr von wenigen Firmen abh&#228;ngig und hat sich den Traum von einem Kennwort f&#252;r alles noch nicht erf&#252;llt. Ein meiner Meinung nach besserer Ansatz ist der von <a href=\"http:\/\/openid.net\/\" target=\"_blank\">OpenID<\/a> und &#228;hnlichen Verfahren: Man kann sich die &#8222;Firma&#8220; (den Identityprovider) bei der man sich seinen Benutzernamen und Kennwort registriert frei aussuchen. Man kann sogar selbst ein solcher Identityprovider sein, falls man z.B. eine Domain besitzt. Fortan hat man z.B. einen Benutzernamen der Form xena_goettin_des_feuers@example.org und kann sich damit in verschiedenen Foren, eMail-Dienstern usw. anmelden &#8211; vorrausgesetzt, OpenID wird unterst&#252;tzt. Das Kennwort wird dann nur noch gegen&#252;ber dem Identityprovider eingegeben um den Account freizuschalten &#8211; und der Identityprovider signalisiert im Hintergrund dem eigentlich Dienst (z.B. Forum), dass man der ist, f&#252;r den man sich ausgibt.<\/p>\n<p><strong>Noch bequemer mit dem Client-Zertifikat<\/strong><\/p>\n<p>Ein Identityprovider ist nun <a href=\"https:\/\/certifi.ca\/\" target=\"_blank\">certifi.ca<\/a> . Dort ist die Besonderheit, dass man bei der Anmeldung kein Kennwort vergeben muss, sondern sich allein &#252;ber das Client-Zertifikat identifiziert. Ein solches kann man z.B. bei <a href=\"http:\/\/www.cacert.org\/index.php?id=0&amp;lang=de_DE\" target=\"_blank\">CACert<\/a> oder auch bei Thawte kostenlos bekommen und in seinen Browser installieren. Solange man sich dieses Zertifikat nicht von seinem Rechner klauen l&#228;sst, wei&#223; z.B. der der certifi.ca-Server sicher, dass wir der sind f&#252;r den wir uns bei der Erstanmeldung ausgegeben haben und kann uns indirekt Zugriff z.B. auf unser Lieblingsforum oder den Webmaildienst gew&#228;hren.<\/p>\n<p>Da diese Idee einfach spitze ist, habe ich mir nat&#252;rlich direkt ein solches Zertifikat zugelegt und mich bei certifi.ca registriert. Um das Zertifikat von Thawte zu erhalten musste ich meine eMail-Adresse angeben (das macht auch Sinn, da man diese Zertifikate auch dazu nutzen kann seine eMails zu verschl&#252;sseln und digital zu signieren). Das Problem ist nun, dass der Browser standardm&#228;&#223;ig jedem das Client-Zertifikat sendet, der es haben will. Ausprobieren kann man das beim <a href=\"https:\/\/www.apache-ssl.org\/cgi\/cert-export\" target=\"_blank\">Apache Certifikat Export<\/a> &#8211; dort wird ersichtlich, dass der entsprechende Server nun mein Zertifikat sehen kann in dem auch &#8211; in meinem Fall &#8211; meine eMail-Adresse hinterlegt ist. Die einzige Warnung die evtl. kommt ist die, dass eine sichere Verbindung aufgebaut wird &#8211; nur d&#252;rften die viele (so auch ich) deaktiviert haben.<\/p>\n<p>Das jede Seite die man anschaut, direkt die eMail-Adresse kennt, ist nat&#252;rlich alles andere als w&#252;nschenswert! Selbst wenn man nicht so leichtsinnig wie ich ist und ein solches Zertifikat welches die eMail-Adresse enth&#228;lt, installiert, kann unter umst&#228;nden immernoch ein Server versuchen einem ein solches an zudrehen um einen zumindest immer wieder zu erkennen (das geht aber allerdings genauso gut mit Cookies und &#228;hnlichen Methoden)<\/p>\n<p><strong>Die L&#246;sung<\/strong><\/p>\n<p>Eine M&#246;glichkeit ist es nat&#252;rlich, die Warnung beim Besuch von SSL-Seiten zu aktivieren und lieber zweimal vor dem Betreten einer solchen zu &#252;berlegen &#8211; das ist aber auf Dauer l&#228;stig. Am w&#252;nschenswertesten w&#228;re es, einstellen zu k&#246;nnen, wem der Browser (Firefox) meinen &#8222;Ausweis&#8220; zeigen soll. Zum Gl&#252;ck kann man Firefox auch dazu bringen, jedes mal, wenn eine Seite ein Zertifikat sehen will, nach einer Best&#228;tigung zu fragen. Dazu aktiviert man unter Bearbeiten -&gt; Einstellungen -&gt; Erweitert -&gt; Verschl&#252;sslung -&gt; Wenn eine Website ein Sicherheitszertifikat verlangt: Jedes Mal fragen. <a href=\"http:\/\/s3lf.de\/blog\/wp-content\/uploads\/2007\/09\/firefox-zertifikate.png\" rel=\"lightbox[pics78]\" title=\"Client-Zertifikat nur nach Best&#228;tigung senden.\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/s3lf.de\/blog\/wp-content\/uploads\/2007\/09\/firefox-zertifikate.thumbnail.png\" alt=\"Client-Zertifikat nur nach Best&#228;tigung senden.\" class=\"imageframe imgalignleft\" height=\"154\" width=\"200\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Durch eine Heise-Meldung bin ich an ein Thema erinnert worden, welches mich vor einiger Zeit schonmal kurz besch&#228;ftigt hat &#8211; und das ich leider aus lauter gutem Glauben beiseite geschoben habe. Aber von vorne: SSL d&#252;rfte den meisten ein Begriff sein &#8211; neben der verschl&#252;sselten &#220;bertragung der Informationen zwischen Browser und Server geht es ja [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-78","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/posts\/78","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/comments?post=78"}],"version-history":[{"count":0,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/posts\/78\/revisions"}],"wp:attachment":[{"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/media?parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/categories?post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/s3lf.de\/blog\/wp-json\/wp\/v2\/tags?post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}