使用者身分鑑別 (User Authentication) © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 本章內容 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 前言 使用者身分鑑別方式 通行密碼的安全威脅 通行密碼管理 使用者身分鑑別處理過程 登入種類 各種通行密碼技術 Kerberos身分鑑別系統 使用者終端設備的驗證 2 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.1 前言 • 使用者身分識別主要是要辨識某人是否為合法 的系統使用者。 • 可分為二部份:使用者身分(Identity)及鑑別 (Authentication)。不但要能夠唯一識別使用者 身分,而且必須要有方法來預防歹徒冒充別人 身分的能力。 • 可說是電腦的守護神。 3 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.2 使用者身分鑑別方式 使用者身分鑑別系統有二個重要觀念: • 確認個人身分(Personal Identification) 系統必須要能夠唯一識別每一位合法使用者。 • 鑑別身分 (Authentication) 系統必須不含糊地驗證使用者所宣稱之身分。 4 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 使用者身分鑑別 身分識別(Identification) Username: iclin 身分驗證(Authentication) Password: a23dsfsx 5 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 使用者身分辨識類型 • 證件驗證(Something Held) - 條碼卡、 磁卡、IC卡、智慧卡(Smart Card) • 生物特徵驗證(Something Embodied) - 生理結構唯一性:指紋、手紋、眼紋 - 行為差異性:聲音、筆跡、鍵盤、滑鼠 • 通行密碼驗證(Something Known) - Username、Password 6 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 證件驗證 • 條碼卡 - 有一維條碼及二維條碼二種。 - 二維條碼由於可存資料量比一維條碼多很多。 • 磁卡 - 以磁場信號來表示資訊內容,例如早期的電話卡、停 車卡及信用卡大都使用磁卡。 - 磁卡易受陽光曝曬變形及電磁場之影響,可靠性較 低。 - 優點為成本較低。 7 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 證件驗證 • IC卡 – 由一或數個積體電路所組成,具有記憶功能。 – IC卡與目前所使用的磁卡最大的差異,除了記憶容量及 安全性高外,資料還可重寫於IC卡。 – 常見的有金融卡、IC電話卡及便利商店 (7-11)所推出之 i-Cash 卡。 • 智慧卡 – 體積小方便攜帶外。 – 有少量的記憶體及運算處理的能力。 – 智慧卡與IC卡最大的差別是早期的IC卡僅僅是記憶體, 只輔助記憶個人機密資訊。智慧卡則如同一部缺少螢幕 及鍵盤的迷你型電腦。 8 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 生物特性驗證 • 生理結構唯一性 – 人的生理結構有些具有唯一性。 – 例如指紋 (Finger Print)、手形 (Hand Shape)及眼紋 (Retina Print) 等等均不相同。 • 行為差異性 – 主要 是一些行為習慣之不同。 – 例如每個人因為音頻、音律及音量等等不盡相同,因此 都有各自獨特的聲音(Voice)。 – 每個人寫字力道、字型及字體等等不盡相同,因此每個 人都有獨特的筆跡 (Signature and Write)。 – 每個人打鍵盤的速度及力道有所差異,且使用滑鼠的習 慣亦不盡相同。 9 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 生物特徵驗證設備之評估 • 錯誤接受率(False Accept Rate) - 不合法使用者卻被驗證為合法使用者 • 錯誤拒絕率(False Reject Rate) - 合法使用者卻被誤認為不合法使用者 • 活體驗證功能(Live & Die Verify) • 驗證時間(Verify Time) - 使用者Login到系統驗證出結果之所需時間 10 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.3 通行密碼(Password)之安全威脅 • 字典攻擊法(Dictionary Attack) -以字典中之單字來測試使用者之通行密碼,一般常見單 字有二萬個,測試一組單字僅需1毫秒,因此以字典攻擊 法20秒內即可得知使用者的通行密碼(假設使用者之通 行密碼為字典中之單字)。 • 猜測攻擊法(Guessing Attack) - 以使用者相關之資料猜測使用者之通行密碼,如生日、 身分證號碼、電話號碼及紀念日(如結婚紀念日)等。 • 窮舉攻擊法(Brute-Force Attack) - 將所有可能之通行密碼一一測試,因此若使用者所選之 通行密碼過短,很快就會被測出。 11 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 猜測攻擊法(Guessing Attack) 以PDP 11/70實驗 長度 26字元 36字元 128字元 1 30毫秒 40毫秒 160毫秒 2 800毫秒 2秒 20秒 3 22秒 58秒 43分 4 10分 35分 93小時 12 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 通行密碼(Password)的安全威脅 • 重送攻擊法(Replaying Attack) – 攔截使用者的通行密碼,重新輸入到主機系統, 以通過系統驗證。 • 行騙法(Spoofing) – 類似金光黨的行騙手法。 – 駭客模擬主機系統之登入 (Login)畫面及其處理 步驟,以騙取使用者密碼。 13 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.4 通行密碼管理 通行密碼之產生方式: • 使用者自選的通行密碼 (User-Generated Passwords) - 容易受到字典及猜測攻擊 - 避免選擇:單字、與個人相關特性資料、 鍵盤排列、重複使用在多台主機系統 - 選擇不被猜中合理長度的通行密碼(6至12字母)。 • 電腦隨機產生之通行密碼 (Computer-Generated Passwords) - 不容易記憶 - 避免將通行密碼寫在筆記本 14 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 通行密碼選擇的原則 • 選擇一個不易被猜中且長度合理的通行密碼,通常至少要 有8個字母以上長度,合理長度為8至12個字母。 • 避免使用字典中可以找到的單字當作通行密碼,並最好在 通行密碼中摻雜一些數字及分辨大小寫。 • 勿將通行密碼寫在筆記本及其他任何地方。 • 避免選擇單字、與個人相關特性資料以及鍵盤排列。 • 避免多台主機系統共用相同通行密碼。 15 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 使用通行密碼需注意事項 • 勿將通行碼寫在任何地方。 • 除了特別的情況勿將通行碼給他人使用。 • 勿在你的檔案(或筆記本)中寫下您自己的密碼。 • 每次登錄時,先檢查系統給你的訊息,例如;上 次登錄時間。 • 當你離開終端機時一定要跳出系統。 • 禁共用同一通行碼。 16 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 通行密碼的生命週期(Lifetime) •時常改變你的通行碼,每二至三個月改變一次。 •如有任何的理由懷疑通行碼已被他人知道,應該立 刻改變它。 •因臨時性任務申請之通行密碼,任務結束後使用者 帳號應予刪除(並備份該使用者檔案資料)。 •離職員工之帳號應予刪除。 17 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.5 使用者身分驗證處理過程 鍵盤 判斷是否為 合法使用者 為一儲存體,儲 存使用者的資訊 使用者憑證 (如IC卡)、 通行密碼 登入(Login)動作記錄起來 以作為日後稽核(Audit)用 18 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 使用者身分識別系統 分成三個階段 1.註冊階段 – 先向系統管理員申請帳號。 – 將使用者身分鑑別碼及通行密碼分配給使用者個人 保管,系統並儲存這些資訊在「系統資源單元」。 2.進入系統階段 – 出示身分,並由「讀取資料終端設備單元」輸入通 行密碼。 3.驗證階段 – 系統在「身分鑑別處理單元」驗證使用者身分及通 行密碼是否為合法使用者。 19 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.6 登入種類 依照「讀取資料終端設備單元」及「身分鑑別處 理單元」之間距離及其連線媒介,分以下七種: • 直接登入(Direct Logins)或本機登入 • 本地登入(Local Logins) • 撥接登入(Dialup Logins) • 遠端登入(Remote Logins) • 網路芳鄰登入(Distributed Logins) • 網路登入(Network Logins) • 代理登入(Proxy Logins) • 批次登入(Batch Logins) • 子處理登入(Subprocess Logins) 20 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.7 各種通行密碼技術 設計通行密碼需注意事項: • 系統要訂定錯誤次數(如三次)。 • 同時有二人Login時之警告。 • 系統要有強迫使用者定期更改通行密碼功能,並檢示通行密 碼是否合理(字典單字、簡單、與其他使用者之通行密碼雷同 或與先前的通行密碼重覆)。 • 使用者輸入完所有資料後才開始驗證其身分。 • 需回應上次Login之日期時間。 • 所有Login之動作均需記錄, 以作為稽核。 21 © The McGraw-Hill Companies, Inc., 2005 通行密碼技術之分類 使用者身分鑑別 • 系統需要儲存通行密碼表(Password Table) – 直接儲存通行密碼法(Password) – 單向函數法(One-Way Function) – 通行密碼加密法(Password Encryption) – 通行密碼加鹽法(Password Salt) – 挑戰與回應法(Challenge-Response) – 時戳法(Time-Stamp) • 系統不需要儲存通行密碼表 – 加密法 PW = Ek(ID) – 憑證法 22 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 直接儲存法 23 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 直接儲存法 1. 計數器先歸0 2. 判斷使用者輸入知識別名稱格式是否正確 3. 從通行密碼表中找出相對應的通行密碼 4. 將此密碼與使用者輸入的密碼作比對 5. 步驟二及四中,若判定為錯誤,則累加計數器 6. 判斷計數器是否已超過三次 24 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 25 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 單向函數法(One-way function) Y=F(X) 26 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 27 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 通行密碼加密法(Password Encryption) Username Password mshwang Ek(123456) lhli Ek(abcdefgh) 28 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 UNIX系統的通行密碼加密法 • 其密碼系統採用DES加密法 telnet penguin.mis.nchu.edu.tw key in username (s9414613) and password >cat/etc/password [Enter] >s9414613:x:2374:503::/home/s9414613:/bin/bash 其中x代表使用者s9414613加密過後的通行密碼 29 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 更改Unix系統的通行密碼 主機系統:ms13.hinet.net 原通行密碼: sd123456 新通行密碼: h1w3ankg telnet ms13.hinet.net >passwd >Enter login password: sd123456 >New password: h1w3ankg >Re-enter new password: h1w3ankg 30 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 通行密碼加鹽法(Password Salt) %&為鹽巴 Username Password mshwang Ek(123456%&) lhli Ek(abcdefgh%&) iclin Ek(abcd530%#) 31 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 時戳法 1. 用戶端發出「請求連線」訊息給主機系統。 2. 主機系統回覆「請輸入使用者識別名稱及通行密碼」。 3. 使用者輸入識別名稱及通行密碼後,連同用戶端電腦目前時 間:「使用者識別名稱、通行密碼及目前通訊時戳,以密文 型式傳送給主機系統」 。 4. 主機系統收到後,先做解密動作,得到原本使用者識別名 稱、通行密碼及目前通訊時戳。接著計算目前系統時間與通 訊時戳之差值,是否在合理範圍內。若是,再進一步比對使 用者識別名稱及通行碼。 32 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 亂數法 1. 用戶端發出「請求連線」訊息給主機系統。 2. 主機系統回覆一亂數值r,並請輸入「使用者識別名稱及通 行密碼」。 3. 使用者輸入識別名稱及通行密碼後,連同收到的亂數值r, 「使用者識別名稱、通行密碼及亂數值r」,一起以密文型 式傳送給主機系統。 4. 主機系統收到後,先做解密動作,得到原本使用者識別名 稱、通行密碼及亂數值r。接著驗證此亂數值r是否與先前所 傳送的相同。若是,再進一步比對使用者識別名稱及通行 碼。 33 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.8 Kerberos身分鑑別系統 簡單的Kerberos身分鑑別系統 1. 2. 3. IDC:用戶識別碼 PWC:通行密碼 IDS:伺服器識別碼 ADC:用戶端網路位址 Eks []:為用伺服器(S) 的密鑰(KS)對[]內資 料做加密 TicketCS:通行票 其缺點為: 1. 用戶端傳送給AS之通行密碼是以明文(未經加密 處理)方式傳送,若遭截取其安全堪虞。 2. 通行票僅能使用在一伺服器,當要到不同的伺服 器(如印表機伺服器、Mail伺服器)要求提供服 務時,則需重新向AS申請新的通行票。 34 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 更安全的Kerberos使用者身分驗證系統 1. 2. 3. 4. 5. TicketTGS=EKTGS[IDC,ADC,IDTGS,TSTGS,LTTGS] TicketCS=EKCS[IDC,ADC,IDS,TSCS,LTCS] 35 © The McGraw-Hill Companies, Inc., 2005 使用者身分鑑別 3.9 使用者終端設備的驗證 • 專線[直接驗證法] - 主機之PIN(個人身分號碼)及通行密碼 • 分封交換網路[回叫法(Callback)] 1.使用者送出Login要求(PIN 、通行密碼及位置資訊) 2.系統先斷線,並進行驗證PIN 及通行密碼 3.若驗證成功,系統依位置資訊回叫使用者(再做驗證) • 公用網路[憑證法(Certificate)]: pls read 第九章 - 終端設備經認證 - 以IP Address為連線之目的地位置 36 © The McGraw-Hill Companies, Inc., 2005 身份確認 之方法計有: H/W 1. 身份證 ( IC 卡或 磁卡) 2. 通行碼 S/W 3. 筆跡 4. 聲音 5. 指紋 6. 視網膜 7. DNA 網路上之身份確認協定: (1) Kerberos {對稱型} (2) X.509 {非對稱型} 37 1. 在 ATM( Automated Teller Machine) 提領現金 2. 利用網路簽入或進行電子商務行為 Password Table ID1 ID2 PW1 • • • • • • IDn PWn PW2 1. G. B. Purdy, “A High Security Log-in Procedure,” CACM, Vol.17, No. 8, pp. 442445, Aug. 1974. 2. R. L. Rivest, A. Shamir and L. Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” CACM, Vol. 21, No. 2, pp.120-126, Feb. 1978. 3. R. E. Lennon, S. M. Matyas and C. H. Meyer, “ Cryptographic Authentication of TimeInvariant quantities,” IEEE Trans. Communs. COM-29, No. 6, pp. 773-777, 1981. 4. T. Y. Hwang, “ Passwords Authentication Using Public-Key Encryption,” Proc. Of international Carnahan Conference on Security Technology, Zurich, Switzerland, pp. 35-38, Oct. 1983. 5. A. Shamir, “ Identity Based Cryptosystems & Signature Schemes,” Proc. Of Crypto. 84, pp. 47-53, 1984. 6. C. C. Chang and L. H. Wu, “ A New Password Authentication Scheme,” Journal of Information Science and Engineering, Vol. 6, pp. 139-147, Jan. 1990. 7. T. L. Hwang, Y. W. Chen and C. S. Laih, “ Non-Interactive Password Authentication Without Password Tables,” IEEE Region 10 Conference on Computer and Communication Systems, Hong Kong, pp. 1-9, Sept. 1990. PWi IDi IDi 格式正確? 公開單向函數 F(PWi) F( ) Yes ID1 F(PW1) ••• IDi F(PWi) ••• IDn F(PWn) F(PWi) 是否相同? Yes 接受通關 拒 絕 通 關 No 此表不得寫入 任何資訊 No 拒絕通關 中心: RSA 之 n = p * q e * d = 1 mod (n) {e 和 d 均保密 } 個人: PWi=IDid mod n 輸入 (IDi , PWi ) 檢驗 PWie =? (IDid)e mod n =? IDi mod n A1: No password table ! D1: one can not freely decide one’s password. D2: password 可能在申請帳號時被系統管理者知悉 D3: Remote login 時 password 可能曝光 IDi PWi No IDi 格式正確? PassKeyi=ESKS(PWi) VPi=DPassKeyi(TPi) VPi TPi Yes ID1 TP1 ••• IDn TPn 拒 絕 通 關 TPi=EPassKeyi(F(IDi)) IDi F(IDi) VPi =F(IDi)? Yes No 拒絕通關 A1: Test Pattern Table 可公開 A2: 不知SKS無法篡改Test Pattern Table D1: password 在申請帳號時被系統管理者知悉 D2: SKS一旦更換,則上圖之資訊全部重新來過,此乃其美中不足處 D3: SKS 務必常駐記憶體之中以為驗證之用 IDi SKUi No IDi 格式正確? DSKUi( ) VPi EPKS( ) TPi Yes ID1 TP1 ••• IDn TPn IDi 拒 絕 通 關 VPi =EPKS(IDi) TPi =DSKS(EPKUi(VPi)) EPKS( ) VPi =EPKS(IDi)? Yes No 拒絕通關 1. PWi =SKUi 2. 驗證表與公鑰 PKS 均可公開 3. 使用者之通行碼 PWi 不必交給系統管理者 4. 系統密鑰 SKS 僅在建造驗證表時使用,因此不必常駐記憶體 之中以為驗證之用 5. 此 protocol 之精神乃在於利用系統與各使用者之公鑰 密鑰 於使用者之識別名稱 IDi 而得;其思維邏輯圖示如下: IDi PKS EPKS( ) VPi PKUi EPKUi( ) SKS DSKS( ) TPi 中心: RSA 之 n = p * q e * d = 1 mod (n) 個人: PWi=IDid mod n Step 1: Temp = Random e mod n PassKey = PWi * Random F(Temp, M) mod n Step 2: 送出 ( PassKey, Temp, M) IDi 也需送出而存在於M中 ? e e e * F(Temp, M) PassKey = PWi * Random mod n = (IDid )e * Random e * F(Temp, M) mod n ?= ID * TempF(Temp, M) mod n i A1: No password table ! A2: Remote Login 時 Password 不會直接曝光! D1: one can not freely decide one’s password. D2: password 在申請帳號時被系統管理者知悉 D3: Remote login 時 PassKey 等三項資訊可能被攔截冒用(replay attack)! IDi PWi No IDi 格式正確? DPWi( ) DSKS( ) TPi Yes ID1 TP1 ••• IDn TPn VPi 拒 絕 通 關 VPi = IDi TPi =ESKS(EPWi(VPi)) IDi VPi =IDi? Yes No 拒絕通關 A1. 驗證表與公鑰 PKS 均可公開 A2. 不知SKS無法篡改 Test Pattern Table D1. 使用者之通行碼 PWi 必交給系統管理者 D2. 系統密鑰 SKS 之安全需費神 @ 此 protocol 之精神乃在於利用系統密鑰與各使用者之通行碼 於使用者之識別名稱 IDi 而得;其思維邏輯圖示如下:(quite the same as T.Y. Hwang’s Method.;the former focuses on DES-like and the latter on RSA instead) IDi VPi PWi EPWi( ) SKS ESKS( ) TPi 中心: RSA 之 n = p * q e * d = 1 mod (n) 個人: PWi=IDid mod n 本法與Shamir 之唯一不同者是用 時戳TS取代M Step 1: Temp = Random e mod n PassKey = PWi * Random F(Temp, TS) mod n Step 2: 送出 ( PassKey, Temp, TS) IDi 也需送出 PassKey e =? PW e * Random e * F(Temp, TS) mod n i = (IDid )e * Random e * F(Temp, TS) mod n ?= IDi * TempF(Temp, TS) mod n A1: No password table ! A2: Remote Login 時 Password 不會直接曝光! A3: Remote Login 時 PassKey含有TimeStamp,以防 replay attack. D1: one can not freely decide one’s password. D2: password 在申請帳號時被系統管理者知悉 2.2. Improved Scheme Based on Geometric Approach Wu (1995 Computer Communications) Smart-card, two lines intersecting on Euclidean plane Freedom of choosing password, no verification table Hwang (1999) show the insecurity Impersonation attack We improve the scheme 52 Registration phase: CA chooses a large prime P(for modulus usage), a one-way function f( ), and a point (x0 , y0) on the Euclidean plane. CA publishes P and f( ), but keeps (x0 , y0) secret. User Ui chooses his password PWi and presents f(PWi )to CA. CA preforms: 1. Choosing the identity IDi for Ui , 2. Defining point riw as (0, f(PWi )) and ri0 as (f(IDi · x0 ), f(IDi · y0 )) 3. Constructing a straight line Li passing through these two points above and compute point Ai as the middle point of these two points. So, Ai = (f(IDi · x0 )/2, (f(PWi )+ f(IDi · y0 ))/2) = (ai1 , ai2 ) 4. Storing {IDi , f, P, Ai } on the smart card for user Ui . 53 Login phase: User Ui inserts his smart card into a terminal and keys in his password. The smart card performs: 1. Getting the timestamp T. 2. Computing riw = (0, f(PWi )) . 3. Reconstructing Li passing through riw and Ai . 4. Computing the point Bi as the middle point of riw and Ai ; Bi = (ai1/2, (ai2 + f(PWi))/2) . 5. Computing a new point riT = (0, f(PWi )+f(T)) on the y-axis. 6. Constructing a new line LWT passing through riT and Bi . 7. Randomly select a point Ci distinct from riT and Bi on the line LWT . 8. Sending the login request message {IDi , Ai , Ci , T} to the system. 54 2.2.1. Review of Wu’s Scheme Li y-axis ri0=(f(IDi * x0), f(IDi * y0)) riT (0, f ( PWi ) f (T )) Ai (ai1 , ai 2 ) Bi riw = (0, f ( PWi )) Ci x-axis LWT The user stores IDi , Ai ; The server store x0 , y0 Useri : (Ai, riw) (Bi, riT) ( IDi , Ai , Ci , T ) Server: (Ai, IDi) (Ai, ri0) (riw, riT) (riT, Ci) Bi 55 Verification phase: The system performs: 1. Validating the IDi and the timestamp T. 2. Computing ri0 as (f(IDi · x0 ), f(IDi · y0 )) . F(PWi) 3. Reconstructing the line Li passing through ri0 and Ai . 4. Computing the intercept point riw of line Li and y-axis. Let riw = (0, Ei). 5. Computing riT = (0, Ei + f(T) ) . c.f. Bi 6. Computing the intercept point Di of line Li and line LWT , where LWT is reconstructed line passing through riT and Ci . 7. Checking whether Di is the middle point of riw and Ai ; if yes, then success. 56 y-axis ri0=(f(IDi * x0), f(IDi * y0)) L RA Li riT (0, f ( PWi ) f (T )) riw = (0, f (PWi )) Bi Ci Ai (ai1 , ai 2 ) R (ai1 , ai 2 f (T )) x-axis LWT The user store ID i , A i ; The server store x0 , y0 Login request message {ID i , Ai , C i , T } 57 How an attacker can easily derive the secret point riw from the eavesdropped messages? The attacker first draws a line LRA passing through point Ai and parallel to y-axis. Let R be the intercepted point of line LRA and LWT . Since Bi is the middle point of riw and Ai , the distance between Ai and R is equal to the distance between riw and riT . Thus, the point R can be computed as (ai1, ai 2 f (T )) From point R and Ci , the attacker reconstruct the line LWT , and computes the point riT . Finally, the point riW can be derived by extracting f(T) from the y-axis value of riT . Chien, H. Y., Jan, J. K. and Tseng, Y. M. (2001): A Modified Remote Login Authentication Scheme based on Geometric Approach, The Journal of Systems and Software, U.S.A. Vol.55, Jan. 2001, PP.287-290. [SCI] 58 2.2.2. Our Attack y-axis Li riT ' (0, f ( PWi ) f (T ' )) riT ( 0, f ( PW i ) f (T )) Ai (ai1, ai 2 ) Bi riw = (0, f ( PWi )) Ci ' Ci x-axis LWT ' LWT Any two lines LWT and LWT’ representing the login message for user at timestamp T and T’, respectively, always intercept at the point Bi . If we denote riw as (0, k), then riT and riT’ can be denoted as (0, k+f(T)) and (0,k+f(T’)), respectively. Since f( ) is public, the values of f(T) and f(T’) can be computed by the attacker. Therefore, the three equations for the reconstructed lines Li , LWT and LWT’ will contain only three variables k, x and y , which can derive the value of k. 59 2.2.3. Improved Scheme 1. In the login phase, the point as (0, f ( f ( PW i ) f (T ))) , riT is computed where is the bit-wise exclusive OR operation. 2. In Step 5 of the authentication phase, Compute riT (0, f ( E i f (T ))) 60 2.4. Novel Scheme Four design criteria: (1) No verification table; (2) Freedom of choosing their passwords - psychologically difficult to remember long key or randomized password (3) The communication cost and the computation cost are low (4) Mutual authentication Chien, H. Y. Jan, J. K. and Tseng, Y. M. (2002): An Efficient and Practical Solution to Remote Authentication: Smart Card, Computers & Security, Oxford, England, Vol.21, No.4, .June 2002, PP.372-375 . [SCI] 61 2.4. Novel Scheme Initialization/registration : Useri CIC IDi , PWi card contains Ri h( IDi x) PWi Let x be the secret key held by the system(CIC), h( ) be a secure oneway hash function. CIC computes Ri and issues the user the smart card which holds h( ) and Ri . 62 2.4. Novel Scheme •Login: User keys in his identifier IDi and password PWi ; the IC card then computes the follows: Server Ri h( IDi x) PWi Useri 1. Compute C1 =Ri PWi . C 2 h(C1 T ) ( IDi , T , C2 ) Verification : 2.1 check ID i & T 2.2 compute C1 ' = h( ID i x) , verifies C 2 ?= h(C1 'T ) 2.3 If so, compute C 3 = h(C1 'T " ) ( T " , C3 ) 3. Check C 3 ?= h(C1 T " ) 63