1. Trang chủ
  2. » Luận Văn - Báo Cáo

(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

84 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 2,46 MB

Cấu trúc

  • 2. MỤC TIÊU VÀ MỤC ĐÍCH CỦA NGHIÊN CỨU (9)
  • 3. NHIỆM VỤ NGHIÊN CỨU (10)
  • 4. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU (10)
  • Chương 1.TỔNG QUAN VỀ CHỮ KÝ SỐ (11)
    • 1.1. TÌNH HÌNH TRIỂN KHAI CHỮ KÝ SỐ TRÊN THẾ GIỚI VÀ TẠI VIỆT NAM (11)
    • 1.2. CÁC KHÁI NIỆM VỀ CHỮ KÝ SỐ (12)
    • 1.3. NGHIÊN CỨU TỔNG QUAN VỀ CHỮ KÝ SỐ TRÊN THIẾT BỊ DI ĐỘNG (14)
      • 1.3.1. Nhu cầu thực tiễn (14)
      • 1.3.2. Tình hình triển khai trên thế giới (16)
      • 1.3.3. Các vấn đề về kỹ thuật công nghệ (16)
  • Chương 2. NGHIÊN CỨU CƠ SỞ LÝ THUYẾT VÀ MỘT SỐTIÊU CHUẨN VỀ CHỮ KÝ SỐ (0)
    • 2.1. CƠ SỞ LÝ THUYẾT (18)
      • 2.1.1. Khái niệm“Chữ ký số” (18)
        • 2.1.1.1. Giới thiệu (18)
        • 2.1.1.2. Sơ đồ chữ ký số (19)
      • 2.1.2. Phân loại “Chữ ký số” (20)
      • 2.2.1. Sơ đồ chữ ký (21)
      • 2.2.2. Độ an toàn của chữ ký RSA (22)
    • 2.3. CHUẨN PKCS#1 v2.2 (23)
      • 2.3.1 Giới thiệu (23)
      • 2.3.2 Các biểu tƣợng (23)
      • 2.3.3 Các loại khóa (25)
      • 2.3.4 Các nguyên hàm mật mã (27)
        • 2.3.4.1 Các nguyên hàm mã hóa và giải mã (27)
        • 2.3.4.2 Các nguyên hàm ký số và kiểm tra chữ ký (29)
      • 2.3.5. Tổng quan về các lƣợc đồ (31)
      • 2.3.6. Các lƣợc đồ mã hóa (31)
        • 2.3.6.1. Toán tử mã hóa (31)
        • 2.3.6.2. Toán tử giải mã (34)
      • 2.3.7. Các lƣợc đồ chữ ký (36)
        • 2.2.7.1 Toán tử sinh chữ ký (36)
        • 2.3.7.2 Toán tử kiểm tra chữ ký (37)
    • 2.4. CHUẨN PKCS#11 (39)
      • 2.4.1 Giới thiệu (39)
      • 2.4.2. Mục tiêu thiết kế (39)
      • 2.4.3. Mô hình chung (40)
      • 2.4.4. Khung nhìn logic của một token (41)
      • 2.4.5. Người dùng (43)
      • 2.4.6. Các ứng dụng sử dụng Cryptoki (43)
      • 2.4.6. Một số vấn đề an ninh cần xem xét (44)
  • Chương 3. PHÂN TÍCH THIẾT KẾ CÁC ỨNG DỤNG TRIỂN KHAI CHỮ KÝ SỐ TRÊN MOBILE (46)
    • 3.1. THÀNH PHẦN KIẾN TRÚCỨNG DỤNG (46)
    • 3.2. THIẾT KẾ CÁC MÔ HÌNH MẬT MÃ VÀ CHỮ KÝ SỐ (48)
      • 3.2.1. Mật mã bất đối xứng và đối xứng kế hợp (48)
      • 3.2.2. Mô hình sử dụng hạ tầng mã khóa công khai để đăng nhập hệ thống (49)
      • 3.2.3. Ký dữ liệu (50)
      • 3.2.4. Mô hình xác thực chữ ký số (50)
    • 3.3. THIẾT KẾ CHỨC NĂNG (51)
    • 3.3. THIẾT KẾ KIẾN TRÚC (53)
      • 3.3.1. Kiến trúc Mobile PKI Soft Token App (53)
      • 3.3.2. Kiến trúc Secured SMS App (54)
      • 3.3.3. Kiến trúc Secured Email Client App (56)
      • 3.3.4. Kiến trúc Signing Apps (59)
    • 3.3. Các mô hình thiết kế UseCase (60)
    • 3.4. Một số thiết kế màn hình (67)
      • 3.4.1. Một số màn hình thiết kế Soft Token (67)
      • 3.4.2 Một số màn hình thiết kế SMS (69)
      • 3.4.3 Thiết kế một số màn hình Secured Email Client (71)
      • 3.4.4 Thiết kế Signing Apps (73)
  • KẾT LUẬN (76)
    • 1. NHỮNG CÔNG VIỆC MÀ LUẬN VĂN ĐÃ ĐẠT ĐƢỢC (76)
    • 2. KHẢ NĂNG PHÁT TRIỂN CỦA LUẬN VĂN (76)
  • TÀI LIỆU THAM KHẢO (77)
  • PHỤ LỤC (78)

Nội dung

MỤC TIÊU VÀ MỤC ĐÍCH CỦA NGHIÊN CỨU

- Nghiên cứu tình hình bảo mật, xác thực cá nhân để trên nền điện thoại di động trong nước và quốc tế

Nghiên cứu các tiêu chuẩn kỹ thuật và công nghệ liên quan đến chữ ký số là cần thiết để áp dụng hiệu quả các giải pháp bảo mật và xác thực cá nhân Việc hiểu rõ các tiêu chuẩn này giúp nâng cao tính an toàn và độ tin cậy trong giao dịch điện tử, đồng thời bảo vệ thông tin cá nhân của người dùng.

- Nghiên cứu phát triển các ứng dụng để quản lý, bảo mật và xác thực người dùng cá nhân trong các giao dịch

 Mục tiêu tạo ra các sản phẩm

- Soft Token: Ứng dụng tạo, quản lý, lưu trữ các khóa số chứng thư số, một cách bảo mật tuân theo các chuẩn chuẩn công nghiệp toàn cầu

- Ứng dụng ký các file PDF, Office trên nền Mobile

- Ký số và bảo mật Email

- Ứng dụng tích hợp phục vụ cho xác thực, bảo mật các giao dịch thương mại điện tử, ngân hàng, chứng khoán, thanh toán trực tuyến.

NHIỆM VỤ NGHIÊN CỨU

Nghiên cứu và hệ thống hóa cơ sở lý thuyết cùng các chuẩn công nghiệp liên quan đến chữ ký số là cần thiết để phát triển các ứng dụng chữ ký số trên nền tảng di động Việc áp dụng các tiêu chuẩn này sẽ giúp nâng cao tính bảo mật và hiệu quả trong giao dịch điện tử.

Chữ ký số đang trở thành một yếu tố thiết yếu trong việc đảm bảo tính xác thực và an toàn cho các giao dịch điện tử Hiện nay, nhu cầu triển khai và áp dụng chữ ký số ngày càng tăng cao, đặc biệt trong các lĩnh vực như tài chính, y tế, và giáo dục Việc áp dụng chữ ký số không chỉ giúp tiết kiệm thời gian và chi phí, mà còn nâng cao hiệu quả công việc Khả năng mở rộng của chữ ký số cho phép tích hợp vào nhiều hệ thống khác nhau, tạo điều kiện thuận lợi cho việc chuyển đổi số trong các tổ chức và doanh nghiệp.

- Đề xuất và phát triển các ứng dụng, giải pháp đáp ứng các yêu cầu.

ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU

- Các vấn đề bảo mật và xác thực thông tin cá nhân

- Các ứng dụng và giải pháp đáp ứng nhu cầu bảo mật và xác thực của cá nhân

- Nghiên cứu tình hình chung trên thế giới và Việt Nam

- Thời gian trong khoảng từ 2012-2014.

QUAN VỀ CHỮ KÝ SỐ

TÌNH HÌNH TRIỂN KHAI CHỮ KÝ SỐ TRÊN THẾ GIỚI VÀ TẠI VIỆT NAM

1.1.1 Tình hình triển khai chữ ký số trên thế giới

Chữ ký số đang trở thành một phần quan trọng trong các giao dịch điện tử trên toàn cầu, đặc biệt tại những quốc gia có nền công nghệ phát triển Sự phổ biến của chữ ký số không chỉ giúp tăng cường tính bảo mật mà còn nâng cao hiệu quả trong việc xác thực thông tin.

Mỹ, Canada, Anh, Nhật Bản, Hàn Quốc, Malaysia, Singapore và Trung Quốc đều đã ứng dụng kỹ thuật chữ ký số trong các giải pháp chính phủ điện tử và thương mại điện tử.

Tại các cường quốc công nghệ thông tin, việc ứng dụng chữ ký số đang được phát triển mạnh mẽ trong các dịch vụ hành chính công, đặc biệt là ở các nước châu Âu Một số quốc gia như Estonia đã tiên phong trong việc triển khai chứng minh thư điện tử từ năm 2002 và tiến hành bầu cử điện tử vào năm 2005 Tương tự, Ý cũng bắt đầu cấp chứng minh thư điện tử cho người dân từ năm 2009 Thụy Điển là một ví dụ về việc áp dụng chữ ký số trong hầu hết các giao dịch điện tử, hướng tới mục tiêu xây dựng một thị trường không tiền mặt trong tương lai.

Các quốc gia châu Á với nền công nghệ thông tin phát triển đã bắt đầu áp dụng chữ ký số trong Chính phủ Điện tử Hàn Quốc dẫn đầu thế giới về Chính phủ điện tử, với hầu hết giao dịch điện tử sử dụng chữ ký số Trong khi đó, Trung Quốc cấp hàng trăm triệu chữ ký số mỗi năm cho người dùng, phục vụ cho các giao dịch hành chính công và điện tử.

1.1.2 Tình hình triển khai chữ ký số tại Việt Nam

Nhiều ngân hàng, doanh nghiệp thương mại điện tử và các bộ ban ngành hiện nay đã áp dụng chứng thư số SSL để đảm bảo an toàn cho kênh truyền dữ liệu giữa người dùng và khách hàng.

Tại Việt Nam, chữ ký số được chia thành hai loại chính: chữ ký số công cộng và chữ ký số chuyên dùng Chữ ký số công cộng được sử dụng cho các giao dịch giữa tổ chức, cá nhân dân sự và cơ quan nhà nước, trong khi chữ ký số chuyên dùng được cấp riêng cho các cơ quan chính phủ và chỉ được sử dụng trong nội bộ của các tổ chức doanh nghiệp, không áp dụng cho giao tiếp bên ngoài.

Hiện nay, Việt Nam có 9 nhà cung cấp dịch vụ chứng thực chữ ký số công cộng được Bộ Thông Tin và Truyền Thông cấp phép, hoạt động dưới hệ thống RootCA quốc gia Khoảng 450 nghìn doanh nghiệp đang sử dụng chữ ký số cho các giao dịch như khai thuế, hải quan và chứng khoán Ngoài ra, có khoảng 50 nghìn chữ ký số được cấp cho cá nhân, phục vụ cho các giao dịch ngân hàng và chứng khoán trong lĩnh vực chữ ký số công cộng.

Hệ thống cung cấp dịch vụ chữ ký số của Ban Cơ yếu Chính phủ đã triển khai chứng thư số cho 11 Bộ, cơ quan ngang Bộ và 15 địa phương, với khoảng 15.000 chứng thư số được cấp tính đến tháng 7/2013 Việc quản lý và sử dụng chứng thư số đã đáp ứng nhu cầu xác thực và bảo mật thông tin cho các cơ quan nhà nước Tuy nhiên, việc triển khai chữ ký số vẫn còn hạn chế, nhiều đơn vị chưa áp dụng trong hoạt động tác nghiệp Để nâng cao hiệu quả giao dịch qua mạng và điện tử hóa quy trình làm việc, cần mở rộng đối tượng và quy mô sử dụng chữ ký số.

Chữ ký số đang được áp dụng mạnh mẽ trong nhiều lĩnh vực tại Việt Nam, đặc biệt là trong các giao dịch liên ngân hàng giữa các ngân hàng thương mại và Ngân hàng Nhà nước Ngoài ra, chữ ký số cũng được sử dụng trong việc xử lý các giao dịch nội bộ của nhân viên trong hệ thống ngân hàng Một số khách hàng lớn của ngân hàng cũng được ưu tiên sử dụng dịch vụ chữ ký số để ký kết các giao dịch quan trọng.

CÁC KHÁI NIỆM VỀ CHỮ KÝ SỐ

Mật mã đối xứng là phương pháp mã hóa sử dụng một khóa duy nhất cho cả quá trình mã hóa và giải mã Các thuật toán nổi bật trong mật mã đối xứng bao gồm DES, 3-DES, AES, và IDEA, cho phép bảo mật thông tin hiệu quả.

Mật mã bất đối xứng là phương pháp mã hóa sử dụng một khóa để mã hóa và một khóa khác để giải mã, làm cho việc tìm ra khóa này từ khóa kia trở nên rất khó khăn Một số thuật toán phổ biến trong mật mã bất đối xứng bao gồm RSA, ECC và DSA.

Hàm băm là một thuật toán quan trọng dùng để chuyển đổi một lượng dữ liệu lớn thành một giá trị nhỏ hơn và duy nhất, đại diện cho dữ liệu gốc Quá trình này tạo ra dữ liệu băm, mà không thể phục hồi về dạng dữ liệu ban đầu.

Khóa riêng, hay còn gọi là khóa bí mật, là một thành phần quan trọng trong mật mã bất đối xứng, được tạo ra trực tiếp trên thiết bị lưu trữ như USB token hoặc HSM do nhà cung cấp dịch vụ CA cấp Khóa này được người dùng sử dụng để mã hóa dữ liệu đã băm của dữ liệu gốc, từ đó tạo ra chữ ký số Chỉ có người dùng sở hữu khóa riêng mới có khả năng tạo chữ ký số, đảm bảo tính bảo mật và xác thực cho thông tin.

Khóa công khai (public-key) được tạo ra tại thiết bị lưu trữ khóa như USB token hoặc HSM, do nhà cung cấp dịch vụ CA cấp Người ký số sẽ tạo ra và công khai khóa này cho người nhận, để họ có thể sử dụng nó nhằm giải mã và xác thực chữ ký số, đảm bảo rằng chữ ký đó đến từ đúng người gửi.

Chữ ký số là quá trình sử dụng khóa bí mật của cá nhân hoặc tổ chức để mã hóa chuỗi dữ liệu đại diện, kết quả từ hàm băm của các file hoặc khối dữ liệu Dữ liệu đã được mã hóa này sẽ được đóng gói theo chuẩn chữ ký số, kèm theo chứng thư số, nhằm tạo thành chữ ký số của một cá nhân trên file hoặc khối dữ liệu.

USB Token là thiết bị phần cứng chuyên dụng để tạo cặp khóa bí mật và công khai, cùng với chứng thư số Thiết bị này được cung cấp bởi nhà cung cấp dịch vụ chữ ký số, giúp khách hàng dễ dàng tạo cặp khóa và thực hiện ký trên dữ liệu cần thiết.

Dịch vụ chứng thực chữ ký số là dịch vụ được cung cấp bởi tổ chức được nhà nước cấp phép, tuân thủ quy trình pháp lý để xác thực chữ ký điện tử Nhiệm vụ của nhà cung cấp bao gồm thẩm tra hồ sơ hợp pháp để cấp chữ ký số cho người dùng, tạo cặp khóa công khai và bí mật, cũng như chứng thư số để xác nhận khóa bí mật Ngoài ra, họ còn cung cấp dịch vụ gia hạn, tạm dừng và thu hồi chứng thư số, đồng thời duy trì dịch vụ xác thực chứng thư số trực tuyến, đảm bảo sự tin cậy cho các giao dịch điện tử.

Danh sách chứng thư số bị thu hồi CRL là danh sách các chứng thư số bị thu hồi do các lý do như mất khóa bí mật, lộ khóa bí mật, hỏng hóc, hoặc người sử dụng rời khỏi vị trí chức danh Khi chứng thư số bị thu hồi, nhà cung cấp sẽ được thông báo để cập nhật thông tin vào danh sách CRL Danh sách này được công bố rộng rãi trong môi trường mạng nhằm ngăn chặn việc lợi dụng chữ ký số và chứng thư số trong các giao dịch CRL thường xuyên được cập nhật mỗi ngày để đảm bảo tính chính xác và bảo mật.

Giao thức xác thực chữ ký số trực tuyến OCSP cho phép người dùng kiểm tra trạng thái chữ ký số trong thời điểm thực hiện giao dịch Khác với CRL, nơi việc cập nhật mất đến 24 giờ, OCSP cung cấp thông tin ngay lập tức, không có độ trễ về thời gian.

NGHIÊN CỨU TỔNG QUAN VỀ CHỮ KÝ SỐ TRÊN THIẾT BỊ DI ĐỘNG

 Ứng dụng xử lý chữ ký số nhƣ trên máy tính

Trong bối cảnh công nghệ hiện nay, việc triển khai ứng dụng chữ ký số trên thiết bị di động như smartphone và tablet đòi hỏi sự hỗ trợ từ các nhà sản xuất thiết bị chuyên biệt để lưu trữ và xử lý chữ ký số Chúng ta có thể sử dụng thiết bị Token cứng hoặc ứng dụng Soft Token trên máy tính, nhưng để đảm bảo tính bảo mật, việc phát triển ứng dụng trên thiết bị di động là cần thiết Điều này không chỉ giúp lưu trữ chữ ký số mà còn đảm bảo khả năng giao tiếp hiệu quả với các ứng dụng và thiết bị lưu trữ chữ ký số khác Do đó, trong đề tài này, chúng tôi tập trung nghiên cứu và phát triển ứng dụng nhằm tối ưu hóa việc lưu trữ và xử lý chữ ký số trên thiết bị di động.

Hiện nay, nhiều ứng dụng duyệt Email trên máy tính đã hỗ trợ ký số và mã hóa nội dung nhằm ngăn chặn giả mạo và bảo vệ thông tin Tuy nhiên, chưa có ứng dụng nào chính thức cung cấp tính năng này trên thiết bị di động phổ biến Do đó, trong nghiên cứu này, chúng tôi sẽ phát triển một ứng dụng email mới tích hợp tính năng ký số và mã hóa, nhằm cung cấp dịch vụ an toàn ra thị trường.

Trong môi trường kinh doanh phức tạp hiện nay, việc bảo mật thông tin là vô cùng quan trọng không chỉ cho cá nhân mà còn cho doanh nghiệp và quốc gia Việc trao đổi SMS trong kinh doanh, cũng như các thông tin cá nhân và nội dung chính trị, cần được đảm bảo tính riêng tư tuyệt đối Mặc dù đã có một số ứng dụng sử dụng mã hóa đối xứng, nhưng chúng tôi phát triển một kênh mã hóa SMS sử dụng chữ ký số, nhằm cung cấp cho người dùng một ứng dụng thực sự tiện lợi và bảo mật.

Hiện nay, chưa có sản phẩm ký số chính thức nào trên nền tảng mobile, trong khi giao dịch điện tử ngày càng trở nên phổ biến Các giao dịch không chỉ diễn ra trên máy tính mà có xu hướng chuyển sang nền tảng mobile Do đó, việc phát triển ứng dụng chữ ký số trên mobile là rất cần thiết.

1.3.2 Tình hình triển khai trên thế giới

Hiện nay, nhiều quốc gia đang triển khai ứng dụng chữ ký số trên thiết bị di động, nhưng việc áp dụng vẫn chưa phổ biến Giải pháp chủ yếu dựa vào công nghệ của Valimo, phục vụ cho giao dịch ngân hàng và tích hợp vào SIM điện thoại Tuy nhiên, giải pháp này phụ thuộc hoàn toàn vào các nhà mạng viễn thông và chỉ tập trung vào ký dữ liệu ở mức nguyên thủy (binary), khiến người dùng cuối khó tiếp cận.

Việc ký số các văn bản giấy tờ để xác nhận và quyết định điện tử trên nền tảng di động toàn cầu hiện nay vẫn còn hạn chế và chưa được công bố rộng rãi Hầu hết các sản phẩm Email trên nền tảng di động thiếu chức năng ký và mã hóa dữ liệu, dẫn đến việc xác thực và bảo mật thông tin còn yếu Do đó, khả năng bảo vệ Email, văn bản và giao dịch trên thiết bị di động - một công cụ thiết yếu của người dân toàn cầu - cần được cải thiện đáng kể.

Hiện nay, nhiều quốc gia đang tích cực phát triển chữ ký số trên nền tảng di động, và xu hướng này dự kiến sẽ trở thành một trào lưu toàn cầu trong vài năm tới Trong quá trình nghiên cứu và phát triển, chúng tôi cũng đang xem xét nhu cầu của nhiều đơn vị trên thế giới về việc phát triển các thành phần trong bộ ứng dụng của mình.

1.3.3 Các vấn đề về kỹ thuật công nghệ

Về kỹ thuật công nghệ, có thể nói nền tảng chữ ký số trên các thiết bị di động cũng đã đƣợc xây dựng trên các nền tảng chính:

- Các nền tảng kỹ thuật và công nghệ để tích hợp chíp xử lý chữ ký số trên Sim của thiết bị di động

Các nền tảng kỹ thuật và công nghệ cần thiết để triển khai thiết bị lưu trữ và xử lý chữ ký số bao gồm kết nối với thiết bị di động qua các kênh đầu cắm Audio và Bluetooth.

Một số nền tảng hiện nay sử dụng thiết bị chính là Token, kết hợp với ứng dụng phần mềm để lưu trữ và quản lý chữ ký số, được cài đặt trực tiếp trên các thiết bị.

Hiện nay, các thiết bị công nghệ cần tuân thủ các chuẩn công nghiệp như PKCS#11, PKCS#1, PKCS#15 đối với phần cứng và phần mềm Đối với thiết bị di động, việc giao tiếp cũng yêu cầu phải kiểm soát và tuân theo các chuẩn tương ứng như chuẩn Audio và chuẩn Bluetooth.

Các chuẩn viễn thông được thống nhất bởi hiệp hội các nhà viễn thông toàn cầu nhằm tạo ra một tiêu chuẩn chung, phục vụ cho mọi hình thức giao tiếp viễn thông trên toàn thế giới.

NGHIÊN CỨU CƠ SỞ LÝ THUYẾT VÀ MỘT SỐTIÊU CHUẨN VỀ CHỮ KÝ SỐ

CƠ SỞ LÝ THUYẾT

2.1.1 Khái niệm“Chữ ký số”

2.1.1.1 Giới thiệu Để chứng thực nguồn gốc hay hiệu lực của một tài liệu (ví dụ: đơn xin học, giấy báo nhập học, ), lâu nay người ta dùng chữ ký “ tay ”, ghi vào phía dưới của mỗi tài liệu Như vậy người ký phải trực tiếp “ ký tay “ vào tài liệu

Trong thời đại số hóa hiện nay, nhu cầu chứng thực nguồn gốc và hiệu lực của tài liệu điện tử ngày càng tăng cao Việc ký tay trên các tài liệu này trở nên không khả thi do chúng không được in trên giấy Tài liệu điện tử, được cấu thành từ các bit (0 và 1), có thể rất dài, tương đương với hàng nghìn trang nếu được in ra.

Chữ ký để xác thực một chuỗi bit tài liệu không thể chỉ là một chuỗi bit nhỏ đơn giản nằm dưới tài liệu Một chữ ký như vậy có nguy cơ bị kẻ gian sao chép và sử dụng cho các tài liệu bất hợp pháp khác.

Vào những năm 80 của thế kỷ 20, các nhà khoa học đã phát minh ra chữ ký số, một công nghệ quan trọng để xác thực tài liệu số Chữ ký số hoạt động như một bản mã của xâu bít tài liệu, đảm bảo tính toàn vẹn và độ tin cậy của thông tin.

Người ta tạo ra “ chữ ký số ” (chữ ký điện tử) trên “ tài liệu số ” giống như tạo ra “bản mã” của tài liệu với “khóa lập mã”

Ký số trên tài liệu số là việc xác thực từng bit của tài liệu Kẻ gian không thể giả mạo chữ ký số nếu không có khóa lập mã Để kiểm tra tính xác thực của chữ ký số liên quan đến tài liệu số, người ta tiến hành giải mã.

“ chữ ký số ” bằng “khóa giải mã”, và so sánh với tài liệu gốc

Ngoài ý nghĩa để chứng thực nguồn gốc hay hiệu lực của các tài liệu số hóa,

“ chữ ký số ” còn dùng để kiểm tra tính toàn vẹn của tài liệu gốc

Chữ ký số vượt trội hơn chữ ký tay bởi khả năng ký tài liệu từ xa qua mạng công khai Người dùng có thể thực hiện chữ ký bằng các thiết bị di động như điện thoại thông minh ở bất kỳ đâu, miễn là có kết nối internet Điều này giúp tiết kiệm thời gian, công sức và chi phí đáng kể.

Ký số được thực hiện trên từng bit của tài liệu, vì vậy độ dài của chữ ký số tối thiểu bằng độ dài tài liệu Thay vì ký trực tiếp trên tài liệu dài, người ta thường sử dụng hàm băm để tạo ra đại diện cho tài liệu, sau đó mới thực hiện ký số lên đại diện này.

2.1.1.2 Sơ đồ chữ ký số

Sơ đồ chữ ký là bộ năm (P, A, K, S, V), trong đó:

P là tập hữu hạn các văn bản có thể

A là tập hữu hạn các chữ ký có thể

K là tập hữu hạn các khoá có thể

S là tập các thuật toán ký

V là tập các thuật toán kiểm thử

Mỗi khóa k thuộc tập K sẽ có thuật toán ký Sig k trong tập S, với Sig k: P→A, cùng với thuật toán kiểm tra chữ ký Ver k trong tập V, với Ver k: P×A→{đúng, sai} Điều này thỏa mãn điều kiện rằng với mọi x thuộc P và y thuộc A, kết quả sẽ là đúng nếu y = Sig k(x).

Hệ mã hóa khóa công khai thường được sử dụng để tạo ra "Sơ đồ chữ ký số" Trong đó, khóa bí mật a được sử dụng để ký, trong khi khóa công khai b được dùng để kiểm tra chữ ký.

Ngược lại với việc mã hóa, quá trình ký số sử dụng khóa bí mật a để ký và khóa công khai b để kiểm tra chữ ký Điều này hoàn toàn hợp lý, vì khóa bí mật a cần được giữ kín để đảm bảo tính bảo mật của chữ ký, trong khi khóa công khai b được chia sẻ công khai để mọi người có thể xác minh tính xác thực của chữ ký đó.

2.1.2 Phân loại “Chữ ký số”

Có nhiều loại chữ ký tùy theo cách phân loại, sau đây xin giới thiệu một số cách Cách

1 : Phân loại chữ ký theo khả năng khôi phục thông điệp gốc

1) Chữ ký có thể khôi phục thông điệp gốc:

Là loại chữ ký, trong đó người nhận có thể khôi phục lại được thông điệp gốc, đã đƣợc “ ký ” bởi “ chữ ký ” này

Ví dụ: Chữ ký RSA là chữ ký khôi phục thông điệp, sẽ trình bày trong mục sau

2) Chữ ký không thể khôi phục thông điệp gốc:

Là loại chữ ký, trong đó người nhận không thể khôi phục lại được thông điệp gốc, đã đƣợc “ ký ” bởi “ chữ ký ” này

Ví dụ: Chữ ký Elgamal là chữ ký không thể khôi phục, sẽ trình bày trong mục sau

Cách 2 : Phân loại chữ ký theo mức an toàn

Chữ ký “không thể phủ nhận” giúp ngăn chặn việc chối bỏ hoặc nhân bản chữ ký Để đảm bảo tính xác thực, người gửi chữ ký tham gia trực tiếp vào quá trình kiểm thử thông qua một giao thức mời hỏi và trả lời.

Ví dụ: Chữ ký không phủ định (Chaum - van Antverpen), trình bày trong mục sau

2) Chữ ký “một lần”: Để bảo đảm an toàn, “Khóa ký” chỉ dùng 1 lần (one- time) trên 1 tài liệu

Ví dụ: Chữ ký một lần Lamport Chữ ký Fail - Stop (Van Heyst & Pedersen)

