• 検索結果がありません。

そ の よ う な 場 合 に、 最 初 の フ ル ハ ン ド シ ェ イ ク で 鍵 を 共 有 し て い て、 そ の 鍵 に よ る

事 前 共 有 鍵

機 能 で、 よ り オ

ヘ ッ ド の 少 な い 安 全 な 通 信 が 可 能 に な り ま す。

ふうっ

Copyright  2017,  wolfSSL  Inc.  All   rights  reserved.

Wikipedia   TLS    

Implementafons

こ の 表 は

wi ki ped ia

か ら 引 用 さ せ て い た だ い て い る

 

も の で す が、 現 在 の 世 界 各 社 の

TLS . 1

3

実 現 状 況

 

で す。 少 し 細 か い で す が、 サー バ 向 け の 各 社 製 品 が

 

概 ね 提 供 開 始 し て い る の に 対 し、 組 込 み 系 に 関 し て は

 

、 唯 一 弊 社

wo lfS SL

が 世 界 に 先 駆 け て 提 供 開 始 し て い ま す

 

wolfSSL の TLS  1.3  

最 後 に こ の 機 会 に

wo lfS SL

TLS

. 1

3

能 に つ 少 し ご 紹 介 さ せ て い た だ き ま す

 

ダウンロード

wolfssl.jp サイト

wo lfS SL

TLS

. 1

3

能 は、 み な さ ま の パ ソ コ ン

 

、 マ イ コ ン の 上 で も 簡 単 に ご 評 価 い た だ く こ と が

 

で き ま す

 

ダウンロードフォーム

wolfSSL  

を選択

 

アルファベットで 記入お願いします

wo lfssl .jp

サイ ト で、 簡 単 な ダ ウ ン ロー ド フ 記 入 い た だ い け ば、 製 品 版 と ま っ た く 同 じ 無 償 で ダウ ン ロー ド い た だ く こ と が で き

wo lfS SL

は 各 社 の

ID E,  

開 発 環 境 に 対 応 し て

TLS

. 1

3

関 す る

TLS

. 1

3

変 更 点、 追 加 点 は コ マン ド ベー ス で 比 較 し た ほ う が わ か か と 思 い ま す。 こ こ で は コ マン ド ベー ス で し ま す

 

ダウンロードファイルを解凍

$  unzip  wolfssl-­‐3.12.2.zip  

$  cd  wolfssl-­‐3.12.2    

デフォルトのビルド  

$  ./configure  

$  make    

サンプルサーバとクライアントの実行  

$  ./examples/server/server  

$  ./examples/client/client  127.0.0.1

デフオルトのビルド

サンプルサーバ、クライアントの実行

ダ ウ ン ロー ド し た フ ァイ ル を 適 当 な ディ レ ク ト リ に お き

U nzi p

し ま す。 デ フォ ル ト の ビ ル ド の 場

con figu re

 

、 コ マン ド で

Mak efi le

を 作 り

m ak e

コ マン ド

 

で ビ ル ド し ま す。 こ れ で

wo lfS SL

ライ ブ ラ リ と 同 時

 

に 簡 単 な

te st

や ベ ン チ マー ク プ ロ グ ラ ム、 サ ン プ ル

 

サー

バ、 ク ライ ア ン トプ ロ グ ラ ム が ビ ル ド さ れ ま す

 

。 ビ ル ド が 終 わ っ た ら、 サ ン プ ル サー バ と ク ライ ア ン ト を 別 々 の ウィ ン ド ウ で 実 行 し て み ま す

 

。 ク ライ ア ン ト の アー ギ ュ メ ン ト は サー バ の

IP

ア ド レ ス、 こ の 場 合

lo cal ho st

を 指 定 し ま し ょ う

 

。 サ ン プ ル ク ライ ア ン ト と サー バ の 間 で

TLS

セ ッ シ ョ ン を 確 立 し て 1 往 復 の 簡 単 な メッ セー ジ

 

の や り と り を し て 終 了 し ま

 

 

ダウンロードファイルを解凍

$  unzip  wolfssl-­‐3.12.2.zip  

$  cd  wolfssl-­‐3.12.2    

