• 沒有找到結果。

使用低資源行動裝置之遠端身分鑑別與金鑰交換機制

N/A
N/A
Protected

Academic year: 2021

Share "使用低資源行動裝置之遠端身分鑑別與金鑰交換機制"

Copied!
74
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

使用低資源行動裝置之遠端身分鑑別與金鑰交換機制(第 2 年)

研究成果報告(完整版)

計 畫 類 別 : 個別型

計 畫 編 號 : NSC 95-2221-E-011-045-MY2

執 行 期 間 : 96 年 08 月 01 日至 97 年 07 月 31 日 執 行 單 位 : 國立臺灣科技大學資訊管理系

計 畫 主 持 人 : 吳宗成

計畫參與人員: 碩士班研究生-兼任助理人員:洪谷官 碩士班研究生-兼任助理人員:陳惠婷 博士班研究生-兼任助理人員:林燕卿 博士班研究生-兼任助理人員:嚴貽忠

報 告 附 件 : 出席國際會議研究心得報告及發表論文

處 理 方 式 : 本計畫可公開查詢

中 華 民 國 97 年 10 月 02 日

(2)

行政院國家科學委員會補助專題研究計畫

成 果 報 告

期中進度報告 使用低資源行動裝置之遠端身分鑑別與金鑰交換機制

Remote authentication and key exchange mechanisms for low-power mobile devices

計畫類別:■ 個別型計畫 □ 整合型計畫 計畫編號:NSC 95-2221-E-011-045-MY2

執行期間: 95 年 08 月 01 日至 97 年 07 月 31 日

計畫主持人:吳宗成 共同主持人:

計畫參與人員:林祚儀、鄔正豪、林喬雯、王重堯(第一年) 林燕卿、嚴貽忠、洪谷官、陳惠婷(第二年)

成果報告類型(依經費核定清單規定繳交):□精簡報告 ■完整報告

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□赴大陸地區出差或研習心得報告一份

■出席國際學術會議心得報告及發表之論文各一份

□國際合作研究計畫國外研究報告書一份

處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、列管計畫及下列情 形者外,得立即公開查詢

□涉及專利或其他智慧財產權,□一年□二年後可公開查詢

執行單位:國立台灣科技大學資訊管理系

中 華 民 國 97 年 09 月 20 日

(3)

目錄

一、摘要... 1

二、計畫綠由與目的... 2

三、結果與討論... 5

四、計畫成果自評... 6

五、參考文獻... 6

(4)

行政院國家科學委員會專題研究計畫成果報告

使用低資源行動裝置之遠端身分鑑別與金鑰交換機制

Remote authentication and key exchange mechanisms for low-power mobile devices

計畫編號:NSC95-2221-E-011-045-MY2

執行期間: 95 年 8 月 1 日 至 97 年 7 月 31 日 主持人:吳宗成 教授 國立台灣科技大學資管系

一、摘要 中文摘要

行動裝置(mobile device)為未來推動無所不在計算(ubiquitous computing)的基礎,而具 高 安 全 度 的 遠 端 身 分 鑑 別(remote authentication)技術與達成秘密通訊的金鑰交換(key exchange)技術是維護行動網路數位環境安全穩定的基本要件。本計畫為二年計畫,將以 XOR運算與單向雜湊函數(one-way hash function)技術為基礎,提出適用於低資源行動裝置 之遠端身分鑑別與金鑰交換機制,以在計算和通訊能力受限的行動裝置上達成資料機密 性、鑑別性、資料完整性。在第一年的計畫中,我們已分析目前行動裝置相關技術標準,

了解行動裝置之通訊協定與安全機制,並蒐集相關文獻加以探討,並提出一個適用於第三 代行動通訊系統(3G)之具身分鑑別的群體金鑰交換機制。在第二年計畫中,除提出一個具 匿名性之群體金鑰交換機制,並以此方法為基礎,實作出一個安全視訊會議雛型系統。

關鍵詞:行動裝置、遠端身分鑑別、群體金鑰協議、第三代行動通訊

Abstract

Mobile devices are the basis for ubiquitous or pervasive computing environment, thereafter, both high-security remote authentication and key exchange mechanisms are necessary components in building up secure and stable mobile network. In this two-year project, we have proposed a novel mechanism of remote authentication and key exchange for lower-power mobile devices to achieve confidentiality, authentication and integrity. The proposed mechanism only adopts Exclusive OR (XOR) operation and one-way hash function so as to be applicable to mobile devices which have constraints on computation and communication. In the first year, we have investigated the related work on technical standards and well-known cryptographic protocols for mobile devices. An authenticated group key agreement protocol for the third generation (3G) mobile communication system was proposed. In the second year, we proposed an anonymous group key exchange mechanism by following the outcomes of the first year. Besides, a prototype of secure video conference system was implemented.

Keywords: mobile device, remote authentication, group key agreement, 3G

(5)

二、計畫緣由與目的

隨著資訊科技與網際網路(Internet)高度的應用與發展,大多數資料文件已轉為數位形 式並可透過網路快速傳遞。雖然電子化確實提昇工作效率及生活品質,但同時也衍生出愈 趨複雜的網路安全與隱私保護等問題。其中,最基本且最重要的問題為如何在開放式網路 環境中鑑別(authenticate)連結端之使用者或裝置的身分,進而考慮身分鑑別後如何安全且秘 密地交換傳輸資料。

使用者所使用的終端設備已不再僅限於傳統的個人電腦,利用手機進行資料交換、分 享、以及傳播無線商業資料也日漸普及。從前幾年所推行的 WAP 手機無線上網,到近年 來的 GPRS、i-mode 上網等,無所不在的行動生活亦日漸融入日常生活之中。「行動裝置」

(mobile device)包括常見的行動電話(GSM、GPRS、WAP)[15, 16]、個人數位助理(Personal Digital Assistant, PDA) 、 資 訊 家 電 ( 使 用 短 距 離 無 線 資 料 交 換 通 訊 技 術 , 例 如 藍 芽 (Bluetooth)[7, 8]或 IEEE 802.15 標準[19, 20])、行動通訊網路以及無線區域網路(IEEE 802.11 標準)[20]。在這些行動性強但計算能力弱的裝置上,除了裝置本身的實體安全保護外,存 取使用時的遠端身分鑑別機制與達成秘密通訊的金鑰交換(key exchange)機制更是不可或 缺。因此,在計算能力與通訊量較弱的行動裝置上如何執行遠端身分鑑別與金鑰交換功能,

是建構無所不在數位生活與行動商務的重要課題。

為能在公開的網路容易地建立秘密通訊管道,Diffie 與 Hellman [13]於 1976 年提出公 開金鑰密碼系統(Public Key Cryptosystem, PKC)的概念,並提出一個植基於離散對數問題 (Discrete Logarithm Problem, DLP)的金鑰交換方法。此系統在通訊前,每個通訊個體,須先 產生一組私鑰與公鑰對,私鑰由通訊個體秘密保存,並將公鑰公布。系統中任意兩個個體 可使用本身的私鑰與對方的公鑰建立一把共享的交談金鑰(session key),進而在公眾網路中 建立一個安全的溝通管道。然而使用 Diffie-Hellman 金鑰分配方法不易轉換到多個體的應用 環境中,因此, Ingemarsson 等人[21]提出 Diffie-Hellman 一般化群體金鑰協議機制。隨後陸 續有學者提出以此方法之精神所衍生的各種適用於群體的金鑰建立(key establishment)機 制。然而,如何證明群體金鑰協議之安全是過去所缺乏的。Bresson 等人[BCP01]在 2001 年 提出一個具有正規安全證明的群體鑑別金鑰協議,其正規安全證明是以 Bellare 等人[BPR00]

所提出的安全模型為基礎來建立。但 Bresson 等人所提出金鑰協議的延展性(scalable)差,金 鑰協議之回合數等同於通訊個體參與協定的人數,回合數為 O(n) (n 為參與金鑰協議之使用 者個數),因此,隨著群體的使用者個數增加,其計算複雜度也隨著增加。在 2003 年,Katz 與 Yung[23]提出一個可將任何群體金鑰協議之方法轉換成為具延展性與鑑別性的方法,其 方法的回合數為常數時間,通訊個體利用數位簽章來達到身分鑑別的目的。

然而,基於 DLP 等運算複雜度較高的金鑰協議機制並不適用於運算能力較低的行動

裝置系統中。2004 年,Bresson 等人[9]提出一個利用線上/離線簽章機制(on-line/off-line

signature schemes)的群體金鑰協議機制,以降低使用者端運算量的複雜度。在 Bresson 等人

所提出的方法中,使用者可以將兩個模指數運算以及一個簽章運算於離線(off-line)時先行運

算,所以實際於線上(on-line)只要進行一個單向雜湊函數(one-way hash function)運算以及一

個互斥或(XOR)運算。Bresson 等人所提出的方法可適用於低資源行動裝置中,但面臨無法

達到隱含金鑰鑑別(implicit key authentication)、前推安全(forward secrecy)以及已知金鑰安全

(know key security)等安全性問題。在 2005 年,Nam 等人[28]提出另外一個適用於行動通訊

(6)

系統的金鑰協議方法,以改進 Bresson 等人的安全性缺失。Nam 等人的方法滿足金鑰協議 所需的安全需求,但其方法需要一個可信賴的第三方來參與金鑰協議的過程。由於可信賴 的第三方負擔大部分的運算,因此,隨著人數增加,其方法在實務運作環境中勢必產生執 行效率低落的問題。

具匿名性(anonymity)之群體鑑別金鑰協議除了可提供通訊個體建立安全的通訊管道之 外,同時也可達到保護隱私(privacy)的目的。2008 年,Wan 等人[35] 使用 ID-Based 的公鑰 密碼系統(ID-Based cryptosystem)提出一個具匿名性的群體金鑰協議方法。在此方法中,所 有通訊個體的 ID 是不能公開的,因此,其方法假設群體主席事先擁有目前所有參與金鑰協 議協定的通訊個體之假名(pseudonym)與真名的清單,主席可以將此清單透過所有通訊個體 的公鑰加密後傳至每個通訊個體,此清單便共享於所有參與金鑰協議的通訊個體之間。在 進行金鑰協議的過程中,除了參與金鑰協議的合法通訊個體,其他人無法得知通訊個體的 真實身分。但其方法存在一個問題,當清單被合法的通訊個體外洩時即無法達到匿名性,

且通訊個體知道彼此的真實身分,因此,也未能達到完全匿名性。

綜觀目前所提出適用於低資源行動裝置的研究成果中,大多是基於公開金鑰系統的設 計理念,且在群體的應用環境中不具延展性與動態管理。這些群體金鑰協議機制的設計主 要是以 Katz-Yung [23]的方法為基礎,但若要達到用戶與用戶之間的交互鑑別(mutual authentication),則需要將所有行動裝置的運算量轉嫁到一個強大的伺服器端。這種設計可 以有效降低行動裝置的計算負擔,但對於伺服器端卻是一個相當沉重的負荷,尤其是當使 用者人數很多時越是明顯,這樣的架構並不適合架構在現存的通訊系統之上。以第三代行 動通訊系統環境為例,其為分散式架構,用戶分屬於不同的行動交換中心(Mobile-services Switching Center, MSC)之服務底下,因此他們所提出的方法需要增加許多模組才能實作於 現存行動通訊系統上。有鑑於此,本計畫將以 XOR 運算與單向雜湊函數(one-way hash function)技術為基礎,提出適用於低資源行動裝置之遠端身分鑑別與金鑰交換機制,以在計 算和通訊能力受限的行動裝置上達成鑑別性、資料機密性及資料完整性。本計畫考量實務 應用現況,提出適用於低資源行動裝置且具身分鑑別之金鑰協議機制。

三、結果與討論

本計畫為二年期的研究計畫,在第一年期計畫中,已分析目前行動裝置相關技術標 準,以了解行動裝置之通訊協定與安全機制,並蒐集有關遠端身分鑑別與金鑰交換相關文 獻外;再者,考量實務應用現況,分別提出一個適用於第三代行動通訊系統(3G)[1, 2, 3, 4, 5, 6]之金鑰交換機制以及具隱私保護之群體金鑰協議系統;最後,將其應用在群體通訊系統 中,並實作出一個安全的視訊會議系統。以下各節將分別說明本計畫之主要成果。

3.1 適用於第三代行動通訊(3G)之金鑰交換機制

本計畫所提出之適用於 3G 之金鑰交換機制中,其系統架構可以分為實體系統架構與

邏輯架構,實體系統架構為實體通訊系統設備的實際佈署架構,而邏輯系統架構則是利於

說明金鑰協議機制各個角色關係,如圖 1 所示。本計畫所提出的方法是以第三代行動通訊

系統為基礎透過延伸 MSC 服務功能來達到金鑰協議,因此 MSC 需動態的為其服務範圍底

下的使用者建構與管理每個使用者的金鑰,並且維護樹中的虛擬節點圖,如圖 2 所示。

(7)

VLR HLR ME AuC

ME

RNC BS

BS . . . .

. .

BS

MSC

Uβ1

Uβ2

Uβn

Nβa

Nβ1

Gβ

MSC

MSCβ

User

Physical System Architecture

Logical System Architecture

Virtual node maintained by MSC

. . . .

. .

1 實體與邏輯架構對應圖

2 金鑰推導樹架構 (資料來源:本研究整理)

本計畫所提出的方法以 MSC 為子群體最小單位,各 MSC 自行維護虛擬節點 N 以及

節點值 x,並且與其服務範圍底下用戶協議出一把子群體金鑰 Ks,而後將 Ks 交由發起者的

MSC 進行最後的群體金鑰 Kg 計算,若遇到會議成員皆在同一 MSC 服務範圍底下的情況,

此時 Ks 即為群體金鑰 Kg。本計畫所提出的適用於第三代行動通訊之群體金鑰交換機制包

含系統建置階段(System Setup Phase)、用戶註冊階段(User Registration Phase)、用戶與網路

(8)

端鑑別階段(Mutual Authentication Phase)、金鑰協議階段(Key Agreement Phase)等四階段。

而在金鑰協議方法中,我們依據第三代行動訊不同的應用模式,提出四個金鑰協議機制,

分別為(1)兩個使用者在同一 MSC 服務範圍之下(簡稱 2-SM-GK);(2) n 個使用者在同一 MSC 服 務 範 圍 之 下 ( 簡稱 n-SM-GK) ; (3) 兩 個 使 用 者 在 不 同 MSC 服 務 範 圍 之 下( 簡 稱 , 2-DM-GK);(4) n 個使用者在不同 MSC 服務範圍之下(簡稱 n-DM-GK)。其中,2-SM-GKn-SM-GK 的一種特例情況;2-DM-GK 為 n-DM-GK 的一種特例情況。

本論文所提出方法是以第三代行動通訊系統 3GPP TS 33.102 V5.0.0 標準所定義函數 { f1 , f2, f3, f4, f5, f8 }為主,以下就本方法延伸使用之公開函數與運算以及重要參數與符 號,定義說明如下:

IMSI : 國際行動用戶識別碼(International Mobile Subscriber Identity);用戶註冊 時,燒錄在 USIM 卡中與儲存於 AuC 中。

TMSI : 臨時行動用戶識別碼(Temporary Mobile Subscriber Identity);由 VLR/MSC 產生後送給行動台的臨時識別碼,存放於 USIM 卡內與 VLR 中。

K : 用戶鑑別金鑰(Individual Subscriber Authentication Key);用戶註冊時,由 系統產生的用戶私密鑑別金鑰,燒錄在 USIM 卡中與儲存於 AuC 內。

RAND : 隨機亂數;

MAC : 訊息鑑別碼(Message Authentication Code);

RES : 身分鑑別回簽(Authentication Sign Response);

CK : 資料加密金鑰(Cipher Key);在完成相互鑑別(mutual authentication)後共享 於用戶與網路端的加密金鑰。

SQN : 序號(Sequence Number);用於同步化(synchronization)機制。

AMF : 鑑別管理領域(Authentication Management Field);

g 亂數產生器。g: {0,1}

32

→ {0,1}

128

h 單向雜湊函數(One-Way Hash Function)。h: {0,1}

*

→ {0,1}

128

XOR 互斥或運算(Exclusive or)。

|| 序連運算(Concatenate)。

r TMSI 輸入亂數產生器 g 所產生的隨機亂數。r = g(TMSI)

SKR 用戶金鑰重導值(Subscriber Key Retrieve Value) ;此值由用戶自行計算並 保存,在接到 MSC 的回傳值後經由 XOR 運算得到群體金鑰 Kg。

SKR = f3(CK , r) ,其中 CK 為用戶與網路端共享金鑰

x 節點值(Node Value);MSC 將各用戶的 SKR 值經雜湊運算所得到的值。x

= h(SKR

1

|| …|| SKR

i

)

Ks 子群體金鑰(Subgroup Key);每個 MSC 都會為其服務範圍底下的用戶計 算共同的子群體金鑰,再將該金鑰傳送給發起者的 MSC 來計算會議加密 金鑰 Kg。Ks = h(x

1

|| …|| x

a

)

Kg 會議加密金鑰(Group key) ;由發起者的 MSC 計算後轉交給其他 MSC,

MSC 將各用戶的 SKR♁Kg 回傳給用戶。

Kg = h(Ks

α

|| …|| Ks

β

)

KMAC 訊息鑑別碼(Message Authentication Code of Group Key); KMAC = f1(SKR , Kg)

U 用戶;金鑰協議中的用戶。

(9)

N 節點;金鑰協議時 MSC 動態為服務範圍底下用戶所建立與維護的虛擬節 點。

G 群體;進行金鑰協議的全體用戶。

3.1.1 金鑰推導樹(Key Derivation Tree)

本論文所提出的方法是以第三代行動通訊系統為基礎透過延伸行動交換中心(MSC)服 務功能以協助建立金鑰協議功能,因此 MSC 需動態的為其服務範圍底下的使用者建構與維 護金鑰推導樹(Key Derivation Tree),如圖 2 所示。本系統以 MSC 為子群體最小單位,各 MSC 自行維護虛擬節點 N 以及節點值 x,並且與其服務範圍底下用戶協議出一把子群體金Ks,而後將 Ks 交由發起者的 MSC 進行最後的群體金鑰 Kg 計算,若遇到會議成員皆在 同一 MSC 服務範圍底下的情況,此時 Ks 即為群體金鑰 Kg。我們將金鑰推導樹(Key Derivation Tree)固定為四層的架構,所以每個節點 N 底下使用者數量將直接影響到金鑰更 新效率與 MSC 儲存量,當虛擬節點 N 越多時,則金鑰更新時越有效率,但相對的 MSC 就 必須儲存與維護更多的虛擬節點。當有成員加入或離開時,需進行金金鑰更新 (Key Update)。加入新的用戶必須由會議發起者向 MSC 提出邀請才可以加入,但是為了維護通 訊安全不論是哪一種情況發生皆會進行金鑰更新,金鑰更新時只需針對有變動的節點值進 行重新計算即可。

3.1.2 系統建置階段

因為本系統是以第三代行動通訊系統為基礎透過延伸 MSC 服務功能來達到金鑰協 議,因此在現有的第三代行動通訊基礎建設完成後我們還需要額外增加單向雜湊函數運算 以及可以讓 MSC 可以動態的為其服務範圍底下的使用者建構金鑰推導樹並且維護樹中的 虛擬節點之兩個新模組。

3.1.3 用戶註冊階段

用戶 U

j

需臨櫃辦理向系統申請服務,系統中心 HLR/AuC 為其產生個人的私密認證金 鑰 K

j

及國際行動用戶識別碼 IMSI

j

,並且將之分別儲存於 USIM 卡及認證中心 AuC 內,將 USIM 卡當場交給用戶。

3.1.4 用戶與網路端鑑別階段

與現有 3GPP TS 33.102 V5.0.0 標準作法相同,當用戶 U

j

向系統做註冊時,系統中心 HLR 為其產生個人的私密鑑別金鑰 K

j

及其國際行動用戶識別碼 IMSI

j

,將之儲存於 USIM 卡及 鑑別中心 AuC 內。當用戶 U

j

想要進行通話服務時,MSC/VLR 必須先對行動台進行用戶身 分鑑別。其步驟如下:

步驟

1: 用戶 Uj

首次登錄系統時 VLR 要求 U

j

註冊,U

j

將 IMSI

j

傳給 MSC/VLR,

MSC/VLR 將 IMSI

j

傳給 HLR/AuC 請求認證向量(Authentication Vector, AV)。

步驟

2: HLR/AuC 找出 IMSIj

所對應的 K

j

步驟

3: 計算鑑別符記 AUTNj

= SQN

j

♁AK

j

||AMF

j

||MAC

j

步驟

4: HLR/AuC 產生 n 組認證向量 AVj

= {AV

j1

,AV

j2

, … , AV

jn

},每組認證向量 AV

jv

= RAND

jv

||XRES

jv

||CK

jv

||IK

jv

||AUTN

jv

, (v=1,2,…,n) 包 含 了 隨 機 亂 數 (Random, RAND)、訊息認證碼(Message Authentication Code, MAC)、回簽(Expect Resopnse, XRES)、加密金鑰(Cipher Key, CK)、完整金鑰(Integrity Key, IK)及鑑別符記 (Authentication Token, AUTN)。將所產生的 n 組認證向量(AV

j

)送給 MSC/VLR。

步驟

5: MSC/VLR 從 HLR/AuC 送來的 n 組認證向量 AV j

中任意選擇使用第 v 組認證向 量 (RAND

jv

, XRES

jv

, CK

jv

, IK

jv

, AUTN

jv

),之後送出該組中的 RAND

jv

給用戶 U

j

步驟

6: 用戶 Uj

中的 USIM 卡將所收到的 RAND

jv

與 K

j

代入 f2 演算法後產生 RES

jv

= f2(K

j

,

(10)

RAND

jv

),再將 RES

jv

回送給 MSC/VLR。

步驟

7: MSC/VLR 收到 RESjv

後與原先儲存之 XRES

jv

進行比對,比對成功代表該用戶 為合法用戶,准予通話服務。

步驟

8: 確認 Uj

為合法用戶後,MSC/VLR 將採用 CK

jv

做為通話時的加密金鑰;此時用 戶 U

j

可透過運算得到此次的加密金鑰 CK

jv

= f3(K

j

, RAND

jv

)與完整性金鑰 IK

jv

= f4(K

j

, RAND

jv

)。。

3.1.5 金鑰協議階段

以下將根據四種金鑰協議狀況分別描述執行金鑰協議的詳細步驟。

3.1.5.1 2-SM-GK

在同一 MSC 服務範圍底下,兩個用戶要進行金鑰協議時,詳細執行步驟說明如下:

步驟

1

若用戶 U

β1

為發起者,他將選擇隨機亂數 r

β1

,並依照自己所選的隨機亂數 r

β1

計算出 SKR

β1

值。

步驟

2

送邀請訊息 InviteMsg{U

β2

}與自己所選的隨機亂數 r

β1

給 MSC

β

,MSC

β

轉交 (forward)邀請訊息 InviteMsg{U

β2

}給 U

β2

步驟

3

若 U

β2

接受則回傳接受邀請訊息 AcceptMsg{U

β2

}以及自己所選的隨機亂數 r

β2

給 MSC

β

步驟

4 MSCβ

依照 Key Derivation Tree 計算出群體金鑰 Kg。

步驟

5

分別計算用戶回傳值 SKR

β1

♁Kg 與訊息鑑別碼 KMAC

β1

給用戶 U

β1

SKR

β2

♁Kg 與訊息鑑別碼 KMAC

β2

給用戶 U

β2

步驟

6

用戶只需做簡單的互斥或運算即可得到群體金鑰 Kg。

3.1.5.2 n-SM-GK

在不同 MSC 服務範圍底下,兩個用戶要進行金鑰協議時,詳細執行步驟說明如下:

步驟

1

若用戶 U

α1

為發起者,他將選擇隨機亂數 r

α1

,並依照自己所選的隨機亂數 r

α1

計算出 SKR

α1

值。

步驟

2

傳送邀請訊息 InviteMsg{U

β1

}以及自己所選的隨機亂數 r

α1

給 MSC

α

, MSC

α

將邀 請訊息 InviteMsg{U

β1

}轉交給 MSC

β

步驟

3

若 U

β1

接受則回傳接受邀請訊息 AcceptMsg{U

β1

}以及自己所選的隨機亂數 r

β1

給 MSC

β

步驟

4 MSCα

依照 Key Derivation Tree 計算出子群體金鑰 Ks

α

; MSC

β

依照 Key Derivation Tree 的觀念計算出子群體金鑰 Ks

β

步驟

5 MSCβ

Ks

β

傳給 MSC

α

步驟

6 MSCα

依照 Key Derivation Tree 計算出群體金鑰 Kg 後,將 Kg 轉交給 MSC

β

。 步驟

7 MSCα

將回傳值 SKR

α1

♁Kg 與訊息鑑別碼 KMAC

α1

傳給屬於其服務範圍內的用

戶 U

α1

;MSC

β

將回傳值 SKR

β1

♁Kg 與訊息鑑別碼 KMAC

β1

傳給屬於其服務範圍 內的用戶 U

β1

步驟

8 用戶只需做簡單的互斥或運算即可得到群體金鑰 Kg。

3.15.3 2-DM-GK

在不同 MSC 服務範圍底下,兩個用戶要進行金鑰協議時,詳細執行步驟說明如下:

步驟

1

若用戶 U

α1

為發起者,他將選擇隨機亂數 r

α1

,並依照自己所選的隨機亂數 r

α1

計算出 SKR

α1

值。

步驟

2

傳送邀請訊息 InviteMsg{U

β1

}以及自己所選的隨機亂數 r

α1

給 MSC

α

, MSC

α

將邀 請訊息 InviteMsg{U

β1

}轉交給 MSC

β

步驟

3

若 U

β1

接受則回傳接受邀請訊息 AcceptMsg{U

β1

}以及自己所選的隨機亂數 r

β1

MSC

β

(11)

步驟

4 MSCα

依照 Key Derivation Tree 計算出子群體金鑰 Ks

α

; MSC

β

依照 Key Derivation Tree 的觀念計算出子群體金鑰 Ks

β

步驟

5 MSCβ

Ks

β

傳給 MSC

α

步驟

6 MSCα

依照 Key Derivation Tree 計算出群體金鑰 Kg 後,將 Kg 轉交給 MSC

β

。 步驟

7 MSCα

將回傳值 SKR

α1

♁Kg 與訊息鑑別碼 KMAC

α1

傳給屬於其服務範圍內的用

戶 U

α1

;MSC

β

將回傳值 SKR

β1

♁Kg 與訊息鑑別碼 KMAC

β1

傳給屬於其服務範圍 內的用戶 U

β1

步驟

8 用戶只需做簡單的互斥或運算即可得到群體金鑰 Kg。

3.1.5.4 n-DM-GK

在不同 MSC 服務範圍底下,n 個用戶要進行金鑰協議,其相關步驟與 2-DM-GK 類似,

詳細流程請參考圖 3。以下就與 2-DM-GK 不同之處進行說明:

步驟

2

傳送邀請訊息 InviteMsg{U

αw

,w=2…n 、 U

βv

, ,v=1…n}以及自己所選的隨機亂數 r

α1

給 MSC

α1

,MSC

α

將邀請訊息 InviteMsg{U

αw

, w=2…n}轉交給 U

αw

; MSC

β

將 邀請訊息 InviteMsg{U

βv

, v=1…n }轉交給 U

βv

步驟

3

若 U

αw

接受則回傳接受邀請訊息 AcceptMsg{U

αw

}以及自己所選的隨機亂數 r

αw

給 MSC

α

;若 U

βv

接受則傳回接受訊息 AcceptMsg{U

βv

}以及自己所選的隨機亂 數 r

βv

給 MSC

β

步驟

4 MSCα

及 MSC

β

分別依照 Key Derivation Tree 計算出群體金鑰 Ks

α

Ks

β

。 步驟

5 MSCβ

將子群體金鑰 Ks

β

傳給 MSC

α

步驟

6 MSCα

Tree 做合併的動作來得到群體金鑰 Kg,並將 Kg 轉交給 MSC

β

。 步驟

7 MSCα

計算用戶回傳值 SKR

αw

♁Kg 與訊息鑑別碼 KMAC

αw

並回傳給用戶; MSC

β

計算用戶回傳值 SKR

βv

♁Kg 與訊息鑑別碼 KMAC

βv

並回傳給用戶。

3 n-DM-GK 系統執行流程圖 (資料來源:本研究整理)

3.2 具匿名性之群體鑑別金鑰協議協定

(12)

由於第 3.1 節中所提出之群體金鑰交換機制,只能真正實作於現行之 3G 行動通訊系

統之上,因此不易將它實現於雛型系統之中。有鑑於此,本計畫以具自我驗證公開金鑰系 統(self-certified public key system,SC-PKC)與橢圓曲線密碼系統(Elliptic Curve Cryptosystem, ECC)為基礎,藉以降低計算複雜度與通訊成本,設計一個適用於低資源行動裝置之群體金 鑰交換機制,除達到身分鑑別與群體金鑰交換目的,並達到匿名性、群體動態管理、群體 個數延展性等需求。在本方法中,假設存在一個金鑰產生中心 KGC (Key Gereration Center),

KGC 負責建立與管理系統基本參數,以及協助使用者計算具自我驗證的公鑰。本計畫提出 的具匿名性之群體鑑別金鑰協議協定主要分為三個階段,分別為系統設置階段、通訊個體 註冊階段以及金鑰協議階段。在系統設置階段,KGC 先設定系統所需之公開參數及秘密參 數,接著發佈公開參數。在通訊個體註冊階段,通訊個體先傳送身分相關資訊給 KGC 進行 註冊,KGC 針對通訊個體的身分相關資訊產生簽章並回傳給通訊個體,通訊個體經由此簽 章計算出私鑰並驗證其公鑰的正確性。在金鑰協議階段,通訊個體透過彼此的自我驗證資 訊可以進行身分鑑別與金鑰確認的目的,並以自行產生的暫時身分識別碼(temp identity, TID)來達到匿名性,而在群體金鑰協議階段,通訊個體透過廣播的方式來傳遞金鑰協議訊 息給其他通訊個體,最後由主席回傳金鑰確認訊息給所有參與金鑰協議的通訊個體,當金 鑰協議後通訊個體離開或加入時,現行的通訊個體也可以進行金鑰更新。系統模型如圖 4 與圖 5 所示。

3.2.1 系統設置階段

U1

U2

Un

匿名金鑰協議 匿名金鑰協議

U1 Un

KGC Ui

1.{IDi} 2.{自我驗證資訊}

Secure channel

Ui

圖4 系統模型-系統註冊階段

圖5 系統模型-金鑰協議階段

(13)

金鑰產生中心 KGC 先設定系統所需之公開參數及秘密參數後,公佈{h, h

1

, p, q, G

1

, g, E, G

2

, G, Y

s

},並保存{x

s

},相關參數符號說明如下:

KGC 金鑰產生中心

U

i

通訊個體

p, q 大質數,其中 p = 2q + 1 G

1

Z

p

*中的乘法群

g G

1

中的一個生成數(generator) E(GF

p

) 橢圓曲線 E

G

2

橢圓曲線 E 上的群

G 橢圓曲線 E 上的基點(base point) h 單向雜湊函數,h: {0, 1}

*

→ {0, 1}

l

h

1

單向雜湊函數,h

1

: {0, 1}

l

→ G

1

Xaxis(P) 取 P 點之 X 軸座標值

ID

i

通訊個體身分識別碼

TID

i

通訊個體身分識別碼的別名 x

s

KGC 的私鑰

Y

s

KGC 的公鑰,Y

s

= x

s

‧G

3.2.2 系統註冊階段

通訊個體在進行金鑰協議協定之前需先向 KGC 註冊,註冊中的訊息都是在安全通道 (secure channel)中傳送,其註冊的步驟如下:

步驟

1:Ui

KGC 發出註冊的請求{reg_request}

步驟

2:KGC 收到{reg_request}後,選取亂數 ai

Z

p

,並計算 A

i

如下:

A

i

= a

i

‧G

A

i

傳送給通訊個體 U

i

步驟

3:Ui

選取亂數 b

i

Z

p

,並利用收到的 A

i

計算 B

i

如下:

B

i

= A

i

+ b

i

‧G

將{ID

i

, B

i

}回傳給 KGC。

步驟

4:KGC 收到{IDi

, B

i

},使用私鑰 x

s

計算自我驗證資訊 w

i

如下:

w

i

= x

s

× h(ID

i

♁Xaxis(B

i

)) + a

i

將{w

i

, B

i

’}回傳給 U

i

步驟

5:Ui

收到{w

i

, B

i

’}後,檢查B

i

’的正確性,

B

iA

?

AE

=

E

B

i

接著使用自我驗證資訊w

i

來計算私鑰如下:

x

i

= w

i

+ b

i

mod p

接著驗證公鑰的正確性:

(14)

x

i

.G

A

?

AE

=

E

h(ID

i

♁Xaxis(B

i

)).Y

s

+ B

i

若上式成立,則表示驗證成功,U

i

便保存{x

i

, B

i

}。

3.2.3 群體金鑰協議階段

已向 KGC 註冊後的合法通訊個體,彼此即可任意進行金鑰協議協定。進行金鑰協議協 定的流程如下,首先金鑰協議協定由主席發起,任何的一位合法通訊個體都可成為主席,

接著所有參與金鑰協議的通訊個體即可透過註冊後所得到的自我驗證資訊進行金鑰協議,

在金鑰協議的過程中訊息是透過廣播的方式來傳送。進行金鑰協議協定後,通訊個體可以 自由的加入或退出,當成員有所變動時可以進行交談金鑰之更新的動作。以下是多方通訊 個體參與之金鑰協議的詳細步驟:

3.2.3.1 金鑰協議階段

步驟

1:Ui

選取亂數 r

1, i

, r

2, i

Z

p

,並計算 R

1, i

, R

2, i

, R

3, i

1, i

, TID

i

如下:

R

1, i

= r

1, i

.G

R

2, i

= r

2, i

.G

R

3, i

= (h

1

(t

1, i

) × Xaxis(R

1, i

) × r

1, i

).B

i

+ R

2, i

σ

1, i

= h

1

(t

1, i

) × Xaxis(R

1, i

) × r

1, i

× x

i

+ r

2, i

TID

i

= h(ID

i

♁Xaxis(B

i

)) × r

1, i

其中 t

1, i

為目前的時戳。

接著 U

i

將{TID

i

1, i

, t

1, i

, R

1, i

, R

3, i

}傳給 U

i-1

U

i+1

。 步驟

2:Ui-1

與U

i+1

收到{TID

i

1, i

, t

1, i

, R

1, i

, R

3, i

}後執行以下步驟:

步驟

2.1:檢查時戳的正確性,計算Δt1, i

Δt

1, i

= t

1, i

’ - t

1, i

t

1, i

’為目前的時戳,當Δt

1, i

屬於正常的區間則表示收 到的訊息不屬於重送攻擊。

步驟

2.2:驗證σ1, i

的正確性:

σ

1, i

.G

A

?

AE

=

E

(h

1

(t

1, i

) × Xaxis(R

1, i

) × TID

i

).Y

s

+ R

3, i

若上式成立,則表示σ

1, i

為合法通訊個體U

i

所傳 送。

步驟

2.3:Ui

計算K

1, i

, K

2, i

, K

i

2, i

, R

4, i

, R

5, i

K

1, i

= h(Xaxis(r

1, i

.R

1, i+1

))

= h(Xaxis((r

1, i

× r

1, i+1

).G)) K

2, i

= h(Xaxis(r

1, i

.R

1, i-1

))

= h(Xaxis((r

1, i

× r

1, i-1

).G)) K

i

= K

1, i

♁K

2, i

r

3, i

Z

p

, R

4, i

= r

3, i

.G

R

5, i

= (h

1

(t

2, i

) × h

1

(K

i

) × r

1, i

).B

i

+ R

4, i

(15)

σ

2, i

= h

1

(t

2, i

) × h

1

(K

i

) × r

1, i

× x

i

+ r

3, i

其中t

2, i

為目前的時戳。

接著U

i

將{TID

i

2, i

, t

2, i

, R

5, i

, K

i

}以廣播的方式傳給 其他通訊個體。

步驟

3:Ui

各別收到{TID

i

2, i

, t

2, i

, R

5, i

, K

i

}後執行以下步驟:

步驟

3.1:檢查時戳的正確性,計算Δt2, i

Δt

2, i

= t

2, i

’ - t

2, i

t

2, i

’為目前的時戳,當Δt

2, i

屬於正常的區間則表示收 到的訊息不屬於重送攻擊。

步驟

3.2:驗證σ2, i

的正確性:

σ

2, i

.G

A

?

AE

=

E

(h

1

(t

2, i

) × h

1

(K

i

) × TID

i

).Y

s

+ R

5, i

若上式成立,則表示U

i

所傳送的訊息是合法的。

步驟

3.3:Ui

各別計算K

1, i

(i = 2~n):

K

1, 1

= K

1

♁K

1, n

K

1, 2

= K

2

♁K

1, 1

K

1, n

= K

n

♁K

1, n-1

步驟

3.4:Ui

利用所有的K

1, i

(i = 1~n)計算出交談金鑰SK

2, i

SK

1, i

= K

1, 1

♁K

1, 2

♁,…,♁K

1, n

SK

2, i

= h(SK

1, i

)

步驟

3.5:最後Ui

計算交談金鑰之驗證訊息V

i

V

i

= h(SK

2, i

)

主席U

1

傳送V

i

給所有參與金鑰協議之通訊個體供驗 證交談金鑰使用。

3.2.3.2 新成員加入之交談金鑰更新階段-Un+1

加入

以下是新成員加入之交談金鑰更新階段的詳細步驟,圖 6 說明交談金鑰更新階段的過 程:

步驟

1:新成員 Un+1

選取亂數 r

1, n+1

, r

2, n+1

Z

p

,並計算 R

1, n+1

, R

2, n+1

, R

3, n+1

1, n+1

, TID

n+1

, 計算方式同前述金鑰協議之步驟 1。接著 U

n+1

將{TID

n+1

1, n+1

, t

1, n+1

, R

1, n+1

, R

3, n+1

} 傳給 U

n

U

n+2

,U

n

U

1

同時也以新的時戳 t

1, i

’計算新的 σ

1, i

, t

1, i

, R

3, i

,分別以 σ

1, i

’, t

1, i

’, R

3, i

’表示,接著將{TID

i

1, i

’, t

1, i

’, R

1, i

, R

3, i

’}傳給 U

n+1

步驟

2:Un+1

收到{ TID

i

1, i

’, t

1, i

’, R

1, i

, R

3, i

’}之後,執行同前述金鑰協議之步驟 2,計算 TID

n+1

2, n+1

, t

2, n+1

, R

5, n+1

, K

n+1

,接著將{TID

n+1

2, n+1

, t

2, n+1

, R

5, n+1

, K

n+1

}廣播傳送給 其他通訊個體。

步驟

2.1:Un

U

1

收到{TID

n+1

1, n+1

, t

1, n+1

, R

1, n+1

, R

3, n+1

}後,先驗證 σ

1, n+1

的正確性,

接著重新計算 K

i

, K

1, i

, K

2, i

,分別以 K

i

’ , K

1, i

’ , K

2, i

’來表示:

U

n

計算 K

1, n

’, K

i

K

1, n

’ = h(Xaxis(r

1,n

.R

n+1

))

(16)

= h(Xaxis((r

1,n

× r

1,n+1

).G)) K

n

’ = K

n

♁K

1, n

♁K

1, n

U

1

計算 K

2, 1

’, K

1

K

2, 1

’ = h(Xaxis(r

1,1

.R

1,n+1

))

= h(Xaxis((r

1,1

× r

1,n+1

).G)) K

1

’ = K

1

♁K

2, 1

♁K

2, 1

步驟

2.2:Un

U

1

以新的時戳 t

2, i

’計算新的 σ

2, i

, R

4, i

, R

5, i

,分別以 σ

2, i

’, R

4, i

’, R

5, i

’表示,

計算步驟同前述金鑰協議之步驟 2,接著將{TID

i

2, i

’, t

2, i

’, R

5, i

’, K

i

’}廣播傳 給其他通訊個體。

步驟

2.3:除了 Un

U

n+1

以及 U

1

以外的通訊個體以新的時戳 t

2, i

’計算新的 σ

2, i

, R

4, i

, R

5, i

分別以 σ

2, i

’, R

4, i

’, R

5, i

’表示,計算步驟同前述金鑰協議之步驟 2,接著將

{TID

i

2, i

’, t

2, i

’, R

5, i

’, K

i

}傳送給 U

n+1

步驟

3:所有通訊個體 Ui

收到 U

n

、U

n+1

以及 U

1

所廣播的訊息{TID

i

2, i

’, t

2, i

’, R

5, i

’, K

i

’}後,

接著更新彼此的交談金鑰,新的交談金鑰以 SK

2, i

’表示,更新步驟如下:

步驟

3.1:Ui

針對收到的訊息計算出 K

1, n+1

, K

2, n+1

與新的 K

2, 1

, K

1, n

,以 K

2, 1

’, K

1, n

’表示,

執行步驟同前述金鑰協議之步驟 3。

步驟

3.2:Ui

計算新的交談金鑰 SK

2, i

’:

SK

2, i

’ = h(SK

1, i

♁K

1, n

♁K

1, n

’♁K

1, n+1

) 步驟

3.3:最後,Ui

計算新的交談金鑰之驗證訊息 V

i

’:

V

i

’ = h(SK

2, i

’)

主席 U

1

傳送 V

i

’給所有參與金鑰協議之通訊個體供驗證新的交談金鑰使用。

(17)

圖6 新成員加入之交談金鑰更新階段-U

n+1

加入

3.2.3.3 舊成員離開之交談金鑰更新階段-Ui

離開

以下是舊成員離開之交談金鑰更新階段的詳細步驟,圖 7 說明交談金鑰更新階段的過 程:

步驟

1:舊成員 Ui

廣播離開的訊息給所有人。

步驟

2:Ui-1

U

i+1

以新的時戳 t

1, i

’計算新的 σ

1, i

, R

2, i

, R

3, i

,分別以 σ

1, i

’, R

2, i

’, R

3, i

’表示,接 著傳送{TID

i

1, i

’, t

1, i

’, R

1, i

’, R

3, i

’}給彼此。

步驟

3:Ui-1

U

i+1

收到{TID

i

1, i

’, t

1, i

’, R

1, i

’, R

3, i

’}後,首先驗證 σ

1, i

’的正確性,接著重新計 算 K

i-1

, K

1, i-1

, K

i+1

, K

2, i+1

,分別以 K

i-1

’, K

1, i-1

’, K

i+1

’, K

2, i+1

’表示:

U

i-1

計算 K

i-1

’, K

1, i-1

K

1, i-1

’ = h(Xaxis(r

i-1

.R

i+1

))

= h(Xaxis((r

i-1

.r

i+1

).G)) K

i-1

’ = K

i-1

♁K

1, i-1

♁K

1, i-1

U

i+1

計算 K

i+1

’, K

2, i+1

K

2, i+1

’ = h(Xaxis(r

i+1

.R

i-1

))

U1 Un Un+1

Round 1

Round 2

3.Un+1傳送{TIDn+1,σ1, n+1, t1, n+1, R1, n+1, R3, n+1}給 U1Un U1Un傳送{TIDi,σ1, i’, t1, i’, R1, i, R3, i’}給 Un+1

4.檢查t1, n+1與驗證σ1, n+1

5.計算K2, 1’, K1, R4, 1 , R5, 1’, σ2, 1

K1’ = K1♁K2, 1♁K2, 1

6.Un+1廣播{TID n+1,σ2, n+1, t2, n+1, K n+1, R5, n+1}給其他通訊個體,

U1Un廣播{TIDi,σ2, i’, t2, i’, Ki’, R5, i’}給其他通訊個體,

Ui(i = 2~n-1)傳送{TIDi,σ2, i’, t2, i’, Ki, R5, i’}給 Un+1

Round 3

7.檢查時戳與驗證σ2, i

8.計算K1, 1,..., K1, n’ , K1, n+1

9.計算SK1, i’, SK2, i’ , Vi SK2, i’ = h(K1, 1♁...♁K1, n’♁K1, n +1)

Vi’ = h(SK2, i’)

10.主席 U1廣播{Vi’}給其他通訊個體

1.r1, n+1,r2, n+1∈Zp

2.計算

R1, n+1,R2, n+1,R3, n+1, σ1, n+1,TIDn+1

4.檢查t1, i’與驗證σ1, i 5.計算K1, 5, K2, 5, K5,

R2, 5,σ2, 5

K5 = K1, 5♁K2, 5

4.Ui(i = 2~n-1)以新的 時戳t2, i’計算R4, i’, R5, i’, σ2, i

Note:U1是主席,t1, i和 t2, i為時戳

1.以新的時戳t1, n’計算 R2, n’, R3, n’,σ1, n 1.以新的時戳t1, 1’計算

R2, 1’, R3, 1’,σ1, 1

4.檢查t1, n+1與驗證σ1, n+1

5.計算K1, n’, Kn, R4, n , R5, n’, σ2, n

Kn’ = Kn♁K1, n♁K1, n

數據

圖 1    3G 系統架構簡圖
表 2 與其他方法之計算複雜度比較表  單一用戶端  伺服器端  系統總計算複雜度  (n 個用戶端與伺服器端) 線上  (on-line)  離線  (off-line)  Bresson  T h  + T xor 2T exp  + T sign nT ver  + nT exp  + T h+ Txor
Fig. 1.  logical architecture for conference key establishment
Fig. 1 The attacking diagram against Zhang et al.’s scheme

參考文獻

相關文件

Corollary 13.3. For, if C is simple and lies in D, the function f is analytic at each point interior to and on C; so we apply the Cauchy-Goursat theorem directly. On the other hand,

Corollary 13.3. For, if C is simple and lies in D, the function f is analytic at each point interior to and on C; so we apply the Cauchy-Goursat theorem directly. On the other hand,

Shih, “On Demand QoS Multicast Routing Protocol for Mobile Ad Hoc Networks”, Special Session on Graph Theory and Applications, The 9th International Conference on Computer Science

資 料 來 源:Green Paper: On the Practical Arrangements for the Introduction of the Single Currency (Luxembourg: Office for Publications of the European Communities, Lanham,

In implementing the key tasks, schools should build on past experiences and strengthen the development of the key tasks in line with the stage of the curriculum reform, through

• A formal usage policy and procedures should be in place, and appropriate security measures should be adopted to protect against the risks of using mobile computing and

Microphone and 600 ohm line conduits shall be mechanically and electrically connected to receptacle boxes and electrically grounded to the audio system ground point.. Lines in

After the desired content has been identified, the control point needs to determine which transfer protocol and data format should be used to transfer the content from the