Thiết kế Use Case Diagram

Một phần của tài liệu Khóa luận tốt nghiệp xây dựng hệ thống quản lý bảo mật trên android smartphones (Trang 56)

2 Khảo sát hiện trạng và các kiến thức liên quan

3.2.2 Thiết kế Use Case Diagram

Các đối tượng giao tiếp với hệ thống bao gồm (hình 3.4):

User Phone Owner

Intermediate User Web User

Hình 3.4: Danh sách các tác nhân sử dụng hệ thống

• Phone Owner: là những người tương tác trực tiếp với ứng dụng trên thiết bị của họ. Đây là thành phần cài đặt và sử dụng hệ thống trên thiết bị và là tác nhân quan trọng nhất của hệ thống.

• Web User: là thành phần sử dụng các dịch vụ hệ thống thông qua website. Web User có thể là Phone Owner sử dụng các dịch vụ web.

• Intermediate User: là thành phần người sử dụng trung gian. Thành phần này được hiểu như là người sử dụng các tính năng của hệ thống thông qua các điện thoại di động trung gian. Intermediate User cũng có thể là Phone Owner sử dụng các thiết bị khác để điều khiển thiết bị của mình.

3.2.2.2 Use Case Diagram

Các tác nhân trong phần trên sẽ sử dụng các use case như hình 3.5.

User Phone Owner

Intermediate User

Register Account

Login App Setup

Setup PIN

Setup buddy

Unlock app Input PIN

Enable/Disable Service

Setting

Remote Control Device

Web User <<include>>

<<include>> <<extend>> <<include>>

Backup & Restore

Find the Phone

Get Data Control Device <<extend>> <<extend>> Remote Wipe <<extend>>

Hình 3.5: Use Case Diagram

Các use case của hệ thống phản ánh việc thiết kế chức năng hệ thống phù hợp với các yêu cầu chức năng trong phần 3.1.2. Do đó, trong khóa luận này tác giả chỉ đề cập đến việc đặc tả hai use case quan trọng: Login App và Remote Control Device.

• Use case Login App (hình 3.6)

Hình 3.6: Use case Login App

Use Case Login App

Mô tả Use Case này mô tả hành động sử dụng

tài khoản đăng nhập vào ứng dụng.

Tác nhân Phone Owner

Dòng sự kiện - Người sử dụng sau khi đăng ký tài khoản thành công.

- Người sử dụng đăng nhập ứng dụng bằng tài khoản.

Các điều kiện đặc biệt Không có

Tiền điền kiện Người sử dụng đã đăng ký tài khoản ứng

dụng.

Hậu điều kiện - Ứng dụng được toàn quyền sử dụng.

- Các thông số được cấu hình thành công và được lưu trữ.

- Nếu xác thực tài khoản không thành công, hiển thị thông tin hướng dẫn người dùng.

Ngoại lệ Thông báo lỗi khi xác thực tài khoản

không thành công hoặc khi không có kết nối internet.

• Use case Remote Control Device (hình 3.7)

Hình 3.7: Use case Remote Control Device

Use Case Send Control Command

Mô tả Use Case này mô tả hành động người sử

dụng gửi tin nhắn điều khiển đến một thiết bị khác.

Tác nhân - Phone Owner

- Intermediate User

Dòng sự kiện - Người sử dụng chọn tính năng điều

khiển thiết bị của ứng dụng.

- Người sử dụng cung cấp thông tin về số điện thoại của thiết bị cần điều khiển (target number) và mã PIN của ứng dụng TUI Security được cài đặt trên thiết bị đó (target PIN).

Tiền điều kiện - Ứng dụng xác thực người dùng thành công.

- Thẻ SIM gắn trên thiết bị phải còn đủ tài khoản để thực hiện gửi tin nhắn. - Ứng dụng phải cấu hình đầy đủ các thông tin yêu cầu.

Hậu điều kiện - Ứng dụng gửi tin nhắn điều khiển thành công.

Ngoại lệ - Hiển thị thông báo lỗi khi người dùng

không cung cấp target number và target PIN. Hệ thống yêu cầu người sử dụng cung cấp lại các thông tin này.

- Thông báo lỗi khi người dùng chưa cấu hình các thông tin của ứng dụng đầy đủ. Thoát khỏi tính năng, hiển thị màn hình điều khiển thiết bị.

3.3 Thiết kế sơ đồ khối và giải thuật

Trong phần này, tác giả tiến hành thiết kế phần sơ đồ khối và nêu lên các giải thuật để giải quyết các vấn đề và các chức năng cần thực thi trong chương trình. 3.3.1 Các tính năng cơ bản

Ứng dụng cung cấp các tính năng cơ bản luôn hoạt động khi ứng dụng được cài đặt vào thiết bị mà không cần kích hoạt các dịch vụ cho phép thực thi như các tính năng điều khiển. Các tính năng cơ bản của ứng dụng cung cấp cho người dùng bao gồm: sao lưu và phục hồi dữ liệu (danh bạ và tin nhắn) trực tiếp trên thiết bị, thực thi các lệnh hủy dữ liệu trong trường hợp khẩn cấp (dữ liệu trên SD card, các tài khoản ứng ụng Yahoo, Facebook, dữ liệu Youtube, dữ liệu Maps, danh bạ, tin nhắn).

Giải thuật cho tính năng sao lưu dữ liệu tin nhắn và danh bạ trực tiếp từ thiết bị đơn giản là duyệt qua file cơ sở dữ liệu chứa tin nhắn SMS và danh bạ của người dùng trong thư mục cài đặt ứng dụng

(/data/data/com.android.providers.contacts/databases/contact2.db đối với dữ liệu danh bạ và

/data/data/com.android.providers.telephony/databases/mmssms.db đối với dữ liệu tin nhắn), sau đó copy file này lưu trữ tại SD card, đồng thời gởi file thu thập được về địa chỉ email đã được cài đặt trước đó (nếu không được thiết lập, địa chỉ email mặc định là địa chỉ email của thành viên nhóm). Ngược lại, đối với tính năng phục hồi dữ liệu tin nhắn và danh bạ trực tiếp từ thiết bị, chương trình sẽ cho phép người dùng duyệt qua thẻ nhớ để tìm file sao lưu và copy (ghi đè) file này vào thư mục chứa file cơ sở dữ liệu của ứng dụng danh bạ và tin nhắn.

Trong trường hợp khẩn cấp khi người dùng muốn hủy dữ liệu trên thiết bị, người dùng có thể nhắn tin tới điện thoại của mình với tín hiệu khẩn cấp kèm theo mật khẩu điều khiển, chương trình sẽ chứng thực mật khẩu điều khiển nhận được. Sau khi chứng thực thành công, chương trình sẽ thực thi các chức năng được hỗ trợ mà không cần kiểm tra các dịch vụ này có được cung cấp hay không. Trong trường hợp này, chương trình sẽ thực thi các nhiệm vụ sau: xóa toàn bộ dữ liệu trên SD card, xóa SMS, xóa danh bạ, xóa các tài khoản ứng dụng của người dùng (yahoo, facebook, email, tài khoản google, nếu người dùng có sử dụng các ứng dụng này). Các tính năng xóa dữ liệu ứng dụng và

xóa cơ sở dữ liệu tin nhắn/danh bạ hoạt động trên các thiết bị đã được rooted và chương trình truy cập hệ thống dưới quyền root user (sử dụng các lệnh hệ thống để thực thi). Sơ đồ khối của tính năng nhận và thực thi chức năng trong trường hợp khẩn cấp được mô tả trong hình 3.8.

Bắt đầu Tin nhắn khẩn cấp. Kèm mật khẩu điều khiển

Xóa dữ liệu SD card Kết thúc Chứng thực mật khẩu điều khiển

Xóa dữ liệu tin nhắn/danh bạ Xóa dữ liệu các ứng dụng Yahoo, Facebook, Youtube, Maps Sai Đúng Điện thoại đã rooted Đúng

3.3.2 Tính năng điều khiển

Chương trình cung cấp tính năng điều khiển từ xa để hỗ trợ người dùng trong trường hợp họ không thể tương tác trực tiếp với thiết bị. Tính năng này được thực thi thông qua việc nhắn tin SMS từ một thiết bị khác đến điện thoại muốn điều khiển kèm theo mật khẩu chứng thực. Chức năng này được cung cấp có thể phục vụ trong việc điều tra tội phạm khi sử dụng ứng dụng như một đặc vụ ngầm theo dõi diễn biến hoạt động và khi đó các thông tin dữ liệu thu thập được sẽ làm bằng chứng pháp lý có giá trị cao. Các tính năng điều khiển chương trình cung cấp gồm có: nhắn tin sao lưu và xóa tin nhắn, danh bạ; nhắn tin lấy thông tin dữ liệu; nhắn tin xóa dữ liệu trên SD card; nhắn tin thực thi lắng nghe (recording); nhắn tin phát âm thanh cảnh báo và khóa màn hình.

Để thực thi các tính năng điều khiển, ứng dụng phải được kích hoạt dịch vụ cho phép thực thi các lệnh điều khiển được gởi qua SMS dạng tin nhắn quảng cáo. Sau khi nhận được các tin nhắn quảng cáo, kèm theo mật khẩu điều khiển (là mã PIN), chương trình tiến hành chứng thực mật khẩu và phân tích tin nhắn để nhận các mã lệnh điều khiển. Một tin nhắn ứng với một lệnh điều khiển. Sau đó sẽ thực thi ngầm các chức năng yêu cầu nếu thỏa các điều kiện thực thi.

