1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone

70 320 1

Đ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 70
Dung lượng 1,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với tính năng của chữ ký số: “Bảo mật”; “Xác thực người dùng”, chúng tôi dự kiến sẽ nghiên cứu phát triển các ứng dụng sử dụng chữ ký số để nó đáp ứng các tính năng nhằm bước đầu tạo ra

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

- Nguyễn Quang Minh

TÊN ĐỀ TÀI LUẬN VĂN

Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị Smartphone

Chuyên ngành : Kỹ thuật viễn thông

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC :

1 TS Nguyễn Quốc Khương

Hà Nội – 09/2016

Trang 2

DANH MỤC CÁC TỪ VIẾT TẮT 5

LỜI CAM ĐOAN 7

MỞ ĐẦU 8

1.1 LÝ DO LỰA CHỌN ĐỀ TÀI 8

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

1.3 NHIỆM VỤ NGHIÊN CỨU 9

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

Chương 1 TỔNG QUAN VỀ CHỮ KÝ SỐ 10

1.1 TÌNH HÌNH TRIỂN KHAI CHỮ KÝ SỐ 10

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

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

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

1.3 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 15

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

Chương 2 LÝ THUYẾT VỀ CHỮ KÝ SỐ 17

2.1 CƠ SỞ LÝ THUYẾT 17

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

2.1.2 Cơ sở toán học của chữ ký số 18

2.1.3 Phân loại Chữ ký số 21

2.2 HỆ MÃ HÓA KHÓA CÔNG KHAI RSA 23

2.2.1 Mô tả sơ lược về mã hóa RSA 23

2.2.2 Phương pháp tạo mã và giải mã trong mã hóa công khai RSA 23

2.2.3 Đặc trưng của mã hóa công khai RSA 24

2.2.4 Độ an toàn của mã hóa RSA 25

2.2.5 Các hình thức tấn công đối với mã hóa RSA 26

2.3 CHỮ KÝ SỐ RSA 27

2.3.1 Đặt vấn đề 27

2.3.2 Các biểu tượng 28

Trang 3

2.3.3 Các loại khóa 31

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

2.3.5 Các lược đồ mã hóa 38

3.3.6 Các lược đồ chữ ký 42

2.4 CHUẨN PKCS#11 45

2.4.1 Giới thiệu 45

2.4.2 Mục tiêu thiết kế 46

2.4.3 Mô hình chung 46

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

2.4.5 Người dùng 50

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

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

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

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

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

3.2.1 Mật mã bất đối xứng và đối xứng kế hợp 55

3.2.2 Mô hình sử dụng hạ tầng mã khóa công khai để đăng nhập hệ thống 57 3.2.3 Ký dữ liệu 58

3.2.4 Mô hình xác thực chữ ký số 59

3.3 THIẾT KẾ CHỨC NĂNG 60

3.3.1 Thiết kế chức năng cho Soft Token 60

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

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

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

3.4 THIẾT KẾ KIẾN TRÚC 62

3.4.1 Kiến trúc Mobile PKI Soft Token App 62

3.4.2 Kiến trúc Secured SMS App 63

3.4.3 Kiến trúc Secured Email Client App 65

3.4.4 Kiến trúc Signing Apps 67

Trang 4

KẾT LUẬN 69 5.1 NHỮNG CÔNG VIỆC MÀ LUẬN VĂN ĐÃ ĐẠT ĐƯỢC 69 5.2 KHẢ NĂNG PHÁT TRIỂN CỦA LUẬN VĂN 69

Trang 5

DANH MỤC CÁC TỪ VIẾT TẮT

STT Chữ viết tắt Nghĩa chữ viết tắt

2 CRL Danh sách số serial của các chứng thư số bị

thu hồi, danh sách này được các nhà cung cấp

dịch vụ chữ ký số cung cấp

3 OCSP Giao thức kiểm tra chữ ký số trực tuyến

khóa công khai và mã hóa đối xứng để áp

dụng bảo mật kênh truyền tin

7 PIN Mật khẩu để truy xuất vào một thiết bị chữ ký

số

hóa Dữ liệu)

mã hóa tiên tiến)

16 MIME chuẩn định dạng cho thư điện tử khi truyền

qua Internet

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

18 SMTP Simple Mail Transfer Protocol - giao thức

truyền tải thư tín đơn giản

Trang 6

19 IMAP Internet Message Access Protocol

Trang 7

LỜI CAM ĐOAN

Tôi xin cam đoan số liệu và kết quả nghiên cứu trong luận văn này là trung thực Mọi

sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc rõ ràng và được phép công bố

Hà Nội, ngày 30 tháng 09 năm 2016

Nguyễn Quang Minh

Trang 8

MỞ ĐẦU 1.1 LÝ DO LỰA CHỌN ĐỀ TÀI

Việc giao dịch điện từ càng ngày trở nên càng mặc nhiên, trước đây mọi thông tin trao đổi qua giấy tờ, giờ đây hầu hết qua các cuộc gọi, tin nhắn, mạng xã hội và Email Các vấn đề thương mại điện tử đã và đang phát triển mạnh mẽ, giờ rất nhiều giao dịch đã thực hiện hoàn toàn qua mạng, thanh toán qua mạng tuy nhiên có thể nói chưa triệt để

Một xu hướng mọi giao dịch thông qua kênh điện tử ngày càng cao, xu hướng tất yếu

sẽ triển khai và có lẽ cả thế giới của bạn nằm trong một chiếu smartphone Có thể nói một xu hướng phát triển như thế nhưng càng ngày chúng ta càng thấy các vấn đề xác thực và bảo mật chưa được thực sự quan tâm một cách chính đáng cho các sản phẩm dịch vụ

Trên thế giới việc phát triển các ứng dụng chữ ký số cho nền tảng thiết bị Mobile chưa thực sự được triển khai rộng rãi về mặt ứng dụng tương tự như máy tính Với tính năng của chữ ký số: “Bảo mật”; “Xác thực người dùng”, chúng tôi dự kiến sẽ nghiên cứu phát triển các ứng dụng sử dụng chữ ký số để nó đáp ứng các tính năng nhằm bước đầu tạo ra nền tảng “Bảo mật” và “Xác thực” cho người dùng sử dụng smartphone trong các giao dịch điển tử để nhằm mở toang cánh cửa giao dịch điện tử

ra để mọi người hoàn toàn tự tin giao dịch các giao dịch điện tử như giao dịch trực tiếp Chính vậy chúng tôi quyết định lựa chọn đề tài “Nghiên cứu và phát triển ứng dụng chữ ký số trên thiết bị Smartphone”

o Mục đích

- 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 về kỹ thuật và công nghệ liên quan đến chữ ký số để

áp dụng và các giải pháp bảo mật, xác thực cá nhân

Trang 9

- 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

- Ứ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

1.3 NHIỆM VỤ NGHIÊN CỨU

- Nghiên cứu, hệ thống hóa cơ sở lý thuyết, các chuẩn công nghiệp, về chữ ký số

để áp dụng vào phát triển các ứng dụng chữ ký số trên nền Mobile

- Mô tả, đánh giá thực trạng, nhu cầu triển khai triển khai áp dụng chữ ký số, các lĩnh vực áp dụng chữ ký số và khả năng mở của nó

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

o Đối tượng 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

o Phạm vi nghiên cứu

- 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ừ 2014-2016

Trang 10

Chương 1 TỔNG QUAN VỀ CHỮ KÝ SỐ 1.1 TÌNH HÌNH TRIỂN KHAI CHỮ KÝ SỐ

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

Chữ ký số đang được ứng dụng vào trong các giao dịch điện tử ngày càng phổ biến ở các nước trên thế giới Đặc biệt là ở các nước có nền công nghệ tiên tiến như

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

ký số

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 Trong đó, các nước châu Âu rất tích cực trong triển khai áp dụng chữ ký số trong Chính phủ điện tử Một số nước như Estonia, việc sử dụng chứng minh thư điện tử đã bắt đầu được cấp cho người dân năm

2002, năm 2005, tiến hành bầu cử điện tử Tại Ý, việc triển khai chứng minh điện tử cho người dân cũng được thực hiện từ 2009 Một số nước sử dụng chữ ký số trong hầu hết các giao dịch điện tử và tiến đến một thị trường hoàn toàn không tiền mặt trong tương lại như Thụy Điển

Các nước có nền công nghệ thông tin phát triển ở châu Á cũng đã bắt đầu triển khai

áp dụng chữ ký số vào Chính Phủ Điện tử Thậm chí Hàn Quốc vượt lên đứng đầu thế giới trong Chính phủ điện tử, hầu hết các giao dịch điện tử của Hàn Quốc đều sử dụng chữ ký số Đối với Trung Quốc, lượng chữ ký số được cấp ra hàng năm cho người dùng đến hàng trăm triệu chữ ký số phục vụ các giao dịch hành chính công và giao dịch điện tử

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

Các portal, website của các ngân hàng, doanh nghiệp thương mại điện tử, các bộ ban ngành phần lớn đã sử dụng chứng thư số SSL để áp dụng bảo mật kênh truyền dữ liệu giữa người dùng và khách hàng

Tại Việt Nam, việc tổ chức triển khai và áp dụng chữ ký số được phân tách ra làm hai lĩnh vực, thứ nhất là chữ ký số công cộng, thứ hai là chữ ký số chuyên dùng Theo

Trang 11

luật quy định chữ ký số công cộng sẽ được áp dụng cho giao dịch giữa các tổ chức,

cá nhân dân sự với nhau và với cơ quan nhà nước Chữ ký số chuyên dùng được cấp phát và sử dụng cho khối cơ quan chính phủ sẽ được cấp riêng cho cơ quan ban ngành trong hệ thống của chính phủ Chữ ký số chuyên dùng trong các tổ chức doanh nghiệp thì sẽ dùng riêng nội bộ trong các doanh nghiệp mà không dùng với giao tiếp bên ngoài

Hiện tại ở 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 dưới hệ thống RootCA quốc gia Với khoảng 450 nghìn doanh nghiệp sử dụng chữ ký số vào trong các giao dịch như khai thuế, hải quan và chứng khoán Với khoảng 50 nghìn chữ ký số được cấp cho cá nhân phục vụ các giao dịch ngân hàng và chứng khoán với lĩnh vực chữ ký số công cộng

Hệ thống cung cấp dịch vụ chữ ký số chuyên dùng phục vụ các cơ quan thuộc hệ thống chính trị của Ban Cơ yếu Chính phủ đã triển khai cung cấp chứng thư số cho các Bộ, ngành, địa phương Tính đến tháng 7/2013, Ban Cơ yếu Chính phủ đã cung cấp khoảng 15.000 chứng thư số cho 11 Bộ, cơ quan ngang Bộ và 15 địa phương Việc cung cấp, quản lý, sử dụng chứng thư số đã đáp ứng kịp thời nhu cầu cấp thiết của cơ quan nhà nước các cấp trong việc đảm bảo xác thực và bảo mật thông tin phục

vụ lãnh đạo, điều hành Tuy nhiên, việc triển khai chữ ký số còn chưa được rộng khắp, nhiều cơ quan, đơn vị chưa ứng dụng chữ ký số trong hoạt động tác nghiệp Trong khi đó, để phát huy hiệu quả các hoạt động giao dịch qua mạng và điện tử hóa quy trình làm việc của cơ quan nhà nước thì chữ ký số phải được triển khai rộng rãi theo hướng mở rộng đối tượng và quy mô sử dụng

Một số lĩnh vực cũng được áp dụng chữ ký số một cách mạnh mẽ tại thị trường Việt Nam là dùng 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, trong việc xử lý các giao dịch nội bộ của các nhân viên trong các hệ thống ngân hàng và 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ý các giao dịch

Trang 12

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

Mật mã đối xứng: Mật mã đối xứng là mật mã dùng một khóa để mã hóa và dùng

chính khóa đó để giải mã hoặc khóa dễ dàng tìm thấy từ khóa đó để giải mã Một số thuật toán của mật mã đối xứng như DES, RC2, RC4,RC5, RC6, 3-DES, IDEA, AES, CAST−128…

Mật mã bất đối xứng:Mật mã bất đối xứng là mật mã dùng một khóa để mã hóa và

dùng một khóa để giải mã Việc biết được khóa này để tìm được khóa kia thì vô cùng khó khăn Một số thuật toán mật mã bất đối xứng như RSA, ECC, DSA

Hàm băm: Hàm băm là hàm dùng thuật toán băm để biến biến một khối lượng dữ

liệu lớn thành một khối dữ liệu nhỏ và duy nhất đại diện cho khối dữ liệu lớn trước khi băm qua hàm băm, dữ liệu băm là kết quả của hàm băm cũng không thể nào tính ngược lại được dữ liệu trước khi băm

Khóa riêng (Private-key): Khóa riêng hay được gọi là khóa bí mật (Private-key),

được tạo ra tại chính thiết bị lưu trữ khóa (USB token, HSM vv ) do nhà cung cấp dịch vụ CA cấp Khóa này sẽ được người dùng mã hóa dữ liệu đã băm của dữ liệu gốc để tạo ra chữ ký số, khóa bí mật chỉ có duy nhất người dùng để tạo chữ ký số biết Khóa riêng là một khóa trong mật mã bất đối xứng

Khóa công khai (public-key): Khóa công khai (public-key) được tạo tại chính thiết

bị lưu trữ khóa (USB token, HSM vv ) do nhà cung cấp dịch vụ CA cấp Khóa này

sẽ được người ký số tạo rà và công khai cho người nhận, người nhận dùng khóa này

để giải mã chữ ký số và kiểm tra chữ ký số xem có đúng người cần gửi gửi cho mình không (xác thực chữ ký số)

Chữ ký số: Chữ ký số là việc sử dụng khóa Bí mật của cá nhân hoặc tổ chức để thực

hiện mã hóa chuỗi dữ liệu đại diện, dữ liệu này là kết quả của một hàm băm của dữ liệu nào đó như các file hoặc khối dữ liệu Sau đó dữ liệu mã hóa đó được đóng gói thành chuẩn Chữ ký số cùng với Chứng thư sốđính kèm các file hoặc khối dữ liệu để tạo thành Chữ ký số của một ai đó trên file hoặc khối dữ liệu

Trang 13

USB Token: USB token là thiết bị phần cứng dùng để tạo cặp khóa bí mật, công khai

và Chứng thư số, được nhà cung cấp dịch vụ chữ ký số giao cho khách hàng để khách hàng có thể tạo cặp khóa và ký lên dữ liệu cần ký

Dịch vụ chứng thực chữ ký số:Là một loại hình dịch vụ chứng thực chữ ký điện tử

do tổ chức cung cấp dịch vụ chứng thực chữ ký số cấp Tổ chức dịch vụ chứng thực chữ ký số là đơn vị phải được phép của nhà nước, tuân theo hệ thống và quy trình pháp lý để cung cấp dịch vụ chứng thực chữ ký số Nhiệm vụ của nhà cung cấp dịch

o Cung cấp dịch vụ gia hạn, tạm dừng, thu hồi chứng thư số cho khách hàng

o Duy trì dịch vụ xác thực chứngthư số trực tuyến để những người tham gia giao dịch đảm bảo tin cậy đúng các đối tượng được chứng nhận tham gia các giao dịch điện tử

Danh sách chứng thư số bị thu hồi CRL: Danh sách chứng thư số do một lý do nào

đó như mất khóa bí mật, bị lộ khóa bí mật, hoặc bị hỏng, hoặc người sử dụng rời khỏi một vị trí chức danh nào đấy…khi đó chứng thư số sẽ được thông báo cho nhà cung cấp thu hồi Thông tin chứng thư số bị thu hồi sẽ được đưa vào danh sách CRL để cung cấp rộng rãi cho môi trường mạng, như thế một ai đó có lợi dụng chữ ký số và chứng thư số tham gia một giao dịch nào đó thì cũng không thể thực hiện được CRL thông thường sẽ được cập nhật một ngày một lần

Giao thức xác thực chữ ký số trực tuyến OCSP: Giao này cho phép người dùng

kiểm tra được trạng thái chữ ký số còn được phép sử dụng trong thời điểm thực hiện giao dịch hay không Như trường hợp CRL, thì việc cập nhật sẽ được thực hiện trong

24 giờ, vì thế sẽ có độ trễ về thời gian, trong trường hợp dùng dịch vụ OCSP thì không

có độ trễ về thời gian

Trang 14

1.3 CHỮ KÝ SỐ TRÊN THIẾT BỊ DI ĐỘNG

1.3.1 Nhu cầu thực tiễn

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

Với nền máy tính chúng ta dễ dàng thấy rằng các ứng dụng và thiết bị lưu trữ và xử

lý chữ ký số trên máy tính rất dễ dàng như thiết bị Token cứng và các ứng dụng Soft Token.Tuy nhiên với nền thiết bị di động như Smarphone và Tablet, muốn triển khai được ứng dụng chữ ký số trên đó thì chúng ta cần phải tìm kiếm hoặc đặt hàng các nhà sản xuất thiết bị chữ ký số chuyên biệt cung cấp thiết bị để lưu trữ chữ ký số trên thiết bị di động và giao tiếp và làm việc được với thiết bị di động Một mặt chúng ta cũng có thể xây dựng ứng dụng và coi thiết bị di động chính là Token luôn để lưu trữ chữ ký số trên đó để đảm bảo hoàn toàn bảo mật Chính vì vậy trong phạm vi của đề tài này chúng tôi cũng nghiên cứu và phát triển ứng dụng để lưu trữ, xử lý, giao tiếp với ứng dụng lưu trữ chữ ký số hoặc thiết bị lưu trữ chữ ký số để làm cơ sở phát triển các ứng dụng chữ ký số khác

o Secured Email

Hiện tại một số ứng dụng sử dụng để duyệt Email trên các máy tính phần lớn đã hỗ trợ các tính năng ký số và mã hóa nội dung Mục tiêu của chúng là để tránh giả mạo email và bảo mật các nội dung email dùng chữ ký số và chứng thư số Tuy nhiên có thể nói một cách chính thống trên thế giới chưa cho một ứng dụng nào chính thức cung cấp các ứng dụng ký và mã hóa Email trên các thiết bị cầm tay phổ biến hiện tại Chính vì thế trong phạm vi của đề tài này, chúng tôi cũng sẽ tiến hành nghiên cứu phát triển ứng dụng để tiến hành ký số và mã hóa được với một ứng dụng email và nhằm cung cấp dịch vụ ra thị trường

o Secured SMS

Trong một môi trường làm ăn kinh doanh phức tạp, trong một môi trường do thám các thông tin của nhau, nghe nén các thông tin của nhau, rất cần thiết một kênh phải đảm bảo bảo mật Việc đảm bảo bảo mật không đơn thuần bảo mật cho cá nhân, bảo mật cho doanh nghiệp và thậm chí bảo mật cho quốc gia Chính vì vậy việc trao đổi

Trang 15

SMS trong làm ăn kinh doanh, thông tin mang tính chất riêng tư cá nhân, các trao đổi nội dung chính trị nên được đảm bảo bảo mật tính riêng tư cho các cá nhân, doanh nghiệp và nhà nước Hiện nay đã có một số ứng dụng dùng, nhưng dùng chủ yếu kênh

mã hóa đối xứng Vậy đảm bảo ứng dụng bảo mật tính riêng tư hoàn toàn chúng tôi phát triển kênh mã hóa SMS dùng chữ ký số để cung cấp đến người dùng một ứng dụng chữ ký số thật sự tiện lợi và bảo mật

o Signing Apps

Trên nền ứng dụng mobile, hiện tại chưa có chính thức một sản phẩm nào ký số trên Mobile, các giao dịch điện tử đang ngày trở nên phổ biến, các giao dịch không đơn thuần trên máy tính, mà có lẽ các giao dịch điện tử sẽ giảm dần trên máy tính mà được thực hiện chủ yếu trên nền Mobile Chính vì vậy cần thiết phải phát triển ứng dụng chữ ký số trên nền Mobile

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

Hiện tại các quốc gia trên thế giới đã và đang triển khai các ứng dụng chữ ký số trên thiết bị di động Tuy nhiên việc triển khai chưa thực sự rộng rãi, việc triển khai trên nền tảng di động trên thế giới có thể nói dựa chính trên các giải pháp của Valimo phục vụ chính để giao dịch với ngân hàng và tích hợp vào các sim điện thoại, nhưng giải pháp này là giải pháp phụ thuộc hoàn toàn vào các nhà mạng viễn thông, đồng thời giải pháp này tập trung vào ký các dạng dữ liệu còn ở mức nguyên thủy là mức binary, và mức dữ liệu này sẽ không tiếp cận được với người dùng cuối

Như vậy cần phải ký số các văn bản giấy tờ để đưa ra các xác nhận và quyết định điện tử triển khai trên Mobile trên toàn cầu dường như chưa hoặc rất hiếm và không được công bố rộng rãi Đồng thời các Email trao đổi với nhau của các sản phẩm Email trên nền mobile của toàn cấu hầu như chưa có chức năng ký và mã hóa dữ liệu Như vậy có thể nói trên nền tảng di động, một thiết bị thiết yêu của hầu hết mọi người dân trên toàn cầu còn thiếu khả năng xác thực và bảo mật Email, văn bản, giao dịch nếu thực hiện trên mobile có thể nói là còn rất yếu

Trang 16

Hiện tại một số quốc gia cũng đang đẩy rất mạnh việc phát triển chữ ký số trên nền tảng Mobile, nhưng việc đẩy hẳn thành một trào lưu mang tính toàn cầu thì chắc chắn cũng sẽ được diễn ra trong vài năm tới Và trong quá trình nghiên cứu và phát triển này, chúng tôi cũng đặt đặt vấn đề của rất nhiều đơn vị trên thế giới là phát triển một thành phần nào đó trong bộ ứng dụng của chúng tôi

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ệ để triển khai một thiết bị lưu trữ và xử lý chữ

ký số và thực hiện kết nối vào thiết bị di động qua các kênh đầu cắm Audio, qua kênh Blutooth

- Một số nền tảng sử dụng thuần thiết bị chính là Token, và ứng dụng phần mềm lưu trữ và quản lý chữ ký số được cài đạt trên các thiết bị

Về chuẩn, hiện tại các chuẩn đối với các thiết bị công nghệ là thiết bị phần cứng có thể nó nó tuân theo các chuẩn công nghiệp sẵn có của các thiết bị phần cứng và phần mềm chuẩn chữ ký số p như PKCS#11, PKCS#1, PKCS#15 Với thiết bị mobile khi giao tiếp một số chuẩn cũng cần phải kiểm soát được tuân theo như chuẩn giao tiếp của thiết bị tương ứng như chuẩn Audio, chuẩn Bluetooth

Về cơ bản các chuẩn cũng được hiệp hội các nhà viễn thông toàn cầu họp và chấp nhận để tạo thành một chuẩn chung để phục vụ trong mọi giao tiếp viễn thông trên toàn cầu

Trang 17

Chương 2 LÝ THUYẾT VỀ CHỮ KÝ SỐ 2.1 CƠ SỞ LÝ THUYẾT

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

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

Ngày nay các tài liệu được số hóa, người ta cũng có nhu cầu chứng thực nguồn gốc hay hiệu lực của các tài liệu này Rõ ràng không thể “ký tay“ vào tài liệu, vì chúng không được in ấn trên giấy Tài liệu “số” ( hay tài liệu “điện tử”) là một xâu các bit (0 hay 1), xâu bít có thể rất dài (nếu in trên giấy có thể hàng nghìn trang) “Chữ ký”

để chứng thực một xâu bít tài liệu cũng không thể là một xâu bit nhỏ đặt phía dưới xâu bit tài liệu Một “chữ ký” như vậy chắc chắn sẽ bị kẻ gian sao chép để đặt dưới một tài liệu khác bất hợp pháp

Để có được những đặc tính như trên, giao thức “ký trong thế giới điện tử” cần phải

có sự hỗ trợ của công nghệ mã hóa Sơ đồ chữ ký số là phương pháp ký một thông báo được lưu dưới dạng điện tử Giao thức cơ bản của chữ ký số dựa trên ý tưởng của Diffie và Hellman :

- Người gửi (chủ nhân của văn bản) ký văn bản bằng cách mã hóa nó với khóa

bí mật của mình

- Người gửi chuyển văn bản đã ký cho người nhận

- Người nhận văn bản kiểm tra chữ ký bằng việc sử dụng chìa khóa công khai của người gửi để giải mã văn bản

Trang 18

qua chứng thực khóa công khai Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký

Các thuật toán chữ ký số cho phép xác định nguồn gốc, bảo đảm tính toàn vẹn của dữ liệu được truyền đi, đồng thời nó cũng bảo đảm tính không thể phủ nhận của thực thế

2.1.2 Cơ sở toán học của chữ ký số

2.1.2.1 Sinh số nguyên tố và phân tích thừa số nguyên tố

Hai hệ quả và một ước lượng trong thuyết số học là tiền đề cho hệ thống khóa công khai RSA ngày nay

Hệ quả 1 : Sinh số nguyên tố thì dễ Việc tìm ra một số nguyên tố ngẫu nhiên với kích

cỡ cho trước là dễ dàng

Nó là kết quả của hai điểm khác : Số nguyên tố với kích thước bất kỳ thì rất phổ biến

và việc kiểm tra số nguyên tố thì không khó – thậm chí với cả số nguyên tố rất lớn

Để sinh số nguyên tố ngẫu nhiên, đơn giản nhất là chỉ việc sinh ra một số nguyên ngẫu nhiên với độ lớn đã cho và kiểm tra tính nguyên tố cho đến khi một số nguyên

tố được tìm thấy Dựa vào điều kiện số nguyên tố, một số kỳ vọng được kiểm tra dựa vào thứ tự của lnx( thuật toán tự nhiên của x) khi mà x là một số điển hình với độ lớn mong muốn

Việc kiểm tra một số là số nguyên tố là không dễ Trong thực tế, dường như việc kiểm tra tính nguyên tố sẽ yêu cầu một số khác ngoài chính số đó và số 1 là ước của

số nguyên cần kiểm tra Hầu hết các hệ mã hóa khóa công khai ngày nay đề phụ thuộc vào việc sinh số nguyên tố

Trang 19

Cho p, và q là 2 số nguyên tố lớn được sinh ngẫu nhiên.(kích cỡ trung bình trong các

hệ mã hóa thường là 512 bits hoặc lớn hơn)

Hệ quả 2 : Phép tính nhân là dễ : Với p và q cho trước, việc tính kết quả của phép nhân n = pxq là dễ dàng

Ước lượng 3 : Phân tích thừa số là khó : Với một số nguyên n là kết quả của phép nhân số nguyên tố lớn, việc tìm lại các số nguyên tố thừa số p, q là rất khó

Bất chấp hàng trăm năm nghiên cứu trong vấn đề này, việc phân tích ra thừa số của một số nguyên lớn vẫn mất rất một thời gian dài Phương pháp nhanh nhất gần đây

đã nhanh hơn rất nhiều so với những cách đơn giản là tìm tất cả các thừa số ở cùng một thời điểm Tuy nhiên, chúng vẫn rất đắt Cho ví dụ, việc phân tích ra thừa số nguyên tố cua một số 1024 bit mất một năm với một máy giá 10 triệu USD Với một

số 2048 bit thì thời gian để hoàn thành còn gấp vài tỉ lần

2.1.2.2 Phép mũ hóa và khai căn modul

Như ở trên ta đã khai báo n là kết quả của phép nhân hai số nguyên tố lớn được sinh ngẫu nhiên Cho m và c là những số nguyên nằm trong khoảng (0,n-1) và e là một số nguyên lẻ trong khoảng (3,n-1) và nguyên tố cùng nhau với p-1 và q-1

Thao tác mã hóa và giải mã trong hệ mã hóa khóa công khai RSA được thực hiện dựa trên 2 hệ quả và 1 ước lượng sau :

Hệ quả 4: Phép tính mũ hóa modul là dễ : Cho n,m và e Việc tính c = me mod n là

dễ dàng

Giá trị me mod n chính thức là kết quả của nâng lũy thừa e của m, chia cho n và lấy phần dư Điều này có thể là một phép tính toán phức tạp liên quan tới việc nhân (e-1)

số m và kết quả trả về là một số nguyên lớn, trước khi việc thực hiện phép chia cho

n Tuy nhiên hai cách tối ưu hóa sau làm cho việc tính toán trở nên dễ dàng :

Trang 20

- Nhân với một trình tự thích hợp của các giá trị trung gian trước đó, thay vì hơn chỉ bằng m, có thể giảm số lượng các phép nhân để không quá hai lần kích thước của e trong hệ nhị phân

- Chia và lấy phần dư sau khi mỗi phép nhân giữ kết quả trung gian có cùng kích thước như n

Hệ quả 5 : Phép khai căn module – nghịch đảo của phép lũy thừa module

Cho n,e,c và những thừa số nguyên tố p, q, việc khôi phục lại giái trị m sao cho c =

me mod n là dễ dàng

Giá trị m có thể khôi phục từ c bởi thao tác mũ hóa modul với một số nguyên lẻ d nằm trong khoảng (3,n-1) Đặc biệt, với số d này, biểu thức sau thể hiện cho tất cả m : m = (me)d mod n

Số nguyên d này thì dễ dàng tính với e, p, q cho trước

Ước lượng 6: Phép khai căn modul lại khó ở một hoàn cảnh khác

Cho n,e, và nhưng không biết những thừa số nguyên tố, việc khôi phục lại m là khó khăn

Phương pháp nhanh nhất thì có sẵn trong việc tính toán khai căn modul dưới điều kiện dựa là n và e là phân tích thừa số n và áp dụng hệ quả 5 để quyết định d Thực

sự, bất kỳ phương thức nào quyết định d đều bị chuyển về một cách khác của việc phân tích thừa số n Đúng là có thể khi mà tồn tại một phương pháp mà tính toán khai căn modul mà không cần phân tích n hoặc quyết định d Nhưng cho đến nay chưa phương phàp nào có thể làm như vậy nhanh hơn việc phân tích thừa số n

2.1.2.3 Hàm băm

Hàm băm tiếp nhận các đầu vào với kích thước bất kỳ, và đầu ra là một khối dữ liệu

có kích thước cố định Từ văn bản M, ta có thể dễ dàng tính ra bản băm của M là H(M), nhưng từ H(M) không thể tìm ra M Và một tính chất quan trọng nhất của hàm băm là với những văn bản khác biệt nhau dù là rất nhỏ, thì sau khi qua hàm băm kết

Trang 21

quả nhận được cũng phải khác nhau, ta có thể gọi là độ nhạy cảm của hàm băm với

sự thay đổi của văn bản

Hình 2.1 mô tả cơ chế của 1 hàm băm, với dữ liệu đầu vào và đầu ra tương ứng

Hình 2.1 Minh họa cách làm việc của 1 hàm băm

Một số tính chất cơ bản của hàm băm :

- (i) Có thể áp dụng với thông báo đầu vào có độ dài bất kỳ

- (ii) Tạo ra giá trị băm y = h(x) có độ dài cố định

- (iii) h(x) dễ dàng tính được với bất kỳ x nào

- (iv) Tính một chiều : Với mọi đầu ra y cho trước không thể tìm được x’ sao cho

h(x’) bằng giá trị y cho trước

- (v) Tính chống xung đột yếu : Với mọi dữ liệu đầu vào x1 cho trước không thể tìm được bất kỳ giá trị x2 nào (x2 khác x1) mà h(x2) = h(x1)

- (vi) Tính chống xung đột mạnh : Không thể tính toán để tìm được hai dữ liệu đầu vào x1 và x2 phân biệt sao cho chúng có cùng giá trị băm (h(x1) = h(x2))

2.1.3 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

Trang 22

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

 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

 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

2.1.3.2 Phân loại chữ ký theo mức an toàn

 Chữ ký “không thể phủ nhận”:

Để tránh việc chối bỏ chữ ký hay nhân bản chữ ký để sử dụng nhiều lần, người gửi chữ ký cũng tham gia trực tiếp vào việc kiểm thử chữ ký Điều đó được thực hiện bằng một giao thức kiểm thử, dưới dạng 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

 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)

2.1.3.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)

Trang 23

2.2 HỆ MÃ HÓA KHÓA CÔNG KHAI RSA

2.2.1 Mô tả sơ lược về mã hóa RSA

Bài toán: A muốn gửi cho B một thông tin mật mà A muốn duy nhất B có thể đọc

được Để làm được điều này, B gửi cho A một chiếc hộp có khoá đã mở và giữ lại chìa khoá A nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khoá lại (lúc này ngay cả A cũng không thể đọc lại hay sửa thông tin trong thư được nữa) Sau

đó A gửi chiếc hộp lại cho B B mở hộp với chìa khoá của mình và đọc thông tin trong thư

Trong ví dụ này, chiếc hộp với khoá mở đóng vai trò khoá công khai, chiếc chìa khoá chính là khoá riêng

Độ mật của RSA được dựa trên cơ sở là hầu như không có khả năng khôi phục hai số nguyên tố p và q từ tích n = p.q của chúng ít nhất là theo với các thuật toán phân tích

ra thừa số hiện đã biết Mặt khác, các số nguyên tố lớn ngẫu nhiên có thể được tạo sinh nhanh chóng

Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi người đều có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được

2.2.2 Phương pháp tạo mã và giải mã trong mã hóa công khai RSA

Trang 24

iv) Tìm số d thoả mãn: e.d (mod ϕ(n)) = 1, 1<d< ϕ(n) bằng giải thuật

Euclidean mở rộng

Bộ ba (n; e; d) là chìa khoá của hệ mã, với khoá công khai của B là (n; e) và khoá riêng của B là (n; d)

b Mã hóa

i) Sử dụng khoá công khai của B là (n, e)

ii) Biểu diễn thông điệp dưới dạng số, giả sử là số nguyên m sao cho: m ∈

[0, n-1]

iii) Tính C = m e mod n iv)

Gửi bản mã C cho B

c Giải mã

i) Dùng khoá riêng d của B tính m = C d mod n

ii) Khôi phục thông điệp từ hàm ngược của hàm số hoá để có P

2.2.3 Đặc trưng của mã hóa công khai RSA

Đặc trưng của hệ mã hóa công khai RSA:

- Không cần phải thiết lập một kênh bảo vệ phức tạp để truyền khoá như trong

hệ mã bí mật

- Cặp khoá công khai được tạo ra theo một phương pháp đặc biệt có quan hệ với nhau và được chọn trong nhiều khoá có thể (trong đó nếu khoá này dùng để

mã hoá thì khoá kia dùng để giải mã)

- Ứng với một cặp p, q có thể chọn được nhiều bộ khoá công khai (n; e; d)

- Mọi người trong hệ thống nếu nhận được bản mật C thì cũng không thể biết được bản rõ P Với việc chỉ biết khoá mã hoá ke và căn cứ vào các thông tin

về thuật toán thì không thể tìm ra khó giải mã kd trong thời gian chấp nhận được (kể cả dùng hệ thống hiện đại nhất để tính toán)

Hình 2.2 mô tả quá trình mã hóa và giải mã giữa A và B sử dụng thuật toán mã hóa công khai RSA

Trang 25

Hình 2.2 Quá trình mã hóa và giải mã bằng thuật toán RSA

2.2.4 Độ an toàn của mã hóa RSA

Độ an toàn của hệ mật RSA thể hiện qua hai yếu tố:

- Tính bảo mật của mã hóa RSA, chủ yếu dựa vào việc bảo vệ khoá riêng d và giữ bí mật các số nguyên tố p và q

- Tính an toàn của hệ RSA dựa vào độ khó của bài toán RSA và độ phức tạp của bài toán phân tích một số thành các thừa số nguyên tố

Với việc phân tích thừa số nguyên tố, giả sử khóa có độ dài128 bit là một số giữa 1

và một số rất lớn : 340.282.366.920.938.000.000.000.000.000.000.000.000  Có khoảng ≈ n / ln(n) = 2128 / ln(2128) ≈

3.835.341.275.459.350.000.000.000.000.000.000.000 số nguyên tố giữa 1 và số này Giả sử nếu mỗi giây có thể tính được 1012 số  Cần hơn

121,617,874,031,562,000 năm (khoảng 10 triệu lần tuổi của vũ trụ) để tìm ra khóa

Các cách thức tấn công mã hóa RSA:

- Phương pháp vét cạn : Thử tất cả các khóa riêng có thể  Phụ thuộc vào độ dài khóa và gần như không thể

- Phương pháp phân tích toán học : Phân tích n thành 2 thừa số nguyên tố p và

q Như trên ta đã nói việc phân tích một số ra số nguyên tố là rất khó khăn, với tốc độ của máy tính hiện nay cũng không thể đáp ứng được việc phân tích số nguyên tố lớn trong thời gian đa thức nếu các số p, q được chọn là lớn

Trang 26

- Xác định trực tiếp (n) không thông qua p và q

- Xác định trực tiếp d không thông qua (n)

- Phương pháp phân tích thời gian : Dựa trên việc đo thời gian giải mã Đây là một cách dựa vào thời gian giải mã Phương pháp phân tích thời gian có thể loại bỏ bằng cách làm nhiễu bằng cách cho thời gian giải mã của thông báo bất kỳ là gần như không đổi

2.2.5 Các hình thức tấn công đối với mã hóa RSA

2.2.5.1 Tấn công trong quá trình tạo khóa

Việc tìm ra 2 số nguyên tố đủ lớn p và q thường được thực hiện bằng cách thử xác suất các số ngẫu nhiên có độ lớn phù hợp và p và q cần được chọn không quá gần nhau để phòng trường hợp phân tích n bằng phương pháp phân tích Fermat Ngoài

ra, nếu p-1 hoặc q-1 có thừa số nguyên tố nhỏ thì n cũng có thể dễ dàng bị phân tích

và vì thế p và q cũng cần được thử để tránh khả năng này

2.2.5.2 Tấn công liên quan đến tốc độ

RSA có tốc độ thực hiện chậm hơn đáng kể so với DES và các thuật toán mã hóa đối xứng khác Trên thực tế, Bob sử dụng một thuật toán mã hóa đối xứng nào đó để mã hóa văn bản cần gửi và chỉ sử dụng RSA để mã hóa khóa để giải mã (thông thường khóa ngắn hơn nhiều so với văn bản)

2.2.5.3 Tấn công vào quá trình phân phối khoá

Quá trình phân phối khóa cần chống lại được tấn công đứng giữa (man-in-the-middle attack) Giả sử Eve có thể gửi cho Bob một khóa bất kỳ và khiến Bob tin rằng đó là khóa (công khai) của Alice Đồng thời Eve có khả năng đọc được thông tin trao đổi giữa Bob và Alice Khi đó, Eve sẽ gửi cho Bob khóa công khai của chính mình (mà Bob nghĩ rằng đó là khóa của Alice) Sau đó, Eve đọc tất cả văn bản mã hóa do Bob gửi, giải mã với khóa bí mật của mình, giữ 1 bản copy đồng thời mã hóa bằng khóa công khai của Alice và gửi cho Alice Về nguyên tắc, cả Bob và Alice đều không phát hiện ra sự can thiệp của người thứ ba Các phương pháp chống lại dạng tấn công này

Trang 27

thường dựa trên các chứng thực khóa công khai (digital certificate) hoặc các thành phần của hạ tầng khóa công khai (public key infrastructure - PKI)

2.2.5.4 Tấn công dựa trên thời gian

Nếu kẻ tấn công nắm đủ thông tin về phần cứng thực hiện mã hóa và xác định được thời gian giải mã đối với một số bản mã lựa chọn thì có thể nhanh chóng tìm ra khóa

d Dạng tấn công này có thể áp dụng đối với hệ thống chữ ký điện tử sử dụng RSA Một dạng tấn công thực tế: phân tích thừa số RSA dùng mạng máy tính (Máy chủ web dùng SSL)

Để chống lại tấn công dựa trên thời gian là đảm bảo quá trình giải mã luôn diễn ra trong thời gian không đổi bất kể văn bản mã

2.2.5.5 Tấn công lựa chọn thích nghi bản mã

Dạng tấn công lựa chọn thích nghi bản mã (adaptive chosen ciphertext attack) có thể thực hiện trên thực tế đối với một văn bản mã hóa bằng RSA Văn bản này được mã hóa dựa trên tiêu chuẩn PKCS #1 v1, một tiêu chuẩn chuyển đổi bản rõ có khả năng kiểm tra tính hợp lệ của văn bản sau khi giải mã Do những khiếm khuyết của PKCS

#1, Bleichenbacher có thể thực hiện một tấn công lên bản RSA dùng cho giao thức SSL (tìm được khóa phiên) Do phát hiện này, các mô hình chuyển đổi an toàn hơn như chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding) được khuyến cáo sử dụng Đồng thời phòng nghiên cứu của RSA cũng đưa

ra phiên bản mới của

PKCS #1 có khả năng chống lại dạng tấn công nói trên

2.3 CHỮ KÝ SỐ RSA

2.3.1 Đặt vấn đề

Trong trao đổi thông tin, thông điệp được truyền đi giữa bên gửi và bên nhận cần có các tiêu chuẩn cần xác minh, đó chính là xác thực Xác thực thông báo là một kỹ thuật trong mật mã học để xác minh tính đúng đắn của thông báo đuợc gửi Một thông báo đuợc xác thực khi thỏa mãn các yêu cầu :

Trang 28

- Thông báo có nguồn gốc rõ ràng, chính xác

- Nội dung thông báo toàn vẹn không bị thay đổi

- Thông báo được gửi đúng trình tự và thời điểm

Xác thực thông báo bảo vệ hai bên tham gia trong quá trình trao đổi thông tin từ kẻ thứ ba Tuy nhiên, xác thực thông báo không có tác dụng khi bên gửi và bên nhận muốn gây hại cho nhau:

- Bên nhận giả mạo thông báo của bên gửi

- Bên gửi chối là đã gửi thông báo đến bên nhận

Chữ ký số không những giúp xác thực thông báo mà còn bảo vệ mỗi bên khỏi bên kia

Ở phần này cung cấp những đề xuất để triển khai mật mã khóa công khai dựa trên thuật toán RSA:

2.3.2 Các biểu tượng

c – Đại diện dữ liệu mã hóa, một số giữa 0 và n-1

C – Dữ liệu mã hóa, một chuỗi số hệ 8

d – Số mũ khóa riêng RSA

di– Số mũ hàm CRT của thừa số cộng ri, một số nguyên dương

e*di≡ 1 (mod(ri-1)), i=3, …, u

dP – Số mũ hàm CRT của p, môt số nguyên dương

Trang 29

e*dP≡1(mod(p-1))

dQ – Số mũ hàm CRT của q, một số nguyên dương

e*dQ≡1(mod(q-1))

e – Số mũ công khai RSA

EM – Thông điệp được mã hóa, một xâu hệ 8

emBits – Chiều dai theo bits của thông điệp được mã hóa EM

emLen – Chiều dài theo hệ 8 của thông điệp được mã hóa EM

GCD ( , ) – Hàm ước số chung lớn nhất của hai số không âm

Hash – Hàm băm

hLen – Chiều dài dữ liệu đầu ra theo hệ 8 của hàm băm Hash

k – Chiều dài theo hệ 8 của số modulus RSA n

K – Khóa riêng RSA

L – Nhãn RSAES-OAEP tùy chọn, một chuỗi hệ 8

LCM – Hàm bội số chung nhỏ nhất của một danh sách số nguyên không âm

m – Đại diện thông điệp, một số nguyên dương giữa 0 và n-1

M – Thông điệp, một chuỗi hệ 8

mask – Dữ liệu ra hàm MGF, một xâu hệ 8

maskLen – Chiều dài của xâu hệ 8 mask

MGF – Hàm sinh mask

mgfSeed – Nhân, từ đó mask được sinh, một xâu hệ 8

mLen – Chiền dài theo hệ 8 của một thông điệp M

n – Số modulus RSA, n= r1*r2*…*ru, u>2

Trang 30

(n, e) – Khóa công khai RSA

p, q – Hai thừa số nguyên tố của số modulus n RSA

qInv – Hệ số CRT, một số nguyên dương nhỏ hơn p

sLen – Chiều dài hệ 8 của khóa biến thiên (salt) EMSA-PSS

ti – Hệ số CRT của thừa số nguyên tố cộng ri, một số nguyên dương nhỏ hơn ri

r1*r2*….*ri-1*ti≡1(mod ri), i=3, …, u

u – Số của các Thừa số nguyên tố của hàm modulus RSA, u>2

x – Một số nguyên không âm

X– Một chuỗi hệ 8 phù hợp với x

xLen – chiều dài của chuỗi hệ 8 X

0x – Dấu chỉ đại diện hệ hexa của một số hệ 8 hoặc một chuỗi hệ 8; “0x48” biểu thị một số hệ 8 với giá trị hexa 48; “(0x)48 09 0e” biểu thị một chuỗi ba số hệ 8 liên tiếp với giá trị hexa theo trình tự 48, 09 và 0e

Trang 31

2.3.3 Các loại khóa

Hai loại khóa được sử dụng trong các số nguyên tố và lược đồ được định nghĩa trong

tài liệu này là Khóa công khai RSA và Khóa riêng RSA Khóa công khai RSA và

khóa bí mật RSA tạo nên cặp khóa RSA

Đặc tả này hỗ trợ cái gọi là RSA đa nguyên tố ở đó số modulus có thể có nhiều hơn hai thừa số nguyên tố Lợi ích của RSA đa nguyên tố là chi phí tính toán thấp hơn cho giải mã và kiểm tra chữ ký số, được cung cấp mà thuật toán CRT được sử dụng Hiệu năng có thể đạt được trên các nền tảng bộ xử lý đơn tốt hơn, nhưng mở tộng rất lớn trên các nền tảng đa bộ xử lý, nơi mà các số mũ modulus bao gồm có thể dược

xử lý song song

2.3.3.1 Khóa công khai RSA

Khóa công khai RSA gồm 2 thành phần:

- n – Số modulus RSA, một số nguyên dương

- e – Số mũ công khai RSA, một số nguyên dương

Một khóa công khai hợp lệ, số Modulus n RSA là kết quả của ri các số nguyên tố riêng biệt u, i=1, 2, …, u ở đó u>=2, và số mũ công khai e RSA là một số nguyên giữa 3 và n-1 thỏa mãn GCD(e, λ(n))≡1, ở đó λ(n)≡LCM(r1-1, …, ru-1) Theo quy ước, hai số nguyên tố đầu tiên r1 và r2 cũng có thể ám chỉ p và q theo trình tự

2.3.3.2 Khóa riêng RSA

Khóa riêng RSA có thể có một trong hai đại diện

- Đại diện đầu tiên bao gồm một cặp (n, d), ở đó các thành phần có nghĩa sau đây:

 n – số modulus RSA, một số nguyên dương

 d – số mũ riêng RSA, một số nguyên dương

- Đại diện thứ 2 bao gồm bộ năm (p, q, dP, dQ, qInv) và một chuỗi ba số (ri, di, ti), i= 3, …, u, mot cho mỗi số nguyên tố không trong bộ năm, ở đó các thành phần có ý nghĩa sau đây:

Trang 32

 p – Thừa số đầu tiên, một số nguyên dương

 q – Thừa số thứ hai, một số nguyên dương

 dP – Số mũ CRT của thừa số đầu tiên, một số nguyên dương

 dQ – Số mũ CRT của thừa số thứ 2, một số nguyên dươn

 qInv – Hệ số CRT đầu tiên, một số nguyên dương

 ri– thừa số thứ i, một số nguyên dương

 di– Số mũ CRT của thừa số thứi, một số nguyên dương

 ti– hệ số CRT của thừa số thứ i, một số nguyên dương

Trong một khóa riêng RSA hợp lệ với biểu diện thứ nhât, số modulus n RSA là giống như trong khóa công khai RSA tương ứng và là kết quả của ri các số nguyên tố u, i=1, 2, …, u, ở đó u>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: e*d ≡ 1 (mod , λ(n)) (2.1)

Ở đó e phù hợp với số mũ công khai RSA và λ(n) được định nghĩa như trên

Trong một khóa riêng RSA hợp lệ với biểu diễn thứ 2, hai thừa số p và q là hai thừa

số đầu tiên của số Modulus n RSA (tức là, r1 và r2), số mũ dP và dQ CRT là hai số nguyên dương nhỏ hơn p và q thỏa mãn theo trình tự:

e*dP ≡ 1 (mod (p-1)) (2.2) e*dQ ≡ 1 (mod (q-1)) (2.3)

và hệ số qInv hàm CRT là một số nguyên dương nhỏ hơn p thỏa mãn:

q*qInv ≡ 1 (mod p) (2.4) 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), i=3, …, u Hệ

số ri là các thừa số nguyên tố bổ xung của số Modulus n RSA Mỗi số mũ di CRT (i=3, …, u) thỏa mãn:

e*di≡ 1 (mod(ri-1)) (2.5) Mỗi hệ số CRT ti (i=3, …, u) là một số nguyên dương nhỏ hơn ri thỏa mãn

Trang 33

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

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

Các nguyên hàm mật mã là các toán tử toán học cơ bản ở đó các lược đồ mật mã có thể được xây dựng Chúng được sử dụng triển khai trong phần cứng cũng như các module phần mềm

Bốn loại nguyên hàm được chỉ ra trong tài liệu này, được tổ chức theo cặp: Mã hóa

và giải mã; ký và kiểm tra chữ ký

Đặc tả về các nguyên hàm thừa nhận rằng các điều kiện cụ thể nào có thể đạt bằng các đầu vào, trong trường hợp này là khóa 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 tạo ra một đại diện mã hóa từ một đại diện thông điệp qua một khóa công khai, và một nguyên hàm giải mã phục hồi lại thông điệm đại diện từ đại diện mã hóa qua khóa riêng phù hợp

Một cặp nguyên hàm mã hóa và giải mã được sử dụng trong các lược đồ mã hóa được định nghĩa trong tài liệu này: RSAEP/RSADP RSAEP và RSADP có toán tử giống hệt nhau, với các khóa khác nhau đầu vào

 RSAEP

Đầu vào: (n e) – Khóa công khai RSA

m – Đại diện thông điệm, một số nguyên giữa 0 và n-1

Đầu ra: c – Đại diện mã hóa, một số nguyên giữa 0 và n-1

Lỗi: “Đại diện thông điệp ngoài phạm vi”

Giả định: Khóa công khai RSA (n, e) hợp lệ

Các bước:

Trang 34

1 Nếu đại diện thông điệp m không nằm giữa 0 và n-1, kết quả “đại diện thông điệp ngoài phạm vị” và dừng lại

• Một bộ năm (p, q, dP, dQ, qInv) và một chỗi ba rỗng (ri, di,ti), i=3, …, u)

c – Đại diện bản mã, một số nguyên giữa 0 và n-1

Đầu ra: m – Đại diện bản thông điệp, một số giữa 0 và n-1

Lỗi: “Đại diện thông điệp ngoài phạm vi”

Giả định: Khóa riêng RSA K hợp lệ

Các bước:

1 Nếu đại diện bản mã c không nằm giữa 0 và n-1, kết quả “Đại diện bản mã ngoài phạm vi” và dừng thuật toán

2 Đại diện thông điệm m được tính toán như sau:

 Nếu bộ đầu tiên (n, d) của K được sử dụng, để m≡cd modn

 Nếu bộ thứ 2 (d, p, dP, dQ, qInv) và (ri, di, ti) của K được sử dụng, xử lý như sau:

 Để m1≡ cdP mod p và m2≡ cdQ mod q

 Nếu u>2, cho mi≡ cdi mod ri, i=3, …, u

 Cho h = m1-m2*qInv mod p

 Cho m=m2+q*h

Trang 35

 Nếu u>2, cho R=ri và For i=3

Cho R=R*ri-1

Cho h=(mi-m)*ti(mod ri)

Cho m = m+R*h

Kết quả m

3.3.4.2 Các nguyên hàm ký số và kiểm tra chữ ký

Một nguyên hàm ký tạo ra một đại diện ký từ một thông điệp qua khóa riêng, và một nguyên hàm kiểm tra ký số phục hồi thông điệp từ một đại diện ký số qua khóa công khai tương ứng Một cặp nguyên hàm ký và kiểm tra chữ ký được sử dụng trong lược

đồ ký số được định nghĩa trong tài liệu này và được đặc tả ở đây: RSASP1/RSAVP1 Các toán tử toán hoạc chính trong mỗi nguyên hàm là việc mũ hóa như trong các nguyên hàm mã hóa và giải mã ở các phần trên RSASP1 và RSAVP1 giống như RSADP và RSAEP ngoại trừ tên của các đối số đầu vào đầu ra; Chúng được phân biệt do chúng được sử dụng trong các mục tiêu khác nhau

 RSASP1

RSASP1 (K,m)

Đầu vào: K – Khóa riêng RSA, ở đó K có một trong các dạng sau đây

• Một cặp (n, d)

• Một bộ năm (p, q, dP, dQ, qInv) và một chỗi ba rỗng (ri, di,ti), i=3, …, u)

m – Đại diện thông điệp, một số nguyên giữa 0 và n-1

Đầu ra: s – Đại diện chữ ký, một số giữa 0 và n-1

Lỗi: “Đại diện thông điệp ngoài phạm vi”

Giả định: Khóa riêng RSA K hợp lệ

Ngày đăng: 16/07/2017, 17:58

HÌNH ẢNH LIÊN QUAN

Hình 2.1 mô tả cơ chế của 1 hàm băm, với dữ liệu đầu vào và đầu ra tương ứng. - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 2.1 mô tả cơ chế của 1 hàm băm, với dữ liệu đầu vào và đầu ra tương ứng (Trang 21)
Hình 2.2. Quá trình mã hóa và giải mã bằng thuật toán RSA - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 2.2. Quá trình mã hóa và giải mã bằng thuật toán RSA (Trang 25)
Hình 1: Toán tử mật mã EME-OAEP - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 1 Toán tử mật mã EME-OAEP (Trang 40)
Hình 2: Mô hình Cryptoki chung - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 2 Mô hình Cryptoki chung (Trang 47)
Hình 3.1: Kiến trúc thành phần - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.1 Kiến trúc thành phần (Trang 54)
Hình 3.2: Mô hình mật kết hợp để thực hiện bảo mật dữ liệu - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.2 Mô hình mật kết hợp để thực hiện bảo mật dữ liệu (Trang 56)
Hình 3.3: Mô hình đăng nhập hệ thống dùng chữ ký số - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.3 Mô hình đăng nhập hệ thống dùng chữ ký số (Trang 57)
Hình 3.4: Mô hình ký, kiểm tra trạng thái chứng thư số trong thực tế - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.4 Mô hình ký, kiểm tra trạng thái chứng thư số trong thực tế (Trang 58)
Hình 3.5: Mô hình kiểm tra chữ ký số tổng thể - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.5 Mô hình kiểm tra chữ ký số tổng thể (Trang 59)
Hình 3.6: Chức năng Soft Token - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.6 Chức năng Soft Token (Trang 60)
Hình 3.7: Chức năng Email Client - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.7 Chức năng Email Client (Trang 61)
Hình 3.8: Kiến trúc của Soft Token - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.8 Kiến trúc của Soft Token (Trang 62)
Hình 3.9: Kiến trúc tổng quan của Secured SMS - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.9 Kiến trúc tổng quan của Secured SMS (Trang 63)
Hình 3.12: Kiến trúc của Secured Email Client - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.12 Kiến trúc của Secured Email Client (Trang 65)
Hình 3.15: Mô hình kiến trúc Signing Apps - Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone
Hình 3.15 Mô hình kiến trúc Signing Apps (Trang 68)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w