Tải bản đầy đủ (.pdf) (38 trang)

Giải pháp sao lưu dữ liệu trên điện thoại di động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (904.26 KB, 38 trang )

TÁ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

3.2

3.3

3.4

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

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


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

Sơ đồ Use-Case và sơ đồ lớp:........................................................................................... 20


3.4.1

Sơ đồ Use-Case:..

3.4.2

Sơ đồ lớp cài đặt : ........................................................................................... 21

20

Chương 4. cấu trúc và chức năng của máy chủ .......................................................................... 22
4.1


4.2

4.3

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

Mô hình chức năng: ........................................................................................................... 23
4.2.1

Người dùng: .................................................................................................... 23

4.2.2

Máy chủ: ......................................................................................................... 24

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
5.3.2

về mặt chức năng .......................................................................................... 29
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


B. 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
c.2.3. Màn hình giao


diện Tin Nhắn ..................................................................................... 38
diện cấu hình ....................................................................................... 39


DANH 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


DANH 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


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


trung 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 3rd 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.
Máy

Loại CPU

Nhân

Tồc độ

SDRAM

3250

ARM - 9

1

235 Mhz

64 Mb

N71


ARM - 9

2

220 Mhz

64 Mb

N73

ARM - 9

1

220 Mhz

64 Mb

N76

ARM - 11

1

369 Mhz

96 Mb

N78


ARM - 11

1

369 Mhz

96 Mb

N81

ARM - 11

1

369 Mhz

96 Mb

N91

ARM - 9

2

220 Mhz

64 Mb

N95


ARM - 11

332 Mhz
64 Mb
2
läng 1: Đặc điếm phần cứng của mi ật số máy Nokia S60 3rd

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


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


E 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.
2.3.1

Hệ thống mã đếỉ xứng


EClióa bi mil

Thôn bĩ
diệp
nguồn

Mằ hỏa

Thủng điệp J3
m3 hỏa

Gi ái mâ

T hỏn lí diệp
dã giài mằ

Hình 1: Mã hỗa đối xứng
Trong mã hóa đối xứng khóa trong quá trình mã hốa và gỉảỉ mã là giống nhau, được gọi chung là khóa
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,....


2.3.2


Hệ thống mã bất đểl xứng
khổa cỏng cộng

Tìiõne diệp
gàc

Mi hòa

khâm rientĩ

Ttoỏrìg diệp

Giải mà

■diì mã h ỏ j

T hông diệp
dược KÌ ai mã

Hình 2: Mã hóa bất đốỉ xứng
Khác với mã hóa đếỉ xứng, khóa cho quá tành giải mã và khóa cho quá trình mã hóa là khác nhau.
Khóa công khai dùng để mã hốa, khóa bí mật dùng để giải mã. Khốa công khai không cần phải bảo
vệ, 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, ...



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




Sao lưu và quản lý tin nhắn dã mã hóa (cục bộ hoặc trên mạng)
o Chức năng quản Ịý
■ Đọc danh sách tin nhắn từ Inbox, cho phép người dùng chọn những tin nhắn
cần mã hóa.
■ Tin nhắn được mã hóa sẽ lưu vào thư mục mã hóa. o
Chức năng sao lưu

Người dùng có thể lưu danh sách tin nhắn mã hóa vào thẻ nhớ hoặc gửi lên máy



chủ .
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:

Java

C++

Không có khái niệm Capabilities nên không thể Nếu định nghĩa đầy đủ các Capabilities, ta có thể
truy cập vào hệ thống tập tin và dịch vụ
truy cập vào tập tin và dịch vụ của hệ


củ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 Viết được ứng dụng chạy nền, ứng dụng console,
console, ứng dụng tự khởi động.
và ứng dụng tự động khởi động.
Thời gian khởi động chậm.

Thời gian khởi động nhanh.
Bảng 2: Bảng so sánh giữa Java và C++

Trong khóa luận này, chúng tôi sử dụng ngôn ngữ C++ để xây dựng ứng dụng Security Manager vì
một số chức năng của chương trình không thể viết bang Java.
3.2

Xây dựng và cài dật ứ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:

Mã hóa:
Đe thực hiện mã hóa, đầu tiên ta sao chép nội dung tin nhắn trong tập tin mặc định của máy ra một tập
tin A. Mã hóa tập tin A này ta có một tập tin mới B, tiếp theo xóa tập tin A.
Giải mã:
Lấy tập tin đã mã hóa B, giải mã ra ta được một tập tin mới c. Sau đó, chép nội dung tập tin c vào tập

tin mặc định riêng chứa tin nhắn. Thực hiện việc sao chép xong ta xóa c.


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


3.3

Các giao thức sử dụng:

3.3.1 Quản lý mật khẩu

3.3.1.1 Quả trình đãng kỷ

AccơiM

Passsvửíd

Ssưtỉi sư đụn ?

I

Accwinl; đứựr

mi hdĩ hace

Actơuaư dược hash -> key

Passwetfd



Kẹ«-' donc hada
Passwßfd iSưcc
liiüi

Password, Key

PdiE'.VKii

I


I

ĩtánh cóng


Sfl Vffl U .1 vé kr* qiLl
"hach cõng har íhirt hại

Tao fair chưa
tteagtin

lay I;ACCJ

Tạo fije mau chứa
CP B E mxyptH
ũDita

Hình 4: Sơ đồ quá trình đăng ký


3.3.1.2 Quá trình đăng nhập

File ctaõa
A-ccữum

(ACCTsflfl
)

Hình 5: Sơ đồ quá trình đãng nhập
3.3.1.3 Quá trình sử dụng (mã hỗa và giảỉ mã)


Chươn
g
trĩnh
Sccuritv Ẹ
Manage

o
Đợc file
etwa
Accoum

k*y

o
#

Account direr hasỄi ■§■ HIÓDR: tin dim. ml hòa

(ACCTâợp)

s" k3L?«'ừ. -ôûTi*'
t >Vr —AT ứ-r .1

L ' 3 li .ftJtílfcn '4ấ*

írxỉ £>Õ0£Tlỉỉ>-.

TluStỊậ tin Iti.ì bịa


Hình 6: Sơ đà quả trình sử dụng


3.3.1.4 Quá trình đỗi mật khẩu

CPBEJ LCJ-, ỵtmu-Datâ cúa kẽ?,

ChiKmg

Đọc file
cbãa
Account

rrinft
SeLusity

Manager

"*t> 1*.
■M3HM h$h
AỊt

Account fine hầĩằ

II

(ACCTerapi

i CFỈỊ|-ŨÌ£ÌK£' -feil


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

I*™ '■’4Tr
»!.=?_■■}

t • J|C
0,ÌI3Ã*I ‘«ị
ThÁng tin ml
bôa


3.3.2.2 Thẻ nhớ
r

° Xuât ra thẻ nhớ
Thự mục Mã Hòa

-

Được lưu trciDg ikt
Secufityftbs^pr
trong the nhơ

Tầu mục CấH Hĩnh

° Nhập từ thè nhớ
Thur mục Mi Hòa

Đạc thư mục
S«wiTyManag.ö nong


lầư mục Cấu Hĩnh

thẽ nhỡ

Bình 9; Xuất thông tín ra thẻ nhớ
3.3.3

Trường hợp khẩn cấp
<SMSHeader>.hm
Ckn ĩũẵũ bử ầí ]!*u Công Cu mực mỉ ỈMtìL litt MfYtt

Gtn tm
chin co rira
ínk nẽng
đeo ±ic chau
b] mãi

/
\

Xòa. ìữàn bọ
dù Liẹu mà
hfóẠ vã I-Ịni haph
tT.fi
aẳj'

<s M s H eader > .xoa

<$MS H eader >. htuxọạ


Gửi tom bỏ đũ: bệu mi baa. Sau. dã xỏa loàn bã dữ Liêu tran?, mí.-

Hình 10: Gửi tin nhắn đậc biệt


3.4
3.4.1

Sor do Use-Case va sor do lop:
Sor do Use-Case:


3.4.2 Ser đồ lổrp cài đật

Hình 12: Sơ đồ lớp


Chương 4. cấu trúc và chức năng của máy chủ
4.1

Cff sở dữ liệu:

4.1.1 Hệ quản trị cơ sở dữ liệu:
Trong thực tế, máy chủ chấp nhận các yêu cầu họp lệ của người dùng, sau đó thực thi dịch vụ và trả kết
quả về cho người dùng. Khi yêu cầu của người dùng Hên quan đến các truy vấn dữ Hậu, thì một hệ quả
trị cơ sở dữ liệu (Database Server) sẽ giúp máy chủ làm việc hiệu quả và nhanh hơn, cũng như giải quyết
các vấn đề phức tạp như sự đụng độ khi cùng một lúc có nhiều yêu cầu từ phá người dùng. Do đó, việc
sử dụng một hệ quản trị cơ sở dữ Hệu là cần thiết.
Ngày nay, có rất nhiều hệ quản trị cơ sở dữ Hệu để lựa chọn, nhưng chúng tôi chọn sử dụng Microsoft

SQL Server 2005 bởi vì SQL Server là hệ quản trị mà chúng tôi quen thuộc nhất.
4.1.2 Các bảng dữ liệu:
• Bảng Users:

Thuộc tính
UserPhone
Pass
Bảng 3: Bảng Users

Kiêu dữ Hệu
varchar(50)
varchar(MAX)

Ghi chú
Khóa chính

• Bảng Contact:
Thuộc tính
UserPhone
Contact
Eneryptltem

Kiêu dữ Hệu
Ghi chú
varchar(50)
Khóa chính
varchar(250)
Khóa chính
varchar(MAX)
Bảng 4: Bảng Contact



• BảngSMS:
Thuộc tính
UserPhone
Contact
RecievedDate

Kỉếu dữ Bệu
varchar(50)
varchar(250)
DateTime

Encryptltem

varchar(MAX)
Bảng 5: Bảng SMS

Ghi chủ
Khóa chính
Khóa chính
Khóa chính

4.1.3 Mô hình cơ sở dữ liệu:

Hình 13: Mô hình cơ sở dữ liệu
4.2 Mô hình chức năng:
4.2.1 Người dùng:

• Tên tài khoản

• Mật khẩu

Đăng ký
Đăng nhập
Thao tác vói dữ
liệu

• Mật khẩu

• Đồng bộ với máy chủ: uploadíĩle theo
một định dạng cho trước lên máy chủ.

Hình 14: Các thao tác cơ bản của ngưỉd dùng


4.2.2

Máy chủ:

r

'I

Tiếp nhận đăng ký

• Kiểm tra tính hợp lệ của dữ liệu
• Kiểm tra sự tồn tại của tài khoản người dùng
• Neu hợp lệ, thêm tài khoản vào cơ sở dữ liệu

L _________________________ Ả


Kiêm tra đăng
nhập

• Kiểm tra tính hợp lệ của dữ liệu
• Kiểm tra sự tồn tại của tài khoản người dùng
• Neu hợp lệ, tạo một phiên làm việc (session)

Thao tác với dữ
liệu được upload

• Xác thực file được upload do người dùng nào
upload
• Phân tích nội dung của file => trả kết quả cho
người dùng

TTmh 15: Sff đồ chức năng của máy chủ
4.3

Quá trình trao đổi dữ liệu giữa Máy chủ và Ngưòi dùng:

4.3.1

Chức năng đăng ký:

Ngưcrì dùng:
Người dùng sau khi nhập tài khoản và mật khẩu , chương trình sẽ hash các thông tin và thông tin mã
hóa này được gửi lên máy chủ.
Máy chủ:
Nhận thông tin và mật khẩu được mã hóa của người dùng , server sẽ kiểm ha tính hợp lệ của tài khoản

. Nếu hợp lệ sẽ tạo tài khoản cho người dùng , ngược lại sẽ trả vể thông báo lỗi cho người dùng.

4.3.2

Chức năng đăng nhập:

Ngưcri dùng:
Người dùng sau khi nhập mật khẩu, mật khẩu này sẽ được hash và thông tin mã hóa này được gửi lên
máy chủ.


Máy chủ:
Nhận thông tin và mật khẩu được mã hóa của người dùng, server sẽ kiểm tra tính hợp lệ. Nếu hợp lệ
thì tạo một phiên làm việc.
4.4

Các hàm xử lý chính của máy chủ:

DBConnectỉon.cs:
Kết nối CSDL, chuồi kết nối được lưu trong file Connection.xml
Sử dụng hàm SqlConnection GetConnectionO đọc file và trả về một đối tượng kết nối.
Data.cs:
Lớp Data chứa các hàm ảo thao tác trên CSDL:
1.
2.
3.
4.

Insert/Update dữ liệu
Delete

Search
Lấy dữ liệu (gồm phần mã hóa)

SMS.cs:
Lớp SMS kế thừa từ class Data, có chức năng ghi/lấy dữ liệu dựa vào truy vấn của người
dùng.
Cấu trúc file query:
1.
2.
3.
4.

Ten bang - 00:SMS
User Phone - So dien thorn nguoi dung (client)
Chuc nang veu cau - 00:Upload/01:Delete/10:Search/ll:GetData
Tham so:
Contactl_Datel_ItemMaHoal

ContactN_ DateN_ItemMaHoaN
Vi du:

Insert dữ liệu vào bảng SMS:


00
0988027343

00
Hung_23/05/2009 2:01:29 PM_ltemMaHoa
Nam_20-09-2009 14:01:30_ltemMaHoa

^GraMhieh^^Îr^^n^^^s^cL^[Q^^^98802734^ipIoac^ra^Ta^^SM!^urên server) 2 record
(tin nhắn) của Hung và Nam.
Ghi chú: Date có định dạng ddimnyyyy hh:mm:ss (dịnh dạng này phụ thuộc vào dinh dạng
date/time trên server).
4.5

Các tập tin đính kèm:

File Connection.txt:
Chứa chuỗi kết nối đến hệ quản trị cơ sở dữ liệu SQL Server.
Nội dung file:
Data Source=TANHUNG-PC\SQLEXPRESS; Initial Catalog=Data;User
ID=sa;Password=sa

4.6

Các dịch vụ Web (Web service) triển khai tại máy chủ:

4.6.1 Dịch vụ đăng ký tài khoản mới:
Chương trình phía người dùng sẽ gọi dịch vụ này để đăng ký một tài khoản trên máy chủ với 2 tham
số truyền vào là số di động và mật khẩu đã được mã hóa.
Dịch vụ này sẽ trả về giá trị 1 nếu thành công, ngược lại sẽ trả về giá trị 0.
Định dạng của một request được gửi máy chủ (Web Service Provider):


×