うるふブログ

Medtec Japan 2019出展のご案内

wolfSSL Japanは、2019年3月18日(月)から20日(水)まで開催されるMedtec Japan 2019に出展いたします。

日時: 2019年3月18日(月)〜20日(水) 10:00~17:00
会場: 東京ビッグサイト 東ホール
wolfSSLブース番号: 3105
展示会ウェブサイト: http://www.medtecjapan.com

IoT、組込みシステム向けTLSライブラリのwolfSSLは、1,000社を超えるお客様の製品で使われており、医療業界でも多くの採用事例がございます。世界ではじめてTLS 1.3に対応した商用版ライブラリをはじめ、TLSとハードウェアセキュリティの連携を可能にするwolfTPM、wolfMQTT、wolfSSHなどの製品紹介を行います。ぜひお気軽にwolfSSLのブースへもお立ち寄りください。また本展示会では、IoTデバイスのセキュリティをより強固にする新製品のご紹介を予定しております。

みなさまのご来場を心よりお待ちしております。
現地での個別打ち合わせをご希望の方は、info@wolfssl.jp までご連絡ください。

ET/IoT Technology 名古屋 2019出展、セミナー開催のご案内

wolfSSL Japanは、2019/2/6 ~ 7に開催されるET/IoT Technology 名古屋 2019に出展いたします。

日時: 2019年 2月6日(水)〜2月7日(木)10:00〜17:00(最終日のは16時まで)
会場: 吹上ホール(名古屋市中小企業振興会館)
wolfSSLブース番号: K25
展示会ウェブサイト: http://www.jasa.or.jp/etnagoya/
同時開催展:TECH Biz EXPO 2019 / フロンティア21エレクトロニクスショー2019

また今年初となるセミナーも、期間中会場内で開催いたします。

【E-1】動き出したTLS1.3とハードウェア・セキュリティ <<事前登録制>>
〜IoTデバイス開発エンジニアのためのセキュリティ教室〜

日時: 2019年2月 6日(水)15:15~16:00

IoTソリューションも実用期に入り、本格的セキュリティが求められています。刷新された新バージョンのTLSでは何が変わるのか、自社の製品競争力にどのように生かしていけるのか。また、さまざまな形態が提案されているハードウェア・セキュリティをどのようにTLSと連携させていくのか、本格的なIoTセキュリティの実現について解説いたします。

こちらから<<事前登録>>いただけます。

 

みなさまのご来場を心よりお待ちしております。
現地での個別打ち合わせをご希望の方は、info@wolfssl.jp までご連絡ください。

走り出した TLS 1.3(5、最終回):TLS 1.3をフルサポートするwolfSSL

さて、連載最後はwolfSSLのサポートするTLS1.3について紹介して締めくくることにしよう。

今まで紹介してきたようにTLS1.3では、プロトコルの内部的には大幅な改定、改善強化となっている。しかし、wolfSSL ライブラリの使用方法という面からは、今までに対して最小の変更で新しいバージョンのプロトコル機能を追加することができるように配慮されている。例えばビルド方法では、

$ ./configure –-enable-tls13

のようにTLS1.3機能追加のためのビルドオプションを一つ指定するだけでアプリケーションから使用することができる。今までと同じように make コマンドを実行すると、一連のコンパイル、リンクによってwolfSSLライブラリと基本的なサンプルプログラムが出来上がる。

ビルドをした同じパソコン上で、二つウィンドウを開いて、簡単にローカルなTLSサーバー、クライアント間通信を試してみよう。TLS1.2との違いがわかるようにWiresharkなどのパケットキャプチャツールでその内容を見ることができる。プロトコルバージョンオプションに “-v 4” とTLS1.3を指定して、

サーバ側ウインドウ:$ ./examples/server/server -v 4

クライアント側ウインドウ:$ ./examples/client/client -v 4

と実行すると、

SSL version is TLSv1.3
SSL cipher suite is TLS_AES_128_GCM_SHA256
SSL curve name is SECP256R1
I hear you fa shizzle!

のように、TLS1.3のハンドシェイク情報と簡単なサーバクライアント間のアプリケーションメッセージが表示される。Wireshark ならこんな風にローカルホスト同士のハンドシェイクとメッセージのやりとりが表示される。ハンドシェイクでは、最初のClientHello と ServerHello 以降はすべて暗号化されていることがわかるはずだ。ClientHelloのレコード詳細を見てみれば、Cipher Suiteリスト中のTLS1.3独自の暗号スイートやSupportedVersion TLS拡張の内容を見ることもできる。

 

TLS1.3のパケットキャプチャ

 

比較のために、サーバー、クライアントをオプションなしで実行させてみると、このようにデフォルトのTLS1.2でのパケットがキャプチャできる。ハンドシェイクは暗号化されていないので、レコードの種別がきちんと表示されるはずだ。

 

TLS1.2のパケットキャプチャ

 

では、次にアプリケーションから使用する際のAPIについて見てみよう。wolfSSLを使用した典型的なクライアントアプリケーションのコードは概ね次のようになっているはずだ。単純にそれをTLS1.3とするだけであれば、異なるのは最初のプロトコルバージョン指定の部分だけで、その他はまったく変更なく先ほどのような結果を得ることができる。

method = wolfTLSv1_3_client_method(); /* プロトコルバージョン指定 */
ctx = wolfSSL_CTX_new(method); /* コンテクストディスクリプタ確保 */
ssl = wolfSSL_new(ctx); /* セッションディスクリプタ確保 */

/* TCP層の接続処理 */

wolfSSL_connect(ssl); /* TLSセッション確立 */

wolfSSL_write(ssl, buff, size); /* メッセージ送信 */
wolfSSL_read(ssl, buff, size); /* メッセージ受信 */

wolfSSL_free(ssl); /* TLSセッション解放 */
wolfSSL_CTX_free(ctx); /* コンテクスト解放 */

もちろん、TLS1.3で新たに加わった新機能をもっと積極的に利用することも可能だ。この連載の最初でも紹介したような、Early Data (0-RTT)や鍵の明示的更新、また、ハンドシェイク後の認証、セッション再開時DHEなしやセッションチケットを送らないためのオプション指定など各種の新機能に対応したAPIが追加されている。

wolfSSLのTLS1.3機能は昨年夏のIETFによるRFC8446の正式サブミッションとほぼ同時に正式サポートを開始している。無償のGPLv2版はこちらからダウンロードできるので、ぜひ実機で評価してみて欲しい。また、商用版でのTLS1.3についてはinfo@wolfssl.jpまでお知らせください。

連載のご購読ありがとうございました。

wolfSSL Japan 技術サポートチーム

 連載「走り出したTLS 1.3」
 第一回
 第二回 0-RTTでいきなり暗号化メッセージ
 第三回 一律3割引き !?
 第四回 セキュリティプロトコルの技術と経験を結集
 第五回 TLS 1.3をフルサポートするwolfSSL (最終回、本ページ)

wolfTips: 新しい整数演算ライブラリ

TLSの性能に関して一番気になるのはハンドシェイク処理時間ではないだろうか。処理時間的に見るとハンドシェイク処理でほとんどの時間は鍵交換、デジタル署名や検証など公開鍵暗号の処理に費やされている。この公開鍵暗号はご存じの通り大きな整数値のベキ乗や剰余の演算処理だ。

wolfSSLではこの大きな整数値の演算のために特別なライブラリを提供しており、時代とともに改良を加えている。初期に、どのようなアーキテクチャのMPUでもポータブルかつ高速に動作するように特別に開発された標準整数ライブラリ(integer.c)は今でもwolfSSLのデフォルト整数ライブラリだ。これに対して、Tom’s Fast Math をベースにIntelアーキテクチャやARMアーキテクチャで特に高速に動作するように改良を加えたFast Math (tfm.c)。これまで、これら二つをターゲット環境に応じてビルドオプションで使い分けてきた。

最近加えられたもう一つのオプションは、公開鍵処理に特化したSingle Precisionオプションだ。公開鍵の整数演算で特定の鍵長であればループ処理を使わなくても直線的な処理に落とし込むことができることを利用し、高速化と処理時間の一定化を実現したものだ。そういうわけでSingle Precisionと言っても、フローティングポイントの単精度とは関係ない、あえて日本語訳するとすれば、単一精度ないし特定精度というようなことになるだろう。

このSingle Precisionオプションは、configureコマンドならば

$ ./configure –enable-sp

というような形で簡単に定義することができる。Single Precision処理は原理的にアルゴリズムや鍵長ごとに対応しなければならない。現在のところwolfSSLではRSA/DH 2048/3072, ECDSA/ECDH256 の署名、鍵交換に対応している。

./wolfcrypt/benchmark/benchmark

でベンチマークを比較することができるので、ぜひご自分の実機で比較して見てください。

特にIoTでは、アプリケーションメッセージの送受信よりハンドシェイク処理時間の方が目立つことが多い。そいう場合のチューニングにおすすめできるオプションだ。また、この処理は処理時間が一定化され、サイドチャネル攻撃に対して耐性が向上するというセキュリティ上の利点からもおすすめです。

wolfSSL Japan技術サポートチーム

Japan IT Week 関西内「組込みシステム開発技術展」出展のご案内

wolfSSL Japanは、2019/1/23 ~ 25に開催されるJapan IT Week 関西内、組込みシステム開発技術展に出展いたします。

日時: 1月23日(水)〜1月25日(金) 10:00~18:00(最終日のみ17時まで)
会場: インテックス大阪
wolfSSLブース番号: 2号館10-19
展示会ウェブサイト: https://www.japan-it-osaka.jp/

2019年初の関西展示会、スタッフ一同とても楽しみにしております。wolfSSL Inc.のBusiness DirectorであるRich Kelmも加わり、TLS 1.3対応のwolfSSL組み込みシステム向けTLSライブラリ、TLSとハードウェアセキュリティの連携を可能にするwolfTPM、wolfMQTT、wolfSSHなどのご紹介を行います。ぜひお気軽にwolfSSLのブースへもお立ち寄りください。

みなさまのご来場を心よりお待ちしております。
現地での個別打ち合わせをご希望の方は、info@wolfssl.jp までご連絡ください。

2019年展示会出展のお知らせ

wolfSSL Japan合同会社は、2019年に次の展示会への参加を予定しております。会場でみなさまと直接お話しできることを楽しみにしております。各展示会のブースやセミナーなどの詳細情報は、あらためてブログでご案内いたします。現地での打ち合わせのご希望やご質問は、info@wolfssl.jp までご連絡ください。

Jan 16-18 スマート工場 EXPO Tokyo Big Sight
Jan 23-25 Japan IT Week 関西 Intex Osaka
Feb 6-7 ET & IoT Technology 名古屋 吹上ホール(名古屋市中小企業振興会館)
Mar 18-20 Medtec Japan Tokyo Big Sight
Apr 10-12 Japan IT Week【春】前期 Tokyo Big Sight
May 29-31 ワイヤレスジャパン2019 Tokyo Big Sight
Jun 13-14 ET & IoT Technology West 2019 Grand Front Osaka
Jul 30 -31 IoTセキュリティフォーラム 2019 よみうり大手町ホール
Oct 23-25 Japan IT Week 秋 幕張メッセ
Nov 20-22 ET & IoT Technology 2019 パシフィコ横浜
イベントに関するブログは、こちらにまとめています。

wolfSSL 3.15.7をリリースしました

年末のお忙しい中での案内になり恐縮ですが、wolfSSL組み込みTLSライブラリのバージョン3.15.7をリリースいたしました。オープンソース版は、こちらからダウンロードいただけます。今回のリリースは、多くの新機能、既存機能の修正と改良を含んでいます。よりわかりやすい APIドキュメント、RSA検証専用ビルド、RSA公開鍵操作専用ビルド、新しいポート追加のほか、以下が本リリースでのアップデート項目です。

新機能追加とポート

  • Espressif ESP-IDF開発フレームワークのサポート
  • PKCS#7で、独立した署名を使用してバンドルを生成および検証するためのサポート
  • Micrium uC / OS-III用のポートアップデート
  • WOLFSSL_ALLOW_MAX_FRAGMENT_ADJUSTマクロを使用してコンパイルした場合、ハンドシェイク後の最大フラグメントサイズを調整する機能を追加
  • wolfSSLにバンドルされたサンプルコードに複数の言語を追加すると、マルチバイト 文字を処理できない組み込みデバイスで問題が生じる可能性があります。NO_MULTIBYTE_PRINTにより、マルチバイト文字を出力するコードを除いてコンパイルできるようになりました
  • RSA検証専用(–enable-rsavfy)およびRSA公開専用(–enable-rsapub)ビルドを追加しました。これらはRSAコードの一部をコンパイルする–enable-cryptonlyと一緒に使用できるビルドです。 RSA公開鍵操作のみ、またはRSA検証操作のみが必要な場合、wolfSSLをさらに小型にすることが可能になりました

wolfSSLの既存機能のアップデートのひとつには、Intel QuickAssist v1.7ドライバのサポートがあります。これにより、wolfSSLを新しいIntelハードウェアと非同期モードで使用し、以前のドライバよりも大幅にパフォーマンスを向上させることができます。ドライバのアップデートに加え、RSA鍵生成とSHA-3サポートをwolfSSL QuickAssistポートに追加しています。
以下、このリリースにおけるその他の追加、アップデートをいくつかご紹介します。

  • i386でiPhoneシミュレータを使ってXCodeをビルドする際の修正
  • AES-CBCを無効にし、opensslextra互換レイヤを有効にするビルドの修正
  • セッション情報を表示し、レコード間で分割メッセージを処理するようスニファを更新
  • PKCS#11 APIなどを含むDoxygenドキュメントの更新
  • 増加したコードカバレッジに対するテストケースの機能強化
  • OpenSSL互換レイヤへのアップデートを含む、Mongooseで使用するためのVxWorksポートのアップデート
  • autotoolsで使いやすくするための–enable-armasm buildの更新
  • Yoctoでの使いやすさを追求しいくつかの改良を加えました。ビルド手順も INSTALLファイルに追加しました

wolfSSLのTLS 1.3コードにいくつかのアップデートと細かい修正を加えました。業界をリードするwolfSSLのTLS 1.3実装を堅牢かつ最新に保ちます。これらの修正は次のとおりです。

  • コネクション付きのTLS 1.3バージョンをチェックする内部コードの更新
  • TLS 1.3を使用している場合、ServerHelloから不要な拡張マスターシークレットを削除
  • TLS v1.3のHelloRetryRequestがすぐに送信され、グループ化されないように修正

このwolfSSLのリリースには1つのセキュリティ脆弱性に対する修正が含まれています。Bleichenbacherの攻撃の変種による潜在的なキャッシュ攻撃に対する中レベルの修正です。以前のバージョンのwolfSSLでは、秘密鍵の復号化中にPKCS#1 v1.5のパディング情報が漏洩し、潜在的なパディングオラクル攻撃につながる可能性がありました。 RSA暗号スイートを有効にしており、悪意のあるソフトウェアがRSA操作を実行しているのと同じシステム上で実行される可能性がある場合は、最新バージョンのwolfSSLにアップデートすることをお勧めします。 ECC暗号スイートのみを有効にし、RSA PKCS#1 v1.5を実行していないユーザー復号化操作はこの脆弱性の影響を受けません。 TLS 1.3のみの接続を持つユーザーもこの攻撃に対して脆弱ではありません。 レポートいただいたEyal Ronen氏(Weizmann Institute)、Robert Gillham氏(アデレード大学)、Daniel Genkin氏(ミシガン大学)、Adi Shamir氏(Weizmann Institute)、David Wong氏(NCCグループ)、およびYuval Yarom氏(アデレード大学およびData61)に御礼申し上げます。この攻撃の詳細についてはhttp://cat.eyalro.net/cat.pdf で説明されています。変更のパッチの確認、適用には、こちらをご覧ください。

さらに詳しい情報は弊社問い合わせ窓口 info@wolfssl.jp までご連絡ください。
原文: https://www.wolfssl.com/wolfssl-3-15-7-now-available/

スマート工場 EXPO出展のご案内

wolfSSL Japanは、2019/1/16 ~ 18に開催されるスマート工場 EXPOに出展いたします。

日時: 2019年1月16日(水)〜1月18日(金) 10:00~18:00(最終日のみ17時まで)
会場: 東京ビッグサイト
wolfSSLブース番号: W20-52
 
2019年最初の展示会出展です!TLS 1.3対応のwolfSSL組み込みシステム向けTLSライブラリのデモをはじめ、TLSとハードウェアセキュリティの連携を可能にするwolfTPMwolfMQTTwolfSSHなどのご紹介を行います。会場の東京ビッグサイトでは期間中、オートモーティブ ワールド、 ロボデックス、ネプコン ジャパン、ウェアラブル EXPOなど多くの展示会が同時開催中です。ぜひwolfSSLのブースへもお立ち寄りください。
 
みなさまのご来場を心よりお待ちしております。

 

走り出した TLS 1.3(4):セキュリティプロトコルの技術と経験を結集

さてここまでTLS1.3の特徴として、性能やスループットの面からのメリットを中心にお話するというセキュリティ屋の説明らしからぬ順序で進めてきた。そろそろ安全性の面からの話もまとめておこう。

実際のところTLS1.2までの経験で、TLSはセキュリティプロトコルとしてはかなり成熟してきていたといってもいいだろう。しかし、最大の課題は、それまで出てきた数々の問題に対応するためにつぎはぎ的な対応が重なってきてしまっていたことだろう。それまでのTLS拡張によるTLSレコードのつぎはぎだらけの拡張では早晩破綻をきたしてしまうことは目に見えていた。たくさんの暗号スイートの中には、すでに危殆化したものや、危殆化が見えているものも増えてきていた。ブロック暗号とMACによる真正性の保証も限界のように思われた。

そういう中で、TLS1.3では、まず暗号スイートの大胆な整理が行われた。最終的には共通鍵暗号の方式としては認証タグ付き暗号(いわゆるAEAD)のみを採用することになった。具体的には、現時点でみとめられているのはブロック暗号としてAES-GCMとAES-CCM、ストリーム暗号ではChaCha-Polyのみだ。TLS1.2でもっとも広く使われているAES-CBCは廃止された。

TLS1.3の安全性の議論で、それまでのバージョンでは配慮されていなかった完全前方秘匿性への配慮が新たに加わった。これは、それまでには考えられなかったような大規模で長期間にわたるネットワークトラフィックの盗聴、蓄積が行われるケースがあることがわかってきたためだ。そういう攻撃方法によれば、長い期間をかけた暗号解読や、本来十分管理されるべきプライベート鍵の流出などで過去の秘匿情報が解読されてしまうリスクがある。公開鍵方式といえども鍵交換において長期間にわたり同じ鍵を使用することは危険であることがわかってきて、そうしたリスクに対する秘匿性、「完全前方秘匿性(PFS)」の重要性が認識されはじめた。

具体的対策としては、鍵交換における静的RSAを廃止し、ディフィー・ヘルマン(DH) においても一時鍵(Ephemeral Key) のみを使用するDHEのみが認められることになった。逆に、DHEのみになったおかげでハンドシェイクは単純化され、シリーズ前回でも紹介したように、オーバーヘッドが削減されたというメリットも享受できるという副産物もある。

以下は、TLS1.2と1.3における暗号スイートの例だ。1.3の鍵交換ではDH系しか使用されないので、そのフィールドは廃止された。ECDH(楕円曲線暗号によるDH)での曲線種別はTLS拡張で示される。

TLS1.2の暗号スイートの例:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS1.3の暗号スイートの例:TLS_AES_128_GCM_SHA256

また、鍵合意部分がDH系のみに整理されたことにともない、ハンドシェイク先頭の暗号スイートの合意部分を除いてその後のハンドシェイクはすべて暗号化でき、安全性が大幅に向上した。

図:TLS1.3ではハンドシェイクの大部分が暗号化

そのほかにも、TLS拡張の整理や、暗号スイートの意味の整理がされたことなど、ひとまずのTLSの完成形といえるものに仕上がったといえるだろう。

 連載「走り出したTLS 1.3」
 第一回
 第二回 0-RTTでいきなり暗号化メッセージ
 第三回 一律3割引き !?

さらに詳しい情報は info@wolfssl.jp までお問い合わせください。

wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)

Posts navigation

1 2 3 4 5 29 30 31