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

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

Info

Publication number
JP2014086923A
JP2014086923A JP2012235155A JP2012235155A JP2014086923A JP 2014086923 A JP2014086923 A JP 2014086923A JP 2012235155 A JP2012235155 A JP 2012235155A JP 2012235155 A JP2012235155 A JP 2012235155A JP 2014086923 A JP2014086923 A JP 2014086923A
Authority
JP
Japan
Prior art keywords
communication
encryption
encrypted
communication apparatus
encryption method
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.)
Pending
Application number
JP2012235155A
Other languages
English (en)
Inventor
Katsuyuki Teruyama
勝幸 照山
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
Priority to JP2012235155A priority Critical patent/JP2014086923A/ja
Priority to US14/056,395 priority patent/US20140112476A1/en
Publication of JP2014086923A publication Critical patent/JP2014086923A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • 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

Landscapes

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

Abstract

【課題】複数コネクションの同時通信機能を有する近距離非接触無線通信の際に、暗号化するコネクションやレイヤーの選択が可能な集積回路を提供する。
【解決手段】複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理部と、前記他の装置との非接触通信の際に暗号化するコネクションを含む暗号化情報に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理部と、を含む、集積回路が提供される。
【選択図】図1

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
LLC PDUの上位レイヤーのデータであるLLC SDU(Service Data Unit)を、NFCIP−1のためのセキュリティオプションであるNFC−SECで定義されるセキュアチャネルサービス(NFC−SEC SCH)を用いて暗号化しようとすると、全てのLLC PDUが暗号化される。従って、NFC−SEC SCHを用いて暗号化すると、LLC上のあるコネクションだけが暗号化を必要としない通信を行なうという処理が実現できず、LLCPの複数コネクションの同時通信機能を十分に活用出来ない。
そこで本開示は、複数コネクションの同時通信機能を有する近距離非接触無線通信の際に、暗号化するコネクションやレイヤーの選択が可能な、新規かつ改良された集積回路、無線通信装置及びコンピュータプログラムを提供する。
本開示によれば、複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理部と、前記他の装置との非接触通信の際に暗号化するコネクションを含む暗号化情報に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理部と、を含む、集積回路が提供される。
また本開示によれば、複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理部と、前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定部と、前記暗号化方式決定部の決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理部と、を含む、通信装置が提供される。
また本開示によれば、複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理ステップを備え、前記通信処理ステップは、前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定ステップと、前記暗号化方式決定ステップでの決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理ステップと、を含む、通信方法が提供される。
また本開示によれば、コンピュータに、複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理ステップを実行させ、前記通信処理ステップは、前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定ステップと、前記暗号化方式決定ステップでの決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理ステップと、を含む、コンピュータプログラムが提供される。
以上説明したように本開示によれば、複数コネクションの同時通信機能を有する近距離非接触無線通信の際に、暗号化するコネクションやレイヤーの選択が可能な、新規かつ改良された集積回路、無線通信装置及びコンピュータプログラムを提供することができる。
本開示の一実施形態に係る近距離無線通信システム1の構成例を示す説明図である。 本開示の一実施形態に係る通信装置100の機能構成例を示す説明図である。 コマンドATR_REQの構造を示す説明図である。 コマンドATR_RESの構造を示す説明図である。 コマンドDEP_REQ、及びコマンドDEP_RESの構造を示す説明図である。 NFC−SECのプロトコルデータユニットの構造を示す説明図である。 SEPフィールドに格納されるコード及びそのコードが示す内容の対応関係を示す説明図である。 NFC−SECによる暗号鍵生成処理を示す流れ図である。 NFC−SECによる暗号化通信処理を示す流れ図である。 コマンドATR_REQ、及びLLCパラメータの構造を示す説明図である。 コマンドATR_RES、及びLLCパラメータの構造を示す説明図である。 LLC PDUの構造を示す説明図である。 NFC−SEC SCHで保護される範囲を示す説明図である。 NFC−SEC SSEで保護される範囲を示す説明図である。 本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置200の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。 本開示の一実施形態に係る通信装置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は、CPU(Central Processing Unit)110と、メモリ111と、アプリケーション実行部120と、LLCP処理部130と、を含んで構成される。
また、図2に示したように、LLCP処理部130は、LLCPコネクション処理部131と、LLCPリンクプロトコル処理部132と、暗号処理部133と、NFC−SECプロトコル処理部134と、NFCIP−1プロトコル処理部135と、を含んで構成される。
CPU110は、通信装置100の動作を制御する。CPU110は、例えば、メモリ111に格納されているコンピュータプログラムを読み出して順次実行することで、通信装置100の動作を制御しても良い。またメモリ111は、CPU110で実行されるコンピュータプロフラムや、CPU110での制御時に用いられるデータを一時的に格納したりする記憶領域である。またメモリ111には、LLCP処理部130が使用するデータについても格納される。
アプリケーション実行部120は、LLCPを利用するアプリケーションを実行する。アプリケーション実行部120は、同時に複数のアプリケーションを実行しても良い。アプリケーション実行部120によって実行されるアプリケーションは、それぞれ個別のサービスアクセスポイント(Service Access Point;SAP)を有する。
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を使用するデバイスの間で暗号化通信を実行するサービスであり、すべてのチャネルの通信が暗号化される。NFCIP−1プロトコル処理部135は、NFCIP−1で規定されたプロトコルを処理する。
図2に示したLLCP処理部130は、例えば非接触無線チップ(CLF;Contactless Front End)として、1つのICチップ上で実現されるようにしてもよい。
以上、図2を用いて本開示の一実施形態に係る通信装置100の機能構成例について説明した。上述したように、通信装置200は、図2に示した通信装置100と同様の機能構成を有する。そして本開示の一実施形態に係る通信装置100及び通信装置200は、図2に示したような構成を有することで、複数コネクションの同時通信機能を有する近距離非接触無線通信の際に、暗号化するコネクションやレイヤーの選択が可能となる。
次に、本開示の一実施形態に係る通信装置100の動作例について説明するが、通信装置100の動作例について詳細に説明する前に、本開示の一実施形態に係る通信装置100及び通信装置200で用いられる各種コマンドの構造等について説明する。
[プロトコルデータユニットの例]
図3は、ISO/IEC 18092で用意されているリクエストコマンドである、コマンドATR_REQの構造を示す説明図である。コマンドATR_REQは、イニシエータが、ターゲットに対して、自身の属性情報(仕様)を知らせるとともに、ターゲットの属性情報を要求するときに、ターゲットに送信される。ここで、イニシエータまたはターゲットの属性情報としては、そのイニシエータまたはターゲットが送受信することのできるデータの伝送レートなどがある。なお、コマンドATR_REQには、イニシエータの属性情報の他、そのイニシエータを特定するNFCIDなどが配置され、ターゲットは、コマンドATR_REQを受信することにより、イニシエータの属性情報とNFCIDを認識する。
図3に示したように、コマンドATR_REQは、先頭から(図中左から)、CMD0フィールド、CMD1フィールドおよび、Byte0〜Byten+14フィールド(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フィールドのそれぞれを、その配置順に(図中の左から順に)、Gi[0]〜Gi[n]フィールドと呼ぶ。
本実施形態では、イニシエータとなる通信装置100が、コマンドATR_REQに、イニシエータが使用しようとする暗号化方式や、暗号化するチャネル等の情報を含めてターゲットに送信する。具体的には後述するが、通信装置100は、図3に示したコマンドATR_REQのByte13フィールド以降に、使用しようとする暗号化方式や、暗号化するチャネル等の情報を含めてターゲットに送信する。
図4は、ISO/IEC 18092で用意されているレスポンスコマンドである、コマンドATR_RESの構造を示す説明図である。コマンドATR_RESは、ターゲットが、コマンドATR_REQを受信した場合に、そのコマンドATR_REQに対するレスポンスとして、イニシエータに送信される。コマンドATR_RESには、ターゲットの属性情報やNFCIDなどが配置される。
図4に示したように、コマンドATR_RESは、先頭から(図中左から)、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フィールドのそれぞれを、その配置順に(図4中左から順に)、Gt[0]〜Gt[n]フィールドと呼ぶ。
本実施形態では、ターゲットとなる通信装置200が、コマンドATR_REQに応答する形で、コマンドATR_RESに、イニシエータとの間で使用する暗号化方式や、暗号化するチャネル等の情報を含めてイニシエータに送信する。具体的には後述するが、通信装置200は、図4に示したコマンドATR_RESのByte14フィールド以降に、使用する暗号化方式や、暗号化するチャネル等の情報を含めてイニシエータに送信する。
図5は、ISO/IEC 18092で用意されているリクエストコマンドであるコマンドDEP_REQ、及びレスポンスコマンドであるコマンドDEP_RESの構造を示す説明図である。コマンドDEP_REQは、イニシエータが、データ(いわゆる実データ)の送受信(ターゲットとの間のデータ交換)を行うときに送信され、そこには、ターゲットに送信すべきデータが配置される。コマンドDEP_RESは、ターゲットが、コマンドDEP_REQに対するレスポンスとして送信し、そこには、イニシエータに送信すべきデータが配置される。従って、コマンドDEP_REQによって、イニシエータからターゲットにデータが送信され、そのコマンドDEP_REQに対するレスポンスであるコマンドDEP_RESによって、ターゲットからイニシエータにデータが送信される。
本実施形態では、コマンドDEP_REQ、及びコマンドDEP_RESによって、共有秘密情報の生成や、暗号化されたデータの送受信、及びコネクションの解除等が行われる。具体的なシーケンスについては後に詳述する。
図6は、NFC−SECのプロトコルデータユニットの構造を示す説明図である。図6に示したように、NFC−SECのプロトコルデータユニットは、SEP(Secure Exchage Protocol)、PID(Protocol Identifier)及びNFC−SEC Payloadの各フィールドで構成される。
SEPフィールドには、NFC−SECのプロトコルデータユニットのタイプや、SSEとSCHのどちらを使用しているか等のデータが格納される。図7は、SEPフィールドに格納されるコード及びそのコードが示す内容の対応関係を示す説明図である。PIDフィールドには、NFC−SECによる暗号処理で用いられるPIDが格納される。NFC−SEC PayloadフィールドにはNFC−SECによる暗号処理で使用されるデータが格納される。
図8は、NFC−SECによる暗号鍵生成処理を示す流れ図である。図8では、Sender(送信者)A及びRecipient(受信者)Bとの間の処理が示されている。Sender Aは、一時的な値NAを生成し(ステップS11)、Sender Aの内部で確保した値QA及びステップS11で生成した一時的な値NAをRecipient Bへ送信する(ステップS12)。Recipient Bは、一時的な値NBを生成し(ステップS13)、Recipient Bの内部で確保した値QB及びステップS13で生成した一時的な値NBをSender Aへ送信する(ステップS14)。
そして、Sender Aは、Recipient Bから送信された情報から、キーコンファメーションタグ(Key Confirmation Tag)MacTagAを生成し(ステップS15)、MacTagAをRecipient Bへ送信する(ステップS16)。Recipient Bは、MacTagAを検証した後に、キーコンファメーションタグMacTagBを生成し(ステップS17、S18)、MacTagBをSender Aへ送信する(ステップS19)。
Sender Aは、MacTagBを検証し、MacTagBを共有秘密情報としてセットする(ステップS20)。同様にRecipient Bは、MacTagAを共有秘密情報としてセットする(ステップS21)。
なお、NFC−SECによる暗号鍵生成処理の詳細については、「NFC−SEC−01: NFC−SEC Cryptography Standard using ECDH and AES」に開示されている。
図9は、NFC−SECによる暗号化通信処理を示す流れ図である。図9では、NFC−SECによる暗号化通信処理を実行するエンティティ AA及びBBとの間の処理が示されている。
エンティティ AAは、送信しようとするデータを、共有秘密情報を用いて暗号化し(ステップS31)、暗号化したデータを、データ長やその他復号に必要な情報と共にエンティティ BBに送信する(ステップS32)。エンティティ BBは、エンティティ AAから受信したデータを、共有秘密情報を用いて復号する(ステップS33)。この一連の流れにより、エンティティ AAとBBとの間で、NFC−SECによる暗号化通信処理が行われる。
なお、NFC−SECによる暗号化通信処理の詳細については、「NFC−SEC−01: NFC−SEC Cryptography Standard using ECDH and AES」に開示されている。
図10は、ISO/IEC 18092で用意されているリクエストコマンドであるコマンドATR_REQ、及びLLCパラメータの構造を示す説明図である。
コマンドATR_REQは、イニシエータが、ターゲットに対して、自身の属性(仕様)を知らせるとともに、ターゲットの属性を要求するときに、ターゲットに送信される。ここで、イニシエータまたはターゲットの属性としては、そのイニシエータまたはターゲットが送受信することのできるデータの伝送レートなどがある。なお、コマンドATR_REQには、イニシエータの属性の他、そのイニシエータを特定するNFCIDなどが配置され、ターゲットは、コマンドATR_REQを受信することにより、イニシエータの属性とNFCIDを認識する。
図11は、ISO/IEC 18092で用意されているレスポンスコマンドであるコマンドATR_RES、及びLLCパラメータの構造を示す説明図である。
コマンドATR_RESは、ターゲットが、コマンドATR_REQを受信した場合に、そのコマンドATR_REQに対する応答として、イニシエータに送信される。コマンドATR_RESには、ターゲットの属性やNFCIDなどが配置される。
図12は、LLC PDUの構造を示す説明図である。図12に示したように、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によってやり取りされる情報が格納される。
このようなコマンドや処理が、本開示の一実施形態に係る通信装置100及び通信装置200において用意されている。しかし、上述したように、LLC PDUの上位レイヤーのデータであるLLC SDU(Service Data Unit)を、NFCIP−1のためのセキュリティオプションであるNFC−SEC SCHを用いて暗号化しようとすると、全てのLLC PDUが暗号化される。従って、NFC−SEC SCHを用いて暗号化すると、LLC上のあるコネクションだけが暗号化を必要としない通信を行なうという処理が実現できていなかった。
そこで本開示の一実施形態は、暗号化するコネクションやレイヤーの選択が可能となるように、既存のデータ構造においてパラメータを追加定義する。具体的には、本開示の一実施形態は、暗号化するコネクションやレイヤーが選択できるようなパラメータを、既存のデータ構造に追加する。これにより本開示の一実施形態は、すべてのコネクションを暗号化したり、一部のコネクションのみを暗号化したりする等の柔軟な運用が実現できる。
表1は、本開示の一実施形態で追加定義されるパラメータを示す表である。表1に示したように、本開示の一実施形態では、以下の3つのパラメータが追加定義される。表1において、「Included」の「MAY」は指定が任意であるパラメータであることを意味する。また「In PDU Type」はPDUの型を示している。
Figure 2014086923
なおLLCPは、NFCIP−1がLLCの下位レイヤーの場合、PAX PDUの代わりにATR_REQ及びATR_RESを利用することを規定している。従って、表1に示したパラメータの内、「NFC−SEC PID TLV」及び「Secure LLC TLV」は、ATR_REQ及びATR_RESで交換される。なお、イニシエータとターゲットとの間でデータを暗号化しない場合は、「Secure LLC TLV」及び「Secure Connection TLV」は使用されない。
表2は、表1で示した追加定義パラメータの内の「NFC−SEC PID TLV」を説明する表である。「NFC−SEC PID TLV」は、イニシエータとターゲットとの間で、利用できる暗号方式を交換するために用いられる。
Figure 2014086923
表3は、表1で示した追加定義パラメータの内の「Secure LLC TLV」を説明する表である。「Secure LLC TLV」は、イニシエータとターゲットとの間で、使用する暗号方式や、暗号化するチャネルの数を規定するために用いられる。
Figure 2014086923
表3には、暗号化処理のパターンを3つ挙げているが、暗号化処理のパターンは4つ以上あってもよい。また表3では、NFC−SEC SCH及びNFC−SEC SSE以外の暗号化処理として相互認証が挙げられている。相互認証による暗号化処理は、例えばアプリケーション実行部110が実行するアプリケーションによって実行されてもよい。なお、NFC−SEC SSE以外の暗号方式を用いることの利点としては、例えばアプリケーション側で処理をすることになるので、ホストでの暗号方式の変更や追加が容易になるという点がある。
図13及び図14は、それぞれ、NFC−SEC SCHで保護される範囲及びNFC−SEC SSEまたは相互認証で保護される範囲を示す説明図である。図13に示すように、NFC−SEC SCHでは、PTYPE・DSAP・SSAP、SN(Serial Number)及びLLC SDUが保護される。また図14に示すように、NFC−SEC SSEでは、SN及びLLC SDUが保護される。
表4は、表1で示した追加定義パラメータの内の「Secure Connection TLV」を説明する表である。「Secure Connection TLV」は、イニシエータとターゲットとの間で、どの共有秘密情報を使用するかについて交換するために用いられる。
Figure 2014086923
このように追加定義されるパラメータを用いることで、本開示の一実施形態は、すべてのコネクションを暗号化したり、一部のコネクションのみを暗号化したりする等の柔軟な運用が実現できる。以下、本開示の一実施形態に係る通信装置100、200の動作例について詳細に説明する。
イニシエータである通信装置100と、ターゲットである通信装置200との間で暗号化されたLLC通信が実行される場合は、以下のシーケンスに従って実行される。
まず、イニシエータである通信装置100と、ターゲットである通信装置200との間で、NFCIP−1プロトコルの活性化が行われる。NFCIP−1プロトコルの活性化は、ATR_REQとATR_RESの交換によって行われる。
NFCIP−1プロトコルの活性化が行われると、続いて、NFC−SECを使用する場合であっても使用しない場合であっても、イニシエータ及びターゲットは、鍵生成及び鍵共有を行なう。NFC−SECを使用する場合には、イニシエータ及びターゲットは、上述したようなNFC−SECで規定された方法に従って鍵生成及び鍵共有を行なう。またNFC−SECを使用する場合には、イニシエータ及びターゲットは、例えば相互認証やチャレンジ・レスポンス認証等によって鍵生成及び鍵共有を行なう。
鍵生成及び鍵共有を行なうと、続いてイニシエータ及びターゲットは、LLCコネクションを確立し、LLCコネクションを確立すると、暗号化されたLLCデータ交換を行なう。データの交換が完了すると、イニシエータ及びターゲットは、LLCコネクションを切断する。
[動作シーケンス例]
続いて、本開示の一実施形態に係る通信装置100、200の動作シーケンスの例を説明する。まず、本開示の一実施形態に係る通信装置100、200の間でデータを保護しない(データを暗号化しない)場合の動作シーケンスについて説明する。
表5は、本開示の一実施形態に係る通信装置100、200の間でデータを保護しない場合の動作シーケンスを示す表である。
Figure 2014086923
この表5に示した動作シーケンスでは、最初にイニシエータからターゲットにコマンドATR_REQが送信される際に、イニシエータとターゲットとの間で、表1で示した「Secure LLC TLV」が交換されていない。従って、通信装置100、200の間でデータを保護しない場合は、通信装置100、200は、表5に示したような動作シーケンスに従って動作する。
表6は、本開示の一実施形態に係る通信装置100、200の間で、NFC−SEC SCHを使用してデータを保護する場合の動作シーケンスを示す表である。表6に示したACT_REQ、ACT_RES、VFY_REQ、VFY_RES、ENCについては、図7を参照されたい。
Figure 2014086923
この表6に示した動作シーケンスでは、最初にイニシエータからターゲットにコマンドATR_REQが送信される際に、イニシエータとターゲットとの間で、表1で示した「Secure LLC TLV」が交換されている。また、ATR_REQ及びATR_RESにおいて「Secure LLC TLV」の値が「01h」である。すなわちイニシエータとターゲットとの間でNFC−SEC SCHを使用することが宣言されている。従って、通信装置100、200の間でNFC−SEC SCHを使用してデータを保護する場合は、通信装置100、200は、表6に示したような動作シーケンスに従って動作する。
表7及び表8は、本開示の一実施形態に係る通信装置100、200の間で、NFC−SEC SSEを使用してデータを保護する場合の動作シーケンスを示す表である。なお、表8に示した動作シーケンスは表7に続いて実行されるものであり、便宜上2つの表に分割したものである。表7及び表8に示したACT_REQ、ACT_RES、VFY_REQ、VFY_RES、ENCについては、図7を参照されたい。
Figure 2014086923
Figure 2014086923
この表7及び表8に示した動作シーケンスでは、最初にイニシエータからターゲットにコマンドATR_REQが送信される際に、イニシエータとターゲットとの間で、表1で示した「Secure LLC TLV」が交換されている。また、ATR_REQ及びATR_RESにおいて「Secure LLC TLV」の値が「02h 03h」である。すなわちイニシエータとターゲットとの間でNFC−SEC SSEを使用すること及び共有秘密情報の数が3つであることが宣言されている。従って、通信装置100、200の間でNFC−SEC SCHを使用してデータを保護する場合は、通信装置100、200は、表7及び表8に示したような動作シーケンスに従って動作する。
表9は、本開示の一実施形態に係る通信装置100、200の間で、相互認証を使用してデータを保護する場合の動作シーケンスを示す表である。本実施形態では、相互認証としてチャレンジ・レスポンス認証によって暗号化通信を行なう場合の動作シーケンスを示す。
Figure 2014086923
この表9に示した動作シーケンスでは、最初にイニシエータからターゲットにコマンドATR_REQが送信される際に、イニシエータとターゲットとの間で、表1で示した「Secure LLC TLV」が交換されている。また、ATR_REQ及びATR_RESにおいて「Secure LLC TLV」の値が「03h 01h」である。すなわちイニシエータとターゲットとの間で相互認証を使用すること及び共有秘密情報の数が1つであることが宣言されている。従って、通信装置100、200の間で相互認証を使用してデータを保護する場合は、通信装置100、200は、表9に示したような動作シーケンスに従って動作する。
次に、上述してきた本開示の一実施形態に係る通信装置100、200の動作シーケンスをより詳細に説明する。
[通信装置の動作例]
図15は、本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。図15に示した流れ図は、イニシエータである通信装置100によるNFCIP−1及びLLCPの活性化を示す流れ図である。なお、図15に示した流れ図は、例えばLLCP処理部130が実行しても良い。以下、図15を用いて本開示の一実施形態に係る通信装置100の動作例について説明する。
通信装置100は、活性化の際に、まずLLC PDUを暗号化して通信するかどうかを判断する(ステップS101)。ステップS101の判断の結果、LLC PDUを暗号化して通信する場合には、通信装置100は、ATR_REQのGBiのSecure LLC TLVにて、NFC−SEC SCHを使用してデータを保護するためのパラメータを設定する(ステップS102)。
一方、ステップS101の判断の結果、LLC PDUを暗号化しない場合は、続いて通信装置100は、LLC SDUをSSEで暗号化して通信するかどうかを判断する(ステップS103)。ステップS103の判断の結果、LLC SDUを暗号化して通信する場合には、通信装置100は、ATR_REQのGBiのSecure LLC TLVにて、NFC−SEC SSEを使用してデータを保護するためのパラメータを設定する(ステップS104)。
一方、ステップS103の判断の結果、LLC SDUをSSEで暗号化しない場合は、続いて通信装置100は、LLC SDUを相互認証(Auth)で暗号化して通信するかどうかを判断する(ステップS105)。ステップS105の判断の結果、LLC SDUを相互認証で暗号化して通信する場合には、通信装置100は、ATR_REQのGBiのSecure LLC TLVにて、相互認証を使用してデータを保護するためのパラメータを設定する(ステップS106)。
一方、ステップS105の判断の結果、LLC SDUを相互認証(Auth)で暗号化しない場合は、通信装置100は、ATR_REQのGBiのSecure LLC TLVにて、暗号化をせずに通信するようなパラメータを設定する(ステップS107)。
最後に通信装置100は、上記ステップS102、S104、S106またはS107において設定されたパラメータが含まれるATR_REQを、ターゲットである通信装置200へ送信する(ステップS108)。
以上、図15を用いて本開示の一実施形態に係る通信装置100の動作例について説明した。図15に示したNFCIP−1及びLLCPの活性化処理は、NFCIP−1プロトコル処理部135や、LLCPリンクプロトコル処理部132が実行しても良い。次に、図15に示した流れ図によってATR_REQを生成した通信装置100から、そのATR_REQを受信した通信装置200の動作例について説明する。
図16は、本開示の一実施形態に係る通信装置200の動作例を示す流れ図である。図16に示した流れ図は、イニシエータである通信装置100から送信されたATR_REQに対してATR_RESを送信する場合の動作を示したものである。なお、図16に示した流れ図は、例えばLLCP処理部130が実行しても良い。以下、図16を用いて本開示の一実施形態に係る通信装置200の動作例について説明する。
通信装置200は、通信装置100からATR_REQを受信すると、ATR_REQのGBiのSecure LLC TLVで設定されている機能を自装置で有しているかどうかを判断する(ステップS111)。
上記ステップS111の判断の結果、ATR_REQのGBiのSecure LLC TLVで設定されている機能を有していると判断すると、通信装置200は、その機能を使用するように、ATR_RESのGBtのSecure LLC TLVを設定する(ステップS112)。一方、上記ステップS111の判断の結果、ATR_REQのGBiのSecure LLC TLVで設定されている機能を有していないと判断すると、通信装置200は、ATR_RESのGBtのSecure LLC TLVを設定しない(ステップS113)。
最後に通信装置200は、設定されたパラメータが含まれるATR_RESを、イニシエータである通信装置100へ送信する(ステップS114)。
以上、図16を用いて本開示の一実施形態に係る通信装置200の動作例について説明した。次に、図16に示した流れ図によってATR_RESを生成した通信装置200から、そのATR_RESを受信した通信装置100の動作例について説明する。
図17は、本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。図17に示した流れ図は、イニシエータである通信装置100によるNFCIP−1及びLLCPの活性化を示す流れ図であり、通信装置200からATR_RESを受信した通信装置100の動作例を示したものである。以下、図17を用いて本開示の一実施形態に係る通信装置100の動作例について説明する。
まず通信装置100は、ATR_REQのGBi及びATR_RESのGBtのSecure LLC TLVがSCHであるかどうかを判断する(ステップS121)。ステップS121の判断の結果、ATR_REQのGBi及びATR_RESのGBtのSecure LLC TLVがSCHであれば、通信装置100は、NFC−SECによる鍵生成処理を実行し(ステップS122)、NFC−SEC SCHの利用を記憶する(ステップS123)。
ステップS121の判断の結果、ATR_REQのGBiとATR_RESのGBtのSecure LLC TLVがいずれもSCHで無ければ、続いて通信装置100は、ATR_REQのGBi及びATR_RESのGBtのSecure LLC TLVがSSEであるかどうかを判断する(ステップS124)。
ステップS124の判断の結果、ATR_REQのGBi及びATR_RESのGBtのSecure LLC TLVがSSEであれば、通信装置100は、NFC−SECによる鍵生成処理を実行し(ステップS125)、NFC−SEC SSEで生成された共有秘密情報を保持する(ステップS126)。続いて通信装置100は、共有秘密情報を、ATR_REQ及びATR_RESで設定された数だけ生成したかどうかを判断し(ステップS127)、生成された共有秘密情報の数が設定された数に達していなければ、ステップS125及びS126の処理を設定された数に達するまで繰り返す。そして共有秘密情報を、ATR_REQ及びATR_RESで設定された数だけ生成すると、通信装置100は、NFC−SEC SSEの利用を記憶する(ステップS128)。
ステップS124の判断の結果、ATR_REQのGBiとATR_RESのGBtとのSecure LLC TLVがいずれもSSEで無ければ、続いて通信装置100は、ATR_REQのGBi及びATR_RESのGBtのSecure LLC TLVがSCH及びSSE以外の暗号方式(本実施形態では、相互認証方式)であるかどうかを判断する(ステップS129)。
ステップS129の判断の結果、ATR_REQのGBi及びATR_RESのGBtのSecure LLC TLVがSCH及びSSE以外の暗号方式であれば、通信装置100は、当該暗号方式による共有秘密情報を生成する(ステップS130)。続いて通信装置100は、共有秘密情報を、ATR_REQ及びATR_RESで設定された数だけ生成したかどうかを判断し(ステップS131)、生成された共有秘密情報の数が設定された数に達していなければ、ステップS130の処理を設定された数に達するまで繰り返す。そして共有秘密情報を、ATR_REQ及びATR_RESで設定された数だけ生成すると、通信装置100は、上記暗号方式の利用を記憶する(ステップS132)。
ステップS129の判断の結果、ATR_REQのGBiとATR_RESのGBtとのSecure LLC TLVが、いずれもSCH及びSSE以外の暗号方式でなければ、通信装置100は、NFCIP−1 SDUにLLC PDUを含めて、暗号化しないでデータ交換することを決定する(ステップS133)。
以上、図17を用いて本開示の一実施形態に係る通信装置100の動作例について説明した。次に、LLCコネクションを確立する際の通信装置100、200の動作例について説明する。
図18は、本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。図18に示した流れ図は、LLCコネクションの確立を要求する通信装置100の動作例について示したものである。以下、図18を用いて本開示の一実施形態に係る通信装置100の動作例について説明する。
本開示の一実施形態に係る通信装置100は、LLCコネクションの確立を要求にあたり、まずNFC−SEC SSEまたは相互認証方式を利用するかどうかを判断する(ステップS141)。NFC−SEC SSEまたは相互認証方式を利用するかどうかの判断は、例えば図17に示したNFCIP−1及びLLCPの活性化のフローの際に記憶された情報が用いられても良い。
ステップS141の判断の結果、NFC−SEC SSEまたは相互認証方式を利用する場合は、続いて通信装置100は、コネクションを確立しようとする当該SAPのコネクションのPDUを保護するかどうかを判断する(ステップS142)。
ステップS142の判断の結果、コネクションを確立しようとする当該SAPのコネクションのPDUを保護する場合は、続いて通信装置100は、Secure Connection TLVに、使用する共有秘密情報の番号を指定する(ステップS143)。
ステップS141の判断の結果、NFC−SEC SSE及び相互認証方式のいずれも利用しない場合、ステップS142の判断の結果、コネクションを確立しようとする当該SAPのコネクションのPDUを保護しない場合、またはステップS143でSecure Connection TLVに、使用する共有秘密情報の番号を指定すると、続いて通信装置100は、LLC CONNECT PDUを通信装置200へ送信する(ステップS144)。
続いて通信装置100は、通信装置200からLLC CONNECT PDUに対するCC(Connection Complete)を受信したかどうかを判断する(ステップS145)。
上記ステップS145の判断の結果、通信装置200からLLC CONNECT PDUに対するCCを受信したと判断すると、続いて通信装置100は、指定された共有秘密情報を使用して、このコネクションにおける以降の通信を暗号化することを記憶する(ステップS146)。そして通信装置100は、SAPと共有秘密情報番号との対応表を更新する(ステップS147)。
一方、上記ステップS145の判断の結果、通信装置200からLLC CONNECT PDUに対するCCを受信しなかったと判断すると、通信装置100は、通信装置200との間のコネクション確立に失敗したものとする。
以上、図18を用いて本開示の一実施形態に係る通信装置100の動作例について説明した。続いて、LLCコネクションの確立要求を受信した通信装置200の動作例について説明する。
図19は、本開示の一実施形態に係る通信装置200の動作例を示す流れ図である。図19に示したのは、通信装置100からLLC CONNECT PDUを受信した際の通信装置200の動作例を示したものである。以下、図19を用いて本開示の一実施形態に係る通信装置200の動作例について説明する。
通信装置100からLLC CONNECT PDUを受信すると、通信装置200は、Secure Connection TLVで指定された共有秘密情報の番号は有効かどうかを判断する(ステップS151)。
上記ステップS151の判断の結果、Secure Connection TLVで指定された共有秘密情報の番号が有効である場合は、通信装置200は、指定された共有秘密情報を使用して、このコネクションにおける以降の通信を暗号化することを記憶する(ステップS152)。そして通信装置200は、SAPと共有秘密情報番号との対応表を更新し(ステップS153)、通信装置100へLLC CONNECT PDUに対するCC(Connection Complete)を送信する(ステップS154)。
一方、上記ステップS151の判断の結果、Secure Connection TLVで指定された共有秘密情報の番号が有効でない場合は、通信装置200は、通信装置100へDM(Disconnected Mode)を送信する(ステップS155)。
以上、図19を用いて本開示の一実施形態に係る通信装置200の動作例について説明した。続いて、LLCデータ交換を行なう際の通信装置100、200の動作例について説明する。
図20は、本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。図20に示したのは、コネクションを確立した通信装置200との間でLLCデータ交換を行なう際の、通信装置100の動作例を示したものである。以下、図20を用いて本開示の一実施形態に係る通信装置100の動作例について説明する。
通信装置100は、コネクションを確立した通信装置200との間でLLCデータ交換を行なう際には、まずLLCでデータ交換するアプリケーションからデータ送信を要求する(ステップS161)。続いて通信装置100は、指定コネクションの通信が暗号化されるかどうかを判断する(ステップS162)。
上記ステップS162の判断の結果、指定コネクションの通信が暗号化される場合は、通信装置100は当該コネクションに対応する共有秘密情報でLLC SDUを暗号化する(ステップS163)。暗号化処理は、暗号処理部133や、NFC−SECのプロトコルに従う場合はNFC−SECプロトコル処理部134が、NFC−SECのプロトコルに従わない場合はアプリケーション実行部120が実行するアプリケーションが実行する。
最後に通信装置100は、コネクションを確立した通信装置200へ、LLC I(Information) PDUを送信する(ステップS164)。指定コネクションの通信が暗号化される場合は暗号化された情報が、暗号化されない場合は平文が、通信装置100から通信装置200へ送信される。
以上、図20を用いて本開示の一実施形態に係る通信装置100の動作例について説明した。次に、本開示の一実施形態に係る通信装置200の動作例について説明する。
図21は、本開示の一実施形態に係る通信装置200の動作例を示す流れ図である。図21に示した流れ図は、コネクションを確立した通信装置100との間でLLCデータ交換を行なう際の、通信装置200の動作例を示したものである。以下、図21を用いて本開示の一実施形態に係る通信装置200の動作例について説明する。
通信装置200は、コネクションを確立した通信装置100との間でLLCデータを受信すると、データを受信した当該コネクションの通信が暗号化されているかどうかを判断する(ステップS171)。
上記ステップS171の判断の結果、データを受信した当該コネクションの通信が暗号化されていれば、通信装置200は、当該コネクションに対応する共有秘密情報を用いて、LLC SDUを復号する(ステップS172)。
最後に通信装置200は、LLCでデータ交換するアプリケーションへ、受信した、または受信して復号したデータを転送する(ステップS173)。
以上、図21を用いて本開示の一実施形態に係る通信装置200の動作例について説明した。なお、図21に示したのはSSEによる暗号化が行われている場合であり、SCHによる暗号化が適用されている場合は、LLCでの処理が行われない。
続いて、確立したLLCコネクションを切断する際の通信装置100、200の動作例について説明する。
図22は、本開示の一実施形態に係る通信装置100の動作例を示す流れ図である。図22に示したのは、通信装置200との間で確立したLLCコネクションを切断する際の通信装置100の動作例である。以下、図22を用いて本開示の一実施形態に係る通信装置100の動作例について説明する。
図22に示したように、通信装置200との間で確立したLLCコネクションを切断する際には、まず通信装置100は通信装置200へ向けてLLC DISCONNECT PDUを送信する(ステップS181)。
続いて通信装置100は、LLC DISCONNECT PDUに対して通信装置200から送信されるDMを受信する(ステップS182)と、切断する当該コネクションが、共有秘密情報による暗号化をしていたかどうかを判断する(ステップS183)。ステップS183の判断の結果、切断する当該コネクションが、共有秘密情報による暗号化をしていた場合は、通信装置100は、SAP・共有秘密情報番号の対応表を更新する(ステップS184)。
この一連の流れにより、通信装置100は、通信装置200との間で確立したLLCコネクションを切断することができる。また、SAP・共有秘密情報番号の対応表を更新することで、通信装置100と通信装置200との間で使用されていた共有秘密情報は使用されなくなる。
以上、図22を用いて本開示の一実施形態に係る通信装置100の動作例について説明した。次に、本開示の一実施形態に係る通信装置200の動作例を説明する。
図23は、本開示の一実施形態に係る通信装置200の動作例を示す流れ図である。図23に示したのは、通信装置100との間で確立したLLCコネクションを切断する際の通信装置200の動作例である。以下、図23を用いて本開示の一実施形態に係る通信装置200の動作例について説明する。
図22のステップS181で通信装置100が送信したLLC DISCONNECT PDUを受信すると、通信装置200は、通信装置100へ向けてDM PDUを送信する(ステップS191)。
続いて通信装置200は、切断する当該コネクションが、共有秘密情報による暗号化をしていたかどうかを判断する(ステップS192)。ステップS192の判断の結果、切断する当該コネクションが、共有秘密情報による暗号化をしていた場合は、通信装置200は、SAP・共有秘密情報番号の対応表を更新する(ステップS193)。
この一連の流れにより、通信装置200は、通信装置100との間で確立したLLCコネクションを切断することができる。また、SAP・共有秘密情報番号の対応表を更新することで、通信装置100と通信装置200との間で使用されていた共有秘密情報は使用されなくなる。この際に、通信装置100及び通信装置200は、セキュリティ上の観点から、暗号化通信の際に使用していた共有秘密情報を完全に削除しても良い。
以上、図23を用いて本開示の一実施形態に係る通信装置200の動作例について説明した。次に、本開示の一実施形態に係る通信装置100が管理するデータの例を説明する。
[通信装置が管理するデータの例]
上述したように、通信装置100は、共有秘密情報の番号(SSN)と、共有秘密情報の値(SSV)との対応表(SS N−Vテーブル)、及びSAPと共有秘密情報の番号との対応表(SSP−SSNテーブル)を管理する。
表9は、SS N−Vテーブルの初期状態を示す表である。表9に示したように、SS N−Vテーブルの初期状態は、エントリの数は0個である。
Figure 2014086923
表10は、SSP−SSNテーブルの初期状態を示す表である。表10に示したように、SSP−SSNテーブルは、初期状態ではエントリの数は0個である。
Figure 2014086923
通信装置100は、共有秘密情報を生成すると、SS N−Vテーブルを更新する。例えば、通信装置100は、共有秘密情報を3つ生成すると、表11に示すようにSS N−Vテーブルを更新する。もちろん、以下の表に示したSSN及びSSVは一例であり、SSN及びSSVは係るものに限定されるものではない。
Figure 2014086923
通信装置100は、このように共有秘密情報を生成した後に、通信装置200との間でコネクションを確立すると、SSP−SSNテーブルを更新する。例えば、通信先のサービスアクセスポイントであるDSAPがDSAP=10、通信元のサービスアクセスポイントであるSSAPがSSAP=20,Connection TLV=0の場合は、通信装置100は、表12に示すようにSSP−SSNテーブルを更新する。
Figure 2014086923
通信装置100は、この表12の状態からさらに通信装置200との間でコネクションを確立すると、SSP−SSNテーブルを更新する。例えば、新たなコネクションでは、DSAP=11,SSAP=21,Connection TLV=1である場合は、通信装置100は、表13に示すようにSSP−SSNテーブルを更新する。
Figure 2014086923
通信装置100は、この表13の状態から、通信装置200との間でコネクションを切断すると、SSP−SSNテーブルを更新する。例えば、DSAP=10,SSAP=20,Connection TLV=0のコネクションを切断すると、通信装置100は、表14に示すようにSSP−SSNテーブルを更新する。
Figure 2014086923
通信装置100は、この表14の状態から、新たに通信装置200との間でコネクションを確立すると、SSP−SSNテーブルを更新する。例えば、DSAP=10,SSAP=20,Connection TLV=0の場合は、通信装置100は、表15に示すようにSSP−SSNテーブルを更新する。
Figure 2014086923
通信装置100は、このように情報を管理することで、どのコネクションにどの共有秘密情報が使用されているかを把握でき、コネクションに適した共有秘密情報を使用してデータを暗号化することができる。
<2.まとめ>
以上説明したように本開示の一実施形態によれば、NFC LLCPによる通信に際し、リンク活性化において暗号化するレイヤーと、共有秘密情報の生成方法とが指定される。そして、本開示の一実施形態によれば、このように指定された暗号化レイヤーと共有秘密情報の生成方法とに基づき、コネクション確立において、使用される共有秘密情報が指定され、通信データが暗号化される。
本開示の一実施形態は、NFC LLCPを用いる上位レイヤー(アプリケーション実行部120が実行するアプリケーション)が、全ての通信に対するNFC−SECによる暗号通信を行なうのか、NFC LLCPのコネクションごとの暗号通信を行なうのかが選択可能になるという効果を奏する。従って、本開示の一実施形態に係る通信装置100、200は、例えば、暗号通信の必要がないデータについては暗号化せずにデータの授受を実行し、暗号通信の必要があるデータについては暗号化してデータの授受を実行するという運用が可能になり、LLCPの複数コネクションの同時通信機能を十分に活用することが出来るようになる。
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、各装置に内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上記実施形態では、LLCP処理部130において暗号方式の決定を行なっていたが、本開示は係る例に限定されるものではない。例えば、暗号方式の決定はLLCP処理部130の外部、例えばアプリケーション実行部120が実行するアプリケーションが行ない、LLCP処理部130は、LLCP処理部130の外部で決定された暗号方式をLLCPコネクション処理部131で取得し、取得した暗号方式に基づいて暗号化通信を実行するようにしても良い。
例えば、上述の処理が実行される装置や、装置の内部で実行されるアプリケーションに応じて、使用する暗号化方式の優先度を変化させても良い。例えば、無線通信の接続情報等の、情報が傍受されると不都合が生じる情報の送受信を実行するアプリケーションの通信の際には暗号化通信が優先して実行されるように優先度を設定しても良い。
また例えば、一度生成された共有秘密情報が再利用されるようにしても良い。例えば、どのSSAPとDSAPの組でどの共有秘密情報が利用されたかの情報を保持しておき、同じSSAPとDSAPの組で再び暗号化通信が実行されようとする場合は、以前に利用されていた共有秘密情報が再利用されるようにしても良い。利用されていた共有秘密情報が再利用されるようにすることで、共有秘密情報の生成処理を省略でき、暗号化通信をより迅速に行えることができる。
なお、本技術は以下のような構成も取ることができる。
(1)
複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理部と、
前記他の装置との非接触通信の際に暗号化するコネクションを含む暗号化情報に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理部と、
を含む、集積回路。
(2)
前記他の装置との前記非接触通信の際に暗号化するコネクション及び暗号化方式を決定する暗号化方式決定部を有する、前記(1)に記載の集積回路。
(3)
前記暗号化方式決定部は、前記他の装置との前記非接触通信の際に使用する暗号化方式の決定の前に、前記他の装置との間で利用できる暗号化方式の情報を前記他の装置と交換する、前記(2)に記載の集積回路。
(4)
前記暗号化方式決定部は、全てのコネクションを暗号化するか、コネクションの一部を暗号化するかを決定する、前記(2)または(3)に記載の集積回路。
(5)
前記暗号化方式決定部は、前記他の装置との間の暗号化された通信に用いる暗号鍵の値及び前記暗号鍵を識別する情報を対応付けて管理する、前記(2)〜(4)のいずれかに記載の集積回路。
(6)
前記アプリケーションは、それぞれ固有のサービスアクセスポイントを有し、
前記暗号化方式決定部は、前記サービスアクセスポイント及び前記他の装置との間の暗号化された通信に用いる暗号鍵を識別する情報を対応付けて管理する、前記(2)〜(5)のいずれかに記載の集積回路。
(7)
前記暗号化方式決定部は、前記他の装置との間の前記非接触通信が終了すると、前記サービスアクセスポイント及び前記暗号鍵を識別する情報の対応付けを削除する、前記(6)に記載の集積回路。
(8)
前記暗号化方式決定部は、前記サービスアクセスポイント及び前記他の装置との間の暗号化された通信が終了した後に、前記サービスアクセスポイントが再度同じ相手との間で暗号化された通信を実行しようとする場合、同じ暗号鍵を再利用する、前記(6)または(7)に記載の集積回路。
(9)
前記暗号化情報を取得するためのインターフェースを有する、前記(1)〜(8)のいずれかに記載の集積回路。
(10)
複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理部と、
前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定部と、
前記暗号化方式決定部の決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理部と、
を含む、通信装置。
(11)
複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理ステップを備え、
前記通信処理ステップは、
前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定ステップと、
前記暗号化方式決定ステップでの決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理ステップと、
を含む、通信方法。
(12)
コンピュータに、複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理ステップを実行させ、
前記通信処理ステップは、
前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定ステップと、
前記暗号化方式決定ステップでの決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理ステップと、
を含む、コンピュータプログラム。
100、200 通信装置
110 CPU
111 メモリ
120 アプリケーション実行部
130 LLCP処理部
131 LLCPコネクション処理部
132 LLCPリンクプロトコル処理部
133 暗号処理部
134 NFC−SECプロトコル処理部
135 NFCIP−1プロトコル処理部

Claims (12)

  1. 複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理部と、
    前記他の装置との非接触通信の際に暗号化するコネクションを含む暗号化情報に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理部と、
    を含む、集積回路。
  2. 前記他の装置との前記非接触通信の際に暗号化するコネクション及び暗号化方式を決定する暗号化方式決定部を有する、請求項1に記載の集積回路。
  3. 前記暗号化方式決定部は、前記他の装置との前記非接触通信の際に使用する暗号化方式の決定の前に、前記他の装置との間で利用できる暗号化方式の情報を前記他の装置と交換する、請求項2に記載の集積回路。
  4. 前記暗号化方式決定部は、全てのコネクションを暗号化するか、コネクションの一部を暗号化するかを決定する、請求項2に記載の集積回路。
  5. 前記暗号化方式決定部は、前記他の装置との間の暗号化された通信に用いる暗号鍵の値及び前記暗号鍵を識別する情報を対応付けて管理する、請求項2に記載の集積回路。
  6. 前記アプリケーションは、それぞれ固有のサービスアクセスポイントを有し、
    前記暗号化方式決定部は、前記サービスアクセスポイント及び前記他の装置との間の暗号化された通信に用いる暗号鍵を識別する情報を対応付けて管理する、請求項2に記載の集積回路。
  7. 前記暗号化方式決定部は、前記他の装置との間の前記非接触通信が終了すると、前記サービスアクセスポイント及び前記暗号鍵を識別する情報の対応付けを削除する、請求項6に記載の集積回路。
  8. 前記暗号化方式決定部は、前記サービスアクセスポイント及び前記他の装置との間の暗号化された通信が終了した後に、前記サービスアクセスポイントが再度同じ相手との間で暗号化された通信を実行しようとする場合、同じ暗号鍵を再利用する、請求項6に記載の集積回路。
  9. 前記暗号化情報を取得するためのインターフェースを有する、請求項1に記載の集積回路。
  10. 複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理部と、
    前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定部と、
    前記暗号化方式決定部の決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理部と、
    を含む、通信装置。
  11. 複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理ステップを備え、
    前記通信処理ステップは、
    前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定ステップと、
    前記暗号化方式決定ステップでの決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理ステップと、
    を含む、通信方法。
  12. コンピュータに、複数のコネクションを確立して同時に通信を実行することが可能な非接触通信により他の装置と通信を行う通信処理ステップを実行させ、
    前記通信処理ステップは、
    前記他の装置との前記非接触通信の際に暗号化するコネクションを決定する暗号化方式決定ステップと、
    前記暗号化方式決定ステップでの決定に基づいて前記非接触通信で送信されるデータの暗号処理を実行する暗号処理ステップと、
    を含む、コンピュータプログラム。
JP2012235155A 2012-10-24 2012-10-24 集積回路、無線通信装置及びコンピュータプログラム Pending JP2014086923A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012235155A JP2014086923A (ja) 2012-10-24 2012-10-24 集積回路、無線通信装置及びコンピュータプログラム
US14/056,395 US20140112476A1 (en) 2012-10-24 2013-10-17 Integrated circuit, wireless communication apparatus, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012235155A JP2014086923A (ja) 2012-10-24 2012-10-24 集積回路、無線通信装置及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2014086923A true JP2014086923A (ja) 2014-05-12

Family

ID=50485334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012235155A Pending JP2014086923A (ja) 2012-10-24 2012-10-24 集積回路、無線通信装置及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US20140112476A1 (ja)
JP (1) JP2014086923A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694378B2 (en) * 2013-03-29 2020-06-23 Sony Corporation Integrated circuit, communication method, computer program, and communication apparatus
WO2016165093A1 (zh) * 2015-04-16 2016-10-20 华为技术有限公司 一种基于逻辑链路控制协议llcp的服务发现方法及nfc控制器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022421A (ja) * 2001-07-06 2003-01-24 Nippon Signal Co Ltd:The 非接触型icカード用リーダライタ
JP4276259B2 (ja) * 2003-04-01 2009-06-10 パク,ミ−キョン タグ読み取り機能を備えた移動通信端末機及び真正品認証サービス提供方法
JP5289460B2 (ja) * 2007-11-30 2013-09-11 サムスン エレクトロニクス カンパニー リミテッド 近距離通信ネットワークにおける安全な通信のためのシステム及び方法
JP4834748B2 (ja) * 2009-03-10 2011-12-14 株式会社東芝 情報記憶媒体、媒体認証機器、媒体認証システム、及びicカード

Also Published As

Publication number Publication date
US20140112476A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
CN107637039B (zh) 执行所有者转移的系统和转移设备所有权的方法和系统
JP5289460B2 (ja) 近距離通信ネットワークにおける安全な通信のためのシステム及び方法
US8565131B2 (en) Communication device and communication method
CN107113287B (zh) 在用户装备之间执行设备到设备通信的方法
EP3700124B1 (en) Security authentication method, configuration method, and related device
US20130007457A1 (en) Exchange of key material
CN107005927A (zh) 用户设备ue的接入方法、设备及系统
CN105577625A (zh) 基于预共享密钥的实体鉴别方法及装置
CN101707767B (zh) 一种数据传输方法及设备
CN108390885A (zh) 一种获得设备标识的方法及装置
WO2016058965A1 (en) One time credentials for secure automated bluetooth pairing
US10694378B2 (en) Integrated circuit, communication method, computer program, and communication apparatus
WO2013087983A1 (en) Method and apparatus for implementing key stream hierarchy
CN105407109A (zh) 一种蓝牙设备间数据安全传输方法
JP2014086923A (ja) 集積回路、無線通信装置及びコンピュータプログラム
Urien LLCPS: A new secure model for Internet of Things services based on the NFC P2P model
CN109905345B (zh) 通信方法、通信装置和通信设备
CN117279119B (zh) 用于设备间无线通信的方法和通信装置
TWI418177B (zh) Random network security routing method
KR20150135717A (ko) 모바일 멀티홉 네트워크에서 비밀키를 공유하는 장치 및 방법
CN109495982B (zh) 通信方法及装置、可读存储介质
EP4322456A1 (en) Quantum secure implicit authenticated password-based protocols and systems
JP6908914B2 (ja) データ送信装置、データ受信装置、通信システム、および、プログラム
EP3677061B1 (en) Performing a key agreement recovery procedure
Yue et al. P2P File Transfer System Based on NFC