# Software Zertifikat



## yyannekk (14. Jan 2013)

Mal ne Frage zu Softwarezertifikaten. 
Hintergrund: Gibt es eine Möglichkeiten einem Anwender eine bestimmte Funktionialität eines Programmes zu garantieren, bzw andere (nicht gewünschte) Funktionen auszuschließen. 
Beispiel: Ein Datenbank Synchronisationstool in dem man einstellen kann welche Daten gesynct werden sollen. Kann man dem Anwender nun glaubhaft machen (zB mit Hilfe eines Zertifikats) dass auch wirklich nur die ausgewählten Daten gesynct werden, und die anderen nicht ausgewählten nicht.


----------



## TheDarkRose (14. Jan 2013)

Du meinst so was wie eine Verifizierung durch ein externes Software-Audit? 

Gesendet von meinem Nexus 7 mit Tapatalk 2


----------



## Marcinek (14. Jan 2013)

Einfach eine Garantie ausstellen.


----------



## yyannekk (14. Jan 2013)

Ja richtig, es müsste von einem vertrauenswürdigen externen Anbieter irgendwie bestätigt werden, dass die Software genau das tut was sie soll und nicht irgendeinen Blödsinn... Also gibt es so etwas?
Marcinek was genau meinst du mit einer Garantie ausstellen?


----------



## Marcinek (14. Jan 2013)

Du schreibst einfach: Garantiert richtige Ergebnisse.

Wenn das Programm falsche Ergebnisse liefert, dann bekommen die Kunden ihr geld zurück.


----------



## TheDarkRose (14. Jan 2013)

yyannekk hat gesagt.:


> Ja richtig, es müsste von einem vertrauenswürdigen externen Anbieter irgendwie bestätigt werden, dass die Software genau das tut was sie soll und nicht irgendeinen Blödsinn... Also gibt es so etwas?



Fällt in die Kategorie Software-Audit bzw. Code-Audit. Mit mindestens vierstelligen Beträgen ist aber zu rechnen.


----------



## turtle (19. Jan 2013)

Vertrag?

Soll das Programm etwas tun und etwas anderes NICHT tun, sind das meiner Meinung nach Dinge, die in einem Vertrag stehen sollten.

Was bringt es einem Kunden, wenn ein Externer zertifiziert hat, das Funtkionalitäten drin sind (und andere nicht), es sich aber dann herausstellt, dass es Bedingungen gibt, wo dagegen verstossen wird? 

Wer ist dann haftbar?

Natürlich der Hersteller der SW, also Du. Du kannst dich auch nicht darauf verlassen und sagen, der Zertifizierer hätte das finden müssen 

Letztendlich hat ja der Kunde ja überhaupt keinen Vertrag mit dem Zertifizierer abgeschlossen.

Deshalb gibt es Rechtsanwälte, die einen für beide Seiten einvernehmlichen Vertragsentwurf erstellen helfen 

Dies bedeutet für dich, dass die Aussagekraft von einem Zertifikat eher zweifelhaft ist und Kosten verursacht und einem Kunden ein gewisses Mass an Sicherheit suggeriert. Aber wenn der Schaden für den Kunden in existenziell bedrohliche Dimensionen wächst?

Du,als Autor der SW, solltest Über den Abschluss einer Software-Haftpflichtversicherung nachdenken.


----------



## xote (28. Jan 2013)

Kann es sein, dass er der Kundschaft auch tatsächlich beweisen muss, dass er eben nicht ihren kompletten Oracle-Server leersaugt?

Na das müssen Daten sein...


----------



## yyannekk (28. Jan 2013)

Was heißt muss, ich sehe es eher als ein Feature. Der Kunde kann sich relativ sicher sein dass er die Kontrolle über seine Daten hat, bzw die Kontroller darüber welche Daten nach Außen gehen. ZB Mitarbeiterinformationen sollten wenn nicht benötigt auch in der Firma bleiben. Ich glaube das nennt man "Unternehmenssensible" Daten



> Was bringt es einem Kunden, wenn ein Externer zertifiziert hat, das Funtkionalitäten drin sind (und andere nicht), es sich aber dann herausstellt, dass es Bedingungen gibt, wo dagegen verstossen wird?


Also dieser Fall sollte wenn möglichst nicht auftauchen. Das Zertifikat sollte wasserdicht sein. Wenn das dann doch passiert, klar dann Hafte ich von mir aus, dann ist das mein Risiko. Aber wenn der Zertifizierer gut arbeitet sollte das doch eben nicht auftreten...


----------



## maki (28. Jan 2013)

"Zertifikate" sind Quatsch, TheDarkRose hat schon die Lösung gesagt.


----------



## xote (29. Jan 2013)

yyannekk hat gesagt.:
			
		

> Der Kunde kann sich relativ sicher sein dass er die Kontrolle über seine Daten hat, bzw die Kontroller darüber welche Daten nach Außen gehen.


Ist für mich irgendwie ein Logik-Kurzschluss: wenn der Kunde seine Daten geheim halten will, dann sollte er doch niemanden drüber lassen. Externe Software-Audit machen lassen ist eine extrem teure Angelegenheit (wurde ja schon angesprochen) und die übernehmen dann sowieso keine Haftung. Das ist (fast immer) dein Bier.

Gibt es vielleicht von der Kundschaft irgendeine Art von Auftragsbeschreibung? Ich würde sowas darüber regeln.


----------



## Bernd Hohmann (29. Jan 2013)

yyannekk hat gesagt.:


> Also dieser Fall sollte wenn möglichst nicht auftauchen. Das Zertifikat sollte wasserdicht sein. Wenn das dann doch passiert, klar dann Hafte ich von mir aus, dann ist das mein Risiko. Aber wenn der Zertifizierer gut arbeitet sollte das doch eben nicht auftreten...



Ich muss mich mal als Sachverständiger und Gutachter wegen der etwas romantischen Vorstellungen von Code-Audits und Zertifikaten doch einmischen: sie sind wertlos weil die Bedingungen nie eingehalten werden (aus diesem Grund fallen eigentlich alle Sachverständigengutachten zur einwandfreien Funktionalität von Software im Bereich zur Erkennung von illegalem Filesharing unter den Tisch).

Es gibt bei sowas ein "magisches Dreieck" aus "Zertifizierer/Gutachter", "Entwickler" und "Haftungssumme" wo man sich irgendwo in der Mitte treffen muss.

Ich könnte jetzt bei Dir vorbeikommen, mir die Software im Source anschauen, dir ein Testat ausstellen dass die Software "wie gesehen" keine Kundendaten absaugt und dafür die entsprechende Gebühr kassieren. Das ist der Punkt "Zertifizierer/Gutachter".

Du als Entwickler kannst den Source an dieser Stelle so belassen, aber auch jederzeit eine "Kundendatenabsaugroutine" einbauen. Das ist der Punkt "Entwickler".

Und dann entweder ich (als Zertifizierer) oder Du (als Entwickler) deklarieren gegenüber dem Kunden "Ich schwörs!" und werfen eine entsprechende Haftungssumme in den Ring dass dem so ist und auch so bleibt.


Dh. sowas wie ein "wasserdichtes Zertifikat" für eine Software ist zwar einfach zu erstellen (zB. MD5 Prüfsumme über alle beteiligten Konstanten), aber in der Praxis nicht brauchbar weil Du ja auch mal sonstige Fehlerbehebungen und Erweiterungen an der Software vornehmen musst die dann wieder ein neues Audit erfordern.

Da sind wir wieder bei den Haftungssummen. Und die erweisen sich sehr oft als Bumerang wenn die sensiblen Daten dann doch irgendwie nach aussen gewandert sind (nicht durch die eigene App sondern weil der Boss sein ungesichertes Laptop im Flieger vergessen hat) und dann bist genau DU als erstes dran nach dem Motto "wieso? das bezahlt doch seine Versicherung!" und wer jetzt vergessen hat, eine großzügige Rechtsschutzversicherung abzuschliessen könnte ein Problem haben (neulich in einem ähnlichen Fall waren es über 440mio EUR Schadenssumme und der arme Teufel war nur mit 25mio gedeckt).

Mein Tip: Lass es.

Bernd


----------



## yyannekk (2. Feb 2013)

> Ist für mich irgendwie ein Logik-Kurzschluss: wenn der Kunde seine Daten geheim halten will, dann sollte er doch niemanden drüber lassen.


Und wenn der Kunde aber nur irgendwelche schlecht zusammengeklaubten Excel Tabellen hat, etwas produktiveres braucht, und ich ihm gerne etwas anbieten will? (Der Kunde selber hat keine Entwickler)



> Und dann entweder ich (als Zertifizierer) oder Du (als Entwickler) deklarieren gegenüber dem Kunden "Ich schwörs!" und werfen eine entsprechende Haftungssumme in den Ring dass dem so ist und auch so bleibt.


Es geht gar nicht darum wer haftet wenn; Ich meine der Kunde müsste ja auch erstmal beweisen können das die Software "schuld" ist. Es geht mir nur darum einen sehr hohen Grad an Vertrauenswürdigkeit gegenüber einem Stück Software herzustellen, ohne dass sich dabei die beteiligten Personen persönlich gut kennen müssten/ vertrauen müssten.

Naja erstmal Danke für die Antworten, ich dachte mir schon dass es keine Gute Lösung wäre. Vor allem die Wartbarkeit ist ein K.O. Kriterium für mich. 

(aber doch recht interessant das Thema, als Kunde ohne KnowHow musst du einfach darauf vertrauen dass du dir keinen Mist unterschieben lässt)


----------

