1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thẻ thông minh

110 830 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 110
Dung lượng 4,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo thẻ thông minh

Trang 1

MỤC LỤC

MỤC LỤC 1

LỜI CẢM ƠN 4

CÁC TỪ VIẾT TẮT 5

Chương 1 TỔNG QUAN VỀ THẺ THÔNG MINH 7

1.1 KHÁI NIỆM THẺ THÔNG MINH 7

1.2 CÁC LOẠI THẺ CƠ BẢN 7

1.2.1 Thẻ nhớ và thẻ chip 7

1.2.2 Thẻ tiếp xúc và thẻ không tiếp xúc 8

1.3 PHẦN CỨNG CỦA THẺ THÔNG MINH 9

1.3.1 Các điểm tiếp xúc 9

1.3.2 Bộ xử lý trung tâm trong thẻ thông minh 11

1.3.3 Bộ đồng xử lý trong thẻ thông minh 11

1.3.4 Hệ thống bộ nhớ của thẻ thông minh 12

1.4 TRUYỀN THÔNG VỚI THẺ THÔNG MINH 13

1.4.1 Thiết bị chấp nhận thẻ và các ứng dụng máy chủ 13

1.4.2 Mô hình truyền thông với thẻ thông minh 13

1.4.3 Giao thức APDU 14

1.4.4 Mã hoá bit (bit encoding) 17

1.4.5 Giao thức TPDU 17

1.4.6 Thông điệp trả lời để xác lập lại (ATR ) 18

Chương 2 HỆ ĐIỀU HÀNH THẺ THÔNG MINH 19

2.1 CÁC FILE HỆ THỐNG TRONG THẺ THÔNG MINH 19

2.1.1 Thư mục gốc (Master File - MF) 19

2.1.2 Thư mục chuyên dụng (Dedicated File - DF) 20

Trang 2

2.2.2 Các phương thức lựa chọn file 22

2.2.3 Điều kiện truy cập file 23

2.3 CÁC CHỨC NĂNG CỦA SIM 24

2.4 CẤU TRÚC FILE THẺ SIM 27

2.5 GIAO DIỆN SIM - THIẾT BỊ DI ĐỘNG (ME) 28

2.6 CÁC THỦ TỤC LIÊN QUAN ĐẾN BỘ ỨNG DỤNG SIM 30

( SIM APPLICATION TOOLKIT ) 30

Chương 3.XÁC THỰC VÀ BẢO MẬT VỚI THẺ THÔNG MINH 32

3.1 CÁC THUẬT TOÁN MÃ HOÁ 32

3.1.1 Mã hoá khoá đối xứng 33

3.1.2 Mã hoá khoá công khai 39

3.2 GIAO THỨC XÁC THỰC VÀ BẢO MẬT VỚI THẺ THÔNG MINH 42

3.2.1 Giao thức xác thực với thẻ thông minh 42

3.2.2 Bảo toàn dữ liệu với thẻ thông minh 45

3.2.3 Bảo toàn và bảo mật dữ liệu với thẻ thông minh 47

3.2.4 Thiết lập khoá phiên với thẻ thông minh 49

(Global System for Mobile Communications) 50

3.3.1 Cơ chế an ninh trong mạng GSM 50

3.3.2 Các kỹ thuật bảo đảm an ninh 52

3.4 THUẬT TOÁN BẢO ĐẢM AN NINH TRONG MẠNG GSM 55

3.4.1 Mục đích bảo đảm an ninh trong mạng GSM 55

3.4.2 Đặc điểm an ninh trong mạng GSM 55

3.4.3 Các thuật toán xác thực và bảo mật 61

Chương 4.CHƯƠNG TRÌNH GHI DỮ LIỆU VÀO THẺ THÔNG MINH TRÊN MÁY MPR3000 72

4.1 QUY TRÌNH LÀM THẺ 72

4.2 HỆ THỐNG MPR3000 GHI DỮ LIỆU VÀO THẺ THÔNG MINH 74

4.2.1 Giới thiệu hệ thống MPR3000 74

4.2.2 Các đặc tính ưu việt của MPR3000 77

Trang 3

4.2.3 Đặc điểm chương trình ghi dữ liệu vào thẻ thông minh PersoAppMPR3K

79

4.3 CHƯƠNG TRÌNH GHI DỮ LIỆU VÀO THẺ THÔNG MINH 80

4.3.1 Bộ công cụ phát triển 80

4.3.2 Chức năng PersoAppMPR3K 88

4.3.3 Các kết quả ban đầu của PersoAppMPR3K 90

4.3.4 Khai thác và định hướng phát triển PersoAppMPR3K 91

KẾT LUẬN 93

PHỤ LỤC 94

TÀI LIỆU THAM KHẢO 109

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, tôi xin được gửi lời cảm ơn chân thành nhất tới thầy giáo PGS TS Trịnh Nhật Tiến - người luôn chỉ bảo, hướng dẫn tôi hết sức nghiêm khắc và tận tình, cung cấp những tài liệu quý báu, giúp đỡ tôi trong suốt quá trình học tập và xây dựng luận văn

Tôi cũng xin được gửi lời cảm ơn các thầy cô giáo Khoa Công nghệ thông tin - trường Đại học Công nghệ, Ban lãnh đạo cùng các đồng nghiệp tại công ty thẻ thông minh MK, các bạn học viên lớp Cao học CNTT.

Xin được cảm ơn gia đình đã luôn đứng bên tôi trong những lúc khó khăn nhất, đã tạo điều kiện, giúp đỡ tôi về vật chất cũng như luôn cổ vũ tôi trong suốt quá trình học tập và làm luận văn này

Trang 5

CÁC TỪ VIẾT TẮT

ATR: Answer To Reset: Trả lời để khẳng định lại

APDU: Application Protocol Data Units: Đơn vị dữ liệu giao thức ứng dụng

AES: Advanced Encryption Standard: chuẩn mã hoá tiên tiến

ATM: Automatic Teller Machine: máy rút tiền tự động

AuC: Authentication Centre: trung tâm xác thực

BTS: Base Station: trạm thu phát

CPU: Central Processing Unit: bộ xử lý trung tâm

C-APDU: Command - Application Protocol Data Units: APDU lệnh

CBC: Cipher Block Chaining

CEPT: Conference of European Post and Telecommunications Administrations:

Hội nghị Quản trị Bưu chính – Viễn thông Châu Âu

CLA: Class: “lớp” chỉ thị

DF: Dedicated File: thư mục chuyên dụng

DES: Data Encryption Standard: chuẩn mã hoá dữ liệu

EEPROM: Electrically Erasable Programmable Read Only Memory:

Bộ nhớ có thể ghi bằng tín hiệu điện

ECB: Electronic Code Book

EF: Elementary File: file cơ bản

GSM: Global System for Mobile Communications

GPRS: General Packet Radio Service: dịch vụ truyền phát mã hoá gói tin

GEA: Generic Evolutionary Algorithm:

HLR: Home Location Register: đăng ký vùng chủ

HPLMN: Home Public Land Mobile Networks: mạng di động công khai

INS: Instruction: “mã” chỉ thị

ISO: International Standards Organization: Hiệp hội tiêu chuẩn quốc tế

ICV: Initial Chaining Value: giá trị chuỗi khởi tạo

IMSI: International Mobile Subscriber Identity:

định danh thuê bao di động quốc tế

LFSRs: Linear Feedback Shift Registers:

Trang 6

MSC: Mobile Switching Centres: trung tâm chuyển mạch di động

POS: Point Of Sale: điểm bán hàng

R-APDU: Response - Application Protocol Data Units: APDU phản hồi

RISC: Reduced instruction set computer: tập lệnh đơn giản

ROM: Read Only Memory: bộ nhớ chỉ cho phép đọc

RAM: Random Access Memory: bộ nhớ truy cập ngẫu nhiên

RE: Receiver Entity: thực thể nhận

RA: Receiver Application: ứng dụng nhận

SIM: Subscriber Identity Module: Thẻ thông minh mang định danh thuê bao SAT: Sim Application Toolkit: bộ ứng dụng SIM

SA: Send Application: ứng dụng gửi

SE: Send Entity: thực thể gửi

SM: Secure Message: thông điệp bảo mật

SP: Secure Packet: gói tin bảo mật

SMS: Short Message Service: dịch vụ tin nhắn ngắn

TPDU: Transportation Protocol Data Units: Đơn vị dữ liệu giao thức truyền thôngTM: Transport Mechanism: kiến trúc giao vận

TMSI: Temporary Mobile Subscriber Identity:

định danh thuê bao di động tạm thời

USSD: Unstructured Supplementary Service Data:

dữ liệu dịch vụ bổ sung không cấu trúc

VLR: Visitor Location Register: đăng ký vùng viếng thăm

Trang 7

Chương 1 TỔNG QUAN VỀ THẺ THÔNG MINH

1.1 KHÁI NIỆM THẺ THÔNG MINH

Thẻ thông minh (smart card) thường được gọi là thẻ chip hoặc thẻ mạch tíchhợp Mạch tích hợp trong thẻ gồm các thành phần được sử dụng cho truyền, lưutrữ và xử lý dữ liệu Thẻ thông minh có thể có một vùng dập nổi trên một mặt vàdải từ trên mặt kia

Thể hiện vật lý và đặc tính của thẻ thông minh được định nghĩa trong chuẩnISO 7816 phần 1 Đó là tài liệu cho ngành công nghiệp thẻ thông minh

Thông thường thẻ thông minh không chứa thiết bị cung cấp nguồn, hiển thị haybàn phím Để tương tác với thế giới bên ngoài, thẻ thông minh được đặt trong haygần thiết bị chấp nhận thẻ, được nối với máy tính

1.2 CÁC LOẠI THẺ CƠ BẢN

Thẻ thông minh được chia thành một số loại Ví dụ thẻ nhớ (memory card ) vàthẻ vi xử lý (microprocessor card) Có thể phân loại thành thẻ tiếp xúc hoặc khôngtiếp xúc dựa theo cách truy nhập thẻ

1.2.1 Thẻ nhớ và thẻ chip

Thẻ thông minh sớm nhất được sản xuất theo số lượng lớn là thẻ nhớ Thẻ nhớchưa thực sự là thẻ thông minh vì chúng không có vi xử lý Chúng được nhúngtrong chip nhớ hoặc chip kết hợp với bộ nhớ nhưng không lập trình được

Do thẻ nhớ không có CPU, nên việc xử lý dữ liệu được thực hiện bởi một sốmạch đơn giản, có khả năng thực hiện một vài lệnh được lập trình trước Cũng do

số chức năng của một mạch là giới hạn, được cố định trước nên không thể lậptrình để thay đổi các chức năng đó Tuy nhiên thẻ nhớ có thể dễ dàng làm giả

Ưu điểm của thẻ nhớ là đòi hỏi công nghệ đơn giản do đó giá thành thấp

Trang 8

Thẻ vi xử lý, có khả năng bảo mật cao và khả năng tính toán Với thẻ vi xử lý,

dữ liệu không được phép truy xuất tuỳ ý vào bộ nhớ Bộ vi xử lý kiểm soát dữ liệu

và việc truy nhập bộ nhớ thông qua các điều kiện (mật khẩu, mã hóa …) và cáclệnh từ ứng dụng bên ngoài Nhiều loại thẻ vi xử lý hiện nay được thiết kế hỗ trợviệc mã hóa Các thẻ đó đặc biệt hữu ích cho các ứng dụng cần bảo mật dữ liệu.Các chức năng của thẻ chủ yếu bị giới hạn bởi dung lượng bộ nhớ và sức mạnhtính toán CPU trong thẻ

Thẻ vi xử lý được dùng rộng rãi trong kiểm soát truy nhập, ứng dụng ngânhàng, thẻ viễn thông, thẻ khách hàng thường xuyên…

Nhìn chung thuật ngữ “thẻ thông minh” bao gồm cả thẻ nhớ và thẻ vi xử lý.Tuy nhiên theo cách phổ biến hiện nay và trong luận văn này khi sử dụng thuậtngữ “thẻ thông minh” ta hiểu là thẻ vi xử lý

1.2.2 Thẻ tiếp xúc và thẻ không tiếp xúc

Thẻ tiếp xúc phải được đưa vào một thiết bị chấp nhận thẻ, chúng liên lạc vớithế giới bên ngoài qua giao diện tiếp xúc gồm có 8 điểm như hình vẽ trong phần

mô tả phần cứng thẻ thông minh

Thẻ không tiếp xúc không cần phải đặt trong thiết bị chấp nhận thẻ Chúng liênlạc qua ăng ten trong thẻ Năng lượng có thể cung cấp bởi nguồn bên trong hoặcqua ăng ten Thẻ không tiếp xúc truyền dữ liệu tới thiết bị chấp nhận thẻ thông quatrường điện từ

Trang 9

1.3 PHẦN CỨNG CỦA THẺ THÔNG MINH

Thẻ thông minh có các điểm tiếp xúc trên bề mặt của nhựa nền, bộ xử lý trungtâm bên trong và nhiều dạng bộ nhớ Một số loại thẻ thông minh có bộ đồng xử lý

để cho việc tính toán thuận lợi

 Bộ xử lý thẻ thông minh không thực hiện việc tạo tín hiệu đồng hồ bêntrong Điểm CLK cung cấp tín hiệu đồng hồ bên ngoài, từ đó tạo ra tín hiệuđồng hồ bên trong

 Điểm GND dùng như mức hiệu điện thế chuẩn, giá trị xem như bằng 0

 Điểm Vpp là tùy chọn và chỉ dùng trong các thẻ cũ Khi được sử dụng, nócung cấp hai mức hiệu điện thế lập trình Mức thấp được gọi là trạng tháingủ (idle state), mức cao là trạng thái kích hoạt ( active state) Thay đổi

Trang 10

 Điểm I/O được dùng để chuyển dữ liệu và lệnh giữa thẻ thông minh và thếgiới bên ngoài theo chế độ bán song công (half – duplex mod) Có nghĩa làtín hiệu và lệnh chỉ được truyền theo một hướng duy nhất ở một thời điểm.

 Các điểm RFU để dành cho tương lai

Trang 11

1.3.2 Bộ xử lý trung tâm trong thẻ thông minh

Bộ xử lý trung tâm trong hầu hết các chip thẻ thông minh hiện nay là 8- bit,thường sử dụng tập lệnh của Motorola 6805 và Intel 8051, với tín hiệu đồng hồ tới5MHz Các thẻ công nghệ cao (high-end) thường gồm bộ nhân tín hiệu (nhân 2, 4hoặc 8), nó cho phép những thẻ đó thao tác tới 40 MHz (5Mhz nhân 8)

Các thẻ thông minh mới nhất có bộ vi xử lý 16 hoặc 32 bit, và có tập lệnh đơngiản (RISC) Trong tương lai chúng sẽ trở nên phổ biến

1.3.3 Bộ đồng xử lý trong thẻ thông minh

Các chip thẻ thông minh cho các ứng dụng bảo mật, thường có bộ đồng xử lý

Bộ đồng xử lý có mạch tích hợp đặc biệt để tăng khả năng tính toán, đặc biệt cácthuật toán modular và tính toán với số nguyên lớn Những tính toán này được yêucầu bởi thuật toán mã hóa chẳng hạn như RSA

Trang 12

1.3.4 Hệ thống bộ nhớ của thẻ thông minh

Thẻ thông minh thường gồm ba loại bộ nhớ ROM, EEPROM, RAM

 ROM (bộ nhớ chỉ đọc) được dùng để lưu trữ các chương trình cố định củathẻ Nó có thể lưu trữ dữ liệu khi nguồn đã tắt và không thể ghi sau khi thẻ đượcsản xuất ROM của thẻ thông minh có thể chứa hệ điều hành cũng như dữ liệu vàchương trình cố định Quá trình ghi mã nhị phân vào ROM được gọi là làm mặt nạ(masking), được thực hiện trong quá trình sản xuất chip

 EEPROM (bộ nhớ chỉ đọc có thể lập trình bằng tín hiệu điện)

 RAM (bộ nhớ truy nhập ngẫu nhiên): dùng để lưu trữ những thông tin cần

xử lý nhanh nhưng mang tính tạm thời, không được lưu lại khi nguồn đã tắt

Trang 13

1.4 TRUYỀN THÔNG VỚI THẺ THÔNG MINH

1.4.1 Thiết bị chấp nhận thẻ và các ứng dụng máy chủ

Thẻ thông minh được đưa vào thiết bị chấp nhận thẻ, được kết nối tới một máytính khác Thiết bị chấp nhận thẻ được chia làm hai loại: đầu đọc thẻ và thiết bịđầu cuối (terminal)

Đầu đọc được kết nối tới cổng nối tiếp, cổng song song hoặc cổng USB củamáy tính, qua đó thẻ thông minh được truyền thông Đầu đọc có khe cắm chứa thẻthông minh, hoặc có thể nhận dữ liệu thông qua trường điện từ đối với thẻ khôngtiếp xúc Thông thường thẻ đọc không đủ thông minh để xử lý dữ liệu, có thể cócác hàm dò và sửa lỗi nếu việc truyền dữ liệu không tương thích với giao thứctruyền thông mức dưới

Thiết bị đầu cuối, có máy tính của riêng nó Một thiết bị đầu cuối tích hợp đầuđọc thẻ như là một thành phần của nó Ta có thể thấy các thiết bị đầu cuối như cácđiểm bán hàng (point of sales – POS) hoặc máy rút tiền tự động (Automatic TellerMachines – ATMs) Bên cạnh chức năng của đầu đọc thẻ, thiết bị đầu cuối có khảnăng xử lý dữ liệu truyền giữa nó và thẻ thông minh

1.4.2 Mô hình truyền thông với thẻ thông minh

Việc truyền thông giữa thẻ và máy chủ là bán song công, có nghĩa là dữ liệuchỉ có thể truyền từ thẻ đến máy chủ hoặc từ máy chủ đến thẻ chứ không thể theo

cả hai hướng một lúc

Thẻ thông minh tương tác với máy tính bằng cách sử dụng các gói tin của riêng

nó - được gọi là APDUs (Application Protocol Data Units - đơn vị dữ liệu giaothức ứng dụng) Một APDU chứa một lệnh hoặc một thông điệp trả lời

Thẻ thông minh đóng vai trò thụ động trong mô hình chủ - tớ với máy chủ Nóđợi lệnh APDU từ máy chủ Sau đó thực hiện chỉ thị trong lệnh và trả lời máy chủvới APDU phản hồi Các lệnh APDU và APDU phản hồi được truyền đan xengiữa máy chủ và thẻ

Trang 14

1.4.3 Giao thức APDU

Được chỉ ra trong chuẩn ISO 7816-4, APDU là một giao thức ở mức ứng dụnggiữa thẻ thông minh và ứng dụng của máy chủ Các thông điệp APDU gồm hailoại cấu trúc: một được sử dụng bởi ứng dụng máy chủ từ phía thiết bị chấp nhậnthẻ để gửi lệnh đến thẻ và một được sử dụng bởi thẻ để gửi thông điệp trả lời choứng dụng máy chủ Tương ứng với chúng là hai lớp APDU lệnh (CommandAPDU C-APDU) và APDU phản hồi (Response APDU R-APDU)

Một lệnh APDU luôn có lệnh R-APDU tạo thành cặp tương ứng

Cấu trúc APDU lệnh:

CLA INS P1 P2 P3 Data with length P3

Cấu trúc APDU phản hồi:

Header của APDU lệnh gồm 4 bytes: CLA (“lớp” chỉ thị), INS (“mã” chỉ thị),

và P1, P2 (tham số 1 và 2) Byte “lớp” xác định loại APDU lệnh và APDU phảnhồi Byte “mã” xác định chỉ thị của lệnh Hai tham số P1 và P2 xác định thêmthông tin cho chỉ thị Tham số P3 xác định độ dài trường dữ liệu (theo byte) Phần sau header trong APDU lệnh là phần tuỳ chọn chi tiết có độ dài đa dạng.Trường Lc trong phần chi tiết chỉ rõ độ dài của trường dữ liệu (theo byte) Trường

dữ liệu chứa dữ liệu được truyền tới thẻ để thực hiện lệnh được chỉ rõ trong headercủa APDU Byte cuối cùng trong phần chi tiết APDU lệnh là trường Le, nó chỉ ra

số byte mà máy chủ chờ thẻ phản hồi

APDU phản hồi, được gửi bởi thẻ để trả lời cho APDU lệnh, bao gồm một chitiết tuỳ chọn và phần bắt buộc kèm theo Phần chi tiết bao gồm trường dữ liệu có

độ dài được xác định bởi trường Le trong APDU lệnh tương ứng Phần bắt buộcbao gồm hai trường SW1 và SW2, đi cùng với nhau được gọi là từ trạng thái, biểuthị trạng thái xử lý của thẻ sau khi thực hiện APDU lệnh Ví dụ: từ trạng thái

“0x9000” có nghĩa là một lệnh đã được thực hiện thành công và trọn vẹn

Trang 15

Trường dữ liệu là tuỳ chọn đối với cả APDU lệnh và APDU phản hồi Do đó,

APDU còn được phân loại thêm theo 5 loại sau, dựa trên đặc điểm có chứa trường

dữ liệu trong APDU lệnh và APDU phản hồi hay không

Trường hợp 1: Không đầu vào/Không đầu ra

Trường hợp 2: Không đầu vào / Đầu ra có độ dài biết trước

CLA INS P1 P2 P3 DATA with length lgth SW1 SW2

NOTE: lgth='00' tương ứng dữ liệu truyền 256 bytes.

Trường hợp 3: Không đầu vào / Đầu ra có độ dài chưa biết trước

Trường hợp 4: Có đầu vào / Không đầu ra

CLA INS P1 P2 P3 DATA with length lgth SW1 SW2

Trường hợp 5: Có đầu vào / Đầu ra có độ dài biết trước hoặc không

CLA INS P1 P2 P3 DATA with length lgth SW1 SW2

GET RESPONSE

CLA INS P1 P2 P3 DATA with length lgth2  lgth1 SW1 SW2

Trang 16

 Trường hợp 1: không có dữ liệu được truyền tới hoặc nhận từ thẻ, APDU lệnhchỉ chứa header, APDU phản hồi chỉ chứa từ trạng thái.

 Trường hợp 2: không có dữ liệu được truyền tới thẻ, nhưng có dữ liệu phảnhồi từ thẻ Chi tiết APDU lệnh chỉ chứa 1 byte - trường Le, nó chỉ rõ số byte

dữ liệu cần có trong APDU phản hồi

 Trường hợp 3: không có dữ liệu được truyền tới thẻ, nhưng có dữ liệu phảnhồi từ thẻ Tuy nhiên độ dài của dữ liệu phản hồi không được chỉ rõ

 Trường hợp 4: dữ liệu được truyền tới thẻ, nhưng không có dữ liệu được trả về

do kết quả của quá trình xử lý lệnh Chi tiết của APDU lệnh bao gồm trường

Lc và trường dữ liệu Trường Lc chỉ ra độ dài của trường dữ liệu APDU phảnhồi chỉ chứa từ trạng thái

 Trường hợp 5: dữ liệu được truyền tới thẻ và dữ liệu được trả về từ thẻ là kếtquả của quá trình xử lý lệnh Chi tiết APDU lệnh bao gồm trường Lc, trường

dữ liệu và trường Le APDU phản hồi gồm cả dữ liệu và từ trạng thái

Trang 17

1.4.4 Mã hoá bit (bit encoding)

Mã hoá bit trực tiếp hay đảo bit đều được dùng trong thẻ thông minh

Giao thức T = 0 là giao thức hướng byte, có nghĩa là đơn vị nhỏ nhất được xử

lý và truyền đi bởi giao thức là một byte Giao thức T = 1 là hướng khối, tức làmột khối gồm một số byte liên tiếp, là đơn vị dữ liệu nhỏ nhất có thể truyền giữathẻ và máy chủ

Cấu trúc TPDU được dùng trong giao thức T = 0 và T = 1 là khá khác nhau.T= 0 là giao thức truyền ký tự bán song công không đồng bộ Hầu hết các thẻthông minh sử dụng giao thức T =0 Tất cả các thẻ cho mạng di động GSM đềudùng giao thức này

T = 1 là giao thức truyền khối dữ liệu bán song công không đồng bộ Thẻ cóthể hỗ trợ cả hai giao thức này, khi đó thiết bị đầu cuối sẽ lựa chọn giao thức nàođược sử dụng

Trang 18

Ta xem xét đặc điểm của hai giao thức này.

T = 0

 Giao thức truyền ký tự bán song công không đồng bộ

 Thẻ có thể phát và nhận dữ liệu

 Một lệnh không thể gửi dữ liệu tới thẻ rồi nhận dữ liệu phản hồi đồng thời

 Giao thức không chỉ ra hướng của dữ liệu

 Thiết bị đầu cuối phải biết hướng dữ liệu

Dữ liệu tới thẻ, ví dụ lệnh ghi

Dữ liệu từ thẻ, ví dụ lệnh đọc

T = 1

 Giao thức truyền khối bán song công không đồng bộ

 Dữ liệu có thể được truyền theo cả hai hướng

o Lệnh và dữ liệu trong trường thông tin

o Lệnh và dữ liệu trong khung độc lập

 Không có byte kiểm tra chẵn lẻ

1.4.6 Thông điệp trả lời để xác lập lại (ATR )

Ngay sau khi bật nguồn, thẻ thông minh gửi thông điệp trả lời để xác lập lại(answer to reset –ATR) tới máy chủ Thông điệp này truyền tới máy chủ các thông

số yêu cầu bởi thẻ để thiết lập kênh kết nối truyền dữ liệu ATR có thể có từ 2 đến

33 byte Byte đầu tiên định nghĩa kiểu mã bit (trực tiếp hay đảo ngược) ATR cònchứa các tham số truyền tín hiệu như giao thức truyền thông được thẻ hỗ trợ (T=0hoặc T =1), tốc độ truyền dữ liệu, các tham số phần cứng của thẻ như số thứ tựchip, phiên bản làm mặt nạ cho chip, nhà sản xuất …

Trang 19

Chương 2 HỆ ĐIỀU HÀNH THẺ THÔNG MINH

Hệ điều hành thẻ thông minh gần giống như hệ điều hành máy để bàn(desktop) như DOS, UNIX hay Window Ngoài ra, hệ điều hành thẻ thông minh

hỗ trợ một tập hợp các lệnh, dựa vào đó để xây dựng các ứng dụng của ngườidùng ISO 7816 – 4 đã được chuẩn hóa có thể hỗ trợ tập hợp lớn các chỉ thị trongđịnh dạng của APDU Một hệ điều hành thẻ thông minh có thể hỗ trợ một số haytất cả các lệnh APDU khi nhà sản xuất thêm vào và mở rộng

Các lệnh APDU phần lớn hướng file hệ thống, như các lệnh lựa chọn file vàtruy cập file Trong trường hợp này, một ứng dụng của người dùng thường là mộtfile dữ liệu lưu thông tin cụ thể của ứng dụng Ngữ nghĩa và chỉ thị để truy cập file

dữ liệu ứng dụng được thực hiện bởi hệ điều hành Chính vì vậy, việc phân chiagiữa hệ điều hành và ứng dụng không được định nghĩa rõ ràng Các hệ điều hànhmới nhất hỗ trợ tốt hơn sự phân chia lớp hệ thống và nạp về mã ứng dụng củangười dùng

2.1 CÁC FILE HỆ THỐNG TRONG THẺ THÔNG MINH

Thẻ thông minh lưu trữ thông tin bằng các file dữ liệu Các file dữ liệu nàyđược tổ chức dưới dạng cây phân cấp theo chuẩn ISO 7816 – 4 Người ta chia làm

ba loại: thư mục gốc (master file -MF), thư mục chuyên dụng (dedicated file -DF)

và các file cơ bản (elementary file – EF) Các file này dùng để quản trị hoặc choứng dụng

Dữ liệu được lưu trong các file được quản lý bởi hệ điều hành Các file gồm cóheader, được quản lý bởi thẻ thông minh và phần tuỳ chọn là chi tiết Header chứacác thông tin liên quan đến cấu trúc và thuộc tính của file, còn phần chi tiết chứa

dữ liệu của file

2.1.1 Thư mục gốc (Master File - MF)

Thư mục gốc (MF) của hệ thống file và là duy nhất cho mỗi thẻ MF được kíchhoạt khi thẻ được đưa vào thiết bị đọc thẻ (ví dụ điện thoại di động) MF không

Trang 20

2.1.2 Thư mục chuyên dụng (Dedicated File - DF)

DF là thư mục của thẻ thông minh, nó lưu các thư mục chuyên dụng khác vàcác file cơ bản DF lưu trữ dữ liệu ứng dụng Về bản chất vật lý, nó là một khối bộnhớ tĩnh và có một khối header Tất cả các DF được phân chia về vật lý và logicvới DF khác, để tránh sự ảnh hưởng lẫn nhau giữa các ứng dụng khác nhau Một

số DF có thể chia sẻ tài nguyên chung qua MF

Các DF ở mức đầu tiên tồn tại trong thẻ SIM như sau:

• DFGSM, chứa các ứng dụng cho GSM và DCS 1800

• DFIS41, chứa ứng dụng cho IS41

• DFTELECOM, chứa các dịch vụ dành cho viễn thông

• DFFP-CTS, chứa các ứng dụng cho phần cố định CTS

Tất cả các thư mục này là mức con ngay dưới của MF

2.1.3 File cơ bản (Elementary File - EF)

Những file này chứa dữ liệu thực sự Chúng bao gồm một chi tiết và mộtheader Có 4 loại EF: file trong suốt (transparent), cố định tuyến tính (linear fixed),biến đổi tuyến tính (linear variable) và cố định nối vòng (cyclic fixed)

Trang 21

 EF trong suốt (Transparent EF)

Đó là EF có cấu trúc gồm các byte liên tiếp Byte đầu tiên có địa chỉ ‘00’ Khifile được đọc hoặc cập nhật, byte được kích hoạt sẽ được tham chiếu qua địa chỉoffset, nó biểu thị vị trí bắt đầu của byte và độ dài được đọc hoặc cập nhật tính từ

vị trí đó Header của file trong suốt biểu thị độ dài chi tiết của file

 EF cố định tuyến tính (Linear fixed EF)

Kiểu EF này gồm các bản ghi liên tiếp có cùng độ dài (cố định) Mỗi bản ghiđược định danh duy nhất bởi số thứ tự bản ghi Độ dài của bản ghi và số bản ghitrong file đó được định nghĩa trong header của file

Liên kết với cấu trúc trong suốt, ta có thể có một số cách để truy nhập các bảnghi của file này Có thể truy cập qua số thứ tự bản ghi, bằng cách sử dụng chế độTRƯỚC – SAU, hoặc bằng cách sử dụng dạng tìm kiếm từ đầu file File này cũng

có giới hạn theo chuẩn ISO 7816 – 4, số bản ghi tối đa trong file tuyến tính cốđịnh là 254, và mỗi bản ghi có độ dài không vượt quá 255 bytes

 EF nối vòng (Cyclic EF)

Có cấu trúc tương tự file cố định tuyến tính Nó gồm có số cố định các bản ghivới độ dài các bản ghi là cố định Điểm khác nhau với file tuyến tính cố định là cóliên kết giữa bản ghi đầu tiên và cuối cùng Theo cách này, khi con trỏ bản ghi ởbản ghi cuối cùng, bản ghi tiếp theo là bản ghi đầu tiên, khi con trỏ ở bản ghi đầutiên, bản ghi trước nó là bản ghi cuối cùng

EF nối vòng được sử dụng phổ biến cho việc lưu trữ thông tin theo mốc thờigian Theo cách này, khi tất cả các bản ghi đã được sử dụng, dữ liệu tiếp theo sẽghi đè bản lên ghi cũ nhất đã được dùng, sử dụng phương thức TRƯỚC Với thaotác đọc, phương thức tìm địa chỉ bản ghi là TRƯỚC, SAU, HIỆN TẠI VÀ

SỐ HIỆU BẢN GHI

Trang 22

2.2 TRUY CẬP FILE

2.2.1 Định danh file

