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

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

79 948 3
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Đào Việt Dũng
Người hướng dẫn PGS.TS. Nguyễn Quang Hoan
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Luận văn thạc sĩ kỹ thuật
Năm xuất bản 2008
Thành phố Hà Nội
Định dạng
Số trang 79
Dung lượng 6,83 MB

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

Nội dung

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 1

THÔ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 2

THÔ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 5

1.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 6

3.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 7

DANH 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 8

LSA Localised Service Area

SMS-PP Short Message Service – Point to Point

Trang 9

DANH 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 10

MỞ ĐẦ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 11

Chươ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 12

Hì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 13

Hì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 14

thể 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 15

41%

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 16

Tuy 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 17

cá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 18

cầ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 19

triể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 20

Chươ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 21

Cho 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 22

Hì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 24

cho 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 25

Cấ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 26

Lự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 27

2.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 28

thuê 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 29

GSM 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 30

nhiề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 31

Hì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 32

6F3C – 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 33

Trê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 34

lớ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 35

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

vẹ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 37

Trong 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 38

dự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 39

Ngoà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

Ngày đăng: 19/06/2014, 22:15

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Diễn đàn về điện thoại di động Việt Nam, http://www.handheld.com.vn/forum[2] Enrique Ortiz (2005), An Introduction to Java Card, http://java.sun.com [3] ETSI (1999), Security Mechanisms for the SIM Toolkit, ETS Institute, France Sách, tạp chí
Tiêu đề: An Introduction to Java Card", http://java.sun.com [3] ETSI (1999), "Security Mechanisms for the SIM Toolkit
Tác giả: Diễn đàn về điện thoại di động Việt Nam, http://www.handheld.com.vn/forum[2] Enrique Ortiz (2005), An Introduction to Java Card, http://java.sun.com [3] ETSI
Năm: 1999
[4] GemPlus, SIM Application Toolkit, http://www.gemplus.com Sách, tạp chí
Tiêu đề: SIM Application Toolkit
[5] GemPlus (2001), Boost Value Added Services with STK, GemPlus, France Sách, tạp chí
Tiêu đề: Boost Value Added Services with STK
Tác giả: GemPlus
Năm: 2001
[6]Giesecke & Devrient (2002), Mobile Banking, Munich Institute, Germany [7] Karli Watson, An introduction to WAP, http://www.wrox.com Sách, tạp chí
Tiêu đề: Mobile Banking", Munich Institute, Germany[7] Karli Watson, "An introduction to WAP
Tác giả: Giesecke & Devrient
Năm: 2002
[8] Paul Ashley (2001), SMPP Protocol Specification V3.4, SMPP Group, Ireland Sách, tạp chí
Tiêu đề: SMPP Protocol Specification V3.4
Tác giả: Paul Ashley
Năm: 2001
[9] Scott B. Guthery & Mary J. Cronin(2002), Mobile Application Development with SMS and the SIM Toolkit , Mac-GrawHill Sách, tạp chí
Tiêu đề: Mobile Application Development with SMS and the SIM Toolkit
Tác giả: Scott B. Guthery & Mary J. Cronin
Năm: 2002
[10] Sim Alliance (2003), Interoperability Stepping Stones, http://www.simalliance.org Sách, tạp chí
Tiêu đề: Interoperability Stepping Stones
Tác giả: Sim Alliance
Năm: 2003
[11] Sun Microsystem (2005), J2ME & J2EE Technology, http://java.sun.com [12] Vartan Piroumian(2002), Wireless J2ME Platform Programming , Prentice Hall Sách, tạp chí
Tiêu đề: J2ME & J2EE Technology", http://java.sun.com[12] Vartan Piroumian(2002), "Wireless J2ME Platform Programming
Tác giả: Sun Microsystem (2005), J2ME & J2EE Technology, http://java.sun.com [12] Vartan Piroumian
Năm: 2002

HÌNH ẢNH LIÊN QUAN

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 - 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
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 10)
Hình 2.  Biểu đồ phát triển di động từ năm 1997-2007 - 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
Hình 2. Biểu đồ phát triển di động từ năm 1997-2007 (Trang 11)
Hình 5.  Kiến trúc thẻ SIM trên điện thoại di độ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
Hình 5. Kiến trúc thẻ SIM trên điện thoại di động (Trang 21)
Hình 7.  Giao tiếp giữa thẻ SIM và thiết bị di động Kiến trúc SIM Toolkit Framework - 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
Hình 7. Giao tiếp giữa thẻ SIM và thiết bị di động Kiến trúc SIM Toolkit Framework (Trang 22)
Hình 10.  Cấu trúc BER-TLV theo chuẩn 3GPP-TS 03.48 2.1.1.3 Applet Install/Uninstall - 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
Hình 10. Cấu trúc BER-TLV theo chuẩn 3GPP-TS 03.48 2.1.1.3 Applet Install/Uninstall (Trang 24)
Hình 12.  Cấu trúc file dữ liệu GSM - 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
Hình 12. Cấu trúc file dữ liệu GSM (Trang 30)
Hình 13.  Mô hình bảo mật trong SIM Toolkit - 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
Hình 13. Mô hình bảo mật trong SIM Toolkit (Trang 31)
Hình 14.  Mô hình thuật toán DES - 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
Hình 14. Mô hình thuật toán DES (Trang 33)
Hình 15.  Cấu trúc tổng thể của nền Java - 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
Hình 15. Cấu trúc tổng thể của nền Java (Trang 36)
Hình 16.  Kiến trúc tổng quan của Java Card - 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
Hình 16. Kiến trúc tổng quan của Java Card (Trang 37)
Hình 18.  Đặc tính bảo mật trong Java Card - 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
Hình 18. Đặc tính bảo mật trong Java Card (Trang 40)
Hình 20.  Kiến trúc Java Card RMI - 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
Hình 20. Kiến trúc Java Card RMI (Trang 43)
Hình 21.  Mô hình hệ thống ứng dụng trên nền SIM Toolkit - 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
Hình 21. Mô hình hệ thống ứng dụng trên nền SIM Toolkit (Trang 47)
Hình 24.  Mô hình chức năng nghiệp vụ Lưu đồ hoạt động của một phiên thực hiện thanh toán cước - 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
Hình 24. Mô hình chức năng nghiệp vụ Lưu đồ hoạt động của một phiên thực hiện thanh toán cước (Trang 58)
Hình 25.  Lưu đồ hoạt động của một phiên thực hiện thanh toán cước 3.3  Thiết kế giao diện trên điện thoại di độ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
Hình 25. Lưu đồ hoạt động của một phiên thực hiện thanh toán cước 3.3 Thiết kế giao diện trên điện thoại di động (Trang 58)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w