專利名稱:認證裝置、被認證裝置、及設備認證系統的制作方法
技術領域:
本發明涉及到一種用于確認和主裝置連接的副裝置是否是正規裝置(正品)的認證裝置、被認證裝置及設備認證系統,特別涉及到一種用于在攝像機檢測到電池的連接時確認電池是否是正品的認證裝置、被認證裝置及設備認證系統。
背景技術:
一直以來,與主裝置(認證裝置)連接使用的副裝置(被認證裝置)從動作可靠性、安全性、功能等角度出發,優選使用由廠家指定的正規裝置(正品)。例如在上述主裝置為攝像機、上述副裝置為向攝像機供電的電池的情況下,從額定電壓、電流的安全性、功能、可靠性出發,優選使用由該攝像機的制造廠商指定的電池。
如上所述,作為認證互相連接的裝置的現有技術,例如包括下述專利文獻1所公開的技術。在專利文獻1公開的技術中,主裝置為了進行副裝置的認證,首先產生隨機數,將由多個不同的私有密鑰構成的密鑰串中的任意一個私有密鑰作為密碼,對隨機數加密并發送到副裝置。副裝置具有和主裝置相同的密鑰串,利用該密鑰串將加密數據解密,取出隨機數,并且將密鑰串中的任意一個私有密鑰作為密碼,對該隨機數加密并返回到主裝置。并且,主裝置利用密鑰串將接收到的返回數據解密,并取出隨機數,當獲得和最初產生的隨機數一致的值時,認證合格,判斷副裝置為合法裝置。
專利文獻1特開平11-8618號公報(圖3)但是,如專利文獻1公開的技術所示,在進行利用私有密鑰的加密處理及解密處理的情況下,主裝置和副裝置之間傳送的數據變得復雜,雖然對第三者解密、模仿傳送數據等攻擊的抵抗性較為堅固,但存在使用密鑰的加密處理及解密處理的處理負荷非常大的問題。
例如,在專利文獻1公開的技術中,主裝置及副裝置為了進行數據的加密處理和解密處理,均需要分別進行復雜的運算,并且需要具有預先存儲了由多個私有密鑰構成的密鑰串的非易失性存儲器。
正品的認證處理相當于主裝置及副裝置進行本來的動作的前期處理,由于是前期處理,因此需要其電路(或軟件)的規模不大,而在上述專利文獻1公開的技術中,需要使各裝置具有進行加密處理及解密處理相關的復雜運算的功能、以及設置用于存儲密鑰串的非易失性存儲器。通過這種大規模的功能導入,難于實現各裝置的小型化、輕型化,難于降低成本及減輕各裝置的處理負荷。并且,由于使用密鑰的加密處理、解密處理運算量較大,因此在專利文獻1公開的技術中,存在判斷認證合格/不合格所需時間較長的問題。
發明內容
鑒于以上課題,本發明的目的在于提供一種無需導入處理負荷大的大規模的功能即可對第三者解密、模仿傳送數據等攻擊具有堅固抵抗性的認證裝置、被認證裝置、及設備認證系統。
為了實現上述目的,本發明提供一種認證裝置,進行被認證裝置是否是正規裝置的認證,其具有認證用基礎數據生成單元,生成N字節的認證用基礎數據,其中N是自然數;驗證用數據生成單元,生成比N字節小的M字節的驗證用數據,其中M為自然數;驗證用數據存儲單元,存儲由上述驗證用數據生成單元生成的上述驗證用數據;認證用數據生成單元,根據預定的嵌入圖形,在由上述認證用基礎數據生成單元生成的上述認證用基礎數據內,嵌入由上述驗證用數據生成單元生成的上述驗證用數據,從而生成認證用數據;認證用數據發送單元,將由上述認證用數據生成單元生成的上述認證用數據發送到上述被認證裝置;認證用響應數據接收單元,從上述被認證裝置接收作為上述認證用數據的響應數據的、比M字節大的L字節的認證用響應數據,其中L為自然數;驗證用響應數據提取單元,根據預定的嵌入圖形,從由上述認證用響應數據接收單元接收到的上述認證用響應數據內,提取M字節的驗證用響應數據;驗證用響應數據分割單元,將由上述驗證用響應數據提取單元提取出的上述驗證用響應數據,分割為具有X比特寬度的多個X比特驗證用響應數據,其中X為自然數;驗證用數據分割單元,將上述驗證用數據存儲單元中存儲的上述驗證用數據,分割為具有X比特寬度的多個X比特驗證用數據;驗證單元,分別對以下二者是否一致進行驗證對任意的X比特驗證用數據分別加算了預先設定的預定范圍的值后所得的加算結果的任意一個、及和上述任意X比特驗證用數據所處的上述驗證用數據內的比特區域對應的上述驗證用響應數據內的比特區域中存在的X比特驗證用響應數據的值;以及動作控制單元,如下進行控制對于所有的上述X比特驗證用數據及上述X比特驗證用響應數據的組合,當上述驗證單元的驗證結果一致時,判斷上述被認證裝置是正規裝置,進行動作控制,另一方面,對于上述X比特驗證用數據及上述X比特驗證用響應數據的組合中的至少一個,當上述驗證結果不一致時,判斷上述被認證裝置不是正規裝置,不進行對上述被認證裝置的動作。
并且,為了實現上述目的,本發明提供一種被認證裝置,對認證裝置證明是正規裝置,其具有認證用數據接收單元,從上述認證裝置接收N字節的認證用數據,其中N是自然數;驗證用數據提取單元,根據預定的嵌入圖形,從由上述認證用數據接收單元接收到的上述認證用數據內,提取比N字節小的M字節的驗證用數據,其中M為自然數;驗證用數據分割單元,將由上述驗證用數據提取單元提取出的上述驗證用數據,分割為由具有X比特寬度的多個比特區域構成的X比特驗證用數據,其中X為自然數;加算單元,產生值為預先設定的預定范圍內的值的多個隨機數,對各個從上述驗證用數據分割單元取得的多個X比特驗證用數據,分別加算上述多個隨機數;驗證用響應數據生成單元,使由上述加算單元加算了上述隨機數后的多個X比特驗證用數據,分別返回到由上述驗證用數據分割單元分割的上述比特區域,由此生成M字節的驗證用響應數據;響應用基礎數據生成單元,生成比M字節大的L字節的響應用基礎數據,其中L為自然數;認證用響應數據生成單元,根據預定的嵌入圖形,在由上述響應用基礎數據生成單元生成的上述響應用基礎數據內,嵌入由上述驗證用響應數據生成單元生成的上述驗證用響應數據,從而生成作為上述認證用數據的響應數據的認證用響應數據;以及認證用響應數據發送單元,將由上述認證用響應數據生成單元生成的上述認證用響應數據發送到上述認證裝置。
并且,為了實現上述目的,本發明提供一種設備認證系統,由認證裝置和被認證裝置構成,上述認證裝置進行上述被認證裝置是否是正規裝置的認證,其中,上述認證裝置具有認證用基礎數據生成單元,生成N字節的認證用基礎數據,其中N是自然數;驗證用數據生成單元,生成比N字節小的M字節的驗證用數據,其中M為自然數;驗證用數據存儲單元,存儲由上述驗證用數據生成單元生成的上述驗證用數據;認證用數據生成單元,根據預定的嵌入圖形,在由上述認證用基礎數據生成單元生成的上述認證用基礎數據內,嵌入由上述驗證用數據生成單元生成的上述驗證用數據,從而生成認證用數據;認證用數據發送單元,將由上述認證用數據生成單元生成的上述認證用數據發送到上述被認證裝置;認證用響應數據接收單元,從上述被認證裝置接收作為上述認證用數據的響應數據的、比M字節大的L字節的認證用響應數據,其中L為自然數;驗證用響應數據提取單元,根據預定的嵌入圖形,從由上述認證用響應數據接收單元接收到的上述認證用響應數據內,提取M字節的驗證用響應數據;驗證用響應數據分割單元,將由上述驗證用響應數據提取單元提取出的上述驗證用響應數據,分割為具有X比特寬度的多個X比特驗證用響應數據,其中X為自然數;驗證用數據分割單元,將上述驗證用數據存儲單元中存儲的上述驗證用數據,分割為具有X比特寬度的多個X比特驗證用數據;驗證單元,分別對以下二者是否一致進行驗證對任意的X比特驗證用數據分別加算了預先設定的預定范圍的值后所得的加算結果的任意一個、及和上述任意X比特驗證用數據所處的上述驗證用數據內的比特區域對應的上述驗證用響應數據內的比特區域中存在的X比特驗證用響應數據的值;以及動作控制單元,如下進行控制對于所有的上述X比特驗證用數據及上述X比特驗證用響應數據的組合,當上述驗證單元的驗證結果一致時,判斷上述被認證裝置是正規裝置,進行動作控制,另一方面,對于上述X比特驗證用數據及上述X比特驗證用響應數據的組合中的至少一個,當上述驗證結果不一致時,判斷上述被認證裝置不是正規裝置,不進行對上述被認證裝置的動作,上述被認證裝置具有認證用基礎數據接收單元,從上述認證裝置接收上述認證用數據;驗證用數據提取單元,根據預定的嵌入圖形,從由上述認證用數據接收單元接收的上述認證用數據內,提取上述驗證用數據;驗證用數據分割單元,將由上述驗證用數據提取單元提取出的上述驗證用數據,分割為由具有X比特寬度的多個比特區域構成的X比特驗證用數據;加算單元,產生值為預先設定的預定范圍內的值的多個隨機數,對各個從上述驗證用數據分割單元取得的多個X比特驗證用數據,分別加算上述多個隨機數;驗證用響應數據生成單元,使由上述加算單元加算了上述隨機數后的多個X比特驗證用數據,分別返回到由上述驗證用數據分割單元分割的上述比特區域,從而生成上述驗證用響應數據;響應用基礎數據生成單元,生成L字節的上述響應用基礎數據;認證用響應數據生成單元,根據預定的嵌入圖形,在由上述響應用基礎數據生成單元生成的上述響應用基礎數據內,嵌入由上述驗證用響應數據生成單元生成的上述驗證用響應數據,從而生成上述認證用響應數據;以及認證用響應數據發送單元,將由上述認證用響應數據生成單元生成的上述認證用響應數據發送到上述認證裝置。
本發明具有上述結構,其具有可實現以下認證處理的效果無需導入處理負荷大的大規模的功能,僅通過小規模的運算處理即對第三者解密、模仿傳送數據等攻擊具有堅固抵抗性。
圖1是本發明的實施方式中的認證裝置及被認證裝置所具有的功能的一例的示意功能框圖。
圖2是表示在本發明的實施方式中、為了由驗證用數據A生成驗證用響應數據B而由被認證裝置執行的算法的一例的流程圖。
圖3是表示在本發明的實施方式中、為了對驗證用響應數據B是否是根據驗證用數據A正確生成的數據進行驗證而由認證裝置執行的算法的一例的流程圖。
圖4是表示本發明的實施方式中的認證裝置及被認證裝置的通信動作的一例的順序圖。
圖5是表示由本發明的實施方式中的認證裝置生成的認證用基礎數據P的一例的圖。
圖6是表示由本發明的實施方式中的認證裝置生成的驗證用數據A的一例的圖。
圖7是表示通過本發明的實施方式中的認證裝置生成認證用數據Q時所使用的嵌入圖形的一例的圖。
圖8是表示由本發明的實施方式中的認證裝置生成的認證用數據Q的一例的圖。
圖9是表示由本發明的實施方式中的被認證裝置生成的、將驗證用數據A分割為4比特后的數據A1~A4的一例的圖。
圖10是由本發明的實施方式中的被認證裝置生成的、向數據A1~A4加算了隨機數r1~r4后的數據B1~B4的一例的圖。
圖11是表示由本發明的實施方式中的被認證裝置生成的驗證用響應數據B的一例的圖。
圖12是表示由本發明的實施方式中的被認證裝置生成的響應用基礎數據R的一例的圖。
圖13是表示由本發明的實施方式中的被認證裝置生成的認證用響應數據S的一例的圖。
圖14是表示在本發明的實施方式中的認證裝置中,當被認證裝置的認證不合格時,顯示器上顯示的顯示畫面的一例的圖。
具體實施例方式
以下參照附圖對本實施方式中的認證裝置、被認證裝置及設備認證系統進行說明。另外,在下述說明中,以本發明的實施方式中的認證裝置為攝像機、本發明的實施方式中的被認證裝置是和上述攝像機連接的電池的情況為例進行說明,但認證裝置及被認證裝置的組合不限于此,本發明涉及的認證裝置及被認證裝置可以是任意的裝置和與該任意的裝置連接并進行動作的裝置的任意的組合。并且,在此以攝像機為認證裝置、以電池為被認證裝置,但作為進行認證的主體的主裝置及作為被認證的客體的副裝置的設定是任意的,例如也可將電池作為認證裝置,將攝像機作為被認證裝置。
首先,參照圖1,對作為本發明的認證裝置的一例的攝像機、及作為本發明的被認證裝置的一例的電池所分別具有的功能進行說明。圖1是本發明的實施方式中的認證裝置及被認證裝置所具有的功能的一例的示意功能框圖。在圖1中,圖示了攝像機100及與該攝像機100連接而進行供電的電池200。此外,圖1主要圖示了和本發明涉及的功能相關的構成要素,而省略了攝像機100、電池200的各種功能(例如CCD(Charge Coupled Devices,電荷耦合裝置)攝像機、圖像處理DSP(Digital Signal Processor,數字信號處理器)、LCD(Liquid CrystalDisplay,液晶顯示器)、進行供電控制的調節器等)。
圖1所示的攝像機100具有認證用基礎數據生成部101、驗證用數據生成部102、認證用數據生成部103、驗證用數據存儲部104、認證用數據發送部105、認證用響應數據接收部106、驗證用響應數據提取部107、比較驗證部108、動作控制部109。另一方面,圖1所示的電池200具有認證用數據接收部201、驗證用數據提取部202、驗證用響應數據生成部203、響應用基礎數據生成部204、認證用響應數據生成部205、認證用響應數據發送部206。此外,由各構成要素所體現的數據處理功能、數據運算功能、數據比較功能等,可通過由電路等硬件及/或由CPU(Central Processing Unit,中央運算處理裝置)等執行的軟件來實現。
攝像機100的認證用基礎數據生成部101具有生成認證用基礎數據P的功能。由該認證用基礎數據生成部101生成的認證用基礎數據P,被提供到認證用數據生成部103。
認證用基礎數據P,具有預定的N字節排列,并且各比特的值被隨機設定為0或1。此外,認證用基礎數據P如下所述,是成為嵌入驗證用數據A的基礎的數據,構成用于隱藏認證處理所需的驗證用數據A的虛擬比特。
具體而言,例如N=4時,認證用基礎數據P為圖5所示的4字節的隨機的比特排列。此外,圖5中圖示了認證用基礎數據P具有“01010011110001010010101011010001”的值時的例子,從圖示可明確,按照1字節(8比特)分行標記,并且對各行設定Y1~Y4的坐標、對各列設置X0~X7的坐標,進行標記。并且,以下在表示認證用基礎數據P的各比特時,有時例如用P(X4,Y3)這樣的坐標形式來表達。
并且,攝像機100的驗證用數據生成部102具有生成驗證用數據A的功能,由該驗證用數據生成部102生成的驗證用數據A,被提供到認證用數據生成部103,并且存儲在驗證用數據存儲部104中。
驗證用數據A,具有預定的M字節排列,并且各比特的值被隨機設定為0或1。但是,驗證用數據A的字節數M需要小于上述認證用基礎數據P的字節數N。具體而言,例如M=2時,驗證用基礎數據A為圖6所示的2字節的隨機的比特排列。此外,圖6中圖示了驗證用數據A具有“0110101111100001”的值時的例子,從圖示可明確,按照1字節(8比特)分行標記,并且對各行設定Y1~Y2的坐標、對各列設置X0~X7的坐標,進行標記。并且,以下在表示驗證用數據A的各比特時,有時例如用A(X5,Y2)這樣的坐標形式來表達。
并且,攝像機100的認證用數據生成部103具有以下功能根據由認證用基礎數據生成部101生成的認證用基礎數據P、及由驗證用數據生成部102生成的驗證用數據A,生成認證用數據Q。由該認證用數據生成部103生成的認證用數據Q,被提供到認證用數據發送部105。
認證用數據Q,通過將驗證用數據A嵌入到認證用基礎數據P而生成。例如,認證用數據生成部103,掌握根據規格預先確定的嵌入圖形,并按照該嵌入圖形在認證用基礎數據P內進行驗證用數據A的嵌入處理。
具體而言,例如,根據規格預先確定圖7所示的嵌入圖形。圖7所示的嵌入圖形,示意地表示在認證用基礎數據P中進行驗證用數據A的比特的置換的位置。認證用數據生成部103,根據圖7所示的嵌入圖形,在圖5所示的認證用基礎數據P內,進行圖6所示的驗證用數據A的嵌入處理。
這樣一來,認證用數據生成部103,分別將P(X0,Y1)的比特值置換為A(X7,Y1)的比特值,將P(X3,Y1)的比特值置換為A(X0,Y2)的比特值,將P(X4,Y1)的比特值置換為A(X6,Y2)的比特值,將P(X6,Y1)的比特值置換為A(X1,Y2)的比特值,將P(X1,Y2)的比特值置換為A(X5,Y2)的比特值,將P(X2,Y2)的比特值置換為A(X6,Y1)的比特值,將P(X5,Y2)的比特值置換為A(X5,Y1)的比特值,將P(X7,Y2)的比特值置換為A(X2,Y1)的比特值,將P(X1,Y3)的比特值置換為A(X3,Y1)的比特值,將P(X3,Y3)的比特值置換為A(X2,Y2)的比特值,將P(X5,Y3)的比特值置換為A(X0,Y1)的比特值,將P(X0,Y4)的比特值置換為A(X4,Y2)的比特值,將P(X2,Y4)的比特值置換為A(X3,Y2)的比特值,將P(X4,Y4)的比特值置換為A(X4,Y1)的比特值,將P(X6,Y4)的比特值置換為A(X7,Y2)的比特值,將P(X7,Y4)的比特值置換為A(X1,Y1)的比特值,從而生成認證用數據Q。
其結果是,進行向認證用基礎數據P內的驗證用數據A的嵌入,如圖8所示,生成具有“11010011101000010011101001011011”的值的4字節(和認證用基礎數據P相同的字節數N)的認證用數據Q。此外,由于認證用基礎數據P和驗證用數據A分別獨立生成,因此在上述例子中,如將P(X3,Y1)的比特值置換為A(X0,Y2)的比特值1時所示,可能產生實質上不進行比特值的置換的情況。
此外,攝像機100的驗證用數據存儲部104,具有存儲由驗證用數據生成部102生成的驗證用數據A的功能。驗證用數據存儲部104,由驗證用數據生成部102生成開始、到由比較驗證部108讀出為止,進行驗證用數據A的存儲。
此外,攝像機100的認證用數據發送部105,具有將由認證用數據生成部103生成的認證用數據Q發送到電池200的功能。
另一方面,電池200的認證用數據接收部201,具有接收從攝像機100的認證用數據發送部105發送的認證用數據Q的功能。由該認證用數據接收部201接收的認證用數據Q被提供到驗證用數據提供部202。
此外,電池200的驗證用數據提取部202,具有提取由認證用數據接收部201接收的認證用數據Q內嵌入的驗證用數據A的功能。該驗證用數據提取部202,預先掌握攝像機100的認證用數據生成部103生成認證用數據Q時使用的嵌入圖形(圖7中所示的嵌入圖形)。因此,驗證用數據提取部202,通過進行和上述認證用數據生成部103中的向認證用數據Q內嵌入驗證用數據A的處理相反流程的處理,可從圖8所示的認證用數據Q中,提取圖6所示的驗證用數據A。由驗證用數據提取部202提取出的驗證用數據A被提供到驗證用響應數據生成部203。
此外,電池200的驗證用響應數據生成部203具有以下功能對于由驗證用數據提取部202提取出的驗證用數據A,執行預定的算法,從而生成驗證用響應數據B。在驗證用響應數據生成部203中執行的預定算法,考慮到其處理負荷、處理延遲,優選采用執行下述運算的算法。
在此,參照圖2對為了由驗證用數據A生成驗證用響應數據B而由電池200的驗證用響應數據生成部203執行的算法進行說明。圖2是表示在本發明的實施方式中,為了由驗證用數據A生成驗證用響應數據B而由被驗證裝置執行的算法的一例的流程圖。
在圖2中,驗證用響應數據生成部203,從驗證用數據提取部202提供了驗證用數據A時,將該驗證用數據A分割為字節單位,并且進一步將各字節單位的數據分割為上位4比特和下位4比特(步驟S401)。這樣一來,例如從圖6所示的2字節的驗證用數據A生成圖9所示的4比特單位的四個數據。以下,對于由圖6所示的驗證用數據A生成的四個數據,將具有“1011”值的數據表示為數據A1,將具有“0110”值的數據表示為數據A2,將具有“0001”值的數據表示為數據A3,將具有“1110”值的數據表示為數據A4。
接下來,驗證用響應數據生成部203,例如產生為1~4(即,比特表示為“001”~“100”)范圍的四個隨機數r1~r4(步驟S403),分別對這四個數據A1~A4加算各隨機數r1~r4,從而生成以下四個數據B1~B4數據B1=數據A1+隨機數r1、數據B2=數據A2+隨機數r2、數據B3=數據A3+隨機數r3、數據B4=數據A4+隨機數r4(步驟S405)。例如隨機數r1=4、隨機數r2=1、隨機數r3=2、隨機數r4=1時,由圖9所示的四個數據A1~A4,生成圖10所示的四個數據B1~B4(數據B1的值為“1111”,數據B2的值為“0111”,數據B3的值為“0011”,數據B4的值為“1111”)。此外,因加算隨機數r1~r4而產生超過“1111”的進位時,優選的是,舍去最上位比特(下位第5比特)的值,將下位4比特的值作為加算結果。
在數據B1~B4的運算后,驗證用響應數據生成部203,進行和由驗證用數據A生成數據A1~A4的處理相反的流程的處理,通過數據B1和數據B2的結合、數據B3和數據B4的結合,生成二個1字節的數據,進一步將這二個數據結合生成2字節的驗證用響應數據B(步驟S407)。其結果是,生成圖11所示的驗證用響應數據B。由驗證用響應數據生成部203生成的驗證用響應數據B被提供到認證用響應數據生成部205。此外,圖11中圖示了驗證用響應數據B具有“0111111111110011”的值的情況,從圖示可明確,按照1字節(8比特)分行標記,并且對各行設定Y1~Y2的坐標、對各列設置X0~X7的坐標,進行標記。并且,以下在表示驗證用響應數據B的各比特時,有時例如用B(X5,Y2)這樣的坐標形式來表達。
此外,在上述例子中,舉例說明了以下算法在將驗證用數據A一分為四后,對各4比特單位的數據加算1~4范圍的隨機數r1~r4,生成驗證用響應數據B,但例如驗證用數據A的分割數也可不限為四,隨機數r1~r4的范圍也不限為1~4。并且,驗證用數據A的分割單位不限為4比特寬度,驗證用數據A也可分割為不同比特寬度的數據。進一步,可利用和上述算法不同的任意算法,由驗證用數據A生成驗證用響應數據B。
并且,電池200的響應用基礎數據生成部204具有生成響應用基礎數據R的功能。由該響應用基礎數據生成部204生成的響應用基礎數據R被提供到認證用響應數據生成部205。
響應用基礎數據R具有預定的L字節排列,并且各比特的值被隨機設定為0或1。并且,響應用基礎數據R如下所述,是成為嵌入驗證用響應數據B的基礎的數據,構成用于隱藏認證處理所需的驗證用響應數據B的虛擬比特。
具體而言,例如L=4時,響應用基礎數據R為圖12所示的4字節的隨機比特排列。此外,響應用基礎數據R,具有和由攝像機100的認證用基礎數據生成部101生成的認證用基礎數據P相同的結構,但響應用基礎數據生成部204獨自生成響應用基礎數據R,因此基本上響應用基礎數據R的值是和認證用基礎數據P的值不同的值。
并且,圖12中作為一例圖示了響應用基礎數據R具有“01000001010011000001011001001111”的值的情況,從圖示可明確,按照1字節(8比特)分行標記,并且對各行設定Y1~Y4的坐標、對各列設置X0~X7的坐標,進行標記。并且,以下在表示響應用基礎數據R的各比特時,有時例如用R(X4,Y3)等坐標形式來表達。并且,以下使響應用基礎數據R的字節數L為和認證用基礎數據P及認證用數據Q相同的字節數N(=4)進行說明,但響應用基礎數據R的字節數L和認證用基礎數據P及認證用數據Q的字節數N可以不相同。但是,響應用基礎數據R的字節數L需要大于上述驗證用響應數據B的字節數M。
并且,電池200的認證用響應數據生成部205具有以下功能根據由驗證用響應數據生成部203生成的驗證用響應數據B、及由響應用基礎數據生成部204生成的響應用基礎數據R,生成認證用響應數據S。由該認證用響應數據生成部205生成的認證用響應數據S被提供到認證用響應數據發送部206。
認證用響應數據S通過在響應用基礎數據R中嵌入驗證用響應數據B而生成。例如,認證用響應數據生成部205,掌握根據規格預先確定的嵌入圖形,并按照該嵌入圖形在響應用基礎數據R內進行驗證用響應數據B的嵌入處理。
具體而言,例如,和攝像機100的認證用數據生成部103類似地,根據規格預先確定圖7所示的嵌入圖形,并和認證用數據Q的生成(向認證用基礎數據P內嵌入驗證用數據A)類似地,在響應用基礎數據R內嵌入驗證用響應數據B。
這樣一來,認證用響應數據生成部205,分別將R(X0,Y1)的比特值置換為B(X7,Y1)的比特值,將R(X3,Y1)的比特值置換為B(X0,Y2)的比特值,將R(X4,Y1)的比特值置換為B(X6,Y2)的比特值,將R(X6,Y1)的比特值置換為B(X1,Y2)的比特值,將R(X1,Y2)的比特值置換為B(X5,Y2)的比特值,將R(X2,Y2)的比特值置換為B(X6,Y1)的比特值,將R(X5,Y2)的比特值置換為B(X5,Y1)的比特值,將R(X7,Y2)的比特值置換為B(X2,Y1)的比特值,將R(X1,Y3)的比特值置換為B(X3,Y1)的比特值,將R(X3,Y3)的比特值置換為B(X2,Y2)的比特值,將R(X5,Y3)的比特值置換為B(X0,Y1)的比特值,將R(X0,Y4)的比特值置換為B(X4,Y2)的比特值,將R(X2,Y4)的比特值置換為B(X3,Y2)的比特值,將R(X4,Y4)的比特值置換為B(X4,Y1)的比特值,將R(X6,Y4)的比特值置換為B(X7,Y2)的比特值,將R(X7,Y4)的比特值置換為B(X1,Y1)的比特值,從而生成認證用響應數據S。
其結果是,進行向響應用基礎數據R內的驗證用響應數據B的嵌入,如圖13所示,生成具有“11011011001011010101001001101111”的值的4字節(和響應用基礎數據R相同的字節數L)的認證用響應數據S。另外,在此表示了以下情況認證用響應數據生成部205,利用和攝像機100的認證用數據生成部103生成認證用數據Q時所使用的嵌入圖形(圖7所示的嵌入圖形)相同的嵌入圖形,在響應用基礎數據R內嵌入驗證用響應數據B而生成認證用響應數據S。但認證用響應數據生成部205使用的嵌入圖形,也可與攝像機100的認證用數據生成部103使用的嵌入圖形不同。
并且,電池200的認證用響應數據發送部206,具有將由認證用響應數據生成部205生成的認證用響應數據S發送到攝像機100的功能。
另一方面,攝像機100的認證用響應數據接收部106,具有從電池200接收作為對認證用數據Q的響應的認證用響應數據S的功能。由該認證用響應數據接收部106接收的認證用響應數據S被提供到驗證用響應數據提取部107。
并且,攝像機100的驗證用響應數據提取部107,具有提取在由認證用響應數據接收部106接收的認證用響應數據S內嵌入的驗證用響應數據B的功能。該驗證用響應數據提取部107,預先掌握電池200的認證用響應數據生成部205生成認證用響應數據S時使用的嵌入圖形(在此為圖7所示的嵌入圖形)。因此,驗證用響應數據提取部107,通過進行和上述認證用響應數據生成部205中的向認證用響應數據S內嵌入驗證用響應數據B的處理相反流程的處理,可從圖13所示的認證用響應數據S中,提取圖11所示的驗證用響應數據B。由驗證用響應數據提取部107提取出的驗證用響應數據B被提供到比較驗證部108。
并且,攝像機100的比較驗證部108具有以下功能對驗證用數據存儲部104中存儲的驗證用數據A、及由驗證用響應數據提取部107從認證用響應數據S提取出的驗證用響應數據B進行比較,對驗證用響應數據B是否是根據驗證用數據A正確生成的數據進行驗證。
在此,參照3說明為了對驗證用響應數據B是否是根據驗證用數據A正確生成的數據進行驗證而由攝像機100的比較驗證部108執行的算法。圖3是表示在本發明的實施方式中,為了對驗證用響應數據B是否是根據驗證用數據A正確生成的數據進行驗證而由認證裝置執行的算法的一例的流程圖。
在圖3中,比較驗證部108,掌握由電池200的驗證用響應數據生成部203執行的算法,將由驗證用響應數據提取部107提供的驗證用響應數據B分割為字節單位,并且進一步將各字節單位的數據分割為上位4比特及下位4比特,生成如圖10所示的四個數據B1~B4(步驟S501)。此外,類似地,比較驗證部108,將由驗證用數據存儲部104讀出的驗證用數據A分割為字節單位,并且進一步將各字節單位的數據分割為上位4比特及下位4比特,生成圖9所示的四個數據A1~A4(步驟S503)。
并且,比較驗證部108進行各數據A1~A4、數據B1~B4的驗證。具體而言,比較驗證部108,例如將變量u、變量v分別設定為u=1、v=1(步驟S505、S507),對數據Au加算值v獲得加算結果α(步驟S509),比較該加算結果α和數據Bu的值是否一致(步驟S511)。例如,在最初的運算中,變量u、變量v分別被設定為u=1、v=1,在步驟S511中,進行加算結果α=數據A1+1和數據B1的值是否一致的比較。此外,與電池200的驗證用響應數據生成部203中的數據B1~B4的生成時類似,當向數據A1加算了1~4的值中的任意一個后得到的值超過“1111”時,舍去最上位比特的值,使下位4比特為有效值。
此外,驗證用數據A及驗證用響應數據B具有相同字節大小,當數據Au及數據Bu的變量u為同一值時,數據Au及數據Bu對應于同一比特區域。例如,當u=1時,數據A1及數據B1分別是驗證用數據A及驗證用響應數據B的最初的8比特區域的值。
此時,當加算結果α和數據Bu的值不一致時(在步驟S511中為“否”),使值v增值1(步驟S515),再次進行步驟S509及S511的處理。即,當加算結果α=數據A1+1與數據B1的值不一致時,進行加算結果α=數據A1+2與數據B1的值是否一致的比較。同樣地,當變量v取3、4的值時,也進行同樣的處理,在v=1~4的所有情況下,加算結果α=數據A1+v和數據B1的值都不一致時,在經過步驟S513中的變量v是否達到4的判斷后,判斷該驗證用響應數據B的驗證不合格,電池200的認證不合格,比較驗證部108向動作控制部109發送認證不合格的通知(步驟S517)。
另一方面,當加算結果α和數據Bu的值一致時(步驟S511中為“是”),認為數據Bu的驗證合格,使值u增值1(步驟S521),同樣地,對其他的數據Bu進行和數據Au的比較驗證。
具體而言,在圖6及圖9所示的驗證用數據A、圖10及圖11所示的驗證用響應數據B的例子中,比較驗證部108,首先比較向數據A1的值“1011”加1后的值“1100”、與數據B1的值“1111”。由于其值不一致,因此比較驗證部108比較進一步加1后的值(對數據A1的值“1011”加2后的值)“1101”與數據B1的值“1111”。由于其值不一致,因此比較驗證部108比較進一步加1后的值(對數據A1的值“1011”加3后的值)“1110”與數據B1的值“1111”。由于其值不一致,因此比較驗證部108比較進一步加1后的值(對數據A1的值“1011”加4后的值)“1111”與數據B1的值“1111”。由于其值一致,因此比較驗證部108判定數據B1的驗證合格,接著對數據B2進行同樣的驗證。
并且,在變量u=1~4的所有情況下,加算結果α=數據Au+v(v=1~4的任一值)和數據Bu的值一致時(即,滿足以下所有條件時數據B1的值在向數據A1的值加1后的值~向數據A1的值加4后的值的范圍內、數據B2的值在向數據A2的值加1后的值~向數據A2的值加4后的值的范圍內、數據B3的值在向數據A3的值加1后的值~向數據A3的值加4后的值的范圍內、數據B4的值在向數據A4的值加1后的值~向數據A4的值加4后的值的范圍內),在經過步驟S519中的變量u是否達到4的判斷(即對于數據A1~A4和數據B1~B4的所有對應關系是否都進行了驗證的判斷)后,判斷電池200的認證合格,比較驗證部108向動作控制部109發送認證合格的通知(步驟S523)。
此外,由電池200的驗證用響應數據生成部203生成數據B1~B4時,將向數據A1~A4分別加算的值根據規格確定為固定值,攝像機100的比較驗證部108可通過分別向數據A1~A4加算固定值,來驗證分別與數據B1~B4的一致性。另一方面,如上所述,電池200的驗證用響應數據生成部203使分別對數據A1~A4加算的值為預定范圍內的隨機數r1~r4,在比較驗證部108中,對各數據B1~B4、和各數據A1~A4,驗證到與加算了某一范圍內的值后的值的一致時,視為電池200的認證合格的解有多個成立。這樣一來,當符合多個解中的任意一個時就視為認證合格,從而使認證合格的解的規律性的推測變得困難,可防止對該認證中使用的算法的解密、認證用數據或認證用響應數據的非法制作。
并且,攝像機100的動作控制部109具有以下功能根據來自比較驗證部108的認證合格或認證不合格的通知,進行攝像機100的動作控制。當從比較驗證部108收到認證合格的通知時,動作控制部109進行控制,使攝像機100和電池200之間連接,并使從電池200對攝像機100的供電正常進行。另一方面,當從比較驗證部108收到認證不合格的通知時,動作控制部109對攝像機100或電池200進行動作控制,以使得不進行從電池200向攝像機100的供電,并且通知電池200的認證失敗的消息。作為該報告的方式之一,例如如圖14所示,在攝像機100的顯示器上顯示攝像機100和電池200之間的通信產生錯誤的消息。
接下來,參照圖4對本發明涉及的在攝像機100和電池200之間進行的通信動作的一例進行說明。圖4是表示本發明的實施方式中的認證裝置及被認證裝置的通信動作的一例的順序圖。
在圖4中,檢測到與電池200的物理連接的攝像機100,首先通過認證用基礎數據生成部101例如生成4字節的認證用基礎數據P(步驟S301),并通過驗證用數據生成部102例如生成2字節的驗證用數據A(步驟S303)。將這些認證用基礎數據P及驗證用數據A傳送到認證用數據生成部103,并且將驗證用數據A存儲到驗證用數據存儲部104(步驟S305)。
接著,攝像機100的認證用數據生成部103如上所述,根據由規格確定的嵌入圖形將驗證用數據A嵌入到認證用基礎數據P中,生成4字節的認證用數據Q(步驟S307),并將該認證用數據Q從認證用數據發送部105發送到電池200(步驟S309)。
通過認證用數據接收部201接收了在步驟S309中從攝像機100發送的認證用數據Q的電池200,在驗證用數據提取部202中,根據由規格確定的嵌入圖形,從認證用數據Q中提取驗證用數據A(步驟S311),在驗證用響應數據生成部203中,對提取出的驗證用數據A進行預定算法下的運算,生成2字節的驗證用響應數據B(步驟S313)。此外,驗證用響應數據B例如如上所述,將驗證用數據A以4比特單位一分為四,對分割的四個4比特單位的數據加算預定范圍(1~4)的隨機數,之后再次結合為2字節的數據。
此外,電池200通過響應用基礎數據生成部204例如生成4字節的響應用基礎數據R(步驟S315)。并且,電池200的認證用響應數據生成部205如上所述,根據由規格確定的嵌入圖形(該嵌入圖形也可與步驟S307、S311中參照的嵌入圖形不同)將驗證用響應數據B嵌入到響應用基礎數據R中,生成4字節的認證用響應數據S(步驟S317),并將該認證用響應數據S從認證用響應數據發送部206發送到攝像機100(步驟S319)。
通過認證用響應數據接收部106接收了在步驟S319中從電池200發送的認證用響應數據S的攝像機100,在驗證用響應數據提取部107中,根據由規格確定的嵌入圖形,從認證用響應數據S中提取驗證用響應數據B(步驟S321)。攝像機100的比較驗證部108,通過比較驗證在步驟S305中存儲在驗證用數據存儲部104的驗證用數據A、及由驗證用響應數據提取部107提取出的驗證用響應數據B,判斷驗證用響應數據B是否是根據驗證用數據A生成的數據,以進行電池200的認證(步驟S323)。此外,在驗證用響應數據B的驗證中,例如如上所述,將驗證用數據A及驗證用響應數據B分別以4比特單位一分為四,生成數據A1~A4和數據B1~B4,判斷各數據B1~B4是否與分別向數據A1~A4加了1~4的值后的任意一個值一致。
并且,比較驗證部108決定對電池200的認證是否合格,根據該認證結果,動作控制部109進行攝像機100及/或電池200的動作控制(步驟S325)。
如上所述,根據本發明的實施方式,在認證裝置和被認證裝置之間進行認證處理時,認證裝置及被認證裝置通過進行單純的運算處理可進行數據的生成、驗證。并且,通過根據預定的嵌入圖形在構成虛擬比特的基礎數據(認證用基礎數據P或響應用基礎數據R)內嵌入認證處理所需的數據(驗證用數據A或驗證用響應數據B),由此生成在認證裝置和被認證裝置之間進行傳送的數據(認證用數據Q或認證用響應數據S),從而使第三者很難盜取認證處理所需的數據。并且,例如,被認證裝置,對將驗證用數據A以4比特單位一分為四的數據加算預定范圍的隨機數而生成驗證用響應數據B,從而可不生成與驗證用數據A單一對應的驗證用響應數據B,而生成某一范圍的驗證用響應數據B,可使由驗證用數據A生成驗證用響應數據B時的規律性不易被解讀。
產業上的可利用性本發明具有以下效果無需導入處理負荷大的大規模功能,可實現僅通過小規模的運算處理即對第三者解密、模仿傳送數據等攻擊具有堅固抵抗性的認證處理,可適于用于確認與主裝置連接的副裝置是否是正規裝置(正品)的認證處理技術。
權利要求
1.一種認證裝置,進行被認證裝置是否是正規裝置的認證,其具有認證用基礎數據生成單元,生成N字節的認證用基礎數據,其中N是自然數;驗證用數據生成單元,生成比N字節小的M字節的驗證用數據,其中M為自然數;驗證用數據存儲單元,存儲由上述驗證用數據生成單元生成的上述驗證用數據;認證用數據生成單元,根據預定的嵌入圖形,在由上述認證用基礎數據生成單元生成的上述認證用基礎數據內,嵌入由上述驗證用數據生成單元生成的上述驗證用數據,從而生成認證用數據;認證用數據發送單元,將由上述認證用數據生成單元生成的上述認證用數據發送到上述被認證裝置;認證用響應數據接收單元,從上述被認證裝置接收作為上述認證用數據的響應數據的、比M字節大的L字節的認證用響應數據,其中L為自然數;驗證用響應數據提取單元,根據預定的嵌入圖形,從由上述認證用響應數據接收單元接收到的上述認證用響應數據內,提取M字節的驗證用響應數據;驗證用響應數據分割單元,將由上述驗證用響應數據提取單元提取出的上述驗證用響應數據,分割為具有X比特寬度的多個X比特驗證用響應數據,其中X為自然數;驗證用數據分割單元,將上述驗證用數據存儲單元中存儲的上述驗證用數據,分割為具有X比特寬度的多個X比特驗證用數據;驗證單元,分別對以下二者是否一致進行驗證對任意的X比特驗證用數據分別加算了預先設定的預定范圍的值后所得的加算結果的任意一個、及和上述任意X比特驗證用數據所處的上述驗證用數據內的比特區域對應的上述驗證用響應數據內的比特區域中存在的X比特驗證用響應數據的值;以及動作控制單元,如下進行控制對于所有的上述X比特驗證用數據及上述X比特驗證用響應數據的組合,當上述驗證單元的驗證結果一致時,判斷上述被認證裝置是正規裝置,進行動作控制,另一方面,對于上述X比特驗證用數據及上述X比特驗證用響應數據的組合中的至少一個,當上述驗證結果不一致時,判斷上述被認證裝置不是正規裝置,不進行對上述被認證裝置的動作。
2.一種被認證裝置,對認證裝置證明是正規裝置,其具有認證用數據接收單元,從上述認證裝置接收N字節的認證用數據,其中N是自然數;驗證用數據提取單元,根據預定的嵌入圖形,從由上述認證用數據接收單元接收到的上述認證用數據內,提取比N字節小的M字節的驗證用數據,其中M為自然數;驗證用數據分割單元,將由上述驗證用數據提取單元提取出的上述驗證用數據,分割為由具有X比特寬度的多個比特區域構成的X比特驗證用數據,其中X為自然數;加算單元,產生值為預先設定的預定范圍內的值的多個隨機數,對各個從上述驗證用數據分割單元取得的多個X比特驗證用數據,分別加算上述多個隨機數;驗證用響應數據生成單元,使由上述加算單元加算了上述隨機數后的多個X比特驗證用數據,分別返回到由上述驗證用數據分割單元分割的上述比特區域,由此生成M字節的驗證用響應數據;響應用基礎數據生成單元,生成比M字節大的L字節的響應用基礎數據,其中L為自然數;認證用響應數據生成單元,根據預定的嵌入圖形,在由上述響應用基礎數據生成單元生成的上述響應用基礎數據內,嵌入由上述驗證用響應數據生成單元生成的上述驗證用響應數據,從而生成作為上述認證用數據的響應數據的認證用響應數據;以及認證用響應數據發送單元,將由上述認證用響應數據生成單元生成的上述認證用響應數據發送到上述認證裝置。
3.一種設備認證系統,由認證裝置和被認證裝置構成,上述認證裝置進行上述被認證裝置是否是正規裝置的認證,其中,上述認證裝置具有認證用基礎數據生成單元,生成N字節的認證用基礎數據,其中N是自然數;驗證用數據生成單元,生成比N字節小的M字節的驗證用數據,其中M為自然數;驗證用數據存儲單元,存儲由上述驗證用數據生成單元生成的上述驗證用數據;認證用數據生成單元,根據預定的嵌入圖形,在由上述認證用基礎數據生成單元生成的上述認證用基礎數據內,嵌入由上述驗證用數據生成單元生成的上述驗證用數據,從而生成認證用數據;認證用數據發送單元,將由上述認證用數據生成單元生成的上述認證用數據發送到上述被認證裝置;認證用響應數據接收單元,從上述被認證裝置接收作為上述認證用數據的響應數據的、比M字節大的L字節的認證用響應數據,其中L為自然數;驗證用響應數據提取單元,根據預定的嵌入圖形,從由上述認證用響應數據接收單元接收到的上述認證用響應數據內,提取M字節的驗證用響應數據;驗證用響應數據分割單元,將由上述驗證用響應數據提取單元提取出的上述驗證用響應數據,分割為具有X比特寬度的多個X比特驗證用響應數據,其中X為自然數;驗證用數據分割單元,將上述驗證用數據存儲單元中存儲的上述驗證用數據,分割為具有X比特寬度的多個X比特驗證用數據;驗證單元,分別對以下二者是否一致進行驗證對任意的X比特驗證用數據分別加算了預先設定的預定范圍的值后所得的加算結果的任意一個、及和上述任意X比特驗證用數據所處的上述驗證用數據內的比特區域對應的上述驗證用響應數據內的比特區域中存在的X比特驗證用響應數據的值;以及動作控制單元,如下進行控制對于所有的上述X比特驗證用數據及上述X比特驗證用響應數據的組合,當上述驗證單元的驗證結果一致時,判斷上述被認證裝置是正規裝置,進行動作控制,另一方面,對于上述X比特驗證用數據及上述X比特驗證用響應數據的組合中的至少一個,當上述驗證結果不一致時,判斷上述被認證裝置不是正規裝置,不進行對上述被認證裝置的動作,上述被認證裝置具有認證用數據接收單元,從上述認證裝置接收上述認證用數據;驗證用數據提取單元,根據預定的嵌入圖形,從由上述認證用數據接收單元接收的上述認證用數據內,提取上述驗證用數據;驗證用數據分割單元,將由上述驗證用數據提取單元提取出的上述驗證用數據,分割為由具有X比特寬度的多個比特區域構成的X比特驗證用數據;加算單元,產生值為預先設定的預定范圍內的值的多個隨機數,對各個從上述驗證用數據分割單元取得的多個X比特驗證用數據,分別加算上述多個隨機數;驗證用響應數據生成單元,使由上述加算單元加算了上述隨機數后的多個X比特驗證用數據,分別返回到由上述驗證用數據分割單元分割的上述比特區域,從而生成上述驗證用響應數據;響應用基礎數據生成單元,生成L字節的上述響應用基礎數據;認證用響應數據生成單元,根據預定的嵌入圖形,在由上述響應用基礎數據生成單元生成的上述響應用基礎數據內,嵌入由上述驗證用響應數據生成單元生成的上述驗證用響應數據,從而生成上述認證用響應數據;以及認證用響應數據發送單元,將由上述認證用響應數據生成單元生成的上述認證用響應數據發送到上述認證裝置。
全文摘要
實現一種無需導入處理負荷大的大規模的功能即對第三者解密、模仿傳送數據等攻擊具有堅固抵抗性的認證處理。當攝像機(認證裝置100)和電池(被認證裝置200)連接時,在由認證用基礎數據生成部(101)生成的認證用基礎數據內,嵌入由驗證用數據生成部(102)生成的驗證用數據,而生成認證用數據,并從攝像機發送到電池。在電池的驗證用響應數據生成部(203)中,根據驗證用數據生成驗證用響應數據,在由響應用基礎數據生成部(204)生成的響應用基礎數據內嵌入了驗證用響應數據的認證用響應數據,被發送回攝像機。攝像機比較發送到電池的驗證用數據和認證用響應數據內的驗證用響應數據,進行電池是否是正規裝置的認證。
文檔編號H04L9/32GK1925400SQ20061012660
公開日2007年3月7日 申請日期2006年8月30日 優先權日2005年8月30日
發明者知久守 申請人:日本勝利株式會社