国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      通信系統(tǒng)和通信方法

      文檔序號:7814137閱讀:227來源:國知局
      通信系統(tǒng)和通信方法
      【專利摘要】一種能夠處置算法并且具有通信擴展性的通信系統(tǒng)和方法、一種信息處理裝置和方法、一種裝置、一種程序及一種記錄介質。能力清單(102)存儲表示關于讀取器/寫入器(100)處置的加密和解密算法的能力的能力清單。類似地,能力清單(202)存儲表示關于IC卡(200)處置的加密和解密算法的能力的能力清單。讀取器/寫入器(100)和IC卡(200)交換它們的能力清單,選擇保證與通信數(shù)據(jù)的重要性程度相對應的安全級別的算法,及根據(jù)選擇的算法進行通信。本發(fā)明可應用于進行NFCIP通信的裝置。
      【專利說明】 通信系統(tǒng)和通信方法
      [0001]本申請是2008年5月5日提交的發(fā)明名稱為“通信系統(tǒng)和通信方法”的中國專利申請200780001293.3的分案申請。

      【技術領域】
      [0002]本發(fā)明涉及通信系統(tǒng)、通信方法、信息處理器、信息處理方法、裝置、程序及記錄介質,并且更具體地說,涉及能夠當進行安全和方便信息通信時考慮到相互通信能力進行通信的通信系統(tǒng)、通信方法、信息處理器、信息處理方法、裝置、程序及記錄介質。

      【背景技術】
      [0003]隨著信息技術的發(fā)展,已經(jīng)建造了通信系統(tǒng),在該通信系統(tǒng)中,諸如計算機之類的信息處理器由WLAN(無線局域網(wǎng))'Bluetooth?(藍牙)、或其它無線通信部件連接,以發(fā)送和接收文件、數(shù)據(jù)、及其它信息并且共享信息。
      [0004]通過利用裝有寬帶通信功能的裝置,如使用藍牙等能夠寬帶通信的通信裝置,發(fā)送和接收動畫數(shù)據(jù)、音樂數(shù)據(jù)、及其它大容量數(shù)據(jù),該通信裝置安裝在蜂窩電話或個人計算機中。同時,在依賴于寬帶通信的數(shù)據(jù)通信中,用來加密數(shù)據(jù)的加密處理一般被引入,以降低由裝有寬帶通信功能的第三方裝置偷竊數(shù)據(jù)的危險、數(shù)據(jù)的偽造、及甚至在寬帶通信中的其它安全性危險。
      [0005]然而,為了在由藍牙代表的寬帶通信中執(zhí)行加密處理,首先必須識別通信方。因為寬帶通信的可通信區(qū)域很寬,所以存在裝有寬帶通信功能的意外的裝置被識別為通信方的可能性。
      [0006]即使識別到通信方,也必須在兩個通信方之間共享用來開始更安全通信的會話密鑰。因為寬帶通信的可通信區(qū)域很寬的特性,當會話密鑰發(fā)送到通信方時,存在密鑰由第三方使用的裝有寬帶通信功能的裝置偷竊和解密的可能性。因此,必須提高會話密鑰的強度(例如,增大密鑰長度)。為此目的,裝有寬帶通信功能的裝置需要具有高處理能力。
      [0007]相應地,已經(jīng)提出,使會話密鑰能夠在兩個通信裝置之間安全地共享(見例如專利文獻I)。
      [0008]現(xiàn)在參照圖1簡要地描述在專利文獻I中公開的通信。進行通信的裝置這里分別稱作啟動器和目標。
      [0009]啟動器在步驟Sll中創(chuàng)建和發(fā)送密鑰。啟動器例如執(zhí)行輪詢(用于詢問的處理)。如果從目標送入對于輪詢的響應,則啟動器接收響應,并且創(chuàng)建加密密鑰和解密密鑰。啟動器把創(chuàng)建的密鑰發(fā)送到目標。
      [0010]在步驟S21中,目標接收加密密鑰。在步驟S22中,目標產(chǎn)生隨機數(shù)。產(chǎn)生的隨機數(shù)當作會話密鑰。會話密鑰使用接收的加密密鑰作為密鑰而被加密。加密的會話密鑰被發(fā)送到啟動器。
      [0011]在步驟S12中,如果啟動器從目標接收到加密的會話密鑰,則啟動器用解密密鑰來解密密鑰,并且導出會話密鑰。在步驟S13中,開始使用解密的會話密鑰的通信。
      [0012]如果啟動器以這種方式接收加密的會話密鑰,則啟動器用已經(jīng)產(chǎn)生的解密密鑰解密加密的會話密鑰,從而得到會話密鑰。以這種方式,公共會話密鑰在啟動器與目標之間共享。進行使用會話密鑰的通信,例如其中加密利用會話密鑰發(fā)送和接收的數(shù)據(jù)的通信。
      [0013]專利文獻I JP-A-2006-14076


      【發(fā)明內容】

      [0014]發(fā)明要解決的問題
      [0015]如在專利文獻I中公開的那樣,如果共享會話密鑰,則可進行安全通信。此外,如果例如由發(fā)送和接收的數(shù)據(jù)改變算法,則可進行更安全的通信。另外,可進行可擴展通信。
      [0016]鑒于這些情況,作出本發(fā)明,并且希望實現(xiàn)更安全的通信并允許可擴展通信。
      [0017]解決問題的手段
      [0018]根據(jù)本發(fā)明一個方面的信息處理系統(tǒng)是包括信息處理器和進行通信的裝置的通信系統(tǒng)。通信系統(tǒng)包括:發(fā)送部件,把指示關于加密的能力的清單從信息處理器和所述裝置中的一個發(fā)送到另一個;決定部件,確定一種算法,通過該算法接收到由發(fā)送部件發(fā)送的清單的另一個參考接收到的清單,并且可以以關于另一個自己的加密的能力與所述一個進行通信;及通信部件,通過由決定部件確定的算法進行通信。
      [0019]根據(jù)本發(fā)明一個方面的用于信息處理系統(tǒng)的通信方法是用于包括信息處理器和進行通信的裝置的通信系統(tǒng)的通信方法。指示關于加密的能力的清單從信息處理器和所述裝置中的一個發(fā)送到另一個。接收到發(fā)送的清單的另一個參考接收列的清單,確定一種通過其可以以關于另一個自己的加密的能力進行與所述一個的通信的算法,及通過確定的算法進行通信。
      [0020]在根據(jù)本發(fā)明一個方面的信息處理系統(tǒng)和通信方法中,指示關于加密的能力的清單從進行通信的裝置中的至少一個發(fā)送到另一個。接收側確定用于通信的算法?;谒_定的算法進行通信。
      [0021]根據(jù)本發(fā)明一個方面的信息處理器是與裝置進行通信的信息處理器,并且包括:存儲部件,存儲指示關于加密的能力的第一能力清單;接收部件,用來接收指示關于裝置的加密的能力的第二能力清單;決定部件,通過參考第一能力清單和第二能力清單確定一種通過其與所述裝置進行通信的算法;及發(fā)送部件,把用來識別由決定部件確定的算法的識別信息和依賴于算法的密鑰或密鑰材料發(fā)送到所述裝置。
      [0022]可能的是,進一步提供清單發(fā)送部件,該清單發(fā)送部件從第一能力清單選擇當由決定部件進行確定處理時成為候選對象的算法,創(chuàng)建其中寫入選擇的算法的第三能力清單,及把創(chuàng)建的清單發(fā)送到所述裝置。
      [0023]決定部件可根據(jù)安全級別確定算法。
      [0024]根據(jù)本發(fā)明一個方面的信息處理方法是用于與裝置進行通信的信息處理器的信息處理方法。該方法包括以下步驟:管理指示關于加密的能力的第一能力清單;控制對指示關于所述裝置的加密的能力的第二能力清單的接收;參考第一能力清單和第二能力清單,并且確定一種通過其與所述裝置進行通信的算法;及控制用來識別由確定步驟的處理確定的算法的識別信息和依賴于算法的密鑰或密鑰材料向所述裝置的發(fā)送。
      [0025]根據(jù)本發(fā)明一個方面的程序是用于控制與裝置進行通信的信息處理器的計算機的程序。該程序包括以下步驟:管理指示關于加密的能力的第一能力清單;控制對指示關于所述裝置的加密的能力的第二能力清單的接收;參考第一能力清單和第二能力清單,并且確定一種通過其與所述裝置進行通信的算法;及控制用來識別由確定步驟的處理確定的算法的識別信息和依賴于算法的密鑰或密鑰材料向所述裝置的發(fā)送。
      [0026]程序記錄在根據(jù)本發(fā)明一個方面的記錄介質上,程序用于使與裝置進行通信的信息處理器進行包括如下步驟的處理:管理指示關于加密的能力的第一能力清單;控制對指示關于所述裝置的加密的能力的第二能力清單的接收;參考第一能力清單和第二能力清單,并且確定一種通過其與所述裝置進行通信的算法;及控制用來識別由確定步驟的處理確定的算法的識別信息和依賴于算法的密鑰或密鑰材料向所述裝置的發(fā)送。
      [0027]在根據(jù)本發(fā)明一個方面的信息處理器、信息處理方法及程序中,由關于遠程通信方的加密的能力并由關于本地方的加密的能力確定一種通過其進行通信的算法,并且基于確定的算法進行通信。
      [0028]根據(jù)本發(fā)明一個方面的裝置是與信息處理器進行通信的裝置,并且包括:發(fā)送部件,把指示關于加密的能力的能力清單發(fā)送到信息處理器;接收部件,接收用來識別當發(fā)送和接收數(shù)據(jù)時使用的并且由信息處理器確定的算法的識別信息;及加密解密部件,根據(jù)識別信息識別算法,并且利用識別的算法加密或解密數(shù)據(jù)。
      [0029]可能的是,進一步提供有第二接收部件,該第二接收部件接收指示關于信息處理器的加密的能力的第二能力清單。由處理器本身可處置的并且從在第二能力清單描述的能力中選擇的能力在由發(fā)送部件發(fā)送的能力清單中描述。
      [0030]根據(jù)本發(fā)明一個方面的信息處理方法是用于與信息處理器進行通信的裝置的信息處理方法,并且包括以下步驟:控制將指示關于加密的能力的能力清單向信息處理器的發(fā)送;控制對用來識別當發(fā)送和接收數(shù)據(jù)時使用的并且由信息處理器確定的算法的識別信息的接收;及根據(jù)識別信息識別算法,并且利用識別的算法加密或解密數(shù)據(jù)。
      [0031]根據(jù)本發(fā)明一個方面的程序是用于控制與信息處理器進行通信的裝置的計算機的程序,并且包括以下步驟:控制將指示關于加密的能力的能力清單向信息處理器的發(fā)送;控制對用來識別當發(fā)送和接收數(shù)據(jù)時使用的并且由信息處理器確定的算法的識別信息的接收;及根據(jù)識別信息識別算法,并且利用識別的算法加密或解密數(shù)據(jù)。
      [0032]程序記錄在根據(jù)本發(fā)明一個方面的記錄介質上,程序用于使與信息處理器進行通信的裝置進行包括如下步驟的處理:控制將指示關于加密的能力的能力清單向信息處理器的發(fā)送;控制對用來識別當發(fā)送和接收數(shù)據(jù)時使用的并且由信息處理器確定的算法的識別信息的接收;及根據(jù)識別信息識別算法,并且利用識別的算法加密或解密數(shù)據(jù)。
      [0033]在根據(jù)本發(fā)明一個方面的裝置、信息處理方法及程序中,發(fā)送指示關于加密的能力的清單。接收規(guī)定一種通過其進行通信的算法的信息?;谒惴ㄟM行加密或解密。
      [0034]本發(fā)明的優(yōu)點
      [0035]根據(jù)本發(fā)明的一個方面,可選擇多種算法和解密方法。此外,可通過選擇的方法進行通信。

      【專利附圖】

      【附圖說明】
      [0036]圖1是示出現(xiàn)有技術通信系統(tǒng)的一個例子的流程圖。
      [0037]圖2是表示本發(fā)明的通信系統(tǒng)的一個實施例的構造的圖。
      [0038]圖3是示出通信系統(tǒng)的操作的流程圖。
      [0039]圖4是示出讀取器/寫入器的操作的流程圖。
      [0040]圖5是示出能力清單的圖。
      [0041]圖6是示出能力清單的圖。
      [0042]圖7是示出IC卡的操作的流程圖。
      [0043]圖8是表示通信系統(tǒng)的構造的另一個例子的圖。
      [0044]圖9是示出讀取器/寫入器的其它操作的流程圖。
      [0045]圖10是示出IC卡的其它操作的流程圖。
      [0046]圖11是示出通信系統(tǒng)的操作的流程圖。
      [0047]圖12是示出能力清單的圖。
      [0048]圖13是示出能力清單的圖。
      [0049]圖14是示出能力清單的圖。
      [0050]圖15是示出能力清單的圖。
      [0051]附圖標記說明
      [0052]50:通信系統(tǒng);100:讀取器/寫入器;101:控制部分;102:能力清單存儲部分;103:密鑰創(chuàng)建部分;104:數(shù)據(jù)存儲部分;105:加密部分;106:解密部分;107:通信部分;200:IC卡;201:控制部分;202:能力清單存儲部分;203:隨機數(shù)創(chuàng)建部分;204:數(shù)據(jù)存儲部分;205:加密部分;206:解密部分;207:通信部分;301:密鑰創(chuàng)建部分。

      【具體實施方式】
      [0053]以下參照附圖描述本發(fā)明的實施例。
      [0054][系統(tǒng)構造的例子]
      [0055]圖2是方塊圖,表示在應用本發(fā)明的通信系統(tǒng)50的一個實施例中的構造的例子。通信系統(tǒng)50包括讀取器/寫入器100和IC卡200。讀取器/寫入器100和IC卡200例如經(jīng)由它們擁有的天線等無線地進行通信。
      [0056]讀取器/寫入器100構造成包括控制部分101、能力清單存儲部分102、密鑰創(chuàng)建部分103、數(shù)據(jù)存儲部分104、加密部分105、解密部分106、及通信部分107。
      [0057]控制部分101構造成例如包括CPU (中央處理單元),并且控制讀取器/寫入器100的各個部分。能力清單存儲部分102存儲以后所描述的關于通信的能力的清單,特別是關于加密方法和解密方法(算法:在本說明書中,“算法”的表述可以包括方法和用于方法的密鑰的長度)的能力的清單。當需要產(chǎn)生時,在能力清單存儲部分102中存儲的能力清單經(jīng)通信部分107供給到IC卡200。密鑰創(chuàng)建部件103創(chuàng)建用于加密和解密的密鑰。
      [0058]數(shù)據(jù)存儲部分104構造成包括:存儲介質,如RAM(隨機存取存儲器)和ROM(只讀存儲器);和記錄介質。數(shù)據(jù)存儲部分存儲對于控制讀取器/寫入器100的各個部分的控制部分101必需的程序和數(shù)據(jù)。此外,數(shù)據(jù)存儲部分存儲來自IC卡200的數(shù)據(jù)和供給到IC卡200的數(shù)據(jù)。
      [0059]加密部分105加密供給到IC卡200的密鑰和數(shù)據(jù)。解密部分106對來自IC卡200的加密密鑰和數(shù)據(jù)進行解密。加密部分105和解密部分106中的每一個基于在能力清單中描述的多種算法之一進行加密或解密。在能力清單中描述由裝置本身可處置的多種(大于一種)算法。選擇(規(guī)定)多種所描述的算法中的一種,并且基于選擇的(規(guī)定的)算法進行加密或解密。
      [0060]通信部分107與IC卡200進行通信。讀取器/寫入器100的通信部分107設計成輻射給定電磁波并基于響應電磁波的負載的變化檢測是否已經(jīng)把IC卡200帶得靠近讀取器/寫入器。例如,通信部分構造成包括天線(未表示),當IC卡200被帶到該天線附近時,向IC卡200發(fā)送和從其接收各種數(shù)據(jù)。
      [0061]通信部分107基于發(fā)送到IC卡200的數(shù)據(jù)ASK (幅移鍵控)調制例如從振蕩電路(OSC)供給的給定頻率的載波,并且從天線輸出產(chǎn)生的調制波作為電磁波。此外,通信部分107解調經(jīng)天線導出的調制波(ASK調制波),并且根據(jù)情況把解調數(shù)據(jù)供給到控制部分101
      坐坐寸寸ο
      [0062]IC卡200構造成包括控制部分201、能力清單存儲部分202、隨機數(shù)創(chuàng)建部分203、數(shù)據(jù)存儲部分204、加密部分205、解密部分206、及通信部分207。
      [0063]控制部分201構造成例如包括CPU,并且控制IC卡200的各個部分。能力清單存儲部分202存儲以后所描述的關于通信的能力,特別是關于加密方法和解密方法(算法)的能力的清單。當需要產(chǎn)生時,在能力清單存儲部分202中存儲的能力清單經(jīng)通信部分207供給到讀取器/寫入器100。隨機數(shù)創(chuàng)建部分203產(chǎn)生隨機數(shù)。產(chǎn)生的隨機數(shù)如以后描述的那樣,用作在與讀取器/寫入器100的通信中的會話密鑰。
      [0064]數(shù)據(jù)存儲部分204構造成包括存儲(記錄)介質,如RAM、ROM、及EEPROM (電可擦除可編程只讀存儲器),并且存儲對于控制IC卡200的各個部分的控制部分201必需的程序和數(shù)據(jù)。此外,數(shù)據(jù)存儲部分存儲來自讀取器/寫入器100的數(shù)據(jù)和供給到讀取器/寫入器100的數(shù)據(jù)。
      [0065]加密部分205加密供給到讀取器/寫入器100的密鑰和數(shù)據(jù)。解密部分206解密來自讀取器/寫入器100的加密密鑰和數(shù)據(jù)。加密部分205和解密部分206基于在能力清單描述的多種算法之一進行加密和解密。在能力清單中描述由裝置本身可處置的多種(大于一種)算法。選擇(規(guī)定)多種所描述的算法之一,并且進行基于選擇的(規(guī)定的)算法的加密或解密。
      [0066]通信部分207構造成包括例如由線圈狀天線和電容器組成的LC電路。通信部分設計成與從布置得靠近LC電路的讀取器/寫入器100輻射的給定頻率的電磁波諧振。此夕卜,通信部分207通過ASK調制對在天線中激勵的交變磁場整流,穩(wěn)定它,及把它作為直流電源供給到各個部分。調節(jié)從讀取器/寫入器100輻射的電磁波的電功率,從而產(chǎn)生把所需的電功率饋送到IC卡200的磁場。
      [0067]另外,通信部分207通過進行包檢測解調經(jīng)天線接收的調制波(ASK調制波),通過BPSK(二進制相移鍵控)解調來解調調制的數(shù)據(jù),把數(shù)據(jù)供給到控制部分201等等,產(chǎn)生具有與接收的信號的時鐘頻率相同頻率的時鐘信號,并把產(chǎn)生的信號供給到控制部分201。
      [0068]此外,通信部分207例如在其中給定信息發(fā)送到讀取器/寫入器100的情況下基于天線上負載的變化ASK調制BPSK調制的數(shù)據(jù),并且把調制分量經(jīng)天線發(fā)送到讀取器/寫入器100。
      [0069]如以前描述的那樣,讀取器/寫入器100和IC卡200無線地進行通信,并且因此兩個或更多個IC卡或讀取器/寫入器同時輻射出電磁波。結果,存在不能分辨IC卡或讀取器/寫入器是否已經(jīng)發(fā)射了電磁波(哪個對象已經(jīng)發(fā)射了電磁波),即所謂的沖突的擔心。然而,在通信系統(tǒng)50中的讀取器/寫入器100和IC卡200進行與NFCIP (近場通信接口和協(xié)議)-1相匹配的通信,該NFCIP-1是能夠識別位于可與讀取器/寫入器通信的范圍內的IC卡和RFID的通信方法。
      [0070]NFCIP-1包括允許RF檢測和避免沖突的機理,以便能夠實現(xiàn)其它NFCIP-1裝置的通信與在相同帶中通信的其它裝置進行的通信的可比性。當RF沖突被避免并且用于搜索單個裝置的處理時,使用稱作NFC標識符(NFCID(NFC Identifier))的NFC裝置標識符,NFC裝置標識符利用隨機數(shù)。在常規(guī)通信系統(tǒng)中,IC卡所固有的ID發(fā)送到讀取器/寫入器,并且讀取器/寫入器基于ID識別每個單獨的IC卡,從而防止沖突。在NFCIP-1中,不必把IC卡固有的ID發(fā)送到讀取器/寫入器。
      [0071]相應地,在通信系統(tǒng)50中,即使IC卡200固有的卡ID不發(fā)送到讀取器/寫入器100,讀取器/寫入器100和IC卡200也可唯一地識別它們的相應通信方,借此可避免沖突。
      [0072]NFCIP-1 的細節(jié)在 IS0/IEC18092 中描述。
      [0073]在如下的描述中,以其中讀取器/寫入器100作為在NFCIP-1中規(guī)定的啟動器操作、而IC卡200作為在NFCIP-1中規(guī)定的目標操作的情形作為例子。
      [0074][關于系統(tǒng)的操作]
      [0075]接下來通過參照圖3的流程圖描述在圖2中表示的通信系統(tǒng)50的操作。首先,通過參照圖3的流程圖簡要地描述通信系統(tǒng)50的操作。然后,將描述讀取器/寫入器100和IC卡200的操作的細節(jié)。
      [0076]讀取器/寫入器100在步驟S51中把能力清單發(fā)送到IC卡200。發(fā)送的能力清單在步驟S61中由IC卡200接收。如果IC卡200從讀取器/寫入器100接收到能力清單,則IC卡在步驟S62中把其自己的能力清單發(fā)送到讀取器/寫入器100。發(fā)送的能力清單在步驟S52中由讀取器/寫入器100接收。
      [0077]以這種方式,讀取器/寫入器100和IC卡200交換關于它們的相互通信能力的信息,在這種情況下,交換關于與加密和解密相關聯(lián)的算法的信息。
      [0078]讀取器/寫入器100在步驟S53中參考其自己的能力清單和IC卡200的能力清單,并且選擇在相互清單中描述的算法,即公共算法中的用于加密和解密的算法。
      [0079]在步驟S54中,基于選擇的算法創(chuàng)建加密密鑰和解密密鑰,并且密鑰中的加密密鑰被發(fā)送到IC卡200。在這種描述中,把其中選擇一種通過其創(chuàng)建加密密鑰和解密密鑰的算法的情形當作例子。創(chuàng)建的密鑰和創(chuàng)建它們的方法根據(jù)選擇的算法而不同。
      [0080]如果IC卡200在步驟S63中從讀取器/寫入器100接收到加密密鑰,則IC卡在步驟S64中產(chǎn)生隨機數(shù),并且把產(chǎn)生的隨機數(shù)設置為會話密鑰。會話密鑰用接收的加密密鑰加密,并且發(fā)送到讀取器/寫入器100。
      [0081]如果讀取器/寫入器100在步驟S55中接收到加密的會話密鑰,則讀取器/寫入器在步驟S54中使用解密鑰解密加密的會話密鑰。
      [0082]以這種方式,會話密鑰在讀取器/寫入器100與IC卡200之間共享。在共享會話密鑰之后,根據(jù)情況進行使用會話密鑰的通信。
      [0083]這里,如以上描述的那樣,假定例如會話密鑰在步驟S64中被加密并且被發(fā)送??蛇x擇地,可以發(fā)送用來創(chuàng)建會話密鑰的材料,而不是發(fā)送會話密鑰本身。
      [0084]就是說,在本實施例中,加密方法通過交換能力清單被確定,如在下面繼續(xù)描述的那樣。在某些情況下,基于確定的加密方法發(fā)送和接收會話密鑰本身。在其它情況下,發(fā)送和接收用來創(chuàng)建會話密鑰的材料。在進一步的情況下,依據(jù)確定的加密方法發(fā)送和接收不與會話密鑰相關聯(lián)的信息。發(fā)送和接收的信息取決于確定的加密方法。
      [0085]接下來通過參照圖4的流程圖詳細描述讀取器/寫入器100的操作。
      [0086]在步驟SlOl中,讀取器/寫入器100創(chuàng)建能力清單。讀取器/寫入器100的控制部分101通過參考在能力清單存儲部分102中存儲的能力清單創(chuàng)建發(fā)送到IC卡200的能力清單。創(chuàng)建的能力清單在步驟S102中發(fā)送到IC卡200。
      [0087]現(xiàn)在通過參照圖5和6描述在能力清單存儲部分102中存儲的能力清單(下文根據(jù)情況可以稱作第一能力清單)與創(chuàng)建的能力清單(下文根據(jù)情況可以稱作第二能力清單)之間的關系。
      [0088]圖5是表示在能力清單存儲部分102中存儲的能力清單的一個例子的圖。與加密和解密相關聯(lián)的算法分類成兩種,即密鑰共享系統(tǒng)和密碼通信系統(tǒng)。為了說明方便,在本描述中,能力清單分類成在圖5中所示的兩種清單。當然,一種清單形式也是可能的。
      [0089]其中16種算法可登記為密鑰共享系統(tǒng)的清單和其中16種算法可登記為密碼通信系統(tǒng)的清單被存儲在能力清單存儲部分102中。這里假定,十六種算法可登記在每個清單中。這與其中按照圖6中所示的16位表示發(fā)送到IC卡200的第二能力清單的方式相對應。因此,如果第二能力清單創(chuàng)建了除16位之外的位數(shù),則數(shù)量與該位數(shù)相對應的算法可作為第一能力清單存儲。
      [0090]在圖6中表示的第二能力清單表示其中16位賦予密鑰共享系統(tǒng)和16位賦予密碼通信系統(tǒng)的一個例子。在圖5和6中,密鑰共享系統(tǒng)根據(jù)情況由K表示。密碼通信系統(tǒng)根據(jù)情況由C表示。
      [0091]在描述在圖5中表示的第一能力清單與在圖6中表示的第二能力清單之間的關系時,如果讀取器/寫入器100具有處置在第一能力清單的列“K-0”中描述的算法的能力,則把在圖6中表示的第二能力清單的密鑰供給系統(tǒng)的“K-0”的位設置為I。繼續(xù)描述,假定把與所擁有的能力相對應的位設置到I并且把與不擁有的能力相對應的位設置到O。也有可能的是,把與所擁有的能力相對應的位設置到O并且把與不擁有的能力相對應的位設置到
      1
      [0092]對于第一能力清單的每一列賦予一種算法。例如,參照圖5,把作為密鑰共享系統(tǒng)的算法“DH 768位”賦予列“K-0”。在可處置賦予的算法的情況下,在列中寫入任何形式的信息。寫入到列中的信息可以是指示它是否可被處置的標志。諸如算法名稱之類的信息也可能是可能的。
      [0093]以這種方式,使在能力清單存儲部分102中存儲的第一能力清單的給定列與給定算法相對應。如圖5中所示,使與不由讀取器/寫入器100處置的算法相對應的每一列為空白(沒有信息被寫入,或者描述指示它沒有能力處置對應算法的信息)。
      [0094]可選擇地,第一能力清單可以是其中以未示出的方式只描述僅關于例如由讀取器/寫入器100處置的算法信息的清單。比如,根據(jù)在圖5中表示的例子,包括信息“κ-0、κ-1、K-4、K-5、K-8、K-9、K-C、C_0、C_l、C_2、C_4、C_5、C-6” 的清單也是可能的。
      [0095]此外,這樣的第一能力清單可以是可更新的。例如,在與通信部分107(圖2)的通信中,可以發(fā)送和接收關于新算法的數(shù)據(jù),發(fā)送和接收的關于算法的數(shù)據(jù)可以存儲在數(shù)據(jù)存儲部分104中,并且可以更新在能力清單存儲部分102中存儲的第一能力清單(即,在與新添加算法相對應的列中描述信息)。可刪除在能力清單中描述的算法??梢愿膶懸呀?jīng)描述的信息。
      [0096]可以參考在圖5中所示的第一能力清單,并且可以創(chuàng)建在圖6中所示的第二能力清單。就是說,通過把與其中描述信息的第一能力清單的列相對應的位設置為1,可以創(chuàng)建第二能力清單??蛇x擇地,在圖6中表示的第二能力清單中,其中處置的算法的位被設置到I的第一能力清單也是可能的(即,滿足關系“第一能力清單=第二能力清單”,并且讀出和發(fā)送在能力清單存儲部分102中存儲的能力清單)。
      [0097]在圖5 中,“DH” 是“Diffie-Hellman” 的縮寫。“ECDH” 是“Elliptic CurveDiffie-Hellman,,的縮寫。“RSA” 是 “Rivest, Shamir, Adleman,,的縮寫?!癉ES” 是“DataEncrypt1n Standard(數(shù)據(jù)加密標準)”的縮寫。“AES” 是“Advanced Encrypt1nStandard (高級加密標準)”的縮寫。“Pre_shared key (預共享密鑰)”指示依賴于預共享密鑰的密鑰共享系統(tǒng)。
      [0098]我們現(xiàn)在返回到圖4的流程圖的描述。
      [0099]在步驟S101、102中,創(chuàng)建和發(fā)送能力清單。發(fā)送的第二能力清單可以是其中描述讀取器/寫入器100的所有能力的清單(它可以是其中反映在能力清單存儲部分102中存儲的第一能力清單中的所有信息的第二能力清單)。它也可以是其中描述某些能力的清單。
      [0100]在發(fā)送描述某些能力的能力清單的場合,因為例如在以后處理中發(fā)送和接收數(shù)據(jù)的重要性,可以創(chuàng)建和發(fā)送其中僅描述滿足要求的安全級別的算法的能力清單。換句話說,在發(fā)送描述某些能力的能力清單的場合,在以后處理中(明確地說,在步驟S104的處理中)確定用于通信的算法??梢詣?chuàng)建和發(fā)送其中僅描述當進行確定時成為候選對象的算法的能力清單。
      [0101]在步驟S103中,進行關于是否已經(jīng)接收到任何能力清單的決定。如果讀取器/寫入器100的能力清單從讀取器/寫入器100發(fā)送到IC卡200 (與在圖3的步驟S51的處理相對應),則IC卡的能力清單被送入,作為對于來自IC卡200的能力清單的回答(與在圖3的步驟S52的處理相對應)。
      [0102]以與讀取器/寫入器100的能力清單存儲部分102相同的方式將能力清單存儲在IC卡200的能力清單存儲部分202中。就是說,在圖5中所示的第一能力清單存儲在IC卡200的能力清單存儲部分202中。在圖6中所示的第二能力清單發(fā)送到讀取器/寫入器100。
      [0103]在步驟S103中,如果讀取器/寫入器100的控制部分101已經(jīng)確定控制部分通過通信部分107已經(jīng)從IC卡200接收到能力清單,則控制部分在步驟S104中確定算法。控制部分101參考IC卡200的接收到能力清單和在能力清單存儲部分102中存儲的能力清單,并且選擇由兩者均可處置的算法(即,選擇標志設置在兩個能力清單中的算法)。
      [0104]例如,在讀取器/寫入器100和IC卡200都存儲在圖5中表示的能力清單的場合,標志設置在列 “K-0、K-1、K-4、K-5、K-8、K-9、K_C、C_0、C_l、C_2、C_4、C_5、C-6” 的每一個中。因此,從“1(-0、1(-1、1(-4、1(-5、1(-8、1(-9、1(-(:”的密鑰共享系統(tǒng)(K)中選擇一種算法,并且從“00、01、(:-2、(:-4、(:-5、(:-6”的密碼通信系統(tǒng)(C)中選擇一種算法。
      [0105]在這種情況下,在密鑰共享系統(tǒng)(K)中,例如,選擇與7列“K-0、K-1、K-4、K-5、K_8、K-9、K-C”相對應的算法作為選項。因而,考慮到由讀取器/寫入器100處理的功能和要管理什么種類的數(shù)據(jù),根據(jù)在設計階段中的情況可以設置在其下當多個選項存在時選擇哪些算法的條件。
      [0106]此外,作為例子,可以放置優(yōu)先權順序。根據(jù)優(yōu)先權順序可以選擇具有較高順序的算法??蛇x擇地,作為以后處理,例如與IC卡200交換數(shù)據(jù)?;跀?shù)據(jù)的重要性等可以進行選擇?;跀?shù)據(jù)的重要性等進行選擇,意味著當發(fā)送和接收重要性數(shù)據(jù)時選擇不能容易地譯解的算法。一般地,隨著密鑰變長,變得更難以譯解。因此,在存在“K-0 (DH 768位)”和“K-1(DH 1024位)”作為選項的場合,例如,選擇較長密鑰“K-1 (DH 1024位)”。
      [0107]以這種方式,基于某種條件或其它確定用于加密和解密的算法。
      [0108]在步驟S105中,基于確定的算法創(chuàng)建加密密鑰和解密密鑰。控制部分101向密鑰創(chuàng)建部分103發(fā)出指令以基于確定的算法創(chuàng)建密鑰。在接收到指令時,密鑰創(chuàng)建部分103基于確定的算法創(chuàng)建加密密鑰和解密密鑰。
      [0109]依據(jù)確定的算法,由密鑰創(chuàng)建部分103創(chuàng)建的加密密鑰和解密密鑰被當作密鑰組。用創(chuàng)建的加密密鑰(下文根據(jù)情況可能稱作公共密鑰)加密的純文本(數(shù)據(jù))不能被解密,除非創(chuàng)建的解密密鑰組(下文根據(jù)情況可能稱作秘密密鑰)是可得到的。
      [0110]在步驟S106中,發(fā)送創(chuàng)建的加密密鑰。通信部分107把由密鑰創(chuàng)建部分103已經(jīng)創(chuàng)建的加密密鑰發(fā)送到IC卡200。與加密密鑰一起,發(fā)送用來識別確定的算法(用來創(chuàng)建加密密鑰的算法)的信息(下文根據(jù)情況可能稱作識別信息)。其中處于例如如圖6中所示的能力清單形式的并且其中只有確定的算法的位被設置的能力清單可用作識別信息。
      [0111]當加密密鑰供給到IC卡200時,IC卡200發(fā)送把加密密鑰用作密鑰而加密的加密會話密鑰(與圖3的步驟S64的處理相對應)。讀取器/寫入器100在步驟S107中進行關于它是否已經(jīng)從IC卡200接收到加密會話密鑰的決定,并且保持等待接收,直到讀取器/寫入器確定它已經(jīng)接收到。
      [0112]如果在步驟S107處的決定是已經(jīng)接收到加密會話密鑰,則使處理轉到步驟S108,在該處加密會話密鑰被解密。如果加密會話密鑰由解密部分106的通信部分107接收到,則解密部分用由密鑰創(chuàng)建部分103創(chuàng)建的解密密鑰解密加密會話密鑰。
      [0113]在步驟S109中,開始使用解密的會話密鑰的通信。例如,在數(shù)據(jù)存儲部分104中存儲的數(shù)據(jù)從讀取器/寫入器100發(fā)送到IC卡200的場合,從數(shù)據(jù)存儲部分104讀取數(shù)據(jù)。把會話密鑰用作密鑰,在加密部分105中加密數(shù)據(jù)。數(shù)據(jù)由通信部分107發(fā)送到IC卡200。在數(shù)據(jù)從IC卡200送入的場合,數(shù)據(jù)由通信部分107接收。把會話密鑰用作密鑰,通過解密部分106解密數(shù)據(jù)。
      [0114]以這種方式,在本實施例中,在會話密鑰還未交換的瞬時,發(fā)送和接收關于與加密和解密相關聯(lián)的算法能力的信息。此外,基于發(fā)送和接收的信息選擇算法。這允許處置多種算法。因為可處置多種算法,所以在要求較高安全級別的通信中或相反在允許較低安全級別的通信中,可以應付寬范圍的通信。可給予通信擴展能力。
      [0115]接下來通過參照圖7的流程圖描述IC卡200的操作。
      [0116]在步驟S201中,IC卡200進行關于它是否已經(jīng)接收到能力清單的決定。IC卡200的控制部分201進行關于來自讀取器/寫入器100的能力清單是否已經(jīng)由通信部分207接收到的決定。控制部分使通信部分保持等待接收,直到控制部分確定接收到清單。
      [0117]在步驟S201處的決定是已經(jīng)接收到來自讀取器/寫入器100的能力清單的場合,在步驟S202中創(chuàng)建能力清單。在步驟S203中,發(fā)送創(chuàng)建的能力清單。
      [0118]步驟S202和步驟S203的處理基本與由讀取器/寫入器100執(zhí)行的步驟SlOl和步驟S102的處理相類似地被進行。就是說,IC卡200也把在圖5中所示的第一能力清單存儲在能力清單存儲部分202中。借助于在圖6中所示的第二能力清單發(fā)送清單。
      [0119]當IC卡200發(fā)送能力清單(第二能力清單)時,第二能力清單可以是其中已經(jīng)描述IC卡200的所有能力的清單(它可以是其中已經(jīng)反映關于在能力清單存儲部分202中存儲的第一能力清單的所有信息的第二能力清單)或其中選擇性描述某些能力的清單。
      [0120]在發(fā)送其中描述某些能力的能力清單的場合,例如參考接收到的讀取器/寫入器100的能力清單。選擇與讀取器/寫入器100相一致的算法。創(chuàng)建和發(fā)送其中只描述選擇的算法的能力清單。在沒有任何一致算法的場合,不可能用相同算法進行加密或解密,所以可防止能力清單被發(fā)送。
      [0121]此外,IC卡200在創(chuàng)建能力清單之前可以參考讀取器/寫入器100的能力清單,并且進行關于與讀取器/寫入器100的通信是否繼續(xù)的決定。例如,IC卡200根據(jù)發(fā)送和接收的數(shù)據(jù)的重要性可以判斷滿足要求的安全級別的算法,參考讀取器/寫入器100的能力清單,確定如果已經(jīng)確定讀取器/寫入器100不是能夠處置滿足安全級別的算法的裝置則應該中斷通信,及中斷隨后的處理。
      [0122]我們返回圖7的流程圖的描述。在步驟S203中,如果能力清單被發(fā)送,則使處理轉到步驟S204,在該處進行關于是否已經(jīng)接收到加密密鑰的決定。如果讀取器/寫入器100如以前提到的那樣從IC卡200接收到能力清單,則讀取器/寫入器創(chuàng)建和發(fā)送加密密鑰。進行關于是否已經(jīng)接收到發(fā)送的加密密鑰的決定。
      [0123]如果在步驟S204處的決定是已經(jīng)接收到加密密鑰,則使處理轉到步驟S205,在該處識別算法?;趶淖x取器/寫入器100送入的識別信息與加密密鑰一起識別算法。
      [0124]在步驟S206中,隨機數(shù)創(chuàng)建部分203創(chuàng)建(產(chǎn)生)隨機數(shù)A。在步驟S207中,控制部分201把創(chuàng)建的隨機數(shù)A例如存儲在數(shù)據(jù)存儲部分204的預定的給定區(qū)域中。
      [0125]在這種描述中,把其中識別的算法是產(chǎn)生隨機數(shù)的算法并且把隨機數(shù)當作下面所描述的會話密鑰的情形當作例子。
      [0126]因此,例如,在其中如參照圖8以后的圖所述識別其它算法的情況下,步驟S206以后的處理基于識別的算法而被進行,并因此,不總是產(chǎn)生隨機數(shù)。
      [0127]在步驟S208中,加密部分205把由通信部分207接收的加密密鑰當作密鑰,并且加密由隨機數(shù)創(chuàng)建部分203產(chǎn)生的隨機數(shù)A。在步驟S209中,加密的隨機數(shù)A被當作會話密鑰,并且例如存儲在數(shù)據(jù)存儲部分204內的預定的給定區(qū)域中。
      [0128]在步驟S210中,加密的隨機數(shù)A,即加密的會話密鑰,被發(fā)送到讀取器/寫入器100。
      [0129]在諸如數(shù)據(jù)發(fā)送和接收之類的處理開始之前的階段中,在以這種方式發(fā)送和接收數(shù)據(jù)的裝置之間交換關于加密和解密的算法的清單。因此,可處置多種算法。例如根據(jù)安全級別可不同地處置算法??梢越o予通信可擴展性。
      [0130]如以前描述的那樣,在可處置多種算法的場合,必要的是,讀取器/寫入器100和IC卡200可以配置成與由它們本身處置的算法相對應。在參照圖2描述的讀取器/寫入器100和IC卡200的構造中,讀取器/寫入器100構造成能夠創(chuàng)建和發(fā)送加密密鑰。IC卡200構造成能夠把送入的加密密鑰用作密鑰而加密隨機數(shù)并發(fā)送加密的隨機數(shù)。這些構造與如前所述把在IC卡200側產(chǎn)生的隨機數(shù)當作會話密鑰的算法相對應。
      [0131]接下來描述在應用其它算法的情況下的本實施例。
      [0132]通過參照圖8-10描述在其中應用DH(Diffie-Helman)處理作為算法的情況下的本實施例。
      [0133]在DH處理中,必須創(chuàng)建(保持)公共密鑰和秘密密鑰,所以IC卡200構造成裝有用來創(chuàng)建密鑰的密鑰創(chuàng)建部分301,如圖8中所示。
      [0134]在圖8中表不的通信系統(tǒng)50以與圖2中表不的通信系統(tǒng)50相同的方式包括讀取器/寫入器100和IC卡200。使讀取器/寫入器100在構造方面與在圖2中表示的讀取器/寫入器100相類似。IC卡200構造成裝有用來創(chuàng)建密鑰的密鑰創(chuàng)建部分301。根據(jù)在圖8中表示的IC卡200的構造,可以應對創(chuàng)建上述隨機數(shù)并把隨機數(shù)當作會話密鑰的算法。還可以應對創(chuàng)建下面所描述的密鑰和把密鑰當作會話密鑰的算法。
      [0135]在圖8中表示的通信系統(tǒng)50基本上以與通過參照圖3的流程圖描述的情形相同的方式操作。就是說,在發(fā)送和接收密鑰之前,交換指示在創(chuàng)建密鑰時使用哪些算法(即,基于什么算法創(chuàng)建密鑰)的能力清單,并且在交換之后,基于算法進行密鑰的創(chuàng)建和交換。
      [0136]下面分別描述讀取器/寫入器100和IC卡200的操作。
      [0137]首先,通過參照圖9的流程圖描述讀取器/寫入器100的操作。根據(jù)情況可以省略以與參照圖4的流程圖描述的讀取器/寫入器100的操作相同的方式進行的操作的描述。
      [0138]在步驟S301和S302中,創(chuàng)建和發(fā)送能力清單。在步驟S303中,如果接收到來自IC卡200的能力清單,則在步驟S304中確定一種或多種算法。
      [0139]步驟S301至S304的處理與圖2的步驟SlOl至S104相類似地執(zhí)行。就是說,類似地進行關于能力清單的交換的處理,而與在以后處理中使用的算法無關。
      [0140]在步驟S304中,確定一種或多種算法。這里基于把方法確定為DH處理的假設繼續(xù)描述。
      [0141]在步驟S305中,密鑰創(chuàng)建部分103 (圖8)基于作為確定的算法的DH處理創(chuàng)建公共密鑰和秘密密鑰。為了把由讀取器/寫入器100創(chuàng)建的公共密鑰和秘密密鑰與由IC卡200創(chuàng)建的公共密鑰和秘密密鑰區(qū)分開,由讀取器/寫入器100創(chuàng)建的公共密鑰和秘密密鑰分別稱作公共密鑰Ki和秘密密鑰Ki。由IC卡200創(chuàng)建的公共密鑰和秘密密鑰分別稱作公共密鑰Kt和秘密密鑰Kt。
      [0142]密鑰創(chuàng)建部分103創(chuàng)建秘密密鑰Ki。密鑰創(chuàng)建部分103基于如下公式,使用所創(chuàng)建的秘密密鑰Ki,創(chuàng)建公共密鑰Ki。
      [0143]公共密鑰Ki = g~秘密密鑰Ki mod p
      [0144]在這個公式中,g和P是稱作域參數(shù)的值。在讀取器/寫入器100和IC卡200中使用相同值。
      [0145]以這種方式創(chuàng)建的公共密鑰Ki和秘密密鑰Ki存儲在數(shù)據(jù)存儲部分104中。
      [0146]在步驟S306中,創(chuàng)建的公共密鑰Ki和用來識別在步驟S304中確定的算法的識別信息發(fā)送到IC卡200。
      [0147]在步驟S308中,進行關于從IC卡200是否已經(jīng)接收到IC卡200的公共密鑰Kt的決定。IC卡200響應讀取器/寫入器100已經(jīng)發(fā)送了公共密鑰Ki,而發(fā)送其自己的公共密鑰Kt。在步驟S308中,進行關于是否已經(jīng)接收到送入的公共密鑰Kt的決定。保持其中IC卡等待接收的狀態(tài),直到判斷接收。
      [0148]在步驟S309中,解密來自IC卡200的會話密鑰。使用接收到的IC卡200的公共密鑰Kt和讀取器/寫入器100的接收公共密鑰Ki,從如下公式導出會話密鑰。
      [0149]每個會話密鑰=公共密鑰Kt ~秘密密鑰Ki mod p
      [0150]如果導出會話密鑰,則在步驟S310中開始使用會話密鑰的通信。
      [0151]如果以這種方式交換能力清單并且確定算法,則基于算法進行處理。換句話說,通常進行在算法確定之前的處理,而與算法無關。在確定算法之后,進行基于確定的算法的處理。在以這種方式進行基于算法的處理之前,可以通過交換指示可處置什么算法的信息來處置多種算法。從多種算法中可選擇適于進行通信的算法??山o予通信可擴展性。
      [0152]然后,通過參照圖10的流程圖描述當在讀取器/寫入器100側進行在圖9中表示的流程圖的處理時IC卡200的操作。步驟S401至S403的處理類似于圖7的步驟S201至S203的處理。就是說,在這種情況下,通常也進行在交換能力清單時進行的處理,而與算法無關。
      [0153]在步驟S404中,進行關于是否已經(jīng)接收到來自讀取器/寫入器100的公共密鑰Ki的決定。如果在步驟S404處的決定是已經(jīng)接收到公共密鑰Ki,則使處理轉到步驟S405,在該處識別算法。步驟S404和S405的處理基本上與圖7的步驟S204和S205相類似,不同之處在于接收的密鑰是公共密鑰Ki。
      [0154]在步驟S406中,IC卡200的密鑰創(chuàng)建部分301創(chuàng)建公共密鑰Kt和秘密密鑰Kt。如果控制部分201借助于通信部分207接收到公共密鑰Ki和用來識別算法的識別信息,則控制部分首先根據(jù)識別信息識別算法??刂撇糠?01根據(jù)所識別的算法向隨機數(shù)創(chuàng)建部分203或密鑰創(chuàng)建部分301發(fā)出指令。在這種情況下,所識別的算法是DH處理,所以把指令發(fā)出到密鑰創(chuàng)建部分301以基于DH處理創(chuàng)建公共密鑰Kt和秘密密鑰Kt。
      [0155]秘密密鑰Kt首先在密鑰創(chuàng)建部分301中被創(chuàng)建。使用創(chuàng)建的秘密密鑰Kt,基于如下公式創(chuàng)建公共密鑰Kt。
      [0156]公共密鑰Kt = g'秘密密鑰Kt mod p
      [0157]以這種方式創(chuàng)建的公共密鑰Kt和秘密密鑰Kt在步驟S407中被存儲在數(shù)據(jù)存儲部分204中。
      [0158]在步驟S408中,用接收的公共密鑰Ki和創(chuàng)建的秘密密鑰Kt創(chuàng)建會話密鑰。在密鑰創(chuàng)建部分301或加密部分205中基于如下公式創(chuàng)建會話密鑰。
      [0159]每個會話密鑰=公共密鑰Ki ~秘密密鑰Kt mod p
      [0160]在基于DH處理創(chuàng)建會話密鑰的場合,讀取器/寫入器100和IC卡200創(chuàng)建(導出)會話密鑰(讀取器/寫入器100在步驟S309中創(chuàng)建它們,而IC卡200在步驟S408中創(chuàng)建它們)。因為創(chuàng)建(導出)相同的會話密鑰,所以讀取器/寫入器100和IC卡200共享相同的會話密鑰。
      [0161]在步驟S410中,創(chuàng)建的公共密鑰Kt發(fā)送到讀取器/寫入器100。使用公共密鑰Kt,讀取器/寫入器100如以上描述的那樣導出會話密鑰。
      [0162]以這種方式,可處置多種算法??蛇M行根據(jù)選擇的算法的處理。讀取器/寫入器100和IC卡200的構造不限于圖2和8的構造的例子。當然,根據(jù)情況添加或刪除用來根據(jù)處置的算法實現(xiàn)所要求的功能的結構。
      [0163]通過參照圖11的流程圖引用和描述關于本實施例的交換能力清單的特定例子。
      [0164]在步驟S501中,讀取器/寫入器100創(chuàng)建和發(fā)送能力清單。在如下描述中,把其中在圖12中所示的能力清單存儲在能力清單存儲部分102中的情況當作例子。在圖12中表示的能力清單中,作為密鑰共享系統(tǒng)Ki,分別地,在列“K-0”中描述{DH 768位},并且在列“K-4”中描述{EDch 160位}。作為密碼通信系統(tǒng)Ci,分別地,在列“C-0”中描述{DES56位},并且在列“C-4”中描述{AES 128位}。
      [0165]通過參考在圖12中所示的能力清單創(chuàng)建的這樣一種能力清單例如如圖13中所示。就是說,發(fā)送的能力清單是一種其中分別與作為密鑰共享系統(tǒng)Ki的{DH 768位}和{EDch 160位}的兩個系統(tǒng)相對應的列“K-0”和“K-4”的位設置為I的清單。作為密碼通信系統(tǒng)Ci,分別與{DES 56位}和{AES 128位}的兩個系統(tǒng)相對應的列“C-1”和“C-4”的位設置為I。
      [0166]如果發(fā)送這樣一種能力清單,則它在步驟S601中由IC卡200接收。在步驟S602中,IC卡200創(chuàng)建和發(fā)送能力清單。在如下描述中,把其中如圖14中所示的能力清單存儲在能力清單存儲部分202中的情形當作例子。在圖14中所示的能力清單中,{DH 768位}和{DH1024位}在列“K-0”和“K-1”中分別作為密鑰共享系統(tǒng)Kt描述。{AES128位}在列“C-4”中作為密碼通信系統(tǒng)Ct描述。
      [0167]通過參考在圖14中所示的能力清單創(chuàng)建的這樣一種能力清單在圖15中示出。就是說,發(fā)送的能力清單是一種其中分別與兩個密鑰共享系統(tǒng)Kt{DH 768位}和{DH 1024位}相對應的列“K-0”和“K-1”的位設置為1,并且與作為密碼通信系統(tǒng)Ct的單一系統(tǒng){AES 128位}相對應的列“C-4”的位設置為I的清單。
      [0168]如果發(fā)送這樣一種能力清單,則它在步驟S502中由讀取器/寫入器100接收。在步驟S503中,讀取器/寫入器100確定算法。對于密鑰共享系統(tǒng)K,在這種情況下,讀取器/寫入器100與兩個系統(tǒng){DH 768位、EDch 160位}相對應。IC卡200與具有兩個不同安全級別的單一系統(tǒng){DH 768位、DH 1024位}相對應。因此,選擇共用系統(tǒng){DH 768位}。
      [0169]在這種情況下,對于密碼通信系統(tǒng)C,讀取器/寫入器100與{DES56位、AES 128位}的兩個系統(tǒng)相對應,并且IC卡200與{AES 128位}的一個系統(tǒng)相對應。因此,選擇公共系統(tǒng){AES 128位}。
      [0170]作為結果,把密鑰共享系統(tǒng)K = {DH 768位}選作算法,并且選擇密碼通信系統(tǒng)C={AES 128位}。
      [0171]在步驟S504中,讀取器/寫入器100創(chuàng)建公共密鑰Ki和秘密密鑰Ki。在這種情況下,因為DH處理被選作密鑰共享系統(tǒng),所以創(chuàng)建秘密密鑰Ki。使用創(chuàng)建的秘密密鑰Ki,基于如下公式創(chuàng)建公共密鑰Ki。
      [0172]公共密鑰Ki = g~秘密密鑰Ki mod p
      [0173]在步驟S505中,公共密鑰Ki和關于算法的識別信息被發(fā)送。在這種情況下,對于關于算法的識別信息,表明密鑰共享系統(tǒng)K = {DH768位}和密碼通信系統(tǒng)C = {AES 128位}的彳目息是在IC卡200側可識別的彳目息。
      [0174]如果這樣的公共密鑰Ki和識別信息被發(fā)送,則它們在步驟S603中由IC卡200接收。在步驟S604中,創(chuàng)建公共密鑰Kt和秘密密鑰Kt。在這種情況下,根據(jù)識別信息識別算法是DH處理并且密鑰長度是768位。因此,創(chuàng)建基于DH處理的公共密鑰Kt和秘密密鑰
      Kto
      [0175]如果秘密密鑰Kt在IC卡200中被創(chuàng)建,則使用所創(chuàng)建的秘密密鑰Kt,并且基于如下公式創(chuàng)建公共密鑰Kt。
      [0176]公共密鑰Kt = g'秘密密鑰Kt mod p
      [0177]在步驟S605中,創(chuàng)建會話密鑰。由所接收的公共密鑰Ki和所創(chuàng)建的秘密密鑰Kt基于如下公式創(chuàng)建每個會話密鑰。
      [0178]每個會話密鑰=公共密鑰Ki ~秘密密鑰Kt mod p
      [0179]在步驟S606中,所創(chuàng)建的秘密密鑰Kt被發(fā)送到讀取器/寫入器100。
      [0180]在步驟S506中,如果讀取器/寫入器100接收到來自IC卡200的公共密鑰Kt,則在步驟S507中導出會話密鑰。每個會話密鑰由如下公式導出。
      [0181]每個會話密鑰=公共密鑰Kt ~秘密密鑰Ki mod P
      [0182]如果會話密鑰被導出,則進行其中對于包加密利用導出的會話密鑰的密碼通信。在這種情況下,進行其中對于{AES 128位}的加密利用會話密鑰的密碼通信。
      [0183]就是說,在步驟S508中,發(fā)送到IC卡200的數(shù)據(jù)(純文本i)通過把會話密鑰用作密鑰而由AES型加密方法加密。密文i被創(chuàng)建和發(fā)送。
      [0184]密文i = AES128_ENC(純文本 i)
      [0185]如果發(fā)送的密文i在步驟S607中由IC卡200接收到,則在步驟S608中解密密文。就是說,在這種情況下,IC卡200確認接收到的密文i已經(jīng)由AES方法加密。因此,IC卡使用會話密鑰通過AES方法解密接收到的密文i,因而得到純文本i。
      [0186]純文本i = AES128_DES (密文 i)
      [0187]以這種方式已經(jīng)得到純文本i的IC卡200加密數(shù)據(jù),并且當需要產(chǎn)生時,把數(shù)據(jù)發(fā)送到讀取器/寫入器100。這里,在步驟S609中,假定IC卡200通過AES方法加密純文本t,創(chuàng)建密文t,并發(fā)送它。
      [0188]密文t = AES128_ENC(純文本 t)
      [0189]如果發(fā)送的密文t在步驟S509中由讀取器/寫入器100接收到,則在步驟S510中解密密文。就是說,在這種情況下,讀取器/寫入器100識別到接收的密文t已經(jīng)由AES方法加密,并所以使用會話密鑰通過AES方法解密接收的密文t,因而得到純文本t。
      [0190]純文本t = AES128_DES (密文 t)
      [0191]以這種方式,數(shù)據(jù)的接收和發(fā)送重復所要求的次數(shù)。
      [0192]在上述實施例中,在讀取器/寫入器100側確定算法。它也可以在IC卡200側被確定。
      [0193]在上述實施例中與能力清單的交換相關聯(lián)的處理可以在任何定時處進行,只要在當未確定算法時的階段中進行處理即可。例如,當讀取器/寫入器100側發(fā)出輪詢請求時,可以發(fā)送能力清單作為輪詢請求。
      [0194]此外,例如,讀取器/寫入器100側可以發(fā)出輪詢請求。在當IC卡200響應輪詢請求時的瞬時,可以發(fā)送能力清單。
      [0195]況且,在以上實施例的描述中,能力清單從讀取器/寫入器100側發(fā)送,然后能力清單從IC卡200側發(fā)送。能力清單可以首先從IC卡200發(fā)送。例如,IC卡200側從讀取器/寫入器100接收輪詢請求,并且IC卡200響應請求而發(fā)送能力清單。讀取器/寫入器100響應清單而發(fā)送能力清單。
      [0196]在以上實施例的描述中,讀取器/寫入器100和IC卡200發(fā)送它們的相應能力清單。也有可能的是,只有它們中的一個把能力清單發(fā)送到另一個。例如,讀取器/寫入器100可以把能力清單發(fā)送到IC卡200。IC卡200可以參考源于讀取器/寫入器100的能力清單,選擇希望的算法,并把關于選擇的算法的識別信息發(fā)送到讀取器/寫入器100。IC卡200可以不發(fā)送IC卡200的能力清單。
      [0197]可選擇地,例如,IC卡200可以把能力清單發(fā)送到讀取器/寫入器100,讀取器/寫入器100參考源于IC卡200的能力清單,選擇希望的算法,并把關于選擇的算法的識別信息發(fā)送到IC卡200。讀取器/寫入器100可以不發(fā)送讀取器/寫入器100的能力清單。
      [0198]換句話說,一個可以把能力清單發(fā)送到另一個。接收能力清單的另一個可以確定利用的算法,并且把關于確定的算法的識別信息發(fā)送到這一個。因而,在它們之間不交換能力清單。
      [0199]根據(jù)本發(fā)明,可處置當發(fā)送和接收數(shù)據(jù)時用于加密和解密的多種(多于一種)算法??筛鶕?jù)接收和發(fā)送數(shù)據(jù)的重要性從多種算法中選擇適當算法并被使用。因此,例如,可進行從低安全級別到高安全級別的通信,從而通信可應對所要求的安全級別。可給予通信可擴展性。
      [0200]這里提到的文字“信息處理器”和“裝置”與例如在NFCIP-1標準中作為啟動器和目標的裝置或設備相對應。就是說,啟動器和目標分別與產(chǎn)生RF場并且開始NFCIP-1通信的裝置、和通過利用由裝置本身產(chǎn)生的RF場的負載調制或調制而響應來自啟動器的指令的裝置相對應。另外,這些裝置或設備中的每一個可以是裝有每個具有不同功能的一個或多個IC芯片的通信裝置,通信裝置是具有其它功能等的裝置。
      [0201]在以上實施例的描述中,把讀取器/寫入器100當作啟動器的例子,并且把IC卡200當作目標的例子。本發(fā)明在應用方面不僅僅限于讀取器/寫入器100和IC卡200。例如,本發(fā)明可應用于發(fā)送和接收數(shù)據(jù)的裝置。本發(fā)明也可應用于當發(fā)送和接收數(shù)據(jù)時無線地進行通信的裝置。本發(fā)明也可應用于經(jīng)電纜進行通信的裝置。
      [0202][關于記錄介質]
      [0203]處理操作或步驟的上述序列可由硬件或軟件執(zhí)行。在處理步驟的上述序列由軟件執(zhí)行的場合,構成軟件的程序由圖2的CPU 105或CPU 207執(zhí)行。程序從可由讀取器/寫入器100(300)或IC卡200(400)讀取的記錄介質讀入。
      [0204]在本說明書中,進行上述處理步驟序列的步驟當然按描述順序以時間次序方式進行。步驟不總是以時間次序方式處理。它們也可以并行或單獨地完成。
      【權利要求】
      1.一種用于與第二設備執(zhí)行通信的第一設備,所述第一設備包括: 電路,被配置成 把指示關于能夠被第一設備使用的每個加密算法的能力的能力清單發(fā)送給第二設備, 從第二設備接收能夠由第一設備用于創(chuàng)建會話密鑰的密鑰和識別信息,以及 發(fā)送在接收到所述識別信息之后創(chuàng)建的并且用所接收到的密鑰加密的加密會話密鑰。
      2.一種用于與第二設備執(zhí)行通信的第一設備,所述第一設備包括: 電路,被配置成 存儲指示關于能夠被第一設備使用的每個加密算法的能力的第一能力清單, 接收指示關于能夠被第二設備使用的每個加密算法的能力的第二能力清單, 向第二設備發(fā)送用于識別由所述電路確定的加密算法的識別信息和密鑰, 接收加密會話密鑰,通過參考第一能力清單和第二能力清單來確定能夠由第二設備用于創(chuàng)建會話密鑰的加密算法,以及 通過用依賴于所述加密算法的密鑰對所述加密會話密鑰進行解密,從所述加密會話密鑰得到會話密鑰。
      【文檔編號】H04L9/08GK104283676SQ201410465047
      【公開日】2015年1月14日 申請日期:2007年9月5日 優(yōu)先權日:2006年9月5日
      【發(fā)明者】照山勝幸 申請人:索尼株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1