Softwarearchitektur ist mehr als Technologieauswahl. Sie entscheidet darüber, wie Systeme wachsen, wie Teams zusammenarbeiten und wie tragfähig technische Entscheidungen langfristig sind.
In diesen Beiträgen reflektiere ich über Architekturentscheidungen, Komplexität, Domänenstrukturierung und die Herausforderungen verteilter Systeme.
Die Integration von Zwei-Faktor-Authentifizierung mittels TOTP lässt sich nutzerfreundlich über QR-Codes realisieren, wobei die Sicherheit durch den Abgleich zeitgesteuerter Einmalpasswörter zwischen Server und Smartphone-App gewährleistet wird.
Die Generierung sequenzieller und kollisionsfreier IDs in verteilten Systemen lässt sich hocheffizient mit dem UniqueIdGenerator lösen, der nach dem Vorbild von Twitters Snowflake-Algorithmus 64-Bit-Zahlen aus Zeitstempel, Maschinen-ID und Sequenz kombiniert.
Die Sicherheit eines Passworts hängt nicht nur von seiner Länge ab, sondern massgeblich von seiner Entropie und der Unvorhersehbarkeit für Angreifer, was sich durch visuelle Feedback-Anzeigen und integrierte Passwort-Generatoren direkt im Registrierungsprozess massiv verbessern lässt.
Polly ist eine leistungsstarke .NET-Bibliothek, mit der sich die Widerstandsfähigkeit von Anwendungen durch Strategien wie Retry, Wait-and-Retry oder das Circuit-Breaker-Pattern mit nur wenigen Zeilen Code massiv erhöhen lässt.
HOTP und TOTP bieten als standardisierte Algorithmen für Einmalpasswörter eine bewährte Alternative zu Hardware-Tokens, indem sie entweder zählerbasiert oder zeitgesteuert sechsstellige Sicherheitscodes generieren, die bequem per App oder SMS genutzt werden können.
Die Kombination aus Benutzername und Passwort reicht heute oft nicht mehr aus, weshalb moderne Standards wie FIDO U2F durch den Einsatz physischer Sicherheitsschlüssel eine deutlich robustere Zwei-Faktor-Authentifizierung ermöglichen.