デフォルトのビルド  

$  ./configure  –enable-­‐tls13  

$  make    

サンプルサーバとクライアントの実行  

$  ./examples/server/server   v  4  

TLS1.3 オプション指定のビルド

サンプルサーバ、クライアントの実行

TLS1.3

の有効化オプション

Config ur e

コ マン ド で T L S

. 1

3

プ シ ョ ン 指 ビ ル ド す る と T L S

. 1

3

能 が 組 み 込 ま れ ま サ ン プ ル ク ライ ア ン ト を 実 行 さ せ る と き、 プ ロ バー ジ ョン の オ プ シ ョ ン

–v  

4

指 定 す る と T L S

. 1

3

サー バ を 呼 び 出 し ま す。

こ れ は、 サ ン プ ル サー

バ、 ク ライ ア ン ト コ マン ド を、 ま ず

TLS

. 1

2

、 実 際 に 実 行 さ せ て み た ス ク リー ン シ ョ ッ ト で す

 

。 サー

バ、 ク ライ ア ン ト、 そ れ ぞ れ の ウィ ン ド ウ に 使 わ れ た プ ロ ト コ ル の バー ジ ョ ン、

暗 号 ス イー ト

 

や 受 け 取 っ た メ ッ セー ジ が 表 示 さ れ ま す。

次 は

. 1

3

す。

ご 覧 の よ う に、 プ ロ ト コ ル の

 

バー ジ ョ ン が

. 1

3

な り 対 応 す る 暗 号 ス イー 表 示 さ れ る だ け で、 見 た 目 は ほ と ん ど 変 わ り

W ire sh ar k

の よ う な も の で パ ケ ッ ト キ ャ プ チ ャ し て い た だ くと、

ご 覧 の よ う に

. 1

2

場 合 は ハ ン ド シ ェ イ ク と ア プ リ ケー シ ョ ン デー タ の や り 取 り が 見 え ま す

 

. 1

3

場 合 は、

ご 覧 の よ う に

Cli en t  He llo /S erv er  

後 は 暗 号 化 さ れ て い る た め に 内 容 を 見 る こ と で き ま せ ん。

Copyright  2017,  wolfSSL  Inc.  All  rights   reserved.

Cli en t  He llo

の 中 身 を み て い た だ く と、 ご 覧 の よ う に 暗 号 ス イー ト リ ス ト に

TLS

. 1

3

自 の も の が 含 ま れ て い る こ と が わ か り ま す

 

method  =  wolfTLSv1_2_client_method();  /*  

プロトコルバージョン指定

 */  

Ctx  =  wolfSSL_CTX_new(method);                            /*  

コンテクストディスクリプタ確保

 */  

ssl  =  wolfSSL_new(ctx);                                                                  /*  

セッションディスクリプタ確保

 */  

 

wolfSSL_connect(ssl);                                                                      /*  TLS

セッション確立

 */  

 

wolfSSL_write(ssl,  buff,  size);                                            /*  

メッセージ送信

 */    

wolfSSL_read(ssl,  buff,  size);                                              /*  

メッセージ受信

 */  

 

wolfSSL_free(ssl);                                                                                    /*  TLS

セッション解放

 */  

通常のクライアント処理イメージ

次 に 関 数

API

で す

wo lfS SL

 

、 の 通 常 の ク ライ ア ン ト の 処 理 で は の よ う な 関 数 を 使 っ て サー バ 側 と 通 信 す な っ て い ま す

 

。 ま ず は、 事 前 の ディ ス ク リ プ タ を 確 保。 次 に、 実 際 に サー バ と の ハ ン ド シ ェ イ ク セ ッ シ ョ ン が 確 立 し た ら、 サー バ と 目 的 ジ の 送 受 信 を し ま す。 最 後 に セ ッ シ ョ ン と そ の 他 リソー

ス を 解 で す。

method  =  wolfTLSv1_3_client_method();  /*  

プロトコルバージョン指定

 */  

Ctx  =  wolfSSL_CTX_new(method);                            /*  

コンテクストディスクリプタ確保

 */  

ssl  =  wolfSSL_new(ctx);                                                                  /*  

セッションディスクリプタ確保

 */  

 

wolfSSL_connect(ssl);                                                                      /*  TLS

セッション確立

 */  

 

wolfSSL_write(ssl,  buff,  size);                                            /*  

メッセージ送信

 */    

wolfSSL_read(ssl,  buff,  size);                                              /*  

メッセージ受信

 */  

 

wolfSSL_free(ssl);                                                                                    /*  TLS

セッション解放

 */  

wolfSSL_CTX_free(ctx);                                                                /*  

コンテクスト解放

 */

TLS1.3 のクライアント処理イメージ

TLS1.3 指定

TLS

. 1

3

使 い た い 場 合 は、 基 本 的 に は、 最 初 の プ ロ ト コ ル の バー ジ ョ ン 指 定 を 1. 3 と 指 定 し て い た だ く だ け で す が

 

l  TLS

コネクト、アクセプト(

TLS1.2

へのダウングレードあり)

 

int  wolfSSL_connect_TLSv13(WOLFSSL*  ssl);  

int  wolfSSL_accept_TLSv13(WOLFSSL*  ssl);  

l 

セッションチケットを送らない

 

int  wolfSSL[_CTX]_no_fcket_TLSv13(WOLFSSL[_CTX]*  ctx/ssl);  

int  wolfSSL_no_fcket_TLSv13(WOLFSSL*  ssl);  

l 

セッション再開時

DHE

なし指定

 

int  wolfSSL[_CTX]_no_dhe_psk(WOLFSSL[_CTX]*  ctx/ssl);  

l 

鍵の更新

 

int  wolfSSL_update_keys(WOLFSSL*  ssl);  

l 

ハンドシェイク後の認証

 

int  wolfSSL[_CTX]_allow_post_handshake_auth(WOLFSSL[_CTX]*  ctx/ssl);  

int  wolfSSL_request_cerfficate(WOLFSSL*  ssl);  

も ち ろ ん そ の 他 に

TLS

1. 3 で 追 加 さ れ た 機 利 用 す る た め に、 機 能 ご と に ご 覧 の よ う な 関 そ れ ぞ れ に 用 意 さ れ て い る の で、 追 加 機 能 を す る 場 合 は 必 要 に 応 じ て こ れ ら を 使 い ま す

 

こ ま で ご 覧 い た だ い た 様 に

wo lfS SL

TLS

. 1

能 は、 ア プ リ ケー シ ョ ン 側、 ユー ザ 側 と し て ず は、 こ れ ま で の 使 い 方 と ほ と ん ど 変 え る こ く、 そ の ま ま の 形 で 使 っ て い た だ き、 必 要 に 順 次 追 加 し て い く こ と が で き る、 と い う こ と わ か りい た だ け た か と 思 い ま

 

 

Copyright  2017,  wolfSSL  Inc.  All   rights  reserved.

性能の向上 

安全性の向上 

1.2

 

1.1

 

TLS1.0

 

SSL3

 

1.3

 

さ て こ こ ま で

TLS

. 1

3

お け る 安 全 性 を 高 め つ つ、 性 能、 ス ルー プ ッ ト を 向 上 さ せ る 施 策 に つ い て ご 紹 介 し て き ま し

 

 

TLS1.3 は実質 2.0 の大整理

  安全性と性能の両面で改善   性能の改善は、

まず、サーバー側での普及を加速

クライアント側はそれに追従するかたち

しばらく、 1.2 との併存期間はあるものの 普 及のスピードは従来より、ずっと速そ

今 日 は

Io T

、 ネ ッ ト ワー ク セ キ ュ リ ティ の 新 ジ ョ ン

TLS

. 1

3

つ い て、 安 全 性 と 性 能 の 両 改 善 が あ る こ と。 そし て そ れ が、 ま ず サー バー 及 を 促 進 し、 ク ライ ア ン ト 側 も そ れ に 追 従 す ま っ て い く だ ろ う こ と を お 話 し ま し

 

 

。 も ち ろ ん、 こ れ か ら し ば ら く の 間、

併 存 期 間 も の の、 普 及 の ス ピー ド は 従 来 よ り も だ い ぶ 速 そ う で す

 

関連したドキュメント