規格が守るUSB PDの安全性 〜偽造品を見逃さない機器間認証(C-AUTH)〜

USB PD 徹底解説:3 of 5

最大100Wもの電力を供給できるUSB PD。ケーブルや機器に不具合が起これば、発熱、発火といった事故も起こりかねません。最近は、正規品をかたった偽造品も市場に出回っており、そのことによる安全性への懸念も生じています。USB PDの規格では、事故の可能性を最大限排除し、安全に使えるような配慮がされています。

起こりうる事故

USBを給電に用いる場合は安全性への配慮が強く求められます。これまでのUSBで見られた事故では、USBケーブルのMicro-Bコネクタを逆さまに差し込もうとして機器のソケットを傷めたため焼損に至る例がありました。USB PDではUSBよりも高電圧、大電流が流れる場合も多いだけに、一層の配慮と対策が必要になります。

何らかの事情で、ケーブル内で異常が起きることも考えられます。例えば、重量物がケーブルに乗ってしまい、内部の被覆が傷つき、導線同士が接触するとしましょう。短絡するかも知れませんし、異常電流によりケーブルの一部で温度が上昇することも考えられます。

故障による異常も想定する必要があります。USB PDでは、5Vから20Vの範囲でソース(給電側)とシンク(受電側)が合意した電圧を用います。しかし、何らかの事情で想定以上の電圧が電源供給ラインであるVBUSに印加されることも考えなければなりません。高電圧が印加されると、最悪の場合は発煙、発火などに至ります。

さらに最近、気をつけなければいけないのが、粗悪品です。安全基準を満たさない粗悪品が出回っています。従来通りの5Vで使用するならばとりあえず動作しても、5V以上の電圧を印加すると問題が表面化することもあります。粗悪品による、機器の損傷や過熱、発火なども報告されています。特に、正規品に見せかけた粗悪品(偽造品)は、一見して区別がつかないために、知らずに使用してしまうことがあり、危険です。

設計者は、単純な故障への対応だけでなく、ソケットやケーブル損傷といった事故の影響、そして混入した偽造品の使用にともなう影響など、USB PDを利用中に起きる様々な危険を考えておかなければなりません。USB PDの規格は、これらの状況を想定した、安全性を高めるための色々な仕組みが規格自体に組み込まれています。つまり、規格に従ってUSB PD機器を設計し、動作が規格を満たせば、高いレベルの安全対策が取れるようになっているのです。

ネゴシエーションにより供給電圧、電流を決定

では、ACアダプタからデバイスへUSB Type-C™ケーブルを使ってUSB PDによる給電を行う例を考えてみましょう。先ほど挙げた問題点で何が起こり、USB PDがどのように対処しているのでしょうか。

まず、ケーブルの「逆差し」によるソケットの損傷ですが、これはUSB Type-C™は上下対称なデザインのため起こりません。USB Type-C™自身が、逆差しに対する安全性を持っているわけで、まさに、規格が作る安全性です。

ケーブルがつながったら、ACアダプタをコンセントに挿し、ソースからシンクへ給電が始まります。ソースとシンクがつながった段階では、VBUSには、まず通常のUSBと同じ5Vが印加されます。そして、機器の役割が認識(ソース・シンクが決定)されます。

図1:USB3.1に対応したUSB Type-C™ケーブル内部には、仕様や製造者情報を電子的に応答するeMarkerを内蔵しています。

図1:USB3.1に対応したUSB Type-C™ケーブル内部には、仕様や製造者情報を電子的に応答するeMarkerを内蔵しています。

前回、PDパワーと電圧、電流の関係を示しました(「②USB PDの技術」の表1)。表には、PDパワーが60W超100W以下の機器から20Vを供給する場合、流せる電流はケーブル仕様で制約されることが「※」により示されています。このケーブル仕様は、eMarkerからの情報で把握するのです。

ここからは、ソースとシンクの間で諸条件を詰める「ネゴシエーション」に入ります。ここで、ソースの供給能力、シンクが要求する電圧・電流が示され、パワールールに従って供給電圧、電流が決まります。ここまではずっと5Vのままで、決定してはじめて、VBUSの電圧は、当初の5Vから変更されます。ネゴシエーションで決まった電圧になり、USB PDとしての給電が始まります。

異常には保護回路で対応

ケーブルがUSB PD対応であり、許容する電圧、電流値に基づきパワールールを用いて、給電のパラメータが決まりました。ソースからシンクに電力供給が始まります。しかし、安心してはいられません。ケーブルやコネクタが損傷して、異常が発生することも考えられます。装置の故障もあり得ます。

USB PDを使用していて起きうる異常は、電圧、電流、温度の3要素に現れる、とみて良いでしょう。過電圧、過電流、過熱状態を検出し、これらが起きたときには動作を停止するなどの対策を取れば、発煙、発火といった故障に至る以前の段階で異常を隔離し、利用者や機器を守ることができるはずです。そこで、USB PDの最新規格では、過電圧保護(OVP)、過電流保護(OCP)、過熱保護(OTP)の3つが導入されました。この3事象を検知したときには、保護機能が働き給電を制限することが明記されています。USB PDを実装する場合、保護を確実に実行することが求められているのです。

本当に認証品か、C-AUTHで確認する

ケーブルも、ACアダプタもUSB-IFの認証に合格したと記されたものを揃えました。認証取得品であれば、ソースとシンクに過電圧保護、過電流保護、過熱保護があります。ケーブルもeMarkerが仕様情報を知らせてくれるから、安心です。

ところが残念ながら、昨今ではそうとも言い切れない残念な情勢です。認証取得を示すマークがあっても、そのマークが本当に信用できるのか、見ただけでは分かりません。eMarkerが返してくるID情報を調べても、他社のID情報をコピーして不正使用する「偽造品」を見分けることはできません。

また、BadUSBと呼ばれる、本来のものとは異なるデバイスに偽装して悪事を働くUSBデバイスも現れました。このような、ユーザを欺く目的で偽情報を流すようなデバイスがつながった場合、これを検出することは従来の技術では不可能でした。

C-AUTHの結果 シンク機器の対応
機器間認証に失敗 5Vにて500mAを上限とする給電を要求する
機器間認証に成功したがホワイトリストに掲載がない 5Vにて500mAを上限とする給電を要求する
機器間認証に成功しホワイトリストに掲載もある 認証済製品として、eMarkerなどの情報を信用する

表1:C-AUTHおよびホワイトリスト検索の結果と、シンク機器の対応例

そこで、データの改ざんや不正使用を防ぐため、USB-IFは「USB Type-C™ Authentication」という、機器間認証の仕組みを用意しました。USB PDにおける機器間認証(C-AUTH)では、インターネットで実績のあるPKI(Public Key Infrastructure:公開鍵基盤)を使用しています。PKI方式の詳しい説明はここでは行いませんが、イニシエータ(例えばPCやタブレットなど)が、レスポンダ(例えばケーブルやACアダプタなど)から証明書チェーンを読み出し、ベリファイすることからC-AUTHがはじまります。またC-AUTHでは、ソースとシンクだけではなく、ケーブルも機器間認証の対象とすることができます。これにより、さらに安全性を高めたシステム構築が可能となります。

コンプライアンス・テストに臨むに際し、各メーカはまずUSB-IFに申請して「XID」を割り当ててもらいます。機器間認証の際に、電子証明書を確認すると、このXIDも読み出されます。なんらかの外部のデータベース(ホワイトリスト)にXIDとそのコンプライアンス・テストのステータスが記載されるインフラを構築することで、イニシエータが機器間認証に成功した後、取得したXIDがホワイトリストに掲載されているかを確認し、掲載があればコンプライアンス・テスト合格を信用するが掲載が無ければ信用しない、といった運用を行うことも可能です。

機器間認証とホワイトリストの2つの関門で、認証を取得した正当な機器であるかをチェックしました。両関門の結果によって、どのような給電を求めるか、シンクとなったデバイスが決定し、ソース(ここでは、ACアダプタ)に要求します。シンクの対応例を表1に挙げました。このような対応は、タブレットやスマートフォンといったシンク機器の設計者が、自らの判断で行えます。

USB PDでは、規格による安全確保とともに、規格認証品であるかを検証する手立ても導入されました。USB PD機器の設計においては、規格を守ることで認証を取得するとともに、取得した認証の正当性を保証するC-AUTHを導入することが重要であるとわかります。
次回は、USB PDを実現するルネサス製品をご紹介しましょう。

USB PD以外の充電方式

USB Type-C™コネクタ・ケーブルでUSB BC、USB Type-C™、またはUSB PD以外の充電方式を使うことはUSB規格としては仕様違反になります。現在、いくつかの携帯電話メーカは標準以外の高速充電方式を採用していますが、これらはUSB Type-C™ではすべて使えないことになります。ただし、VBUS電圧が5Vで電流だけを増やしているものについては、当初のUSB Type-C™規格では許容していたものを最近の仕様変更で禁止にしたため、2019年までの猶予期間が設けられています。一方、USB PD以外の方法でVBUS電圧を5V超に変更するものは規格当初から禁止と明記されています。