MatrixSSL ist ein Open Source und kommerzielle Projekt, das konzipiert wurde, um eingebettete SSL (Secure Sockets Layer) und TLS (Transport Layer Security) Implementierungen für kleinformatige Geräte und Anwendungen.
Features auf einen Blick
Mit unter 50 KB Gesamtstandfläche beinhaltet die Software SSL (Secure Sockets Layer) 3.0 Client / Server-Unterstützung, TLS (Transport Layer Security) 1.0, 1.1 und 1.2 Client / Server-Unterstützung, eine kryptografische Bibliothek, die die RSA, AES implementiert, MD5, SHA1, 3DES, ECC, ARC4 und RC2-Verschlüsselungsalgorithmen.
Darüber hinaus bietet MatrixSSL verschiedenen Verschlüsselungssammlungen, CRL (Certificate Revocation List), Unterstützung für Sitzungs Chiffre Neuverhandlung und Neueingabe, X.509-Zertifikatskette Authentifizierung sowie Optimierungen für die Assembler-Sprache, unterstützt Intel, MIPS und ARM-Plattformen.
Zu den weiteren interessanten Features, können wir vollständige Unterstützung für Session-Caching und die Wiederaufnahme, Stateless Session Tickets Support, Server Name Indication-Unterstützung, RFC7301 Application Protocol Negotiation und RSASSA-PSS Signature Algorithm Unterstützung zu erwähnen.
Ein weiteres interessantes Feature ist die Möglichkeit, ASN.1 DER und X.509-Zertifikate .pem analysieren. Das Projekt unterstützt auch die PKCS # 12, PKCS # 5, PKCS # 1.5 und PKCS # 8 für die wichtigsten Formatierungen, unterstützt SSH (Secure Shell) Befehlszeile unterstützt DTLS (Datagram Transport Layer Security), bietet Plug-Cipher-Suite, Krypto-Anbieter, OPERATIONEN System und malloc Schnittstellen, unterstützt TCP / IP, und bietet sowohl Endbenutzer und Entwickler-Dokumentation.
Erste Schritte mit MatrixSSL begonnen
Um die MatrixSSL Software auf Ihrem GNU / Linux-Betriebssystem zu installieren, laden Sie die neueste Version aus dem Projekt & rsquo; s Website (siehe die Homepage-Link am Ende des Berichts), speichern Sie es auf Ihrem Computer, und entpacken Sie es.
Öffnen Sie ein Terminal-Emulator app, gehen Sie zu dem Ort, wo Sie und rsquo; ve extrahiert der Archivdatei (zB cd / home / softoware / MatrixSSL-3-7-1-open - ersetzen & lsquo; softoware & rsquo; mit Ihrem Benutzernamen), führen die & lsquo; stellen & rsquo; Befehl, um das Programm zu kompilieren und führen Sie dann die & lsquo; sudo make install & rsquo; Befehl, um es zu installieren.
Was ist neu in dieser Pressemitteilung:
- Sicherheits-Fixes:
- X.509 und ASN.1-Parsing Verbesserungen - Die Advanced Threat Research Team von Intel Sicherheit entdeckte verschiedene Probleme als Teil ihrer Forschung auf die Berserk Angriff auf RSA-Signaturprüfung. MatrixSSL nicht diese Sicherheitsanfälligkeit, die in einem MITM-Angriff zur Folge haben können, enthalten jedoch einige andere ASN.1 Felder wurden nicht konsequent gegen Restpufferlänge, wenn analysiert geprüft. Diese wurden jeweils festgelegt und die getAsnLength () interne API funktioniert nun auch eine doppelte Kontrolle gegen die Restpufferlänge für Felder variabler Länge in allen Fällen.
- Constant-Time-Speicher vergleichen - Rufe an memcmp () wurden mit einem memcmpct () Implementierung ersetzt worden, um die Effizienz der künftigen Zeitpunkt basierte Angriffe zu reduzieren .
- Neue Features:
- Anwendungs-Layer Protocol Negotiation - implementiert RFC 7301 .
- X.509 RSASSA-PSS Signatures -. MatrixSSL unterstützt jetzt die sicherer RSASSA-PSS Signaturalgorithmus in X.509-Zertifikaten
- Laufzeit-TLS Feature Control - Verkürzte HMAC Einsatz, maximale Länge Fragment Anfragen und Elliptic Curve Spezifikation können nun auf einem jeder Sitzung beim Erstellen einer neuen Sitzung aktiviert werden ..
- API-Änderungen:
- Mehrere -. Entnehmen Sie bitte den Release-Notes im Paket für Details enthalten
Was ist neu in Version 3.4.2:
- Bug Fixes und Verbesserungen:
- Verbesserte Laufzeit-Checks des Certificate Algorithmen Vor Cipher Suites Überprüfen der öffentlichen Schlüssel und Signatur-Algorithmen des Zertifikats Material während der Initialisierung und Cipher Suite Verhandlungen ist nun strenger. Server nun einen Blick auf die Signaturalgorithmus ihres Zertifikats bei der Aushandlung von Cipher Suites, die Authentifizierungsmechanismen zu gewährleisten ist konsistent mit der Verschlüsselungssammlung. Dies ermöglicht es dem Handschlag zu früh in den Prozess fehlschlagen, wenn das Zertifikat Material unterstützt eine angeforderte Verschlüsselungssammlung. Dies ist vor allem ein Schutz gegen Benutzer Konfigurationsfehler, weil ein Server nicht Chiffriersätze es nicht bereit ist, unterstützen können. Kunden nun bestätigen, das Server-Zertifikat Signaturalgorithmus als Präventivmaßnahme bei der Analyse des ZERTIFIKAT Nachricht. Frühere Versionen würde die Verbindung später in der Handshake-Prozess, wenn das nicht unterstützte Algorithmus für den öffentlichen Schlüssel Operation selbst begegnet zu beenden.
- SSL-Alarm auf Handshake Nachricht Creation Failure Frühere Versionen Gesendete würde still beenden die SSL-Verbindung, wenn Handshake-Nachricht konnte nicht erstellt werden. Jetzt eine INTERNAL_ERROR Warnung vor dem Schließen der Verbindung gesendet.
- Abgelaufene Sitzung Wiederaufnahme Fix Feste Server Unterstützung für Szenarien, in denen eine Sitzung, die bereits in einer Wiederaufnahme Handshake Zustand ist korrekt wieder zu einem Vollhandschlag fallen, wenn der Client versucht, eine Wiederaufnahme Wiederhandshake nach der Sitzung im Server-Cache abgelaufen .
- Deaktivieren Yarrow by Default und vereinfachtes PRNG Reseeding Die USE_YARROW definieren ist nun standardmäßig in cryptoConfig.h deaktiviert, weil die beiden Standard-Entropy Gathering Quellen PRNG Quellen selbst, so ist es nicht erforderlich, dass die Daten durch Yarrow laufen. Diese Änderung wird in einem geringen Verbindungsgeschwindigkeit Verbesserung. Wenn Schafgarbe benötigt wird, hat die Logik zur Einsaat dieses Algorithmus vereinfacht, um nur auf die Menge der Daten und nicht einschließlich der Anzahl der Funktionsaufrufe in der PRNG Abruffunktion gelesen aktualisieren.
- Entfernt die USE_RSA Konfiguration definieren Sie die Open-Source-Version von MatrixSSL unterstützt nur RSA Cipher Suites, damit die Abschaffung dieser Option macht dies deutlich.
- Anwendungsbeispiele Laden Voll CA Liste Um beim Testen helfen, die beispielsweise Client- und Serveranwendungen nun die vollständige Liste der Proben laden Certificate Authority-Dateien so ein recompile ist nicht erforderlich, wenn die Änderung der Probenmaterial Zertifikat des Peers.
Was ist neu in Version 3.4.1:
- Sicherheitsmerkmale:
- Lucky Thirteen Gegenmaßnahmen - Ein Angriff gegen Block Cipher Padding nachgewiesen machbar. Dies wirkt sich auf CBC Chiffren wie AES und 3DES. Dieses Update fügt Zeitgegenmaßnahmen, die die Wirksamkeit dieses Angriffs zu reduzieren.
Was ist neu in Version 3.1.4:
- Feature-Aktualisierungen:
- Primäre Kryptoalgorithmen nun Konfigurationsoptionen Größe vs. Geschwindigkeit beim Vorgängerversionen von MatrixSSL hatte eine undokumentierte Kompilierung definieren (SMALL_CODE), die den binären Code Größe einiger symmetrischer Verschlüsselungsalgorithmen beeinflusst. Jeder Algorithmus, der diese Definition verwendet wurde nun angesichts seiner eigenen definieren, die steuern, ob der Benutzer, um die Bibliothek für schnelleren Algorithmus Unterstützung auf Kosten eines erhöhten Binärcode Größe bauen will. Die Größe gegen die Drehzahl Kompromiß ist plattformabhängig, aber im allgemeinen sind die Verbesserungen in der Geschwindigkeit etwa 5% -10% auf Kosten des 10-20KB für jeden Algorithmus sein. Die standardmäßig in jedem Fall, dass diese definiert in cryptoConfig.h deaktiviert zu Gunsten der kleinste binäre Fußabdruck kompilieren sind.
- RSA-Algorithmus hat jetzt Konfigurationsoption für die Speichernutzung vs. Geschwindigkeit Kompromiss. Ein Paar definiert wurden hinzugefügt, um festzustellen, ob der RSA-Algorithmus sollte für kleinere RAM-Auslastung oder schnellere Leistung kompiliert werden. Standardmäßig wird für kleinere RAM-Auslastung zu kompilieren.
- Server können jetzt bestimmte Verschlüsselungs-Suites zur Laufzeit deaktivieren. Dies ist nützlich für Server, die die unterstützten Chiffren Suiten für einen bestimmten Anschluss Client einschränken möchten. Eine neue API, matrixSslSetCipherSuiteEnabledStatus, wurde hinzugefügt, um diese Funktionalität zu unterstützen. Bitte beachten Sie die MatrixSSL API-Dokumentation für detaillierte Informationen zu dieser neuen Funktion.
- Ein Xcode-Projekt für das iPhone Entwicklung ist nun enthalten. - In der apps / iphone Verzeichnis kann der Anwender nun einen Mac Xcode-Projekt für die Entwicklung von SSL / TLS-Client-Anwendungen für das iPhone zu finden
- Server Kompatibilität mit Chrome-Browser, die "Fehlstart" verwenden - Der Google Chrome Browser hat eine neue Protokollmechanismus als "Fehlstart", die mit strengen TLS-Implementierungen, die Anwendungsdatenaustausch nicht zulassen Einklang steht, bevor das Handshake-Protokoll abgeschlossen ist . Aktivieren ENABLE_FALSE_START in matrixsslConfig.h können neuere Versionen des Chrome-Browser, mit MatrixSSL Servern herzustellen. Standardmäßig aktiviert.
- Eine neue explizite int16 Datentyp wurde hinzugefügt - Die osdep.h Datei enthält nun eine Typedef für einen 16-Bit-Integer-Typ genannt int16. Der anfängliche interne Verwendung dieses neuen Datentyp kann in der pstm.c mathematische Funktion gefunden werden, um die Leistung auf einigen Plattformen zu verbessern.
- Aktualisiert für Luminary Micro / TI Stellaris Beispiele - aktualisiert, um die neue Version von sicheren Web-Server Beispiele für die ARM Cortex-M3 unterstützt .
- Öffentliche API-Änderungen:
- Compiler-Definition für die Dateisystem-Unterstützung wurde umbenannt - Die USE_FILE_SYSTEM definieren wurde umbenannt in einen PS_ Präfix enthalten, so dass es nun PS_USE_FILE_SYSTEM. In diesem zu definieren, ist im coreConfig.h Header-Datei nicht mehr vorhanden ist. Es sollte in der Plattform-Build-Umgebung als Übersetzungszeit festzulegen, ob Dateisystem-Unterstützung benötigt wird enthalten sein.
- Return Typen geändert für osdep.c Open und Close-Routinen -. Die in osdep.c haben Prototypen verändert umgesetzt Plattform Schnittstellenfunktionen
Zahlenfolgen, die in die Bibliothek kompiliert wurden können nun programmatisch deaktiviert werden (und wieder aktiviert) auf einem jeder Sitzung -
Was ist neu in Version 3.1.3:
- Eine serverseitige Konfigurationsoption wurde in binäre ausführbare Größe mit einfacheren X.509-Parsing verringern hinzugefügt.
- Die Schafgarbe PRNG-Algorithmus für starke Entropie Verarbeitung enthalten.
- Nicht-ASCII-X.509-Attribute werden in Zertifikate unterstützt.
- Project-Dateien für Windows wurden VS Express aktualisiert 2010.
- Der Rückkehrcode wurde für den matrixSslReceivedData () API geklärt.
Was ist neu in Version 3.1:
- Neue API, Beispiele und Test-Suite
- TLS und AES in Open-Source enthalten
- Vollständige SSL-Handshake erfordert & lt jetzt; 10KB RAM, einschließlich Netzwerkpuffer!
- Projektdateien für GNU make, Visual Studio und Xcode
- Still & lt; 50KB Coderaum!
Was ist neu in Version 1.8.7d:
- Verbesserte Behandlung von Flügen mit mehreren codierten Handshake-Nachrichten.
- Verbesserte Analyse von passwortgeschützten privaten Schlüsseln.
- Verbesserte Handhabung der CA ausgestellten Zertifikate, die irrtümlich erlaubt fehlerhaften Zeichenfolgen in der Domain-Namen.
Was ist neu in Version 1.8.6:
- Die matrixRsaParsePubKey Routine Unterstützung für X.509 SubjectPublicKeyInfo formatiert Tasten.
- Es ist voll Parsing Unterstützung der subjectAltName Erweiterung in Zertifikate.
- Kunden sind berechtigt, mehrere Kompressionsparameter im CLIENT_HELLO Nachricht zu senden.
- Die matrixX509ReadCert Routine unterstützt zusätzliche PEM-Datei Kopf- und Fußzeile-Formate.
- Ein Dateiname falsch geschrieben in httpsReflector.c zum Laden der beispiels CAcertCln.der Zertifikat wurde korrigiert.
Kommentare nicht gefunden