1. Trang chủ
  2. » Thể loại khác

Chữ ký số trong thẻ thông minh và ứng dụng xác thực : Luận văn ThS. Công nghệ thông tin: 1 01 10

168 34 0

Đ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 168
Dung lượng 2,08 MB

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

Nội dung

Chữ ký số Digital Signature Là kết quả của phép chuyển đổi một thông điệp bằng một hệ thống các phép mã hoá có sử dụng các khoá mà một đối tượng nhận được thông tin có thể xác định đượ

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

======

LƯƠNG VIỆT NGUYÊN

CHỮ KÝ SỐ TRONG THẺ THÔNG MINH

VÀ ỨNG DỤNG XÁC THỰC

LUẬN VĂN THẠC SỸ

HÀ NỘI – 2008

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

======

LƯƠNG VIỆT NGUYÊN

CHỮ KÝ SỐ TRONG THẺ THÔNG MINH

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan toàn bộ nội dung bản luận văn này là do tôi tự sưu tầm, tra cứu và phát triển đáp ứng nội dung yêu cầu của đề tài

Nội dung bản luận văn chưa từng được công bố hay xuất bản dưới bất kỳ hình thức nào và cũng không được sao chép từ bất kỳ một công trình nghiên cứu nào

Toàn bộ ứng dụng thử nghiệm đều do tôi tự thiết kế và xây dựng Nếu sai tôi xin hoàn toàn chịu trách nhiệm

Hà nội, tháng 11 năm 2008

Người cam đoan

Lương Việt Nguyên

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 xin chân thành cảm ơn các Thầy, Cô giáo và các bạn đồng nghiệp trong khoa Công nghệ thông tin và Ban giám hiệu, các cán bộ trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã luôn nhiệt tình giúp đỡ và tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tập Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học K11T3 - Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã luôn động viên, giúp đỡ và nhiệt tình chia sẻ với tôi những kinh nghiệm học tập, công tác trong suốt khóa học

Mặc dù đã có nhiều cố gắng, song do sự hạn hẹp về thời gian, điều kiện nghiên cứu và trình độ, luận văn không tránh khỏi những khiếm khuyết Tôi chân thành mong nhận được sự đóng góp ý kiến của các thầy,

cô giáo và đồng nghiệp gần xa

Hà nội, tháng 11 năm 2008

Người thực hiện luận văn

Lương Việt Nguyên

Trang 5

MỤC LỤC

Chng 1: TỔNG QUAN VỀ THẺ THÔNG MINH 1

1.1 GIỚI THIỆU THẺ THÔNG MINH 1

1.1.1 Ưu nhược điểm và tính khả thi thẻ thông minh 3

1.1.1.1 Ưu điểm: 3

1.1.1.2 Nh ược điểm: 4

1.1.1.3 Tính khả thi: 4

1.1.2 Phân loại thẻ 5

1.1.3 Các chuẩn cho Smart Card 8

1.2 CẤU TẠO THẺ THÔNG MINH 10

1.2.1 Cấu trúc vật lý 10

1.2.1.1 Các điểm tiếp xúc 10

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

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

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

1.2.2 Giao tiếp truyền thông với thẻ thông minh 12

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

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

1.2.2.3 Giao th ức APDU 13

1.2.2.4 Mã hoá bit (bit encoding) 15

1.2.2.5 Giao th ức TPDU 15

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

1.2.3 Hệ điều hành thẻ thông minh 17

1.2.4 Các File hệ thống trong thẻ thông minh 17

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

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

1.2.4.3 File c ơ bản (Elementary File - EF) 18

1.2.5 Truy cập File 19

1.2.5.1 Định danh file 19

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

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

1.2.5.4 L ệnh thao tác với thẻ 21

1.2.6 Quá trình sản xuất một Smart Card 24

Trang 6

1.3 ỨNG DỤNG THẺ THÔNG MINH 25

1.3.1 Phát triển ứng dụng cho Smart Card 25

1.3.1.1 Quy trình phát tri ển ứng dụng cho Smart Card 25

1.3.1.2 Các công c ụ phát triển ứng dụng cho Smart Card 26

1.3.1.3 Công c ụ cho ứng dụng phía thẻ 26

1.3.2 Ứng dụng phía thiết bị đọc thẻ (reader) 27

1.3.2.1 Các giao di ện ứng dụng chuẩn phía reader 27

1.3.2.2 Chu ẩn PC/SC 28

1.3.2.3 Ki ến trúc PC/SC 28

1.3.2.4 ICC Resource Manager 30

1.3.2.5 ICCSP 32

1.3.2.6 Các chu ẩn khác 33

1.3.3 Ứng dụng phía thẻ 34

1.3.3.1 Các khía c ạnh trong phát triển ứng dụng 34

1.3.3.2 T ập các hàm API 35

1.3.4 Một số ứng dụng trong thẻ thông minh 37

1.3.4.1 Th ẻ thông minh trong hệ thống thu lệ phí (cầu, đường) điện tử 37

1.3.4.2 Th ẻ thông minh trong chữ ký số (Digital Signature) 38

1.3.4.3 Th ẻ thông minh trong hệ thống trả tiền điện tử 40

1.4 TÓM TẮT CHƯƠNG 42

Chng 2: TỔNG QUAN VỀ HẠ TẦNG MẬT MÃ KHÓA CÔNG KHAI (PKI) 43

2.1 KHÁI NIỆM VỀ PKI 43

2.2 CƠ SỞ KHOA HỌC VỀ PKI 44

2.2.1 Các thành phần kỹ thuật cơ bản của PKI 44

2.2.1.1 Mã hóa 44

2.2.1.2 Ký s ố 48

2.2.1.3 Ch ứng chỉ số 59

2.2.2 Lợi ích của chứng chỉ số 61

2.2.2.1 Đảm bảo tính xác thực 61

2.2.2.2 Mã hóa 62

2.2.2.3 Ch ống giả mạo 62

2.2.2.4 Ch ống chối cãi nguồn gốc 62

2.2.2.5 Đảm bảo phần mềm 62

2.2.2.6 Phân ph ối khóa an toàn 63

Trang 7

2.2.3 Công nghệ để xây dựng PKI và giao thức 65

2.2.3.1 Công ngh ệ OpenCA 65

2.2.3.2 Công ngh ệ SSL 66

2.2.3.3 Giao th ức truyền tin an toàn tầng liên kết dữ liệu (Data Link) 70

2.2.3.4 Giao th ức truyền tin an toàn tầng ứng dụng(Application) 72

2.2.3.5 M ột số công nghệ bảo mật và an toàn thông tin trên thế giới 74

2.3 GIẢI PHÁP XÂY DỰNG PKI 75

2.3.1 Hành lang pháp lý để xây dựng và ứng dụng PKI .75

2.3.2 Giải pháp công nghệ xây dựng PKI hiện nay 77

2.4 CÁC ĐỐI TƯỢNG CƠ BẢN CỦA HỆ THỐNG PKI 78

2.4.1 Chủ thể và các đối tượng sử dụng 78

2.4.2 Đối tượng quản lý thẻ xác thực 79

2.4.3 Đối tượng quản lý đăng ký thẻ xác thực 80

2.5 CÁC HOẠT ĐỘNG CƠ BẢN TRONG HỆ THỐNG PKI 81

2.5.1 Mô hình tổng quát của hệ thống PKI 81

2.5.1.1 Thi ết lập các thẻ xác thực 81

2.5.1.2 Kh ởi tạo các EE 82

2.5.2 Các hoạt động liên quan đến thẻ xác thực 82

2.5.2.1 Đăng ký và xác thực ban đầu 82

2.5.2.2 C ập nhật thông tin về cặp khóa 82

2.5.2.3 C ập nhật thông tin về thẻ xác thực 83

2.5.2.4 C ập nhật thông tin về cặp khóa của CA 83

2.5.2.5 Yêu c ầu xác thực ngang hàng 83

2.5.2.6 C ập nhật thẻ xác thực ngang hàng 83

2.5.3 Phát hành thẻ và danh sách thẻ bị hủy bỏ 84