Định danh được dùng để đánh địa chỉ mỗi thư mục/file trong thẻ SIM Địnhdanh bao gồm hai byte và được thể hiện dưới dạng mã hexa Byte đầu tiên củađịnh danh xác định kiểu thư mục/file Định danh file cho GSM như sau:

 Thư mục gốc : 3F

 Mức đầu tiên của thư mục chuyên dụng : 7F

 Mức thứ hai của thư mục chuyên dụng : 5F

 File cơ bản dưới mức MF : 2F

 File cơ bản dưới mức DF đầu tiên : 6F

 File cơ bản dưới mức DF thứ hai : 4F

2.2.2 Các phương thức lựa chọn file

Các thiết bị di động được kích hoạt, thư mục gốc sẽ được chọn và trở thành thưmục hiện tại Mỗi thư mục/file của SIM có thể được lựa chọn bởi lệnh SELECT

Có một số luật cần tuân theo để việc lựa chọn thư mục/file thành công Từthư mục/file hiện tại, các thư mục/file sau có thể được lựa chọn:

 Thư mục gốc (MF)

 Thư mục chuyên dụng hiện tại

 Thư mục chuyên dụng mức cha của thư mục hiện tại

 Bất kỳ thư mục chuyên dụng nào là mức con liền kề của thư mục chuyêndụng cha của thư mục hiện tại

 Bất kỳ thư mục chuyên dụng nào là con của thư mục hiện tại

Tất cả việc lựa chọn thư mục/file được thực hiện bởi dùng định danh của thưmục/file được lựa chọn

Trang 23

2.2.3 Điều kiện truy cập file

Để lựa chọn một file của thẻ SIM, cần có một số điều kiện truy cập phải tuântheo Điều kiện truy cập chỉ áp dụng cho file cơ bản, thư mục gốc và thư mụcchuyên dụng không có điều kiện truy cập

Các điều kiện truy cập được định nghĩa cho các file của SIM như sau:

Chức năng này chỉ được thực hiện khi giá trị CHV1 được nhập đúng, hoặc

CHV1 bị vô hiệu (disable), hay lệnh UNBLOCK CHV1 đã được thực hiệnthành công ở bước trước

Trang 24

2.3 CÁC CHỨC NĂNG CỦA SIM

Chuẩn GSM 11.11 quy định một số lệnh bắt buộc để quản lý file hệ thống củathẻ SIM trong mạng GSM Trong chuẩn mô tả cụ thể điều kiện trạng thái liênquan, mã lỗi và mã trả lời đối với từng lệnh

Lệnh này dùng để lựa chọn một file Sau khi thực hiện thành công, con trỏ bảnghi trong file cố định tuyến tính sẽ không được xác định Con trỏ trong file nốivòng sẽ là địa chỉ của bản ghi cuối cùng được lệnh cập nhật hoặc lệnh tăng xử lý.Đầu vào: Định danh file

Đầu ra:

 Nếu file được lựa chọn là MF hay DF, đầu ra sẽ là định danh file, tổng dunglượng bộ nhớ còn trống, chỉ thị CHV kích hoạt/vô hiệu, trạng thái CHV và dữliệu GSM đặc trưng khác

 Nếu file được lựa chọn là EF, đầu ra là định danh file, kích thước file, điềukiện truy cập, chỉ thị mất hiệu lực/còn hiệu lực, cấu trúc của EF và độ dài củabản ghi trong trường hợp là file nối vòng hoặc file tuyến tính độ dài cố định

Lệnh này cho phép SIM cung cấp thông tin liên quan đến thư mục hiện tại.Lệnh không làm ảnh hưởng tới thư mục hiện tại Đầu ra là định danh file, tổngdung lượng bộ nhớ còn trống, chỉ thị CHV kích hoạt/vô hiệu, trạng thái CHV vàcác thông tin GSM liên quan khác Lệnh STATUS không yêu cầu đầu vào Lệnhnày được sử dụng phổ biến trong kích hoạt SIM, để chỉ ra rằng thẻ muốn gửi mộtlệnh ứng dụng SIM tới máy điện thoại

 Lệnh đọc nhị phân (READ BINARY):

Lệnh này chỉ dùng được với file thành phần trong suốt, với điều kiện đọc củafile liên quan được thoả mãn Thoả mãn điều kiện này, lệnh đọc ra một chuỗi cácbyte từ file Lệnh yêu cầu địa chỉ tương đối, độ dài của chuỗi là đầu vào, đầu ra làmột chuỗi các byte

Trang 25

 Lệnh đọc bản ghi (READ RECORD):

Dùng cho file thành phần có cấu trúc nối vòng hoặc tuyến tính với độ dài cốđịnh Điều kiện để lệnh được thực hiện là file đó cho phép truy cập đọc

Có 4 chế độ để đọc một bản ghi Chế độ hiện tại (CURRENT), nơi bản ghihiện tại được đọc, không gây ảnh hưởng gì tới con trỏ bản ghi tương ứng Chế độtuyệt đối (ABSOLUTE), bản ghi được đọc theo số hiệu bản ghi, con trỏ bản ghikhông bị thay đổi Chế độ kế tiếp (NEXT), trước khi đọc bản ghi con trỏ bản ghi

đã tăng 1 Chế độ liền trước (PREVIOUS), con trỏ bản ghi giảm 1 trước khi đọcbản ghi

Lệnh đọc bản ghi chỉ rõ một trong bốn chế độ kể trên cùng với độ dài bản ghi

là đầu vào Trường hợp là chế độ tuyệt đối, cần thêm số hiệu bản ghi Kết quả trả

về là bản ghi đó

 Lệnh cập nhật nhị phân (UPDATE BINARY):

Tương tự lệnh đọc nhị phân, lệnh này chỉ được xây dựng cho file thành phầntrong suốt Nó chỉ được thực hiện nếu điều kiện cập nhật được thoả mãn Khi fileđược cập nhật nhị phân, chuỗi các byte được thay thế bởi giá trị mới ở trong lệnh.Đầu vào là địa chỉ tương đối và độ dài của xâu được cập nhật cùng với chuỗi byte

sẽ được cập nhật Lệnh này không có đầu ra

 Lệnh cập nhật bản ghi (UPDATE RECORD):

Lệnh này dùng để thay thế bản ghi hiện tại bởi một bản ghi mới Nó chỉ ápdụng cho file thành phần là tuyến tính nối vòng hoặc tuyến tính độ dài cố định,cùng với điều kiện truy cập cập nhật bản ghi được đáp ứng Bốn chế độ của lệnhnày hoàn toàn tương tự lệnh đọc bản ghi Đầu vào là chế độ và độ dài bản ghi,không có đầu ra

 Lệnh tăng (INCREASE):

Lệnh này chỉ áp dụng với file nối vòng Nó cộng giá trị đưa ra từ thiết bị diđộng với giá trị của bản ghi được cập nhật hoặc được tăng cuối cùng, và lưu kếtquả trong bản ghi cũ nhất Con trỏ bản ghi trỏ tới bản ghi này và bản ghi này được

Trang 26

 Lệnh khôi phục (REHABILITATE):

Lệnh này tương ứng với các file thành phần bị mất hiệu lực Sau khi thực hiệnlệnh này, cờ của file thay đổi, và file sẵn sàng cho các ứng dụng tương ứng Chứcnăng này chỉ áp dụng thành công khi điều kiện truy cập khôi phục được đáp ứng.Giống như lệnh mất hiệu lực, lệnh khôi phục không có đầu vào và đầu ra

Ngoài những lệnh kể trên, các lệnh còn lại được dùng trong thẻ SIM GSM làRUN GSM ALGORITHM, CHANGE CHV, DISABLE CHV, ENABLE CHV,SLEEP, TERMINATE PROFILE, ENVELOPE, FETCH và TERMINALRESPONSE

Trang 27

2.4 CẤU TRÚC FILE THẺ SIM

Cấu trúc thẻ SIM tuân theo chuẩn ISO 7816 Ở đỉnh của cấu trúc này là thưmục gốc (MF) Thư mục này chứa bốn thư mục chuyên dụng ở mức đầu tiên vàhai file cơ bản ở mức đầu Đó là các file DFGSM, DFTELECOM, DFIS-41, DFFP-CTS,

EFICCID, và EFELP.

 EFICCID

File này được dùng để định danh SIM, nó chứa một số định danh duy nhất.Điều kiện truy cập của file này để đọc là luôn cho phép nhưng không cho phép cậpnhật, việc mất hiệu lực hoặc khôi phục phụ thuộc vào quyền quản trị Nó đặt ởmức file vì định danh SIM là thủ tục được yêu cầu trước bất kỳ ứng dụng nào

 EFELP

ELF viết tắt cho tham chiếu ngôn ngữ mở rộng File này chứa mã cho các ngônngữ ELP luôn cho phép đọc, cập nhật yêu cầu CHV1 và mất hiệu lực hay khôiphục phụ thuộc vào quyền quản trị Nó được dùng cho mục đích tương tác vớimáy và nằm ở mức file đầu tiên

 DFGSM

File này chứa 7 file chuyên dụng và 32 file thành phần Các file thành phầntrong mức ứng dụng này chứa thông tin liên quan mạng GSM File chuyên dụngquan trọng nhất là DFSoLSA, nó chứa hai file thành phần có thông tin liên quan cácdịch vụ nội vùng thuê bao của người sử dụng

 DFTELECOM

File này chứa một file chuyên dụng và 15 file thành phần DFTELECOM chứa cácthông tin liên quan đến dịch vụ

Trang 28

2.5 GIAO DIỆN SIM - THIẾT BỊ DI ĐỘNG (ME)

Trong quá trình hoạt động, thẻ SIM tương tác với thiết bị di động sử dụng giaothức T = 0 như đã được định nghĩa trong chuẩn 7816-3 Giao thức làm việc theo

mô hình Chủ - Tớ trong đó thiết bị di động luôn đóng vai trò là Chủ còn SIM đóngvai trò Tớ Theo giao thức này không có kết nối rõ ràng giữa mạng/thiết bị di động

và SIM Lệnh luôn luôn được tạo bởi thiết bị di động hoặc thiết bị di động đónggói lại các lệnh nhận từ mạng và chuyển tiếp tới SIM

Liên kết giữa mạng/thiết bị di động và SIM được thực hiện bởi các thông điệpgiữa hai nhóm thực thể này Các thông điệp có thể là lệnh hoặc phản hồi Một lệnhđược gửi bởi một thực thể cùng với một lệnh trả lời tương ứng được gọi là cặp liênkết (communication pair)

Mỗi cặp liên kết có thể xem như một giao dịch đơn Mỗi giao dịch được khởitạo bởi thiết bị di động và kết thúc bởi SIM và giữa chúng chỉ có một giao dịchđược phép thực hiện ở một thời điểm

Một hoặc nhiều cặp kết nối được sử dụng để thực hiện một phần hoặc tất cảnhiệm vụ hướng ứng dụng, được định nghĩa là một thủ tục (procedure)

Một chuỗi các thủ tục, bắt đầu với thủ tục khởi tạo SIM và kết thúc với thủ tụcchấm dứt, được định nghĩa là một phiên

Một thủ tục được xem như toàn vẹn, khi mà nhiệm vụ tương ứng được hoànthành, và thủ tục kết thúc Điều này được thực hiện bởi thiết bị di động để đảmbảo rằng bất kỳ sự gián đoạn nào cũng sẽ dẫn đến việc huỷ bỏ cả thủ tục Có thủtục yêu cầu tương tác người – máy, thủ tục được khởi tạo bởi thiết bị di động, hoặcđược sinh bởi mạng GSM

Nói chung thủ tục được phân theo lớp như sau: quản lý SIM, liên quan mãCHV, bảo mật trong mạng GSM, liên quan đến thuê bao và liên quan đến ứngdụng SIM Ta xem xét chi tiết một số thủ tục ở phần sau

 Thủ tục đọc:

Thủ tục này được khởi tạo bởi thiết bị di động, bằng cách gửi lệnh đọc tới SIM,

nó tham chiếu tới file đã được lựa chọn Lệnh đọc chứa vùng dữ liệu được đọc.Nếu điều kiện đọc thoả mãn, SIM gửi phản hồi chứa dữ liệu được yêu cầu Trongtrường hợp điều kiện không hoàn thành, phản hồi từ SIM là một lỗi không có dữliệu đi kèm

Trang 29

 Thủ tục cập nhật:

Thủ tục này cũng được khởi tạo từ thiết bị di động, nó gửi lệnh cập nhật tớiSIM Lệnh này chứa vùng dữ liệu được cập nhật, cộng với dữ liệu mới được cậpnhật Nếu điều kiện cập nhật thành công, SIM thay thế dữ liệu cũ của file thànhphần với dữ liệu mới, trường hợp thất bại, không có thay đổi nào tới file thànhphần và một mã lỗi được trả về tới thiết bị di động

 Thủ tục tăng:

Khi thiết bị di động khởi tạo thủ tục, nó gửi lệnh tăng tới SIM Lệnh chứa giátrị được cộng vào bản ghi tương ứng Nếu điều kiện thoả mãn, SIM tăng giá trị lưutrong file thành phần, ngược lại file thành phần không đổi và SIM gửi mã lỗi trởlại tới thiết bị di động Các thủ tục trên áp dụng cho tất cả các phiên Tiếp theo haithủ tục liên quan đến việc quản lý SIM là: khởi tạo SIM và kết thúc phiên GSM

 Thủ tục khởi tạo SIM:

Được khởi tạo bởi thiết bị di động sau khi SIM được kích hoạt Sau khi file

DFGSM được lựa chọn và tuỳ chọn EFECC nếu như nó tồn tại Nếu lựa chọn thất bại,thiết bị di động sẽ chọn ngôn ngữ mặc định rồi chạy thủ tục kiểm tra CHV1 Nếuthành công, bước tiếp theo của thiết bị di động là chạy thủ tục yêu cầu SIMPHASE Thủ tục tiếp theo là khả năng FDN Nếu thủ tục này thực hiện thànhcông, hoạt động trong mạng GSM sẽ bắt đầu Bất kỳ trường hợp nào khác đều sẽthất bại

 Kết thúc phiên GSM:

Thủ tục này cũng được khởi tạo bởi thiết bị di động Thiết bị di động sẽ thựchiện tuần tự các lệnh sau: cập nhật thông tin vùng ( Location Information Update),cập nhật khoá mã hoá (Cipher Key Update), cập nhật thông tin BCCH (BCCHInformation Update), tính phí phát sinh (Advise of Charge Increase), không chophép cập nhật PLMN (Forbidden PLMN update).Theo cách này thiết bị di độnggửi các thông tin liên quan thuê bao đến SIM Nếu SIM nhận tất cả các thông tintrên, nó sẽ gửi tín hiệu báo nhận tới thiết bị di động và kết nối giữa hai thực thểđược giải phóng

Trang 30

2.6 CÁC THỦ TỤC LIÊN QUAN ĐẾN BỘ ỨNG DỤNG SIM

( SIM APPLICATION TOOLKIT )

Bộ ứng dụng SIM là tập các lệnh và thủ tục ở mức cao, nội dung và cấu trúc

mã lệnh được định nghĩa trong chuẩn GSM 11.14 Bộ ứng dụng SIM cung cấp kỹthuật mới, cho phép các ứng dụng đã tồn tại trong SIM tương tác và hoạt động vớibất kỳ thiết bị di động nào hỗ trợ hoạt động của bộ ứng dụng

 Profile Download:

Đây là kỹ thuật cho phép thiết bị di động để thông báo đến SIM về khả năngcủa nó Thiết bị di động sẽ nhận biết khả năng của SIM qua bảng dịch vụ SIM ( SIM service table) và EFPHASE.

ME Tiếp theo ME gửi lệnh yêu cầu thông tin này và SIM trả lời bằng cách gửithông tin mà ME yêu cầu Để tránh lỗi do vấn đề tương thích, những chức năngnày chỉ nên được dùng giữa proactivce SIM và ME hỗ trợ proactive SIM

 Nạp dữ liệu cho SIM (Data Download to SIM):

Kỹ thuật này cho phép ME gửi dữ liệu tới SIM

 Lựa chọn Menu(Menu Selection):

Một proactive SIM hỗ trợ một số menu Kiến trúc này được dùng để chuyểnchỉ mục menu người dùng đã chọn từ SIM tới ME

 Tải sự kiện (Event Download):

Có một tập các sự kiện trong ME, liên quan đến hoạt động của nó Với kỹ thuậtnày, SIM có thể giám sát hoạt động của ME, từ khi ME gửi thông tin liên quanđến sự kiện vừa xuất hiện

 Bộ đếm thời gian kết thúc (timer expiration):

Trang 31

SIM có khả năng quản lý bộ đếm thời gian chạy trong ME Kỹ thuật này đượcdùng để thông báo cho SIM nếu bộ đếm thời gian hết hạn Phần còn lại của kỹthuật được cung cấp bởi bộ ứng dụng SIM là kiểm soát cuộc gọi (Call Control),kiểm tra tin nhắn ngắn (Short Message Control), bảo mật và kết hợp nhiều thẻ.

Trang 32

Chương 3.

XÁC THỰC VÀ BẢO MẬT VỚI THẺ THÔNG MINH

Trong chương này ta xem xét các giao thức được dùng phổ biến nhất cho việcxác thực và truyền dữ liệu an toàn liên quan đến thẻ thông minh và đưa ra một số

ví dụ về cách sử dụng những giao thức này

Có hai lớp thuật toán mã hoá: thuật toán mã hoá đối xứng và không đối xứng.Thuật toán mã hoá đối xứng sử dụng cùng một khoá cho việc mã hoá và giải mã

dữ liệu Nó còn được gọi là thuật toán mã hoá khoá đối xứng

Thuật toán mã hoá bất đối xứng dùng hai khóa - một để mã hoá và một để giải

mã Nó còn được gọi là thuật toán mã hoá khoá công khai

Các thuật toán mã hoá đối xứng thực hiện nhanh Nhưng trên thực tế cùng mộtkhoá dùng cho mã hoá và giải mã thường gặp khó khăn về giữ bí mật Bên gửi vànhận phải có cùng khoá Chỉ có bên nhận biết khoá của bên gửi để đảm bảo tínhriêng tư của việc truyền tin Bên nhận phải biết khoá của tất cả các bên gửi tiềmnăng để có thể giải mã các thông điệp đến Khi số thực thể trong mạng lớn thì giảipháp này là khó khả thi Giải pháp cho vấn đề này là kết hợp thuật toán đối xứng

và không đối xứng

Trang 33

3.1.1 Mã hoá khoá đối xứng

3.1.1.1 Thuật toán mã hoá DES

Thuật toán chuẩn mã hoá dữ liệu (Data Encryption Standard – DES) là thuậttoán mã hoá khối, nó chia dữ liệu được mã hoá thành các khối và thao tác với mộtkhối ở một thời điểm DES dùng khối kích thước 64 bit và khoá có kích thước 56bit Thực tế, khoá DES được giới thiệu 64 bit, nhưng bit thấp nhất của mỗi byteđược dùng để kiểm tra mã chẵn lẻ và không dùng trong thuật toán

Nền tảng xây dựng khối của DES là sự thay thế kế tiếp của hoán vị trong mộtvòng lặp DES có 16 vòng lặp, như vậy có 16 thay thế và hoán vị được áp dụngcho khối 64 bit Bởi vì tính chất lặp lại của nó, DES có thể dễ dàng thực hiện bởiphần cứng

Kích thước khoá 56 bit được dùng trong thuật toán DES là khá nhỏ Với cácmáy tính hiện đại ngày nay, thuật toán DES trở nên tầm thường về mặt bảo mật

Ở hội nghị RSA năm 1999, DES đối mặt với thông báo rằng khoá 56 bit bị phádưới 24 giờ dù rằng hơn 50% không gian khoá phải dùng đến nhiều máy tính cùng

xử lý để tìm ra

a Thuật toán triple DES

Triple DES dựa trên DES, nhưng dùng khoá 112 bit Khoá được chia làm haiphần: K1 và K2 Dữ liệu đầu tiên được mã hoá bởi K1, rồi giải mã bởi K2 rồi lại

mã hoá bởi K1 Đó là chế độ encrypt – decrypt - encrypt (EDE) Để giải mã, bản

mã được giải mã bởi K1, mã hoá bởi K2 và giải mã lại bởi K1

Triple DES có độ bảo mật cao Tấn công vét cạn chống lại là không khả thi,bởi vì không gian khoá được tìm kiếm tăng theo tỷ lệ số mũ với kích thước củakhoá Ví dụ để tìm khoá 112 bit bằng cách vét cạn tốn hơn 2 mũ 56 so với tìmkhoá 56 bit

Trang 34

b Phương thức mã hoá DES-ECB

Có một số phương thức mã hoá DES khác nhau, thường được sử dụng với thẻthông minh Phương thức đơn giản nhất là ECB (Electronic Code Book) Thao tác

mã hoá được áp dụng cho từng khối bản rõ 64 bit

Thao tác giải mã cho từng khối 64 bit tách biệt

B¶n râ 1

B¶n m· 1

M· ho¸ DES Kho¸

Trang 35

c Phương thức mã hoá DES-CBC

Trang 36

Hình 3-3 : Chế độ giải mã DES – CBC.

Trang 37

d Ứng dụng DES: Tạo mã xác thực thông điệp

DES không chỉ dùng để mã hoá dữ liệu mà còn có thể dùng để tính toán mãxác thực thông điệp (Message Authentication Codes – MAC) MAC dùng để đảmbảo tính toàn vẹn dữ liệu và để xác thực Ta xem xét việc tính toán MAC theoANSI X9.9

B¶n râ 1

B¶n m· 1

M· ho¸ DES Kho¸

Hình 3-4 : Sơ đồ tính MAC trong chế độ mã hoá DES - CBC.

Chúng ta có thế nhận thấy kết quả bằng với khối bản mã cuối cùng nhận được từ

mã hoá CBC Điều đó có nghĩa là khi thực hiện mã hoá DES dạng CBC, MAC cóthể nhận được bằng cách mã hoá các dữ liệu liên quan và ta lấy kết quả là khối 64bit cuối cùng của bản mã

Trang 38

3.1.1.2 Thuật toán mã hóa AES

Tiêu chuẩn mã hoá tiên tiến ( Advanced Encryption Standard – AES ) là sự kếthừa của hệ mã hoá DES Rất nhiều thuật toán đã được đưa ra như là chuẩn mới

và qua quá trình lựa chọn rộng rãi Trong năm thuật toán lọt vào vòng cuối cùng,NIST chọn thuật toán Rijndael được thiết kế bởi Joan Daemen và Vincent Rijmen.Rijndael là thuật toán mã hoá khối với độ dài khối thay đổi và khoá có độ dài

128, 192 hoặc 256 bit để mã hoá khối với độ dài 128, 192 hoặc 256 bit Tất cảchín sự kết hợp độ dài khoá với độ dài khối có thể được thực hiện trong Rijndael

và nó có thể mở rộng cả độ dài khoá và độ dài khối tới bội số của 32 bit

Lựa chọn những tuỳ chọn trên, AES cho phép kích thước khối 128 bit và độdài khoá 128, 192 hoặc 256 bit, các tuỳ chọn khác không được chấp nhận trongchuẩn Thuật toán AES có thể thực hiện một cách hiệu quả bởi phần mềm cũngnhư phần cứng

Trang 39

3.1.2 Mã hoá khoá công khai

Ý tưởng cơ bản dẫn đến mã hoá khoá công khai là cặp khoá, một cho mã hoá

và một cho giải mã, đồng thời khó thể tính được một khoá nếu biết khoá kia Kháiniệm này được phát minh đồng thời bởi Whitfield Diffie và Martin Hellman vàđộc lập bởi Ralph Merkle

Rất nhiều thuật toán đã được đưa ra nhưng hầu hết không an toàn hoặc khôngkhả thi Các thuật toán mã hoá khoá công khai rất chậm so với thuật toán mã hoákhoá bí mật Thuật toán RSA chậm hơn 1000 lần so với DES khi thực hiện bởiphần cứng và 100 lần khi thực hiện bằng phần mềm

Tuy vậy thuật toán mã hoá khoá công khai có ưu điểm rất lớn khi được dùng

để đảm bảo tính riêng tư của kết nối Thuật toán khoá công khai dùng các khoákhác nhau cho việc mã hoá và giải mã Khoá bí mật chỉ được người sở hữu biết vàgiữ bí mật Nó có thể dùng để tạo chữ ký điện tử và giải mã thông tin đã được mãhoá bởi khoá công khai Khoá công khai dùng để kiểm tra chữ ký điện tử hoặc để

mã hoá thông tin Không cần phải giữ bí mật khoá công khai, vì khó có thể tínhđược khoá bí mật nếu biết khoá công khai

Trang 40

3.1.2.1 Hệ mã hoá RSA

Sơ đồ

Cho n = p*q, trong đó p, q là hai số nguyên tố lớn và  (n) = (p-1)(q-1)

Đặt P = C = Zn Chọn b nguyên tố với  (n)

Tập khoá: K = {(n, a, b): a*b 1 mod  (n)}

Với mỗi k = (n , a, b), mỗi x  P, y  C, định nghĩa:

Hàm mã hoá : ek (x) = xb mod n

Hàm giải mã : dk(y)= ya mod n

Các giá trị n, b là công khai Còn p, q, a là bí mật

Kiểm tra quy tắc giải mã

Do ab 1mod  (n),  (n) = (p -1)(q - 1) =  (p)  (q) nên

ab = 1 + t  (n), với t là số nguyên khác 0 Chú ý rằng 0 x < n

Giả sử (n, x) = 1 ta có

yamod n  (xb)a mod nx 1 + t(n) mod n x {x (n) mod n} mod n

 x 1 mod n (vì (x, n) = 1, nên x (n) mod n =1) = x (d x < n)

Nếu (x, n) = d > 1 thì d = p hoặc d =q hoặc d = n

Nếu d = n thì x = 0 và đương nhiên y = 0 Do đó ya mod n = 0 = x

Giả sử d = p khi đó do 0 x < n nên x = p

Ta có: ya mod n  xab mod n  pab mod n

Ký hiệu: u = pab mod n

Thế thì: u + kn = pa, 0  u < n, hay u + kpq = pab

Ngày đăng: 06/03/2016, 16:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
5. Mobile Application Development with SMS and the SIM Toolkit – Scott B.Guther &amp; Mary J.Cronin – McGraw- Hill Telecom – 2002 Sách, tạp chí
Tiêu đề: Mobile Application Development with SMS and the SIM Toolkit
6. Mobile messaging technologies and services SMS, EMS and MMS- Gwenael Le Bodic ( Alcatel France) –John Wiley &amp; Sons, LTD – 2003 Sách, tạp chí
Tiêu đề: Mobile messaging technologies and services SMS, EMS and MMS
7. RFID Hand Book, Fundementals and Applications in Contactless Smart Cards and Identification ( Second Edition)– Klaus Finkenzeller, Giesecke&amp; Devrient GmbH, Munich, Germany – 2003 Sách, tạp chí
Tiêu đề: RFID Hand Book, Fundementals and Applications in Contactless Smart Cards and Identification
8. Smart Card Application Development Using Java ( Second Edition) – Martin S.Nicklous &amp; Thomas Schack &amp; Achim Schneider &amp; Frank Seliger – Springer – 2002 Sách, tạp chí
Tiêu đề: Smart Card Application Development Using Java
9. Smart Cards : The development toolkit – Timothy M.Jurgensen &amp; Scott B.Guthery – Prentice Hall – 2002 Sách, tạp chí
Tiêu đề: Smart Cards : The development toolkit
10. Smart Card Security and Applications ( Second Edition) – Mike Hendry – Artech House – Boston London – 2001 Sách, tạp chí
Tiêu đề: Smart Card Security and Applications
19. Security in the GSM system, By Jeremy Quirke | Last updated 1 st May 2004, © 2004 AusMobile. http://www.ausmobile.com Sách, tạp chí
Tiêu đề: Security in the GSM system
20. Mobile Terminal Security. Olivier Benoit, Nora Dabbous, Laurent Gauteron, Pierre Girard, Helena Handschuh, David Naccache,St´ephane Soci´e , Claire Whelan Sách, tạp chí
Tiêu đề: Mobile Terminal Security
21. Instant Ciphertext-Only Cryptanalysis of GSM Encrypted Communication Elad Barkan Eli Biham Nathan Keller, Computer Science Department Technion – Israel Institute of Technology, Haifa 32000, Israel Sách, tạp chí
Tiêu đề: Instant Ciphertext-Only Cryptanalysis of GSM Encrypted Communication
22. GSM Application Notes, © SmarTEC. http://www.smartecos.com/ Sách, tạp chí
Tiêu đề: GSM Application Notes
23. Encryption and Ciphers using 7816 for Smart Cards, byEur Ing Chris Hills BSc(Hons), C. Eng., MIEE, FRGS September 2001 24. A5 - The GSM Encryption Algorithm,Newsgroups: sci.crypt, alt.security, uk.telecom Subject: A5 (Was: HACKING DIGITAL PHONES) Sách, tạp chí
Tiêu đề: Encryption and Ciphers using 7816 for Smart Cards", by Eur Ing Chris Hills BSc(Hons), C. Eng., MIEE, FRGS September 200124. "A5 - The GSM Encryption Algorithm
25. Cryptanalysis of Mobile Phone Cryptology, Joshua Neel, University of Maryland at College Park Mentored by: Lawrence C. Washington Sách, tạp chí
Tiêu đề: Cryptanalysis of Mobile Phone Cryptology

HÌNH ẢNH LIÊN QUAN

Hình 3-2 : Chế độ mã hoá DES – CBC. - Báo cáo thẻ thông minh
Hình 3 2 : Chế độ mã hoá DES – CBC (Trang 35)
Hình 3-3 : Chế độ giải  mã DES – CBC. - Báo cáo thẻ thông minh
Hình 3 3 : Chế độ giải mã DES – CBC (Trang 36)
Hình 3-4 : Sơ  đồ tính  MAC trong chế  độ  mã  hoá  DES - CBC. - Báo cáo thẻ thông minh
Hình 3 4 : Sơ đồ tính MAC trong chế độ mã hoá DES - CBC (Trang 37)
Hình dưới là hoạt động bảo đảm an ninh trong mạng GSM. - Báo cáo thẻ thông minh
Hình d ưới là hoạt động bảo đảm an ninh trong mạng GSM (Trang 50)
Hình 3-13 : Thủ tục xác thực - Báo cáo thẻ thông minh
Hình 3 13 : Thủ tục xác thực (Trang 57)
Hình  3-18 : Mạng xác thực thiết bị di động - Báo cáo thẻ thông minh
nh 3-18 : Mạng xác thực thiết bị di động (Trang 62)
Hình 3-19 : Cấu trúc thuật toán A5/1. - Báo cáo thẻ thông minh
Hình 3 19 : Cấu trúc thuật toán A5/1 (Trang 67)
Hình 3-20 : Cấu trúc thu ật toán  A5/2 - Báo cáo thẻ thông minh
Hình 3 20 : Cấu trúc thu ật toán A5/2 (Trang 68)
Hình 4-1: Hệ thống MPR3000 - Báo cáo thẻ thông minh
Hình 4 1: Hệ thống MPR3000 (Trang 74)
Hình 4- 2: Trống quay tự động có gắn 12 đầu PWF - Báo cáo thẻ thông minh
Hình 4 2: Trống quay tự động có gắn 12 đầu PWF (Trang 75)
Hình 4-6: Sơ đồ hoạt động tổng quát của SPMWIN - Báo cáo thẻ thông minh
Hình 4 6: Sơ đồ hoạt động tổng quát của SPMWIN (Trang 82)
Hình 4-7: Sơ đồ quản lý luồng dữ liệu đầu vào - Báo cáo thẻ thông minh
Hình 4 7: Sơ đồ quản lý luồng dữ liệu đầu vào (Trang 83)
Hình 4-8: Các module chương trình cho từng trạm của MPR3000 - Báo cáo thẻ thông minh
Hình 4 8: Các module chương trình cho từng trạm của MPR3000 (Trang 84)
Hình 4-9 : Luồng dữ liệu cho máy laser - Báo cáo thẻ thông minh
Hình 4 9 : Luồng dữ liệu cho máy laser (Trang 85)
Hình 4-16: Condor - giải pháp máy cá thể hoá thẻ chip để bàn - Báo cáo thẻ thông minh
Hình 4 16: Condor - giải pháp máy cá thể hoá thẻ chip để bàn (Trang 92)

TỪ KHÓA LIÊN QUAN

w