Thuật giải các chức năng sao lưu dữ liệu tin nhắn, danh bạ sau khi nhận được tín hiệu điều khiển từ xa là: duyệt qua cơ sở dữ liệu, sau đó đọc dữ liệu và ghi vào file XML với định dạng JSON, tức mỗi hàng là một object và các giá trị ở các cột của hàng đó là một object con của nó. Sau đó lưu file XML này lại trong thư mục của chương trình trên thẻ SD card. Sau đó, chương trình sẽ kiểm tra kết nối mạng và gởi kết quả về địa chỉ email người dùng đã đăng ký trước đó và xóa file sau khi gởi thành công. Nếu không có kết nối mạng, file thu thập được cũng sẽ bị xóa bỏ.

Đối với tin nhắn điều khiển yêu cầu lấy thông tin người dùng, các thông tin này được chứa trong các cơ sở dữ liệu ở thư mục cài đặt, tùy vào từng loại thông tin muốn lấy: Yahoo, Facebook, SMS, Contact, . . . mà chương trình sẽ quyết định thực thi. Ứng dụng sẽ truy cập hệ thống dưới quyền root user để vào các thư mục chứa các file cơ sở dữ liệu ứng dụng để lấy về các dữ liệu cần thiết. Các thư mục lưu file cơ sở dữ liệu:

• Danh bạ:

/data/data/com.android.providers.contacts/databases/contact2.db.

• SMS:

• Dữ liệu Google Maps: /data/data/com.google.android.apps.maps/databases/search_history.db. • Dữ liệu Youtube: /data/data/com.google.android.youtube/databases/history.db • Dữ liệu ứng dụng Facebook: /data/data/com.facebook.katana/databases/fb.db.

• Dữ liệu ứng dụng Yahoo Messenger:

/data/data/com.yahoo.mobile.client.android.im/databases/mesenger.db.

• Calendar:

/data/data/com.android.providers.calendar/databases/calendar.db.

• Thông tin tài khoản: /data/system/accounts.db

Sơ đồ khối xử lý khi nhận tin nhắn điều khiển lấy thông tin dữ liệu ứng dụng hoặc xóa dữ liệu trên SD card được mô tả như trong hình 3.9.

Làm sao biết những gì đang diễn ra xung quanh thiết bị khi không mang bên mình? Hoặc khi muốn dùng thiết bị để chia sẻ âm thanh thực cho người khác. Người dùng có thể sử dụng tính năng lắng nghe chương trình cung cấp bằng cách gởi tin nhắn với lệnh điều khiển thực thi việc lắng nghe âm thanh và gởi kết quả về email để theo dõi. Thuật giải cho chức năng lắng nghe được xây dựng dựa trên việc kích hoạt dịch vụ chạy ngầm tương tác phần cứng thiết bị là microphone để lắng nghe những âm thanh xung quanh thiết bị. File kết quả sẽ được lưu lại sau khoảng thời gian được người dùng cài đặt trước đó và nó sẽ được gởi về email để người dùng có thể theo dõi nếu có kết nối mạng. Có 2 cách để kết thúc hành động lắng nghe của thiết bị là:

• Sau khi được kích hoạt lắng nghe, cảm biến gia tốc được kích hoạt để lắng nghe sự tương tác trên thiết bị. Nếu sự tương tác này lớn hơn độ nhiễu cho phép của ứng dụng và nó xảy ra lớn hơn khoảng thời gian giới hạn, hành động lắng nghe sẽ được kết thúc.

• Hành vi lắng nghe sẽ được kết thúc sau khi hết thời gian lắng nghe mà người dùng đã cài đặt trước.

Bắt đầu

Nhận SMS điều khiển. Kèm mật khẩu điều khiển

Chứng thực mật khẩu

Điện thoại đã rooted Sao lưu tin nhắn/danh

bạ Xóa dữ liệu SD card

Truy cập hệ thống lấy dữ liệu ứng dụng

Kết nối mạng

Gởi email (có đính kèm file thu thập được)

Kết thúc Xóa file thu thập được Sai Đúng Không Có Đúng Sai

Hình 3.9: Sơ đồ khối xử lý khi nhận tin nhắn điều khiển lấy thông tin trên thiếtbị bị

Sơ đồ khối xử lý khi nhận tin nhắn thực thi lắng nghe và điều kiện kết thúc lắng nghe được mô tả trong hình 3.10 và hình 3.11.

Theo hình 3.10, sau khi chứng thực và kiểm tra dịch vụ được kích hoạt hay chưa? Nếu không thỏa sẽ kết thúc; ngược lại, nếu thỏa sẽ tiến hành bật microphone và lắng nghe. Kết quả được ghi vào file có định dạng .3gp. Chương trình sẽ kiểm tra điều kiện kết thúc (được mô tả trong sơ đồ khối 3.11) để kết

Bắt đầu Nhận tin nhắn điều khiển. Kèm mật khẩu chứng thực

Chứng thực mật khẩu

Bật microphone và thực thi lắng nghe

Kết thúc lắng nghe Kết nối mạng Kết thúc Xóa file Gởi email (có file đính kèm)

Sau thời gian phân

đoạn Lưu file với định dạng .3gp

Không Sai

Sai

Đúng

Đúng

Ghi file mới

Đúng Dịch vụ được kích hoạt Đúng Sai Tín hiệu kết thúc Có Sai Đúng

Hình 3.10: Sơ đồ khối xử lý khi nhận tin nhắn điều khiển thực thi lắng nghe

thúc quá trình lắng nghe. Nếu vẫn còn trong điều kiện cho phép, sau khoản thời gian phân đoạn được cài đặt trước, kết quả mỗi phân đoạn này sẽ được gởi về email sau khi kiểm tra kết nối mạng thành công. Đồng thời, sẽ tiến hành ghi kết quả lắng nghe vào một file mới và quay lại vòng lặp trên. Sau khi nhận tín hiệu kết thúc, tức điều kiện kết thúc lắng nghe có kết quả trả về đúng, chương trình sẽ kết thúc hành động lắng nghe.

Bắt đầu

Kết thúc lắng nghe khi có tương

tác với thiết bị Có tương tác với thiết bị Độ nhiễu cho phép Kết thúc sau khi hết thời gian

lắng nghe Kết thúc lắng nghe Kết thúc Sai Đúng Đúng Đúng Đúng Sai Sai Hết thời gian lắng nghe Đúng Sai

Hình 3.11: Sơ đồ khối mô tả điều kiện để kết thúc việc lắng nghe trên thiết bị

Theo sơ đồ khối trong hình 3.11, có hai điều kiện kết thúc lắng nghe, các điều kiện này sẽ được gởi kèm theo sự lựa chọn của người điều khiển lúc nhấn vào nút điều khiển thực thi lắng nghe. Đó là tự động kết thúc khi có tương tác với thiết bị, hoặc là kết thúc khi hết thời gian được cài đặt. Trong điều kiện thứ nhất, chương trình sử dụng hệ cảm biến gia tốc của thiết bị để xác định thiết bị có tương tác hay không và lọc đi các giá trị nhiễu cho phép. Nếu vượt qua các giá trị nhiễu này hoặc điều kiện thứ hai xảy ra, thì tín hiệu kết thúc lắng nghe lập tức được bật lên.

Khi người dùng muốn biết điện thoại của mình đang ở đâu đó quanh họ, hoặc muốn tạm thời ngăn chặn sự tương tác từ người khác, người dùng sẽ nhắn tin điều khiển với lệnh khóa màn hình và phát âm thanh cảnh báo. Giải thuật cho

tính năng này là sau khi nhận SMS và xác thực, chương trình sẽ tiến hành sinh một Activity và hiển thị ra màn hình dạng lock với các ô mã PIN, đồng thời kích hoạt khởi chạy một file nhạc. Vì lý do bảo mật, nên từ phiên bản Android 4.0 trở đi, nút Home trên thiết bị sẽ không được ghi đè lên, vì vậy người dùng có thể sử dụng phím Home để tắt màn hình lock, nhưng âm chuông cảnh báo vẫn còn. Để tắt màn hình lock này và tắt âm cảnh báo, người dùng phải nhập đúng mã PIN vào các ô xác thực trên màn hình hoặc đăng nhập ứng dụng. Sơ đồ khối cho giải thuật này được mô tả như trong hình 3.12.

3.3.3 Tính năng tìm thông tin vị trí thiết bị

Tính năng này được thực thi khi người dùng muốn biết vị trí hiện tại của thiết bị (khi không mang bên mình) và các thông tin về thuê bao của số điện thoại hiện tại.

Để yêu cầu vị trí thiết bị, người dùng nhắn tin có mã lệnh yêu cầu vị trí kèm mật khẩu chứng thực. Sau khi bên nhận nhận và xử lý, kết quả thu được sẽ được gởi về email thiết lập, đồng thời gởi một yêu cầu lên server (kèm thông tin username, password, thông tin vị trí thu thập) để tổng đài số gởi tin nhắn phản hồi về cho bên yêu cầu. Đối với bên nhận SMS yêu cầu, muốn có được vị trí chính xác của thiết bị, chương trình cần sự hỗ trợ từ người dùng bằng cách bật chế độ định vị toàn cầu GPS. Nếu không bật GPS, thì chương trình sẽ lấy vị trí theo thông tin kết nối mạng 3G.

Một phần của tài liệu Khóa luận tốt nghiệp xây dựng hệ thống quản lý bảo mật trên android smartphones (Trang 56)

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

(105 trang)