Quá trình thủ tục đăng ký và thanh toán được thực hiện như sau:
Khách hàng mua một thiết bị eKey và đăng ký dịch vụ tại Ngân hàng hoặc nhà cung cấp dịch vụ thanh toán các thông tin để xác thực như MSISDN, IMSI, username, password, mã xác thực,… các thông tin trên đồng thời được lưu trong database của server để phục vụ xác thực.
Điện thoại kết nối đến BAM thông qua kết nối internet (3G, GPRS,Wifi), kết nối với eKey thông qua các kết nối có sẵn trên thiết bị (COMM, Bluetooth, USB, NFC,…). Sau quá trình xác thực giữa BAM và eKey, và khóa phiên (session key) được khởi tạo, FAM sẽ gửi các giao dịch thanh toán đến eKey để eKey đính kèm với các thông tin thuê bao (MSISDN, IMSI, username, password, mã xác thực) và khóa khóa riêng, sau đó mã hóa bằng khóa phiên vừa tạo. Thông tin mã hóa được gửi lại FAM và FAM gửi cho BAM.
Tiếp theo, tại BAM sẽ giải mã theo khóa phiên và so sánh với các thông tin thuê bao đã đăng ký để thực hiện lệnh giao dịch, sau đó BAM mã hóa thông tin phúc đáp để gửi trả lại cho FAM. Các thông tin trả về sẽ được FAM chuyển đến eKey để giải mã và lưu tài khoản giao dịch. [9]
Ngày nay, thanh toán qua điện thoại di động ngày càng phát triển và đặt ra nhiều thách thức trong công tác bảo mật. Phương pháp thanh toán sử dụng khóa điện tử tách rời giúp nâng cao tính bảo mật và lưu trữ các thông tin thanh toán quan trọng. Quá trình xác thực chéo giữa khóa điện tử, phần mềm FAM và BAM giúp tăng tính bảo mật của hệ thống thanh toán di động. Thêm vào đó, so với việc lưu trữ các thông tin cá nhân và thiết bị điện thoại, khóa tách rời này bảo vệ dữ liệu khỏi sự tấn công của virus, nâng cao tính giản lược của các phép tính số học và dễ dàng nâng cấp trong tương lai.
KẾT LUẬN
Sau một thời gian nghiên cứu với đề tài Kỹ thuật bảo mật trong thông tin di động, luận văn đã nêu một số nhu cầu và những vấn đề then chốt trong kỹ thuật an toàn thông tin, trong đó tập trung vào hệ thống GSM và UMTS. Với hệ GSM tốc độ dữ liệu người dùng ở mức độ đủ để trao đổi bằng tiếng nói, còn với hệ UMTS tốc độ nâng cao hơn ở mức 2 Mbps trở lên đã đáp ứng được các dịch vụ đa phương tiện, thoại hình, truy cập internet tốc độ cao.
Luận văn đã nêu một số yếu tố cần thiết để xây dựng một môi trường an ninh, các nguy cơ bị tấn công, và các thách thức gặp phải trong quá trình xây dựng kiến trúc an ninh trong môi trường vô tuyến và thông tin di động. Trong đó kỹ thuật xác thực thuê bao và mã hóa thông tin của hệ thống GSM và UMTS cũng như phương pháp mã hóa khóa công khai RSA được nêu cụ thể, chi tiết. Qua đó, luận văn đã nêu được những điểm còn thiếu sót của hệ thống bảo mật trong GSM, đặc biệt và quá trình xác thực và mã hóa thông tin. Đồng thời khi nâng cấp lên UMTS đã khắc phục được cơ bản các nhược điểm, bảo vệ thông tin thuê bao và thông tin trao đổi trên hệ thống.
Tuy nhiên với những yêu cầu cao hơn như thanh toán điện tử qua hệ thống thông tin di động thì các nghiên cứu cơ chế an toàn cần tiếp tục hoàn thiện. Khi điều kiện công tác cho phép tôi sẽ tiếp tục nghiên cứu để hoàn thiện các phần việc chưa hoàn thành.
Với thời lượng có hạn, luận văn chắc chắn còn nhiều thiếu sót, tôi rất mong nhận được sự góp ý của các thầy cô và các bạn để luận văn được hoàn thiện hơn.
TÀI LIỆU THAM KHẢO Tiếng Việt
1. Trần Minh Văn (2008), An toàn và bảo mật thông tin, Bài giảng, Trường Đại học Nha Trang.
Tiếng Anh
2. Anon. (2007), Kasumi specification (3GPP TS 35.202 version 7.0.0 Release 7),
European Telecommunications Standards Institute.
3. Aura Tuomas (2010), GSM and 3G Security, Helsinki Aalto University.
4. Balderas-Contreras Tomas and Cumplido-Parra Rene A. (2004), Security Architecture in UMTS Third Generation Cellular Networks, Mexico: Instituto Nacional de Astrofısica, Optica y Electronica.
5. Gadaix Emmanuel (2001), GSM and 3G Security, eGlobal.
6. Mitsuru Matsui and Toshio Tokita (2000), MISTY, KASUMI and Camellia Cipher Algorithm Development, Mitsibishi Electric Advance (Mitsibishi Electric corp.).
7. Quirke Jeremy (2004), Security in the GSM system, Aus Mobile.
8. Sutirtha Prakas and Sachikanta Behera (2010), Study and implementation of 3g mobile security, Department of Computer Science and Engineering National Institute of Technology ROURKELA.
9. Zheng Lei-Na, Pan Tie-Jun (2006), Security key: A new mobile payment solution, Zhejiang Wanli University.
Website
10.Gsmfordummies (2012), E&E Students. Địa chỉ:
http://students.ee.sun.ac.za/~gshmaritz/gsmfordummies/encryption.shtml Truy cập ngày 01/02/2013.
PHỤ LỤC
Mã nguồn chương trình Matlab mã hóa và giải mã theo phương pháp RSA.
% *** HÀM CHÍNH: THỰC HIỆN MÃ HÓA VÀ GIẢI MÃ BẢN TIN *** clc;
disp('Thuat toan bao mat khoa cong khai RSA'); clear all; close all;
% Nhap gia tri khoa ma hoa dau vao p va q (2 so nguyen to) p = input('\nNhap gia tri p (nguyen to): ');
q = input('\nNhap gia tri q (nguyen to): ');
% Tim gia tri khoa cong khai e, va khoa bi mat d [Pk,Phi,d,e] = intialize(p,q);
M = input('\nNhap day thong diep can ma hoa, M: ','s');
% % % Chuyển mã từ ký tự sang mã ASCII x=length(M); c=0; for j= 1:x for i=0:122 if strcmp(M(j),char(i)) c(j)=i; end end end
disp('Ban tin goc duoc chuyen sang ma ASCII:'); disp(c);
% % %Mã Hóa for j= 1:x
cipher(j)= crypt(c(j),Pk,e); end
disp('Ban tin da duoc ma hoa:'); disp(cipher);
% % %Giải mã for j= 1:x
message(j)= crypt(cipher(j),Pk,d); end
disp('Giai ma ban tin ma hoa thanh ma ASCII:'); disp(message);
disp(['Ban tin da giai ma la: ' message]);
% ** HÀM MÃ HÓA VÀ GIẢI MÃ BẢN TIN ** function mc = crypt(M,N,e) e=dec2bin(e); k = 65535; c = M; cf = 1; cf=mod(c*cf,N); for i=k-1:-1:1 c = mod(c*c,N); j=k-i+1; if e(j)==1 cf=mod(c*cf,N); end end mc=cf;
% ** HÀM THIẾT LẬP CÁC KHÓA CÔNG KHAI VÀ BÍ MẬT ** function [Pk,Phi,d,e] = intialize(p,q)
clc;
disp('Intaializing:'); Pk=p*q;
Phi=(p-1)*(q-1);
%Tinh gia tri cua e, sao cho gcd(e,Phi) = 1 x=2;e=1;
while x > 1 e=e+1;
x=gcd(Phi,e); end
%Tinh gia tri cua d = e^-1 mod Phi i=1;
while r > 0 k=(Phi*i)+1; r=rem(k,e); i=i+1; end d=k/e; clc;
disp(['Pk (hay N) : ' num2str(Pk)]); disp(['Khoa cong khai e : ' num2str(e)]); disp(['Phi : ' num2str(Phi)]);
disp(['Khoa bi mat d: ' num2str(d)]);
** HÀM CHUYỂN GIÁ TRỊ TỪ THẬP PHÂN SANG NHỊ PHÂN ** function a = dec2bin(d) i=1; a=zeros(1,65535); while d >= 2 r=rem(d,2); if r==1 a(i)=1; else a(i)=0; end i=i+1; d=floor(d/2); end if d == 2 a(i) = 0; else a(i) = 1; end