JPWO2012120671A1 - 共通鍵暗号を用いた認証システム - Google Patents

共通鍵暗号を用いた認証システム Download PDF

Info

Publication number
JPWO2012120671A1
JPWO2012120671A1 JP2013503296A JP2013503296A JPWO2012120671A1 JP WO2012120671 A1 JPWO2012120671 A1 JP WO2012120671A1 JP 2013503296 A JP2013503296 A JP 2013503296A JP 2013503296 A JP2013503296 A JP 2013503296A JP WO2012120671 A1 JPWO2012120671 A1 JP WO2012120671A1
Authority
JP
Japan
Prior art keywords
authentication chip
value
authentication
response
determined
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.)
Granted
Application number
JP2013503296A
Other languages
English (en)
Other versions
JP5621907B2 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012120671A1 publication Critical patent/JPWO2012120671A1/ja
Application granted granted Critical
Publication of JP5621907B2 publication Critical patent/JP5621907B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • A61F13/45Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the shape
    • A61F13/49Absorbent articles specially adapted to be worn around the waist, e.g. diapers
    • A61F13/49001Absorbent articles specially adapted to be worn around the waist, e.g. diapers having preferential bending zones, e.g. fold lines or grooves
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • A61F13/45Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the shape
    • A61F13/49Absorbent articles specially adapted to be worn around the waist, e.g. diapers
    • A61F13/496Absorbent articles specially adapted to be worn around the waist, e.g. diapers in the form of pants or briefs
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F13/00Bandages or dressings; Absorbent pads
    • A61F13/15Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators
    • A61F13/53Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the absorbing medium
    • A61F13/531Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the absorbing medium having a homogeneous composition through the thickness of the pad
    • A61F13/532Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the absorbing medium having a homogeneous composition through the thickness of the pad inhomogeneous in the plane of the pad
    • A61F13/533Absorbent pads, e.g. sanitary towels, swabs or tampons for external or internal application to the body; Supporting or fastening means therefor; Tampon applicators characterised by the absorbing medium having a homogeneous composition through the thickness of the pad inhomogeneous in the plane of the pad having discontinuous areas of compression

