Thiết kế giao diện trờn điện thoại di động

Một phần của tài liệu Nghiên cứu công nghệ SIM toolkit để xây dựng hệ thống dịch vụ cho thiết bị di động (Trang 55)

Giao diện người dựng là phần ứng dụng viết bằng Java Card, trờn nền ứng dụng SIM Toolkit.

Giao diện chương trỡnh ứng dụng cú dạng thực đơn:

E-PAYMENT with VCB

1. VCB Account 2. MobiFone Bills 3. Pay Bills

3.4 Xõy dựng chương trỡnh thử nghiệm

3.4.1 Xõy dựng cỏc mụ đun ứng dụng trong SIM

Để thực hiện bảo mật thụng tin, mỗi ứng dụng trong SIM cần cú một khoỏ riờng được lưu trong một file khúa (file khoỏ này sẽ được tạo trong quỏ trỡnh nạp ứng dụng vào SIM của khỏch hàng đăng ký với một AID xỏc định, tờn file được đặt là EF_keyfile). Cỏc khoỏ được lưu trong cựng tờn AID nhưng giỏ trị khúa khỏc nhau, kốm với khoỏ là một id_key của chớnh khoỏ đú. Cỏc file khúa này được lưu vào một miền truy nhập (Access Domain) của SIM. Miền truy nhập yờu cầu khoỏ để đọc nội dung file, khoỏ này chỉ cú ứng dụng Thanh toỏn điện tử biết đến.Trờn STK Gateway cũng lưu một cơ sở dữ liệu cỏc khoỏ này (bao gồm keyid_key).

Lớp DataCipher thực hiện mó hoỏ, tạo chuỗi Message Digest để xỏc thực tớnh toàn vẹn thụng tin phớa bờn nhận, lớp này thực hiện bảo mật dữ liệu trước đúng gúi bản tin SMS.

class DataCipher {

byte[] encryptData(byte[] input, byte[] output); byte[] getKey();

Cipher getAlgorith();

byte[] createMD(short id_Alg, byte[] input); }

// Mó hoỏ dữ liệu

// Lấy khoỏ trong EF_keyfile // Lựa chọn thuật toỏn // Tạo chuỗi MD

Lớp khai bỏo ConstantValue định nghĩa cỏc hằng số sử dụng cho ứng dụng SIM.

public interface ConstantValue {

static final byte ERR_EXECUTIVE = (byte)0x46; static final byte SERVER_OPERATION = (byte)0x0F; static final byte CMD_QUALIFIER = (byte)0x80;

static final byte EXIT_REQUESTED_BY_USER = (byte)0x10; }

Lớp MainProcess là lớp xử lý chớnh của ứng dụng, thực hiện cỏc chức năng như tạo cõy thực đơn cho ứng dụng, hiển thị cỏc thụng tin hỗ trợ khỏch hàng sử dụng, tạo cỏc giao diện nhập số liệu người dựng, gửi cỏc bản tin SMS lờn mạng thực hiện cỏc yờu cầu tra cứu thụng tin tài khoản VCB, xem cước thuờ bao MobiFone, yờu cầu thanh toỏn cước qua tài khoản VCB.

class MainProcess { private short providerID; private short bankID; private byte[] account; private byte[] pinCode; private byte[] currencyCode;

private byte[] msisdn; private byte[] billCycle;

private byte[] chargedMoney;

// Mó nhà cung cấp dịch vụ // Mó ngõn hàng

// Số tài khoản ngõn hàng // Mó PIN ứng với tài khoản trờn // Mó của loại tiền tệ

// Số điện thoại MobiFone // Chu kỳ cước

private byte[] keyID; private byte[] smsType;

public void sendSms(byte[] tpduData); public void help();

public short createMenu(object[] itemList); public byte[] getInputData(); }

// Chỉ ra SMS là yờu cầu tra cứu hay thanh toỏn // Chỉ số của khoỏ trong file key

// Gửi SMS ra STK Gateway // Hiển thị thụng tin hỗ trợ sử dụng // Tạo cõy thực đơn

// Lấy thụng tin nhập

Việc đúng gúi dữ liệu vào SMS với cỏc yờu cầu thanh toỏn cần xỏc định độ dài của bản tin được mó hoỏ, độ dài nờn đảm bảo <160 Byte. Ta hoàn toàn cú thể xỏc định độ dài bản tin gửi đi thụng qua cỏc đặc tớnh:

 Với việc sử dụng thuật toỏn của hệ mật mó đối xứng DES, bản tin cần mó hoỏ sẽ được mó hoỏ theo từng khối 8 Byte và kết quả đầu ra cũng cú độ dài bằng độ dài bản tin đầu vào nờn ta cú thể xỏc định được độ dài bản tin sau mó hoỏ.

 Với việc tạo bản tin Message Digest, cú nhiều thuật toỏn để tạo cỏc bản tin để đảm bảo tớnh toàn vẹn. Tuỳ theo từng thuật toỏn đầu ra bản tin sau mó hoỏ cú thể là 4 byte, 8 byte hay 16 byte với độ dài bản tin đầu vào bất kỳ. Do đú ta hoàn toàn cú thể xỏc định được độ dài của bản tin trước khi gửi đi.

Thuật toỏn được lựa chọn cho mó hoỏ dữ liệu của ứng dụng là thuật toỏn DES, thuật toỏn được sử dụng tạo MD được chọn là ALG_DES_MAC8_PKCS5 (đầu ra là 8 byte sau khi mó hoỏ).

Với bản tin yờu cầu thanh toỏn, ban đầu providerID, bankID, account, pinCode, currencyCode, msisdn, billCycle, chargedMoney sẽ mó hoỏ theo thuật toỏn DES, tạo ra chuỗi dataEnc. Sau đú dataEnc sẽ được tạo thành một MD. Sau đú, đúng gúi cỏc thụng tin bao gồm dataEnc, MD, keyID, smsType sẽ được đúng gúi SMS và gửi đi. Với cỏc SMS yờu cầu tra cứu sẽ được phõn biệt bởi tham số smsType.

3.4.2 Cỏc mụ đun của ứng dụng trờn STK Gateway

Lớp SMSProcess thực hiện chức năng nhận cỏc bản tin SMS từ SIM đúng gúi gửi lờn xử lý cỏc thụng tin nhận được như kiểm tra tớnh bảo mật: giải mó, kiểm tra tớnh toàn vẹn thụng qua phương thức compareMD(), getDataEnc() khoỏ sử dụng giải mó được lấy từ cơ sở dữ liệu khoỏ thụng qua keyID nhận được.

class SMSProcess {

String getTypeSMS (String tpduData); String getKeyID (String tpduData); String getDataEnc (String tpduData); String decryptData (String encBuf); String getMD (tpduData);

// Xỏc định loại bản tin // Lấy keyID trong SMS // Lấy dữ liệu được mó hoỏ // Giải mó dữ liệu nhận được // Lấy dữ liệu MD

boolean compareMD (String MD); String keyData;

// Lắng nghe bản tin Incoming SMS và xử lý public void PDUProcessor(){}

}

// Thực hiện kiểm tra tớnh toàn vẹn

Lớp giao tiếp này thực hiện gọi cỏc hàm xử lý trờn mỏy chủ Payment Process Center qua giao diện EJB/J2EE. Tuỳ theo cỏc SMS nhận được từ ứng dụng SIM Toolkit là tra cứu thụng tin cước hay yờu cầu thanh toỏn, STK Gateway sẽ gọi cỏc hàm tương ứng trờn để thực hiện. Đồng thời, thụng tin trả lời khi thực hiện giao dịch sẽ được đúng gúi dạng SMS để trả về cho người dựng.

class BankProcess {

// Lệnh lấy thụng tin tài khoản VCB

public AccountInfo getAccountInfo(String bankID, String account, String pinCode); // Lệnh yờu cầu chuyển khoản

public FundTransferInfo transferFund (String bankID, String account, String pinCode, String currencyCode,

String msisdn, Date billCycle, double chargedMoney); } class AccountInfo { String bankID; String account; String pinCode; String fullname; String gender; String address; String idno; String contactNumber; } class FundTransferInfo { String fromAccount; String toAccount; String currencyCode; Date trxDate; double trxAmount; String trxDescription; Date reqDate; int responseCode; String errorDescription; } class MobiFoneProcess {

// Lệnh lấy thụng tin khỏch hàng MobiFone

// Lệnh cập nhật thụng tin khỏch hàng MobiFone

public boolean updateMobiInfo(String msisdn, String pinCode, Date billCycle, double chargedMoney); } class MobiFoneInfo { String msisdn; Date billCycle; double chargedMoney; String fullname; String idno; }

3.5 Một số giao diện chương trỡnh ứng dụng trờn điện thoại

3.5.1 Giao diện chớnh của ứng dụng

Hỡnh 24. Giao diện chớnh của ứng dụng trờn di động

Giao diện chớnh của ứng dụng là một thực đơn lựa chọn, gồm cú cỏc mục như sau:

1. VCB Account: truy vấn thụng tin tài khoản VCB

2. MobiFone Bills: xem thụng tin cước của thuờ bao MobiFone 3. Pay Bills: thanh toỏn cước thuờ bao MobiFone qua tài khoản VCB 4. Help: xem thụng tin trợ giỳp

3.5.2 Giao diện truy vấn thụng tin tài khoản VCB

Để tra cứu thụng tin tài khoản của Ngõn hàng Ngoại thương Việt Nam, người sử dụng sẽ phải lựa chọn mục 1. VCB Account trờn giao diện chớnh của ứng dụng.

Hỡnh 25. Giao diện truy vấn thụng tin tài khoản VCB

Sau đú, người sử dụng sẽ nhập cỏc thụng tin về số tài khoản và mó PIN của tài khoản VCB. Sau khi xỏc thực thành cụng, chương trỡnh sẽ hiển thị cỏc thụng tin cũng như số tiền hiện cú trong tài khoản.

3.5.3 Giao diện xem thụng tin cước của thuờ bao MobiFone

Để xem thụng tin cước của thuờ bao MobiFone, người sử dụng sẽ phải lựa chọn mục 2. MobiFone Billstrờn giao diện chớnh của ứng dụng.

Hỡnh 26. Giao diện xem thụng tin cước của thuờ bao MobiFone

Sau đú, người sử dụng sẽ nhập cỏc thụng tin về số điện thoại và mó PIN của thuờ bao MobiFone. Sau khi xỏc thực thành cụng, chương trỡnh sẽ hiển thị tiền cước của thuờ bao MobiFone.

3.5.4 Giao diện thanh toỏn cước thuờ bao MobiFone qua VCB

Để thanh toỏn cước thuờ bao MobiFone, người sử dụng sẽ phải lựa chọn mục 3. Pay Billstrờn giao diện chớnh của ứng dụng.

Hỡnh 27. Thanh toỏn cước thuờ bao MobiFone qua tài khoản VCB

Sau đú, người sử dụng sẽ phải nhập cỏc thụng tin về tài khoản VCB của mỡnh, số điện thoại của thuờ bao MobiFone và nhập số tiền muốn thanh toỏn. Sau khi thanh toỏn thành cụng, chương trỡnh sẽ hiển thị thụng bỏo trờn màn hỡnh điện thoại di động.

3.6 Triển khai thử nghiệm

Do chưa cú điều kiện về thiết bị và khụng cú khả năng kết nối tới hệ thống của mạng di động tại Việt Nam nờn đề tài chỉ mới thử nghiệm cỏc ứng dụng trờn thiết bị mụ phỏng của hóng GemPlus, Aspect Developer.

3.7 Kết luận

Hiện nay, trờn thế giới, việc thanh toỏn trực tuyến thụng qua thẻ ngõn hàng, cỏc tổ chức tớn dụng và qua cỏc thiết bị di động đang trở nờn phổ biến. Việc sử dụng cỏc hỡnh thức thanh toỏn này cú lợi cho cả người bỏn, người mua, hệ thống tiền tệ quốc gia và sự phỏt triển của toàn xó hội.

Việc thực hiện thanh toỏn qua kờnh SMS trờn nền cụng nghệ SIM Toolkit đỏp ứng được đặc tớnh yờu cầu bảo mật. Dựa trờn nền tảng sẵn cú của hệ thống thanh toỏn trực tuyến qua thẻ ATM (hệ thống kết nối với Ngõn hàng Ngoại thương Việt Nam) do Cụng ty CDiT phỏt triển thỡ hoàn toàn cú thể xõy dựng hệ thống thanh toỏn cước phớ trực tuyến qua điện thoại di động ỏp dụng cụng nghệ SIM Toolkit.

KẾT LUẬN

Việc phỏt triển cỏc dịch vụ giỏ trị gia tăng trờn điện thoại hiện đang thu hỳt được sự quan tõm đặc biệt của rất nhiều nhà khai thỏc mạng di động ở nước ta. Việc tớch hợp hàng loạt cỏc ứng dụng cho thiết bị cầm tay giờ đõy được coi là một trong những hướng đi chiến lược của nhà cung cấp dịch vụ di động nhằm thoả món nhu cầu của khỏch hàng, nhất là khi số lượng người sử dụng thiết bị di động ngày càng tăng lờn nhanh chúng. Trờn thế giới, việc xõy dựng cỏc ứng dụng này phỏt triển rất mạnh và đạt được nhiều thành tựu to lớn.

Để thu hỳt được cỏc thuờ bao sử dụng cỏc dịch vụ giỏ trị gia tăng cần cú một giải phỏp hữu hiệu nhằm cung cấp trực tiếp cỏc ứng dụng đến cỏc thuờ bao. Với khả năng đặc biệt, SIM Toolkit cú thể được coi là cụng nghệ duy nhất cho tới thời điểm hiện tại cú khả năng thực hiện được việc phõn phối dịch vụ tới cỏc thuờ bao một cỏch mềm dẻo thụng qua cơ chế quản lý nội dung thẻ SIM. Ngoài ra, nhờ cú đặc tớnh bảo mật dựa trờn nền Java Card và đặc tớnh bảo mật cú từ Smart Card, cỏc ứng dụng trờn thẻ SIM hoàn toàn cú khả năng đỏp ứng yờu cầu tớnh bảo mật cao như thanh toỏn qua di động, cỏc dịch vụ thương mại điện tử.

Cụng nghệ Java Card do Sun Microsystems phỏt triển hiện đó được tớch hợp vào hơn 90% cỏc loại thẻ thụng minh trờn toàn cầu. Java Card được chọn làm nền để phỏt triển cỏc ứng dụng trờn SIM cho cỏc điện thoại di động theo chuẩn GSM phase 2+. Nhờ kế thừa cỏc đặc tớnh của Java là hướng đối tượng triệt để, cỏc ứng dụng trong thẻ SIM được xõy dựng nhanh chúng và dễ dàng hơn.

Cú thể kể ra đõy một số mặt đạt được của đề tài:

Về mặt kỹ thuật:

Nắm bắt, làm chủ được cụng nghệ SIM Toolkit. Cú khả năng phỏt triển cỏc ứng dụng trờn nền SIM Toolkit để cung cấp cho cỏc nhà khai thỏc mạng di động tại Việt Nam.

Đưa ra cỏc phõn tớch về khả năng đỏp ứng yờu cầu bảo mật của cụng nghệ. Từ đú, khẳng định được tiềm năng phỏt triển mạnh mẽ của cụng nghệ SIM Toolkit trong lĩnh vực thương mại điện tử.

Cung cấp giải phỏp và mụ hỡnh hoàn chỉnh ỏp dụng cho bài toỏn thương mại điện tử trờn thiết bị cầm tay.

Về mặt kinh tế:

Ưu thế của việc phỏt huy nội lực được thể hiện một cỏch rừ rệt khi cỏc giải phỏp và kỹ thuật do chớnh cỏc nghiờn cứu viờn trong nước tự nghiờn cứu và xõy dựng.

Tiềm năng thu hỳt khỏch hàng và những lợi nhuận kinh tế to lớn đối với nhà khai thỏc mạng di động trờn thị trường Việt Nam cũng như thế giới.

Hướng phỏt triển tiếp theo của đề tài:

Xõy dựng ứng dụng SIM Toolkit cho hệ thống mạng di động hỗ trợ chuẩn GSM ở Việt Nam thay vỡ cỏc nhà khai thỏc mạng di động đang phải mua phần mềm của cỏc hóng nước ngoài.

Xõy dựng và triển khai cỏc dịch vụ về thương mại điện tử trờn nền SIM Toolkit, cỏc dịch vụ đũi hỏi tớnh bảo mật cao. Cỏc dịch vụ này là chỡa khoỏ cho cỏc mạng di động thu hỳt khỏch hàng về phớa mỡnh.

Nghiờn cứu cụng nghệ phỏt triển ứng dụng trờn thẻ SIM của mạng TDMA và CDMA thế hệ mới.

TÀI LIỆU THAM KHẢO

[1] Enrique Ortiz (2005), An introduction to Java Card, http://java.sun.com [2] ETSI (1999), Security Mechanisms for the SIM Toolkit, ETS Institute, France [3] GemPlus, SIM Application Toolkit, http://www.gemplus.com

[4] GemPlus (2001), Boost Value Added Services with STK, GemPlus, France [5] Giesecke & Devrient (2002), Mobile Banking, Munich Institute, Germany [6] Karli Watson, An introduction to WAP, http://www.wrox.com

[7] Paul Ashley (2001), SMPP Protocol Specification V3.4, SMPP Group, Ireland [8] Sim Alliance (2003), Interoperability Stepping Stones, http://www.simalliance.org [9] Sun Microsystem (2005), J2ME & J2EE Technology, http://java.sun.com

PHỤ LỤC

Một phần của tài liệu Nghiên cứu công nghệ SIM toolkit để xây dựng hệ thống dịch vụ cho thiết bị di động (Trang 55)

Tải bản đầy đủ (PDF)

(71 trang)