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

Kiến trúc Provider

Một phần của tài liệu MỘT SỐ VẤN ĐỀ VỀ LẬP TRÌNH GIAO DIỆN TRONG ANDROID (Trang 116 -116 )

Java.security.Provider là một lớp cơ sở cho tất cả các nhà cung cấp bảo mật. Mỗi CSP (Cryptographic Service Providers) là một thể hiện của lớp này bao gồm tên nhà cung cấp và liệt kê tất cả những dịch vụ/thuật toán mà nó (CSP) cài đặt. Khi cần một thể hiện của thuật toán cụ thể, kiến trúc JCA sẽ thăm dò cơ sở dữ liệu “Provider”, và nếu tìm được một CSP thích hợp thì thể hiện CSP này sẽ được khởi tạo

Các CSP chứa một gói (hoặc một tập các gói) cung cấp các cài đặt cụ thể cho các thuật toán bảo mật mà CSP này quảng cáo. Mỗi phiên bản JDK sẽ có một hay nhiều CSP kèm theo. Các CSP khác có thể được thêm tĩnh hoặc động. Người dùng hoàn toàn có thể cấu hình môi trường nhằm chỉ rõ thứ tự ưu tiên cho các CSP. Thứ

tự này sẽ là cơ sở tìm kiếm khi có yêu cầu mà không chỉ rõ cụ thể CSP nào.

Khi dùng kiến trúc JCA, một ứng dụng đơn giản chỉ yêu cầu một loại đối

tượng cụ thể (như một thông điệp rút gọn) và một thuật toán hay một dịch vụ cụ thể (như thuật toán “MD5”) và nhận một cài đặt từ một trong các CSP. Hoặc ứng dụng có thể yêu cầu trực tiếp một CSP. Mỗi CSP được đại diện bằng tên

md = MessageDigest.getInstance(“MD5”);

Hình sau minh họa việc yêu cầu một cài đặt của thông điệp rút gọn “MD5”. Hình cho thấy có 3 CSP khác nhau cài đặt các thuật toán rút gọn thông điệp (“SHA- 1”, “MD5”, “SHA-256”). Các CSP được sắp thứ tự ưu tiên từ trái qua phải. Trong minh họa đầu tiên, một ứng dụng yêu cầu cài đặt thuật toán MD5 nhưng không cho

biết tên CSP cụ thể. Các CSP sẽ được tìm kiếm theo thứ tự ưu tiên và cài đặt của

CSP đầu sẽ được ứng dụng sử dụng, CSP B sẽ được trả về. Trong hình 2 thì ứng dụng sẽ yêu cầu cài đặt của thuật toán MD5 từ một CSP cụ thể là CSP C. Vào lúc này thì cài đặt thuật toán của CSP C sẽ được dùng, cho dù theo thứ tự ưu tiên thì

CSP B cao hơn C.

Hình A.1 Kiến trúc thu viện JCA

JCA đưa ra một tập các APIs cho phép người dùng truy vấn CSP nào đã được

dàng thêm vào các CSP phụ. Nhiều bên thứ ba cũng đã cung cấp các cài đặt thuật toán.

Một phần của tài liệu MỘT SỐ VẤN ĐỀ VỀ LẬP TRÌNH GIAO DIỆN TRONG ANDROID (Trang 116 -116 )

×