Cách 3 : Phân loại chữ ký theo ứng dụng đặc trƣng

Chữ ký “mù” (Blind Signature)

Chữ ký “nhóm” (Group Signature)

Chữ ký “bội” (Multy Signature)

Chữ ký “mù nhóm” (Blind Group Signature)

Chữ ký “mù bội” (Blind Multy Signature)

Sơ đồ (Đề xuất năm 1978) 1/ Tạo cặp khóa ( bí mật, công khai ) (a, b):

Chọn bí mật số nguyên tố lớn p, q, tính n = p * q, công khai n, đặt P = A = Z n Tính bí mật (n) = (p-1).(q-1)

Chọn khóa công khai b 2 Số mũ khóa riêng d RSA là một số nguyên dương nhỏ hơn n, thỏa mãn điều kiện e*d ≡ 1 (mod λ(n)), trong đó e là số mũ công khai RSA và λ(n) được định nghĩa như trên.

Trong một khóa RSA hợp lệ, hai thừa số p và q là hai số nguyên tố của số Modulus n RSA Số mũ dP và dQ theo phương pháp CRT là hai số nguyên dương nhỏ hơn p và q, thỏa mãn điều kiện e*dP ≡ 1 (mod (p-1)) và e*dQ ≡ 1 (mod (q-1)) Hệ số qInv trong hàm CRT là một số nguyên dương nhỏ hơn p, thỏa mãn điều kiện q*qInv ≡ 1 (mod p).

Nếu u>2, biểu diễn này sẽ bao gồm một hoặc nhiều bộ ba (ri, di, ti) với i=3, …, u Hệ số ri là các thừa số nguyên tố bổ sung của số Modulus n trong RSA Mỗi số mũ di theo CRT (i=3, …, u) phải thỏa mãn điều kiện e * di ≡ 1 (mod(ri - 1)) Hệ số CRT ti (i=3, …, u) là các số nguyên dương nhỏ hơn ri và cũng thỏa mãn yêu cầu tương ứng.

Ri*ti≡ 1(mod ri) trong đó Ri=r1*r2*…ri-1

2.3.4 Các nguyên hàm mật mã

Các nguyên hàm mật mã là những toán tử toán học cơ bản, từ đó xây dựng được các lƣợc đồ mật mã Chúng được áp dụng trong cả phần cứng và các module phần mềm.

Bài viết này trình bày bốn loại nguyên hàm, được phân loại thành hai cặp: mã hóa và giải mã; ký và kiểm tra chữ ký Các nguyên hàm này được xác định dựa trên các điều kiện cụ thể, yêu cầu đầu vào là các khóa riêng và khóa công khai hợp lệ.

2.3.4.1 Các nguyên hàm mã hóa và giải mã

Một nguyên hàm mã hóa chuyển đổi một thông điệp thành đại diện mã hóa thông qua khóa công khai, trong khi nguyên hàm giải mã phục hồi thông điệp từ đại diện mã hóa bằng khóa riêng tương ứng.

CHUẨN PKCS#11

Các thiết bị tính toán di động như Token, Thẻ thông minh, thẻ OCMCIA, đĩa mềm thông minh, máy tính bảng và điện thoại thông minh là công cụ lý tưởng cho việc triển khai mật mã khóa công khai Những thiết bị này cho phép lưu trữ phần khóa bí mật một cách an toàn, dưới sự kiểm soát của người dùng duy nhất Thay vì tự thực hiện các toán tử mật mã, ứng dụng có thể sử dụng thiết bị để thực hiện các toán tử, đảm bảo thông tin nhạy cảm như khóa bí mật không bị lộ Sự phát triển của nhiều ứng dụng cho mật mã khóa công khai đã thúc đẩy nhu cầu về một giao diện lập trình chuẩn cho các thiết bị này.

Chuẩn PKCS#11, hay còn gọi là Cryptoki, là một tiêu chuẩn đặc tả giao diện lập trình ứng dụng dành cho các thiết bị lưu trữ thông tin mật mã và thực hiện các hàm mật mã Cryptoki áp dụng phương pháp hướng đối tượng đơn giản, tập trung vào các mục tiêu độc lập công nghệ và chia sẻ tài nguyên, mang đến cho các ứng dụng một cái nhìn logic và chung về thiết bị, được gọi là Cryptographic Token.

Chuẩn này định nghĩa các kiểu dữ liệu và hàm cần thiết cho ứng dụng sử dụng dịch vụ mật mã trong ngôn ngữ lập trình C theo chuẩn ANSI Các kiểu dữ liệu và hàm này sẽ được cung cấp thông qua các file tiêu đề H của ngôn ngữ lập trình.

C bởi các nhà cung cấp thƣ viên Cryptoki Các file tiêu đề hàm H cho Cryptoki ở trên web chuẩn mã mã khóa công khai (PKCS)

Cryptoki là một giao diện kết nối giữa các ứng dụng và thiết bị mã hóa di động như Token, thẻ thông minh, thẻ PCMCIA, đĩa mềm thông minh, điện thoại thông minh và máy tính bảng Mục tiêu chính của Cryptoki là cung cấp một giao diện lập trình mức thấp, giúp trừu tượng hóa các chi tiết của thiết bị và cung cấp cho ứng dụng một mô hình chung về thiết bị mã hóa, được gọi là Token mã hóa.

Mục tiêu thứ hai là chia sẻ tài nguyên, khi hệ điều hành đa nhiệm trên máy tính bàn ngày càng phổ biến, một thiết bị đơn có thể phục vụ nhiều ứng dụng cùng lúc Hơn nữa, một ứng dụng có khả năng giao tiếp với nhiều thiết bị trong cùng một thời điểm.

Mô hình chung của Cryptoki bắt đầu từ một hoặc nhiều ứng dụng thực hiện các toán tử mật mã và kết thúc với một hoặc nhiều thiết bị nơi các toán tử này được thực hiện Người dùng có thể liên quan hoặc không liên quan đến ứng dụng.

Hình 2: Mô hình Cryptoki chung

Cryptoki cung cấp giao diện cho nhiều thiết bị hoạt động trong hệ thống thông qua các khe "Slot" Mỗi khe tương ứng với một đầu đọc vật lý hoặc giao diện thiết bị có thể chứa hoặc không chứa Token Một token cụ thể sẽ nằm trong khe khi thiết bị mật mã được kết nối với đầu đọc Cryptoki tạo ra một khung nhìn vật lý cho các khe và Token, cho phép nhiều khe chia sẻ cùng một đầu đọc vật lý Hệ thống có thể có nhiều khe, và các ứng dụng có thể kết nối với token trong bất kỳ hoặc tất cả các khe đó.

Thiết bị mật mã thực hiện các toán tử mật mã theo một bộ lệnh cụ thể, thường được chuyển qua các trình điều khiển thiết bị chuẩn như dịch vụ thẻ PCMCIA hoặc dịch vụ socket Cryptoki giúp các thiết bị mật mã hoạt động giống nhau về mặt logic, bất kể công nghệ triển khai, do đó ứng dụng không cần giao tiếp trực tiếp với trình điều khiển thiết bị Cryptoki ẩn đi tất cả các chi tiết này, cho phép triển khai thiết bị cơ bản hoàn toàn trong phần mềm mà không cần thiết bị vật lý đặc biệt.

Cryptoki được triển khai như một thư viện hỗ trợ các hàm trong giao diện, cho phép các ứng dụng liên kết trực tiếp với thư viện này Ngoài ra, Cryptoki cũng có thể được sử dụng như một thư viện chia sẻ, trong trường hợp đó, ứng dụng sẽ liên kết đến thư viện động Việc tạo ra các thư viện chia sẻ thường đơn giản hơn trên các hệ điều hành như Windows và OS/2, trong khi việc lưu trữ chúng có thể phức tạp hơn trên các hệ điều hành Unix và DOS.

Phương pháp động mang lại nhiều lợi thế, như việc sử dụng các thư viện sẵn có, nhưng cũng tiềm ẩn những rủi ro về an ninh Nếu một thư viện dễ bị thay thế, kẻ tấn công có thể lợi dụng điều này để chặn PIN của người dùng Do đó, các giải pháp an ninh thường được ưu tiên hơn, mặc dù kỹ thuật ký mã nguồn có thể giảm thiểu rủi ro từ liên kết động Tuy nhiên, bất kể là liên kết trực tiếp hay động, giao diện lập trình giữa ứng dụng và thư viện Cryptoki vẫn giữ nguyên.

Các loại thiết bị và khả năng hỗ trợ phụ thuộc vào thư viện Cryptoki cụ thể Chuẩn này chỉ quy định giao diện với thư viện mà không đề cập đến các đặc tính của nó Không phải tất cả các thư viện đều hỗ trợ tất cả các thuật toán được định nghĩa, và thường chỉ hỗ trợ một tập hợp con của các thiết bị mật mã trên thị trường Kỳ vọng rằng khi các ứng dụng phát triển với giao diện Cryptoki, hồ sơ token và thư viện chuẩn sẽ được hợp nhất.

2.4.4 Khung nhìn logic của một token

Khung nhìn logic của một token Cryptoki là thiết bị lưu trữ các đối tượng và thực hiện các hàm mật mã, bao gồm ba lớp đối tượng: dữ liệu, chứng thư số và khóa Đối tượng dữ liệu được định nghĩa bởi ứng dụng, trong khi đối tượng chứng thư số lưu trữ chứng thư số và đối tượng khóa lưu trữ khóa mật mã Các loại khóa bao gồm khóa công khai, khóa riêng và khóa bí mật, mỗi loại có kiểu thành phần riêng cho các kỹ thuật cụ thể.

Hình 3: Phân cấp đối tƣợng

Các đối tượng được phân loại dựa trên thời gian tồn tại và tính trực quan Các token trực quan kết nối với ứng dụng có đủ quyền và vẫn tồn tại ngay cả sau khi các phiên (Session) kết thúc và token được rút khỏi slot Ngược lại, các đối tượng phiên có tính tạm thời cao: khi một phiên bị đóng, tất cả đối tượng phiên do phiên đó tạo ra sẽ tự động bị hủy Hơn nữa, các đối tượng phiên chỉ có thể được nhận diện bởi ứng dụng đã tạo ra chúng.

