PC identifizieren / Daten auslesen

OnDemand

Top Contributor
Hallo zusammen,

ist es erlaubt, einen PC anhand seiner MAC Adresse oder so zu identifizieren und dessen MAc-Adresse zu speichern, um den PC zu identifizieren? Oder gibt es da Datenschutzrechtlich bedenken?
 

OnDemand

Top Contributor
Das war ja mal ne rasche Antwort, danke =)

Ich möchte die Mac-Adresse dem Kunden anzeigen, er muss sie mir mitteilen, damit ich ihn für die Nutzung bestimmter Programmteile freischalten kann. Wenn er das nicht will, muss er es nicht machen, kann dann halt nicht mit dem Programm arbeiten
 

geqoo

Bekanntes Mitglied
Hmm, also spielt die ganze Geschichte geschäftlich.
Wenn darauf hingewiesen wird, dass die MAC-Adresse in bestimmten Programmteilen ausgelesen wird, ist das sicher in Ordnung.
Eine MAC-Adresse dient auch nur zur eindeutigen Identifizierung einer Netzwerkkarte (also wahrscheinlich bei euch eines Rechners), nicht zur Identifizierung einer Person.
Natürlich könnte man jetzt sagen diese eine Person hat die und die Netzwerk-Adresse, also ist es indirekt doch zuordenbar.

Willst du auch speichern, welche MAC zu welchem Kunden gehört? Falls dort nur eine Liste mit freigeschalteteten Adressen drin ist, sind das keine personenbezogenen Daten. Damit kann auch ein anderer dann nichts anfangen, wenn diese Zuordnung nicht vorliegt (wobei das in der virtuellen Welt immer etwas schwierig ist).
 

OnDemand

Top Contributor
Hmmm danke, das klingt ja sehr grenzwertig, ich wollte die Mac-Adresse nutzen, damit das Programm am Server (wo die MAC dann eingetragen wäre) nachfragt, ob die Kombination aus MAC+SERIAL+KUNDENNR. übereinstimmen. Aber anhand der Kundennummer lässt sich ja dann die Person herausfinden, es sei denn es sitzt grad ein anderer Kollege an dem Rechner :eek: :p. Aber das ist nun mal eine Nutzungsbedingung, weis nicht was das mit Datenschutz immer soll. Wenn ein Kunde dem nicht zustimmen will, muss er sich ein anderes Programm kaufen.:bloed:
 

geqoo

Bekanntes Mitglied
Die Kommunikation zwischen welchem Server? Eurem oder dem Server beim Kunden, wo das Programm installiert ist?

In diesem Falle liegt natürlich eine besondere Schutzbedürftigkeit der personenbezogenen Daten vor, da für Dritte ein unberechtiger Zugriff ausgeschlossen werden soll. Wahrscheinlich muss die Kommunikation mit dem Server dann sicher verschlüsselt werden, dann dürfte das in Ordnung gehen.
 
Zuletzt bearbeitet:

turtle

Top Contributor
Ich gebe zu bedenken, dass eine MAC-Adresse NICHT eindeutig ist.

Zum Beispiel kann eine virtuellen Maschine mit einer selbst definierten MAC-Adresse leicht erzeugt werden.
Und existieren mehrere Tools (beispielsweise ChangeMac2010), mit denen die MAC-Adresse "gefälscht" werden kann.

Es scheint mir ein Berechtigungssystem auf der MAC-Adresse aufzubauen, nicht besonders sinnvoll.
 

OnDemand

Top Contributor
Hi,

oh danke für deinen Tipp! Hast du bessere Ideen was man machen könnte? Andererseits gehe ich davon aus, dass meine User nicht wissen, wie man die MAC ändert, bzw. wiederum auch keine Berechtigungen seitens der Systemrechte haben, diese ändern zu wollen :toll:. Könnte man vielleicht eine Seriennummer o.ä. aus dem Rechner herausbekommen (mit Java-Mitteln) von der GraKa, Motherboard, oder oder oder?
 

OnDemand

Top Contributor
Stimmt, das ist verboten. Aber wen juckt das oder wie will das jemand jemanden Nachweisen?

Aber nochmal zu meiner Frage, wäre das Verarbeiten der Mac-Adresse auch datenschutzrechtlich gaga? oder wäre es ok, wenn man der MAC-Adresse eine Seriennummer zuordnet, dieser aber keinen Kunden, dann führen wir eben keine Liste mit Kunden und dazugehöriger Nummer, sondern nur MAC+SN-Nr..

Oder dürfen wir den Kunden um Erlaubnis bitten, die Mac zu verarbeiten?! Man findet hier aber auch garnix dazu. Ich schwöre selbst Datenschutzrechtler hätten da keine Antwort :pueh:
 
Zuletzt bearbeitet:

turtle

Top Contributor
Das wäre doch MAC-Spoofing und ist verboten?
Ich bin kein Anwalt und kenne mich damit nur sehr ungenau aus, aber genau so geht es der anderen Seite auch. Zeige mir mal einen Rechtsanwalt, der versteht und beurteilen kann, was Spoofing ist und welche Auswirkungen das in einem konkreten Fall das hatte(oder haben) kann.
Langer Rede kurzer Sinn: Ich halte das für eine laaange Auseinandersetzung zwischen den Beteiligten im Streitfall und dies möchtest du als SW-Anbieter NICHT wirklich mit einem Kunden haben, oder?

Nein, ich glaube, wenn du wirklich Software schreiben möchtest, die nur von lizenzierten Benutzern verwendet wird, kommst du um Hardware nicht herum.

Ich halte beispielsweise den Schutz von Wibu-Key für ganz ordentlich.
 

OnDemand

Top Contributor
Wollte erstmal keine externen mit reinnehmen, vor allem nicht weil ich nicht weis wie viel Einnahmen zustande kommen. Vielleicht hat noch jemand eine Idee bezgl. einer Hardware-Komponenten-Nummer auslesen. Wenn der Kunde die Komponente, Festplatte, Betriebssystem wechselt, muss er eben unseren Support kontaktieren und die Seriennummer erneut freigeben lassen etc.
 

turtle

Top Contributor
Ich möchte noch einmal darauf hinweisen, dass mir kein Schutzmechanismus in Java bekannt ist, mit dem erstens Lizenzen erfolgreich verwaltet und andererseits die Anforderungen an die Umgebung des Kunden adäquat abgedeckt werden können.

Mit diesem Thema habe ich mich ergiebig auseinander gesetzt und gefunden, dass alle Mechanismen leicht ausgehebelt werden können.
Denn letztendlich muss jedes Java-Programm über den Class File Verifier der JVM gültigen Bytecode repräsentieren. Spätestens an dieser Stelle muss der Bytecode in JVM-kompatibler Form vorliegen. Alle Dinge, die vorher gemacht wurden, wie beipsielsweise Verschlüsselung der
class-Dateien und Laden derselben über einen eigenen Classloader sind dann hinfällig.
Also lässt sich der Aufruf einer Routine, die prüft, ob ein Benutzer lizenziert ist, ausbauen oder immer mit ja beantworten, also keine Lizenzkosten notwendig.

Ich hatte mal ein System entworfen, in denen Kunden über verschlüsselte Informationen(Zertifikate für Kunde/Anbieter liegen vor) und somit angeben welchen Typ von Lizenz sie benötigen. Danach erstellt der Anbieter eine Schlüsseldatei und überträgt sie zum Kunden. Beim Programmstart wird geprüft, ob das Programm ausreichend lizenziert ist, indem die Lizenzdatei gelesen, entschlüsselt und ausgewertet wird.
Wie oben aber bereits erwähnt, ist dieses "nur" ein Grund, der die Attacke auf das Programm erschwert aber nicht unmöglich macht.

Andere Optionen wären:


  • Abfrage der Lizenz über das Netzwerk beim Programmstart
Dieses ist eine gute Option, aber meistens nicht mit den Sicherheitsrichtlinien des Kunden vereinbar.
Eine Subalternative wäre die Installation eines Lizenzervers beim Kunden
Dieses ist aber aus offensichtlichen Gründen ebenfalls schwer umsetzbar. Diesmal kann der Kunden natürlich den Server selbst kompromittieren und daher ist das Sicherheitskonzept per se ausgehebelt.


  • Verdongelung der Software
