Hướng dẫn sử dụng giải pháp ứng dụng chữ ký số trên thiết bị di động sử dụng SDSecure

08:48 | 21/06/2019
T.U

Bài viết hướng dẫn sử dụng giải pháp ứng dụng chữ ký số trên thiết bị di động sử dụng công nghệ thẻ bảo mật SDSecure. Đây là giải pháp do Ban Cơ yếu Chính phủ cung cấp, phục vụ trong hệ thống của các cơ quan Đảng, Nhà nước.

Trong xu thế phát triển IoT và Cách mạng công nghiệp 4.0, các thiết bị di động (máy tính bảng, điện thoại thông minh,...) ngày càng trở thành phương tiện phổ biến, đáp ứng nhu cầu của xã hội trong việc thực hiện các giao dịch điện tử nói chung và nghiệp vụ của cán bộ công chức nhà nước nói riêng. Tuy nhiên, việc triển khai ứng dụng trên thiết bị di động cũng gặp không ít rủi ro tiềm ẩn về an toàn thông tin. Đồng thời, khi phân tích các phương pháp ký số, xác thực trong nước và trên thế giới đang được nhiều cá nhân, tổ chức sử dụng rộng rãi, thì thành phần quan trọng được coi là then chốt để giải quyết vấn đề đảm bảo an toàn, xác thực khi triển khai ký số, xác thực cho thiết bị di động được gọi là “phần tử bảo mật” (security element).

Thẻ bảo mật SDSecure hoạt động trên một nền tảng linh hoạt để xây dựng các dịch vụ bảo mật đa dạng cho ứng dụng di động. Các dịch vụ này bao gồm mã hóa và giải mã, nhằm đảm bảo an toàn và có hiệu suất cao. SDSecure có 03 thành phần chính: phần tử bảo mật, bộ điều khiển và bộ nhớ flash (dung lượng lưu trữ có thể lên tới 16 GB). Mô-đun thẻ bảo mật SDSecure chứa CPU, ROM, RAM và được đóng gói theo khuôn dạng thẻ microSD.

Thẻ bảo mật SDSecure

Toàn bộ hoạt động mã hóa, giải mã, xử lý trao đổi khóa được thực hiện bên trong mô-đun. Các thuật toán được xử lý bên trong chip, có hiệu năng cao. Phần tử bảo mật đạt tiêu chuẩn CC EAL5+, hỗ trợ mã hóa dữ liệu, quản lý khóa, bảo mật VPN, bảo mật thoại, tin nhắn,… và bảo vệ phương tiện truyền thông. Các khóa và dữ liệu nhạy cảm được mã hóa và lưu trữ bên trong phần tử bảo mật.

Thông số kỹ thuật của Thẻ bảo mật SDSecure gồm 06 thuộc tính: thuật toán, mã hóa, HMAC, hàm băm, hệ điều hành và giao tiếp.

Các hàm trong thư viện

Để sử dụng thẻ bảo mật SDSecure, người dùng cần sử dụng các hàm thư viện dưới đây.

Ký số PDF

Để thực hiện ký số PDF, người dùng thực hiện cú pháp: String SignPDF(String inputFile, String outputFile, int pageNumber, int x, int y, int width, int height, String urlTSA, Boolean chkOnline, Bitmap bgSign). Cụ thể:

Hàm xác thực PDF

Đối với hàm xác thực PDF sử dụng cú pháp: List<VerifyInfo> VerifyPDF(String inputFile, Boolean chkOnline). Trong đó, List VerifyPDF là hàm xác thực, biến String inputFile là tệp PDF đầu vào và Boolean chkOnline là biến để kiểm tra trực tuyến CTS người ký, CTS máy chủ thời gian (nếu có). Đối với Lớp VerifyInfo có 9 tùy chọn, cụ thể:

Ký số PKCS7

Ký số PKCS7 sử dụng cú pháp: Byte[] SignPKCS7(byte[] input, String urlTSA, Boolean chkOnline). Trong đó, biến byte[] input là dữ liệu đầu vào, String urlTSA là biến chuỗi rỗng không dùng tsa (nếu là đường dẫn thì sử dụng tsa). Còn biến Boolean chkOnline là để kiểm tra chứng thư số có trực tuyến hay không.

Xác thực PKCS7

Để xác thực PKCS7 sử dụng cú pháp: List<VerifyInfo> VerifyPKCS7(byte[] input, Boolean chkOnline), cụ thể:

Danh sách các tệp tin cài đặt và sử dụng

Phần mềm ký số, xác thực cho người dùng trên Android: vSign.apk

Ví dụ về sử dụng thư viện: DemoSignCard.apk

Mã nguồn ví dụ sử dụng thư viện: DemoSignCard.zip

Thư viện ký số, xác thực: sdsecure.aar

Cập nhật 05/11/2018, phiên bản 1.1