LinuCレベル3 セキュリティスペシャリスト セキュアプロトコルによる各種機能の実装 問26
セキュアプロトコルによる各種機能の実装/メールセキュリティBINDのゾーンファイルに、2048ビットのRSA鍵を使うDKIMの公開鍵(selector1._domainkey.example.com のTXTレコード)を登録する。鍵を含む値が255文字を超えるときの記述方法として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「セキュアプロトコルによる各種機能の実装」に対応。実際の試験問題ではありません)
- A1つのTXTレコードの値を、255文字以内に区切った複数の二重引用符付き文字列に分けて並べる
- B値を255文字ごとに分割し、同じ所有者名で別々のTXTレコードとして複数行に登録する
- CTXTレコードには255文字までしか書けないため、DKIMの公開鍵はSPF型のレコードで登録する
- D値を二重引用符で囲まずに1行で書けば、BINDが自動的に255文字の上限を解除して読み込む
正解:A
解説
TXTレコードの値を構成する1つの文字列(character-string)は最大255バイトですが、1つのレコードに複数の文字列を並べることができます。2048ビットのRSA鍵を含むDKIMの値は255文字を超えるため、"v=DKIM1; k=rsa; p=MIIB…" "…残り…" のように引用符付きの文字列に分け、1つのTXTレコードの中に並べます。ゾーンファイルでは丸括弧で囲むと複数行に分けて書けます。検証する側はこれらの文字列を連結して1つの値として扱います(RFC 6376)。
選択肢ごとの解説
- A正しい。1つのTXTレコードに255文字以内の文字列を複数並べると、受信側で連結されて1つの値として扱われます。
- B誤り。別々のTXTレコードに分けると、それぞれが独立したレコードとして扱われて連結されないため、公開鍵として正しく読み取れません。
- C誤り。SPF型(タイプ99)のレコードは廃止されており、DKIMの公開鍵にも使いません。DKIMの公開鍵はTXTレコードで公開します。
- D誤り。引用符で囲まなくても255バイトの上限は変わりません。空白を含む値は区切られてしまうため、引用符付きの文字列に分けて書きます。