雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
2006.5
本物か偽物か?
認証ICが電池パックを見分ける

電池パックならどれも同じというわけではない。最近のリチウムイオンセルには高電圧での充電が求められているが、認可されていない電池パックを使用すると、爆発を引き起こす可能性もある。最新のセキュリティ方式を採用した電池認証ICを使うことで偽造品を排除することができる。
Advertisement
 携帯電話機やノート型パソコンといった民生機器用の電池パックはどれも同じというわけではない。システム設計者は、充電前の電池パックを認証して、互換性のあるパックのみを再充電システムに接続できるようにしなくてはならない。自分の設計にどの認証手法が適しているのかを判断するには、チップベンダーの認証手法ごとに、コスト、サイズ、セキュリティレベルを評価する必要がある。電池パックの認証が必要な理由は、パックの主要部分であるリチウムイオンセルがどんどん進化して、物理的な寸法は以前と同じであっても充電する電圧や速度が異なり、市場の細分化が進んでいるからだ*1)。誤った電圧で充電したり、速く充電しすぎたりすると、セルが爆発する可能性もある。ベンダーが純正電池パックを付けて製品を出荷しても、顧客が交換品や予備品を買う時に、速くかつ安く入手できる補修部品市場に出回る電池パックを買うことがある。しかし偽造電池パックの使用は非常に危険だ*2)
 2004年、携帯電話機メーカーの京セラと韓国LG社は、過熱と爆発を防止する過充電保護回路のない、自社商標を付けた偽造電池パックの回収を余儀なくされた。このような問題を解決するため、フィンランドのNokia社は自社の純正電池パックにホログラムを付けた。顧客はホログラムにあるコードをオンラインでチェックして、それが本物であるかどうかを確認できる。しかし、このアプローチは、電池パックの品質と真正品かどうかに対するメーカー側の懸念を顧客が理解し、ホログラムラベルが本物であることを顧客自らが確認してくれるという前提に基づいている。

図1 パックが本物であることを確認するため、システム本体が電池パックにチャレンジを発行して正しいレスポンスを受け取ってから充電が開始される (提供:Microchip社)

 もう一歩踏み込んだ検証方法としては、充電システムに認証機能を組み込む方法がある(別掲記事「クラッキングを防ぐ」を参照)。認証方法として最も初歩的なものは、ユーザーの期待どおりに電池が機能するかどうかを検証することである。このような認証では、パックに抵抗を挿入して、電圧が降下することを確認すればよい。次の段階としては、電池ID、製造日、セル電圧などのパラメータを含むパック内のコードを読み取る方法が考えられる。しかし、これらのパラメータは読み取りも複製も簡単にできてしまう。セキュリティレベルが最も高いのは、システムホストと電池パック内の暗号認証ICの間でチャレンジ-レスポンス認証を行う方法である(図1)。システム本体は外部の電池パック充電器である場合もあるが、携帯電話機やノート型パソコンの場合、電池パックは外部の充電器ではなくデバイス内で充電されるのが普通だ。電池パック内の認証ICはシステム本体からの問い合わせに対し、デバイス内のセキュリティアルゴリズムと秘密キーコードを決定するというレスポンスを返す。
 認証ICのセキュリティレベルは、その暗号化アルゴリズムの複雑さによる。認証ICに使用されている3つの主な手法としては、CRC(cyclic redundancy check)、SHA-1(secure hash algo-rithm-1)、そしてベンダー独自のアルゴリズムがある(表1)。

表1 電池認証IC
※クリックすると拡大します。

ハッシングと暗号化

 ハッシングアルゴリズムはシステム入力の署名を算出するもので、厳密に言えば一般に考えられているような暗号化アルゴリズムではない。暗号化アルゴリズムは二方向で、データストリームの無限の暗号化と復号化を可能にするものである。ハッシング機能は一方向だ。署名から入力データを復元することはできない。NIST(米国標準技術局)が策定したSHA-1(「シャーワン」と発音する)ハッシングアルゴリズムは、もっとも普及しているセキュリティアルゴリズムだ。これがNISTの電子署名標準となっている*3)*4)
 新しいICにはこのアルゴリズムが採用されており、企業が電池認証に対しどれほど真剣に取り組んでいるかを表している。以前であれば、企業はこのような機能を持たせることはやり過ぎだと考えていただろう。たとえば、米Maxim社はSHA-1を組み込んだDS 2704を発売しているが、その前のDS 2502にはID情報しかなく、暗号化機能はなかった。DS2704は2502の命令セットと互換性があり、充電量などの電池条件情報を格納するためのEEPROMが追加されている。
 SHA-1の高いセキュリティレベルを確保するにはコストがかかる。アルゴリズムが複雑なため、そのチップに使用するメモリーは今までよりも大きいものでなくてはならない。CRCベースのチップ「bq26150」を生産する米Texas Instruments社でシニアテクニカルスタッフを務めるJon Qian氏は、CRCがコスト効果の高いセキュリティ方式だと主張する。「SHA-1は広く知られていて、銀行などの金融取引にも利用されているが、これほどに複雑なものになるともっと大きなチップが必要で、内部メモリーも増やさなくてはならない。CRCベースの認証方式なら破られにくいのはもちろんのこと、妥当なダイサイズで実装できる」。同氏もSHA-1のセキュリティレベルが高いことは認めている。TI社はSHA-1ベースの「bq26100」チップを2006年第2四半期に発売する予定だ。
 米Intersil社ハンドヘルドパワーグループ副社長のArman Naghavi氏は、必要なセキュリティレベルを決定する際には、民生電子機器の寿命とセキュリティ機能にかかるコストを天秤にかけてみる必要があるという。セキュリティアルゴリズムの頑強性は、コンピュータ処理でそれを破るのにかかる年数で置き換えて計ることができる。Intersil社のISL9206には同社が独自に開発したFlexihash+セキュリティアルゴリズムが使用されている。Naghavi氏は、そのコードを破るには3個のPentium 4プロセッサで10年はかかるだろうと述べている。一般に数年の寿命しかない民生機器において解読するのはまず無理というわけだ。

