具效率性之通行碼認證及金鑰交換機制
具效率性之通行碼認證及金鑰交換機制
具效率性之通行碼認證及金鑰交換機制
具效率性之通行碼認證及金鑰交換機制
Efficient password authentication and key exchange protocol
吳宗杉 國立台灣海洋大學資訊工程學系 [email protected] 陳益森 國立台灣海洋大學資訊工程學系 [email protected] 許令芷 佛光大學資訊學系 [email protected] 黃世豪 佛光大學資訊學系 [email protected]摘要
摘要
摘要
摘要
網際網路提供的服務不勝枚舉,各種 資訊安全的攻擊也接踵而至。使用者透過 遠端伺服器存取電腦資源,先確認溝通雙 方的身份,是網路安全考量的議題之一。 本研究應用智慧卡儲存使用者資訊及微量 運算的功能,提出通行碼認證與金鑰交換 的方法,可達到使用者與伺服器之間雙向 認證,產生互相通訊的交談金鑰,並做有 效期限的控制。歸納具有以下特性:1.伺 服器不需要儲存認證資料;2.使用者可自 行選擇通行碼;3.達到雙向認證;4.產生交 談金鑰;5.可控制使用期限;6.運算成本低 且效率佳。 關鍵詞 關鍵詞關鍵詞 關鍵詞:智慧卡、交談金鑰、雙向認證、 通行碼ABSTRACT
Internet provides various services enabling the convenience of human life. However, it accompanies a verity of information security attacks. Before having access to the computer resources in remote
site, it is one of the important issues in network security considerations to have a mutual authentication of the communicating entities. We proposed a new method of password authentication and key exchange protocol with smart card in this paper. The proposed scheme has the following characteristics: 1. it is not required for the server to store any authentication data for users; 2. users can freely choose their own passwords; 3. it meets the requirement of mutual authentication; 4. the communicating parties can exchange one common session key; 5. it provides the control expiration; 6. the computation complexity of the scheme is low as compared with other previously proposed ones and thus gain computing efficiency.
Keyword: Smart card, Session key, Mutual authentication, Password
1. 前言
前言
前言
前言
資訊科技迅速的發展,許多資訊都透 過共通的網路傳遞,使用者很容易取得網 路上傳送的資訊,使得個人隱私遭受極大 的威脅,使用資訊安全技術來防禦各式各 樣的攻撃是刻不容緩的。在開放的網路環 境下,遠端資源的所提供的服務及存取控 制面臨著安全上的挑戰,網際網路的資源 並非提供給所有使者任意使用,有些服務 是必須付費或是經過註冊。目前遠端系統 服務機制,提供使用者與伺服器之間相互 驗證,使用的方法簡單、便利,因此廣受 歡迎。 1981 年,Lamport [8] 提出通過不安 全通道使用者遠端驗證機制後,即有相關 研究被提出發表,Lamport 所提出的機 制,需要在伺服器存放一個驗證表格,當 使用者登入時,驗證是否為合法使用者, 可以抵抗重送攻擊,但是存在密碼驗證表 格遭受竊取的危機。在 1993 年 Chang and Wu [2] 提出智慧卡的應用,主要特色是可 以任意選用密碼。於 2000 年,Hwang and Li [6] 提出一個利用智慧卡的使用者遠端 確認機制,毋需在伺服器存放一個密碼驗 證表,避免驗證表被竊取,針對 Lamport 所提出之機制的弱點加以改良。之後,Sun [12] 提出可以改善 Hwang and Li 效能的 遠端使用者驗證機制,但是使用者無法任 意選擇或是改變密碼。2002 年 Chien 等 人 [4] 以及 2003 年 Wu 和 Chieu [14] 等指出 Sun 所提出機制的弱點:1.不能讓 使用者自由選擇密碼。2.無法達到雙方認 證。並根據上述弱點加以改良。但 Chien 等人的方法沒有產生交談金鑰,而 Wu 和 Chieu 的方法,容易遭受重送攻擊以及沒 有達到雙向身份驗證在安全上仍然有些缺 失。 2004 年 Juang [7] 提出可以達成雙 向認證,使用對稱式加解密的方式,產生 交談金鑰的機制,在安全上的缺點為:每 次產生交談金鑰之前,皆使用同一把金鑰 做加解密。2005 年 Chen-Yeh [3] 提出一 個亂數基底 (nonce-based) 的身份認證協 定,亦可提供雙向認證及會議密鑰協議 (session key agreement) 的功能,但於登入 階段,使用者傳送訊息給伺服器時,伺服 器無法立即確認是否為合法使用者,容易 遭受阻斷服務 (Denial of Service, DOS) 攻擊。2006 年 Liaw 等人 [10] 提出的機 制,可以達到 Chen-Yeh 的功能,但是在 產生交談金鑰階段,使用公鑰加密的方 法 , 效 率 不 佳 。 本 文 保 留 Juang 和 Chen-Yeh 機制的優點,改善他們在安全上 的缺失,提出通行碼認證及金鑰交換機 制,並且控制智慧卡的使用期限,讓使用 者遠端認機制更安全且有效率。 在第 2 章節中,依序介紹 Juang、Chen 和 Yeh 及 Liaw 等人的身分認證機制。 第 3 章節,提出一個具效率性身份認證及 金鑰交換方法。在第 4 章節,為所提的機 制,做安全上的分析及效率上的比較。最 後章節針對本論文做一簡單的為結論。2. 相關文獻
相關文獻
相關文獻
相關文獻
在近幾年,許多學者陸續提出各種使 用智慧卡之使用者認證機制,本章將分 2.1~2.3 節來介紹三個認證機制,並分三個 階段來討論,分為初始階段、註冊階段、 登入階段。2.1 Juang 認證機制認證機制認證機制認證機制 在 2004 年,Juang [7] 發表一個使用 智慧卡的認證機制,它提供雙向認證與金 鑰交換,而且伺服器不需要儲存任何驗證 表格,在安全上的缺點為,同一個使用者,
在登錄階段,每次都使用同一把金鑰做加 解密,之後產生交談金鑰。其方法詳述如 下: [初始階段] 在此階段,系統需先設定以下參數: Ui:第 i 位使用者並擁有自己的識別 碼 IDi 和通行碼 PWi。 S:伺服器 x:伺服器的秘密金鑰。 Ek(m):表示使用秘密金鑰 k,對訊息 m 做加密。 Dk(m):表示使用秘密金鑰 k,對訊息 m 做解密。 h( ):為單向雜湊函數。 [註冊階段] 當 使 用 者 Ui 要 向 伺 服 器 S 註 冊 時,使用者 Ui 傳送自己的 IDi 和 PWi 給伺服器 S,若伺服器接受使用者的需 求,將執行以下歩驟 (如圖一所示): 歩驟一:計算使用者 Ui 的秘密資 訊,其中 vi = h(IDi, x) (1) wi = vi ⊕ PWi (2) 歩驟二:伺服器 S 將 IDi 和 wi 儲 存到智慧卡,並配發給使用 者 Ui。 [登入階段] 此階段運作 (如圖二所示),當使用者 Ui 要登入系統時,將智慧卡插入讀卡機, 透過終端設備輸入 IDi和 PWi。假設為第 j 次登入伺服器,於是智慧卡會進行以下 歩驟: 歩驟一:首先利用使用者輸入的 PWi 計算 vi= wi⊕PWi (3) 歩驟二:隨機選取二個亂數分別為 ruj 和 N1 ,使用 vi 為加 密金鑰,加密訊息如下 )) || ID ( , (ru h N1 Ev j i i (4) 歩驟三:{N1,IDi,Ev (ruj,h(IDi ||N1)) i } 訊息,傳送遠端伺服器。 遠端伺服器收到登入訊息時,驗證 使用 Ui是否為合法的使用者,執行以下的 歩驟: 歩驟一:計算 vi 如(1),接著計算 ))) || ID ( , ( (E ru h N1 Dvi vi j i (5) 歩驟二:檢查 h(IDi ||N1) 和 N1 是 否 合 法 , 如果 N1 不 是 新 的,或者 h(IDi ||N1) 不正 確,則拒絕使用者登入。 歩驟三:隨機選取一個亂數分別為 rsj 使用 vi 為加密金鑰, 加密訊息,並將訊息傳給 使用者 Ui ) , 1 , (rs N1 N2 Evi j + (6) 歩驟四:計算雙方第 j 次的交談金 鑰 kj = h(ruj, rsj, vi) (7) 結束上述歩驟,確認使用者 Ui 通 過驗證後,遠端伺服器 S 與使用者 Ui, 分別執行以下歩驟: 圖一 Juang 方法註冊階段 (IDi ,PWi) (IDi, wi) 使用者 Ui 伺服器 S Smart Card
歩驟一:當使用者接收到伺服器 S 傳送的訊息,首先計算 )) , 1 , ( (E rs N1 N2 Dvi vi j + (8) 歩驟二:檢查 N1+1 是否為正確,如 果正確,則計算雙方第 j 次 的交談金鑰 kj 如(7) 歩驟三:使用 kj 為加密金鑰,加密 訊息,並將訊息傳給伺服器 S ) 1 (N2 + Ekj (9) 歩驟四:伺服器計算 )) 1 ( (E N2 + Dkj kj (10) 歩驟五:檢查 N2+1 是否正確,若正 確雙方就建立起彼此溝通 的交換金鑰 kj。 2.2. Chen-Yeh 認證機制認證機制認證機制 認證機制 在 2005 年,Chen-Yeh [3] 提出一個 高效率亂數基底 (nonce-based) 的身份認 證協定,它保留 Juang 所提出方法的優 點,但登入階段,使用者傳送訊息給伺服 訊息時,伺服器無法確認使用者是否合 法,所以遭受阻斷攻擊。其方法詳述如下: [初始階段] 在此階段,先設定以下參數: Uu:第 u 位使用者並擁有自己的識 別碼 IDu 和通行碼 PWu。 S:伺服器。 x:伺服器的秘密金鑰。 h( ):為單向雜湊函數。 [註冊階段] 註冊階段是由伺服器來執行,在使用 者註冊被接受後,伺服器將配發智慧卡給 使用者。當一個新的使用者 Uu 要向伺服 器 S 註冊為合法的使用者時,首先,使用 者 Uu 必須傳送自己的 IDu 和容易記憶 的通行碼 PWu 給伺服器 S,若伺服器接 受使用者的需求,將執行以下歩驟 (如圖 三所示): 歩驟一:計算使用者 Uu 的秘密資 訊,其中 Ru = h(IDu ⊕ x) ⊕ PWu (11) 歩驟二:伺服器將 h( ) 和 Ru 儲存 到智慧卡,並配發給使用者 Uu。 [登入階段] 此階段的運作 (如圖四所示),當一個 合法的使用者 Uu 要存取伺服器提供的 服務時,將智慧卡插入讀卡機,透過終端 設備輸入 IDu 和 PWu。於是智慧卡會進 行以下歩驟: 歩驟一:首先利用使用者輸入的 PWi 計算 h(IDu⊕x) Ru⊕PWu (12) 歩驟二:讀卡機隨機選取一個亂數值 為 Nc,計算 M1 圖二 Juang 方法登入階段 圖三 Chen-Yen 方法註冊階段 使用者 Ui 伺服器 S ) 1 (N2+ Ekj Smart Card )) || ID ( , ( , ID , 1 1 E ru h N N i v j i i ) , 1 , (rs N1 N2 Evi j + (IDu ,PWu) (h( ), Ru) 使用者 Uu 伺服器 S Smart Card
M1 = h 2 (IDu⊕x)⊕Nc (13) 歩驟三:使用者 Uu,傳送訊息 (IDu
,
M1) 給遠端伺服器 S。 在交換認證訊息上,使用二個亂數 值,一個亂數值是由讀卡機任選,產生在 使用者登入時,另一個是由伺服器任選, 因此,二個亂數值可以保護認證的訊息, 和每個經過身份認證的參與者。在遠端伺 服器收到登入訊息時,執行以下的歩驟: 歩 驟 一 : 收 到 登 入 訊 息 (IDu,
M1) 後,計算 h2(IDu⊕x) (14) NcM1⊕h 2 (IDu⊕x) (15) 歩驟二:伺服器產生一個新的亂數值 Ns,接著計算 M2 = h(h(IDu⊕x)⊕Nc)⊕Ns (16) M3 = h(h(IDu⊕x) || Nc || Ns ) (17) 歩驟三:伺服器 S 將訊息 (M2, M3) 傳給使用者 Uu。 使用者 Ui 與遠端伺服器 S,分別 執行以下歩驟: 歩驟一:當接收到伺服器 S 訊息 (M2, M3) 時,使用者 Uu 首先計算 h(h(IDu⊕x)⊕Nc) (18) NsM2 ⊕ h (h(IDu⊕x)⊕Nc) (19) 歩驟二:驗證伺服器 S ,是否確切 的知道 Nc,使用者 Uu 更 進一歩檢查 M3 ? =h(h(IDu⊕x) || Nc || Ns) (20) 歩驟三:若上述式子相等,則使用者 Uu 確認伺服器 S 是合法 非冒充或偽裝,進一歩計算 M4,並傳送訊息給伺服器 S M4 = h(h 2 (IDu⊕x) || Nc +1 || Ns +1) (21) 歩 驟 四 : 伺 服 器 驗 證 M4 是 否 正 確,計算 M4 ? =h(h2(IDu⊕x) || Nc +1 || Ns +1) (22) 歩驟五:若歩驟四驗證正確,則雙方 分別計算彼溝通的交換金鑰 SK。 SK = h(h3(IDu⊕x) || Nc +2 || Ns +2) (23) 2.3. Liaw 等人認證機制等人認證機制等人認證機制 等人認證機制 在 2006 年,Liaw [10] 提出使用智慧 卡具效率性和完整性的通行碼認證方法, 它的安全性是建構在單向雜湊函數和亂數 基底 (nonce-based) 上。使用亂數基底的 方法,因亂數值不會跟之前使用過的數值 有重覆,可以避免重送攻擊,並且沒有時 間同步的問題。但是 Liaw 等人所提出的 方法,在產生交談金鑰時,使用公鑰加密 的方法,比使用私鑰加密或是單向雜湊函 數,需要更多的運算時間,效率較差,其 方法詳述如下: [初始階段] 在此階段,先設定以下參數: Ui:第 i 位使用者並擁有自己的識 別碼 IDi 和通行碼 PWi。 S:遠端系統 x:伺服器的秘密金鑰。 Smart Card 使用者 Uu 伺服器 S IDu, h 2 (IDu⊕x)⊕Nc h (h(IDu⊕x)⊕Nc)⊕Ns, h(h(IDu⊕x) || Nc || Ns ) h(h2(IDu⊕x) || Nc +1 || Ns +1) 圖四 Chen-Yeh 方法登入階段h( ):為單向雜湊函數。 q:大質數。 [註冊階段] 使 用 者 Ui 要 向 遠 端 系 統 S 註 冊 時,使用者 Ui 傳送自己的 IDi 和 PWi 給遠端系統 S,當遠端系統接受到訊息之 後,將執行以下歩驟: 歩驟一:計算使用者 Ui 的秘密資 訊,其中 vi = h(IDi, x) (24) ei = vi⊕PWi (25) 歩驟二:遠端系統 S 將 ei 和 h( ) 儲存到智慧卡,並配發給使 用者 Ui。 [登入階段] 當 使 用 者 Ui 想 要 登 入 遠 端 系 統 S 時,必須將智慧卡插入讀卡機,透過終端 設備輸入 IDi 和 PWi。於是智慧卡會進 行以下步驟: 歩驟一:首先產生一個亂數 Ni。 歩驟二:計算 C C = h(ei⊕PWi, Ni) (26) 歩驟三:使用者 Ui,傳送訊息 (IDi
,
C, Ni) 給遠端系統 S。 在遠端系統接收到認證需求的訊息 (IDi,
C, Ni) 之後,使用者 Ui 與遠端系統 S 進行相互認證,由遠端系統執行以下的 歩驟: 歩驟一:檢查 IDi 是否合法,如果不 合法,則拒絕使用者 Ui 的 需求。 歩驟二:計算 vi′
同(24),檢查 C C ? =h(vi′
, Ni) (27) 如果不相等則拒絕需求,否 則執行以下步驟。 歩驟三:產生一個亂數 Ns。 歩驟四:使用 vi 為加密金鑰,加密 訊息,並將訊息傳給智慧卡。 ) , ( i s v N N E M i = (28) 由智慧卡執行以下歩驟: 歩驟一:當接收到訊息 M 時,首先 解開訊息 M,計算 (Ni′, Ns′)←Dvi(M) (29) 歩驟二:檢查亂數是否相等 Ni′ ? =Ni (30) 如果不相等則中斷連線,否 則執行以下步驟。 歩驟三:檢查亂數是否相等 Ns′ ? =Ns (31) 如果相等,則完成雙向認證。 在 完 成 雙 向 認 證 之 後 , 運 用 Diffie-Hellman 的金錀交換技術,產生共 同的交談金鑰,將執行以下歩驟: 歩驟一:遠端系統 S,計算 Si,並將 Si 傳送給智慧卡 q Si =α
Nsmod (32) 圖五 Liaw 等人方法註冊階段 (IDi ,PWi) (ei, h( )) 使用者 Ui 遠端系統 S Smart Card歩驟二:同樣地,智慧卡計算 Wi, 並傳送 Wi 給遠端系統 S q Wi =
α
Ni mod (33) 歩驟三:在接收到訊息後,遠端系統 S 計 算 Ks, 使 用 者 計 算 Ku,然後檢查 Ks = Ku 是否 成立,如果成立,則產生交 談金鑰。 ) ( i N s W K = s (34) ) ( i N u S i K = (35) 歩驟四:如果遠端系統 S 要傳送訊 息 Ms 給使用者 Ui 時,使 用 Ks 做互或斥的運算,再 用 ei′
為加密金鑰,加密訊 息,當使用者 Ui 收到訊 息,利用智慧卡解開訊息, 得到 Ms ) ( s s i e M K E ′ ⊕ (36) MsDei′(Eei′(Ms ⊕Ks))⊕Ks (37) 歩驟五:如果使用者 Ui 要傳送訊 Mu 給遠端系統 S 時,使 用 Ku 做互或斥的運算, 再用 ei 為加密金鑰,加密 訊息,當遠端系統 S 收到 訊息,做解密得到 Mu ) ( u u ei M K E ⊕ (38) MuDei(Eei(Mu⊕Ku))⊕Ku (39)3. 我們的方法
我們的方法
我們的方法
我們的方法
本文方法保留 Juang [7]、Chen-Yeh [3] 和 Liaw 等人 [10] 機制的優點,改善他 們在安全上的缺失,提出使用智慧卡之通 行碼認證及金鑰交換的方法 (如圖七所 示),達到雙向認證,產生交談金鑰,並且 控制智慧卡的使用期限,讓遠端使用者與 伺服器之間認證機制更安全且有效率。本 文的方法分為三個階段:初始階段、註冊 階段、登入階段最後產生交談金鑰,詳述 方法如下: [初始階段] 在此階段,先設定以下參數: Ui:第 i 位使用者並擁有自己的識別 碼 IDi 和通行碼 PWi S:伺服器 x:伺服器的秘密金鑰。 Ex(m):表示使用秘密金鑰 x,對訊息 m 做加密。 Dx(m):表示使用秘密金鑰 x,對訊息 m 做解密。 h( ):為單向雜湊函數。 date:記錄使用限期相關資訊。 now:伺服器目前時間。 [註冊階段] 當使用者 Ui 要向伺服器 S 註冊時, 使用者 Ui 傳送自己的 IDi 和 PWi 給伺 服器 S ,若伺服器接受使用者的需求,將 執行以下歩驟: 歩驟一:計算使用者 Ui 的秘密資訊 Ci = h(x||IDi) (1) Ai = Ci⊕PWi (2) lifetime = Ex(date) (3) 圖六 Liaw 等人方法登入階段 Smart Card 使用者 Ui 遠端系統 S (IDi, C, Ni) M Si Wi
歩 驟 二 : 伺 服 器 S 將 (IDi, Ai, lifetime) 儲存到智慧卡, 並配發給使用者 Ui。 [登入階段] 當使用者 Ui 要登入系統時,將智慧 卡插入讀卡機,透過終端設備輸入 IDi 和 PWi。於是智慧卡會進行以下步驟: 歩驟一:首先利用使用者 Ui 輸入的 PWi 計算 Ci= Ai⊕PWi (4) IDi, PWi Ci = h(x || IDi) Ai = Ci ⊕ PWi lifetime = Ex(date) Smart Card IDi Ai lifetime IDi, PWi Nu ∈ RZn * Ci = Ai ⊕ PWi Vu = Ci ⊕ Nu M1= (IDi || Vu|| h(Nu)|| lifetime) M1 Ci = h(x || IDi) Nu1= Vu ⊕ Ci h(Nu1) ? = h(Nu) date Dx(lifetime) check: date ? ≤ now Ns ∈ RZn * Vs = Ci ⊕ Ns M2= (Vs || h(Nu1 + 1)) M2 Ns = Vs⊕ Ci Check: h(Nu1 + 1) ? = h(Nu + 1) M3 = h(Ns + 1) K = h(Ci, Nu, Ns) M3 Check: M3 ? = h(Ns + 1) K = h(Ci, Nu, Ns) 註冊階段 Ui S Ui Card reader S 登入階段 圖七 通行碼認證及金鑰交換機制
歩驟二:隨機選取一個亂數 Nu,計 算 Vu= Ci⊕Nu (5) 歩驟三:將 M1 傳送遠端伺服器 S M1 = (IDi || Vu || h(Nu) || lifetime ) (6) 遠端伺服器收到登入訊息 M1 時,執 行以下的歩驟: 歩驟一:計算 Ci 如(1)與 Nu1 Nu1 = Vu⊕Ci (7) 歩 驟 二 : 檢 查 h(Nu1) 是 否 等 於 h(Nu),若相等,可以確認 雙方所計算的 Ci 是相等 的,亦可確認使用者 Ui 身份,若不相等,則拒絕 提供使用者需求。 h(Nu1) ? = h(Nu) (8) 歩驟三:將 lifetime 解密,取得使用 期限相關資訊,檢查使用期 限是否到期,若到期則拒絕 提供服務,否則進行以下歩 驟。 Date Dx(lifetime) (9) Date ? ≤ now (10) 歩驟四:隨機選取一個亂數 Ns,計 算 Vs 和 M2,並將 M2 傳 給使用者 Ui Vs = Ci ⊕ Ns (11) M2 = (Vs || h(Nu+1)) (12) 結束上述歩驟,確認使用者 Ui 通 過驗證後,遠端伺服器 S 與使用者 Ui, 分別執行以下歩驟: 歩驟一:當使用者接收到伺服器 S 傳 送的訊息 M2 ,首先計算 Ns = Vs⊕Ci (13) 歩 驟 二 : 檢 查 h(Nu1+1) 是 否 為 正 確,若等於 h(Nu+1),則繼 續執行以下步驟,此動作 在確認伺服器 S,是否能 正確算出 Nu。 h(Nu1+1) ? = h(Nu+1) (14) 歩驟三:計算 M3 與交談金鑰 K, 將訊息 M3 傳送給使用者 Ui M3 = h(Ns+1) (15) K = h(Ci, Nu, Ns) (16) 歩驟四:收到訊息 M3,檢查 M3 是 否正確,此動作在確認使用 者 Ui, 是 否 能 正 確 算 出 Ns,並計算交談金鑰 K 如 (16) M3 ? = h(Ns+1) (17)
4. 效能分析
效能分析
效能分析
效能分析
4.1 功能比功能比功能比功能比較較較較 遠端使用者確認機制不斷的被學者們 提出,各有其優缺點,本章針對我們所提 方法與近年來學者們所提使用者確認機 制,做功能 (如表 1)、效率分析 (如表 2)、 儲存與通訊成本 (如表 3) 的比較。 在表 1 中,列出使用智慧卡機制用來 提供的功能,以及可以抵抗安全上的攻擊
法。其中,不需通行碼驗證表是意指伺服 器不需要儲存驗證表;可自行選擇通行碼 是意指使用者可以自由選擇容易記憶的通 行碼,在 Lu-Cao 的方法中,不能讓使用 者自行選擇通行碼並且也不能自行修改通 行碼;雙向驗證意指使用者與伺服器,雙 方皆有確認對方的身分,在 Lu-Cao 的方 法中,並未達到雙向認證的功能;產生交 談金鑰意指在每次登入系統之後,產生一 把共同的金鑰,在 Lu-Cao、Change-Lee、 Hsu 和 Liaw 等人的方法中,並未提供此 功能;使用期限控制意指對智慧卡的使用 效期做控制,僅本文方法提供此功能;在 防制安全攻擊方面,大部分的機制皆可防 範,只有 Chen-Yeh 的機制,當攻擊者侵 入伺服器時,伺服器無法立即確認使用者 是否合法,容易遭受阻斷服務攻擊。 4.2 效率分析比較效率分析比較效率分析比較效率分析比較 這一節將近年提出的使用者確認機制 與我們提出的方法,做效率上的分析比 較,彙整於表 2,整個機制包含註冊階段、 登入階段與產生交談金鑰,並分成使用者 Ui 和伺服器 S 來比較。在此先定義一些 參數: Tm:乘法 (Multiplication) 運算時間。 Ts:平方根 (Square) 運算時間。 Ti:反轉 (Inverse) 運算時間。 Te:指數 (Exponentiation) 運算時間。 Th:雜溱 (Hash) 運算時間。 Tsym:對稱式加解密運算時間。 NA:表示未提供。 整理結果如表 2,從表 2 中可以發現, 若加總註冊階段、登入階段、產生交談金 鑰的效率做加總,本論文的總體效率比其 它方法佳,若分別來比較,本文的方法, 在註冊階段比 Liaw、Chen-Yeh 和 Juang 的方法,增加些許運算成本,註冊階段只 有新使用者加入時才會用到,對系統執行 效率影響不大;在產生交談金鑰時,使用 者端和 Wang 等人的方法一樣,運算成本 是最低的,而從伺服器端來看,較 Wang 等人的方法增加一些負擔,但於伺服器端 運算效能高,使用者端運算效能低的不平 衡系統下,伺服器增加微量的運算,不會 影響系統整體效能。除上述所提的部分 外,本文方法,皆小於其它方法所耗費的 運算時間。 4.3 儲存與通訊成本比較儲存與通訊成本比較儲存與通訊成本比較儲存與通訊成本比較 表 3 針對儲存與通訊的長度做比較, 分成儲存訊息長度、通訊階段訊息長度、 交 換 金 鑰 階 息 長 度 。 就 Lu-Cao 、 Chang-Lee、Hsu、Liao 等人的方法來比 較,因為未提供交談金鑰和有效期限的控 制,若本文的方法扣除這二項功能所產生 的訊息長度 2|sym| + 3|h|,在儲存訊息與通 訊階段訊息長度總和來看,比 Lu-Cao、 Chang-Lee、Hsu、Liao 等人的方法有較短 的訊息長度。若與 Wang 等人、Liaw 等 人、Chen-Yeh、Juang 的方法來比較,因 為未提供有效期限控制的功能,若本文扣 除這項功能所產生的訊息長度 2|sym|,就 總和的長度的角度來看,與 Wang 等人、 Liaw 等人、Chen-Yeh、Juang 的方法,此 四種方法與本文所提的方法訊息長度不相 上下,皆有較低的儲存與通訊成本的特性。
5. 結論
結論
結論
結論
在 1981 年,Lamport 提出通過不安 全通道的使用者遠端認證機制後,陸續有 許多相關的方法被提出,在安全與效率上 做改良。我們的方法提供雙方認證,並且 產生交談金鑰,使用二個亂數值分別由雙 方產生,攻擊者不能偽裝使用者或是伺服 器。在完成雙向認證後,運用雙方產生的 亂數值更進一歩的建立交談金鑰。本文中 所提之具效率性的通行碼認證及金鑰交換 機制,改良 Juang、Chen-Yeh 和 Liaw 等 人方法的缺點,保留其優點,並利用控制 智慧卡的有效期限功能,讓伺服器提供使 用者服務時,做效期的管理與控制。表 1 功能比較表 不需通 行碼驗 證表 可自行 選擇通 行碼 可修改 通行碼 達到雙 向驗證 產生交 談金鑰 使用期 限控制 可避免 重送攻 擊 可防制 通行碼 猜測攻 擊 可防制 偽裝攻 擊 可防制 阻斷服 務攻擊 Wang 等人方 法[13] ˇ ˇ ˇ ˇ ˇ × ˇ ˇ ˇ ˇ Liaw 等人方 法[10] ˇ ˇ ˇ ˇ ˇ × ˇ ˇ ˇ ˇ Chen- Yeh 方 法[3] ˇ ˇ ˇ ˇ ˇ × ˇ ˇ ˇ × Juang 方法[7] ˇ ˇ ˇ ˇ ˇ × ˇ ˇ ˇ ˇ Lu-Cao 方法 [11] ˇ × × × × × ˇ ˇ ˇ ˇ Chang-Lee 方 法[1] ˇ ˇ ˇ ˇ × × ˇ ˇ ˇ ˇ Hsu 方 法[5] ˇ ˇ ˇ ˇ × × ˇ ˇ ˇ ˇ Liao 等 人方法 [9] ˇ ˇ ˇ ˇ × × ˇ ˇ ˇ ˇ 本文方 法 ˇ ˇ ˇ ˇ ˇ ˇ ˇ ˇ ˇ ˇ 表 2 效率分析比較 註冊階段 登入階段 產生交談金鑰 Ui S Ui S Ui S Wang 等人方法[13] Th 3Th 4Th 3Th 2Th 0 Liaw 等人方法[10] 0 Th Th + Tsym 2Th + Tsym 2Te 2Te
Chen-Yeh 方法[3] 0 Th 2Th 4Th 5Th 3Th Juang 方法[7] 0 Th Th + Tsym 2Tsym+Th 2Tsym+Th Tsym+Th Lu-Cao 方法[11] 0 Ts + 2Te+3Th Tm+ Th Tm+ Ts+ Ti+ 2Te + 4Th NA NA Chang-Lee 方法[1] 0 Ti+ Te +Th Tm + Th Tm+ Ti + Te+ Th Th Tm+ Ti + Te + 2Th Hsu 方法[5] 0 Tm+ Ti+ Te +2Th Te+ 2Th Te + 2Th NA NA Liao 方法[9] Th Te + 2Th 2Tm+ Ti+ Te +3Th Tm + Te+ 2Th NA NA 本文方法 0 Th + Tsym Th 0 2Th Th
表 3 儲存與通訊成本比較
儲存訊息長度 通訊階段訊息長度 交換金鑰階段訊息長度 Wang 等人方法[13] 4|h| |ID| + 2|h| |h|
Liaw 等人方法[10] 2|h| |ID| + |h| + |sym| 2|p| Chen-Yeh 方法[3] 2|h| |ID| + |h| 3|h|
Juang 方法[7] |ID| + |h| |ID| + |sym| 2|sym| Lu-Cao 方法 [11] |h| + |p| |ID| + |h| + |p|+ |T| NA Chang-Lee 方法[1] 2|h|+ |p| |ID| + |h| |+ 3|p| NA Hsu 方法[5] |ID| + |h| + |p| + |g| |ID| + |h| + |T| NA Liao 等人方法[9] |ID| + |h| + |p| + |g| |ID| +2|h| + |T| NA 本文方法 |ID| + |h| +|sym| |ID| + 2|h| + |sym| 3|h| 註:1. |ID|, |p|, |g|:分別表示參數長度 2. |h|:表示雜湊函數輸出長度 3. |sym|:表示對稱式加密金鑰長度 4. NA:表示未提供
參考文獻
參考文獻
參考文獻
參考文獻
[1] C. C. Chang and J. S. Lee, “An efficient and secure remote authentication scheme using smart cards”, Information & Security, Vol. 18, pp. 122-133, 2006.
[2] C. C. Chang and T. C. Wu, “Remote password authentication with smart card”, IEE Proceedings-E, Vol. 138, No. 3, pp. 165-168, 1993.
[3] Y. C. Chen and L. Y. Yeh, “An efficient nonce-based authentication scheme with key agreement”, Applied Mathematics and Computation, Vol. 169, No. 2, pp. 982-994, 2005.
[4] H. Y. Chien, J. K. Jan and Y. M. Tseng, “An efficient and practical solution to remote authentication: smart card”, Computers and Security, Vol. 21, No 4, pp. 372-375, 2002.
[5] C. L. Hsu, “A user friendly remote authentication scheme with smart cards against impersonation attacks”,
Applied Mathematics and
Computation, Vol. 170, No. 1, pp. 135-143, 2005.
[6] M. S. Hwang and L. H. Li, “A new
remote user authentication scheme using smart cards”, IEEE Transactions on Consumer Electronics, Vol. 46, No. 1, pp. 28-30, 2000.
[7] W. S. Juang, “Efficient password authenticated key agreement using smart cards”, Computer and Security, Vol. 23, No. 2, pp. 167-173, 2004. [8] L. Lamport, “Password authentication
with insecure communications”, Communication of ACM, Vol. 24, No. 11, pp. 770-772, 1981.
[9] I. E. Liao, C. C. Lee and M. S. Hwang, “A password authentication scheme over insecure networks”, Journal of Computer and System Sciences, Vol. 72, No. 4, pp. 727-740, 2006.
[10] H. T. Liaw, W. F. Zhang and C. W. Wu, “An efficient and complete remote user authentication scheme using smart card”, Mathematical and Computer Modelling, Vol. 44, No. 1-2, pp. 223-228, 2006.
[11] R. Lu and Z. Cao, “Efficient remote user authentication scheme using smart card”, Computer Networks, Vol. 49, No. 6, pp.535-540, 2005.
[12] H. M. Sun, “An efficient remote use authentication scheme using smart cards”, IEEE Transactions on Consumer Electronics, Vol. 46, No. 4, pp. 958-961, 2004.
[13] X. M. Wang, W. F. Zhang, J. S. Zhang and M. K. Khan, “Cryptanalysis and improvement on two efficient remote user authentication scheme using
smart cards”, Computer Standards & Interfaces, Vol. 29, No. 5, pp. 507-512, 2007.
[14] S. T. Wu and B. C. Chieu, “A user friendly remote authentication scheme with smart cards”, Computer & Security, Vol. 22, No. 6, pp. 547-550, 2003.