Phân cấp đối tƣợng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và phát triển ứng dụng chữ ký số trên các thiết bị cầm tay (Trang 42 - 47)

Các đối tƣợng cũng đƣợc phân lớp theo thời gian tồn tại và tính trực quan. Các đối tƣợng token trực quan với tất cả các ứng dụng đƣợc kết nối với token mà có đủ quyền, và vẫn còn tồn tại trong token thậm chí sau các “Phiên” (Session) (các kết nối giữa một ứng dụng và token) đƣợc đóng lại và token đƣợc rút khỏi slot của nó. Các đối tƣợng phiên khá tạm thời: Khi một phiên đƣợc đóng lại bởi bất kỳ hình thức nào, tất cả các đối tƣợng phiên đƣợc tạo bởi phiên đó sẽ tự động bị hủy. Hơn nữa các đối tƣợng phiên chỉ trực quan với ứng dụng tạo ra chúng.

Hơn nữa việc phân lớp định nghĩa các yêu cầu truy xuất, các ứng dụng là không buộc phải yêu cầu để truy xuất vào token để xem các đối tƣợng công khai; tuy nhiên, để xem các đối tƣợng riêng, một ngƣời dùng cần phải đƣợc xác thực vào token bằng một PIN hoặc một vài phƣơng thƣớc khác phụ thuộc vào Token ví dụ nhƣ thiết bị sinh trắc học.

Một Token có thể tạo hoặc hủy các đối tƣợng, thao tác với chúng, và tìm kiếm chúng.Nó có thể thực hiện các hàm mật mã với các đối tƣợng.Một token có thể có bộ sinh số ngẫu nhiên bên trong.

Cần thiết phải phân biệt giữa góc nhìn logic của một token và triển khai một token thật, do không phải tất cả các thiết bị mật mã có khái niệm về các đối tƣợng, hoăc có khả năng để thực hiện tất cả các loại hàm mật mã. Nhiều thiết bị sẽ chỉ đơn giản có những nơi lƣu trữ cố định cho các khóa của một thuật toán đƣợc cố định, và có thể thực hiện một bộ giới hạn các toán tử. Vai trò của Cryptoki là để biên dịch nó nó thành góc nhìn logic, ánh xạ các thuộct ính vào các phần tử lƣu trữ cố định và vân vân. Không phải tất cả các thƣ viện Cryptoki và Token cần hỗ trợ tất cả mọi kiểu đối tƣơng. Ngƣời ta kỳ vọng rằng các Hồ sơ chuẩn sẽ đƣợc phát triển, chỉ ra các bộ thuật toán đƣợc hỗ trợ.

Các thuộc tính là các đặc tính mà chùng phân biệt một một thể hiện của một đối tƣợng. Trong Cryptoki, có một số thuộc tính chung ví dụ nhƣ đối tƣợng là riêng hoặc công khai. Cũng có những thuộc tính mà chúng đặc trƣng cho một đối tƣợng cụ thể Modulus hoặc Exponent cho các khóa RSA.

2.4.5. Ngƣời dùng

Phiên bản Cryptoki này nhận biết hai loại ngƣời dùng Token. Một loại là Security Officer (SO).Loại còn lại là ngƣời dùng thƣờng chỉ có ngƣời dùng thƣờng đƣợc cho phép truy xuất vào các đối tƣợng riêng của Token, và sự cho phép đó là đƣợc phân quyền chỉ sau khi ngƣời dùng thƣờng đƣợc xác thực truy xuất. Một số loại Token cũng yêu cầu là một ngƣời dùng có thể đƣợc xác thực trƣớc, bất kỳ hàm mật mã nào có thể thực hiện đƣợc trên token, dù nó có liên quan đến các đối tƣơng riêng hay không. Vai trò của SO là khởi tạo một token và thiết lập PIN của ngƣời dùng, và có khả năng thao tác với một số đối tƣợng công khai.Ngƣời dùng thƣờng không thể truy xuất vào đến khi SO thiết lập PIN của ngƣời dùng thƣờng.

Ngoài việc hỗ trợ cho hai loại ngƣời dùng, Cryptoki không tập trung vào mối quan hệ giữa SO và một cộng đồng ngƣời dùng. Một cách cụ thể, SO và ngƣời dùng thƣờng có thể là cùng một ngƣời hoặc có thể khác nhau, nhƣng vấn đề là nó ngoài phạm vi chuẩn này.

Với các PIN đƣợc gõ vào qua một ứng dụng, Cryptoki thừa nhận rằng chúng là các chuỗi biến có chiều dài động từ bộ trong Bảng 3. Bất kỳ một sự biên dịch nào tới các yêu cầu của thiết bị không phù hợp với thƣ viện Cryptoki. Các vấn đề sau vƣợt quá phạm vi của Cryptoky.

Cách mà các PIN đƣợc sinh ra (Bởi ngƣời dùng, bởi ứng dụng, hoặc bởi các hình thức khác).

2.4.6. Các ứng dụng sử dụng Cryptoki.

Với Cryptoki, một ứng dụng bao gồm một không gian địa chỉ riêng và tất cả các luồng điều khiển chạy trong nó. Một ứng dụng trở thành ứng dụng Cryptoki bằng cách gọi hàm khởi tạo Cryptoki C_Initialize; sau khi lời gọi đƣợc thực hiện, ứng dụng có thể gọi các hàm Crytoki. Khi một ứng dụng kết thúc sử dụng Cryptoki, nó gọi hàm kết thúc Cryptoki C_Finalize và dừng với một ứng dụng Cryptoky.

2.4.6. Một số vấn đề an ninh cần xem xét.

Do giao diện với các thiết bị mật mã, Cryptoki cung cấp một cơ sở cho an ninh trong hệ thống truyền thông và máy tính. Hai đặc tính cụ thể này của giao diện mà nó cung cấp cho an ninh nhƣ sau:

1. Truy xuất tới các đối tƣợng riêng trên Token, và có thể với các hàm mật và/hoặc cũng nhƣ các chứng thƣ số, đòi hỏi một PIN. Do đó xử lý thiết bị mật mã mà triển khai Token có thể không đủ để sử dụng nó, PIN cũng có thể cần thiết.

2. Bảo vệ bổ xung có thể đƣợc cung cấp cho các khóa riêng và các khóa bí mật bằng cách đánh dầu “nhậy cảm” hoặc “không thể chiết xuất”. Các khóa nhậy cảm không thể bị phơi ra dƣới dạng bản rõ ký tự ngoài token, và các khóa không thể chiết xuất không thể bị phơi ra khỏi Token ngay cả khi mã hóa. Ngƣời ta kỳ vọng rằng việc truy xuất tời các đối tƣợng riêng, nhậy cảm, hoặc không thể chiết xuất bởi các hình thức khác hơn là Cryptoki sẽ rất khó khăn.

Nếu một thiết bị không có môi trƣờng bảo đảm chống trộm hoặc bộ nhớ đƣợc bảo vệ trong nó để lƣu trữ các đối tƣợng riêng và nhậy cảm, thiết bị có thể mã hóa các đối tƣợng với khóa chính nó có thể phát sinh từ PIN của ngƣời dùng.

Dựa trên các đặc tính này có thể thiết kế các ứng dụng theo cách mà token có thể cung cấp an ninh phù hợp cho các đối tƣợng các ứng dụng quản lý.

Tất nhiên, ngành mật mã chỉ là một phần tử của an ninh, và token chỉ là một thành phần của một hệ thống. Trong khi Token tự nó có thể an toàn, một ngƣời cũng cần phải xem xét vấn đề an ninh của hệ điều hành mà ứng dụng giao tiếp với nó, đặc biệt do PIN có thể dƣợc chuyển qua hệ điều hành. Dễ dàng để Một ứng dụng lừa đảo trên hệ điều hành có thể lấy đƣợc PIN. Cũng có thể các thiết bị khác giám sát kênh giao tiếp tới thiết bị mật mã có thể lấy đƣợc PIN. Các ứng dụng và thiết bị lừa đảo có thể thay đồi các lệnh điều khiên đƣợc gửi tới thiết bị mật mã để lấy các dịch vụ hơn là ứng dụng yêu cầu.

Cần thiết phải đảm bảo rằng hệ thống là an toàn trƣớc những tấn công nhƣ trên. Ví dụ Cryptoki cũng có thể đóng một vai trò ở đây, một token có thể đƣợc gắn vào trong việc khởi động của một hệ thống.

Chúng tôi lƣu ý rằng không có cuộc tân công đƣợc mô tả có thể làm tổn hại đến các khóa đƣợc đánh dấu “Nhậy cảm”, do một khóa mà nó là nhậy cảm sẽ luôn ở trạng thái nhậy cảm. Tƣơng tự nhƣ vậy, một khóa mà nó không thể bị chiết xuất không thể đƣợc thay đổi để chiết xuất.

Một ứng dụng cũng có thể muốn đƣợc đảm bảo rằng Token là xác thực ở một số mặt (Vì những lý do đa dạng, bao gồm những hạn chế xuất và an ninh cơ bản). Điều này ngoài phạm vi của chuẩn này, nhƣng nó có thể đạt đƣợc bằng cách phân phối token đƣợc đóng gói, chứng nhận cặp khóa Công khai/riêng, bằng cách đó Token có thể chứng minh tính toàn vẹn của nó. Chứng nhận có thể đƣợc ký bởi một đơn vị chức trách khóa công khai của họ đƣợc biết với ứng dụng. Ứng dụng sẽ kiểm tra chứng nhận và đánh giá token để chứng minh tính toàn vẹn của nó bằng cách ký một thông điệm thay đổi theo thời gian với khóa riêng đi kèm của nó.

Một khi ngƣời dùng thông thƣờng đƣợc xác thực vào token, Cryptoki sẽ không hạn chế loại phép toán mật mã nào mà ngƣời dùng có thể thực hiện; ngƣời dùng có thể thực hiện bất kỳ một phép toán nào đƣợc hỗ trợ bởi Token. Một số Token thậm chí có thể không yêu cầu bất kỳ một loại xác thực nào để sử dụng các hàm mật mã của nó.

Chƣơng 3.PHÂN TÍCH THIẾT KẾ CÁC ỨNG DỤNG TRIỂN KHAI CHỮ KÝ SỐ TRÊN MOBILE.

3.1. THÀNH PHẦN KIẾN TRÚCỨNG DỤNG.

Để triển khai các sản phẩm ứng dụng chữ ký số trên trên thiết bị di động cần phải trả lời ba câu hỏi vô cùng quan trọng là dùng cái gì để lƣu trữ chữ ký số đảm bảo bảo mật, ứng dụng gì để dùng chữ ký số, và mở thị trƣờng chữ ký số trên thiết bị di động thế nào.

Đối với việc sử dụng chữ ký số trên các máy tính thông thƣờng sẽ có các thiết bị lƣu trữ chữ ký số chuyên dụng và cắm vào các máy tính qua các đầu giao tiếp USB để thực hiện các giao thức chữ ký số. Tuy nhiên đối với thiết bị cầm tay, các thiết bị để giao tiếp này chƣa phổ biết, các ứng dụng trên thiết bị cầm tay cũng chƣa phổ biến. Hiện tại trên thị trƣờng đã cung cấp một số thiết bị lƣu trữ chữ ký số giao tiếp với thiết bị cậm tay qua cổng Audio, hoặc gắn kèm vào Sim hoặc. Tuy nhiên các thiết bị này thƣờng chi phí cũng khá đắt, và việc sử dụng không đƣợc tiện dụng, với thiết bị cắm qua cổng Audio hiện tại độ ổn định còn rất thấp, các thiết bị trên Sim có thể nói nền tảng ứng dụng rất hiểm và khó dùng.

Đối với nền tảng ứng dụng, thực ra ai cũng mong muôn và kỳ vọng mở thị trƣờng chữ ký số sử dụng cho lĩnh vực ngân hàng chứng khoán, vì nó đáp ứng đƣợc tất cả các yêu cầu của ngân hàng.Tuy nhiên đảm bảo thế nào để thực sự tiện lợi thì rất khó khăn. Nếu cố gắng đặt chân thẳng vào các thị trƣờng chứng khoán, ngân hàng, thƣơng mại điện tử ngay thì sẽ khó có bƣớc chân phù hợp, vậy cách đặt chân nên từng bƣớc mở sang những gì quen thuộc mà ngƣời dùng có thể dùng luôn để đảm bảo bƣớc đầu xác lập tính quen thuộc, khả dụng ngay cho ngƣời dùng đồng thời từng bƣớc mở ra thị trƣờng. Trên những cơ sở đặt vấn đề nhƣ thế, tôi quyết định lựa chọn thành phần kiến trúc sản phẩm của hệ thống sản phẩm Mobile PKI ban đầu nhƣ sau:

Signing App

Secured SMS App

Secured Email Client App PKI Soft Token

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và phát triển ứng dụng chữ ký số trên các thiết bị cầm tay (Trang 42 - 47)

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

(84 trang)