Kết luận chương 3

Một phần của tài liệ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 (Trang 67 - 78)

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 Việt Nam) do CDIT phỏt triển thỡ hoàn toàn cú thể xõy dựng hệ thống thanh toỏn trực tuyến qua điện thoại di động ỏp dụng cụng nghệ SIM Toolkit.

KẾT LUẬN

Sau khi nghiờn cứu cụng nghệ Sim Toolkit, 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.

Chi phớ về cài đặt cũng như hỗ trợ là khụng đỏng kể.

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

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 CDMA thế hệ mới.

TÀI LIỆU THAM KHẢO

[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

[4] GemPlus, SIM Application Toolkit, http://www.gemplus.com

[5] GemPlus (2001), Boost Value Added Services with STK, GemPlus, France

[6]Giesecke & Devrient (2002), Mobile Banking, Munich Institute, Germany [7] Karli Watson, An introduction to WAP, http://www.wrox.com

[8] Paul Ashley (2001), SMPP Protocol Specification V3.4, SMPP Group, Ireland

[9] Scott B. Guthery & Mary J. Cronin(2002), Mobile Application Development with SMS and the SIM Toolkit , Mac-GrawHill

[10] Sim Alliance (2003), Interoperability Stepping Stones,

http://www.simalliance.org

[11] Sun Microsystem (2005), J2ME & J2EE Technology, http://java.sun.com (adsbygoogle = window.adsbygoogle || []).push({});

[12] Vartan Piroumian(2002), Wireless J2ME Platform Programming , Prentice Hall

PHỤ LỤC

Phụ lục C – Mó nguồn chương trỡnh

package mytoolkit; import sim.toolkit.*; import sim.access.*;

import javacard.framework.*;

public class MyToolKit extends javacard.framework.Applet implements ToolkitInterface, ToolkitConstants{

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

public static final byte EXIT_REQUESTED_BY_USER = (byte)0x10; private Object[] ItemList = { item1, item2, item3, item4 };

private ToolkitRegistry reg; private SIMView gsmFile;

private byte buffer[] = new byte[10]; // Constructor of the applet

public MyToolKit() {

// get the GSM application reference gsmFile = SIMSystem.getTheSIMView(); // register to the SIM Toolkit Framework reg = ToolkitRegistry.getEntry();

// Define the applet Menu Entry and register to the EVENT_MENU_SELECTION itemId = reg.initMenuEntry(menuEntry, (short)0x0000, (short)menuEntry.length, PRO_CMD_DISPLAY_TEXT, false, (byte) 0x00, (short) 0x0000); // register to the EVENT_UNFORMATTED_SMS_PP_ENV

reg.setEvent(EVENT_UNFORMATTED_SMS_PP_ENV); }

// Method called by the JCRE at the installation of the applet

public static void install(byte bArray[], short bOffset, byte bLength) { MyToolKit MyApplet = new MyToolKit ();

MyApplet.register(); }

// Method called by the GSM Framework

public Shareable getShareableInterfaceObject ( AID clientAID, byte parameter) {

if (parameter == (byte) 0x00) {

if ( clientAID.partialEquals(baGSMAID, (byte) 0x00, (byte) baGSMAID.length) == true )

return ((Shareable) this); }

}

// Method called by the SIM Toolkit Framework public void processToolkit(byte event) {

// get the handler references

EnvelopeHandler envHdlr = EnvelopeHandler.getTheHandler(); ProactiveHandler proHdlr = ProactiveHandler.getTheHandler(); ProactiveResponseHandler rspHdlr;

switch(event) {

case EVENT_MENU_SELECTION:

// Prepare the Select Item proactive command (adsbygoogle = window.adsbygoogle || []).push({});

proHdlr.init(PRO_CMD_SELECT_ITEM,(byte)0x00,DEV_ID_ME); // Append the Menu Title

proHdlr.appendTLV((byte) (TAG_ALPHA_IDENTIFIER | TAG_SET_CR), menuTitle,(short)0x0000,(short)menuTitle.length);

// add all the Item

for (short i=(short) 0x0000; i<(short) 0x0004; i++) {

proHdlr.appendTLV((byte) (TAG_ITEM | TAG_SET_CR),(byte) (i+1), (byte[])ItemList[i],(short) 0x0000,

(short)((byte[])ItemList[i]).length); }

// ask the SIM Toolkit Framework to send the proactive command and check the result

if ((result = proHdlr.send()) == RES_CMD_PERF){ rspHdlr = ProactiveResponseHandler.getTheHandler(); // SelectItem response handling

switch (rspHdlr.getItemIdentifier()) { case 1:

do {

repeat = false; try {

// GetInput asking the users name

//proHdlr.initGetInput((byte)0x01, DCS_8_BIT_DATA, item1Display, (byte)0x00,(short)item1Display.length,(short)0x0001,(short)0x0002);

proHdlr.initGetInput((byte)0x08, DCS_8_BIT_DATA, item1Display, (byte)0x00, (short)item1Display.length,(short)0x0007,(short)0x000E);

proHdlr.send();

// display the entered text

rspHdlr.copyTextString(textDText,(short)0x0000);

proHdlr.initDisplayText((byte)0x00,DCS_8_BIT_DATA, item1Result, (short)0x0000,(short) item1Result.length);

proHdlr.send(); }

catch (ToolkitException MyException) { if (MyException.getReason() == ToolkitException.UNAVAILABLE_ELEMENT) {

if (rspHdlr.getGeneralResult() != EXIT_REQUESTED_BY_USER) repeat = true; break; } } } while (repeat); break; case 2: case 3: // DisplayText

case 4: // Ask the user to enter data and display it

proHdlr.init(PRO_CMD_DISPLAY_TEXT, CMD_QUALIFIER, DEV_ID_DISPLAY); proHdlr.appendTLV((byte)(TAG_TEXT_STRING| TAG_SET_CR), DCS_8_BIT_DATA, item4Display,(short)0x0000, (short)item4Display.length); proHdlr.send(); break; } } break; case EVENT_UNFORMATTED_SMS_PP_ENV: // get the offset of the instruction in the TP-UD field

short TPUDOffset = (short) (envHdlr.getTPUDLOffset() + SERVER_OPERATION);

// start the action requested by the server

switch (envHdlr.getValueByte((short)TPUDOffset) ) { case 0x41 : // Update of a gsm file

// get the data from the received SMS

//envHdlr.copyValue((short)TPUDOffset+1,buffer, (short)0x0000,(short)0x0003); // write these data in the EFpuct

gsmFile.select(SIMView.FID_DF_GSM); gsmFile.select(SIMView.FID_EF_PUCT);

gsmFile.updateBinary((short)0x0000,buffer,(short)0x0000,(short)0x0003); break; (adsbygoogle = window.adsbygoogle || []).push({});

case 0x36 : // change the MenuTitle for the SelectItem

//envHdlr.copyValue((short)TPUDOffset+1, (byte)menuTitle,(short)0x0000, (short)0x0006); break; } break; }

} /**

* Method called by the JCRE, once selected */

public void process(APDU apdu) { // Handle the Select AID apdu if (selectingApplet()) return; switch(apdu.getBuffer()[1]) {

// specific APDU for this applet to configure the MenuTitle from SelectItem case (byte)MY_INSTRUCTION: if (apdu.setIncomingAndReceive()>(short)0) { Util.arrayCopy(apdu.getBuffer(),(short)0x0005,menuTitle,(short)0x0000, (short)0x0006); } break; default: ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED); } } }

Một phần của tài liệ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 (Trang 67 - 78)