Việc phân lớp định nghĩa yêu cầu truy xuất cho phép người dùng xem các đối tượng công khai mà không cần phải yêu cầu truy xuất vào token Tuy nhiên, để truy cập vào các đối tượng riêng, người dùng cần xác thực token thông qua một mã PIN hoặc các phương thức khác, chẳng hạn như thiết bị sinh trắc học.

Một Token có khả năng tạo và hủy các đối tượng, thao tác và tìm kiếm chúng Nó có thể thực hiện các hàm mật mã liên quan đến các đối tượng và có thể chứa bộ sinh số ngẫu nhiên bên trong.

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

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

Để triển khai ứng dụng chữ ký số trên thiết bị di động, cần giải quyết ba câu hỏi quan trọng: phương thức lưu trữ chữ ký số an toàn, ứng dụng sử dụng chữ ký số, và cách mở rộng thị trường chữ ký số trên di động Trên máy tính, chữ ký số thường được lưu trữ qua thiết bị chuyên dụng kết nối USB, nhưng trên thiết bị cầm tay, các giải pháp này chưa phổ biến Hiện có một số thiết bị lưu trữ chữ ký số kết nối qua cổng Audio hoặc SIM, nhưng chi phí cao và tính tiện dụng còn hạn chế Đặc biệt, thiết bị kết nối qua Audio có độ ổn định thấp, trong khi ứng dụng trên SIM còn khó sử dụng Mặc dù thị trường chữ ký số trong lĩnh vực ngân hàng và chứng khoán rất tiềm năng, việc đảm bảo tính tiện lợi cho người dùng vẫn là thách thức lớn Thay vì tiếp cận ngay vào thị trường chứng khoán hay ngân hàng, nên bắt đầu từ những ứng dụng quen thuộc để dần dần khẳng định tính khả dụng và mở rộng thị trường Trên cơ sở đó, tôi quyết định lựa chọn thành phần kiến trúc cho hệ thống sản phẩm Mobile PKI ban đầu.

Hình 4: Kiến trúc thành phần

PKI Soft Token App: Ở đây để giải quyết các yêu cầu trên tôi thiết kế PKI Soft

Token là ứng dụng phần mềm độc quyền cho từng thiết bị phần cứng, với thiết kế đảm bảo tính không thể sao chép và bảo mật tương tự như thiết bị phần cứng Chúng tôi áp dụng các tiêu chuẩn công nghiệp trong việc xây dựng thiết bị phần cứng vào phần mềm, đảm bảo tuân thủ các quy định thiết kế và triển khai Việc giao tiếp với các hệ thống ứng dụng và thiết bị bên ngoài được thực hiện theo chuẩn PKCS#11 Ngoài ra, tất cả các thành phần chữ ký số đều được kiểm soát và lưu trữ an toàn theo tiêu chuẩn PKCS#15.

Ứng dụng Secured SMS là một giải pháp bảo mật tin nhắn với chữ ký số, sử dụng phương pháp đóng gói binary đơn giản thay vì theo chuẩn Chúng tôi áp dụng các lược đồ mã hóa và giải mã dựa trên chữ ký số RSA thông thường, với phần mã hóa và giải mã được triển khai hoàn toàn bằng mã nguồn.

Ứng dụng Email Client Secured được triển khai với tính năng mã hóa, giải mã, ký số email và đóng gói dữ liệu theo chuẩn PKCS#7, nhằm đáp ứng đầy đủ các loại email Mặc dù không tham gia vào việc phát triển một bộ Email hoàn chỉnh, ứng dụng này đảm bảo hoạt động mượt mà và hiệu quả với các chức năng đã được xây dựng.

Các ứng dụng ký số trên nền tảng Android và iOS không dễ dàng, đặc biệt khi làm việc với các tài liệu PDF và Office Quá trình phát triển các ứng dụng này đã tốn nhiều năm để hoàn thiện, nhằm cung cấp giải pháp ký số hiệu quả cho người dùng.

THIẾT KẾ CÁC MÔ HÌNH MẬT MÃ VÀ CHỮ KÝ SỐ

Mô hình này được sử dụng để mã hóa và giải mã Email và SMS, đồng thời áp dụng trong các thiết kế mã hóa dữ liệu lớn trong hệ thống Ngoài ra, nó còn được sử dụng để mã hóa và giải mã trong các máy tính cá nhân, cho phép mã hóa toàn bộ thư mục hoặc ổ đĩa.

Hình 5: Mô hình mật kết hợp để thực hiện bảo mật dữ liệu

B1: Hệ thống tự sinh một khóa đối xứng

B2: Dùng khóa đối xứng để mã hóa dữ liệu

B3: Dùng khóa bất đối xứng của chứng thư số của người nhận để mã hóa dữ liệu

B4: Gửi giao dịch về người nhận

B5: Dữ liệu giao dịch ở phía người nhận sẽ được tách ra, dùng khóa riêng của người nhận để thực hiện việc giải mã khóa đối xứng

B6: Dùng khóa đối xứng đã đƣợc giải mã để giải mã dữ liệu

3.2.2 Mô hình sử dụng hạ tầng mã khóa công khai để đăng nhập hệ thống

Hình 6:Mô hình đăng nhập hệ thống dùng chữ ký số

B1: Yêu cầu truy xuất hệ thống B2: Server sinh số ngẫu nhiên B3: Gửi số ngẫu nhiên về phía Client B4: Hash số ngẫu nhiên

B5: Lựa chọn chứng thƣ số B6: Nhập password để xác thực truy xuất Private key của token

B7: Ký số giá trị Hash ở B4

B9: Dùng chứng thƣ số giải mã dữ liệu

B10: Đƣa số ngẫu nhiên trên server qua hàm Hash B11: So sánh dữ liệu ở B9 và B10, nếu hai giá trị bằng nhau thì cho truy xuất

Hình 7: Mô hình ký, kiểm tra trạng thái chứng thƣ số trong thực tế

B1: Người dùng nhập dữ liệu giao dịch

B2: Hệ thống tổng hợp dữ liệu đƣa vào hàm ký

B3: Lựa chọn chứng thƣ số từ trong token

B5 Hệ thống thực hiện Hash dữ liệu đã tổng hợp, và ký vào dữ liệu đã tổng hợp

B6: Gửi dữ liệu ký qua mạng

B7: Khi đến phía server dữ liệu sẽ đƣợc tách làm hai phần chữ ký và dữ liệu

B8: Hash dữ liệu với hàm Hash đã dùng ở phía Client để kiểm tra chữ ký số

B9: Nếu chữ ký là hợp lệ, hệ thống sẽ thực hiện giao dịch và lưu vào CSDL

3.2.4 Mô hình xác thực chữ ký số Đây là mô hình triển khai mang tính chất một hệ thống Server, dữ liệu tổng hợp dưới dạng Binary

Hình 8:Mô hình kiểm tra chữ ký số tổng thể

B1: Người nhận yêu cầu kiểm tra chữ ký số từ hệ thống server hoặc từ chính ứng dụng người dụng

B2: Hệ thống tổng hợp dữ liệu mà người nhận nhận được để Hash dữ liệu

B3: Lấy chữ ký số ứng với dữ liệu người nhận

B4: So sánh dữ liệu ở B2, B3, nếu nó khớp nhau thì là ký số hiệu lực.

THIẾT KẾ CHỨC NĂNG

Sinh số nguyên tố lớn

Sinh khóa theo RSA, DSA,

Mã hóa và lưu trữ khóa

Xử lý các thuật toán ký số, mã hóa

Hình 9:Chức năng Soft Token

Soft token cho phép người dùng sử dụng Chứng thư số một cách dễ dàng và an toàn trên di động mà không cần mua thêm phần cứng Bảo mật của Soft token được đặt lên hàng đầu, tuân theo các chuẩn PKCS#15 và PKCS#11; thông tin trong soft token được mã hóa và lưu trữ an toàn bằng thuật toán AES256, đảm bảo chỉ người sở hữu chứng thư mới có quyền truy cập Quy trình đăng ký, cài đặt và kích hoạt soft token được tích hợp trong ứng dụng quản lý, giúp người dùng dễ dàng sử dụng sản phẩm và dịch vụ chứng thực số của VNPT trên điện thoại di động.

3.2.2 Thiết kế chức năng cho Secured SMS

Ứng dụng này cho phép người dùng bảo mật tin nhắn SMS bằng cách mã hóa nội dung trước khi gửi Sử dụng chứng thư số của VNPT, ứng dụng đảm bảo chỉ người nhận có mã PIN của Token (Soft và Hard) mới có thể đọc được tin nhắn Đối với người thứ ba, kể cả nhà mạng, nội dung tin nhắn chỉ là chuỗi ký tự vô nghĩa.

3.2.3 Thiết kế chức năn cho Secured Email Client

Dùng nhiều tài khoản online cùng lúc

Hỗ trợ nhiều định dạng mail

Ký số / Xác thực e- mail

Mã hóa / Giải mã e- mail

Tương thích với các SMIME mail client khác

Ứng dụng Email Client của VNPT/VDC có tính sẵn sàng cao, cho phép người dùng cài đặt nhiều hòm mail cùng lúc Nó hỗ trợ nhiều loại email như Gmail, VDC, Yahoo và Outlook, mang lại sự tiện lợi cho người sử dụng.

3.2.3 Thiết kế chức năng cho Signing App

Mobile Signtool là ứng dụng giúp người dùng ký số tài liệu Office và PDF bằng khóa bí mật và chứng thư số từ Token Ứng dụng này tương thích với Microsoft Office, Acrobat Reader và Foxit Reader, mang lại tính năng tích hợp quan trọng cho các hệ thống e-Office trong doanh nghiệp.

THIẾT KẾ KIẾN TRÚC

a Kiến trúc dữ liệu của Soft Token

Hình 11:Kiến trúc của Soft Token

Kiến trúc dữ liệu của Soft token tuân thủ nghiêm ngặt chuẩn PKCS#15, trong đó dữ liệu được phân chia và lưu trữ theo từng Object Mỗi Object có một Handle tương ứng, được hiểu là giá trị dùng để đánh chỉ mục và định danh cho Object bên trong Token.

Có 4 kiểu dữ liệu bên trong Soft token: Data, Key, Certificate và Authentication Object Các loại dữ liệu này được lưu trữdưới dạng cây thư mục như hình trên Việc truy xuất các dữ liệu này hoàn toàn theo chuẩn PKCS#11 b Các chuẩn và thƣ viện sử dụng cho Soft token

Tiêu chuẩn PKCS#15, được phát triển bởi phòng thí nghiệm RSA, quy định cách thức và quy tắc lưu trữ dữ liệu số (Object) trong Token hoặc Smart Card, đồng thời hướng dẫn cách truy cập vào những dữ liệu này.

Chuẩn PKCS#11 quy định một bộ công cụ phát triển (API) mang tên Cryptoki, được thiết kế dành cho các thiết bị lưu trữ bảo mật như Token và SmartCard.

- Thƣ viện OpenSSL: Thƣ viện mã hóa đƣợc viết bằng ngôn ngữ C

- Thƣ viện Botan: Thƣ viện mã hóa đƣợc viết bằng ngôn ngữ C++

3.3.2 Kiến trúc Secured SMS App a Kiến trúc tổng quan

Hình 12:Kiến trúc tổng quan của Secured SMS

Để đăng nhập vào phần mềm SecureSMS và lấy khóa bí mật cho việc giải mã nội dung, người dùng cần sử dụng Token (Soft và Hard), vì vậy việc tích hợp lớp PKCS#11 Wrapper là cần thiết.

Crypto Libs thực hiện các chức năng quan trọng như sinh cặp khóa đối xứng, mã hóa tin nhắn SMS bằng chứng thư số của người nhận, và giải mã nội dung bằng khóa bí mật của người sử dụng.

Lớp Contact đồng bộ hóa danh bạ và lấy chứng thư số của người dùng SecureSMS, với các chứng thư này được lưu trữ trong Cert Store và trên hệ thống máy chủ của VDC Quy trình mã hóa và giải mã SMS được thực hiện để đảm bảo an toàn cho thông tin.

Hình 13:Quy trình mã hóa

Quá trình mã hóa SMS yêu cầu người dùng nhập đầy đủ nội dung SMS và số điện thoại của người nhận Ứng dụng sẽ xác minh và lấy chứng thư số từ Cert Store và máy chủ thông qua các dịch vụ Web Nếu không tìm thấy chứng thư số tương ứng, quá trình mã hóa sẽ không thể thực hiện, và người dùng chỉ có thể gửi SMS thông thường.

Hình 14:Quy trình giải mã

Quá trình giải mã yêu cầu người dùng cung cấp khóa bí mật, cụ thể là mã PIN của Token cho ứng dụng Để đảm bảo an toàn, mỗi lần truy cập nội dung đã mã hóa, người dùng cần nhập mã PIN, ngay cả khi nội dung đó đã được giải mã trước đó.

- PKCS#11: bộ API giao tiếp với Token và SmartCard

- OpenSSL: thƣ viện mã hóa mã nguồn mở thực thi các giao thức SSL/TLS, đƣợc viết bằng ngôn ngữ C

- Bouncy Castle: thƣ viện mã hóa mã nguồn mở đƣợc viết bằng ngôn ngữ Java

- DroidSMS: ứng dụng quản lý SMS mã nguồn mở cho Android

3.3.3 Kiến trúc Secured Email Client App a Kiến trúc phần mềm

Hình 15:Kiến trúc của Secured Email Client

Kiến trúc phần mềm đƣợc thiết kế phân tách nhiều lớp độc lập, để có thể hoạt động linh hoạt, dễ dàng phát triển và triển khai

- Mail Core là tầng thấp nhất trong phần mềm, xử lý các tác vụ lấy email, phân tích và gửi email

- PKCS#11 Wrapper và Crypto Libs là các thƣ viện thực hiện kết nối Token và thực hiện các quá trình mã hóa, xác thực email

Contact enables the management of contacts and digital certificates within the address book, while Apptentive Connect serves to link applications with the App Store and Google Play Store, facilitating developer feedback Additionally, the process of creating an SMIME email within the software is outlined.

Quy trình tạo email và ứng dụng ký số hay mã hóa chỉ áp dụng cho nội dung email, bao gồm cả các tệp đính kèm Do đó, cần tách nội dung theo chuẩn MIME để thực hiện quy trình này.

Hình 17:Quy trình mã hóa Email

Để thực hiện mã hóa, ứng dụng cần có chứng thư số của người nhận Lớp Cert Store sẽ lưu trữ các chứng thư số này, trong khi lớp Web Service đảm nhận việc đồng bộ danh bạ và các chứng thư số giữa ứng dụng và Server tại VDC.

Quy trình ký số yêu cầu ứng dụng giao tiếp với Token (có thể là Soft hoặc Hard) thông qua lớp PKCS#11 Wrapper Người dùng cần cung cấp mã PIN để lớp Wrapper truy xuất khóa bí mật, phục vụ cho việc ký số hoặc giải mã email Chữ ký số cho email phải tuân thủ chuẩn PKCS#7 trước khi được chèn Header và đóng gói theo chuẩn SMIME trước khi gửi đi.

- MIME: chuẩn định dạng cho thƣ điện tử khi truyền qua Internet

- S/MIME: chuẩn mã hóa và ký số cho thƣ điện tử MIME

- PKCS#11: bộ API giao tiếp với Token và SmartCard

- PKCS#7: chuẩn định dạng tin nhắn mã hóa

- OpenSSL: thƣ viện mã hóa mã nguồn mở thực thi các giao thức SSL/TLS, đƣợc viết bằng ngôn ngữ C

- Bouncy Castle: thƣ viện mã hóa mã nguồn mở đƣợc viết bằng ngôn ngữ Java

- SMTP, IMAP: các giao thức gửi nhận email

- K-9 Mail: ứng dụng Mail Client mã nguồn mở cho Android

- Mailcore2: thƣ viện xử lý email mã nguồn mở cho iOS

3.3.4 Kiến trúc Signing Apps a Kiến trúc tổng quan

Hình 18:Mô hình kiến trúc Signing Apps

Similar to the two applications mentioned, Secure Mail and Secure SMS, Signtool requires a connection to a Token (either Soft or Hard) through the PKCS#11 Wrapper Additionally, it necessitates cryptographic libraries such as OpenSSL and BouncyCastle within the Crypto Libs layer to perform digital signing functions.

Lớp thư viện OOXML Lib và PDF Lib cho phép ứng dụng phân tích và đóng gói tài liệu OOXML, bao gồm cả tài liệu Office, cùng với PDF, nhằm trích xuất thông tin cần thiết để tạo chữ ký số Các chuẩn và thư viện này được áp dụng rộng rãi trong việc xử lý và quản lý tài liệu số.

- PKCS#11: Bộ API giao tiếp với Token và SmartCard

- PKCS#1 :Chuẩn cung cấp các định nghĩa, khuyến nghị cơ bản để thực hiện thuật toán RSA cho mã hóa công khai

- PKCS#7: Chuẩn định dạng tin nhắn mã hóa

- OOXML: Open Office XML, chuẩn định dạng dữ liệu của Microsoft cho các tài liệu Office: Word, Excel, PowerPoint,…

- Bouncy Castle: thƣ viện mã hóa mã nguồn mở đƣợc viết bằng ngôn ngữ Java.

Các mô hình thiết kế UseCase

Để sử dụng Soft Token, người dùng cần đăng nhập trước để thực hiện các chức năng, ngoại trừ khi họ chọn tính năng Unlock Token (Quên mật khẩu).

Liệt kê chứng thư Đổi PIN

Gia hạn chứng thư Đăng nhập precedes precedes precedes precedes precedes precedes precedes

- Phân rã chức năng Tạo mới chứng thƣ số

Chức năng Tạo mới chứng thư số cho phép người dùng thực hiện ba bước quan trọng: Nhập thông tin khách hàng, Chọn gói chứng thư số và Xác thực thông tin khách hàng.

Nhập thông tin khách hàng

Xác thực thông tin khách hàng

- Phân rã chức năng Thanh toán

Chức năng Thanh toán cho phép người dùng có thể chọn: thanh toán bằng thẻ cào và thanh toán bằng tài khoản ngân hàng

- Phân rã chức năng Gia hạn chứng thƣ

Gia hạn chứng thư số tương tự như việc tạo mới chứng thư số, với các bước chính là nhập thông tin và xác thực chứng thư số Tuy nhiên, chức năng này phụ thuộc vào gói chứng thư số mà người dùng đã sở hữu, do đó không có bước chọn gói chứng thư số trong quy trình này.

Sửa thông tin khách hàng

Xác thực thông tin khách hàng

- Phân rã chức năng Mở khóa Token

Chức năng mở khóa Token hỗ trợ người dùng khi họ quên mã PIN và không thể đăng nhập Quá trình này bao gồm hai bước chính: Tạo yêu cầu mở khóa và Đặt lại mật khẩu.

Tạo yêu cầu mở khóa Đặt lại mật khẩu

Trong use case Đặt lại mật khẩu, ứng dụng yêu cầu người dùng phải nhập mã kích hoạt từ Server gửi về

3.3.2 Mô hình thiết kế Usecase tổng quan cho Secured SMS

Gửi tin nhắn Đọc tin nhắn

Cập nhật Đăng ký Đăng nhập

- Phân rã chức năng Gửi tin nhắn Ứng dụng cho phép người dùng gửi tin nhắn SMS hoặc tin nhắn Internet, tin nhắn có mã hóa hoặc không

- Phân rã chức năng đọc tin nhắn

Tin nhắn khi nhận có thể được phân loại thành hai loại: tin nhắn mã hóa và tin nhắn không mã hóa Việc đọc tin nhắn được chia thành hai trường hợp cụ thể: Đọc tin nhắn mã hóa và Đọc tin nhắn thường.

Chức năng quản lý bảo mật ứng dụng cho phép người dùng mã hóa và giải mã dữ liệu bằng chứng thư số, đồng thời cung cấp tính năng sử dụng mật khẩu để truy cập vào ứng dụng một cách an toàn.

Quản lý truy cập ứng dụng

Quản lý chứng thư số

Xác thực mật khẩu ứng dụng

Xác thực mật khẩu Token

3.3.3 Mô hình thiết kế Use case tổng quan cho Mail Client

Quản lý hiển thị Đăng nhập hòm mail

- Phân rã chức năng Gửi email

Use case này được chia thành 2 use case nhỏ là: Gửi email thường và Gửi email bảo mật

Gửi có ký số

- Phân rã chức năng Đọc email Đọc email Đọc email thường Đọc email bảo mật

Chức năng quản lý bảo mật ứng dụng cho phép người dùng thực hiện mã hóa và giải mã dữ liệu bằng chứng thư số, đồng thời cung cấp tính năng bảo mật bằng mật khẩu để truy cập vào ứng dụng.

Quản lý truy cập ứng dụng

Quản lý chứng thư số

Xác thực mật khẩu ứng dụng

Xác thực mật khẩu Token

3.3.4 Mô hình Usecase tổng quan ứng dụng Signtool Ứng dụng cho phép người dùng sử dụng chứng thư số từ Soft token để ký số văn bản, được chia thành các use case như hình dưới

Một số thiết kế màn hình

- Giao diện đăng nhập Soft token

Hình 19:Giao diện đăng nhập Soft Token

- Giao diện danh sách chứng thƣ số

Hình 20:Giao diện danh sách chứng thƣ số

- Giao diện tạo chứng thƣ số

Hình 21:Giao diện tạo chứng thƣ số

- Giao diện thông tin chứng thƣ số

Hình 22:Giao diện thông tin chứng thƣ số 3.4.2 Một số màn hình thiết kế SMS

- Màn hình thiết kế giao diện truy xuất vào trình soát SMS Để truy xuất vào trong SMS, cần phải đăng nhập dùng chữ ký số để đăng nhập

Hình 23:Giao diện đăng nhập Secured SMS

- Thiết kế màn hình duyệt tin nhắn

Hình 24:Giao diện duyệt tin nhắn

- Thiết kế màn hình gửi tin nhắn

Hình 25:Giao diện gửi tin nhắn 3.4.3 Thiết kế một số màn hình Secured Email Client

- Thiết kế màn hình chọn loại tài khoản mail

Hình 26:Giao diện tạo tài khoản Email

- Thiết kế màn hình danh sách Email

Hình 27:Giao diện danh sách Email

- Thiết kế màn hình gửi Email

Hình 28:Giao diện mã hóa và ký email 3.4.4 Thiết kế Signing Apps

- Thiết kế màn hình chọn loại file để ký

Hình 29:Giao diện lựa chọn loại File để ký

- Thiết kế màn hình ký file PDF

Hình 30:Giao diện ký file

- Thiết kế màn hình lựa chọn chữ ky số để ký

Hình 31:Giao diện lựa chọn chữ ký số

- Nhập mật khẩu khi ký

Hình 32:Giao diện đăng nhập nhập truy xuất chữ ký số

- Màn hình hiển thị kết quả khi ký

Hình 33:Giao kết quả ký

Ngày đăng: 17/12/2023, 02:08

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN