Zugriff auf SmartCard

joschilein

Multitalent
ID: 9301
L
5 Mai 2006
1.393
151
Ich soll auf einer Homepage einen Teilbereich nur für solche Besucher zugänglich machen, die an ihrem Computer eine passende SmartCard (Chipkarte + Leser..) haben. Da ich noch nie selbst mit solchen Karten gearbeitet habe, habe ich auch keine Ahnung, wie man sowas serverseitig abfragen kann. Papa Google spuckt auch nur Werbung und keine Infos :-?
 
Hi,

serverseitig wird man sowas denke ich "ganz einfach" gar nicht abfragen können.
Da musst du schon die Daten vom Client übermittelt bekommen - sprich du brauchst wohl spezielle Software - zumindest wäre mir nichts anderes bekannt (wäre ja auch nicht sinnvoll, wenn jeder schauen könnte, was an deinem Rechner dranhängt)!

Gruß
 
so wie ich das System einer SmartKarte verstanden habe sind doch nur Schlüssel oder bei manchen Karten auch Programmmodule darauf gespeichert. Wie sollst nun du mittels PHP/Java/Prel oder sonstigem an diese Schlüssel kommen.
Ich denke mal das war ne nette Idee von den Leuten aber nicht realisierbar,
man müsste ja einen speziellen Browser nutzen der die Daten von der Karte ins Netz sendet, anders würdest du ja gar nicht an die Daten rankommen. Das geht so nicht.
Frag am besten nochmal nach, wie das gemeint war, weil mich interessiert dieses Thema auch :biggrin:
 
Genau weil das mit dem Zugriff auf die Karte (ist die für den Computer dann vielleicht sowas wie ne normale CF oder SD Karte, also ne Festplatte?) nicht so ganz klar ist, habe ich keine Ahnung, wo man da ansetzen könnte.

Fakt ist aber, dass ich das bei jemandem gesehen habe. Das ist eine Softwarefirma, die ihre Programme mit solchen und ähnlichen Karten vor unberechtigtem Zugriff schützt, wie das dann auf dem jeweiligen Rechner läuft, ist ja halbwegs nachvollziehbar. Nun haben die aber auch eine Administrationsoberfläche übers Weg laufen und wenn man dahin möchte, braucht man zwingend eine solche Karte, sobald sie rausgezogen wird, wird die Verbindung gekappt. So und die Idee finde ich ganz dufte* und mir wurde von Seiten eines Vorgesetzten mal aufgetragen, sowas für die eigene Homepage in Erfahrung zu bringen.

*Ja, über die Fragen wie "Dir ist schon klar, dass dann wirklich jeder eine Karte braucht" und "100%ige Sicherheit gibt es nicht" habe ich mir Gedanken gemacht.

So aber zur technischen Umsetzung.. Da ich noch nie Homebanking per HBCI gemacht habe, kann ich wenig dazu sagen, aber das sollte doch eigentlich das gleiche sein. Man bekommt ein Stück Hardware (eben auch solche Karten) nach Hause und nur mit denen kann man sich bei der Bank einloggen.
Es wurde auch kein spezieller Browser verwendet, sondern ein stinknormaler (und saukrüppeliger *hust*) IE - ob jetzt irgendein spezielles Plugin drin war, konnte mir der Herr dieser Softwarefirma auch nicht sagen
 
und wenn man dahin möchte, braucht man zwingend eine solche Karte, sobald sie rausgezogen wird, wird die Verbindung gekappt.
Sicher, dass die da sofort gekappt wird?
Bei uns braucht man die Smartcard in der Firma auch nur zum Einloggen, wenn man dann mal drin ist, isses wurscht, was damit passiert.

anddie
 
...das ganze könntest du lösen, in dem du eine Software "für den PC" machst, die die SmartCard ausliest. Zusätzlich müsstest du noch einen Server in dieser Software unterbringen.

Im Webbereich (egal ob PHP, ASP,...) baust du nun mit der IP (die du ja beim Aufruf über den Webbrowser mitgeteilt bekommst) eine Socket-Verbindung zum PC auf. Wenn die geht "lässt du ihn rein". Ansonsten halt auf ne error umleiten...

Ist natürlich nur ne Kurzbeschreibung... Solltest noch ein keyfile auf der SmartCard haben, und die dann in ner DB im Web speichern zum Abgleich und so -> würd' jetzt aber ausarten, wenn ich hier ein komplettes Konzept mach - mir qualmen jetzt schon die Finger ;)

Ist aber relativ einfach, und sollte in ein paar Stunden zu schaffen sein ;)


Grüße cptjohn
 
Sowas ist möglich. Mein vater nutzt dieses Verfahren um seine Schlachtdaten von den Sauen abzufragen :ugly:

Er muss immer eine Spezielle Software auf dem PC starten, bevor er sich einloggen kann. Dann stellt er nen Proxy auf Localhost ein und den entsprechenden Port. Wenn er dann die entsprechende Seite aufruft kommt ein Loginfenster, wo er zusätzlich noch sein Passwort eingeben muss, damit es auch wirklkich sicher is ;)

Das muss man also eigentlich leicht realisieren können, wenn man weiß, wie man über die Software die Karte ausliest. Die Software sendet dann entsprechende Daten an die Online Datenbank oder ein script, dass dann die entsprechenden Sachen in die datenbank schreibt.
 
[...] baust du nun mit der IP (die du ja beim Aufruf über den Webbrowser mitgeteilt bekommst) eine Socket-Verbindung zum PC auf.

In unserer heutigen Router- und Firewallgesellschaft sicher die einfachste Loesung :roll: (Wobei ich nichts gegen das Prinzip einzuwenden habe)

Guck dir mal HBCI und FinTS an, der Wiki Artikel zu HBCI ist nicht uebel, und das FinTS Kompendium schneidet auch einiges an. Vorallem basiert FinTS seit Version 4.0 auf HTTP/HTTPS, wodurch die Noetigikeit irgendeinen Port zu oeffnen wegfaellt. Jedoch brauchst du immernoch irgendein Programm, dass deine Smartcard ansteuert. Die FinTS Homepage ist auch ziemlich informativ.

(Gibt uebrigens genug open source FinTS/HBCI Software, die sich sicher gern zweckentfremden laesst)
 
Sicher, dass die da sofort gekappt wird?
Bei uns braucht man die Smartcard in der Firma auch nur zum Einloggen, wenn man dann mal drin ist, isses wurscht, was damit passiert.

anddie

Naja sobald du sie gezogen hast kann sie (ausser über Funk.....) nichts mehr mit dem enthaltenen Schlüssel Signieren/Verschlüsseln. Zum Zugriff, der Source von GPG ist gerade das einzige was mir einfällt :) Die alternative wäre HTTPS Client Zertifikate über die SmartCard laufen zu lasssen. Kenn die Technologie aber selber nur für VPN Verbindungen zu Paranoiden/Sicherheitsbewussten. Würd mir aber sehr gerne so eine GPG Karte zulegen.
 
auf ne smartcard kannst du nur zugreifen wenn du rechte auf dem system hast, was du mit ner website definitv nicht hast. also brauchst du sowas wie activex, java (keine ahnung ob man damit aus ne smartcard zugreifen kann), oder irgendwas anderes was rechte auf dem system bekommt zb nen exrtra programm wie nen proxy (wie bei flaschenkind). was natürlich alles mit mehr oder wenig starken einschränkungen verbunden ist.

@joschilein ne smartcard wird nicht wie ne festplatte benutzt. ne smardcard zur authetifizierung ist immer ne karte die über krypto funktionen verfügt. sprich du sendest was rein, das wird mit nem privaten schlüssel verschlüsselt und wird wieder zurückgeben was wiederum mit nem öffentlichen schlüssel entschlüsselt wird (hier wäre das der server), wenn alles ok ist handelt es sich um die entsprechende karte, wenn nicht ist was faul. alles andere ist eigentlich sinnlos... sprich irgendwelche keyfiles. da kannste auch nen passowrt nehmen...
 
Sicher, dass die da sofort gekappt wird?
Eben wie bei ner ausgelaufenen Session, mit dem nächsten Klick bekommt man keine Daten mehr..

Naja, da wir deren vorhandene Plattform erstmal nutzen werden und im Nachzug unsere Kunden, werde ich da schonmal Erfahrungen sammeln und bis dahin vielleicht aus den Tiefen der Entwicklungsabteilung eine Antwort auf meine gestellte Frage erhalten - ich bin da aber immer etwas skeptisch, weil man in dem Laden gerne fünf mal im Kreis weitergeleitet wird, weil keiner zuständig ist :roll:
 
@ flaschenkind
du meinst nen vpn, das ist wieder was anderes..

@ joschilein
du kannst beim aufruf einer seite zertifikate mitschicken und dich dadurch noch besser authentifizieren. ich weiss allerdings nicht wie das im zusammenhang mit der smartcard aussieht, ob beim einlegen dieses zertifikat existiert udn danach halt nicht mehr..
ich hab zwar nochnet danach ge-googel't, das dürfte aber für zertifikatsneulinge net unbedingt die einfachste aufgabe sein.
 
ZeroCCC,
Afaik ist es aber möglich den Browser so zu konfigurieren dass er ein ClientZertifikat von einer SmartCard für SSL verwendet. Dieses kann er dann auf dem Server überprüfen ;)
 
ZeroCCC,
Afaik ist es aber möglich den Browser so zu konfigurieren dass er ein ClientZertifikat von einer SmartCard für SSL verwendet. Dieses kann er dann auf dem Server überprüfen ;)

ja könnte man... aber überleg mal was passieren könnte wenn das system auf dem die smartcard benutzt wird bereits komprometiert ist? somit könnte das zertifikat "endwendet" werden...
 
Afaik ist es aber möglich den Browser so zu konfigurieren dass er ein ClientZertifikat von einer SmartCard für SSL verwendet. Dieses kann er dann auf dem Server überprüfen ;)
Genau. Dafür gibts meistens ne dll für den entsprechenden Treiber (bei XP sollten die auch schon installiert sein). Im Outlook sieht man in der Konfig für den Verschlüsselungsstore auch sehr schön, das dort eine dll zum Smartcardzugriff verwendet wird.

ja könnte man... aber überleg mal was passieren könnte wenn das system auf dem die smartcard benutzt wird bereits komprometiert ist? somit könnte das zertifikat "endwendet" werden...
Das ist das Problem der Smartcard. Ein privater Schlüssel darf von dort nicht einfach herunterkopiert werden. Ist technisch meist auch gar nicht möglich, da man nicht direkt auf den Speicher so einer Smartcard zugreifen kann.

anddie