MatrixSSLが埋め込まれたSSL(セキュア·ソケット·レイヤー)と小型のフットプリント·デバイスとアプリケーションのためのTLS(トランスポート層セキュリティ)の実装を提供するように設計されていたオープンソースおよび商用プロジェクトです。
一目で特長
は、50キロバイトの総フットプリントの下では、ソフトウェアは、SSL(セキュア·ソケット·レイヤー)を備えて3.0クライアント/サポートを断つ、TLS(トランスポート層セキュリティ)1.0、1.1および1.2のクライアント/サーバのサポート、RSA、AESを実装して暗号ライブラリ、 MD5、SHA1、3DES、ECC、ARC4、およびRC2暗号化アルゴリズム。
さらに、MatrixSSLは、Intel、MIPSおよびARMプラットフォームをサポートする、さまざまな暗号スイート、CRL(証明書失効リスト)のサポート、セッション暗号の再ネゴシエーションおよび再キーイング、X.509証明書チェーンの認証だけでなく、アセンブリ言語のための最適化を提供します。
他の興味深い機能の中で、私たちはセッションキャッシングと再開、ステートレスセッションチケットをサポートし、サーバー名の表示をサポートし、RFC7301アプリケーションプロトコルネゴシエーション、およびRSASSA-PSS署名アルゴリズムをサポートするための完全なサポートを言及することができます。
もう一つの興味深い特徴は、ASN.1 DERとX.509の.pem証明書を解析する機能です。プロジェクトはまた、プラグイン可能な暗号スイート、暗号プロバイダを提供し、SSH(セキュアシェル)コマンドライン、DTLS(データグラムトランスポート層セキュリティ)をサポートしてサポートして、PKCS#12、PKCS#5、キーの書式設定のためのPKCS#1.5およびPKCS#8をサポートしていますシステムとのmallocのインタフェースをperating、TCP / IPをサポートし、エンドユーザーおよび開発者ドキュメントの両方を提供しています。
MatrixSSL入門
、あなたのGNU / Linuxオペレーティングシステム上でMatrixSSLソフトウェアをインストールするプロジェクト&rsquoの最新リリースをダウンロードするには、ウェブサイト(レビューの最後にホームページのリンクを参照)、コンピュータ上のどこかに保存して、それを解凍します。
あなた&rsquoの場所に移動し、端末エミュレータアプリを開き、アーカイブファイルを抽出したVE(例:cd /ホーム/ softoware / matrixssl-3-7-1-オープン - &lsquoを置き換える。softoware&rsquoの、自分のユーザ名との)を実行し、‘作る&rsquoの。 sudoはインストール&rsquoの確認、プログラムをコンパイルしてから、&lsquo実行するコマンド。それをインストールするコマンドます。
のこのリリースのの新機能は次のとおりです。
- セキュリティ修正:
- X.509とASN.1解析改善 - インテルのセキュリティでの高度な脅威研究チームは、RSA署名検証で凶暴な攻撃に彼らの研究の一環として、いくつかの問題を発見しました。 MatrixSSLしかし、いくつかの他のASN.1フィールドが一貫して解析された時にバッファ長を残りに対してチェックされていない、MITM攻撃につながることができ、この脆弱性が含まれていません。これらは、それぞれ修正されました、とgetAsnLength()内部APIは今も、すべての場合において、可変長フィールドの残りのバッファ長に対して二重のチェックを行います。
- は定数時間メモリー比較 - (やmemcmpへの呼び出しは)将来のタイミングベースの攻撃の有効性を減らすためにmemcmpct()の実装に置き換えられています。 。
- の新機能:
- アプリケーション層のプロトコルのネゴシエーションは、 - RFC 7301を実装します。 。
- X.509 RSASSA-PSS署名 - MatrixSSLは現在、X.509証明書でより安全なRSASSA-PSS署名アルゴリズムをサポートしています。 。
- ランタイムTLS機能コントロール - 新しいセッションを作成するときに切り捨てられたHMACの使用、最大フラグメント長要求、および楕円曲線の仕様は現在、セッションごとに有効にすることができます。
- APIの変更:
- いくつか - 。詳細については、パッケージに含まれて、リリースノートを参照してくださいます。
のバージョン3.4.2でのの新機能:
- バグの修正と改良:
- 認証アルゴリズムに対する暗号スイートの改善されたランタイムチェックは、初期化し、暗号スイートのネゴシエーション中に証明書材料の公開鍵と署名アルゴリズムを確認するようになりまし厳しい。サーバーは現在、認証メカニズムを確保するために暗号スイートをネゴシエートするときに暗号スイートと一致している彼らの証明書の署名アルゴリズムを見てください。これは、証明材料が要求された暗号スイートをサポートしていない場合、プロセスの初期段階で失敗するハンドシェイクを可能にします。サーバがサポートする準備ができていない暗号スイートを有効にするべきではありませんので、これは主にユーザー構成エラーに対する保護である。クライアントは、現在、証明書メッセージの解析中に先制措置として、サーバ証明書の署名アルゴリズムを確認する。以前のバージョンでは、後にサポートされていないアルゴリズムがパブリックキー操作自体に発生したハンドシェイクプロセスで接続を終了していまします。
- ハンドシェイクメッセージの作成に失敗した場合に黙ってSSL接続を終了させるハンドシェイクメッセージの作成に失敗以前のバージョンで送信されたSSL警告。今INTERNAL_ERRORアラートが接続を閉じる前に送信されます。
- 期限切れセッション再開は、セッションがサーバーのキャッシュに有効期限が切れた後にクライアントが再開、再握手をしようとした場合に再開握手状態に既にあるセッションが正常に戻って完全なハンドシェイクに落ちるれるシナリオの修正されたサーバーのサポートを修正ます。
- デフォルトでは無効にヤローと簡体PRNG再シードザ·USE_YARROWそれはヤローを通して、そのデータを実行する必要はありませんので、2つのデフォルトのエントロピーの収集源はソース自体をPRNGされているため、今cryptoConfig.hではデフォルトで無効になって定義します。この変更は、マイナーな接続速度の向上になります。ヤローが必要な場合は、そのアルゴリズムを再播種するためのロジックは、関数の数はPRNG検索機能の呼び出しを含むのではなく、読み取られたデータの量だけ更新するように簡素化されています。
- そのオプションの除去が、これは明示的になりようMatrixSSLのオープンソース版を定義するだけで、RSA暗号スイートをサポートしています。 USE_RSAの設定を削除しました
- アプリケーションの例は、ピアのサンプル証明書の材質を変更する場合は、再コンパイルが必要とされないようにします。 例のクライアントアプリケーションとサーバアプリケーションが現在サンプル認証局ファイルの完全なリストをロード、テストを支援するために完全なCAのリストをロード
のバージョン3.4.1でのの新機能:
- のセキュリティ機能:
- ラッキーサーティーン対策 - ブロック暗号パディングに対する攻撃が可能であることが証明されました。これは、AESや3DESなどのCBC暗号を影響します。このアップデートは、この攻撃の有効性を減らす対策をタイミングに追加します。
のバージョン3.1.4で新しいのは何ですかます:
- フィーチャーの更新:
- プライマリ暗号化アルゴリズムは現在MatrixSSLの以前のバージョンでは、いくつかの対称暗号化アルゴリズムのバイナリコードサイズに影響を与えた文書化されていないコンパイル時に定義(SMALL_CODE)を持っていた速度とのトレードオフサイズの構成オプションを持っている。この定義に使用される各アルゴリズムは現在、独自のユーザーが増加したバイナリコードサイズのコストで高速なアルゴリズムをサポートするためのライブラリを構築したいかどうかを制御するために定義する与えられている。速度のトレードオフ対サイズは、一般的には、速度の向上は、各アルゴリズムのための10〜20キロバイトのコストで約5%〜10%となります、プラットフォームに依存しますが。デフォルトでは、それぞれの場合に、これらの定義は、最小のバイナリフットプリントの賛成でコンパイルするcryptoConfig.hで無効になっているということです。
- RSAアルゴリズムは現在速度のトレードオフ対メモリ使用量のための設定オプションがあります。定義のペアは、RSAアルゴリズムが小さいRAM使用量またはより高速なパフォーマンスのためにコンパイルされるかどうかを判断するために追加されました。デフォルトでは、より小さなRAMの使用のためにコンパイルすることです。
- サーバーは現在、実行時に特定の暗号スイートを無効にすることができます - ライブラリにコンパイルされた暗号スイートは、現在、プログラム的に無効(および再使用可能)することができ、セッションごとに。これは、特定の接続しているクライアントのためにサポートされている暗号スイートを制限したいサーバに便利です。新しいAPI、matrixSslSetCipherSuiteEnabledStatusは、この機能をサポートするために追加されました。この新機能の詳細についてはMatrixSSL APIドキュメントを参照してくださいます。
- Xcodeのプロジェクトが含まれるようになりました - アプリ/ iphoneディレクトリのユーザーは現在、iPhoneのためのSSL / TLSクライアントアプリケーションを開発するためのMacのXcodeプロジェクトを見つけることができます。 。
- 「不正スタート "を使用クロームブラウザとサーバーの互換性 - ハンドシェイクプロトコルが完了する前にGoogle Chromeブラウザは、アプリケーションデータ交換を許可しない厳格なTLSの実装と互換性がない「偽スタート」と呼ばれる新しいプロトコル機構を導入しています。 matrixsslConfig.hにENABLE_FALSE_STARTを有効にすると、Chromeブラウザの新しいバージョンがMatrixSSLサーバと接続できるようになります。デフォルトで有効になってます。
- 新しい明示的なINT16データ型が追加されました - osdep.hファイルは現在、INT16と呼ばれる16ビット整数型のtypedefが含まれる。この新しいデータ型の初期の内部使用は、いくつかのプラットフォーム上でのパフォーマンスを向上させるためのpstm.c数学関数で見つけることができます。
- - ARMのCortex-M3のための安全なWebサーバの例の新しいリリースをサポートするように更新します。 。
- 公共APIの変更:
- コンパイル時のファイルシステムのサポートが改名されましたために定義する - USE_FILE_SYSTEM定義は今PS_USE_FILE_SYSTEMなるようPS_接頭辞が含まれるように変更されました。また、定義し、これはcoreConfig.hヘッダファイル中にはもはや存在しない。ファイルシステムのサポートが必要な場合は、コンパイル時に定義するように、プラットフォームのビルド環境に含まれている必要があります。
- リターンタイプはosdep.cオープンとクローズのルーチン用に変更 - osdep.cに実装され、プラットフォームのインタフェース機能は、プロトタイプの変更を受けています。 。
iPhone開発のための
ルミナリー·マイクロ/ TIのStellarisの例については、更新された
のバージョン3.1.3で新しいのは何ですかます:
- サーバー側の設定オプションは、より単純なX.509の解析とバイナリ実行ファイルサイズを小さくするために追加されました。
- はノコギリソウPRNGアルゴリズムは、強いエントロピー処理のために含まれています。
- 非ASCII X.509属性は、証明書でサポートされています。
- Windows用のプロジェクトファイルは、VS Expressに更新された2010ます。
- リターンコードがmatrixSslReceivedData()APIのために明らかにしたします。
のバージョン3.1のの新機能は次のとおりです。
- 新しいAPI、例やテストスイートます。
- TLSおよびAESます。
- 完全なSSLハンドシェイクが今必要とする&LT。ネットワーク·バッファなど、RAMの10キロバイト、!
- GNU makeをするためのプロジェクトファイル、Visual StudioとのXcodeます。
- それでも&LT。 50キロバイトのコードスペースません
オープンソースに含ま
のバージョン1.8.7dのの新機能は次のとおりです。
- 処理を改善します。
- パスワード保護された秘密鍵の改善された構文解析します。
- CAの処理を改善することは、誤ったドメイン名に不正な形式の文字列を許可された証明書を発行します。
複数の符号化されたハンドシェイクメッセージを含む便の
のバージョン1.8.6の新機能のは何ですかます:
- はmatrixRsaParsePubKeyルーチンは、X.509 SubjectPublicKeyInfoでフォーマットされたキーのサポートが追加されました。
- の証明書におけるsubjectAltName拡張の完全な構文解析のサポートがあります。
- クライアントがCLIENT_HELLOメッセージで複数の圧縮パラメータを送信することが許可されています。
- matrixX509ReadCertルーチンは、追加のPEMファイルのヘッダーとフッターのフォーマットをサポートしています。
- の例CAcertCln.der証明書をロードするためのhttpsReflector.cでファイル名のスペルミスを修正しました。
コメントが見つかりません