JPWO2014156620A1 - 集積回路、通信方法、コンピュータプログラム及び通信装置 - Google Patents

集積回路、通信方法、コンピュータプログラム及び通信装置 Download PDF

Info

Publication number
JPWO2014156620A1
JPWO2014156620A1 JP2015508260A JP2015508260A JPWO2014156620A1 JP WO2014156620 A1 JPWO2014156620 A1 JP WO2014156620A1 JP 2015508260 A JP2015508260 A JP 2015508260A JP 2015508260 A JP2015508260 A JP 2015508260A JP WO2014156620 A1 JPWO2014156620 A1 JP WO2014156620A1
Authority
JP
Japan
Prior art keywords
communication
information
encrypted
integrated circuit
devices
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
JP2015508260A
Other languages
English (en)
Other versions
JP6428601B2 (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of JPWO2014156620A1 publication Critical patent/JPWO2014156620A1/ja
Application granted granted Critical
Publication of JP6428601B2 publication Critical patent/JP6428601B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】近距離非接触無線通信の際に、安全に暗号通信を行うことが可能な集積回路を提供する。【解決手段】非接触通信により他の装置と通信を行う通信処理部と、前記通信処理部が前記他の装置との間で情報を暗号化した通信を実行する前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する暗号化情報生成部と、を備える、集積回路が提供される。係る集積回路は、他の装置との間の安全な近距離非接触無線通信を行うことを可能にする。【選択図】図2

Description

本開示は、集積回路、通信方法、コンピュータプログラム及び通信装置に関する。
IC(Integrated Circuit)カードを用いて、近距離で非接触により無線通信を行う近距離無線通信システムが広く利用されている。このような近距離無線通信システムは、例えば電子乗車券や、電子マネーとしての利用がよく知られている。また、最近では、近距離非接触無線通信による電子乗車券や電子マネーの機能を備えた携帯電話機も普及してきている。
近距離無線通信システムは、世界規模で急激に普及し、国際規格にもなっている。近距離無線通信システムの国際規格には、例えば近接型のICカードシステムの規格であるISO/IEC 14443、およびNFCIP(Near Field Communication Interface and Protocol)−1の規格であるISO/IEC 18092などがある。またISO/IEC 18092 transport protocolの上位レイヤープロトコルであるNFC LLCP(NFC Forum Logical Link Control Protocol、非特許文献1参照)において定義されるLLC PDU(Protocol Data Unit)は、複数コネクションの同時通信が可能となっている。
NFC Forum Logical Link Control Protocol TS 1.1
NFCIP−1のためのセキュリティオプションであるNFC−SEC技術(ISO/IEC 13157−1及びISO/IEC 13157−2)では、2つの装置の間で相互認証を行う機能が存在しない。NFC−SEC技術では、2つの装置を近づけただけで共有秘密情報(Shared secret)を生成する。従って、既存のNFC−SEC技術では、装置が近づいてしまえば、信頼出来ない相手にも共有秘密情報を交換して暗号通信を行なってしまっていた。
そこで本開示は、近距離非接触無線通信による暗号通信の際に、より安全に暗号通信を行うことが可能な、新規かつ改良された集積回路、通信方法、コンピュータプログラム及び通信装置を提供する。
本開示によれば、非接触通信により他の装置と通信を行う通信処理部と、前記通信処理部が前記他の装置との間で情報を暗号化した通信を実行する前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する暗号化情報生成部と、を備える、集積回路が提供される。
また本開示によれば、非接触通信により他の装置と通信を行うステップと、前記他の装置との間で情報を暗号化した通信が実行される前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断するステップと、を備える、通信方法が提供される。
また本開示によれば、コンピュータに、非接触通信により他の装置と通信を行うステップと、前記他の装置との間で情報を暗号化した通信が実行される前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断するステップと、を実行させる、コンピュータプログラムが提供される。
また本開示によれば、非接触通信により他の装置と通信を行う通信処理部、および前記通信処理部が前記他の装置との間で情報を暗号化した通信を実行する前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する暗号化情報生成部、を有する集積回路と、前記集積回路へ電源を供給する電源部と、を備える、通信装置が提供される。
以上説明したように本開示によれば、近距離非接触無線通信による暗号通信の際に、より安全に暗号通信を行うことが可能な、新規かつ改良された集積回路、通信方法、コンピュータプログラム及び通信装置を提供することが出来る。
本開示の一実施形態に係る近距離無線通信システム1の構成例を示す説明図である。 本開示の一実施形態に係る通信装置100の機能構成例を示す説明図である。 通信装置100のハードウェア構成の形態例を示す説明図である。 本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。 プロトコル層及び暗号化されるプロトコルデータの例を示す説明図である。 プロトコル層及び暗号化されるプロトコルデータの例を示す説明図である。 コマンドATR_REQの構造を示す説明図である。 コマンドATR_RESの構造を示す説明図である。 機器IDが格納されるデータの例を示す説明図である。 セキュリティプロトコル指示情報が格納されるデータの例を示す説明図である。 セキュリティプロトコル能力情報が格納されるデータの例を示す説明図である。 機器IDの比較結果が格納されるデータの例を示す説明図である。 コマンドDEP_REQ及びコマンドDEP_RESの構造を示す説明図である。 LLC PDUの構造を示す説明図である。 PTYPEフィールドに格納される情報を示す説明図である。 NFC−SECのプロトコルデータユニットの構造を示す説明図である。 NFC−SECのプロトコルデータユニットの各コマンドが使用するフィールドの関係を示す説明図である。 SEPフィールドのビット割り当てを示す説明図である。 SEPフィールドに格納されるコード及びそのコードが示す内容の対応関係を示す説明図である。 本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。 通信装置100、200の間の処理シーケンスを示す流れ図である。 通信装置100、200の間の処理シーケンスを示す流れ図である。 通信装置100、200の間の処理シーケンスを示す流れ図である。 通信装置100、200の間の処理シーケンスを示す流れ図である。 通信装置100、200の間の処理シーケンスを示す流れ図である。 通信装置100、200の間の処理シーケンスを示す流れ図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
<1.本開示の一実施形態>
[システム構成例]
[通信装置の機能構成例]
[通信装置の動作例(基本シーケンス)]
[プロトコル及びプロトコルメッセージ例]
[通信装置の動作例(具体的な処理フローの例)]
<2.まとめ>
<1.本開示の一実施形態>
[システム構成例]
まず、本開示の一実施形態に係る近距離無線通信システムの構成例を説明する。図1は本開示の一実施形態に係る近距離無線通信システム1の構成例を示す説明図である。以下、図1を用いて本開示の一実施形態に係る近距離無線通信システムの構成例について説明する。
図1に示したように、本開示の一実施形態に係る近距離無線通信システム1は、通信装置100、200を含んで構成される。通信装置100、200は、いずれも、ISO/IEC 18092及びISO/IEC 14443の両方または一方による近距離無線通信を行う通信装置である。また通信装置100、200は、いずれもISO/IEC 18092 transport protocolの上位レイヤープロトコルであるLLCPによる近距離無線通信を行う通信装置である。
通信装置100、200は、いずれもポーリングデバイス(Polling device)、リスニングデバイス(Listening device)のいずれとしても動作することができる。ポーリングデバイスは、電磁波を発生することにより、いわゆるRF(Radio Frequency)フィールド(磁界)を形成し、リモートターゲットとしてのリスニングデバイスを検出するためにポーリングコマンドを送信し、リスニングデバイスからのレスポンスを待つ。つまりポーリングデバイスは、ISO/IEC 14443のPCD(Proximity Coupling Device)の動作、または、ISO/IEC 18092のパッシブモードのイニシエータの動作を行う。
リスニングデバイスは、ポーリングデバイスがRFフィールドを形成して送信するポーリングコマンドを受信すると、ポーリングレスポンスで応答する。つまりリスニングデバイスは、ISO/IEC 14443のPICCの動作、または、ISO/IEC 18092のパッシブモードのターゲットの動作を行う。従って、通信装置100、200は、同一のハードウェア構成とすることができる。
以下の説明では、通信装置100を取り上げて、その構成及び動作について説明する。また通信装置100の動作について説明する際には必要に応じて通信装置200の動作についても併せて説明する。
以上、図1を用いて本開示の一実施形態に係る近距離無線通信システムの構成例について説明した。次に、本開示の一実施形態に係る通信装置100の機能構成例について説明する。
[通信装置の機能構成例]
図2は、本開示の一実施形態に係る通信装置100の機能構成例を示す説明図である。以下、図2を用いて本開示の一実施形態に係る通信装置100の機能構成例について説明する。
図2に示したように、本開示の一実施形態に係る通信装置100は、制御部110と、記憶部111と、アプリケーション実行部120と、RF通信部130と、を含んで構成される。なお、図示しないが、通信装置100はRF通信部130(集積回路)に電源を供給する電源部をさらに備える。
制御部110は、通信装置100の動作を制御する。制御部110は、例えば、記憶部111に格納されているコンピュータプログラムを読み出して順次実行することで、通信装置100の動作を制御しても良い。また記憶部111は、制御部110で実行されるコンピュータプロフラムや、制御部110での制御時に用いられるデータを一時的に格納したりする記憶領域である。また記憶部111には、RF通信部130が使用するデータについても格納される。
記憶部111には、共有秘密情報及び通信相手を一意に識別できる識別情報(例えば機器ID)が記憶され得る。共有秘密情報は、通信装置100と通信装置200との間の暗号通信や相互認証を行うために用いられる情報である。従って、記憶部111は、通信装置100の外部から中身が読み取られないように耐タンパ性を有しておくことが望ましい。
アプリケーション実行部120は、LLCPを利用するアプリケーションを実行する。アプリケーション実行部120は、同時に複数のアプリケーションを実行しても良い。アプリケーション実行部120によって実行されるアプリケーションは、それぞれ個別のサービスアクセスポイント(Service Access Point;SAP)を有する。
RF通信部130は、所定の周波数による近距離無線通信を実行する。RF通信部130は、図2に示したように、LLCPコネクション処理部131と、LLCPリンクプロトコル処理部132と、暗号処理部133と、NFC−SECプロトコル処理部134と、NFCIP−1プロトコル処理部135と、を含んで構成される。
LLCPコネクション処理部131は、指定された送信元サービスアクセスポイント(Source Service Access Point;SSAP)及び宛先サービスアクセスポイント(Destination Service Access Point;DSAP)に従って、対応するアプリケーション(例えばアプリケーション実行部120で実行されるアプリケーション)との間でデータ授受を実行する。
LLCPリンクプロトコル処理部132は、LLCPリンクの活性化(すなわち、NFCIP−1プロトコルの活性化)、維持、非活性化を実行する。
暗号処理部133は、通信装置100と通信装置200との間で暗号化された近距離非接触無線通信が実行される際に、NFC−SECその他の暗号方式で規定された暗号処理を実行する。暗号処理部133は、暗号処理として、例えば通信されるデータ列の暗号化、メッセージ認証符号(Message Authentication Code;MAC)の生成、乱数の生成等を実行する。
NFC−SECプロトコル処理部134は、NFC−SECで規定されたプロトコルを処理する。NFC−SECで規定されたプロトコルには、SSE(Shared SEcret service)及びSCH(Secure CHannel service)がある。SSEは、NFC−SECを使用するデバイスの間で、共有秘密情報を生成し、デバイス間で共有するサービスである。またSCHは、SSEで共有された共有秘密情報を用いて、NFC−SECを使用するデバイスの間で暗号化通信を実行するサービスであり、すべてのチャネルの通信が暗号化される。NFC−SECプロトコル処理部134は、本開示の暗号化情報生成部の一例に該当する。NFCIP−1プロトコル処理部135は、NFCIP−1で規定されたプロトコルを処理する。
本開示の一実施形態に係る通信装置100は、図2に示したような構成を有することで、RF通信部130によって、通信装置200との間の近距離無線通信を実行する。
図2に示したRF通信部130は、例えば非接触無線チップ(CLF;Contactless Front End)として、1つのICチップ上で実現されるようにしてもよい。なお、図2に示したRF通信部130に加えて、制御部110もCLFとして1つのICチップ上で実現されるようにしてもよい。さらに、RF通信部130及び制御部110に加えて、記憶部111もCLFとして1つのICチップ上で実現されるようにしてもよい。
この他にも、本開示の一実施形態に係る通信装置100のハードウェア構成は様々な形態を採り得る。例えば、図2に示した通信装置100がCLF、DH(Device Host)、SE(Secure Element)で構成される場合、通信装置100のハードウェア構成は、図3に示すような形態のいずれかを採り得る。
図3のケース1は、全ての機能がCLFで処理される。すなわち、CLFの内部でセキュアに情報が格納される。図3のケース2は、情報の格納のみをSEが行い、その他の処理はCLFが行う。図3のケース3は、RF通信はCLFが行い、通信装置100の制御及び情報の格納はSEが行う。図3のケース4は、RF通信はCLFが行い、通信装置100の制御はDHが行い、情報の格納はSEが行う。図3のケース5は、RF通信はCLFが行い、通信装置100の制御及び情報の格納をDHが行うことで、DH内部でセキュアに情報が格納される。
なお図2には図示しないが本開示の一実施形態に係る通信装置100は、所定の周波数で他の装置と近距離非接触無線通信を行うためのアンテナが設けられ得る。係るアンテナは例えばRF通信部130に設けられ得る。
以上、図2を用いて本開示の一実施形態に係る通信装置100の機能構成例について説明した。次に、本開示の一実施形態に係る通信装置100の動作例について説明する。
[通信装置の動作例(基本シーケンス)]
まず、2台の通信装置100、200の間で安全に相互認証を行う場合の基本シーケンスの例を示す。図4は、本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。この図4に示した動作は、例えばRF通信部130がLLCPによって実行し得る。以下、図4を用いて本開示の一実施形態に係る通信装置100、200の動作例について説明する。
通信装置100、200を至近距離に近づけることでRF通信が行われる場合、まず通信装置100、200は、記憶部111に記憶されているお互いの機器IDをRF通信により交換する(ステップS101)。図4に示した基本シーケンスのように、例えば通信装置200から受け取った機器IDが通信装置100の中に保存されている機器IDと一致しなかった場合、又は、通信装置100から受け取った機器IDが通信装置200の中に保存されている機器IDと一致しなかった場合は、通信装置100と通信装置200とによるRF通信は初めてだと判断される。通信装置100と通信装置200とによるRF通信が初めてだと判断すると、通信装置100、200は、NFC−SECによる共有秘密情報K1を生成する(ステップS102)。生成した共有秘密情報K1は、お互い、通信相手を識別する機器IDと紐付けられて、通信装置100、200の内部に保存される。通信装置100、200は、NFC−SECによる共有秘密情報K1を生成すると、RF通信を一旦終了する。
通信装置100、200はそれぞれ、上記ステップS101の機器IDを交換の際に相手を記憶しておくかどうか選択できるようにしてもよい。例えば、ユーザが自分の目で信頼する相手だと確認してから、通信装置100で表示されるユーザインタフェースを操作するというユースケースが想定され得る。
以上、図4を用いて、お互いの機器IDを交換した際に、取得した機器IDが保存されている機器IDと一致しなかった場合の、通信装置100、200の動作例について説明した。
図5は、本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。この図5に示した動作は、例えばRF通信部130がLLCPによって実行し得る。以下、図5を用いて本開示の一実施形態に係る通信装置100、200の動作例について説明する。
通信装置100、200を至近距離に近づけることでRF通信が行われる場合、まず通信装置100、200は、記憶部111に記憶されているお互いの機器IDをRF通信により交換する(ステップS111)。図5に示したシーケンスのように、通信装置200から受け取った機器IDが通信装置100の中に保存されている機器IDと一致した場合、及び、通信装置100から受け取った機器IDが通信装置200の中に保存されている機器IDと一致した場合は、通信装置100と通信装置200とによるRF通信が以前に行われ、NFC−SECによる共有秘密情報K1が生成済みであると判断される。通信装置100と通信装置200とによるRF通信が以前に行われたと判断すると、通信装置100、200は、共有秘密情報K1を秘密鍵として相互認証を行い、相互認証の後にセッション鍵K2を生成する(ステップS112)。セッション鍵K2を生成すると、通信装置100、200はお互いに暗号化したRF通信を行う(ステップS113)。
以上、図5を用いて、お互いの機器IDを交換した際に、取得した機器IDが保存されている機器IDと一致した場合の、通信装置100、200の動作例について説明した。
なお、一方だけで機器IDが一致したと判断された場合は、上記ステップS112の相互認証の時点で相互認証が失敗することになる。一方だけで機器IDが一致したと判断された場合としては、例えば通信装置200において、通信装置100の機器IDが破棄されたような場合が考えられ得る。このような場合を考慮したシーケンス例について説明する。
図6は、本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。図6に示した流れ図は、お互いの機器IDを交換した後に、通信装置100、200のそれぞれで、取得した機器IDと保存されている機器IDとを比較する場合のシーケンス例である。以下、図6を用いて本開示の一実施形態に係る通信装置100、200の動作例について説明する。
通信装置100、200を至近距離に近づけることでRF通信が行われる場合、まず通信装置100、200は、記憶部111に記憶されているお互いの機器IDをRF通信により交換する(ステップS121)。お互いの機器IDを交換すると、続いて通信装置100、200はそれぞれ、内部での機器IDの比較結果を交換する(ステップS122)。
上記ステップS122で、お互いに内部での機器IDの比較結果を交換した結果、機器IDが一致しなかったことが分かった場合は、通信装置100と通信装置200とによるRF通信は初めてだと判断される。通信装置100と通信装置200とによるRF通信が初めてだと判断すると、通信装置100、200は、NFC−SECによる共有秘密情報K1を生成する(ステップS123)。通信装置100、200は、NFC−SECによる共有秘密情報K1を生成すると、RF通信を一旦終了する。
図7は、本開示の一実施形態に係る通信装置100、200の動作例を示す流れ図である。図7に示した流れ図は、お互いの機器IDを交換した後に、通信装置100、200のそれぞれで、取得した機器IDと保存されている機器IDとを比較する場合のシーケンス例である。以下、図7を用いて本開示の一実施形態に係る通信装置100、200の動作例について説明する。
通信装置100、200を至近距離に近づけることでRF通信が行われる場合、まず通信装置100、200は、記憶部111に記憶されているお互いの機器IDをRF通信により交換する(ステップS131)。お互いの機器IDを交換すると、続いて通信装置100、200はそれぞれ、内部での機器IDの比較結果を交換する(ステップS132)。
上記ステップS132で、お互いに内部での機器IDの比較結果を交換した結果、機器IDが一致したことが分かった場合は、通信装置100と通信装置200とによるRF通信が以前に行われ、NFC−SECによる共有秘密情報K1が生成済みであると判断される。通信装置100と通信装置200とによるRF通信が以前に行われたと判断すると、通信装置100、200は、共有秘密情報K1を秘密鍵として相互認証を行い、相互認証の後にセッション鍵K2を生成する(ステップS133)。セッション鍵K2を生成すると、通信装置100、200はお互いに暗号化したRF通信を行う(ステップS134)。
このように、お互いの機器IDを交換した後に、通信装置100、200のそれぞれで、取得した機器IDと保存されている機器IDとを比較し、その比較結果を交換することで、相互認証の時点での相互認証の失敗が回避される。
このように動作することで、本開示の一実施形態に係る通信装置100は、他の通信装置(例えば通信装置200)との間で近距離無線通信を実行する際に、NFC−SECを用いた相互認証を安全に実行することが出来る。すなわち、本開示の一実施形態に係る通信装置100は、近距離無線通信を実行する相手が、以前に機器IDを交換し、NFC−SECによる共有秘密情報K1が生成済みであることを判断してから、その相手との間の暗号通信を実行することが出来る。
以上、2台の通信装置100、200の間で安全に相互認証を行う場合の基本シーケンスの例について説明した。次に、本開示の一実施形態に係る通信装置100のより具体的な動作例について説明する。
[プロトコル及びプロトコルメッセージ例]
ここで、本開示の一実施形態に係る通信装置100のより具体的な動作例について説明する前に、本開示の一実施形態に係る通信装置100が実行する近距離無線通信において用いられるプロトコル及びそのプロトコルで用いられるプロトコルメッセージの例を説明する。
図8は、本開示の一実施形態に係る通信装置100が実行する近距離無線通信において用いられるプロトコルのプロトコル層、及び暗号化されるプロトコルデータの例を示す説明図である。
図8に示したように、NFCIP−1層の上位にNFC−SEC層が位置する。NFC−SEC層の上位に、例えばLLCP層が位置する。LLCP層にはリンク層とトランスポート層とがある。LLC PDUはリンク層で扱われ、LLC I PDUはトランスポート層(コネクション指向トランスポート)で扱われる。
NFC−SECによって生成された鍵を秘密鍵として、鍵共有を行って生成した別のセッション鍵は、上位層のプロトコルデータの暗号化に適用することができる。例えばNFC−SECによって生成された鍵を秘密鍵として、鍵共有を行って生成した別のセッション鍵は、LLC PDUやLLC I PDUのInformationフィールドの暗号化に適用し得る。
なお鍵共有の際には、NFC−SECは必ずしも利用されなくても良い。鍵の共有にNFC−SECを利用しない場合は、図8に示したNFC−SEC PDUは使用されない。従って鍵共有にNFC−SECを利用しない場合は、鍵共有は、複数のコネクションを確立して同時に通信を実行することが可能なLLC PDUを使って行われる。図9は、本開示の一実施形態に係る通信装置100が実行する近距離無線通信において用いられるプロトコルのプロトコル層と、暗号化されるプロトコルデータの例を示す説明図であり、鍵共有にNFC−SECを利用しない場合を示した図である。
通信装置100は、機器ID及びセキュリティプロトコル指示情報の交換に、ISO/IEC 18092で定義されるATR_REQ及びATR_RESのGeneral Bytes(汎用バイト)を利用する。
図10は、ISO/IEC 18092で用意されているリクエストコマンドである、コマンドATR_REQの構造を示す説明図である。コマンドATR_REQは、イニシエータが、ターゲットに対して、自身の属性情報(仕様)を知らせるとともに、ターゲットの属性情報を要求するときに、ターゲットに送信される。ここで、イニシエータまたはターゲットの属性情報としては、そのイニシエータまたはターゲットが送受信することのできるデータの伝送レートなどがある。なお、コマンドATR_REQには、イニシエータの属性情報の他、そのイニシエータを特定するNFCIDなどが配置され、ターゲットは、コマンドATR_REQを受信することにより、イニシエータの属性情報とNFCIDを認識する。
図10に示したように、コマンドATR_REQは、先頭から(図10中左から)、CMD0フィールド、CMD1フィールドおよび、Byte0〜Byte14+nフィールド(nは0以上の整数値)から構成されている。
CMD0フィールドとCMD1フィールドには、それぞれ、このコマンドがコマンドATR_REQであることを示す値“D4”と“00”が格納される。Byte0〜Byte9フィールドには、このコマンドATR_REQを送信する通信装置(イニシエータ)を特定するNFCID(nfcid3i0〜nfcid3i9)が格納される。Byte10フィールドには、このコマンドATR_REQを送信するイニシエータのデバイスIDであるDIDiが設定される。Byte10フィールドは、DIDiフィールドとも称される。
Byte11フィールドには、このコマンドATR_REQを送信するイニシエータがデータを送信することができるビットレート(伝送レート)BSiが設定される。Byte12フィールドには、このコマンドATR_REQを送信するイニシエータがデータを受信することができるビットレート(伝送レート)BRiが設定される。
Byte13フィールドには、このコマンドATR_REQを送信するイニシエータについてのオプションパラメータPPiが設定される。このByte13フィールドには、例えば、自デバイスがNFC−SECによる処理が可能であることを示すパラメータが設定される。
Byte14〜Byte14+nフィールドのそれぞれは、設計者等により指定される各種情報が設定されるフィールドであって、オプションとして用意されているフィールドである。値nは、設計者等により可変可能とされており、0以上の整数値となる。この値nは、後述するように、PPiフィールドに設定される。以下、n個のGiフィールドのそれぞれを、その配置順に(図10中左から順に)、Gi[0]〜Gi[n]フィールドと呼ぶ。
図11は、ISO/IEC 18092で用意されているレスポンスコマンドである、コマンドATR_RESの構造を示す説明図である。コマンドATR_RESは、ターゲットが、コマンドATR_REQを受信した場合に、そのコマンドATR_REQに対するレスポンスとして、イニシエータに送信される。コマンドATR_RESには、ターゲットの属性情報やNFCIDなどが配置される。
図11に示したように、コマンドATR_RESは、先頭から(図11中左から)、CMD0フィールド、CMD1フィールド、および、Byte0〜Byten+15フィールド(nは0以上の整数値)から構成されている。
CMD0フィールドとCMD1フィールドには、それぞれ、このコマンドがコマンドATR_RESであることを示す値“D5”と“01”が格納される。Byte0〜Byte12フィールドには、上述したコマンドATR_REQのByte0〜Byte12フィールドと同様のデータが設定される。すなわち、Byte0〜Byte9フィールドには、このコマンドATR_RESを送信するデバイス、即ち、ターゲットを特定するNFCIDが格納される。Byte10フィールドには、このコマンドATR_REQを送信するイニシエータが指定したデバイスIDまたはゼロが設定される。Byte10フィールドは、DIDtフィールドとも称される。
Byte11フィールドには、このコマンドATR_RESを送信するターゲットがデータを送信することができるビットレート(伝送レート)BStが設定される。Byte12フィールドには、このコマンドATR_RESを送信するターゲットがデータを受信することができるビットレート(伝送レート)BRtが設定される。Byte13フィールドには、ターゲットのタイムアウトの値TOが設定される。
Byte14フィールドは、コマンドATR_REQのByte13フィールドと同様である。すなわち、Byte14フィールドには、このコマンドATR_RESを送信するターゲットについてのオプションパラメータPPtが設定される。なお、以下、コマンドATR_RESのByte14フィールドを、PPtフィールドとも称する。
Byte15〜Byte15+nフィールドは、コマンドATR_REQのByte14〜Byte14+nフィールドとそれぞれ同様である。すなわち、Byte15〜Byte15+nフィールドは、上位層のアプリケーションや設計者等により指定される各種情報が設定されるフィールドであって、オプションとして用意されているフィールドである。値nは、設計者等により可変可能とされており、0以上の整数値となる。以下、n個のGtフィールドのそれぞれを、その配置順に(図11中左から順に)、Gt[0]〜Gt[n]フィールドと呼ぶ。
本実施形態では、ATR_REQの場合はGi[n]に、ATR_RESの場合はGt[n]に,それぞれ自身の機器IDと、セキュリティプロトコル指示情報とを格納して相手へ通知する。これらの情報はLLC PAX PDUを使って交換してもよい。
本実施形態で用いられる機器IDは、例えばICチップ固有のIDを用いてもよい。すなわち本実施形態で用いられる機器IDは、ISO/IEC JTC 1/SC 17 N 4140で割り当てられる値によって製造者が識別できるようにしてもよい。例えば本実施形態で用いられる機器IDは、図12に示したように、TLV(Type−length−value)形式によってATR_REQ及びATR_RESに格納されても良い。
上述のセキュリティプロトコル指示情報は、相手機器と暗号通信を行うかどうか、また暗号通信を行う場合はセッション鍵生成方法と暗号化範囲を示すための情報である。セキュリティプロトコル指示情報は、例えば図13に示したようなTLV形式を用いて、ATR_REQ及びATR_RESに格納されても良い。セキュリティプロトコル指示情報で指定する値を、セキュリティプロトコル番号と称する。
セキュリティプロトコルには、鍵共有の方法(例えばISO/IEC 13157−2で定義される方法)、相互認証の方法(例えばISO/IEC 9798−2をベースとした方法)、及び通信暗号化の方法(例えばISO/IEC 18033やISO/IEC 29192で定義される方法)が含まれ得る。
本実施形態では、PAX PDUを利用した機器ID及びセキュリティプロトコル指示情報の交換の際に、図14に示したような、自装置のセキュリティプロトコル能力情報、すなわち、どのセキュリティプロトコルが使用可能かについての情報を相手に提供し、相手に選択を促すようにしてもよい。
取得した機器IDと保存されている機器IDとの比較は,それぞれの通信装置で実行されるので、一方の通信装置では両者が一致し、もう一方の通信装置では両者が一致しない場合もありうる。そこで、上述し、また図6及び図7で示したように、取得した機器IDと保存されている機器IDとの比較結果を相手に通知することで,失敗することが明らかな相互認証を開始する必要が無くなる。例えば、図15に示したようなTLV形式を用い、PAX PDUを利用して機器IDの比較結果の情報を相手に通知しても良い。
本実施形態に係る通信装置100、200は、ATR_REQ/RES交換後のデータ交換に、ISO/IEC 18092で用意されているDEP_REQ及びDEP_RESを利用する。
図16は、ISO/IEC 18092で用意されているリクエストコマンドであるコマンドDEP_REQ、及びレスポンスコマンドであるコマンドDEP_RESの構造を示す説明図である。コマンドDEP_REQは、イニシエータが、データ(いわゆる実データ)の送受信(ターゲットとの間のデータ交換)を行うときに送信され、そこには、ターゲットに送信すべきデータが配置される。コマンドDEP_RESは、ターゲットが、コマンドDEP_REQに対するレスポンスとして送信し、そこには、イニシエータに送信すべきデータが配置される。従って、コマンドDEP_REQによって、イニシエータからターゲットにデータが送信され、そのコマンドDEP_REQに対するレスポンスであるコマンドDEP_RESによって、ターゲットからイニシエータにデータが送信される。
NFC−SECの上位層の例として,LLCPがある。図17は、LLC PDUの構造を示す説明図である。図17に示したように、LLC PDUは、DSAPフィールドと、PTYPE(Payload data unit type)フィールドと、SSAPフィールドと、Sequenceフィールドと、Informationフィールドと、で構成される。DSAPフィールド、PTYPEフィールド、SSAPフィールド及びSequenceフィールドはLLCPヘッダで、InformationフィールドはLLCPペイロードである。
DSAPフィールドには、DSAPのアドレスが格納される。PTYPEフィールドにはPDUのタイプが格納される。PDUのタイプはNFC Forum Logical Link Control Protocolにおいて定義されており、そのPDUのタイプに応じた値が格納される。SSAPフィールドには、SSAPのアドレスが格納される。Sequenceフィールドには、LLC PDUのシーケンス番号が格納される。Informationフィールドには、LLC PDUによってやり取りされる情報が格納される。
図18は、図17に示したLLC PDUの構造におけるPTYPEフィールドに格納される情報を示す説明図である。図18の“PTYPE”が図17のPTYPEフィールドに格納される値である。図18に示した値はNFC Forum Logical Link Control Protocol TSにおいて決められている値である。
本実施形態に係る通信装置100、200は、共有秘密情報の生成に、ISO/IEC 13157−1で用意されているACT_REQ、ACT_RES及びVFY_REQ、VFY_RESを利用する。図19は、NFC−SECのプロトコルデータユニットの構造を示す説明図である。図19に示したように、NFC−SECのプロトコルデータユニットは、SEP(Secure Exchage Protocol)、PID(Protocol Identifier)及びNFC−SEC Payloadの各フィールドで構成される。
SEPフィールドには、NFC−SECのプロトコルデータユニットのタイプや、SSEとSCHのどちらを使用しているか等のデータが格納される。図20は、NFC−SECのプロトコルデータユニットの各コマンドが使用するフィールドの関係を示す説明図である。mは値の格納が義務付けられ、pは値の格納が禁止され、cは条件付きで値の格納が認められることを示す。
また、図21は、SEPフィールドのビット割り当てを示す説明図であり、図22は、SEPフィールドに格納されるコード及びそのコードが示す内容の対応関係を示す説明図である。PIDフィールドには、NFC−SECによる暗号処理で用いられるPIDが格納される。NFC−SEC PayloadフィールドにはNFC−SECによる暗号処理で使用されるデータが格納される。
NFC−SECにより生成される共有秘密情報K1を用いた、通信装置100、200の間の相互認証は、LLC SAC PDU(Security Activation PDU)を利用する。本実施形態においては、このPDUはPTYPEフィールドに“1010b”が指定される。表1は、LLC SAC PDUを利用して通信装置100、200の間の相互認証を実行する場合のパラメータの例を示す表である。
Figure 2014156620
表1で示されている、SK1_REQ TLV、SK1_RES TLV、SK2_REQ TLV、およびSK2_RES TLVは、LLC SAC PDUにより鍵を共有するためのパラメータである。表2は、SK1_REQ TLV、SK1_RES TLV、SK2_REQ TLV、およびSK2_RES TLVとして授受される鍵共有用のパラメータ例を示す表である。
Figure 2014156620
表2に示したパラメータにおいて、Len及びValueは,セキュリティプロトコル番号に対応するセキュリティプロトコルで定義された値が用いられる。Descriptionで記載されるパラメータは、例えばISO/IEC13157−2で定義されるKey agreement及びKey confirmationを利用する場合のパラメータである。
また表1で示されている、SA1_REQ TLV、SA1_RES TLV、SA2_REQ TLV、およびSA2_RES TLVは、LLC SAC PDUにより相互認証を実行するためのパラメータである。表3は、SA1_REQ TLV、SA1_RES TLV、SA2_REQ TLV、およびSA2_RES TLVとして授受される相互認証用のパラメータを示す説明図である。
Figure 2014156620
表2に示したパラメータにおいて、Len及びValueは,セキュリティプロトコル番号に対応するセキュリティプロトコルで定義された値が用いられる。また表2に示したパラメータにおいて、Descriptionで記載されるパラメータは、例えばISO/IEC 9798−2で定義されるThree−pass authenticationを利用する場合のパラメータである。Four−pass authenticationを利用する場合は、別のパラメータが指定される。
NFC−SECにより生成される共有秘密情報K1によって相互認証された通信装置100、200の間の、LLCリンク層での暗号通信は、LLC PUI PDU(Protected Unnumbered Information)が用いられる。本実施形態においては、このPDUはPTYPEフィールドに“1011b”が指定される。表4は、LLC PUI PDUを利用して、通信装置100、200の間のLLCリンク層での暗号通信を実行する場合のパラメータの例を示す表である。
Figure 2014156620
表4に示したInformationフィールドは、予め交換されるセキュリティプロトコル番号に対応するセキュリティプロトコルで定義されるので、暗号通信時のセキュリティプロトコルに依存する。
以上、本開示の一実施形態に係る通信装置100が実行する近距離無線通信において用いられるプロトコル及びそのプロトコルで用いられるプロトコルメッセージの例を説明した。続いて、本開示の一実施形態に係る通信装置100のより具体的な動作例について説明する。
[通信装置の動作例(具体的な処理フローの例)]
本開示の一実施形態に係る通信装置100の動作例として2つのケースを示す。1つ目のケースは、通信装置100が最初に暗号通信の実行を指示するケースであり、通信装置100は機器ID及びセキュリティ指示情報をATR_REQ及びATR_RESで交換する。2つ目のケースは、通信装置100が後から暗号通信の実行を指示するケースであり、通信装置100は機器ID及びセキュリティ指示情報をLLC PAX PDUで交換する。以下の説明では、前者をケース1、後者をケース2として説明する。
図23は、本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。図23に示したのは、上述のケース1でイニシエータとして動作する場合の通信装置100の動作例である。以下、図23を用いて本開示の一実施形態に係る通信装置100の動作例について説明する。
通信装置100は、他の通信装置(以下では通信装置200として説明する)との間で近距離無線通信により自装置の機器ID及びセキュリティプロトコル指示情報を交換する際に、ATR_REQのGi[n]に、自装置の機器ID及びセキュリティプロトコル指示情報をセットする(ステップS201)。ステップS201の処理は例えば制御部110が実行し得る。
ATR_REQのGi[n]に、自装置の機器ID及びセキュリティプロトコル指示情報をセットすると、続いて通信装置100は、情報をセットしたATR_REQを通信装置200へ近距離無線通信により送信する(ステップS202)。ステップS202の送信処理はRF通信部130が実行し得る。
情報をセットしたATR_REQを通信装置200へ近距離無線通信により送信すると、続いて通信装置100は、ATR_REQに対するレスポンスであるATR_RESを通信装置200から近距離無線通信により受信する(ステップS203)。ステップS203の受信処理はRF通信部130が実行し得る。ATR_RESのGt[n]には、通信装置200の機器ID及びセキュリティプロトコル指示情報がセットされている。
ATR_REQに対するレスポンスであるATR_RESを通信装置200から近距離無線通信により受信すると、続いて通信装置100は、記憶部111に記憶されている機器IDの中に、ATR_RESにセットされている通信装置200の機器IDと同じものがあるかどうか判断する(ステップS204)。ステップS204の判断処理は制御部110が実行し得る。
ステップS204の判断の結果、記憶部111に記憶されている機器IDの中に、ATR_RESにセットされている通信装置200の機器IDと同じものがあると判断した場合、続いて通信装置100は、通信装置200との相互認証を実行する(ステップS205)。通信装置100は、通信装置200との相互認証の実行に際し、相手の機器IDに対応する共有秘密情報K1を秘密鍵として用い、相手の機器IDに対応するセキュリティプロトコルS1で指定された方式に従うことで通信装置200との相互認証を実行する。通信装置200との相互認証処理は、例えば制御部110や、LLCPリンクプロトコル処理部132や、NFC−SECプロトコル処理部134が実行し得る。
通信装置200との相互認証を実行すると、続いて通信装置100は、通信装置200との相互認証が成功したかどうか判断する(ステップS206)。ステップS206の判断処理は制御部110が実行し得る。なお、通信装置100で共有秘密情報K1を保持していても、通信装置200で共有秘密情報K1が保持されていない場合は、通信装置100と通信装置200との間の相互認証は失敗する。
上記ステップS206の判断の結果、通信装置200との相互認証が成功した場合は、通信装置100は、相互認証された通信装置200との間での暗号通信を実行する。
ステップS204の判断の結果、記憶部111に記憶されている機器IDの中に、ATR_RESにセットされている通信装置200の機器IDと同じものがないと判断した場合、または、上記ステップS206の判断の結果、通信装置200との相互認証が失敗した場合は、通信装置100は、通信装置200との間の相互認証のための共有秘密情報K1を生成するかどうか判断する(ステップS207)。ステップS207の判断処理は制御部110が実行し得る。また、共有秘密情報K1を生成するかどうかは、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
ステップS207の判断の結果、共有秘密情報K1を生成しないと判断した場合は、通信装置100は、通信装置200との間の通信を非暗号で行うかどうか判断する(ステップS208)。ステップS208の判断処理は制御部110が実行し得る。また通信装置200との間の通信を非暗号で行うかどうか、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
上記ステップS208の判断の結果、通信装置200との間の通信を非暗号で行うと判断した場合は、通信装置100は、(相互認証されていない)通信装置200との間での非暗号通信を実行する。
一方、ステップS207の判断の結果、共有秘密情報K1を生成すると判断した場合は、通信装置100は、NFC−SECのSSEサービスを用いて共有秘密情報K1を生成する(ステップS209)。ステップS209の共有秘密情報K1の生成は、例えばRF通信部130、より具体的にはNFC−SECプロトコル処理部134が実行し得る。
NFC−SECのSSEサービスを用いて共有秘密情報K1を生成すると、通信装置100は、上記ステップS203で受信したATR_RESのGt[n]にセットされている通信装置200の機器IDに、上記ステップS209で生成した共有秘密情報K1を対応付けて登録する(ステップS210)。ステップS210の登録処理は、例えば制御部110が、通信装置200の機器IDに共有秘密情報K1を対応付けて記憶部111に記憶させることで実行し得る。
上記ステップS208での判断の結果、通信装置200との間の通信を非暗号では行わないと判断した場合、または上記ステップS210での登録処理が完了した場合は、通信装置100は、RF通信を終了する。
このように、通信装置100が最初に暗号通信の実行を指示する場合には、近距離無線通信の相手と過去に通信した履歴が双方にあり、その過去の通信で共有秘密情報K1が双方に保存されていれば、相互認証が成功する。通信装置100は、相互認証を経てからでないと通信相手との暗号化された近距離無線通信を実行することが出来ないので、より安全な暗号化された近距離無線通信を実行出来る。
なお通信装置100は、図23に示した例において、ステップS205における相互認証処理の開始に先立って、相手側の機器である通信装置200に対し、自装置、すなわち通信装置100の機器IDを持っているかどうかを問い合わせても良い。通信装置100は、当該問い合わせを、PAX PDUを使用して行い得る。
図24A及び図24Bは、本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。図24A及び図24Bに示したのは、上述のケース2で動作する場合の通信装置100の動作例である。以下、図24A及び図24Bを用いて本開示の一実施形態に係る通信装置100の動作例について説明する。
通信装置100は、他の通信装置(以下では通信装置200として説明する)との間で近距離無線通信を実行する際に、まずATR_REQを通信装置200へ近距離無線通信により送信する(ステップS211)。ステップS202の送信処理はRF通信部130が実行し得る。
ATR_REQを通信装置200へ近距離無線通信により送信すると、続いて通信装置100は、ATR_REQに対するレスポンスであるATR_RESを通信装置200から近距離無線通信により受信する(ステップS212)。ステップS212の受信処理はRF通信部130が実行し得る。
続いて通信装置100は、通信装置200との間で非暗号の近距離無線通信を開始する(ステップS213)。通信装置100は、通信装置200との間で非暗号の近距離無線通信を実行している間、装置内のアプリケーションや、ユーザインタフェース等から、相手機器である通信装置200と暗号通信を行う指示を受領したかどうか判断する(ステップS214)。ステップS214の判断処理は、例えば制御部110が実行し得る。
上記ステップS214の判断の結果、通信装置200と暗号通信を行う指示を受領していなければ、通信装置100は、通信装置200との間での非暗号の近距離無線通信を継続する。一方、上記ステップS214の判断の結果、通信装置200と暗号通信を行う指示を受領していれば、続いて通信装置100は、相手機器である通信装置200から機器IDを受領済みかどうか判断する(ステップS215)。ステップS214の判断処理は、例えば制御部110が実行し得る。
ステップS215の判断の結果、通信装置200から機器IDを受領済みで無ければ、通信装置100は、LLC PAX PDUにより通信装置200との間で機器ID及びセキュリティプロトコル指示情報を交換する(ステップS216)。このステップS216の交換処理は、RF通信部130、具体的にはLLCPコネクション処理部131が実行し得る。
通信装置200から機器IDを受領すると、続いて通信装置100は、記憶部111に記憶されている機器IDの中に、ATR_RESにセットされている通信装置200の機器IDと同じものがあるかどうか判断する(ステップS217)。ステップS217の判断処理は制御部110が実行し得る。
ステップS217の判断の結果、記憶部111に記憶されている機器IDの中に、ATR_RESにセットされている通信装置200の機器IDと同じものがないと判断した場合は、通信装置100は、NFC−SECのSSEサービスを用いて共有秘密情報K1を生成する(ステップS218)。ステップS218の共有秘密情報K1の生成は、例えばRF通信部130、より具体的にはNFC−SECプロトコル処理部134が実行し得る。
NFC−SECのSSEサービスを用いて共有秘密情報K1を生成すると、通信装置100は、上記ステップS212で受信したATR_RESのGt[n]にセットされている通信装置200の機器IDに、上記ステップS218で生成した共有秘密情報K1を対応付けて登録する(ステップS219)。ステップS219の登録処理は、例えば制御部110が、通信装置200の機器IDに共有秘密情報K1を対応付けて記憶部111に記憶させることで実行し得る。
ステップS217の判断の結果、記憶部111に記憶されている機器IDの中に、ATR_RESにセットされている通信装置200の機器IDと同じものがあると判断した場合、または、上記ステップS219の登録処理が完了した場合は、続いて通信装置100は、通信装置200との相互認証を実行する(ステップS220)。通信装置100は、通信装置200との相互認証の実行に際し、相手の機器IDに対応する共有秘密情報K1を秘密鍵として用い、相手の機器IDに対応するセキュリティプロトコルS1で指定された方式に従うことで通信装置200との相互認証を実行する。通信装置200との相互認証処理は、例えば制御部110や、LLCPリンクプロトコル処理部132や、NFC−SECプロトコル処理部134が実行し得る。
通信装置200との相互認証を実行すると、続いて通信装置100は、通信装置200との相互認証が成功したかどうか判断する(ステップS221)。ステップS221の判断処理は制御部110が実行し得る。なお、通信装置100で共有秘密情報K1を保持していても、通信装置200で共有秘密情報K1が保持されていない場合は、通信装置100と通信装置200との間の相互認証は失敗する。
上記ステップS221の判断の結果、通信装置200との相互認証が成功した場合は、通信装置100は、相互認証された通信装置200との間での暗号通信を実行する。
一方、上記ステップS221の判断の結果、通信装置200との相互認証が失敗した場合は、通信装置100は、通信装置200との間の相互認証のための共有秘密情報K1を生成するかどうか判断する(ステップS222)。ステップS222の判断処理は制御部110が実行し得る。また、共有秘密情報K1を生成するかどうかは、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
ステップS222の判断の結果、共有秘密情報K1を生成しないと判断した場合は、通信装置100は、通信装置200との間の通信を非暗号で行うかどうか判断する(ステップS223)。ステップS223の判断処理は制御部110が実行し得る。また通信装置200との間の通信を非暗号で行うかどうか、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
上記ステップS223の判断の結果、通信装置200との間の通信を非暗号で行うと判断した場合は、通信装置100は、(相互認証されていない)通信装置200との間での非暗号通信を実行する。一方上記ステップS223での判断の結果、通信装置200との間の通信を非暗号では行わないと判断した場合は、通信装置100は、RF通信を終了する。
ステップS222の判断の結果、共有秘密情報K1を生成すると判断した場合は、通信装置100は、上記ステップS218の共有秘密情報K1の生成処理を実行する。
このように、通信装置100が後から暗号通信の実行を指示する場合にも、近距離無線通信の相手と過去に通信した履歴が双方にあり、その過去の通信で共有秘密情報K1が双方に保存されていれば、相互認証が成功する。通信装置100は、後から暗号通信の実行を指示する場合であっても、相互認証を経てからでないと通信相手との暗号化された近距離無線通信を実行することが出来ないので、より安全な暗号化された近距離無線通信を実行出来る。
通信装置200は、図24A、図24Bに示した例において、ステップS220における相互認証処理の開始に先立って、相手側の機器である通信装置200に対し、自装置、すなわち通信装置100の機器IDを持っているかどうかを問い合わせても良い。通信装置100は、当該問い合わせを、PAX PDUを使用して行い得る。
図23及び図24A、図24Bに示した流れ図では、ステップS206またはステップS220で相互認証の成否を判断しているが、自装置で共有秘密情報K1を保持していても、相手の装置が共有秘密情報K1を保持していなければ相互認証は失敗する。従って、本開示では、通信装置100は、ステップS206またはステップS220での相互認証の成否の判断に先立って、相手の装置が自装置(通信装置100)に対応する共有秘密情報K1を保持しているか否かを問い合わせても良い。通信装置100は、当該問い合わせを、PAX PDUを使用して行い得る。
ここで、記憶部111に記憶される、機器ID、共有秘密情報(秘密鍵)K1、及びセキュリティプロトコル番号S1の組について説明する。以下、機器ID、共有秘密情報(秘密鍵)K1、及びセキュリティプロトコル番号S1の組が格納されるテーブルを機器ID−秘密鍵対応表(ID−SK Table)と称する。
表5は、記憶部111に記憶される、機器ID−秘密鍵対応表の例を示す説明図である。通信装置100は、相手機器との暗号通信の実行を試みる場合に,その相手機器の機器IDが機器ID−秘密鍵対応表に含まれていれば、その機器IDに対応する共有秘密情報(秘密鍵)を使用し、またその機器IDに対応するセキュリティプロトコルに従って相互認証を実行する。通信装置100は、相手機器との相互認証に成功すれば、その相手機器との間で暗号通信を実行するよう動作する。
Figure 2014156620
以上、本開示の一実施形態に係る通信装置100のより具体的な動作例について説明した。次に、本開示の一実施形態に係る通信装置100の動作について、さらに詳細な処理シーケンスで説明する。以下の説明では、図13に示したセキュリティプロトコル指示情報のセキュリティプロトコル番号(Valueフィールドで設定された番号)毎の処理シーケンスの例を示す。
まず、セキュリティプロトコル番号が00h、すなわち暗号化せずに近距離無線通信を実行する場合の処理シーケンスを説明する。図25は、通信装置100、200の間の処理シーケンスを示す流れ図である。図25に示した流れ図は、セキュリティプロトコル番号が00h、すなわち暗号化せずに近距離無線通信を実行する場合の処理シーケンスを示したものである。図25の処理シーケンスでは、通信装置100がイニシエータであり、通信装置200がターゲットである場合が示されている。
イニシエータの通信装置100は、まずセキュリティプロトコル番号が00h、すなわち暗号化せずに近距離無線通信を実行することを決定する(ステップS301)。ステップS301の決定処理は、例えば制御部110が実行し得る。暗号化せずに近距離無線通信を実行することは、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
暗号化せずに近距離無線通信を実行することを決定すると、続いて通信装置100は、自装置の機器IDと、セキュリティプロトコル番号に00hが指定されたセキュリティプロトコル指示情報とをATR_REQにセットして、ターゲットである通信装置200に近距離無線通信で送信する(ステップS302)。図25以降では、自装置の機器IDがセットされるTLVをDevID TLV、セキュリティプロトコル指示情報がセットされるTLVをNSP TLVと表記する。
通信装置200は、通信装置100からATR_REQを受信すると、セキュリティプロトコル指示情報において指定されたセキュリティプロトコル番号を見て、暗号化せずに近距離無線通信を実行することに同意する(ステップS303)。暗号化せずに近距離無線通信を実行することに同意した通信装置200は、自装置の機器IDと、セキュリティプロトコル番号に00hが指定されたセキュリティプロトコル指示情報とをATR_RESにセットして、イニシエータである通信装置100に近距離無線通信で送信する(ステップS304)。
通信装置100、200の双方で暗号化せずに近距離無線通信を実行することに合意すると、通信装置100は、送信するデータをDEP_REQにセットして通信装置200に送信し(ステップS305)、通信装置200は、DEP_REQを受けて、送信するデータをDEP_RESにセットして通信装置100に送信する(ステップS306)。
次に、セキュリティプロトコル番号が01h、すなわちNFC−SEC SCHを利用して、NFC−SEC SDUを暗号化する場合の処理シーケンスを説明する。図26は、通信装置100、200の間の処理シーケンスを示す流れ図である。図26に示した流れ図は、セキュリティプロトコル番号が01h、すなわちNFC−SEC SCHを利用して、NFC−SEC SDUを暗号化する場合の処理シーケンスを示したものである。図26の処理シーケンスでは、通信装置100がイニシエータであり、通信装置200がターゲットである場合が示されている。なお、セキュリティプロトコル番号が01hの場合は、上述のケース1の適用のみ可能であり、ケース2の適用は出来ない。
イニシエータの通信装置100は、まずセキュリティプロトコル番号が01h、すなわちNFC−SEC SCHを利用して、NFC−SEC SDUを暗号化することを決定する(ステップS311)。ステップS311の決定処理は、例えば制御部110が実行し得る。暗号化せずに近距離無線通信を実行することは、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
NFC−SEC SCHを利用して、NFC−SEC SDUを暗号化することを決定すると、続いて通信装置100は、自装置の機器IDと、セキュリティプロトコル番号に01hが指定されたセキュリティプロトコル指示情報とをATR_REQにセットして、ターゲットである通信装置200に近距離無線通信で送信する(ステップS312)。
通信装置200は、通信装置100からATR_REQを受信すると、セキュリティプロトコル指示情報において指定されたセキュリティプロトコル番号を見て、NFC−SEC SCHを利用して、NFC−SEC SDUを暗号化することに同意する(ステップS313)。NFC−SEC SCHを利用して、NFC−SEC SDUを暗号化することに同意した通信装置200は、自装置の機器IDと、セキュリティプロトコル番号に01hが指定されたセキュリティプロトコル指示情報とをATR_RESにセットして、イニシエータである通信装置100に近距離無線通信で送信する(ステップS314)。
通信装置100、200の双方でNFC−SEC SCHを利用して、NFC−SEC SDUを暗号化することに合意すると、通信装置100、200は、ISO/IEC 13157−1のACT_REQ、ACT_RES及びVFY_REQ、VFY_RESを利用して、共有秘密情報の生成処理を実行する(ステップS315〜S318)。通信装置100、200での共有秘密情報の生成処理の実行に際しては、DEP_REQ及びDEP_RESが使用され得る。共有秘密情報の生成処理は、鍵の合意(Key agreement)フェーズと鍵の検証(Key verification)フェーズとにより行われる。
通信装置100、200の双方で共有秘密情報の生成処理を実行することで、通信装置100、200は、それぞれ共有秘密情報を生成して、内部に保持する(ステップS319、320)。共有秘密情報を生成した通信装置100、200は、NFC−SECのENCコマンドを実行することでNFC−SEC SDUを暗号化した近距離無線通信を実行する(ステップS321、322)。NFC−SEC SDUを暗号化した近距離無線通信の際には、DEP_REQ及びDEP_RESが使用され得る。
次に、セキュリティプロトコル番号が10h、すなわちLLC SDUを暗号化する場合の処理シーケンスを説明する。図27は、通信装置100、200の間の処理シーケンスを示す流れ図である。図27に示した流れ図は、セキュリティプロトコル番号が10h、すなわちLLC SDUを暗号化する場合の処理シーケンスを示したものである。図27の処理シーケンスでは、通信装置100がイニシエータであり、通信装置200がターゲットである場合が示されている。なお、セキュリティプロトコル番号が10hの場合は、上述のケース1、ケース2のいずれの適用も可能である。図27に示したのは、この内、ケース1が適用された場合の処理シーケンスである。
イニシエータの通信装置100は、まずセキュリティプロトコル番号が10h、すなわちLLC SDUを暗号化することを決定する(ステップS331)。ステップS331の決定処理は、例えば制御部110が実行し得る。暗号化せずに近距離無線通信を実行することは、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
LLC SDUを暗号化することを決定すると、続いて通信装置100は、自装置の機器IDと、セキュリティプロトコル番号に10hが指定されたセキュリティプロトコル指示情報とをATR_REQにセットして、ターゲットである通信装置200に近距離無線通信で送信する(ステップS332)。
通信装置200は、通信装置100からATR_REQを受信すると、セキュリティプロトコル指示情報において指定されたセキュリティプロトコル番号を見て、LLC SDUを暗号化することに同意する(ステップS333)。LLC SDUを暗号化することに同意した通信装置200は、自装置の機器IDと、セキュリティプロトコル番号に10hが指定されたセキュリティプロトコル指示情報とをATR_RESにセットして、イニシエータである通信装置100に近距離無線通信で送信する(ステップS334)。
通信装置100、200の双方でLLC SDUを暗号化することに合意すると、続いて通信装置100は、自装置で記憶されている機器IDの中に、受信したATR_RESに含まれていた通信装置200の機器IDと同じ物があるかどうかチェックする(ステップS335)。
上記ステップS335の判断の結果、同じ機器IDが無かった場合は、通信装置100は共有秘密情報の生成処理を開始する。通信装置100、200は、ISO/IEC 13157−1のACT_REQ、ACT_RES及びVFY_REQ、VFY_RESを利用して、共有秘密情報の生成処理を実行する(ステップS336〜S339)。通信装置100、200での共有秘密情報の生成処理の実行に際しては、DEP_REQ及びDEP_RESが使用され得る。共有秘密情報の生成処理は、鍵の合意(Key agreement)フェーズと鍵の検証(Key verification)フェーズとにより行われる。
通信装置100、200の双方で共有秘密情報の生成処理を実行することで、通信装置100、200は、それぞれ共有秘密情報を生成して、内部に保持する(ステップS340、S341)。共有秘密情報を生成した通信装置100、200は、LLC SAC PDUを利用した相互認証処理を実行する(ステップS342〜S345)。LLC SAC PDUを利用した相互認証処理には、上述のSA1_REQ TLV、SA1_RES TLV、SA2_REQ TLV、およびSA2_RES TLVが使用される。
LLC SAC PDUを利用した相互認証処理によりお互いの認証が完了すると、通信装置100、200は、それぞれセッション鍵を生成して、内部に保持する(ステップS346、347)。セッション鍵を生成すると、通信装置100、200は、そのセッション鍵を使用した、LLC PUI PDUによる暗号通信を実行する(ステップS348、349)。
なお、図27に示した処理シーケンスにおいて、上記ステップS335の判断の結果、同じ機器IDが存在していた場合は、通信装置100は、ステップS336〜S339の共有秘密情報の生成処理を省略し、相互認証処理へ直接移行し得る。
図28は、通信装置100、200の間の処理シーケンスを示す流れ図である。図27に示した流れ図は、図27と同様に、セキュリティプロトコル番号が10h、すなわちLLC SDUを暗号化する場合の処理シーケンスを示したものである。図28の処理シーケンスでは、通信装置100がイニシエータであり、通信装置200がターゲットである場合が示されている。図28に示したのは、ケース2が適用された場合の処理シーケンスである。
イニシエータの通信装置100は、ATR_REQをターゲットの通信装置200に送信することで近距離無線通信を開始する(ステップS351)。通信装置200は、ATR_REQを受信すると、ATR_RESの返信により通信装置100に応答する(ステップS352)。通信装置100は、ATR_RESを受信すると、通信装置200への情報の送信のためにDEP_REQを送信し(ステップS353)、DEP_REQを受信した通信装置200は、DEP_RESの返信により通信装置100に応答する(ステップS354)。ステップS353、S354のDEP_REQ、DEP_RESは、暗号化されずにそれぞれ送信される。
このように非暗号での通信が行われている際に、その後の通信において暗号通信を希望すると、通信装置100は、セキュリティプロトコル番号が10h、すなわちLLC SDUを暗号化することを決定する(ステップS355)。ステップS335の決定処理は、例えば制御部110が実行し得る。暗号化せずに近距離無線通信を実行することは、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
LLC SDUを暗号化することを決定すると、続いて通信装置100は、自装置の機器IDと、セキュリティプロトコル番号に10hが指定されたセキュリティプロトコル指示情報とをDEP_REQにセットして、PAX PDUを用いて、ターゲットである通信装置200に近距離無線通信で送信する(ステップS356)。
通信装置200は、通信装置100からDEP_REQを受信すると、セキュリティプロトコル指示情報において指定されたセキュリティプロトコル番号を見て、LLC SDUを暗号化することに同意する(ステップS357)。LLC SDUを暗号化することに同意した通信装置200は、自装置の機器IDと、セキュリティプロトコル番号に10hが指定されたセキュリティプロトコル指示情報とをDEP_RESにセットして、イニシエータである通信装置100に近距離無線通信で送信する(ステップS358)。
通信装置100、200の双方でLLC SDUを暗号化することに合意すると、その後は図27に示した処理シーケンスと同じ処理シーケンスとなる。続いて通信装置100は、自装置で記憶されている機器IDの中に、受信したDEP_RESに含まれていた通信装置200の機器IDと同じ物があるかどうかチェックする(ステップS359)。
上記ステップS358の判断の結果、同じ機器IDが無かった場合は、通信装置100は共有秘密情報の生成処理を開始する。通信装置100、200は、NFC−SEC(ISO/IEC 13157−1)のACT_REQ、ACT_RES及びVFY_REQ、VFY_RESを利用して、共有秘密情報の生成処理を実行する(ステップS360〜S363)。通信装置100、200での共有秘密情報の生成処理の実行に際しては、DEP_REQ及びDEP_RESが使用され得る。共有秘密情報の生成処理は、鍵の合意(Key agreement)フェーズと鍵の検証(Key verification)フェーズとにより行われる。
通信装置100、200の双方で共有秘密情報の生成処理を実行することで、通信装置100、200は、それぞれ共有秘密情報を生成して、内部に保持する(ステップS364、365)。共有秘密情報を生成した通信装置100、200は、LLC SAC PDUを利用した相互認証処理を実行する(ステップS366〜S369)。LLC SAC PDUを利用した相互認証処理には、上述のSA1_REQ TLV、SA1_RES TLV、SA2_REQ TLV、およびSA2_RES TLVが使用される。
LLC SAC PDUを利用した相互認証処理によりお互いの認証が完了すると、通信装置100、200は、それぞれセッション鍵を生成して、内部に保持する(ステップS370、371)。セッション鍵を生成すると、通信装置100、200は、そのセッション鍵を使用した、LLC PUI PDUによる暗号通信を実行する(ステップS372、373)。
なお、図28に示した処理シーケンスにおいて、上記ステップS358の判断の結果、同じ機器IDが存在していた場合は、通信装置100は、ステップステップS359〜S362の共有秘密情報の生成処理を省略し、相互認証処理へ直接移行し得る。
このように、ケース2においては、通信装置100、200は、PAX PDUを利用してお互いの機器IDとセキュリティプロトコル指示情報を交換するが、例えば自身のセキュリティプロトコル能力情報を相手に提供して、その中から使用するプロトコルを相手に選択させるよう促してもよい。使用するプロトコルを相手に選択させる場合、例えば図14に記載されるような形式で、セキュリティプロトコル能力情報がPAX PDUのパラメータに含められ得る。セキュリティプロトコル能力情報を受け取った場合は、受け取った側がセキュリティプロトコル指示情報によって利用するセキュリティプロトコルを指示することができる。また、通信装置200が、通信装置100の提示した指示情報に合意する場合は、同じ指示情報で、通信装置100に返答する。
図28に示した処理シーケンスでは、通信装置100、200は、NFC−SEC(ISO/IEC 13157−1)のACT_REQ、ACT_RES及びVFY_REQ、VFY_RESを利用して、共有秘密情報の生成処理を実行していたが、NFC−SECの替わりにLLC PDUを使用し得る。
図29は、通信装置100、200の間の処理シーケンスを示す流れ図である。図27に示した流れ図は、図28と同様に、セキュリティプロトコル番号が10h、すなわちLLC SDUを暗号化する場合の処理シーケンスを示したものである。図29の処理シーケンスでは、通信装置100がイニシエータであり、通信装置200がターゲットである場合が示されている。図29に示したのは、NFC−SECの替わりにLLC PDUを使用して共有秘密情報の生成処理が実行される場合の処理シーケンスである。
図29に示した処理シーケンスにおいては、ステップS358の判断の結果、同じ機器IDが無かった場合は、通信装置100、200は、LLC SAC PDUのSK1_REQ TLV、SK1_RES TLV、SK2_REQ TLV、およびSK2_RES TLVを利用して、共有秘密情報の生成処理を実行する(ステップS360’〜S363’)。このように通信装置100、200は、NFC−SECの替わりにLLC PDUを使用することでも、共有秘密情報の生成処理の実行が可能である。
次に、セキュリティプロトコル番号が11h、すなわちLLC I SDUを暗号化する場合の処理シーケンスを説明する。図30は、通信装置100、200の間の処理シーケンスを示す流れ図である。図30に示した流れ図は、セキュリティプロトコル番号が11h、すなわちLLC I SDUを暗号化する場合の処理シーケンスを示したものである。図30の処理シーケンスでは、通信装置100がイニシエータであり、通信装置200がターゲットである場合が示されている。なお、セキュリティプロトコル番号が11hの場合は、上述のケース1の適用のみが可能である。
イニシエータの通信装置100は、まずセキュリティプロトコル番号が11h、すなわちLLC I SDUを暗号化することを決定する(ステップS381)。ステップS381の決定処理は、例えば制御部110が実行し得る。暗号化せずに近距離無線通信を実行することは、通信装置100が実行するアプリケーションや、そのアプリケーションを使用するユーザによっても判断され得る。
LLC I SDUを暗号化することを決定すると、続いて通信装置100は、自装置の機器IDと、セキュリティプロトコル番号に11hが指定されたセキュリティプロトコル指示情報とをATR_REQにセットして、ターゲットである通信装置200に近距離無線通信で送信する(ステップS382)。
通信装置200は、通信装置100からATR_REQを受信すると、セキュリティプロトコル指示情報において指定されたセキュリティプロトコル番号を見て、LLC I SDUを暗号化することに同意する(ステップS383)。LLC I SDUを暗号化することに同意した通信装置200は、自装置の機器IDと、セキュリティプロトコル番号に11hが指定されたセキュリティプロトコル指示情報とをATR_RESにセットして、イニシエータである通信装置100に近距離無線通信で送信する(ステップS384)。
通信装置100、200の双方でLLC I SDUを暗号化することに合意すると、続いて通信装置100は、自装置で記憶されている機器IDの中に、受信したATR_RESに含まれていた通信装置200の機器IDと同じ物があるかどうかチェックする(ステップS385)。
上記ステップS385の判断の結果、同じ機器IDが無かった場合は、通信装置100は共有秘密情報の生成処理を開始する。通信装置100、200は、ISO/IEC 13157−1のACT_REQ、ACT_RES及びVFY_REQ、VFY_RESを利用して、共有秘密情報の生成処理を実行する(ステップS386〜S389)。通信装置100、200での共有秘密情報の生成処理の実行に際しては、DEP_REQ及びDEP_RESが使用され得る。共有秘密情報の生成処理は、鍵の合意(Key agreement)フェーズと鍵の検証(Key verification)フェーズとにより行われる。
通信装置100、200の双方で共有秘密情報の生成処理を実行することで、通信装置100、200は、それぞれ共有秘密情報を生成して、内部に保持する(ステップS389、390)。共有秘密情報を生成した通信装置100、200は、共有秘密情報を用いた相互認証処理を実行する。なお、トランスポート層における特定のコネクションのPDUのみ暗号化する場合は、通信装置100、200は、セキュリティプロトコル番号に11hを指定したセキュリティプロトコル指示情報を含むCONNECT PDU及びCC PDUを交換する(ステップS391〜S394)。
共有秘密情報を生成し、CONNECT PDU及びCC PDUを交換した通信装置100、200は、LLC SAC PDUを利用した相互認証処理を実行する(ステップS395〜S398)。LLC SAC PDUを利用した相互認証処理には、上述のSA1_REQ TLV、SA1_RES TLV、SA2_REQ TLV、およびSA2_RES TLVが使用される。
LLC SAC PDUを利用した相互認証処理によりお互いの認証が完了すると、通信装置100、200は、それぞれセッション鍵を生成して、内部に保持する(ステップS399、400)。セッション鍵を生成すると、通信装置100、200は、そのセッション鍵を使用した、LLC PUI PDUによる暗号通信を実行する(ステップS401、402)。
なお、図30に示した処理シーケンスにおいて、上記ステップS385の判断の結果、同じ機器IDが存在していた場合は、通信装置100は、ステップS386〜S389の共有秘密情報の生成処理を省略し得る。
以上、通信装置100、200の詳細な処理シーケンスについて説明した。本開示の一実施形態に係る通信装置100、200は、上述した処理シーケンスに基づいて動作することで、相互認証を経てからでないと通信相手との暗号化された近距離無線通信を実行することが出来ないので、より安全な暗号化された近距離無線通信を実行出来る。
<2.まとめ>
以上説明したように本開示の一実施形態によれば、相互認証を経てから通信相手との暗号化された近距離無線通信を実行することが可能な通信装置及び通信方法が提供される。本開示の一実施形態に係る通信装置100は、通信装置200との間で暗号化された近距離無線通信を実行する際に、NFC−SEC技術を用いて共有秘密情報を生成し、生成した共有秘密情報と通信装置200の機器IDとを内部に保持しておく。
通信装置100は、次に通信装置200と近距離無線通信を実行しようとする場合に、以前の近距離無線通信によって共有秘密情報を生成した相手と同じ機器IDを持つ相手であることを、相互認証処理によって確認することができる。そして通信装置100は、相互認証処理によって以前の近距離無線通信によって共有秘密情報を生成した相手と同じ機器IDを持つ相手であることが確認できた場合に、通信装置200との間で暗号通信を実行する。
このように、以前の近距離無線通信によって共有秘密情報を生成した相手と同じ機器IDを持つ相手であることが確認できた場合に、通信装置200との間で暗号通信を実行することで、本開示の一実施形態に係る通信装置100は、意図しない相手との秘密情報を交換するための暗号通信を回避することができる。従って、本開示の一実施形態に係る通信装置100は、近距離無線通信時により安全な暗号通信を実行することが可能となる。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1)
非接触通信により他の装置と通信を行う通信処理部と、
前記通信処理部が前記他の装置との間で情報を暗号化した通信を実行する前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する暗号化情報生成部と、
を備える、集積回路。
(2)
前記暗号化情報生成部は、前記他の装置との非接触通信の履歴が無ければ、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報を生成する、前記(1)に記載の集積回路。
(3)
前記通信処理部は、前記他の装置を識別する識別情報を該他の装置から受信し、前記識別情報を前記暗号化情報生成部が生成した前記認証情報と紐付けて記憶させる、前記(2)に記載の集積回路。
(4)
前記通信処理部は、他の装置との非接触通信の履歴の存在に基づき生成された前記認証情報を用いて該他の装置の認証を実行する、前記(1)〜(3)のいずれかに記載の集積回路。
(5)
前記通信処理部は、前記他の装置の認証の実行前に該他の装置と交換した使用可能なプロトコルの中から選択したプロトコルを用いて前記他の装置の認証を実行する、前記(4)に記載の集積回路。
(6)
前記暗号化情報生成部は、前記通信処理部が認証した前記他の装置との間の暗号化された非接触通信に用いられる暗号鍵を生成する、前記(4)または(5)に記載の集積回路。
(7)
前記通信処理部は、前記暗号化情報生成部が生成した暗号鍵を用いて前記他の装置との間で非接触通信により送信される情報を暗号化する暗号化部を更に備える、前記(6)に記載の集積回路。
(8)
前記暗号化部は、前記他の装置との間で非接触通信により送信される情報を暗号化する前に該他の装置と交換したパラメータに基づき暗号化する情報の範囲を決定する、前記(7)に記載の集積回路。
(9)
前記他の装置との非接触通信の開始前に該他の装置と暗号化された通信を行うことを予め指定されていない場合は、前記暗号化情報生成部は、前記他の装置と暗号化された通信を行うことが指定されてから、該他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する、前記(1)〜(8)のいずれかに記載の集積回路。
(10)
前記通信処理部が行う非接触通信は複数のコネクションを確立して同時に通信を実行することが可能な通信である、前記(1)〜(9)のいずれかに記載の集積回路。
(11)
非接触通信により他の装置と通信を行うステップと、
前記他の装置との間で情報を暗号化した通信が実行される前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断するステップと、
を備える、通信方法。
(12)
コンピュータに、
非接触通信により他の装置と通信を行うステップと、
前記他の装置との間で情報を暗号化した通信が実行される前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断するステップと、
を実行させる、コンピュータプログラム。
(13)
非接触通信により他の装置と通信を行う通信処理部、および前記通信処理部が前記他の装置との間で情報を暗号化した通信を実行する前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する暗号化情報生成部、を有する集積回路と、前記集積回路へ電源を供給する電源部と、を備える、通信装置。
100、200 通信装置
110 制御部
111 記憶部
120 アプリケーション実行部
130 RF通信部
131 LLCPコネクション処理部
132 LLCPリンクプロトコル処理部
133 暗号処理部
134 NFC−SECプロトコル処理部
135 NFCIP−1プロトコル処理部

