Đặc điểm của PDA

Một phần của tài liệu Nghiên cứu và xây dựng ứngdụng bảo mật trên PDA (Trang 84)

Đặc tính nổi trội của PDA là nhỏ gọn, PDA thơng thường cĩ thể nằm gọn trong lịng bàn tay và cân nặng chỉ khoảng 4 o.z (~ 120 grams).

PDA thực hiện nhập liệu thơng qua các thiết bị bàn phím và stylus.

· Bàn phím trong PDA được chia làm 2 loại: bàn phím rời và bàn phím logic.

o Bàn phím rời được thiết kế nhỏ và tháo lắp dễ dàng giúp người dùng cĩ thể giảm tối đa kích thước và trọng lượng khi cần.

o Bàn phím logic (cịn gọi là bàn phím ảo hay onscreen keyboard) là một chương trình hiển thị bàn phím trực tiếp trên màn hình cảm ứng, người dùng sử dụng stylus nhấn vào các ký tựđể nhập thơng tin.

· Stylus tương tác với màn hình cảm ứng thay cho con trỏ chuột. Một số hệ điều hành trên PDA cĩ chức năng nhận dạng chữ viết để người dùng cĩ thể

viết thơng tin lên màn hình cảm ứng thay cho bàn phím.

Các thiết bị PDA sử dụng bộ xử lý RISC (Reduced Instruction Set Computer): chỉ thực hiện 1 lệnh trong 1 chu kỳ CPU . Mỗi lệnh 32bit sẽ cĩ 32 bit dữ liệu đi kèm. Vì vậy, bộ xử lý luơn biết được phải đọc bao nhiêu dữ liệu[10].

PDA sử dụng các Object Store là một vùng nhớ trên RAM. Cĩ 2 loại Object Store là Storage Object Store dùng để lưu trữ dữ liệu và Program Object Store dùng

để lưu trữ chương trình thực thi. Thơng tin trên các Object Store khơng bị mất khi hết pin vì Object Store sử dụng pin dự trữ.

KHOA CNTT –

ĐH KHTN

5.1.2. Các hạn chế của PDA

Nhược điểm chung của các thiết bị PDA là sự hạn chế về bộ nhớ, hạn chế về

xử lý và hạn chế về khả năng tương tác với người dùng.

Các thiết bị PDA ngày nay sử dụng tối thiểu khoảng 32Mb bộ nhớ[6]. Vùng nhớ này được sử dụng chung cho 2 mục đích lưu trữ dữ liệu và thực thi chương trình. Việc phân chia tỉ lệ giữa hai vùng nhớ này do hệđiều hành quyết định, vùng nhớ lưu trữ càng nhiều thì vùng nhớ thực thi chương trình càng ít.

Tốc độ xử lý của PDA hiện nay chỉ khoảng 200MHz - 400MHz, xấp xỉ 1/10 tốc độ máy tính để bàn thơng thường. Các ứng dụng chạy trên PDA phải đảm bảo thời gian chờ khơng quá dài và phải được cài đặt tối ưu về mặt xử lý.

Thiết bị PDA cĩ giới hạn màn hình nhỏ gây khĩ khăn cho việc thiết kế giao diện của các ứng dụng. Kích thuớc màn hình nhỏ cũng gây khĩ khăn để bố trí việc nhập liệu và tạo cảm giác khơng thân thiện cho người dùng. PDA sử dụng bàn phím

ảo chiếm một phần màn hình cĩ thể che lấp các ơ nhập liệu. Sử dụng stylus trên PDA khơng thể giả lập việc nhấn nút phải chuột như trên máy tính để bàn thơng thường. Đồng thời người dùng cũng khơng thể thực hiện những thao tác kết hợp giữa bàn phím và stylus cùng lúc.

5.2. Tng quan v WindowCE và Pocket PC

Trong thời gian đầu, mỗi cơng ty cung cấp thiết bị mua bản quyền hệđiều hành chạy trên PDA (hệ điều hành nhúng) của một cơng ty sản xuất phần mềm khác nhau. Do đĩ thiết bị PDA của các hãng sản xuất khác nhau sẽ sử dụng các hệđiều hành khác nhau dẫn đến tình trạng ngăn cản sự phát triển đồng bộ của các ứng dụng chạy trên PDA. Hiện nay, sự phân chia thị trường của hệđiều hành nhúng đang cĩ khuynh hướng thu hẹp dần và thị phần tập trung nhiều vào các hệđiều hành của các cơng ty lớn cĩ uy tín trên thế giới như:

KHOA CNTT –

ĐH KHTN

· Windows CE của cơng ty Microsoft

· Symbian OS (tiền thân là hệđiều hành EPOC) của cơng ty Symbian.

· Palm OS của cơng ty Palm Pilot.

· Embedded Linux

Trong khi thị phần của các hệ điều hành khác như Symbian OS, Palm OS đang

được gia tăng, hệđiều hành Windows CE của cơng ty Microsoft vẫn chiếm được ưu thế do đây là một hệđiều hành thuộc họ Windows. Windows CE (và các sản phẩm kế thừa của Windows CE như Pocket PC, SmartPhone...) đã trở nên quen thuộc với người sử dụng và lập trình viên.

5.2.1. Giới thiệu hệ điều hành Windows CE

Windows CE phiên bản đầu tiên 1.0 được cơng ty Microsoft đưa ra thị trường vào tháng 11/1996. Windows CE là phiên bản thu nhỏ của hệ điều hành Windows 32bit. Windows CE ban đầu (adsbygoogle = window.adsbygoogle || []).push({});

được thiết kế để sử dụng trên thiết bị Handheld PC nhưng giờ đây, Windows CE mở rộng phạm vi sử

dụng đến các thiết bị di động (handheld PC, palm- size PC, mobile ....), các thiết bị điều khiển cơng nghiệp và các thiết bị điện tử tiêu dùng cao cấp (thiết bị giải trí, điều khiển trên xe hơi...).[6]

Windows CE cĩ tính năng nhỏ gọn, cĩ thểđược điều chỉnh để thích hợp với các thiết bị khác nhau. Nhà phát triển cĩ thể chọn lựa để sử dụng – cài đặt một số

tính năng của Windows CE để giảm kích thước và giá thành cho phù hợp với thiết bị. Windows CE cung cấp một phần các hàm API của Windows. Cĩ một số hàm API trong Windows đã bị lược bớt. Windows CE khơng hỗ trợ console application, hook, sizing window (chỉ cĩ maximize và minimize). Trong Windows CE, các chuỗi được sử dụng đều là chuỗi Unicode.

KHOA CNTT –

ĐH KHTN

Windows CE cĩ khả năng quản lý bộ nhớ chính đến 1Gb, quản lý bộ nhớảo theo từng block 64Kb. Số lượng tiến trình (process) chạy đồng thời trên Windows CE bị giới hạn ở 32 processes, và số lượng threads trong một process là khơng giới hạn. Các process cĩ độ ưu tiên ngang nhau, Windows CE thực hiện điều phối dựa trên độ ưu tiên của các threads. Windows CE khơng cĩ khái niệm thư mục hiện hành nên tất cả tập tin phải được truy xuất bằng đường dẫn tuyệt đối.[10]

Phiên bản mới nhất hiện nay là Windows CE 4.2 (Windows CE .NET) cĩ tích hợp sẵn cơng nghệ .NET Compact Framework mới nhất của Microsoft.

5.2.2. Giới thiệu Pocket PC

Pocket PC là một biến thể của hệ điều hành nhúng Windows CE sử dụng cho thiết bị di động. Pocket PC được phát triển trên nền Windows CE 3.0 với các tính năng và giao diện được thiết kế đặc trưng để sử

dụng trên các thiết bị trợ giúp cá nhân PDA. Phiên bản đầu tiên của dịng Pocket PC là Microsoft Pocket PC 2000 được tung ra thị

trường vào 04/2000. Phiên bản mới nhất và hiện đang rất thơng dụng là Microsoft Pocket PC 2003.