Dieses ist eine weitere gute Option und kann mit minimalen Aufwand für Anbieter/Kunde umgesetzt werden. Hierbei werden insbesondere die beiden Punkte Verschlüsselung und Sicherstellung das die JVM nicht manipuliert wurde, kombiniert. Mit WibuKey als Beispiel wird für den Kunden ein spezieller Code erzeugt und in den USB-Dongle geschrieben. Gleichzeitig wird die Software verschlüsselt und kann nur noch mit dem richtigen Dongle entschlüsselt werden. Dabei verifiziert die Wibu-SW, dass keine Manipulationen zum Beispiel an den Classloadern der JVM erkannt werden.

Alles in allem, war die Verdongelung der SW die Lösung, die eingesetzt wurde, zumal dies mit überschaubaren Aufwand und Kosten gemacht werden kann.

Leider bietet die JVM nur unzureichende Möglichkeiten des Schutzes der Java-Software. Vielleicht deshalb ist ein extrem großer SW-Bereich Open-source und es wird eher mit (weiteren) Dienstleistungen oder Support gearbeitet.

Ich kann mir auch nicht vorstellen, das deine SW einen sooo grossen Mehrwert erzeugt, dass sich dieser ganze Schutz-Aufwand lohnen würde, zumal geschickt formulierte Eula's hier gut helfen können.

Da ist die Speicherung von MAC-Adressen in der DB beim Anbieter nur ein geringes Problem, wobei dies, wie bereits erwähnt, in den Nutzungsbedingungen erwähnt werden kann.

Also kannst du diesen Weg weiter verfolgen, aber ich habe dich gewarnt wg. des Aufwandes, der Qualität des Schutzes und der
Akzeptanz beim Kunden.
 

OnDemand

Top Contributor
Vielen Dank für Deine informativen Beiträge! Dass es immer einen Weg gibt, sieht man ja an den großen Softwareherstellern. Aber gut fürs Ego, wenn man wenigstens ein paar Hürden einabut, dann hat man es wenigstens versucht und macht die Sache noch seriöser, wenn der Kunde lizensieren muss :p

Wie sieht es denn mit Eula & Co. aus, gibt es da einen Generator, wo ich zb verschiedene Kriterien eingebe, wie meine SW verwendet werden darf und am Ende bekomme ich die beste Lizenzierung vorgeschlagen?! :p

Mit diesem ganzen Eula und GPL ZEugs, hab ich mich noch nicht weiter beschäftigt.
 

OnDemand

Top Contributor
Ohwe, die gibts ja nicht zu oft, jedenfalls ist mir keiner bei uns hier bekannt, das sind dann sicherlich größere Wirtschaftsanwälte ^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Datei anhand Datum identifizieren Allgemeine Java-Themen 3
reibi Unbenutze Klassen identifizieren Allgemeine Java-Themen 5
FoolMoon Den Benutzers identifizieren Allgemeine Java-Themen 2
A gezeichnetes Objekt auf Panel identifizieren Allgemeine Java-Themen 5
H2SO3- string mithilfe von .matches als datum identifizieren Allgemeine Java-Themen 4
G Eindeutiges Identifizieren einer JTable/Component z.laufzeit Allgemeine Java-Themen 2
T Aufrufer einer Methode identifizieren Allgemeine Java-Themen 2
T Aufrufer identifizieren Allgemeine Java-Themen 12
M VM eindeutig identifizieren Allgemeine Java-Themen 4
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
padde479 Collections Daten in Dreiecksform Allgemeine Java-Themen 13
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
A Hartgecodete Daten auslagern Allgemeine Java-Themen 4
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23
S Webservices für binäre Daten? Allgemeine Java-Themen 5
OnDemand Daten in RAM zwischenspeichern oder lieber aus DB holen? Allgemeine Java-Themen 24
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
S Entities aus XML - Daten. Allgemeine Java-Themen 1
M Schnelleres Speichern von XML-Daten über URLConnection Allgemeine Java-Themen 4
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
M Daten aus MatLab Datei lesen Allgemeine Java-Themen 8
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
J Daten von Quelltext Allgemeine Java-Themen 5
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
J Jasper Reports - Daten vom Hoster Allgemeine Java-Themen 2
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
R Android Daten online senden Allgemeine Java-Themen 0
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
K Gespeicherte Daten von einer LinkedList auf vier LinkedList verteilen Allgemeine Java-Themen 6
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
OnDemand Desktop-Applikation schreiben, wie daten persistent? Allgemeine Java-Themen 9
S Erste Schritte Fehlender Gedanken-Ansatz bei Interpretation von Daten Allgemeine Java-Themen 1
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
K Große Mengen an Daten speichern Allgemeine Java-Themen 9
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
A Swing FileWriter schreibt keine Daten in Datei Allgemeine Java-Themen 13
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
D Best Practice Login-Daten: Wie am besten abrufen? Allgemeine Java-Themen 6
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
J Serial Port Daten empfangen Allgemeine Java-Themen 5
H Daten via COM Schnittstelle erhalten Allgemeine Java-Themen 2
J Daten persistent speichern Allgemeine Java-Themen 14
S Allgemeine parallelisierte Loesung um Daten im Hintergrund zu laden..? Allgemeine Java-Themen 6
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
G Daten aus Website auslesen Allgemeine Java-Themen 7
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
T Input/Output Daten in eine Datei schreiben Allgemeine Java-Themen 4
Z daten bindung Allgemeine Java-Themen 1
A Datentypen Gregorian Calendar - 2 Daten sind gleich?? Allgemeine Java-Themen 3
L Vergleich-Xml-Daten Allgemeine Java-Themen 3
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
A Daten in Formularen/Vorlagen erstellen und ausdrucken Allgemeine Java-Themen 3
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
G Combobox füllen mit daten aus einer Tabelle Allgemeine Java-Themen 4
J Maven .war enthält veraltete Daten Allgemeine Java-Themen 3
N Daten aus Jar laden Allgemeine Java-Themen 10
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
K Input/Output Daten speichern / laden Allgemeine Java-Themen 2
M Best Practice: Daten aufnehmen-speichern-bereitstellen Allgemeine Java-Themen 8
T Daten effizient verwalten Allgemeine Java-Themen 4
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
C Daten über URL an PHP verschicken Allgemeine Java-Themen 4
R Daten aus DB auslesen in ein formular (JSP) Allgemeine Java-Themen 13
S Library fuer Internet-Text-Daten-Quellen..? Allgemeine Java-Themen 8
H OOP Daten über TCP Allgemeine Java-Themen 5
H Input/Output Binäre Daten konvertieren, Output hat Zeilenumbrüche?? Allgemeine Java-Themen 9
D Daten eines User auslesen. Allgemeine Java-Themen 5
B Input/Output Einbinden von Daten in Java Allgemeine Java-Themen 3
L Einbinden von Daten in ausführbare Jar Allgemeine Java-Themen 6
N Methoden Einzelne Daten aus "Person" auslesen Allgemeine Java-Themen 3
R SerialPort auslesen und Daten verarbeiten Allgemeine Java-Themen 23
ARadauer Wo liegen die Daten der Preferences Klasse Allgemeine Java-Themen 3
Madlip Erste Schritte Java speichert Daten im Programm?!? Allgemeine Java-Themen 9
S JDialog Daten ins JFrame übergeben Allgemeine Java-Themen 5
F Threads synchronisierung des Zugriffes auf daten Allgemeine Java-Themen 4
O Amazon S3 Anmelden / Daten downloaden Allgemeine Java-Themen 2
A Daten aufbereiten Allgemeine Java-Themen 11
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
L Speichern von Daten in JKS Allgemeine Java-Themen 5
K JFreeCharts - Dummy für fehlende Daten Allgemeine Java-Themen 6
M Daten aus doc, pdf .... auslesen Allgemeine Java-Themen 12
Z Daten von einer Klasse in eine andere übertragen Allgemeine Java-Themen 8
A Login-Daten Formular automatisch ausfüllen Allgemeine Java-Themen 10
C Daten speichern und verwalten Allgemeine Java-Themen 3
Z Daten aus einer Internetseite auslesen? Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben