• 沒有找到結果。

智慧卡與 STB 之間的安全通訊架構

在文檔中 中 華 大 學 (頁 45-56)

我們在第二章中,探討了Jiang et al.和Hou et al.等學者所提出的智 慧卡安全通訊方法等相關文獻和其在安全性及計算效能上的弱點。為 了讓智慧卡的安全通訊架構安全性和效能上都能有所提升,我們針對 了演算法上的一些缺失進行了改進與提升,提出了SCNFC架構。

3-1 主要架構

SCNFC的主要架構,在於智慧卡和STB之間透過通訊協定的安全 溝通,如圖3-1所示。

圖3-1:智慧卡晶片和STB架構圖

在 SCNFC 安全通訊架構中,所會使用到的代碼整理如表 3-1 所示:

37

表 3-1:SCNFC 架構代碼表 代號 所代表含意

U

i 使用者(User)

STB

數位電視機上盒

PW

i 使用者 Ui的密碼(Password)

ID

c 智慧卡識別碼(Smart Card Identity)

ID

s STB 識別碼(ATMe Identity)

→ 一般通訊管道(Common Channel)

⊕ 互斥或運算(Bitwise-or Exclusion Operation)

STBS

數位電視機上盒管理系統

3-2

架構說明

本 SCNFC 安全通訊架構是由四個層級所組成,分別是:註冊 層 (Registration phase) 、 登 入 和 相 互 認 證 層 (Login & Mutual authentication phase)、金鑰協議層(Key agreement phase)、和密碼 變更層(Password change phase)。以下將詳細介紹各節的運作情 形。

3-2.1

註冊層(Registration Phase)

在註冊層的所有步驟,都必頇由使用者攜帶相關單位進行申 請。其註冊的步驟如圖 3-1 所示:

38

圖 3-2:註冊層流程圖 表 3-2:註冊層流程表

步驟代碼 步驟內容

R1

使用者 Ui提出使用申請。

R2

回應 Ui的申請。

R3

使用者 Ui 自行選擇一個隨機號碼 b 和一組密碼

PW。智慧卡進行雜湊函數運算後會得到 h(PW⊕

ID

c⊕b)。

R4 U

i 將 IDc和 h(PW⊕IDc⊕b)回傳至 STB。

R5

STB 將 Ui的 IDc和 h(PW⊕IDc⊕b)儲存。

R6

STB 計算出 Wi = h(IDc⊕x)⊕h(PW⊕IDc⊕b)。

39

R7

將 Wi和 h()回傳至智慧卡。

R8

智慧卡將 Wi和 h()儲存在記憶體中。

R1:使用者必頇先擁有合法的智慧卡和 STB,並在初次使用時,

以智慧卡對 STB 進行註冊。

R2:在確認過使用者資料之後,STB 會回應智慧卡的註冊申請。

R3:使用者選擇一隨機號碼 b 和一組密碼 PW。輸入完成之後,

智慧卡會將此兩筆資料儲存在記憶體中,並由智慧卡晶片進 行單向雜湊函數的運算,得到 h(PW⊕IDc⊕b)。

R4:完成之後,使用者再將智慧卡接觸 STB 的通訊協定接收器。,

將智慧卡的編號 IDc 和所得到的 h(PW⊕IDc⊕b),透過 protocol 回傳給 STB。

R5:STB 在接收到使用者所傳送的 IDc和 h(PW⊕IDc⊕b)之後,

會即刻將此兩筆資料,儲存在 STB 的記憶體中。。

R6:STB 會根據使用者所傳送的 IDc和 h(PW⊕IDc⊕b)進行一次 雜湊函數運算,得到 Wi = h(IDc⊕x)⊕h(PW⊕IDc⊕b),其中 的 x 為 ATMe 的一個分散式秘密金鑰(Distributed secret key)。

R7:完成之後,系統會將 Wi和 h(),一樣透過安全頻道回傳至智

40

慧卡。

R8:在完成對 STB 的註冊流程之後,智慧卡會將 Wi和 h()透過 儲存在智慧卡的記憶體中,完成使用者的申請流程。

(注意:在完成所有申請流程之後,Ui 的智慧卡中所儲存的資訊 包含了 Wi、IDc、IDs、b、和 h( ),而使用者 Ui並不需要將 b 記 住。)

3-2.2

登入和相互認證層(Login & Mutual authentication phase)

完成申請的使用者若想要使用 STB 的服務,首先必頇先進行 系統的登入,並讓系統進行使用者和 STB 之間的相互認證,其步 驟如圖 3-3 所示:

41

圖 3-3:相互認證層流程圖

表 3-3:相互認證層流程表

步驟代碼 步驟內容

L1

開啟應用程式,輸入密碼進行身分確認。智慧卡會 自動產生出一組隨機號碼 ruj

L2

將智慧卡和 STB 進行連線。完成後計算 Vi = Wi

h(PW⊕ID

c⊕b)和 C=h(Vi⊕T1⊕ruj)。並將 C1={C,

ID

c, T1, ruj}傳送至 STB。

L3

確認 IDc是否合法。

42

L4

確認 T1 和 T1之間的時間區間是否正確。

L5

計算 Vi =Wi⊕h(IDc⊕x)和 C=h(T1⊕Vi⊕ruj),並進 行確認。

L6

產生出隨機號碼 rsj並計算出 C’’=h(C⊕IDa⊕T2

rs

j)。

L7

將 C2={C’’, T2, rsj}回傳給智慧卡。

L8

確認時間戳記 T2是否正確。

L9

計算出 C’’’=h(C⊕IDa⊕T2⊕rsj),並進行 C’’’與 C’’

的比對。完成此次的相互認證。

L1:智慧卡被啟動時,智慧卡晶片會自動產生出一組隨機號碼

ru

j

L2:使用者將智慧卡和 STB 進行接觸連線後,使用者可進行密 碼的輸入。連線完成後,智慧卡晶片會先進行一次單向雜湊 函數的計算,得到 Vi = Wi⊕h(PW⊕IDc⊕b)和 C=h(Vi⊕T1

ru

j)。其中 T1是目前 STB 中的日期和時間。最後智慧卡會將

C

1={C, IDc, T1, ruj}透過通訊協定傳送至 STB。

STB 在接收到使用者透過 protocol 所傳送的 C1={C, IDc, T1, ruj} 之後,STB 會以下列步驟進行資料的比對與確認:

L3:確認 IDc是否合法,若 IDc的格式不正確,STB 會拒絕這次

43

的登入要求。

L4:確認 T1 和 T1’之間的時間區間是否正確,以防止訊息重複攻 擊

[6]

△T1 表 示 傳 輸 時 預 期 中 所 花 費 的 時 間 區 間 , 若 (T1’

-T1)>△T1,或 T1’

=T1,則 STB 會拒絕這次的登入要求。

L5:計算 Vi =Wi⊕h(IDc⊕x)和 C=h(T1⊕Vi⊕ruj),若 C和 C 相符,

則 STB 會接受這次的登入要求,並接著下一個步驟,若不 相符,則會拒絕這次的登入要求。

L6:產生出一個隨機號碼 rsj並取得目前的時間戳記 T2,並計算 出 C’’=h(C⊕IDa⊕T2⊕rsj)。

L7:透過通訊協定將 C2={C’’, T2, rsj}回傳給智慧卡。

智慧卡在接收到 STB 透過通訊協定所傳送的 C2={C’’, T2, rsj} 之後,智慧卡晶片會以下列步驟進行資料的比對與確認:

L8:在接收到訊息 C2={C’’, T2, rsj}後,智慧卡一開始會先確認其 時間戳記 T2是否正確。

L9:接著智慧卡晶片會計算出 C’’’=h(C⊕IDa⊕T2⊕rsj)。若所計算 出的結果 C’’’與 C’’不相符,則智慧卡會終止這次的連線;若 相符,則智慧卡會信任此 STB 是合法的,並完成此次雙方 的相互認證。

44

3-2.3

金鑰協議層(Key agreement phase)

若智慧卡和 STB 的相互認證成功,則會以方程式 Kj=h(rsj, ruj,

V

i)來計算出一般的交易金鑰(common session key),由於 Vi = Wi

⊕h(PW⊕IDc⊕b)、而 Wi = h(IDc⊕x)⊕h(PW⊕IDc⊕b),因此其中 也包括了由 STB 和智慧卡所隨機選擇的亂數。

圖 3-4:金鑰交換層流程圖

3-2.4

密碼變更層(Password change phase)

密碼變更層帄常並不會使用到,只有當使用者欲進行智慧卡 中所儲存密碼的變更時,才會使用到密碼變更層。在此層級中,

使用者若要將密碼 PWi更新為 PWinew,其步驟如表 3-4 所示:

表 3-4:密碼變更層流程表

步驟代碼 步驟內容

P1

輸入密碼進行身分確認。

P2 V

i

*= Wi⊕h(PW⊕IDc⊕b)。

45

P3

確認 Vi*和 Vi是否相等,若相等,則即可選擇新密 碼 PWnew

P4 W

inew = Vi*⊕h(PWnew⊕IDc⊕b),以 Winew來取代 Wi

P1:開始使用之前,使用者必頇先將密碼 PWi輸入進行身分的確 認,接著選擇變更密碼的選項。

P2:智慧卡會計算出 Vi

*= Wi⊕h(PW⊕IDc⊕b)。

P3:智慧卡會確認 Vi

*和儲存在智慧卡中的 Vi是否相等,若相等,

則即可選擇新的密碼 PWnewP4:智慧卡會計算出 Winew = Vi

*⊕h(PWnew⊕IDc⊕b)用來產生出

h(ID

c⊕x)⊕h(PWnew⊕IDc⊕b),接著以 Winew來將 Wi給取代 掉,並完成密碼變更的程序。

在我們所提出的架構中,密碼變更的階段是相當具有安全性 的,因為智慧卡會使用在步驟 P3 中所儲存的 Vi來確認 Vi*是否正 確,當智慧卡不幸被竊取時,未經認證的使用者就無法自行變更 手機中所儲存的密碼。

我們所提出的SCNFC架構,主要的目的是在針對Jiang et al.和Hou et al.的智慧卡安全通訊方法中,對外來入侵者的重覆攻擊、身份偽裝 攻擊、以及已知的明文攻擊,其防禦能力不佳,而提出改進的方法。

46

而在第四章中,我們將會針對各種不同類型的攻擊進行分析,說明 SCNFC架構在安全性增強的情況下,對效率的要求亦相當高。

47

在文檔中 中 華 大 學 (頁 45-56)

相關文件