Tests als Qualitätsmerkmal von Krypto-Software

Untrennbar verbunden: Entwicklung und Tests

Die Methoden der Softwareentwicklung sind immer im Umbruch, denn die IT-Absatzmärkte ändern sich rapide und erfordern Projekt-Ansätze, die schneller vorzeigbare Ergebnisse zeitigen. Als Folge fordern Software-Entwickler höhere Abstraktionsgrade und hinterfragen Technologiegrenzen. Testroutinen hingegen sind immer integraler Bestandteil eines professionellen Software-Entwicklungsprozesses und ihr steigender Automatisierungsgrad reflektiert den Trend zu kürzeren Entwicklungszyklen1).

Qualitätssicherung in der Softwareentwicklung hat viele Aspekte [siehe ISO/IEC 25000ff] und unabhängig davon, wie man an das Thema herangeht (z.B. mit Fokus auf Prozessqualität oder Vorgehensmodelle) stellt Testen ein wichtiges Element dar [siehe ISO/IEC/IEEE 29119]. Es ist ebenso unverzichtbar wie Lastenhefte [siehe IEEE 29148-2011], Code- und Dokumenten-Repositories2) oder schlichte Ticketsysteme.

Tests für Krypto-Software

Zur Illustration werden aus der Dokumentation für das Sicherheits-Connectivityprodukt HOB RDVPN nachfolgend einige Testfall- und Testablaufspezifikationen sowie die Testprotokolle beleuchtet. Während zur vollständigen Testsuite sowohl funktionale als auch nicht-funktionale3) Tests gehören, werden hier nur Funktionstests besprochen.

Jeder Test enthält eine detaillierte Beschreibung des Aufbaus und Ablaufs, das erwartete Ergebnis und das tatsächlich erzielte Resultat. Gegebenenfalls kommen ergänzende Kommentare hinzu, die Entwicklung oder Dokumentation unterstützen.

Im Bereich der kryptographischen Software sind funktionale Tests auf verschiedenen Ebenen unverzichtbar:

  1. Kryptographische Online-Module – diese Tests stellen sicher, dass die Ver- und Entschlüsselungsalgorithmen die gewünschten Ergebnisse liefern
  2. Unterstützungsfunktionen – diese Software ist nicht in Verbindungen aktiv, liefert aber wesentliche Beiträge zur Sicherheit des Kryptosystems. Dazu gehören Zufallszahlengeneratoren, Formatierungsroutinen, Import/Exportfunktionen und Schlüsselverwaltung.
  3. Protokollmaschine – Auf/Abbau und Kontrolle der Verbindung tragen wesentlich zu ihrer Sicherheit bei

Kunden von Verschlüsselungssoftware erwarten, dass die Produkte nachweislich gegen die häufigsten Angriffstypen schützen bzw. bekannte Schwachstellen abfangen – daher gehören solche Tests ebenfalls in das Prüfprogramm.
Als Referenzen dienen stets öffentlich zugängliche Dokumentationen und Prüfprogramme von Behörden und Organisationen wie dem National Institute of Standards in Technology (NIST) oder dem Bundesamt für Sicherheit in der Informationstechnik (BSI) oder weitverbreitete Implementierungen wie OpenSSL.

 

Weiterlesen: Den ganzen Artikel finden Sie unter http://www.hob.de/news/news_db.jsp?ID=61

SeitTest-Zertifikat