【技業LOG】
技術者が紹介するNTTPCのテクノロジー

2022.03.30
IoT・M2M

SIMアプレットを使用したデバイス盗難防止アプリの検討

森 優輝

ソフトウェアエンジニア

森 優輝

はじめに

SIMアプレットに注目

NTTPCではIoT / M2M向けモバイルサービス「Master'sONEモバイル」「InfoSphere モバイル」の提供をしています。
私たちはインターネット接続やVPN接続以外の付加機能についても検討を行っており、その中でもSIMアプレットと呼ばれる技術に注目しています。

本記事ではそのSIMアプレットについて、および私たちが試作しているアプリについて紹介します。

SIMアプレットとは

SIMアプレットはSIMの上で動作するJavaアプリケーションのことです。
なんとSIMの上でJavaが動いているのです!
(実際にはJavaそのものではなくJava Cardと呼ばれるICカード向けの実行環境が搭載されています)

SIMカードに限らず、マイナンバーカードなどのICカードに搭載されているICチップにはカードOSが搭載されており、アプリケーション実行環境が存在します。

余談ですが、「アプレット」と聞いて「Javaアプレット」を思い浮かべる方が多いかもしれません。いわゆる「Javaアプレット」はWebで動作するJavaのアプリケーションであり、SIM上で動作するSIMアプレットとは異なります。

ここではSIMカードの基礎となるスマートカードについて説明したのち、SIMアプレットの特長について紹介します。

SIMカードはスマートカードの一種

SIMカードはスマートカード(ICカード)の一種であり、身近なところではクレジットカードやマイナンバーカードもその仲間です。

スマートカードに記録される情報はセキュアに保管でき、カードの解析や偽造できない仕組み(耐タンパー性)があることから、秘密鍵のような機密情報を安全に保管・利用できるという特長があります。カード内に保存されたデータにアクセスするためには暗証番号による認証を行う仕組みがあります。データの暗号化などで暗号処理を行う際にはカード内で計算が行われる仕組みのため、鍵の内容自体がカードの外に出ないようになっています。

また、スマートカードには用途に応じたオペレーティングシステム(OS)が搭載されており、スマートカードの特長を活かしながら、その上で何らかのアプリケーションを動作させて機能拡張ができるようになっています。
例えばICクレジットカードであれば決済用途向けに、SIMカードはモバイル通信向け用に拡張されています。

スマートカードの身近な活用例としてマイナンバーカードがあります。
マイナンバーカードにおいては、オンラインでの行政手続きを行う際のログインや申請時にデータ改ざんを防ぐために公的個人認証サービスが提供されています。このサービスを利用するためマイナンバーカードには「公的個人認証AP」などのアプリケーションが搭載されています。
これらを実現するためにカード内には2種類の電子証明書および秘密鍵が搭載されています。電子署名や認証を行うとき、カードに保管されている秘密鍵にアクセスするためにはパスワードを入力する必要があり、複数回連続でパスワードを間違えるとロックがかかる仕組みになっています。

SIMアプレットの特長

SIMカードの上で動作するSIMアプレットはスマートカードの特長を持ちながら、SIMの仕様に合わせて機能が拡張されており、次のような特長を持っています。

(1) 能動的に命令を発行することができる

通常クレジットカード等のスマートカードは受動的で、デバイスからの命令を受けてその応答を返す動作をします。
一方でSIMアプレットは自らがデバイスに対して能動的に命令(プロアクティブコマンド)を送ることが可能です。

例えばSIMアプレットからユーザーに何かしら通知を行いたい場合、SIMアプレットからデバイスに命令を発行してディスプレイにメッセージを表示することができます。

(2) 外部のサーバーとの通信ができる

SIMアプレットはデバイスが利用している通信回線を介して任意のサーバーと通信を行うことができます。
例えば、デバイスから取得できるデータ(IMEIや接続している基地局情報など)をサーバーに送信することが可能です。

また(1)の特長と組み合わせると、サーバーからSIMアプレットに命令を発行することができます。
これによりデバイスが手元になくても遠隔からデバイスの情報を取得することができるようになります。

SIMアプレットのサンプルコードや実際に動作させた内容について、NTTコミュニケーションズ Advent Calender 2020に記事を公開していますので、興味がある方はそちらも併せてご覧ください。

試作したSIMアプレットの紹介~盗難防止アプリ

SIMアプレットを使うとデバイスから情報を取得したりSIM内のファイルを更新したりできることがわかりました。
この調査結果やIoTを活用しているお客さまの悩みからユースケースを考えてみました。
例えばMaster's ONEの閉域網に接続できるSIMを利用している場合、IoT機器やSIMカードの盗難が発生するとそこから閉域網へ侵入される危険性があります。
そこでSIMアプレットが何らかのデバイス情報から盗難を検知して通信ができないようにできれば、お客さまが安心してサービスをご利用になれるのではないか?と考え、これを実現するプロトタイプを開発しました。

本章ではプロトタイプ開発した盗難防止アプリについて紹介します。

盗難防止アプリを使ってできること

プロトタイプでは次の2点ができるように開発しました。

  • 1.
    登録されていないデバイスにSIMカードが挿入されたら通信を停止する
  • 2.
    登録されていない基地局にデバイスが接続したら通信を停止する

これら2つの機能について、どのような仕組みで開発したのかを紹介します。

(1) 登録されていないデバイスにSIMカードが挿入されたら通信を停止する

これはデバイスからSIMカードだけ抜き取られたケースを想定すると、盗難者が自身のデバイスにSIMカードを挿すことで、閉域網を経由して社内NWへアクセスできてしまう可能性があります。
これを防ぐために未登録のデバイスでは通信を停止する、というような仕組みが必要となります(下図)。

未登録かどうか判定するための情報として、IMEI(International Mobile Equipment Identifier)と呼ばれる端末識別番号を使用しました。
IMEIは各デバイスに一意に付与されており、AndroidやiOS等のOS上からだけでなくSIMアプレットからも取得可能です。

今回開発したプロトタイプでは、SIMアプレット初回起動時に接続を許可するデバイスのIMEIをSIMアプレットに登録を行い、2回目以降のデバイス起動時に登録されたデバイスかどうかを判定する仕組みを実装しました。未登録デバイスと判定された場合は通信を停止する処理を行います。

IMEIの判定や通信の停止処理をSIMアプレットで行うことで、利用者は通信事業者に利用停止申請を行うことなく通信を止めることが可能です。SIMカードが盗難されてから発覚するまでの間に閉域網へ接続されることを防ぐことができると想定しています。

(2) 登録されていない基地局にデバイスが接続したら通信を停止する

これはSIMカードが挿入されているデバイス(例:エッジルーター)自体が管理区域外に持ち出されるケースを想定しています。
上述した登録デバイス判定を回避されて閉域網へ接続されてしまいます。
これを防ぐためには意図しない場所からの接続を検知して通信を停止する、というような仕組みが必要となります(下図)。

デバイスの位置情報を知る手段として、例えばGPSを使う方法があります。
しかし、GPSが搭載されていないデバイスが存在したり、SIMアプレットからGPSを扱うにはデバイス側でそれをサポートしている必要があったりと、さまざまな問題があります。

一方でデバイスはネットワークに接続するために電波を発してさまざまな基地局と通信を行います。
基地局は日本や世界中のあらゆる場所に存在することから、デバイスと通信している基地局が分かれば大まかな位置が分かります。

デバイスの場所が固定されている(工場内など)という前提であれば、通信先の基地局はいくつかの決まったものになるはずです。各基地局には固有のIDが割り当てられており、SIMアプレットから取得することが可能です。

そこで今回のプロトタイプでは普段利用する基地局のIDをSIMアプレットに登録し、2回目以降のデバイス起動時に登録された基地局を利用しているかどうかを判定する仕組みを実装しました。
デバイスの周辺に存在する基地局は複数存在し、その時の電波状況に応じて通信する基地局は変化することから、基地局のIDは複数登録できるようにしています。
未登録の基地局に通信していることが判明した場合は、未登録デバイスのときと同様に通信を停止する処理を行います。

利用するデバイスが小型であると容易に管理区域外へ持ち出されてしまう危険性があります。「(1)登録されていないデバイスにSIMカードが挿入されたら通信を停止する。」の項で述べたようなデバイス認証だけではデバイスごと盗難されるケースには対応できません。そこで基地局認証も組み合わせることで、登録デバイスであっても管理区域外での閉域網への接続を防ぐことができます。

おわりに

本記事ではSIMアプレットの特長や、その特長を生かした盗難防止アプリのプロトタイプ開発について紹介しました。
SIMアプレットを活用することでデバイス情報や基地局など通信関係の情報が取得でき、デバイス上のOSを経由することなく処理を行うことが可能です。スマートカードのセキュアな仕組みも合わせることで、より安全なIoTデバイスの展開が可能になると予想しています。

これからもお客さまがご満足になれるよう、よりよいサービス開発に取り組んでまいります。

関連サービス

高セキュリティな閉域網でリモートワークやIoT / M2M通信を実現する、法人向けVPNモバイルサービス

NTTPCの法人向けSIM

法人向けデータ通信利用からIoT / M2Mのセンサーデータ収集まで快適なインターネットモバイル通信を実現

おすすめ記事

PageTop