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 3LỜ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 4LỜ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 5MỤ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 61.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 72.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 82.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 92.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 104.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 11DANH 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 12Hì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 13DANH 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 14KÝ HIỆU VÀ VIẾT TẮT
E- Learning Electronic Learning
International Association
Trang 15CA 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 16Hạ 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 17Ch ươ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 18Dù 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 191.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 201.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 211.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 22Thẻ 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 23Hì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 241.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 25ISO 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 261.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 28CO-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 291.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 30APDU 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 31Trườ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 32Cấ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 331.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 341.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 35Liê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 36Thư 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 37Bằ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 38o 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 39o 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 401.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