JP6612957B2 - バッテリ制御ic、バッテリパック及びその認証方法 - Google Patents

バッテリ制御ic、バッテリパック及びその認証方法 Download PDF

Info

Publication number
JP6612957B2
JP6612957B2 JP2018227792A JP2018227792A JP6612957B2 JP 6612957 B2 JP6612957 B2 JP 6612957B2 JP 2018227792 A JP2018227792 A JP 2018227792A JP 2018227792 A JP2018227792 A JP 2018227792A JP 6612957 B2 JP6612957 B2 JP 6612957B2
Authority
JP
Japan
Prior art keywords
authentication
battery
battery pack
control
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018227792A
Other languages
English (en)
Other versions
JP2019047726A (ja
Inventor
正祥 大川
博政 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2018227792A priority Critical patent/JP6612957B2/ja
Publication of JP2019047726A publication Critical patent/JP2019047726A/ja
Application granted granted Critical
Publication of JP6612957B2 publication Critical patent/JP6612957B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Charge And Discharge Circuits For Batteries Or The Like (AREA)

Description

本発明は、バッテリ制御IC、バッテリパック及びその認証方法に関する。
ノートパソコン又は電動工具等の電子機器の電源として、充電可能な二次電池が使用されている。この二次電池は、電子機器と着脱可能であるバッテリパックに内蔵されていることが多くなっている。例えば、特許文献1には、電池パックを充電する技術が開示されている。また、特許文献2には、スマートバッテリを充電する技術が開示されている。
特許第3833679号公報 米国特許第6975092号明細書
近年、上記のような電子機器の普及に伴って、バッテリパックの非正規品(偽造品)が流通するようになってきている。電子機器に対してこのような非正規のバッテリパックを使用すると、過電流又は過熱が発生し、電子機器の故障が発生するおそれがあった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、バッテリパックの認証方法は、バッテリパックとホストデバイスとの間で、共通鍵方式で第1の認証を行うステップと、前記第1の認証が成立したときに、前記バッテリパックが放電動作を行うことが可能となるように制御するステップとを含む。
なお、上記実施の形態の装置を方法やシステムに置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラム、該装置を備えた撮像装置なども、本発明の態様としては有効である。
前記一実施の形態によれば、非正規のバッテリパックの使用を制限できる。
実施の形態1にかかるバッテリ認証システムを示す図である。 図1に示したバッテリ制御ICの詳細を示す図である。 図1に示したバッテリ認証システムにおけるバッテリパックの認証処理を示すシーケンス図である。 図1に示したバッテリ認証システムにおける第1認証処理及び放電動作を実現する機能ブロック図である。 ホストデバイスとバッテリパックとの間で行われる第1認証処理の詳細を示すシーケンス図である。 図1に示したバッテリ認証システムにおける第2認証処理及び充電動作を実現する機能ブロック図である。 ホストデバイスとバッテリパックとの間で行われる第2認証処理の詳細を示すシーケンス図である。
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
<比較例及びその課題>
本実施の形態の説明に先立って、本実施の形態との比較例について説明する。
非正規のバッテリパックの使用を制限するため、バッテリパックが電子機器に装着されたときに、例えばSHA−1(Secure Hash Algorithm 1)方式を用いた共通鍵方式によってバッテリパックの認証が行われる。そして、認証が成立し、バッテリパックが正規品であることが検証されると、バッテリパックの使用(充放電)が許可される。
認証の方法としては、例えばチャレンジ・レスポンス方式がある。チャレンジ・レスポンス方式では、例えば電子機器に内蔵された内蔵コントローラとバッテリパックに内蔵された制御ICとで、データがやり取りされる。具体的には、電子機器からバッテリパックに対して、ランダムデータ(チャレンジデータ,乱数)が送信される。ランダムデータを受信したバッテリパックは、自身の保有する認証鍵(ここでは共通鍵)を使用して、ランダムデータから署名データ(レスポンスデータ)を生成し、電子機器に送信する。
電子機器は、自身の保有する認証鍵(ここでは共通鍵)を用いて同様の生成処理を行い、生成されたデータと受信した署名データとを比較する。そして、電子機器は、両者が一致したときに、バッテリパックが正規品であると判定される。つまり、このとき認証が成立する。この場合、バッテリパックの使用が許可される。
一方、SHA−1を用いた共通鍵認証方式は、後述する公開鍵認証方式と比較してセキュリティ強度が低く、認証を突破されやすい。したがって、共通鍵認証方式を用いた認証では、非正規品であっても、認証が成立するおそれがある。その場合、非正規品のバッテリパックの使用が許可されてしまう。
これに対し、バッテリが電子機器に装着されたときに、例えばECC(Elliptic Curve Cryptography:楕円曲線暗号)方式を用いた公開鍵認証方式によってバッテリの認証を行う方法がある。公開鍵認証方式は、共通鍵認証方式よりもセキュリティ強度が高いので、認証を突破されることが抑制される。認証の方法としては、例えば上述したようなチャレンジ・レスポンス方式が用いられる。
一方、公開鍵認証方式を用いると、認証に要する時間が長くなるおそれがある。また、コスト削減等のため、電子機器の内蔵コントローラは、価格及び性能の低いローエンドコントローラであることが多い。このようなローエンドコントローラを用いて認証を行うと、さらに認証に要する時間が長くなるおそれがある。このような問題点は、本発明者らによって見出された。
本実施の形態においては、以下で説明するような構成によって、上記の課題を解決することが可能である。つまり、公開鍵方式を用いて認証を行った場合よりも認証時間を短縮することが可能となる。また、共通鍵方式を用いて認証を行った場合よりもセキュリティ強度を向上させることが可能となる。
なお、「ローエンドコントローラ」とは、演算処理性能が低いコントローラのことである。「ローエンドコントローラ」とは、例えば1MIPS(Million Instructions Per Second)/MHz以下程度の処理性能のCPUを搭載したコントローラである。また、例えば、ローエンドコントローラは、8bit又は16bit程度の性能のCPUを搭載している。なお、実際には、周辺機能の有無等でローエンドコントローラの処理性能が異なるため、「1MIPS/MHz」の数値はあくまでも目安である。したがって、この数値を多少上回る場合でもローエンドコントローラである場合があるし、逆に、この数値を多少下回る場合でもローエンドコントローラでない場合がある。
<実施の形態1>
以下、図面を参照しながら本実施の形態について説明する。
(バッテリ認証システム1)
図1は、実施の形態1にかかるバッテリ認証システム1を示す図である。図1に示すように、バッテリ認証システム1は、ホストデバイス10及びバッテリパック20を有する。ホストデバイス10は、例えばノートパソコン等の電子機器である。バッテリパック20は、ホストデバイス10に着脱可能に構成されている。
バッテリパック20がホストデバイス10に装着されると、ホストデバイス10の正端子TMp1とバッテリパック20の正端子TMp2とが接続され、ホストデバイス10の負端子TMn1とバッテリパック20の負端子TMn2とが接続される。また、ホストデバイス10(後述する内蔵コントローラ100)及びバッテリパック20(後述するバッテリ制御IC200)は、バスBUS1を介して互いに通信可能に接続され得る。バスBUS1は、好ましくはSMBus(System Management Bus)である。バッテリパック20がホストデバイス10に装着されると、ホストデバイス10の通信端子TMd1とバッテリパック20の通信端子TMd2とが接続される。
(ホストデバイス10)
ホストデバイス10は、AC電源等の外部電源から電源を供給される。具体的には、電源プラグ14がAC電源のコンセントに接続されると、ACアダプタ12によって、AC電源がDC電源に変換される。このDC電源が、ホストデバイス10に供給される。ホストデバイス10は、外部電源から供給された電源によって、バッテリパック20を充電することが可能である。一方、電源プラグ14がAC電源のコンセントに接続されておらず、ホストデバイス10が外部電源から電源を供給されていない場合には、ホストデバイス10は、バッテリパック20から放電電流を供給されることによって、電源を供給され得る。
(内蔵コントローラ100)
ホストデバイス10は、内蔵コントローラ100を有する。内蔵コントローラ100は、ホストデバイス10の電源の管理及びバッテリパックの認証を行うエンベデッドコントローラ(EC:Embedded Controller)である。内蔵コントローラ100は、マイコン、半導体集積回路又は半導体装置として構成され得る。
内蔵コントローラ100は、CPU102、メモリ104及びバスインタフェース106(バスIF)を有する。CPU102は、メモリ104に格納されたプログラムを実行して、電源の管理及びバッテリパック20の認証のための制御を行う中央演算処理回路である。バスインタフェース106は、好ましくはSMBusインタフェース(IF)であって、内蔵コントローラ100がバスBUS1を介してバッテリパック20(後述するバッテリ制御IC200)と通信を行うために必要な処理を行う。
さらに、後述するように、内蔵コントローラ100は、バッテリパック20が正規品であるか否かを認証するための処理を行う。そして、内蔵コントローラ100は、バスBUS1を介してバッテリパック20(後述するバッテリ制御IC200)と通信を行って、バッテリパック20の認証処理を行う。内蔵コントローラ100は、認証処理を行うための認証用ソフトウェアライブラリを搭載している。ここで、この認証用ソフトウェアライブラリは、共通鍵方式及び公開鍵方式の両方の認証方式に対応している。本実施の形態においては、共通鍵認証方式としてSHA256方式を用い、公開鍵認証方式としてECC方式を用いるが、これらに限られない。
また、内蔵コントローラ100は、補助電源108を有している。ホストデバイス10が外部電源から電源を供給されておらず、さらにバッテリパック20が正規品であるか否かの認証が完了していない段階では、内蔵コントローラ100は、補助電源108から電源を供給されることで、認証処理等の処理を行う。なお、補助電源108は、内蔵コントローラ100に内蔵されているとしているが、内蔵コントローラ100の外側から内蔵コントローラ100に電源を供給するようにしてもよい。
(バッテリパック20)
バッテリパック20は、バッテリ22及び配線基板24を有する。バッテリ22は、充電可能な二次電池等である。配線基板24上には、バッテリ22を制御するバッテリ制御IC200、抵抗素子R1、放電スイッチ26及び充電スイッチ28が搭載されている。本実施の形態においては、バッテリ制御IC200、放電スイッチ26及び充電スイッチ28はそれぞれ異なる半導体チップに形成されている。ただし、必ずしも異なる半導体チップでなくてもよい。
放電スイッチ26は、ダイオードD1及びMOSFET(Metal Oxide Semiconductor Field Effect Transistor:電界効果トランジスタ)等のトランジスタT1を有する。放電スイッチ26は、バッテリ制御IC200の制御によってオン状態又はオフ状態となる。放電スイッチ26がオン状態となると、バッテリ22からの放電電流がホストデバイス10に供給される。このようにして、バッテリ22は放電される。つまり、放電スイッチ26は、バッテリ22の放電をオンオフするための回路である。
充電スイッチ28は、ダイオードD2及びMOSFET等のトランジスタT2を有する。充電スイッチ28は、バッテリ制御IC200の制御によってオン状態又はオフ状態となる。充電スイッチ28がオン状態となると、ホストデバイス10から充電電流がバッテリ22に供給される。このようにして、バッテリ22は充電される。つまり、充電スイッチ28は、バッテリ22の充電をオンオフするための回路である。
(バッテリ制御IC200)
図2は、図1に示したバッテリ制御IC200の詳細を示す図である。説明のため、図2には、バッテリ制御IC200の周囲の構成要素についても示されている。バッテリ制御IC200は、例えば電池監視IC(FGIC:Fuel Gauge Integrated Circuit)である。バッテリ制御IC200は、CPU202、メモリ204、バスインタフェース206(バスIF)、認証回路208、充放電制御回路210、電池電圧検出回路212及び電流積算回路214を有する。
CPU202は、バッテリ制御IC200の内部の他の構成要素の動作を制御する。メモリ204は、例えばフラッシュメモリ等の記憶装置である。メモリ204は、CPU202を動作させるためのプログラムを格納する。さらに、メモリ204は、バッテリ22の状態(例えばバッテリ22の残量、温度等)を示すデータを格納し得る。
CPU202は、メモリ204に格納されたプログラムを実行して、バッテリ22の監視及び制御を行う中央演算処理回路である。さらに、CPU202は、メモリ204に格納されたプログラムを実行して、バッテリパック20の認証を行うための制御を行う。具体的には、後述するように、CPU202は、バッテリパック20の認証を行うために、認証回路208を制御する。また、CPU202は、バッテリ22の機能を有効とする(開放する)ために、充放電制御回路210を制御する。
バスインタフェース206は、好ましくはSMBusインタフェースである。バスインタフェース206は、バッテリ制御IC200がバスBUS1を介してホストデバイス10(内蔵コントローラ100)と通信を行うために必要な処理を行う。
認証回路208は、バッテリパック20が正規品であるか否かを認証するための認証用ハードウェアである。認証回路208は、CPU202の制御によって、ホストデバイス10(内蔵コントローラ100)との間でバッテリパック20の認証のための動作を行う。ここで、認証回路208は、共通鍵方式及び公開鍵方式の両方の認証方式に対応している。本実施の形態においては、上述したように、共通鍵認証方式としてSHA256方式を用い、公開鍵認証方式としてECC方式を用いるが、これらに限られない。つまり、本実施の形態においては、1つの認証回路208が、共通鍵方式及び公開鍵方式の両方の認証方式で、認証に関する処理を行うように構成されている。これにより、共通鍵方式及び公開鍵方式それぞれについて別個の認証回路を設けることが不要となる。したがって、バッテリ制御IC200の省スペース化を図ることが可能となる。
充放電制御回路210は、バッテリ22の充電及び放電を制御する回路である。充放電制御回路210は、放電スイッチ26及び充電スイッチ28を制御するFET制御回路としての機能を有する。充放電制御回路210は、CPU202の制御によって、放電スイッチ26及び充電スイッチ28それぞれをオン状態又はオフ状態にするように制御する。具体的には、充放電制御回路210は、制御信号Sg1を用いて、放電スイッチ26をオン状態又はオフ状態にするように制御する。また、充放電制御回路210は、制御信号Sg2によって、充電スイッチ28をオン状態又はオフ状態にするように制御する。
さらに具体的には、充放電制御回路210は、トランジスタT1(MOSFET等)のゲートに供給される制御信号Sg1を例えばローレベルからハイレベルにすることで、放電スイッチ26をオン状態に制御する。これにより、バッテリ22からの放電電流が、ダイオードD2及びトランジスタT1を介してホストデバイス10に供給され得る。また、充放電制御回路210は、トランジスタT2(MOSFET等)のゲートに供給される制御信号Sg2を例えばローレベルからハイレベルにすることで、充電スイッチ28をオン状態に制御する。これにより、ホストデバイス10からの充電電流が、ダイオードD1及びトランジスタT2を介してバッテリ22に供給され得る。
電池電圧検出回路212は、バッテリ22を構成する電池セルB1〜B4それぞれの電圧を測定する。この電圧測定結果は、デジタル信号に変換されてからCPU202に伝達される。CPU202は、電圧測定結果をメモリ204に記憶する。
電流積算回路214は、抵抗素子R1の両端の電位差を測定することで、バッテリ22の充放電電流値を測定する。この電流測定結果は、デジタル信号に変換されてからCPU202に伝達される。CPU202は、電流測定結果をメモリ204に記憶する。
(バッテリ認証システム1の認証処理)
図3は、図1に示したバッテリ認証システム1におけるバッテリパック20の認証処理を示すシーケンス図である。図3に示すように、実施の形態1においては、まず、第1段階として、ホストデバイス10とバッテリパック20との間で、共通鍵方式で第1認証処理が行われる(ステップS10)。第1認証処理において認証が成立した場合には、バッテリパック20において放電動作が行われる(ステップS12)。
第1認証処理が終わった後、第2段階として、ホストデバイス10とバッテリパック20との間で、公開鍵方式で第2認証処理が行われる(ステップS20)。第2認証処理において認証が成立した場合には、バッテリパック20において充電動作が行われる(ステップS22)。このように、本実施の形態においては、2段階の認証処理が行われる。第1認証処理及び第2認証処理については、以下で詳述する。ここで、公開鍵方式による認証処理は、共通鍵方式による認証処理と比較して時間を要する。言い換えると、S10の処理時間は、S20の処理時間よりも短い。
なお、この第1認証処理においては、ホストデバイス10は外部電源から電源を供給されておらず、ホストデバイス10の電源はオフの状態であるとする。そして、S12の処理によってバッテリパック20が放電動作を行うことで、ホストデバイス10の電源が供給されることとなる。なお、S10の第1認証処理においては、内蔵コントローラ100は、内蔵された補助電源108から電源を供給されることで、第1認証処理を行う。一方、S20の第2認証処理については、内蔵コントローラ100は、補助電源108から電源を供給されることで第2認証処理を行ってもよいし、バッテリパック20から供給された放電電流による電源によって第2認証処理を行ってもよい。
(第1認証処理及び放電動作)
図4は、図1に示したバッテリ認証システム1における第1認証処理及び放電動作を実現する機能ブロック図である。図4には、内蔵コントローラ100及びバッテリ制御IC200それぞれにおける機能ブロックが記載されている。
内蔵コントローラ100において、第1認証プログラム120が実行される。第1認証プログラム120は、CPU102がメモリ104に格納されたプログラムを実行することによって実現され得る。第1認証プログラム120は、ランダムデータ生成部122、共通鍵方式認証部124及び第1認証完了コマンド生成部126を有する。これらの動作については、図5を用いて後述する。内蔵コントローラ100は、第1認証プログラム120によって、共通鍵方式で第1認証処理を行う。
また、バッテリ制御IC200のCPU202によって、放電制御プログラム220が実行される。放電制御プログラム220は、CPU202がメモリ204に格納されたプログラムを実行することによって実現され得る。放電制御プログラム220は、第1認証開始コマンド受信部222、第1認証動作指示部224、署名データ送信部226、第1認証完了コマンド受信部228及び放電動作指示部230を有する。これらの動作については、図5を用いて後述する。CPU202は、放電制御プログラム220によって認証回路208に対して共通鍵方式で第1認証処理を行うように指示する。また、CPU202は、第1認証が完了したときに、充放電制御回路210に対して放電動作を行うように指示する。
ここで、図4に示すように、共通鍵方式で行われる第1認証処理においては、ホストデバイス10(内蔵コントローラ100)及びバッテリパック20(バッテリ制御IC200)は、互いに共通の共通鍵Kcに関する鍵情報を有している。第1認証処理においては、ホストデバイス10及びバッテリパック20(バッテリ制御IC200)は、この共通鍵Kcを用いて第1認証処理を行う。
図5は、ホストデバイス10とバッテリパック20との間で行われる第1認証処理(ステップS10)の詳細を示すシーケンス図である。第1認証処理は、ホストデバイス10において開始される。具体的には、ホストデバイス10は、バッテリパック20がホストデバイス10に装着されたときに、第1認証処理を開始する。
ホストデバイス10のランダムデータ生成部122は、ランダムデータ(乱数、チャレンジコード)mを生成する(ステップS102)。そして、ランダムデータ生成部122は、生成されたランダムデータmを含む第1認証開始コマンドを、バッテリパック20のバッテリ制御IC200に送信する(ステップS104)。バッテリ制御IC200の第1認証開始コマンド受信部222は、この第1認証開始コマンドを受信して、第1認証動作指示部224に出力する。このとき、第1認証動作指示部224は、ランダムデータmを認証回路208に送信して、認証回路208に対して第1認証処理を行うように指示する。
バッテリパック20において、認証回路208は、共通鍵Kcを用いて、ランダムデータmから署名データsを生成する(ステップS106)。この署名データsの生成は、例えばSHA256方式等の共通鍵方式で行われる。つまり、認証回路208は、共通鍵方式で第1認証処理を行うように構成されている。認証回路208は、生成された署名データsを、バッテリ制御IC200の署名データ送信部226に送信する。署名データ送信部226は、認証回路208から取得した署名データsを、ホストデバイス10の内蔵コントローラ100に送信する(ステップS108)。
内蔵コントローラ100の共通鍵方式認証部124は、バッテリパック20から受信した署名データsの検証を行う(ステップS110)。具体的には、共通鍵方式認証部124は、共通鍵Kcを用いて、バッテリパック20から受信した署名データsの検証を行う。さらに具体的には、共通鍵方式認証部124は、ランダムデータ生成部122からS102で生成されたものと同じランダムデータmを取得する。共通鍵方式認証部124は、共通鍵Kcを用いて、ランダムデータ生成部122から取得したランダムデータmから署名データを生成する。そして、共通鍵方式認証部124は、自身が生成した署名データとバッテリパック20からの署名データsとを照合する。そして、共通鍵方式認証部124は、照合の結果、両者が一致する場合、つまりバッテリ制御IC200からの署名データsが正規のものである場合には、第1認証が成立した(認証OK)と判定する。一方、共通鍵方式認証部124は、両者が一致しない場合、つまりバッテリ制御IC200からの署名データsが正規のものでない場合には、第1認証が成立しない(認証NG)と判定する。
第1認証が成立しない(認証NG)と判定された場合(ステップS112の「NG」)、ホストデバイス10は、装着されたバッテリパック20が非正規品である(エラー1)と判定する(ステップS114)。この場合、バッテリパック20の使用が禁止される。したがって、バッテリパック20の放電が禁止される。具体的には、このとき、ホストデバイス10は、バッテリパック20に対して放電を許可することを示すコマンドを何ら送信しない。したがって、バッテリ制御IC200は放電スイッチ26をオン状態に制御しないので、バッテリパック20は放電動作を行わない。したがって、バッテリ22からの放電電流はホストデバイス10に供給されない。
一方、第1認証が成立した(認証OK)と判定された場合(ステップS112の「OK」)、内蔵コントローラ100の第1認証完了コマンド生成部126は、第1認証完了コマンドを生成する(ステップS116)。この第1認証完了コマンドは、バッテリパック20のバッテリ制御IC200に対して、バッテリ22の放電を許可する旨を指示するためのコマンドである。そして、第1認証完了コマンド生成部126は、バッテリパック20のバッテリ制御IC200に対して第1認証完了コマンドを送信する(ステップS118)。
第1認証完了コマンドを受信すると、バッテリパック20は放電動作を行う(ステップS12)。具体的には、第1認証完了コマンド受信部228は、内蔵コントローラ100から第1認証完了コマンドを受信して、放電動作指示部230に出力する。このとき、放電動作指示部230は、充放電制御回路210に対して、放電動作を行うように指示する。充放電制御回路210は、放電動作指示部230(バッテリ制御IC200)から放電動作を行う旨の指示を受け付けると、放電スイッチ26をオン状態にする処理を行う。例えば、充放電制御回路210は、制御信号Sg1をハイレベルにすることで、放電スイッチ26をオン状態にしてもよい。つまり、充放電制御回路210は、第1認証が成立したときに放電動作が可能となるように制御するように構成されている。これによって、バッテリパック20は、放電動作を行う。このバッテリパック20の放電動作によって、ホストデバイス10に放電電流が供給され得ることとなる。これにより、ホストデバイス10の電源をオンすることができる。
(第2認証処理及び充電動作)
図6は、図1に示したバッテリ認証システム1における第2認証処理及び充電動作を実現する機能ブロック図である。図4と同様に、図6には、内蔵コントローラ100及びバッテリ制御IC200それぞれにおける機能ブロックが記載されている。
内蔵コントローラ100において、第2認証プログラム140が実行される。第2認証プログラム140は、CPU102がメモリ104に格納されたプログラムを実行することによって実現され得る。第2認証プログラム140は、ランダムデータ生成部142、公開鍵方式認証部144及び第2認証完了コマンド生成部146を有する。これらの動作については、図7を用いて後述する。内蔵コントローラ100は、第2認証プログラム140によって、公開鍵方式で第2認証処理を行う。
また、バッテリ制御IC200のCPU202によって、充電制御プログラム240が実行される。充電制御プログラム240は、CPU202がメモリ204に格納されたプログラムを実行することによって実現され得る。充電制御プログラム240は、第2認証開始コマンド受信部242、第2認証動作指示部244、署名データ送信部246、第2認証完了コマンド受信部248及び充電動作指示部250を有する。これらの動作については、図7を用いて後述する。CPU202は、充電制御プログラム240によって認証回路208に対して公開鍵方式で第2認証処理を行うように指示する。また、CPU202は、第2認証が完了したときに、充放電制御回路210に対して充電動作を行うように指示する。
ここで、図6に示すように、公開鍵方式で行われる第2認証処理においては、ホストデバイス10(内蔵コントローラ100)及びバッテリパック20(バッテリ制御IC200)は、互いに異なる鍵情報を有している。具体的には、内蔵コントローラ100は公開鍵Kpの鍵情報を有している。一方、バッテリ制御IC200は、公開鍵Kpに対応する秘密鍵Ksの鍵情報を有している。第2認証処理においては、バッテリパック20は秘密鍵Ksを用いて第2認証処理を行い、ホストデバイス10は公開鍵Kpを用いて第2認証処理を行う。
図7は、ホストデバイス10とバッテリパック20との間で行われる第2認証処理(ステップS20)の詳細を示すシーケンス図である。第2認証処理は、第1認証処理が完了した後(つまり第1認証が成立した後)、ホストデバイス10において開始される。なお、第1認証処理と同様の処理については、適宜説明を簡略化する。
ランダムデータ生成部142は、ランダムデータmを生成する(ステップS202)。そして、ランダムデータ生成部142は、生成されたランダムデータmを含む第2認証開始コマンドを、バッテリ制御IC200に送信する(ステップS204)。バッテリ制御IC200の第2認証開始コマンド受信部242は、この第2認証開始コマンドを受信して、第2認証動作指示部244に出力する。このとき、第2認証動作指示部244は、ランダムデータmを認証回路208に送信して、認証回路208に対して第2認証処理を行うように指示する。
認証回路208は、公開鍵方式で署名データを生成する(ステップS206)。具体的には、認証回路208は、秘密鍵Ksを用いて、ランダムデータmから署名データs,eを生成する。この署名データs,eの生成は、例えばECC方式等の公開鍵方式で行われる。つまり、認証回路208は、公開鍵方式で第2認証処理を行うように構成されている。
ここで、SHA256方式における署名データの生成処理とECC方式における署名データ生成処理とで、演算の一部が互いに共通している。したがって、ステップS106の署名データ生成処理を行った認証回路208が、ステップS206における署名データの生成処理も行うことができる。言い換えると、バッテリ制御IC200において、1つの認証回路208が、第1認証及び第2認証の2つの認証処理を行うことができる。これにより、2つの認証処理それぞれについて別個の認証回路を設けることが不要となる。したがって、バッテリ制御IC200の省スペース化を図ることが可能となる。
認証回路208は、生成された署名データs,eを、署名データ送信部246に送信する。署名データ送信部246は、認証回路208から取得した署名データs,eを、内蔵コントローラ100に送信する(ステップS208)。
公開鍵方式認証部144は、バッテリパック20から受信した署名データs,eの検証を行う(ステップS210)。具体的には、公開鍵方式認証部144は、ランダムデータ生成部142からS202で生成されたものと同じランダムデータmを取得する。そして、公開鍵方式認証部144は、公開鍵Kp及びランダムデータ生成部142から取得したランダムデータmを用いて、署名データs,eの検証を行う。公開鍵方式認証部144は、検証の結果、バッテリ制御IC200からの署名データs,eが正規のものである場合には、第2認証が成立した(認証OK)と判定する。一方、公開鍵方式認証部144は、検証の結果、署名データs,eが正規のものでない場合には、第2認証が成立しない(認証NG)と判定する。
第2認証が成立しない(認証NG)と判定された場合(ステップS212の「NG」)、ホストデバイス10は、装着されたバッテリパック20が非正規品である(エラー2)と判定する(ステップS214)。この場合、バッテリパック20の使用については、放電のみが許可されて、充電が禁止される。具体的には、このとき、ホストデバイス10は、バッテリパック20に対して充電を許可することを示すコマンドを何ら送信しない。したがって、バッテリ制御IC200は充電スイッチ28をオン状態に制御しないので、バッテリパック20は充電動作を行わない。したがって、ホストデバイス10からの充電電流はバッテリ22に供給されない。
一方、第2認証が成立した(認証OK)と判定された場合(ステップS212の「OK」)、第2認証完了コマンド生成部146は、第2認証完了コマンドを生成する(ステップS216)。この第2認証完了コマンドは、バッテリ制御IC200に対して、バッテリ22の充電を許可する旨を指示するためのコマンドである。そして、第2認証完了コマンド生成部146は、バッテリ制御IC200に対して第2認証完了コマンドを送信する(ステップS218)。
第2認証完了コマンドを受信すると、バッテリパック20は充電動作を行う(ステップS22)。具体的には、第2認証完了コマンド受信部248は、内蔵コントローラ100から第2認証完了コマンドを受信して、充電動作指示部250に出力する。このとき、充電動作指示部250は、充放電制御回路210に対して、充電動作を行うように指示する。充放電制御回路210は、充電動作指示部250から充電動作を行う旨の指示を受け付けると、充電スイッチ28をオン状態にする処理を行う。例えば、充放電制御回路210は、制御信号Sg2をハイレベルにすることで、充電スイッチ28をオン状態にしてもよい。つまり、充放電制御回路210は、第2認証が成立したときに充電動作が可能となるように制御するように構成されている。これによって、バッテリパック20は、充電動作を行う。このバッテリパック20の充電動作によって、バッテリパック20は、ホストデバイス10から充電電流を供給され得ることとなる。これによって、バッテリパック20のバッテリ22に充電がなされ得る。
なお、実際にホストデバイス10からバッテリパック20に充電電流が供給されるのは、電源プラグ14がAC電源のコンセントに接続され、ホストデバイス10が外部電源から電源の供給を受けているときである。したがって、S22の段階でホストデバイス10が外部電源から電源の供給を受けていない場合は、バッテリパック20は充電電流の供給はされないが充電可能な状態で待機することとなる。そして、ホストデバイス10が外部電源から電源の供給を受けることとなったときに、バッテリパック20は、充電電流を供給される。
<比較例と実施の形態1との対比>
上述した比較例のように公開鍵方式の認証方式のみを用いて認証を行うと、以下の問題が生じるおそれがある。すなわち、ホストデバイスが外部電源から電源を供給されていない場合には、ホストデバイスの電源をオンするためには、バッテリパックから電源の供給を受ける必要がある。しかしながら、公開鍵方式による認証方式では、バッテリパックがホストデバイスに接続されてからホストデバイスがバッテリパックから電源を供給されるまでに、長い時間を要する。特に、内蔵コントローラ100にローエンドコントローラを採用した場合には、約30秒程度という長い時間を要する。
一方、上述したように、本実施の形態においては、共通鍵方式による認証が成立した場合に、バッテリパック20に放電を許可するように構成されている。ここで、共通鍵方式による認証処理の時間は、約0.5秒程度と短い。したがって、本実施の形態においては、比較例と比較して、バッテリパックがホストデバイスに接続されてからホストデバイスがバッテリパックから電源を供給されるまでの時間を短縮することが可能となる。また、内蔵コントローラ100にローエンドコントローラを採用した場合でも時間を短縮することができるので、内蔵コントローラ100にローエンドコントローラを採用することができ、内蔵コントローラ100のコストを削減することが可能となる。
また、比較例で上述したように、共通鍵方式による認証処理によって充電を許可するようにすると、認証時間は短いものの、セキュリティ強度は公開鍵方式と比較して低い。バッテリパックが非正規品である場合、放電については、単に(非正規品の)バッテリパックから放電電流がホストデバイスに供給されるだけであるので、問題はあまりないと考えられる。一方、充電については、非正規品のバッテリパックに充電を行うと、過電流又は過熱が発生し、電子機器の故障が発生するおそれがある。したがって、充電を許可するための認証については、セキュリティ強度を高くすることが好ましい。本実施の形態においては、共通鍵方式よりもセキュリティ強度が高い公開鍵方式を用いた認証が成立した場合に、バッテリパックへの充電を許可するように構成されている。したがって、本実施の形態においては、充電の許可に対してセキュリティ強度を高めることが可能となり、非正規品(偽造品)の防止対策を向上させることが可能となる。
また、本実施の形態においては、第1認証が成立した後で、第2認証処理を行うように構成されている。言い換えると、本実施の形態においては、第2認証処理の前に、第1認証処理を行うように構成されている。外部電源から電源を供給されていないホストデバイス10にとっては、まず電源を供給されること、つまりバッテリパック20から放電電流を供給されることが必要である。言い換えると、バッテリパック20の放電動作の方が、充電動作よりも、優先順位が高い。したがって、本実施の形態においては、優先順位の高い放電機能を素早く利用可能な状態とすることが可能となる。
<変形例>
なお、本実施の形態は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記の実施の形態に係る内蔵コントローラ100及びバッテリ制御IC200等の半導体装置では、半導体基板、半導体層、拡散層(拡散領域)などの導電型(p型もしくはn型)を反転させた構成としてもよい。そのため、n型、及びp型の一方の導電型を第1の導電型とし、他方の導電型を第2の導電型とした場合、第1の導電型をp型、第2の導電型をn型とすることもできるし、反対に第1の導電型をn型、第2の導電型をp型とすることもできる。
また、上述した本実施の形態においては、バッテリパックの認証方法として、第1認証及び第2認証においてチャレンジ・レスポンス方式を用いているが、これに限られない。バッテリパックを認証可能な方法であれば、他の方法でもよい。
また、本実施の形態においては、共通鍵認証方式としてSHA256を用いているが、これに限られない。同様に、本実施の形態においては、公開鍵認証方式としてECCを用いているが、これに限られない。なお、共通鍵認証方式及び公開鍵認証方式とで演算の一部が共通している場合には、1つの認証回路で2つの認証(共通鍵認証方式及び公開鍵認証方式)を行うことが可能となる。このような場合には、共通鍵認証方式及び公開鍵認証方式とで別個に認証回路を設ける場合と比較して、バッテリ制御ICの省スペース化を図ることが可能となる。
さらに、本実施の形態においては、第1認証として共通鍵認証方式を用い、第2認証として公開鍵認証方式を用いているが、これに限られない。第1認証における認証方式は、第2認証における認証方式よりもセキュリティ強度が低くても処理速度が速いものであればよい。逆に言うと、第2認証における認証方式は、第1認証における認証方式よりも処理速度が遅くてもセキュリティ強度が高いものであればよい。
また、ホストデバイス10は、ノートパソコン等の電子機器に限らず、内蔵コントローラ100等のコントローラを内蔵可能な任意の電子機器としてもよい。例えば、ホストデバイス10は、電動ドリル等の電動工具であってもよいし、電動バイクであってもよいし、UPS(Uninterruptible Power Supply;無停電電源装置)であってもよい。
また、上述した実施の形態においては、バッテリ制御IC200においてCPU202が認証回路208及び充放電制御回路210を制御するとしたが、これに限られない。バッテリ制御IC200において、CPU202は必須の構成要素ではない。一方、ホストデバイス10の内蔵コントローラ100は、認証処理をソフトウェアで行うので、バッテリ制御IC200と内蔵コントローラ100とが通信を行う際に、CPU202が各回路を制御した方が、より効率的である。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 バッテリ認証システム
10 ホストデバイス
100 内蔵コントローラ
102 CPU
104 メモリ
106 バスインタフェース(IF)
108 補助電源
120 第1認証プログラム
122 ランダムデータ生成部
124 共通鍵方式認証部
126 第1認証完了コマンド生成部
140 第2認証プログラム
142 ランダムデータ生成部
144 公開鍵方式認証部
146 第2認証完了コマンド生成部
20 バッテリパック
22 バッテリ
26 放電スイッチ
28 充電スイッチ
200 バッテリ制御IC
202 CPU
204 メモリ
206 バスインタフェース(IF)
208 認証回路
210 充放電制御回路
220 放電制御プログラム
222 第1認証開始コマンド受信部
224 第1認証動作指示部
226 署名データ送信部
228 第1認証完了コマンド受信部
230 放電動作指示部
240 充電制御プログラム
242 第2認証開始コマンド受信部
244 第2認証動作指示部
246 署名データ送信部
248 第2認証完了コマンド受信部
250 充電動作指示部

Claims (12)

  1. (a)バッテリパックとホストデバイスとの間で、第1の認証を行うステップと、
    (b)前記第1の認証が成立したときに、前記バッテリパックが放電動作を行うことが可能となるように制御するステップと、
    (c)前記バッテリパックと前記ホストデバイスとの間で、前記第1の認証よりセキュリティ強度が高い第2の認証を行うステップと、
    (d)前記第2の認証が成立したときに、前記バッテリパックが充電動作を行うことが可能となるように制御するステップと
    を含むバッテリパックの認証方法。
  2. 前記第1の認証に要する時間は、前記第2の認証に要する時間よりも短い
    請求項1に記載のバッテリパックの認証方法。
  3. 前記ステップ(c)は、前記第1の認証が成立した後で行われる
    請求項1に記載のバッテリパックの認証方法。
  4. 前記バッテリパックにおける前記第1の認証に関する処理及び前記第2の認証に関する処理は、同じ認証回路によって行われる
    請求項1に記載のバッテリパックの認証方法。
  5. バッテリの放電及び充電を制御する充放電制御回路と、
    ホストデバイスとの間で認証を行うための処理を行う認証回路と
    を有し、
    前記認証回路は、
    第1の認証に関する処理と、前記第1の認証よりセキュリティ強度が高い第2の認証に関する処理とを行うように構成されており、
    前記充放電制御回路は、
    前記第1の認証が成立したときに放電動作が可能となるように制御し、前記第2の認証が成立したときに充電動作が可能となるように制御するように構成されている
    バッテリ制御IC。
  6. 前記第1の認証に要する時間は、前記第2の認証に要する時間よりも短い
    請求項5に記載のバッテリ制御IC。
  7. 前記認証回路は、前記第1の認証が成立した後で、前記第2の認証に関する処理を行うように構成されている
    請求項5に記載のバッテリ制御IC。
  8. 前記認証回路は、前記バッテリ制御ICに1つ設けられており、
    前記1つの認証回路が、前記バッテリ制御ICにおける前記第1の認証に関する処理及び前記第2の認証に関する処理を行う
    請求項5に記載のバッテリ制御IC。
  9. 前記充放電制御回路及び前記認証回路の動作を制御するCPU
    をさらに有する請求項5に記載のバッテリ制御IC。
  10. バッテリと、
    前記バッテリの放電をオンオフするための放電スイッチと、
    前記バッテリの充電をオンオフするための充電スイッチと、
    前記バッテリを制御する制御ICと
    を有し、
    前記制御ICは、
    前記放電スイッチ及び前記充電スイッチを制御する充放電制御回路と、
    ホストデバイスとの間で認証を行うための処理を行う認証回路と
    を有し、
    前記認証回路は、
    第1の認証に関する処理と、前記第1の認証よりセキュリティ強度が高い第2の認証に関する処理とを行うように構成されており、
    前記充放電制御回路は、
    前記第1の認証が成立したときに前記放電スイッチをオン状態に制御し、前記第2の認証が成立したときに前記充電スイッチをオン状態に制御するように構成されている
    バッテリパック。
  11. 前記第1の認証に要する時間は、前記第2の認証に要する時間よりも短い
    請求項10に記載のバッテリパック。
  12. 前記認証回路は、前記第1の認証が成立した後で、前記第2の認証に関する処理を行うように構成されている
    請求項10に記載のバッテリパック。
JP2018227792A 2018-12-05 2018-12-05 バッテリ制御ic、バッテリパック及びその認証方法 Active JP6612957B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018227792A JP6612957B2 (ja) 2018-12-05 2018-12-05 バッテリ制御ic、バッテリパック及びその認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018227792A JP6612957B2 (ja) 2018-12-05 2018-12-05 バッテリ制御ic、バッテリパック及びその認証方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015070690A Division JP6449086B2 (ja) 2015-03-31 2015-03-31 バッテリ制御ic、バッテリパック及びその認証方法

Publications (2)

Publication Number Publication Date
JP2019047726A JP2019047726A (ja) 2019-03-22
JP6612957B2 true JP6612957B2 (ja) 2019-11-27

Family

ID=65816622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018227792A Active JP6612957B2 (ja) 2018-12-05 2018-12-05 バッテリ制御ic、バッテリパック及びその認証方法

Country Status (1)

Country Link
JP (1) JP6612957B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220407319A1 (en) * 2019-09-16 2022-12-22 Techtronic Cordless Gp Smart battery, charger and battery charging system
WO2024096363A1 (ko) * 2022-11-04 2024-05-10 주식회사 엘지에너지솔루션 에너지 저장 시스템 및 그 통신 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4094516B2 (ja) * 2003-09-29 2008-06-04 三菱電機株式会社 充電電力動作機器及び充電器及び充電電源
JP2007195021A (ja) * 2006-01-20 2007-08-02 Nec Electronics Corp 携帯端末装置
JP4784490B2 (ja) * 2006-03-13 2011-10-05 セイコーエプソン株式会社 電子機器、その制御方法及びそのプログラム
JP2009015744A (ja) * 2007-07-09 2009-01-22 Panasonic Corp 認証システム、及び認証装置
JP5309590B2 (ja) * 2008-02-14 2013-10-09 パナソニック株式会社 情報処理装置、および情報処理装置の2次電池パック認証方法
JP2012256975A (ja) * 2011-06-07 2012-12-27 Sanyo Electric Co Ltd 信号授受方法、ビット列の伝送方法及びパック電池
EP2613421B1 (en) * 2012-01-09 2015-03-11 BlackBerry Limited Semiconductor-based device authentication
JP6137631B2 (ja) * 2012-09-18 2017-05-31 Necエナジーデバイス株式会社 2次電池パックおよび認証方法

Also Published As

Publication number Publication date
JP2019047726A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
JP6449086B2 (ja) バッテリ制御ic、バッテリパック及びその認証方法
JP6377865B2 (ja) リング発振器ベースの物理的複製不可関数および年齢検知回路を使用した集積回路識別およびディペンダビリティ検証
KR101377887B1 (ko) 배터리 팩의 난수 발생기
US7498766B2 (en) System and method for authenticating a battery
US9363079B2 (en) Method of generating message authentication code and authentication device and authentication request device using the method
US20070158408A1 (en) Portable storage device with identifying function
JP2009015744A (ja) 認証システム、及び認証装置
JP5309590B2 (ja) 情報処理装置、および情報処理装置の2次電池パック認証方法
EP2823433B1 (en) Accessory device authentication
JP6612957B2 (ja) バッテリ制御ic、バッテリパック及びその認証方法
JP2010104098A (ja) 認証処理装置、受電装置、送電装置、及び電子機器
CN106465044B (zh) 用于无线电力传输的方法、装置和系统
JP2005151368A (ja) 認証システム
US11693947B2 (en) Control unit for a battery system
TWI771736B (zh) 無線功率接收器及其接收功率的方法和無線功率發送器及其發送功率的方法
WO2019205590A1 (zh) 电池认证方法、设备电池、无人机及存储介质
WO2015186999A1 (en) System and method for secured power source

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191031

R150 Certificate of patent or registration of utility model

Ref document number: 6612957

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150