05 - 資訊安全實驗室

advertisement
使用者身分鑑別
(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
Download