專利名稱:一種基于聲波的認證方法
技術領域:
本發明涉及認證與信息安全領域,尤其是一種利用聲波或電話等音頻信道進行用戶身份和信息的認證方法。
背景技術:
在目前的認證方法中,基于挑戰應答方式的認證最為安全高效,但是目前的挑戰碼如果通過手工輸入不但繁瑣且容易出錯,在某些需要高速通過的門禁應用中,速度無法滿足要求,此外手工輸入的驗證碼不能太長,無法攜帶此次認證的詳細信息(認證方身份,認證時間等),用戶無法根據挑戰碼對對此次認證內容進行判斷,從而增加被欺詐或者重放攻擊的風險。如果基于射頻或者其他專用物理傳輸層方法,則需專用設備而無法使用用戶普遍擁有的手機等隨身設備,增加用戶成本。相比于條形碼類的基于圖像的系統,聲波收發設備無需精確對準采集設備,使用更加簡單快捷,此外本系統還能通過電話等常見聲波傳輸信道進行遠程認證。
發明內容
公開了一種基于聲波的身份與信息的認證方法。認證方法包括認證方首先產生一個數字信息,這個數字信息可以是單純的順序數字,或者隨機數字,也可以進一步的附加一些更加有意義的信息,如時間信息,標識信息,費用信息等,將這些信息按照順序組合好以后,就得到了數字信息A。將數字信息A作為數字調制的信息源,對一個或者多個載波進 行數字調制,用調制后的波形信號驅動合適的發聲設備,可以得到一個載有數字信息A的調制聲波,我們稱之為挑戰聲波。數字調制的方法包括但是不限于幅移鍵控調制、頻移鍵控調制、聞斯濾波最小頻移鍵控調制、相移鍵控調制、正交振幅鍵控調制等公知調制方法。此外,在某些應用場合,還可以使用數字信號處理的技術,通過數學計算生成一個數字化的調制波形信號,這個數字化的波形信號經過數模轉換后也可以得到一個載有數字信息A的挑戰聲波。更進一步的,發聲設備可以與認證方通過通信設備連接,從而遠程的接收認證方的波形信號或者數字化波形信號。需要注意的是,數字化的波形信號在經過通信設備的傳輸后,可能會被轉換為不同數字化的格式。在有些應用場合,還可以不直接使用數字信息A作為數字調制的信息源,而是對數字信息A做進一步的基于數學運算的變換,數學運算包括但不限于公開密鑰或對稱密鑰體系的加密數學運算、糾錯或檢錯編碼運算、四則運算、邏輯運算、附加前導碼或其他標志性信息、交織運算、卷積運算等。需要注意的是,數字信息A可以進行不只一種或一次的的運算,且一種或一次運算的結果可以作為另一種或一次運算的源操作數。最后將數字信息A基于數學運算的變換結果作為數字調制的信息源。應答方的收音設備使用聲電轉換器例如麥克風接收挑戰聲波,并將聲波轉換為電信號,應答方的收音設備可以將這個電信號直接傳送給應答方的解調器,也可將這個電信號數字化后傳送給應答方的解調器;此外,應答方還可以通過通信設備遠程接收收音設備生成的電信號或者數字化信號。應答方對收聲設備傳送來的電信號或數字化信號進行相應的解調,得到解調的數字信息,我們稱之為數字信息B。基于數字信息B,應答方按照一定的應答規 則可以生成一個數字信息C。具體的規則取決于實際的需要,但是必須含有使用密鑰的加密或解密的數學運算,這個密鑰可以是應答方私有,也可以是認證方和應答方共同擁有,還可以是由認證方信任的第三方生成并分配給應答方的公開密鑰體系中的私鑰。此外應答規則還可以包括但是不限于以下規則基于公開密鑰或對稱密鑰體系的解密運算、基于公開密鑰或對稱密鑰體系的加密運算、解糾錯編碼運算、校驗檢錯編碼運算、對某些信息字段的替換、對某些信息字段刪除、對某些信息字段與預期值比較、對某些信息字段的增力口、交織或解交織運算、計算糾錯編碼運算、計算檢錯編碼運算、四則運算、邏輯運算、附加前導碼或其他標志性信息、卷積運算等;在有些應用場合,還可以附加一個被加密的或者被數字簽名的非對稱密鑰。需要注意的是,對數字信息B可以進行不只一種或一次的運算,且一種或一次運算的結果可以作為另一種或一次運算的源操作數。為了防止應答方被重放攻擊,應答方每次計算應答信息時,還可以生成一個加擾數字,用這個加擾數字與參與生成數字信息C的數學運算。這樣每次即使使用同一個數字信息B,應答方所生成的數字信息C也都是不相同的;加擾數字的生成方法包括但不限于隨機數字,偽隨機數字,順序數字,基于或表示時間的數字。將數字信息C作為數字調制的信息源,對一個或者多個載波進行數字調制,將調制后的波形信號驅動合適的發聲設備后,可以得到一個載有數字信息C的調制聲波,我們稱之為應答聲波。數字調制的方法包括但是不限于幅移鍵控調制、頻移鍵控調制、聞斯濾波最小頻移鍵控調制、相移鍵控調制、正交振幅鍵控調制等公知調制方法。此夕卜,在某些應用場合,還可以使用數字信號處理的技術,通過數學計算生成一個數字化的調制波形信號,這個數字化的波形信號經過數模轉換后也可以得到一個載有數字信息C的應答聲波。在某些情況下,發聲設備可以與應答方通過通信設備連接,從而遠程的接收應答方的波形信號或者數字化波形信號。需要注意的是,數字化的波形信號在經過通信設備的傳輸后,可能會被轉換為不同數字化的格式。認證方的收音設備使用聲電轉換器例如麥克風接收應答聲波,并將其轉換為電信號,認證方的收音設備可以將這個電信號直接傳送給認證方的解調器,也可將這個電信號數字化后傳送給認證方的解調器;此外,認證方可以通過通信設備遠程接收收音設備生成的波形信號或者數字化波形信號。認證方對收聲設備傳送來的波形信號或數字波形信號進行相應的解調,得到數字信息D。由于可能的誤碼的存在,數字信息D有可能與數字信息C不同。根據數字信息A,應答方按照一定的規則可以驗證數字信息D是否通過認證。具體的驗證規則取決于實際的需要,包括判斷數字信息D是否等于數字信息A、判斷數字信息D基于數學運算的變換結果是否等于數字信息A、判斷數字信息D是否等于數字信息A基于數學運算的變換結果、判斷數字信息D基于數學運算的變換結果是否等于數字信息A基于數學運算的變換結果。數字信息D的數學運算與數字信息A的數學運算可以不同。其中所述基于數學運算的變換包括但不限于基于公開密鑰或對稱密鑰體系的解密運算、基于公開密鑰或對稱密鑰體系的加密運算、解糾錯編碼運算、校驗檢錯編碼運算、對某些信息字段的替換、對某些信息字段刪除、對某些信息字段與預期值比較、對某些信息字段的增加、對某些信息字段的交織或解交織運算、計算糾錯編碼運算、計算檢錯編碼運算、四則運算、邏輯運算、交織運算、卷積運算等。需要注意的是,數字信息A可以進行不只一種或一次的運算,且一種或一次運算的結果可以作為另一種或一次運算的源操作數。數字信息D可以進行不只一種或一次的運算,且一種或一次運算的結果可以作為另一種或一次運算的源操作數。此外,數字信息A—次運算的結果可以作為數字信息D的一次運算的源操作數,數字信息D的一次運算的結果也可以作為數字信息A的一次運算的源操作數。例如當數字信息D的一個片段攜帶有一個被加密的或者被數字簽名的數字信息時,可以先解密出這個數字信息,或者驗證這個數字信息的數字簽名,然后使用這個數字信息與數字信息A或者數字信息D進行下一步的數學運算。一種可能的情況是認證器將數字信息D中的一部分信息使用一個它信任的第三方分配的公鑰進行解密或數字簽名驗證,再使用解密的或 通過驗證的公鑰去解密數字信息D的另一個部分。如果認證方在規定時間內沒有收到數字信息D或者數字信息D沒有通過驗證,需要進行再次認證時,認證方需要生成一個新的數字信息A且與以前的數字信息A不同。為了防止非授權者使用應答方的物理實體,應答方在接收挑戰聲波或生成應答信息C之前,需要使用者輸入密碼或生物特征信息,應答方判斷使用者輸入的密碼或生物特征信息是否符合預期值,如果符合則可以正常生成應答信息C,否則拒絕應答信息C。所述生物特征信息包括但是不限于指紋,聲紋,虹膜等。為了方便使用者了解當前認證的具體細節,應答方還可以將數字信息B攜帶的某些具體信息由屏幕或者喇叭提示給用戶,具體信息取決于實際應用,例如認證方名稱或代碼、認證時間、費用信息等等,用戶接收到這些信息后,判斷是否是一筆正常的認證,如果是,通過按鍵或其他輸入方法通知應答方,生成應答的數字信息C,如果用戶認為這次認證有異常,也可通過按鍵或其他輸入方法或者超時確認等方法來取消生成數字信息C。有時候數字信息B還需要經過一系列數學運算生成由屏幕或者喇叭提示給用戶的信息。具體方法取決于實際的需要,可以包括但是不限于以下規則基于公開密鑰或對稱密鑰體系的解密運算、基于公開密鑰或對稱密鑰體系的加密運算、解糾錯編碼運算、校驗檢錯編碼運算、對某些信息字段的替換、對某些信息字段刪除、對某些信息字段與預期值比較、對某些信息字段的增加、交織或解交織運算、計算糾錯編碼運算、計算檢錯編碼運算、四則運算、邏輯運算、卷積運算等。需要注意的是,對數字信息B可以進行不只一種或一次的運算,且一種或一次運算的結果可以作為另一種或一次運算的源操作數。
圖I是一種門禁器的結構圖
圖2是一種電話銀行認證系統的結構圖 圖3是一種電話交易系統的結構圖 圖4是一種網站登錄系統的結構圖 圖5是一種離線收費系統的結構圖 圖6是一種門禁器的數據格式圖 圖7是一種電話銀行認證系統的數據格式圖 圖8是一種電話交易系統的數據格式圖 圖9是一種網站登錄系統的數據格式圖 圖10是一種離線收費系統的數據格式圖
具體實施例方式 通常情況下,所公開的實施例的說明中,給出了具體的細節,以便于透徹理解這些實施例。但是,本領域技術人員應當理解的是,這些實施例也可以不用這些具體細節來實現。尤其是關于調制解調的方法和通信傳輸的方法,實施例中的方法只是為了說明意圖而選用的特例技術,這些實施例可以選擇其他公知方法。還應當注意的是,可以將這些實施例描述成用流程圖、結構圖或框圖表示的過程。盡管流程圖可以將多個操作描述為順序的過程,但其中的很多操作可以并行或同時執行。此外,可以重新排定操作的次序。當操作完成時,過程結束。過程可以對應于方法、函數、程序、子例程、子程序等。此外,就如同這里所披露的那樣,術語“聲波”指的是通過氣體、液體或固體行進的聲學波或壓力波或振動。聲波包括超聲波、音頻波和次聲波。第一實施例
圖I說明一種門禁系統,門禁器Iio的處理器111首先生成一組數字信息601,數字信息601包括隨機數字,表示時間的數字和門禁器識別號。處理器111對數字信息601使用自己的私鑰進行基于橢圓曲線密碼體系的加密運算,再對加密運算結果進行循環冗余校驗(CRC)校驗碼運算。然后將數字信息601的加密結果與循環冗余校驗(CRC)校驗碼合成數字信息602發送給調制器112,調制器112通過本領域公知的數字調制的方法產生電信號后驅動蜂鳴器113產生調制的聲波116。應答器120接收到調制聲波116,并利用麥克風125將調制聲波116轉換為電信號,再將這個電信號發送給解調器124,解調器124利用本領域公知的方法解調得到數字信息603并發送給處理器121,處理器121對數字信息603的非CRC校驗碼部分進行循環冗余校驗(CRC)校驗碼計算,如果結果不等于數字信息603的CRC校驗碼,則不作任何處理,如果等于數字信息603的CRC校驗碼,處理器121使用存儲的門禁器公鑰對數字信息603的非CRC校驗碼部分進行橢圓曲線密碼體系解密運算,得到數字信息604。處理器121使用自己的密鑰對數字信息604進行高級加密標準(AES)加密運算,再對加密運算結果進行循環冗余校驗(CRC)校驗碼運算。然后將數字信息604的加密結果與循環冗余校驗(CRC)校驗碼合成數字信息605發送給調制器123,調制器123通過本領域公知的數字調制的方法產生電信號后驅動蜂鳴器122產生調制的聲波126。門禁器110接收到調制聲波126,并利用麥克風114將調制聲波126轉換為電信號,再將這個電信號發送給解調器115,解調器115利用本領域公知的方法解調得到數字信息606,并發送給處理器111,處理器111對收到的解調數字信息606的非CRC校驗碼部分進行循環冗余校驗(CRC)校驗碼計算,如果結果不等于數字信息606的CRC校驗碼,認證失敗;如果等于數字信息606的CRC校驗碼,處理器111使用內部存儲的第一個密鑰對數字信息601進行高級加密標準(AES)加密運算,如果結果等于數字信息606的非CRC校驗碼部分,則通過認證,可以進入;如果不等,處理器111使用內部存儲的第二個密鑰對數字信息601進行高級加密標準(AES)加密運算并判斷是否等于數字信息606的非CRC校驗碼部分;如此循環直到找 到可以加密數字信息601的結果等于數字信息606的非CRC校驗碼部分的密鑰,則通過認證;如果所有密鑰的加密結果都是不等于數字信息606的非CRC校驗碼部分,認證失敗。如果門禁器的處理器111在10秒鐘內沒有收到解調器115送來的數字信息,或者雖然收到解調器115送來的數字信息,但該數字信息認證失敗,處理器111再次生成一組新的數字信息發送給認證器進行再次認證,與上次生成的數字信息601相比,隨機數字部分與原來的隨機數字不同,表示時間的數字部分更新為新的時間。第二實施例
圖2說明一個電話銀行系統,銀行服務中心210要認證用戶的身份。銀行服務中心210的處理器211首先生成一組數字信息701,數字包括隨機數字,認證時間,銀行標識代碼,用戶主叫電話號碼。然后處理器211對數字信息701使用自己的私鑰進行橢圓曲線密碼體系加密運算,再對運算結果進行循環冗余校驗(CRC)校驗碼運算。然后將數字信息701的加密結果與循環冗余校驗(CRC)校驗碼合成數字信息702發送給調制器212,調制器212將得到的數字信號通過數字信號處理的技術計算出調制的模擬波形經脈沖編碼調制(PCM)后的PCM碼流,并將該PCM碼流通過通信網絡234中繼后傳輸至一個通信終端230,通信終端230的通信模塊233將PCM碼流恢復為一個模擬電信號驅動揚聲器231產生的調制聲波235。 應答器220接收到調制聲波235,并利用麥克風225將調制聲波235轉換為電信號,再將這個電信號發送給解調器224,解調器224利用本領域公知的方法解調得到數字信息703并發送給處理器221,處理器221對收到的解調數字信息703的非校驗碼部分進行環冗余校驗(CRC)運算,如果運算結果與數字信息703的循環冗余校驗(CRC)校驗碼不同,則不作任何處理,如果相同,則對數字信息703的非校驗碼部分使用銀行的公鑰進行橢圓曲線密碼體系的解密運算得到數字信息704。通過數字信息704得到隨機數字,認證時間,銀行標識代碼,用戶主叫電話號碼信息,如果銀行標識代碼與應答器210預期的數字不同,則不作進一步處理,如果相同,則通過顯示器226將認證時間,用戶主叫電話號碼信息顯示給用戶,用戶確認信息無誤后,通過按鍵227通知處理器221繼續生成應答信息。處理器221使用內部的私鑰對數字信息704進行橢圓曲線密碼體系加密運算,對得到的結果再附加應答器編碼后,得到數字信息705,處理器221本地生成一個隨機數作為的加擾數字,然后用這個加擾數字作為密鑰對數字信息705進行高級加密標準(AES)加密。將加密結果連同加擾數字一起合成數字信息706,使用銀行的公鑰對數字信息706進行橢圓曲線加密運算,再對運算結果進行循環冗余校驗(CRC)校驗碼運算。將數字信息706的加密結果與計算出循環冗余校驗(CRC)校驗碼的合成數字信息707發送給調制器223,調制器223通過本領域公知的數字調制的方法產生電信號后驅動揚聲器222產生調制的聲波226。通信終端230使用麥克風232接收聲波226生成模擬電信號并經通信模塊233處理后生成PCM碼流,PCM碼流經通信網絡234中繼給解調器213,解調器213將得到的PCM碼流通過數字信號處理技術解調得到數字信息708并發送給處理器211,處理器211對收到的解調數字信息708的非校驗碼部分進行循環冗余校驗(CRC)校驗碼計算,如果計算結果與數字信息708的循環冗余校驗(CRC)校驗碼不同,則不作任何處理,如果相同,使用銀行的私鑰對數字信息708的非校驗碼部分進行橢圓曲線密碼體系解密運算,得到信息709,使用信息709的認證器本地加擾數為密鑰,通過AES解密得到信息710,再以信息710的應答器編號為索引查找對應這個應答器的公鑰信息,然后使用得到的公鑰,對信息710中的加密部分進行橢圓曲線密碼體系解密運算,得到數字信息711,如果數字信息711與數字信息701相同,則通過認證,可以服務,反之認證失敗,拒絕服務。第三實施例
圖3說明一個電話交易系統。收費設備320的處理器321首先生成一組挑戰數字信息801,挑戰數字信息801包括隨機數字,收費時間,收費設備編號,收費金額。處理器321對生成的挑 戰數字信息801先計算CRC校驗碼,然后將信息801附加計算出的CRC校驗碼后得到數字信息802,再對數字信息802計算錯誤檢查和糾正(ECC)糾錯碼,然后將數字信息802附加計算出的錯誤檢查和糾正(ECC)糾錯碼作為信息803并發送給調制器323,調制器323通過本領域公知的數字調制的方法產生電信號后驅動揚聲器322產生調制的聲波326。用戶通過無線電話330的麥克風332將聲波326轉變為電信號,通信模塊333采集并數字化該電信號后通過通信網絡334送給付費中心310的解調器313。解調器313按照本領域公知的數字信號處理方法,對數字化的調制聲波解調得到解調的數字信息804并送給處理器311,處理器311對這組解調數字信息進行解碼,如果錯誤比特在錯誤檢查和糾正(ECC)糾錯編碼可糾正范圍內,則可以恢復出數字信息805,處理器311使用數字信息805的CRC校驗碼判斷數字信息805的非CRC校驗碼部分是否正確,如果正確,處理器311可以根據數字信息805的非CRC校驗碼部分得到數字信息806,處理器311將數字信息806的付費金額信息轉換為數字化的語音信號經由通信網絡334回送給用戶的無線電話330,用戶收聽電話的金額信息后,通過電話按鍵335鍵入消費密碼,付費中心310的處理器311通過通信網絡334接收用戶鍵入的密碼后,根據用戶的電話號碼查找對應的用戶密碼信息,如果兩個密碼一致,產生一個根據時間生成的數字作為加擾數字,與數字信息806相乘,再將相乘結果與加擾數字合成一個信息807。處理器311根據數字信息806的收費器編號查找出的收費器公鑰對數字信息807進行離散對數密鑰體系的加密運算。將加密的結果附加相應的錯誤檢查和糾正(ECC)糾錯編碼得到信息808并發送給調制器312調制為數字化的波形信號,經由通信網絡334被用戶的電話330的揚聲器331恢復為調制聲波336并送給收費設備320,收費設備320利用麥克風325將調制聲波336轉換為模擬電信號送給解調器324,解調器324按照本領域公知的方法解調得到數字信息809并送給處理器321,處理器321對數字信息809進行糾錯解碼運算,如果數字信息809錯誤比特在錯誤檢查和糾正(ECC)糾錯編碼可糾正范圍內,則可以恢復出數字信息810,最后收費設備320的處理器321使用自己的私鑰對數字信息810進行解密得到數字信息811,將數字信息811的乘積部分除以數字信息811的應答器加擾數字,可以得到數字信息812,如果信息812與數字信息801 —致則收費成功,否則收費失敗。第四實施例
圖4說明一個網站用戶認證系統。網站410要認證用戶的身份。網站410的處理器411首先生成一組數字信息901,數字信息901包括隨機數字,認證時間,網站標識代碼,用戶IP地址。然后處理器411對數字信息901使用自己的私鑰進行橢圓曲線密碼體系加密運算,在對加密運算結果進行CRC校驗碼運算。然后將計算出的CRC校驗碼與數字信息901的加密結果合成數字信息902發送給調制器412,調制器412將得到的數字信息902通過公知的數字信號處理的技術計算出一個數字化的波形碼流,并將該數字化的波形碼流通過通信網絡434傳輸至一個手機430,手機430的處理器431將接收到的數字化的波形碼流送給數模轉換器432,數模轉換器432將數字化的波形碼流恢復為一個模擬電信號436驅動用戶電話的揚聲器接口 434。應答器420的解調器424通過連接著揚聲器接口 434的輸入插頭425接收到模擬電信號436,解調器424利用本領域公知的方法解調得到數字信息903并發送給處理器421,處理器421對收到的數字信息903的非校驗碼部分進行CRC校驗碼運算,如果運算得到的CRC校驗碼與數字信息903的CRC校驗碼不同,則不作任何處理,如果相同,再使用網站的公鑰對數字信息903的非校驗碼部分進行橢圓曲線密碼體系的解密運算。得到數字信息904。處理器421通過顯示器426將數字信息904的認證時間、用戶IP地址顯示給用戶,用戶確認信息無誤后,通過按鍵427輸入密碼,處理器421驗證用戶輸入密碼是否與內部存儲的用戶密碼一致,如果一致,繼續生成應答信息。處理器421使用內部密鑰對數字信息904進行AES加密運算,對加密結果再附加應答器編號后得到數字信息905,處理器421使用一個偽隨機的加擾數字與數字信息905進行間插得到數字信息906。處理器421使用網站的公鑰對數字信息906進行橢圓曲線加密運算,再對運算結果進行CRC校驗碼運算,最后合成數字信息907。處理器421將數字信息907發送給調制器423,調制器423通過本領域公知的數字調制的方法產生電信號426后驅動輸出插頭422。手機430使用麥克風插座435接收電信號426,然后送給模數轉換器433,模數轉換器433將模擬信號轉換為數字化碼流輸出給處理器431,處理器431經通信網絡434把數字化碼流送給解調器413,解調器413將得到的碼流通過數字信號處理的技術計算出解調的數字信息908并發送給處理器411,處理器411對收到的數字信息908的非CRC校驗碼部分進行CRC校驗碼運算,如果計算出的CRC校驗碼與數字信息908的CRC校驗碼不同,則不作任何處理,如果相同,再使用網 站的私鑰對數字信息908的非CRC校驗碼部分進行橢圓曲線密碼體系解密運算得到數字信息909,剔除數字信息909中的加擾數字得到數字信息910,再以數字信息910的應答器編號為索引查找對應這個應答器的密鑰信息,然后使用查找出的密鑰,對應答器數字信息901的加密部分進行AES加密運算,得到數字信息911,如果數字信息911與數字信息910的加密部分相同,則通過認證,反之認證失敗。 第五實施例
圖5說明一種包括一個收費系統,收費器510的處理器511首先生成一組挑戰數字信息1001,挑戰數字包括隨機數字,表示時間的數字,收費器編號,收費金額。處理器511對數字信息1001計算CRC校驗編碼,并與數字信息1001合成數字信息1002,然后將數字信息1002發送給調制器512,調制器512通過本領域公知的數字調制的方法產生電信號后驅動揚聲器513產生調制的聲波516。付費器520利用麥克風525將接收到的調制聲波516轉換為電信號,再將這個電信號發送給解調器524,解調器524利用本領域公知的方法解調得到數字信息1003并發送給處理器521,處理器521對收到數字信息1003的非CRC校驗碼部分計算CRC校驗碼,如果計算的CRC校驗碼與數字信息1003的CRC校驗碼不等,則不作任何處理,如果相等,提取數字信息1003的非CRC校驗碼部分得到數字信息1004,將數字信息1004附加上付費賬號與付費時間合成數字信息1005。處理器521使用內部的一個私鑰對數字信息1005進行橢圓曲線密碼體系的加密運算,再把加密后的結果附加一個被數字簽名或被非對稱密鑰加密的公鑰數字信息,得到數字信息1006。處理器521對數字信息1006計算出CRC校驗碼后合成數字信息1007并發送給調制器523,調制器523通過本領域公知的數字調制的方法產生電信號后驅動揚聲器522產生調制的聲波526。收費器510利用麥克風514將接收到的調制聲波526轉換為電信號,再將這個電信號發送給解調器515,解調器515利用本領域公知的方法解調得到數字信息1008并發送給處理器511,處理器511對收到的數字信息1008的非CRC校驗碼部分計算CRC校驗碼,如果計算結果不等于數字信息1008的CRC校驗碼,則不作任何處理,如果等于,則可以提取數字信息1008的非CRC校驗碼部分得到數字信息1009。然后處理器511使用一個信任的第三方提供的公鑰對數字信息1009的被數字簽名或被非對稱密鑰加密的公鑰信息進行數字簽名驗證或解密運算,如果驗證為正確或者通過解密運算,可以得到數字信息1010,數字信息1010是一個公鑰信息,再使用數字信息1010提供的公鑰信息,對數字信息1009的加密結果部分進行橢圓曲線密碼體系的解密運算,得到數字信息1011,對比數字信息1011的隨機數字、表示時間的數字、收費器編號、收費金額是否與數字信息1001的相應部分相同,如果相同則認證通,過并根據付費賬號確定付費人,收費成功。反之收費失敗。需要指出的是,用于對數字信息1005加密運算的私鑰與被數字簽名或被非對稱密鑰加密的公鑰以及對數字信息1009的被數字簽名或加密的密鑰部分進行解密或驗證的公鑰均源自一個認證方信任的第三方,不由認證方與應答方本地產生。對本領域的技術人員而言還應當理解的是與在此公開的實施例有關的各種說明 性的邏輯塊、模塊、電路和算法步驟都可以以電子硬件、計算機軟件、或者兩者的組合來實現。為了清楚地舉例說明硬件和軟件的該互換性,在上文中通常已經根據其功能描述了各種說明性的組件、塊、模塊、電路和步驟。這種功能是以硬件還是軟件方式實現取決于整個系統的特殊應用和設計約束。在每個特殊應用中本領域的技術人員可以以修改的方式來實現所描述的功能,但是對這種實施的判定將不會被解釋成背離了本發明的范圍。對所公開實施方式的先前的說明以使得任何所屬技術領域的專業人員可以實施或者使用本發明。對本領域的技術人員而言可以很容易的對這些實施方式進行各種修改,并且在不脫離本發明的精神上、或者范圍的情況下可以將在此定義的通用原理應用于其他實施方式。因此,并非意在將本發明限于在此顯示的實施方式,而是應當同符合在此公開的原理和非常規設計的最寬范圍相一致。
權利要求
1.一種認證方法,包括認證方生成ー個數字信息A ;將數字信息A或數字信息A基于數學運算的變換結果作為信息源調制挑戰聲波;應答方接收挑戰聲波并解調得到數字信息B ;應答方基于數字信息B按照應答信息生成規則,生成數字信息C ;應答信息生成規則必須含有使用密鑰的加密或解密數學算法;應答方將數字信息C作為信息源調制應答聲波 ’認證方接收應答聲波并解調得到數字信息D ;認證方基于數字信息A按照驗證規則判斷數字信息D是否通過認證。
2.如權利要求I所述方法,還包括數字信息B或數字信息D攜帶糾錯編碼或檢錯編碼。
3.如權利要求I至2所述方法,還包括數字信息B或數字信息D的全部或任意部分是被基于公開密鑰密碼體系的加密算法加密的。
4.如權利要求I至3所述方法,其中所述應答信息生成規則必須含有的加密或解密數學算法的特征是基于離散對數密碼體系或者橢圓曲線密碼體系的加密算法或解密算法。
5.如權利要求I至4所述方法,應答信息生成規則還包括應答方本地生成一個用于加擾的數字;這個用于加擾的數字參與生成數字信息C的數學運算。
6.如權利要求I至5所述方法,還包括應答方的應答數字信息D攜帯ー個被加密或者被數字簽名的非対稱密鑰,認證方根據這個非対稱密鑰解密應答數字信息D的至少ー個部分或者至少ー個的數字信息D基于數學運算的變換結果。
7.如權利要求I至6所述方法,還包括認證方或應答方通過通信設備連接至發聲設備產生聲波信號;認證方或應答方通過通信設備接連至聲波采集設備接收聲波信號。
8.如權利要求I至7所述方法,還包括認證方或者應答方可以直接接收用于驅動揚聲器發出聲波信號的電信號。
9.如權利要求I至8所述方法,還包括應答方需要驗證使用者輸入正確的密碼信息或生物特征信息后才能生成數字信息C。
10.如權利要求I至9所述方法,還包括應答方將數字信息B或數字信息B基于數學運算的變換結果由屏幕或者喇叭提示給用戶。
全文摘要
本發明公開了一種基于聲波的認證方法。認證方法包括認證方產生一個數字信息、以及將此數字信息通過聲波發送至應答方,應答方根據認證方發送的數字信息按照一定規則生成應答數字信息并通過聲波發送至認證方。認證方判斷應答數字信息是否通過認證。
文檔編號H04L1/00GK102820972SQ20121029405
公開日2012年12月12日 申請日期2012年8月17日 優先權日2012年8月17日
發明者劉欣 申請人:劉欣