Java Card là một công nghệ không mới, tuy nhiên cho Lới thời điểm hiện nay với sự phải triển nhanh chúng của thị trường thế chip thông minh nói chung hay như thị trường sữa điện thoại,
Trang 1
BO GIAO DUC VA BAO TAO
\G DAI HOC BACH KHOA HA NOT
PHUNG VIET ANH
NGHIEN CUU PHAT TRIEN UNG DUNG
CHO JAVA CARD
Chuyên ngành: Kỹ thuật Điện tử
LUẬN VĂN THẬC SĨ KỸ THUAT CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS NGUYEN DUC MINII
HÀ NỘI — 2014
Trang 2
MUC LUC
DANH SÁCH BÁNG BIỂU SH Hee emenaeioeaeee VỀ DANH SÁCH TỪ VIỆT TẤT nnneeaeerienarioiaseooee VHE
CHUONG 1 TONG QUAN VE THE THONG MINH VA HE THONG TAVA
1.1.2 Thẻ thông minh tiếp xúc sau
1.1.3 Thê thông múnh không tiếp xúe à series
1.3.2 Hệ thông Iaya Catd, cà series TÍ
1.3.3 Yên câu phi chức năng
1.4 Kết luận
CHƯƠNG 2 NGHIÊN CỨU HET THONG JAVA CARD
2.1 Phân cứng thê chip
Trang 32.1.3.5 UART 28
2.1.3.7 Bộ định thời khe thời sỉ gian (TU Tỉ Timer) seseeoooee 3Ổ
2.2.1 Giới thiệu một số hệ điều hành Java Card - 44
3.2.1.1 Hệ điều hành Java Card của Gemalto
2.2.1.2 Hé dieu hanh Java Card cia NXP
22 2 Các đặc điểm của hé diéu hanh Java Card
%4
55 _ -
Trang 43.1.1 Tổng quan về Ging dung - - 68
3.1.2 Chức năng tạo cầu trúc đữ liệu 68
3.1.2.1 Cấu trúc dữ liệu mặc dụnh trong Java Card 6 3.1.2.2 Cấu trúc dữ liêu trong ứng dụng DĨD sec ỐỠ
3.1.3 Chức năng lưu trữ vảo trao đổi thông tìn T0
3.1.3.2 Lưu trữ và trao đổi thông tin không mã hỏa TĨ 3.1.3.3 Trao đổi và lưu trữ Lhông lin mã hóa 72 3.1.4 Tổng kết các lớp và phương thức của ứng đụng DID 73
3.1.4.1 Lớp File System
3.1.4.3 Lớp File Applet
3.2.1.1 Thư viện DID API
.1.2 Thư viện DID_LIB
3.3.3 Thiết kế bộ công cụ DIDToalkit
3.2.2.2 Chức năng tạo cầu trúc đữ liệu co ccervrrreeerree
3.2.2.3 Chức năng tương tác với ứng dhụng trên thể TẾ
3.4 Kết luận àeeereeiariiiirrirereiraerreoooooe BỘ
Trang 5
Loi cam on
Trong quá trình thực hiện luận văn tác giả đã gặp rất nhiêu khó khăn trong
việc tiếp cận các nguần tài liệu tham khảo cũng như những kiến thức đại số trong
việc mã hóa dữ liệu Hôm nay haàn thành xong luận văn tổi nghiệp, trước hết tác
giả xin chân thành cảm ơn 1S Nguyẫn Đức Minh, thâu đã tận tình hướng dẫn , chỉ bảo, giúp đỡ tác giả có thể hoàn thành được luận văn tốt nghiệp của mình Tiếp thao, tắc giả xin cảm on các thay cô trong Viện Điện Từ Liễn Thông, đại học Bách
Khoa Hà ði dã giảng dạy, cùng cấp những kiến thức cần có để tác giả có thể
dụng trong quá trình thực biện luận văn lỖI nghiệp Và cuối cùng, tác giả xin gửi lời câm ơn sâu sắc dén gia dink, người thân, bạn bè đã động viên, giúp đỡ, tạo điều
kiện trong thời gian thực hiện luận vẫn này
Hà Nội, ngày 19 tháng 9 năm 2014
Hợc viên Thủng Việt Anh
Trang 6
DANH SÁCH HÌNH VẼ
Hình 1-2 Đâu đọc và thế thông mình không tiếp xúc à se =Ỹ
Tinh 1-3 Kiến trúc tổng quát công nghé Java Card 10
Tình 1-4 Kiến trúc tổng quát của một hệ thống Java Card TÍ Tỉnh 2-1 Sơ để chân cũa chịp trên thẻ thông minh tiếp xúe[9] L4
Hình 2-8 Cau trac APDU phan 151[3] .ccccccssessesanmnsessesnsenanmsesenssenena 54 Tình 3-L Câu trúc dữ liệu rong lava Card co, O8
Tình 3-3 Giao điện lạo cấu trúc tệp dừ liệu cũa DIDToolkiL T1
Hình 3-4 Cửa sẽ APDU nnnneerireiiirrirrrrariransroooa TR
Tĩnh 3-5 Giao điện ứng đụng ID khi chưa đọc dữ liệu từ thể 79 Tình 3-6 Giao điện ứng dụng ID sau khi đọc dứ liệu từ thẻ 79
Trang 7
DANH SACH BANG BIEU
trong điểu kiện bình thường,
Bang 2-1 Bang die tinh điện của
Bang 2-2 Bang dic tinh điện của RST tong điều kiện bình thưởng,
Tiảng 2-3 Bảng đặc tỉnh điện của CLK trong điều kiện binh thang
Bang 2-4, Bang dic tinh điện của LO trong diễu kiện bình thường
Bảng 2-7 Bảng mô tả thanh ghi SP oo cessesnseesnunsinensninesasnensanienes 1D
Tang 2-13 Bang quy chiếu bộ nhớ mở rộng ở chế độ thường 22
Bảng 2-14 Bảng quy chiếu bộ nhớ mỏ rộng ở chế độ bờ 23 Rang 2-15 Bing mé (a thanh ghi trang thai FILASH (FT._STS) 34 Bảng 2-16 Băng mô tả thanh ghi EL,_SDP1, EL _§DF2 24
Bảng 2-21 Băng mô tả thanh ghi UBUE seeeesaosooooe 28
Tang 2-28, Bang mé ta thanh ghi PQ csssessssesimunsicmsniesnaneissnanieies 92
Trang 8
Bang 2-30, Bang mé ta thanh thi TMOD 00 cccecnesie sienna 34 Bang 2-31, Bang mé ta thanh ghỉ TUO, THU ò5 32552 ssseseeserreree 34
Bảng 2-35 Bảng mô tả thanh giú ISOTRLDÔ/1 seo 37 Tảng 2-36 Băng mồ tả thanh ghỉ RNGCTL à.à co rnereioeeeooe 3)
Bảng 2-39, Băng mô tả thanh glú CLKCƠN., àeneceereeoereoooe 3Đ
Bảng 2-42 Bãng mô tả thanh glú DESCTL c5 seseeroee 4T
Bang 2-44 Bảng mô tả thanh ghí VDCON à.àseeeeeesoaeoaue 43
Bang 2-46 Bảng liệt kê một số sản phẩm thẻ Java của Gemalto 45 Bang 2-47, Bing liệt kẽ một số sân phẩm thẻ Tava của NXP 46
Bang 2-48, Bang liét kê các ngoại lệ được hỗ tro trong, Tava Card 50 Tiáng 2-49 Bằng liệt kê các lớp được hỗ trợ trong Java Card 51 Bang 2-50 Bảng liệt kê cáo trường hợp cấp câu lệnh - phân hỏi 54 Bang 2-51 Bảng liệt kẽ các dạng của câu lệnh APDU _- Bảng 2-52 Bảng liệt kê các từ khóa trạng thái trang giao thức truyền T=0 56 Bang 3-1 Céu tric lép dữ liệu trong ng dung DID 70 Bảng 3-2 Bảng mỏ tâ các phương thức trong lép FileSystem 73 Bang 3-3 Bang mô (â các phương thức trong lớp FileApplel 14 Bảng 3-4 Bảng mô tả các phương thức trong thư viện DID_API T5 Bảng 3-5 Bảng mô tả cáo phương thức trong thư viện DID LIB 16
Trang 9DANH SACH TU VIET TAT
APDU TPDU SPOM DES 3DFS
RSA MAC OTP
ETU UART
GP
Application Protocol Data Unit
Transmission Protocol Data Unit
Self Programmable One-chip Microcomputer
Data Encryption Standard
Triple DES Advance Eneryption Standard
Rivest, Shamir, Adleman
Memory Access Control One Time Programable Special Function Register Flementary Time Unit
Universal Asynchronous Receiver/Transmitter
Cycle Redundiney Check
Global Platform
Trang 10
Nghiên ửu phát triển img dyng cho Java Card lời mở đầu
LOT MO DAU
Trong xu hướng điện fi héa, cdc phuong thie trao đải thông tin, thanh toàn trực
tiếp bằng hiện vật đang dẫn được thay thể bằng việc sử dụng một thiết bị đơn giản
và nhỏ gọn honrắt nhiều đó 1a chiếc thẻ thông minh Sự phát triển nhanh chóng của
công nghề bán dẫn đã cho phép những nhà sản xuat chip có thể tạo ra những con
chip hay những thẻ thông minh ngày cảng nhỏ gọn với sức ruạnh tính toán ngày
cảng cao Tuy nhiên với việc có quá nhiều nhà sản xuất chip, công việc phải triển
ủng đựng eho thẻ thông mninh gặp phôi khó khăn rất lớn về tính tương thích Một
ứng dụng được phát triển cho chịp của nhả sản xuất này cản phải dược chỉnh sữa rất nhiền mới có thể sử đụng được trên chíp của nhà sản xuất khác đo sự khác biệt về
hệ điều hành trên từng loại thẻ Do đỏ, nhủ cầu về một nên tảng chung bên trong
chip để hỗ trợ việc thực thi các ting dung được nêu ra Công nghệ Java Card được
phát triển để phục vụ mạc đích này Với việc tạo ra một mỗi trường ão chưng lrên tất cả các lệ diều hành hỗ trợ Java Card, công nghệ nảy đã giúp cho việc phát triển ting dung da chip tré nén dé dàng, tiết kiệm được thời gian nghiên cửu, phát triển, chuyển đổi ứng dụng giữa các chíp Java Card là một công nghệ không mới, tuy
nhiên cho Lới thời điểm hiện nay với sự phải triển nhanh chúng của thị trường thế chip thông minh nói chung hay như thị trường sữa điện thoại, thẻ tía dụng, thẻ
thồng minh không tiếp xúc nói riêng việc phát triển ủng đụng cho các loai thé nay la
một lĩnh vục có tiềm răng phát triển rất lon Boi vay, lac giả lựa chon dé tài
“Nghiên cứu phát triển ứng dung cho Java Carđ” làm đề tài luận văn tắt nghiệp của Tỉnh Mục tiêu của để lải là tổng hợp cơ sở lý thuyết cả phản cứng cũng như phản mềm về công nghệ Java Card, từ đỏ thiết kế một ứng đụng mẫu cho phép lưu trữ thông tra cả nhân lên thế, dễng thời hồ trợ việc đọc ghí đỏ mét cach bao mat
Từ khi ra đời cho tới nay, công nghệ Java Card đã có nhiều thay đổi từ phiên
‘ban 1.0 cha tới phiên ban 3.0 mới nhất hiện nay Tuy nhiên, phiền bản Java Card 2
ởi là phiên bản được sử dụng rộng rãi trong các loại thê thông mình như STM điện
thoại, thể thanh toán quốc tế, các loại thẻ không tiếp xúc Qua mỗi phiên bản công, nghệ Java Card đã có những thay đổi tương ứng với sự phát triển của phần cúng, hỗ
trợ thêm nhiêu tính năng mới cho phép thê thông minh có thể được sử dụng ở nhiều
Trang 11
Nghiên ửu phát triển img dyng cho Java Card lời mở đầu
Tĩnh vực khá: nhau, chuyên đổi lừ thẻ liếp xúc sang thẻ không liếp xúc Việc lập
trình cho Java Card cũng có nhiều thay đổi khi các bộ thư viện khung được cập nhật
và thay đổi qua tùng phiên bản Bên cạnh việc bê sung cáo thư viện mới hỗ trợ các công nghệ mới như mã hóa AES, giao tiếp không tiếp xúc thì cũng có các lớp được
loại bổ khỏi thu viện khung nhằm giâm bót kích thước thư viện cũng như lắng hiệu
năng hoạt động trên chip T.uận văn sẽ tập trung vào phân tich công nghệ Tava Card
phiên bản 2 với hậu bản 2.2.1 là phiên bản đang được sử đụng rộng rãi hiện nay
Trong luận văn, táo giả thực hiện việc nghiên cửu tổng quát vẻ céng nghệ Java Card bắt đâu từ tầng thấp nhật là nên táng phân cứng cho tới tầng cao nhat 14 lop
img dung Java Card:
œ Vẻ nên lãng phan cửng, thể Java Card có giao diện vật lý lương tự các loại thê chịp thông thường với giao tiếp 8 chân Tuy nhiên để có thể hỗ trợ công nghệ Java Card các chúp trên thê phải có cấu hình phân cứng tối thiểu là: vi
xử lý hoạt động với xung nhựp SMhz, bộ nhở ROM 24KD, IEPROM 16KB, RAM 512 bytcs Vì xứ lý trung tâm của chíp có khả răng tủy biến cao tù những CPU 8 bịt với tập lệnh 8051 cho tới cóc CPU 33 bút với kiến trúc
ARM Ngoài ra trên chíp còn có thế có thêm các khối tính toán bằng phan cứng để tăng tốc các chúc năng tốn nhiều lải nguyên xử lý như việc sinh số
ngẫu nhiên, mã hóa dữ liệu DES, IDES, AES, RSA Bén cạnh đó để tăng cường tính bảo mật cho thẻ, trên chip oũng được bổ trí thêm các khải phần
cứng để chẳng lại các phương thúc Lân công chip như tấn công bằng điện áp, tấn công bằng tản sỏ,
œ Hệ điểu hành được xây đựng trên nén tảng phân cứng cla chip Mai hãng
sản xuất chip có một hệ điều hánh riêng cho chíp của mình với các dịch vụ riêng Tuy nhiên để thỏa mãn là thê hỗ trợ Java Card thi trên các hệ điều
lành đếu được tích hợp một môi lrường chạy Java Card mã cốt lỗi là một máy ảo Java Máy ảo Iava này chịu trách nhiệm thựo hiện các đoạn mã dựa trên các bộ thư viện khung và ngắn cách các ứng dụng được cài đặt với nhau
Chính nhờ máy ảo Java này mà các ứng dụng Java Card có thể chạy được
trên các chịp khác nhau của các hãng sản xuất khác nhau
Trang 12
Nghiên ửu phát triển img dyng cho Java Card lời mở đầu
«_ Việc trao đối thông lin giữa ứng dung trén thé va ung dung trên thiết bị dau
cuối được thục hiện thông qua các đơn vị dữ liện giao thúc ứng, dụng (ADPU)
và các đơn vì dữ liệu giao thức truyền dẫn (TPDL) Các loại thẻ thông mình
có thể hỗ trợ hai giao thức truyền là T=0 và T=1, với mỗi giao thúc TPDU và APDƯ được quy chiều khác nhau Ứng dung được thiết kế sử đụng giao thức
T 0 là giao thức thông dụng hơn T 1
«_ Với ứng dụng Java Card, ngoài việc đáp ứng được các chức năng như lưu trữ
đữ liên, thực biện các phép Lính toán cơ bân thì tỉnh năng bảo mật dữ liêu
trên thế là một yêu cầu bắt buộc Đề tránh thông tin không, bị lộ ra ngoài
trong quá trình gữi nhận các APDU hay đề thục hiện việc xác Lhực đữ liệu, các phương thủe mã hỏa được sử dụng tới Các mã hỏa thông dụng trên thẻ thông minh nói chung và thẻ Java nói riêng là 3DES và RSA Ung dụng lưu
trữ thông lin trên thê (DTD) được thiết kế hỗ trợ mã hóa 3IDES cho phép mã
hỏa và giải mã dữ liệu sử dụng, khóa có dộ dài 16 bytes
« Một hệ thống Java Card hoàn chỉnh ngoài phân thẻ còn cân phan img dung trên thiết bị đâu cudi cho phép thiết bị đầu cuối có thể tương tác với thẻ thông qua thiết bị trưng gian là đâu đọc thê Sau khi mg đụng trên thẻ được
thiệt ki „ ứng dụng lrên thiết bị đầu cuối sẽ dược dựng lên Lương ửng với cách
hành xử trên thể để có thể thực hiện việc tương tác với thể theo yêu cầu sử
đụng Phân ứng dụng trên thiết bị đâu cuối trong luận van được thiết kế đưới
đạng bộ công cụ bằng ngôn ngũ Java
TẤt câ các yêu tổ trên kết hợp lại thành một hệ thông thẻ Java hoản chỉnh có thê được ứng dụng trong nhiều lĩnh vực khác nhau trong đởi sống như thê trã trước, các
loại giấy tờ diện từ, vi điện lử, các ứng dụng giả trí gia lăng trên SIM diện thoại
Bên cạnh phần nghiên cứu, phân tích vả tổng kết các co sở lý thuyết về Java Card Luận văn cũng bao gồm việc thiết kế ra một ting dụng lưu trữ thông tín trên thể có nhiều tru điểm so với cách lưu trữ thông tin mặc định của lava Card Thay vi
sử dụng ba loại định đạng dữ liệu cơ bản trong Tava Card là dạng đữ liệu trong suối, dang vòng và dạng bản phú, ứng dụng lưu trữ thông từn cho phép người dùng tạo ra
các tệp đữ liêu có dịa chỉ, độ đái, quyền truy cập mong muốn Cầu trúc dữ liễu được
Trang 13
Nghiên ửu phát triển img dyng cho Java Card lời mở đầu
tạo ra trong cá trình cái đặt ứng dụng nhằm đơn giản hỏa va giam thời gian cá thể
Ngoài phản lời mở đần, kết luận và lài liệu tham kháo, phần nội dưng của luận
văn được trình bảy trong 3 chương chính:
«e CHƯƠNG l: TỎNG QUAN VỀ THÊ THONG MINH VA HE THONG
JAVA CARD
Chuong nay cung cấp cải nhìn lổng quan vé thé thông mình và thể Java tù lịch sử phát triển ủa thẻ thông, minh cho tới nhưng khải niệm cơ bản về thẻ chip v4 cong nghệ thế Tava đồng thời chương này cũng giới thiệu sơ bộ về hệ thống Tava Card nói chung và hệ thông để xuất nói riêng
e CHƯƠNG 2: NGHIÊN CỨỬU VỀ 1Š THÔNG IAVA CARD
Chương này được chía thành 3 phản: phần thứ nhất tập trung vào nghiên cứu cấu tạo phần cửng của chịp, phần thứ hai phân tích về kiên trủe hệ điều hành trên thê Java và phân thứ ba nghiên sứu về giao thúc truyền nhận dữ liệu giữa thẻ và thiết bị đầu cuối
© CHƯƠNG 3: THIẾT KÉÚNG DỤNG THỰC NGHIÊM
Chương này của luận văn sử địng các cơ sở lý thuyết được nêu ra trong Chương 2 đề thiết kế ra một hệ thống Java Card dùng dẻ lưu trữ thông tin ca
nhân trên thả
Trang 14
Nehién cophat trién img dung cho Java Card Tổng quan
CHƯƠNG 1 TONG QUAN VE THE THONG MINH
VA HE THONG JAVA CARD
1.1 Giái thiệu chung về thé thing minh
1.1.1 Lịch sử phát triễn thê thông mảnh
Thê gắn chip tự động đâu tiên dược phát minh vảo năm 1968 bối kĩ sư điện lũ người Đức Helmut Grötrup và đồng nghiệp của ông là Tirgen Dethloff, bằng sang
chế này được công nhận vào năm 1982 Lân đầu tiên loại thẻ này được sử dụng với
số lượng lớu là ở Pháp trong việc thanh toán điện thoại công cộng vào năm 1983
Tiếp sau đó, Roland Moreno đăng ký bằng sáng chế về thể nhớ vào nắm 1974.Năm
1977, Michel Ugon thuộc công ty Honcywell Bull phải mình ra thê thông mình vị
xử lý dầu tiên Nam 1978, Bull ding ký bằng sáng chế vẻ bộ vi xử ly mét chip tự
lap trinh due ( SPOM -Self Programmable One-chip Microcomputer) Ba nam sau,
chip đầu tiên dimg cho thẻ mang Lên "CP§" được Motorola san xuất dựa trên bằng sảng chế này Tại thời điểm do, Bull di cé 1200 bang sang chế liên quan đến thé thông rninh Năm 2001, Bull bản bộ phận CP8 của ho và tất cả các bằng sảng chế
liên quan cho Sehlumberger Sehlumberger ghép bộ phận vẻ thẻ thông minh của họ với CP8 và đặt tên là Axallo Đến năm 2006, Axallo và Gerplus, là hai nhà máy
sản xuất thể thông nunli lớn nhất thế giới vào thời điểm đó, kết hợp lại với nhau và lấy tên là Gemalto
Sự bùng nỗ đùng thẻ thông minh bất đầu trong thập miên 90, khi có sự xuất hiện
của SIM đừng trong thiết bị điện thoại đi động GSM ở Châu Âu Củng với việc
mạng đi động mở rộng khắp Châu Âu, thẻ thông minh ngày cảng trở nên thông,
dung
Vào rềm 1993, ba lổ chức lớn trong ngành thanh toán quốc té 1a MasterCard, Visa, và Buropay thỏa thuận củng hợp tác để xây dựng nên chuẩn kỹ thuật cho việc
ding thẻ thông mình trong các thể thanh toán ở cã hai loại thê tài khoản và thẻ tín
dụng Phiên bản đầu tiên của hệ thống TIMTV này được công bổ vào năm 1994, Dén
nim 1998, công ty EMVeo ra đời, chịu trách nhiệm bảo trì lâu đài hệ thống này
Trang 15
Nehién cophat trién img dung cho Java Card Tổng quan
đồng thời nâng cấp chuẩn kỹ thuật hai lần vào các năm 2000 và 2004 Mục liêu của công ty EMVco là dâm bảo với các tổ chức tài chỉnh và các đại lý rằng các chuẩn
kỹ thuật đà phải triển nhưng vẫn phải giữ được tương thích với phiên bản 1998
Cho tới thời điểm hiện tại, thẻ thông mình hiện đã và đang được sử dụng trong,
rất nhiêu lĩnh vực của cuộc sống nhĩ lam thé chứng minh nhân dân, hộ chiếu điện
tử cũng như các loại giấp phép ở các mức vùng, loàn quốc hay loàn câu Tại Việt Nam, thé thong minh hiện dược sử dụng nhiều nhất để làm thé tin dụng và sim điện
thoại
1.1.2 Thê thông mink tidp xite
TLoại thê thông mình tiếp xúc có một điện tích tiếp xúc, bao gồm một số tiếp
điểm mạ vàng và cỏ diện tích khoảng l em vuông Khi được đưa vào đảu đọc, con
chủp trên thê sẽ tiếp xúc với các tiếp điểm điện tử Lương ứng Irong đầu đọc và cho phép máy đọc thông tin từ chúp và viết thông tín lên đỏ
Bộ tiêu chuẩn ISO/TEC 7816 bao gồm 15 phản quy định các chuân cho thẻ thông xinh tiếp xúc và ung dụng trên thẻ eụ thể: quy định về đặc tính vật lý của chúp, vị trí kích thước cia chip irén the, giao tiép điện và phương thúc truyền tín trên thể,
mô tả các câu lệnh trên thẻ, cácÌithức đăng ký ứng dụng trên thể, các thành phần dữ
liệu theo chuẩn công nghiệp, các lệnh theo chuẩn công nghiệp dùng cho ngôn ngữ
SCQL, cáo lệnh cho tác vụ bảo mật, các lệnh quản lý thẻ, tín hiệu điện và dữ liêu trả
lời cho tín hiệu khởi động trên thẻ đông bộ, các phương pháp xác thực sinh trắc học, giao tiếp USB và tiến trình hoạt động, các lệnh quản lý ứng dụng trong môi trường
đa ứng dụng, ứng dụng với thông tin mã hỏa
Luận văn sẽ tập trung vào nghiên cửu và phản tích tiêu chuẩn ISO 7B16 phần một đến bắn, đẳng thời sử dụng thêm bộ liêu chuẩn ŒP (Global Plaform) dé thuc hiện việc phát triển ứng dụng cho thẻ thông mùnh tiếp xúc chạy hệ diều hành Java Card, gọi tắt là thé Tava
Trang 16
Nghiên cửu phát triển ứng dụng cho Java Card Tổng quan
Hình 1-1 Thẻ thông minh tiếp xúc và đầu đọc
1.1.3 Thẻ thông minh không tiếp xúc
Thẻ thông minh không tiếp xúc là loại thẻ mà chúp trên nó liên lạc với đầu đọc
thẻ thông qua công nghé cam ứng REID (với tốc độ dữ liệu từ 106 đến 848
kbit/s) Nhiing thé nay chi can đặt gần một anten để thực hiện quá trình truyền và
nhận đữ liệu Chúng thường được đùng trong các tình huồng truyền nhận dữ liệu
thật nhanh hay khi người chủ thẻ cần rảnh tay, chẳng hạn ở các hệ thông giao thông công cộng có thể sử dụng thẻ loại nảy mả không cần rút thẻ ra khỏi ví
Chuẩn thông tín cho thẻ thông minh không tiếp xúc là ISO/TEC 14443, phát hành năm 2001 Nó qui định hai kiêu thẻ không tiếp xúc ("A" và "B"), cho phép liên lạc
với khoảng cách lên đến 10 em Cũng cỏ một vải chuẩn khác như ISO 14443 kiêu C,
D, E và F mã đã bị loại bỏ khỏi ISO/IEC Một chuẩn khác của thẻ thông mình
không tiếp xúc là ISO 15693, cho phép thông tin ở khoảng cách lên đến 50 cm
Một số ví dụ của việc dùng thẻ thông minh không tiếp xúc lả thẻ Octopus ctia
Hồng Kông, vả thẻ Suica của Japan Rail, thẻ Felica của Sony hay thẻ Mifare cửa
Phing Việt Anh, 12BKTDT 7
Trang 17Nghiên cửu phát triển ứng dụng cho Java Card 'Tổng quan
NXP Trong khuôn khổ của luận văn, thẻ thông minh không tiếp xúc sẽ không được
xem xét
Hình 1-2 Đầu đọc và thẻ thông minh không tiếp xúc
1.2 Tổng quan về hệ thống Java Card
1.21 Công nghệJava Card
Thẻ Java hay Java Card là công nghệ cho phép các ứng dụng Java có thẻ hoạt động một cách an toàn và bảo mật trên thẻ thông minh cũng như các thiết bị có dung lượng bộ nhở hạn chế khác Java Card là nên tảng Java nhỏ nhất hướng tới các thiết bị nhúng Tava Card cho phép người dùng khả năng tự phát triển các ửng dụng
trên thẻ phủ hợp với từng nhu cảu cụ thể Java Card hiện được sử dụng rộng rãi
trong thẻ SIM điện thoại và thẻ ngân hang điện tử Các sản phẩm vẻ Java Card được dựa trên nên tảng Tava của Oracle Ngoài ra, dé đảm bảo tính bao mật cũng như đảm bảo về sự thống nhất trong việc quản lý, các ứng dụng Java Card cũng tuân
theo bộ tiêu chuẩn GlobalPlatform (GP)
Phing Việt Anh, 12BKTDT §
Trang 18Nehién cophat trién img dung cho Java Card Tổng quan
Đặc linh mà các ứng dụng Java Card hưởng lới là tỉnh tương thích và tỉnh bảo mật Tỉnh tương thích được thể hiện ở việc Java Card nhắm tới mục tiêu tạo ra mot
môi trường chuẩn cho thẻ thông minh, cho phép các ứng dụng Java có thể chạy trên các loại thẻ thông minh khác nhau Tương tự nhĩ với môi trường Java, điều này được thực hiện bằng việc kết hợp mal may a0 Java Card với một bộ (hư viện chưng,
Tuy nhiên tính tương thích bị ảnh hưởng lớn bởi sự khác nhau vẻ kích thước bộ nhớ,
khả năng xử lý và hỗ trợ của các loại thẻ khác nhan
De được phát triển với mục địch lưu trữ cáo thông tin nhạy cảm, công nghệ Java Card luôn dé cao tính bảo mật và đảm bảo điển này bằng các yêu tổ, thành phần
khác nhau như: đóng gói đữ liệu, tường lủa ngăn cách ứng đụng, mã hỏa dữ liệu, tạo ứng dụng dạng Appiet Khã năng đóng gói đữ liệu cho phép dữ liệu được lưu trữ bên trong ủng dựng và các ứng đụng này được thực thủ trên một máy ao tách biệt với hệ điêu hành và phân cứng của thẻ, Mỗi ứng dụng khác nhau lưu trữ trên Java
Card déu được ngăn cách bởi một tường lửa để hạn chế và kiểm tra được sự truy
cập dữ liệu từ ứng đụng này sang ứng dụng khác Khả năng mã hóa của Tava Card cho phép đữ liệu được mã hóa bằng các dạng mã hóa thông đụng sử dụng khỏa như DES, 3DHS, AUS hay RSA Bên cạnh đó các ứng đụng trên Java Card được đóng gói dưới dạng Applel là một máy trạng thải chỉ xủ lý các câu lệnh tới và trả về dũ
liệu phản hỏi
Java Card có một số đặc điểm kbác với Java thông khường Vẻ mặi ngôn ngữ lập trinh, Java Card là một phần thu gọn của Java: mọi thành phân câu tạo rên Java Card déu có trong Java và hoạt động tương tự Một chương trình Java Card cing
được biên dịch thành một tệp lớp Java thông, qua một bộ biên dịch Java, tệp lớp sau
đỏ được xử lý bằng, một bộ công cụ riêng biệt cho nền tăng Java Card
Các đoạn mã Tava Card được chạy bởi mảy ảo Tava Card cũng là một chức năng,
thu gọn của Java 2 Các đoạn mã Java Card sẽ được mã hóa khác đi để đảm bảo tính tối ưu về kích thước To đó, một ứng dung Java Card bao giờ cũng sử đụng íL đoạn
ma hon tng dung 1ava truyền thông, Điều này giúp tiết kiệm bộ nhớ trong diểu kiện
Trang 19
Nehién cophat trién img dung cho Java Card Tổng quan
tải nguyên trên thẻ thông minh rất hạn chế Đôi lại, một số tính năng của Tava không,
được hỗ trợ trong Java Card
Thư viện lớp và thư viên chạy của Tavs Card có nhiều điểm khác so với Java, chi
có một vài điểm chung cơ bản Rất nhiều lớp được khai báo trên Java không có
trong lava Card Trên Java Card cáo đổi tượng được lưu trữ trên các bộ nhớ tĩnh (ROM, FFPROM), do dé mdi trường chạy ứng dụng và các đoạn mã được thay đổi
để phú hợp với các đôi tượng này, Ngoài ra, Java Card cũng đâm bảo tính nguyễn tỏ,
các câu lệnh tác vụ gia và các hàm thực thì hoặc được thực thi toàn bộ hoặc không thực thi
Tỉnh tới thời điểm hiện tại, Java Card đã ra tới phiên bản 3.0 (tháng 3 năm 2008) Tuy nhiên nhiều loại thẻ hiện tại vẫn sử dụng Iava Card với các phiên ban 2.2.1 và
Trang 20Nehién cophat trién img dung cho Java Card Tổng quan
1.22 Hệ thông Java Card
Hình 1-4 Kiến trúc tổng quát của một bệ thống Java Card
Mô hình hệ thông Java Card hoàn chỉnh được thể hiện như trong hình 1.4
Toàn bộ hè điều hành hỗ trợ Java Card và các ứng dụng trên thể được triển khai tiên một nên tâng phân cứng của chịp Tủy thuộc vào từng hãng sân xuất khác nhau với cáo dòng chip khac nhau mà cầu hình phần củng của chíp được thay đôi để phù
hợp với các ứng dụng cu thé Với những ứng dụng đòi hồi khả năng lưu trữ vá tính
toán thấp, chip phân cứng có thể có bộ nhớ R AM 512 bytes, ROM 16KT, không có
khối tính toán SA Ngược lại, với những ứng dụng cao cấp đòi hỏi chỉp có bộ nhớ
ram 4E, RƠM 132KB, có các khối hỗ trợ tính toán 3I2ES, RSA
Tê điều hành của chíp được ác hãng cung cấp chịp lự xây dựng hoặc được một bên thứ ba tạo nên dựa trên phần cửng cửa chip.Hệ điều hành cung cấp các dich vu cho phép truy nhập tới tùng thành phẩn phân cúng trên chịp Trong hệ thông Java Card, hệ điêu hảnh trên chip đã được cải sẵn mệt môi trường thực thí Tava Card
(ICRR)
Trang 21
Nehién cophat trién img dung cho Java Card Tổng quan
Môi trường thực thì Tava Card là phần lõi của công nghệ Tava Card Nó bao gồm
một máy ảo Java Card JCVM) và một bộ thư viện khung (JCAPT) cho phép các
ting dung Java Card có thể được thực thị trên thế JCRI chịu trách nhiệm quản lý các ứng dụng trên thẻ bao gồm việc: câp phát bộ nhớ cho ứng dụng, phân tách các
ủng đụng với nhau và thực hiện viện ruyễn nhận dữ liệu giữa ứng đụng trên thẻ và
ứng trên thiết bị đầu cuối
Các ứng dụng Java Card trên thẻ được thiết kế dưới dạng Applet.Applet là một máy trạng thải chỉ nhận các lệnh tới và gửi trả phản hỏi tương ủng dưới dạng các
đen vị đữ liêu ứng đụng (APDU) Các ứng dụng này được tải lên bộ nhớ của chip
dixii dang gói (Tava package) và có thể được cải đặi ra thành một thực thể (nstanec),
Ngoài các thành phân lrên thẻ, các ửng dụng trên thiết bị đầu cuối là thành phản cuối củng trong một hệ thông Java Card Các ứng dụng này giao tiếp với ứng dung, trên thể thông qua JCRE bằng cách gửi và nhận các đơn vị đũ liệu truyền lãi
(IFDU) Tùy thuộc vào giao thức truyền tắt T=0 hoặc T=] mà các APDU dược
đóng pgôitheo cáo khác nhau vào TPDU
Chi tiét về các thành phân của một hệ thống Java Card sẽ được mô tả chỉ tiết tại
các phân tương ứng trong Chương 2.Nghiên cửu hệ thống Java Card
Trang 22
Nehién cophat trién img dung cho Java Card Tổng quan
1.3 Hệ thống để xuất
Qua việc nghiên cứu cẫu tạo, hiệu năng của chip và khả năng hộ trợ của công
nghệ Java Card, mục Liêu của luân văn là thiết kế rnột hệ thông cho phép lữu trữ và
quan lý thông tin cá nhân trên thê Java
1.31 Yêu cầu chức năng
«- Đối với người sử đụng
—_ Tải và cải đặt ứng dựng lên thể
— C6 kha năng tự tạo cấu trúc đữ liệu trên thê
Thực hiện đọc ghi dữ liệu trên thế
—_ Hỗ trợ các phương thức trao dổi bảo mại thông qua mã hóa
«- Đối với người phát triển
—_ Cỏ các chức năng thông báo, sửa lỗi
—_ Cỏ giao diện ứng dime (APT)
13.2, ¥éu edu phi chive ning
© Déivéi ngudi ding
— Giao diện chương trình dễ tương tác và sử dụng,
—_ Hỗ trợ nhiều loại đâu đọc thể khác rửưau
—_ Ứng dụng trên thể có thể được cải lên nhiều loại thẻ Java khác nhan
œ- Đối với người phát triển
—_ Cỏ khả năng mở rộng thêm chức năng
1.4 Kết luận
Chương 1 của luận văn cưng cắp cái nhìn tổng quan về thê thông minh nói chung
và về hệ thông Java Card nói riêng Các thành phần của hệ thông Java Card được liệt kê trong chương này sẽ được mô tả chỉ tiết tại Chương 2.Nghiễn cửu vẻ hệ thong Iava Card của liận văn Cách thúc triển khai hệ thông để xuất sẽ được thé
hiện trang Chương 3 Triên khai hệ thẳng thử nghiệm
Trang 23
Nghiên cứu phát triển ứng đụng cho Java Card Nghiên cứu hệ thông Java Card
CHƯƠNG 2 NGHIÊN CỨU HỆ THÓNG JAVA CARD
2.1 Phần cứng thẻ chip
3.1.1 Giao diện vật lí
Về mặt vật lý, thẻ Java là loại thẻ thông minh tiếp xúc Các quy định về đặc tính vật lý, kích thước con chíp và sơ đồ chân của chip được liệt kê trong bộ tiêu chuẩn ISOMEC 7816 phan mét va hai: chip co 8 chân va được sắp xếp theo như hình 2.1
Các loại thẻ hoạt động ở các mức điện áp khác nhau được phân vào các lớp khác
Trang 24
Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
2.1.4.1 Chan VCC (C1)
Chân VCC cung cấp điện áp nguồn cho thẻ hoạt động
Bang 2-1 Băng đặc tính điện cửa Vec trong điều kiện binh thưởng
Lớp A, tân số hoạt dộng cực đại 60
2.1.1.3 Chân RST (C2) Chin RST cung cap tin hiệu khối đông lại tới chip
Bang 2-2 Băng đặc tính điện cửa RST trong điều kiện bình thường
Trang 25
Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Bang 2-3 Bảng đặc tỉnh điện cứa CLK trong đều kiện bình thường
Dién trd kéo len: 20 kQ tai Use 0.7 Use tác Vv
= ImA với lớp A và B
Ip, = 500 pA véi lop C
Trang 26Nghiên cứu phát triển ứng dụng cho Java Card Nghiên cửu hệ thông Java Card
3.1.1.6 Các chân còn lai (C4,C5,C8)
Chân C4, C§ chưa được sử dụng vả dùng dé lam các chân dự trữ
Chân C5 được dùng đẻ nổi dat
2.1.2 Cau tao phan cteng của chip
Với méi mét loai chip khac nhau ctia méi hang khác nhau sẽ cỏ câu tạo khác
nhau, trong khuôn khỏ luận văn chỉ phân tích các khỏi chức năng chỉnh câu tạo nên
mét con chip cé kha nang thực thi công nghệ Java Card Cu thé, con chip ding lam
đối tượng phân tích trong Juan van la chip THC20F17BD của hãng Tongfang có trụ
sở tại Bắc Kinh, Trung Quốc Câu trúc của chip được thể hiện trong hình 2.2
132kH
FLASH (S12BPP)
17BSN
2248 OTP
2kR1256B RAM
Với những loại thể thẻ hệ cũ đề có thẻ thực thi công nghệ Java Card, yêu câu tôi
thiểu về hiệu năng của chip có thể rất hạn chế ở mức: vi xử lý hoạt đông với xung
nhịp SMhz, bộ nhớ ROM 24KB, EEPROM 16KB, RAM 512 bytes Tuy nhiên, tới thời điểm hiện tại khả năng xử lý của các chip trên thẻ thông minh đã được cải thiện
rất nhiều về mặt hiệu suất cũng như bộ nhớ: xung nhịp của vì xử lý đã dat mite
20Mhz dén 30Mhz, dung long RAM dat 4B đền 8KB, bộ nho ROM va FLASH
dao động lớn từ 32KB đến 320KB tủy theo yêu câu sử dụng
Phùng Việt Anh, 12BKTĐT 17
Trang 27Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
2.1.8 Mô tâ các thành phẫn cña chịp
3.1.3.1 Khối xử lÿ trung tãm(CPU)
Các CPU trên thê chịp thông mình hiện nay có thể là chíp 8 bịt, 32 bit stk dung chủ yếu các tập lệnh ARM hoặc 8051 Chip THC20FI7BD sử dụng CPU TMCU 651 8 bịt với tập lệnh 8051 Trong CPU có các thanh ghỉ chúc năng đặc
biệt cho phép truy cập tới các thành phần phân cứng khác kết nỗi với CPU Các
thanh ghỉ chức răng Long chip THƠ20F17BD được liệt kê trong bằng 2.5
Bang 2-5.Bang thanh ghi cite ming trong chip THC20F17BD (Sip xép theo dia chi)
H8 | USK WBLE CBRE VDCON | HIMBK| UGKE | UCRE UCK
M | ACC | KNGETL | NNGDAT DCON
„ KHÍ BIAPT | EL, 8lAP2 HƠI,
ĐESDM | DESD | DESDé | DESD7
#H | DESDU | ĐĐSDI | DESDZ DESDS 5
Trang 28Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Bang 2-6, Bang mé ti thanh ghi PC
PC hlŠ ho
Gia trị| 0000h
khởi tạo
Chie ning | Thanh ghi 16 bítxác định địa chỉ tiệptheo của câu lệnh
Bảng 2-7 Bằng mô tả thanh ghi SP
SP b7 bo
Tên Stack Powter
Gia trị | 07h
khối lao
Chúc năng | Thanh ghỉ ngăn xếp 8 bít trỏ tới đẫu ngăn xếp,
Bảng 2-8 Bằng mô ta thanh ghi ACC
Trang 29Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Bang 2-10.Baug mo ti thanh ght PSW
DPTR«x bis L1 Tên Data Pointer
Gia trị | 0000h
khởi tạo
Chủc năng | Thanh ghi 16 bitxác định địa chỉ của bộ nhỏ ngoài (XDATA)
Bang 2-12 Bang ms ti thank ghi DPS
Trang 30Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
2.1.3.2 Bản đồ bộ nhớ Chip THC20F17BD hé tro hai chế độ bộ nhớ khác nhan là: Chế độ bd (Banking
Mode) và chế độ thường (Normal Mode)
Bộ nhỏ vật lý được quy chiếu vào bộ nhớ logic thông qua mạch điều khiển truy
nhập bộ nhớ (Memory Aocoss Control - MÁC) Vì xử lý trung lâm chỉ có thể truy
cập vào bộ nhớ vật lý từ không gian logie Các loại bộ nhớ vật lý trên chup bao gdm:
bộ nhớ FLASIL bộ nhớ lập trình một lần ÖTP, bộ nhớ truy nhập ngẫu nhiên R AM,
và các thanh phì chức năng SE,
Néu mét vùng nhớ vật lý được quy chiều vào một không gian logic duy nhất thì
vị xử lý trung tâm chỉ có thể Iruy nhập vào vùng vật lý đỏ thông qua không gian
logic tương ứng, Trong trường hợp một không gian vật lý được quy chiều vào nhiềư
han một khẳng gian logic, vi xử lý có thê truy nhập vào vùng nhé đỏ thông qua một
không gian logic bất kì được quy chiếu đó
Các loại bộ nhớ mỏ rộng như FLASH, RAM, thanh ghỉ chức năng mỏ rộng được gọi chưng là đữ liệu mô rộng (XDATA) và được phân bố theo bản đỗ bộ nhớ như
hình 2.3 (chế độ thưởng) và hình 2.4 (chế độ bờ) Trong chế dộ bờ, thanh ghí chức năng P3 dùng để quản lý các bờ được quy chiếu vào XDATA
Trang 31
Nghiên cửu phát triển ứng dụng cho Java Card
FFFFh
2000h
1000h 0800h 0000h
Nghiên cứu hệ thông Java Card
Hinh 2-3 Ban đồ bộ nhớ chip THC20F17BD ở chế do thudng[7]
Bang 2-13 Bang quy chiếu bộ nhớ mở rộng ở chế độ thường
Địa chỉ logic của bộ nhớ mở rộng Địa chỉ vật lý
Trang 32Nghiên ửu phát triển img dyng cho Java Card Neyhitn clu hé thong Java Card
Bang 2-14 Bảng quy chiếu bộ nhớ mở rộng ở chế độ bở
Trồng Trồng FLASH [20000h, 20FFEh] FT.ASH [I8000, IFFFFH]
FLASH [10000h, 17FFFA] FLASH [08000h, OFFFFal
Ba Thug | XDATA [2000h, 7FFFA] FLASH [02000h, 07FFFA]
XDATA 11000b, 1FFFAT Ext SFR [0000h, OOFFFh]
XDATA [0000b, O7 FFA] RAM [00000h, OO7FFh]
2.1.3.3, FLASH Chip TIIC20P17BD có 132KB bộ nhỏ FLASII được phân tách thánh 264 trang,
môi trang 512 bytes
Tê kéo đài tuổi thọ của bộ nhớ FLASII, các chương trình cần han chế việc chỉ tập trung ghỉ, xóa đữ liệu trên một số trang rhhất định
Để điểu khiển bé nhé FLASH, chip THC20F17BD sir dung 4 thanh ghi:
FL STS, FL SDP1, FL SDP2, FL CON
Trang 33
Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Bang 2-15, Bảng mô tả thanh ghi trang thai FLASH (FL_STS)
Gia try hoi tạo 00h
RFC bit du trữ
TV ERR | Cờ báo lỗixóa, được bật lên băng phần cứng và xóa bằng phân mêm
1: Có lỗi trong quá Irình xóa 0: Quá trình xóa bình thường,
T ERR Cỡ bảo lối quá trinh, được bật [én bằng phân cửng và xóa bằng phân
Tên thanh ghỉ xóa và lập trình số 1
Giá tị khối tạo 00h
Tên thanh ghi xóa và lập trình số 2
Giá in khối tạo 00h
Trang 34
Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Bảng 2-17 Bảng mô tô thanh ghỉ FL, CON
Gia try hoi tạo 00h
RFC bit du trữ
EV ERR | Xéc thie xéa phan cing
1: Cho phép 0: Không cho phép
00: Xóa trang 01: Dự trữ 10: Dự trữ 11: Dự trữ EMOD Chế độ xóa trang
0: Xóa thường, 1: Xóa nhanh
TMOD Chế độ nguôn Irorg quá Irình hoạt động của [lash
1: Vi xt ly ngimg va chip hoat động ở chế độ thấp O: Vi xit ly vin hoạt động?
Tién trinh xda trang FLASH:
1 Ghn 01h vào FT, CON.PMOI2
Ghi 00h vao SFR FL_CON.EMOD
Ghi 00h vao FL CON.ETYP Ghi Ol vao FL_CONEV_EN
Trang 35
Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Ghi 55h vao FL_SDP1 trudc réi ghi AAH vao FT_SDP2
Ghi TFH tới địa chỉ bắt dâu trong trang muốn xóa
Phát hiện FL ST8F OVER, khiF OVER =1 thì quả trình xóa kết thúc
Phat hién FL_STS.OP_ERR
Phái hiện ET, STS EV_ERR
Xóa thanh ghi FL_STS Tiến trình ghi FLASH:
1
Giỉ 01h vào FT, CON
Ghi AAh vio FL_SDP1 truderéighi 55hvao FL_SDP2 Ghi dữ liệu vào địa chỉ mong muốn
Thái hiện FT, STSEF OVER, khi F OVER - l thì quả trình xóa kết thúc
Phat hién FL_STSOP_ERR
Xóa cờ FL_STISF OVER
2.1.3.4 Ngắt
Chip TIIC20E17BD có 4 ngất la Timer0, ƯART, ETU Timer và FLASII va
được quản lý bằng 2 thanh ghi IE va IP Thanh giả 1E cho phép các loại ngắt có
được thựo thí hay không Thanh ghí IP tạo rnức đô tru tiên cho từng loại ngắt Có
hai mức độ ưu liên là mức cao hoặc Lhân Khi một loại ngãi có mức độ ưu liên cao
chưa kết thúc thi ngất mức độ thấp hơn sẽ dược chờ để xử lý mặc dù dã cỏ tin hiệu
ngắt tới
Bảng 2-18 Băng Hệt kê các loại ngãt
Trang 36Nghiên ửu phát triển img dyng cho Java Card
Bảng 2-19 Băng mỏ tả thanh ghi IE
Nghiên cứu hệ Không Tava Chrd
Gia try hoi tạo 00h
UART 1: Cho phép ngất UART, 0: không cho phép ngắt LART
Timer0 1: Cho phép ngất Timer0, 0: không cho phép ngất Tìmer0
TES T: Cho phép ngất DRỸ, 0: không cho phép ngất DES
Bang 2-20 Bảng mô tả thanh ghi IP
UART Tao wu Hénmule cao cho ngal UARI, gia tril hop lệ
Timer Tạo ưu tiên mức cao cho ngấi Tmner0, giá trị Ì hợp lệ
DES Tạo ưu tiên mức cao cho ngãi DES, giá trị Ì hợp lệ
Trang 37
Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Trong quá tỉnh hoạt động, vi xử lý sẽ xử lỷ ngất theo trình tự của 8051
«Trong quả trình xử ly mỗi lệnh, vì xử ly lấy mẫu các cở yêu câu ngãi
œ_ Vì xử lý sẽ xử lý các ngất có mức độ ưu tiên cao nếu không có các điển kiện
chặn là
©_ Ngất đã bị tắt bởi thanh phi IE ø— Vi xử lý đăng xử lý ngấi só mức độ ru tiên bằng hoặc cao hơn
œ_ Câu lệnh hiện tạt chưa được thực hiện xong,
6 Câu lệnh hiện lại đăng thực hiện dọc hoặc gin thanh ghì TE, IP
2.1.3.5 UART
Bé truyén nhận không đồng bd (UART) trén chip cho phép lớp vật lý có khả xử
lý và lớp liên kết dã liêu có thể truyền nhận các khung kỉ tụ được mỏ lã trong chuẩn
ISOVIBC 7816-3 Dé didu khiển các chúc năng của UART, vi xử lý sử dụng các
thanh ghi UBUF, USR, UCR, UCR2, UCR3, UIMSK, UBRC, P0
Bang 2-21 Bang mô tá thanh ght UBUF
UBUF b7 | hố | bề | b4 | b3 bz bl | bo
Tén UBUF
Gia in kha lao) Oh
Chie ning, Thanh ghi đệm truyền nhận
Trong trạng thải truyền, thanh ghí mày là bộ đệm cho byte truyền tiếp theo
Trong trạng thái nhận, thanh ghí nảy lả bộ đêm cho byte via
Giả trị khối tạo 01h
Trang 38
Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
OE Cờ báo tràn trong quá trinh nhận
1: byte méi da duge nhan trong khi byte trước đó chưa được đọc ra khôi UBUF
0: trạng thái bình thường,
TE Cờ báo lỗi chân lê
Trong giao thức T=0, sau khi kí tự được truyền:
1: số lượng lỗi chan lẽ vượt quả mức quy định tại các bịt UCR2.TRY
0: không có lỗi chẩn lễ
Trong giao thức T 1, sau khi nhận được khung kí tự
1: có lỗi chắn lẻ xuất hiện trong khung kí tự vừa nhận
0: không có lỗi chăn lẻ
REY Cò báo đây bộ đệm dùng trong quá trinh rhận
1: có một byte trong bộ nhớ đệm UBLLE 0: không có byte mới wong bộ đệm
TRE Cờ báo bộ đệm trông đúng trong quả trình truyền
1: byte trang bộ đệm UBUF đã được truyền; byte tiếp theo có thể
được nạp vào UBUF
Trang 39Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
TR Kích hoạt trạng thái truyên/nhận của UART
1: đưa phân cứng vào Irạng thái truyện 0: kích hoạt phần cứng để chuẩn bị nhậu
Giá Irị khôi tạo 07h
EGT Thời gian bảo vệ thêm
111-001: Thi gian bao vé thém bir 1~7 ctu 000: không, có thời gian bảo vệ thêm
TR Diễu khiển tự động gửi lại
111: gửi lại không giới hạn số lân
Trang 40Nehién cophat trién img dung cho Java Card Neyhitn clu hé thong Java Card
Bang 2-25 Bang mé ta thamh ghỉ UCR3
Gia try hoi tạo 00h
SEIT Cỡ đầu vào suồn xuống
1: đã nhận một sườn xuống,
0: chưa nhận được sườn xuống hoặc UIMSK.MSK SBIT =1
1T 1 0:T=0 WES Điều khiển đệ rộng tín hiệu lỗi
1:2etu 0:1etu
Bang 2-26 Bang mé tả thanh ghi UIMSK
MSK_OF | Điểu khiến ngất OE