TWI444834B - 使用於鍵盤及應用程式間之共享秘密技術 - Google Patents

使用於鍵盤及應用程式間之共享秘密技術 Download PDF

Info

Publication number
TWI444834B
TWI444834B TW098101540A TW98101540A TWI444834B TW I444834 B TWI444834 B TW I444834B TW 098101540 A TW098101540 A TW 098101540A TW 98101540 A TW98101540 A TW 98101540A TW I444834 B TWI444834 B TW I444834B
Authority
TW
Taiwan
Prior art keywords
keyboard
shared secret
value
sequence
application
Prior art date
Application number
TW098101540A
Other languages
English (en)
Other versions
TW200941279A (en
Inventor
Wael M Ibrahim
Liqun Chen
Manuel Novoa
Ligy Kurian
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW200941279A publication Critical patent/TW200941279A/zh
Application granted granted Critical
Publication of TWI444834B publication Critical patent/TWI444834B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Storage Device Security (AREA)

Description

使用於鍵盤及應用程式間之共享秘密技術 發明領域
本發明係關於使用於鍵盤及應用程式間之共享秘密技術。
發明背景
鍵盤記錄器係一種不需使用者知悉或允許而檢測一使用者在一鍵盤上按下的按鍵的產品。鍵盤記錄器可用於,譬如,在使用者登入一服務或系統時竊取使用者鍵入的密碼。鍵盤記錄產品的出現造成對於對抗鍵盤記錄器作用之反鍵盤記錄產品的需求。
發明概要
本發明之其中一實施態樣包含一種系統(10),其包含:一處理器(12),其執行一作業系統(16)及一應用程式(18);以及耦接至該處理器之一鍵盤(30);其中該鍵盤與該應用程式共用一共享秘密,其係用於編碼從該鍵盤提供至該應用程式之鍵盤資料,該共享秘密不被該作業系統所知悉或存取。
圖式簡單說明
針對本發明實施例之詳細說明,將參考所附圖式說明之,其中:第1圖顯示依據諸多實施例之一系統圖;第2圖顯示一共享秘密所佔有之一資料結構的一 實施例;第3圖顯示一佔有第2圖之資料結構的特定共享秘密之一範例;第4圖顯示依據諸多實施例產生共享秘密之一方法;第5圖顯示被一共享秘密所佔有之一資料結構之另一實施例;以及第6圖顯示依據諸多實施例利用共享秘密來傳導從一鍵盤至一應用程式之一安全通訊流的一種方法。
較佳實施例之詳細說明
下述說明書內容與申請專利範圍全文中使用某些用語來表示特定系統構件。熟於此技藝者可理解,電腦公司可能指的是不同名稱的一種構件。本文件無意區別不同名稱之構件間的差異而不是功能。下述說明書內容與申請專利範圍中,「包括」與「包含」等用語係用於開放式的形式,並因此應解釋為「包括,但不限為…」。同樣地,「耦接」或「耦合」係欲表示一間接、直接、光學、或無線電氣連接。因此,若一第一裝置耦接至一第二裝置,其連接方式可為透過一直接連接、經由其它裝置與連接之一間接連接、光學電連接、或無線電連接。令外,「系統」一詞指兩個以上的硬體及/或軟體構件之連接,且可用來指一電子裝置,譬如一電腦、一電腦的一部份、電腦之組合等。又,「軟體」一詞包括任何能在一處理器上運行之可執行之碼 程式,不論用來儲存軟體之媒體。因此,儲存在一非依電型記憶體上之碼程式,有時稱為「嵌入式韌體」亦包括在軟體的定義中。
第1圖顯示依據諸多實施例之一系統10。如圖所示,系統10包含耦接至儲存器14、顯示器15、共享秘密邏輯組件20、以及一鍵盤30、和一指向裝置31(例如,一滑鼠)之一處理器12。指向裝置31可如圖式般經鍵盤30被耦接至處理器12。經由鍵盤,一使用者提供輸入至系統10。儲存器包含依電型儲存器(例如隨機存取記憶體)、非依電型儲存器(例如,硬碟機、光碟唯讀記憶體等)、或其等之組合。儲存器包含在作業系統之控制下執行之一作業系統16和一或更多應用程式18。作業系統16和應用程式(s)18包含程式碼,其可被處理器12執行。一應用程式18苦包含任何類型之應用程式,譬如一文字處理應用程式、一空白表格程式應用程式、一網路瀏覽器等。
鍵盤包含安全模式邏輯組件32、一或更多鍵盤按鍵34(例如,一101-按鍵鍵盤)、一安全模式啟動控制36、及一光學指示器38。安全模式啟動控制36包含,在一些實施例中,一按鈕或其他類別的開關。指示器38包含一光發射二極體(LED)或其他類型的光學指示器(例如,一「小精靈」或受作業系統16控制的覆蓋一圖形訊框緩衝器之其他圖型),來指示鍵盤是在非安全模式或安全模式下,解釋如下。
依據諸多實施例,系統10之一使用者可在一非安全模式或一安全模式下執行鍵盤30。本文所述之技術應用 任何類型之使用者輸入裝置(鍵盤、滑數、軌跡球等),其可伴隨一應用程式供一使用者使用。不論模式為何,針對一按鍵34之每一次使用者致動,產生一或更多字元碼並從鍵盤傳送至處理器12。虛線箭頭25表示使用者操作鍵盤30時來自鍵盤之輸入被本地地提供至「瞄準的」應用程式18。在不安全模式下,鍵盤上一按鍵34之每一次使用者致動,對應於該按鍵之一字元碼被傳送至應用程式18。鍵盤、字元碼係所有應用程式18及作業系統16通常知悉的,至少在某些實施例中,係依據掃瞄碼和分頁表區域化標準。一字元碼識別一使用者在鍵盤上按壓之按鍵。
可藉由一使用者致動安全模式啟動控制36、或藉由應用程式18在接受輸入前請求一安全對話來啟動安全模式,針對一按鍵34之每一次使用者致動,不符合與使用者所致動按鍵相關聯之字元碼的一位元封包被提供至「瞄準的」應用程式18,通過多個OS層。如此一位元封包被接收封包之應用程式18所識得,但不被作業系統16所識得。以此方式,建立出鍵盤30和一應用程式18之間的一安全通訊頻道。
鍵盤和應用程式之間的安全通訊頻道使用一共享秘密,其被提供至鍵盤安全模式邏輯32及應用程式18。共享秘密按鍵由共享秘密邏輯組件20在一使用者在鍵盤30上啟動安全模式啟動控制36時產生、或應用程式開始與鍵盤間之一安全通訊頻道時產生,譬如,當應用程式檢測到顯示器上一資料項目「輸入盒」已經被選定保護。有些輸 入盒可能會提示一使用者鍵入一密碼或其他私人資訊項目類型,這會提示譬如信用卡號之資訊。在一些實施例中,所產生的共享秘密按鍵包含利用一隨機數字(例如,從類比「白」雜訊或其他技術產生的數字),其被鍵盤30和應用程式18用來佔用一資料結構40,如第2圖所示,來實施一安全通訊頻道。
第2圖顯示資料結構40之一範例格式,其中共享秘密按鍵被鍵盤30和應用程式18之安全模式邏輯組件32所佔用。所繪示之資料結構40包含3列資訊。一第一列42包含索引值。一第二列44包含長度值。一第三列46包含延遲值。每一行50、52、54、及56包含一索引值42、一長度值44、及一延遲值46。每一行值被用來定義一字元碼封包,其係每一次一使用者致動(例如,按壓)一鍵盤按鍵34時鍵盤30所產生者。第2圖包含4行:50、52、54、及56,用來定義4個字元碼封包,但其他實施例中可使用不同的行號。
第3圖繪示用來佔用一資料結構40之一共享秘密。每一鍵盤30與應用程式18具有此一資料結構。共享秘密邏輯組件20產生共享秘密並提供共享秘密至每一鍵盤30和應用程式18。鍵盤30和應用程式18之每一共享秘密邏輯組件32利用共享秘密佔用其自身之資料結構40,如第3圖所示。在第3圖所示實施例中,共享秘密為「235232012301203141030121」。來自共享秘密之第一值「2」被用來佔用資料結構中的第一個單元。該值對應於第一行之一索引值。共享秘密中之下一個值「3」係用來佔用 資料結構中之第二單元。該值對應於第二行中的一索引值。此步驟反覆直到資料結構40之全部索引值包含一完整分配的索引值。共享秘密中之下一值「3」係用來佔有資料結構中第二列之第一單元。此單元包含一長度值。後續共享秘密值被用來佔有剩下的資料結構項目,如第3圖所示範例。
依據諸多實施例,鍵盤安全模式邏輯32在每一次使用者致動一鍵盤按鍵34時產生具有多個字元碼之一封包。每一封包包含多個字元碼。封包中之一字元碼與一使用者致動之特定按鍵34相關聯(例如,使用者致動按鍵34之字元碼)。封包中其他字元碼可與一使用者致動之按鍵34關聯或不關聯,且被鍵盤30之安全模式邏輯組件32產生(例如,隨機的)。只有應用程式18,而非作業系統16,可以判定封包中哪個字元碼被提取/使用為與使用者所按壓之鍵盤按鍵34相關聯之字元碼(在此稱為「正確的」字元碼)。此「按鍵泛湧」之技術因而涉及在一連串字元碼之一或更多其他可能的隨機產生字元碼(或被選來對抗熵分析之碼程式)中傳送正確的字元碼(與使用者所按壓之按鍵相關聯者)。除非字元碼封包之接收邏輯知道哪個串列單元中含有正確的字元碼,否則接收邏輯不能準確地解譯鍵盤30提供的資料。
參考第3圖所繪示之範例,鍵盤30產生的第一字元碼封包系與索引值2、長度值3、以及表示延遲1到20微秒(ms)之一延遲值相關聯。這表示封包中之第二字元碼為正 確字元碼,封包長度為3個字元碼,以及三個字元之間產生的每一時間延遲為1到20微秒。其他兩字元碼可為任何字元碼,但在諸多實施例中兩者並不都與正確碼相同。
下一次使用者按壓一鍵盤按鍵34時,鍵盤30產生另一字元碼封包,依據一索引值3、一長度值20、以及表示延遲3到14ms的一延遲值。這表示在此封包中之第三字元碼是正確字元碼,封包長度為20個字元碼,且20個產生的字元每一者間的時間延遲係一隨機的、或介於3到14ms間的值。一第三和第四封包以相同的方式產生。
一旦對應於第四組索引、長度、及延遲值(2、30個字元碼、及1-21ms)之第四封包被產生,資料結構40可再次用於後續鍵盤按鍵34之致動。即,資料結構40可被反覆用來產生封包。其他實施例中,一資料結構40一旦用盡(即,其每一個索引值、長度值、和延遲值都被用來產生字元碼封包),共享秘密邏輯組件20產生一新的共享秘密,其接著用來覆寫和重新佔用鍵盤30和應用程式18之資料結構40。如此,共享秘密被用為一種「一次鍵」(OTP)的形式。
每一字元碼封包被應用程式18接收。應用程式具有完全相同於鍵盤安全模式邏輯32用來產生封包之資料結構40複製。儲存器14中被應用程式所使用之資料結構40利用相同的共享秘密被佔用。應用程式18使用其資料結構複製來提取正確的字元碼。索引值指向各封包中是為正確碼的字元碼(即,與使用者按壓之按鍵相關聯的碼。長度值被應用程式用來判斷每一封包的終點(例如,長度值減索引值 表示封包中接著正確字元碼之剩餘字元碼數)。時間延遲(或時間延遲值範圍)存在以對抗一按鍵記錄器的計時攻擊。
第4圖繪示依據諸多實施例之一種用來產生共享秘密之方法100。所示動作依所示順序或不同的順序執行。再者,有些動作可以同步執行(例如,並行)。
如所示,方法100包含一使用者執行一應用程式(102)。如前述中強調,應用程式可為任何應用程式,譬如一網際網路瀏覽器、字組處理程式等。執行應用程式包含,譬如「雙擊」顯示器15上一個表示應用程式之圖符。動作104中,使用者在鍵盤30上致動安全模式輸入控制36來實施自鍵盤30至應用程式18之一安全鍵盤輸入通道。另可選擇地,應用程式18可初始安全鍵盤輸入通道。在動作106時,鍵盤安全模式邏輯32產生一系統管理中斷(SMI)來使得共享秘密邏輯組件20產生一共享秘密。SMI處置碼之一特性在於此碼執行作業系統16之外部控制與牽連。在執行SMI期間,作業系統16之執行被擱置。以此方式,共享秘密邏輯組件20可產生一共享秘密,而不需佔有或存取共享秘密之作業系統16。
動作108中,共享秘密邏輯組件20以產生一共享秘密來回應SMI。在一些實施例中,共享秘密邏輯組件20包含一受信賴的平臺模組(TPM)、一安全的數位(SD)卡、或其他用來產生僅提供給鍵盤30和應用程式18之安全模式邏輯組件32之一共享秘密之機構。動作110中,共享秘密邏輯組件20傳送共享秘密至鍵盤30。動作112中,SMI被釋放而 作業系統16繼續執行。
動作114中,鍵盤30提供一指示給使用者,告知鍵盤30現在在有關所瞄準之應用程式18之操作的一安全模式下。指示包含經由指示器30(例如,一LED)的視覺回應。鍵盤提供一指示(例如,傳送一信號)至應用程式18,告知鍵盤30有一共享秘密且係在其安全模式(116)下。一經判定鍵盤30在一安全模式下,應用程式18向共享秘密邏輯組件20請求共享按鍵。在動作120中,共享秘密邏輯組件20提供共享秘密給應用程式,譬如,可能為在應用程式和一受信賴的平臺模組(TPM)間透過使用一TCG軟體堆疊(TSS)之一安全傳輸對話。在此類實施例中,TSS裝載為位於應用程式位址空間的一種行進中伺服器。TSS提供用來在一應用程式和一TPM之間建立一安全傳輸對話之機構。其他技術可被用來進一步混淆應用程式之位址空間中的共享秘密。一旦鍵盤30和應用程式18被提供共享秘密,鍵盤(即,安全模式邏輯組件32)和應用程式18使用共享秘密來在一安全通訊頻道下從鍵盤30提供鍵盤資料至應用程式(122)。
在一些實施例中,而不是嵌入在一或更多額外字元碼間與使用者所致動之鍵盤按鍵相關聯之字元碼,與使用者所致動之鍵盤按鍵相關聯之字元碼經修改。依據某些實施例,修改包含依據共享秘密改變字元碼。譬如,字元碼和全部或部份的共享秘密經互斥或運算(即,邏輯互斥或運算)。所得到經修改的字元碼可變回其未經修改的形式,藉由應用程式18互斥或運算接收自鍵盤30之經修改字元碼 與同一共享秘密或其被鍵盤30在第一處用來修改字元碼的子部份。
第5圖繪示一資料結構60之一實施例,其類似第2和3圖之資料結構40。資料結構60包括一額外的資料列62。佔用共享秘密之資料結構之此資料,包含用來進行前述互斥或運算之值。即,鍵盤30產生一第一封包,其中正確的字元碼係具有3個字元碼之封包中的第二碼。所產生按鍵碼之間的時間延遲範圍從1到20ms。正確的碼被與值「12」進行互斥或運送,並造成經此修改的字元碼被置於封包中,作為三個封包單元中的第二個。一收到此封包,應用程式18提取第二單元並計算所提取單元與同一值(「12」)之互斥或運算來復元正確的字元碼。
在一些實施例中,自鍵盤30傳送至應用程式18之字元碼利用全部或相同的共享秘密加密成一加密/解密金鑰。作業系統與在作業系統下執行之其他應用程不會存取共享秘密,並因此不能正確地解密經加密的字元碼。經加密字元碼可不需嵌入其他字元碼之一封包中地傳送,亦可隨所欲地嵌入這類封包中。
在一些實施例中,鍵盤30產生的每一封包具有相同的長度。各封包中之字元碼之位置(索引)可隨封包而改變。即是說,所有封包可具有一長度,譬如10。資料結構40、60中可提供長度值,或可被預先規劃且被鍵盤安全模式邏輯32和應用程式18所固有理解的。在一封包中,正確的字元碼可為第二單元,然而在另一封包中,正確的字元 碼可為第六單元。
諸多實施例中,封包中指定給正確字元碼的位置可為固定的,但每一封包的長度可以改變。譬如,正確的字元碼可被置於多個封包的各個第三位置,封包的長度從3到大於3的一個數值。在此類實施例中,索引值(在此範例中為3)可在資料結構40、60中提供,或可被鍵盤30和應用程式18所固有理解的(例如,一組態策略)。
如此,封包具有至少兩種特性,其可個別地藉由幫助實施鍵盤30和應用程式18間之安全通訊頻道的共享秘密和資料結構40、60被規劃。一種特性係正確碼位於一封包(索引)中之位置,而其他特性係每一封包之長度。共享秘密可在各封包基準上指定此一或兩種特性。
如本文所述,使用者啟動安全模式啟動控制36來建立鍵盤30和應用程式18間之一安全通訊頻道。使用者可選擇性地建立鍵盤和各應用程式18間之一安全通訊頻道。在諸多實施例中每一個這樣的安全通訊頻道使用一不同的共享秘密。至於某些應用程式18,一安全通訊頻道被建立,而其他應用程式,一安全通訊頻道不被建立。一使用者每一次令一應用程式18被「瞄準」(例如,利用指向裝置31鍵擊應用程式),共享秘密(若有一個與應用程式相關聯的話)在使用者操作鍵盤30來與應用程式互動時被使用。
第6圖繪示動作122之一實施例,其用來傳導自鍵盤30至應用程式18之一安全通訊頻道。動作132中,方法122包含判定與一使用者所致動之一鍵盤按鍵相關聯的一字元 碼。動作134中,此方法包含編碼字元碼與共享秘密來形成一封包。編碼字元碼包含任何本文中所敘述之技術。封包接著被傳送至現正與使用者互動的應用程式18(136)。動作138,應用程式從封包中提取正確的字元碼。
使用鍵盤和應用程式知道但作業系統及其下執行之其他應用程式不知道的共享秘密,有助於對抗鍵盤記錄軟體。此類鍵盤記錄軟體將無法存取正確解碼鍵盤封包所需之共享秘密,並因此不能判定使用者在鍵盤按了那些鍵。
在一些實施例中,各字元碼封包之開頭可被一預先指定的位元串(一「標記」)所識別。此標記可被共享秘密中之一值所指定。
前述討論用意在於例說本發明之原則及諸多實施例。熟於此技藝者一旦理解所揭示內容自然可思及到諸如不同的變化與修改。後列申請專利範圍意圖解釋為包括所有這些變化與修改。
12‧‧‧處理器
15‧‧‧顯示器
16‧‧‧作業系統
18‧‧‧應用程式
20‧‧‧共享秘密邏輯組件
30‧‧‧鍵盤
31‧‧‧指向裝置
32‧‧‧安全模式邏輯
34‧‧‧鍵
36‧‧‧安全模式啟動控制
38‧‧‧光學指示器
40‧‧‧資料結構
42‧‧‧索引值
44‧‧‧長度值
46‧‧‧延遲值
50、52、54、56‧‧‧行
60‧‧‧資料結構
62‧‧‧互斥或
100‧‧‧方法
102-122‧‧‧動作
122‧‧‧方法
132-138‧‧‧動作
第1圖顯示依據諸多實施例之一系統圖;第2圖顯示一共享秘密所佔有之一資料結構的一實施例;第3圖顯示一佔有第2圖之資料結構的特定共享秘密之一範例;第4圖顯示依據諸多實施例產生共享秘密之一方法;第5圖顯示被一共享秘密所佔有之一資料結構之另一 實施例;以及第6圖顯示依據諸多實施例利用共享秘密來傳導從一鍵盤至一應用程式之一安全通訊流的一種方法。
12‧‧‧處理器
14‧‧‧儲存器
15‧‧‧顯示器
16‧‧‧作業系統
18‧‧‧應用程式
20‧‧‧共享秘密邏輯組件
30‧‧‧鍵盤
31‧‧‧指向裝置
32‧‧‧安全模式邏輯
34‧‧‧鍵
36‧‧‧安全模式啟動控制
38‧‧‧光學指示器
40‧‧‧資料結構

Claims (19)

  1. 一種電腦系統,其包含:一處理器,其執行一作業系統及一應用程式;以及耦接至該處理器之一鍵盤;其中該鍵盤與該應用程式共用一共享秘密,該共享秘密不被該作業系統所知悉或存取;以及其中該共享秘密係用來當每次該鍵盤上的一按鍵被按下時,產生一序列鍵盤字元碼;以及其中每一序列在下列至少一者是可變的:包含於該序列中之該等鍵盤字元碼之數量、和對應於被按下的按鍵之該字元碼被定位於該序列中之位址。
  2. 如申請專利範圍第1項之系統,其更包含耦接至產生該共享秘密之該處理器的邏輯組件。
  3. 如申請專利範圍第1項之系統,其中該邏輯組件包含自包含一TPM與一SD卡之組合中選出的邏輯組件。
  4. 如申請專利範圍第1項之系統,其中該共享秘密包含一索引值,該索引值指出多個字元碼之何者對應至被使用者致動之該鍵盤按鍵。
  5. 如申請專利範圍第1項之系統,其中在每一序列中該等鍵盤字元碼之數量由該共享秘密判定。
  6. 如申請專利範圍第5項之系統,其中該共享秘密包含用於每一封包之個別的索引值,該等索引值之至少兩者係彼此不同的。
  7. 如申請專利範圍第5項之系統,其中該共享秘密包含指 出該等封包間的一時間延遲之一值。
  8. 如申請專利範圍第1項之系統,其中該共享秘密包含一值,該值與被使用者致動的鍵盤按鍵相關聯之一字元碼互斥或運算。
  9. 如申請專利範圍第1項之系統,其中該鍵盤儲存一包含多個索引值之資料結構,以及對於每一索引值,該資料結構包含一對應的長度值,該長度值指明序列中鍵盤字元碼之數量,以及每一索引值和長度值以該共享秘密之一部分填充。
  10. 如申請專利範圍第9項之系統,其中基於按壓於該鍵盤上之一按鍵,該鍵盤產生一序列以得到該資料結構中之該等長度值之一者之長度,以及經按壓的該按鍵之該鍵盤字元碼基於對應該長度之值的索引值而被包含在該序列中。
  11. 如申請專利範圍第9項之系統,其中該資料結構包含延遲值,一延遲值對應一索引值和一長度值,每一該延遲值指出一給定序列中每一鍵盤字元碼間的一時間延遲,以及其中該資料結構中每一延遲值以該共享秘密之一部分填充。
  12. 一種電腦系統,包含:主機邏輯組件;以及一耦接到該主機邏輯組件之鍵盤;其中該鍵盤和該主機邏輯組件分享一共享秘密,以及對於在鍵盤上按壓的每一按鍵,該鍵盤產生包含多個 含有被按壓之按鍵之碼的鍵盤字元碼的一序列至該主機邏輯組件,其中基於該共享秘密,該鍵盤改變每一序列之長度和被按壓之按鍵之碼之於每一序列碼內的位址。
  13. 如申請專利範圍第12項之系統,進一步包含一應用程式和一作業系統,其中該共享秘密被提供給該鍵盤和該應用程式,但不提供給該作業系統。
  14. 如申請專利範圍第12項之系統,其中該共享秘密包含一索引值,該索引值指出經傳輸至該主機邏輯組件之該等字元碼中之何者是與使用者按壓的鍵盤按鍵有關。
  15. 如申請專利範圍第12項之系統,其中該共享秘密包含與使用者按壓的鍵盤按鍵相關聯之字元碼係經互斥或運算的值。
  16. 如申請專利範圍第12項之系統,其中該鍵盤使用該共享秘密來填充一表格,該表格包含關於一索引值、一長度值、和一時間延遲值中至少一者之登錄。
  17. 一種用以進行安全通訊之方法,其包含下列步驟:判定與被一使用者致動之一鍵盤按鍵相關聯之一字元碼;基於該鍵盤按鍵被致動,自該鍵盤之一資料結構選擇一長度值和一索引值,該資料結構包含多個索引值和對應的長度值;基於該鍵盤按鍵被致動,產生一序列包含經判定的該字元碼之鍵盤字元碼,該序列具有相等於被選擇的長 度值之一長度,以及經判定的該字元碼基於被選擇的索引值被定位在該序列之一特定位址;以及傳送該經編碼字元碼至該應用程式。
  18. 如申請專利範圍第17項之方法,其更包含產生該共享秘密,該共享秘密包含一字元碼索引值、一封包長度值、一時間延遲值、以及用於與該經判定字元碼進行一邏輯運算之一值中之至少一值。
  19. 如申請專利範圍第17項之方法,其更包含在一鍵盤與多個應用程式之各者間選擇性地建立通訊流,各通訊流使用一相異的共享秘密。
TW098101540A 2008-01-22 2009-01-16 使用於鍵盤及應用程式間之共享秘密技術 TWI444834B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/051603 WO2009094018A1 (en) 2008-01-22 2008-01-22 Shared secret used between keyboard and application

Publications (2)

Publication Number Publication Date
TW200941279A TW200941279A (en) 2009-10-01
TWI444834B true TWI444834B (zh) 2014-07-11

Family

ID=40901355

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098101540A TWI444834B (zh) 2008-01-22 2009-01-16 使用於鍵盤及應用程式間之共享秘密技術

Country Status (6)

Country Link
US (1) US9292715B2 (zh)
CN (1) CN101925909A (zh)
DE (1) DE112008003630T5 (zh)
GB (1) GB2469594B (zh)
TW (1) TWI444834B (zh)
WO (1) WO2009094018A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US9390251B2 (en) 2011-08-08 2016-07-12 Intel Corporation Delivering data from a range of input devices over a secure path to trusted services in a secure element
CN102930222B (zh) * 2012-09-20 2015-09-30 无锡华御信息技术有限公司 反键盘记录方法及系统
EP3742663B1 (en) * 2019-05-20 2024-02-07 Nokia Technologies Oy Shared secret generation

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903653A (en) * 1997-02-11 1999-05-11 Remote Technologies, L.P. Vehicle security system
US6490353B1 (en) * 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
US7328457B1 (en) * 1999-06-30 2008-02-05 Entrust Limited Method and apparatus for preventing interception of input data to a software application
KR100379675B1 (ko) 2000-07-08 2003-04-11 이종우 보안기능을 갖는 어댑터 및 이를 이용한 컴퓨터 보안 시스템
KR100378586B1 (ko) * 2001-08-29 2003-04-03 테커스 (주) 엑티브엑스 기반의 키보드 해킹 방지 방법 및 장치
US7779062B2 (en) * 2004-08-18 2010-08-17 Ripple Effects Holdings Limited System for preventing keystroke logging software from accessing or identifying keystrokes
US20030159053A1 (en) * 2002-02-19 2003-08-21 Charles Fauble Secure reconfigurable input device with transaction card reader
US7243237B2 (en) 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
US20060184785A1 (en) * 2005-02-16 2006-08-17 David Carroll Challener Apparatus, system, and method for securing I/O communications between a blade and a peripheral interface device of a blade-based computer system
JP2006343873A (ja) 2005-06-07 2006-12-21 Canon Inc パスワード入力装置およびその方法、およびパスワード認証システム
KR20070016029A (ko) * 2005-08-02 2007-02-07 최성필 컴퓨터 보안 기능을 제공하는 휴대용 usb 저장 장치 및상기 휴대용 usb 저장 장치의 동작 방법
TWI279726B (en) * 2005-09-28 2007-04-21 Lite On Technology Corp Method and computer system for securing backup data from damage by virus and hacker program
US7703088B2 (en) * 2005-09-30 2010-04-20 Intel Corporation Compressing “warm” code in a dynamic binary translation environment
KR100734145B1 (ko) * 2005-10-12 2007-07-03 주식회사 안철수연구소 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법
US20070240212A1 (en) * 2006-03-30 2007-10-11 Check Point Software Technologies, Inc. System and Methodology Protecting Against Key Logger Spyware
US7899397B2 (en) * 2007-11-27 2011-03-01 Avi Kumar Mobile internet device with detachable wireless module

Also Published As

Publication number Publication date
DE112008003630T5 (de) 2010-10-28
TW200941279A (en) 2009-10-01
US20100287315A1 (en) 2010-11-11
GB201012069D0 (en) 2010-09-01
US9292715B2 (en) 2016-03-22
WO2009094018A1 (en) 2009-07-30
GB2469594B (en) 2012-08-29
GB2469594A (en) 2010-10-20
CN101925909A (zh) 2010-12-22

Similar Documents

Publication Publication Date Title
US8176324B1 (en) Method and system for a secure virtual keyboard
CN1740991B (zh) 使用地址比特来发送地址空间中数据安全属性的信号的系统和方法
TWI431501B (zh) 在usb訊標上的密碼鍵容器
CN100565457C (zh) 向具有高保证执行环境的系统提供安全输入的系统和方法
US8712050B2 (en) Method for implementing dynamic pseudorandom keyboard remapping
US20120079281A1 (en) Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
CN103299315A (zh) 用于原位加密的系统和方法
US20090070595A1 (en) System for implementing dynamic pseudorandom keyboard remapping
US20080229115A1 (en) Provision of functionality via obfuscated software
CN108292992A (zh) 利用密钥和推导参数进行密码生成
CN1599311A (zh) 具有键盘或相关设备的安全通信
EP2130159B1 (en) Secure data storage and retrieval incorporating human participation
US20130268777A1 (en) Securing Inputs from Malware
TW200912694A (en) Method and system for preventing password theft through unauthorized keylogging
US7266688B2 (en) Methods for improved security of software applications
US11328097B2 (en) Encryption circuit for performing virtual encryption operations
TWI444834B (zh) 使用於鍵盤及應用程式間之共享秘密技術
TWI728355B (zh) 密碼保護的資料儲存裝置以及非揮發式記憶體控制方法
JP4704369B2 (ja) コンピュータ・システムおよびユーザの認証方法
JP2017526220A (ja) 順不同(out of order)データに対する推論的暗号処理
US8407479B2 (en) Data authentication and tamper detection
US8935771B2 (en) System, method, and computer security device having virtual memory cells
US20100325444A1 (en) Document encrypting system and method thereof
JP6203556B2 (ja) 情報処理システム
US20200272729A1 (en) Quantum Secure Password Application

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees