はじめに
こんにちは、NTTドコモ 6Gテック部の野﨑です。
私は普段3GPP標準化業務を行っています。3GPPって何?標準化って何?という方は、下記のドコモ開発者ブログの記事で詳しく解説されているので、本記事と合わせて是非ご覧ください!
さて、総務省の白書に記載*1の通り、年々サイバーセキュリティ上の脅威は増大しており、それに伴いセキュリティはますます注目されています。
暗号化、認証etc...インターネットでは私たちのデータを保護するためにさまざまなセキュリティ対策が行われています。
同様に、私たちが普段から利用しているスマートフォン・携帯電話についても、安全にネットワークに接続し、利用するためのセキュリティ機能が備わっています。
本記事では、5Gシステム(第5世代移動体通信システム)でどのようなセキュリティが施されているのか解説いたします!
そもそも移動体通信のセキュリティって、何を保護しているの?
セキュリティと聞くと、メールやパスワード、支払い情報といったユーザデータを保護する仕組みを思い浮かべる方が多いのではないのでしょうか。
移動体通信ネットワークにおいて、携帯電話がネットワークにアクセスするためには、端末の位置情報管理などの移動体通信特有の制御が必要となります。
そのため移動体通信では、ユーザデータだけでなく、通信の制御に用いる信号やデータを保護することが重要となります。
では、どのようにして移動体通信ネットワークのセキュリティ対策がなされているのでしょうか?
前述の3GPPでは、TS(Technical Specification)として移動体通信ネットワークの仕様を策定しており、5GシステムのセキュリティはTS 33.501*2で規定されています。
理解のために、まず、携帯電話端末がどのように5Gネットワークに接続しているかを説明します。
非常に大まかな説明ですが、図1のように、端末は、近くの無線基地局に接続し、次にコアネットワークという通信制御を行う中核部分を経由しインターネットにアクセスします。
5Gネットワークでは、C-Plane(Control-Plane)とU-Plane(User-Plane)の2つの通信路で通信が行われています。
C-Planeでは、端末の移動管理やセッション管理などの、端末が5Gネットワークと接続するための制御が行われています。 U-Planeでは、Webサイトや音声データなどのユーザデータを通信しています。
端末は、基地局に接続した後、C-Planeでやり取りを行い、ネットワークが端末を認証、登録します。 その後、U-planeでユーザデータをやりとりできるよう接続を確立します。
5Gシステムのセキュリティでは、これらの接続制御やユーザデータの伝送を第三者に覗かれることなく安全に行うため、信号を暗号化し、秘匿しています。
5Gシステムの暗号化の仕組み
ようやく本題ですね!
上で述べた通り、通信を安全に行うためには暗号化や完全性の検証(改ざん検知)の仕組みが不可欠です。 5Gシステムにおいては、暗号鍵を生成し、その鍵を用いてデータの暗号化と復号を行っています。
図2に5Gシステムで利用される暗号鍵の階層構造を示します。
UE(User Equipment:ユーザ端末)とネットワーク間では共通鍵暗号を利用しており、UEとネットワーク間の通信を秘匿するためのさまざまな鍵を、最上部に位置する秘密鍵から順次導出します。
この鍵は、あらかじめUE内のUSIM(Universal Subscriber Identity Module card:いわゆるSIMカード)とネットワーク間で共有されており、後述のAKA(Authentication and Key Agreement:認証と鍵合意)手順では、この鍵を基点として下位の鍵を導出します。
このような階層構造を取ることで、万が一下位の鍵が漏洩したとしても上位層の保護には影響が出ないようになっています。
次に、図3に5G AKAと呼ばれる5Gシステムの認証と鍵合意手順を記載します。
5G AKA手順の中で、ネットワークと端末間で値をやりとりし、両者で鍵導出を行っています。大まかに説明すると、鍵と(Authentication Vector)と呼ばれる認証に用いるデータを材料として、鍵導出関数を利用し下位の鍵 *3を導出します。 そして、認証が成功する(step12が完了する)とから *4を導出します。
さらに、5G AKAによって導出した鍵から、端末の接続状態に応じてC-PlaneやU-Planeの通信を保護するための鍵を適宜導出します。
例えば、NAS(Non-Access Stratum)に用いられるはC-Plane上の信号のやりとりを秘匿します。 また、gNB*5に保持されるから導出されるは、UEとgNB間のU-Plane信号を秘匿します。
なお、図2にはencとintの2つの鍵が存在しますが、enc(encryption)は暗号化に、intは完全性(integrity)検証のために利用されます。特に、UEとgNB間のU-Plane完全性検証は4Gにはなく、5Gから導入されたセキュリティ機能となっています。
おわりに
本記事では5Gシステムのセキュリティの仕組みを解説しました。
とはいえ、本記事で解説したのは、主に携帯電話端末がネットワークにアクセスする際のセキュリティ機能です。
実は、5Gシステムのセキュリティは図4のようなアーキテクチャとなっており、端末・ネットワーク間のセキュリティ(図中I)以外にも、SIMに関するセキュリティ(図中III)やSBA(Service Based Architecture)に関するセキュリティ(図中V)も規定されています。
移動体通信を支えるセキュリティ技術は非常に奥が深く、私自身まだまだ勉強の身ではありますが、本記事が皆様の理解の一助になりましたら幸いです。
*1:総務省、"令和六年版情報通信白書"、2024、https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r06/html/nd21a210.html
*2:3GPP TS 33.501, "Security architecture and procedures for 5G system," Release 19, v19.0.0, Sep. 2024.
*3:SEAF(SEcurity Anchor Function):5Gセキュリティにおけるアンカーの役割を果たすネットワーク機能
*4:AMF(Access and Mobility Management Function):5Gシステムにおいて、端末のアクセスや移動を管理するネットワーク機能
*5:gNB(gNodeB):5Gシステムにおける無線基地局