Đề tài của chúng tôi đang thực hiện nhằm nghiên cứu, và áp dụng các công cụ bảo mật đang được sử dụng hiện nay để sao hru và bảo vệ các thông tin quan trọng trên điện thoại di động như t
Trang 1TÁC GIẢ: Phạm Hồng Phát
Dương Tấn Hùng
MỤC LỤC
Trang
Chương 1 Giới thiệu 7
1.1 Dan nhập 7
1.2 Giới thiệu đề tài 7
Chương 2 Tổng quan về lý thuyết mã hóa và mục tiêu nghiên cứu 9
2.1 Mục tiêu của việc nghiên cứu lý thuyết mã hóa 9
2.2 Khái niệm về bảo mật thông tin 9
2.3 Khái niệm về hệ thống mã hóa 9
2.3.1 Hệ thống mã đối xứng 10
2.3.2 Hệ thống mã bất đối xứng 11
Chương 3 Chương trình “Security Manager” 12
3.1 Giới thiệu chương trình Security M anager 12
3.1.1 Chức năng chính của chương trình 12
3.1.2 Môi trường và ngôn ngữ lập trình 13
3.2 Xây dựng và cài đặt ứng dụng 14
3.2.1 Quản lý password và khóa, và các thao tác mã hóa 14
3.2.2 Kịch bản một số chức năng chính của chương trình 14
3.3 Các giao thức sử dụng: 16
3.3.1 Quản lý mật khẩu 16
3.3.2 Quản lý cục bộ thông tin mã hóa 18
3.3.3 Trường hợp khẩn cấp 19
3.4 Sơ đồ Use-Case và sơ đồ lớp: 20
Trang 220
3.4.1 Sơ đồ Use-Case:
3.4.2 Sơ đồ lớp cài đặt : 21
Chương 4 cấu trúc và chức năng của máy chủ 22
4.1 Cơs ở dữ liệu: 22
4.1.1 Hệ quản trị cơ sở dữ liệu: 22
4.1.2 Các bảng dữ liệu: 22
4.1.3 Mô hình cơ sở dữ liệu: 23
4.2 Mô hình chức năng: 23
4.2.1 Người dùng: 23
4.2.2 Máy chủ: 24
4.3 Quá trình trao đổi dữ liệu giữa Máy chủ và Người dùng: 24
4.3.1 Chức năng đăng ký: 24
4.3.2 Chức năng đăng nhập: 24
4.4 Các hàm xử lý chính của máy chủ: 25
4.5 Các tập tin đính kèm: 26
4.6 Các dịch vụ Web (Web service) triển khai tại máy chủ: 26
4.6.1 Dịch vụ đăng ký tài khoản mới: 26
4.6.2 Dịch vụ đăng nhập: 27
Chương 5 Kết luận 28
5.1 Những việc đã làm được 28
5.2 Những việc chưa đạt được 28
5.3 Hướng phát triển 29
5.3.1 về mặt chức năng 29
5.3.2 về mặt bảo mật: 29
Phụ lục A: Bảng tham chiếu các từ viết tắt 32
Phụ lục B: Cách biên dịch và cài đặt của chương trình Security Manager 34
B.l Một số khái niệm về biên dịch và cài đặt ứng dụng trên Symbian 34
Trang 3B 2 Cài đặt và biên dịch ứng dụng “Security Manager”: 35
Phụ lục C: Hướng dẫn sử dụng chương trình Security Manager 36
c.l Cài đặt chương trình vào thiết bị 36
C 2 Hướng dẫn sử dụng các chức năng của chương trình 36
c.2.1 Màn hình giao diện của Đăng Ký và Đăng Nhập 36
c.2.2 Màn hình giao diện Tin Nhắn 38
c.2.3 Màn hình giao diện cấu hình 39
Trang 4DANH SÁCH CÁC HÌNH
Hình 1: Mã hóa đối xứng 9
Hình 2: Mã hóa bất đối xứng 10
Hình 3: Sơ đồ chức năng 11
Hình 4: Sơ đồ quá trình đăng ký 15
Hình 5: Sơ đồ quá trình đăng nhập 16
Hình 6: Sơ đồ quá trình sử dụng 16
Hình 7: Quá trình đổi mật khẩu 17
Hình 8: Quản lý cục bộ thông tin mã hóa 17
Hình 9: Xuất thông tin ra thẻ nhớ 18
Hình 10: Gửi tin nhắn đặc biệt 18
Hình 11: Sơ đồ Use-Case 19
Hình 12: Sơ đồ lớp 20
Hình 13: Mô hình cơ sở dữ liệu 22
Hình 14: Các thao tác cơ bản của người dùng 22
Hình 15: Sơ đồ chức năng của máy chủ 23
Hình 16: Cách thức biên dịch tập tin cài đặt SIS 33
Hình 17: Màn hình trong lần chạy đầu tiên 36
Hình 18: Màn hình giao diện Đăng ký 36
Hình 19: Sơ đồ nhập mật khẩu của chương trình 37
Hình 20: Màn hình giao diện Tin nhắn 37
Hình 21: Màn hình giao diện cấu hình 38
Trang 5DANH SÁCH CÁC BẢNG
Bảng 1: Đặc điểm phần cứng của một số máy Nokia S60 3rd 7
Bảng 2: Bảng so sánh giữa Java và C++ 13
Bảng 3: Bảng Users 21
Bảng 4: Bảng Contact 21
Bảng 5: Bảng SMS 22
Trang 6Chương 1 Giói thỉệu
1.1 Dẩn nhập
Ngày nay, với chiếc điện thoại thông minh trên tay bạn có thể sử dụng được vô số các dịch vụ tiện ích Không chỉ là chiếc máy để nghe gọi, gửi tin nhắn SMS như vài năm trước đây, điện thoại di động hiện nay là sự tổng hợp nhiều công nghệ khác nhau Điện thoại di động có thể thay thế máy ảnh kỹ thuật
số, được dùng để xem truyền hình, lướt web, thực hiện các giao dịch ngân hàng, chứng khoán
Số lượng người sử dụng điện thoại di động trong những năm gần đây tăng một cách nhảy vọt Theo thống kê của ủy ban viễn thông quốc tế đến cuối năm 2008, ước tính đã có khoảng 4,1 tỷ người dùng
di động - tăng từ 1 tỷ thuê bao vào năm 2002 Riêng ở Việt Nam, số lượng thuê bao di động tính đến tháng 6/2008 là 48 triệu - một con số rất đáng quan tâm về thị phần, Nokia đang dẫn đầu trên toàn cầu với 37%, tiếp theo là Samsung, Motorola Chỉ tính riêng quý IV/2008, nhà sản xuất điện thoại của Phần Lan, Nokia, bán được hơn 113 triệu máy, đặc biệt là các máy dòng E và N-Series Các kết quả trên cho thấy, điện thoại di động đã trở thành một vật dụng không thể thiếu của rất nhiều người Các thông tin lưu trữ và được trao đổi thông qua điện thoại di động ngày càng quan trọng và cần thiết Việc bảo mật những thông này đang được quan tâm và chú ý Các công cụ mã hóa đã được nghiên cứu và xây dựng trên điện thoại di động từ nhiều năm nay Các nhà phát triển hệ điều hành trên đã tích họp các công cụ này vào các dịch vụ của hệ điều hành Với hệ điều hành Symbian, từ phiên bản 9.1 trở về sau, đã có hồ trợ các công cụ mã hóa đủ mạnh để lập trình viên có thể xây dựng một ứng dụng
đủ độ an toàn cần thiết
1.2 Giới thiệu đề tài
Hiện nay, các nhà cung cấp mạng ở Việt Nam cũng đưa ra các dịch vụ giúp người dùng sao lưu, đồng
bộ dữ liệu cá nhân trên điện thoại di động lên trang web và ngược ki Điển hình như dịch vụ DataSafe của VinaPhone, FoneBackup của MobiPhone, Ưu điểm của các dịch vụ này là máy chủ được đầu
tư tốt và luôn sẵn sàng, ưu điểm tiếp theo hỗ trợ đa dạng các bại máy nhưng dữ liệu không được mã hóa trên đường truyền Mất nhiều thời gian cho quá trình đồng bộ giữa máy chủ và điện thoại của người dùng
Đề tài của chúng tôi đang thực hiện nhằm nghiên cứu, và áp dụng các công cụ bảo mật đang được sử dụng hiện nay để sao hru và bảo vệ các thông tin quan trọng trên điện thoại di động như tin nhắn SMS, danh bạ Do giói hạn về thời gian cũng như kiến thức, chúng tôi chỉ tập
Trang 7trung nghiên cứu chủ yếu để xây dựng các ứng dụng mã hóa trên các máy Nokia, dòng S60 3 sử dụng hệ điều hành Symbian 9.X
Khả năng về tốc độ xử Ịý và bộ nhớ của các thiết bị di động thông minh, đặc biệt là các máy dòng S60
3rd của Nokia đã đạt được các chỉ số cần thiết để có thể xây dựng một ứng dụng mã hóa đủ an toàa Các máy này đều có bộ xử Ịý 32-bit và nhịp của bộ vi xử lý khá nhanh
läng 1: Đặc điếm phần cứng của mi ật số máy Nokia S60 3 rd
Đe tài của chúng tôi thực hiện gồm các công việc sau:
o Nghiên cứu về lý thuyết mã hóa để biết được đặt điểm của các công cụ, thuật toán mã hóa
o Tim hiểu các công cụ mã hóa có thể sử dụng trên máy Nokia S60 3rd và chọn một công cụ phù họp cụ thể
o Cài đặt thử nghiệm công cụ vừa chọn, và xây dựng ứng dụng với chức năng bảo mật danh bạ
và tin nhắn Đồng thời đưa ra những giải pháp để lưu trữ những thông tin được mã hóa này
o Đánh giá kết quả thực nghiệm của chương trình ứng dụng ở trên
Trang 8Chương 2 Tổng quan về lý thuyết mã hóa và mục tiêu
nghiên cứu
2.1 Mục tiêu của việc nghicn cứu lý thuyết mã hóa
Trong quá trình tìm hiểu về các kiến thức mã hóa, chúng tôi xác định một số vấn đề trọng tâm như sau;
• Tần hiểu các thuật toán mã hóa đang được sử dụng hiện nay và có độ an toàn đủ để bảo vệ dữ liệu trên các thiết bị di động
• Cùng với đó là tìm các công cụ mã hóa đã có sẵn phù họp và vận dụng các kiến thức hên để
có thể sử dụng được công cụ đó
• Thống kê một số kết quả thực nghiệm trong việc sử dụng công cụ mã hóa
• Xây dựng mã hóa ứng dụng mã hóa đơn giản có sử dụng các kiến thức nêu trên
Mục đích của khóa luận không đi sâu vào nghiên cứu các lý thuyết mã hóa, mà chỉ tìm hiểu và vận dụng nó Do vậy các kiến thức trình bày dưới đây mang tính ứng dụng nhiều hon là đi sâu nghiên cứu vào Ịý thuyết
2.2 Khái niệm về bảo mật thông tin
Bảo mật thông tin là khoa học nghiên cứu các nguyên Ịý và phương pháp cho phép mã hóa thông tin sao cho chỉ người có khóa giải mã (bí mật) mới hiểu được thông tin gốc [1]
Bảo mật thông tin hiện đại nghiên cứu hai dạng bài toán an toàn thông tin sau: bảo mật và chứng thực Bảo mật nhằm ngăn cản người không có khóa bí mật không thể rút trích thông tin từ các thông điệp trên các kênh truyền không an toàa Chứng thực nhằm đảm bảo chỉ có người nhận đúng mới có thể đọc được thông điệp và người gởi không thể phủ nhận thông điệp mà mình gởi đi
2.3 Khái niệm về hệ thống mã hóa
Hệ thống mã hóa (cryptosystem) là một bộ 5 (P, c, K, E, D) thỏa mãn các điều kiện sau:
P: Tập hữu hạn các mẫu tin nguồn cần mã hóa C:
Tập các mẫu tin đích sau khi mã hóa K: Tập các
khóa có thể được sử dụng
Trang 9E và D lần lượt là các tập mã hóa và giải mã
ứng với một khóa k thuộc K, sẽ có một luật ek: p -> c dùng để mã hóa và một luật dkí c -> p dùng để
giải mã Trong đó Ck và dk là hai ánh xạ thỏa mãn: dk(ek(x)) = X với mọi X € p
Hệ thống mã hóa được phân làm 2 bại là mã hóa bất đốỉ xứng và mã hóa đếỉ xứng
bí mật vấn đề bảo mật thông tin khi sử dụng mã đối xứng phụ thuộc nhiều vào việc bảo vệ khóa bí mật Hạn chế của mã đối xứng là việc trao đối khóa Tuy nhiên ưu điểm của nó là tốc độ xử lý nhanh hơn
so với các thuật toán mã bất đối xứng do các phép toán trong các thuật toán này có độ phức tạp nhỏ hơn so vói thuật toán bất đối xứng Mã hóa đối xứng thường được sử dụng để mã hóa một thông điệp
có kích thước tương đếỉ lổn dùng để lưu trữ hoặc truyền đi củng với khóa đã được mã hóa bằng một phương pháp mã hóa bất đối xứng nào đó
Các phương pháp mã hóa đếỉ xứng được sử dụng phổ biến hiện nay: DES, AES,
Trang 10vệ, chỉ cần bảo vệ khóa bí mật Lợi thế của mã hóa bất đối xứng là bất kỳ người nào khỉ có khóa công khai đều cổ thể thực hiện quá trình mã hóa, nhưng chỉ cố người giữ khóa bí mật mới có ứiể thực hiện quá trình giải mã Hạn chế của nố là tốc độ xử lý, thuật toán mã bất đối xứng là chậm hơn so với các thuật toán mã hóa đối xứng Do vậy các thuật toán mã hóa bất đối xứng được dùng để trao đổi thông tin trên đường truyền, các thông tin này có kích thước ngắn nhưng quan trọng, chẳng hạn như khóa của phương pháp mã hóa đối xứng
Các phương pháp mã hóa bất đếỉ xứng được sử dụng phố biến hiện nay: RSA, Diffie Heilman,
Trang 11Chương 3 Chương trình “Security Manager”
3.1 Giói thiệu chương trình Security Manager
3.1.1 Chức năng chính của chương trình
Hình 3: Sơ đồ chức năng
Các chức năng chính của chương trình:
• Mã hóa và giải mã danh bạ, tin nhắn:
Chức năng này cho phép lưu danh bạ, tin nhắn dưới dạng mã hóa, giải nồ lại nội dung danh bạ, tin nhắn Thông tin được mã hóa theo thuật toán AES - 256 bit
• Xây dựng bộ lọc tin nhắn để bảo vệ các tin nhắn từ danh sách các ngưòi gởi cụ thể:
Chức năng này cho phép người dùng định nghía một danh sách số điện thoại cụ thể Bất kỳ tin nhắn nào được gỏi từ các số điện thoại này đều được mã hóa và lưu xuống thiết bị lưu trữ Nội dung của các tin nhắn này sẽ được mã hóa bằng thuật tóan AES - 256 bit
Trang 12• Sao lưu và quản lý tin nhắn dã mã hóa (cục bộ hoặc trên mạng)
• Thay đổi mật khẩu ngưòi dùng:
Chương trình này cho phép người dùng thay đổi mật khẩu
• Upload và download những thông tin mã hóa từ máy chủ:
Chương trình cho phép người dùng lưu trữ những thông tin quan trọng như tin nhắn, các số Hên lạc (đã được mã hóa) lên máy chủ Và ngược lại, người dùng chỉ cần vài thao tác đơn giản là có thể khôi phục lại dữ Hệu trong những trường hợp cần thiết
• Um kiếm những thông tin mã hóa từ máy chủ:
Chương trình cho phép người dùng tìm những thông tín đã mã hóa trên máy chủ và tải về điện thoại
• Tự dộng gửi danh sách tin nhắn đã mã hóa lên máy chủ:
Khi có một tin nhắn có cấu trúc riêng (cấu được định nghía trong chức năng cấu hình), chương trình sẽ
tự động gửi danh sách này lên máy chủ
3.1.2 Môi trường và ngồn ngũ’ lập trình
Đe xây dựng các ứng dụng trên Symbian, hai ngôn ngữ chính được sử dụng là Java và C++ Symbian C++ và J2ME đều có hồ trợ đủ các công cụ mã hóa để xây dựng ứng dụng, tuy nhiên vẫn có một số sự khác biệt khi sử dụng hai công cụ này:
Không có khái niệm Capabilities nên không thể
truy cập vào hệ thống tập tin và dịch vụ
Nếu định nghĩa đầy đủ các Capabilities, ta có thể truy cập vào tập tin và dịch vụ của hệ
Trang 13của hệ điều hành điều hành dễ dàng
Không thế viết được ứng dụng chạy nển, ứng dụng
3.2.1 Quản lý password và khóa, và các thao tác mã hóa
3.2.1.1 Thuật toán mã hóa dữ liệu
Chương trình sử dụng thuật toán mã hóa đối xứng AES để mã hóa các dữ kêu kệu được lưu giữ trên máy
3.2.1.2 Quản lý khóa và password của ngưòi dùng
Mật khẩu của người dùng được hash với một giá trị salt và được lưu xuống file cùng với các tham số cho các thao tác mã hóa như rv, sak
3.2.2 Kịch bản một số chức năng chính của chương trình
3.2.2.1 Mã hóa và giải mã tin nhắn:
Trang 143.2.2.2 Bộ lọc tin nhắn
Chương trình cho phép người dùng tạo và quản lý một danh bạ đặc biệt (Special list) Special list cũng
sẽ được mã hóa với password của người dùng
Khi đón một tin nhắn, bộ đón tin nhắn của chương trình chạy nền sẽ kiểm tra các tin nhắn có phải được gởi từ một trong các số điện thoại trong Special list hay không Nếu không, tin nhắn này được xem như
là tin nhắn bình thường, và được đưa vào nơi lưu trữ mặc định của máy Nếu đúng, nội dung tin nhắn
sẽ được mã hóa và hiu xuống một tập tin, tin nhắn này đồng thời bị xóa trong hộp thư đến (Inbox)
3.2.2.3 Lưu trữ tin nhắn
Mỗi tin nhắn sẽ chứa các thông tin sau:
Isread: Tin nhắn đã được đọc hay chưa
Number_se: số điện thoại của người gửi (15 ký tự Unicode)
Number _re: số điện thoại của người nhận (15 ký tự Unicode)
Name: Tên người gởi hay người nhận tin nhắn (50 ký tự Unicode)
Body: Nội dung tin nhắn (512 ký tự Unicode)
Mồi tin nhắn sẽ được lưu xuống thiết bị dưới dạng một file (đã được mã hóa) Tương tự như đối với các số hên lạc, chương trình sẽ upload lên máy chủ những tin nhắn được người dùng đánh dấu chọn
3.2.2.4 Lưu trữ Special list
Tất cả các thông tin về Special List được lưu vào một file duy nhất với cấu trúc như sau: <số
Iterri> <Iterri> <Itemỉ>
Mỗi <item> sẽ chứa các thông tin saư
Index: thứ tự của item
Number: số điện thoại (tối đa khoảng 15 ký tự Unicode)
Name: Tên người sở hữu số điện thoại trên (tối đa khoảng 50 ký tự Unicode)
Special hst được mã hóa khi lưu xuống thiết bị
Trang 15I
Accwinl; đứựr
mi hdĩ hace PdiE'.VKii
Kẹ«-' donc hada Passwßfd iSưcc liiüi
ị
Sfl Vffl U 1 vé kr* qiLl
"hach cõng har íhirt hại
Hình 4: Sơ đồ quá trình đăng ký
Trang 163.3.1.2 Quá trình đăng nhập
File ctãa
A-ccữum
(ACCTsflfl )
(ACCTâợp)
Hình 6: Sơ đà quả trình sử dụng
Trang 173.3.1.4 Quá trình đỗi mật khẩu
bôa
ThÉciỊỊ tin Arạt £iài mã
Hình 7: Quá trình đẫỉ mật khẩu
3.3.2 Quản lý cục bộ thông tin mã hỗa
3.3.2.1 Flash disk (ổ đĩa C)
Thông tin nsẫ hoa đưcíc
lưu nong thư mụcEncíypí
(Mĩ hõa) Ngưõl sứ dụng
=? -
■ I File chửa thong
tin vé ÍCCỴ
(ACC>
■ »
■ File mẫu chúa salt + IV
Đươc lưu [rong Ehr mục Setting (Cẩu bữih)
Hình 8: Quản lý cục bệ thông tin mã hóa
Trang 183.3.2.2 Thẻ nhớ
r
° Xuât ra thẻ nhớ
trong the nhơ
Bình 9; Xuất thông tín ra thẻ nhớ 3.3.3 Trường hợp khẩn cấp
Gtn tm chin co rira ínk nẽng
đeo ±ic chau b] mãi
aẳj'
Gửi tom bỏ đũ: bệu mi baa Sau dã xỏa loàn bã dữ Liêu tran?, mí.- <$MS H eader > htuxọạ
Hình 10: Gửi tin nhắn đậc biệt
Trang 193.4 Sor do Use-Case va sor do lop:
3.4.1 Sor do Use-Case: