以下、本発明の実施の形態を図面に基づいて説明する。図1は本実施の形態のリモートログイン認証システムの構成の一例を示すブロック図である。本実施の形態のリモートログイン認証システムは、セキュアエレメント50が組み込まれたデバイス100、及び管理用端末200などを備える。デバイス100は、「モノのインターネット」(IoT)でいうところの「モノ」に該当するデバイス(IoTデバイス、電子デバイスとも称する)を含む。デバイス100と管理用端末200とは、イーサーネット、Wifi、3G回線などの一般的なネットワーク回線70を介して接続される。
デバイス100は、セキュアエレメント50の他に、デバイス本体10を備える。デバイス本体10とセキュアエレメント50との間は、I2C(Inter-Integrated Circuit)、SPI(Serial Peripheral Interface)等の通信路45で物理的に接続されている。なお、セキュアエレメント50は、UICC(Universal Integrated Circuit Card)のように着脱可能な構成とすることもできる。
デバイス本体10の大部分は、単一のSoC(System on a Chip)で構成され、一個の半導体チップ上にシステムの動作に必要な機能(例えば、CPU41、不図示のメモリなどを含む)の多く、あるいは全ての機能を一体化して実装している。
デバイス本体10は、例えば、TrustZone(登録商標)と称される技術を用いることによって、ソフトウェア(OS、アプリケーションなど)の実行環境をREE(Rich Execution Environment)20(通常実行環境、ノーマルワールドとも称する)と、TEE(Trusted Execution Environment)30(トラステッド実行環境、セキュアワールドとも称する)との二つに分けている。REE20とTEE30との間では、メモリ空間、入出力装置などが分離されている。
REE20は、広く一般的に利用されているOSの実行環境であり、TEE30へのアクセスが制限される以外、特段の機能制約がない実行環境である。
TEE30は、セキュリティ機能を隔離する目的で、同一のSoC上でREE20とは別に提供される独立した実行環境である。TEE30は、REE20からのアクセスが制限されており、実行可能な機能も限定されている。なお、TEE30の如くTEEという称呼は、REE20と分離され、セキュリティ上より安全な実行環境であれば、どのような称呼の実行環境であってもよい。
セキュリティ上保護すべきソフトウェア及びデータをTEE30に配置するとともに、REE20及びデバイス100の外部からのアクセスを制限することによって、デバイス100のセキュリティを確保することができる。なお、TEEは、TrustZoneの設計思想に基づく仕様を表す用語としても用いられる。
上述のように、REE20からTEE実行環境30にはアクセスできないように制限されるので、REE20からはTEE30の存在を認識することはできない。REE20からTEE30で実行する処理を呼び出すためには、例えば、不図示のセキュアモニタなどを経由しなければならない。
REE20では、汎用OSとしてのリッチOS21、REE側リモート管理アプリケーション22、汎用アプリケーションとしてのクライアントアプリケーション23などを実行することができる。リッチOS21は、秘匿通信路通信処理部211の機能を備える。
リッチOS21は、REE20においてOSの機能を果たすソフトウェアである。リッチOS21は、クライアントアプリケーション23からの要求に応じ、デバイス100に接続されたハードウェア(入出力装置)の制御等を含む各種OS機能を提供する。リッチOS21は、後述のトラステッドアプリケーション34を利用するためのインタフェースとして機能することもできる。
秘匿通信路通信処理部211は、リッチOS21内に具備した秘匿通信路通信処理を行うモジュールである。秘匿通信路通信処理には、例えば、OpenSSL(Secure Sockets Layer)のようなTLS(Transport Layer Security)プロトコルスタックなどが含まれる。
REE側リモート管理アプリケーション22は、REE20側に配置され、REE20外からの通信によりREE20内を管理するためのアプリケーションである。
クライアントアプリケーション23は、リッチOS21上で動作するアプリケーションである。なお、図1では、便宜上、一つのクライアントアプリケーション23を図示しているが、クライアントアプリケーション23の数は複数でもよい。
TEE30では、トラステッドOS31、REE管理用トラステッドアプリケーション32、TEE管理用トラステッドアプリケーション33、トラステッドアプリケーション34などを実行することができる。トラステッドOS31は、秘匿通信路通信処理部311の機能を備える。
トラステッドOS31は、TEE30においてOSの機能を果たすソフトウェアである。トラステッドOS31は、トラステッドアプリケーション34からの要求に応じて、セキュリティ機能を中心としたOS機能を提供する。また、トラステッドOS31は、REE20とTEE30との通信(例えば、REE20からの機能実行要求又はデータの授受など)を行うためのインタフェース機能を有し、REE20(クライアントアプリケーション23)とトラステッドアプリケーション34との間の通信路としても機能する。
秘匿通信路通信処理部311は、トラステッドOS31内に具備した秘匿通信路通信処理を行うモジュールである。秘匿通信路通信処理には、例えば、TEE Socket APIのようなTLS通信可能なAPIモジュールなどが含まれる。
REE管理用トラステッドアプリケーション32は、TEE30からREE20を管理するためのアプリケーションである。REE管理用トラステッドアプリケーション32は、REE側リモート管理アプリケーション22と接続することによって、TEE30側からREE20の管理を行うことができる。
TEE管理用トラステッドアプリケーション33は、TEE30内の管理を行うためのアプリケーションである。TEE管理用トラステッドアプリケーション33は、セキュアエレメント50経由でTEE30内の管理を行うことができる。
トラステッドアプリケーション34は、トラステッドOS31上で動作するアプリケーションである。トラステッドアプリケーション34は、セキュリティ上の保護が必要な機能(例えば、鍵管理、暗号演算など)を実装することができる。なお、図1では、便宜上、一つのトラステッドアプリケーション34を図示しているが、トラステッドアプリケーション34の数は複数でもよい。
ネットワーク通信部42は、デバイス100をネットワークに接続する機能を有し、ネットワーク上のサービスサーバ(不図示)との間で情報の送受信を行うことができる。ネットワーク通信部42は、不図示のセンサ類で検出した情報をサービスサーバ(不図示)に送信することができる。
セキュアエレメント50は、リモートログイン認証処理部51、秘匿通信路通信処理部52、アクセス権情報DB53、リモートアクセス通信処理部54、セッション鍵生成処理部55、プロトコル変換処理部56などを備える。
アクセス権情報DB53は、記憶部としての機能を有し、管理用端末200からのデバイス本体に対するリモートログインを認証するための認証情報を記憶する。認証情報は、例えば、ログインID及びパスワードとすることができる。すなわち、アクセス権情報DB53は、デバイス本体10(又はデバイス100)へのアクセス権を確認するための秘密情報を格納しているデータベースである。なお、認証アルゴリズムは適宜決定することができる。アクセス権情報DB53は、セキュリティポリシーに基づいて、ユーザ名(ログインID)、パスワード、公開鍵認証などのリモートログイン認証に使用する秘密情報を適宜格納することができる。
秘匿通信路通信処理部52は、セキュアエレメント50と管理用端末200との間で独立した秘匿通信路61を開設する。秘匿通信路61は、例えば、HTTPS(HTTP Over TLS)とすることができるが、これに限定されない。秘匿通信路通信処理部52は、TLSの暗号化及び復号、HTTP(Hypertext Transfer Protocol)メッセージの解釈などの処理を行う。
秘匿通信路通信処理部52は、取得部としての機能を有し、秘匿通信路61経由でデバイス本体10に対するリモートログインの要求を取得する。リモートログインの要求は、例えば、管理用端末200が送信した要求を取得することができる。リモートログインの要求には、リモートログインの認証のための認証情報(例えば、ログインID及びパスワード)を含めることができる。セキュアエレメント50と管理用端末200との間は、秘匿通信路61が開設されている。これにより、管理用端末200からリモートログインの要求を取得する際に、認証情報の改ざんの防止、あるいは取得の妨害を回避することができる。
リモートログイン認証処理部51は、判定部としての機能を有し、秘匿通信路通信処理部52でリモートログインの要求を取得した場合、アクセス権情報DB53に記憶した認証情報に基づいて、リモートログインを許可するか否かを判定する。リモートログインを許可するか否かの判定は、例えば、リモートログインの要求に含まれる認証情報とアクセス権情報DB53に記憶した認証情報とが一致するか否かに応じて行うことができる。
リモートログイン認証処理部51は、通知部としての機能を有し、リモートログインの認証結果をデバイス本体10に通知する。例えば、リモートログイン認証処理部51は、管理用端末200からのリモートログインの要求が認証された場合、認証された旨をデバイス本体10に通知することができる。また、リモートログイン認証処理部51は、管理用端末200からのリモートログインの要求が認証されなかった場合、認証されなかった旨をデバイス本体10に通知してもよく、あるいは何も通知しなくてもよい。
上述の構成により、リモートログインの認証処理を、セキュアエレメント50内のアクセス権情報DB53に記憶した認証情報を用い、且つセキュアエレメント50内部で実施するので、リモートログインのセキュリティ上の安全性を高めることができる。また、認証情報をデバイス100側(デバイス本体10)に記憶するのではなくセキュアエレメント50内に保持することにより、デバイス個々の認証情報の個別化をセキュアエレメント50に対してのみ行えばよく、デバイス100側(デバイス本体10)で認証情報の個別化を考慮する必要がなく、デバイス本体10の認証情報の個別化に係る製造コストを削減することができる。
リモートログイン認証処理部51は、リモートログインを許可すると判定した場合、デバイス本体10に対するリモートアクセスが許可されたことをデバイス本体10に通知する。これにより、リモートログインに続くリモートアクセスを行うことができる。
秘匿通信路通信処理部52は、受信部としての機能を有し、リモートログイン認証処理部51でリモートログインを許可すると判定した場合、秘匿通信路61経由でリモートアクセスに係る通信を受信する。秘匿通信路通信処理部52は、例えば、管理用端末200が送信したリモートアクセスに係る通信を受信することができる。
リモートアクセス通信処理部54は、通信処理部及び送出部としての機能を有し、秘匿通信路通信処理部52で受信したリモートアクセスに係る通信をデバイス本体10へ送出(転送)する。また、リモートアクセス通信処理部54は、デバイス本体10から取得したリモートアクセスに係る通信を秘匿通信路通信処理部52へ送出する。この場合、秘匿通信路通信処理部52は、リモートアクセス通信処理部54からのリモートアクセスに係る通信を取得し、秘匿通信路61経由で管理用端末200へ送信する。
上述の構成により、管理用端末200が送信したリモートアクセスに係る通信をデバイス本体10が取得することができ、管理用端末200とデバイス本体10とがリモートアクセスに係る通信を行うことができる。
プロトコル変換処理部56は、変換部としての機能を有し、秘匿通信路61経由で送受信するリモートアクセスに係る通信と、デバイス本体10との間で授受するリモートアクセスに係る通信との間で通信プロトコルを変換する。すなわち、プロトコル変換処理部56は、管理用端末200とセキュアエレメント50との間の通信と、セキュアエレメント50とデバイス本体10との間の通信との間の通信プロトコルを変換する。
プロトコル変換は、例えば、テキスト・バイナリ変換とすることができる。例えば、セキュアエレメント50と管理用端末200との間の通信がHTTPの場合、HTTPボディで授受される内容はテキストベースである。この場合、管理用端末200は、バイナリコードをAscii文字列化してセキュアエレメント50へ送信し、セキュアエレメント50内においてAscii文字列をバイナリコードに変換してデバイス本体10へ出力することができる。なお、プロトコル変換は、テキスト・バイナリ変換に限定されない。
これにより、デバイス本体10が用いる通信プロトコルが、外部の管理用端末200が用いる通信プロトコルに対応していない場合でも、セキュアエレメント50が通信プロトコルを変換する機能を備えることにより、管理用端末200とデバイス本体10とがリモートアクセスに係る通信を行うことができる。
セッション鍵生成処理部55は、生成部としての機能を有し、リモートログイン認証処理部51でリモートログインを許可すると判定した場合、リモートアクセスに係る通信に用いる秘匿通信路を開設するための開設情報を生成する。開設情報は、例えば、一時的なセッション鍵とすることができる。
セッション鍵生成処理部55は、開設情報通知部としての機能を有し、生成したセッション鍵をデバイス本体10及び管理用端末200に通知する。
上述の構成により、デバイス本体10と管理用端末200との間の秘匿通信路61とは別の秘匿通信路を開設する時の鍵を一時的なものとすることによって、セキュアエレメント50を介さない従来のリモートアクセスよりもセキュリティ上強固なリモートアクセスを実現することができる。また、リモートアクセスに係る通信がセキュアエレメント50の処理能力を上回る場合でも、デバイス本体10と管理用端末200との間の秘匿通信路を利用してリモートアクセスに係る通信を行うことができる。
セキュアエレメント50は、耐タンパ性を有する。セキュアエレメント50の機能(例えば、リモートログイン認証処理部51、秘匿通信路通信処理部52、アクセス権情報DB53、リモートアクセス通信処理部54、セッション鍵生成処理部55、プロトコル変換処理部56)をハードウェアのモジュールで実現する場合、耐タンパ性を有するためには、セキュアエレメント50を1チップ化にしてもよく、あるいは、モジュール表面をコーティングしてもよい。また、セキュアエレメント50の機能をソフトウェアのモジュールで実現する場合、耐タンパ性を有するためには、実行コードを暗号化し、実行時に必要な部分だけをメモリ上で復号するようにすればよい。
次に、本実施の形態のリモートログイン認証システムの動作について説明する。以下では、セキュアエレメント50によるリモートログイン動作、セキュアエレメント50を経由したTEE30に対するリモートアクセス動作、セキュアエレメント50を経由したREE20に対するリモートアクセス動作、セキュアエレメント50及びTEE30を経由したREE20に対するリモートアクセス動作、TEE30によるリモートアクセス動作、REE20によるリモートアクセス動作、アクセス権情報DB53の更新動作について説明する。
図2は本実施の形態のセキュアエレメント50によるリモートログイン動作の一例を示す説明図である。以下、符号P1〜P7で示す処理について説明する。
P1(秘匿通信路開設要求):管理用端末200は、デバイス100内のセキュアエレメント50に対して、秘匿通信路61の開設を要求する。セキュアエレメント50が自ら物理的な通信手段(LAN又はWifiなど)を有する場合、秘匿通信路61の確立を独力で行うことができるが、通信手段を有さない場合には、デバイス本体10の物理的な通信手段を用いることができる。
P2(リモートログイン要求):管理用端末200は、開設された秘匿通信路61を経由して、セキュアエレメント50に対し、リモートログイン要求を送信する。この場合、アクセス権情報DB53においてアクセス権を認証可能な認証情報もリモートログイン要求とともに送信される。認証情報は、例えば、ログインID及びパスワードとすることができる。
P3(リモートログイン認証依頼):秘匿通信路通信処理部52は、取得した通信がリモートログイン要求であることを確認すると、取得した認証情報をリモートログイン認証処理部51に転送し、リモートログイン認証を依頼する。
P4(アクセス権認証):リモートログイン認証処理部51は、アクセス権情報DB53を参照し、取得した認証情報によるリモートログインの可否を判定する。具体的には、リモートログイン認証処理部51は、取得したログインIDがアクセス権情報DB53に存在すること、及び当該ログインIDに設定されているパスワードが、取得したパスワードと一致していることを確認する。
P5(認証結果通知):リモートログイン認証処理部51は、認証結果を秘匿通信路通信処理部52に通知する。
P6(管理用端末200への認証結果通知):秘匿通信路通信処理部52は、秘匿通信路61経由で認証結果を管理用端末200に通知する。リモートログインが拒否された場合は、拒否された旨を管理用端末200に通知して処理を終了する。この場合、管理用端末200によるデバイス100へのリモートログインは許可されない。
P7(リモートログイン許可の通知):リモートログインが許可された場合、リモートログイン認証処理部51は、デバイス本体10に対し、管理用端末200によるリモートログインを許可する旨、及びリモートログインに続くリモートアクセスを許可する旨を通知する。なお、デバイス本体10での通知先は、デバイス100(デバイス本体10)のセキュリティポリシー等に基づいて適宜決定することができる。例えば、許可する旨を、TEE管理用トラステッドアプリケーション33及びREE側リモート管理アプリケーション22に通知することができる。
次に、リモートログインに認証が行われた後に続くリモートアクセスについて説明する。
図3は本実施の形態のデバイス100によるセキュアエレメント50を経由したTEE30に対するリモートアクセス動作の一例を示す説明図である。以下、符号P11〜P20で示す処理について説明する。
P11(TEE操作要求の送信):管理用端末200は、秘匿通信路61を経由して、セキュアエレメント50側の秘匿通信路通信処理部52に対して、TEE30に対する操作内容を含むTEE操作要求を送信する。
P12(リモートログイン許可の確認):秘匿通信路通信処理部52は、TEE操作要求を受信すると、当該管理用端末200がリモートログインを許可されているか否かをリモートログイン認証処理部51に確認する。なお、ここでは、図2に例示した動作によってリモートログインを許可されているとする。
P13(リモートアクセス通信処理部54への通知):秘匿通信路通信処理部52は、リモートログインが許可されている場合、受信したTEE操作要求をリモートアクセス通信処理部54に通知する。
P14(受信内容のプロトコル変換):リモートアクセス通信処理部54は、取得したTEE操作要求のプロトコルを検証し、プロトコル変換が必要な場合、プロトコル変換処理部56に対してプロトコル変換を依頼する。プロトコル変換処理部56は、必要な変換を行う。プロトコル変換が必要でない場合、プロトコル変換処理部56は、変換処理を行わない。
P15(TEE管理用トラステッドアプリケーション33への配信):プロトコル変換処理部56は、プロトコル変換後のTEE操作要求をTEE管理用トラステッドアプリケーション33に配信する。
P16(TEE操作):TEE管理用トラステッドアプリケーション33は、受信したTEE操作要求に基づいてTEEの操作を行う。TEEの操作は、例えば、トラステッドメモリ(不図示)に対する鍵の登録、削除又は更新、トラステッドアプリケーション34のインストール(追加)又は削除などを含む。
P17(操作結果の返信):TEE管理用トラステッドアプリケーション33は、TEE操作結果(例えば、正常終了、エラー終了など)をプロトコル変換処理部56へ返信する。
P18(プロトコル変換):プロトコル変換処理部56は、TEE操作結果に対し、P14で実施した変換と逆の変換を行い、管理用端末200が解釈可能な通信内容に変換する。特に変換が不要な場合、プロトコル変換処理部56は、変換処理を行わない。プロトコル変換処理部56は、必要な変換を行った後、変換後のTEE操作結果をリモートアクセス通信処理部54に返信する。
P19(管理処理結果の返信):リモートアクセス通信処理部54は、取得したTEE操作結果を秘匿通信路通信処理部52に返信し、管理用端末200への返信を依頼する。
P20(TEE操作要求結果の返信):秘匿通信路通信処理部52は、取得したTEE操作結果を秘匿通信路61経由で管理用端末200に返信する。
図4は本実施の形態のデバイス100によるセキュアエレメント50を経由したREE20に対するリモートアクセス動作の一例を示す説明図である。以下、符号P31〜P40で示す処理について説明する。
P31(REE操作要求の送信):管理用端末200は、秘匿通信路61を経由して、セキュアエレメント50側の秘匿通信路通信処理部52に対して、REE20に対する操作内容を含むREE操作要求を送信する。
P32(リモートログイン許可の確認):秘匿通信路通信処理部52は、REE操作要求を受信すると、当該管理用端末200がリモートログインを許可されているか否かをリモートログイン認証処理部51に確認する。なお、ここでは、図2に例示した動作によってリモートログインを許可されているとする。
P33(リモートアクセス通信処理部54への通知):秘匿通信路通信処理部52は、リモートログインが許可されている場合、受信したREE操作要求をリモートアクセス通信処理部54に通知する。
P34(受信内容のプロトコル変換):リモートアクセス通信処理部54は、取得したREE操作要求のプロトコルを検証し、プロトコル変換が必要な場合、プロトコル変換処理部56に対してプロトコル変換を依頼する。プロトコル変換処理部56は、必要な変換を行う。プロトコル変換が必要でない場合、プロトコル変換処理部56は、変換処理を行わない。
P35(REE側リモート管理アプリケーション22への配信):プロトコル変換処理部56は、プロトコル変換後のREE操作要求をREE側リモート管理アプリケーション22に配信する。
P36(REE操作):REE側リモート管理アプリケーション22は、受信したREE操作要求に基づいてREEの操作を行う。REEの操作は、例えば、クライアントアプリケーション23のインストール(追加)又は削除、ファイルの追加又は削除、コンフィグレーションの変更などのリモート操作等を含む。
P37(操作結果の返信):REE側リモート管理アプリケーション22は、REE操作結果(例えば、正常終了、エラー終了、出力メッセージなど)をプロトコル変換処理部56へ返信する。
P38(プロトコル変換):プロトコル変換処理部56は、REE操作結果に対し、P34で実施した変換と逆の変換を行い、管理用端末200が解釈可能な通信内容に変換する。特に変換が不要な場合、プロトコル変換処理部56は、変換処理を行わない。プロトコル変換処理部56は、必要な変換を行った後、変換後のREE操作結果をリモートアクセス通信処理部54に返信する。
P39(管理処理結果の返信):リモートアクセス通信処理部54は、取得したREE操作結果を秘匿通信路通信処理部52に返信し、管理用端末200への返信を依頼する。
P40(REE操作要求結果の返信):秘匿通信路通信処理部52は、取得したREE操作結果を秘匿通信路61経由で管理用端末200に返信する。
図5本実施の形態のデバイス100によるセキュアエレメント50及びTEE30を経由したREE20に対するリモートアクセス動作の一例を示す説明図である。以下、符号P51〜P62で示す処理について説明する。
P51(REE操作要求の送信):管理用端末200は、秘匿通信路61を経由して、セキュアエレメント50側の秘匿通信路通信処理部52に対して、REE20に対する操作内容を含むREE操作要求を送信する。
P52(リモートログイン許可の確認):秘匿通信路通信処理部52は、REE操作要求を受信すると、当該管理用端末200がリモートログインを許可されているか否かをリモートログイン認証処理部51に確認する。なお、ここでは、図2に例示した動作によってリモートログインを許可されているとする。
P53(リモートアクセス通信処理部54への通知):秘匿通信路通信処理部52は、リモートログインが許可されている場合、受信したREE操作要求をリモートアクセス通信処理部54に通知する。
P54(受信内容のプロトコル変換):リモートアクセス通信処理部54は、取得したREE操作要求のプロトコルを検証し、プロトコル変換が必要な場合、プロトコル変換処理部56に対してプロトコル変換を依頼する。プロトコル変換処理部56は、必要な変換を行う。プロトコル変換が必要でない場合、プロトコル変換処理部56は、変換処理を行わない。
P55(REE管理用トラステッドアプリケーション32への配信):プロトコル変換処理部56は、プロトコル変換後のREE操作要求をREE管理用トラステッドアプリケーション32に配信する。
P56(REE側リモート管理アプリケーション22への配信):REE管理用トラステッドアプリケーション32は、取得したREE操作要求をREE側リモート管理アプリケーション22に配信する。この場合、REE管理用トラステッドアプリケーション32は、TEE30のセキュリティ機能を利用したセキュリティの確保(例えば、公開鍵による復号処理)、セキュアエレメント50では処理負荷の大きいプロトコル変換などのREE操作に対する所要の処理を行うことができる。これにより、セキュリティレベルの向上、セキュアエレメント50での処理の補完などを行うことができる。
P57(REE操作):REE側リモート管理アプリケーション22は、受信したREE操作要求に基づいてREEの操作を行う。REEの操作は、例えば、クライアントアプリケーション23のインストール(追加)又は削除、ファイルの追加又は削除、コンフィグレーションの変更などのリモート操作等を含む。
P58(操作結果の返信):REE側リモート管理アプリケーション22は、REE操作結果(例えば、正常終了、エラー終了、出力メッセージなど)をREE管理用トラステッドアプリケーション32に返信する。
P59(操作結果の返信):REE管理用トラステッドアプリケーション32は、取得したREE操作結果をプロトコル変換処理部56に返信する。
P60(プロトコル変換):プロトコル変換処理部56は、REE操作結果に対し、P54で実施した変換と逆の変換を行い、管理用端末200が解釈可能な通信内容に変換する。特に変換が不要な場合、プロトコル変換処理部56は、変換処理を行わない。プロトコル変換処理部56は、必要な変換を行った後、変換後のREE操作結果をリモートアクセス通信処理部54に返信する。
P61(管理処理結果の返信):リモートアクセス通信処理部54は、取得したREE操作結果を秘匿通信路通信処理部52に返信し、管理用端末200への返信を依頼する。
P62(REE操作要求結果の返信):秘匿通信路通信処理部52は、取得したREE操作結果を秘匿通信路61経由で管理用端末200に返信する。
図6は本実施の形態のデバイス100のTEE30によるリモートアクセス動作の一例を示す説明図である。以下、符号P71〜P77で示す処理について説明する。
P71(TEEリモートアクセス開始要求):管理用端末200は、秘匿通信路61を経由して、セキュアエレメント50側の秘匿通信路通信処理部52に対して、TEE30に対するリモートアクセス通信開始要求を送信する。
P72(セッション鍵生成依頼):秘匿通信路通信処理部52は、リモートアクセス通信開始要求を取得すると、セッション鍵生成処理部55に対し、セッション鍵の生成を依頼する。
P73(セッション鍵の生成):セッション鍵生成処理部55は、当該リモートアクセスに用いる、一般的なセッション鍵を新たに生成する。セッション鍵生成処理部55は、例えば、乱数生成器により所定バイト(例えば、128バイトなど)の共通鍵を生成することができる。
P74(管理用端末200へのセッション鍵の配信):セッション鍵生成処理部55は、秘匿通信路61を経由して、生成したセッション鍵を管理用端末200に配信する。
P75(TEE30へのセッション鍵の配信):セッション鍵生成処理部55は、生成したセッション鍵をトラステッドOS31の秘匿通信路通信処理部311に配信する。
P76(TEE30への秘匿通信路開設要求):管理用端末200は、トラステッドOS31の秘匿通信路通信処理部311を通信先として、新たに秘匿通信路62を開設する。ここでは、P73で生成された共通鍵をベースとした、TLS−PSK(Pre-Shared Key)を開設することができる。なお、生成する鍵は、上述の例に限定されない。例えば、RSA鍵生成を行い、サーバ、クライアント証明書と鍵ペアとをセッション鍵として生成した上で、当該鍵と証明書に基づいてTLS通信を行うことができる。また、単なるパスワードを生成した上で、サーバ証明書による片側認証TLSを開設した後、ワンタイムパスワードによる認証を行ってリモートアクセス可否を判定してもよい。
P77(リモートアクセス通信の実施):以降、管理用端末200とTEE30とは、管理用端末200とセキュアエレメント50との間に確立された秘匿通信路61とは別の秘匿通信路62上で、リモートアクセス通信を授受する。
図7は本実施の形態のデバイス100のREE20によるリモートアクセス動作の一例を示す説明図である。以下、符号P81〜P87で示す処理について説明する。
P81(REEリモートアクセス開始要求):管理用端末200は、秘匿通信路61を経由して、セキュアエレメント50側の秘匿通信路通信処理部52に対して、REE20に対するリモートアクセス通信開始要求を送信する。
P82(セッション鍵生成依頼):秘匿通信路通信処理部52は、リモートアクセス通信開始要求を取得すると、セッション鍵生成処理部55に対し、セッション鍵の生成を依頼する。
P83(セッション鍵の生成):セッション鍵生成処理部55は、当該リモートアクセスに用いる、一般的なセッション鍵を新たに生成する。セッション鍵生成処理部55は、例えば、乱数生成器により所定バイト(例えば、128バイトなど)の共通鍵を生成することができる。
P84(管理用端末200へのセッション鍵の配信):セッション鍵生成処理部55は、秘匿通信路61を経由して、生成したセッション鍵を管理用端末200に配信する。
P85(TEE30へのセッション鍵の配信):セッション鍵生成処理部55は、生成したセッション鍵をリッチOS21の秘匿通信路通信処理部211に配信する。
P86(REE20への秘匿通信路開設要求):管理用端末200は、リッチOS21の秘匿通信路通信処理部211を通信先として、新たに秘匿通信路62を開設する。ここでは、P73で生成された共通鍵をベースとした、TLS−PSK(Pre-Shared Key)を開設することができる。
P87(リモートアクセス通信の実施):以降、管理用端末200とREE20とは、管理用端末200とセキュアエレメント50との間に確立された秘匿通信路61とは別の秘匿通信路62上で、リモートアクセス通信を授受する。
リモートアクセス通信の通信量が膨大になる場合、あるいはプロトコル処理に多大な処理能力を必要とする場合、比較的処理能力が高くないセキュアエレメント50によるリートアクセスでは、通信処理に支障をきたす可能性がある。上述のように、管理用端末200とセキュアエレメント50との間に確立された秘匿通信路61とは別の秘匿通信路62上で、リモートアクセス通信を授受することにより、セキュアエレメント50は、デバイス本体10に対するリモートアクセスに係る通信の全部又は一部を処理することができ、リモートアクセス通信の通信量が膨大になる場合、あるいはプロトコル処理に多大な処理能力を必要とする場合でも、リモートアクセス通信を確実に行うことができる。また、セキュアエレメント50の通信処理能力を、デバイス本体10に対するリモートアクセス通信の最大量まで高める必要がなくなる。
また、管理用端末200とTEE30又はREE20との間の新たな秘匿通信路62は、セキュアエレメント50が生成したセッション鍵によって開設される。当該セッション鍵を一時的な鍵とすることによって、従来のようなリモートアクセスに比べて、強固なリモートアクセスセキュリティを実現することができる。
図8は本実施の形態のデバイス100によるアクセス権情報DB53の更新動作の一例を示す説明図である。以下、符号P91〜P95で示す処理について説明する。
P91(アクセス権情報DB53の更新要求の送信):管理用端末200は、秘匿通信路61を経由して、セキュアエレメント50側の秘匿通信路通信処理部52に対して、アクセス権情報DB53に対する更新要求を送信する。更新要求には、例えば、ログインIDに関連付けられている新旧パスワードの情報などが含まれる。
P92(リモートログイン認証処理部51への依頼):秘匿通信路通信処理部52は、更新要求取得部としての機能を有し、取得した更新要求をリモートログイン認証処理部51に送信し、アクセス権情報DB53の更新処理を依頼する。
P93(アクセス権情報DB53の更新):リモートログイン認証処理部51は、更新部としての機能を有し、受信した更新要求に基づき、アクセス権情報DB53を更新する。リモートログイン認証処理部51は、例えば、受信した旧パスワードがログインIDに対応付けられているパスワードと同一であることを確認の上、旧パスワードを新パスワードで更新することができる。
P94(更新結果の返信):リモートログイン認証処理部51は、更新結果を秘匿通信路通信処理部52に返信する。
P95(アクセス権情報DB53の更新要求に対する返信):秘匿通信路通信処理部52取得した更新結果を管理用端末200に返信する。
これにより、リモートアクセスにおけるリモートログイン処理に必要なアクセス権情報を適宜更新することができるので、アクセス権情報の陳腐化を防止するとともに、アクセス権情報が容易に推測されることを防止することができる。
図9は本実施の形態のセキュアエレメント50によるリモートログイン認証の処理手順の一例を示すフローチャートである。セキュアエレメント50は、管理用端末200との間で秘匿通信路61を開設し(S11)、リモートログインの要求があるか否かを判定する(S12)。リモートログインの要求がない場合(S12でNO)、セキュアエレメント50は、ステップS12の処理を続ける。
リモートログインの要求があった場合(S12でYES)、セキュアエレメント50は、認証情報(アクセス権情報)を取得し(S13)、アクセス権情報DB53を参照して、取得した認証情報によるリモートログインの可否を判定する(S14)。
リモートログインが可の場合(S14で許可する)、セキュアエレメント50は、リモートログインが許可された旨を管理用端末200及びデバイス本体10に通知する(S15)。セキュアエレメント50は、管理用端末200によるリモートアクセスを許可する旨をデバイス本体10に通知し(S16)、処理を終了する。
リモートログインが否の場合(S14で許可しない)、セキュアエレメント50は、リモートログインが拒否された旨を管理用端末200に通知し(S17)、処理を終了する。
図10は本実施の形態のデバイス100によるTEE30に対するリモートアクセスの処理手順の一例を示すフローチャートである。セキュアエレメント50は、管理用端末200からのTEE操作要求があるか否かを判定し(S21)、TEE操作要求がない場合(S21でNO)、ステップS21の処理を続ける。
TEE操作要求があった場合(S21でYES)、セキュアエレメント50は、TEE操作要求に対するプロトコル変換が必要であるか否かを判定し(S22)、プロトコル変換が必要である場合(S22でYES)、TEE操作要求のプロトコル変換を行い(S23)、後述のステップS24の処理を行う。
プロトコル変換が必要でない場合(S22でNO)、セキュアエレメント50は、ステップS23の処理を行うことなく、TEE操作要求をデバイス本体10へ送出する。
デバイス本体10は、TEE操作要求を取得し(S101)、TEE操作を実行し(S102)、TEE操作結果をセキュアエレメント50へ送出する(S103)。
セキュアエレメント50は、TEE操作結果を取得し(S25)、TEE操作結果に対するプロトコル変換が必要であるか否かを判定する(S26)。なお、ステップS22でプロトコル変換が必要であると判定された場合、ステップS26でもプロトコル変換が必要であると判定される。
プロトコル変換が必要である場合(S26でYES)、セキュアエレメント50は、TEE操作結果のプロトコル変換を行い(S27)、後述のステップS28の処理を行う。
プロトコル変換が必要でない場合(S26でNO)、セキュアエレメント50は、ステップS27の処理を行うことなく、TEE操作結果を管理用端末200へ送信し(S28)、処理を終了する。
図11は本実施の形態のデバイス100によるREE20に対するリモートアクセスの処理手順の一例を示すフローチャートである。セキュアエレメント50は、管理用端末200からのREE操作要求があるか否かを判定し(S31)、REE操作要求がない場合(S31でNO)、ステップS31の処理を続ける。
REE操作要求があった場合(S31でYES)、セキュアエレメント50は、REE操作要求に対するプロトコル変換が必要であるか否かを判定し(S32)、プロトコル変換が必要である場合(S32でYES)、REE操作要求のプロトコル変換を行い(S33)、後述のステップS34の処理を行う。
プロトコル変換が必要でない場合(S32でNO)、セキュアエレメント50は、ステップS33の処理を行うことなく、REE操作要求をTEE30に経由させるか否かを判定する(S34)。
TEE30を経由させる場合(S34でYES)、セキュアエレメント50は、REE操作要求をREE管理用トラステッドアプリケーション32に送出する(S35)。TEE30を経由させない場合(S34でNO)、セキュアエレメント50は、REE操作要求をREE側リモート管理アプリケーション22に送出する(S36)。
デバイス本体10は、セキュアエレメント50が、REE操作要求をREE管理用トラステッドアプリケーション32に送出した場合、REE管理用トラステッドアプリケーション32からREE側リモート管理アプリケーション22にREE操作要求を配信する(S111)。
デバイス本体10は、REE操作要求をREE側リモート管理アプリケーション22で取得する(S112)。なお、セキュアエレメント50が、REE操作要求をREE側リモート管理アプリケーション22に送出した場合も、ステップS112の処理が行われる。
デバイス本体10は、REE操作を実行し(S113)、REE操作結果をセキュアエレメント50へ送出する(S114)。
セキュアエレメント50は、REE操作結果を取得し(S37)、REE操作結果に対するプロトコル変換が必要であるか否かを判定する(S38)。なお、ステップS32でプロトコル変換が必要であると判定された場合、ステップS38でもプロトコル変換が必要であると判定される。
プロトコル変換が必要である場合(S38でYES)、セキュアエレメント50は、REE操作結果のプロトコル変換を行い(S39)、後述のステップS40の処理を行う。
プロトコル変換が必要でない場合(S38でNO)、セキュアエレメント50は、ステップS39の処理を行うことなく、REE操作結果を管理用端末200へ送信し(S40)、処理を終了する。
図12は本実施の形態のセキュアエレメント50によるリモートアクセス通信のためのセッション鍵生成の処理手順の一例を示すフローチャートである。セキュアエレメント50は、管理用端末200から、デバイス本体10に対するリモートアクセス通信の要求を取得したか否かを判定し(S51)、リモートアクセス通信の要求がない場合(S51でNO)、ステップS51の処理を続ける。
リモートアクセス通信の要求があった場合(S51でYES)、セキュアエレメント50は、管理用端末200とデバイス本体10(TEE30又はREE20)との間の秘匿通信路開設のためのセッション鍵を生成する(S52)。
セキュアエレメント50は、生成したセッション鍵をデバイス本体10(TEE30又はREE20)及び管理用端末200に配信し(S53)、処理を終了する。
図13は本実施の形態のセキュアエレメント50によるアクセス権情報DB53の更新の処理手順の一例を示すフローチャートである。セキュアエレメント50は、管理用端末200から、アクセス権情報DB53の更新要求を取得したか否かを判定し(S61)、更新要求を取得していない場合(S61でNO)、ステップS61の処理を続ける。
更新要求を取得した場合(S61でYES)、セキュアエレメント50は、更新要求に含まれる新旧認証情報(新旧アクセス権情報)を取得し(S62)、取得した旧認証情報がアクセス権情報DB53の認証情報と一致するか否かを判定する(S63)。
認証情報が一致する場合(S63でYES)、セキュアエレメント50は、アクセス権情報DB53の認証情報を取得した新認証情報で更新し(S64)、更新結果を管理用端末200に通知し(S65)、処理を終了する。
認証情報が一致しない場合(S63でNO)、セキュアエレメント50は、認証情報が一致しない旨を管理用端末200に通知し(S66)、処理を終了する。
従来のIoTデバイスでは、膨大な数の製品(デバイス)に対して、アクセス権情報を個々のデバイス毎に異なる値に設定すること(個別化)は、製造工程が増え、製造コストが高くなるため、個々のデバイスに共通(一様)のアクセス権情報を設定せざるを得ない実情がある。一方で、IoTデバイスの購入者(ユーザ)は、必ずしもセキュリティリテラシーが高いとは限らず、アクセス権情報をデバイス購入時のままに放置する傾向がある。このような脆弱性を有する従来のIoTデバイスの場合、攻撃者がIoTデバイスに対する不正アクセスを簡単に行って、例えば、マルウェアの不正導入などを容易に行うことができる可能性がある。
しかし、上述のように、実施の形態では、リモートログインに関する認証情報(アクセス権情報、例えば、ログインID及びパスワード)をセキュアエレメント50内に保持し、またリモートログインの認証処理を、セキュアエレメント50内で実施する。これにより、アクセス権情報の個別化(アクセス権情報を一定の初期値、例えば、工場出荷時に一様に設定される値などに設定するのではなく、デバイス100毎に異なるアクセス権情報を設定すること)をセキュアエレメント50に対してのみ行えばよく、デバイス100(IoTデバイス)のOS全体に対する個別化を実施する必要がなくなる。すなわち、アクセス権情報の個別化作業をデバイス本体10(デバイス100)の製造工程から分離することができ、デバイス100の製造コストを低減することができる。
また、本実施の形態では、リモートログイン処理は、セキュアエレメント50内のアクセス権情報を用い、デバイス側ではなくセキュアエレメント50内で実施する。これにより、セキュアエレメント50の耐タンパ性により、認証処理に対する解析、改ざんを防止することができる。また、アクセス権情報をセキュアエレメント50の外へ出力せずに認証処理を行うことにより、アクセス権情報の漏洩を防止することができる。
また、本実施の形態では、リモートログイン後のリモートアクセス通信を、セキュアエレメント50が開設した秘匿通信路経由でデバイス本体10に転送する。これにより、デバイス100側(デバイス本体10)で秘匿通信路を新たに開設することなく、リモートアクセスを行う通信路をセキュアに提供することができる。
また、本実施の形態では、セキュアエレメント50がプロトコル変換機能を備える。これにより、デバイス100と外部の管理用端末との間で通信プロトコルが相違する場合でも、デバイス100に対する管理を当該管理用端末で行うようにすることができる。
また、本実施の形態では、リモートアクセス通信の通信量がセキュアエレメント50の処理能力を上回る場合、セキュアエレメント50は、管理用端末200とデバイス本体10との間の秘匿通信路開設のための鍵(例えば、一時的なセッション鍵)を生成し、生成した鍵を管理用端末200及びデバイス本体10の双方に提供するので、IoTデバイスに対する従来のリモートアクセス通信に比べて、高いセキュリティを提供し、処理性能を要するリモートアクセス通信にも対応可能となる。
本実施の形態に係るセキュアエレメントは、デバイス本体に対するリモートログインを認証するための認証情報を記憶する記憶部と、秘匿通信路経由で前記デバイス本体に対するリモートログインの要求を取得する取得部と、該取得部でリモートログインの要求を取得した場合、前記記憶部に記憶した認証情報に基づいて、前記リモートログインを許可するか否かを判定する判定部と、該判定部での判定結果を前記デバイス本体に通知する通知部とを備える。
本実施の形態に係るコンピュータプログラムは、コンピュータに、リモートログインを認証させるためのコンピュータプログラムであって、コンピュータに、秘匿通信路経由でデバイス本体に対するリモートログインの要求を取得する処理と、リモートログインの要求を取得した場合、記憶部に記憶した認証情報に基づいて、前記リモートログインを許可するか否かを判定する処理と、判定結果を前記デバイス本体に通知する処理とを実行させる。
本実施の形態に係るデバイスは、本発明の実施の形態に係るセキュアエレメントと、デバイス本体とを備える。
本実施の形態に係るリモートログイン方法は、リモートログイン方法であって、セキュアエレメントは、秘匿通信路経由でデバイス本体に対するリモートログインの要求を取得し、リモートログインの要求を取得した場合、記憶部に記憶した認証情報に基づいて、前記リモートログインを許可するか否かを判定し、判定結果を前記デバイス本体に通知する。
記憶部は、デバイス本体に対するリモートログインを認証するための認証情報を記憶する。認証情報は、例えば、ログインID及びパスワードとすることができる。
取得部は、秘匿通信路経由でデバイス本体に対するリモートログインの要求を取得する。リモートログインの要求は、例えば、外部の管理用端末が送信した要求を取得することができる。リモートログインの要求には、リモートログインの認証のための認証情報(例えば、ログインID及びパスワード)を含めることができる。セキュアエレメントと管理用端末との間は、秘匿通信路が開設されている。秘匿通信路においては、例えば、TLS(Transport Layer Security)などのプロトコルによって通信を行うことができる。これにより、管理用端末からリモートログインの要求を取得する際に、認証情報の改ざんの防止、あるいは取得の妨害を回避することができる。
判定部は、リモートログインの要求を取得した場合、記憶部に記憶した認証情報に基づいて、リモートログインを許可するか否かを判定する。リモートログインを許可するか否かの判定は、例えば、リモートログインの要求に含まれる認証情報と記憶部に記憶した認証情報とが一致するか否かに応じて行うことができる。
通知部は、判定部での判定結果をデバイス本体に通知する。
上述の構成により、リモートログインの認証処理を、セキュアエレメント内の記憶部に記憶した認証情報を用い、且つセキュアエレメント内部で実施するので、リモートログインのセキュリティ上の安全性を高めることができる。また、認証情報をデバイス側(デバイス本体)に記憶するのではなくセキュアエレメント内に保持することにより、デバイス個々の認証情報の個別化をセキュアエレメントに対してのみ行えばよく、デバイス側(デバイス本体)で認証情報の個別化を考慮する必要がなく、デバイス本体の認証情報の個別化に係る製造コストを削減することができる。
本実施の形態に係るセキュアエレメントにおいて、前記通知部は、前記判定部でリモートログインを許可すると判定した場合、前記デバイス本体に対するリモートアクセスが許可されたことを前記デバイス本体に通知する。
通知部は、判定部でリモートログインを許可すると判定した場合、デバイス本体に対するリモートアクセスが許可されたことをデバイス本体に通知する。これにより、リモートログインに続くリモートアクセスを行うことができる。
本実施の形態に係るセキュアエレメントは、前記判定部でリモートログインを許可すると判定した場合、前記秘匿通信路経由でリモートアクセスに係る通信を受信する受信部と、該受信部で受信したリモートアクセスに係る通信を前記デバイス本体へ送出する送出部とを備える。
受信部は、判定部でリモートログインを許可すると判定した場合、秘匿通信路経由でリモートアクセスに係る通信を受信する。例えば、外部の管理用端末が送信したリモートアクセスに係る通信を受信することができる。
送出部は、受信部で受信したリモートアクセスに係る通信をデバイス本体へ送出する。これにより、例えば、管理用端末が送信したリモートアクセスに係る通信をデバイス本体が取得することができ、管理用端末とデバイス本体とがリモートアクセスに係る通信を行うことができる。
本実施の形態に係るセキュアエレメントは、前記秘匿通信路経由で送受信するリモートアクセスに係る通信と、前記デバイス本体との間で授受するリモートアクセスに係る通信との間で通信プロトコルを変換する変換部を備える。
変換部は、秘匿通信路経由で送受信するリモートアクセスに係る通信と、デバイス本体との間で授受するリモートアクセスに係る通信との間で通信プロトコルを変換する。すなわち、変換部は、管理用端末とセキュアエレメントとの間の通信と、セキュアエレメントとデバイス本体との間の通信との間の通信プロトコルを変換する。これにより、デバイス本体が用いる通信プロトコルが、外部の管理用端末が用いる通信プロトコルに対応していない場合でも、セキュアエレメントが通信プロトコルを変換する機能を備えることにより、管理用端末とデバイス本体とがリモートアクセスに係る通信を行うことができる。
本実施の形態に係るセキュアエレメントは、前記デバイス本体の通常実行環境で実行される汎用OS又は汎用アプリケーションとの間でリモートアクセスに係る通信を処理する通信処理部を備える。
通信処理部は、デバイス本体の通常実行環境で実行される汎用OS又は汎用アプリケーションとの間でリモートアクセスに係る通信を処理する。汎用OS又は汎用アプリケーションとの間で行われるリモートアクセスは、例えば、汎用アプリケーションの追加又は削除、汎用OS又は汎用アプリケーションが使用するファイルの追加又は削除、コンフィグレーションの変更などを含む。
本実施の形態に係るセキュアエレメントは、前記デバイス本体の通常実行環境よりも安全なトラステッド実行環境で実行されるトラステッドOS又はトラステッドアプリケーションとの間でリモートアクセスに係る通信を処理する通信処理部を備える。
通信処理部は、デバイス本体の通常実行環境よりも安全なトラステッド実行環境で実行されるトラステッドOS又はトラステッドアプリケーションとの間でリモートアクセスに係る通信を処理する。トラステッドOS又はトラステッドアプリケーションとの間で行われるリモートアクセスは、例えば、トラステッドアプリケーションの追加又は削除、トラステッド実行環境内のメモリに対する鍵の登録、削除又は更新などを含む。
本実施の形態に係るセキュアエレメントは、トラステッドOS又はトラステッドアプリケーションを経由して汎用OS又は汎用アプリケーションとの間でリモートアクセスに係る通信を処理する通信処理部を備える。
通信処理部は、トラステッドOS又はトラステッドアプリケーションを経由して汎用OS又は汎用アプリケーションとの間でリモートアクセスに係る通信を処理する。トラステッドOS又はトラステッドアプリケーションを経由することにより、トラステッド実行環境でのセキュリティ機能を利用することができ、セキュリティ上の安全性をさらに高めることができる。
本実施の形態に係るセキュアエレメントは、前記判定部でリモートログインを許可すると判定した場合、リモートアクセスに係る通信に用いる秘匿通信路を開設するための開設情報を生成する生成部と、該生成部で生成した開設情報を前記デバイス本体及び該デバイス本体の通信先それぞれに通知する開設情報通知部とを備える。
生成部は、判定部でリモートログインを許可すると判定した場合、リモートアクセスに係る通信に用いる秘匿通信路を開設するための開設情報を生成する。開設情報は、例えば、一時的なセッション鍵とすることができる。
開設情報通知部は、生成部で生成した開設情報をデバイス本体及び該デバイス本体の通信先それぞれに通知する。デバイス本体の通知先は、例えば、管理用端末とすることができる。
上述の構成により、デバイス本体と管理用端末との間の秘匿通信路開設時の鍵を一時的なものとすることによって、セキュアアレメントを介さない従来のリモートアクセスよりもセキュリティ上強固なリモートアクセスを実現することができる。また、リモートアクセスに係る通信がセキュアエレメントの処理能力を上回る場合でも、デバイス本体と管理用端末との間の秘匿通信路を利用してリモートアクセスに係る通信を行うことができる。
本実施の形態に係るセキュアエレメントは、前記デバイス本体に対するリモートアクセスに係る通信の全部又は一部を処理する通信処理部を備える。
通信処理部は、デバイス本体に対するリモートアクセスに係る通信の全部又は一部を処理する。すなわち、セキュアエレメントは、デバイス本体に対するリモートアクセスに係る通信の全部を処理してもよく、デバイス本体に対するリモートアクセスに係る通信の一部を処理し、残りの通信をデバイス本体と管理用端末との間の秘匿通信路を用いて行わせるようにしてもよい。これにより、セキュアエレメントの通信処理能力を、デバイス本体に対するリモートアクセス通信の最大量まで高める必要がなくなる。
本実施の形態に係るセキュアエレメントは、前記秘匿通信路経由で認証情報を含む認証情報更新要求を取得する更新要求取得部と、該更新要求取得部で認証情報更新要求を取得した場合、前記記憶部に記憶した認証情報を前記認証情報更新要求に含まれる認証情報で更新する更新部とを備える。
更新要求取得部は、秘匿通信路経由で認証情報を含む認証情報更新要求を取得する。認証情報更新要求は、例えば、外部の管理用端末から取得することができる。
更新部は、更新要求取得部で認証情報更新要求を取得した場合、記憶部に記憶した認証情報を認証情報更新要求に含まれる認証情報で更新する。これにより、認証情報の陳腐化を防止すること、あるいは認証情報が容易に推測されることを防止することができる。