Claims (13)

  1. 非接触通信により他の装置と通信を行う通信処理部と、
    前記通信処理部が前記他の装置との間で情報を暗号化した通信を実行する前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する暗号化情報生成部と、
    を備える、集積回路。
  2. 前記暗号化情報生成部は、前記他の装置との非接触通信の履歴が無ければ、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報を生成する、請求項1に記載の集積回路。
  3. 前記通信処理部は、前記他の装置を識別する識別情報を該他の装置から受信し、前記識別情報を前記暗号化情報生成部が生成した前記認証情報と紐付けて記憶させる、請求項2に記載の集積回路。
  4. 前記通信処理部は、前記他の装置との非接触通信の履歴の存在に基づき生成された前記認証情報を用いて該他の装置の認証を実行する、請求項1に記載の集積回路。
  5. 前記通信処理部は、前記他の装置の認証の実行前に該他の装置と交換した使用可能なプロトコルの中から選択したプロトコルを用いて前記他の装置の認証を実行する、請求項4に記載の集積回路。
  6. 前記暗号化情報生成部は、前記通信処理部が認証した前記他の装置との間の暗号化された非接触通信に用いられる暗号鍵を生成する、請求項4に記載の集積回路。
  7. 前記通信処理部は、前記暗号化情報生成部が生成した暗号鍵を用いて前記他の装置との間で非接触通信により送信される情報を暗号化する暗号化部を更に備える、請求項6に記載の集積回路。
  8. 前記暗号化部は、前記他の装置との間で非接触通信により送信される情報を暗号化する前に該他の装置と交換したパラメータに基づき暗号化する情報の範囲を決定する、請求項7に記載の集積回路。
  9. 前記他の装置との非接触通信の開始前に該他の装置と暗号化された通信を行うことを予め指定されていない場合は、前記暗号化情報生成部は、前記他の装置と暗号化された通信を行うことが指定されてから、該他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する、請求項1に記載の集積回路。
  10. 前記通信処理部が行う非接触通信は複数のコネクションを確立して同時に通信を実行することが可能な通信である、請求項1に記載の集積回路。
  11. 非接触通信により他の装置と通信を行うことと、
    前記他の装置との間で情報を暗号化した通信が実行される前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断することと、
    を備える、通信方法。
  12. コンピュータに、
    非接触通信により他の装置と通信を行うことと、
    前記他の装置との間で情報を暗号化した通信が実行される前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断することと、
    を実行させる、コンピュータプログラム。
  13. 非接触通信により他の装置と通信を行う通信処理部、および
    前記通信処理部が前記他の装置との間で情報を暗号化した通信を実行する前に、前記他の装置との非接触通信の履歴の有無に応じて、前記他の装置との間の非接触通信において該他の装置を相互に認証する際に用いられる認証情報の生成を判断する暗号化情報生成部、を有する集積回路と、
    前記集積回路へ電源を供給する電源部と、
    を備える、通信装置。
JP2015508260A 2013-03-29 2014-03-11 集積回路、通信方法、コンピュータプログラム及び通信装置 Active JP6428601B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013073977 2013-03-29
JP2013073977 2013-03-29
PCT/JP2014/056371 WO2014156620A1 (ja) 2013-03-29 2014-03-11 集積回路、通信方法、コンピュータプログラム及び通信装置

Publications (2)

Publication Number Publication Date
JPWO2014156620A1 true JPWO2014156620A1 (ja) 2017-02-16
JP6428601B2 JP6428601B2 (ja) 2018-11-28

Family

ID=51623603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015508260A Active JP6428601B2 (ja) 2013-03-29 2014-03-11 集積回路、通信方法、コンピュータプログラム及び通信装置

Country Status (4)

Country Link
US (1) US10694378B2 (ja)
EP (1) EP2981021B1 (ja)
JP (1) JP6428601B2 (ja)
WO (1) WO2014156620A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954130B (zh) * 2014-03-31 2019-08-20 西安西电捷通无线网络通信股份有限公司 一种实体鉴别方法及装置
CN106664506B (zh) * 2015-04-16 2019-11-12 华为技术有限公司 一种基于逻辑链路控制协议llcp的服务发现方法及nfc控制器
EP3622398A1 (en) * 2017-05-10 2020-03-18 Telefonaktiebolaget LM Ericsson (PUBL) A communication node and method for handling communications between nodes of a system
DE102017131457A1 (de) 2017-06-08 2018-12-13 Festool Gmbh Elektrisches Gerät zur Ansteuerung eines Staubsaugers
CN111865870B (zh) * 2019-04-24 2022-01-11 华为技术有限公司 一种参数发送方法及装置
CN114499848B (zh) * 2022-01-26 2023-05-30 无锡融卡科技有限公司 会话密钥生成装置及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002142181A (ja) * 2000-11-01 2002-05-17 Fuji Photo Film Co Ltd 通信機器及び通信システム
JP2005012396A (ja) * 2003-06-18 2005-01-13 Mitsubishi Electric Corp 情報処理装置及び通信装置及び通信システム
JP2010041666A (ja) * 2008-08-08 2010-02-18 Canon Inc 通信装置、通信装置の制御方法、コンピュータプログラム
JP2010198451A (ja) * 2009-02-26 2010-09-09 Fujitsu Ltd 防犯情報通知方法、防犯情報通知システムおよび通信端末装置
JP2010287964A (ja) * 2009-06-09 2010-12-24 Sony Corp 通信方法、情報処理装置、およびプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI107487B (fi) * 1999-03-08 2001-08-15 Nokia Mobile Phones Ltd Datalähetyksen salausmenetelmä radiojärjestelmässä
US7739503B2 (en) * 2000-08-04 2010-06-15 Sony Corporation Authenticating method for short-distance radio devices and a short-distance radio device
JP3819729B2 (ja) * 2001-04-20 2006-09-13 株式会社エヌ・ティ・ティ・ドコモ データ安全化通信装置及びその方法
JP2003023593A (ja) * 2001-07-10 2003-01-24 Olympus Optical Co Ltd 電子撮像カメラ
US20030084287A1 (en) * 2001-10-25 2003-05-01 Wang Huayan A. System and method for upper layer roaming authentication
JP4092692B2 (ja) * 2003-06-06 2008-05-28 ソニー株式会社 通信システム、通信装置および通信方法、並びにプログラム
KR20050007830A (ko) * 2003-07-11 2005-01-21 삼성전자주식회사 기기간 컨텐츠 교환을 위한 도메인 인증 방법
JP4613764B2 (ja) * 2005-09-12 2011-01-19 ソニー株式会社 通信システム、通信装置、通知方法、記録媒体、および、プログラム
US20070123165A1 (en) * 2005-11-29 2007-05-31 Arnold Sheynman Methods, systems and devices for assisted discovery in bluetooth enabled devices
EP1964303B1 (en) * 2005-12-14 2016-08-03 Koninklijke Philips N.V. Verfahren und system zur authentifizierung eines beweisers mit geringen ressourcen
JP4983165B2 (ja) * 2006-09-05 2012-07-25 ソニー株式会社 通信システムおよび通信方法、情報処理装置および方法、デバイス、プログラム、並びに記録媒体
US8103247B2 (en) * 2006-10-31 2012-01-24 Microsoft Corporation Automated secure pairing for wireless devices
JP5289460B2 (ja) * 2007-11-30 2013-09-11 サムスン エレクトロニクス カンパニー リミテッド 近距離通信ネットワークにおける安全な通信のためのシステム及び方法
JP2010141383A (ja) * 2008-12-09 2010-06-24 Renesas Technology Corp 半導体集積回路
JP4670950B2 (ja) * 2008-12-09 2011-04-13 ソニー株式会社 通信装置、通信方法、及びプログラム
US8861737B2 (en) 2009-05-28 2014-10-14 Qualcomm Incorporated Trust establishment from forward link only to non-forward link only devices
USH2270H1 (en) * 2009-07-09 2012-06-05 Actividentity, Inc. Open protocol for authentication and key establishment with privacy
US8817642B2 (en) * 2010-06-25 2014-08-26 Aliphcom Efficient pairing of networked devices
JP5327284B2 (ja) * 2011-06-28 2013-10-30 株式会社デンソー 情報管理システム、および、情報管理方法
US8626144B2 (en) * 2011-07-13 2014-01-07 GM Global Technology Operations LLC Bluetooth low energy approach detections through vehicle paired capable devices
GB2514055B (en) * 2012-06-20 2018-07-11 Certis Cisco Security Pte Ltd Bluetooth (RTM) pairing system, method, and apparatus
US20130343542A1 (en) * 2012-06-26 2013-12-26 Certicom Corp. Methods and devices for establishing trust on first use for close proximity communications
JP2014086923A (ja) * 2012-10-24 2014-05-12 Sony Corp 集積回路、無線通信装置及びコンピュータプログラム
US10152706B2 (en) * 2013-03-11 2018-12-11 Cellco Partnership Secure NFC data authentication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002142181A (ja) * 2000-11-01 2002-05-17 Fuji Photo Film Co Ltd 通信機器及び通信システム
JP2005012396A (ja) * 2003-06-18 2005-01-13 Mitsubishi Electric Corp 情報処理装置及び通信装置及び通信システム
JP2010041666A (ja) * 2008-08-08 2010-02-18 Canon Inc 通信装置、通信装置の制御方法、コンピュータプログラム
JP2010198451A (ja) * 2009-02-26 2010-09-09 Fujitsu Ltd 防犯情報通知方法、防犯情報通知システムおよび通信端末装置
JP2010287964A (ja) * 2009-06-09 2010-12-24 Sony Corp 通信方法、情報処理装置、およびプログラム

Also Published As

Publication number Publication date
US10694378B2 (en) 2020-06-23
EP2981021B1 (en) 2020-04-29
EP2981021A1 (en) 2016-02-03
JP6428601B2 (ja) 2018-11-28
EP2981021A4 (en) 2016-11-09
US20160021536A1 (en) 2016-01-21
WO2014156620A1 (ja) 2014-10-02

Similar Documents

Publication Publication Date Title
JP6428601B2 (ja) 集積回路、通信方法、コンピュータプログラム及び通信装置
KR102149587B1 (ko) 신원 인증 방법 및 장치
CN107231627B (zh) 一种蓝牙网络及配网方法
JP4805935B2 (ja) 区別されたランダムチャレンジを用いて認証をブートストラップすること
CN109479049B (zh) 用于密钥供应委托的系统、设备和方法
WO2014180296A1 (zh) 一种设备之间建立连接的方法、配置设备和无线设备
CN104704769A (zh) 无线通信系统
CN102883316A (zh) 建立连接的方法、终端和接入点
JP2008512966A5 (ja)
EP2993933B1 (en) Wireless terminal configuration method, apparatus and wireless terminal
WO2015100675A1 (zh) 一种网络配置方法、相关装置及系统
EP2838224B1 (en) Air interface security method and device
EP4274309A1 (en) Electronic device for performing network management operation, and operating method therefor
EP4271019A1 (en) Electronic device for setting-up data path, and operation method therefor
WO2016112860A1 (zh) 无线设备的通讯方法、无线设备和服务器
KR101785382B1 (ko) 클라이언트 인증 방법, 클라이언트의 동작 방법, 서버, 및 통신 소프트웨어
JP2016512621A (ja) 非接触取引を制御する方法
KR20130126127A (ko) 알에프 기반 근거리 통신을 이용한 사용자 인증 보안 처리 방법
KR20140007628A (ko) 모바일 계좌이체 검증처리 방법
JP2014165919A (ja) 制限エリア内で認証を行うモバイル装置、システム及び方法
KR101553116B1 (ko) 카드와 단말기 간 암호키 갱신 방법
KR20190047557A (ko) 비동기식 근거리 무선 통신을 통해 오티피를 제공하는 이어폰 장치
KR101846646B1 (ko) 비동기식 근거리 무선 통신 기반 보안 통신 방법
KR101777042B1 (ko) 비동기식 근거리 무선 통신 기반 전자서명 카드
JP2022081456A (ja) 通信装置、通信方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181015

R151 Written notification of patent or utility model registration

Ref document number: 6428601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151