從初始隨機值二 (2)中減去。作為結果,示例性第一序數鼓302的結束值為九
(9)(例如,以上示例假定具有順序整數零直到九的鼓,其中整數九繞回以在零處再次開始)。
[0023]圖3B圖示了示例性轉化映射350,其包括序數定位列352、原始值列354、偏移列356、方向列358和結果列360。示例性序數定位列352包括與示例性第一序數鼓302相關聯的第一行362、與示例性第二序數鼓304相關聯的第二行364、與示例性第三序數鼓306相關聯的第三行366以及與示例性第四序數鼓308相關聯的第四行368。繼續以上的示例,圖3A的示例性轉鼓顯示300被調用來用于用戶交互,其具有每一個轉鼓上的值的隨機化序列(SP2385),所述隨機化序列在示例性轉化映射350中被示出在原始值列354中。在圖3A和3B的所圖示示例中的示例性原始值“2385”可以由受信任的執行環境內的隨機數生成器生成和/或任何其它原始值可以由經授權的人員選擇和/或以其它方式設置。為了示例的緣故,假定用戶通過以向下的方向劃刷三次來與示例性第一序數鼓302交互。作為結果,圖3B的示例性轉化映射350在示例性偏移列356中被填充有偏移值三(3),并且在示例性方向列358中被填充有遞減指示符(例如減號“一”)。為了揭示用戶動作的結果,受信任的執行環境從原始值中減去三個定位,并且將結果存儲在示例性結果列360中。換言之,由于示例性第一序數鼓302具有整數值“O,I,2,3,4,5,6,7,8,9”的序列,于是從起始定位二 “2”向下三個序數定位導致九“9”,因為每一個鼓以輪轉和/或另外的轉動方式重復。
[0024]圖4圖示了促進安全屏幕輸入的示例性平臺400。在圖4的所圖示示例中,平臺400包括通信地連接到操作系統(0S)404和受信任的執行環境(TEE)406的用戶接口 402。示例性TEE 406與OS 404選擇性地隔離,但是可以與OS 404協力操作以提供一個或多個服務。例如,OS 404可以提供服務以呈遞用戶接口402并且響應于輸入提示,但是TEE 406檢索和/或以其它方式接收這樣的輸入以供處理以導出和/或以其它方式計算口令值。雖然示例性平臺包括示例性OS 404在其上執行的它自己的硬件408,但是示例性TEE 406是能夠獨立于平臺硬件408而進行過程管理和/或執行的分離硬件實體。此外,在示例性TEE 406內執行的受信任的應用能夠完整訪問平臺硬件408和/或平臺400的其它資源,而示例性TEE 406維持對與其上執行的受信任的應用相關聯的密碼的和/或其它安全操作的完全控制。在一些示例中,TEE 406以與受信任的計算組于2011年3月3日公布的TPM規范1.2(修訂版116)—致的方式實現為受信任的平臺模塊(TPM),該規范據此以其全部通過引用合并在本文中。
[0025]在圖4的所圖示示例中,TEE 406包括用戶接口管理器420、序數序列生成器422(在本文中有時稱為序列生成器)、通信地連接到轉化映射存儲裝置426的轉化映射管理器424,以及偏移計算器428。在典型平臺中,示例性OS 404生成要在UI 402上顯示的接口以接收以鍵盤口令信息、觸摸屏口令數字錄入或任何其它類型的人機錄入信息的形式的用戶輸入。然而,假定示例性OS 404和示例性UI 402是不安全的并且遭受能夠監視觸摸屏上的用戶按壓和/或鍵擊的惡意的軟件(例如惡意軟件)的監視。鑒于這種假定的安全性缺失,在用戶在數字鍵區上錄入口令的情況下,惡意軟件可以標識每一個觸摸屏按壓的位置以導出用戶的口令。例如,如果用戶將要從左向右按壓圖1A的示例性未經修改的鍵區100的頂部行104中的前三(3)個按鈕中的每一個,則惡意軟件可以基于與每一個按鈕按壓相關聯的空間信息來導出“I”、“2”、“3”的口令。
[0026]為了最小化和/或以其它方式消除由用戶經由示例性UI402錄入的口令信息的導出,示例性用戶接口管理器420響應于口令錄入的指示并且生成將在示例性UI 402上呈現給用戶的轉鼓顯示。在一些示例中,示例性用戶接口管理器420超馳控制可以由示例性OS404生成的默認接口。在其它示例中,示例性OS 404生成轉鼓顯示,但是在示例性TEE 406內實施認證功能,如以下進一步詳細描述的。在示例性用戶接口管理器420超馳控制由示例性OS 404生成的默認接口(諸如類似于圖1A的未經修改的鍵區100的默認鍵區)的情況下,于是示例性序數序列生成器422標識針對轉鼓顯示所要求的多個數位。此外,示例性序數序列生成器422生成將在轉鼓顯示上顯示的隨機值序列并且向示例性用戶接口管理器420提供隨機值序列以供向用戶呈現。
[0027]繼續以上結合圖3A描述的示例,如果序數序列生成器422標識到針對四數位數字口令的需要,并且生成隨機值序列“2385”,那么該值被傳遞至示例性用戶接口管理器420以呈現在示例性UI 402上。此外,將隨機值序列“2385”提供給示例性轉化映射管理器424以構建與UI 402相關聯的轉化映射。任何數目的轉化映射可以由轉化映射管理器424生成和/或以其它方式構建并且存儲在示例性轉化映射存儲裝置426中。當用戶通過以向上的方向劃刷四(4)次來修改顯示在示例性UI 402內的第一序數鼓302時,示例性用戶接口管理器420接收和/或以其它方式檢索偏移值四(4)和“向上”的方向指示(方向指示可以包括指示序數鼓按其來改變的方向的任何值或符號)。在其它示例中,用戶接口管理器420響應于UI 402上的每個交互而接收和/或以其它方式檢索偏移值和方向值。因而,如果第一用戶交互是向下劃刷,則示例性用戶接口管理器420檢索和/或以其它方式接收偏移值一(I)和對應的向下指示符。換言之,通過響應于與示例性UI 402的每個用戶交互而獲得偏移值和方向,示例性用戶接口管理器420可以追蹤鼓定位移動的凈結果數和對應的(一個或多個)方向而不管用戶移動一個或多個序數鼓的次序如何。
[0028]假定示例性轉鼓顯示300總是設置在“0000”處,那么潛入不安全的輸入機構(例如UI 402的觸敏疊覆)的任何惡意軟件將能夠基于追蹤多個劃刷事件而導出口令組合。另一方面,雖然在示例性平臺400上操作的任何惡意軟件可以標識示例性UI 402的特定坐標位置處的四(4)個分離劃刷動作,但是惡意軟件不能夠訪問被存儲在TEE 406內的初始隨機值序列“2385”。此外,TEE 406和/或平臺資源408可以采用受保護的視頻幀緩沖器來隱藏UI402上顯示的內容。作為結果,最終口令值不能由惡意軟件確定,因為示例性轉鼓顯示300的初始起始點的信息對惡意軟件而言不可得到。
[0029]在已經完成用戶輸入活動之后,示例性偏移計算器428通過從初始起始值加上或減去所檢索到的偏移值來計算所錄入的口令信息。繼續以上示例,如果用戶在示例性第一序數鼓302、示例性第二序數鼓304、示例性第三序數鼓306和示例性第四序數鼓308上以向上的方向執行劃刷動作一次,那么示例性偏移計算器428將向初始起始值“2385”加一(I)以揭示口令“3496”。
[0030]在一些示例中,在用戶修改了序數鼓以錄入口令的一個數位之后,示例性序數序列生成器422生成針對其余序數的新的隨機值。重新隨機化其余序數的至少一個益處包括在用戶正與示例性UI 402交互時混淆旁觀者的努力。為了說明,圖5反映了圖3A的示例性轉鼓顯示300,其包括第一序數鼓302、第二序數鼓304、第三序數鼓306和第四序數鼓308。示例性轉鼓顯示300的四個序數鼓按列示出,并且四個分離的用戶輸入實例按從圖5的頂部到底部的序列而發生。在第一實例(實例I)處,示例性轉鼓顯示300具有隨機化的初始值“2385”,其存儲在示例性轉化映射存儲裝置426中作為類似于圖3B中所示的那個(例如,轉化映射350)的轉化映射。此外,假定將使得用戶能夠獲得示例性平臺400的訪問和/或服務的真實口令是“6447”。真實口令值可以存儲在TEE 406中以用于稍后在已經發生示例性UI 402上的用戶錄入之后進行比較。在所錄入的口令信息正確的情況下,示例性TEE 406可以告知OS404認證成功,從而允許示例性平臺400的用戶訪問一個或多個服務(例如網頁、平臺400的可執行程序、平臺400的存儲位置中的文件訪問、對一個或多個平臺資源408的訪問等)。[0031 ]在實例I期間,用戶以向上的方向劃刷四(4)次,從而使第一序數鼓302從初始值“2”前進到結束值“6”。如以上描述的,示例性用戶接口管理器420檢索和/或以其它方式接收與向上指示符相關聯的偏移值四(4),并且示例性偏移計算器428將偏移值四(4)加到初始隨機化的值二(2)以得出最終的口令錄入值六(6)。在指示認為用戶完成了示例性第一序數鼓302的修改的停留時間之后,示例性序數序列生成器422重新隨機化尚未被用戶設置的任何其余序數鼓,如通過實例2所示。在圖5的所圖示示例中,實例2包括第一序數鼓302位置中的“X”以指示第一序數鼓302已經被用戶修改。此外,在實例2期間,其余序數鼓(S卩,示例性第二序數鼓304、示例性第三序數鼓306和示例性第四序數鼓308)已經被示例性序數序列生成器422利用值“629”重新隨機化。
[0032]在實例2期間,用戶以向下的方向劃刷兩(2)次,從而將示例性第二序數鼓304從初始值“6”修改成結束值“4”。如以上描述的,在示例性用戶接口管理器420檢索和/或以其它方式接收偏移值和方向指示符(即,在圖5的所圖示示例中,偏移值為二(2)并且方向指示符指示向下劃刷)之后,結果得到的序數值由示例性偏移計算器428計算,并且最近修改的序數鼓利用“X”來標識。作為修改的結果,并且在停留時間之后,示例性序數序列生成器422重新隨機化尚未被用戶修改的其余序數(即,示例性第三序數鼓306和示例性第四序數鼓308)。在圖5的所圖示示例中,重新隨機化的值為“11”。
[0033]在實例3期間,用戶以向上的方向劃刷三(3)次,從而將示例性第三序數鼓306從初始值“I”修改成結束值“4”。如以上描述的,在示例性用戶接口管理器420檢索和/或以其它方式接收偏移值和方向指示符(即,在圖5的所圖示示例中,實例3期間的偏移值為三(3)并且方向指示符指示向上劃刷)之后,結果得到的序數值由示例性偏移計算器428計算,并且最近