TW201103298A - Method and system for securing communication - Google Patents

Method and system for securing communication Download PDF

Info

Publication number
TW201103298A
TW201103298A TW99108893A TW99108893A TW201103298A TW 201103298 A TW201103298 A TW 201103298A TW 99108893 A TW99108893 A TW 99108893A TW 99108893 A TW99108893 A TW 99108893A TW 201103298 A TW201103298 A TW 201103298A
Authority
TW
Taiwan
Prior art keywords
message digest
secret
client
communication
key
Prior art date
Application number
TW99108893A
Other languages
English (en)
Inventor
Guy L Fielder
Original Assignee
Pacid Technologies Llc
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 Pacid Technologies Llc filed Critical Pacid Technologies Llc
Publication of TW201103298A publication Critical patent/TW201103298A/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Description

201103298 六、發明說明: 【考务明所屬标領3 本發明係有關於用以保全通訊之方法及系統。 交互參考相關申請案 本申請案主張2009年3月25日提出申請且名稱為 ^Method and System for a Multi-threaded Algorithm Which Provides Security For Computers, Networks, and Information,”的美國臨時申請案第61/163,414號的權益,其 併入本文以供參考。 t;先前技術3 發明背景 電腦系統協助於管理(例如,儲存、組織、及通訊)大量 資訊。一些受一電腦系統管理的資訊是機密的。換言之, 欲使此類資訊的存取受到限制。傳統的保護方案藉由在一 預定義的入口點要求一使用者提供認證憑證(authentication credentials)存取一包括機密資訊的帳戶來試圖阻止未經授 權的使用者存取機密資訊。然而,僅保護預定義的入口點 不能解決不法之人利用電腦系統的弱點來建立其他入口 點。舉例而言,一使用者的硬體及軟體系統、系統組態、 網路連接類型等的知識可被用來建立一入口點並獲得對機 密資訊的存取。 爲了阻止未經授權對機密資訊的存取,機密資訊可被 加密。加密是一將明文機密資訊轉換成一加密格式的過 程,該加密格式不能被未擁有解密鑰的任何人或任何物讀 201103298 加及n被絲執行該轉換。加密技術 被刀為兩主要的技術類型:對稱加密技術與非對稱加密技 術。對稱加密技術使用相同的密鑰來加密與解密資訊。非 對稱加密技術使用一對相對應的密鑰:一密鑰加密資料且 该對密輪另一密鑰解密資料。 C号务明内】 發明概要 大體上,在一層面,本發明有關於一種保全複數個成 員之間的通訊之方法《該方法包括一第一成員將—第一輸 入發送至一第二成員,接收該第二成員的一第二輸入,並 由一 η位元產生器使用該第一與該第二輸入產生—初始訊 息摘要(message digest)。該第一成員與該第二成員之間的 通訊是使用該初始訊息摘要而被加密。 大體上,在一層面’本發明有關於一種包括一處理器、 —記憶體、及儲存於記憶體中致使該電腦裝置執行的軟體 指令之電腦裝置。該等軟體指令致使該計算裝置將—第— 輸入發送至一第二成員,接收該第二成員的一第二輸入, 並由一η位元產生器使用該第一與該第二輪入產生一初始 訊息摘要。該第一成員與該第二成員之間的通訊是使用該 初始訊息摘要被加密。 大體上,在一層面,本發明有關於一種包括其内包含 電腦可讀取程式碼的電腦可讀取媒體,該電腦可讀取程式 碼用於致使一電腦系統執行一種保全複數個成員之間的通 訊之方法。該方法包括一第一成員將一第—輸入發送至一 201103298 第二成員,接收該第二成員的一第二輸入,並由一η位元產 生器使用該第一與該第二輸入產生一初始訊息摘要。該第 一成員與該第二成員之間的通訊是使用該初始訊息摘要被 加密。 本發明之其他層面由下面的說明及後附申請專利範圍 將是顯而易見的。 圖式簡單說明 第1Α-1Β圖繪示依據本發明之一或一個以上的實施例 之示意圖。 第2Α-5Α圖繪示依據本發明之一或一個以上的實施例 之流程圖。 第5 Β圖繪示依據本發明之一或一個以上的實施例之一 牵色例訊息摘要。 第5C-8圖繪示依據本發明之一或一個以上的實施例之 流程圖。 第9-10圖繪示依據本發明之一或一個以上的實施例將 一訊息摘要劃分為成分值的範例。 第11圖繪示依據本發明之一或一個以上的實施例之一 範例檔案常數值。 第12圖繪示依據本發明之一或一個以上的實施例之一 電腦系統。 【實施方式3 詳細說明 參考附圖,現在將詳細描述本發明的特定實施例。在 201103298 各不同圖中爲了一致,用相同的參考數字表示相同的元件。 在下面本發明實施例的詳細說明中,許多特定細節被 提出是爲了提供對本發明的一更徹底的理解。然而,對於 本技藝中具有通常知識者將顯而易見的是,本發明可在沒 有這些特定細節的情況下被實施。在其他情況中,習知特 徵未被詳細描述以避免不必要的使本說明複雜化。 大體上,本發明的實施例有關於保全一群組之成員之 間的通訊,其中每一成員是一計算裝置。在本發明之一或 一個以上的實施例中,該群組是兩或兩個以上分享(或欲分 享)機密資訊的成員。機密資訊可被以通訊(或其部分)傳 輸。通訊的範例包括但不限於,短訊息服務(SMS)訊息、電 子郵件(e-mail)、聊天訊息、音訊訊息、圖形、音訊-視覺訊 息(例如,視訊檔案、流視訊等)。名詞「機密」及「秘密」 在本說明書中被交替使用來指要受保護避免未經授權的存 取及揭露之資訊、項、值或檔案。此外,如本文所使用, 一通訊在當該通訊的至少一部分被加密時被加密。 在本發明之一實施例中,一計算裝置是任一可被用來 執行本發明的實施例之實體或虛擬裝置。實體裝置可對應 於任一具有實施本發明之一或一個以上實施例之功能的實 體系統。舉例而言,實體裝置可在一通用計算裝置(即,有 一(多)處理器及一作業系統的一裝置)上被實施,諸如但不 限於,一桌上型電腦、一膝上型電腦、一遊戲機、一行動 裝置(例如,智慧電話、一個人數位助理、遊戲裝置)。 可選擇地,實體裝置可以是一特定用途的計算裝置, 6 201103298 2 裝置括組錢僅執行本發明的實施例的一(多)特 疋應用處理$/硬體。在此類情況中實體裝置可將本發明 的實施例以硬體方式眘—& _ 貫為一電路族及依據本發明的各不 同實%例接收輪人並產生輪出之有限功能。另外,此類計 算裝置可制-狀態機來實施本發明的各不同實施例。 在本發明的另—實施例中,實體裝置可對應於一包括 一(多)通用處理器;5 — 士 ^ 士 (多)特足應用處理器/硬體之計算裝 置。在此類情況中,本發" 月之一或一個以上的部分可使用 ㈣通用處理器被實施且本發明之-或-個以上的 部分可使詩定應用處理^硬體被實施。 置可對應於—虛擬機。廣義而言,虛擬機是被 一抽象層繼承主機作業系統的基本功能(並存 取基本主機硬體)的區難作«境。在本㈣之—或一個 以上的實施例中,一虛擬機包括一與主機作業系統不同之 -作η統的單獨實例。舉例而言’本發明之—或一個以 上的實施例可在VMware®架構上實施,包含:⑴—或一個 以上的虛擬機在一主機電腦系統上執行使得每—虛1機充 當一客作業系統之一實例的主機;及(ii)一超管理器層,其 服務於促進主機内該一或一個以上虛擬機與主機電腦系統 硬體之間的通訊。可選擇地,本發明之—或一個以上的實 施例可在Xen®架構上實施,包含:⑴一控制主機作業系統 (例如,Dom 0)包括一超管理器;及(ii)—或—個以上執行客 作業系統實例的VM(例如,Dom U)。本發明不限於前面提 到的示範架構。VMware®是VMware公司的註冊商標。乂印⑧ 201103298 是受Xen專案諮詢委員會監督的一商標。 各該成員可被例如一個人、一企業實體、一家庭、任 一其他實體、或其等之任一組合來使用。舉例而言,一群 組可有成員John Smith的計算裝置及Jane Doe的計算裳 置。另一範例之一群組可有成員John Smith的智慧電話、 John Smith的個人電腦、及John Smith的遊戲控制臺。又一 範例之一群組可有成員John Smith的計算裝置、Jane Smith 的計算裝置、及Smith財務顧問的伺服器。其他可能的群纪 在不背離本發明範圍的情況下可存在。 在本發明之一或一個以上的實施例中,每一成員將— 輸入發送至群組中的每一其他成員。在接收其他成員的輪 入之後,每一成員藉由使用一η位元產生器中的輸入來個別 地建立一初始訊息摘要。該η位元產生器產生一確定性的鈇 果。具體地,當相同的輸入被使用時’該—立元產生器的輪 出是相同的。因為該群組中的所有成員使用相同的輸入且 有執行相同操作之η位元產生器’產生的訊息摘要對於該群 組中的所有成員是相同的。繼續討論,初始訊息摘要可包 括一密鑰或可被用來建立-密錄。因此,該群組的成員能 夠獨立建立相同的顏來保全該群組成貝之間的通訊。b 第1A-1B圖繪示依據本發明之—或―個❹时一 之示意圖。如第1A圖所示,該系統包括—網路⑽)、成員 (例如’ 1〇4A、讎)、及可取捨地一公鑰儲存庫(106)。這 些成分中的各一個在下文予以描述。 在本發明之一或一個以上的實施你丨 貝他例中,一網路(1〇2)是 201103298 裝置的一互連而允許網路中任兩裝置之間通訊。例如,網 路(102)可對應於一區域網路(LAN)、一廣域網路(WAN), 諸如網際網路、任一其他類型的有線或無線網路 '或其等 的任一組合。 在本發明之一或一個以上的實施例中,每一成員(例 如’ 1(MA' 104B)包括一安全應用程式。在每一成員⑽如, 104A' 104B)上的該安全應用程式(例如,ι〇8Α、108B)可為 同一應用程式、同一應用程式的不同版本、或不同應用程 式的實例。此外’安全應用程式可對應於另一應用程式之 一完整程式產品或一程式化模組。舉例而言,安全應用程 式可以是一銀行或商業應用程式的一部分並為其提供安 全。在本發明之一或一個以上的實施例中,安全應用程式 (例如’ 108A、108B)包括一 η位元產生器(例如’ 110A、 110Β)、一加密模組(例如,1 ΐ2Α、112Β)、及一介面(例如, 114Α、114Β)。安全應用程式(例如,108Α、ι〇8Β)之各該成 分可在硬體、軟體、韌體、或其等的一組合中實施。安全 應用程式之成分在下面被討論。 在本發明之一或一個以上的實施例中,一η位元產生器 (例如’ 110Α、110Β)包括接收並處理一或一個以上的輸入 以產生一訊息摘要之功能。一訊息摘要是一串字元,其依 據本發明之一或一個以上的實施例可被表示為一位元串。 在本發明之一或一個以上的實施例中,該訊息摘要是一位 元串。此外,依據本發明之一或一個以上的實施例,該η位 元產生器包括產生一確定性的及可重複的訊息摘要之功 201103298 能’該訊息摘要看起來是偽隨機或隨機的。〆偽隨機輪出 (例如,訊息摘要)是可重複及可預測但看起來隨機之輪出。 具體地’在本發明之的實施例中,雖然訊息 摘要在田η位元產生器(例如,11〇六、η〇B)執行的輪入及操 作已知時S可重複及可計算的,但是訊息摘要看起來隨 機。依據本發明之-或—個以上的實施例,該表觀上的产 機性可能是㈣知道或料秘入的某 人而言β依據本發 明之一或—個以上的實施例,可選擇地或附加地,該顯而 易見的隨機性可能是針料知道η位元產生器所執行的操 作之某人而s。在本發明< —或一個以上的實施例中,訊 息摘要是確定性的乃因—给定的輸人集合存在-單—輸 出。再者,訊息摘要可以是—固^長度。換言之,無論: 入長度,同一 η位元產生器(例如,11〇Α、11〇的可產生二^ 一固定長度的訊息摘要。 輸入至η位元產生器的位元數可以是與η位元產生器所 產生之輸出中的位元數不同或相同的β舉例而言,如果η位 元產生器接收η位元數輸入並產生m位元數輪出,m可小 於、等於、或大於η。η位元產生器的多次送代可被執行以 構建一不斷增加、包括多個訊息摘要之m位元結果。 此外,η位元產生器(例如,110A、110B)包括產生一確 定性的訊息摘要之功能。具體地’ η位元產生器(例如, 110Α、110Β)具有下面的兩性質。第一,η位元產生器(例如, 110Α、110Β)在當被提供有相同輸入時產生相同訊氣摘要。 第二’η位元產生器在當被提供有不同輪入時以—高概率產 10 201103298 生一不同的訊息摘要。舉例而言,輸入中的一單一位元改 變可造成生成訊息摘要中位元的一顯著改變。在該範例 中,改變可能是50%的位元,視所使用的η位元產生器的類 型而定。然而,在不背離本發明的範圍的情況下,一較大 百分比或較小百分比位元可改變。 η位元產生器(例如,110Α、110Β)可包括多個次常式, 諸如一位元混洗器(shuffler)(未繪示)及一雜凑函數(未繪 示)。在本發明之一或一個以上的實施例中,位元混洗器包 括將多個輸入結合成一單一輸出之功能。具體地,位元混 洗器將一函數應用於輸入的位元級表示以產生一組生成的 輸出位元。位元混洗器的輸出可顯示為在每一輸入中的位 元混洗,且可以具有或不具有與輸入相同的1對0比。在本 發明之一或一個以上的實施例中’位元混洗器的位元混洗 具有一交換性。換言之,輸入被提供至位元混洗器的順序 不影響輸出。舉例而言,考慮此情形,其中輸入為輸入X ' 輸入Y、輸入Z。對輸入X、輸入Y、輸入Z的位元混洗產生 與對輸入Y、輸入Z、輸入X位元混洗相同的輸出。 在本發明之一實施例中’位元昆洗器可對應於結合輸 入的任一函數或系列函數。舉例而言,位元混洗器可對應 於異或(XOR)函數,相乘函數、一相加函數 '或另一可被用 來結合輸入的函數。如另一範例,有位元混洗器的安全應 用程式可對應於一函數,其排列輸入的順序及進而使用一 非父換函數來產生—輸出。在不背離本發明之範圍的情況 下,s亥位元混洗器可對應於其他結合多個輸入的機制。 201103298 在本發明之一或—個以上的實施例中,一雜湊函數是 一包括接收一輸入並產生一偽隨機輸出之功能的函數。本 發明之-或-個以上的實施例中該雜凑函數可包括將一 變數長度轉換成一固定長度輸出之功能。舉例而言 ,該雜 凑函數可對應於 GOST、HAVAL、MD2、MD4、MD5、 PANAMA、SNEERU、雜凑函數之RIpEMD族中的一員、雜 湊函數之SHA族中的—員、Tigei>、whiHpQGb S B〇x、任 一其他雜湊函數、或其等的任一組合。 雖然上面說明先於雜湊函數討論位元混洗器的使用, 但疋在本發明之—或_個以上的實施例中雜凑函數操作可 先於位70混洗器操作而被執行。舉例而言,雜湊函數可對 各執行以產生雜凑輸人。雜凑輸人接著可由位 70混洗器結合。可選擇地,位元混洗器可首先對輸入執行 以在該中間結果被提供至雜凑函數之前產生一單一中間結 果。該中間結果可被儲存以在後面使用產生後續訊息摘要。 在本發明之一或一個以上的實施例中,η位元產生器 (例如,110Α、110Β)被可操作地連接至一加密模組(例如, 112Α、112Β)。加密模組(例如,U2A、U2B)包括管理成員 (例如’ 104Α、104Β)的資訊加密與解密之功能。舉例而言, 加密模組可包括接收資訊、向η位元產生器(例如,11〇Α、 110Β)請求一或一個以上的訊息摘要、自該一或一個以上訊 息摘要擷取一密鑰、及使用該密鑰來加密該資訊之功能。 可選擇地或附加地,加密模組(例如,η2Α、U2B)可包括 接收加密資訊、向η位元產生器(例如,η〇Α、11〇Β)請求一 12 201103298 或一個以上的訊息摘要、自該一或一個以上訊息摘要擷取 一密鑰、及使用該密鑰來解密該加密的資訊之功能。 在本發明之一或一個以上的實施例中’加密模組(例 如’ 112A、112B)在一群組的所有成員中都被同樣組態以請 求相同數目的訊息摘要。該組態可舉例而言基於通訊類 型、加密演算法、及/或自訊息摘要擷取的資料類型。 加密模組(例如,112A、112B)實施一或一個以上的加 岔 >貝算法。在本發明之一或一個以上的實施例中,加密演 算法包括將資訊自一明文格式轉換成一不能被未擁有一相 對應密鑰的任何人或任何物讀取之加密格式。舉例而言, 加密演算法可對應於資料加密標準(D E S)中規範之資料加 密演算法(DEA)、三重DES、高級加密標準(AES)、FEAL、 SKIPJACK、任一其他加密演算法、或其等的任一組合。在 本發明之一或一個以上的實施例中,加密模組僅實施對稱 加密演算法。 雖然在第1A圖未繪示,但是加密模組(例如,H2A' 112B)也可包括或被可操作地連接至一演算法選擇器表(未 繪示)。一演算法選擇器表是加密演算法與一演算法識別符 之間的一邏輯關聯。該演算法識別符可以是,舉例而言, 一數字的、二元的、或另一這樣的值。在本發明之一或一 個以上的實施例中’在一範圍内的所有演算法識別符被呈 現。舉例而言,演算法識別符可以是一整數範圍(例如, 0...15)、一系列二元值(例如,〇〇〇、ooi、〇1〇、…m)。此 外,相同的加密演算法可與表中的多個演算法識別符相關 13 201103298 聯。舉例而言,「0」可對應於AES,「1」可對應於三重des, 「2」可對應FEAL,及「3」可對應於三重DES。 此外,在本發明之一或一個以上的實施例中,加密演 算法識別符與加密演算法之間的關聯不是基於加密演算法 之一預定義的排序。具體地,該關聯可被隨機定義。 使用「表」一詞僅表示一邏輯表示,在不背離本發明 的範圍的情況下可使用演算法選擇器表的各不同實施。舉 例·而言,使用一系列條件敘述可在電腦指令中實施演算法 選擇器表。具體地’當一條件敘述被滿足時,對應於加密 演算法的實施之程式碼被執行。作為另一範例,演算法選 擇器表可作為一資料結構被實施,該資料結構將連續加密 演算法識別符與針對各加密演算法之安全應用程式所使用 的識別符相關聯。上面只是演算法選擇器表之可能實施的 幾個範例而並不欲限制本發明的範圍。 此外,所有成員將相同的加密演算法識別符與相同相 對應的加密演算法相關聯。舉例而言,如果一成員將「〇」 與AES相關聯、「丨」與三重DES相關聯、「2」與FEAL相關 聯、及「3」與三重DES相關聯,則剩餘成員將「〇」與AES 相關聯、「1」與三重DES相關聯、「2」與FEAL相關聯、及 「3」與三重DES相關聯。此外,所有構架可能會或可能不 曰使用一次算法選擇器表的相同實施。 在本發明之一或一個以上的實施例中,演算法選擇器 表包括每一加密演算法及密鑰長度對的單獨入口。在本發 明之一或一個以上的實施例中,加密模組可識別加密演算 14 201103298 法選擇器表中的加密演算法並使用與加密演算法相關聯的 密鑰長度來擷取密鑰的適當位元數目。舉例而言,對於有 256位元一密錄長度之Blowfish可存在一入口及對於384位 元的一密錄長度之Blowfish可存在一單獨入口。在範例中, 如果第一入口在訊息摘要之演算法選擇器位元中被指定 (下面討論),則256位元自密鑰之訊息摘要被擷取。可選擇 地,在範例中,如果第二入口被指定,則384位元自密鑰之 訊息摘要被操取。 此外,演算法選擇器表中的每一入口可包括一開始位 元值。該開始位元值可被用來識別在秘密儲存庫中使用的 一第一秘密或一開始位元針對訊息摘要中的密鑰。 可選擇地,雖然未在第1A-1B圖中繪示,系統可包括一 密鑰長度表。該密鑰長度表可用一相對應的密鑰長度來指 定一識別符。類似於演算法選擇器表,密鑰長度表的多個 不同可能實施可被使用而不背離本發明的範圍。此外,該 群組的所有成員都有密鑰長度識別符與密鑰長度之間的關 聯,但可能未具有相同實施的鑰長度表。舉例而言,「1」 可與「256位元」相關聯,2可與「128位元」相關聯等。 在本發明之一或一個以上的實施例中,當一密鑰長度 表被使用時,演算法選擇器表可被用來指定加密演算法, 及密鑰長度表可被用來指定密鑰中的位元數。具體地,訊 息摘要中的一密鑰長度欄位(下面討論)可對密鑰長度表中 的對應項編索引。在本發明之一或一個以上的實施例中, 如果被指定的加密演算法不允許可變密鑰長度,則訊息摘 15 201103298 要中的密鑰長度欄位被忽略。 繼續討論安全應用程式(例如,108A、108B),在本發 明之一或一個以上的實施例中,介面(例如,114A、114B) 包括連接至不是安全應用程式(例如,108A、108B)—部分 之實體的功能。舉例而言,介面(例如,114A、114B)可對 應於一應用程式介面(ΑΠ)及/或一使用者介面。安全應用程 式可被組態成與其他使用該API在相同或不同計算裝置上 執行之應用程式通訊。因此,舉例而言,成員A的安全應用 程式(108A)的API可包括經由網路與成員B的安全應用程式 (108B)通訊之功能。如另一範例,API可包括接收一檔案的 一加密格式並將該檔案的一明文格式提供給在成員A(例 如,在104A、104B)上執行的另一應用程式之功能。相反地, ΑΠ可包括自成員A(108A)上的另一應用程式接收一檔案的 —明文格式並將該檔案的一加密格式提供給在成員A(108A) 上執行的另一應用程式之功能。 在本發明之一或一個以上的實施例中,使用者介面包 括與成員(例如’ 104A、104B)的一使用者通訊之功能。具 體地,使用者介面包括接收使用者的輸入及/或提供資訊給 使用者之功能。使用者介面可包括硬體及/或軟體成分,諸 如資訊框、菜單按鈕、下拉框、輸入框、硬體燈、硬體按 紐、及/或其他使用者介面成分。 繼續第1A圖’公鑰儲存庫(1〇6)是用一公鑰隱藏一成員 的身份之一機構。舉例而言,公鑰儲存庫(1〇6)可對應於公 输基礎架構(PKI)(例如,憑證機構、註冊機構、目錄、及/ 16 201103298 或Ρία的住一其他成分)。具體地,該群組的一或一個以 上的ώ。 貝可附加實施非對稱加密。在非對稱加密中,用成 員的厶(加密)鑰來加密資訊及用成員的私(加密)鑰來解密 貝頬似地,資訊可用成員的私(加密)鑰來加密且僅可用 成員的公(加密)鑰來解密。公鑰是公開可用的並與公鑰儲存 (6)中成員的識別符相關聯。私鑰被保全且僅為成員所 知公鑰儲存庫(106)包括接收一持有一成員身份的請求並 日應於S亥凊求提供成員的公錄之功能。 作為另—範例’公鑰儲存庫〇〇6)可以是一可以信任的 ;1紹者(中間者)。具體地,中間者可以是一為其他成員所知 的成員及可被用來將一秘密種子安全地提供給先前不為彼 此所知的成員。在範例中,中間者可將秘密種子安全地傳 送至先前不為彼此所知但為中間者所知的各該成員。因 此’中間者可將成員介紹給彼此。 雖然第1A圖將安全應用程式(例如,ι〇8Α、108B)的所 有成分繪示為位於成員(例如,1 〇4A、104B)上,但是安全 應用程式(例如,108A、108B)的至少一部分可遠離成員(例 如,104A、104B)。舉例而言,安全應用程式的一部分可被 儲存於一外部儲存裝置上。如另一範例,一被連接至成員 的外部裝置可被組態成處理並顯示在成員上執行之安全應 用程式(例如,l〇8A、l〇8B)的一使用者介面。 第1B圖繪示依據本發明之一或一個以上的實施例之一 系統的一示意圖。如第1B圖所示,第1B圖中的許多成分都 與第1A圖中的相同。然而,如第1B圖所示,各該成員 17 201103298 (104A、1G4B)可包括-秘密儲存庫(例如,u6A、臟)。 在本發明之-或-個以上的實施财,秘密儲存庫(例如, 跑、U6B)是任-類型的儲存單元及/或裝置(例如,一槽 案系統、檔案、檔案集、資料庫、表集、外部資料儲存(例 如,-脳驅動機等)或任一其他儲存機制)供儲存機密。此 外,秘密儲存庫(例如,116A、116B)可包括多個不同的儲 存單元及/或裝置。 116Β)十的秘密對應於僅為 此外,該群組的每一成員可 秘密儲存庫(例如,116A、 δ亥群組中的成員所知的資料。 110Α、110Β)獨立地產生秘密。 使用一 η位元產生器(例如, 因此’秘密可對應於一或—個以上的訊息摘要,或其部分。 產生秘從在下面及第2Α-7Β圖中被討論。 依據本發明之-或一個以上的實施例,秘密儲存庫(例 如116Α、116Β)中的秘密各與一給定群組相關聯且可依據 通訊類型被進-步組織。舉例而言,用於在一聊天對話中 加讼之秘密可與用於在—電子郵件通訊中加密之秘密不 同。可選擇地或附加地,秘密可基於—要被加密的檔案之 明文權案格式被輯。舉·言,詩給可攜式機式(pDF) 槽案加密之秘密可與用於給可擴展標記語言(XML)檔案加 岔之秘密不同。 在本發明之一或一個以上的實施例中,每一秘密是一 刀享的秘密。77予秘密可包括一靜態秘密、一動態秘密、 或-靜態與-動態秘密。依據本發明之—或—個以上的實 施例,靜態秘密可貫穿該群組的生存期而保持不變。舉例 18 201103298 而言,當該群組的成員失去與動態秘密有關的同步時藉由 提供新的分享秘密或一新的密鑰,靜態秘密可被用來恢復 保全通訊。反之,動態秘密可週期性地改變,諸如在每一 通訊對話的末尾或在開始一通訊對話之前或在一通訊對話 的預定義邊界處。 在本發明之一或一個以上的實施例中,一通訊對話可 以是一群組相關通訊(例如,相關短訊息服務訊息(SMS)、 相關電子郵件、聊天訊息、或其他相關通訊)。可選擇地或 附加地,一通訊對話可對應於一群組在一第一次開始且有 一預定義時間量的歷時之通訊。該預定義時間量可例如依 據上一次通訊被發送及/或接收之後的時間量而被定義。 第2A-8圖繪示依據本發明之一或一個以上的實施例之 流程圖。雖然在這些流程圖中的各不同步驟在隨後被呈現 及描述,但是具有通常技藝者將瞭解的是,一些或所有步 驟可按不同順序執行、可被結合或忽略、及一些或所有步 驟可並行執行。 具體地,第2A圖繪示依據本發明之一或一個以上的實 施例之一流程圖,該流程圖使用一群組協議的種子產生一 初始訊息摘要。第2B圖繪示一基於每一成員發送及接收的 輸入產生一初始訊息摘要之流程圖。第3A及3B圖繪示使用 初始訊息摘要之流程圖。第4圖繪示依據本發明之一或一個 以上的實施例之在一客戶端伺服器系統中產生一初始訊息 摘要之一範例。第5 A - 5 E圖繪示一客戶端認證客戶端伺服器 系統中的伺服器之流程圖及圖式。第6圖繪示一群組的一範 19 201103298 1L其令母""成員提供—第—訊息摘要的輸人。第从及78 式'、’日示產生新的_之流程圖。第8圖繪示依據本發明之一 t個以上的實施例來加密—檔案之—流程圖。各該流程 圖在下面被討論。 參考第2A圖,在步驟2〇1,安全應用程式的組態被啟動 於與該群組的通訊。在本發明之一或一個以上的實施例 中’計算裝置的-4用者可藉由開啟安全應用程式、提供 使用者的身份碼(例如,使用者名字及密碼及/或其他認證身 2碼)、及提交該群組成員的資訊來啟動安全應用程式的組 態。舉例而言’提交的資訊可包括每—使用者的名字、昵 =、聯繫人資訊、及/或與該(等)成㈣訊之保全通訊通道 安全應用程式可被遠端細態,而非__使用者啟動安 全應用程式的組態。舉例而言,考慮此情形:其中群組包 括銀行計算裝置及在銀行有一帳戶之使用者的一裝置。 成員可由銀行計算裝置遠端啟動。可選擇地,使用者的計 ^裝置可啟動其安全應用程式的初始化並接著把控制遞交 、’D銀仃計算裝置以完成初始化,諸如如果成員臨時直接連 接至銀行計算裝置。在這-情形中,初始化,成員可自銀 行计异裝置移除並提供給一使用者供遠端通訊。 在步驟203,一群組協議種子被獲得。具體地,該群組 的成員及/或它們相對應的使用者傳送且同意一個群組協 4種子。如果使用者傳送及同意該群組協議種子,則使用 者可將该群組協4種子提交給安全應用程式。在此類實施 例中’安全應雜式獲得該成員的群組協議種子^如果該 20 201103298 成員與其他與群組協議種子有關的成員通訊,則該成員獲 知群組協4種子作為同意的種子。該群組協議種子可以是 任一禮碼、通行片語、或系列字元。舉例而言,該群組協 4 種子可以是“the cow jumped 〇ver the moon,’’“#8$#DsaVA(@l2w@,”或任何其他字元集⑽如,符元 及/或文數字元)。成員的使用者(或在成員上執行的一程式) 可透過電話、郵寄、或使用任—其他可選擇的通訊通道來 親自傳送該群組協議種h每—成M可將該群組協議種子 獨立提交給安全應肋式。當提科,每—❹的使用者 可將該群組協議種子鍵人安全應用程式之使用者介面的一 欄位。可賴地,在成員上執行的—過程可將該群組協議 種子提供給安全應用程式。舉例衫,當該群組需要與分 享秘密再同料,該過程可提供简組協議種子。 在步驟205,使用該群組協議種子作為n位元產生器的 輸入來產生-初聽息摘要。具體地,加賴群組使用該 群組協議種子作為輸人值調用安全應用程式中η位元產生 器的實例。 在步驟207,自初始訊息摘要掏取秘密。具體地,加密 模群組識別有關於一秘密之訊息摘要的每—部分。下面的 範例並不打算限制本發明的範圍。轉向一範例,在一Η]位 元訊息摘要中’在位元位置〇_127的位元可對應於靜態秘 密,在位元位置丨28.383雜Μ龍於動隸密及最後 128位元可對應於仍未使用的丟棄位元。在範例中安全應 用程式藉轉得訊錢要的位元來綠靜態秘密及 21 201103298 错由獲得接者的2 5 6位元來操取動態秘密。如所討論,上面 僅是一範例。舉例而言’靜態秘密、動態秘密、及丟棄位 元的排序可與前面範例不同’丢棄位元可被忽略,靜態秘 密或其一部分可處於不同訊息摘要中,動態秘密及其一部 分可處於不通過的訊息摘要中’或秘密之一可被忽略。在 本發明之一或一個以上的實施例中’每一安全應用程式對 於各該秘密擷取相同的位元。因此’群組的每一成員產生 相同群組秘密。 如擷取秘密的另一範例’訊息摘要中的位元可指示各 該秘密的開始部分。舉例而言’訊息摘要之低階或較不重 要的首四位元可被用作定義一秘密的開始之位移位元。在 這一範例中,一秘密的首個位元可在位移位元之後開始。 以一範例方式,如果訊息摘要中的位移位元是「0001」(或 以10為底數的1),則秘密在位元位置二開始。如另一範例, 如果位移位元是「1000」(或以10為底數的8),秘密開始— 位元9。 藉由使用初始訊息摘要及後續訊息摘要作為η位元產 生器的一輸入重複步驟205及207可產生群組的附加秘密。 可選擇地或附加地,步驟205及207可被重複多次以產生新 的秘密。舉例而言,每後一次可使用前一次的訊息摘要作 為輸入。可選擇地或附加地,附加的秘密可藉由重複其中 新群組協議種子被使用之步驟203-205來產生。 在步驟209,擷取的秘密被儲存於秘密儲存庫中《在本 發明之一或一個以上的實施例中,當擷取秘密被儲存時, 22 201103298 搁取秘密與該群組相_。舉例而言,同-群組娜的秘 密可被儲存於適當秘密儲存庫内㈣案卜如另一範例, 同-群組擷取的秘密可與—唯〆群組識別符相關聯。此 外,在本發明之一或—個以上的實施例中,安全應用程式 將-秘密識料與各該秘密相關聯。與同 一秘密相關聯之 該秘密識別符在該群組的所有成員中都是相同的。舉例而 言,該秘密識別符可以是—指定該(等)特定秘密有關於其他 秘密被產生的順序之順序數字識別符。在該範例中,第一 產生的秘岔可與一相關聯,第二產生的秘密可與二相關 聯,等。 附加地’群組所有成員的安全應用程式可被群組態成 將相同秘禮與相同通訊類型及/或相同應用程式類型相關 聯。舉例而言,安全應用程式可被群組態成將首四個產生 的秘密與電子郵件通訊相關聯,將接著六個產生的秘密與 視訊會議應用相關聯等。 在將秘密儲存於秘密儲存庫中之後,秘密可被用來產 生一密鑰供加密通訊。產生密鑰供加密通訊在下面的第3A 及3B圖中被討論。此外,依據本發明之一或一個以上的實 施例,因為群組所有成員產生相同的秘密,生成的密鑰在 群組所有成員中都是相同的。 第2B圖繪示一由提供輸入的群組各成員產生一初始訊 息摘要之流程圖。在本發明之一或一個以上的實施例中, 群組成員在執行下面討論的流程圖之前沒有分享的秘密。 雖然第2B圖是由群組成員之一的角度而被繪示及討論,但 23 201103298 是下面討論的步驟被群組的每一成員執行使得所有成員產 生相同的初始訊息摘要。此外,雖然第2B圖繪示一個兩成 員群組的一範例,但是附加的成員可被加入而不背離本發 明的範圍。 在步驟211,群組的一第一成員識別群組的一第二成 員。具體地,群組的一成員開始與群組通訊。下面是在群 組成員當中通訊可如何開始的幾個範例。 在一第一範例,在一第一成員上執行的安全應用程式 可接收一使用者聯繫群組的第二成員的一請求。如果第二 成員的資訊在安全應用程式中被預初始化,該請求可包括 一昵稱。可選擇地,該請求可包括第二成員使用者的名字、 昵稱、聯繫人資訊、成員用公鑰儲存庫的身份、成員的公 鑰及/或與第二成員通訊之保全通訊通道資訊。 在另一範例中,第一成員的安全應用程式基於第二成 員的一使用者的一請求可接收第二成員的安全應用程式之 一連接請求。作為回應,在有或沒有第一成員的使用者之 輸入的情況下,第一成員的安全應用程式可啟動與第二成 員的安全應用程式之通訊。 在步驟213,群組的第一成員將一第一輸入發送至群組 的第二成員。第一輸入可以是一非確定性隨機產生的查問 (challenge)、一通行片語' 或另一塊資料。此外,如果第二 成員有一公鑰,第一成員可驗證或獲得公鑰儲存庫的公鑰 並用公鑰加密第一輸入。可選擇地,第一輸入能以明文被 發送。雖然未在第2B圖中繪示,但第一成員將相同第一輸 24 201103298 入發送至群組的每一成員。 在步驟215,群組的第一成員接收第二成員的第二輸 入。如果第-成員有-錢,則第二輸人可以是—加密格 式。第—成員可使用第-成員的私錄來解密第二輸入。 好驟217, 一初始訊息摘要是由第一成員及第二成員 使用弟-輸入及第二輸入作為n位元產生器的輸入而被產 生。具體地’加密模群組用第一輸入及第二輸入來調用讀 ^產生器。因為第一成員與第二成員在η位元產生器的相同 實:上各使用第一輸入及第二輸入,針對第一成員及第二 成貝之生成的初始訊息摘要是相同的。 如上討論,安全應用程式可利用或不利用一使用者的 輸入來執行該等步驟。舉例而言,安全應式之加密模 群組可接收第二輸人並自主解密第二輸人。因此,加密模 群組可在沒有通知或f要至/來自—使用者的輸入的情況 下執行前面提到的步驟。 在步驟219使用初始訊息摘要力口密及解密成員之間的 通況。通訊可包括,舉例而言,槽案、整個訊息、附件、 或任何其他在群組成員之間發送的資料。如下面及在第从 及3Β圖中的4响’藉由自初始訊息摘要產生—密鑰可執行 加密及解密通訊。 可選擇地,一密鑰可自初始訊息摘要直接擷取。舉例 而吕’初始tfl息摘要可對應於第9圖所示之訊息摘要。第9 圖只是為示範目的而不欲限制本發明的範圍。如第9圖範例 所不’-訊息摘要(_)可包括—第—成員的—次性密碼
25 201103298 (402)、一第二成員的一次性密碼(404)、演算法選擇器位元 (406)、一密鑰長度(408)、一密鑰(410)、及一改變值(412)。 第一成員的一次性密碼(402)是第二成員的η位元產生 器產生來認證第一成員的一系列位元。具體地,因為第一 成貝及弟二成貝產生相同的訊息摘要(例如5不範訊息摘要 (400)),第一成員的一次性密碼(402)對於第一成員及第二成 員是相同的。因此,如果第一成員發送至第二成員之第一 成員的一次性密碼(402)與第二成員產生之第一成員的一次 性密碼相同,則第二成員知曉第一成員是可靠的。具體地, 第一成員知曉的是,第二成員接收相同的輸入且有一能夠 執行相同操作的η位元產生器。此外,在一或一個以上的實 施例中,一旦第一成員及第二成員密碼已被確認,存在一 極高概率的是,訊息摘要之其他相對應的位元也在系統之 間匹配。在本發明之一或一個以上的實施例中,在發送該 一次性密碼之前,使用一加密演算法及一密錄來加密該一 次性密碼。在此類實施例中,該一次性密碼被發送加密。 接收器可加密它們產生的一次性密碼並將加密產生的一次 性密碼與接收的一次性密碼相比較。作為一替代,接收器 可解密接收到的一次性密碼並接著將解密的一次性密碼與 產生的一次性密碼相比較。 類似地,第二成員的一次性密碼(404)是第一成員的η 位元產生器所產生來認證第二成員的一系列位元。具體 地,第二成員將第二成員的一次性密碼(404)發送至第一成 員。如果第二成員發送至第一成員之第二成員的一次性密 26 201103298 碼(404)與第一成員產生之第二成員的一次性密碼相同,則 第一成員知曉第二成員是可靠的。具體地,第二成員知曉 的是,第一成員接收到相同的輸入且有一能夠執行相同操 作的η位元產生器。 在本發明之一或一個以上的實施例中,一次性密碼(例 如,402、404)在產生包括一次性密碼(例如,402、404)之 訊息摘要之後及發送任何加密的機密資訊之前於成員之間 被發送。因此,依據本發明之一或一個以上的實施例,所 有成員在發送及/或接收機密資訊之前被認證。在本發明之 一或一個以上的實施例中,一次性密碼僅在一單一通訊對 話期間是有效的。對與每一新的通訊對話,新的一次性密 碼被產生並隨後用於認證成員。作為一替代,一次性密碼 僅可在一第一通訊對話期間被使用。後面成員之間的通訊 對話可不使用一次性密碼。在不背離本發明的範圍的情況 下,附加的一次性密碼可被產生來說明群組的附加成員。 附加的一次性密碼可例如藉由產生附加的訊息摘要而被產 生。 繼續第9圖中的示範訊息摘要,演算法選擇器位元(406) 將一索引值提供於演算法選擇器表中。具體地,訊息摘要 (400)中演算法選擇器(406)的使用允許用來加密通訊之加 密演算法的一隨機化。因此,不僅密鑰改變,而且加密演 算法也改變。在本發明之一或一個以上的實施例中,因為 每一群組有相同的演算法選擇器表、產生相同的訊息摘 要、並使用訊息摘要中相同的位元作為演算法選擇器位 27 201103298 元,群組的成員都知曉加密及解密通訊的演算法。此外, 每次一有演算法選擇器位元的訊息摘要被產生時,加密演 算法可相對前一產生的加密演算法改變。一固有保全設計 的一特徵在於,實施例除了秘密的所有層面可被發行並被 公開知曉。在本發明之一或一個以上的實施例中,一攻擊 者可知曉除了秘密外的一切且無法存取機密資訊。 密鑰長度(408)指定密鑰(410)的大小。具體地,密鑰長 度(408)指定密鑰(410)中的位元數。在本發明之一或一個以 上的實施例中,密鑰(410)有至少一最小大小(例如,64位元 最小值、128位元最小值)。密鑰(410)是一被加密演算法用 來加密及解密一或一個以上的通訊之鑰。因為所有成員使 用η位元產生器的相同實例來產生訊息摘要,由各該成員所 產生的密鑰是相同的。因此,密鑰不需要在成員之間被傳 送。再者,密鑰可被保持在安全應用程式中並不透過任一 使用者的任一介面被提供。因此,離開群組的使用者仍沒 有覺察到用來加密資料的密鑰。在本發明之一或一個以上 的實施例中,用來加密一通訊之訊息摘要的成分被稱為一 加密解決方案決方案。此類成分可包括,例如,演算法選 擇器位元、一密鑰、及一密鑰長度。本發明的其他實施例 可使用一固定的密鑰長度。在此類實施例中,可僅使用對 應於演算法選擇器位元之成分及固定長度的密鑰來加密通 訊。 在本發明之一或一個以上的實施例中,一改變值(412) 提供一偽隨機值來產生一新的訊息摘要(400)。舉例而言, 28 201103298 改變值可被用產生一新的密鑰或產生一新的動態秘密。在 下面及第3B圖與第7A及7B圖討論改變值的使用。此外,餘 存的秘密可被輸入至η位元產生器以產生出臨時的使用极、 密。依據本發明之一或一個以上的實施例,所產生的私密 僅在一對話期間被使用。在對話之後,產生的秘密被破壞 以便不再是任何不法方法可存取或者可獲得的。類似於臨 時使用秘密’改變值一旦與適當動態秘密相結合就被破壞。 返回至示範訊息摘要(400),第9圖僅是一訊息摘要之成 分的一範例。一些成分可被移除同時其他成分可被添加。 舉例而言,訊息摘要可包括丟棄位元。丟棄位元是被忽略 的位元。如另一範例,訊息摘要可僅包括密鑰之最重要的 位元或最不重要的位元,而非持有整個密鑰。另一訊息摘 要可被產生且包括剩餘位元。附加地,諸如演算法選擇号 位元(406)及密鑰長度(408)之成分可被排除在訊息摘要 外。作為另一範例’訊息摘要可僅包括演算法選擇器位元、 一密鑰、及可取捨地丢棄位元。對本技藝中具有通常知識 者而言應該顯而易見的是,成分的順序可改變。 作為另一範例,第一訊息摘要的改變值(412)可隨原始 輸入一起被輸入至η位元產生器來產生一第二訊息摘要。在 範例中,生成的第二訊息摘要可包括兩加密解決方案。具 體地,兩加密解決方案可自第二訊息摘要被擷取。在範例 中’第一使用者將藉由使用一第一加密解決方案加密保密 通訊來傳輸保密通訊及藉由使用第二加密解決方案解密保 也通讯來接收保密通訊。類似地,在範例中,第二使用者 29 201103298 將藉由使用第二加密解決方案加密保密通訊來傳輸保密通 訊及藉由使用第一加密解決方案解密保密通訊來接收保密 通訊。 第1 〇圖纟會示依據本發明之一或一個以上的實施例之 訊息摘要(420)的另一範例。如第1〇圖中範例所示,—气阜 摘要(420)可僅包括演算法選擇器位元(422)、—密錄長声 (4之4)、一密鑰(4%)、及一改變值(428)。雖然範例第1〇圖與 範例第9圖一樣來繪不说息摘要(420)之成分的排序,作是成 分的排序可在訊息摘要之間改變。舉例而言,密錄可以θ 整個訊息摘要、訊息摘要的首m個位元、訊息摘要的中間@ 個位元等。此外,每一安全應用程式被類似群組態成對各 該成分擷取相同群組位元。舉例而言,成員A的安全應用程 式與成員B的安全應用程式可被群組態成擷取在位置56開 始及在位置184結束之位元作為密鑰。 返回至第2B圖的討論’在第2B圖步驟217產生的初始 訊息摘要如上參考第2A圖步驟207的討論可包括一分享的 秘密,而非初始訊息摘要具有一密鑰。 第3A及3B圖繪示使用初始訊息摘要來產生一密鑰之 流程圖。如第3A圖所示’在步驟22卜分享秘密自初始訊息 摘要被擷取。擷取分享秘密可如上參考第2A圖步驟2〇7的討 論而被執行。 繼續第3 A圖,在步雜’ 一新的訊息摘要係使用分享 秘密作為η位元產生器的輸入而被產生。舉例而言,加密模 群組可調用η位元產生器炎傳遞分享秘密的參數。新的訊息 30 201103298 摘要可被解譯為,舉例而言,上面討論並在第9及10圖所示 之任一示範訊息摘要。 在第3A圖步驟225中,一密鑰自生成的訊息摘要被擷 取。擷取密鑰可包括加密模組識別對應於密鑰的位元位置 並將識別位元位置中的系列位元分開地儲存作為密鑰。在 本發明之一或一個以上的實施例中,系列位元元的儲存可 以是臨時的,諸如在快取記憶體或隨機存取記憶體(RAM) 中。可選擇地或附加地,系列位元元可在一按需要的基礎 上被擷取供立即使用。除了擷取密鑰之外,如上討論,演 算法選擇器位元、密鑰長度及訊息摘要的其他成分可被擷 取。擷取密鑰可類似於如上參考第2圖步驟207討論擷取秘 密而被執行。舉例而言,類似於使用位移位元來指定一秘 密的開始,位移位元可被用來指定一密鑰的開始。 第3B圖繪示使用初始訊息摘要的另一示範流程圖。第 3B圖繪示產生多個訊息摘要的一範例,其中每一訊息摘要 包括一些加密一通訊的成分。在步驟231,分享秘密自初始 汛息摘要被擷取。擷取分享秘密可如上討論來被執行。 在步驟233,一第二訊息摘要係使用分享秘密作為n位 元產生器的輸入而被產生。產生第二訊息摘要能以一與上 面參考第3Α圖步驟223所討論相類似之方式被執行。 在步驟235,改變值及其它成分自第二訊息摘要被操 取。擷取成分能以一與如上參考第3Α圖步驟225而討論之擷 取密鑰相類似之方式被執行。其他擷取的成分可包括,舉 例而言,密鑰之最重要的位元、密鑰之最不重要的位元、 31 201103298 演算法選擇器位元等。 在第3B圖的步驟237,改變值與分享秘密相結合以產生 一 時動態秘密。將改變值與分享秘密相結合可例如被一 位元混洗器執行。具體地,上面關於位元混洗器所討論的 所有操作可被執行以將改變值與分享秘密相結合。在本發 明之一或一個以上的實施例中,一數字可被加入至改變值 或結果來說明改變值為零的可能性。作為範例而非限制, 結合可以是改變值異或(XOR)動態秘密加一。 在步驟239,一第三訊息摘要係使用臨時動態秘密及分 享秘密作為η位元產生器的輸入而被產生。步驟239可被執 行,舉例而言,以一類似於上面參考步驟233的討論之方 式。在本發明之一或一個以上的實施例中,第三訊息摘要 可使用改變值、動態秘密 '及分享秘密作為η位元產生器的 輸入而被產生,而非執行步驟237產生一臨時動態秘密並接 著使用該臨時動態秘密執行步驟2 3 9產生一第三訊息摘要。 在步驟24卜依據本發明之一或一個以上的實施例,自 第二讯息摘要擷取一改變值及其它成分。擷取—改變值及 其它成分可類似於上面參考步驟235的討論而被執行。 在步驟243,作是否建立另一訊息摘要之決定。在本發 明之一或一個以上的實施例中,每一安全應用程式被群組 態成建立一相同數目的訊息摘要。附加的訊息摘要可被產 生以建立一密鑰的附加位元及建立附加成分。 如果作出建立附加訊息摘要的一決定,則步驟自步驟 237開始重複。在步驟237,在步驟241擷取的改變值同分享 32 201103298 秘密一起被用於建立一新的臨時動態秘密。可選擇地,前 面建立的臨時動態秘密可被使用,而非使用後續訊息摘要 的分享秘密。建立可環回之附加訊息摘要的環回可能是對 步驟235、步驟237、或步驟239之一環回,視實施例及安全 應用程式所請求之訊息摘要的總數而定。 可選擇地,如果作出不建立另一訊息摘要的一決定, 在步驟245由訊息摘要的成分建立一加密解決方案。舉例而 言,密鑰之最不重要位元可與密鑰之最重要位元相結合以 建立一單一密鑰。加密解決方案可被用於加密及解密通 訊。加密一通訊可被執行,例如,藉由存取演算法選擇器 表來識別對應於訊息摘要中演算法選擇器位元之加密演算 法。要被加密的通訊是藉由將有密鑰之識別的加密演算法 應用於通訊而被加密。生成的加密通訊可被發送至成員及/ 或被儲存(例如,儲存於一本地或遠端儲存裝置上)。 在第3A及3B圖中,當分享的秘密被擷取時,分享的秘 密可例如被儲存於秘密儲存庫中。因此,儲存的秘密可被 用於執行上面參考第3A及3B圖而討論之步驟。此外,分享 的秘密可被用於產生附加的秘密,如上參考第2A圖所作討 論。 第4圖繪示依據本發明之一或一個以上的實施例之一 客戶端與一伺服器之間的通訊之一示範流程圖。具體地, 客戶端是成員之一及伺服器是一群組的第二成員。在第4圖 所示的範例中,考慮此情形,其中客戶端的使用者在伺服 器有一帳戶。使用者的帳戶是與一識別符及一(多)分享秘密 33 201103298 相關聯。此外,在本發明之_或—個以上的實施例中客 戶端及伺服器各有分享秘密的—副本。 在步驟251 ’依據本發明之一或一個以上的實施例, 祠服器接收客戶端的-識別符。舉例而言,客戶端發送使 用者帳戶的-登錄朗符。客戶端可自儲存體或客戶端的 使用者獲得該登錄識別符。 在步驟253,伺服器決定是否客戶端被授權。具體地, 伺服去存取帳戶以判定是否一對應於識別符的帳戶存在。 如果-帳戶不存在,飼服器可否定存取客戶端或請求客户 端提供一不同的識別符。伺服器可使用識別符自帳戶獲得 預分享的秘密。 & 在步驟255,如果客戶端被授權,伺服器將—查問發送 至客戶端。在本發明之一或一個以上的實施例中,查問= 以是一非確定性隨機(偽隨機)產生的字元串、一通行片贫 或另-條資料。舉例而言,查問可以是—由隨機^隨^ 字元產生器或一隨機數產生器產生之隨機(偽隨機)的字元 串。在本發明之一或一個以上的實施例中,在發送杳門^ 前,伺服器將查問與分享秘密相結合以捷# — ^ ^ 心·加優查問 (scrambled challenge)並僅將該力σ擾查問發送至客戶蠕 其他實施例中,查問可能以-明文、未加擾格式被傳輪在 此外’在步驟257,伺服ϋ自客戶端接收使用者的密 碼。伺服器可類似於伺服器接收識別符來接收使用者的密 碼。在本發明之一或一個以上的實施例中,在發送密碼4 前,客戶端將密碼與一分享秘密相結合來建立一加 ^ 17優费碼 34 201103298 並僅將加心碼發送域服$。飼服$可將加擾密碼與分 享^密相結合以再建原始密碼。在本發明之—或—個以上 的貝^例巾’做器執行的結合是客戶端執行產生加擾密 &的反函數。舉例而言,如果客戶端使用一異或 ()函數將在碼與分享秘密相結合,則伺服器使用一異或 ()函數。如另—範例,如果客戶端使用附加的函數將密 碼與分予秘密相結合,伺服器使用—減法函數。 如另一範例,客戶端可將密碼與伺服器發送的查問相 t合來產生加擾密碼,而非將密瑪與分享秘密相結合。祠 服器可使用下面討論的—類似方式獲得密碼。此外,客戶 端可由使用上面針對獲得密碼的·器討論之—類似方法 獲得查問。 此外,雖然未在第4圖中繪示,伺服器及客戶端可使用 查問及分享秘密產生—初始訊息摘要並自訊息摘要操取成 分。作為範例而非限制,擷取的成分可包括一使用者密碼 及查問值。自汛息摘要摘取之成分的一範例在第9圖中被 繪示(下面討論)。 在步驟259,伺服器判定是否密碼正確。具體地,伺服 器可判定自客戶端接收的密碼是否與伺服器先前知曉的一 密碼(例如,當建立帳戶時,客戶端產生的或先前提供的) 相同。如果密碼不相同,伺服器可拒絕對帳戶的存取。可 選擇地’舰器可允許客戶端ϋ以上的嘗試驗證自 身。在本發明之-或—個以上的實施财,客戶端被提供 一預置次數的登錄嘗試。 35 201103298 如果在步驟259,伺服器判定密碼正確,則在步驟261 伺服器使用前一產生的訊息摘要(上面討論)的分享秘密、客 戶端密碼,查問、及/或其一部分作為η位元產生器的輸入 來產生一訊息摘要。產生該訊息摘要可如上參考第2Β圖步 驟217的討論被執行。如上所述,初始訊息摘要可在步驟255 之後被產生。 雖然在第4圖中未繪示,類似於伺服器產生訊息摘要, 客戶端也使用客戶端的η位元產生器產生相同的訊息摘 要。具體地,客戶端使用分享秘密及客戶端所接收之查問 來產生訊息摘要。 繼續第4圖,在步驟263,在客戶端及伺服器之間發送 的通訊使用訊息摘要(或其部分)被加密及/或解密。加密及 解密通訊可以如上討論被執行。 雖然第4圖繪示僅伺服器使用識別符及分享秘密認證 一客戶端的一流程圖,但是客戶端也可遵循相同步驟驗證 伺服器的身份。 第5Α圖繪示依據本發明之一或一個以上的實施例之一 流程圖,其詳述伺服器對客戶端的認證。在步驟530,伺服 器將一伺服器認證命令發送至客戶端。在本發明之一實施 例中,伺服器認證命令包括一伺服器ID。在步驟500,客戶 端可查詢保全持續儲存體中的一資料結構來決定伺服器ID 的存在。在步驟502,作出伺服器ID是否存在於資料結構中 的一判定。如果伺服器ID存在,則流程繼續進行至步驟 504 ;不然,流程繼續進行至步驟526。 36 201103298 在步驟504 ’客戶端使用例如一隨機或偽隨機數產生器 來產生一查問。在本發明之一實施例中,該產生的查問被 儲存於客戶端的RAM*。 在步驟506,使用伺服器秘密、及查問(在步驟5〇4產生) 作為輸入來產生一訊息摘要。 在步驟508 ’伺服器一次性密碼(〇τρ)及管理命令認證 秘进(Administrative Command Authentication Secret)(ACAS) 自訊息摘要被擷取並由範例儲存於客戶端的rAM*。第5B 圖繪示在步驟506產生包括伺服器〇τρ(152)及ACaS(154) 之訊息摘要(150)的一範例。此外,訊息摘要中個別成分的 長度以及訊息摘要中個別成分的順序可基於實施而改變。 回到第5圖’在步驟51〇,異或(x〇R)函數被應用於查問 及伺服器秘密來獲得一加擾查問。在本發明之一實施例 中,步驟510未被執行及一未加擾查問在步驟512被傳輸至 伺服器。不然,在步驟512 ’加擾查問被發送至伺服器。如 下讨論,如果在步驟51〇查問未被加擾,則查問而非加擾查 問被發送至伺服器。在本發明之一實施例中,步驟51〇及512 可在步驟506之前被執行。在此類情況中,前面提到之步驟 的順序可允許客戶端位元產生器在等待伺服器的一響 應時執行各不同步驟。 在步驟532 ’伺服器接收客戶端加擾的(或未加擾的)查 問。在步驟534,词服器藉由將異或(x〇R)函數應用於加擾 查問及舰器秘密來獲得未加擾查問(如果-加擾查問是 自客戶端被發送)。步驟534僅在接收到-加擾查問(相對於 [S 1 37 201103298 一未加擾查問而言)時才被執行。不然,一未加擾查問在步 驟536被使用。在本發明之一實施例中,位元混洗器並不將 與用來自官理秘密產生加擾查問之函數相同的函數應用於 η位το產生器的輸入。舉例而言,如果異或(乂〇幻函數被用 來產生加擾查問’則異或(x〇R)函數在ACAS的產生中不被 位元混洗|§使用。 在步驟536 ’伺服器使用客戶端目前實施之相同η位元 產生器的一實例以及伺服器秘密(目前與伺服器一起儲存) 及查問(在步驟530獲得(及可取捨地534))作為輸入來產生 一訊息摘要。 在步驟538’伺服器ΟΤΡ及ACAS自在步驟536產生並被 伺服器儲存之訊息摘要被擷取。在步驟54〇,伺服器將在步 驟538獲得的伺服器0ΤΡ發送至客戶端。在步驟514,客戶 端自伺服器接收伺服器ΟΤΡ。在步驟516,在步驟514獲得 的伺服器ΟΤΡ被與在步驟508獲得的伺服器〇τρ比較。如果 伺服器ΟΤΡ匹配,則流程繼續進行至步驟518 :不然,流程 繼續進行至步驟528。在步驟528,伺服器被通知伺服器QTP 不匹配及,這樣,伺服器相對客戶端未被認證。 在步驟518’客戶端中的狀態位元被設為指示飼服器未 被認證。在步驟520,一伺服器命令計時器被開啟。該伺服 器命令計時器阻止指示伺服器相對於客戶端被認證之狀態 位元被永久設定且藉由限制一可能攻擊者的響應時間亦阻 止透過饲服器命令的攻擊。 在此階段’在伺服器已相對客戶端被認證之後,伺服 38 201103298 器可將命令及内容發送至客戶端。具體地,在步驟542,伺 服器可使用一雜凑操作以及ACAS、一命令(在客戶端上要 被執行)、及加擾資料作為輸入來產生一命令認證訊息摘要 (CAMD)。 參考第5C圖’加擾資料(608)是藉由使用一異或(x〇r) 函數(雖然其他函數可被使用)將未加擾資料(6〇6)與 ACAS(604)相結合而被產生。在本發明之一實施例中,未 加擾資料(606)包括一識別符及一秘密攔位(隨以相關聯的 長度參數)。識別符可識別秘密欄位中的資料類型及秘密欄 位包括相對應的資料。 參考第5D圖,CAMD(616)是使用ACAS(604)、命令 (612)、及加擾資料(6〇8)以及一雜湊函數(614)而被產生。定 義命令的長度(按位元計)之命令的長度參數(第5D圖的LP) 可或不可被用於產生CAMD。伺服器請求的命令可包括伺 服器至客戶端之間的任一通訊。 回到第5A圖,在步驟544,CAMD、命令、及加擾資料 被發送至客戶端。在本發明之一實施例中,命令亦可被加 擾(使用,例如,異或(XOR)函數及ACAS)來產生一加擾命 令。在步驟524,客戶端接收CAMD、命令(加擾或未加擾的) 及加擾資料,並繼續如第5E圖所述處理接收的資料。 第5 E圖繪示依據本發明之一或一個以上的實施例之處 理自伺服器接收的一命令之一流程圖。在步驟700,客戶端 自伺服器接收一CAMD、命令(加擾或未加擾的)、及加擾資 料。在步驟702,使用例如客戶端中的狀態位元作出是否伺 39 201103298 服器已相對於客戶端被認證之一判定。如果伺服器已相對 於客戶端被認證’流程繼續進行至步驟704 ;不然’流程繼 續進行至步驟716。在步驟704,ACAS(在第5A圖步驟508 被獲得)、命令(以一未加擾形式)、及加擾資料被用作一雜 凑操作的輸入來產生一 CAMD。雜凑操作對應於第5A圖步 驟542中伺服器所實施的相同雜湊操作。在第5E圖的步驟 706,在步驟700中接收的CAMD被與步驟704中產生的 CAMD相比較。 在步驟708,作出是否CAMD匹配的一判定。如果 CAMD匹配,流程繼續進行至步驟7丨〇 ;不然流程繼續進行 至步驟720。在步驟710,未加擾資料是使用異或(XOR)函數 及ACAS(在步驟508獲得)自加擾資料而獲得。在步驟712, 命令(在步驟700接收)是被客戶端使用在步驟710獲得的未 加擾資料執行。在步驟714,伺服器命令計時器被重置。在 步驟716,飼服器被通知命令已被完成。 在步驟718,伺服器被通知將命令發送至客戶端是不被 允許的。在步驟720,伺服器被通知其在步驟542產生的 CAMD不匹配在步驟7〇4所產生的CAMD。 第6圖繪示—群組通訊的一流程圖,其中成員可能與群 組的其他成員無關聯。雖然第6圖是由群組成員之一的角度 在下面被繪示且討論,但是下面討論的步驟被群組的每一 成員執行使得所有成員產生相同的初始訊息摘要。安全應 用程式可在有或沒有成員之一使用者的輸入的情況下執行 該等步驟。 40 201103298 在步驟291,成員建立群組的一查問。相同查問針對群 、,且的所有成員而被產生^建立查問可例如如上討論參考第 5A圖的步驟504而被執行。 繼續第6圖’群組的—成員在步驟293被識別。具體地, -谶別符自成員被獲得。在步驟295,該識別符被用來自公 餘儲存庫獲得被識別成員的-公錄。可選擇地,成員可提 供-識別符及-公錄,其在步驟295用公雜存庫被確認/ 驗證® 在步驟297 ’在步驟291建立的查問使用識別成員的公 鑰被加密。該加密是使用一預定義的非對稱加密演算法而 被執行。在步驟299,加密查問被發送至識別的成員。 在步驟301,成員判定是否群組的未接收到查問之另一 成員存在。如果群組的另一成員存在,則流程圖以步驟293 開始重複以將查問發送至群組的下一成員。 在步驟303 ’成員查問被成員自組的所有其他識別成員 接收。具體地,類似於將相同成員查問發送至群組的所有 成員之成員’群組的其他成員也各自將—查問發送至所有 其他成員。因此,群組的所有成員都有每—其他成員的一 查問。 在步驟305,成員使用成員的私鍮解密接收到的成員查 問。在步驟3 07解密的成員查問以及被成員發送的查問被用 作η位元產生器的輸入來產生一初始訊息摘要。產生初始訊 息摘要可如上討論參考第2Β圖的步驟217被執行。具體地, 在所有成員解密各該查問之後’所有成員有對η位元產生器 41 201103298 的相同輸入。因此,因為η位元產生器執行相同的函數並產 生確定性的結構,由所有成員產生之生成的訊息摘要是相 同的。 繼續第6圖,在步驟309成員使用初始訊息摘要(或其一 或一個以上的部分)加密及解密成員傳遞的通訊。加密及解 密通訊可如上討論參考第2Β圖的步驟219及第2Α及3Β圖被 執行。 在一對話期間或末尾,一個群組的成員可同意改變密 錄及/或秘密。舉例而言,當成員當中之一請求改變密錄 時,同意可基於成員之間傳遞的一信號。如另一範例,同 意可基於一事先協議的產生一新密鑰的邊界/門檻。舉例而 言,成員可同意的是,一新的密鑰應該基於資料交換量等 每五分鐘每20對話被產生。 第7Α圖繪示一用以改變一密鑰的流程圖。在步驟311, 一密鑰的改變由群組或群組成員當中之一者啟動。如上討 論,啟動可基於一訊息、一事先同時週期、門檻或邊界等。 在步驟313,η位元產生器上次表現的中間結果及上次 產生的改變值被獲得。如上討論,中間結果可對應於位元 重群組器在執行雜湊函數之前的輸出。此外,每一成員可 自上次產生的訊息摘要擷取改變值。 在步驟315,每一成員使用中間結果及上次的改變值作 為η位元產生器的輸入來產生一新的訊息摘要。產生新的訊 息摘要可類似於上面參考第3Β圖的步驟239之討論被執 行。繼續第7Α圖,在步驟313及315,動態秘密、靜態秘密、 42 201103298 或臨時動態秘密可依據本發明之一或一個以上的實施例被 使用,而非使用中間結果、動態秘密。 在步驟317 ’ 一新的秘密鑰或加密解決方案是自新的訊 息摘要被擷取。擷取新的密输可參考第3A圖的步驟22 5如上 討論被執行。在新的密鑰被擷取之後,新的密鑰可被用於 加密及解密群組的成員之間的通訊。 第7B圖繪示依據本發明之一或一個以上的實施例之在 一通訊對話的末尾改變秘密之一示範流程圖。在步驟321, 敲定與群組的一通訊對話。舉例而言,群組成員可發送一 訊息結束通訊對話。每一成員可等待直至該成員接收所有 其他群組成貝的確認。 在步驟233 ’初始動態秘密及在通訊對話中使用的最後 改變值被獲彳寸。舉例而言,初始秘密可以是在初始訊息摘 要中產生的秘岔或一儲存於秘密儲存庫中的秘密。最後的 改變值可對應於上次產生的改變值。舉例而言,最後改變 值可參考第7A圖的步驟313如上討論被獲得。 繼續第7B圖,在步驟325,一新的訊息摘要是使用初始 秘密及最後改變值作為n位元產生器的輸入而被產生。在步 驟327,新的秘密是自新的訊息摘要㈣取。新的秘密可被 用於建立分享秘密及-群㈣㈣供將㈣全㈣,在此情 況中分享秘密將置於秘密儲存庫中。具體地,群組的每一 成員可將新的分享秘密儲存於它們相對應的秘密儲存庫 中因為母成員產生及儲存相同新的分享秘密,成員在 下一次通訊對話中使用相同的秘密。 43 201103298 分享秘密可被用於群組成員間許多不同類型的通訊 (交換)。舉例而言,靜態秘密可被用於建立加密解決方案來 給一聊天對話、電子郵件、檔案中的通訊、或其他類型的 通訊加密。舉例而言,當動態秘密在密鑰被建立時及通訊 被解密(例如,一聊天對話、電子郵件、或其他類型的通訊) 時之間保持不變時,動態秘密可在有或沒有靜態秘密的情 況下被使用。第8圖繪示依據本發明之一或一個以上的實施 例加密一檔案的一流程圖。具體地,在第8圖中,依據本發 明之一或一個以上的實施例對於一特定檔案產生一密鑰。 在步驟331,發送檔案的成員自初始訊息摘要或秘密儲 存庫擷取一分享秘密。擷取分享秘密可如上討論在第3A圖 的步驟221被執行。此外,在第8圖的步驟333該成員識別傳 送至成員的檔案。 在步驟335,該成員產生一描述檔案的檔案常數值。該 檔案常數值是一位元串,該位元串包括協助群組成員在不 解密該檔案的情況下獲得檔案資訊之資訊。此外,檔案常 數值可被用於重建密鑰來解密該檔案。第11圖,如下討論, 提供一檔案常數識別符的一範例。 繼續第8圖的討論,在步驟337,一訊息摘要是使用分 享秘密及檔案常數值作為η位元產生器的輸入而被產生。 在步驟339,改變值及其它成分是自訊息摘要被擷取。 擷取成分可類似於如上在第3Α圖的步驟225討論之擷取密 鑰被執行。其他被擷取的成分可包括,舉例而言,密鑰之 最重要位元、密鑰之最不重要位元、演算法選擇器表位元 44 201103298 等。 在步驟341,作出是否建立另一訊息摘要的一判定。在 本發明之一或一個以上的實施例中,每一安全應用程式被 組態成建立一相同數目的訊息摘要。附加的訊息摘要可被 產生來為一密鑰及附加的成分建立附加的位元。 在第8圖的步驟343,改變值與分享秘密相結合來產生 一臨時秘密。將改變值與分享秘密相結合可被舉例而言一 位元重組器執行。具體地,上面針對位元重組器討論的任 一操作可被執行來將改變值與分享秘密相結合。舉例而 言,結合可以是改變值異或(XOR)分享秘密及/或臨時秘密。 在步驟345,一訊息摘要是使用臨時秘密及分享秘密作 為η位元產生器的輸入而被產生。步驟345可例如如上討論 參考步驟337被執行。在本發明之一或一個以上的實施例 中,下一順序的訊息摘要可使用改變值及分享秘密作為η位 元產生器的輸入而被產生,而非執行步驟343建立一臨時秘 密及進而使用該臨時秘密產生另一訊息摘要。 繼續第8圖,邏輯流程自步驟345繼續步驟347,依據本 發明之一或一個以上的實施例,改變值及其它成分自訊息 摘要被擷取。擷取改變值及其它成分可如上討論參考步驟 339被執行。 在步驟341,如果作出建立一附加的訊息摘要之判定, 則步驟自步驟343開始重複。在步驟343,在步驟347擷取的 改變值與分享秘密一起使用以產生一新的臨時秘密。可選 擇地,非使用分享秘密來獲得後續訊息摘要,前面建立的 45 201103298 臨時秘密可被使用。 巧*選擇地,如果作出不建立另一訊息摘要的一判定; 在少鄉349,一檔案使用sfl息摘要的成分被加密。具體地, 一加密解決方案由訊息摘要的成分而被建立。舉例而言, 密鑰之最不重要位元可與密鑰之最重要位元相結合以建立 一單一密錄。 加密檔案可例如藉由存取演算法選擇器表識別對應於 訊息摘要中演算法選擇器位元之加密演算法來被執行。檔 案是藉由用密输施以識別的加密演算法被加密。 在步驟351 ’生成的加密檑案隨常數值一起被發送至群 組成員。為了解密檔案,群組成員可自常數值操取秘密識 別符(在下面討論及在第11圖)。接著,成員使用秘密識別符 來搜尋秘密儲存庫中與秘密識別符相關聯的秘密。具體 地,成員使用秘密識別符識別的秘密及接收的檔案常數值 執行步驟337-341來獲得加密解決方案。由加密解決方案, 成員識別加密演算法及密鑰來解密檔案。 第11圖繪示一示範檔案常數值。如第11圖所示,示範 檔案常數值(430)可包括檔案常數值的一長度(432)、一秘密 識別符(434)、一檔案識別符的作者(436)、一檔案概要資訊 欄位(438)、一安全稽核欄位(440)、及一核對和(442)。 檔案常數值的長度(432)指定檔案常數值(430)中位元 的數目。秘密識別符(434)是在第8圖步驟331被成員使用的 秘密之秘密儲存庫中及/或有該秘密之一前面產生的訊息 摘要中之一識別符。在本發明之一或一個以上的實施例 46 201103298 中’在第8圖步驟331被成員使用的秘密僅包括靜態秘密。 在本發明之一或一個以上的實施例中,因為每—成員將相 同的秘密與相同的識別符相關聯,秘密識別符識別相同的 秘密。 檔案識別符欄位的作者(436)識別依據本發明之一或一 個以上的實施例建立檔案的使用者。舉例而言,該作者可 以是成員之一。在本發明之一或一個以上的實施例中,檔 案識別符攔位的作者(436)識別檔案的原始作者。可選擇地 或附加地,檔案識別符欄位(436)的作者可識別生成的加密 槽案之作者。舉例而言’槽案的作者可識別執行第8圖步驟 的成員。 在本發明之-或-個以上的實施例中,標案概要資訊 攔位(438)包括檔案的元資料。舉例而言,檔案概要資料棚 位(438)可包括檔案被建立、被存取、及/或被修改的時間 戳 '檔案大小、及/或檔案的任何其他資訊。藉由包括元^ 料,群組成員不需要解密檔案來獲得元資料。此外,藉= 包括το資料中的一或一個以上的時間戳,對每一檔案可產 生一不同的密鑰。舉例而言,如果相同檔案被保存及進而 依次被加密五次,由於加密的延遲,每一檔案將有一不 的時間戳及因而依據本發明之一或一個以上的實施例有一 不同的密鑰或加密解決方案。 在本發明之一或一個以上的實施例中,核對和(442)是 一用於判定是否常數值已被有意或無意修改的值。舉例而 言,核對值可對常數值(430)使用一雜湊函數被產生。可選 47 201103298 擇地,核對和可以是會允許任一修改被撤銷之許多糾錯核 對和當中之一者。 雖然第11圖繪示檔案常數值的一成分集,但是檔案常 數值的一些成分可被忽略同時附加的成分可被加入至檔案 常數值及/或改變順序而不背離本發明的範圍。 下面是依據本發明之一或一個以上的實施例之一範 例。下面的範例僅是為說明目的而不欲限制本發明的範 圍。在下面的範例中,考慮此情形,其中一群組有三成員: Bob的計算裝置(計算裝置B)、Joe的計算裝置(計算裝置A)、 及Sarah的計算裝置(計算裝置S)。 在第一通訊,在計算裝置B上的安全應用程式、在計算 裝置J上的安全應用程式、在計算裝置S上的安全應用程式 各建立一查問。舉例而言,計算裝置B的查問是“454Bear”, 計算裝置J的查問是“myTower”,計算裝置S的查問是 “d68saf,。此外,各成員存取一憑證機構以獲得每一其他成 員的公鑰。計算裝置B的安全應用程式使用計算裝置J的公 鑰加密“454Bear”並將生成的加密查問發送至計算裝置J的 安全應用程式。類似地,計算裝置B的安全應用程式使用計 算裝置S的公鑰加密“45 4Bear”並將生成的加密查問發送至 計算裝置S的安全應用程式。計算裝置J的安全應用程式及 計算裝置S的安全應用程式使用其他成員的公鑰類似地加 密它們的查問並發送它們的查問。 在接收查問之後,計算裝置B的安全應用程式、計算裝 置J的安全應用程式、計算裝置S的安全應用程式使用它們 48 201103298 相對應的私鑰解密各該查問。計算裝置B的安全應用程式、 計算裝置J的安全應用程式、計算裝置S的安全應用程式各 將“454Bear”、“myTower”、“d68saf,輸入至它們各自的η位 元產生器以獲得一訊息摘要。因為η位元產生器提供一確定 性的、偽隨機結果,對於計算裝置Β、計算裝置J、計算裝 置S生成的訊息摘要是相同的。因'此,計算裝置Β的安全應 用程式、計算裝置J的安全應用程式、計算裝置S的安全應 用程式使用該訊息摘要來填入一秘密儲存庫,建立密鑰, 及加密及解密在它們之間傳遞的通訊。 舉例而言,計算裝置Β的安全應用程式可藉由使用該訊 息摘要建立一密鑰、用該密鑰及一對稱加密演算法加密該 檔案、及發送該加密檔案,將一檔案發送至計算裝置S的安 全應用程式及計算裝置J的安全應用程式。也有相同訊息摘 要之計算裝置S的安全應用程式及計算裝置J的安全應用程 式可建立相同的密鑰並解密該檔案。不能產生訊息摘要之 一不法電腦系統無法建立密鑰。再者,因為計算裝置Β的安 全應用程式、計算裝置J的安全應用程式、計算裝置S的安 全應用程式可使用初始訊息摘要及後續訊息摘要不斷改變 密鑰,該不法電腦系統不大可能識別正確的密鑰來獲得正 確的訊息。 本發明之實施例可實際上在任一類型的電腦系統上被 實施,無論所使用的平臺。計算裝置可以是電腦系統、在 電腦系統上執行之電腦系統的一外部裝置等。舉例而言, 如第12圖所示,一電腦系統(80)包括一或一個以上的處理器 49 201103298 (802) '相關聯的記憶體(804)(例如,隨機存取記憶體 (RAM)、快取記憶體、快閃記1It體等)、一内部&/或外部f諸 存裝置(806)(例如,經由一實體或無線介面連接之一硬碟、 一光學驅動機,諸如一光碟驅動機或數位視訊光碟(DVD) 驅動機、一快閃記憶體條、通用串列匯流排(USB)驅動機、 智慧卡、智慧電話等)、及許多現今之電腦(未繪示)典型的 許多其他元件及功能。電腦系統(800)也可包括輸入裝置, 諸如一鍵盤(808)、一觸控螢幕、一滑鼠(810)、或一麥克風 (未繪示)。此外,電腦系統(800)也可包括輸出裝置,諸如 一監視器(812)(例如,一液晶顯示器(LCD)、一電漿顯示器、 或陰極射線管(CRT)監視器)。電腦系統(8〇〇)可經由—網路 介面連接(未繪示)被連接至一網路(814)(例如,一區域網路 (LAN)、一廣域網路(WAN),諸如網際網路、或其他類型的 網路)。熟於此技者將瞭解的是,許多不同類型的電腦系統 存在,及前面提到的輸入及輸出裝置可採用其他形式。— 般而言,電腦系統(800)至少包括實施本發明之實施例所必 品之隶少的處理、輸入、及/或輸出裝置。 執行本發明之實施例的電腦可讀取程式碼可被儲存於 -電腦可讀取媒體上,諸如一光碟(CD)、一軟碟、—磁帶 實體記憶體、或任-其他包括儲存電腦可讀取程心馬來執 行本發明之實施例的功能之實體電腦可讀取的儲存媒體。 在本發明之一實施例中’當電腦可讀取程式碼被一 器執行時其被組態成執行本發明之實施例。 雖然本發明已針對一有限數目的實施例來予以描述 50 201103298 但是得益於此一揭露内容,熟於此技者將瞭解到的是,其 他實施例可被修改而不背離本文所揭露之本發明的範圍。 因此,本發明的範圍應該僅受後附的申請專利範圍限制。 c圖式簡單説明;j 第1A-1B圖繪示依據本發明之一或一個以上的實施例 之示意圖。 第2A-5 A圖繪示依據本發明之一或一個以上的實施例 之流程圖。 第5B圖繪示依據本發明之一或一個以上的實施例之一 範例訊息摘要。 第5C-8圖繪示依據本發明之一或一個以上的實施例之 流程圖。 第9-10圖繪示依據本發明之一或一個以上的實施例將 一 sfl息摘要劃分為成分值的範例。 第11圖繪示依據本發明之一或一個以上的實施例之一 範例檔案常數值。 第I2圖繪示依據本發明之一或一個以上的實施例之一 電腦系統。 【主要元件符號說明】 102...網路 104A、104B.··成員 106…公鑰儲存庫 108A、108B...安全應用程式 110A、110B...n位元產生器 112A、112B...加密模組 114A、114B…介面 116A、116B...秘密儲存庫 201 〜209、211 〜219、221〜225、 231 〜245、251〜263、 51 201103298 29卜309 、 311-327 、 331〜351 、 500〜544 、 2(H〜209 ' 700〜720."步 驟 400.. .訊息摘要 402…第一成員的一次性密碼 404.. .第二成員的一次性密碼 406、422...演算法選擇器位元 408、424…密鑰長度 410、426...密鑰 412 . 428...改變值 432.. .槽案常數值的長度 434.. .秘密識別符 436.. .棺案識別符的作者 438.. .槽案概要資訊欄位 440.. .安全稽核欄位 442.. .核對和 604···管理命令認證秘密 606.. .未加擾資料 608.. .加擾資料 612.. .命令 614.. .雜湊函數 616.. .命令認證訊息摘要 802.. .處理器 804.. .記憶體 806.. .儲存裝置 808.. .鍵盤 810…滑氣 812.. .監視器 814.. .網路 52

Claims (1)

  1. 201103298 七、申請專利範圍: l —種用以保全複數個成員之間通訊之方法,其包含以下 步驟: 由一第一成員將一第一輸入發送至一第二成員; 由該第一成員接收該第二成員的輸入;及 由一η位元產生器使用該第一輸入及該第二輸入來 產生一初始訊息摘要, 其中該第一成員與該第二成員之間的通訊是使用 該初始訊息摘要被加密。 2.如申睛專利範圍第i項所述之方法,其中該第一成員是 飼服益’ t亥第二成員是一客戶端,該第一輸入包含一 伺服器查問,及該第二輸入包含一密碼。 3·如申請專利範圍第2項所述之方法,其進__步包含以下 步驟: 由"亥词服器接收該客戶端的一客戶端識別符;及 基於5亥客戶端識別符判定是否該客戶端被授權, 其中發送該飼服器查問是響應於判定該客戶端被 授權而被執行。 4.如申請專鄕圍第3項所述之方法,其進—步包含以下 步驟: 基於該客戶端識別符驗證該密碼, 其中產生該初始訊息摘要是響應於判定該密碼有 效而被執行。 其進一步包含以下 .如申請專利範圍第2項所述之方法 53 201103298 步驟: 由該伺服器接收一客戶端查問; 自該初始訊息摘要擷取一秘密; 由該η位元產生器使用該秘密及該客戶端查問產生 一第二訊息摘要; 自該第二訊息摘要擷取一伺服器產生的管理命令 認證秘密(ACAS); 由該η位元產生器使用一第一加密通訊及該伺服器 產生的AC AS產生一第一命令認證訊息摘要(C AMD);及 由該伺服器將該CAMD及該第一加密通訊發送至 該客戶端; 其中該客戶端: 由該η位元產生器使用該第一加密通訊及一客戶端 產生的ACAS產生一第二命令認證訊息摘要(CAMD), 當該第一CAMD相同於該第二CAMD時,解密該第 一加密通訊。 6.如申請專利範圍第1項所述之方法,其進一步包含以下 步驟: 由該第一成員建立一第一查問,其中該第一查問是 該第一輸入; 由該第一成員識別該第二成員的一公鑰; 用該第二成員的該公鑰加密該第一查問來建立一 第一加密查問,其中發送該第一輸入包含發送該第一加 密查問;及 54 2〇11〇3298 由該第一成員使用該第一成員之一私鑰解密一加 密的第二查問來建立-解密的第二查問,其中該解密的 第二查問包含該第二輸入。 如申清專利範圍第!項所述之方法,其中使用該初始訊 息摘要加密該第一成員與該二成員之間的該等通訊包 含: 。 自該初始訊息摘要擷取一第一秘密; 由該n位元產生器使用該第一秘密產生—第二讯牵 摘要;及 °〜 自該第二訊息摘要操取一密鑰。 .如申請專利範圍第7項所述之方法,其中該第二訊息摘 要進-步包含演算法選擇器位元,且其中加密通:包 識別該等演算法選擇器位元指定的一加密演算 法;及 '' 使用該識觸加密鮮法及該讀加賴等通 ^申請專利範圍第1項所述之方法,其中使用該初始訊 摘要加密該第-成員與該第二成員之間的該等通訊 包含: 自該初始訊息摘要擷取一分享秘密及—動離秘 密;及 心 由該η位元產生器使用該分享秘密及該動態秘密產 生一第二訊息摘要, 自該第二訊息摘要娜-第1輪及第—演算法 55 201103298 選擇器位元; 識別該等第一演算法選擇器位元指定的一第一加 密演算法;及 使用該第一加密演算法及該第一密錄加密一第一 通訊。 10. 如申請專利範圍第8項所述之方法,其中使用該初始訊 息摘要加密該第一成員與該第二成員之間的該等通訊 進一步包含: 自該第二訊息摘要擷取一改變值; 由該η位元產生器使用該改變值及該動態秘密產生 一第三訊息摘要; 自該第三訊息摘要擷取一第二密鑰及第二演算法 選擇器位元; 識別該等第二演算法選擇器位元指定的一第二加 密演算法;及 使用該第二加密演算法及該第二密鑰加密一第二 通訊。 11. 如申請專利範圍第1項所述之方法,其進一步包含以下 步驟: 自該初始訊息摘要擷取一分享秘密及一動態秘 密;及 由該η位元產生器使用該分享秘密及該動態秘密產 生一第二訊息摘要, 自該第二訊息摘要擷取一改變值; 56 201103298 將該改變值與該動態秘密相結合以建立一臨時動 態秘密;及 由該η位元產生器使用該臨時動態秘密產生一第三 訊息摘要; 自該第二訊息摘要擷取該密鑰的一第一部分及自 該第三訊息摘要擷取該密鑰的一第二部分來獲得一操 取的密鑰;及 使用該擷取的密鑰來加密該通訊。 12.—種電腦裝置,其包含: 一處理器; 一記憶體;及 軟體指令’其儲存於記憶體中用以致使該電腦裳 置: 將一第一輸入發送至複數成員的一第二成員,其中 該計算裝置是該複數成員的一第一成員; 接收該第二成員的一第二輸入;及 由一 η位元產生器使用該第一輸入及該第二輸入產 生一初始訊息摘要, 其中該第一成員與該第二成員之間的通訊是使用 該初始訊息摘要而被加密β 如申請專利範圍第12項所述之計算裝置,其中該第一成 員是-伺服器、該第二成員是一客戶端,該第一輸入包 含—伺服器查問,及該第二輸入包含一密碼。 ⑷如申請專韻@第13項所狀計算|置,其巾該等軟體 57 201103298 指令進一步致使該計算裝置: 接收該客戶端的一客戶端識別符;及 基於該客戶端識別符判定是否該客戶端被授權, 其中發送該伺服器查問是響應於判定該客戶端被 授權而被執行。 15. 如申請專利範圍第14項所述之計算裝置,其中該等軟體 指令進一步致使該計算裝置: 基於該客戶端識別符驗證該密碼, 其中產生該初始訊息摘要是響應於判定該密碼有 效而被執行。 16. 如申請專利範圍第13項所述之計算裝置,其中該等軟體 指令進一步致使該計算裝置: 接收一客戶端查問; 自該初始訊息摘要擷取一秘密; 由該η位元產生器使用該秘密及該客戶端查問產生 一第二訊息摘要; 自該第二訊息摘要擷取一伺服器產生的管理命令 認證秘密(ACAS); 由該η位元產生器使用一第一加密通訊及該伺服器 產生的AC AS產生一第一命令認證訊息摘要(C AMD);及 將該CAMD及該第一加密通訊發送至該客戶端; 其中該客戶端: 由該η位元產生器使用該第一加密通訊及一客戶端 產生的ACAS產生一第二命令認證訊息摘要(CAMD), 58 201103298 當該第—CAMD相同於該第二CAMD時,解密該第 —加密通訊。 17.t申請專利範圍第12項所述之計算裝置,其中該等軟體 指令進一步致使該計算裝置:: 建立一第—查問’其中該第-查問是該第-輸入; 5戠別§亥苐二成員的一公输; 用該第二成員的該公錄加密該第一查問來建立一 第—加密查問,其中發送該第—輸人包含發送該第-加 密查問:及 使用該第-成員之-私餘解密一加密的第二查問 來建立-解密的第二查問,其中該解密的第二 該第二輸入。 一!匕3 W如申請專利範圍第12項所述之計算裝置,其中使㈣初 始訊息摘要加密該第-成員與該二成員之間的該等通 讯包含·· 自該初始訊息摘要擷取一第一秘密; 由該η位元產生器使用該第一秘密產生—第二讯拿 摘要;及 一a心 置,其中該第二訊 ,及其中加密該等 自該第二訊息摘要掏取一密输。 19.如申請專利範圍第18項所述之計算裝 息摘要進一步包含演算法選擇器位元 通訊包含: 加密演算 識別該等演算法選擇器位元指定的— 法;及 S ] 59 201103298 使用該識別的加密演算法及該密鑰加密該等通訊。 20.如申請專利範圍第12項所述之計算裝置,其中使用該初 始訊息摘要加密該第一成員與該第二成員之間的該等 通訊包含: 自該初始訊息摘要擷取一分享秘密及一動態秘 密;及 由該η位元產生器使用該分享秘密及該動態秘密產 生一第二訊息摘要, 自5亥苐一訊息摘要擷取一第一密錄及第一演算法 選擇器位元; 識別該等第一演算法選擇器位元指定的一第一加 密演算法;及 使用該第一加密演算法及該苐一密鑰加密一第一 通訊。 21·如申請專利範圍第2()項所述之計算裝置,其中使用該初 始訊息摘要加密該第一成員與該第二成員之間的該等 通訊進一步包含: 自該第二訊息摘要擷取一改變值; 由該η位元產生器使用該改變值及該動態秘密產生 一第三訊息摘要; 自该第二訊息摘要擷取一第二密鑰及第二演算法 選擇器位元; 識別該等第二演算法選擇器位元指定的一第二加 密演算法;及 60 201103298 使用該第二加密演算法及該第二密鑰加密一第二 通訊。 22. 如申請專利範圍第12項所述之計算裝置,其中該等軟體 指令進一步致使該計算裝置: 自該初始訊息摘要擷取一分享秘密及一動態秘 密;及 由該η位元產生器使用該分享秘密及該動態秘密產 生一第二訊息摘要, 自該第二訊息摘要擷取一改變值; 將該改變值與該動態秘密相結合以建立一臨時動 態秘密;及 由該η位元產生器使用該臨時動態秘密產生一第三 息摘要, 自該第二訊息摘要摘取該密錄的一第一部分及自 該第三訊息摘要擷取該密鑰的一第二部分來獲得一操 取的密鑰;及 使用該擷取的密鑰來加密該通訊。 23. —種其内包含用以致使一電腦系統執行—種保全複數 個成員之間通訊的方法之電腦可讀取程式碼的電腦可 讀取媒體,該方法包含以下步驟: 由一第一成員將一第一輸入發送至一第二成員. 由該第一成員接收該第二成員的輸入;及 由一 η位元產生器使用該第一輸入及該第二輸入來 產生一初始訊息摘要, 61 201103298 其中該第一成員與該第二成員之間的通訊是使用 該初始訊息摘要而被加密。 24. 如申請專利範圍第23項所述之電腦可讀取媒體,其中該 第一成員是一伺服器,該第二成員是一客戶端,該第一 輸入包含一伺服器查問,及該第二輸入包含一密碼。 25. 如申請專利範圍第24項所述之電腦可讀取媒體,其中該 方法進一步包含以下步驟: 由該伺服器接收該客戶端的一客戶端識別符;及 基於該客戶端識別符判定是否該客戶端被授權, 其中發送該伺服器查問是響應於判定該客戶端被 授權而被執行。 26. 如申請專利範圍第25項所述之電腦可讀取媒體,其中該 方法進一步包含以下步驟: 基於該客戶端識別符驗證該密碼, 其中產生該初始訊息摘要是響應於判定該密碼有 效而被執行。 27. 如申請專利範圍第24項所述之電腦可讀取媒體,其中該 方法進一步包含以下步驟: 由該伺服器接收一客戶端查問; 自該初始訊息摘要擷取一秘密; 由該η位元產生器使用該秘密及該客戶端查問產生 一第二訊息摘要; 自該第二訊息摘要擷取一伺服器產生的管理命令 認證秘密(ACAS); 62 201103298 由該η位元產生器使用一第一加密通訊及該伺服器 產生的ACAS產生一第一命令認證訊息摘要(CAMD);及 由該伺服器將該C AMD及該第一加密通訊發送至 該客戶端; 其中該客戶端: 由該η位元產生器使用該第一加密通訊及一客戶端 產生的AC AS產生一第二命令認證訊息摘要(C AMD), 當該第一CAMD相同於該第二CAMD時,解密該第 一加密通訊。 28. 如申請專利範圍第23項所述之電腦可讀取媒體.,其進一 步包含: 由該第一成員建立一第一查問,其中該第一查問是 該第一輸入; 由該第一成員識別該第二成員的一公鑰; 用該第二成員的該公鑰加密該第一查問來建立一 第一加密查問,其中發送該第一輸入包含發送該第一加 密查問;及 由該第一成員使用該第一成員之一私鑰解密一加 密的第二查問來建立一解密的第二查問,其中該解密的 第二查問包含該第二輸入。 29. 如申請專利範圍第23項所述之電腦可讀取媒體,其中使 用該初始訊息摘要加密該第一成員與該二成員之間的 該等通訊包含: 自該初始訊息摘要擷取一第一秘密; 63 201103298 由該η位元產生器使用該第一秘密產生一第 摘要;及 自該第二訊息摘要擷取一密鑰。 及其中加 3〇·如申請專利範圍第29項所述之電腦可讀取媒體,其中1 第二訊息摘要進一步包含演算法選擇器位元, 密通訊包含: 識別該等演算法選擇器位元指定的一加密演算 法;及 使用該識別的加密演算法及該密鑰加密該等通訊。 31·如申請專利範圍第23項所述之電腦可讀取媒體,其中使 用忒初始訊息摘要加密該第—成員與該第二成員之間 的該等通訊包含: 自該初始訊息摘要擷取一分享秘密及一動態秘 密;及 由該η位元產生器使用該分享秘密及該動態秘密產 生一第二訊息摘要, 自該第二訊息摘要擷取一第一密鑰及第一演算法 選擇器位元; 識別該等第一演算法選擇器位元指定的一第一加 密演算法;及 使用該第一加密演算法及該第一密鑰加密一第一 通訊。 32.如申請專利範圍第31項所述之電腦可讀取媒體,其中使 用該初始訊息摘要加密該第一成員與該第二成員之間 64 201103298 的該等通訊進一步包含: 自該第二訊息摘要擷取一改變值; 由該η位元產生器使用該改變值及該動態秘密產生 一第三訊息摘要; 自該第三訊息摘要擷取一第二密鑰及一第二演算 法選擇器位元; 識別該等第二演算法選擇器位元指定的一第二加 密演算法;及 使用該第二加密演算法及該第二密鑰加密一第二 通訊。 33.如申請專利範圍第23項所述之電腦可讀取媒體,其中該 方法進一步包含以下步驟: 自該初始訊息摘要擷取一分享秘密及一動態秘 密;及 由該η位元產生器使用該分享秘密及該動態秘密產 生一第二訊息摘要, 自該第二訊息摘要擷取一改變值; 將該改變值與該動態秘密相結合以建立一臨時動 態秘密;及 由該η位元產生器使用該臨時動態秘密產生一第三 訊息摘要; 自該第二訊息摘要擷取一密鑰的一第一部分及自 該第三訊息摘要擷取該密鑰的一第二部分來獲得一擷 取的密鑰;及 65 201103298 使用該擷取的密鑰來加密該通訊 66
TW99108893A 2009-03-25 2010-03-25 Method and system for securing communication TW201103298A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16341409P 2009-03-25 2009-03-25

Publications (1)

Publication Number Publication Date
TW201103298A true TW201103298A (en) 2011-01-16

Family

ID=42244350

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99108893A TW201103298A (en) 2009-03-25 2010-03-25 Method and system for securing communication

Country Status (3)

Country Link
US (4) US20110307707A1 (zh)
TW (1) TW201103298A (zh)
WO (2) WO2010111447A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661524A (zh) * 2022-03-21 2022-06-24 重庆市规划和自然资源信息中心 基于日志分析的不动产登记数据回备技术的实现方法

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4558099B1 (ja) * 2010-02-03 2010-10-06 メキキ・クリエイツ株式会社 デジタルデータ内容証明システム、データ証明装置、ユーザ端末、コンピュータプログラム及び方法
US9137014B2 (en) * 2011-01-25 2015-09-15 Adobe Systems Incorporated Systems and methods for controlling electronic document use
US9210150B2 (en) 2011-10-25 2015-12-08 Salesforce.Com, Inc. Two-factor authentication systems and methods
US10225264B2 (en) 2011-10-25 2019-03-05 Salesforce.Com, Inc. Automated authorization response techniques
US10225242B2 (en) 2011-10-25 2019-03-05 Salesforce.Com, Inc. Automated authorization response techniques
US10212588B2 (en) 2011-10-25 2019-02-19 Salesforce.Com, Inc. Preemptive authorization automation
EP3367714A1 (en) 2011-10-25 2018-08-29 Salesforce.Com, Inc. Two-factor authentication systems and methods
US8832444B2 (en) * 2012-02-29 2014-09-09 Blackberry Limited Communicating an identity of a group shared secret to a server
EP2634956B1 (en) 2012-02-29 2016-11-02 BlackBerry Limited Communicating an identity to a server
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
US9497142B2 (en) 2012-11-30 2016-11-15 T-Mobile Usa, Inc. Triggering actions on a computing device
US9367676B2 (en) 2013-03-22 2016-06-14 Nok Nok Labs, Inc. System and method for confirming location using supplemental sensor and/or location data
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9887983B2 (en) 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9246892B2 (en) 2013-04-03 2016-01-26 Salesforce.Com, Inc. System, method and computer program product for managing access to systems, products, and data based on information associated with a physical location of a user
US9961077B2 (en) 2013-05-30 2018-05-01 Nok Nok Labs, Inc. System and method for biometric authentication with device attestation
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US9178699B2 (en) * 2013-11-06 2015-11-03 Blackberry Limited Public key encryption algorithms for hard lock file encryption
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
US10148630B2 (en) 2014-07-31 2018-12-04 Nok Nok Labs, Inc. System and method for implementing a hosted authentication service
US9875347B2 (en) 2014-07-31 2018-01-23 Nok Nok Labs, Inc. System and method for performing authentication using data analytics
US9749131B2 (en) * 2014-07-31 2017-08-29 Nok Nok Labs, Inc. System and method for implementing a one-time-password using asymmetric cryptography
US9736154B2 (en) 2014-09-16 2017-08-15 Nok Nok Labs, Inc. System and method for integrating an authentication service within a network architecture
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
US10162972B2 (en) * 2015-04-17 2018-12-25 Dropbox, Inc. Collection folder for collecting and publishing file submissions
US9590956B1 (en) 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
KR101772554B1 (ko) 2016-02-02 2017-08-30 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
US10122728B2 (en) * 2016-02-18 2018-11-06 Verizon Patent And Licensing, Inc. Delegated resource authorization for replicated applications
US9596079B1 (en) 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
US9602477B1 (en) 2016-04-14 2017-03-21 Wickr Inc. Secure file transfer
US10541994B2 (en) * 2016-04-22 2020-01-21 Dell Products, L.P. Time based local authentication in an information handling system utilizing asymmetric cryptography
US10637853B2 (en) 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10341102B2 (en) 2016-09-02 2019-07-02 Blackberry Limited Decrypting encrypted data on an electronic device
US10348502B2 (en) 2016-09-02 2019-07-09 Blackberry Limited Encrypting and decrypting data on an electronic device
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US10091195B2 (en) 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10237070B2 (en) 2016-12-31 2019-03-19 Nok Nok Labs, Inc. System and method for sharing keys across authenticators
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US10812476B2 (en) 2018-05-22 2020-10-20 Salesforce.Com, Inc. Authorization of another device for participation in multi-factor authentication
US11108764B2 (en) 2018-07-02 2021-08-31 Salesforce.Com, Inc. Automating responses to authentication requests using unsupervised computer learning techniques
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
CN111143837A (zh) * 2019-12-25 2020-05-12 天津南大通用数据技术股份有限公司 一种数据库安全审计记录的存储方法

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613901A (en) 1983-05-27 1986-09-23 M/A-Com Linkabit, Inc. Signal encryption and distribution system for controlling scrambling and selective remote descrambling of television signals
US4720860A (en) 1984-11-30 1988-01-19 Security Dynamics Technologies, Inc. Method and apparatus for positively identifying an individual
US5367572A (en) 1984-11-30 1994-11-22 Weiss Kenneth P Method and apparatus for personal identification
US4649233A (en) 1985-04-11 1987-03-10 International Business Machines Corporation Method for establishing user authenication with composite session keys among cryptographically communicating nodes
US5020105A (en) 1986-06-16 1991-05-28 Applied Information Technologies Corporation Field initialized authentication system for protective security of electronic information networks
US4937866A (en) 1986-08-13 1990-06-26 U.S. Philips Corporation System for decoding transmitted scrambled signals
US5060263A (en) 1988-03-09 1991-10-22 Enigma Logic, Inc. Computer access control system and method
US4864615A (en) 1988-05-27 1989-09-05 General Instrument Corporation Reproduction of secure keys by using distributed key generation data
US4924515A (en) 1988-08-29 1990-05-08 International Business Machines Coprporation Secure management of keys using extended control vectors
US5065429A (en) 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
FR2651347A1 (fr) 1989-08-22 1991-03-01 Trt Telecom Radio Electr Procede de generation de nombre unique pour carte a microcircuit et application a la cooperation de la carte avec un systeme hote.
US5237610A (en) 1990-02-01 1993-08-17 Scientific-Atlanta, Inc. Independent external security module for a digitally upgradeable television signal decoder
US5309516A (en) 1990-12-07 1994-05-03 Hitachi, Ltd. Group cipher communication method and group cipher communication system
US5233655A (en) 1991-02-19 1993-08-03 Shapiro Sanford S Data access verification system
US5241598A (en) 1991-05-22 1993-08-31 Ericsson Ge Mobile Communications, Inc. Rolling key resynchronization in cellular verification and validation system
US5153919A (en) 1991-09-13 1992-10-06 At&T Bell Laboratories Service provision authentication protocol
JP2821306B2 (ja) 1992-03-06 1998-11-05 三菱電機株式会社 Icカードと端末機との間の認証方法およびそのシステム
US5361062A (en) 1992-11-25 1994-11-01 Security Dynamics Technologies, Inc. Personal security system
JPH06223041A (ja) 1993-01-22 1994-08-12 Fujitsu Ltd 広域環境利用者認証方式
US5475826A (en) 1993-11-19 1995-12-12 Fischer; Addison M. Method for protecting a volatile file using a single hash
US5481611A (en) 1993-12-09 1996-01-02 Gte Laboratories Incorporated Method and apparatus for entity authentication
US5495533A (en) 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US7243232B2 (en) 1995-04-21 2007-07-10 Certicom Corp. Key agreement and transport protocol
US5757924A (en) 1995-09-18 1998-05-26 Digital Secured Networks Techolognies, Inc. Network security device which performs MAC address translation without affecting the IP address
US5638448A (en) 1995-10-24 1997-06-10 Nguyen; Minhtam C. Network with secure communications sessions
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
US5796830A (en) 1996-07-29 1998-08-18 International Business Machines Corporation Interoperable cryptographic key recovery system
JPH1096839A (ja) 1996-09-20 1998-04-14 Sumitomo Electric Ind Ltd 半導体レーザモジュールの製造方法
US5953420A (en) * 1996-10-25 1999-09-14 International Business Machines Corporation Method and apparatus for establishing an authenticated shared secret value between a pair of users
US5966441A (en) 1996-11-18 1999-10-12 Apple Computer, Inc. Method and apparatus for creating a secure autonomous network entity of a network component system
US6587563B1 (en) 1997-02-15 2003-07-01 Apple Computer, Inc. Cryptographic system using chaotic dynamics
US6105133A (en) * 1997-03-10 2000-08-15 The Pacid Group Bilateral authentication and encryption system
JP2002508892A (ja) 1997-03-10 2002-03-19 ガイ・エル・フィールダー 双方向認証および暗号化システム
WO1998047259A2 (en) 1997-03-10 1998-10-22 Fielder Guy L File encryption method and system
CA2293684A1 (en) 1997-03-10 1998-10-15 Paul N. Alito Secure deterministic encryption key generator system and method
US5995624A (en) 1997-03-10 1999-11-30 The Pacid Group Bilateral authentication and information encryption token system and method
US5974550A (en) 1997-12-12 1999-10-26 Intel Corporation Method for strongly authenticating another process in a different address space
US6754820B1 (en) 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
US6345101B1 (en) 1998-10-07 2002-02-05 Jayant Shukla Cryptographic method and apparatus for data communication and storage
US6490353B1 (en) 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
AUPP752398A0 (en) 1998-12-04 1999-01-07 Collins, Lyal Sidney Secure multi-point data transfer system
US6636968B1 (en) 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
US7032240B1 (en) 1999-12-07 2006-04-18 Pace Anti-Piracy, Inc. Portable authorization device for authorizing use of protected information and associated method
US6947556B1 (en) * 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
US6769060B1 (en) 2000-10-25 2004-07-27 Ericsson Inc. Method of bilateral identity authentication
US6987853B2 (en) 2000-11-29 2006-01-17 Bodacion Technologies, Llc Method and apparatus for generating a group of character sets that are both never repeating within certain period of time and difficult to guess
US20020143872A1 (en) 2001-03-27 2002-10-03 Jeffrey Weiss Multiple service management platform utilizing common directory
DE10129285C2 (de) 2001-06-18 2003-01-09 Hans-Joachim Mueschenborn Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
US7293283B2 (en) 2001-10-16 2007-11-06 Microsoft Corporation Flexible electronic message security mechanism
US6839338B1 (en) 2002-03-20 2005-01-04 Utstarcom Incorporated Method to provide dynamic internet protocol security policy service
JP4077270B2 (ja) 2002-08-05 2008-04-16 富士通株式会社 証明書管理環境の管理方法、プログラム及び装置
US7571321B2 (en) 2003-03-14 2009-08-04 Voltage Security, Inc. Identity-based-encryption messaging system
CN1774687A (zh) * 2003-04-14 2006-05-17 松下电器产业株式会社 使用挑战响应原理的客户端服务器鉴别
KR100520116B1 (ko) * 2003-05-16 2005-10-10 삼성전자주식회사 모바일 애드 혹 상의 암호화를 위한 노드간 키 분배 방법및 이를 이용한 네트워크 장치
US8045707B2 (en) 2003-08-15 2011-10-25 Broadcom Corporation System and method for securing data
US7890477B2 (en) 2003-08-20 2011-02-15 Total Training Network, Inc. Systems and methods for providing digital content
WO2005107287A1 (en) 2004-04-21 2005-11-10 Storcard, Inc. Secure portable data communicator and viewer
EP1610199A1 (en) 2004-06-04 2005-12-28 Axalto SA Controlling access to a secure service by means of a removable security device
US7890769B2 (en) 2004-08-04 2011-02-15 Broadcom Corporation System and method for secure code downloading
EP1906587A3 (en) 2004-10-29 2008-04-16 Thomson Licensing, Inc. Secure authenticated channel
US7564345B2 (en) 2004-11-12 2009-07-21 Verayo, Inc. Volatile device keys and applications thereof
US7546639B2 (en) 2004-11-19 2009-06-09 International Business Machines Corporation Protection of information in computing devices
GB2421407A (en) * 2004-12-18 2006-06-21 Hewlett Packard Development Co Generating a shared symmetric key using identifier based cryptography
US8332526B2 (en) * 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
WO2007005909A2 (en) 2005-07-01 2007-01-11 Fred Covely Methods and apparatus for authentication of content delivery and playback applications
US20070130463A1 (en) 2005-12-06 2007-06-07 Eric Chun Wah Law Single one-time password token with single PIN for access to multiple providers
US20070150742A1 (en) 2005-12-22 2007-06-28 Cukier Johnas I Secure data communication for groups of mobile devices
US8127130B2 (en) 2006-04-18 2012-02-28 Advanced Communication Concepts, Inc. Method and system for securing data utilizing reconfigurable logic
US8542824B2 (en) * 2006-05-04 2013-09-24 Blackberry Limited System and method for processing messages with encryptable message parts
GB0612775D0 (en) 2006-06-28 2006-08-09 Ibm An apparatus for securing a communications exchange between computers
US8416954B1 (en) 2008-09-30 2013-04-09 Emc Corporation Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
US8006300B2 (en) * 2006-10-24 2011-08-23 Authernative, Inc. Two-channel challenge-response authentication method in random partial shared secret recognition system
EP1926279A1 (en) 2006-11-21 2008-05-28 Thomson Licensing Method and a first device for associating the first device with a second device
US8160548B2 (en) * 2006-12-15 2012-04-17 At&T Intellectual Property I, Lp Distributed access control and authentication
US8571188B2 (en) * 2006-12-15 2013-10-29 Qualcomm Incorporated Method and device for secure phone banking
EP2122900A4 (en) 2007-01-22 2014-07-23 Spyrus Inc PORTABLE DATA ENCRYPTION DEVICE WITH CONFIGURABLE SAFETY FUNCTIONS AND METHOD FOR FILING ENCRYPTION
EP2115660A4 (en) 2007-01-26 2011-11-02 Safenet Inc SECURE FILE ENCRYPTION
US20080244078A1 (en) 2007-03-26 2008-10-02 Pieter Viljoen Web services intermediary
US9071439B2 (en) 2007-04-26 2015-06-30 Emc Corporation Method and apparatus for remote administration of cryptographic devices
US8640030B2 (en) * 2007-10-07 2014-01-28 Fall Front Wireless Ny, Llc User interface for creating tags synchronized with a video playback
WO2009074956A1 (en) 2007-12-10 2009-06-18 Fireflight (Pty) Ltd Method and system for managing a software application on a mobile computing device
US20100122327A1 (en) * 2008-11-10 2010-05-13 Apple Inc. Secure authentication for accessing remote resources
US8214630B2 (en) 2009-02-24 2012-07-03 General Instrument Corporation Method and apparatus for controlling enablement of JTAG interface
US20100235906A1 (en) 2009-03-12 2010-09-16 Nokia Corporation Method and apparatus for activate an authentication on a mobile device
EP2273416A1 (en) 2009-06-25 2011-01-12 Gemalto SA Method of managing a one-time password in a portable electronic device
US8683204B2 (en) 2009-12-04 2014-03-25 Alcatel Lucent Efficient techniques for achieving secure transactions using tamper-resistant tokens
EP2526505B1 (en) 2010-01-20 2015-06-17 Intrinsic ID B.V. Device and method for obtaining a cryptographic key
GB2478147A (en) 2010-02-26 2011-08-31 Timothy Paul James Gerard Kindberg System for exercising tokens

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661524A (zh) * 2022-03-21 2022-06-24 重庆市规划和自然资源信息中心 基于日志分析的不动产登记数据回备技术的实现方法
CN114661524B (zh) * 2022-03-21 2023-06-02 重庆市规划和自然资源信息中心 基于日志分析的不动产登记数据回备技术的实现方法

Also Published As

Publication number Publication date
US9009484B2 (en) 2015-04-14
US20150188901A1 (en) 2015-07-02
WO2010111439A3 (en) 2010-11-18
WO2010111447A1 (en) 2010-09-30
US20110307707A1 (en) 2011-12-15
US20140006792A1 (en) 2014-01-02
US8539241B2 (en) 2013-09-17
US20110307706A1 (en) 2011-12-15
WO2010111439A2 (en) 2010-09-30
US10320765B2 (en) 2019-06-11

Similar Documents

Publication Publication Date Title
TW201103298A (en) Method and system for securing communication
US9882883B2 (en) Method and system for securing communication
US10484344B2 (en) System and method for authenticating users
US10142107B2 (en) Token binding using trust module protected keys
US9172533B2 (en) Method and system for securing communication
CN110324143A (zh) 数据传输方法、电子设备及存储介质
US8462955B2 (en) Key protectors based on online keys
KR20080025121A (ko) 비대칭 개인키로부터 비밀키 생성
WO2008053279A1 (en) Logging on a user device to a server
Sujithra et al. ID based adaptive-key signcryption for data security in cloud environment
Haunts Applied Cryptography in .NET and Azure Key Vault
Murdoch et al. A Forward-secure Efficient Two-factor Authentication Protocol
Arvin S. Lat et al. SOUL System: secure online USB login system
US20240107318A1 (en) A method and a system for securely sharing datasets via glyphs
Sharma et al. Multimedia Data Security Enhancing DES &UTF8 Parameterizing Time Constraint
Xu et al. Cyber and Physical Access Control in Legacy System Using Passwords
XUa et al. Cyber and Physical Access Control in Legacy System Using Passwords 1, 2
Andrijauskas Client Side Encryption for Soonr Cloud Service and Secure Key Distribution
Makvandi Microcontroller-based Implementation of ParseKey+ for Limited Resources Embedded Applications
Snyder et al. Using Encryption
Mhatre A Novel Authentication Technique in Cloud Computing