Landscapes

  • Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Vascular Medicine (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Absorbent Articles And Supports Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

親機を制御するプロセッサが子機を認証する方法であって、乱数を生成し;前記乱数を前記親機認証チップおよび前記子機認証チップに送信し;前記親機認証チップに記憶された整数および前記乱数に対して暗号化関数を作用させて生成された出力値に、前記親機認証チップに設定された値で決まる第1の変換関数を作用させて得られる第1のレスポンス値を前記親機認証チップから受信し;前記子機認証チップに記憶された前記整数および前記乱数に対して暗号化関数を作用させて生成された前記出力値に、前記子機認証チップに設定された値で決まる第2の変換関数を作用させて得られる第2のレスポンス値を前記子機認証チップから受信し;前記第1のレスポンス値に、前記親機認証チップに設定された値と前記子機認証チップに設定された値の大きさの差の数で決まる第3の変換関数を作用させて得られる値と前記第2のレスポンス値を比較して前記子機を認証する方法。

Description

本発明は、共通鍵暗号による電子デバイスの認証装置および方法に関し、特に共通鍵暗号機能を備えた組み込み機器の偽造防止を行うための認証システム技術に関するものである。
プリンタカートリッジや医療機器の分野で、正規品と偽造品を区別するために、認証機能を持つ組み込み機器を用いることで、粗悪な偽造品により発生する被害から顧客を守ることができる。すなわち、認証機能を持つ組み込み機器の偽造品を防ぐことが、製品を利用する顧客の利益を守ることに直結するため、認証機能を持つ組み込み機器の偽造防止は、産業上の非常に重要な課題である。
認証においては、暗号方式がコア機能として使用される。暗号方式は、公開鍵暗号方式と共通鍵暗号方式に大別される。公開鍵暗号方式とは、暗号化と復号で異なる鍵を用いる方式であり、暗号化を行うための鍵(公開鍵)を一般に公開する代わりに、暗号文を復号するための鍵(秘密鍵)を受信者のみの秘密情報とすることで安全性を保つ方式である。これに対し、共通鍵暗号方式と呼ばれるものは、暗号化と復号で同一の鍵(秘密鍵)を用いる方式であり、この秘密鍵を送信者と受信者以外の第三者にわからない情報とすることで安全性を保つ方式である。いずれの暗号方式を用いた場合でも、秘密鍵が外部に漏洩しないことがセキュリティ上の大きな前提となる。この前提が守られる限りは、公開鍵暗号、共通鍵暗号のいずれを用いた認証も安全となるが、共通鍵暗号の方が公開鍵暗号より回路規模が小さく、低コスト化には適しているため、特に組み込み機器においては共通鍵暗号を用いた認証が広く普及している。
セキュリティ機能を備えた組み込み機器に求められる性質として、耐タンパ性と呼ばれるものがある。耐タンパとは、覗き見防止の意味であり、組み込み機器の内部に格納されている秘密鍵等の重要情報を、外部から不正に漏洩させるのが困難な性質をさす。耐タンパ性を実現するためには、組み込み機器が備える正規の入出力端子からのアクセスによる情報漏洩防止はもちろんのこと、マイクロプローブを用いて内部回路を直接覗き込む非正規アクセスに対する情報漏洩防止も実現しなければならない。通常のICチップのハードウェア構成では、マイクロプローブを用いて内部回路を直接覗き込む攻撃に耐えることはできない。よって、耐タンパ性を実現するには、外部からの物理的・論理的な不正アクセスを防ぐための専用のハードウェア構成をもったICチップとして製造する必要がある。
安全な認証を実現するための一般的な方法としては、耐タンパ性をもつ認証機器に対して、機器製造時に認証に用いる秘密鍵を内部に書き込み、製造後は鍵を外部に取り出さない方法が用いられる。こうすることで、不正な第三者が秘密鍵を入手し、認証機器の偽造を防止することができる。耐タンパ性をもつ認証機器に対して、秘密鍵を書き込み、鍵を外部に取り出すことがない状態で、認証機器間で認証プロトコルを実行することで、安全な認証を実現し、粗悪な偽造品により発生する被害から顧客を守ることができると考えられている。
共通鍵暗号を用いた認証において、秘密鍵が外部に漏洩しない、生産コストを削減する、通信トポロジをなるべく簡素にするという3つの制約下での安全な認証を実現するのは困難であり、これらの制約下でも偽造品をふせぐ安全でコンパクトな認証プロトコルおよびシステムが望まれている。
親機認証チップを含む親機を制御するプロセッサが子機認証チップを含む子機を認証する方法は:乱数を生成することと;前記乱数を前記親機認証チップおよび前記子機認証チップに送信することと;前記親機認証チップに秘密鍵として記憶された整数および前記乱数に対して暗号化をするための暗号化関数を作用させて生成された出力値に、前記親機認証チップに設定された値で決まる第1の変換関数を作用させて得られる第1のレスポンス値を前記親機認証チップから受信することと;前記子機認証チップに秘密鍵として記憶された前記整数および前記乱数に対して暗号化をするための暗号化関数を作用させて生成された前記出力値に、前記子機認証チップに設定された値で決まる第2の変換関数を作用させて得られる第2のレスポンス値を前記子機認証チップから受信することと;前記第1のレスポンス値に、前記親機認証チップに設定された値と前記子機認証チップに設定された値の大きさの差の数で決まる第3の変換関数を作用させて得られる値と前記第2のレスポンス値を比較して、または前記第2のレスポンス値に前記第3の変換関数を作用させて得られる値と前記第1のレスポンス値を比較して、前記子機を認証すること、を含む。
また、本発明に従う認証システムは:乱数を生成する乱数生成手段と、前記乱数を前記親機認証チップおよび前記子機認証チップに送信する乱数送信手段と、前記親機認証チップおよび前記子機認証チップから、前記乱数に対する応答として第1のレスポンス値および第2のレスポンス値を受信するレスポンス値受信手段と、前記第1のレスポンス値および前記第2のレスポンス値を用いて、前記子機を認証する子機認証手段を含むプロセッサと;前記乱数を受信する第1の乱数受信手段と、秘密鍵としての整数を記憶する第1の記憶手段と、前記乱数および前記整数に暗号化のための暗号化関数を作用させて出力値を生成する第1の暗号演算手段と、前記出力値に、第1の設定された値で決まる第1の変換関数を作用させて前記第1のレスポンス値を生成する第1のレスポンス値生成手段と、を含み、前記プロセッサに接続されている親機認証チップと;前記乱数を受信する第2の乱数受信手段と、秘密鍵としての整数を記憶する第2の記憶手段と、前記乱数および前記整数に暗号化のための暗号化関数を作用させて出力値を生成する第2の暗号演算手段と、前記出力値に、第2の設定された値で決まる第2の変換関数を作用させて前記第2のレスポンス値を生成する第2のレスポンス値生成手段と、を含み、少なくとも前記プロセッサに接続されている子機認証チップと、を含み、前記プロセッサの前記子機認証手段は、前記第1のレスポンス値に、前記第1の設定された値と前記第2の設定された値の大きさの差の絶対値で決まる第3の変換関数を作用させて得られる数と前記第2のレスポンス値を比較して、または前記第2のレスポンス値に前記第3の変換関数を作用させて得られる数と前記第1のレスポンス値を比較して、前記子機を認証すること、を特徴とする。
また、本発明に従う認証チップは:整数である秘密鍵を記憶するメモリと;整数を受信する受信手段と;前記整数および前記秘密鍵に暗号化のための暗号化関数を作用させて生成された出力値に、変換関数を作用させて得られるレスポンス値を生成するレスポンス値生成手段と;前記レスポンス値を送信する送信手段、を含む。
親機と子機に同一の値をチャレンジとして送信しても、レスポンスとして返ってくる値が異なるので、安全性が高く、安価に製造可能で、外部装置との通信機能が簡素な認証システムを得ることが出来る。
チャレンジアンドレスポンス認証プロトコルの概要である。 共通鍵暗号を用いたチャレンジアンドレスポンス認証のプロトコルである。 認証システムにおける、親機・子機側の実装形態の種類を示す図である。 形態3をベースとした、通信トポロジの形態の種類を示す図である。 形態3とトポロジ3の組み合わせ例(I2Cバス)を示す図である。 チャレンジアンドレスポンスプロトコルを示す図である。 盗聴を利用した攻撃法を示す図である。 改ざんを利用した攻撃法を示す図である。 本発明の第1の実施形態に従うシステムを示す図である。 本発明の第2の実施形態に従うシステムを示す図である。 本発明の第2の実施形態に従うシステムのCPUで実行される処理のフローチャートを示す図である。 本発明の第2の実施形態に従うシステムの認証チップで実行される処理のフローチャートを示す図である。 本発明の第3の実施形態に従うシステムを示す図である。 本発明の第3の実施形態に従うシステムのCPUで実行される処理のフローチャートを示す図である。 本発明の第3の実施形態に従うシステムの認証チップで実行される処理のフローチャートを示す図である。 本発明の第4の実施形態に従うシステムを示す図である。 本発明の第4の実施形態に従うシステムで、認証チップ0をCPUに装着する際にCPUで実行される処理のフローチャートを示す図である。 本発明の第4の実施形態に従うシステムで、認証チップ0をCPUに装着する際に認証チップ0で実行される処理のフローチャートを示す図である。 本発明の第4の実施形態に従うシステムで、認証チップiを含むi番目の子機を認証する際に、CPUで実行される処理のフローチャートを示す図である。 本発明の第4の実施形態に従うシステムで、認証チップiを含むi番目の子機を認証する際に、認証チップiで実行される処理のフローチャートを示す図である。 本発明の第5の実施形態に従うシステムを示す図である。 本発明の第5の実施形態に従うシステムのCPUで実行される処理のフローチャートを示す図である。 本発明の第5の実施形態に従うシステムの認証チップ0で実行される処理のフローチャートを示す図である。 本発明の第6の実施形態に従うシステムを示す図である。 本発明の第6の実施形態に従うシステムのCPUで実行される処理のフローチャートを示す図である。 本発明の第6の実施形態に従うシステムの認証チップ0で実行される処理のフローチャートを示す図である。 本発明の第7の実施形態に従うシステムを示す図である。 本発明の第7の実施形態に従うシステムで、認証チップ0をCPUに装着する際にCPUで実行される処理のフローチャートを示す図である。 本発明の第7の実施形態に従うシステムで、認証チップ0をCPUに装着する際に認証チップ0で実行される処理のフローチャートを示す図である。 本発明の第7の実施形態に従うシステムで、認証チップiを含むi番目の子機を認証する際に、CPUで実行される処理のフローチャートを示す図である。 本発明の第7の実施形態に従うシステムで、認証チップiを含むi番目の子機を認証する際に、認証チップiで実行される処理のフローチャートを示す図である。
以下で図面を参照しながら、本発明に従う共通鍵を用いた認証システムを説明する。最初に比較例を説明するが、その後、本発明の第1から第7の実施形態を、比較例に対する利点を含めて説明する。尚、以下の説明において、複数の図面にわたり類似の構成要素または類似の機能を有する構成要素には、類似の参照符号を付して初出時以外、詳細な説明を省略する。
(比較例)
共通鍵暗号を用いて第一の装置が第二の装置を認証するシステムについて説明する。実施の形態における説明では、認証を行う側である第一の装置を「親機」、認証される側である第二の装置を「子機」と適宜称して説明する。親機はCPU100と親機認証チップ200を含み、子機は認証チップ300を含むシステムについて、秘密鍵が外部に漏洩しない、生産コストを削減する、通信トポロジをなるべく簡素にするという3つの制約の下で考えられるシステムについて説明する。
認証チップにおいては、機器の正当性を確認するために、チャレンジアンドレスポンス認証プロトコルと呼ばれる通信プロトコルが利用されている。図1はチャレンジアンドレスポンス認証プロトコルの概要である。チャレンジアンドレスポンス認証とは、デジタル情報を用いた合言葉であり、認証を行う側(親機)から認証される側(子機)に対し、「チャンレジ」と呼ばれる乱数を送信する。これに対し、子機側では「チャンレンジ」に対して「レスポンス」と呼ばれる応答を生成し、親機に返信する。親機は、「チャレンジ」に対する「レスポンス」の値を判断し、もし正しいならば、子機が正当な機器であると判断する。
「チャレンジ」として乱数を用いることで、対応する「レスポンス」が毎回変化する。これにより、再送攻撃に対する防止措置が実現される。再送攻撃とは、過去に外部から観察された応答を繰り返すことで、正当な機器の成りすましを行う攻撃である。つまり、乱数を用いない場合、チャンレジとレスポンスのペアが完全に固定値になるため、攻撃者がこのペアを観察することで、チャレンジに対応する適切なレスポンスを知ることができ、このレスポンスを返すチップを製造することでチップ偽造が容易となるからである。例えるならば、「山」に対する「川」という合言葉しか用いないシステムであることを、悪意のある第三者が知ることができれば、常に「川」と応答することで成りすましが可能となる。
「チャレンジ」に対する「レスポンス」の生成は、暗号関数を用いた方法が一般的である。どの暗号関数を用いるかによってメリットとデメリットがあるが、認証チップの場合、回路規模の小ささを優先できるメリットがある共通鍵暗号を用いる方法が広く用いられている。
図2は、共通鍵暗号を用いたチャレンジアンドレスポンス認証のプロトコルである。
図2に示すプロトコルでは、親機と子機の認証チップ間で、秘密鍵Kを事前共有している。これは、チップの製造時に秘密鍵Kの値を書き込むことで実現できる。この値が外部に漏洩しないことがセキュリティ上の重要な前提である。S100で、認証を行う側の親機は、乱数Cを生成し、認証される側の子機に送信する。この乱数Cは、「チャレンジ」と呼ばれる。S110で、子機は、受け取ったチャレンジCに対し、秘密鍵Kによる暗号化処理を実行し出力値R=Enc(C、K)を得る。そして、出力値Rを「レスポンスR」として、親機に返信する。ただし、b=Enc(a、K)とは、共通鍵暗号を用いて、平文aを鍵Kにより暗号化した結果が暗号文bであることを表す。S120では、子機からのレスポンスRを受け取った親機は、子機と同様に、秘密鍵Kによる暗号化処理を実行し出力値R=Enc(C、K)を得て、レスポンスの正解値R=Rを得る。子機からのレスポンスRが正解値R=Rと一致するならば、親機は子機を正当な機器と認定する。チャレンジCに対応した正当なレスポンスRを生成できるのは、秘密鍵Kを有する場合に限られるので、親機は子機の正当性を確認することができる。
たとえば、図2に示されているような、チャレンジアンドレスポンスプロトコル自体は、理論上は安全な認証プロトコルである。しかし、現実世界の認証には制約があるため、安全にならない可能性が残される。特に、以下の3つの制約下での安全な認証を実現するのは困難であり、これらの制約下でも偽造品をふせぐことができる安全な認証プロトコル(システム)の実現が望まれている。
制約1:秘密鍵が外部に漏洩しないこと
制約2:生産コストの制約
制約3:通信トポロジの制約
制約1の秘密鍵が外部に漏洩しないことは、耐タンパ性を有する認証チップを用いることで実現可能である。制約2の生産コストの制約については、認証チップの親機・子機側を同一のハードウェア構成とすることで、認証チップの生産コストを低く抑えることができる。制約3の通信トポロジの制約は、低コスト向けの機器では、通信形態(トポロジ)をなるべく簡素なものとする必要があることに由来する。本発明に従うシステムでは、制約1、2、3の下でも、認証機器を偽造不可能な認証プロトコル(システム)を実現することができる。特に、制約1は、一般的に知られている耐タンパ技術を用いることで解決可能である。しかし制約2および3の下では、従来技術を用いただけでは安全な認証を実現することはできない。
制約2により認証チップの実装形態が決定し、制約3によって通信トポロジが決定する。これらの決定された組み合わせが、認証の安全性を脅かす要因となることがある。最初に、図3を参照しながら、制約2により決定される認証チップの実装形態について説明する。
認証システムにおける、親機、子機側の実装形態の種類を図3に示す。認証システムの基本要件は以下の通りである。
−親機と子機から構成される。
−親機と子機それぞれに、認証チップまたはCPUが装着される。ただし、親機側には全体の機能管理を行うためのコントローラとしてのCPUが必ず装着される。
−親機と子機に装着された認証チップもしくはCPUが通信を行い、認証プロコトルを実行することで、子機が正規品であるかどうかを親機側が判定する。
−子機が正規品であると親機側が判定した場合、親機側のCPUが子機のリソースを親機のために利用することを許可する。例としては、プリンタカートリッジの場合、親機のプリンタが子機のインク使用を許可すること、医療機器の場合、親機の機器が子機のオプション機器使用を許可することを含む。このように、チャレンジアンドレスポンスプロトコルでは、不正を防ぐためには、鍵の値が外部に漏れないことが前提であり、固定鍵による暗号化、復号処理は、サイドチャンネル攻撃で狙われる可能性がある。
このシステムの実装形態として、図3に示されるように、以下の形態1〜3が考えられる。
形態1:親機側をCPU100、子機側を認証チップ300により実装する。
形態2:親機側を、認証チップ内蔵型のCPU100’、子機側を認証チップ300により実装する。
形態3:親機側をCPU100と認証チップ200の組み合わせ、子機側を認証チップ300により実装する。
形態1では、親機はCPU100を含み、子機は認証チップ300を含む。子機に含まれる認証チップ300は、通信制御部301、暗号回路302および秘密鍵を記憶するメモリ303を含む。通信制御部301はプロセッサ外部との通信を処理し、プロセッサとして実装されても良い。暗号回路302は入力(たとえばチャレンジ)に対して、暗号化関数を作用させて、レスポンス(応答)として出力値を生成するもので、専用の回路であっても、汎用コンピュータとして実装されても良い。秘密鍵は暗号回路302から読み出され、メモリ303に記憶され得るが、メモリ303は不揮発性であることが好ましい。認証プロトコルとして共通鍵暗号を用いた場合、親機のCPU100に秘密鍵を書き込む必要がある。この秘密鍵の値は、すべての親機、子機を通じて製品に共通の鍵であるため、耐タンパ性がないCPU100から秘密鍵が漏洩する可能性が高く、偽造が容易となる。すなわち、制約1が満たされない。
形態2では、親機は認証チップ200’を含む認証チップ内蔵型CPU100’を含む。認証チップ200’は、CPUに内蔵されている点で、以下で述べる認証チップ200と異なるが構成は同一である。すなわち、認証チップ200’は、認証チップ300の通信制御部301、暗号回路302および秘密鍵を記憶するメモリ303と同一である通信制御部201、暗号回路202および秘密鍵を記憶するメモリ203を含む。子機は形態1と同様である。本形態では、耐タンパ機能を備えた認証チップ200’をCPU100’に内蔵することで、CPUからの秘密鍵漏洩リスクが消えるため、制約1を満たす。しかし、親機側が認証チップ内蔵型のCPU100’、子機側が通常の認証チップ300であるため、制約2が満たされない。
形態3では、親機はCPU100および認証チップ200を含み、子機は認証チップ300を含む。本実施形態では、親機、子機ともに耐タンパ機能を備えた認証チップ200、300を用いるため、制約1を満たす。さらに、親機、子機共に、同一の認証チップを用いるため、制約2を満たす。
そこで、形態3をベースとした、通信トポロジの形態の種類を図4に示す。
トポロジ1のブリッジ型は、親機側の認証チップから、親機CPUと子機認証チップそれぞれに対し別々に通信線を結ぶ形式である。親機認証チップに2つの通信ポートが必要とされる(同じハードウェア構成である子機認証チップにも2つの通信ポートが必要)ため、低コストに向かない。すなわち、制約3が満たされない。
トポロジ2のハブ型は、親機に含まれるCPU100から、親機の認証チップ200と子機の認証チップ300それぞれに対し別々に通信線を結ぶ形式である。CPUに2つの通信ポートが必要とされるため、低コストに向かない。すなわち、制約3が満たされない。
トポロジ3のシリアルバス型は、親機に含まれるCPU100、親機の認証チップ200および子機の認証チップ300の全てを、共有する通信線でバス状に接続する形式である。親機のCPU100、親機の認証チップ200、および子機の認証チップ300の全ての通信ポートが1つで良いため、低コストに向く。すなわち、制約3を満たす。
すなわち、形態3をベースにシリアルバス型の接続を行うのが、上記制約1、2、3を満たすための好適な形態である。
しかし、これらの制約を満たしても、以下のようなセキュリティ上の問題が発生することがある。
図5は、形態3とトポロジ3の組み合わせ例を示す図である。シリアルバスI/Fとしては、多様な種類が知られているが、図5ではI2Cバス400によって、CPU101、親機の認証チップ200、および子機の認証チップ300がバス接続されている。I2Cバス400は、データ線420とクロック線440の2線により、全ての機器が接続されている。I2Cバス400は、2線の通信線1本のみを用いて複数の機器を接続可能、というメリットがある反面、全機器が一本の線でつながっているため、データの盗聴や改ざんが容易という問題があることが知られている。
図6〜8を用いてセキュリティ上の問題について説明する。
I2Cバス上のデータの盗聴や改ざんが容易である、という性質を利用すると、図5に示した通信トポロジ上で、図2に示したチャレンジアンドレスポンスプロトコルをそのまま実行すると、図6に示されるような状態となる。
図6では、CPU100が親機の認証チップ200および子機の認証チップ300それぞれにバス400を介してチャレンジCを送信し、子機の認証チップ300からのレスポンスRQと、親機の認証チップ200からのレスポンスRを比較し、RとRが一致したならば、CPU100は子機の認証チップ300を含む子機が正規品であると判断する。CPU100がチャレンジCを送信する順序を、子機の認証チップ300を含む子機から開始するか、親機の認証チップ200を含む親機から開始するかに応じて、2通りの方法が存在する。
親機に先にチャレンジCを送信する場合、CPU100は、バス400を介して、親機の認証チップ200にチャレンジCを出力する。親機の認証チップ200は、通信制御部201、暗号回路202、鍵203を含み、CPU100から出力されたチャレンジCは、通信制御部201で受信される。その後、チャレンジCは、暗号回路202に入力され、暗号回路202では、鍵203を用いて、レスポンスRを得る。このレスポンスRはバス400を介して、CPU100に送られる。次に、CPU100は、バス400を介して、子機の認証チップ300にチャレンジCを出力する。チャレンジCは、子機の認証チップ300の通信制御部301で受信され、その後、子機の認証チップ300の暗号回路302に入力される。暗号回路302では、チャレンジ及び鍵303と暗号化関数を用いて、レスポンスRを得る。このレスポンスRは、バス400を介して、CPU100に送られる。親機からのレスポンスRと、子機からのレスポンスRを受け取ったCPU100は、両者を比較し、一致すれば子機は正規品と判定する。
子機に先にチャレンジCを送信する場合は、CPUはまず、子機の認証チップ300にチャレンジCを出力し、子機の認証チップ300からレスポンスRを得たのち、親機の認証チップ200にチャレンジCを出力し、親機の認証チップ200からレスポンスRを得る。その後、両者を比較し、一致すれば子機は正規品と判定する。
子機が正規品である限りは、子機の認証チップ300を含む子機から認証を開始しても、親機の認証チップ200を含む親機から認証を開始しても問題はない。
しかし、発明者独自の分析により、図6のプロトコルの安全性評価を行った結果、上の2通りの方法に対して異なる攻撃法1、2で、I2Cバス400上の通信データの盗聴・改ざんを利用することで、秘密鍵を知らなくとも偽造品の製造が可能であることが判明した。以下に、図7、8を参照しながら、攻撃法1、2を説明する。
(攻撃法1)
図7は、図6のプロトコルに対して、I2Cバス400上の盗聴を用いた場合の攻撃法である(以下、攻撃法1と呼ぶ)。攻撃対象は、親機の認証チップ200を含む親機、子機の認証チップ300を含む子機の順にレスポンスを生成する場合のプロトコルである。子機の認証チップ300が正規品の場合、CPU100は親機、子機からのレスポンスR、Rをこの順番で受信し、正規品の判定を行う。これに対し、偽造品である子機の認証チップは、次のように振舞う。偽造認証チップ300’は、I2Cバス400を通じて、親機がCPU100に返信するレスポンスRを観察し、偽造認証チップ300’の(図示されていない)内部レジスタに格納する。次に、CPUから子機へのチャレンジCが送信されるので、これに対して盗聴により観察されたRをそのまま子機のレスポンスRとして返す。こうすることで、CPUは同一のレスポンスを受け取るため、RとRが一致し、CPU100は偽造認証チップを正規品と判定してしまう。このように攻撃法1では、偽造認証チップは、I2Cバス上のデータを単純に盗聴すればよいため、秘密鍵の値を知らなくとも攻撃が成功する。
(攻撃法2)
図8は、図6のプロトコルに対して、改ざんを用いた場合の攻撃法である(以下、攻撃法2と呼ぶ)。攻撃対象は、子機、親機の順にレスポンスを生成する場合のプロトコルである。子機の認証チップ300が正規品の場合、CPU100は子機、親機からのレスポンスR、Rをこの順番で受信し、正規品の判定を行う。これに対し、偽造品である子機の認証チップ300’は、次のように振舞う。偽造認証チップ300’は、適当な値Xを生成し、CPU100からのチャレンジCに対するレスポンスRとして返信する。このXはどんな値でも良い。次に、認証チップ300’を含む子機はI2Cバス400上のデータを盗聴し、CPU100から親機の認証チップ200を含む親機へのチャレンジCが入力されたならば、先ほど生成した値Xを親機認証チップ200の代わりに返信する(成りすまし)。この成りすましは、偽造認証チップ側の通信処理タイミングが非常にシビアであるが、原理的には可能である。このタイミング制御のシビアさを攻撃者が回避する手法としては、CPU100と親機の認証チップ200の間の通信線400を切断する方法が挙げられる。親機側の回路の物理改変が必要となるが、この攻撃法2を用いることで、子機によるなり済ましを容易にすることができ、偽造品を正規品と誤認させることができる。
上述のように、比較例では、親機からのレスポンスRと子機からのレスポンスRが同じであるかどうかで認証の成否を判断しており、盗聴をする攻撃法1、成りすましをする攻撃法2等を用いることによって、認証の安全性が脅かされるおそれがある。
以下では、上記制約1、2、3を満たす形態3をベースにシリアルバス型の接続を行ったシステムであって、認証の安全性が改善されたシステムについて説明する。
(第1実施形態)
図9を参照して、本発明の第1実施形態に従う共通鍵暗号を用いた認証システムを説明する。本実施形態は本発明の基本的実施形態でもある。本実施形態では、制約1、2、3を満たす図6のプロトコルは、上記攻撃法1、攻撃法2に脆弱である、という問題に対し、攻撃法1、2に対しても安全な認証を実現するコンパクトなシステムを実現することができる。
本発明の第1実施形態に従うシステムを図9に示す。上記比較例では、親機認証チップ、子機認証チップともに、同一のレスポンスを返信していたため、盗聴や成りすましによる攻撃が容易であった。これに対し、本実施形態では、チャレンジに対してレスポンスを生成するレスポンス生成部を認証チップ内で複数準備し、いずれのレスポンス生成部を用いるかを、親機および子機に含まれる認証チップ内部の不揮発性メモリに格納されている情報に基づいて選択することを特徴とする。この情報は、同一ハードウェア構成を持つ親機および子機の認証チップが、自分自身が親機側か、子機側の認証チップであるかを識別するために用いられる情報であり、一般的にはI2Cバスのアドレス情報であって良い。すなわち、I2Cアドレスにより、認証チップが親機であるか、子機であるかが決定される。このアドレス情報が子機側であった場合、子機は通常のレスポンス(出力値と呼ぶ)R=Enc(C、K)を返信する。これに対し、アドレス情報が親機側であった場合、親機側は通常のレスポンス、すなわち出力値を関数Fで変形させたレスポンスR=F(Enc(C、K))を生成する。ただし、関数Fは外部に対して非公開の関数である。これらのレスポンスR、Rを受け取ったCPUはRから計算されたF(R)がRに等しいか判定を行い、もし等しいならば子機が正規品であると判断する。正規品によるレスポンスならば、F(R)=F(Enc(C、K))=Rであり等しい値となる。外部非公開の関数Fによりレスポンスが変形されているため、攻撃1、攻撃2に示したような方法を用いて、親機および子機のレスポンス値RおよびRが同一とするような、CPUに対して偽装する攻撃は通用しないため、安全な認証を実現することができる。
図9に示されているように、本実施形態に従うシステムは、親機によって子機を認証するシステムであって、親機に含まれるCPU100および親機の認証チップ200、子機に含まれる子機の認証チップ300、ならびにCPU100、親機の認証チップ200および子機の認証チップ300を接続するバス400を含んでいる。CPU100、親機の認証チップ200および子機の認証チップ300はバス400を介してシリアルバス接続されている。バスインターフェイス(I/F)としては、I2Cバスを例示することができる。
CPU100は、乱数であるチャレンジCを生成し、親機の認証チップ200および子機の認証チップ300に出力する。乱数は整数であることが望ましい。また、CPU100は、親機からのレスポンスRと子機からのレスポンスRを受ける。そして、CPU100は、子機からのレスポンスRに関数Fを作用させたF(R)とレスポンスRを比較して、子機の認証を行う。すなわち、CPU100は、親機からのレスポンスRと子機からのレスポンスRの差を補償する関数Fを記憶している。本実施形態では、親機の認証チップ200でレスポンスRに作用される関数Fと、CPUで子機からのレスポンスRに作用される関数Fは同一の関数である。
乱数はCPU100に含まれる乱数生成手段で生成されても良い。乱数は整数であることが好ましい。チャレンジCの外部への出力(送信)は乱数送信手段によって行われても良い。レスポンスを受けること(受信)は、レスポンス値受信手段によって行われても良い。さらにCPU100は、親機からのレスポンスRと子機からのレスポンスRを比較し、子機が正規品かどうか判定する子機認証手段を含む。
親機の認証チップ200および子機の認証チップ300は、上記制約2の観点からは同一の構造を有することが好ましい。認証チップ200、300はそれぞれ、第1のレスポンス生成部220a、320a、第2のレスポンス生成部220b、320b、レスポンス選択部230、アドレス情報保持部240、340を含む。
第1のレスポンス生成部220a、320aは、暗号化関数を記憶し、従来のようにCPU100からの入力(チャレンジC)および鍵に暗号化関数を作用させてレスポンスとして出力値Rを生成する。暗号化関数は公知のもので良い。この第1のレスポンス生成部は、暗号演算手段とも呼ばれる。第2のレスポンス生成部220b、320bは、関数Fを記憶しており、CPU100からの入力(チャレンジC)および鍵に暗号化関数を作用させて得られた出力値Rに、さらに関数Fを作用させて、出力値Rとは異なる数F(R)を生成する。この第2のレスポンス生成部は、第1のレスポンス値生成手段とも呼ばれる。アドレス情報保持部240、340は個々の認証チップに固有のアドレスを記憶する不揮発性メモリであっても良い。親機の認証チップ200および子機の認証チップ300は、上記の構成要素のほかに、たとえばCPU100などの外部装置からの信号を受信したり、外部装置に信号を送信したりする(図示されていない)通信手段を含む。通信手段の例には、図10に示されているデータ入出力インターフェイス(I/F)260、360が含まれる。データ入出力インターフェイス(I/F)は、プロセッサ100で生成された乱数を受信する受信手段、またはレスポンス生成部で生成されたレスポンスをプロセッサ100に送信する送信手段として機能する。
本実施形態では、鍵は共通鍵(秘密鍵とも呼ばれる)である。つまり、第1のレスポンス生成部220a、320aでは共通鍵暗号のアルゴリズムが実行される。レスポンス選択部230、330では、アドレス情報保持部240、340に記憶されたシリアルバスのアドレス値に応じてレスポンス生成部を選択する。第1のレスポンス生成手段と第2のレスポンス生成手段とでレスポンス値生成手段が形成される。
上記では、子機の認証チップ300は、CPU100から入力されるチャレンジCに対して、通常のレスポンスR=Enc(C、K)を返すものとした。しかし、子機の認証チップ300も、Enc(C、K)にある関数Hを作用させたH(Enc(C、K))を返しても良い。この場合でも、CPU100が、親機からのレスポンスRと子機からのレスポンスRの差を補償する関数を記憶していれば、上記の認証方法は機能する。レスポンスRとRの差を補償する関数は、親機の認証チップ200のメモリ240に記憶されているアドレス情報と子機の認証チップ300のメモリ340に記憶されているアドレス情報から一意に決まることが好ましい。メモリ240、340はアドレス記憶手段を構成する。
親機の認証チップ200および子機の認証チップ300は同一の構成であるが、親機の認証チップ200として用いられるものでは、第2のレスポンス生成部220bが、子機の認証チップ300として用いられるものでは、第1のレスポンス生成部320aが機能するように、出荷時に設定されてもよい。このように出荷時に設定されることによって、認証チップとしては同一のものを大量生産することができること、出荷時に設定するので高い安全性を確保できること、などの利点を得ることができる。
このような構成を採用することによって、認証システム10は、仮にバス400がI2Cバスであっても、親機の認証チップ200からのレスポンスと子機の認証チップ300からのレスポンスが異なるため、認証の安全性を高めることができる。
また、本実施形態では、親機の認証チップ200および子機の認証チップ300は同一の構成を有している。また、CPU100、親機の認証チップ200および子機の認証チップ300はI2Cバス接続されている。このような構成を採用することによって、各認証チップ200、300が外部との通信のために備える通信ポートは1つでよく、認証チップは、製造コストを抑えつつも、小型に製造することができる。
また、各認証チップにおいて、変換関数は外部に対して非公開、即ち不揮発性メモリに記憶されている。従って、高い安全性を得ることができる。
(第2実施形態)
図10から12を参照しながら、本発明の第2実施形態を説明する。
本実施形態に従うシステム10では、親機に対して、最大n個の子機が接続されている。親機はCPU100と認証チップ(認証チップ0)200を備え、最大n個の子機はそれぞれ1個ずつの認証チップ(認証チップ1〜n)300_1、...300_nを備える。nは任意の自然数であり、用途によっては子機側に複数の認証チップが接続される場合がある。例えば、インクカートリッジを4色用いる場合、子機はそれぞれの色に対して1個ずつの認証チップを有し、計4個の認証チップを備えることになる。それぞれの認証チップ300_1、...300_nは、同一ハードウェア構成を持ち、各チップ内部の不揮発性メモリ326にはシリアルバスのアドレス値が書かれている。このアドレス値は、シリアルバス上の通信エンティティを区別するために用いられる値であり、CPU100、認証チップ300_1、...300_nに対してユニークな値が与えられる。このアドレスのユニーク性は、図13のシリアルバス400に接続されている通信エンティティ間で保たれればよく、流通している全ての認証チップ固体間で異なる値である必要はない。
親機のCPU100は、i番目の子機が正規品であるかの確認を行うために、認証チップ0および認証チップiそれぞれに対してチャレンジCを送信し、認証チップiからのレスポンスRと、認証チップ0からのレスポンスRの比較を行う。それぞれの認証チップは、n+1個のデータ変換手段を備える。それぞれの認証チップは、受信したチャレンジCからメモリ226に格納されている秘密鍵を用いてレスポンスRを生成するレスポンス生成回路224と、変換0〜nの実行を行う演算部220a〜n、変換関数のパラメータとしてのアドレス情報を記憶するメモリ240およびメモリ240に記憶されたアドレス情報を元に演算部220a〜nから一つを選択するセレクタ223を含む。演算部220a〜nはそれぞれ、変換0〜nの変換関数を記憶している。
i番目の認証チップが選択するデータ変換手段への入力をX、出力をYとすると、XとYの関係の例として、関数Fを用いてY=Fti(X)を例示することができる。ただし、Y=F(X)は、Xを関数Fに対してz回連続適用した結果である。例えばF(X)=X+1の場合、F(10)=F(10)=10+1=11、F(10)=F(F(10))=12、F(10)=14、F(10)=10、である。tはメモリ240に記憶されているアドレス情報から決まる定数であり、i番目の認証チップが用いる変換手段に対応する関数Fの繰り返し適用回数を表す。関数F(X)は外部に対して非公開の関数である1入力1出力関数ならばどのような関数でもよいが、ハードウェア実装を考慮すると、なるべく回路規模が小さいものであることが良く、例えば、以下の処理が望ましい。
(1)フィードバックシフトレジスタ(LFSR)によるシフト処理を定数ビット分繰り返す
(2)左1ビットのシフト後、2個の要素を有する拡大ガロア体上GF(2)上の特性多項式の剰余演算処理を定数ビット分繰り返す(mod)
(3)ハッシュ(Hash)関数
上記(1)の例としては、
F(X)=LFSR(X、128)、
ただしLFSR(X、1)は、XをLFSR(線形フィードバックシフトレジスタ)処理により1ビットだけシフトした値、が含まれる。
上記(2)の例としては、
F(X)=X64 mod q(X)、
ただしq(X)は128ビット既約多項式、modは剰余、を表す。
上記(3)の例としては、
F(X)=SHA1(X)の最下位128ビット、
ただしSHA1(X)はXのSHA−1ハッシュ関数出力、である。
もちろん、(1)〜(3)の具体例は、上記関数に限定されない。
変換手段の差異は、同一関数を繰り返す回数のみに関する差異であるため、認証チップでは関数Fを処理する回路のみ実装すればよく、n+1個の変換手段それぞれに対して異なる回路を実装する必要は無いため、製造コストを低く抑えることができる。
認証チップ0と認証チップiからの応答RとRを受け取った親機CPU100は、これらのレスポンス比較を以下により行う。
>tの場合:Fti−t0(R)=Rなら正規品、そうでなければ偽造品と判定され、t<tの場合:R=Ft0−ti(R)なら正規品、そうでなければ偽造品と判定される。
上記の比較が正しい理由は、正規品の場合、R=Ft0(R)、R=Fti(R)であり、もしt>tならば、Fti−t0(R)=Fti−t0(Ft0(R))=Fti(R)がRと一致するからであり、もしt<tならば、Ft0−ti(R)=Ft0−ti(Fti(R))=Ft0(R)がRと一致するからである。
図10は本発明の第2の実施形態に従うシステム10を示す図である。本システム10は、図9に示されたシステムと同様、親機に含まれるCPU100および親機の認証チップ200、子機に含まれる子機の認証チップ300_1、...、300_n、ならびにCPU100、親機の認証チップ200および子機の認証チップ300を接続するバス400を含んでいる。CPU100、親機の認証チップ200および子機の認証チップ300はバス400を介してI2Cバスシリアルバス接続されている。
親機に含まれる0番目の認証チップ200(以下、認証チップ0としても参照する)は、バス400を介してCPU100からの信号を受信したり、CPU100に信号を送信したりするデータ入出力インターフェイス(I/F)260、データ入出力I/F260で受信したチャレンジCに暗号化関数を作用させて、レスポンスとしての出力値Rを生成するレスポンス生成回路224、レスポンス生成回路224で生成された出力値Rに変換0〜nを作用させる演算部222a〜n、変換関数のパラメータとしてのアドレス情報を記憶するメモリ240およびメモリ240に記憶されたアドレス情報を元に演算部222a〜nから一つを選択するセレクタ223を含む。セレクタ223はレスポンス選択部に相当する。レスポンス生成回路224には秘密鍵が記憶されているメモリ226が含まれている。図9のシステムは、本システムで子機の数が1つの場合であり、図9の第1のレスポンス生成部220aは、レスポンス生成回路224、変換0を行う演算部222a、およびセレクタ223に相当する。演算部220a〜n、セレクタ223、レスポンス生成回路224、アドレス情報を記憶するメモリ240からレスポンス値生成手段が形成される。
子機の認証チップ300_1、...、300_nも親機の認証チップ200と同様の構成をしている。すなわち、バス400を介してCPU100からの信号を受信したり、CPU100に信号を送信したりするデータ入出力インターフェイス(I/F)360、データ入出力I/F360で受信したチャレンジCに暗号化関数を作用させて、レスポンスとしての出力値Rを生成するレスポンス生成回路324、レスポンスRを生成するレスポンス生成回路324で生成されたレスポンスに変換0〜nを作用させる演算部322a〜n、変換関数のパラメータとしてのアドレス情報を記憶するメモリ340およびメモリ340に記憶されたアドレス情報を元に演算部322a〜nから一つを選択するセレクタ223を含む。レスポンス生成回路324には秘密鍵が記憶されているメモリ326が含まれている。図9の第2のレスポンス生成部320bは、レスポンス生成回路324、変換1を実行する演算部322b、およびセレクタ323に相当する。演算部320a〜nはそれぞれ、変換0〜nの変換関数Fを記憶している。演算部320a〜n、セレクタ323、レスポンス生成回路324、アドレス情報を記憶するメモリ340からレスポンス値生成手段が形成される。
セレクタ223、323は、それぞれメモリ240、340に記憶されたシリアルバスのアドレス値に応じて変換関数を選択するレスポンス選択部としても機能する。
バス400は本実施形態ではI2Cバスである。I2Cバスを用いることによって、CPUと認証チップの接続は簡素なものとすることができ、システム全体のコストを抑えることができる。
図11は、本発明の第2の実施形態に従うシステム10のCPU100で実行される処理のフローチャートを示す図であり、図12は本発明の第2の実施形態に従うシステムの認証チップで実行される処理のフローチャートを示す図である。
CPU100は、S1101で認証対象の子機番号iを決定し、S1102に進む。S1102では、チャレンジCとして用いるために乱数を生成する。S1102の次のS1103では、S1102で生成されたチャレンジCをS1101で決定されたi番目の子機の認証チップ300_iに送信する。
i番目の子機の認証チップ300_iでは、S1151で親機のCPU100によって送信されたチャレンジCを受信する。次に、S1152では、認証チップ300_iのレスポンス生成回路324中の秘密鍵記憶部326に記憶されている秘密鍵KとチャレンジCを用いて、レスポンスとしての出力値R=Enc(C、K)を生成する。次のS1153では、内部不揮発性メモリ340に記憶されたアドレス情報を元に、変換の繰り返し回数tを決定する。繰り返し回数tは、たとえば、アドレスに現れる数を順に並べて作られる整数であっても良い。S1153に引き続くS1154からS1157では、レスポンスRにt回関数Fを作用させる。より詳細には、S1154で整数であるダミー変数jに0を代入する。S1155でダミー変数の値を1つ増加させ、S1156でjとtを比較する。S1156でjがtより小さければS1157で現在のレスポンス値に関数Fを作用させ、レスポンス値を更新して、S1154に戻る。S1156でjがtより大きければ現在のレスポンスRの値をCPU100に送信して、i番目の子機の認証チップ300_iの処理を終了する。
CPU100は、S1104でi番目の子機の認証チップ300_iからのレスポンスRの値をレスポンスRとして受信する。次に、S1105でチャレンジCを今度は、親機の認証チップ200に送信する。
親機の認証チップ200では、先のi番目の子機の認証チップ300_iと同じ処理を行うが、i番目の子機の認証チップ300_iの場合とは、関数Fを作用させる回数がtであり、tとは異なる。
CPU100は、S1106で親機の認証チップ200からのレスポンスRの値をレスポンスRとして受信する。次に、S1107でtとtを比較し、tがtより大きければS1108に進み、そうでなければS1109に進む。S1108では、Rに関数Fを、t−t回作用させた値とRが等しいかどうかを判定する。もし等しければi番目の子機を正規品と判定してCPU100の処理を終了する。そうでなければ、i番目の子機を正規品ではないと判定する。S1109では、Rに関数Fを、t−t回作用させた値とRが等しいかどうかを判定してCPU100の処理を終了する。もし等しければi番目の子機を正規品と判定してCPU100の処理を終了する。そうでなければ、i番目の子機を正規品ではないと判定してCPU100の処理を終了する。
このような構成を採用することによって、本実施形態のシステム10では、レスポンスR、Rが異なるため、攻撃法1、攻撃法2に示したような、盗聴及び改ざんによる攻撃を防ぐことができる。
(第3実施形態)
図13〜15を参照して本実施形態に従う認証システム20を説明する。図13は、本実施形態のシステム20を示す図、図14は、本実施形態に従うシステムのCPU1100で実行される処理のフローチャートを示す図であり、図15は本実施形態に従うシステム20の認証チップ1200、1300_iで実行される処理のフローチャートを示す図である。
実施形態2に従うシステム10では、関数Fは非公開関数であっても、ハードウェア上で効率よい処理ができるFの種類は非常に限定的であるため、データ盗聴の結果から正しいFの内容が特定される可能性はなくはない。関数Fの内容が攻撃者に特定されたならば、攻撃1、攻撃2と同様の考え方に基づきつつ、関数Fにより変形されたレスポンスを返すように変更した攻撃法を用いることで、秘密鍵の値を知らなくとも偽造品を製造することが可能となる。本実施形態では、通信データの盗聴から変換手段を特定することがより困難なシステム20が提供される。
本実施形態に従う子機認証システム20は、基本的には、第2実施形態のシステム10と同じであるが、事前共有された定数S(共有値S)が書き込まれている不揮発性メモリ1280、1380を認証チップ1300_1〜1300_n(認証チップ1〜認証チップn)が含んでいる。この定数Sは、CPU1100および認証チップ1200、1300_1〜1300_nの製造時に書き込まれる値である。i番目の認証チップが選択するデータ変換手段への入力をX、出力をYとすると、XとYの関係は、関数FS,Cを用いてY=FS,C ti(X)と表すことができる。ただし、FS,C(X)は定数S、チャレンジCをパラメータとした1入力1出力関数を表し、例えば、以下のような演算が挙げられる。
(4)パラメータ付XOR加算
(5)パラメータ付剰余演算
(6)パラメータハッシュ演算
(7)パラメータ付LFSR−XOR減算
上記(4)の例としては
Figure 2012120671
が含まれる。
上記(5)の例としては、||をビット結合、q(X)を128ビット既約多項式、modを剰余として、
S,C(X)=(S||C ||X) mod q(X)、
が含まれる。
上記(6)の例としては、
Figure 2012120671
の最下位128ビット、が含まれる。
上記(7)の例としては、
Figure 2012120671
が含まれる。
(4)〜(7)の具体例は、上記関数に限定されない。
変換手段がチャレンジCと、外部から観察できない定数Sの影響を受けるため、変換のバリエーションが大きく増える。これにより、前述の通信データ盗聴を用いた変換手段の解読が攻撃者にとって困難となる。例えば、Sを128ビットパラメータとすることで、攻撃者の総当り総数は2128となり、現実時間内では解読不可能となる。すなわち、本実施形態のシステム20を用いることで、通信データ盗聴による変換手段の解読を用いた攻撃を回避することができる。また、本実施形態に従うシステム20では、攻撃者がCPU1100に対して高度なリバースエンジアリングを行い、関数Fの処理内容を解読した場合にも安全性を確保することができる。
本実施形態のシステム20のCPU1100は、共有値を記憶するメモリ1140を含んでいる点を除けば、前実施形態のCPU100と同一である。
親機の認証チップ1200は、実施形態2の親機の認証チップ200と類似の構成を有しているが、共有値Sを記憶するメモリ1280を含む点が異なっている。
子機の認証チップ1300_1、...、1300_nは、実施形態2の子機の認証チップ認証チップ300と類似の構成を有するが、共有値Sを記憶するメモリ1380を含む点が異なっている。また、子機の認証チップ1300_1、...、1300_nは、親機の認証チップ1200と同じ構成を有する。
図14は、本発明の第3実施形態に従うシステムのCPU1100で実行される処理のフローチャートを示す図であり、図15は本発明の第3の実施形態に従うシステムの認証チップで実行される処理のフローチャートを示す図である。
CPU1100は、S1301で認証対象の子機番号iを決定し、S1302に進む。S1302では、チャレンジCとして用いるために乱数を生成する。S1302の次のS1303では、S1302で生成されたチャレンジCをS1301で決定されたi番目の子機の認証チップ1300_iに送信する。
i番目の子機の認証チップ1300_iでは、S1351で親機のCPU1100によって送信されたチャレンジCを受信する。次に、S1352では、認証チップ1300_iのレスポンス生成回路324中の秘密鍵記憶部326に記憶されている秘密鍵KとチャレンジCを用いて、レスポンスとしての出力値R=Enc(C、K)を生成する。次のS1353では、内部不揮発性メモリ340に記憶されたアドレス情報を元に、変換の繰り返し回数tを決定する。実施形態2と同様、繰り返し回数tは、たとえば、アドレスに現れる数を順に並べて得られる整数であっても良い。S1353に引き続くS1354からS1357では、出力値Rにt回関数FS、Cを作用させる。関数FS、Cは、共有値SおよびチャレンジCによって決まる。より詳細には、S1354で整数であるダミー変数jに0を代入する。S1355でダミー変数の値を1つ増加させ、S1356でjとtを比較する。S1356でjがtより小さければS1357で現在のレスポンス値に関数FS、Cを作用させ、レスポンス値を更新して、S1354に戻る。S1356でjがtより大きければ現在のレスポンスRの値をCPU1100に送信して、i番目の子機の認証チップ1300_iの処理を終了する。
CPU1100は、S1304でi番目の子機の認証チップ1300_iからのレスポンスRの値をレスポンスRとして受信する。次に、S1305でチャレンジCを今度は、親機の認証チップ1200に送信する。
親機の認証チップ1200では、先のi番目の子機の認証チップ1300_iと同じ処理を行うが、i番目の子機の認証チップ1300_iの場合とは、関数FS、Cを作用させる回数がtであり、tとは異なる。
CPU1100は、S1306で親機の認証チップ1200からレスポンスRの値をレスポンスRとして受信する。次に、S1307でtとtを比較し、tがtより大きければS1308に進み、そうでなければS1309に進む。S1308では、Rに関数FS、Cを、t−t回作用させた値とRが等しいかどうかを判定する。もし等しければ認証チップ1300_iを含むi番目の子機を正規品と判定する。そうでなければ、i番目の子機を正規品ではないと判定する。S1309では、Rに関数FS、Cを、t−t回作用させた値とRが等しいかどうかを判定してCPU100の処理を終了する。もし等しければ認証チップ1300_iを含むi番目の子機を正規品と判定してCPU100の処理を終了する。そうでなければ、i番目の子機を正規品ではないと判定してCPU100の処理を終了する。
前述のように、上記第2実施形態に従うシステム10では、関数Fのおよその内容を攻撃者が推定しながら、シリアルバス上のデータ盗聴を用いることで、変換手段0〜変換手段nの内容を完全に特定する攻撃に弱い可能性があった。関数Fは、ハードウェア実装において効率的な処理である必要があるため、LFSR、加算、XOR、剰余演算、ハッシュ関数などその手段は限られる。よって、攻撃者は、Fはこれらのいずれであるか、組み合わせであるかを推定しながら、その推定が実際に正しいかを、シリアルバス上のデータ盗聴を用いて判定することができる。例えば認証チップ0、認証チップ1の2つを用いて、かつt=0、t=1にセットした場合、R=R、R=F(R)となる。このR、Rは、攻撃者にも容易に観察可能な値である。このとき、攻撃者はFの演算内容の推定を行い、その推定が実際に正しいかを、R=F(R)が成立するかどうか盗聴されたR、Rから判定することで確認することが出来てしまうおそれがあった。しかし、本実施形態に従うシステム20では、変換手段がチャレンジCと、外部から観察できない定数Sの影響を受けるため、変換のバリエーションを大きく増やすことができる。これにより、前述の通信データ盗聴を用いた変換手段の解読が攻撃者にとって困難となる。例えば、定数Sを128ビットパラメータとすることで、攻撃者の総当り総数は2128となり、現実時間内では解読不可能となる。すなわち、本実施形態に従うシステム20を用いることで、第2実施形態に従うシステム10に対する、通信データ盗聴による変換手段の解読を用いた攻撃に対する耐性をさらに高めることができる。
(第4実施形態)
図16〜20を参照して本発明の第4の実施形態に従う認証システム30を説明する。図16は本実施形態に従うシステム30を示す図、図17は本実施形態に従うシステム30で、認証チップ2200(認証チップ0)をCPUに装着する際にCPUで実行される処理のフローチャートを示す図、図18は本実施形態に従うシステム30で、認証チップ2200(認証チップ0)をCPU2100に装着する際に認証チップ2200で実行される処理のフローチャートを示す図、図19は、本実施形態に従うシステム30で、認証チップ2300_i(認証チップi)を含むi番目の子機を認証する際に、CPU2100で実行される処理のフローチャートを示す図、図20は、本実施形態に従うシステム30で、認証チップ2300_i(認証チップi)を含むi番目の子機を認証する際に、認証チップiで実行される処理のフローチャートを示す図である。
第3実施形態に従うシステム20では、CPUに対する高度なリバースエンジニアリングを行った場合に、前述の共有値Sが特定できてしまう可能性がある。攻撃者は、CPUが実行するプログラムのROMコードを解析することで、変換手段FS、C()を特定できる可能性がある。しかし、本実施形態では、CPUに対する高度なリバースエンジニアリングを行った場合でも、変換手段FS、C()を特定することが難しいシステムが提供される。
図16に示されているシステム30は、基本的には、図13に示されている前実施形態のシステム20と同じであるが、親機に装着されている認証チップ2200(認証チップ0)とCPU2100の間のみで、固有値Iが共有されている。この固有値Iは、親機全体の製造時に、親機のCPU2100に認証チップ2200(認証チップ0)を最初に装着した時点でCPU2100と認証チップ2200の間で共有され、それぞれの内部の不揮発性メモリ2160、2232に格納され、以降書き換えられない値である。この値は、CPU固体間で異なる値である。子機は、CPUと認証チップ0が固有値の共有を完了した後に、親機に対して取り付けられるため、認証チップ2300_1〜2300_n(認証チップ1〜認証チップn)は、固有値Iを知ることはできない。
認証チップ内で提供される複数の変換手段のうち、親機が用いる変換手段0だけは、S、Cを用いた変換手段FS,C t0()を実行した後、この出力に対しさらに事前固有値Iをパラメータに含めた変換関数G()を実行することで、レスポンスR=G(FS,C t0(X))を出力する。変換手段1〜nについては、実施形態3と同じ方法を用いる。すなわち、変換手段iは、レスポンスR=FS,C ti(X)を出力する。ただし、実施形態2、3と異なり、本実施形態においては、全てのi=1、2、...、nに対してt>t、すなわちtが最大の繰り返し回数として設定されなければならないという制約がある。この制約は、CPU2100が正規品の子機からのレスポンスRを識別するための条件である。G(X)は、固有値Iをパラメータとした1入力1出力関数ならば、どのような関数でも良いが、例えば以下のような関数を用いることで、回路規模を抑えた効率的な実装が可能となる。
(8)パラメータつきXOR
(9)パラメータつき剰余演算
(10)パラメータつきハッシュ演算
(11)パラメータつきLFSR減算
上記(8)の例としては、
Figure 2012120671
ただしIはパラメータ(固有値)、が含まれる。
上記(9)の例としては、||はビット結合、q(X)は128ビット既約多項式、modを剰余として、
(X)=(I||X) mod q(X)
が含まれる。
上記(10)の例としては、
Figure 2012120671
の最下位128ビットであり、ただし、SHA1(X)はXのSHA−1ハッシュ関数出力、が含まれる。
上記(11)の例としては、
GI(X)=LFSR(I、75)−LFSR(X、33)
が含まれる。
本実施形態のシステム30のCPU2100は、共有値Sを記憶するメモリ1140および固有値Iを記憶するメモリ2160を含んでいる。
親機の認証チップ2200は、実施形態3の親機の認証チップ1200と類似の構成を有しているが、固有値Iを記憶する不揮発性メモリ2232を含むこと、変換0を行う回路222aとセレクタ223の間に関数Gを用いて変換Gを行う回路2230を含む点が異なっている。変換Gを行う回路2230は、共有値Sを記憶するメモリ2280にも接続されている。
子機の認証チップ2300_1、...、2300_nは、固有値Iを記憶するメモリ2232を含まないことを除けば、親機の認証チップ2200と同一の構成を有している。
親機側の変換手段0による変換では、親機製造時にCPUと認証チップ0の間で共有され、以後変更されない固有値Iに基づいて行われる。この値は、子機側から観察できないため、この値を攻撃者が推定することは困難である。例えば、固有値Iを128ビットパラメータとすることで、攻撃者の総当り総数は2128となり、現実時間内では解読不可能となる。ただし、固有値IはCPU内部にも格納されている値であるため、CPUに対して高度なリバースエンジニアリングを行うことで、攻撃者が解読できる可能性がある。しかし、固有値IはCPU固体ごとに異なる値であるため、例え高度な技法を用いて固有値Iを解読することに攻撃者が成功したとしても、認証チップ偽造上の大きな脅威にはならない。なぜなら、解読された固有値Iは、親機の固体ごとに異なる値であるため、攻撃者は特定固体の親機に対してのみ利用可能な偽造チップを製造することができるが、全ての固体に共通する偽造チップにはならない。本実施形態に従うシステム40では、CPUのROMコードの解析を用いた高度なリバースエンジニアリング技術に成功したとしても、親機に搭載される認証チップ0の変換手段はCPU固体ごとに異なるため、全ての親機に用いることが可能な子機認証チップの偽造品の量産は不可能となり、攻撃者は偽造品を市場に流通させることを防ぐことが出来る。
図17および18を参照して、本実施形態に従うシステム30で、認証チップ0をCPUに装着する際の処理を説明する。
CPU2100は、S1501で、CPU2100内で発生させた乱数、現在時刻、CPUID、シリアル番号などを用いて、個体ごとにユニークな固有値Iを生成する。次にS1502で、固有値Iを親機の認証チップ(認証チップ0)2200に送信する。
S1551で、親機の認証チップ2200は、バス400を介してCPU2100から固有値Iを受信する。次に、S1552で、固有値Iを認証チップ2200の不揮発性メモリ2232に書き込み、S1553に進む。S1553では、親機に応答を送信する。この応答は、たとえば、不揮発性メモリ2232に書き込まれた値と固有値Iを比較した結果など、S1552の処理を確認できる情報である。
CPU2100は、この親機の認証チップ2200からの応答をS1503で受信する。次のS1504でCPU2100は、S1503で受信した親機の認証チップ2200からの応答が、親機の認証チップ2200での固有値Iの書き込み動作が正常に行われたことを示している場合にはS1505に進み、固有値IをCPU2100の不揮発性メモリ2160に書き込んでCPU2100の処理を終了する。S1504での判定が、S1503で受信した親機の認証チップ2200からの応答が、親機の認証チップ2200での固有値Iの書き込み動作が正常に行われなかったことを示している場合には、CPU2100はエラー終了する。
図19は本実施形態に従うシステム30で、認証チップiを含むi番目の子機を認証する際に、CPU2100で実行される処理のフローチャートを示す図であり、図20は、本実施形態に従うシステムで、認証チップiを含むi番目の子機を認証する際に、認証チップ2300_iで実行される処理のフローチャートを示す図である。
CPU2100は、S1601で認証対象の子機番号iを決定し、S1602に進む。S1602では、チャレンジCとして用いるために乱数を生成する。S1602の次のS1603では、S1602で生成されたチャレンジCをS1601で決定されたi番目の子機の認証チップ2300_iに送信する。
i番目の子機の認証チップ2300_iでは、S1651で親機のCPU2100によって送信されたチャレンジCを受信する。次に、S1652では、認証チップ300_iのレスポンス生成回路324中の秘密鍵記憶部326に記憶されている秘密鍵KとチャレンジCを用いて、レスポンスとしての出力値R=Enc(C、K)を生成する。次のS1653では、内部不揮発性メモリ340に記憶されたアドレス情報を元に、変換の繰り返し回数tを決定する。S1653に引き続くS1654からS1657では、レスポンスRにt回関数FS、Cを作用させる。関数FS、Cは、共有値SおよびチャレンジCによって決まる。より詳細には、S1654で整数であるダミー変数jに0を代入する。S1655でダミー変数の値を1つ増加させ、S1656でjとtを比較する。S1656でjがtより小さければ現在のレスポンス値に関数FS、Cを作用させ、レスポンス値を更新して、S1655に戻る。S1656でjがtより大きければ現在のレスポンスRの値をCPU2100に送信して、i番目の子機の認証チップ2300_iの処理を終了する。
CPU2100は、S1604でi番目の子機の認証チップ2300_iからのレスポンスRの値をレスポンスRとして受信する。次に、S1605でチャレンジCを今度は、親機の認証チップ2200に送信する。
親機の認証チップ2200では、先のi番目の子機の認証チップ2300_iと同じ処理を行うが、i番目の子機の認証チップ2300_iの場合とは、関数FS、Cを作用させる回数がtであり、tとは異なる。
CPU2100は、S1606で親機の認証チップ2200からのレスポンスRの値をレスポンスRとして受信する。次に、S1607でRがG(FS、C t0−ti(X))に等しいかどうかを判定する。もし等しければi番目の子機を正規品と判定してCPU100の処理を終了する。そうでなければ、i番目の子機を正規品ではないと判定してCPU2100の処理を終了する。
上の説明では、S1603およびS1604の処理後にS1605およびS1606の処理を実行した。しかしながら、S1605およびS1606の処理の後でS1603およびS1604の処理を行っても良い。つまり、親機の認証チップ2200へのチャレンジCの送信およびレスポンスRの受信と子機の認証チップ2300_iへのチャレンジCの送信およびレスポンスRの受信の順序は任意である。
このような構成を用いることによって、高度なリバースエンジニアリングを用いた攻撃すらも回避した安全な認証を実現することができる。また、通信データの盗聴から変換手段を特定することを困難とすることができる。
(第5実施形態)
図21から23を参照して、本発明の第5の実施形態に従うシステム40を説明する。本実施形態は、図10に示されている第2実施形態のシステム10の特別な場合である。即ち、本実施形態では、変換関数はF(X)=XとF(X)=SHA−1出力の最下位128ビットの2種である。
親機に認証チップ3200、子機に認証チップ3300が接続されている。チャレンジ、レスポンス、秘密鍵全て128ビットである。関数Fとして、SHA−1出力の最下位128ビットを利用する。関数Fの繰り返し回数は、t=1、t=0である。すなわち、CPU100から送信されるチャレンジCに対して、AES暗号化を用いて出力値R=Enc(C、K)を生成し、認証チップのアドレスが親機ならばR=F(R)を、子機ならばR=RをレスポンスとしてCPU100に返信する。R、Rを受け取ったCPU100は、F(R)を計算し、Rと一致するならば子機を正規品と判定し、不一致ならば非正規品と判定する。
図22は、本実施形態に従うシステム40のCPU100で実行される処理のフローチャートを示す図であり、図23は本実施形態に従うシステム40の親機の認証チップ3200および子機の認証チップ3300で実行される処理のフローチャートを示す図である。
CPU100は、S1801でチャレンジCとして用いるために乱数を生成し、S1802に進む。S1802では、S1802で生成されたチャレンジCを子機の認証チップ3300に送信する。
子機の認証チップ3300では、S1851で親機のCPU100によって送信されたチャレンジCを受信する。次に、S1852では、認証チップ3300のレスポンス生成回路324中の秘密鍵記憶部326に記憶されている秘密鍵KとチャレンジCを用いて、レスポンスとしての出力値R=Enc(C、K)を生成する。次のS1853では、内部不揮発性メモリ340に記憶されたアドレス情報を元に、変換の繰り返し回数tを決定する。ここでt=1である。S1853に引き続くS1854からS1857では、出力値Rにt回関数F=SHA−1出力の最下位128ビット、を作用させる。より詳細には、S1854で整数であるダミー変数jに0を代入する。S1855でダミー変数の値を1つ増加させ、S1856でjとtを比較する。S1856でjがtより小さければ現在のレスポンス値にS1857で関数Fを作用させ、レスポンス値を更新して、S1855に戻る。S1856でjがtより大きければ現在のレスポンスRの値をCPU100に送信して、子機の認証チップ3300の処理を終了する。
CPU100は、S1803で子機の認証チップ3300からのレスポンスRの値をレスポンスRとして受信する。次に、S18054チャレンジCを今度は、親機の認証チップ200に送信する。
親機の認証チップ2200では、先の子機の認証チップ3300と同じ処理を行うが、子機の認証チップ3300の場合とは、関数Fを作用させる回数がt=1であり、t=0とは異なっている。
CPU100は、S1805で親機の認証チップ2200からのレスポンスRの値をレスポンスRとして受信する。次に、S1806で、Rに関数Fを作用させた値F(R)とRが等しいかどうかを判定する。もし等しければ子機を正規品と判定してCPU100の処理を終了する。そうでなければ、子機を正規品ではないと判定する。
上の説明では、CPU2100は、S1802およびS1803の処理後にS1804およびS1805の処理を実行した。しかしながら、S1804およびS1805の処理の後でS1802およびS1803の処理を行っても良い。
(第6実施形態)
図24から26を参照して、本発明の第6の実施形態に従うシステム50を説明する。本実施形態は、図13に示されている第3実施形態のシステム20の特別な場合である。即ち、本実施形態では、子機の認証チップは子機1の認証チップ4300_1と子機2の認証チップ4300_2の2つを含み、レスポンス生成回路324で生成されたレスポンスに作用する関数として、
Figure 2012120671
が用意されている。
本実施形態の構成を図24に示す。親機に認証チップ4200、子機に2個の認証チップ4300_1、4300_2が接続されている。チャレンジ、レスポンス、秘密鍵全て128ビットである。関数FS、Cとして、パラメータ付XOR加算
Figure 2012120671
を利用する。関数FS、Cの繰り返し回数は、t=0、t=1、t=2である。すなわち、CPU1100から送信されるチャレンジCに対して、レスポンス生成回路224、324においてAES暗号化を用いてR=Enc(C、K)を生成し、認証チップのアドレスが親機ならばR=Rを、子機1ならばR=FS、C(R)を、子機2ならR=FS、C (R)を、レスポンスとしてCPU100に返信する。R、Rを受け取ったCPU1100は、Fti-t0(R)を計算し、Rと一致するならば子機を正規品と判定し、不一致ならば非正規品と判定する。すなわち、i=1の場合はFS、C(R)=Rであるか、i=2の場合はFS、C (R)=Rであるかを判定する。
本実施形態の認証システム50の処理を説明する。
図25は、本実施形態に従うシステム50のCPU1100で実行される処理のフローチャートを示す図であり、図26は本実施形態に従うシステム50の親機または子機の認証チップ4200、4300_i(i=1、2)で実行される処理のフローチャートを示す図である。
CPU100は、S2001で認証対象の子機番号iを決定し、S2002に進む。ここでi=1または2である。S2002では、チャレンジCとして用いるために乱数を生成する。S2002の次のS2003では、S2002で生成されたチャレンジCをS2001で決定されたi番目の子機の認証チップ4300_iに送信する。
i番目の子機の認証チップ4300_iでは、S2051で親機のCPU1100によって送信されたチャレンジCを受信する。次に、S2052では、認証チップ4300_iのレスポンス生成回路324中の秘密鍵記憶部326に記憶されている秘密鍵KとチャレンジCを用いて、レスポンスとしての出力値R=Enc(C、K)を生成する。次のS2053では、内部不揮発性メモリ340に記憶されたアドレス情報を元に、変換の繰り返し回数tを決定する。S2053に引き続くS2054からS2057では、レスポンスRにt回関数FS、Cを作用させる。関数FS、Cは、共有値SおよびチャレンジCによって決まる。より詳細には、S2054で整数であるダミー変数jに0を代入する。S2055でダミー変数の値を1つ増加させ、S2056でjとtを比較する。S2056でjがtより小さければ現在のレスポンス値にS2057で関数FS、Cを作用させ、レスポンス値を更新して、S2055に戻る。S2056でjがtより大きければ現在のレスポンスRの値をCPU1100に送信して、i番目の子機の認証チップ1300_iの処理を終了する。
CPU1100は、S2004でi番目の子機の認証チップ4300_iからレスポンスRの値をレスポンスRとして受信する。次に、S2005でチャレンジCを今度は、親機の認証チップ4200に送信する。
親機の認証チップ4200では、先のi番目の子機の認証チップ4300_iと同じ処理を行うが、i番目の子機の認証チップ4300_iの場合、関数FS、Cを作用させる回数がtであり、tとは異なる。今の場合、t=0であるので、関数FS、Cは作用させない。
CPU1100は、S2006で親機の認証チップ4200からのレスポンスRの値をレスポンスRとして受信する。次にS2007では、RがFS、C t0−ti(R)に等しいかどうかを判定する。もし等しければi番目の子機を正規品と判定してCPU1100の処理を終了する。そうでなければ、i番目の子機を正規品ではないと判定してCPU1100の処理を終了する。
(第7実施形態)
図27から31を参照して、本発明の第7の実施形態に従うシステム60を説明する。本実施形態は、図16に示されている第4実施形態のシステム30の特別な場合である。即ち、本実施形態では、子機の認証チップは子機1の認証チップ5300_1と子機2の認証チップ5300_2の2つを含み、レスポンス生成回路324で生成されたレスポンスに作用する変換関数FS、Cとしてパラメータ付剰余算FS、C(X)=(S||C||X) mod q(X)、変換関数Gとして、
Figure 2012120671
の最下位128ビットを用いる。
親機に認証チップ5200、子機に2個の認証チップ5300_1、5300_2が接続されている。チャレンジ、レスポンス、秘密鍵全て128ビットである。関数FS、Cとしてパラメータ付剰余算FS、C(X)=(S||C||X) mod q(X)を、関数Gとしてパラメータつきハッシュ演算:
Figure 2012120671
の最下位128ビット、を利用する。ただし、q(X)は128ビット既約多項式である。関数FS、Cの繰り返し回数は、t=2、t=1,t=0である。つまり、CPU2100から送信されるチャレンジCに対して、AES暗号化を用いてR=Enc(C、K)を生成し、認証チップのアドレスが親機ならばR=G(FS、C (R))を、子機1ならばR=FS、C(R)を、子機2ならR=Rを、レスポンスとしてCPU2100に返信する。R、Rを受け取ったCPU2100は、G(FS、C 2−ti(R))を計算し、Rと一致するならば子機を正規品と判定し、不一致ならば非正規品と判定する。すなわち、i=1の場合はG(FS、C(R))=Rであるか、i=2の場合はG(FS、C (R))=Rであるかを判定する。
図28および29を参照して、本実施形態に従うシステム60で、認証チップ5200をCPU2100に装着する際の処理を説明する。
CPU2100は、S2201で、CPU2100内で発生させた乱数、現在時刻、CPUID、シリアル番号などを用いて、CPU固体ごとにユニークな固有値Iを生成する。次にS2202で、固有値Iを親機の認証チップ(認証チップ0)5200に送信する。
S2251で、親機の認証チップ5200は、バス400を介してCPU2100から固有値Iを受信する。次に、S2252で、固有値Iを認証チップ5200の不揮発性メモリ2232に書き込み、S2253に進む。S2253では、親機に応答を送信する。この応答は、たとえば、不揮発性メモリ2232に書き込まれた値と固有値Iを比較した結果など、S2252の処理を確認できる情報である。
CPU2100は、この親機の認証チップ5200からの応答をS2203で受信する。次のS2204でCPU2100は、S2203で受信した親機の認証チップ5200からの応答が、親機の認証チップ5200での固有値Iの書き込み動作が正常に行われたことを示している場合にはS2205に進み、固有値IをCPU2100の不揮発性メモリ2160に書き込んでCPU2100の処理を終了する。S2204での判定が、S2203で受信した親機の認証チップ5200からの応答が、親機の認証チップ5200での固有値Iの書き込み動作が正常に行われなかったことを示している場合には、CPU2100はエラー終了する。
図30は本実施形態に従うシステム60で、認証チップ(認証チップ〜2)5200、5300_1、5300_2を含む親機およびi番目の子機を認証する際に、CPU2100で実行される処理のフローチャートを示す図であり、図31は、本実施形態に従うシステムで、認証チップiを含む親機またはi番目の子機を認証する際に、認証チップ5200、5300_i(i=1、2)で実行される処理のフローチャートを示す図である。
CPU2100は、S2301で認証対象の子機番号iを決定し、S2302に進む。S2302では、チャレンジCとして用いるために乱数を生成する。S2302の次のS2303では、S2302で生成されたチャレンジCをS2301で決定されたi番目の子機の認証チップ5300_iに送信する。
i番目の子機の認証チップ5300_iでは、S2351で親機のCPU2100によって送信されたチャレンジCを受信する。次に、S2352では、認証チップ5300_iのレスポンス生成回路324中の秘密鍵記憶部326に記憶されている秘密鍵KとチャレンジCを用いて、レスポンスとしての出力値R=Enc(C、K)を生成する。次のS2353では、内部不揮発性メモリ340に記憶されたアドレス情報を元に、変換の繰り返し回数tを決定する。S2353に引き続くS2354からS2357では、レスポンスRにt回関数FS、Cを作用させる。関数FS、Cは、共有値SおよびチャレンジCによって決まる。より詳細には、S1654で整数であるダミー変数jに0を代入する。S2355でダミー変数の値を1つ増加させ、S2356でjとtを比較する。S2356でjがtより小さければS2357で現在のレスポンス値に関数FS、Cを作用させ、レスポンス値を更新して、S2355に戻る。S2356でjがtより小さくなければ、S2358に進む。S2358では、現在認証中のチップが親機であるかを判定する。今の場合、認証チップは親機のものではないので、現在のレスポンスRの値をCPU2100に送信して、i番目の子機の認証チップ5300_iの処理を終了する。
CPU2100は、S2304でi番目の子機の認証チップ2300_iからのレスポンスRの値をレスポンスRとして受信する。次に、S2305でチャレンジCを今度は、親機の認証チップ5200に送信する。
親機の認証チップ5200では、先のi番目の子機の認証チップ5300_iと同じ処理を行うが、i番目の子機の認証チップ5300_iの場合とは、関数FS、Cを作用させる回数がtであり、tとは異なること、S2358での現在認証中のチップが親機であるかの判定で、今の場合、親機であるから、S2359に進むことが異なる。S2359では、固有値IとG計算回路2230を用いて、G(FS、C 2−ti(R))を計算する。
CPU2100は、S2306で親機の認証チップ2200からのレスポンスRの値をレスポンスRとして受信する。次に、S1607でRがG(FS、C 2−ti(R))に等しいかどうかを判定する。もし等しければi番目の子機を正規品と判定してCPU2100の処理を終了する。そうでなければ、i番目の子機を正規品ではないと判定してCPU2100の処理を終了する。

Claims (27)

  1. 第1の認証チップを含む第1の装置を制御するプロセッサにより、第2の認証チップを含む第2の装置を認証する認証方法であって、
    乱数を生成し、
    前記乱数を前記第2の認証チップおよび前記第2の認証チップに送信し、
    前記第1の認証チップに秘密鍵として記憶された整数と、前記乱数に対して暗号化をするための暗号化関数を作用させて生成された出力値に、前記第1の認証チップに設定された値で決まる第1の変換関数を作用させて得られる第1のレスポンス値を前記第1の認証チップから受信し、
    前記第2の認証チップに秘密鍵として記憶された前記第1の認証チップに秘密鍵として記憶された前記整数と同じ整数と、前記乱数に対して暗号化をするための暗号化関数を作用させて生成された前記出力値に、前記第2の認証チップに設定された値で決まる第2の変換関数を作用させて得られる第2のレスポンス値を前記第2の認証チップから受信し、
    前記第1のレスポンス値に、前記第1の認証チップに設定された値と前記第2の認証チップに設定された値の大きさの差の数で決まる第3の変換関数を作用させて得られる値と前記第2のレスポンス値を比較して、または前記第2のレスポンス値に前記第3の変換関数を作用させて得られる値と前記第1のレスポンス値を比較して、前記第2の装置を認証する、
    認証方法。
  2. 前記第1の認証チップに設定された値で決まる前記第1の変換関数は所定の関数の冪乗であり、その指数は前記第1の認証チップに設定された値で決まる第1の指数であり、前記第2の認証チップに設定された値で決まる第2の変換関数は前記所定の関数の冪乗であり、その指数は前記第2の認証チップに設定された値で決まり前記第1の指数と異なる第2の指数であり、前記第1の認証チップに設定された値と前記第2の認証チップに設定された値の大きさの差の数で決まる前記第3の変換関数は、前記所定の関数の冪乗であり、その指数は、前記第1の指数と前記第2の指数の差の絶対値に等しい第3の指数である、請求項1の方法。
  3. 前記所定の関数はハッシュ関数である、請求項2の方法。
  4. 前記所定の関数は定数ビットシフトである、請求項2の方法。
  5. 前記所定の関数は左1ビットシフト後、GF(2)上の特性多項式の剰余演算処理を定数ビット分の繰り返しである、請求項2の方法。
  6. 前記第1の変換関数は前記第1の認証チップに設定された値と予め前記第2の認証チップと共通に設定された整数である共有値により決定され、前記第2の変換関数は前記第2の認証チップに設定された値と前記共有値により決定される、請求項1乃至5のいずれか一項の方法。
  7. 前記第1のレスポンス値は、前記出力値に、前記第1の変換関数に加えて、前記プロセッサに特有の値である固有値で決まる第4の変換関数を作用させて得られる、請求項1乃至6のいずれか一項の方法。
  8. 前記第2の認証チップに設定された値および前記共有値で決まる前記第2の変換関数は、パラメータ付XOR演算である、請求項6又は7の方法。
  9. 前記第2の認証チップに設定された値および前記共有値で決まる前記第2の変換関数は、パラメータつき剰余演算である、請求項6又は7の方法。
  10. 前記第2の認証チップに設定された値および前記共有値で決まる前記第2の変換関数は、パラメータハッシュ演算の最下位の定数ビット幅のデータ値を取る出す演算である、請求項6又は7の方法。
  11. 前記第2の認証チップに設定された値および前記共有値で決まる前記第2の変換関数は、パラメータ付定数ビットシフト、XORおよび減算の組み合わせの演算である、請求項6又は7の方法。
  12. 前記プロセッサ、前記第1の認証チップ、および前記第2の認証チップは互いの通信のためにシリアルバス接続されており、前記親機認証チップおよび前記子機認証チップは前記通信のためにそれぞれ第1のアドレスおよび第2のアドレスを有し、前記親機認証チップに設定された値および前記子機認証チップに設定された値は、それぞれ前記第1のアドレスおよび前記第2のアドレスから決まる、請求項1乃至12のいずれか一項の方法。
  13. 第1の装置が第2の装置の認証を行う認証システムであって、
    前記第1の装置に含まれ、乱数を生成し、前記乱数を前記第1の装置が含む第1の認証チップと前記第2の装置が含む第2の認証チップとに送信し、前記第1の認証チップと前記第2の認証チップから、前記乱数に対する応答として第1のレスポンス値と第2のレスポンス値とをそれぞれ受信し、前記第1のレスポンス値と前記第2のレスポンス値を用いて前記第2の装置を認証する処理を実行するプロセッサと、
    前記乱数を受信する第1の乱数受信手段と、秘密鍵としての整数を記憶する第1の記憶手段と、秘密鍵として記憶された整数および前記乱数に対して暗号化をするための暗号化関数を作用させて出力値を生成する第1の暗号演算手段と、生成された前記出力値に、第1の設定された値で決まる第1の変換関数を作用させて前記第1のレスポンス値を生成する第1のレスポンス値生成手段と、を含み、前記プロセッサに接続されている第1の認証チップと、
    前記乱数を受信する第2の乱数受信手段と、秘密鍵としての整数を記憶する第2の記憶手段と、秘密鍵として記憶された整数および前記乱数に対して暗号化をするための暗号化関数を作用させて前記出力値を生成する第2の暗号演算手段と、前記出力値に、第2の設定された値で決まる第2の変換関数を作用させて前記第2のレスポンス値を生成する第2のレスポンス値生成手段と、を含み、少なくとも前記プロセッサに接続されている第2の認証チップと、
    を含み、
    前記プロセッサは、前記第1のレスポンス値に、前記第1の設定された値と前記第2の設定された値の大きさの差の絶対値で決まる第3の変換関数を作用させて得られる数と前記第2のレスポンス値を比較して、または前記第2のレスポンス値に前記第3の変換関数を作用させて得られる数と前記第1のレスポンス値を比較して、前記子機を認証する処理を実行すること、
    を特徴とする認証システム。
  14. 前記プロセッサと前記第1の認証チップおよび前記第2の認証チップをシリアルバス接続で接続するバスを含む、請求項13の認証システム。
  15. 前記所定の関数は、ハッシュ関数、定数ビットシフト、左1ビットシフト後、GF(2)上の特性多項式の剰余演算処理を定数ビット分の繰り返しからなる群から選択される、請求項13または14の認証システム。
  16. 前記第1の認証チップおよび前記第2の認証チップは前記通信のためにそれぞれ第1のアドレスおよび第2のアドレスを有し、前記第1の認証チップに設定された値および前記第2の認証チップに設定された値は、それぞれ前記第1のアドレスおよび前記第2のアドレスから決まる、請求項13乃至15のいずれか一項の認証システム。
  17. 前記第1の認証チップに設定された値で決まる前記第1の変換関数は所定の関数の冪乗であり、その指数は前記第1の認証チップに設定された値で決まる第1の指数であり、前記第2の認証チップに設定された値で決まる第2の変換関数は前記所定の関数の冪乗であり、その指数は前記第2の認証チップに設定された値で決まり前記第1の指数と異なる第2の指数である、請求項13乃至16のいずれか一項の認証システム。
  18. 前記第1の変換関数は前記第1の認証チップに設定された値および予め前記第2の認証チップと共通に設定された整数である共有値で決まり、前記第2の変換関数は前記第2の認証チップに設定された値および前記共有値で決まる、請求項13乃至17のいずれか一項の認証システム。
  19. 前記第1のレスポンス値は、前記出力値に、前記第1の変換関数に加えて、前記プロセッサに特有の値である固有値で決まる第4の変換関数を作用させて得られる、請求項13乃至18のいずれか一項の認証システム。
  20. 前記第2の変換関数は、パラメータ付XOR演算、パラメータつき剰余演算、パラメータハッシュ演算の最下位の定数ビット幅のデータ値を取る出す演算、パラメータ付定数ビットシフト、XORおよび減算の組み合わせの演算からなる群から選択される、請求項13乃至20のいずれか一項の認証システム。
  21. 整数である秘密鍵を記憶するメモリと、
    整数を受信する受信手段と、
    前記整数および前記秘密鍵に暗号化のための暗号化関数を作用させて生成された出力値に、変換関数を作用させて得られるレスポンス値を生成するレスポンス値生成手段と、
    前記レスポンス値を送信する送信手段、
    を含む認証チップ。
  22. 前記レスポンス値生成手段は、さらに、前記通信におけるアドレスを記憶するアドレス記憶手段を含み、
    前記変換関数は、前記レスポンス値は前記アドレスで決まる、
    請求項21の認証チップ。
  23. 前記レスポンス値生成手段は、それぞれ関数を記憶するメモリを含む複数の演算部を含み、
    前記変換関数は、前記複数の関数から選択される、
    請求項22の認証チップ。
  24. 前記変換関数は、前記変換関数は、ハッシュ関数、定数ビットシフト、左1ビットシフト後、GF(2)上の特性多項式の剰余演算処理を定数ビット分の繰り返しからなる群から選択される、
    請求項21乃至23のいずれか一項の認証チップ。
  25. さらに、
    整数である共有値を記憶するメモリを含み、
    前記変換関数は前記アドレスおよび前記共有値で決まる、
    請求項21乃至24のいずれか一項の認証チップ。
  26. 前記認証チップはプロセッサに接続され、
    前記レスポンス値は、前記出力値に前記変換関数を作用させ、さらに前記プロセッサに特有の値である固有値で決まる別の変換関数を作用させて得られる、
    請求項21乃至25のいずれか一項の認証チップ。
  27. 前記プロセッサに特有の値である固有値で決まる前記別の変換関数は、パラメータ付XOR演算、パラメータつき剰余演算、パラメータハッシュ演算の最下位の定数ビット幅のデータ値を取る出す演算、パラメータ付定数ビットシフト、XORおよび減算の組み合わせの演算からなる群から選択される、
    請求項25の認証チップ。
JP2013503296A 2010-09-30 2011-03-09 共通鍵暗号を用いた認証システム Active JP5621907B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010222213A JP5847999B2 (ja) 2010-09-30 2010-09-30 パンツ型オムツ
PCT/JP2011/005557 WO2012042908A1 (en) 2010-09-30 2011-09-30 Pants-type diaper

Publications (2)

Publication Number Publication Date
JPWO2012120671A1 true JPWO2012120671A1 (ja) 2014-07-07
JP5621907B2 JP5621907B2 (ja) 2014-11-12

Family

ID=45892396

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010222213A Active JP5847999B2 (ja) 2010-09-30 2010-09-30 パンツ型オムツ
JP2013503296A Active JP5621907B2 (ja) 2010-09-30 2011-03-09 共通鍵暗号を用いた認証システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010222213A Active JP5847999B2 (ja) 2010-09-30 2010-09-30 パンツ型オムツ

Country Status (5)

Country Link
US (1) US20130245588A1 (ja)
EP (1) EP2621437B1 (ja)
JP (2) JP5847999B2 (ja)
CN (1) CN103124547B (ja)
WO (1) WO2012042908A1 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2339713T3 (es) 2003-02-12 2010-05-24 The Procter And Gamble Company Nucleo absorbente para un articulo absorbente.
ES2314137T3 (es) 2003-02-12 2009-03-16 THE PROCTER & GAMBLE COMPANY Pañal comodo.
MX2009013906A (es) 2007-06-18 2010-01-28 Procter & Gamble Articulo absorbente desechable con nucleo absorbente sellado con material polimerico particulado absorbente practicamente distribuido en forma continua.
PL2157950T3 (pl) 2007-06-18 2014-03-31 Procter & Gamble Jednorazowy wyrób chłonny z chłonnym cząsteczkowym materiałem polimerowym rozmieszczonym zasadniczo w sposób ciągły oraz sposób
JP2011518648A (ja) 2008-04-29 2011-06-30 ザ プロクター アンド ギャンブル カンパニー 耐歪み性のコアカバーを備える吸収性コアの作製プロセス
EP2329803B1 (en) 2009-12-02 2019-06-19 The Procter & Gamble Company Apparatus and method for transferring particulate material
ES2585338T3 (es) 2011-06-10 2016-10-05 The Procter & Gamble Company Estructura absorbente para artículos absorbentes
EP2532328B1 (en) 2011-06-10 2014-02-26 The Procter and Gamble Company Method and apparatus for making absorbent structures with absorbent material
EP2532332B2 (en) 2011-06-10 2017-10-04 The Procter and Gamble Company Disposable diaper having reduced attachment between absorbent core and backsheet
JP6339010B2 (ja) 2011-06-10 2018-06-06 ザ プロクター アンド ギャンブル カンパニー 吸収性物品の吸収性構造体
EP2532329B1 (en) 2011-06-10 2018-09-19 The Procter and Gamble Company Method and apparatus for making absorbent structures with absorbent material
CN103596535B (zh) 2011-06-10 2015-11-25 宝洁公司 用于一次性吸收制品的吸收芯
PL3284449T3 (pl) 2011-06-10 2020-03-31 The Procter & Gamble Company Pielucha jednorazowego użytku
JP6054699B2 (ja) * 2012-10-01 2016-12-27 ユニ・チャーム株式会社 吸収性物品
JP6193391B2 (ja) 2012-11-13 2017-09-06 ザ プロクター アンド ギャンブル カンパニー チャネル及びシグナルを備えた吸収性物品
US10639215B2 (en) 2012-12-10 2020-05-05 The Procter & Gamble Company Absorbent articles with channels and/or pockets
US8979815B2 (en) * 2012-12-10 2015-03-17 The Procter & Gamble Company Absorbent articles with channels
EP2740452B1 (en) 2012-12-10 2021-11-10 The Procter & Gamble Company Absorbent article with high absorbent material content
US9216116B2 (en) 2012-12-10 2015-12-22 The Procter & Gamble Company Absorbent articles with channels
US9216118B2 (en) * 2012-12-10 2015-12-22 The Procter & Gamble Company Absorbent articles with channels and/or pockets
EP2740450A1 (en) 2012-12-10 2014-06-11 The Procter & Gamble Company Absorbent core with high superabsorbent material content
EP2740449B1 (en) 2012-12-10 2019-01-23 The Procter & Gamble Company Absorbent article with high absorbent material content
JP6199588B2 (ja) * 2013-03-29 2017-09-20 ユニ・チャーム株式会社 使い捨ておむつ
ES2655690T3 (es) 2013-06-14 2018-02-21 The Procter & Gamble Company Artículo absorbente y canales de formación de núcleo absorbente cuando están húmedos
JP6419454B2 (ja) * 2013-07-30 2018-11-07 花王株式会社 吸収性物品
US9987176B2 (en) 2013-08-27 2018-06-05 The Procter & Gamble Company Absorbent articles with channels
CN110013386B (zh) 2013-08-27 2021-10-01 宝洁公司 具有通道的吸收制品
FR3010631A1 (fr) 2013-09-16 2015-03-20 Procter & Gamble Articles absorbants avec canaux et signaux
US11207220B2 (en) 2013-09-16 2021-12-28 The Procter & Gamble Company Absorbent articles with channels and signals
EP3351225B1 (en) 2013-09-19 2021-12-29 The Procter & Gamble Company Absorbent cores having material free areas
JP6195772B2 (ja) * 2013-10-07 2017-09-13 ユニ・チャーム株式会社 使い捨ておむつ
PL2886092T3 (pl) 2013-12-19 2017-03-31 The Procter And Gamble Company Wkłady chłonne z obszarami tworzącymi kanały i zgrzewami osłony c
US9789009B2 (en) 2013-12-19 2017-10-17 The Procter & Gamble Company Absorbent articles having channel-forming areas and wetness indicator
EP2905001B1 (en) 2014-02-11 2017-01-04 The Procter and Gamble Company Method and apparatus for making an absorbent structure comprising channels
EP2949300B1 (en) 2014-05-27 2017-08-02 The Procter and Gamble Company Absorbent core with absorbent material pattern
JP6396755B2 (ja) * 2014-10-27 2018-09-26 花王株式会社 吸収性物品
WO2016092843A1 (ja) * 2014-12-10 2016-06-16 王子ホールディングス株式会社 吸収性物品
EP3233007B1 (en) 2014-12-19 2020-11-18 Essity Hygiene and Health Aktiebolag Absorbent article
RU2670413C1 (ru) * 2014-12-19 2018-10-22 Ска Хайджин Продактс Аб Впитывающее изделие
US10376428B2 (en) * 2015-01-16 2019-08-13 The Procter & Gamble Company Absorbent pant with advantageously channeled absorbent core structure and bulge-reducing features
US10070997B2 (en) 2015-01-16 2018-09-11 The Procter & Gamble Company Absorbent pant with advantageously channeled absorbent core structure and bulge-reducing features
GB2554228B (en) 2015-03-16 2021-08-04 Procter & Gamble Absorbent articles with improved strength
JP2018508292A (ja) 2015-03-16 2018-03-29 ザ プロクター アンド ギャンブル カンパニー 改善されたコアを有する吸収性物品
CN107592805B (zh) 2015-05-12 2021-07-06 宝洁公司 具有改善的芯与底片粘合剂的吸收制品
WO2016196069A1 (en) 2015-05-29 2016-12-08 The Procter & Gamble Company Absorbent articles having channels and wetness indicator
JP6220813B2 (ja) * 2015-05-29 2017-10-25 ユニ・チャーム株式会社 吸収性物品
EP3167859B1 (en) 2015-11-16 2020-05-06 The Procter and Gamble Company Absorbent cores having material free areas
JP6558285B2 (ja) * 2016-03-17 2019-08-14 王子ホールディングス株式会社 使い捨ておむつ
JP6531686B2 (ja) * 2016-03-17 2019-06-19 王子ホールディングス株式会社 使い捨ておむつ
WO2017168917A1 (ja) * 2016-04-01 2017-10-05 王子ホールディングス株式会社 吸収性物品
JP6380452B2 (ja) * 2016-04-26 2018-08-29 王子ホールディングス株式会社 吸収性物品
JP6380454B2 (ja) * 2016-04-27 2018-08-29 王子ホールディングス株式会社 吸収性物品
EP3238678B1 (en) 2016-04-29 2019-02-27 The Procter and Gamble Company Absorbent core with transversal folding lines
EP3238676B1 (en) 2016-04-29 2019-01-02 The Procter and Gamble Company Absorbent core with profiled distribution of absorbent material
JP6572836B2 (ja) * 2016-06-30 2019-09-11 王子ホールディングス株式会社 吸収性物品および吸収性物品の製造方法
JP6907430B2 (ja) * 2016-11-08 2021-07-21 日本製紙クレシア株式会社 吸収性物品
JP6992221B2 (ja) * 2016-11-30 2022-01-13 日本製紙クレシア株式会社 吸収性物品
CN110139633A (zh) * 2017-01-06 2019-08-16 王子控股株式会社 吸收性物品
WO2018128172A1 (ja) * 2017-01-06 2018-07-12 王子ホールディングス株式会社 吸収性物品
JP6942499B2 (ja) * 2017-03-24 2021-09-29 大王製紙株式会社 パンツタイプ使い捨ておむつ
CN107374833A (zh) * 2017-07-13 2017-11-24 杭州豪悦实业有限公司 一种增强型分区式复合芯体
JP6941512B2 (ja) * 2017-09-06 2021-09-29 花王株式会社 吸収性物品
JP7012532B2 (ja) * 2017-12-28 2022-01-28 ユニ・チャーム株式会社 パンツ型吸収性物品
CN111565685A (zh) * 2017-12-28 2020-08-21 尤妮佳股份有限公司 短裤型吸收性物品
JP7154759B2 (ja) * 2017-12-28 2022-10-18 ユニ・チャーム株式会社 パンツ型吸収性物品
JP6676609B2 (ja) * 2017-12-28 2020-04-08 ユニ・チャーム株式会社 パンツ型吸収性物品
JP6503448B1 (ja) * 2017-12-28 2019-04-17 ユニ・チャーム株式会社 パンツ型吸収性物品
JP6567713B1 (ja) * 2018-03-05 2019-08-28 大王製紙株式会社 吸収性物品
JP6937733B2 (ja) * 2018-10-31 2021-09-22 ユニ・チャーム株式会社 吸収性物品
CN111374829A (zh) * 2018-12-29 2020-07-07 尤妮佳股份有限公司 短裤型尿布
JP7158343B2 (ja) * 2019-06-20 2022-10-21 ユニ・チャーム株式会社 吸収性物品
JP7322590B2 (ja) * 2019-08-21 2023-08-08 王子ホールディングス株式会社 吸収性物品

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4781710A (en) * 1987-05-15 1988-11-01 The Procter & Gamble Company Absorbent pad having improved liquid distribution
JPH06289781A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 認証方式
US6312416B1 (en) * 1999-08-16 2001-11-06 Johnson & Johnson, Inc. Thin sanitary napkin capable of controlled deformation when in use
JP3717397B2 (ja) * 2000-11-30 2005-11-16 ユニ・チャーム株式会社 使い捨ておむつ
WO2003026545A2 (en) * 2001-09-21 2003-04-03 Kao Corporation Disposable diaper
JP3938305B2 (ja) * 2001-12-13 2007-06-27 花王株式会社 吸収性物品
US7194765B2 (en) * 2002-06-12 2007-03-20 Telefonaktiebolaget Lm Ericsson (Publ) Challenge-response user authentication
JP2004016648A (ja) * 2002-06-19 2004-01-22 Crecia Corp 吸収コアを備えた使い捨ておむつ
JP4008868B2 (ja) * 2003-08-29 2007-11-14 大王製紙株式会社 吸収性物品
JP4401750B2 (ja) * 2003-11-25 2010-01-20 大王製紙株式会社 吸収体の製造方法およびこれにより得られた使い捨ておむつ用吸収体
JP4391375B2 (ja) * 2004-09-30 2009-12-24 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
BRPI0419206B8 (pt) * 2004-11-30 2021-06-22 Essity Hygiene & Health Ab artigo absorvente
JP2007267763A (ja) * 2006-03-30 2007-10-18 Kao Corp 吸収性物品及びその製造方法
JP4917366B2 (ja) * 2006-07-07 2012-04-18 ユニ・チャーム株式会社 使い捨ておむつ
JP5328273B2 (ja) * 2008-09-17 2013-10-30 ユニ・チャーム株式会社 体液吸収性物品
JP2012174195A (ja) * 2011-02-24 2012-09-10 Renesas Electronics Corp 認証システム

Also Published As

Publication number Publication date
CN103124547A (zh) 2013-05-29
EP2621437B1 (en) 2016-12-14
JP5847999B2 (ja) 2016-01-27
CN103124547B (zh) 2015-10-07
EP2621437A1 (en) 2013-08-07
JP5621907B2 (ja) 2014-11-12
EP2621437A4 (en) 2014-08-20
WO2012042908A1 (en) 2012-04-05
US20130245588A1 (en) 2013-09-19
JP2012075566A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
JP5621907B2 (ja) 共通鍵暗号を用いた認証システム
WO2012120671A1 (ja) 共通鍵暗号を用いた認証システム
CN106411521B (zh) 用于量子密钥分发过程的身份认证方法、装置及系统
AU2007294624B2 (en) A method and apparatus to provide authentication and privacy with low complexity devices
CN1708942B (zh) 设备特定安全性数据的安全实现及利用
US7571320B2 (en) Circuit and method for providing secure communications between devices
US8744078B2 (en) System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths
US20200076614A1 (en) Method of rsa signature or decryption protected using a homomorphic encryption
JP5954030B2 (ja) 暗号処理装置および方法
WO2013014778A1 (ja) 暗号化処理装置および認証方法
CN101433014A (zh) 通信装置及通信系统
CN112202544B (zh) 一种基于Paillier同态加密算法的智能电网数据安全聚合方法
US8462939B2 (en) RNS-based cryptographic system and method
Koko et al. Comparison of Various Encryption Algorithms and Techniques for improving secured data Communication
EP3379769A1 (en) Method of rsa signature or decryption protected using multiplicative splitting of an asymmetric exponent
CN113014380A (zh) 文件数据的密码管理方法、装置、计算机设备及存储介质
CN114257402B (zh) 加密算法确定方法、装置、计算机设备和存储介质
US7415110B1 (en) Method and apparatus for the generation of cryptographic keys
KR101105384B1 (ko) 키 암호화 및 셔플링이 적용된 부채널 공격에 안전한 키 관리방법
JP4955415B2 (ja) 複数の乱数列を用いた情報通信装置及び情報通信方法
KR101955484B1 (ko) 양자 채널 기반의 인증 수행 방법 및 인증 요청 방법
Halder et al. Information Security Using Key Management
JP2003283485A (ja) 暗号鍵管理方法及び暗号鍵管理システム
KR100778057B1 (ko) 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법
CN115913561A (zh) 一种面向泄露检测的口令认证方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140725

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: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140908

R150 Certificate of patent or registration of utility model

Ref document number: 5621907

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150