2.5.4 Các hoạt động phục hồi 84

2.5.5 Các hoạt động hủy bỏ 84

2.6 NHỮNG VẤNĐỀCƠ BẢN TRONG XÂY DỰNG HỆ THỐNG PKI 85

2.6.1 Các mô hình tổ chức hệ thống CA 85

2.6.1.1 Ki ến trúc phân cấp 85

2.6.1.2 Ki ến trúc hệ thống PKI mạng lưới 87

2.6.1.3 Ki ến trúc danh sách tin cậy 88

2.6.2 Những chức năng bắt buộc trong quản lý PKI 90

2.6.2.1 Kh ởi tạo CA gốc 90

2.6.2.2 Kh ởi tạo các CA thứ cấp 90

Trang 8

2.6.2.3 C ập nhật khóa của CA gốc 91

2.6.2.4 T ạo lập CRL 91

2.6.2.5 Yêu c ầu về thông tin hệ thống PKI 91

2.6.2.6 Xác th ực ngang hàng 91

2.6.2.7 Kh ởi tạo các EE 92

2.6.2.8 Yêu c ầu xác thực 92

2.6.2.9 C ập nhật khóa 92

2.7 THẺ XÁC NHẬN THEO CHUẨN X.509 93

2.7.1 Khuôn Dạng Chứng Chỉ X.509 93

2.7.2 Các trường cơ bản của thẻ xác thực 94

2.7.2.1 Tr ường tbsCertificate 94

2.7.2.2 Tr ường signatureAlgorithm 95

2.7.2.3 Tr ường signatureValue 95

2.7.3 Cấu trúc TBSCertificate 96

2.7.3.1 Tr ường version 96

2.7.3.2 Tr ường serialNumber 96

2.7.3.3 Tr ường signature 97

2.7.3.4 Tr ường issuer 97

2.7.3.5 Tr ường validity 98

2.7.3.6 Tr ường subject 98

2.7.3.7 Tr ường subjectPublicKeyInfo 99

2.7.3.8 Tr ường uniqueIdentifiers 99

2.7.3.9 Tr ường extensions 99

2.7.4 Các phần mở rộng của thẻ xác thực X.509 99

2.7.4.1 Ph ần mở rộng Authority Key Identifier 99

2.7.4.2 Ph ần mở rộng Subject Key Identifier 100

2.7.4.3 Ph ần mở rộng Key Usage 100

2.7.4.4 M ục đích sử dụng khóa mở rộng (Extended Key Usage) 102

2.7.4.5 Ph ần mở rộng Private Key Usage Period 102

2.7.4.6 Ph ần mở rộng Certificate Policies 102

2.7.4.7 Ph ần mở rộng Policy Mappings 103

2.7.4.8 Ph ần mở rộng Subject Alternative Name 104

2.7.4.9 Ph ần mở rộng Issuer Alternative Names 105

2.7.4.10 Ph ần mở rộng Subject Directory Attributes 105

Trang 9

2.7.4.13 Ph ần mở rộng Policy Constraints 106

2.7.4.14 Ph ần mở rộng Extended key usage field 107

2.7.4.15 Ph ần mở rộng CRL Distribution Points 108

2.7.4.16 Các tr ường mở rộng cho Internet 109

2.8 PKI VÀ THẺ THÔNG MINH 109

2.8.1 Luật pháp 109

2.8.2 Mối quan hệ giữa công nghệ, ứng dụng và luật pháp 110

2.9 TÓM TẮT CHƯƠNG 111

Chng 3:NG DỤNG THẺ THÔNG MINH TRONG ĐÀO TẠO TRỰC TUYẾN 112

3.1 GIỚI THIỆU 112

3.2 TỔNG QUAN HỆ THỐNG HỌC TRỰC TUYẾN (E-L EARNING ) 113

3.3 RỦI RO LIÊN QUAN VỚI HỆ THỐNG E-L EARNING 115

3.4 VẤNĐỀAN TOÀN TRONG MÔI TRƯỜNG HỌC TRỰC TUYẾN? 116

3.5 GIAO DỊCH AN TOÀN TRÊN INTERNET 116

3.6 CÁC CHỦ THỂ THAM GIA VÀO HỆ THỐNG THẺ THÔNG MINH 119

3.7 GIẢI PHÁP TÍCH HỢP THẺ THÔNG MINH TRONG HỌC TRỰC TUYẾN 119

3.7.1 Mô hình kết hợp ngoài và mô hình kết hợp trong 119

3.7.2 Mô hình cấp chứng chỉ đơn giản 121

3.7.3 Mô hình sử dụng thẻ thông minh phân bố rộng 121

3.8 XÁC THỰC SỬ DỤNG THẺ THÔNG MINH VÀ GIAO THỨC SSL TRONG ĐÀO TẠO TRỰC TUYẾN 122

3.8.1 Thiết kế hệ thống đảm bảo tính bảo mật thông tin với chữ ký số kết hợp giao thức SSL 122

3.8.2 Nâng cấp thiết kế SSL bằng thẻ thông minh thương mại (Commercial Smart Card Token) 126

3.8.3 Quy trình xác thực sử dụng Ikey 2000 Token trong đào tạo trực tuyến 126 3.8.4 Sơ đồ chuyển chế độ của LMS và CMS trong quy trình xác thực 130

3.9 TÓM TẮT CHƯƠNG 134

Chng 4: THỬ NGHIỆM GIẢI PHÁP 135

4.1 CÁC CÔNG CỤ DÙNG TRONG HỆ THỐNG 135

4.1.1 Các công cụ quản trị hệ thống 135

4.1.1.1 Công c ụ quản lý người sử dụng 135

4.1.1.2 Công c ụ tạo và quản lý chính sách 135

4.1.1.3 Công c ụ quản lý danh sách thẻ xác nhận 136

4.1.1.4 Công c ụ quản lý các sự kiện đối với hệ thống 136

Trang 10

4.1.2 Lưu trữ dữ liệu 137

4.1.2.1 L ưu thông tin quản lý đối tượng sử dụng chương trình 137

4.1.2.2 L ưu thông tin chính sách về thẻ xác nhận 137

4.1.2.3 L ưu trữ thông tin về thẻ xác nhận 138

4.1.3 Chức năng mã hoá dữ liệu 138

4.1.3.1 S ự cần thiết của chức năng 138

4.1.3.2 Định hướng xây dựng 138

4.1.3.3 L ưu đồ thuật toán thực hiện 139

4.1.4 Các thành phần của PKI/Smartcard 140

4.1.4.1 Đầu đọc thẻ thông minh 140

4.1.4.2 Th ẻ Mifare dùng trong hệ thống 141

4.1.4.3. Gi ải pháp ứng dụng trong hệ thống đào tạo trực tuyến 142

4.1.5 Những yêu cầu về sử dụng hệ thống thẻ thông minh 144

4.2 ĐÁNH GIÁ MÔ HÌNH KẾT HỢP 145

4.3 MỘT SỐ KẾT QUẢ THỬ NGHIỆM 147

4.4 TÓM TẮT CHƯƠNG 150

Trang 11

DANH MỤC HÌNH VẼ

Hình 1-1 Sơ đồ phân loại thẻ 5

Hình 1-2 Thẻ không tiếp xúc (Contacless Card) 7

Hình 1-3 Thẻ tiếp xúc (Contact Card) 7

Hình 1-4 Cấu trúc vật lý của thẻ thông minh 10

Hình 1-5 Cấu trúc bộ xử lý trong thẻ thông minh 11

Hình 1-6 Hệ thống bộ nhớ thẻ thông minh 12

Hình 1-7 Cấu trúc file trong thẻ thông minh 18

Hình 1-8 Kiến trúc PC/SC 29

Hình 1-9 Các lớp giao diện 32

Hình 1-10 Thủ tục cơ bản cho việc ký và kiểm tra 39

Hình 2-1 Hệ mã hóa khóa đối xứng 46

Hình 2-2 Hệ mã hóa khóa công khai 47

Hình 2-3 Mô hình quá trình ký có sử dụng hàm băm 51

Hình 2-4 Quá trình kiểm thử 51

Hình 2-5 Mô hình ký của loại chữ ký khôi phục thông điệp 51

Hình 2-6 Vị trí SSL trong mô hình OSI 66

Hình 2-7 Các đối tượng và hoạt động cơ bản trong hệ thống PKI 81

Hình 2-8 Kiến trúc PKI phân cấp 85

Hình 2-9 Kiến trúc PKI mạng lưới 87

Hình 2-10 Kiến trúc PKI danh sách tin cậy 88

Hình 2-11 Quan hệ giữa công nghệ, ứng dụng và luật pháp 110

Hình 3-1 Các thành phần máy chủ của hệ thống E-learning và khách .114

Hình 3-3 Những vấn đề về quản lý khoá cá nhân 117

Hình 3-4 Xác thực thẻ thông minh không dùng PKI 118

Hình 3-5 Xác thực thẻ thông minh với PKI 118

Hình 3-6 Mô hình tích hợp thẻ thông minh ngoài 120

Hình 3-7 Mô hình tích hợp thẻ thông minh trong 120

Hình 3-9 Kết hợp giữa không gian ảo và không gian vật lý 122

Hình 3-10 Giai đoạn cấp chứng chỉ .123

Hình 3-11 Giai đoạn đăng ký và xác thực lẫn nhau giữa LMS và học viên 124

Hình 3-12 Sơ đồ trình tự thời gian đăng ký khóa học trong hệ thống E-learning 125

Hình 3-13 Sơ đồ trình tự thời gian giai đoạn theo dõi hoạt động của hệ thống E-learning 125

Hình 3-14 Giai đoạn khởi động đầu sử dụng Ikey 2000 token 127

Hình 3-15 Giai đoạn khởi động đầu sử dụng Ikey 2000 token (tiếp theo) 128

Hình 3-16 Quy trình xác thực khóa học 129

Hình 3-17 Biểu đồ trạng thái LMS 130

Hình 3-18 Biểu đồ chuyển chế độ của CMS ở phía máy chủ 131

Hình 3-19 Biểu đồ trạng thái người học (tại điểm cuối/kết thúc) .132

Hình 4-1 Lưu đồ thuật toán mã hóa thông điệp 139

Trang 12

Hình 4-2 Thiết bị đọc thẻ ACR120 140

Hình 4-3 Thiết bị đọc thẻ giao tiếp cổng USB 140

Hình 4-4 Java Applet nhúng trong trang login .143

Hình 4-5 Java Applet cho phép User thay đổi số PIN 143

Hình 4-6 Java Applet hiện tự động trong mỗi lần thực hiện giao dịch 144

Hình 4-7 Tạo chứng chỉ Request cho thẻ của màn hình cấp phát chứng chỉ 144

Hình 4-8 Lệnh yêu cầu chứng nhận (giai đoạn khởi động) 147

Hình 4-9 Lựa chọn loại chứng nhận (giai đoạn khởi động) .147

Hình 4-10 Nhập vào các thông tin cần thiết sẽ được nhập vào bản chứng chỉ (giai đoạn khởi động) 148

Hình 4-11 Kiểm tra lại tình trạng bản chứng nhận (giai đoạn khởi động) .148

Hình 4-12 Lựa chọn bản chứng nhận cần kiểm tra (giai đoạn khởi động) .148

Hình 4-13 Cài đặt bản chứng chỉ trên hệ thống (máy tính cá nhân -PC terminal) (giai đoạn khởi động) 148

Hình 4-14 Copy bản chứng nhận từ thẻ vào hệ thống (giai đoạn khởi động) 149

Hình 4-15 Nhập vào mật khẩu theo yêu cầu (giai đoạn khởi động) .149

Hình 4-16 Truy nhập trang Web (Giai đoạn đăng ký khóa học và theo dõi hoạt động) 149

Hình 4-17 Lệnh yêu cầu chứng chỉ người sử dụng (Giai đoạn đăng ký khóa học và theo dõi hoạt động) 149

Trang 13

DANH SÁCH BẢNG

Bảng 1-1 Các đặc tả thuộc chuẩn ISO 7816 9

Bảng 1-2 Các chuẩn giao diện ứng dụng (API) 28

Bảng 2-1 Sơ đồ chữ ký mù 58

Bảng 2-2 Sơ đồ chữ ký mù dựa trên chữ ký RSA 58

Bảng 3-1 So sánh một số phương pháp nhận dạng và xác thực khác nhau 116

Bảng 3-1 Bảng chế độ LMS .130

Bảng 3-2 Thuyết minh các chế độ LMS .131

Bảng 3-3 Bảng thuyết minh các chế độ CMS 131

Bảng 3-4 Bảng các chế độ CMS 131

Bảng 3-5 Thuyết minh trạng thái kết thúc của người sử dụng 132

Bảng 3-6 Bảng trạng thái kết thúc của người sử dụng .133

Trang 14

KÝ HIỆU VÀ VIẾT TẮT

E- Learning Electronic Learning

International Association

Trang 15

CA cấp trên

(Superior CA)

Là những CA chứng nhận những thẻ xác nhận và giám sát hoạt động của các CA khác

CA gốc

(Root CA)

Trong một sơ đồ PKI phân cấp, đây là CA với khoá công khai được tin tưởng ở mức độ cao nhất bởi các đối tượng của một domain

Cặp khoá

(Key Pair)

Hai khoá có liên quan đến nhau về mặt toán học với hai thuộc tính: (i) Một khoá có thể được dùng để mã hoá và việc giải mã chỉ được thực hiện khi có khoá còn lại (ii) Khi biết một trong hai khoá thì việc tính toán để tìm ra khoá còn lại là không thể thực hiện được

Chính sách thẻ xác nhận

(Certificate Policy)

Là một dạng chính sách quản trị các giao tác điện tử được thực hiện trong quá trình quản lý thẻ xác nhận Chính sách này đáp ứng tất cả các yêu cầu của quá trình tạo, phân phát, thống kê, phục hồi và quản trị các thẻ xác nhận số

Chữ ký số

(Digital Signature)

Là kết quả của phép chuyển đổi một thông điệp bằng một hệ thống các phép mã hoá có sử dụng các khoá mà một đối tượng nhận được thông tin có thể xác định được: (i) Dữ liệu được gửi đến có phải được tạo ra với khoá riêng ứng với khoá công khai trong thẻ xác nhận của đối tượng gửi hay không (ii) Thông tin nhận được có bị thay đổi sau khi phép chuyển đổi được thực hiện không Thông tin bị coi là đã thay đổi nếu ta không thể kiểm chứng được chữ ký số với khoá công khai tương ứng của đối tượng đã tạo chữ ký số

Danh sách tin cậy

(Trust List)

Tập hợp các thẻ xác nhận đã được một đối tượng sử dụng tin cậy và dùng để xác thực những thẻ xác nhận khác

Danh sách thẻ xác nhận bị huỷ bỏ

(Certificate Revocation List - CRL)

Một danh sách do CA quản lý bao gồm các thẻ xác nhận bị huỷ bỏ trước khi chúng hết hạn

Dữ liệu chưa mã hóa

(Plaintext)

Dữ liệu ở đầu vào của một thủ tục mã hoá bảo mật

Dữ liệu đã mã hóa

(Ciphertext)

Dữ liệu ở đầu ra của một thủ tục mã hoá bảo mật

Định danh đối tượng

(Object Identifier – OID)

Là một só có định dạng riêng và đã được đăng ký với một tổ chức được công nhận trên phạm vi quốc tế

Đối tượng quản lý đăng ký

(Registration Authority - RA)

Là đối tượng có vai trò phân biệt và xác thực các đối tượng của thẻ xác nhận nhưng không ký và cấp các thẻ xác nhận

Đối tượng quản lý xác nhận

(Certification Authority – CA)

Là đối tượng được tin cậy bởi một nhóm người sử dụng nhất định với chức năng phát hành và quản lý các thẻ xác nhận

và danh sách thẻ xác nhận bị huỷ bỏ

Trang 16

Hạ tầng khoá công khai

(Public Key Infrastructure - PKI)

Một tập các chính sách, các tiến trình xử lý, các máy chủ dịch vụ, các máy trạm cùng với các phần mềm được sử dụng để quản lý các thẻ xác nhận cùng với các cặp khoá công khai/khoá riêng Trong đó, các tính năng chính bao gồm việc phát hành, duy trì và huỷ bỏ các thẻ xác nhận chứa khoá công khai

Kênh truyền thông riêng

(Out-of-band)

Quá trình truyền thông giữa các đối tượng thông qua các phương tiện khác với các phương tiện được sử dụng để duy trì liên lạc thông thường giữa các đối tượng trong hệ thống

Khoá công khai

(Public Key)

(i) Khoá thuộc về một cặp khoá tạo chữ ký số được sử dụng

để kiểm chứng một chữ ký số (ii) Khoá thuộc về một cặp khoá mã hóa được sử dụng để mã hóa thông tin bí mật Trong cả hai trường hợp, khoá này thường được phổ biến với các thẻ xác nhận

Khoá riêng

(Private Key)

(i) Khoá thuộc về một cặp khóa được sử dụng để tạo chữ ký

số (ii) Khoá thuộc về một cặp khoá mã hóa được sử dụng

để giải mã các thông tin bí mật Trong cả hai trường hợp, khoá này phải được giữ bí mật

Không thể bác bỏ

(Non-repudiation)

Tính năng này đề cập tới việc: nếu một đối tượng có thể kiểm chứng một chữ ký số bằng một khoá công khai nào đó thì điều đó chứng tỏ đối tượng đang nắm giữ khoá riêng tương ứng đã tạo ra chữ ký số này

Quá trình đóng gói thông tin thành các khuôn dạng phù hợp

để truyền thông hoặc lưu trữ

Phương tiện lưu trữ

Thẻ xác nhận

(Certificate)

Là hình thức biểu diễn thông tin dưới dạng số với các thông tin tối thiểu sau: (i) CA phát hành thẻ này (ii) Định danh của đối tượng sử dụng (iii) Khoá công khai của đối tượng sử dụng (iv) Thời gian hiệu lực của thẻ Thẻ này phải được ký bởi CA tạo ra nó

Trang 17

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

Chương này nhằm giới thiệu các kiến thức cơ bản vể Thẻ thông minh Kiến thức được đề cập trong chương này không đi quá sâu vào chi tiết các khía cạnh vật

lý của Thẻ thông minh mà chỉ nhằm mục đích cung cấp cho những người phát triển ứng dụng kiến thức cần thiết để xây dựng các ứng dụng Thẻ thông minh Các khái niệm và định nghĩa trong chương này được tham khảo trong cuốn “Smart Card Handbook” và “Smart Card Developer’s Kit”

Thẻ thông minh có kích thước và hình dáng tương tự như thẻ tín dụng Thẻ thông minh có bộ nhớ để lưu trữ dữ liệu và bộ vi xử lý để xử lý dữ liệu Dữ liệu của Thẻ thông minh gồm có hệ điều hành, các chương trình ứng dụng, các file dữ liệu,…

Tuy nhiên một trong những ưu điểm lớn nhất của Thẻ thông minh là dữ liệu lưu trữ có thể được bảo vệ khỏi sự truy nhập trái phép từ bên ngoài Vì dữ liệu chỉ có thể được truy nhập thông qua các giao diện nối tiếp điều khiển bởi hệ điều hành nên dữ liệu bí mật có thể được ghi vào trong Thẻ theo cách mà bên ngoài không thể đọc được Dữ liệu như vậy chỉ có thể được đọc bởi CPU của Thẻ

Chính nhờ vào khả năng lưu trữ dữ liệu an toàn và bộ vi xử lý có khả năng tính toán, Thẻ thông minh được ứng dụng rất rộng rãi Có thể kể đến như trong việc trả tiền cho các cuộc gọi điện thoại, trả tiền cho việc đỗ xe, truy nhập vào các

hệ thống ti vi vệ tinh…

1.1 GIỚI THIỆU THẺ THÔNG MINH

Thẻ thông minh là một tấm thẻ nhựa gắn chip vi xử lý Thẻ thông minh có

bề ngoài giống thẻ tín dụng thông thường ngoại trừ phần tiếp xúc bằng kim loại (chỉ có ở thẻ contact), nhưng những ứng dụng của thẻ lại hoàn toàn khác Không giống như những chức năng ở thẻ ngân hàng và thẻ tín dụng thông thường, thẻ thông minh có thể được dùng làm ví điện tử để giữ tiền điện tử Với một phần mềm phù hợp, nó còn có thể được dùng làm thẻ kiểm soát truy nhập an toàn từ việc ra vào cửa cho đến việc truy cập máy tính

Thẻ thông minh được định nghĩa là “thẻ tín dụng” có gắn thêm một “bộ não”, mà bộ não là một con chip máy tính nhỏ Nhờ “bộ não được gắn thêm” này

mà thẻ thông minh còn được gọi bằng cái tên thẻ chip hoặc thẻ mạch tích hợp

(IC)

Trang 18

Dù là loại thẻ thông minh nào, dung lượng bộ nhớ cũng đều lớn hơn nhiều

so với thẻ vạch từ Tổng dung lượng bộ nhớ của thẻ vạch từ chỉ là 125bytes, trong khi dung lượng của thẻ thông minh có thể từ 1KB cho tới 64KB Nói cách khác, dung lượng bộ nhớ của thẻ thông minh có thể lớn gấp 500 lần thẻ vạch từ

Rõ ràng dung lượng bộ nhớ lớn là một trong những ưu điểm của thẻ thông minh, nhưng đặc điểm quan trọng bậc nhất của thẻ lại nằm ở chỗ dữ liệu lưu giữ trong thẻ được bảo vệ an toàn khỏi sự truy cập hoặc thay đổi trái phép.Trong thẻ thông minh, việc truy cập vào nội dung bộ nhớ do một mạch logic an toàn gắn trong thẻ kiểm soát Vì việc truy cập vào dữ liệu chỉ có thể được thực hiện thông qua một giao diện liên hoàn do hệ điều hành và hệ logic an toàn kiểm soát, nên dữ liệu mật được lưu trong thẻ sẽ tránh được sự truy cập trái phép từ bên ngoài Dữ liệu mật này chỉ có thể được xử lý nội bộ thông qua bộ vi xử lý

Nhờ đặc tính kết nối không liên tục và tính bảo mật cao của thẻ thông minh, nên khó có thể lấy dữ liệu của thẻ hoặc chèn thông tin trái phép vào thẻ Chính vì vậy thẻ thông minh rất thích hợp cho việc lưu trữ dữ liệu tiện lợi và an toàn Nếu không được phép của chủ sở hữu, không thể lấy hoặc thay đổi dữ liệu trong thẻ Có thể nói thẻ thông minh giúp nâng cao tính bảo mật và riêng tư cho người sử dụng

Như vậy, thẻ thông minh không chỉ đơn thuần là nơi lưu trữ dữ liệu mà là nơi lưu trữ dữ liệu an toàn, có thể lập trình và tiện lợi Microsoft coi thẻ thông minh là cánh tay nối dài của máy tính cá nhân và là nhân tố chủ chốt trong cơ sở

hạ tầng khóa công khai

Thẻ gắn bộ vi xử lý lần đầu tiên do 2 kỹ sư người Đức phát minh vào năm

1967 Chỉ đến khi Roland Moreno, một nhà báo người Pháp, công bố Bằng sáng chế Thẻ thông minh tại Pháp năm 1974 thẻ mới được biết đến rộng rãi Với những tiến bộ trong công nghệ sản xuất bộ vi xử lý, phí nghiên cứu và sản xuất thẻ thông minh gần đây đã giảm đi đáng kể Năm 1984 đánh dấu một bước phát triển vượt bậc khi Bộ Bưu chính Viễn thông Pháp tiến hành thử nghiệm thành công trên thẻ điện thoại Kể từ đó thẻ thông minh không còn bị ràng buộc vào thị trường thẻ ngân hàng truyền thống cho dù vào năm 1997 thẻ điện thoại vẫn chiếm thị phần lớn nhất của thẻ thông minh

Nhờ vào bộ quy chuẩn ISO-7816 được ban hành năm 1987 (quy định tiêu chuẩn giao diện thẻ thông minh áp dụng trên toàn cầu), định dạng thẻ thông minh hiện nay đã được chuẩn hóa Thẻ do các nhà phát hành khác nhau đưa ra đều có thể giao tiếp với máy chủ sử dụng một bộ ngôn ngữ chung

Trang 19

1.1.1 Ưu nhược điểm và tính khả thi thẻ thông minh

Về vấn đề an toàn và bảo mật thông tin, giải pháp này đã hạn chế rất nhiều các nguy cơ mất an toàn bởi kiến trúc vật lý cũng như logic của thẻ Sự an toàn về mặt logic của thẻ có được là do trên thực tế mọi hoạt động của thẻ đều được kiểm soát bởi hệ điều hành Như vậy, các thông tin được coi là cần giữ bí mật sẽ không thể lấy được ra từ thẻ

Sự an toàn về mặt vật lý liên quan tới cấu trúc của chip thẻ thông minh Ý định truy nhập trái phép vào bên trong của chip là không thể hoặc ít ra là rất tốn kém Địa chỉ và dữ liệu (vốn liên hệ với nhau) được trộn lẫn trong các lớp khác nhau Các transitor ảo được nhúng trong bản mạch làm cho việc truy nhập trở nên khó khăn hơn Ngoài ra, giới hạn cho cận trên và cận dưới của tần số đồng hồ cũng gây trở ngại cho việc truy nhập trái phép Như vậy, các thông tin bên trong thẻ là không thể bị “hack” như các thông tin được lưu trong các phần mềm hệ quản trị CSDL thông thường

Các khóa bí mật dùng cho chữ ký điện tử và nhận dạng đều được lưu giữ bên trong thẻ Kể cả nhà sản xuất thẻ lẫn người sở hữu thẻ cũng không thể biết được các khóa này Do đó, chúng không thể bị sao chép

Để tránh việc thẻ bị đánh cắp và được kẻ xấu sử dụng, mỗi chiếc thẻ đều có

số nhận dạng (PIN) Trước khi sử dụng thẻ, người dùng phải nhập vào đó số PIN của thẻ Cơ chế quản lý số PIN của thẻ cũng rất an toàn bởi vì số PIN gần như không thể đoán ra được Hơn nữa, nếu số lần nhập sai liên tục lên đến một con số nào đó thì thẻ sẽ tự động khóa Muốn mở khóa, người dùng phải nhập một số dùng để mở khóa của thẻ Và cũng tương tự, nếu số lần nhập sai liên tiếp lên đến con số nào đó thì lúc này, thẻ sẽ bị khóa vĩnh viễn, không thể sử dụng lại nữa Trừ những dữ liệu về cá nhân người dùng (lý lịch…), các thông tin khác dùng cho việc xác thực trong thẻ sẽ không thể lấy lại được Như vậy, việc sử dụng thẻ trở nên an toàn và dễ dàng hơn vì người dùng thay vì phải nhớ nhiều số (mỗi số chỉ dùng một lần như trong giải pháp one-time passwords) như trước đây, nay chỉ phải nhớ một

số, còn các thông tin nhận dạng đều ở trong thẻ Trong khi nếu bị mất thẻ thì kẻ đánh cắp cũng không thể sử dụng được thẻ vì không có số PIN

Hiện nay trên thế giới, một số nhà sản xuất đã thay thế số PIN bằng các cơ chế nhận dạng sinh trắc học như dấu vân tay, võng mạc… để nâng cao tính an toàn của thẻ Tuy nhiên, giải pháp này đòi hỏi nhiều thiết bị hiện đại và do đó giá thành của thẻ là rất cao Và thực tế hiện nay, sự kết hợp này chưa được sử dụng nhiều

Trang 20

1.1.1.2 Nhc đim:

Chưa giải quyết triệt để được vấn đề về sự mất an toàn từ bản thân người dùng, đó là vẫn bắt người dùng phải nhớ số PIN và phải có thêm công cụ là chiếc thẻ mới có thể thực hiện việc xác thực Tuy rằng đã hạn chế được sự mất cắp thẻ bằng cách kết hợp thẻ với một số PIN nhưng không thể loại trừ trường hợp cả số PIN và thẻ đều bị đánh cắp

Thứ hai, các tổ chức phải trang bị thêm các thiết bị phần cứng để có thể ứng dụng giải pháp này Số lượng và chi phí của các thiết bị thêm (như thiết bị đọc, thiết

bị ghi, các phần mềm hỗ trợ…) không phải là nhỏ và do đó, chắc chắn sẽ tốn kém hơn so với giải pháp chỉ dùng phần mềm

Thứ ba, các dịch vụ hỗ trợ phổ biến cho việc xác thực bằng thẻ là chưa đầy đủ Hầu như các nhà cung cấp giải pháp xác thực bằng thẻ hiện nay đều phát triển các dịch vụ của riêng mình Có thể kể ra một số hệ thống hỗ trợ xác thực qua thẻ như: công ty Microsoft với các phiên bản hệ điều hành từ Windows 98 đến nay đã hỗ trợ việc đăng nhập thông qua thẻ, ứng dụng Outlook Express của Windows cũng hỗ trợ giải pháp này[3]…

Tuy nhiên hiện nay, hầu hết các ứng dụng cần đến xác thực trên Internet như dịch vụ thư điện tử, các dịch vụ thương mại điện tử phổ biến… đều chưa hỗ trợ xác thực bằng thẻ Hầu hết các dịch vụ hỗ trợ xác thực thông qua thẻ thường được các công ty khác nhau phát triển theo những mô hình riêng, sử dụng những thiết bị riêng chưa thống nhất và do đó khả năng liên hệ giữa các hệ thống là hầu như không có

Đây là giải pháp tương đối hoàn chỉnh và được nhận định là có tiềm năng lớn trong thời gian tới Tổ chức chuẩn hoá quốc tế (ISO) đã và đang đưa ra những tiêu chuẩn thống nhất trong việc xây dựng và phát triển thẻ thông minh Hiện nay, một số quốc gia đã sử dụng công nghệ này trong các hệ thống lớn của họ như làm chứng minh thư (Identity card), thẻ rút tiền ngân hàng (ATM card) Ngoài ra, đã có rất nhiều công ty lớn trên thế giới đang phát triển những giải pháp xác thực hoàn thiện hơn về cả mức độ an toàn và khả năng linh động trong sử dụng

Cùng với sự phát triển về công nghệ, giá thành của thẻ và các thiết bị liên quan đã giảm đáng kể trong những năm qua Do đó, các ứng dụng có hỗ trợ xác thực bằng thẻ thông minh cũng ngày một nhiều hơn.[3]

Tuy nhiên, đối với thực tế ở nước ta, một nước đang phát triển thì giá thành thẻ cũng như chi phí xây dựng hệ thống hỗ trợ xác thực bằng thẻ hiện nay vẫn là quá cao, không phù hợp với đa số các cơ quan, tổ chức ở Việt Nam Nếu các nhà sản xuất giảm được giá thành thẻ và các thiết bị liên quan hơn nữa đồng thời tăng cao được

Trang 21

1.1.2 Phân loại thẻ

Thẻ được chia làm hai nhóm: thẻ “thông minh” và thẻ “không thông minh”

Thẻ “không thông minh” hay còn gọi là thẻ nhớ, chỉ có khả năng lưu trữ thông tin

Thẻ “thông minh” ngoài khả năng như thẻ nhớ, nó còn có khả năng xử lý thông

tin Về cơ bản, dựa trên đặc điểm bề ngoài, thẻ “thông minh” có thể được chia ra

làm ba nhóm chính là thẻ tiếp xúc, thẻ không tiếp xúc, và thẻ kết hợp Hình dưới

đưa ra sự phân loại thẻ dựa trên năng lực xử lý dữ liệu và đặc trưng vật lý của mỗi

Thẻ kết hợp

Thẻ chip nhớ

Hình 1-1 Sơ đồ phân loại thẻ

Thẻ không “thông minh” hay còn gọi là thẻ nhớ xuất hiện khá lâu trước khi

ra đời thẻ thông minh Đây là kiểu Smart Card thông dụng và rẻ nhất hiện nay,

chúng không chứa và thực hiện các tính toán logic mà chỉ đơn thuần lưu trữ dữ

liệu Kiểu Smart Card này chứa bộ nhớ đệm chỉ đọc có thể xóa được và không mất

(Electrically Erasable Programmable Read−Only Memory: EEPROM) Vì là bộ

nhớ không mất (non-valotile) nên khi rút card ra khỏi đầu đọc hoặc khi mất điện,

dữ liệu vẫn còn được lưu trên card Có thể coi EEPROM bên trong giống như một

thiết bị lưu trữ thông thường khác với một hệ thống file và được quản lý thông qua

một bộ vi điều khiển (thường là 8 bit)

Bộ vi điều khiển này chịu trách nhiệm truy cập file và xử lý giao tiếp Dữ

liệu được khóa bởi một kiểu password: số định danh riêng (Personal Identification

Number: PIN) Số PIN thường có độ dài từ 3 đến 8 và được lưu trữ trong một file

đặc biệt trên card Vì kiểu Smart Card này không có khả năng mật mã nên nó

thường được dùng để lưu trữ tài khoản điện thoại, vé vận chuyển hoặc là “tiền

điện tử” (electronic cash)

Thẻ không “thông minh” nhiều khi còn được gọi là thẻ nhớ được chia làm

ba loại cơ bản: thẻ từ, thẻ quang và thẻ chip nhớ

THẺ THÔNG MINH

Trang 22

Thẻ từ là thẻ sử dụng từ tính để lưu trữ dữ liệu tuy nhiên dung lượng lưu trữ là thấp So với sự phát triển và yêu cầu ngày càng cao của các ứng dụng thì thẻ

từ không thể đáp ứng được và dần đi vào thoái trào

Thẻ quang dùng tia laser để đọc và ghi dữ liệu lên thẻ Về cơ bản thẻ quang không gắn chip vi xử lý Công nghệ sử dụng trong thẻ nhớ quang học tương tự như trong đĩa CD hoặc CDROM Một tấm bảng nhỏ làm từ vật liệu nhạy cảm với tia laser màu ánh kim được dát mỏng gắn trong thẻ được dùng để lưu trữ thông tin Do trên thực tế vật liệu dùng trên thẻ bị đốt cháy trong quá trình ghi dữ liệu nên thẻ được gọi là phương tiện WORM (ghi một lần đọc được nhiều lần), dữ liệu trong thẻ không bị mất đi khi nguồn năng lượng bị cắt

Thẻ chip nhớ là một con chip chỉ có nhiệm vụ lưu thông tin, không có khả năng xử lý thông tin Thẻ chip nhớ có khả năng lưu trữ lượng thông tin lớn gấp hàng ngàn lần so với thẻ vạch từ Loại thẻ này trước hết được dùng cho các ứng dụng cơ bản như làm thẻ điện thoại thời kỳ đầu

Ngoài ra còn có một loại thẻ - thẻ PC (Plastic Card) hay còn gọi là thẻ PCMCIA - được gắn bộ vi xử lý hoàn chỉnh như thẻ thông minh, nhưng được sử dụng với mục đích hoàn toàn khác Thẻ PC mang những đặc điểm giống như thẻ thông minh nhưng chúng lại được dùng làm các thiết bị ngoại vi như modem, cần điều khiển hoặc đầu chơi game Thông thường thẻ PC không được coi là thẻ thông minh vì chúng là thiết bị mở rộng không mang tính cá nhân

Nhóm thẻ “thông minh” có thể được chia thành ba nhóm như đã nói ở trên Phân loại theo giao diện: Thuật ngữ giao tiếp (contact) ở đây chỉ việc giao tiếp giữa Smart Card và thiết bị đọc Một Smart Card có thể có cả hai giao diện contact

và contactless bằng cách dùng 2 chíp riêng biệt trên cùng một card (đôi khi gọi là card “lai”: hybrid-card) hoặc dùng một chíp có hai giao diện dual-interface (đôi khi gọi là card tổ hợp: combi-card)

o Thẻ không tiếp xúc (Contactless Card)

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ên lạc qua ăng ten trong thẻ Năng lượng có thể cung cấp bởi nguồn bên trong hoặc qua ă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 qua trường điện từ

Thẻ không tiếp xúc không dùng tấm kim loại tiếp xúc trên bề mặt của Thẻ thông minh, thay vào đó là sử dụng một số dạng của cảm ứng điện từ Bên trong Thẻ sẽ có một ăng-ten dùng để thu nhận sóng điện từ Thông thường, Thẻ không tiếp xúc sẽ được đặt gần Terminal không quá 3 cm Việc ghép nối cảm ứng (inductive coupling) sẽ chuyển năng lượng và nguồn cho thẻ Input và Output có

Trang 23

Hình 1-2 Thẻ không tiếp xúc (Contacless Card)

o Thẻ tiếp xúc (Contact Card)

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ới thế giới bên ngoài qua giao diện tiếp xúc

Những thẻ này có vi mạch nhỏ kết nối với các đường tiếp xúc kim loại trên

bề mặt của Thẻ Những đường tiếp xúc này liên kết với đơn vị đọc/ghi (Terminal) giúp cho Thẻ có thể liên lạc và cung cấp năng lượng cho các vi mạch

Hình 1-3 Thẻ tiếp xúc (Contact Card)

o Hybrid Card

Kiểu Smart Card này có hai con chip, một hỗ trợ giao diện contact, một hỗ trợ giao diện contactless Thường thì hai con chip này không có bất kỳ sự kết nối nào với nhau

o Dual-Interface Card

Một Smart Card kiểu này chỉ chứa một chip đơn hỗ trợ cả hai giao diện

contact và contactless cho phép cùng một thông tin có thể được trao đổi qua hai kiểu thiết bị đọc có giao diện khác nhau

Trang 24

1.1.3 Các chuẩn cho Smart Card

Việc tạo ra các chuẩn quốc tế và quốc gia cho thẻ thông minh là một yêu cầu bắt buộc đối với việc đưa Thẻ thông minh ứng dụng rộng rãi trong cuộc sống hàng ngày Các chuẩn đặc biệt quan trọng đối với việc mở rộng phạm vi sử dụng của Thẻ thông minh Thẻ thông minh chỉ là một thành phần trong nhiều thành phần của một hệ thống phức tạp Điều này có nghĩa là giao diện giữa Thẻ và phần còn lại của hệ thống phải được đặc tả chính xác và phù hợp với nhau Việc này tất nhiên là có thể làm được cho mỗi hệ thống tùy theo từng trường hợp mà không cần quan tâm đến hệ thống khác Tuy nhiên, điều này cũng có nghĩa là các loại Thẻ khác nhau sẽ cần cho các hệ thống khác nhau Người dùng do đó sẽ phải mang nhiều loại Thẻ thông minh cho các ứng dụng Để tránh điều này, cần phải tạo ra được một chuẩn độc lập ứng dụng cho phép Thẻ đa chức năng có thể được phát triển Dưới đây là một số tổ chức tham gia vào các chuẩn của Thẻ thông minh:

 ISO (International Standard Organization) Chuẩn ISO 7816 là chuẩn quốc