セキュリティはタダではない

図2 Microchip社の電池認証IC。汎用マイクロコントローラでありながら、PC10Fのサイズと端子数であれば、小さなコードブロックに組み込める暗号化アルゴリズム処理用 ICとして使用できる。端子数は6本(左)から14本(右)。
 民生機器の電池パックはコストがかかる。米Microchip社セキュリティ/マイクロコントローラ/テクノロジ開発部門シニアアプリケーションエンジニアのKen Dietz氏は、電池パックのメーカーはセキュリティレベルを更に上げようとしているが、回路サイズと価格がそれを難しくしていると指摘する。「電池パックのメーカーはこう聞いてくる。使用できるデバイスで一番小さいものは? そのデバイスに合うアルゴリズムは? その設計の実装にかかるコストは?」。Microchip社が独自に開発したKeeLogアルゴリズムは、自動車業界が10年にわたって主要技術として使用している。ハッシングアルゴリズムではない真の暗号化手法であるKeeLogはわずか47コードワードに収まるため、Microchip社が世界最小のマイクロコントローラと主張するPIC 10F(図2)に組み込める。6端子SOT-23パッケージで約49米セント(ロット生産)だ。
 認証ICのどのベンダーも、企業の内部コードの甘いセキュリティが、世界最強のセキュリティアルゴリズムを壊してしまいかねないと語る。Microchip社のある顧客は、厚さ90cmの壁に囲まれた240cm×240cmの金庫に秘密の鍵を保管して、社員2人だけに金庫の鍵をもたせているという。Maxim社の熱・電池マネジメント部門マネージングディレクタ、Gene Armstrong氏は、SHA-1のセキュリティは64ビットの鍵コードを安全な場所に保管しているかどうかにかかっているという。社内の誰かが鍵を盗みだせれば、アルゴリズムを解読する必要もない。同氏はDS2704のセキュリティがいかに自社のサプライチェーンで守られているかを説明する。同社は64ビットキーをプログラムした状態で製品を出荷しているが、その鍵は最終的な秘密キーではない。電池パックのメーカーはこのICをパックに組み込み、その組み込みプロセスの中で、ICにチャレンジを発行してレスポンスを受け取る。組み込みプロセスでの次のステップで、プロセスが“Compute next secret”というコマンドを発行し、それがメーカーでパックに格納する最終キーとなる。
 「秘密を知っている者が誰もいないサプライチェーンは実現できる」と彼はいう。

 
クラッキングを防ぐ

 Maxim社の熱・電池マネジメント部門マネージングディレクタ、Gene Armstrong氏は、電池パックのセキュリティシステムを攻撃するいくつかの方法を挙げている。「1つの方法は、ブルートフォース(総当り攻撃)手法を使うことだ。チャレンジを発行してレスポンスを確認し、その機能を超高速のコンピュータでエミュレートして、チャレンジ/レスポンス対を生成した秘密キーを探すのだ。ブルートフォース手法の問題は、64ビットの秘密キーを探すのに280年はかかるということだ。3GHzのプロセッサならSHA-1のテストを約200nsで実行できる。すべての組み合わせをチェックするのに3.912秒、つまり約12万5000年かかる。1万台の3GHzのエンジンで並列処理しても、この方法で12.5年かけて解読できるという保証はどこにもない」。
 2つ目は製造テストモードを探して利用するサイドチャネル攻撃という方法だ。Amrstrong氏によれば、Maxim社のDS 2704には秘密キーを読み出すテストモードがない。Maxim社ではテスト時にすべてのビットのANDを検査して、さらにそのICの部分が機能することを確認するためにORを検査している。
 3つ目の攻撃方法としては物理的な方法が考えられる。Maxim社は部品の生産にメタル3層プロセスを用いており、最後のメタライズドシリコン層が電子顕微鏡をもってしても読めないようにしている。
▲本文へ戻る

用語解説 / 会社情報
*1)
Conner, Margery,「新材料の開発で進化するリチウムイオン電池」, EDN Japan 2006年3月号 p.48。
▲本文へ戻る
*2)
Israelsohn, Joshua,「保護回路で静電破壊、ノイズに強い製品を作る」, EDN Japan 2005年8月号 p.57。
▲本文へ戻る
*3)
Schneier, Bruce, "SHA-1 Broken," Feb 15, 2005, www.schneier.com/blog/archives/2005/02/sha1_broken.html.
▲本文へ戻る
*4)
Friedl, Steve, "An Illustrated Guide to Cryptographic Hashes," www.unixwiz.net/techtips/iguide-crypto-hashes.html.
▲本文へ戻る

雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報