專利名稱:通過將說話者驗證和反向調(diào)整測試相結(jié)合的用戶認(rèn)證的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及用于用戶認(rèn)證的系統(tǒng)和方法,尤其涉及用于認(rèn)證人類用戶的基于機器的系統(tǒng)。
背景技術(shù):
隨著高技術(shù)通信系統(tǒng)的普及,服務(wù)供應(yīng)商開始為客戶機訪問提供自動化的程序。例如,客戶機可從諸如電話系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)等各種通信系統(tǒng)訪問銀行賬戶,以執(zhí)行各種任務(wù)。例如,因特網(wǎng)可以通過蜂窩電話、個人數(shù)字助理(PDA)、臺式機和信息站訪問。這類任務(wù)包括轉(zhuǎn)賬、存款、取款和訪問賬戶余額。這些服務(wù)供應(yīng)商可潛在地暴露關(guān)于客戶機的有價值的信息,這些信息對黑客(非法地獲取對受保護(hù)信息的訪問權(quán)限的人)而言是有吸引力的。
黑客的攻擊包括使用試圖惡意利用被設(shè)計成容納人類用戶的自動化服務(wù)程序的計算機程序。在許多情況下,自動化服務(wù)程序不被配置成在人類訪問和機器訪問之間進(jìn)行一致的區(qū)分。當(dāng)前,許多服務(wù)供應(yīng)商依賴于客戶對于某些秘密的知識。例如,這類秘密可包括PIN(個人識別號)、口令、社會保障號以及公眾不容易知道的信息,諸如用戶母親的娘家姓。然而,不僅這些秘密會被客戶容易地忘記,而且對這些秘密的過度使用會導(dǎo)致容易的發(fā)現(xiàn)。
為加強安全性,諸如指紋和聲波紋技術(shù)等基于生物測定的方法正變得普及。例如,當(dāng)用戶通過電話訪問自動化服務(wù)程序時,要求用戶向語音驗證系統(tǒng)提供話音樣本,以驗證該話音樣本與他們所聲稱的用戶的聲波紋相匹配。然而,基于生物測定的安全樣本可以被復(fù)制或記錄以供黑客稍后使用。記錄話音樣本并通過電話重放該錄音是相對簡單的。語音驗證系統(tǒng)不總是被配置成在實況話音和錄音之間進(jìn)行區(qū)分。
反向調(diào)整測試(RTT)用于確定是人類還是機器在請求訪問自動化服務(wù)程序。這類測試基于某些模式識別任務(wù)對于機器執(zhí)行要比人類執(zhí)行困難得多的假設(shè)。例如,對于人類而言識別失真的語音或失真的圖像中的模式要比機器更容易。在一種情況下,電話應(yīng)用程序可播放要求用戶拼寫單詞并復(fù)述數(shù)字序列的含噪聲的提示。在另一種情況下,web應(yīng)用程序可要求其用戶鍵入嵌入在失真圖像中的字母數(shù)字串。這類解決方案的問題包括由以下事實引起的問題類似發(fā)聲的單詞可具有不同的拼寫,許多人的拼寫較差,并且這可能是向存儲器提交數(shù)字序列的一個難題。同樣,隨著時間的推移,機器可能開發(fā)出開辟這類簡單認(rèn)證測試的能力。
除保護(hù)客戶機免遭對自動化服務(wù)的非授權(quán)訪問之外,需要強調(diào)管轄與個人計算設(shè)備和移動設(shè)備的交互的安全性。也需要在發(fā)送電子郵件時增強與數(shù)字簽名使用相關(guān)聯(lián)的安全性。當(dāng)前,這些技術(shù)通常進(jìn)要求口令或PIN輸入來訪問信息。如上所述,口令和PIN會被用戶容易地忘記,并且會被黑客容易地發(fā)現(xiàn)。此處所列出的僅是可從增強安全性中獲益的許多特定應(yīng)用程序中的幾種。
發(fā)明內(nèi)容
本發(fā)明的實施例涉及一種用于認(rèn)證用戶的方法。該方法包括訪問涉及用戶的個人信息的集合。該方法還包括執(zhí)行一認(rèn)證操作,該認(rèn)證操作基于該個人信息集合,并結(jié)合了至少一個動態(tài)組件。該認(rèn)證操作被配置成提示用戶給出可聽見的話語。將該可聽見的話語與存儲的聲波紋進(jìn)行比較。
本發(fā)明的實施例還涉及一種包括被配置成訪問涉及用戶的個人信息集合的信息檢索器的系統(tǒng)。該系統(tǒng)還包括被配置成基于該個人信息集合執(zhí)行認(rèn)證操作的認(rèn)證模塊。該認(rèn)證操作被配置成結(jié)合至少一個動態(tài)組件,并被配置成提示用戶給出可聽見的話語。話音認(rèn)證模塊處理該可聽見的話語以確定她是否至少基本上對應(yīng)于用戶的聲波紋。
圖1示出了其中可實現(xiàn)本發(fā)明的通用計算環(huán)境的框圖。
圖2示出了其中可實現(xiàn)本發(fā)明的移動設(shè)備的框圖。
圖3是示出用于認(rèn)證用戶的方法的流程圖。
圖4示出了用于認(rèn)證用戶的基于機器的系統(tǒng)。
圖5示出了用于認(rèn)證用戶的基于機器的系統(tǒng)。
圖6示出了用于認(rèn)證用戶的基于機器的系統(tǒng)。
具體實施例方式
本發(fā)明是在被配置成與人類通信的基于機器的系統(tǒng)的環(huán)境中描述的。諸如實現(xiàn)服務(wù)程序的系統(tǒng)等某些基于機器的系統(tǒng)可通過諸如因特網(wǎng)、蜂窩電話網(wǎng)絡(luò)或電話網(wǎng)絡(luò)等通信系統(tǒng)或網(wǎng)絡(luò)來訪問。例如,諸如自動化顧客服務(wù)呼叫中心等自動化服務(wù)程序可由客戶機或顧客通過通信系統(tǒng)來訪問。然而,應(yīng)當(dāng)注意,基于機器的系統(tǒng)也可或替換地包括諸如個人計算機(PC)等個人計算設(shè)備,或諸如個人數(shù)據(jù)助理(PDA)和蜂窩電話等移動計算設(shè)備,用戶使用這些設(shè)備進(jìn)行交互以訪問或發(fā)送安全信息。不論基于機器的系統(tǒng)的類型如何,本發(fā)明針對使用這樣的系統(tǒng)來認(rèn)證用戶的身份。在詳細(xì)描述本發(fā)明之前,將描述其中可應(yīng)用本發(fā)明的說明性計算環(huán)境的實施例。
圖1示出了適合在其中實現(xiàn)本發(fā)明的計算系統(tǒng)環(huán)境100的一個示例。計算系統(tǒng)環(huán)境100僅為合適的計算環(huán)境的一個示例,并非對本發(fā)明的使用范圍或功能提出任何局限。也不應(yīng)將計算環(huán)境100解釋為對示例性操作環(huán)境100中示出的任一組件或其組合具有任何依賴或需求。
本發(fā)明可以使用眾多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置來操作。適合使用本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置包括但不限于個人計算機、服務(wù)器計算機、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型機、大型機、包括任一上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
本發(fā)明可以在諸如由計算機執(zhí)行的程序模塊等計算機可執(zhí)行指令的一般上下文環(huán)境中描述。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于包括存儲器存儲設(shè)備的本地和遠(yuǎn)程計算機存儲介質(zhì)中。
參考圖1,用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括計算機110形式的通用計算設(shè)備。計算機110的組件可包括但不限于,處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各類總線體系結(jié)構(gòu)的局部總線。作為示例而非局限,這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。
計算機110通常包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是可由計算機110訪問的任一可用介質(zhì),包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。作為示例而非局限,計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于儲存諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實現(xiàn)的易失性和非易失性,可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可由計算機110訪問的任一其它介質(zhì)。通信介質(zhì)通常在諸如載波或其它傳輸機制的已調(diào)制數(shù)據(jù)信號中包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計算機可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲器130包括以易失性和/或非易失性存儲器形式的計算機存儲介質(zhì),如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS)包括如在啟動時幫助在計算機110內(nèi)的元件之間傳輸信息的基本例程,通常儲存在ROM 131中。RAM 132通常包含處理單元120立即可訪問或者當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機110也可包括其它可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。僅作示例,圖1示出了對不可移動、非易失性磁介質(zhì)進(jìn)行讀寫的硬盤驅(qū)動器141、對可移動、非易失性磁盤152進(jìn)行讀寫的磁盤驅(qū)動器151以及對可移動、非易失性光盤156,如CD ROM或其它光介質(zhì)進(jìn)行讀寫的光盤驅(qū)動器155。可以在示例性操作環(huán)境中使用的其它可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過不可移動存儲器接口,如接口140連接到系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過可移動存儲器接口,如接口150連接到系統(tǒng)總線121。
上文討論并在圖1示出的驅(qū)動器及其關(guān)聯(lián)的計算機存儲介質(zhì)為計算機110提供了計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1中,示出硬盤驅(qū)動器141儲存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號來說明至少它們是不同的副本。
用戶可以通過輸入設(shè)備,如鍵盤162、麥克風(fēng)163和定點設(shè)備161(諸如鼠標(biāo)、跟蹤球或觸摸板)向計算機110輸入命令和信息。其它輸入設(shè)備(未示出)可包括操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。除監(jiān)視器之外,計算機也可包括其它外圍輸出設(shè)備,如揚聲器197和打印機196,它們通過輸出外圍接口195連接。
計算機110可以使用到一個或多個遠(yuǎn)程計算機,如遠(yuǎn)程計算機180的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計算機180可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點,并通常包括許多或所有上文相對于計算機110所描述的元件。圖1描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計算機110通過網(wǎng)絡(luò)接口或適配器170連接至LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機110通常包括調(diào)制解調(diào)器172或用于通過WAN 173,如因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,通過用戶輸入接口160或其它適當(dāng)?shù)臋C制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對于計算機110所描述的程序模塊或其部分可儲存在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例,而非局限,圖1示出遠(yuǎn)程應(yīng)用程序185駐留在遠(yuǎn)程計算機180上??梢岳斫?,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計算機之間建立通信鏈路的其它手段。
圖2是移動設(shè)備200的框圖,它是一個適用的計算環(huán)境。移動設(shè)備200包括微處理器202、存儲器204、輸入/輸出(I/O)組件206和用于與遠(yuǎn)程計算機或其它移動設(shè)備通信的通信接口208。在一個實施例中,上述組件被耦合在一起用于通過合適的總線210彼此通信。
存儲器204被實現(xiàn)為非易失性性電子存儲器,如具有電池備份模塊(未示出)的隨機存取存儲器(RAM),使得當(dāng)關(guān)閉移動設(shè)備200的總電源時,儲存在存儲器204中的信息也不會丟失。存儲器204的一部分較佳地被分配為用于程序執(zhí)行的可尋址存儲器,而存儲器204的另一部分較佳地用于存儲,如模擬盤驅(qū)動器上的存儲。
存儲器204包括操作系統(tǒng)212、應(yīng)用程序214以及對象存儲216。在操作期間,操作系統(tǒng)212較佳地由處理器202從存儲器204執(zhí)行。在一個較佳實施例中,操作系統(tǒng)212是可從微軟公司購買的WINDOWSCE操作系統(tǒng)。操作系統(tǒng)212較佳地被設(shè)計成用于移動設(shè)備,并實現(xiàn)可由應(yīng)用程序214通過一組展現(xiàn)的應(yīng)用程序編程接口和方法來使用的數(shù)據(jù)庫特征。對象存儲216中的對象由應(yīng)用程序214和操作系統(tǒng)212至少部分地響應(yīng)于對所展現(xiàn)的應(yīng)用程序編程接口和方法的調(diào)用來維護(hù)。
通信接口208表示允許移動設(shè)備200發(fā)送和接收信息的眾多設(shè)備和技術(shù)。僅舉幾個例子,設(shè)備包括有線和無線調(diào)制解調(diào)器、衛(wèi)星接收器和廣播調(diào)諧器。移動設(shè)備200也可直接耦合到計算機以與其交換數(shù)據(jù)。在這些情況下,通信接口208可以是紅外收發(fā)器或串行或并行通信連接,它們所有都能夠發(fā)送流信息。
輸入/輸出組件206包括各種輸入設(shè)備,如觸敏屏幕、按鈕、滾軸和麥克風(fēng),以及各種輸出設(shè)備,包括音頻發(fā)生器、振動裝置和顯示屏。以上列出的設(shè)備作為示例,并不需要都在移動設(shè)備200上存在。另外,在本發(fā)明的范圍內(nèi),其它輸入/輸出設(shè)備可被附加到移動設(shè)備200,或與移動設(shè)備200一起建造。
圖3是依照在圖4-6中示意性地示出的系統(tǒng)實施例示出用于認(rèn)證用戶的方法的流程圖300。圖4示出了依照本發(fā)明的一個實施例用于認(rèn)證用戶404的基于機器的系統(tǒng)400。系統(tǒng)400包括可由用戶404通過通信系統(tǒng)406訪問的服務(wù)程序402。通信系統(tǒng)406可以是,但不限于,電話網(wǎng)絡(luò)。圖5依照本發(fā)明的一個實施例示出了用于認(rèn)證用戶504的基于機器的系統(tǒng)500。系統(tǒng)500包括可由用戶504經(jīng)由用戶設(shè)備505通過通信系統(tǒng)506來訪問的服務(wù)程序502。通信系統(tǒng)506可以是,但不限于,諸如因特網(wǎng)等計算機網(wǎng)絡(luò)。用戶設(shè)備505可以是任何類型的計算設(shè)備,諸如個人計算設(shè)備、移動設(shè)備(如圖2所示)或公共地定位的顧客信息站。圖6依照本發(fā)明的一個實施例示出了用于認(rèn)證用戶604的基于機器的系統(tǒng)600。系統(tǒng)600包括用戶設(shè)備605,用戶604可與其交互以訪問或發(fā)送受保護(hù)的數(shù)據(jù)。用戶設(shè)備505可以是任何類型的計算設(shè)備,諸如個人計算設(shè)備、移動計算設(shè)備或公共定位的顧客信息站。
在圖4中,服務(wù)程序402可以是可通過要求用戶404的認(rèn)證的通信系統(tǒng)來訪問的任何類型的服務(wù)應(yīng)用程序。作為示例,而非局限,服務(wù)程序402可以是自動化銀行呼叫中心,其中用戶或顧客404可訪問賬戶信息并執(zhí)行財務(wù)交易。在本示例中,服務(wù)程序402被配置成認(rèn)證呼叫者,使得個人賬戶信息僅與對這類訪問有資格的認(rèn)證用戶共享。其它示例服務(wù)程序包括自動化信用卡服務(wù)、自動化蜂窩電話服務(wù)和自動化航空公司服務(wù)。
在圖5中,服務(wù)程序502可以是可通過通信系統(tǒng)訪問的任何類型的服務(wù)應(yīng)用程序。在本示例中,用戶504通過用戶設(shè)備505與服務(wù)程序502交互,其中該交互包括將對程序502的訪問限于授權(quán)用戶的認(rèn)證過程。作為示例,而非局限,服務(wù)程序502可以是互聯(lián)網(wǎng)銀行服務(wù),其中顧客或用戶可訪問賬戶信息并進(jìn)行商務(wù)交易。在本示例中,服務(wù)程序502認(rèn)證或登錄用戶504,使得個人賬戶信息僅與對這類訪問有資格的認(rèn)證用戶共享?;诰W(wǎng)絡(luò)的服務(wù)程序的其它示例包括自動化信用卡服務(wù)、自動化蜂窩電話服務(wù)和自動化航空公司服務(wù)。
在圖6中,用戶設(shè)備605可以是用戶可與其交互的任何類型的計算設(shè)備。例如,用戶設(shè)備605可以是個人計算設(shè)備或移動設(shè)備(諸如圖2所示的)。在本實施例中,用戶設(shè)備605認(rèn)證并驗證用戶604是他們所聲稱的。認(rèn)證可用于各種操作。例如,用戶設(shè)備605可在登錄時認(rèn)證用戶604。在另一示例中,用戶設(shè)備605可認(rèn)證用戶604以在通過網(wǎng)絡(luò)發(fā)送電子郵件或發(fā)送數(shù)據(jù)時訪問數(shù)字簽名。這些僅是落入本發(fā)明的范圍內(nèi)的幾個示例。
依照本發(fā)明的一方面,以下是對流程圖300(圖3)中所示并在圖4-6所示的各種系統(tǒng)實施例中實現(xiàn)的認(rèn)證過程的描述。在框302,訪問個人信息集合。
參考圖4的實施例,個人信息集合408被儲存在服務(wù)程序402中,并可由信息檢索器410訪問。在一個實施例中,個人信息408包括涉及用戶404的信息,該新信息在用戶登記由程序402提供的服務(wù)時獲取。例如,個人信息408可包括社會保障號、生日或由用戶404提供的任何其它類型的信息。在另一方面,個人信息408包括在與程序402的面向服務(wù)的用戶交互過程中獲取的信息。例如,個人信息408可包括用戶先前的交易細(xì)節(jié)、先前的旅游細(xì)節(jié)(在航空公司服務(wù)程序的情況下)、或可能隨時間的推移而改變的其它類型的交易信息。與諸如社會保障號或生日等靜態(tài)信息相反,時變數(shù)據(jù)將其自身表現(xiàn)為對于本發(fā)明中所解決的認(rèn)證目的的較佳選擇。然而,本發(fā)明可應(yīng)用于靜態(tài)或動態(tài)個人信息。
參考圖5的實施例,個人信息集合508被儲存在用戶設(shè)備505中,并且由信息檢索器510通過通信系統(tǒng)506來訪問。盡管圖5示出了個人信息508儲存在用戶設(shè)備505中,然而本發(fā)明不限于這一配置。個人信息508可以儲存在如圖4所示的配置的服務(wù)程序502中,或者個人信息508可同時儲存在用戶設(shè)備505和服務(wù)程序502中。
信息檢索器510被配置成檢索儲存在用戶設(shè)備505和/或服務(wù)程序502中的個人信息。當(dāng)個人信息508被儲存在服務(wù)程序502中時,則個人信息508可包括涉及用戶504的信息,該信息是如參考圖4所討論的在用戶登記由程序502提供的服務(wù)時獲取的。當(dāng)個人信息儲存在服務(wù)程序502中時,則個人信息508可包括或者替換地包括在如參考圖4所討論的與服務(wù)程序502的交互期間獲得的信息。
當(dāng)個人信息508儲存在用戶設(shè)備505中時,則個人信息可包括涉及與用戶設(shè)備505的交互的信息。例如,個人信息508可包括從儲存在個人聯(lián)系人應(yīng)用程序中的用戶聯(lián)系人中提取的信息。在另一示例中,信息可從用戶創(chuàng)建、發(fā)送或接收的文檔中提取。還有其它示例包括由用戶在用戶設(shè)備505上完成的特定操作或任務(wù)。這一類型的信息可包括用戶最后一次從其接收電子郵件或向其發(fā)送電子郵件的人的身份,或者用戶最后一次從其接收即時消息或向其發(fā)送即時消息的人的身份。另外,這一類型的信息可包括下載的最后一個MP3文件或燒錄到盤上的最后一個MP3文件。個人信息的這些示例可由操作系統(tǒng)容易地提取,并可供信息檢索器使用。
在一個實施例中,涉及與用戶設(shè)備505的交互的數(shù)據(jù)通過用語義類型注釋這類數(shù)據(jù)來采集或挖掘。例如,某些數(shù)據(jù)被標(biāo)記為“數(shù)字”類型數(shù)據(jù),其它數(shù)據(jù)被標(biāo)記為“日期”類型數(shù)據(jù),諸如聯(lián)系人名字等還有其它數(shù)據(jù)被標(biāo)記為“串”類型數(shù)據(jù)。信息檢索器510說明性地基于這些語義類型來檢索數(shù)據(jù)。
參考圖6的實施例,個人信息集合608被儲存在用戶設(shè)備605中,并可由信息檢索器610訪問。在一個實施例中,個人信息608包括涉及用戶604的信息,該信息是在用戶啟動用戶設(shè)備605期間獲得的。例如,個人信息608可包括由用戶604提供的社會保障號、生日或其它類型的信息。在另一實施例中,個人信息608還包括基于與用戶設(shè)備605的交互而獲得的信息。例如,個人信息608可包括從用戶創(chuàng)建、發(fā)送或接收的文檔中提取的信息。個人信息608可包括從儲存在個人聯(lián)系人應(yīng)用程序中的用戶聯(lián)系人中提取的信息。這類信息可包括用戶最后一次從其接收電子郵件或向其發(fā)送電子郵件的人的身份,或用戶最后一次從其接收即時消息或向其發(fā)送即時消息的人的身份。這類信息還可包括用戶在用戶設(shè)備605上完成的特定操作或任務(wù),諸如下載的最后一個MP3文件或燒錄到存儲盤上的最后一個MP3文件。這一類型的個人信息可以由操作系統(tǒng)容易地提取,并可供信息檢索器使用。
在一個實施例中,操作系統(tǒng)通過用語義類型注釋已儲存在用戶設(shè)備605上的數(shù)據(jù)來來采集或挖掘這類數(shù)據(jù)。例如,某些數(shù)據(jù)被標(biāo)記為“數(shù)字”類型數(shù)據(jù),其它數(shù)據(jù)被標(biāo)記為“數(shù)據(jù)類型”數(shù)據(jù),諸如聯(lián)系人名字等還有其它數(shù)據(jù)被標(biāo)記為“串”數(shù)據(jù)。信息然后基于注釋來說明性地檢索。
在圖3中,框304和306針對執(zhí)行一認(rèn)證操作以結(jié)合反向調(diào)整測試(RTT)(即,合成質(zhì)詢)的各方面,在框304和306執(zhí)行的該認(rèn)證操作結(jié)合了至少一個動態(tài)組件。在一個實施例中,該認(rèn)證操作結(jié)合了動態(tài)問題形式的動態(tài)組件,它要求來自個人信息集合的靜態(tài)信息。該問題的動態(tài)的是因為它要求對靜態(tài)信息的操縱。例如,“你的社會保障號的最后三位數(shù)字的總和是什么?”該問題不需要在一個認(rèn)證嘗試和下一個認(rèn)證嘗試之間是相同的。例如,“你的社會保障號的前三位數(shù)字的總和是什么?”在另一實施例中,該認(rèn)證操作結(jié)合了靜態(tài)問題形式的動態(tài)組件,該問題要求來自個人信息集合的連續(xù)改變或動態(tài)信息。該問題的靜態(tài)的是因為它不要求對信息的操縱,然而,該問題不需要在一個認(rèn)證嘗試和下一個認(rèn)證嘗試之間是相同的。例如,“誰是你最后一個發(fā)電子郵件的人?”或者“你的支票賬號的大致余額是多少?”在框304,基于個人信息集合生成問題或認(rèn)證信息。如上所述,在一個實施例中,該問題結(jié)合了動態(tài)組件。盡管未在圖3中具體示出,然而該問題或認(rèn)證信息被發(fā)送到用戶。
在圖4所示的系統(tǒng)實施例中,認(rèn)證模塊411包括問題生成器412。在一個實施例中,問題生成器412被配置成基于儲存在個人信息408中并由信息檢索器410檢索的靜態(tài)信息生成動態(tài)問題。在一個實施例中,問題生成器412也或者替換地被配置成生成要求來自個人信息集合408的連續(xù)改變或動態(tài)信息的靜態(tài)問題。問題通過通信系統(tǒng)406被呈現(xiàn)給用戶404。
在一個實施例中,問題生成器412生成提示要在靜態(tài)信息上執(zhí)行或操縱的操作或功能的動態(tài)問題。該操作可以是涉及諸如在登記期間由用戶提供的諸如數(shù)字?jǐn)?shù)據(jù)等數(shù)字信息的算術(shù)運算,或涉及字母信息的操作。示例問題包括“你的社會保障號的最后兩位數(shù)字的總和是什么?”“你生日前一周的年月日格式的確切日期是什么?”或“你母親的婚前姓的最后三個字母的倒序是什么?”問題生成器412不可預(yù)測地或隨機地在一個認(rèn)證試圖和下一個認(rèn)證試圖之間改變問題的特性。例如,問題生成器412可在一個認(rèn)證試圖和下一個認(rèn)證試圖之間隨機地選擇對不同類型的數(shù)字求和、求差或求積。
如所討論的,個人信息408也可包括涉及與服務(wù)程序402的特定交互的信息。因此,在一個實施例中,靜態(tài)問題要求動態(tài)信息。示例包括“你有多少個支票賬戶?”“你最后一次交易的日期是什么?”或“你上次何時與我們旅游過?”在圖5所示的實施例中,服務(wù)程序502包括認(rèn)證模塊511。認(rèn)證模塊511包括問題生成器512。在一個實施例中,問題生成器512被配置成基于儲存在個人信息508中并由信息檢索器510檢索的靜態(tài)信息來生成動態(tài)問題。在另一實施例中,問題生成器512被配置成還或者替換地基于儲存在個人信息508中的動態(tài)信息生成靜態(tài)問題。該問題通過通信系統(tǒng)506被呈現(xiàn)給用戶設(shè)備505。
依照另一實施例,問題生成器512被配置成基于從用戶設(shè)備505或服務(wù)程序502檢索的動態(tài)或靜態(tài)信息生成問題。所生成的問題的特性可類似于在圖4的實施例的環(huán)境中所討論的那些問題的任一個。然而,可用問題的范圍更寬,因為它可包括涉及與用戶設(shè)備的交互的問題。例如,問題可涉及對用戶設(shè)備505本機的動態(tài)操作或信息。示例問題包括“你何時最后一次聯(lián)系John Doe?”“你昨天晚上對StevieWonder MP3文件做了什么?”或“你今天與誰進(jìn)行了即時消息通信?”在圖6所示的實施例中,用戶設(shè)備605包括認(rèn)證模塊611。認(rèn)證模塊611包括問題生成器612。在一個實施例中,問題生成器612被配置成基于儲存在個人信息608中并由信息檢索器610檢索的靜態(tài)信息生成動態(tài)問題。在另一實施例中,問題生成器612還或者替換地被配置成基于儲存在個人信息608中的動態(tài)信息生成靜態(tài)問題。該問題通過輸出616被傳遞給用戶604。示例輸出包括,但不限于,顯示器或可聽揚聲器。
個人信息608可包括在用戶設(shè)備605的啟動期間獲得的或在與用戶設(shè)備605的交互期間獲得的信息。個人問題的特性的示例包括相對于圖4和5的系統(tǒng)實施例所討論的問題類型。
應(yīng)當(dāng)注意,在圖4-6示意性地示出的系統(tǒng)實施例中,問題生成器412、512和612不必在每次服務(wù)程序402、502和602認(rèn)證用戶時生成相同的問題。可以構(gòu)想問題生成器412、512和612每次在服務(wù)程序402、502和602認(rèn)證用戶時隨機地生成不同的問題。
在框306(圖3),評估從用戶接收的對問題的答復(fù)的正確性。如果答復(fù)是不正確的,則流程圖300傳遞到框308,并且拒絕用戶訪問。然而,如果答復(fù)是正確的,則流程圖300傳遞到用虛線指示的一組框(310、312、314)。這些框是可任選地采取以進(jìn)一步認(rèn)證用戶的步驟,并且將在下文中詳細(xì)描述。應(yīng)當(dāng)注意,這些可任選框要求答復(fù)作為可聽見的信號或話語來接收。即使答復(fù)是以可聽見的信號的形式,這些框仍是可任選的步驟,以進(jìn)一步認(rèn)證用戶。當(dāng)未選擇可任選步驟中的進(jìn)一步認(rèn)證時,流程圖300傳遞到框316,并且拒絕訪問。
在圖4所示的實施例中,認(rèn)證模塊411包括答復(fù)評估器414。答復(fù)評估器414通過通信系統(tǒng)406從用戶404接收對問題的答復(fù)。在圖4中,答復(fù)是由服務(wù)程序402以輸入信號的形式接收的。示例信號包括,但不限于,可聽見的答復(fù)或電話接收器上可獲得的按鈕音輸入。答復(fù)評估器414解碼該輸入信號,并將該輸入與個人信息408進(jìn)行比較以確定答復(fù)是否是正確的。如果答復(fù)是以可聽見的答復(fù)的形式輸入的,則答復(fù)評估器414說明性地在功能上采用適當(dāng)?shù)恼Z音識別系統(tǒng)。
在圖5所示的實施例中,認(rèn)證模塊511包括答復(fù)評估器514。答復(fù)評估器514通過通信系統(tǒng)506從用戶設(shè)備505接收對問題的答復(fù)。在圖5中,由答復(fù)評估器514接受到的答復(fù)是以輸入信號的形式。示例信號包括,但不限于,小鍵盤輸入、鼠標(biāo)選擇輸入或被配置成從答復(fù)列表中選擇一個選項的其它類型的選擇輸入。在一個實施例中,該答復(fù)可作為可聽見的答復(fù)來發(fā)送。答復(fù)評估器514解碼該輸入信號,并將該答復(fù)與個人信息508進(jìn)行比較以確定答復(fù)是否是正確的。如果答復(fù)是以可聽見的答復(fù)的形式接收的,則答復(fù)評估器514說明性地在功能上采用適當(dāng)?shù)恼Z音識別系統(tǒng)。
在圖6所示的實施例中,認(rèn)證模塊611包括答復(fù)評估器614。答復(fù)評估器614通過輸入618從用戶604接收對問題的答復(fù)。在圖6中,由答復(fù)評估器514通過輸入618接收到的答復(fù)是輸入信號的形式。示例信號包括,但不限于,小鍵盤或鼠標(biāo)。如果輸入618是鼠標(biāo),則答復(fù)可以從答復(fù)選項中選擇。另外,答復(fù)可作為可聽見的答復(fù)來發(fā)送。答復(fù)評估器614解碼該輸入信號,并將該答復(fù)與個人信息608進(jìn)行比較以確定答復(fù)是否是正確的。如果答復(fù)是可聽見的答復(fù),則答復(fù)評估器614說明性地在功能上采用適當(dāng)?shù)恼Z音識別系統(tǒng)。
以下是對圖3中采用的可任選步驟以及圖4-6中示意性地示出的系統(tǒng)實施例的描述,以選擇進(jìn)一步認(rèn)證用戶。如上所述,框306中評估的答復(fù)必須是可聽見的答復(fù)以進(jìn)一步認(rèn)證用戶。應(yīng)當(dāng)理解,可實現(xiàn)諸如用于使用發(fā)音字典將話音轉(zhuǎn)錄成文本等任何已知語音識別技術(shù)在答復(fù)是可聽見的答復(fù)時支持步驟306。
如果在框306可聽見的答復(fù)是正確的,且可聽見的信號要被進(jìn)一步認(rèn)證,則流程圖300前進(jìn)到框310。在框310,分析可聽見信號,并將其與訪問的聲波紋進(jìn)行比較以驗證用戶的話音信號至少基本上對應(yīng)于或匹配用戶的聲波紋。如果用戶的聲波紋不對應(yīng)于用戶的話音信號,則在框314拒絕訪問。然而,如果用戶的聲波紋對應(yīng)于用戶的話音信號,則在框316授予訪問權(quán)限。在某些實施例中,可依照某些規(guī)定的安全準(zhǔn)則重復(fù)該質(zhì)詢—答復(fù)過程多次,直到用戶訪問被授權(quán)或拒絕。答復(fù)確認(rèn)和聲波紋認(rèn)證過程也可以順序或同時地執(zhí)行。
在圖4中,服務(wù)程序402可任選地包括話音驗證模塊419。話音驗證模塊419包括語音驗證器420和聲波紋數(shù)據(jù)庫422。在答復(fù)評估器414確定答復(fù)是正確的答復(fù)之后,該答復(fù)被提供給語音驗證器420。語音驗證器420從聲波紋數(shù)據(jù)庫422中訪問對應(yīng)于用戶的聲波紋的所儲存的聲波紋。語音驗證器420確定答復(fù)的可聽見信號是否基本上對應(yīng)于用戶的聲波紋。
在圖5中,服務(wù)程序502可任選地包括話音驗證模塊519。話音驗證模塊519包括語音驗證器520和聲波紋數(shù)據(jù)庫522。在答復(fù)評估器514確定答復(fù)是正確的答復(fù)之后,該答復(fù)被提供給語音驗證器520。語音驗證器520從聲波紋數(shù)據(jù)庫522中訪問對應(yīng)于用戶的聲波紋的儲存的聲波紋。語音驗證器520確定答復(fù)的可聽見信號是否至少基本上對應(yīng)于或匹配用戶的聲波紋。
在圖6中,用戶設(shè)備602可任選地包括話音驗證模塊619。話音驗證模塊619包括語音驗證器620和聲波紋數(shù)據(jù)庫622。在答復(fù)評估器614確定答復(fù)是正確的答復(fù)之后,該答復(fù)被提供給語音驗證器620。語音驗證器620從聲波紋數(shù)據(jù)庫622中訪問對應(yīng)于用戶的聲波紋的儲存的聲波紋。語音驗證器620確定答復(fù)的可聽見信號是否至少基本上匹配用戶的聲波紋。
盡管參考特定實施例描述了本發(fā)明,然而本領(lǐng)域的技術(shù)人員可以認(rèn)識到,可以在形式和細(xì)節(jié)上做出改變而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種認(rèn)證用戶的方法,所述方法包括(a)訪問涉及所述用戶的個人信息的集合,(b)執(zhí)行基于所述個人信息集合并結(jié)合至少一個動態(tài)組件的認(rèn)證操作,所述認(rèn)證操作被配置成提示所述用戶給出可聽見的話語,(c)接收所述可聽見的話語,以及(d)將所述可聽見的話語與儲存的聲波紋進(jìn)行比較。
2.如權(quán)利要求1所述的方法,其特征在于,步驟(a)包括訪問與服務(wù)程序相關(guān)聯(lián)的個人信息的集合。
3.如權(quán)利要求1所述的方法,其特征在于,步驟(a)包括訪問來自遠(yuǎn)程用戶設(shè)備的個人信息集合。
4.如權(quán)利要求3所述的方法,其特征在于,儲存在所述用戶設(shè)備中的所述個人信息集合是用語義類型來注釋的。
5.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行結(jié)合至少一個動態(tài)組件的認(rèn)證操作包括生成詢問來自所述個人信息集合的靜態(tài)信息的動態(tài)問題。
6.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行結(jié)合至少一個動態(tài)組件的認(rèn)證操作包括生成要求對靜態(tài)信息的操縱的問題。
7.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行結(jié)合至少一個動態(tài)組件的認(rèn)證操作包括生成詢問來自所述個人信息集合的動態(tài)信息的靜態(tài)問題。
8.如權(quán)利要求1所述的方法,其特征在于,執(zhí)行結(jié)合至少一個動態(tài)組件的認(rèn)證操作包括生成要求標(biāo)識隨時間變化的信息項的問題。
9.如權(quán)利要求1所述的方法,其特征在于,接收可聽見的話語包括接收對問題的可聽見的答復(fù)。
10.如權(quán)利要求9所述的方法,其特征在于,還包括在比較所儲存的聲波紋之前,如果所述可聽見的答復(fù)是不正確的,則對所述用戶拒絕訪問。
11.如權(quán)利要求9所述的方法,其特征在于,還包括如果所述可聽見的答復(fù)是正確的,且所述可聽見的答復(fù)基本上對應(yīng)于所儲存的聲波紋,則向所述用戶授予訪問權(quán)限。
12.如權(quán)利要求1所述的方法,其特征在于,步驟(c)包括通過電話網(wǎng)絡(luò)接收可聽見的話語。
13.如權(quán)利要求1所述的方法,其特征在于,步驟(c)包括通過計算機網(wǎng)絡(luò)接收可聽見的話語。
14.一種用于認(rèn)證用戶的基于機器的系統(tǒng),所述系統(tǒng)包括信息檢索器,它被配置成訪問涉及所述用戶的個人信息的集合,認(rèn)證模塊,它被配置成通過生成基于所述個人信息集合并結(jié)合至少一個動態(tài)組件的詢問來執(zhí)行認(rèn)證操作,以及話音驗證模塊,它被配置成處理響應(yīng)于所述詢問而接收的可聽見的話語。
15.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述信息檢索器還被配置成訪問與服務(wù)程序相關(guān)聯(lián)的個人信息集合。
16.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述信息檢索器還被配置成訪問與遠(yuǎn)程用戶設(shè)備相關(guān)聯(lián)的個人信息集合。
17.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述個人信息集合包括多個數(shù)據(jù)實體。
18.如權(quán)利要求17所述的基于機器的系統(tǒng),其特征在于,每一數(shù)據(jù)實體是用多個語義類型來注釋的。
19.如權(quán)利要求18所述的基于機器的系統(tǒng),其特征在于,所述認(rèn)證模塊基于所述多個語義類型中的至少一個執(zhí)行認(rèn)證操作。
20.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述認(rèn)證模塊包括一問題生成器,它被配置成生成詢問來自所述個人信息集合的靜態(tài)信息的動態(tài)問題。
21.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述認(rèn)證模塊包括一問題生成器,它被配置成生成要求對靜態(tài)信息的操縱的問題。
22.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述認(rèn)證模塊包括一問題生成器,它被配置成生成詢問來自所述個人信息集合的動態(tài)信息的靜態(tài)問題。
23.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述認(rèn)證模塊包括一問題生成器,它被配置成生成要求標(biāo)識隨時間變化的信息項的問題。
24.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述認(rèn)證模塊還包括一答復(fù)評估器,它被配置成從用戶接收可聽見的答復(fù)。
25.如權(quán)利要求24所述的基于機器的系統(tǒng),其特征在于,所述答復(fù)評估器還被配置成評估所述可聽見答復(fù)的正確性。
26.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,所述話音驗證模塊包括一語音驗證器,它被配置成將所述可聽見的話語與儲存的聲波紋進(jìn)行比較。
27.如權(quán)利要求26所述的基于機器的系統(tǒng),其特征在于,所儲存的聲波紋是所述用戶的聲波紋。
28.如權(quán)利要求26所述的基于機器的系統(tǒng),其特征在于,所述話音認(rèn)證模塊還包括一聲波紋數(shù)據(jù)庫,所述語音驗證器被配置成從所述聲波紋數(shù)據(jù)庫中訪問所述聲波紋。
29.如權(quán)利要求14所述的基于機器的系統(tǒng),其特征在于,還包括一用于識別所述可聽見話語的語音識別系統(tǒng)。
30.一種用于認(rèn)證用戶的計算機實現(xiàn)的方法,所述方法包括(a)訪問涉及用戶的個人信息的集合,(b)生成結(jié)合至少一個動態(tài)組件的問題,(c)捕捉對所述問題的可聽見的答復(fù),以及(d)將所述可聽見的答復(fù)與儲存的聲波紋進(jìn)行比較。
31.如權(quán)利要求30所述的計算機實現(xiàn)的方法,其特征在于,步驟(a)包括通過計算機網(wǎng)絡(luò)訪問所述個人信息集合。
32.如權(quán)利要求30所述的計算機實現(xiàn)的方法,其特征在于,所述個人信息集合是用多個語義類型來注釋的。
33.如權(quán)利要求30所述的計算機實現(xiàn)的方法,其特征在于,步驟(b)包括生成要求對來自所述個人信息集合的靜態(tài)信息的操縱的問題。
34.如權(quán)利要求30所述的計算機實現(xiàn)的方法,其特征在于,步驟(b)包括生成要求標(biāo)識隨時間變化的信息項的問題。
35.如權(quán)利要求30所述的計算機實現(xiàn)的方法,其特征在于,還包括在捕捉所述可聽見答復(fù)后用語音識別系統(tǒng)來識別所述可聽見的答復(fù)。
36.如權(quán)利要求30所述的計算機實現(xiàn)的方法,其特征在于,還包括在識別所述可聽見答復(fù)之后評估所述可聽見答復(fù)的正確性。
37.如權(quán)利要求36所述的計算機實現(xiàn)的方法,其特征在于,還包括如果所述可聽見答復(fù)是不正確的,則在將所述可聽見答復(fù)與儲存的聲波紋比較之前對所述用戶拒絕訪問。
38.如權(quán)利要求36所述的計算機實現(xiàn)的方法,其特征在于,還包括如果所述可聽見答復(fù)是正確的且所述可聽見答復(fù)至少基本上對應(yīng)于所儲存的聲波紋,則向所述用戶授予訪問權(quán)限。
39.一種認(rèn)證用戶的方法,所述方法包括向所述用戶發(fā)送對認(rèn)證信息的請求,所述請求提示用戶在功能上操縱個人信息的元素,從所述用戶接收所述認(rèn)證信息,以及對照所述個人信息評估所述認(rèn)證信息。
40.如權(quán)利要求39所述的方法,其特征在于,功能上操縱個人信息元素包括在數(shù)學(xué)上操縱個人信息元素,所述個人信息對應(yīng)于數(shù)字信息。
41.如權(quán)利要求39所述的方法,其特征在于,功能上操縱個人信息元素包括操縱對應(yīng)于字母信息的個人信息元素。
42.如權(quán)利要求39所述的方法,其特征在于,還包括接收可聽見的話語,以及將所述可聽見話語與所儲存的聲波紋進(jìn)行比較。
43.一種認(rèn)證用戶的方法,所述方法包括向所述用戶發(fā)送對認(rèn)證信息的請求,所述請求提示用戶將對應(yīng)于所述用戶的交互的個人信息與用戶設(shè)備相關(guān),從所述用戶接收認(rèn)證信息,以及對照所述個人信息評估所述認(rèn)證信息。
44.如權(quán)利要求41所述的方法,其特征在于,所述個人信息是儲存在所述用戶設(shè)備中并用語義類型來注釋的。
45.如權(quán)利要求44所述的方法,其特征在于,還包括接收可聽見的話語,以及將所述可聽見的話語與儲存的聲波紋進(jìn)行比較。
全文摘要
揭示了用于認(rèn)證用戶的系統(tǒng)和方法。本發(fā)明包括訪問涉及用戶的個人信息集合。本發(fā)明還包括執(zhí)行基于個人信息集合的認(rèn)證操作。該認(rèn)證操作結(jié)合至少一個動態(tài)組件,并提示用戶給出可聽見的話語。將可聽見的話語與儲存的聲波紋進(jìn)行比較。
文檔編號H04L9/32GK1783782SQ200510118879
公開日2006年6月7日 申請日期2005年11月3日 優(yōu)先權(quán)日2004年12月3日
發(fā)明者王冠三 申請人:微軟公司