tế cho các loại thẻ mạch tích hợp (Thẻ thông minh) dùng tiếp xúc điện Bất kỳ ai muốn hiểu được về mặt kỹ thuật của Thẻ thông minh đều cần phải biết đến ISO 7816 Bảng dưới mô tả một số thành phần con của chuẩn ISO 7816 Có một vài chuẩn con không được đề cập tới bởi không cần thiết cho người lập trình hoặc đang trong quá trình xây dựng

 NIST (National Institute of Standards and Technology) Tổ chức này đưa ra một tài liệu gọi là FIPS 140-1: “Các yêu cầu về bảo mật cho các module mật mã” (Security Requirements for Cryptographic Modules) Nó liên quan đến phần bảo mật vật lý của một chip Smart Card, được định nghĩa như là một kiểu module mật mã

 Europay, MasterCard và Visa Europay, MasterCard và Visa đã tạo ra “Đặc

tả Thẻ mạch tích hợp cho hệ thống trả tiền” Đặc tả này có mục đích tạo ra một cơ sở

kỹ thuật cho Thẻ và việc thực thi của hệ thống lưu trữ giá trị (stored value system)

 Microsoft Microsoft có một chuẩn cho Thẻ thông minh và PC (Personal Computer) là đặc tả PC/SC

 CEN (Comite’ Europe’en de Normalisation) và ETSI (European Telecommunications Standards Institute) là hai tổ chức của Châu Âu tập trung chủ yếu vào lĩnh vực công nghệ viễn thông, ví dụ như GSM SIM dành cho điện thoại di động Các chuẩn mà hai tổ chức này đưa ra gồm có GSM 11.11 và ETSI300045

Trang 25

ISO 7816-3 Tín hiệu điện và giao thức

truyền dẫn

Xác định đặc tính của tín hiệu điện trao đổi giữa thẻ và thiết bị đầu cuối và hai giao thức truyền thông: T=0 (Giao thức trao đổi ký tự bán công không đồng bộ)

và T=1 (Giao thức trao đổi khối bán công không đồng bộ)

ISO 7816-4 Các lệnh theo chuẩn công

nghiệp cho trao đổi thông tin

Định nghĩa tập lệnh chuẩn và cấu trúc file

hệ thống phân cấp

ISO 7816-5 Hệ thống đánh số và quá

trình đăng ký định danh ứng dụng

Xác định tên duy nhất cho ứng dụng

ISO 7816-7 Tập lệnh theo chuẩn công

nghiệp định nghĩa Ngôn ngữ truy vấn thẻ có cấu

Query Language - SCQL)

Định nghĩa tập lệnh cho phép truy xuất dữ liệu trên thẻ và cấu trúc cơ sở dữ liệu quan hệ

Bảng 1-1 Các đặc tả thuộc chuẩn ISO 7816

Trang 26

1.2 CẤU TẠO THẺ THÔNG MINH

Thẻ thông minh có 8 điểm tiếp xúc, chức năng của chúng như hình dưới:

 2 cho việc cung cấp điện áp và tiếp đất,

 1 cho việc xác lập lại (reset),

 1 cho tín hiệu đồng hồ để cung cấp việc định thời cho bộ vi xử lý,

 2 được dự trữ để sử dụng sau này (future allocation),

 còn lại là cho đầu vào và đầu ra của dữ liệu và nguồn

Hướng và vị trí các điểm tiếp xúc được mô tả trong phần 2 của ISO 7816

Hình 1-4 Cấu trúc vật lý của thẻ thông minh

 Điểm Vcc cung cấp nguồn cho chip hiệu điện thế 3 hoặc 5 volts, với sai số 10% Thẻ thông minh trong các máy di động thường là 3 volts

 Điểm RST được dùng để gửi tín hiệu để reset bộ vi xử lý – được gọi là khởi động nóng (warm reset) Khởi động nguội (cold reset) được thực hiện chuyển nguồn cung cấp tắt hoặc bật

 Bộ xử lý thẻ thông minh không thực hiện việc tạo tín hiệu đồng hồ bên trong Đ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

VCCRST CLK

h÷ ký

GND

Trang 27

 Đ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ái ngủ (idle state), mức cao là trạng thái kích hoạt ( active state) Thay đổi mức điện thế là cần thiết để lập trình bộ nhớ EEPROM trong một số thẻ thông minh cũ

 Đ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

Hình 1-5 Cấu trúc bộ xử lý 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ới 5MHz Các thẻ công nghệ cao (high-end) thường gồm bộ nhân tín hiệu (nhân 2,4 hoặ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 đơn giản (RISC) Trong tương lai chúng sẽ trở nên phổ biến

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ác thuậ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êu cầu bởi thuật toán mã hóa chẳng hạn như RSA

Card

OS

VM Apps

PROCESSOR

Trang 28

CO-1.2.1.4 H thng b nh ca th thông minh

Hình 1-6 Hệ thống bộ nhớ 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ủa thẻ Nó có thể lưu trữ dữ liệu khi nguồn đã tắt và không thể ghi sau khi thẻ được sả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

1.2.2 Giao tiếp truyền thông với thẻ thông minh

1.2.2.1

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áy tí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ủa má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ông tiế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ức truyề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 Teller Machines – ATMs) Bên cạnh chức năng của đầu đọc thẻ, thiết bị đầu cuối

Trang 29

1.2.2.2 Mô hình truyn thông vi 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ệu chỉ 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 giao thứ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 xen giữa máy chủ và thẻ

Được chỉ ra trong chuẩn ISO 7816-4, APDU là một giao thức ở mức ứng dụng giữa thẻ thông minh và ứng dụng của máy chủ Các thông điệp APDU gồm hai loạ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ận thẻ để 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 (Command APDU 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:

Data with length Le SW1 SW2

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ản hồi Byte “mã” xác định chỉ thị của lệnh Hai tham số P1 và P2 xác định thêm thô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 tùy 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 header củ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

Trang 30

APDU phản hồi, được gửi bởi thẻ để trả lời cho APDU lệnh, bao gồm một chi tiết tùy 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ộc bao gồm hai trường SW1 và SW2, đi cùng với nhau được gọi là từ trạng thái, biểu thị 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

Trường dữ liệu là tùy 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

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

lgth (='00') '90' '00'

o 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

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

lgth (='00') '9F' lgth1 GET RESPONSE

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

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

CLA INS P1 P2 P3 DATA with length lgth SW1 SW2

o 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 31

Trường hợp 1: không có dữ liệu được truyền tới hoặc nhận từ thẻ, APDU lệnh chỉ 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ản hồ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ản hồ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ản hồ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ết quả 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

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

và thẻ sử dụng giao thức truyền thông được gọi là giao thức truyền thông đơn vị

dữ liệu (Transport Protocol Data Unit - TPDU)

Hai giao thức truyền thông được dùng chủ yếu trong các hệ thống thẻ thông minh hiện nay là T = 0 và T = 1

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ữa thẻ và máy chủ

Trang 32

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 đều dù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

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

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

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

o 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

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

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

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

Trang 33

1.2.2.6 Thông đip tr li đ xác lp li (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òn chứa các tham số truyền tín hiệu như giao thức truyền thông được thẻ hỗ trợ (T=0 hoặ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 …

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ười dù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ố hay tấ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ột file 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 Việc phân chia giữ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ành mới hỗ trợ tốt hơn sự phân chia lớp hệ thống và nạp về mã ứng dụng của người dùng

1.2.4 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 tùy chọn là chi tiết Header chứa cá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

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

Trang 34

1.2.4.2 Th mc chuyên dng (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à logic vớ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

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ột header 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)

Hình 1-7 Cấu trúc file trong thẻ thông minh

o 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’ Khi file đượ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

o 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

Trang 35

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ản ghi 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

o 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 ghi vớ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 đầu tiê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ời gian 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 thao tá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

1.2.5 Truy cập File

Định danh được dùng để đánh địa chỉ mỗi thư mục/file trong thẻ SIM Định danh 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

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:

Trang 36

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ên dụ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

Để 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ân theo Điều kiện truy cập chỉ áp dụng cho file cơ bản, thư mục gốc và thư mục chuyê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:

 ALWAYS: Không có giới hạn về chức năng được thực hiện

 CHV1: 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ện thành công ở bước trước

 CHV2: Được thực hiện khi giá trị CHV2 được nhập đúng, hoặc khi lệnh

UNBLOCK CHV2 đã được thực hiện thành công

 ADM: Xác định thực hiện yêu cầu này là trách nhiệm có thẩm quyền quản

trị

 NEVER: Những chức năng này chỉ được thực hiện bên trong SIM Không

có cách nào được thực hiện qua giao diện MÁY – SIM (ME – SIM )

Các mức truy cập được thực hiện cho thẻ SIM:

Trang 37

Bằng số định danh file 2 byte

o Lệnh Write Binary

Tương tự lệnh Read Binary, lệnh Write Binary chỉ làm việc với các file không phải kiểu bản ghi Tùy thuộc vào thuộc tính đặt trong lệnh mà nó có thể được dùng để “dựng” một dãy các byte trong EF (đặt các bit cho trước trong một byte thành giá trị 1), “xóa” một dãy các byte trong EF (đặt các bit cho trước trong một byte thành giá trị 0) hay ghi một dãy các byte vào EF

o Lệnh Update Binary

Lệnh này cũng chỉ làm việc với các file không phải kiểu bản ghi, nó xóa một dãy các byte trong EF và ghi vào đó một dãy các byte khác có độ dài tương đương Các tham số truyền từ phía reader là địa chỉ offset và số byte cần ghi

o Lệnh Erase Binary

Tương tự các lệnh trên, nó chỉ làm việc với các file transparent, chức năng của lệnh là xóa một dãy các byte của EF được chỉ ra trong các tham số truyền từ phía reader: địa chỉ offset và số byte cần xóa

Trang 38

o Lệnh Read Record

Lệnh này chỉ làm việc với các file bản ghi Nếu cố gắng truy xuất tới một file transparent, lỗi sẽ xuất hiện Chức năng của lệnh này là đọc nội dung của một hay nhiều bản ghi của EF Tùy thuộc vào tham số truyền cùng lệnh mà nó sẽ đọc các bản ghi từ đầu tới một bản ghi cho trước, từ bản ghi cho trước tới cuối file hoặc là chỉ một bản ghi cho trước của file

o Lệnh Put Data

Tương tự lệnh Get Data, sự khác nhau duy nhất chỉ là chức năng của lệnh

là ghi nội dung lên một đối tượng dữ liệu

Trang 39

o Lệnh Internal Authenticate

Lệnh này được ứng dụng phía reader gửi tới card để nhận dạng card, lệnh này cho biết card có sở hữu một khóa bí mật được chia sẻ với ứng dụng phía reader hay không Ứng dụng phía reader sẽ sinh ra một số ngẫu nhiên rồi mã hóa

nó và truyền đi, phía card khi nhận được sẽ giải mã dựa vào khóa bí mật nằm trên card và gửi trả lại kết quả cho ứng dụng phía reader Nếu kết quả trả lại đúng là số ngẫu nhiên ban đầu mà phía reader sinh ra, lệnh được coi như thực hiện thành công, ứng dụng phía reader lúc này có thể cho phép card truy cập vào một số thông tin và dịch vụ trong ứng dụng phía reader

o Lệnh External Authenticate

Lệnh này kết hợp với lệnh Get Challenge dùng để giúp card xác thực được ứng dụng phía reader Thông qua lệnh Get Challenge, ứng dụng phía reader nhận được một số được sinh ra ngẫu nhiên bởi card và mã hóa nó thông qua một khóa

bí mật riêng Thông tin mã hóa được trả lại card và card sẽ dùng khóa bí mật của mình để giải mã thông tin này Nếu số nhận được sau khi giải mã trùng với số ngẫu nhiên mà card đã gửi đi thì nghĩa là card đã xác thực đúng ứng dụng phía reader và cho phép nó truy cập dữ liệu trên card Trong quá trình “nhận nhau” này, khóa bí mật không hề truyền qua lại lẫn nhau giữa card và ứng dụng phía reader

o Lệnh Get Challenge

Lệnh Get Challenge như đã nói ở trên nhận về một thông tin dùng để xác thực được gửi đi từ card (thường là một số sinh ngẫu nhiên bởi card) Lệnh này thường hoạt động cùng với lệnh External Authenticate

o Lệnh Manage Channel

Lệnh này được ứng dụng phía reader mở hoặc đóng các kênh giao tiếp giữa

nó và card Thông thường, sau khi quá trình khởi tạo (thông qua cơ chế ATR) được thiết lập giữa ứng dụng phía reader và card, một kênh giao tiếp mặc định được mở ra Kênh giao tiếp này sau đó được dùng để mở thêm hoặc đóng các kênh giao tiếp logic khác thông qua lệnh Manage Channel

Trang 40

1.2.6 Quá trình sản xuất một Smart Card

Quá trình sản xuất một Smart Card được chia thành nhiều bước khác nhau:

o Chế tạo chip

Hàng ngàn chip kích thước 5x5mm được chế tạo đặt trong một miếng silicon hình bánh thánh (wafer) - một hình tròn có đường kính lớn hơn 100mm, xấp xỉ 4 inch – sau khi hoàn thành, một miếng silicon như vậy chứa khoảng 3000 đến 4000 con chip Quá trình chế tạo được thực hiện thông qua một quy trình lọc chân không của vật liệu bán dẫn siêu tinh khiết trên nền silicon

o Đóng gói các chip riêng lẻ để đưa vào trong thẻ

Sau khi quá trình thứ nhất được hoàn thành, mỗi một chip riêng lẻ được test để đảm bảo là chúng hoạt động được Mỗi một con chip hoạt động tốt được đánh dấu bằng một dấu hiệu vật lý chuẩn bị cho quá trình chia nhỏ miếng silicon thành nhiều mảnh khác nhau, mỗi chip một mảnh riêng Sau khi các chip được phân chia xong, các connector được gắn vào, các đường dẫn vô cùng nhỏ trên connector nối tới các

chân tương ứng trong mỗi con chip kết quả có một module

o Chế tạo thẻ

Thẻ được chế tạo bằng polyvinyl chloride hoặc các vật liệu tương tự, các đặc tính hóa học và kích thước của thẻ tuân theo các chuẩn quốc tế (xem 1.6) Thẻ được làm từ những tấm vật liệu phẳng, rộng và có độ dày quy định, tấm vật liệu này sau đó được in và từng chiếc thẻ riêng lẻ được cắt ra Công đoạn cuối cùng là làm tròn các cạnh của thẻ

o Đưa chip vào trong thẻ

Một khi module và thân thẻ được làm xong, chúng được gắn vào nhau Một lỗ hổng được tạo ra trên phần thẻ và module được dính vào đó Lỗ hổng này được làm bằng cách khắc hoặc là nấu chảy vật liệu rồi gắn thẳng module vào

o Quá trình chuẩn bị chuyên biệt hóa (pre-personalization)

Sau khi module được gắn vào trong card, một số chương trình và các file phải được cài đặt trên card trước khi chuyên biệt hóa và chuyển cho người sử dụng Quá trình này thực hiện thông qua các I/O connector trên bề mặt của thẻ

o Quá trình chuyên biệt hóa (personalization)

Quá trình này bao gồm việc đưa các thông tin của người sử dụng như tên và số tài khoản lên chip của thẻ, quá trình còn bao gồm việc viết số định danh PIN lên thẻ

để sau này người sử dụng dùng nó để chứng thực nhận dạng của mình đối với thẻ

o In thẻ

Việc in các hình đồ họa và chữ lên thẻ có một vai trò hết sức quan trọng, nó thể hiện được tính chất của thẻ và của nhà sản xuất Các biểu tượng như logo hay biểu tượng tập đoàn thể hiện thông tin về nhà sản xuất và có giá trị quảng cáo Với loại thẻ mang tính cá nhân, hình người sở hữu cùng với tên và địa chỉ cũng thường được in luôn trên thẻ Với các thẻ giao dịch, nhà sản xuất thường cân nhắc đến các khả năng làm giả và thường đôi khi áp dụng một số cơ chế chống làm giả như kỹ thuật in hình nổi 3 chiều

o Khởi tạo chương trình và các thông tin chương trình trên chip

Ngày đăng: 23/09/2020, 22:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w