FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | 実装に関する注 | 関連項目 | 歴史
KTLS(4)            FreeBSD カーネルインタフェースマニュアル            KTLS(4)

名称
     ktls -- カーネルのトランスポートレイヤのセキュリティ

書式
     options KERN_TLS

解説
     ktls 機能によって、カーネルは、TCP ソケットでトランスポートレイヤセキュリ
     ティ (Transport Layer Security; TLS) フレーミングを実行することができま
     す。ktls で、TLS を使用するソケットの最初のハンドシェイクは、ユーザランド
     で実行されます。いったんセッションキーがネゴシエートされると、それらは、
     TCP_TXTLS_ENABLE と TCP_RXTLS_ENABLE ソケットオプションを通してカーネルに
     提供されます。両方のソケットオプションは、それらの引数として struct
     tls_enable 構造体を受け付けます。この構造体のメンバは、TLS セッションのた
     めに使用される暗号スイートを記述し、それぞれの方向のために使用されるセッ
     ションキーを提供しています。

     ktls は、セッションキーを各方向に一度だけ設定することを許可しています。結
     果として、アプリケーションは、ktls を使用するとき、キーの再入力を無効にし
     なければなりません。

   モード
     ktls は、異なるモードで操作することができます。与えられたソケットは、送信
     と受信のために異なるモードを使用するか、または単一の方向のみをオフロード
     しします。利用可能なモードは、次の通りです:

     TCP_TLS_MODE_NONE      ktls は、有効にされません。

     TCP_TLS_MODE_SW        TLS レコードは、ソケットレイアのカーネルで暗号化ま
                            たは暗号解読されます。通常、暗号化または暗号解読
                            は、ソフトウェアで実行されますが、また crypto(9)
                            を通してコプロセッサによって実行されます。

     TCP_TLS_MODE_IFNET     TLS レコードは、ネットワークインタフェースカード
                            (NIC) によって暗号化または暗号解読されます。この
                            モードで、ネットワークスタックは、暗号化されたデー
                            タで動作しません。代わりに、NIC は、送信している
                            TLS レコードを暗号化し、受信した TLS レコードをホ
                            ストに提供する前に、暗号解読します。

                            この機能をサポートするネットワークインタフェース
                            は、ifconfig(8) によって報告されるように TXTLS4
                            (IPv4 のために) および/または TXTLS6 (IPv6 のため
                            に) ケイパビリティを通知します。これらのケイパビリ
                            ティは、また ifconfig(8) によって制御することがで
                            きます。

                            ネットワークインタフェースが TLS オフロードのため
                            の (パケットペーシングとしても知られている) 速度制
                            限をサポートしているなら、インタフェースは、
                            TXTLS_RTLMT ケイパビリティを通知します。

     TCP_TLS_MODE_TOE       TLS レコードは、TCP オフロードエンジン (TOE) を使
                            用して NIC によって暗号化されます。これは、ネット
                            ワークスタックが暗号化されたデータで動作しないとい
                            う点において、TCP_TLS_MODE_IFNET に似ています。し
                            かしながら、このモードは、TOE と連携して TCP と
                            TLS の間の相互作用を処理します。

   送信
     いったん TLS 送信が TCP_TXTLS_ENABLE ソケットオプションの成功したせってに
     よって有効にされると、ソケットで書き込まれるすべてのデータは、TLS レコー
     ドに格納され、暗号化されます。ほとんどのデータは、アプリケーションレイア
     の TLS レコードで送信され、カーネルは、TLS レコードの間でデータをどのよう
     に分割するかを選択します。固定の長さとレコードタイプがある個別の TLS レ
     コードは、TLS_SET_RECORD_TYPE 制御メッセージで TLS レコードタイプを設定し
     た sendmsg(2) によって送信することができます。この制御メッセージのペイ
     ロードは、希望する TLS レコードタイプを保持する単一のバイトです。これは、
     アプリケーションのデータ以外のタイプがある TLS レコード (例えば、ハンド
     シェイクメッセージ) を送信ために、または特定のコンテンツ (例えば、空のフ
     ラグメント) があるアプリケーションデータのレコードを送信するために使用す
     ることができます。

     TLS の送信は、マッピングされていない mbuf の使用を必要とします。マップさ
     れていない mbuf は、デフォルトで有効にされませんが、
     kern.ipc.mb_use_ext_pgs sysctl ノードを 1 に設定することによって有効にす
     ることができます。

     ソケットの現在の TLS 送信モードは、TCP_TXTLS_MODE ソケットオプションを通
     して問い合わせることができます。TLS 送信オフロードを使用するソケットは、
     また TCP_TLS_MODE_SW と TCP_TLS_MODE_IFNET の間を切り替えるために
     TCP_TXTLS_MODE ソケットオプションを設定することができます。

   受信
     いったん TLS 受信が TCP_RXTLS_ENABLE ソケットオプションの成功した設定に
     よって有効にされると、ソケットから読み込んだすべてのデータは、暗号解読さ
     れた TLS レコードとして返されます。各受信された TLS レコードは、
     recvmsg(2) を使用してソケットから読み込まなければなりません。各受信された
     TLS レコードは、暗号解読されたペイロードと共に TLS_GET_RECORD 制御メッ
     セージを含んでいます。制御メッセージは、TLS レコードヘッダからフィールド
     を含む struct tls_get_record を含んでいます。無効であるか、または壊れた
     TLS レコードが受信されるなら、recvmsg(2) は、次のエラーの 1 つで失敗しま
     す:

     [EINVAL]           TLS レコードのヘッダのバージョンフィールドは、カーネル
                        内 TLS を有効にするために使用される struct tls_enable
                        構造体によって要求されるバージョンと一致しませんでし
                        た。

     [EMSGSIZE]         TLS レコードの長さは、小さすぎたか、または大きすぎまし
                        た。

     [EMSGSIZE]         切り詰められた TLS レコードを送信した後に、接続は、ク
                        ローズされました。

     [EBADMSG]          含まれている認証タグと一致する失敗した TLS レコード。

     ソケットの現在の TLS 受信モードは、TCP_RXTLS_MODE ソケットオプションを通
     して問い合わせることができます。現在のところ、モードを変更することはでき
     ません。

   sysctl ノード
     ktls は、kern.ipc.tls ノードの下でいくつかの sysctl ノードを使用します。
     そのうちのいくつかは、以下に説明されています:

     kern.ipc.tls.enable      新しいカーネルの TLS セッションを作成することが
                              できるかどうかを判断します。

     kern.ipc.tls.cbc_enable  AES-CBC を使用した暗号スイートがある新しいカーネ
                              ル TLS セッションを作成することができるかどうか
                              を判断します。

     kern.ipc.tls.sw          TCP_TLS_MODE_SW を使用して TLS セッションのため
                              の統計情報を含むノードのツリー。

     kern.ipc.tls.ifnet       TCP_TLS_MODE_IFNET を使用して TLS セッションのた
                              めの統計情報を含むノードのツリー。

     kern.ipc.tls.toe         TCP_TLS_MODE_TOE を使用して TLS セッションの統計
                              情報を含むノードのツリー。

     kern.ipc.tls.stats       様々なカーネルの TLS 統計情報を含むノードのツ
                              リー。

   バックエンド
     ベースシステムは、TLS レコードを暗号化と暗号解読のために crypto(9) を使用
     して、TCP_TLS_MODE_SW モードのためのソフトウェアバックエンドが含まれてい
     ます。このバックエンドは、ktls_ocf.ko カーネルモジュールをロードするこに
     よって有効にすることができます。

     cxgbe(4)mlx5en(4) ドライバは、TCP_TLS_MODE_IFNET モードのためのサポー
     トを含んでいます。

     cxgbe(4) ドライバは、TCP_TLS_MODE_TOE モードのためのサポートを含んでいま
     す。

   サポートされているライブラリ
     OpenSSL 3.0 以降は、ktls のためのサポートを含んでいます。
     security/openssl-devel ポートは、また KTLS オプションを有効にすることに
     よって ktls のためのサポートで構築されます。ベースシステムの OpenSSL は、
     WITH_OPENSSL_KTLS で構築するとき、KTLS サポートを含んでします。

     サポートされているライブラリを使用しているアプリケーションは、そららが、
     SSL_read(3)SSL_write(3) のような標準的なインタフェースを使用して提供
     されているあらゆる変更なして、ktls で一般的に動作するはずです。追加の性能
     は、SSL_sendfile(3) の使用によって得られます。

実装に関する注
     ktls は、ソフトウェアの暗号化と暗号解読を行うとき、物理的なメモリのダイレ
     クトマップが存在することを仮定しています。結果として、直接マップがある
     アーキテクチャでのみサポートされています。

関連項目
     cxgbe(4), mlx5en(4), tcp(4), src.conf(5), ifconfig(8), sysctl(8),
     crypto(9)

歴史
     カーネル TLS は、FreeBSD 13.0 ではじめて登場しました。

FreeBSD 13.2                     March 8, 2021                    FreeBSD 13.2

Table of Contents

FreeBSD マニュアル検索