本專利文檔要求2017年5月18日提交的美國專利申請號15/598,998的優先權,該申請要求2017年2月13日提交的美國臨時專利申請號62/458,146的優先權。每個優先權申請的公開內容通過引用完全合并于本文檔。
背景技術:
電子設備的語音激活越來越普及。目前,語音激活要求訓練每個電子設備以識別用戶的語音。盡管用戶的語音提示可以被存儲在遠程服務器上,但是可能存在由遠程處理引起的認證的延遲和額外數據使用。此外,一些用戶可能更喜歡根本不發生他們錄制的語音的遠程存儲。
盡管存在能夠存儲生物特征數據并使用所存儲的數據來向電子設備認證用戶的物理密鑰,但是物理密鑰可能被錯放或丟失。此外,存在有限的用于在許多類型的電子設備上使用物理密鑰來驗證用戶的方法。
此外,諸如數字家庭助理的某些電子設備可以由多個用戶訪問,其中一些用戶可以使用相同或相似的密碼短語。在不同的用戶訪問相同的設備時,期望知道哪個用戶正在訪問該設備,使得系統能夠訪問正確的用戶的簡檔并向用戶提供個性化的使用體驗。
本公開描述了用于通過跨多個電子設備的語音來驗證賬戶用戶的身份的改進的方法和系統。
技術實現要素:
在多個方面,一種向電子設備認證用戶的方法包括,由電子設備的處理器通過以下各項來執行認證應用:(a)使電子設備的麥克風接收口頭音頻輸入;(b)分析口頭音頻輸入以檢測音頻輸入是否與已知的密碼短語匹配;以及(c)處理口頭音頻輸入以確定音頻輸入是否與已知的語音簽名一致。在確定了口頭音頻輸入與已知的語音簽名一致時,處理器將識別與已知的語音簽名相關聯的用戶。
系統可以確定在閾值時間段內用戶先前是否已經向電子設備或電子設備的應用認證。或者或另外,系統可以確定安全威脅是否已經被發布到用戶的系統使用簡檔。如果處理器確定在閾值時間段內用戶先前未向電子設備或應用認證、或者如果安全威脅的指示已經被發布到用戶的簡檔、或者在檢測到其他確定的條件時,則系統將:(i)使電子設備輸出具有預期響應的音頻提示;(ii)使麥克風接收響應于音頻提示的口頭答復;(iii)分析口頭答復以確定口頭答復是否對應于預期響應;以及(iv)在確定了口頭答復對應于預期響應之后,認證用戶并向用戶提供對電子設備或應用的訪問。
在向用戶提供訪問之前,響應于檢測到口頭答復對應于預期響應,處理器可以處理音頻輸入以確定口頭答復是否與已知的語音簽名一致。如果是,則如果口頭答復與已知的語音簽名一致,處理器可以向用戶提供訪問。
在一些方面,處理口頭音頻輸入以確定口頭音頻輸入是否與已知的語音簽名一致可以包括:識別包括口頭音頻輸入的一個或多個用戶簡檔,選擇與所識別的一個或多個用戶簡檔中的一個相關聯的每個用戶作為候選用戶并將口頭音頻輸入與候選用戶中的每一個的語音簽名相比較以識別其語音簽名與口頭音頻輸入一致的候選用戶。
可選地,在處理口頭音頻輸入以確定音頻輸入是否與已知的語音簽名一致之前,系統可以執行語音簽名生成應用來生成已知的語音簽名,該語音簽名生成應用:(a)請求用戶說出已知的文本段落;(b)接收已知的文本段落的口頭音頻實例;(c)處理口頭音頻實例以生成已知的語音簽名;(d)向遠程服務器傳送已知的語音簽名以用于存儲;以及(e)刪除或不保存口頭音頻實例的任何音頻記錄。
可選地,在處理口頭音頻輸入以確定音頻輸入是否與已知的語音簽名一致之前,系統可以通過執行語音簽名生成應用來生成已知的語音簽名,該語音簽名生成應用:(a)輸出查詢;(b)接收對查詢的口頭響應;(c)處理口頭響應以產生已知的語音簽名;(d)向遠程服務器傳送已知的語音簽名以用于存儲;(e)刪除或不保存口頭響應的任何音頻記錄使得口頭音頻實例不保存在電子設備上(盡管它可以保存在遠程服務器上)。
可選地,執行認證應用的電子設備和執行語音簽名生成應用的電子設備可以是單獨的物理設備。或者它們可以是相同的設備或相同的設備的部件。
可選地,在分析口頭答復以確定口頭答復是否對應于預期響應之前,系統可以通過以下各項來為用戶生成簡檔:輸出查詢,接收對查詢的回復,處理回復以識別包含在回復中的每一個中的文本,并將包括與回復的對應的查詢相關聯的每個回復的所識別的文本的簡檔保存到遠程服務器。在使電子設備輸出音頻提示時,系統可以從簡檔中隨機選擇查詢中的一個。在分析口頭答復以確定口頭答復是否對應于預期響應時,系統可以確定口頭答復是否對應于與所選擇的查詢對應的回復的所識別的文本。
為了確定用戶的系統使用簡檔是否包括安全威脅的指示,系統可以確定系統使用簡檔是否包括以下中的一個或多個:(a)同時在多于閾值數量的設備上同時訪問應用的嘗試;(b)同時在不同地理位置同時使用多個設備的嘗試;或(c)訪問與用戶的典型使用模式不一致的應用或服務的嘗試。
在其他方面,電子設備用戶認證系統包括具有麥克風、揚聲器和包含認證應用的存儲器的電子設備。認證應用在被執行時,將使電子設備的麥克風接收口頭音頻輸入,使一個或多個處理器分析音頻輸入以檢測音頻輸入是否與口頭密碼短語匹配,并使一個或多個處理器處理音頻輸入以確定音頻輸入是否與已知的語音簽名一致。在確定音頻輸入與口頭密碼短語匹配并與已知的語音簽名一致時,系統將識別與已知的語音簽名相關聯的用戶。系統可以訪問用戶的簡檔以確定簡檔是否包括(a)安全威脅的指示,或(b)在閾值時間段內用戶先前未向電子設備或電子設備的所選擇的應用認證的指示。電子設備的揚聲器將輸出具有預期響應的音頻提示。可選地,響應于確定系統使用簡檔包括安全威脅的指示或者在閾值時間段內用戶先前未被認證的指示而完成輸出音頻提示。在麥克風接收到對音頻提示的口頭答復之后,系統將分析口頭答復以確定口頭答復是否對應于預期響應。如果系統能夠確定口頭答復對應于預期響應,則系統將認證用戶,使得用戶可以訪問電子設備的一個或多個功能。
可選地,處理音頻輸入以確定音頻輸入是否與已知的語音簽名一致的系統的部分可以是遠離電子設備并與電子設備通信的服務器的一個或多個部件。如果是,則不需要將已知的語音簽名存儲在電子設備上。
系統還可以包括被配置為使電子設備的揚聲器輸出用戶說出已知的文本段落的查詢或請求的語音簽名生成應用。系統可以經由麥克風接收口頭響應,處理口頭音頻實例以生成已知的語音簽名,并向遠程服務器傳送已知的語音簽名以用于存儲。然后電子設備可以刪除或至少不保存口頭音頻實例的任何音頻記錄。因此口頭音頻實例將不會保存在電子設備上。
在替換的方面,一種向電子設備認證用戶的方法包括確定電子設備的麥克風已經接收到口頭音頻輸入,并使用口頭音頻輸入來識別用戶。方法還包括使電子設備輸出與預期響應相關聯的音頻提示。在確定麥克風已經接收到對音頻提示的口頭答復時,系統將分析口頭答復以確定口頭答復是否對應于預期響應。在確定口頭答復對應于預期響應之后,系統將認證用戶并向用戶提供對電子設備或電子設備的應用的訪問。
可選地,在使電子設備輸出音頻提示之前,系統可以確定在閾值時間段內用戶先前未向電子設備或應用認證。
可選地,使用口頭音頻輸入來識別用戶可以包括:(a)分析口頭音頻輸入以檢測口頭音頻輸入是否與已知的密碼短語匹配,并識別與已知的密碼短語相關聯的用戶;或者(b)處理口頭音頻輸入以確定口頭音頻輸入是否與已知的語音簽名一致,并識別與已知的語音簽名相關聯的用戶。
可選地,在識別用戶之后,系統可以訪問用戶的系統使用簡檔以確定系統用戶簡檔是否包括安全威脅的指示。如果系統確定系統用戶簡檔包括安全威脅的指示,則作為響應系統可以實現使電子設備輸出音頻提示的步驟。訪問系統使用簡檔可以包括確定系統使用簡檔是否包括以下中的一個或多個:(a)同時在多于閾值數量的設備上同時訪問應用的嘗試;(b)同時在不同地理位置同時使用多個設備的嘗試;或(c)訪問與用戶的典型使用模式不一致的應用或服務的嘗試。
可選地,在向用戶提供訪問之前,并且響應于檢測到口頭答復對應于預期響應,系統可以處理口頭答復以確定口頭答復是否與已知的語音簽名一致。如果是,則如果口頭答復與已知的語音簽名一致,系統可以向用戶提供訪問。
根據一個方面,提供了一種包括編程指令的非暫時性計算機可讀介質,該編程指令在被一個或多個處理器執行時執行本文描述的方法中的一個。
根據另一方面,提供了一種包括編程指令的計算機程序,該編程指令在被一個或多個處理器執行時執行本文描述的方法中的一個。
方法、系統、非暫時性計算機可讀介質、計算機程序和計算機程序產品提供用于通過跨多個電子設備的語音來驗證賬戶用戶的身份的改進的技術。
附圖說明
圖1圖示出根據實施例的用于向任何數量的電子設備驗證賬戶用戶的示例系統。
圖2是使用兩步語音認證過程認證用戶的示例方法的流程圖。
圖3圖示出生成語音簽名的過程。
圖4圖示出認證應用如何構建具有二級認證問題和預期響應的用戶簡檔。
圖5描繪了可用于包含或實現程序指令的硬件的框圖。
具體實施方式
與本公開相關的術語包括:
在本文中,除非上下文另有明確規定,單數形式“一”、“一個”和“該”包括復數指代。術語“包括”表示“包括但不限于”。類似地,術語“包含”表示“包含但不限于”。除非另有定義,否則本文檔中使用的所有技術和科學術語具有與本領域的普通技術人員通常理解的相同的含義。
“電子設備”或“計算設備”指的是包括處理器和存儲器的設備或系統。每個設備可以具有其自己的處理器和/或存儲器,或者處理器和/或存儲器可以如在虛擬機或容器布置中與其他設備共享。存儲器將包含或接收編程指令,在該編程指令由處理器執行時,使電子設備根據編程指令執行一個或多個操作。編程指令可以是包括這些編程指令、計算機可讀數據或兩者的計算機程序的一部分。
電子設備的示例包括個人計算機、服務器、大型機、虛擬機、容器、游戲系統、電視、數字家庭助理和諸如智能電話、健身追蹤設備、可穿戴虛擬現實設備、諸如智能手表和智能眼鏡的互聯網連接的可穿戴計算機、個人數字助理、相機、平板電腦、筆記本電腦、媒體播放器等的移動電子設備。電子設備還可以包括能夠在物聯網布置中通信的電器和其他設備,諸如智能恒溫器、冰箱、連接的燈泡和其他設備。電子設備還可以包括車輛的部件,諸如儀表板娛樂和導航系統、以及車載車輛診斷和操作系統。在客戶端-服務器布置中,客戶端設備和服務器是電子設備,其中服務器包含客戶端設備經由一個或多個通信網絡中的一個或多個通信鏈路訪問的指令和/或數據。在虛擬機布置中,服務器可以是電子設備,并且每個虛擬機或容器也可以被認為是電子設備。在下面的討論中,為簡潔起見,客戶端設備、服務器設備、虛擬機或容器可被簡稱為“設備”。可以被包括在電子設備中的附加元件將在下面在圖5的上下文中討論。
術語“處理器”和“處理設備”指的是被配置為執行編程指令的電子設備的硬件部件。除非另有明確說明,否則單數的術語“處理器”和“處理設備”旨在包括單個處理設備實施例和多個處理設備一起或共同在其中執行處理的實施例兩者。
術語“存儲器”、“存儲器設備”、“數據存儲”、“數據存儲設備”、“計算機程序產品”等均指的是其上存儲計算機可讀數據、編程指令或兩者的非暫時性設備。除非另有明確說明,否則術語“存儲器”、“存儲器設備”、“數據存儲”、“數據存儲設備”、“計算機程序產品”等旨在包括單個設備實施例、多個存儲器設備一起或共同在其中存儲數據或指令集合的實施例、以及這類設備內的單獨的扇區。
圖1圖示出根據實施例的用于向多種電子設備驗證賬戶用戶的示例系統。如圖1所圖示的,諸如智能電話102、諸如所示的平板計算設備的計算設備103、諸如儀表板內的娛樂和導航系統的車載設備104、諸如智能手表105的可穿戴電子設備、以及諸如家庭語音助理106、智能燈泡107和智能恒溫器108的連接的物聯網設備的任何數量的客戶電子設備,經由通信網絡110彼此通信和/或與遠程服務器101通信。通信網絡110可以是局域網(lan)、廣域網(wan)、移動或蜂窩通信網絡、外聯網、內聯網、互聯網等。
客戶端電子設備102-108中的每一個將包括設備通過其接收來自設備用戶的音頻輸入并且特別是語音提示的麥克風。客戶端電子設備和/或服務器101中的一個或多個可以包括一個或多個數據存儲112或與一個或多個數據存儲112通信。每個數據存儲可以包括一個或多個能夠在其中存儲數據或其他信息的非暫時性計算機可讀介質扇區。
在多種實施例中,用戶能夠使用他或她的語音作為認證密鑰來訪問電子設備或電子設備執行的一個或多個應用。為了做到這一點,系統通過在單個電子設備上提示用戶響應提示集合并且還向電子設備說出密碼短語來為用戶生成語音簽名。語音簽名是包括關于用戶語音的某些特征的數據的獨特的代碼集合,但是它不包括用戶語音本身的實際記錄。在本文檔中,術語“聲紋(voiceprint)”和“語音簽名(voicesignature)”可互換使用以指代語音簽名。語音簽名和密碼短語可以被存儲在電子設備的存儲器中。或者為了避免對語音簽名和密碼短語的潛在復制和訪問,可以將語音簽名和密碼短語中的一個或兩個上傳并存儲到云服務中的遠離電子設備的數據存儲。
稍后,在用戶希望訪問應用或電子設備時,為了驗證用戶的身份,設備收聽(或應用使設備收聽)要說出的獨特的密碼短語。在檢測到密碼短語時,處理接收到的音頻信號以識別音頻信號的某些特征,并且這些特征與用戶的語音簽名交叉引用。
如果確認了認證,則電子設備可以允許用戶訪問電子設備或所請求的應用。然而,如果用戶先前未訪問過特定的應用或設備,或者在閾值時間段內用戶未訪問過特定設備,或者潛在安全威脅已與用戶的系統使用簡檔相關聯(諸如因為從用戶上次被驗證之后在用戶的賬戶上檢測到安全問題),則在準予許可之前驗證過程將執行第二驗證步驟并請求用戶說出對問題的響應。然后系統將解析用戶的口頭響應并將響應與用戶的語音簽名相比較。如果響應與用戶的語音簽名一致,則系統將向設備認證用戶。或者第二驗證步驟(或附加驗證步驟)可以是使用設備的近場通信(nfc)接收器,通過確定已知與用戶相關聯的另一設備是否可以從相關聯的設備接收信號來檢測相關聯的設備是否在nfc接收器的檢測范圍內。
圖2中示出了用于向電子設備認證用戶的示例處理流程。在多種實施例中,電子設備的處理器將執行認證應用,該認證應用是包括用于確定用戶是否被準予訪問電子設備或一個或多個在電子設備上用戶可用的應用的規則集合和/或參數的編程指令集合。該方法將包括使電子設備的麥克風接收口頭音頻輸入201。可選地,在使麥克風接收口頭音頻輸入之前,系統可輸出視覺或音頻提示以請求用戶提供口頭音頻輸入201,或者系統可以從用戶接收物理命令,諸如觸摸屏激活區域、電源按鈕和/或語音激活開關的觸摸。或者系統可以簡單地將其它的頻揚聲器保持在“始終開啟”模式使得系統連續地收聽密碼短語而不需首先提示用戶或從用戶接收物理命令。
設備可能在向設備或它的應用認證用戶之前要求用戶說出已知的密碼短語。如果是,則系統可以分析音頻輸入以檢測音頻輸入是否與已知密碼短語匹配202。系統可以通過——諸如通過使用語音到文本轉換器并將所產生的單詞或短語與先前已經用于訪問電子設備或應用的已知密碼短語的數據集合相比較——任何合適的語音識別過程來進行此操作。例如,系統的音頻輸入可以包括收集用戶的口頭語音的音頻信號的麥克風并且系統可以生成接收到的信號的聲譜圖。聲譜圖表示一段時間內口頭語音的頻率,相對幅度由陰影指示。因此,可以針對多種輔音和元音檢測并記錄說話者的語音的聲學特征。系統可以將接收到的信號的聲譜圖與已知用戶的存儲的聲譜圖數據相比較以識別其發音特征與當時正在講話的用戶的發音特征匹配的用戶。
為了向設備認證用戶,系統可以要求(在其他標準中)口頭密碼短語與已知的密碼短語中的一個匹配。已知的密碼短語可以本地存儲在設備上,或者已知的密碼短語可以遠程存儲在運行認證應用的服務器上。已知的密碼短語可以與用戶簡檔組合存儲,使得系統能夠識別候選用戶(或候選用戶集合)作為分析的第一級203。候選用戶是具有包括口頭密碼短語或與口頭密碼短語相關聯的用戶簡檔的那些用戶。
如果音頻輸入與已知的密碼短語不匹配,則設備將繼續經由麥克風監測環境直到設備檢測到已知的密碼短語204。
在系統檢測到與已知的密碼短語匹配的音頻輸入時,系統還將處理音頻輸入以生成音頻輸入的聲紋205。然后系統將確定音頻輸入的聲紋是否與存儲在用戶簡檔中的已知的語音簽名一致206。系統可以生成聲紋并確定口頭短語是否與聲紋一致。生成聲紋和確定一致性的方法是本領域技術人員已知的,諸如美國專利號9,595,260和9,398,128中公開的那些,其公開內容通過引用合并于本文檔中。本公開的實施例可以使用任何現在或以后已知的聲紋生成和匹配過程。系統最初可以將聲紋與在步驟203中被識別為候選用戶的那些用戶的語音簽名相比較。如果候選用戶集合中沒有匹配,則系統還可以將聲紋與系統針對其具有包含語音簽名的用戶簡檔的一個或多個其他用戶的語音簽名相比較。系統可以使用任何合適的標準來選擇其他用戶,諸如電子設備的已知的優先用戶。
如果系統不能識別具有與音頻輸入的音紋匹配的語音簽名的任何用戶,則系統可以拒絕220用戶對應用或設備的訪問,直到用戶向設備認證他自己或她自己,諸如通過物理地輸入或說出用戶名和密碼、或者通過向電子設備的掃描儀呈現諸如指紋或視網膜掃描的生物識別標識符、或者通過呈現物理令牌。
另一方面,如果系統確定音頻輸入與已知的語音簽名一致206,則系統可以識別其簡檔包括已知的語音簽名的用戶。系統還可以從用戶簡檔或數據存儲的另一個存儲器段中提取數據并使用該數據基于存儲在簡檔或其他存儲器段中的用戶的使用歷史來確定在閾值時間段內用戶上次是否執行了一個或多個合格的訪問事件207。合格的訪問事件可以包括使用(可選地具有相同的應用或不同的應用的)相同的電子設備、或者使用不同的已知電子設備上的相同的應用、或者一些其他動作。如果其簡檔包括已知的語音簽名的用戶在閾值時間段內執行了合格的訪問事件,則系統可以準予用戶訪問對應用或電子設備的217,并因此允許用戶訪問設備或應用。如果系統不能識別與已知用戶對應的語音簽名,或者如果存在匹配但在閾值時間段內用戶未執行合格的訪問事件,則系統可能要求用戶執行將在下面描述的二級認證過程。
可選地,系統可以實現一個或多個建立用于決定是否準予用戶訪問或要求用戶執行二級認證過程的標準的附加規則。例如,認證應用可以從用戶的系統使用簡檔中提取數據以確定系統使用簡檔是否指示潛在的安全威脅已經發布到用戶的系統使用簡檔或者在閾值時間段內發生208。能夠導致發布安全威脅的安全問題的示例包括:檢測到同時在多于閾值數量的設備上訪問應用的嘗試、檢測到同時在不同地理位置使用多個設備的嘗試或者檢測到訪問與用戶的典型使用模式不一致的應用或服務的嘗試(諸如檢測到在用戶先前未訪問的國家中的訪問嘗試)。系統使用簡檔可以是上述用戶簡檔的部件,或者它可以是存儲在單獨的存儲器段或存儲器設備中的單獨的簡檔。
如果系統確定在準予用戶訪問之前用戶應該經歷二級認證過程,則系統可以選擇音頻提示并使電子設備的揚聲器向用戶輸出音頻提示210。提示將是與預期響應相關聯的問題、陳述或短語并將被存儲在用戶的簡檔中或基于用戶簡檔中包含的數據。例如,提示可以是諸如“你最喜歡的電影是什么”或“你的第一個寵物的名字是什么”的問題,并且響應可以存儲在用戶的簡檔中。可以從候選問題集合中隨機選擇問題,或者可以使用諸如選擇在閾值時間段內的或閾值數量的最近的先前問題中先前未被問過的問題的任何合適的標準來從候選集合中選擇問題。該問題可能要求用戶執行口頭任務,諸如說出附加的密碼短語或安全碼。
系統可以經由電子設備的麥克風接收對提示的口頭響應211。然后認證應用將使用諸如前面描述的任何合適的語音識別技術處理口頭響應以確定口頭響應是否與預期響應匹配212。在一些實施例中,系統可以輸出多個提示并且用戶可能被要求選擇提示中的一個或多個或者選擇全部提示。
如果對每個被呈現的提示的口頭響應與預期響應匹配,則系統可以認證用戶并允許用戶訪問設備或應用217。如果口頭響應與預期響應不匹配,則認證應用可以拒絕220用戶訪問應用或設備直到用戶提供附加的認證憑證。或者認證應用可以選擇并輸出一個或多個不同的問題直到用戶提供正確的預期響應(在這種情況下認證應用將準予訪問)或者已經呈現閾值數量的問題并且未正確答復(在這種情況下認證應用將拒絕訪問)。
可選地,系統還可以在二級認證過程中生成用戶對每個提示的答復的聲紋并且系統可以將聲紋與包含在用戶簡檔中的語音簽名相比較213。如果發生這種情況,認證應用在它準予用戶訪問之前還可能要求響應的聲紋與語音簽名匹配214。否則,它可以拒絕220用戶訪問應用或設備直到用戶提供附加的有效認證憑證。
在實現圖2中描述的過程之前,系統可以生成并存儲語音簽名,以及提示和提示的相關的預期響應。圖3描述了系統可以遵循以做到這一點的過程。參考圖3,電子設備的處理器執行輸出請求用戶說出已知的文本段落的提示的語音簽名生成應用301。電子設備可以是如圖2的認證過程中所使用的那些設備的相同設備或不同設備。文本段落將從語音簽名生成應用可訪問的存儲器中檢索或者包含在語音簽名生成應用的規則集合中。語音簽名生成應用可以通過在電子設備的顯示屏幕上顯示文本段落、通過使電子設備的揚聲器將文本段落作為口頭的詞輸出、通過使打印機打印文本段落、通過在電子消息中將文本段落發送到用戶的消息收發系統地址或通過一些其他方式來輸出該文本段落。然后系統將接收已知的文本段落的口頭音頻實例302并使用諸如上述描述的現在或以后已知的過程處理口頭音頻實例303以生成已知的語音簽名304。然后電子設備將向遠程服務器傳送已知的語音簽名以用于存儲,使得其他電子設備能夠訪問語音簽名以用于其他電子設備認證過程305。語音簽名可以被保存為用戶的用戶簡檔的一部分或與用戶簡檔相關聯。系統將不會向遠程服務器傳送用戶說出文本段落的任何音頻記錄。在一些實施例中,在處理完成之后電子設備甚至可以刪除口頭響應,使得用戶說出的實際音頻記錄被存檔。
可選地,在分析口頭音頻輸入之前系統還可以生成或補充用戶簡檔以獲取提示和預期響應集合。這可以使用任何合適的方法來完成。例如參考圖4,認證應用可以使電子設備用戶界面401輸出列表、下拉菜單或包含候選問題的其他結構。用戶可以從候選集合中選擇問題并提供將被保存并用作預期答復的答復。系統將每個答復的文本保存到用戶的簡檔中。或者系統可以基于存儲在用戶的系統使用簡檔中的數據生成問題和預期答復,諸如“你上次使用此應用是什么時間?”或“你在此電子設備上收聽的最后一首歌是什么?”作為另一選擇,系統可以向用戶提供以自由形式的文本或口頭的詞輸入問題和答復的能力。
圖5描繪了可用于包含或實現——諸如托管服務、用于托管服務的監測服務、正訪問托管服務的電子設備或以任何這些角色服務的虛擬機或容器的那些程序指令的——程序指令的硬件的框圖。總線500用作連接硬件的其他圖示出的部件的信息高速公路。總線可以是系統或者是系統的各種元件經由其共享數據的有線或無線通信系統的元件之間的物理連接。處理器505是執行運行程序所需的計算和邏輯運算的系統的處理設備。處理器505單獨或與圖5中公開的一個或多個其他元件結合,是如在本公開內容中使用這些術語的處理設備、計算設備或處理器的示例。處理設備可以是物理處理設備、包含在另一處理設備內的虛擬設備或包括在處理設備內的容器。
存儲器設備510是其上可以存儲編程指令、數據或兩者的硬件元件或硬件元件的段。只讀存儲器(rom)和隨機存取存儲器(ram)與云存儲服務一起構成存儲器設備的示例。
可選的顯示器接口530可以允許信息以音頻、視覺、圖形或字母數字格式被顯示在顯示器535上。使用諸如通信端口或天線的各種通信設備540可以發生與諸如打印設備的外部設備的通信。通信設備540可以通信地連接到通信網絡,諸如互聯網或內聯網。
硬件還可以包括諸如鍵盤或小鍵盤550的用戶輸入、或諸如鼠標、觸摸板、觸摸屏、遙控器、定點設備或視頻輸入設備的其他輸入設備。硬件還可以包括用于接收語音和其他音頻輸入的麥克風555。還可以從諸如數碼相機或攝像機的圖像捕獲設備520接收數據。可以包括位置傳感器560和/或運動傳感器570以檢測設備的位置和移動。運動傳感器570的示例包括陀螺儀或加速計。諸如全球定位系統(gps)傳感器設備的位置傳感器560的示例從外部gps網絡接收位置數據。
根據實施例,提供了一種認證應用,該認證應用接收音頻輸入,檢測音頻輸入是否與已知的密碼短語匹配并處理音頻輸入以確定音頻輸入是否與已知的語音簽名一致。在確定音頻輸入與已知的語音簽名一致時,應用將識別與語音簽名相關聯的用戶。設備將輸出音頻提示,接收口頭答復并分析口頭答復以確定口頭答復是否對應于預期響應。可以響應于確定在閾值時間段內用戶未向設備或應用認證或者如果安全威脅被發布到用戶的簡檔而輸出提示。在系統確定口頭答復對應于預期響應時,系統將認證用戶并為用戶提供對設備或應用的訪問。
上述過程能夠幫助電子設備向賬戶認證用戶而無需用戶輸入密碼或使用物理密鑰。替換的用途可以是用于對建筑物或車輛解鎖或激活物理安保措施。上述過程還可用于在處理醫療或財務信息時通過電話驗證某人的身份。可以將多個密鑰存儲在數據存儲中,使得隨機選擇的挑戰問題可以被用戶作為二級認證而解決。只要每個用戶的聲紋由認證系統生成和存儲,語音識別的使用還能夠使多個用戶能夠向單個設備認證。
上述特征和功能以及替換方案可以組合到許多其他不同的系統或應用中。本領域技術人員可以進行各種替換、修改、變化或改進,每個替換、修改、變化或改進也旨在被所公開的實施例包含。
權利要求書(按照條約第19條的修改)
1.一種向電子設備認證用戶的方法,所述方法包括:
通過電子設備的處理器,通過以下各項執行認證應用:
使所述電子設備的麥克風接收口頭音頻輸入;
分析所述口頭音頻輸入以檢測所述口頭音頻輸入是否與已知的密碼短語匹配;
處理所述口頭音頻輸入以確定所述口頭音頻輸入是否與已知的語音簽名一致;
在確定所述口頭音頻輸入與所述已知的密碼短語匹配并且與所述已知的語音簽名一致時,識別與所述已知的語音簽名相關聯的用戶;
實現用于決定是否要求所述用戶經歷二級認證過程的一個或多個規則;以及
響應于確定所述用戶應該經歷所述二級認證過程,通過以下各項執行所述二級認證過程:
使所述電子設備輸出與預期響應相關聯的音頻提示,
使所述麥克風接收對所述音頻提示的口頭答復,以及
分析所述口頭答復以確定所述口頭答復是否對應于所述預期響應,以及
在確定所述口頭答復對應于所述預期響應之后,認證所述用戶并向所述用戶提供對所述電子設備或所述認證應用的訪問。
2.根據權利要求1所述的方法,其中:
實現用于決定是否要求所述用戶經歷所述二級認證過程的規則包括:確定在閾值時間段內所述用戶先前是否已經向所述電子設備或所述電子設備的所選擇的應用認證;以及
確定所述用戶應該經歷所述二級認證過程包括:確定在所述閾值時間段內所述用戶先前未向所述電子設備或所選擇的應用認證。
3.根據權利要求1所述的方法,其中:
實現用于決定是否要求所述用戶執行二級認證過程的規則包括:訪問所述用戶的系統使用簡檔以確定所述系統使用簡檔是否包括安全威脅的指示;以及
其中,使所述電子設備輸出所述音頻提示是響應于確定所述系統使用簡檔包括安全威脅的指示而執行的。
4.根據權利要求3所述的方法,其中,訪問所述用戶的所述系統使用簡檔以確定所述系統使用簡檔是否包括安全威脅的指示包括確定所述系統使用簡檔是否包括以下中的一個或多個:
同時在多于閾值數量的設備上同時訪問應用的嘗試;
同時在不同地理位置同時使用多個設備的嘗試;或
訪問與所述用戶的典型使用模式不一致的應用或服務的嘗試。
5.根據權利要求1所述的方法,進一步包括,在向所述用戶提供所述訪問之前:
響應于檢測到所述口頭答復對應于所述預期響應,處理所述口頭答復以確定所述口頭答復是否與所述已知的語音簽名一致;以及
僅如果所述口頭答復與所述已知的語音簽名一致,向所述用戶提供所述訪問。
6.根據權利要求1所述的方法,其中,處理所述口頭音頻輸入以確定所述口頭音頻輸入是否與所述已知的語音簽名一致包括:
識別包括所述已知的密碼短語的一個或多個用戶簡檔;
選擇與所識別的一個或多個用戶簡檔中的一個用戶簡檔相關聯的每個用戶作為候選用戶;以及
將所述口頭音頻輸入與所述候選用戶中的每一個候選用戶的語音簽名相比較以識別與所述口頭音頻輸入一致的候選用戶語音簽名。
7.根據權利要求1所述的方法,進一步包括,在處理所述口頭音頻輸入以確定所述口頭音頻輸入是否與所述已知的語音簽名一致之前,通過以下各項生成所述已知的語音簽名:
通過電子設備的處理器,執行語音簽名生成應用,所述語音簽名生成應用:
請求所述用戶說出已知的文本段落,
接收所述已知的文本段落的口頭音頻實例,
處理所述口頭音頻實例以生成所述已知的語音簽名,
向遠程服務器傳送所述已知的語音簽名以用于存儲,以及
刪除或不保存所述口頭音頻實例的任何音頻記錄。
8.根據權利要求1所述的方法,進一步包括,在處理所述口頭音頻輸入以確定所述口頭音頻輸入是否與所述已知的語音簽名一致之前,通過以下各項生成所述已知的語音簽名:
通過電子設備的處理器,執行語音簽名生成應用,所述語音簽名生成應用:
輸出查詢,
接收對所述查詢的口頭響應,
處理所述口頭響應以產生所述已知的語音簽名,
向遠程服務器傳送所述已知的語音簽名以用于存儲,以及
刪除或不保存所述口頭響應的任何音頻記錄,使得所述口頭音頻實例不保存在所述電子設備上。
9.根據權利要求7所述的方法,其中,執行所述認證應用的所述電子設備和執行所述語音簽名生成應用的所述電子設備是單獨的物理設備。
10.根據權利要求1所述的方法,進一步包括:
在分析所述口頭答復以確定所述口頭答復是否對應于所述預期響應之前,通過以下各項為所述用戶生成簡檔:
由電子設備的處理器:
輸出多個查詢,
接收對所述查詢的多個回復,
處理所述回復以識別所述回復中的每一個回復中包含的文本,以及
將包括與所述回復的對應的查詢相關聯的每個回復的所識別的文本的簡檔保存到遠程服務器;以及
在使所述電子設備輸出所述音頻提示時,從所述簡檔中隨機選擇所述查詢中的一個查詢;以及
在分析所述口頭答復以確定所述口頭答復是否對應于所述預期響應時,確定所述口頭答復是否對應于與所選擇的查詢對應的所述答復的所識別的文本。
11.一種電子設備用戶認證系統,包括:
一種電子設備,所述電子設備包括麥克風、揚聲器和包含認證應用的存儲器,所述認證應用在被一個或多個處理器運行時,被配置為:
使所述麥克風接收音頻輸入;
使所述一個或多個處理器分析所述音頻輸入以檢測所述音頻輸入是否與已知的密碼短語匹配;
使所述一個或多個處理器處理所述音頻輸入以確定所述音頻輸入是否與已知的語音簽名一致;
在確定所述音頻輸入與所述已知的密碼短語匹配并且與所述已知的語音簽名一致時,使所述一個或多個處理器識別與所述已知的語音簽名相關聯的用戶;
實現用于決定是否要求所述用戶經歷二級認證過程的一個或多個規則;
響應于確定所述用戶應該經歷所述二級認證過程,通過以下各項執行所述二級認證過程:
使所述電子設備的所述揚聲器輸出與預期響應相關聯的音頻提示,以及
在所述麥克風接收到響應于所述音頻提示的口頭答復之后,使所述一個或多個處理器分析所述口頭答復以確定所述口頭答復是否對應于所述預期響應;以及
在確定所述口頭答復對應于所述預期響應之后,使所述一個或多個處理器認證所述用戶,使得所述用戶能夠訪問所述電子設備的一個或多個功能。
12.根據權利要求11所述的電子設備用戶認證系統,其中:
用于決定是否要求所述用戶經歷所述二級認證過程的所述一個或多個規則包括:用于訪問所述用戶的簡檔以確定所述簡檔是否包括在閾值時間段內所述用戶先前未向所述電子設備或者所述電子設備的所選擇的應用認證的指示的規則;以及
確定所述用戶應該經歷所述二級認證過程包括:確定所述簡檔包括在所述閾值時間段內所述用戶先前未被認證的指示。
13.根據權利要求11所述的電子設備用戶認證系統,其中:
用于決定是否要求所述用戶經歷所述二級認證過程的所述一個或多個規則包括:使所述一個或多個處理器訪問所述用戶的簡檔以確定所述簡檔是否包括安全威脅的指示的規則;以及
確定所述用戶應該經歷所述二級認證過程包括:確定所述簡檔包括安全威脅的指示。
14.根據權利要求11所述的電子設備用戶認證系統,其中:
處理所述音頻輸入以確定所述音頻輸入是否與已知的語音簽名一致的所述一個或多個處理器是遠離所述電子設備并且與所述電子設備通信的服務器的一個或多個部件;以及
所述已知的語音簽名未存儲在所述電子設備上。
15.根據權利要求11所述的電子設備用戶認證系統,進一步包括附加指令,所述附加指令被配置為使所述一個或多個處理器在向所述用戶提供所述訪問之前:
響應于檢測到所述口頭答復對應于所述預期響應,處理所述音頻輸入以確定所述口頭答復是否與所述已知的語音簽名一致;以及
僅如果所述口頭答復與所述已知的語音簽名一致,向所述用戶提供所述訪問。
16.根據權利要求11所述的電子設備用戶認證系統,其中,用于處理所述音頻輸入以確定所述音頻輸入是否與所述已知的語音簽名一致的所述指令包括用于以下的指令:
識別包括所述音頻輸入的一個或多個用戶簡檔;
選擇與所識別的一個或多個用戶簡檔中的一個用戶簡檔相關聯的每個用戶作為候選用戶;以及
將所述口頭密碼短語與所述候選用戶中的每一個候選用戶的語音簽名相比較以識別與所述音頻輸入一致的候選用戶語音簽名。
17.根據權利要求11所述的電子設備用戶認證系統,進一步包括語音簽名生成應用,所述語音簽名生成應用被配置為使所述電子設備:
使所述電子設備的所述揚聲器輸出所述用戶說出已知的文本段落的查詢或請求;
經由所述麥克風接收口頭響應;
處理所述口頭響應以生成所述已知的語音簽名;
向遠程服務器傳送所述已知的語音簽名以用于存儲,以及
刪除或不保存口頭音頻實例的任何音頻記錄,使得所述口頭音頻實例不保存在所述電子設備上。
18.一種向電子設備認證用戶的方法,所述方法包括:
由處理器:
確定電子設備的麥克風已經接收到口頭音頻輸入;
使用所述口頭音頻輸入來識別用戶;
實現用于決定是否要求所述用戶經歷二級認證過程的一個或多個規則;
響應于確定所述用戶應該經歷所述二級認證過程,通過以下各項執行所述二級認證過程:
使所述電子設備輸出與預期響應相關聯的音頻提示,
確定所述麥克風已接收到對所述音頻提示的口頭答復,以及
分析所述口頭答復以確定所述口頭答復是否對應于所述預期響應;以及
在確定所述口頭答復對應于所述預期響應之后,認證所述用戶并且向所述用戶提供對所述電子設備或所述電子設備的應用的訪問。
19.根據權利要求18所述的方法,其中:
實現用于決定是否要求所述用戶經歷所述二級認證過程的所述一個或多個規則包括:確定在閾值時間段內所述用戶先前未向所述電子設備或所述應用認證。
20.根據權利要求18所述的方法,其中,使用所述口頭音頻輸入來識別用戶包括:
分析所述口頭音頻輸入以檢測所述口頭音頻輸入是否與已知的密碼短語匹配,并且識別與所述已知的密碼短語相關聯的用戶;或者
處理所述口頭音頻輸入以確定所述口頭音頻輸入是否與已知的語音簽名一致,并且識別與所述已知的語音簽名相關聯的用戶。
21.根據權利要求18所述的方法,其中,實現用于決定是否要求所述用戶經歷所述二級認證過程的所述一個或多個規則包括:
訪問所述用戶的系統使用簡檔以確定所述系統使用簡檔是否包括安全威脅的指示;以及
確定所述系統使用簡檔包括安全威脅的指示。
22.根據權利要求21所述的方法,其中,訪問所述用戶的所述系統使用簡檔以確定所述系統使用簡檔是否包括安全威脅的指示包括確定所述系統使用簡檔是否包括以下中的一個或多個:
同時在多于閾值數量的設備上同時訪問應用的嘗試;
同時在不同地理位置同時使用多個設備的嘗試;或
訪問與所述用戶的典型使用模式不一致的應用或服務的嘗試。
23.根據權利要求18所述的方法,進一步包括,在向所述用戶提供所述訪問之前:
響應于檢測到所述口頭答復對應于所述預期響應,處理所述口頭答復以確定所述口頭答復是否與已知的語音簽名一致;以及
僅如果所述口頭答復與所述已知的語音簽名一致,向所述用戶提供所述訪問。
24.一種包括指令的非暫時性計算機可讀介質,所述指令在被一個或多個處理器執行時執行權利要求1至10和18至23中的一個所述的方法。
25.一種包括指令的計算機程序,所述指令在被一個或多個處理器執行時執行權利要求1至10和18至23中的一個所述的方法。