AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zertifikate und Signierung von Freeware?

Ein Thema von SearchBot · begonnen am 29. Mai 2019 · letzter Beitrag vom 13. Okt 2024
Antwort Antwort
Seite 7 von 7   « Erste     567   
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#61

AW: Zertifikate und Signierung von Freeware?

  Alt 11. Okt 2024, 16:55
es erscheint dann ein Passwortfenster, wo ich das Passwort eingeben muss
Dieses interaktive Signieren, bei dem der Benutzer ein Passwort eingeben, einen Knopf drücken oder seinen Fingerabdruck oder sein Gesicht präsentieren muss, ist für einen automatisierten Build-Prozess schlichtweg nicht durchführbar. Ohne die Möglichkeit einer automatischen Signierung durch einen Build-Agent auf einer virtuellen Maschine ist das für professionelle Softwareentwicklung einfach nicht zu gebrauchen.

Erfreulicherweise scheint sich ja bei VSoft in dieser Richtung was zu tun: https://en.delphipraxis.net/topic/12...&comment=96095
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#62

AW: Zertifikate und Signierung von Freeware?

  Alt 11. Okt 2024, 23:15
es erscheint dann ein Passwortfenster, wo ich das Passwort eingeben muss
Dieses interaktive Signieren, bei dem der Benutzer ein Passwort eingeben, einen Knopf drücken oder seinen Fingerabdruck oder sein Gesicht präsentieren muss, ist für einen automatisierten Build-Prozess schlichtweg nicht durchführbar. Ohne die Möglichkeit einer automatischen Signierung durch einen Build-Agent auf einer virtuellen Maschine ist das für professionelle Softwareentwicklung einfach nicht zu gebrauchen.

Erfreulicherweise scheint sich ja bei VSoft in dieser Richtung was zu tun: https://en.delphipraxis.net/topic/12...&comment=96095
Also mich stört es kaum, da ich ja so oft nicht eine neue Programmversion herausgebe. Dann muss ich zweimal ein Passwort eingeben (z.B. Signierung der Exe und Signierung des Setup-Programms), das kostet mich vielleicht 4 Sekunden. Gleichzeitig wird es sicherer, weil Passwörter nicht in Batch-Dateien eingespeichert sind oder privat-keys irgendwo frei zugänglich im Dateisystem gespeichert sind.

Hängt also wohl mehr von den Gesamtumständen ab...

Geändert von Harry Stahl (11. Okt 2024 um 23:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#63

AW: Zertifikate und Signierung von Freeware?

  Alt 11. Okt 2024, 23:38
Es hängt davon ab, ob man einen automatisches Build-System hat, bei dem man den Build-Prozess über einen Klick auf den Start-Button des jeweiligen Projekts auf einem Dashboard (eine Webpage) startet und eben nicht vor dem ausführenden Rechner sitzt und mal eben den USB-Stick einstecken kann.

Die physikalische Basis meines Build-Systems steht im Keller und hat nicht mal einen Bildschirm, eine Tastatur oder eine Maus. Selbst wenn, würde der Build-Prozess gar nicht interaktiv ablaufen, so dass ein manuelles Eingreifen gar nicht möglich wäre (zumindest nicht ohne erheblichen Aufwand).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#64

AW: Zertifikate und Signierung von Freeware?

  Alt 12. Okt 2024, 00:13
Jo, wenn ein automatisiertes System die Anwendung bereitstellt bereitstellen soll, dann ist es echt sowas blöd unbenutzbar.

'nen Roboter, der mit einen künstlichen Finger dran stupst.
https://www.youtube.com/watch?v=Q_3f6OC9p0s

Wenn diese Bereitstellung aber nur intern ist und für die Kunden es (seltener) manuell erstellt wird, dann könnte man es schon so (umständlich) machen.
Für das Interne könnte man ja schließlich auch ein SelfSigned-Zertifikat benutzen.


Zitat:
... steht im Keller und hat nicht mal einen Bildschirm, eine Tastatur oder eine Maus. Selbst wenn, würde der Build-Prozess gar nicht interaktiv ablaufen ...
So einen USB-Stick mit Taster/Fingerabdruck/..., denn könntest du bei dir lokal angesteckt haben und im Keller wird über einen virtuellen USB-Port via LAN drauf zugegriffen.

Aber eigentlich hatte ich mir sowas eher mal andersrum vorgestellt (und viele Andere auch),
also der Stick steckt irgendwo in einem Host/NAS/sonstwo und via LAN kann sich der oder können sich die Entwickler diesen auf einen virtuellen USB-Port bei sich durchschleifen ... jeweils Einer, wer ihn grade braucht.
$2B or not $2B

Geändert von himitsu (12. Okt 2024 um 00:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#65

AW: Zertifikate und Signierung von Freeware?

  Alt 12. Okt 2024, 09:35
Certum wurde ja schon verlinkt. Und dort gibt es auch eine Clouud Signierung. Da kann man ein Token am Handy freischalten und kann dann 2 Stunden lang ohne Eingabe signieren. Das ist ein Kompromiss. Ähnliche Lösungen gibt es wohl auch, bei denen man nicht so oft etwas bestätigen muss.

Gut daran ist, dass der Server Anzeichen für einen Missbrauch erkennen kann und selbst bei Bekanntwerden der Zugangsdaten das weitere Signieren problemlos unterbunden werden kann.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#66

AW: Zertifikate und Signierung von Freeware?

  Alt 12. Okt 2024, 10:53
Vincent Parrett von VSoft beschäftigt sich ja schon eine ganze Weile mit dem Thema (siehe Code Signing with USB Tokens). Es gibt offenbar Tokens, mit denen man automatisch signieren kann - man muss nur sein Zertifikat bei jemandem erwerben, der solche Tokens verwendet.

Problematisch scheint aber die Bereitstellung eines solchen Tokens über das Netzwerk zu sein. Man könnte nun das Token auf einem dedizierten Build-Agent bereitstellen, der dann exklusiv für das Signieren zuständig ist. Das hat allerdings den Nachteil, dass die zu signierenden Dateien auf diesen Agent transportiert werden müssen und nach der Signierung potentiell auch wieder zurück müssen. Diese Verzögerung möchte man sicher vermeiden.

An diesem Punkt setzt der aktuell von VSoft entwickelte Code-Signing-Server an, der in dem bereits weiter oben von mir verlinkten Post in der Englischen DP erwähnt wird. Zusammen mit einem geeigneten Token sollte das den von mir beschriebenen Anforderungen genügen.

Mein aktuelles Zertifikat (ohne Token) läuft noch bis April 2026. Ich gehe davon aus, dass sich bis dahin eine stabile Lösung herausgebildet hat. Bis dahin werde ich wohl auch meine aktuelle ESX-Server Umgebung auf eine Proxmox-basierte Lösung migriert haben. Da VSoft intern auch Proxmox im Einsatz hat, stehen die Chancen gut, dass es damit dann funktioniert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#67

AW: Zertifikate und Signierung von Freeware?

  Alt 12. Okt 2024, 12:38
Sinnvoller wäre es, wenn man es der signierten Datei ansehen könnte, ob sie ohne Passworteingabe signiert wurde (und damit potentiell gefährlicher ist) oder mit manueller Eingabe eines Passworts (so dass das Vertrauen entsprechend höher ist). Dann könnte man dementsprechend unterscheiden.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#68

AW: Zertifikate und Signierung von Freeware?

  Alt 12. Okt 2024, 13:22
ob sie ohne Passworteingabe signiert wurde (und damit potentiell gefährlicher ist) oder mit manueller Eingabe eines Passworts (so dass das Vertrauen entsprechend höher ist).
Auch bei der automatischen Signatur muss man wohl ein Passwort eingeben, halt nur nicht bei jedem Signiervorgang. Ohne Passwort oder sonstige Identifikation kommt man gar nicht an das Zertifikat auf dem Token ran. Wie bei allen Szenarien, bei denen Zugangsdaten gecached werden, ist ein entsprechendes Vertrauen in das Zielsystem eine unabdingbare Voraussetzung. Das gilt für einen irgendwie gearteten digitalen Store auf dem Rechner genauso wie für das Post-It am Bildschirm.

Ich sehe auch nicht, warum das wiederholte Eingeben des Passworts beim Signieren ein höheres Vertrauen genießen sollte. Ich würde mehr einem System vertrauen, wo der Zertifikat/Passwort-Inhaber das Passwort an einer geschützten Stelle hinterlegt und den Zugriff darauf mit den im Build-System vorhandenen Bordmitteln regelt (so können nur solche Dateien signiert werden, die im Build-System erzeugt werden), als dass das Passwort allen Entwicklern mitgeteilt wird, die dann jede beliebige Exe damit signieren können - und mit einem Flag in der Signatur auch noch ein höheres Vertrauen vermitteln?

Es ist ja leider oft so, dass Sicherheit, die mit Ineffizienz einher kommt, schon sehr bald umgangen wird. Idealerweise sollte Sicherheit (hier das Signieren) intrinsisch und transparent sein: nicht abschaltbar und dem Benutzer keine zusätzlichen Tasks aufbürdend, damit er es gar nicht in Versuchung kommt es abzuschalten.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#69

AW: Zertifikate und Signierung von Freeware?

  Alt 13. Okt 2024, 11:39
Auch bei der automatischen Signatur muss man wohl ein Passwort eingeben, halt nur nicht bei jedem Signiervorgang.
Das verstehe ich anders:
https://www.ssl.com/de/leiten/Codesi...tomatisierung/

als dass das Passwort allen Entwicklern mitgeteilt wird, die dann jede beliebige Exe damit signieren können - und mit einem Flag in der Signatur auch noch ein höheres Vertrauen vermitteln?
Wenn alle Entwickler für die Auslieferung der Dateien zuständig sind, passt das natürlich weniger gut in das Szenario. In den meisten Firmen dürften dafür aber deutlich weniger Personen verantwortlich sein.

Die echte Signierung ist ja nicht für alle Tests erforderlich, sondern nur für die tatsächlichen Kandidaten für eine Auslieferung. Aus Sicherheitsgründen ist das auch sinnvoll, wenn man die echten Signaturen nur einsetzt, wo es wirklich erforderlich ist. Aktuell ist es aber leider oft so, dass einfach alles ohne Prüfung signiert wird, so dass ein Angreifer nur den passenden Code ins Repository bekommen muss und sehr einfach eine signierte Exe bekommt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#70

AW: Zertifikate und Signierung von Freeware?

  Alt 13. Okt 2024, 12:18
Na ja, auch da lässt es sich so automatisieren, dass man eben nicht jedes mal das Passwort eingeben muss (So automatisieren Sie die EV-Code-Signierung mit SignTool.exe oder Certutil.exe unter Verwendung von eSigner CKA (Cloud Key Adapter)). Das Verfahren entspricht im Grunde dem, was Vincent in seinem Blog-Artikel im Abschnitt Prompting for Passwords beschreibt (Stichwort Single Logon).

Aus Sicherheitsgründen ist das auch sinnvoll, wenn man die echten Signaturen nur einsetzt, wo es wirklich erforderlich ist. Aktuell ist es aber leider oft so, dass einfach alles ohne Prüfung signiert wird, so dass ein Angreifer nur den passenden Code ins Repository bekommen muss und sehr einfach eine signierte Exe bekommt.
Genau darauf bezog sich ja die Einschränkung, den Zugriff darauf mit den im Build-System vorhandenen Bordmitteln zu regeln. Natürlich darf in so einem System nicht irgendwer die Signierungstask in irgendein Build-Projekt einbinden. Das fällt dann eben auch unter diese Rubrik:
In den meisten Firmen dürften dafür aber deutlich weniger Personen verantwortlich sein.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 7   « Erste     567   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz