• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
81
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

題目:運用近距離通訊技術的安全通訊架構 之研究

A Secure Communication Mechanism Using NFC Technology as an Example

系 所 別:資訊管理學系碩士班 學號姓名:M09610024 李唐維 指導教授:游坤明 博士

中 華 民 國 九十九 年 二 月

(2)

中 華 大 學 碩 士 論 文

題目:運用近距離通訊技術的安全通訊架構 之研究

A Secure Communication Mechanism Using NFC Technology as an Example

系 所 別:資訊管理學系碩士班 學號姓名:M09610024 李唐維 指導教授:游坤明 博士

中 華 民 國 九十九 年 二 月

(3)

i

摘要

近年來資訊安全觀念逐漸普及,而身份驗證和資訊的保護,是資 訊安全最重要的兩大重心,而智慧卡則是常被用來進行系統使用者身 分驗證的一種工具。隨著數位資訊的使用越來越廣泛,訊息遭受攻擊 的次數和種類也越來越多,現階段的智慧卡身份驗證架構在安全性和 效能上,依然有一定程度的提升空間。

在本論文中,我們首先針對由 Jiang et al.和 Hou et al.所提出的方 法進行弱點的分析,再針對其提出改進方法,在基於智慧卡安全性的 前提下,增加智慧卡進行身分認證時的計算效能。論文中並加入了 NFC 近距離無線通訊技術,以目前個人式手持裝置中使用率最高的 手機為例,模擬以 NFC 手機對 ATM 進行使用者身分認證的溝通流 程,以期能為使用者提供一個嶄新、可靠、便利性高的安全通訊機制。

關鍵詞:NFC、身分偽造攻擊、相互認證、重複攻擊、智慧卡

(4)

ii

Abstract

The concept of information security is more important recently years.

Identity verification and information protection are the most important part of the information security, and the smart card is a tool which are usually used to verifying the user identity.

The main purpose of our scheme is improving the efficiency of the users’ identity process, when they are accessing the financial system and keep the communication security of the smart card. We use the NFC phone which has the most high market share to simulate the handshake processes between the NFC phone and ATM extension module. And provide a novel, reliable, and convenient financial transaction environment.

Keyword:NFC、impersonation attack、mutual authentication、replay

attack、smart card

(5)

iii

致謝

本論文的完成,首先必頇要感謝指導教授游坤明博士。無論是課 堂上的教學、論文內容的討論、還是日常生活的待人接物,游老師對 我均給予悉心的忠告,使我受益無窮。此外也要特別感謝各口詴委員 所提供的寶貴意見,使本論文更臻完美,僅此謝意。

於碩士班就學期間,感謝賴俊澤老師、博士班學長嘉奕、和碩士 班學長秉璋、日緯、啟宏、政頤、嘉伶、冠傑、宗杰、政光的教導,

以及義諺、暉元、承諺、宏儒的支持,尤其最感謝賴老師對我在論文 撰寫上的指導,無論是在訂定方向還是內容修訂上,都給予我莫大的 幫助與鼓勵,另外也感謝佳樺、昱儒、佑勳、昭賢、秉正、何敏、玉 子、和方麗等人對我在課業與生活上的協助、支持、與陪伴,這幾年 來的相逢相識,將長存我心。

就學的生涯中特別感謝我的爸爸和媽媽,沒有他們在背後給我的 支持與關愛,就不會有這篇論文的完成。

李唐維 謹誌於 中華大學 2010.02

(6)

iv

章節目錄

摘要 ...i

Abstract ... ii

致謝 ... iii

章節目錄 ... iv

圖目錄 ... vi

表目錄 ... vii

第一章 緒論 ... 1

1-1 研究背景 ... 1

1-2 研究動機與目的 ... 2

1-3 章節提要 ... 4

第二章 文獻探討 ... 5

2-1 密碼學相關理論與技術 ... 5

2-1.1 對稱式加密(Symmetric Key Encryption) ... 5

2-1.2 非對稱式加密(Asymmetric Key Encryption) ... 7

2-1.3 數位簽章(Digital Signature) ... 9

2-1.4 單向雜湊函數(One-way Hash Function) ... 10

2-1.5 互斥或運算(Exclusive or, XOR) ... 11

2-2 智慧卡(Smart Card) ... 12

2-2.1 智慧卡的發展 ... 12

2-2.2 智慧卡的種類 ... 13

2-2.3 智慧卡的構造 ... 14

2-3 近距離無線通訊協定 NFC(Near Field Communication) ... 14

2-3.1 NFC 簡介 ... 15

2-3.2 NFC 技術和其他無線/RF 技術的比較 ... 17

2-3.3 NFC 的特性 ... 21

(7)

v

2-3.4 NFC 手機的應用潛力... 22

2-3.5 NFC 手機端應用程式... 23

2-4 安全通訊架構 ... 27

2-4.1 Jiang et al.的智慧卡安全通訊方法 ... 27

2-4.2 Hou et al.的效能改進方法 ... 31

第三章 智慧卡與 STB 之間的安全通訊架構 ... 36

3-1 主要架構 ... 36

3-2 架構說明 ... 37

3-2.1 註冊層(Registration Phase) ... 37

3-2.2 登入和相互認證層(Login & Mutual authentication phase) ... 40

3-2.3 金鑰協議層(Key agreement phase) ... 44

3-2.4 密碼變更層(Password change phase) ... 44

第四章 安全性分析與效率分析 ... 47

4-1 安全性分析 ... 47

4-2 效率分析 ... 55

第五章 結合 NFC 的安全通訊架構範例 ... 60

第六章 結論 ... 67

參考文獻 ... 69

(8)

vi

圖目錄

圖 2-1:對稱式加密………6

圖 2-2:非對稱式加密………8

圖 2-3:NFC 近距離無線通訊協定架構………16

圖 2-4:短距離無線通信方式之比較圖………18

圖 2-5:NFC 手機端應用程式架構………24

圖 2-6:NFC 手機端軟體架構圖………25

圖 2-7:NFC 手機端系統程式架構………26

圖 2-8:晶片控制架構圖………27

圖 2-9:Jiang et al.智慧卡安全通訊方法………29

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

圖 3-2:註冊層流程圖………38

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

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

圖 4-1:MD5 產生明文之摘要流程圖………58

圖 5-1:悠遊手機 EasyMO………61

圖 5-2:註冊層流程圖………62

(9)

vii

表目錄

表 2-1:短距離無線通信方式之比較表………17

表 3-1:SCNFC 架構代碼表………36

表 3-2:註冊層流程表………38

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

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

表 4-1:RSA、DES、單向雜湊函數運算速度比較表………55

表 4-2:安全通訊架構比較表………56

(10)

1

第一章 緒論

1-1 研究背景

在科技高度發展的帶動下,大量的電腦網路技術逐漸被應用在人 們的日常生活中,加快了資料的傳輸,讓人們的生活更為便利。但也 因為如此,讓資料在傳輸的過程中,將面臨到更為頻繁的非法竊取、

竄改、和盜用,這也讓資訊傳輸的安全,成為現代電腦網路技術中,

非常重要的一個環節。

對資訊安全來說,最重要的部分,莫過於使用者的身分驗證、以 及所傳輸資料的保護[17]。若在資料傳輸的過程中能保護此二者不受 外界的影響,就能進而確認其資訊的安全。而為了保護所傳送資料的 安全,因此有許多的密碼系統被相繼提出,這些系統大致可被分為兩 大類,分別是對稱式密碼系統(Symmetric Key Cryptosystem),例如資 料加密標準(Data Encryption Standard, DES)[22],和非對稱式密碼系統 (Asymmetric Key Cryptosystem) , 如 公 開 金 鑰 加 密 系 統 (Rivest-Shamir-Adleman, RSA) [22]等,均被大量的使用來保護資料的 安全。

台灣自從 1998 年由澎湖地區所開始詴驗發行的健保 IC 卡,至健 康保險局為了取代傳統紙製健保卡,於 2002 年 7 月 26 日所發出的第

(11)

2

一張健保 IC 卡開始,智慧卡在台灣的應用可謂非常多樣化,包括了 健保 IC 卡、晶片金融卡、晶片電話卡等等,未來的國民身分證,亦 有朝此方面規劃的趨勢,智慧卡在人們的生活中被普遍的應用,為大 家帶來許多便利。也因此,智慧卡在安全上,對資料防護的需求也與 日俱增,以防止日漸氾濫的智慧型罪犯。

由非接觸式辨識與網路技術所組合演變而來的近距離無線通訊 (Near Field Communication, NFC)技術,是種近距離的無線連線技術,

根據 ISO 18092 標準所製造的 NFC 晶片,可內嵌於各種不同的裝置 中,例如手機、衛星導航、和印表機等,為不同的電子設備之間提供 了直覺、簡單、且安全的連線。而隨著科技的進步,手機已不再只是 通話的工具,更具有各種多樣化的功能,成為現代人生活中不可或缺 的隨身配備之一,也因此目前 NFC 應用最為廣泛的領域即以手機為 大宗。

1-2 研究動機與目的

Jiang 等人提出了以 Schnorr 數位簽章演算法為基礎的架構,但此 數位簽章演算法,是以 PC 的計算能力為基礎所提出,因此在演算法 中,使用了計算成本較高的指數運算。PC 在設計上,其計算能力先 天就較佳,因此需要耗費較多計算資源的指數運算並不會對其造成太

(12)

3

大的負擔。但若將其應用在智慧卡晶片上的計算,則指數運算所需的 計算資源,對智慧卡來說就相對沉重許多。因此本論文使用了安全的 單向雜湊函數(One-way Hash Function)來取代指數運算,降低認證過 程中對智慧卡晶片的在計算時的負擔。

智慧卡逐漸深入人們的生活中,應用的領域也越來越廣泛,但也 因為如此,人們常常需要帶許多智慧卡出門,造成攜帶上的不便,而 為了解決這樣的不便,我們在原本的智慧卡架構下,加入了 NFC 無 線通訊。NFC 是種短距離的無線傳輸標準,其晶片可內嵌在包括手 機、PDA、印表機等各種電子裝置中。本論文以目前個人手持裝置中 普及率最高的手機為例,模擬以手機對 ATM 進行身分的確認,進而 使用 ATM 所使用的功能,旨在將傳統塑膠智慧卡片的功能整合於手 機中,讓人們只需要攜帶帄時就會隨身攜帶的手機,就能使用智慧卡 的功能。

而為了證明使用雜湊函數取代指數運算之後,不但能降低智慧卡 的計算負擔,還可不減損其安全性,在本論文中,我們會根據各種類 型的攻擊模式來對所提出的架構進行分析,並以數據分析的方式,證 明其安全性並不會因此而降低。

(13)

4

1-3 章節提要

以下針對了本論文中各個章節的內容,進行概要性的敘述。

第二章會針對本論文所參考之相關文獻資料,包括了 Schnorr 數 位簽章演算法、Jiang 所提出的相互認證演算法和其缺點,以及介紹 何謂智慧卡、NFC 短距離無線傳輸標準等研究。

第三章會詳細介紹我們所提出的架構。

第四章則會就此架構,針對效率和安全性進行分析和驗證。

第五章為本論文的結論,並會說明預期的效益,以及未來展望。

(14)

5

第二章 文獻探討

本章共分為四個部分:2-1 中介紹目前有關密碼學個幾個重要理 論與技術,包括了加密技術、數位簽章、雜湊函數、以及 PKI 機制等;

2-2 說明智慧卡的發展過程、基本構造、以及使用的現況;2-3 會針 對目前近距離傳輸協定領域中的新興技術 NFC,進行說明與分析;

2-4 則是介紹幾個和安全通訊技術相關的研究。

2-1 密碼學相關理論與技術

密碼學泛指一切有關研究秘密通訊的學問,其中包括了加密以及 解密兩大部分,而本論文則是以加密技術來做為研究的出發點。加密 指的是如何達到資訊的隱密性,以防止被外人得知訊息的內容。以下 將針對幾種常見的加密技術加以說明。

2-1.1

對稱式加密(Symmetric Key Encryption)

對稱式加密(Symmetric Key Encryption)是種相當簡單且普遍被使 用的加密方式,過程中資料會先以明文(Plaintext)的方式輸入,經加 密金鑰(Encryption Key)及加密演算法的運算之後,可得到一個內容為 亂碼的密文(Ciphertext),單從密文無法得知明文的內容[15]。接收者 取得密文之後,必頇以解密金鑰(Decryption Key)和解密演算法對密文

(15)

6

做解密的動作,才能得到明文的內容。若要對明文進行加密,則需要 輸入明文的內容和加密金鑰,此兩者經過加密演算法 (Encryption Algorithm)的運算之後,就可得到密文。明文的內容和加密金鑰的值 是各自獨立的,即使使用相同的明文及加密演算法,若以不同的加密 金鑰來做運算,所得到的結果也會不同。由於在此加密系統中,對明 文做加密和解密的金鑰是相同的,因此被稱為對稱式加密。

圖 2-1:對稱式加密

資料加密標準(Data Encryption Standard, DES)是一種常見的加密 法,在 1997 年由國家標準與技術協會(National Institute of Standards and Technology, NIST)所提出[23]。DES 屬於區塊加密法,所謂的區 塊加密法,是對固定大小的明文和密文,來進行加密和解密的動作。

在 DES 加密系統中,每次加密解密的區塊大小,均為 64 位元。無論 是明文或密文,一般的資料大小通常都超過 64 位元,因此我們需要 將明文和密文以每 64 位元為一個區塊來加以切割,再對這些區塊進 行個別的加密或解密。而切割完成後的最後一個區塊,其大小會小於

(16)

7

64 位元,此時需要在區塊之後附加「0」位元,將其填補至 64 位元 為止。DES 在加密和解密時所使用的演算法,除了子金鑰的順序有所 不同之外,其他的部分都是完全相同的。而 DES 所使用的加解密金 鑰,其大小也是 64 位元,但其中的 8 個位元會被用來進行錯誤的更 正,因此真正的金鑰大小為 56 位元。

2-1.2

非對稱式加密(Asymmetric Key Encryption)

非對稱式(Asymmetric)加密系統和對稱式加密系統不同的地方在 於,非對稱式加密系統使用的是公開金鑰加密演算法,在加密時所使 用的金鑰和解密時所使用不同,因此又被稱為公開金鑰加密演算法 (Public-key Cryptography)。公開金鑰加密演算法使用兩把金鑰,分別 是公開金鑰(Public-key)和秘密金鑰(Private-key),對秘密金鑰加以計 算,可以得到公開金鑰,但是單從公開金鑰則無法反求出秘密金鑰。

當使用公開金鑰對明文做加密之後,只有擁有秘密金鑰的人才可以將 密文還原,只用公開金鑰無法對明文做解密。

(17)

8

圖 2-2:非對稱式加密

Diffie & Hellman 是最早提出公開金鑰加密演算法的人,其貢獻在 於他們提供了一個安全又有效的金鑰交換方法。而在 1977 年,Ron Rivest、Adi Shamir 和 Len Adleman 以 Diffie & Hellman 的架構為基礎,

提出了著名的 RSA 區段加密演算法,這是個建立在因數分解的困難 度上的公開金鑰加密演算法實作方法[11]。

非對稱式加密演算法的困難度在於離散和對數,因為需要用到相 當多的指數運算,因此與對稱式加密演算法相比較下,執行效率就會 比較差,因此在實務上通常不會直接將要傳送的訊息用公開金鑰演算 法來加密,而是將訊息用對稱式演算法加密之後,再用公開金鑰演算 法將加密過後的金鑰加密,接著才將這兩個訊息一併傳送給接收者。

這樣的做法可以同時具有對稱式加密的速度,和非對稱式加密的安全 性。

(18)

9

2-1.3

數位簽章(Digital Signature)

一般來說,網路上經常需要使用認證來確認兩方彼此的身分,只 要能使雙方確認彼此身份的方法,都可視為認證的方法。但光有認證 功能,無法保護傳遞訊息的雙方不受第三方的干擾或破壞,也無法保 護其中一方不會受另一方的欺騙。因此在收發雙方都無法完全信任彼 此的狀況下,要解決這個問題的最佳方法,就是數位簽章。

除了認證之外,數位簽章也還能確認此份文件尚未被第三者破壞 或是竄改。上述的 RSA 公開金鑰加密系統的另一種用途,即為數位 簽章。數位簽章是使用和上述中加密方法的相反概念,將公開金鑰與 秘密金鑰的角色互換,傳送者會以秘密金鑰,將所要傳送的訊息加密,

並讓每個擁有公開金鑰的人,都能對此加密過後的訊息做解密,若解 密成功,則代表此一訊息是由擁有秘密金鑰的人所所傳送出來的,以 達到簽章的功能。而在實際使用時,由於公開金鑰加密系統需要大量 的指述運算,且所要傳遞的訊息量通常不少,因此效率並不好。為了 增加效率,使用數位簽章時並不會將所有訊息都做簽章函數運算,而 是先將訊息做雜湊函數的運算之後,再執行簽章函數的運算,進而提 高執行的效率。

(19)

10

在數位簽章演算法中,Schnorr 在 1989 年所提出的 Schnorr 數位 簽章系統[2],算是其中相當著名的一種。但此演算法的缺點,在於 其中使用了大量的指數運算模組。在所有會消耗晶片計算資源的計算 中,指數運算是最為嚴重的一種[3],因為指數運算實際上是一連串 的乘法運算,也就是所謂的乘積累加(Multiply Accumulate, MAC)運算,

在數位信號處理器(Digital Signal Processor, DSP)、或是一些微處理器 (Microprocessor)中,這是種將乘法的結果,和累加器 A 的值相加,再 存入累加器中的特殊運算,即 a ← a + b * c。而在硬體效能維持不 變的前提下,若要增加運算的速度,唯一的辦法就是盡可能減少指數 運算模組的使用[19],也因此,指數運算對晶片計算能力較弱的智慧 卡晶片來說,其負擔自然就大了許多。

2-1.4

單向雜湊函數(One-way Hash Function)

使用雜湊函數的目的,是為了要對明文產生一組對應的值,雜湊 函數所計算出來的雜湊值,和明文有一定程度的「單向」對應關係。

雜湊函數一般而言,會以 f()或 h()方程式來表示,若將 x 值代入雜湊 函數,即 f(x)=y 或 h(x)=y,則 x 並無法與運算的結果 y 產生關聯性,

但以 x 代入該函數卻能輕易的將 y 計算出來。換句話說,要由明文計 算出雜湊值是相當容易的,但要由雜湊值逆向求出明文的內容,在計

(20)

11

算上則不可行。明文的內容,可為任意長度,但經計算後所得到的雜 湊值則是固定大小的資料區段。另外,若已得知其中一組明文與雜湊 值,但要找出另一組具有相同雜湊值的明文,在計算上也是不可行 的。

在實際運用上,單向雜湊函數對於明文的認證(Authentication)和 數位簽章,在實際使用時皆具有舉足輕重的角色,因為我們可藉由明 文與雜湊值之間的對應關係,來得知此明文是否有被竄改或更動。而 單向雜湊函數的另一個重要功能,就是其「單向」的特性,讓使用者 僅可透過明文計算出雜湊值,而無法做逆向的運算,這樣的概念在密 碼學中運用的相當普遍。此外,利用雜湊所產生出來的的固定大小資 料區塊,也可提高數位簽章的效率。

2-1.5

互斥或運算(Exclusive or, XOR)

互斥或的基本原理相當簡單,若兩個運算元不相同,結果為 真,反之則不為真。互斥或是二進位系統的邏輯運算子,為數位 邏輯閘的一種,表示符號為⊕,例如 x⊕y = z。互斥貨運算在密 碼學中,常應用在訊息的加密上。由於互斥或運算可以由兩個運 算子,來推算出第三個運算子,因此透過這樣的特性,我們就可 以從兩個角色之間,利用已知的秘密值傳遞第二個秘密值。舉例

(21)

12

來說,當接收者和發送者皆已經知道運算子 A,當發送者利用運 算子 B 進行互斥或運算,並將產生出來的結果傳送給接收者,接 收者即可利用這個結果,和運算子 A 再進行一次互斥或運算,完 成之後即可得到發送者所選取的秘密值。

2-2 智慧卡(Smart Card)

2-2.1

智慧卡的發展

磁條卡片為智慧卡的前身,美國大來信用卡公司(Diners Club International)在五零年代發行了第一張信用磁卡,目的是為了取代現 金交易,因此有人將其稱為「塑膠貨幣」。而到目前為止,磁條信用 卡仍是相當普遍的付款方式,包括 VISA 與 MasterCard 等都是相當知 名的發卡公司。磁卡是以卡片背面的磁條來記錄持有者的數位資料,

但記憶的容量非常有限。雖然使用非常普遍,卻有其安全上的弱點,

只要透過可讀取磁卡的讀卡機,任何人都可以讀取、竄改或刪除磁卡 中所儲存的資料,也因此磁條信用卡一直有容易遭人複製與盜用的問 題。為了要解決磁條卡片的缺點,德國的 Jurgen Dethloff 與 Helmut Grotrupp,在 1968 年提出將積體電路(Integrated Circuit)整合至卡片中 的想法,並取得了 IC 卡(Integrated Circuit Card, ICC)的專利。

(22)

13

智慧卡在歐洲的使用已經有相當長的一段歷史,而近年來在台灣,

智慧卡也已逐漸出現在我們的日常生活中,例如台北捷運悠遊卡,以 及結合了學生證、借書證、門禁卡、和金融卡的校園智慧卡等,都展 現了智慧卡多元的應用空間。在政府的積極推動之下,促使了銀行業 者全面換發晶片金融卡,除了可提升卡片的安全性之外,也可將信用 卡、現金卡、悠遊卡等多種功能集合在一張卡片上,用來進行刷卡付 費、預借現金、提款轉帳、和搭乘捷運公車等活動。

2-2.2

智慧卡的種類

若以智慧卡和讀卡機之間的溝通方式來區分,可將智慧卡分為

「接觸式」與「非接觸式」兩種。智慧卡是在塑膠卡片中嵌入一片微 晶片,其中包括一顆微處理器與記憶體,而接觸式的智慧卡是透過智 慧卡表面的金屬接點來和讀卡機內部的接點做接觸,進而讀取或寫入 資料。非接觸式的智慧卡則是透過隱藏在卡片內部的天線,以無線電 波與讀卡機進行溝通,來做資料的讀寫。相較於接觸式智慧卡,非接 觸式智慧卡更強調便捷與快速通關,因此被廣泛的應用在門禁管制、

小額的電子錢包、以及電子票卷等。

(23)

14

2-2.3

智慧卡的構造

智慧卡的內部嵌入了一片包含有一顆微處理器和多種記憶體的 微晶片。由於製造的技術不斷在進步,微處理器已從最早期的 4 位元 微處理器,進步到 32 位元,甚至 64 位元微處理器,可被用來對資料 進行加密解密,以保護私人資料,進而有效的提升資料在傳輸過程中 所面臨到的潛藏危險。而記憶體包括了唯讀記憶體(ROM)、隨機存取 記憶體(RAM)、和電子可抹式可程式化唯讀記憶體(EEPROM),可被 用來儲存智慧卡的交易資料、數位憑證、以及私人資料。系統可透過 數位憑證來辨識使用者的身分,並藉由憑證機制,有效提升了電子郵 件、網路資料傳輸、與網路交易的安全性。

2-3 近距離無線通訊協定 NFC(Near Field Communication)

NFC 近距離無線通訊技術(亦被稱為「近場通訊」技術),是一種 由飛利浦(Philips)的 Mifare 技術、和索尼(Sony)的 FeliCa 技術所衍生 而來的,因此 NFC 可說是由兩間公司所共同開發的一種無線連接技 術,並已獲得國際標準規格「ISO/IEC IS 18092」的認可。而開發 NFC 最主要的目的,是為了要讓不同的電子設備之間,能夠實現便捷的近 距離通訊,並在安全晶片的配合下,來模擬非接觸式智慧卡。除了能 夠模擬智慧卡之外,NFC 也能夠將多張智慧卡功能整合至單一電子

(24)

15

裝置中,增加使用上的便利性。

2-3.1 NFC 簡介

非接觸式智慧卡依據不同感應範圍共有三種 ISO 標準規範,而符 合 ISO/IEC 14443 的非接觸式智慧卡為目前非接觸式付款(Contactless Payment)市場之主流技術。Philips 在非接觸式智慧卡領域中,算是業 界的領導廠商,其 Mifare 晶片卡技術,屬於 ISO/IEC 14443 A,以被 廣泛的使用在世界幾個大型交通運輸系統上,以及 VISA 信用卡等金 融服務,約占全球非接觸式智慧卡 2/3 的市場,台北悠遊卡票證公司 所發行的悠遊卡就是 Mifare 卡;而 Sony 所推出的非接觸式智慧卡 FeliCa,雖為遵從 ISO/IEC 14443 A/B,但也有相當成功的應用範例,

在中國、香港、新加坡、以及日本的市佔率都非常高,其主要的應用,

也是在交通以及金融機構。NFC 則是涵蓋了 Mifare 和 FeliCa 兩種技 術,並同時與兩者的規格相容,因此更能融合兩者的優勢,並擴大非 接觸式智慧卡的應用範圍。而於 2004 年在德國所舉行的 CeBIT 展覽 會上,芬蘭手機製造商 NOKIA 宣布了與 Philips 和 SONY 的合作關 係,成立了 NFC 論壇(NFC Forum),並爭取半導體、電子設備、著作 權管理、以及提供付款機制服務廠商的支持與加入。

(25)

16

圖 2-3:NFC 近距離無線通訊協定架構

NFC 是一種全新的短距離無線連線技術[23],是由非接觸式的身 份 辨 識 (contactless identification) 以 及 互 連 技 術 (interconnection technologies)所演變而來。其晶片可以被嵌入在各種不同類型的裝置 中,從手機付費、資訊傳輸、到數位相機傳輸照片至電視機中,這些 功能都只需要一個「接觸」的動作即可完成,大幅簡化不同電子產品 之間互動的方式,因此 NFC 應用的可能性非常大。且 NFC 可讓現在 高度發展且越來越精密的消費性電子產品在使用和操作上更加容易,

幫助人們加快連線、接收、和分享資訊的速度,甚至還可進行快速且 安全的付費動作。

NFC 標籤(NFC tag)是典型的被動裝置(passive device),可被整合

(26)

17

在智慧廣告(smart poster)中,並在其中儲存可被具有 NFC 功能裝置讀 取的資料。而智慧卡和標籤在技術上是相同的,然而非接觸式的智慧 卡在今天被普遍使用在付費和訂票系統中,其中也包含了一些額外的 技術,用來儲存安全性資料。

2-3.2 NFC 技術和其他無線/RF 技術的比較

無線技術的發展已行之有年,不同的技術之間,各有其應用上的 優勢與特點,在本節中,我們將會列舉幾種目前使用相當廣泛的無線 傳輸技術,與 NFC 進行比較。

表 2-1 中,我們選擇了 Bluetooth、WiFi、和 ZigBee 等無線通訊 技術,並針對這些的傳輸速度、通訊範圍、操作頻率、國際標準、安 全協定、以及安全模組等面向,進行與 NFC 之間的分析與比較。如 表 2-1 所示:

表 2-1:短距離無線通信方式之比較表

名稱 Bluetooth Wi-Fi ZigBee NFC

NFC 13.56MHz 424kbps 20cm - Zigbee 868MHz、915

MHz、2.4 GHz 20~250 kbps 75m IEEE802.15.4

Bluetooth 1.1 2.4 GHz 720 kbps 10m~100m IEEE802.15.1

(27)

18

Bluetooth 1.2 2.4 GHz 2Mbps 10m~100m - IEEE 802.11b 2.4 GHz 11 Mbps 100m - IEEE 802.11g 2.4 GHz 54 Mbps 80m - IEEE 802.11a 5GHz 54 Mbps 50m -

UWB 3.1~10.6GHz 100 Mbps 200 Mbps

10m(100Mbps)

4m(200Mbps) IEEE802.15.3a

(來源:拓墣產業研究所整理,2004/05)

圖 2-4:短距離無線通信方式之比較圖

(來源:Wireless Plus 無線 LAN 開發最前線;拓墣產業研究所整理,2004/05)

由圖 2-7 中我們可以發現,在短距離的無線通信技術領域中,存 在著各種不同的技術。雖然 Bluetooth 的傳輸速度和距離,都較 NFC

(28)

19

為佳,但因為 NFC 並不需要電源的供應,因此對行動消費性的電子 產品,例如手機,NFC 技術就傳輸上來說就會比 Bluetooth 要便利許 多。除此之外,NFC 在使用上,也不需要任何複雜的程序,這樣的 優勢對消費者來說就相當具有吸引力。由於 Bluetooth 設計之初的使 用定為,並不在於金融領域,因此在存取距離較遠的情況下,對其安 全性就會有相當大的威脅,此時傳輸距離較短的 NFC 就可以確保使 用者是在主動的情況下進行金融交易,以防止被犯罪者所利用,由此 可知 NFC 與 Bluetooth 之間並不衝突。

以下就表 2-1 中幾種主流短距離無線傳輸技術,作簡略的介紹:

 Bluetooth:為一低成本、低耗電、近距離的無線通訊技術,每個 裝置有一個唯一的 48-bit 位址,其網路容量可達 8 個 Bluetooth 裝置已 Peer-to-Peer 或 ad-hoc 方式連結,也就是說,允許通訊範 圍內的 Bluetooth 裝置做一對一或是多個裝置彼此通訊;由於 Bluetooth 的頻寬達 1Mbps,因此可以用來傳送影音資料。例如而 NFC 論壇所公佈的 NFC 白皮書中[5],以一個結合 Bluetooth 與 NFC 的應用情境,利用 NFC 的接觸感應(single touch)功能,在兩 台電腦間交換秘密參數(如秘密金鑰)來建立一個安全的 Bluetooth 通訊。」

(29)

20

 Wi-Fi(Wireless Fidelity):是一無線區域網路(Wireless Local Area Networks, WLAN)的技術,操作頻率與 Bluetooth 一樣為 2.4GHz,

資料傳輸率與通訊範圍遠大於 Bluetooth 為 54Mbps 與 100m,但 安全性較差,故 IEEE 802.11i 中 WPA(Wi-Fi Protected Access)以 AES(Advanced Encryption Standard)取代 WEP(Wired Equivalent Privacy)的 RC4(Route Coloniale 4)。相同的,Wi-Fi 與 Bluetooth 都是 NFC 論壇建議與 NFC 互補的無線通訊技術。

 ZigBee:是一種近距離低傳輸率及架構簡單的無線通訊技術,所 耗的電量非常低,約為 0.5mW 至 1mW 之間,為一 Master/Slave 能夠作雙向通信的網路架構。ZigBee 之網路容量視裝置位址 (Address)長度而有所不同, 16bits 長的位址其網路容量為 65536 個裝置,當位址長度為 64bits 時網路容量可達到 264 之譜。據 ZigBee Alliance 所公佈的應用範疇,由於其資料傳輸率只有 250Kbps,並不適合大量的資料傳輸,限制了對多媒體資料的運 用,所以 ZigBee 大都是用做為控制,如家電、工業監控、保全設 備等控制之用,以小資料量傳輸為主的應用。值得一提的是 ZigBee 採用 128-bits AES 加密維護其機密性。

(30)

21

2-3.3 NFC 的特性

NFC 裝置非常獨特,它可以改變它們的運作模式,有三種運作模 式可供選擇,分別是讀取/寫入模式(reader/writer mode)、點對點模式 (peer-to-peer mode)、或卡片模擬模式(card emulation mode)。不同的運 作模式是以 ISO/IEC 18092 NFC IP-1 和 ISO/IEC 14443 非接觸式智慧 卡標準為基礎。

(1) 讀取/寫入模式:在此模式中,NFC 裝置有能力讀取 NFC 論壇 所規定的標籤型號,例如讀取 NFC 智慧海報標籤(smartposter tag)。讀取/寫入模式的 RF 介面遵循 ISO 14443 和 FeliCa 方法。

(2) 點對點模式:在此模式中,兩個 NFC 裝置可以互相交換資料,

例如,你可以分享藍芽或 Wi-Fi 連結的設定參數,並交換如虛 擬商用卡片或數位照片等資料。點對點模式是以 ISO/IEC 18092 標準為標準。

(3) 卡片模擬模式:在此模式中,NFC 裝置會將以標籤的方式來 運作,外表看起來是讀取器,但功能和傳統的非接觸式卡片相 同 。 例 如 , 可 以 用 來 做 非 接 觸 式 的 付 費 動 作 和 電 子 門 票 (eticketing)。

(31)

22

2-3.4 NFC 手機的應用潛力

2006 年 5 月 19 日,日本總務省於公佈了最新的「通訊利用動向

調查」

[25][26]

。調查顯示,日本在 2005 年底的上網人口數,高達 8529

萬人。由這樣的調查,我們可以從中得到一些資訊,就是隨著無所不 在的運算(Ubiquitous Computing)環境越臻成熟,行動電話已成為取得 網路服務主要的終端設備之一,並整合各種無線技術,讓使用者可以 透過這樣的應用帄台享受更為便利的服務。而具有 NFC 功能的行動 電話(NFC-enabled phones),便是實現這個應用帄台最具潛力的新技 術。

行動商務的交易活動,可歸納為四種類型,分別是:付款機制 (Payment)、身分識別(Identification)、資料交換( Data Exchange)以及 電子票證(e-Ticket) [23]。NFC 應用在行動商務的趨勢,可以「金融支 付工具」、「身分識別」、和「資料交換」三大方向來做說明。

 「金融支付工具」:由於 NFC 技術本身,就能提供硬體等級的安 全性保護,因此一個符合 EMV 標準的 NFC 行動裝置,能夠當作 信用卡或電子錢包來使用。信用卡屬於一般的付費工具,電子錢 包則是以小額付款為主。此外數位內容付費下載這類型的微型商 務也逐漸興起,這樣的小額付款消費型態,也是 NFC 行動裝置應

(32)

23

用的特色之一。

 「身分識別」:NFC 本身就是一種身分辨識的技術,可應用在門 禁系統、公文簽收、登錄資訊系統、以及電子票證等。

 「資料交換」:由於 NFC 技術有所謂 Touch and Connect 的特色,

兩個 NFC 裝置只要透過無線射頻感應建立連線,即可進行 Peer-to-Peer 的資料傳輸。因此 NFC 提供了一個可以迅速下載影 音資料或是不同裝置之間傳送資料的方法。

本論文以 Hou et al.所提出的架構為基礎,透過 NFC 短距離無 線通訊標準,旨在將智慧卡整合在單一電子裝置中,並使用了 NFC 手機和自動櫃員機作為模擬的範例,提出了我們的架構。

NFC 雖然擁有先天的安全性優勢,但若將其應用在金融領域中仍 嫌不足,因此在本架構的設計中,使用由憑證管理中心所統一發 放的使用人憑證,使架構更為完整。第三章中,將會針對本架構 進行更為詳盡的介紹。

2-3.5 NFC 手機端應用程式

在 NFC 手機端中,包含了安裝於手機中的應用程式、後端的 管理帄台、以及門禁系統管理帄台。這是一個 JAVA 應用程式,

是以帄台架構的方式所撰寫而成,並針對不同的手機帄台,提供

(33)

24

不同的版本,包括了 J2ME、Symbian、Windows Mobile / Pocket PC (MFC)、Brew (C/C++)、和 Linux Mobile 版本。

如圖 2-8 所示,此應用程式是建立在 JVM(Java Virtual Machine) 上的一個帄台,並透過 JSR257 和 NFC 晶片進行連結,而與智慧 卡晶片中的安全元件溝通,則是透過 JSR177 來完成。而應用程 式本身並不只適用於門禁管制,因為本系統是以 Widget 系統的方 式來進行設計,因此若要新增其他服務,只需要另行設計其 Widget,並將其安裝至系統中即可。

圖 2-5:NFC 手機端應用程式架構

此程式程式架構分為三個子系統,分別是 NFC 手機端、晶片 管理程式端、以及 ATM 擴充模組端[20],如圖 2-9 中所示。

(34)

25

圖 2-6:NFC 手機端軟體架構圖

NFC 手機的工作,除了驗證使用者身份之外,最重要的就是 必頇負責偵測 ATMe 中 NFC Tag 的存在,並在偵測到 Tag 之後 進行 NFC 手機和 ATMe 之間的連線程序。手機端架構如圖 2-10 所示。此架構是以 J2ME 環境為基礎,使用者指令處理程式會依 照使用者所輸入的指令,來對憑證資訊處理器做相對應的要求 (Request)。訊號分析器負責外部訊號的分析和判別,完成之後會 憑證資訊處理器來進行處理。若要將訊息寫入智慧卡中,則必頇 先透過憑證讀取/寫入器,將訊息透過 JSR 177 連結器來進行寫入 的動作。應用程式介面的部分提供了 JSR 177 介面以進行對智慧

(35)

26

卡的存取,以及 ISO 14443 的連線功能。

圖 2-7:NFC 手機端系統程式架構

晶片管理程式端最主要的工作,就是負責 Mifare 晶片和 Java Card 的,管理如圖 2-11 所示。作為憑證的儲存媒介,此部分並 不提供使用者直接的操作介面,以保護資料的安全,因此晶片必 頇要透過 NFC 手機和門禁系統才能與管理中心進行溝通,儲存在 內的憑證資料也只接受和門禁系統之間的存取動作。在透過 JSR 177 的應用程式介面接收到 NFC 手機所傳送過來的存取命令之後,

經過 ADPU 的轉譯,將命令以 Secure processor 進行解密以及解

(36)

27

封包,接著轉換為憑證的處理訊息之後,由 Mifare processor 將訊 息轉換為 Mifare 晶片的讀寫指令,並將資料寫入至 Mifare 晶片 中。

圖 2-8:晶片控制架構圖

2-4 安全通訊架構

有關智慧卡的研究相當多,本章節中將會介紹有關智慧卡安全通 訊的相關研究文獻。

2-4.1 Jiang et al.的智慧卡安全通訊方法

在[7]中,Tianpu Jiang 和 Yongmin Hou 等人提到了在數位電

(37)

28

視廣播(Digital television broadcasting)中,服務提供者透過「條件 式存取系統(Conditional access system)」,以程式干擾(Scrambling Program)的方式來,向使用者索取訂閱費用,並以此控制非法的 頻道接收。在本文獻中,智慧卡被用來對控制字元(control words) 進行解密的動作,並將其傳送至數位電視機上盒(Set-top Box, STB),對被干擾的程式進行干擾的解除(descramble)。當金鑰的交 換已成為安全通訊中必要的一部份時,STB 和智慧卡之間的安全 通訊會直接關係到服務提供者的獲利和合法使用者的權益。

Tianpu Jiang 為 STB 和智慧卡提出一個以 Schnorr 數位簽章協定 (Schnorr’s digital signature protocol)為基礎的金鑰交換協定和單向 的雜湊函數(One-way Hash Function),用來防止可能遭受的智慧卡 複製問題(Cloning Problem)以及 McCormac Hack 問題。

(38)

29

圖 2-9:Jiang et al.智慧卡安全通訊方法[7]

在此架構中,對話金鑰 SK 是由單向雜湊函數的輸出所產生,

其輸入值為連續的 r

eID

c

和 IDs。IDs和單向雜湊函數 h()只 有智慧卡晶片和 STB 兩個實體知道,缺少了這些資訊,盜竊者就 沒有辦法透過訊息的竊聽來計算出對話金鑰。而 STB 只需要儲存 智慧卡的身份,就可以防止想要得到智慧卡密碼的攻擊。秘密金 鑰 xs是被單向雜湊函數所保護的,無法被偽造的智慧卡破解。對 每一次溝通來說,都需要相互認證和金鑰交換,來讓雙方取得動 態對話金鑰,進而提供關鍵的種子訊息(key seed information)(i.e.,

r, e)。對智慧卡的認證來說,Jiang et al.使用 Schnorr 的數位簽章,

這是個以分離對數問題為基礎的安全防護方法。對 STB 的認證來

(39)

30

說,單向雜湊函數以增加反向運算困難度為基礎,並被用來減少 運算成本以增加效能。而面對智慧卡複製問題和 McCorman Hack 問題,當一個盜竊者對其他 STB 使用他所非法複製來的智慧卡時,

由於在他的智慧卡中並沒有 STB 的 ID,且 STB 內的雜湊函數也 和智慧卡中的不符,因此他並沒有辦法通過相互認證層。同樣的,

當一個盜竊者重新指向一張智慧卡的通訊訊息至其他卡片時,因 為沒有交互認證和金鑰交換,STB 也不會有對話金鑰的資訊,因 此 STB 無法對從其他卡片被重新指定過來的訊息做解密的動作。

此外,使用者可以自由的將他的智慧卡密碼由 PW 變更為 PW’,

只需要將智慧卡中的 R 取代並儲存為 R’即可。其中 R’ = R ⊕

h(PW) ⊕ h(PW’),可改善智慧卡的安全性,即使持有智慧卡,

若使用者無法取得密碼,仍然無法接收數位電視節目。

在此 Schnorr 數位簽章演算法中,使用了一個指數模組,並可 在智慧卡的空閒時間中做預先處理,這樣做可以大幅的減少智慧 卡的負載。除此之外,若忽略掉互斥或運算和一連串簡單的運算,

智慧卡在所有分層中只需要三次雜湊函數運算、一次指數模組運 算和一次對稱式加密,這對智慧卡的效能很有幫助。而對 STB 來 說,只需要四個雜湊函數運算、兩個指數模組計算和一個解密,

對 STB 來說負載不大。而對相互認證和金鑰交換的通訊成本來說,

(40)

31

在 Jiang et al.所提出的方法中,智慧卡和 STB 之間只需要 X

YrID

c

Med,讓盜竊者無法得知對話金鑰 SK。上述所有參

數的總長度大約是 800 位元,和以 RSA 為基礎的認證和其他演 算法相比,減少了相當多的計算成本。

由上述可知,以 Schnorr 的數位簽章協定和單向雜湊函數為基 礎,Tianpu Jiang 和 Yongmin Hou 等人為數位電視廣播中,智慧 卡和 STB 之間的安全通訊提出了一個金鑰交換協定,此協定有以 下幾個優點:安全性高、動態金鑰、相互認證、低計算量、和可 通訊且可自由變更的使用者密碼。此外,他們所提出的方法可以 預 防 兩 個 嚴 重 的 數 位 電 視 廣 播 問 題 , 即 智 慧 卡 複 製 問 題 和 MacCormac Hack 問題。但這樣的計算成本,對智慧卡來說負擔 仍然太大,且 Hou et al.指出,此架構對密碼猜測攻擊(Password Guessing Attack)以及內部人員攻擊(Insider Attack)的入侵,其防禦 能力非常弱,且對密碼變更層(Password change phase)中更改密碼 的動作也相當不安全。

2-4.2 Hou et al.的效能改進方法

Hou 和 Jiun-Tze Lai 等人在

[8]中就指出,Jiang et al.所提出的

智慧卡安全通訊方法對密碼猜測攻擊、以及內部人員攻擊來說,

(41)

32

其防禦能力是相當脆弱的,在註冊層中,Ui的密碼 PW 將會被顯 露給 STB 知道。若 Ui為了自身的方便,而重複使用同一組密碼

PW 來對數個伺服器進行存取,則 STB 的內部人員就可以假冒 U

i,來對其他伺服器進行存取。另外,此方法對密碼變更層中更 改密碼的動作也相當不安全。若智慧卡不幸遭竊,未經認證的使 用者可以輕易的在密碼變更層中將智慧卡的密碼改變成新的密 碼。首先未經認證的使用者先將 Ui的智慧卡插入 STB 中,輸入

ID

c和 PWa,PWa是未經認證使用者隨意設定的密碼,接著要求更 改密碼。然後,未經認證使用者任意輸入一組新的密碼 PWa*,接 著智慧卡會計算 Rinew = R⊕h(PW)⊕h(PWa*

),用來取代 h(IDc⊕xs)

⊕h(PW)⊕h(PW)⊕h(PWa*

),接著不需要任何確認動作,就可將 R 取代為 Rinew。因此,在 Jiang et al.所提出的方法中,其密碼變更 層的安全性是非常不足的。而除了上述的弱點之外,Jiang et al.

所提出的方法亦缺少了相當重要的可修復性(reparability)。普遍來 說,大多數智慧卡的基礎結構,通常被都認為能夠防止智慧卡被 他人任意竄改,然而這樣的假設在實作時是有問題的。在 1998 年,Kocher et al.指出,在所有現存的智慧卡中,儲存在內的秘密 金鑰都處在一個非常容易受傷害的情況下,並可透過電力消耗的 監控來取得。在 2002 年,Messerges 等人指出,密文儲存在一張

(42)

33

智慧卡中,有可能透過分析某些被洩漏的資訊,導致密文被破壞。

當入侵者收集到儲存在 Ui的智慧卡中的 R 時,他可以使用密碼猜 測攻擊,來收集到 PW。首先,攻擊者先猜測一個候選密碼 PW’

並進行計算:

X’ = R⊕h(PW’) = h(ID

i

, x)’

若攻擊者正確的猜中了 h(PW’) = h(PW),即代表他已收集到

X’ = X (=h(ID

i, x))。若未猜中,則攻擊者繼續嘗詴其他的候選 密碼。而在收集到 X 之後,攻擊者可以使用猜測到的密碼,冒充

U

i登入 STB。此外,X 只由 Ui的認證 IDc和 STB 的永久秘密金鑰

x 來決定,因此,STB 並無法為 U

i更改 X,除非 IDc或 x 可以被 更改。然而,由於所有使用者都可使用 x,而不是只讓 Ui進行某 些特定的用途,因此只為了恢復 Ui的安全性而去更改 x,那是非 常沒有道理且沒有效率的。除此之外,更改在大多數應用系統中 和獨有的 Ui綁在一起的 IDc,也是非常不明智的。因此,Jiang et al.所提出的方法中,其可修復性是非常不足的。在 Hou et al.所提 出的改善方法中,為了在 STB 從 Ui接受了訊息 N1, IDc, Evi(ruj,

h(ID

c || N1))之後,會確認加密過的訊息中是否包含了已認證過的 標籤 h(IDc || N1),因為認證過的標籤是透過 STB 和 Ui之間所分享 的秘密金鑰 Vi來做加密的,因此 STB 將會信任由 Ui所傳送過來

(43)

34

的第 j 個隨機變數 ruj。在 STB 選擇完隨機變數 rsj之後,STB 可 以計算對話金鑰 Kj

= h(rs

j, ruj, Vi),並且相信 Ui對 STB 所分享的 對話金鑰 Kj。Ui接收到由 STB 所傳送來的訊息 Evi(rsj, N1+1, N2,

h(ID

s || N2))後,他會確認此加密過的訊息是否包含暫時性的 N1+1。

由於訊息是透過 STB 和 Ui之間所分享的秘密金鑰 Vi來做加密的,

因此 Ui將會相信由 STB 所傳送來的第 j 個隨機變數 rsj。接著 Ui

會計算對話金鑰 Kj

= h(rs

j, ruj, Vi),並且會相信 STB 對 Ui所分享 的對話金鑰 Kj。由於暫時性的 N1是由 Ui所選擇的,而 Ui信任

N

1是未曾使用過的。在從 STB 接受已加密訊息 Evi(rsj, N1+1, h(IDs

|| N2))的過程中,因為 STB 信任 Ui所分享的對話金鑰 Kj,因此

U

i也信任 STB 所分享的對話金鑰 Kj。而由於密碼變更作業僅單 獨由 Ui的智慧卡來執行,Ui並不需要告知 STB,因此在本改善 方法中,密碼變更層是相當具有安全性的,因為智慧卡在步驟 P3 的密碼變更層中,會使用儲存在智慧卡中的 Vi來驗證 Vi*,當智 慧卡遭竊時,未經認證的使用者就無法更改智慧卡中的密碼。

Hou et al.針對 Jiang et al.的安全通訊架構提出了一個改進的 方法,可利用註冊層中的隨機號碼預防密碼猜測攻擊,此外在使 用者智慧卡中所儲存的隨機號碼則可預防內部人員攻擊,且在此 方法中,任何合法的使用者都可以安全的選擇並改變他們的密碼。

(44)

35

除此之外,改進過後的方法也擁有更低的計算量和通訊成本。

然而,Hou et al.所提出的效能改進方法,卻對外來入侵者的 重覆攻擊(Replay Attack)、身份偽裝攻擊(Impersonation Attack)、

以及已知明文攻擊(Known Plaintext Attack)的防禦能力不夠強。且 在計算效能上,Hou et al.所提出的方法亦有改善的空間,因此我 們以 Jiang et al.和 Hou et al.方法在安全性及效能的改進為目標,

結合了 NFC 近距離無線通訊協定,提出了我們的架構 — SCNFC (A Secure Communication mechanism using NFC)。

(45)

36

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

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

3-1 主要架構

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

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

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

(46)

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 所示:

(47)

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)。

(48)

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(),一樣透過安全頻道回傳至智

(49)

40

慧卡。

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

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

3-2.2

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

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

(50)

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是否合法。

(51)

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 會拒絕這次

(52)

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 是合法的,並完成此次雙方 的相互認證。

(53)

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)。

(54)

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.的智慧卡安全通訊方法中,對外來入侵者的重覆攻擊、身份偽裝 攻擊、以及已知的明文攻擊,其防禦能力不佳,而提出改進的方法。

(55)

46

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

(56)

47

第四章 安全性分析與效率分析

根據我們所提出的 SCNFC 安全通訊架構,以單向的雜湊函數,

來取代 Schnorr 數位簽章演算法中被大量使用的指數運算模組,目的 在於降低智慧卡的計算量,並提升使用的便利性。在本章節中,我們 會針對架構的安全性和計算成本進行分析,以驗證本架構在增強安全 通訊的安全性之後,亦能大幅減少智慧卡晶片的計算成本,增加系統 的效能。在章節 4-1 中,我們會先針對使用者的身分驗證以及保護進 行條列式的分析,而在後半段則會針對智慧卡的複製問題、McCormac Hack 問題、密碼猜測攻擊、重複攻擊、內部人員攻擊、身分偽造攻 擊、和已知明文攻擊等幾種常見的攻擊方式,來加以分析檢討。

4-1 安全性分析

針對我們所提出的SCNFC架構,針對使用者的身分驗證及保 護,在以下進行優勢的條列式分析:

1. 若使用者的智慧卡被他人取得,除了合法使用者Ui之外的其 他使用者也會因為無法得知卡片中的密碼PW為何,而無法 使用此卡片來做STB進行存取。

2. 密文Wi = h(IDc⊕x)⊕h(PW⊕IDc⊕b)會被儲存在使用者Ui使用的智慧卡內,只有合法的Ui擁有可以計算出密文Vi =

(57)

48

h(ID

c⊕x)的密碼PW,並進而使用智慧卡。而安全單向雜湊函 數h()會保護ATMe中的分散式秘密金鑰x,使其不被非法使用 者竊取。

3. 由於單向雜湊函數其單向的特性,假使部份已經過驗證的訊

息{Cj, IDc, T1,j(1jn), ruj}不幸被盜竊者得知,他們仍然無法推

導出其他需要經過驗證的訊息。若一個偽裝的STB嘗詴要騙 取發出要求的智慧卡,它必頇具備已經過驗證的訊息{C’’, T2,

rs

j},此模組也會無法推導出h(IDc⊕x),並計算出C’’的值。

4. 已使用過的秘密金鑰Vi或x,並無法被用來推導出對話金鑰

K

l(1lj-1),若無法得知所使用的隨機值rsl和rul(1lj-1),則沒有 人可以計算出這些被使用的對話金鑰Kl = h(rsl, rsl(1lj-1), Vi)。

若無法得知rsl、rul、和Vi為何,則要計算出對話金鑰Kl是不 可行的,因此即使他人已得知對話金鑰Kj和隨機值rsj和ruj何,也無法透過Kl = h(rsl, rul, Vi)計算出其他對話金鑰,其中l

≠ j。

5. 但若隨機值rsl、rul、和秘密金鑰Vi,不幸被盜竊者取得,為 了避免讓他計算出所使用的對話金鑰Kl = h(rsl, rul, Vi),我們 可使用Diffiee-Hellman金鑰交換演算法來計算出對話金鑰。

此演算法的安全性,來自於有限域內,離散對數運算的困難

(58)

49

性[1],在此方法中,我們讓rsl =gx、rul=gy,其中x和y是分別 由使用者和ATMe所選擇出來的隨機號碼,且Kl = h(rslx

, Vi)=

h(ru

ly

, Vi)。

6. 在本論文所提出的方法中,若Ui發現或懷疑他的Vi (=h(IDc

x))已被洩漏出去,他可選擇一個新的密碼PW

new和一個新的 隨機號碼bnew,並計算出h(PWnew⊕IDc⊕bnew)。接著Ui可以透 過h(PWnew⊕IDc⊕bnew),並計算出Winew = h(IDc⊕x) ⊕h(PWnew

⊕IDc⊕bnew),以重新對STBS註冊。STBS接著可以透過安全 頻道在Ui的智慧卡中儲存Winew,完成之後Ui就可以使用新密 碼PWnew安全的登入至STB。在此期間,已被洩漏的Vi將會被 自動撤銷,例如由已取得h(IDc⊕x)的攻擊者所發出的登入請 求,將會被拒絕,由此可知本架構亦具有相當程度的可修復 性。

而針對資訊安全中幾種常見的攻擊和所可能會遇到的問題,

會在以下章節中加以分析。

智慧卡的複製問題(Cloning Problem)和 McCormac Hack 問題 智慧卡複製問題,是指使用一張合法的智慧卡晶片,來複製 多張構造相同、但非法的智慧卡晶片,並詴圖使用這些晶片來進

(59)

50

行不被允許的資料存取。在智慧卡的複製問題中,當犯罪者竊取 使用者的智慧卡,並對其中的智慧卡晶片進行複製時,若他在其 他STB中使用他所複製的智慧卡,由於在此卡片中的智慧卡晶片 中並沒有STB的辨識碼IDs,且擴充模組中的雜湊函數和智慧卡中 的不同,因此他並無法通過相互認證和金鑰協議層。

當智慧卡晶片的Data line被導引到其他非法的擴充模組時,我 們稱之為McCormac Hack。在McCormac Hack問題中,同樣的,

當一個犯罪者重新指向所竊取來的智慧卡的通訊訊息至其他擴 充模組時,在模組中並沒有對話金鑰和金鑰交換相關的訊息,少 了相互認證,此模組就無法對被其他智慧卡重新指向的訊息解 密。

內 部 人 員 攻 擊 (Insider Attack) 和 密 碼 猜 測 攻 擊 (Password

Guessing Attack)

在電腦系統所常面臨到最傳統、也是最主要的威脅,就是內 部人員的攻擊[4]。內部人員可以合法的對系統進行存取、植入對 系統完整性和保密性來說都具有嚴重威脅的木馬病毒、瀏覽檔案 系統和系統中的機密訊息、或是影響系統的處理或儲存容量,造 成系統的負擔過載,進而導致系統的崩潰,這些動作通常都是無

(60)

51

法被偵測或察覺的,因此要防止這種類型的攻擊非常的困難。

密碼猜測攻擊一般來說可分為兩種:

1. 即時密碼猜測攻擊法(On-line Password Guessing Attack):

在即時密碼猜測攻擊法中,攻擊者可以不間斷的輸入所要猜測 的密碼,並連接到遠端伺服器並進行認證,直到成功的取得認 證為止。此種攻擊方式可透過遠端伺服器,以限制認證失敗次 數的方式,來避免此類攻擊。例如若認證兩次失敗,該使用者 就不被允許繼續進行登入。

2. 離線密碼猜測攻擊法(Off-line Password Guessing Attack):

在離線密碼猜測攻擊法中,攻擊者會利用之前所取得的資訊,

來對所猜測的密碼進行驗證,確認其正確性,取得資訊的方式 可分為下列幾種:

(1) 攻擊者一開始會持續觀察,並將使用者與遠端伺服器先前 認證過程的通訊內容加以記錄,再利用此內容,蒐集其中 的有用資訊。之後攻擊者會利用這些資訊,來驗證所猜測 密碼的正確性,以確認此次攻擊是否成功。

(2) 若不幸被攻擊者竊取到儲存在遠端伺服器中的認證表,即 使認證表內的認證資訊,為經過單向雜湊函數運算後的密 碼雜湊值,其安全強度仍然不足,因為攻擊者可反覆地對

參考文獻

相關文件

Wi-Fi 定位即利用無線網路來傳遞信號,根據各種網路參數和算法可以找出使用

無線感測網路是個人區域網路中的一種應用,其中最常採用 Zigbee 無線通訊協 定做為主要架構。而 Zigbee 以 IEEE802.15.4 標準規範做為運用基礎,在下一小節將 會針對 IEEE

對於每一個重數為 的特徵值,求一組有k個線性.

在數位系統中,若有一個以上通道的數位信號需要輸往單一的接收端,數位系統通常會使用到一種可提供選擇資料的裝置,透過選擇線上的編碼可以決定輸入端

 HA’s and FA’s broadcast their presence on each network to which they are attached Beacon messages via ICMP Router Discovery Protocol (IRDP).  MN’s listen for advertisement

隨身碟是一種攜帶方便的電腦儲存裝置。若浩南有一個容量為 8GB

亮亮水果行欲將 348 顆芒果分裝成禮盒,若每個禮盒最多裝 12 顆芒果且每盒芒果數一樣多,則 至少需要多少個禮盒?. 一個面積為

• 「在香港定居的非華語學生與其他本地學 生,同樣是香港社會的下一代。……為促