Pocket PC giải quyết được vấn đề của Windows CE trên PDA là giao diện phức tạp, cĩ quá nhiều tính năng làm giảm tốc độ

xử lý... Đồng thời Microsoft cũng đã tích hợp vào Pocket PC một sốứng dụng quen thuộc đối với người dùng như Internet Explorer, Microsoft Reader, Word, Excel, Outlook và Windows Media Player.

KHOA CNTT –

ĐH KHTN

5.3. Gii thiu .NET Compact Framework.

.NET Compact Framework (.NET CF) là một nền tảng phát triển cho các thiết bị di dộng. .NET CF là một phần của thư viện .NET Framework trên desktop đã

được thiết kế lại để thích hợp với việc phát triển ứng dụng trên PDA. Các ứng dụng viết trên nền .NET Compact Framework vẫn chạy tốt trên nền .NET Framework.

NET CF cĩ đặc tính nhỏ gọn, một số hàm trong thư viện API của .NET Framework bị lược bỏ trong .NETCF. Do phát triển cho PDA nên một số hàm đồ

họa GDI, các hàm để mã hĩa bảo mật được loại bỏ khỏi .NET CF. .NET CF được thiết kế với mục đích cho phép các ứng dụng .NET chạy trên tất cả các thiết bị PDA với tất cả hệđiều hành tuy nhiên hiện tại .NET CF chỉ cĩ bản phát triển trên nền hệ điều hành Windows CE.

.NET CF hoạt động tương tự một máy ảo, cho phép các ứng dụng được viết một lần cĩ thể chạy trên bất kỳ loại CPU nào kể cả máy tính để bàn bằng cách tạo các bản release tương ứng cho từng loại CPU. Tuy .NET CF chỉ mới phát triển trên Windows CE nhưng kế hoạch xây dựng .NET CF trên các hệ điều hành khác đang

được tiến hành, bắt đầu từ Embedded Linux.

.NET CF sử dụng bộ gom rác tự động (auto garbage collector) giúp lập trình viên giảm thiểu các lỗi về rị rỉ bộ nhớ (vốn đã cĩ giới hạn ở PDA) làm tăng hiệu quả hoạt động của các ứng dụng và giảm chi phí phát triển.

Các lập trình viên cĩ thể sử dụng các hàm sẵn cĩ trong bộ thư viện của .NET CF đã được kiểm tra chạy ổn định và tối ưu trên PDA. Đồng thời do các ứng dụng chạy trên các phân hệ khác như Desktop, PDA, Mobile Web cĩ thể dễ dàng chia sẻ

mã nguồn nên lập trình viên cĩ thể tái sử dụng các ứng dụng đã phát triển trên các phân hệ trên. Điều này làm giảm rất nhiều cơng sức, thời gian và chi phí phát triển phần mềm.

KHOA CNTT –

ĐH KHTN

Với những ưu điểm nổi trội trên, xu hướng hiện nay là sử dụng .NET CF để

phát triển ứng dụng trên PDA1, đặc biệt là các ứng dụng chạy trên Windows CE.NET các biến thể của nĩ như PocketPC, SmartPhone. (adsbygoogle = window.adsbygoogle || []).push({});

KHOA CNTT –

ĐH KHTN

Chương 6. Xây dng ng dng bo mt trên PDA - vn đề và gii pháp

Dn nhp: Chương 6 trình bày các vấn đề lập trình viên sẽ gặp phải khi xây dựng

ứng dụng bảo mật trên PDA. Chương 6 cũng đề xuất các phương pháp nhằm giải quyết các vấn đề khi xây dựng ứng dụng bảo mật trên PDA.

6.1. Các vn đề khi xây dng ng dng bo mt trên PDA

6.1.1. Khả năng tính tốn

Một trong các hạn chế của PDA là khả năng tính tốn của thiết bị. Các thiết bị cĩ bộ xử lý chậm hơn nhiều so với máy tính để bàn thơng thường. Các vi mạch phổ biến trên PDA cĩ tốc độ bằng khoảng 1/10 tốc độ của máy để bàn. Một vấn đề khác là thiết bị PDA sử dụng bộ xử lý RISC chỉ thực hiện một lệnh trong một chu kỳ CPU nên thời gian tính tốn sẽ kéo dài hơn.[6]

Các ứng dụng bảo mật thơng thường cĩ yêu cầu về tốc độ tính tốn rất lớn.

Để thực hiện mã hĩa hoặc tạo chữ ký điện tử cần rất nhiều thao tác tính tốn số học khá phức tạp. Các phép tính được thao tác trên số nguyên rất lớn, đồng thời việc thực hiện lũy thừa hoặc kiểm tra số nguyên tố rất tốn tài nguyên bộ nhớ và bộ xử lý. Do đĩ, việc xây dựng các ứng dụng bảo mật phải xem xét kỹ và tối ưu hố về mặt xử lý tính tốn để làm giảm thời gian chờ cho người sử dụng. Ngồi ra, khả năng tạo khĩa trên máy PDA là khĩ cĩ thể thực hiện do độ phức tạp cao làm bùng nổ thời gian chờ.

Với các lý do trên, ứng dụng bảo mật phải cĩ tốc độ thực hiện trong khoảng thời gian chấp nhận được đối với người dùng. Khi tạo ứng dụng bảo mật trên PDA phải cĩ các cơ chế thơng báo cho người dùng rằng chương trình đang được thực

KHOA CNTT –

ĐH KHTN

6.1.2. Khả năng lưu trữ

PDA cĩ bộ nhớ lưu trữ nhỏ và khơng gian bộ nhớ để thực thi chương trình cũng bị

hạn chế. Mặc dù đã cĩ các thiết bị thẻ nhớ để

làm tăng bộ nhớ nhưng việc hạn chế về khả

năng lưu trữ của PDA cũng gây khĩ khăn cho lập trình viên xây dựng các ứng dụng. Điều này dẫn đến việc các ứng dụng chạy trên PDA phải được tối ưu về kích thước tập tin thực thi và lượng bộ nhớ sử dụng trong khi thi hành chương trình. Lập trình viên cần phải quản lý cẩn thận mỗi khi cấp phát hoặc hủy bộ nhớ sao cho lượng bộ nhớ được sử dụng phải nhỏ nhất và khơng gây đụng độ với các chương trình khác đang thực hiện trong PDA.

Các ứng dụng bảo mật cần một lượng bộ nhớ để cĩ thể lưu trữ các thơng tin về khĩa của người dùng. Nếu số lượng khĩa liên lạc người dùng cần lưu trữ tăng cao thì sẽ chiếm khá nhiều bộ nhớ của PDA. Do đĩ, các ứng dụng PDA cần phải tổ

chức cấu trúc lưu trữ khĩa sao cho ít tốn bộ nhớ nhất, kích thước tập tin thực thi và kích thước bộ nhớ chiếm dụng khi thực thi phải tối thiểu.

6.1.3. Khả năng tương tác giữa người sử dụng và thiết bị

PDA sử dụng stylus và bàn phím ảo để thao tác trên màn hình cảm ứng cĩ kích thước nhỏ. Việc nhập liệu trên PDA khĩ khăn, lập trình viên cần thiết kế các hộp thoại đơn giản, dễ thao tác. Một điều cần lưu ý là các control nhập liệu nên

được đặt ở phần trên của màn hình, tránh trường hợp bàn phím ảo sẽ che mất control.

Do PDA khĩ thao tác nhập liệu nên việc nhập thơng tin khĩa trong ứng dụng bảo mật cũng khá khĩ khăn. Lập trình viên cần tránh việc thực hiện nhập trực tiếp khĩa vào ứng dụng đồng thời cần cĩ cơ chế che dấu thơng tin mật khẩu khi nhập trực tiếp.

KHOA CNTT –

ĐH KHTN

6.1.4. Mức độ hỗ trợ của các thư viện lập trình

Do PDA chỉ vừa mới được cơng bố và đưa vào sử dụng trong khoảng 10 năm trở lại đây nên hệ thống các thư viện hàm để xây dựng ứng dụng trên PDA cịn rất hạn chế về số lượng cũng như chức năng thực hiện. Hầu hết các ứng dụng hiện tại

đang chạy trên PDA đều được lập trình viên xây dựng từđầu. Các cơng cụđể hỗ trợ (adsbygoogle = window.adsbygoogle || []).push({});

lập trình trên PDA cũng chưa phong phú. Thư viện lập trình tốt nhất đang được sử

dụng chính là hệ thống hàm API Windows CE của hãng Microsoft và bộ thư viện J2ME của Sun.

Năm 2001, Microsoft phát hành phiên bản đầu tiên của thư viện lập trình .NET Compact Framework. NET Compact Framework cung cấp các hàm dựng sẵn

để hỗ trợ cho việc phát triển ứng dụng trên PDA. .NET Compact Framework được tích hợp sẵn trong bộ cơng cụ Visual Studio .NET 2003 và hệ điều hành Windows CE 4.x. Từ đĩ số lượng lập trình viên nghiên cứu xây dựng ứng dụng PDA ngày càng tăng.

Do thư viện lập trình trên PDA cịn ít và việc bảo mật ứng dụng trên PDA chỉ

mới được quan tâm gần đây nên các thư viện và hàm hỗ trợ chức năng bảo mật trên PDA rất hạn chế. Nếu như .NET Framework phiên bản trên Desktop cung cấp một số lượng lớn các hàm để mã hĩa nằm trong gĩi System.Security.Cryptography thì trong .NET Compact Framework, gĩi Cryptography đã bị loại bỏ, chỉ cịn lại các hàm về chứng nhận điện tử.

Windows CE cĩ cung cấp bộ thư viện CryptoAPI để thực hiện mã hĩa thơng tin trên PDA nhưng khả năng hỗ trợ và mức độ bảo mật của CryptoAPI chỉ ở mức

độ trung bình. J2ME cĩ cung cấp gĩi cryptography để mã hĩa nhưng việc sử dụng khá phức tạp và tốc độ xử lý rất chậm nên ít đạt được sự quan tâm của lập trình viên.

KHOA CNTT –

ĐH KHTN

6.2. Các gii pháp c th

Thực hiện xây dựng một ứng dụng về bảo mật trên PDA địi hỏi phải cĩ các tính chất quyết định sau:

· Ứng dụng phải cĩ tốc độ xử lý chấp nhận được đối với người sử dụng. Do hạn chế về mặt xử lý của PDA và đặc tính của cơng việc mã hĩa địi hỏi rất nhiều thao tác tính tốn nên tốc độ xử lý sẽ là tính chất quyết định sự thành cơng của một ứng dụng bảo mật trên PDA.

· Ứng dụng phải cĩ độ bảo mật cao. Các thuật tốn được sử dụng trong ứng dụng phải đảm bảo được mức độ bảo mật tương ứng. PDA rất dễ bị mất hoặc bịđánh cắp do đĩ dữ liệu phải được mã hĩa với độ bảo mật cao.

Các giải pháp cĩ thể đề cập đến trong quá trình xây dựng ứng dụng bảo mật trên PDA là sử dụng các thư viện sẵn cĩ hoặc tự xây dựng thư viện mã hĩa riêng.

6.2.1. CryptoAPI

CryptoAPI là bộ thư viện dựng sẵn của Microsoft dành cho hệ điều hành Windows (bao gồm Windows CE).

CryptoAPI cung cấp cho lập trình viên các chức năng mã hĩa quy ước, mã hĩa khĩa cơng khai, tạo và xác nhận chữ ký điện tử, tạo và sử dụng chứng nhận

điện tử. CryptoAPI phiên bản 2.0 mới nhất hiện nay cung cấp 197 hàm phục vụ cho mã hĩa trong đĩ chỉ cĩ 76 hàm được hỗ trợ trên Windows CE.

Một phần của tài liệu Nghiên cứu và xây dựng ứngdụng bảo mật trên PDA (Trang 84)