Khung nhìn logic của một token Cryptoki là một thiết bị mà nó dùng để lưu trữ các
đối tượng và có thể thực hiện các hàm mật mã. Cryptoki định nghĩa ba lớp đối
tượng: Dữ liệu, các chứng thư số và các khóa. Một đối tượng dữ liệu được định nghĩa bởi một ứng dụng. Một đối tượng chứng thư số lưu trữ một chứng thư số. Một đối tượng khóa lưu trữ một khóa mật mã. Khóa có thể là một khóa công khai, khóa riêng, hoặc một khóa bí mật; mỗi loại khóa này có các kiểu thành phần cho việc sử dụng trong các kỹ thuật cụ thể. Khung nhìn được mình họa như hình sau:
48
Hình 3: Phân cấp đối tượng
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 rất 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
49
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.