NGHIÊN CỨU PHÁT TRIỂN CÁC DỊCH VỤ TRONG THIẾT BỊ DI ĐỘNG TRÊN NỀN CÔNG NGHỆ SIM TOOLKIT VÀ KHẢ NĂNG ỨNG DỤNG VÀO MẠNG VIỄN THÔNG VIỆT NAM Nội dung của luận văn gồm ba chương: Chương 1: Công nghệ phát triển ứng dụng trên thiết bị di động Chương 2: Kiến trúc và giải pháp trên nền công nghệ SIM Toolkit Chương 3: Phát triển phần mềm trên nền SIM ToolKit và khả năng ứng dụng vào mạng viễn thông Việt Nam
Trang 1THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-ĐÀO VIỆT DŨNG
NGHIÊN CỨU PHÁT TRIỂN CÁC DỊCH VỤ TRONG THIẾT BỊ DI ĐỘNG TRÊN NỀN CÔNG NGHỆ SIM TOOLKIT VÀ KHẢ NĂNG ỨNG DỤNG VÀO MẠNG
VIỄN THÔNG VIỆT NAM
LUẬN VĂN THẠC SỸ KỸ THUẬT
HÀ NỘI - 2008
Trang 2THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-ĐÀO VIỆT DŨNG
NGHIÊN CỨU PHÁT TRIỂN CÁC DỊCH VỤ TRONG THIẾT BỊ DI ĐỘNG TRÊN NỀN CÔNG NGHỆ SIM TOOLKIT VÀ KHẢ NĂNG ỨNG DỤNG VÀO MẠNG
VIỄN THÔNG VIỆT NAM
CHUYÊN NGÀNH : KỸ THUẬT ĐIỆN TỬ
MÃ SỐ:23.0 60.52.70 4.3898
LUẬN VĂN THẠC SỸ KỸ THUẬT
Người hướng dẫn khoa học : PGS.TS.NGUYỄN QUANG HOAN
Trang 4đã hỗ trợ và giúp đỡ tôi trong quá trình hoàn thành quyển luận văn này.
Tôi muốn gửi lời cám ơn đặc biệt tới PGS TS Nguyễn Quang Hoan, ngời đã gợi ý cho tôi hớng nghiên cứu của
đề tài, ngời đã đa ra những nhận xét quý giá và trực tiếp hớng dẫn tôi trong quá trình nghiên cứu.
Cuối cùng, tôi xin gửi những lời cám ơn chân thành nhất tới gia đỡnh, anh em và bè bạn của tôi, những ngời đã có nhiều động viên, khuyến khích tôi trong cuộc sống cũng
nh trong học tập.
Hà nội 10 -2008
Trang 51.1.1 Sự tăng trưởng thuê bao di động trên thế giới 1
1.1.2 Bùng nổ mạng di động tại Việt Nam 4
1.1.3 Nhu cầu sử dụng dịch vụ của các thuê bao di động 5
1.2 Tổng quan về các công nghệ phát triển dịch vụ cho thiết bị di động 6
1.2.1 WAP (Wireless Application Protocol) 6
1.2.2 J2ME (Java 2 Mobile Edition) 7
1.2.3 Mobile AppForge 8
1.2.4 SIM Toolkit 8
1.3 Kết luận chương 1 9
Chương 2 - KIẾN TRÚC VÀ GIẢI PHÁP TRÊN NỀN CÔNG NGHỆ SIM TOOLKIT .10 2.1 SIM Toolkit 10
2.1.1 Khái niệm về SIM Toolkit 10
2.1.2 Các chức năng của SIM Toolkit 10
2.1.3 Nguyên lý hoạt động của thẻ SIM 11
2.1.4 Kiến trúc SIM Toolkit Framework 13
2.1.5 Các cơ chế của SIM Toolkit 15
2.1.6 Công nghệ OTA và ứng dụng trong SIM Toolkit 18
2.1.7 File dữ liệu GSM 20
2.1.8 Tính bảo mật trong SIM Toolkit 22
2.1.9 Các công cụ lập trình cho SIM 26
2.2 Java Card 27
2.2.1 Định nghĩa 27
2.2.2 Các thành phần của Java Card 28
2.2.3 Mô hình chuyển đổi từ file nguồn Java sang Applet trong SIM 29
2.2.4 Java Card Applet và Java Card Runtime Environment 30
2.2.5 Các hàm chuẩn của Java Card 32
2.2.6 Java Card RMI 34
2.3 SIM Toolkit Applet 36
2.3.1 Định nghĩa 36
2.3.2 Cấu trúc SIM Toolkit Applet 36
2.4 Mô hình phát triển ứng dụng SIM Toolkit 38
2.4.1 Mô hình phát triển ứng dụng 38
2.4.2 Các bước xây dựng phần mềm 40
2.5 Lập trình với các hàm giao diện của SIM Toolkit 42
2.5.1 Tạo và gửi lệnh Proactive Command 42
2.5.2 Các lệnh quản lý sự kiện 42
2.5.3 Đọc nội dung file GSM 43
2.5.4 Nhận và gửi bản tin SMS 43
2.5.5 Mã hoá và giải mã dữ liệu 44
2.6 Kết luận chương 2 44
Chương 3 - PHÁT TRIỂN PHẦN MỀM TRÊN NỀN SIM TOOLKIT VÀ KHẢ NĂNG ỨNG DỤNG THỰC TẾ VÀO MẠNG VIỄN THÔNG VIỆT NAM 46
3.1 Đặt bài toán 46
3.1.1 Tính cần thiết của bài toán 46
3.1.2 Phát biểu bài toán 46
Trang 63.2.1 Mô hình kiến trúc hệ thống 47
3.2.2 Mô hình chức năng 49
3.2.3 Lưu đồ hoạt động của một phiên thực hiện thanh toán cước 50
3.3 Thiết kế giao diện trên điện thoại di động 50
3.4 Xây dựng chương trình thử nghiệm 51
3.4.1 Xây dựng các mô đun ứng dụng và tính bảo mật của ứng dụng trong SIM 51
3.4.2 Các mô đun của ứng dụng trên STK Gateway 53
3.5 Một số giao diện chương trình ứng dụng trên điện thoại 55
3.5.1 Giao diện chính của ứng dụng 55
3.5.2 Giao diện truy vấn thông tin tài khoản 55
3.5.3 Giao diện xem thông tin cước của thuê bao di động 57
3.5.4 Giao diện thanh toán cước thuê bao di động 58
3.6 Triển khai thử nghiệm 59
3.7 Kết luận chương 3 59
TÀI LIỆU THAM KHẢO 62
PHỤ LỤC 63
Phụ lục A – Danh sách tham số trong lệnh Proactive Command 63
Phụ lục B – Cấu trúc thông tin trong Terminal Profile 65
Phụ lục C – Mã nguồn chương trình 67
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
BER-TLV Basic Encoding Rules-Tag Length Value
EEPROM Electrically Erasable Programmable Read-Only Memory
ETSI European Telecommunications Standards Institute
Trang 8LSA Localised Service Area
SMS-PP Short Message Service – Point to Point
Trang 9DANH MỤC CÁC HÌNH VẼ
Hình 1 Biểu đồ thuê bao di động so với các thuê báo khác tại các khu vực 1
Hình 2 Biểu đồ phát triển di động từ năm 1997-2007 2
Hình 3 Chia sẻ thị trường di động trên thế giới 3
Hình 4 Chia sẻ thị trường di động trên Việt Nam 5
Hình 5 Kiến trúc thẻ SIM trên điện thoại di động 11
Hình 6 Ứng dụng trên thẻ SIM hoạt động khi bật nguồn 12
Hình 7 Giao tiếp giữa thẻ SIM và thiết bị di động 12
Hình 8 Kiến trúc và mô hình hoạt động trên nền SIM Toolkit 13
Hình 9 Kiến trúc của Applet Triggerring 14
Hình 10 Cấu trúc BER-TLV theo chuẩn 3GPP-TS 03.48 14
Hình 11 Kiến trúc hệ thống OTA 19
Hình 12 Cấu trúc file dữ liệu GSM 21
Hình 13 Mô hình bảo mật trong SIM Toolkit 22
Hình 14 Mô hình thuật toán DES 24
Hình 15 Cấu trúc tổng thể của nền Java 27
Hình 16 Kiến trúc tổng quan của Java Card 28
Hình 17 Quá trình biến đổi file Java thành Applet trong Smart Card 29
Hình 18 Đặc tính bảo mật trong Java Card 31
Hình 19 Cấu trúc APDU điều khiển 31
Hình 20 Kiến trúc Java Card RMI 35
Hình 21 Mô hình hệ thống ứng dụng trên nền SIM Toolkit 38
Hình 22 Qui trình xây dựng ứng dụng SIM Toolkit 40
Hình 23 Kiến trúc tổng thể của hệ thống 48
Hình 24 Mô hình chức năng nghiệp vụ 50
Hình 25 Lưu đồ hoạt động của một phiên thực hiện thanh toán cước 50
Hình 26 Giao diện chính của ứng dụng trên di động 55
Hình 27 Giao diện truy vấn thông tin tài khoản ngân hàng 55
Hình 28 Giao diện xem thông tin cước của thuê bao di động 56
Hình 29 Thanh toán cước thuê bao điệnt thoại qua tài khoản ngân hàng 57
Hình 30 Giao diện lập trình mô phỏng Sim Toolkit 58
Hình 31 Giao diện mô phỏng “ Mobile Simulation GSM” 58
Hình 32 Giao diện mô phỏng “Simulation Chain 2G” 59
Trang 10MỞ ĐẦU
Một trong những nhu cầu thiết yếu của con người hiện nay là nhu cầu đượctrao đổi thông tin Cùng với sự phát triển như vũ bão của các thành tựu khoa họccông nghệ nói chung, công nghệ thông tin được xem là một trong những ngànhcông nghệ mũi nhọn Nhờ đó, nhu cầu thông tin của con người ngày càng được thoảmãn
Các thiết bị thông tin cố định được thay thế dần bằng các thiết bị cá nhân diđộng đang trở nên hết sức quen thuộc với cuộc sống hiện đại ngày nay Đặc biệtđiện thoại di động đã trở thành phương tiện thông tin liên lạc tiện lợi không thểthiếu Hiện nay, số lượng người sử dụng đang tăng nhanh, nhu cầu sử dụng các dịch
vụ mới cũng ngày càng tăng Bởi vậy, thị trường thông tin dành cho các thiết bị diđộng đầu cuối ngày càng phát triển
Các thiết bị đầu cuối di động như điện thoại cầm tay, máy nhắn tin, truyềnhình Internet, PDA đã và đang trở nên rất phổ biến Với sự phát triển các thiết bị diđộng, các công nghệ sử dụng để xây dựng các ứng dụng trên các thiết bị này cũngthay đổi theo từng ngày
Các ứng dụng được xây dựng cho các thiết bị di động đầu cuối dựa vào bộcông cụ phát triển trên thiết bị đó Các bộ công cụ thì có nhiều nhưng có thể chia ralàm hai dòng công nghệ chính là các công nghệ của Microsoft và công nghệ sửdụng các phiên bản Java của Sun Microsystems Với khả năng lập trình mạnh vàphổ biến của ngôn ngữ Java, việc xây dựng, phát triển các ứng dụng đang trở nênđơn giản hơn nhiều
Đề tài “Nghiên cứu phát triển các dịch vụ trong thiết bị di động trên nền
công nghệ Sim Toolkit và khả năng ứng dụng vào mạng viễn thông Việt Nam”
nhằm nghiên cứu về công nghệ lập trình ứng dụng cho thẻ SIM của điện thoại diđộng phase 2+ Đây là một công nghệ còn khá mới mẻ tại Việt Nam, là công cụdành cho các nhà khai thác mạng di động (Network Operator) Công nghệ này chophép các nhà khai thác mạng di động phát triển và cung cấp các dịch vụ giá trị giatăng, các ứng dụng thương mại điện tử cho các thuê bao của họ một cách mềm dẻo
Nội dung của luận văn gồm ba chương:
Chương 1: Công nghệ phát triển ứng dụng trên thiết bị di động
Chương 2: Kiến trúc và giải pháp trên nền công nghệ SIM Toolkit
Chương 3: Phát triển phần mềm trên nền SIM ToolKit và khả năng ứng dụngvào mạng viễn thông Việt Nam
Trang 11Chương 1 - CÔNG NGHỆ PHÁT TRIỂN ỨNG DỤNG TRÊN
THIẾT BỊ DI ĐỘNG
1.1 Tổng quan về thị trường di động
Sự tăng trưởng thuê bao di động trên thế giới
Trong những năm trở lại đây, thị trường các thiết bị di động đầu cuối pháttriển rất mạnh mẽ, đã tạo ra một bước ngoặt lớn trong lĩnh vực thông tin di động vàtruyền thông Hiện nay, có thể liệt kê ra có rất nhiều hãng cung cấp các thiết bị diđộng đầu cuối nổi tiếng như điện thoại di động Nokia, Motorola, Samsung, Alcatel,Fujitsu, Mitsubishi, Siemens, Sony Ericssion và các hãng máy tính cầm tay như:Palm, Pocket PC
Theo kết quả thống kê hiệp hội GSM: thuê bao điện thoại di động trên toànthế giới đã đạt con số 3,3tỷ (trong đó 2.571.563.279 người đang sử dụng công nghệ
di động GSM và CDMA có 4.214 triệu ) tương đương với 1/2 dân số thế giới(6.634.294.193 ) vào ngày 29/11/2007 – sau 26 năm ngày mạng di động đầu tiêntrên thế giới được thiết lập Trong năm 2007, cả thế giới đã tiêu thụ được 1,144 tỷđiện thoại, tăng 12,4% so với năm 2006
Hình 1 Biểu đồ thuê bao di động so với các thuê báo khác tại các khu vực
Trang 12Hình 2 Biểu đồ phát triển di động từ năm 1997-2007
Về thị phần di động, năm ngoái, Samsung đã vượt qua Motorola để trở thànhhãng sản xuất điện thoại lớn thứ hai thế giới, đứng sau Nokia Samsung đã pháttriển nhanh gấp 4 lần toàn bộ thị trường nhờ những model đời cao được xuất xưởngsang Mỹ và khu vực châu Âu Trong khi đó, Motorola phải dành trọn một năm đểthanh lý hàng tồn kho tại thị trường châu Âu và châu Á Đến bây giờ, Motorola mớibắt đầu mở rộng bộ sưu tập của mình bằng những model đời mới Trong năm nay,chúng ta sẽ được chứng kiến một cuộc đua rất quyết liệt tranh dành vị trí thứ haitrên thị trường, theo IDC
Tuần trước, Nokia công bố sản lượng điện thoại bán ra trong quý IV/2007của hãng lớn hơn tổng sản lượng của 3 “đàn em” gộp lại: Samsung, Motorola vàSony Ericsson Mỗi ngày, Nokia sản xuất được 1,5 triệu điện thoại
Theo thống kê của IDC, thị phần của Nokia trong quý IV/2007 đạt 40%,Samsung - 13,9%, Motorola - 12,2%, Sony Ericsson - 9,2%, và LG Electronics -7,1%
Trang 13Hình 3 Chia sẻ thị trường di động trên thế giới
Sản phẩm của các hãng, các nhà cung cấp thiết bị rất phong phú, đa dạng,nhiều chủng loại tính năng khác nhau nhưng có thể phân ra làm hai loại chính là:
Điện thoại di động: Nokia, Motorola, Samsung, LG v.v…
Máy tính cầm tay: Palm, Pocket PC, Smart Phone v.v…
Xu hướng phát triển của các loại thiết bị cầm tay là tăng các tính năng củathiết bị, để các thiết bị có khả năng hoạt động như một máy tính Ngoài các tínhnăng truyền thống còn có các tính năng mới như: truy cập Internet, khả năng nạp vàchạy các ứng dụng mang tính thương mại như: tìm kiếm thông tin, thương mại điệntử
Mục tiêu chính của các nhà quản lý và khai thác mạng di động (NetworkOperator) là tăng số lượng thuê bao Điều này chỉ có thể nhận được bằng sự kết hợpcác chiến lược như:
Tăng độ tin cậy và trung thành của khách hàng
Tăng lưu lượng sử dụng thông qua các dịch vụ giá trị gia tăng hấp dẫn trênmạng lưới
Tạo sự khác biệt qua hệ thống chăm sóc khách hàng và cách thức cung cấpdịch vụ
Xây dựng các dịch vụ giá trị gia tăng tương thích, độc lập với thiết bị di độngcủa khác hàng
Trong những năm gần đây, công nghệ dẫn đầu để cung cấp các dịch vụ giátrị gia tăng trong mạng GSM và đáp ứng được các điều kiện cần thiết trên là côngnghệ SIM Toolkit Công nghệ này đã được chuẩn hoá quốc tế trong GSM 11.14.Việc áp dụng công nghệ SIM Toolkit cho phép các nhà quản trị mạng di động có
Trang 14thể cung cấp cho các thuê bao của mình một loạt các ứng dụng đa dạng, phong phú
và mềm dẻo
Vào năm 1999, có khoảng 20% nhà quản trị mạng di động (NetworkOperator) GSM sử dụng công nghệ SIM Toolkit sử dụng nền này để phân phối cácdịch vụ giá trị gia tăng của họ, và vào cuối năm 2000 con số này đã là 50%
Theo thống kê của tổ chức SIMAlliance vào cuối năm 2005, xấp xỉ 90% tất
cả các Handset GSM đã tương thích với chuẩn phase 2+ Đây chính là cơ hội rất lớncho phép phát triển các dịch vụ dựa trên công nghệ này
Bùng nổ mạng di động tại Việt Nam
Thị trường thông tin di động trong nước trong thời gian gần đây đang cạnhtranh rất sôi động giữa 7 nhà cung cấp dịch vụ như Vinaphone, Mobifone, Viettel,
EVN Telecom, SPT, HTC,GTel qua đó thúc đẩy thị trường di động đạt mức tăng
trưởng nhanh Tạp chí Telecom Asia xếp thị trường di động Việt Nam là một trong
10 nước đạt tốc độ tăng trưởng nhanh nhất thế giới Trên bảng xếp hạng phát triểnviễn thông châu Á, BMI xếp thị trường viễn thông Việt nam đứng thứ 13 (sau TháiLan) về cả quy mô và tốc độ phát triển của cả linh vực cố định, di động và Internet.Tốc độ tăng trưởng vượt bậc trên là hệ quả của việc gia nhập WTO
Các mạng di động của Việt Nam hiện thời vẫn theo chuẩn 2G hay 2.5 Gcung cấp chủ yếu dịch vụ thoại và một số loại dịch vụ giá trị gia tăng như SMS,WAP, GPRS Hiện các nhà khai thác di động đang tập trung chuyển đổi sang mạng3G, nhưng với tốc độ chậm chạp do còn gặp nhiều khó khăn về dịch vụ nội dungthông tin và thiết bị đầu cuối đắt đỏ Dự kiến đến 2011, thị trường dịch vụ 3G đạtkhoảng 3 triệu thuê bao chiểm 6% tổng thuê bao di động
Theo thống kê mới đây của Bộ Thông tin và Truyền thông (TT&TT), chỉtính riêng với dịch vụ thông tin di động, số thuê bao đã lên tới trên 48 triệu, tươngđương với mật độ 56,5% máy di động/100 dân Trong đó 2 mạng di động củaVNPT chiếm 53% thị phần, Viettel chiếm 41% thị phần, các mạng còn lại như S-Fone, EVN Telecom và HT Mobile chiếm khoảng 6% thị phần còn lại Trong khi
đó, báo cáo tổng kết năm 2007của Bộ TT&TT cho thấy tổng số thuê bao cả di động
và cố định cũng chỉ đạt 46,94 triệu thuê bao, tương đương với 55,22 máy/100 dân
VNPT không ngừng đầu tư, phát triển mạng lưới, mở rộng dung lượng tổngđài, nhằm đáp ứng kịp thời tốc độ phát triển thuê bao và nhu cầu liên lạc của kháchhàng Đến nay, VNPT đã có tổng số 27 triệu thuê bao di động trên hai mạng
Trang 1541%
6%
Vina+Mobile VietTel SPhone+EVN+HTC
Trong Hội nghị Viễn thông Quốc tế Việt Nam 2008 được tổ chức từ ngày12-13/6/2008 tại Hà Nội, Thứ trưởng Thường trực Bộ Thông tin và Truyền thông
Lê Nam Thắng đã nhấn mạnh đánh giá của Liên minh Viễn thông Quốc tế (ITU):
“Trong những năm gần đây, Việt Nam là một trong những nước có tốc độ tăngtrưởng viễn thông cao nhất trên thế giới.” Công ty tư vấn viễn thông RJB cũng đưa
ra những nhận xét tích cực: Việt Nam là một ngôi sao mới đang nổi lên trong khốicác nền kinh tế ASEAN về phát triển mạng băng rộng, và tốc độ tăng trưởng viễnthông của Việt Nam sẽ vẫn tiếp tục tăng nhanh Công ty này còn dự đoán đến năm
2012, thị trường viễn thông Việt Nam sẽ có khoảng 89 triệu thuê bao di động (tứcmật độ di động sẽ lên tới 99%)
Nhu cầu sử dụng dịch vụ của các thuê bao di động
Để áp dụng khi triển khai ứng dụng vào thị trường Việt Nam cần chú ý đếnyếu tố nhu cầu của khách hàng Điều đó sẽ quyết định đến hướng áp dụng cũng nhưqui mô phạm vi của ứng dụng Thị trường viễn thông Việt Nam còn khá non trẻtrong lĩnh vực không dây
Hiện nay, có hai loại dịch vụ đang được chú trọng là dịch vụ giá trị gia tăng
và dịch vụ thương mại điện tử trên mạng di động
1.1.1 Dịch vụ giá trị gia tăng
Các dịch vụ giá trị gia tăng trên mạng di động đang được phát triển mạnhnhư các dịch vụ cho phép người sử dụng điện thoại di động tải các ứng dụng nhưRingtones, Logo, hoặc các dịch vụ tra cứu thông tin như thông tin ngân hàng, thờitiết, chương trình vô tuyến Đặc điểm của loại hình dịch vụ này hoạt động theo môhình Client/Server Các dịch vụ này có thể được cập nhật trên Server của nhà cungcấp dịch vụ
Trang 16Tuy nhiên, xu hướng sắp tới là thay thế các loại hình dịch vụ tra cứu truyềnthống (tra cứu qua nhắn tin SMS) bằng việc xây dựng một ứng dụng trong SIM.Ứng dụng này đưa ra dưới dạng thực đơn thân thiện với người sử dụng Nhờ đó, nókhắc phục được một số hạn chế như người dùng không phải nhớ cấu trúc lệnh và từkhoá Hơn nữa, việc kiểm tra lỗi dịch vụ có thể được đưa ra ngay khi người sử dụngnhập thông tin từ thiết bị di động.
1.1.2 Dịch vụ thương mại điện tử
Các dịch vụ thương mại điện tử qua thiết bị di động hiện nay gặp một khókhăn lớn như sự hạn chế về vấn đề bảo mật Với thế mạnh của mình, ứng dụng SIMToolkit đã khắc phục được hạn chế này
Song song với công nghệ WAP, công nghệ SIM Toolkit được đánh giá là cótiềm năng lớn trong việc phát triển dịch vụ thương mại điện tử trên mạng di động
1.2 Tổng quan về các công nghệ phát triển dịch vụ cho thiết bị di động
Cùng với sự phát triển của các loại thiết bị di động, các công nghệ áp dụng
để tạo lập ứng dụng trên mạng di động phát triển rất nhanh chóng, Nhờ đó, đã tạo ramôi trường thuận lợi trong việc phát triển ứng dụng một cách đa dạng và phongphú
Tuy ra đời muộn so với hệ thống thông tin hữu tuyến nhưng tốc độ phát triểncủa hệ thống mạng thông tin di động cao hơn rất nhiều Nguyên nhân là do hệ thốngnày phù hợp với xu hướng phát triển của thời đại và nhu cầu của thị trường
Theo biểu đồ trên các thuê bao sử dụng công nghệ điện thoại tế bào tăngtrưởng nhanh Công nghệ GSM được sử dụng chủ yếu ở Tây Âu, và Châu Á, phầnlớn ở Trung Quốc Công nghệ CDMA tiếp tục được áp dụng rộng rãi tại Mỹ và bắtđầu thâm nhập thị trường Châu Á với tốc độ khá nhanh Hai chuẩn về thông tin diđộng tế bào khác là IS-136 TDMA và chuẩn PDC (Personal Digital Cellular) củaNhật không được phát triển mạnh trên thị trường và đang có dấu hiệu suy giảm
Ngày nay, nhiều hệ thống điện thoại tế bào trên thế giới từ thế hệ thứ haiđang chuyển dần sang điện thoại thế hệ thứ ba để có thể cung cấp các dịch vụ mớinhư: Wireless Video, Internet Web Browsing Ít nhất có ba chuẩn 3G được triểnkhai là: W-CDMA, chuẩn này được biết đến ở Châu Âu như hệ thống UMTS(Universal Mobile Telephone Service),CDMA2000 là chuẩn được phát triển từmạng CDMA-One [3] và TD-SCDMA
Sau đây là một vài bộ công cụ, giao thức chính hiện đang phổ biến trên thếgiới được áp dụng để xây dựng ứng dụng cho các các thiết bị di động đầu cuối
WAP (Wireless Application Protocol)
WAP [7] ra đời từ năm 1997 với mục đích tích hợp dịch vụ World WideWeb trong điện thoại di động Nokia, Motorola, Ericssons, Unwire Planet chính là
Trang 17các nhà cung cấp điện thoại di động đi đầu trong việc phát triển các phiên bản đầutiên của WAP
WAP là một chuẩn hỗ trợ cho lập trình ứng dụng không dây Phần quantrọng nhất của WAP là WAP Gateway Wap Gateway thực chất là một cổng giaotiếp giữa mạng Wireless và mạng Internet Như đã biết, trước khi có Wap Gatewaythì việc trao đổi thông tin giữa hai mạng này là rất khó khăn Internet là một kho dữliệu khổng lồ trong khi các ứng dụng không dây lúc đó chưa có cách nào để tiếp cậnvới kho dữ liệu ấy Wap Gateway ra đời nhằm giải quyết vấn đề đó Như vậy, WapGateway là một cầu nối giữa mạng không dây và Internet
Thiết bị di động muốn truy nhập tới Internet cần quay số tới WAP Gateway.Sau đó, điện thoại sẽ được cung cấp một địa chỉ IP và có thể truy nhập Internet nhưmột máy tính bình thường WAP ra đời tạo ra một hướng mở mới cho phép pháttriển các ứng dụng mới cho điện thoại di động nói riêng hay các thiết bị di động đầucuối nói chung
Hiện nay tại Việt Nam, ba nhà cung cấp điện thoại di động chính là GPC,VMS và Viettel cũng đã đưa Wap Gateway 2.0 vào sử dụng Đó chính là nhữngthuận lợi rất lớn để phát triển các ứng dụng không dây cho các đầu cuối di động
J2ME (Java 2 Mobile Edition)
J2ME [9] không phải là công nghệ tạo lập ứng dụng cho thiết bị di động đầutiên dựa trên nền Java Trước đó, hãng Sun Microsystems đã đưa ra hai công nghệ
là PersonalJava và EmbeddedJava, cho phép xây dựng ứng dụng Java chạy trên cấuhình phần cứng tương đối lớn
Các ứng dụng J2ME chạy trên các thiết bị cầm tay phải có khả năng thíchứng về các hạn chế của cấu hình thiết bị như dung lượng bộ nhớ thấp, màn hìnhhiển thị nhỏ, bộ vi xử lý tốc độ thấp Khác với SIM Toolkit, ứng dụng J2ME đượccài đặt trên thiết bị cầm tay Trong khi đó, ứng dụng SIM Toolkit được cài đặt trênSIM
J2ME được cấu thành bởi ba thành phần chính: Configuration, Profile và cácgói tuỳ chọn
Configuration chính là môi trường chạy Java đầy đủ, bao gồm: máy ảo Java,
bộ mã giao tiếp, tập các lớp cơ bản của Java
Profile kết hợp với Configuration để tạo thành bộ phận hoàn chỉnh có thể hỗtrợ đầy đủ cho thiết bị di động Hầu hết Profile đều định nghĩa lớp giao diện chophép xây dựng ứng dụng giao tiếp
Các gói tuỳ chọn là một tập các API có khả năng thực hiện các nhiệm vụkhông thuộc Configuration và Profile cụ thể nào Ví dụ các lớp hỗ trợ Bluetoothđược xem là một trong những lớp tuỳ chọn
Mobile AppForge
Mobile AppForce [3] do Microsoft phát triển với công cụ là MobileVB đượctích hợp trực tiếp trong Visual Basic tạo ra công cụ hỗ trợ phát triển các ứng dụng
Trang 18cầm tay Mobile AppForce hỗ trợ trên 90% thiết bị cầm tay trên thế giới với 3platform là Palm OS, Pocket PC và Symbian OS.
Ưu điểm nổi bật của Mobile AppForce là dễ sử dụng do phát triển trên môitrường Visual Basic Nó cho phép phát triển nhiều loại ứng dụng: các ứng dụngchạy trên các máy đơn hay các ứng dụng mạng kết nối qua mạng không dây phục
vụ cho các lĩnh vực thư tín, thương mại điện tử, tra cứu thông tin Tuy nhiên,MobileVB có hạn chế là hỗ trợ chủ yếu các loại máy tính cầm tay như Palm hayPocket PC Trong khi đó, điện thoại di động chỉ được hỗ trợ ở một số loại nhưNokia, Communicator 9210, Sony Ericsson P800
SIM Toolkit
SIM Toolkit [3] là một công cụ hữu hiệu dành cho các nhà khai thác mạng diđộng để phát triển và cung cấp các dịch vụ giá trị gia tăng tới các thuê bao của họmột cách nhanh chóng và hiệu quả SIM Toolkit cho phép các ứng dụng trên SIM
có thể tương tác và điều khiển bất kỳ thiết bị di động nào hỗ trợ các đặc tính đó.Các đặc tính chính này bao gồm: Profile Download, Proactive SIM, tải dữ liệu vềSIM, lựa chọn thực đơn, điều khiển cuộc gọi, bảo mật
Việc so sánh SIM Toolkit với công nghệ khác để phát triển các dịch vụ giátrị gia tăng trên điện thoại di động thường được các chuyên gia so sánh với côngnghệ WAP (Wireless Application Protocol)
WAP và SIM Toolkit, cả hai đều có thể cung cấp cơ sở hạ tầng cho thươngmại điện tử di động nhưng theo hai xu hướng khác nhau
SIM Toolkit được sử dụng cho các ứng dụng cần độ tin cậy cao như BankingMobile và các dịch vụ thông tin tĩnh hơn như Hotline, Company Dictionary vàYellow Page WAP sẽ được sử dụng cho các dịch vụ động hơn như: tìm kiếmInternet, các dịch vụ truy nhập thông tin thay đổi
Hệ thống SIM Toolkit có nhiều ưu điểm hơn so với WAP Dịch vụ “MobileBanking” trên hệ thống WAP đã tồn tại nhưng còn nhiều điểm hạn chế như: tínhcồng kềnh trong cài đặt, giới hạn về giá cả cao, yêu cầu mô hình thiết bị di độngmới Ngoài ra, trong vấn đề bảo mật các dịch vụ thương mại điện tử, WAP thực sựkhông an toàn Kiến trúc bảo mật của WAP là chưa được chứng minh còn SIMToolkit sử dụng công nghệ thẻ thông minh (Smart Card) đã được chứng minh vàđảm bảo cho các ứng dụng thương mại điện tử
Tuy nhiên, theo các nhà phân tích cả SIM Toolkit và WAP sẽ cùng tồn tạinhư các nền khác nhau cho các ứng dụng thương mại điện tử trong nhiều năm tới
1.3 Kết luận chương 1
Hiện nay, trên thị trường Việt Nam có 07 nhà cung cấp dịch vụ di độngchính đó là VinaPhone, MobiFone, SFone, Viettel, EVN Telecom, Hanoi Telecom.Trong đó VinaPhone, MobiFone ,Viettel và HaNoi Telecom có các đầu cuối diđộng được sử dụng theo chuẩn GSM với tất cả các thiết bị đầu cuối này đều thuộcthế hệ 2 và hỗ trợ các dịch vụ giá trị gia tăng có hỗ trợ SIM Toolkit Vì vậy, việc
Trang 19triển khai hệ thống SIM Toolkit rất có tính khả thi, khách hàng chỉ cần mua một thẻSIM mới có hỗ trợ SIM Toolkit, các nhà cung cấp dịch vụ sẽ nạp các ứng dụng mớivào SIM thông qua OTA cho các thuê bao.
Số lượng người sử dụng điện thoại di động tại Việt Nam khoảng gần 50 triệuthuê bao Do đó, việc phát triển các ứng dụng SIM Toolkit là một hướng đi rất cótriển vọng Bất kỳ nhà khai thác nào triển khai công nghệ SIM Toolkit sớm sẽ rấtthuận lợi cho việc cạnh tranh nhằm thu hút các thuê bao về phía mình Công nghệnày cho phép cung cấp các dịch vụ mới nhanh chóng, kích thích nhu cầu sử dụngdịch vụ của khách hàng, tăng doanh thu cho các nhà khai thác mạng
Từ những phân tích, so sánh giữa các công nghệ nền tảng đã nêu ở phần trên,việc xây dựng ứng dụng sẽ tập trung vào các điểm mấu chốt sau:
Nghiên cứu công nghệ SIM Toolkit trên nền Java, phân tích khả năng đápứng yêu cầu về tính bảo mật
Xây dựng mô hình hệ thống kết nối theo chuẩn J2EE áp dụng cho bài toánthương mại điện tử trên thiết bị di động
Từ kết quả đạt được đưa ra các khuyến nghị áp dụng cho các nhà quản lý vàkhai thác mạng di động ở Việt Nam để tăng lợi nhuận trong việc gia tăng các dịch
vụ trên mạng viễn thông
Trang 20Chương 2 - KIẾN TRÚC VÀ GIẢI PHÁP TRÊN NỀN CÔNG
NGHỆ SIM TOOLKIT
2.1 SIM Toolkit
Khái niệm về SIM Toolkit
Với xu hướng tích hợp các dịch vụ, một chiếc điện thoại di động không chỉ
sử dụng thông tin đơn thuần nữa mà được tích hợp nhiều chức năng khác như: nhắntin, tra cứu thông tin, tải dữ liệu trên mạng, truy cập mạng Internet Các dịch vụ trênđược xây dựng dựa trên việc tích hợp các công nghệ khác nhau như: SMS, WAP,J2ME, SIM Toolkit [3]
SIM Toolkit bao gồm một tập các lệnh và thủ tục hỗ trợ các ứng dụng trênthẻ SIM, cho phép tương tác và điều khiển bất kỳ thiết bị di động nào hỗ trợ các đặctính đó Các đặc tính chính này bao gồm: Profile Download, Proactive SIM, tải dữliệu về SIM, lựa chọn thực đơn, điều khiển cuộc gọi, bảo mật
Nhờ những đặc tính trên, ứng dụng được nạp vào SIM thuận lợi qua OTA(Over The Air) mà không cần khách hàng phải mang thẻ SIM đến các đại lý Hơnnữa, dựa trên công nghệ SIM Toolkit, giao diện của ứng dụng được xây dựng thânthiện với người dùng và đặc biệt là cho phép xây dựng các ứng dụng yêu cầu tínhbảo mật cao
Các chức năng của SIM Toolkit
Mô đun nhận dạng thuê bao hay SIM (Subscriber Identify Module) được giớithiệu cách đây hơn 10 năm trước Ban đầu, nó được định nghĩa giống như một môđun bảo mật sử dụng cho mục đích nhận thực người dùng với một bộ nhớ khá nhỏcho dữ liệu người dùng và mạng như: các số điện thoại, tên thuê bao Thêm vào đó,các SIM ngày nay có khả năng trở thành một nền cho các dịch vụ giá trị gia tăng
bằng cách sử dụng một micro-computer có trong SIM Ý tưởng sử dụng SIM giống
như một máy tính cá nhân, có thể xử lý các thông tin nhận được qua OTA (OverThe Air), được thảo luận lần đầu tiên trong nhóm chuyên gia SIM (SIM ExpertsGroup), tiền thân của nhóm SMG9 năm 1991 Ý tưởng này được phát triển xa hơnbởi các nhà quản lý và khai thác mạng GSM bằng việc dữ liệu được cập nhật vàoSIM qua OTA (Over The Air)
Mục tiêu của SIM Toolkit [3,8] bao gồm các cơ chế cho phép:
Có thể hiển thị Text từ SIM lên thiết bị hiển thị của Mobile Equipment
Khởi tạo cuộc gọi tới một số được lưu trong SIM
Gửi một điều khiển dịch vụ bổ sung SS (Supplementary Service), chuỗiUSSD (Unstructured Supplementary Service Data) hay một bản tin SMS
Chơi một bản nhạc
Thiết lập một giao tác với người sử dụng
Cung cấp thông tin nội bộ từ ME tới SIM
Trang 21Cho phép các bản tin hỗ trợ người dùng được hiển thị nếu được yêu cầuCho phép thiết lập một kênh GPRS độc lập để trao đổi dữ liệu trong suốtgiữa ứng dụng trong SIM và một thực thể ngoài mạng.
Dựa trên cơ sở các đặc tính của SIM Toolkit, một ứng dụng trên SIM có thểđược xây dựng với các chức năng như:
Cung cấp một bản tin SMS đầy đủ tới thiết bị di động sử dụng SIM và yêucầu thiết bị di động gửi bản tin này
Tải dữ liệu tới SIM từ mạng Có thể là một ứng dụng mới được nạp vào SIM,cũng có thể là dữ liệu hay các lệnh cho các ứng dụng SIM Việc tải này được thựchiện thông qua một kênh SMS hay một kênh riêng GPRS nếu được thiết bị di động
Ứng dụng của bộ công cụ SIM Toolkit đầu tiên là dịch vụ
“Cellnet/Barclaycard Remote Banking” được khai trương vào 05/1997 tại ThụyĐiển trên thẻ SIM của GemXplore
Năm 1997, dịch vụ thanh toán từ xa Telia/PostGirot cũng được khai trươngtrên các thẻ SIM của GemXplore Tháng 06/1998, SmartTone HongKong khaitrương dịch vụ thông tin SIM Toolkit Châu Á đầu tiên cũng trên thẻ SIM củaGemXplore
Hiện nay, trong hệ thống thông tin di động thế hệ hai, SIM Toolkit được địnhnghĩa trong chuẩn GSM 11.14 Từ phiên bản 04 trở đi, GSM 11.14 được thay bằngchuẩn 3GPP 31.111 Trong chuẩn này, định nghĩa các đặc tính Universal SIMApplication Toolkit (USAT) cho mạng di động thế hệ thứ ba
Nguyên lý hoạt động của thẻ SIM
Kiến trúc thẻ SIM [3] gồm có một CPU 8 bit hoặc 16 bit chạy với tốc độ3.7MHz, với 1K RAM và có bộ nhớ EEPROM ít nhất là 16K Hiện nay, các loại thẻSIM thường có bộ nhớ 32K, 64K hoặc 128K và có CPU lên tới 32 bit
Trang 22Hình 5 Kiến trúc thẻ SIM trên điện thoại di động
Ứng dụng SIM Toolkit được nạp vào thẻ SIM, và được thực hiện khi có cácđiều kiện như:
SIM có hỗ trợ Java Card
Thiết bị di động chứa SIM có hỗ trợ SIM Toolkit hoặc là kiểu GSM phase2+
I speak SIM Toolkit
I have a STK application
Sau khi bật nguồn, SIM sẽ xác định xem thiết bị di động có hỗ trợ SIMToolkit không bằng cách gửi lệnh Profile Download Tiếp theo, nó sẽ gửi lệnh Set
Up Menu tới thiết bị di động, và các Menu được hiển thị trên màn hình Khi ngườidùng chọn một mục trong Menu, ngay lập tức lệnh này được chuyển tới ứng dụngtrên thẻ SIM để xử lý
Hình vẽ mô phỏng cách trao đổi thông tin giữa SIM và thiết bị di động củamột ứng dụng SIM Toolkit, các lệnh được trao đổi giữa SIM và thiết bị di động làcác APDU (Application Protocol Data Unit)
Trang 23
Hình 7 Giao tiếp giữa thẻ SIM và thiết bị di động
Kiến trúc SIM Toolkit Framework
Install/Uninstall
APDU
Envelopes
File Access Proactive Command
Responses
Proactive Commands Activation
Applet Install/Uninstall
Applet Security Manager
Security
GSM Framework
sim.access packages sim.toolkit packages
Proactive Polling, Proactive Commands, Terminal Response
File Access
JCRE
Toolkit Framework
Để các ứng dụng có thể hoạt động được trong SIM cần có một hệ nền SIMJava Card hay còn gọi là SIM Toolkit Framework Nhờ hệ nền này, các ứng dụngtrên SIM mới có thể trao đổi dữ liệu và điều khiển các Handset Nền SIM Toolkit
Bật nguồn
Trả lại lựa chọn thực đơn Yêu cầu hiển thị thực đơn
Trả lại kết quả lệnh Yêu cầu thiết lập thực đơn
Trả lại dữ liệu cấu hình Yêu cầu nạp cấu hình
Trang 24cho phép các nhà phát triển xây dựng các Applet (các ứng dụng trong SIM được gọi
là các Applet) trên SIM Các Applet này có thể được nạp vào SIM từ xa bởi nhà
cung cấp dịch vụ bằng cách sử dụng cơ chế “Data download to SIM” của SIM
Toolkit Sau khi nạp các Applet vào bộ nhớ của SIM và chạy nhờ các lớp thư viện
API (sim.acccess và sim.toolkit), SIM Toolkit Framework có thể thực hiện hai
nhiệm vụ chính là cài đặt và gỡ bỏ các ứng dụng Applet
Các thành phần chính của SIM Toolkit Framework bao gồm:
Kích hoạt Applet (Applet Triggering)
Điều khiển lệnh thực thi (Proactive Command Handler)
Cài đặt và gỡ bỏ Applet (Applet Install/Uninstall)
2.1.1 Applet Triggerring
Applet Triggerring là bộ phận kích hoạt ứng dụng của SIM Toolkit có nhiệm
vụ kích hoạt các Toolkit Applet dựa vào các APDU được gửi từ Handset tới nhưcác sự kiện bấm phím Keypad Khách hàng lựa chọn một thực đơn trên giao diệnứng dụng Khi đó, trên Handset sẽ tạo ra một lệnh được đóng gói dưới dạng APDU
để gửi xuống SIM Cơ chế này rất quan trọng, được sử dụng để phát triển các ứngdụng cho phép các Applet có thể đăng ký sự kiện, bắt sự kiện khi xuất hiện
Applet Triggerring
APDU
Lựa chọn Menu Nhận bản tin SMS Hiển thị Text
Trang 25Cấu trúc của một lệnh Proactive Command, do ứng dụng SIM hay Handsetgửi cho, được đưa ra dưới dạng một đối tượng dữ liệu BER-TLV (Tag, Length,Value), mỗi BER-TLV có thể gồm nhiều SIMPLE-TLV
Hình 10 Cấu trúc BER-TLV theo chuẩn 3GPP-TS 03.48 2.1.3 Applet Install/Uninstall
Applet Install/Uninstall là thành phần cung cấp các thủ tục để cài đặt và gỡ
bỏ Applet, tức là bắt đầu và kết thúc một vòng đời của Applet (Cycle of Applet)
Trong mô hình kiến trúc SIM Toolkit Framework, cấu trúc nền GSMFramework thực hiện chức năng giao tiếp với các file dữ liệu trong SIM gọi là cácGSM Applet Các ứng dụng trong SIM thường đọc một số GSM như: đọc Appletchứa Key, đọc Applet chứa SMS nhận được dùng cho cập nhật cây thực đơn củaứng dụng
Bảo mật khi phát triển ứng dụng
Security hỗ trợ một tập các thuật toán mã hoá dữ liệu, các tập khoá (Key Set)được lưu trong các file GSM
Các cơ chế của SIM Toolkit
Như khái niệm đã nêu, công nghệ SIM Toolkit cung cấp một loạt các cơ chếcho phép quản lý và phát triển các ứng dụng trong SIM, cho phép các ứng dụngđược nạp vào SIM điều khiển các Handset nào hỗ trợ chức năng mà ứng dụng trongSIM yêu cầu
SIM Toolkit gồm có các cơ chế sau:
Nạp cấu hình (Profile Download)
Kích hoạt ứng dụng SIM (Proactive SIM)
Tải dữ liệu về SIM (Data Download)
Trang 26Lựa chọn thực đơn (Menu Selection)
Điều khiển cuộc gọi bởi SIM (Setup Call)
Điều khiển bản tin gửi (Mobile Originated Source Message Control)
Tải sự kiện (Event Download)
Bảo mật (Security)
Hỗ trợ đa thẻ (Multiple Card)
Hỗ trợ truy cập thời gian (Timer Expiration)
Giao thức truyền dữ liệu độc lập (Bearer Independent Protocol)
Nhờ các cơ chế mà SIM Toolkit hỗ trợ, các ứng dụng trong SIM mới đượctải về Ứng dụng có thể phát sinh các sự kiện Ứng dụng có thể được xây dựng dướidạng thực đơn lựa chọn thân thiện với người sử dụng
2.1.5 Nạp cấu hình
Profile download cung cấp cơ chế để ME thông báo cho SIM về khả năng có
hỗ trợ cho SIM Toolkit hay không Trong trường hợp có hỗ trợ thì xác định các khảnăng hỗ trợ cụ thể Mỗi khả năng hỗ trợ được mã hoá bằng một bít thông tin MEgửi cho SIM chi tiết về khả năng hỗ trợ được đưa ra trong phần phụ lục
2.1.6 Kích hoạt ứng dụng SIM
Proactive SIM đưa ra đặc tính mà cho phép SIM có thể khởi tạo một hànhđộng mà sau đó sẽ được thực hiện bởi ME Ứng dụng trong SIM sẽ gửi một lệnhyêu cầu ME thực hiện, dĩ nhiên trong trường hợp ME phải hỗ trợ chức năng đó Cáchành động này là:
Hiển thị một đoạn văn bản từ SIM tới ME
Gửi một bản tin
Thiết lập một cuộc gọi tới số cung cấp bởi SIM
Thiết lập cuộc gọi dữ liệu
Gửi đi một điều khiển SS (Supplementary Service) hoặc một chuỗi USSD(Unstructed Supplementary Service Data)
Khởi tạo tương tác với người sử dụng (thao tác với phím)
Phát ra các âm thanh
Nhận các thông tin nội bộ từ ME tới SIM
Thực hiện yêu cầu tìm kiếm thông tin trên mạng khi cung cấp một URLThực hiện xây dựng một kênh GPRS riêng để trao đổi dữ liệu với mạngngoài
Trang 272.1.7 Tải dữ liệu về SIM
Dữ liệu được tải về SIM sử dụng kỹ thuật vận chuyển của SMS Peer to Peer,SMS Cell Broad hay sử dụng một kênh GPRS riêng Chức năng này cho phép càiđặt các ứng dụng vào SIM qua OTA
2.1.8 Lựa chọn thực đơn
Các lựa chọn cho thực đơn có thể được tạo thông qua các lệnh do ứng dụngtrong SIM tạo ra Lựa chọn thực đơn là một cơ chế để gửi về SIM một ID ứng vớimột mục trong thực đơn ứng dụng được người sử dụng chọn
2.1.9 Điều khiển cuộc gọi
Khi dịch vụ thiết lập các cuộc gọi được kích hoạt bởi SIM thì các chuỗi sốđược quay và các chuỗi điều khiển các dịch vụ bổ sung sẽ được chuyển từ SIMtrước khi ME thiết lập các cuộc gọi SIM có khả năng cho phép, ngăn chặn, điềuchỉnh cuộc gọi hoặc dịch vụ bổ sung
2.1.10 Bảo mật
Cơ chế bảo mật trong SIM Toolkit được chuẩn hoá thành chuẩn GSM 03.48.Chuẩn này được sử dụng để truyền thông tin bảo mật giữa Server của nhà cung cấpdịch vụ và SIM Cơ chế này thường được sử dụng để quản lý các thông tin trongSIM như phục vụ cho quá trình tải, cài đặt, cập nhật, xoá các ứng dụng trong SIM
2.1.11 Hỗ trợ đa thẻ
Phần này được áp dụng nếu như lớp “a” được hỗ trợ bởi Handset Các lớp
“a”, “b”, “e” ở đây là các tuỳ chọn cho sự hỗ trợ SIM Toolkit của Handset Với đặctính này, một sự kiện và một tập các lệnh Proactive Command (theo cơ chếProactive SIM) được cung cấp để điều khiển một Card bổ xung trong Handset Ởnước ta chưa thấy xuất hiện loại Handset này (điện thoại này còn được gọi là DualSlot Phone)
2.1.12 Hỗ trợ truy cập thời gian
Cơ chế này cho phép ứng dụng trong SIM có thể lấy các thông tin về thờigian trên ME thông qua một lệnh Proactive Command
2.1.13 Giao thức truyền dữ liệu độc lập
Đặc tính này được hỗ trợ bởi lớp “e”, như các điện thoại có hỗ trợ GPRS.Một tập các lệnh Proactive Command như: Open channel, Close channel, Senddata, Reiceive data, Get channel status và các sự kiện cho phép SIM thiết lập mộtkênh dữ liệu với ME tới một Server ở trên mạng SIM cung cấp cho ME thông tin đểthiết lập một kênh dữ liệu Sau đó ME cho phép SIM và Server trao đổi dữ liệu vớinhau trên kênh này một cách trong suốt (Transparently)
Thông qua các cơ chế trên, ứng dụng SIM Toolkit có thể được xây dựng dễdàng hơn Việc quản lý các ứng dụng từ xa qua OTA cho phép các nhà quản trịmạng có thể cung cấp một cách mềm dẻo, nhanh chóng các dịch vụ mới nhất tới các
Trang 28thuê bao Công nghệ này thực sự là một công cụ hữu hiệu để tăng tính cạnh tranhgiữa các nhà khai thác mạng di động với nhau
Theo dự đoán của các chuyên gia trong lĩnh vực truyền thông về công nghệnày: “Công nghệ SIM Toolkit là vũ khí rất lợi hại cho phép nhà khai thác dịch vụ diđộng nào sớm áp dụng tích hợp công nghệ này vào hệ thống di động sẽ có rất nhiềuthuận lợi trong thời buổi cạnh tranh hiện nay nhằm thu hút thật nhiều thuê bao vềphía mình” [3]
Để các ứng dụng có thể được tải và nạp vào SIM qua OTA, trên mạng củanhà khai thác luôn có một OTA Server Server này có thể tự xây dựng hay mua từnhà cung cấp SIM Vì việc quản lý các ứng dụng trong SIM thuộc quyền của nhàquản trị mạng nên trong đề tài này chỉ đưa ra nguyên tắc hoạt động chung về OTAServer hay OTA Gateway Sau đó, tập trung chủ yếu vào SIM Toolkit Framework,các thành phần hỗ trợ để thực thi các ứng dụng trong SIM như: JavaCard VirtualMachine, Applet Triggerring, Proactive Handler, ProactiverResponse Handler,Envelope Handler, Install/Uninstall, và các API hỗ trợ lập trình SIM API, Java CardAPI
Công nghệ OTA và ứng dụng trong SIM Toolkit
2.1.14 Khái niệm về OTA
OTA (Over The Air) [3] là công nghệ cho phép các nhà khai thác dịch vụ diđộng (Network Operater) thực hiện cập nhật và thay đổi dữ liệu trong thẻ SIM màkhông cần phát hành hay thu hồi lại SIM OTA cho phép các nhà quản trị mạng giớithiệu các dịch vụ mới, thay đổi nội dung của thẻ SIM một cách hiệu quả và nhanhchóng
Công nghệ OTA dựa trên kiến trúc Client-Server, phía Server là hệ thốngBack-End trên mạng của nhà quản trị mạng di động (có thể là Application Server,Billing System, Customer Care), Client chính là thẻ SIM
Hiện nay, kênh truyền dẫn chính sử dụng sóng mang thông tin là SMSBearer Trong thời gian tới, các sóng mang truyền dẫn thông tin sẽ là CSD (ChannelSwitched Data) hay GPRS (General Package Radio System)
2.1.15 Các thành phần trong công nghệ OTA
Kiến trúc hệ thống OTA được chia làm hai phần chính:
Back-End System: Có thể là hệ thống chăm sóc khách hàng, hệ thống tính
cước, giao diện Web Các hệ thống này thực hiện gửi yêu cầu từ OTA Gateway
OTA Gateway: Nhận các yêu cầu dịch vụ thông qua Gateway API (thành
phần này thực hiện việc chỉ ra thẻ SIM nào sẽ được cập nhật/thay đổi/kích hoạt nộidung thông tin) Trong thực tế, OTA Gateway luôn lưu một cơ sở dữ liệu thông tin
về từng thẻ SIM Các thông tin này gồm: nhà cung cấp SIM (SIM Vendor), số nhậnthực của SIM, số IMSI (International Mobile Subscriber Identifier) và số MSISDN(Mobile Subscriber ISDN Number)
Trang 29GSM UMTS
GPRS
Back-End Server OTA Gateway
SMSC
Mobile Equipment
SMSC: Thực hiện việc trao đổi thông tin giữa hệ thống quản lý các bản tin
SMS (OTA Gateway) và mạng di động tế bào Một bản tin độ dài tối đa 160 ký tựAlphabet, có thể gửi tới hoặc từ một điện thoại di động Nếu điện thoại tắt nguồnhay ra khỏi vùng phủ sóng, bản tin sẽ được lưu Sau đó, sẽ được gửi trả lại cho thuêbao khi máy bật nguồn hay vào lại vùng phủ sóng
SMS Channel: Việc truyền thông tin giữa thẻ SIM và OTA Gateway có thể
được thực hiện bởi trao đổi SMS, GPRS Trong trường hợp này ta chỉ xét các kênhSMS
Mobile Equipment: Trong mô hình này, Mobile Equipment yêu cầu phải
tương thích với SIM Toolkit
SIM Card: Các bản tin, với tham số trong bản tin “Protocol Identifier” đặt là
“SIM Data Download”, sẽ được phân phối bởi ME tới thẻ SIM thông qua các đơn
vị dữ liệu APDU như: Envelope Command hay Update Record Command Cácthông tin được gửi từ OTA Gateway tới thẻ SIM được bảo mật gọi là các gói lệnh.Các gói lệnh này được bảo mật theo chuẩn GSM 03.48 Mỗi gói lệnh chứa một hay
Trang 30nhiều đơn vị dữ liệu APDU liên quan tới quản lý file/applet từ xa (RFM/RAM:Remote File/Applet Management).
Trong đó RFM cho phép thực hiện các lệnh quản lý các file EF như: Select,Update Record, Deactivate File, Verify PIN RAM cho phép thực hiện các lệnhquản lý Toolkit Applet ứng dụng như thực hiện các lệnh: LOAD, INSTALL,DELETE, GET STATUS
Tóm lại, để có thể thực hiện được cập nhật nội dung trong thẻ SIM thôngqua OTA, SIM hỗ trợ Java Card cần được xác định với các thông tin về “OTAprofile”, đây là các thông tin cho phép thẻ SIM (hay UICC nói chung) nhận và thựchiện các lệnh OTA được gửi bởi OTA Gateway Trong SIM cũng yêu cầu hỗ trợcác cơ chế RFM và RAM (các Applet hệ thống này phải được cài đặt trong thẻSIM) Cấu hình liên quan tới chuẩn bảo mật SIM Toolkit 03.48 phải được xác địnhnhư tập khóa “Key Set” nơi các khoá OTA được lưu “Access Domain” chỉ ra cácquyền (Rights) của Applet trên hệ thống File và “Minimum Security Level” chỉ rabảo mật nhỏ nhất, mà các bản tin OTA phải đưa ra
Trong mô hình khai thác các dịch vụ sử dụng công nghệ SIM Toolkit trênmạng của nhà cung cấp dịch vụ luôn có một OTA Gateway hay OTA Server đểquản lý các ứng dụng SIM Toolkit Việc quản lý này đều thông qua các API riêngcủa từng nhà cung cấp SIM khác nhau
File dữ liệu GSM
2.1.16 Giới thiệu
Ứng dụng SIM Toolkit có thể truy nhập tới các file hệ thống GSM, thôngqua các hàm trong giao diện lập trình ứng dụng (SIM API) Các file này phải đượcchọn trước khi có thể thực hiện cập nhật, đọc, ghi
Trang 31Hình 12 Cấu trúc file dữ liệu GSM
Các file GSM được nhận biết thông qua 04 byte ID như là phần đầu của file,các file được được phân làm các loại chính như sau:
Transparent Là file truy nhập ngẫu nhiên có thể chứa tất cả các loại dữ
liệu khác nhauLinear fixed file File chứa các bản ghi có độ dài cố định, có thể truy nhập dữ
liệu thông qua các lệnh Last, Next, v.v…
Cyclic Có các bản ghi có độ dài cố định, khi chọn Next tại bản ghi
cuối cùng thì sẽ di chuyển tới bản ghi đầu tiên
Variable length record Không hỗ trợ trong GSM
Incremental Là File trong đó một byte đơn có thể được thêm vào hay
giảm đi
Một vài file hay được sử dụng như:
2FE2 – Unique integrated circuit number: lưu số thiết bị của thẻ
6F05 – Language choice: chứa ngôn ngữ được chọn
6F07 – Unique subscriber number: lưu số thuê bao
MF 3F00
DFTELECOM7F10
EFADN6F3A
EFFDN6F3B
EFSMS6F3C
DFOSM7120
EFLP
EFPHASE6FAE
Trang 326F3C – SMS message (176 byte độ dài mỗi bản ghi của file fixed linear).6F44 – Last number dial: chứa số được gọi gần nhất.
Việc truy nhập tới các file này trong ứng dụng SIM Toolkit sử dụng hàmSELECT (byte idF) của gói SIMView Để thao tác với dữ liệu trong các file nhưcập nhật, sửa, xoá, đọc file thì cần phải có quyền truy nhập Quyền này được xácđịnh trong quá trình cài đặt ứng dụng trên SIM khi đó ta sẽ phải đặt các tham số yêucầu trước khi nạp ứng dụng
Tính bảo mật trong SIM Toolkit
Các đặc tính đảm bảo tính toàn vẹn và bảo mật dữ liệu đã được tích hợp vàochuẩn SIM Toolkit và được chuẩn hoá trong GSM 02.48 và 03.48 Chuẩn này đủbảo mật cho các ứng dụng thương mại điện tử di động, có thể mã hoá dữ liệu, kiểmtra các mã PIN (Personal Identity Number) Tổng quan về quá trình bảo mật củaSIM Toolkit được đưa ra bởi ETSI được đưa ra như hình vẽ
Hình 13 Mô hình bảo mật trong SIM Toolkit
Trong sơ đồ trên ta định nghĩa các thành phần:
Ứng dụng gửi - Sending Application: Là ứng dụng nằm trong SIM, hay trên
một Server mạng Có chức năng tạo các bản tin dữ liệu hay lệnh để gửi cho ứngdụng nhận Ví dụ: các Applet mà ta xây dựng và nạp vào SIM
Thực thể gửi - Sending Entity: Là thành phần thực hiện chức năng mã hoá và
gửi các gói bảo mật cho thực thể nhận Ví dụ: thẻ SIM, hay trung tâm SMSC
Ứng dụng nhận - Receive Application: Nhận các bản tin dữ liệu hay lệnh từ
ứng dụng gửi
Thực thể nhận - Receive Entity: Nhận các gói bảo mật, mở gói và gửi các
bản tin cho ứng dụng nhận
Ứng dụng trên SIM
Ứng dụng tại Ngân Hàng
Ứng dụng gửi
Ứng dụng nhận Luồng thông tin
Thực thể gửi
Dịch vụ mang
Thực thể nhận
SMS C
SIM
SIM
SMS C SMS
Trang 33Trên biểu đồ trên chỉ ra luồng thông tin đi từ “Thực thể gửi” đến “Thực thểnhận”.
“Ứng dụng gửi” chuẩn bị một bản tin ứng dụng và chuyển nó tới “Thực thể gửi”, với một chỉ thị về bảo mật được áp dụng với bản tin này “Thực thể gửi” sẽ
thêm một Security Header tới bản tin ứng dụng Sau đó, nó sẽ áp dụng các bảo mậtyêu cầu vào tới phần Command Header (hay Security Header) vào tất cả các bản tin
ứng dụng, bao gồm cả các byte đệm Sau đó, bản tin được gửi đi sẽ như một “gói
lệnh” (đã được bảo mật) gửi tới “Thực thể nhận” Trong trường hợp bình thường,
“Thực thể nhận” sẽ nhận “gói lệnh” và mở gói tuỳ theo các tham số được chỉ ra
trong Command Header “Thực thể nhận” sẽ chuyển bản tin ứng dụng tới ứng dụng nhận khi đó bảo mật đã được áp dụng Giao diện giữa “Ứng dụng gửi” và “Thực
thể gửi” cùng với giao diện giữa “Thực thể nhận” và “Ứng dụng nhận” là riêng
biệt, không thuộc chuẩn SIM Toolkit Nếu được chỉ định trong “Command
Header” của gói nhận được, “Thực thể nhận” sẽ tạo một gói hồi đáp lại (Response
Package) Response Package này chứa một “Security Header” và tuỳ chọn, gửi trả lại cho “Thực thể gửi”
Trong đặc tả của SIM Toolkit không yêu cầu bắt buộc thuật toán nào phảiđược sử dụng Lựa chọn này là một hỗ trợ tới người thực thi ứng dụng trên SIM,thường đó là các nhà cung cấp dịch vụ Đây là một thuận lợi lớn vì các thuật toán cóthể được cập nhật các thuận toán mới hơn và bản thân nhà cung cấp cũng có thểquyết định cách bảo mật các giao dịch cần thiết
SIM Toolkit hỗ trợ các đặc tính bảo mật sau:
Về mặt khái niệm, thông thường thuật toán mã hoá DES là thuật toán mở,nghĩa là mọi người đều biết thuật toán này Điều quan trọng nhất là chìa khoá củaDES có độ dài tới 56 bit, nghĩa là số lần thử tối đa để tìm được chìa khoá lên đến2^56, trung bình là 2^55 = 36.028.797.018.963.968 lần, một con số rất lớn!
DES được thực hiện nhờ các phép dịch, hoán vị và các phép toán logic trêncác bit Mỗi ký tự trong bức thư hay bản tin cần mã hoá được biểu diễn bởi 2 sốhexa hay 8 bít DES mã hoá từng khối 64 bít tương đương 16 số hexa Để thực hiệnviệc mã hoá DES sử dụng một chìa khoá cũng dưới dạng 16 số hexa hay 64 bít tức
8 byte, nhưng các bít thứ 8 trong các byte này bị bỏ qua trong khi mã hoá vì vậy độ
Trang 34lớn thực tế của chìa khoá là 56 bit Ví dụ, ta mã hoá một bản tin hexa
"0123456789ABCDEF" với chìa khoá là "5A5A5A5A5A5A5A5A" thì kết quả là
"72AAE3B3D6916E92" Nếu kết quả này được giải mã với cùng chìa khoá
"5A5A5A5A5A5A5A5A" thì ta sẽ thu lại được đúng bản tin
"0123456789ABCDEF"
Hình 14 Mô hình thuật toán DES
DES bao gồm 16 vòng, nghĩa là thuật toán chính được lặp lại 16 lần để tạo rabản tin được mã hoá
Quy trình của thuật toán DES:
Chuẩn bị chìa khoá:
Bước đầu tiên là chuyển 64 bit chìa khoá qua một bảng hoán vị gọi làPermuted Choice hay PC-1 để thu được chìa khoá mới có 56 bit
Sau khi vệc chuẩn bị chìa khoá và dữ liệu mã hoá hoàn thành, thực hiện mãhoá bằng thuật toán DES Đầu tiên, khối dữ liệu đầu vào 64 bit được chia thành hainửa, L và R L gồm 32 bit bên trái và R gồm 32 bit bên phải Quá trình sau đâyđược lặp lại 16 lần tạo thành 16 vòng của DES gồm 16 cặp L[0]-L[15] và R[0]-R[15]:
o R[r-1]- ở đây r là số vòng, bắt đầu từ 1- được lấy và cho qua bảng E bit Selection Table), bảng này giống như một bảng hoán vị, có điều làmột số bit được dùng hơn một lần do vậy nó sẽ mở rộng R[r-1] từ 32 bitlên 48 bit để chuẩn bị cho bước tiếp theo
(E-o 48 bit R[r-1] được XOR với K[r] và được lưu tr(E-ong bộ nhớ đệm, vì vậyR[r-1] không thay đổi
o Kết quả của bước trước lại được chia thành 8 đoạn, mỗi đoạn 6 bit, từB[1] đến B[8] Những đoạn này tạo thành chỉ số cho các bảng S(Substitution) được sử dụng ở bước tiếp theo Các bảng S, là một bộ 8bảng (S[1]-S[8]) 4 hàng, 16 cột Các số trong bảng có độ dài 4 bit vì vậy
có giá trị từ 0 đến 15
Trang 35o Bắt đầu từ B[1], bit đầu và cuối của khối 6 bit được lấy ra và sử dụng làmchỉ số hàng của bảng S[1], nó có giá trị từ 0 đến 3, và 4 bit giữa đượcdùng làm chỉ số cột, từ 0 đến 15 Giá trị được chỉ đến trong bảng S đượclấy ra và lưu lại Việc này được lặp lại đối với B[2] và S[2] cho đến B[8]
và S[8] Lúc này bạn có 8 số 4 bit, khi nối lại với nhau theo thứ tự thuđược sẽ tạo ra một chuỗi 32 bit
o Kết quả của bước trước được hoán vị bit bằng bảng hoán vị P(Permutation)
o Kết quả thu được sau khi hoán vị được XOR với L[r-1] và chuyển vàoR[r] R[r-1] được chuyển vào L[r]
o Lúc này bạn có L[r] và R[r] mới Bạn tiếp tục tăng r và lặp lại các bướctrên cho đến khi r= 17, đIều đó có nghĩa là 16 vòng đã được thực hiện vàcác chìa khoá phụ K[1]-K[16] đã được sử dụng
o Khi đã có L[16] và R[16], chúng được ghép lại với nhau theo cách chúng
bị tách ra (L[16] ở bên trái và R[16] ở bên phải) thành 64 bit 64 bit nàyđược hoán vị để tạo ra kết quả cuối cùng là dữ liệu 64 bit đã được mãhoá
Giải mã:
Việc giải mã dùng cùng một thuật toán như việc mã hoá Để giải mã dữ liệu
đã được mã hoá, quá trình như giống như mã hoá được lăp lạI nhưng các chìa khoáphụ được dùng theo thứ tự ngược lạI từ K[16] đến K[1], nghĩa là trong bước 2 củaquá trình mã hoá dữ liệu đầu vào ở trên R[r-1] sẽ được XOR với K[17-r] chứ khôngphảI với K[r]
Các chế độ của DES:
Thuật toán DES mã hoá đoạn tin 64 bit thành đoạn tin mã hoá 64 bit Nếumỗi khối 64 bit được mã hoá một cách độc lập thì ta có chế độ mã hoá ECB(Electronic Code Book) Có hai chế độ khác của mã hoá DES là CBC (Chain BlockCoding) và CFB (Cipher Feedback), nó làm cho mỗi đoạn tin mã hoá 64 bit phụthuộc vào các đoạn tin trước đó thông qua phép toán XOR
Triple DES:
Triple-DES chính là DES với hai chìa khoá 56 bit Cho một bản tin cần mãhoá, chìa khoá đầu tiên được dùng để mã hoá DES bản tin đó, kết quả thu được lạIđược cho qua quá trình giải mã DES nhưng với chìa khoá là chìa khoá thứ hai, bảntin sau qua đã được biến đổi bằng thuật toán DES hai lần như vậy lại được mã hoáDES với một lần nữa với chìa khoá đầu tiên để ra được bản tin mã hoá cuối cùng.Quá trình mã hoá DES ba bước này được gọi là Triple-DES
Khoá có thể có độ dài bất kỳ, điều này cho độ mềm dẻo lớn nhưng nó cũngcho phép nhà cung cấp dịch vụ hay nhà phát triển ứng dụng không có trách nhiệmtạo khoá quá ngắn và dễ dàng bị bẻ khóa Khi SIM Toolkit mặc định 3DES sử dụng
3 khoá (168 bit) thì hầu như loại bỏ hết khả năng bị bẻ khóa
Việc nhận thực thuật toán của nó có thể được lựa chọn bởi nhà cung cấp dịch
vụ, chống truyền lặp được xử lý bằng cách sử dụng bộ đếm Counter Đảm bảo toàn
Trang 36vẹn dữ liệu được thực hiện bằng cách sử dụng chức năng Message Digest theo SHAhay MD5
Tóm lại, bảo mật trong SIM Toolkit được thực hiện trong quá trình quản lýcác thông tin trong thẻ SIM theo chuẩn GSM 03.48 Khi phát triển các ứng dụngphục vụ cho thương mại điện tử, nhà phát triển ứng dụng có thể sử dụng chuẩn nàyhay tự thiết kế kiến trúc bảo mật từ đầu đến cuối cho mình thông qua các gói API đã
được hỗ trợ trong nền SIM như: javacard.security, jacacardx.crypto
Các công cụ lập trình cho SIM
Ngoài Sun Microsystems đưa ra phiên bản nền hỗ trợ xây dựng các ứng dụngtrên thẻ thông minh là Java Card, Microsoft đưa ra ngôn ngữ lập trình WinCard vàMondex cũng đưa ra Multos Ở đây, có vấn đề cần phân biệt rõ giữa Smart Card vàthẻ SIM Thẻ SIM là một loại Smart Card Thẻ SIM có những đặc điểm chunggiống như các loại Smart Card khác như tốc độ xử lý, cấu trúc phần cứng ROM,RAM, EEPROM nhỏ Tuy nhiên, thẻ SIM có điểm khác biệt như cấu trúc nền SIMToolkit (hay còn gọi là nền Java Card GSM), hỗ trợ các gói mở rộng cho phép truycập các file GSM, có các đặc tính như đăng ký, bắt các sự kiện mà các loại SmartCard khác không có
Dưới đây đưa ra các công nghệ lập trình cho các loại Smart Card, trong đó
có những công nghệ được chọn cho phép phát triển các ứng dụng cho SIM
Java Card
Dựa trên mô hình máy ảo Java
Cho phép lập trình trong một tập nhỏ ngôn ngữ lập trình Java
Được đưa ra bởi Sun Microsystems
Đã được tích hợp vào các SIM theo chuẩn GSM
WinCard (Windows for Smart Cards)
Dựa trên hệ điều hành Windows
Được phát triển bởi Microsoft
Mới chỉ đưa ra, và sẽ được phổ biến hay không tuỳ theo định hướng củaMicrosoft
Cho phép lập trình trong môi trường Visual Basic
MulTos
Hệ điều hành được sử dụng: Mondex
Sử dụng riêng bởi Master Card
Đã thực thi nhiều ứng dụng trên toàn cầu
Hiện nay cũng được tích hợp vào SIM của chuẩn GSM
Trang 37Trong các công nghệ lập trình cho Smart Card, Java Card được tích hợp hầuhết trong các loại thẻ thông minh, trên 90% phạm vi toàn cầu, đặc biệt được tíchhợp vào chuẩn của GSM bởi ETSI từ năm 1993 cho SIM của điện thoại di động.Java Card luôn là công nghệ được ưu tiên để xây dựng các ứng dụng cho SIM.
2.2 Java Card
Định nghĩa
Java là ngôn ngữ lập trình hướng đối tượng, do hãng Sun Microsystems pháttriển Java được biết đến như một môi trường lập trình ứng dụng lý tưởng phía máychủ như EJB (Enterprise JavaBean), Servlet/JSP (Java Server Page) trong phiên bảnJ2EE Ngoài ra, Java còn là môi trường lập trình cho các ứng dụng trên các thiết bị
di động đầu cuối (Client-Side)
Java Card [1] và J2ME là phiên bản của Java hỗ trợ lập trình cho các thẻthông minh (Smart Card) và các thiết bị đầu cuối di động
Hình 15 Cấu trúc tổng thể của nền Java
Cấu trúc tổng thể của nền Java được minh hoạ trên hình vẽ với ba lớp chính:Máy ảo Java (Java Virtual Machine), nền Java (Java platform), và các thể nghiệm(Profile)
Hình vẽ trên có nêu vị trí của Java Card trong tổng thể của nền Java và cácthiết bị hỗ trợ nền Java, đó là các loại thẻ thông minh Smart Card trong có bao gồm
cả thẻ SIM của công nghệ GSM
Ta có thể chia toàn bộ nền Java Platform [9] thành các hướng phát triểnchính như sau:
Công nghệ lập trình cho máy chủ - J2EE: J2EE [9] là phần rất quan trọng
trong tổng thể của Java Platform Với công nghệ này, các nhà phát triển có thể xây
Trang 38dựng các ứng dụng chạy lên máy chủ như Mail Server, Application Server, WebServer
Công nghệ lập trình cho các máy tính cá nhân - J2SE: J2SE được sử dụng để
phát triển các ứng dụng trên máy PC, các ứng dụng Client như Web Browser, MailClient
Công nghệ lập trình cho các thiết bị di động - J2ME: J2ME được sử dụng
trong việc lập trình các ứng dụng cho các thiết bị thông tin di động nói chung nhưđiện thoại di động, các máy tính xách tay, PDA
Công nghệ lập trình cho các loại thẻ thông minh – Java Card: Java Card
được tích hợp vào hầu hết các loại thẻ thông minh (Smart Card) như SIM của điệnthoại di động, thẻ tín dụng (Credit Card), thẻ tài chính (Finance Identify Card) JavaCard là công nghệ chủ đạo được chọn làm nền để phát triển các ứng dụng chạy trênthẻ SIM
Các ứng dụng Java Card gọi là các Applet Các ứng dụng này muốn đượcnạp và chạy trên Smart Card hay thẻ SIM thì phải có điều kiện cần về cấu hình hỗtrợ Java Card Đối với các ứng dụng trong thẻ SIM, Applet này còn phải được hỗtrợ các đặc tính SIM Toolkit của điện thoại di động
Các thành phần của Java Card
Hình 16 Kiến trúc tổng quan của Java Card
Hiện nay phiên bản mới nhất của Java Card [1] là version 2.2, nó bao gồm bathành phần:
JCVM (Java Card Virtual Machine): gồm một tập các ngôn ngữ lệnh lập
trình và một máy ảo
JCRE (Java Card Runtime Enviroment): định nghĩa các giao tác cho thẻ
thông minh trên nền Java
Java Card API: định nghĩa các gói, các lớp cho các ứng dụng của thẻ thông
minh trên nền Java
Trang 39Ngoài ra, hãng Sun cũng cung cấp JCDK (Java Card Developer Kit) [1] baogồm: JCVM, JCRE, một số công cụ hỗ trợ phát triển các Java Card applets, một bộkiểm tra Verifier, một bộ chuyển đổi Converter (cho phép các applets được tạo ratrong một định dạng để có thể tải vào Smart Card là file *.CAP) và các tài liệu mô
tả đặc tính của Java Card
Mô hình chuyển đổi từ file nguồn Java sang Applet trong SIM
Hình vẽ dưới đây mô tả quá trình chuyển đổi từ file mã nguồn Java sangApplet được tải vào trong thẻ Smart Card nói chung hay thẻ SIM nói riêng
Conversion with ijc2ldr(*)
Conversion with cap2ijc(*)
Hình 17 Quá trình biến đổi file Java thành Applet trong Smart Card
Trong mô hình, ban đầu JDK được sử dụng để biên dịch mã nguồn thành cácfile class Tiếp theo, nhờ bộ Converter trong Developer Kit (CJDK- ConverterJDK) biến đổi file class thành định dạng file CAP Các file cap là một định dạngđặc biệt để tích hợp mã Java trong Smart Card Các nhà phát triển tạo ra file cap từmột hoặc nhiều files class nhờ bộ Converter được cung cấp miễn phí của SunCJDK Tuỳ theo yêu cầu của nhà sản xuất Smart Card, các phiên bản Converterphải tương thích với điều kiện đảm bảo để file .cap thích nghi với file .ijc
(Interoperable Java Card Cap file), tuân theo chuẩn 03.48 ETSI đối với thủ tục
Applet Loading qua OTA
Nhờ công cụ phần mềm như SIM Alliance Interoperable Tool, file cap đượccoi như đầu vào của bộ công cụ sử dụng để nạp ứng dụng vào Smart Card Bộ công
cụ này biến đổi file cap thành file ijc bằng bộ biến đổi cap2ijc Converter Trongbước biến đổi này, file cap được tổ chức lại thành một luồng byte có thể được nạpvào bất kỳ Java Card nào Bộ biến đổi cuối cùng trong mô hình là ijc2ldr Converterthực hiện biến đổi luồng byte nhận được từ file ijc thành các đơn vị dữ liệu APDU,chuyển tới bộ nhớ Thứ tự sắp xếp APDU được lưu trong file ldr Tương ứng,file clr được tạo để chứa thứ tự các lệnh thực hiện bỏ cài đặt ứng dụng (de-install)
Trong quá trình nạp ứng dụng, bộ Loader yêu cầu đặt các thông số cần thiếtphục vụ quá trình cài đặt và bảo mật