TCP/IPパケット、暗号モード(ECBモード・CTRモード)【情報処理安全確保支援士試験 平成31年度 春期 午後2 問1 設問4】

【暗号モード】
 P君は、暗号モードについても調べてみた。ブロック暗号を利用して長い平文を暗号化するには、平文をブロックに分割し、各ブロックに対して暗号化処理を適用する必要がある。ブロック暗号の適用方法を暗号モードと呼ぶ。最も単純な暗号モードはECBモードである。
 暗号モードのうち、ECBモードとCTRモードの仕組みを図3に示す。


 一般的なブロック暗号のブロック長は、64~128ビット程度なので、暗号化のためTCP/IPパケットをヘッダも含めて平文ブロックに分割すると、④パケットがもつある特徴から、同一端末間の異なるパケットにおいて、同一の平文ブロックが繰り返して現れることが想定される。そのため、その平文の内容は高い確率で推測可能である。仮にTCP/IPパケット全体をECBモードで暗号化した場合、(c)が繰り返して現れることになり、暗号の解読が容易になるおそれがある。
 CTRモードでは、暗号ブロックは、(d)と(e)の排他的論理和である。無線LANの場合、攻撃者は暗号化されたパケットを入手可能であるので、その暗号化されたパケットに対する(d)が推測できた場合、(e)は容易に算出できる。これらを踏まえるとCTRモードでは、初期カウンタ値の再利用の強制によって、同一の(e)を使用して異なるパケットの暗号文を作成してしまう可能性がある。
 ここまで調べたP君は、イントラポータルサーバへのアクセスはHTTPであり、かつ、ベーシック認証を使用しているので、WPA2の通信を解読されると利用者IDとパスワードの流出に直結していしまうことに気付いた。

【不審なW-APの発見と対策】
 無線LAN経由で侵入された可能性のある時期には、タブレットPCはKRACKsへの対策がされていなかったので、P君は、KRACKsによる攻撃を受けた可能性を調査する必要があると考えた。そこでP君は、W主任に相談して、攻撃者が不正なW-APを設置していないか、N社の周囲の無線状況を調査した。その結果、総務部のW-APと同一のSSIDが設定された不審なW-APが、N社敷地外にあることを発見し、KRACksによる攻撃を受けたと結論付けた。
 そこで、W主任は、KRACksによってWPA2の通信が解読された場合でも被害を防ぐ対策として、イントラポータルサーバへのアクセスをHTTPSに変更する案を提案した。

【L7FW機能の実効性の確認】
 一方、R課長は、FW1にはL7FW機能があることを思い出した。しかし、今回のインシデントでは、FW1が、マルウェアによる通信を不正な通信として検出した形跡はなく、通過させていた。この件について、R課長はP君に調査を指示した。
 P君が、プロキシサーバ のログを分析したところ、4月10日の10:00以降、問合せ用PCが発信元であるHTTPSと思われる通信が、通常よりも大幅に増加していた。これらの通信の大半は、表3のC&CサーバのIPアドレスを含む不審なIPアドレスへの通信であったことから、マルウェアによるものと推測された。一方、問合せ用PCが発信元であるHTTP通信は、ほとんどなかった。
 続いてP君が、FW1の機能の設定状態を確認したところ、L7FW機能は有効化されていたが、HTTPS通信によって送受信されるデータを復号する機能(以下、HTTPS復号機能という)はライセンスがないので有効化されていなかった。この状態では、HTTPS通信に対してL7FW機能は効果がないことが分かった。P君は、これら一連の内容をR課長に報告した。
 R課長は、インシデントの調査を終了し、W-APのIEEE802.1X認証の方式をEAP-TLSに変更する案と、イントラポータルサーバへのアクセスをHTTPSに変更する案を実施するとともに、残りの対策の検討に移ることにした。



設問4 【暗号モード】について, (1), (2)に答えよ。

(1) 本文中の下線④について, TCP/IPパケットの特徴を, 40字以内で述べよ

TCP/IPパケットの特徴を考えてみましょう。

TCPはOSI参照モデルのトランスフォーム層、IPはOSI参照モデルのネットワーク層で働くプロトコルです。

ここで、端末間でデータを送受信する場合を考えてみましょう。

送信する側では、各層ごとにデータに「ヘッダ」をつけます。(カプセル化)


このヘッダには、送信側システムと受信側システムのアドレスなどの識別子が含まれます。

ヘッダ以外の部分のデータ本体を含む部分を「ペイロード」と呼びます。

各層でカプセル化を進めることで、最終的にデータは電気信号になります。

引用:IP|ネットワークエンジニアとして


続いて、受信側を見ると、電気信号を受信後、各層ごとにヘッダを取り除くことで、最終的にデータのみの状態にします。



さて、TCP/IPパケットの話に戻します。

TCP/IPパケットは、IPヘッダとTCPヘッダが付加された状態で通信します。

それぞれのヘッダに何が入るのか考えます。

IPヘッダはネットワーク層で相手を識別するためにつけられるのですから、送信元IPアドレスや宛先Pアドレスが入ります。

TCPヘッダはトランスフォーム層で使う識別子なので、送信元ポート番号や宛先ポート番号が入ります。

つまり、IPヘッダ、TCPヘッダは、それぞれ同一のバイト列であることが多いのです。

引用:IP|ネットワークエンジニアとして



それでは、問題文について、もう一度考えてみましょう。

下線④には、「同一端末間の異なるパケット」と記載されています。

同一端末間での受信ということは、送信元と宛先が同一であるということですから、異なるパケットであってもIPヘッダ(送信元IPアドレス、宛先IPアドレス)、TCPヘッダ(送信元ポート番号、宛先ポート番号)は同じ内容となります。


回答:IPヘッダ部及びTCPヘッダ部は、同一のバイト列であることが多いこと

IPヘッダ、TCPヘッダ、TCP/IPパケットとは、それぞれどのような意味を持つのかを理解していないと難しいね。





(2) 本文中の(c)~(e)にいれる適切な字句を, それぞれ15字以内で述べよ

(c)の文章の前後を見ると、「仮にTCP/IPパケット全体をECBモードで暗号化した場合、(c)が繰り返して現れることになり、暗号の解読が容易になるおそれがある。」と記載されています。



ECBモードでは、データを分割したブロックを各々暗号化する方式です。

仮に、同一のデータが入っているブロックを暗号化すると、同じ暗号ブロックが出来上がります。

(c):同じ暗号ブロック



(d),(e)はCTRモードの説明です

CTRモードは、カウンタ値を暗号化した値と平文ブロックの排他的論理和です。

「その暗号化されたパケットに対する(d)が推測できた場合、(e)は容易に算出できる。」とありますが、無線LANでの盗聴により推測できるのは、先ほどの(c)で解説したように、平文ブロックです。



(d):平文ブロック

(e):カウンタ値を暗号化した値