BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ

PHẠM VĂN HIỆP

XÂY DỰNG MỘT SỐ LƯỢC ĐỒ CHỮ KÝ SỐ

TẬP THỂ DỰA TRÊN BÀI TOÁN PHÂN TÍCH SỐ

LUẬN ÁN TIẾN SĨ TOÁN HỌC Hà Nội - 2022

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ

PHẠM VĂN HIỆP

XÂY DỰNG MỘT SỐ LƯỢC ĐỒ CHỮ KÝ SỐ TẬP THỂ DỰA TRÊN BÀI TOÁN PHÂN TÍCH SỐ

Chuyên ngành: Mã số:

Cơ sở toán học cho tin học 9 46 01 10

LUẬN ÁN TIẾN SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC 1. TS Nguyễn Hữu Mộng 2. TS Ngô Trọng Mại

Hà Nội - 2022

i

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của tôi. Các số liệu, kết

quả trình bày trong luận án là hoàn toàn trung thực và chưa từng được công bố

trong bất kỳ công trình nào khác. Các dữ liệu tham khảo được trích dẫn đầy đủ.

Hà Nội, ngày … tháng … năm 2022

Nghiên cứu sinh

Phạm Văn Hiệp

ii

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .................................... V

DANH MỤC CÁC BẢNG ............................................................................. VII

DANH MỤC CÁC HÌNH VẼ....................................................................... VIII

MỞ ĐẦU ............................................................................................................ 1

CHƯƠNG 1. CHỮ KÝ SỐ TẬP THỂ VÀ MỘT SỐ VẤN ĐỀ ĐẶT RA ........ 6

1.1. Chữ ký số ................................................................................................... 6

1.1.1. Giới thiệu về chữ ký số ..................................................................................... 6

1.1.2. Sơ đồ chữ ký số ................................................................................................. 7

1.1.3. Một số dạng tấn công chữ ký số ...................................................................... 9

1.1.4. Một số dạng phá vỡ của lược đồ chữ ký số .................................................. 10

1.1.5. Tiêu chuẩn an toàn của tham số sử dụng trong chữ ký số .......................... 10

1.1.6. Tính pháp lý của chữ ký số ở Việt Nam ....................................................... 12

1.1.7. Ứng dụng của chữ ký số trong thực tế .......................................................... 13

1.2. Chữ ký số tập thể ...................................................................................... 14

1.2.1. Các thành phần của lược đồ chữ ký số tập thể ............................................. 16

1.2.2. Phân loại chữ ký số tập thể ............................................................................. 17

1.3. Cơ sở toán học sử dụng trong luận án ...................................................... 17

1.3.1. Một số bài toán đặc thù trong lý thuyết số ứng dụng cho modulo ............. 17

1.3.2. Hàm băm .......................................................................................................... 22

1.3.3. Độ phức tạp tính toán của các thuật toán ...................................................... 23

1.4. Các lược đồ chữ ký số và chuẩn chữ ký số phổ biến ............................... 24

1.4.1. Lược đồ chữ ký số RSA ................................................................................. 24

1.4.2. Lược đồ chữ ký số Elgamal ........................................................................... 27

1.4.3. Chuẩn chữ ký số GOST 34.10-94 ................................................................. 29

1.5. Một số vấn đề đặt ra và định hướng nghiên cứu của luận án ................... 30

1.5.1. Những vấn đề tồn tại của lược đồ chữ ký số và mô hình chữ ký số .......... 30

1.5.2. Định hướng nghiên cứu của luận án ............................................................. 38

iii

1.6. Kết luận chương 1 .................................................................................... 39

CHƯƠNG 2. PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ TẬP THỂ DỰA TRÊN

BÀI TOÁN IFP VÀ RSAP .............................................................................. 41

2.1. Mô hình chữ ký số tập thể dạng kết hợp .................................................. 41

2.1.1. Phát hành và quản lý chứng chỉ khóa công khai .......................................... 42

2.1.2. Quá trình hình thành và kiểm tra chữ ký số tập thể ..................................... 43

2.2. Xây dựng lược đồ chữ ký IFP-RSAP cơ sở I ........................................... 46

2.2.1. Các bước xây dựng lược đồ IFP-RSAP cơ sở I ........................................... 47

2.2.2. Tính đúng đắn của lược đồ IFP-RSAP cơ sở I ............................................. 50

2.3. Lược đồ chữ ký IFP-RSAP cơ sở II ......................................................... 52

2.3.1. Quy trình chung ............................................................................................... 52

2.3.2. Tính đúng đắn của lược đồ IFP-RSAP cơ sở II ........................................... 54

2.3.3. Mức độ an toàn của lược đồ IFP-RSAP cơ sở II ......................................... 55

2.3.4. Độ phức tạp thời gian của lược đồ IFP-RSAP cơ sở II ............................... 56

2.3.5. Hiệu quả thực hiện của lược đồ IFP-RSAP cơ sở II .................................... 57

2.4. Đề xuất lược đồ chữ ký IFP-RSAP tập thể .............................................. 60

2.4.1. Các bước triển khai lược đồ chữ ký IFP-RSAP tập thể .............................. 60

2.4.2. Tính đúng đắn của lược đồ chữ ký IFP-RSAP tập thể ................................ 65

2.4.3. Độ an toàn của lược đồ chữ ký IFP-RSAP tập thể ...................................... 66

2.4.4. Độ phức tạp thời gian của lược đồ chữ ký IFP-RSAP tập thể .................... 67

2.4.5. Đánh giá độ phức tạp thời gian của lược đồ chữ ký số tập thể đề xuất ..... 68

2.5. Cài đặt thuật toán và thử nghiệm ............................................................. 70

2.6. Kết luận chương 2 ..................................................................................... 72

CHƯƠNG 3. PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ TẬP THỂ DỰA TRÊN

BÀI TOÁN IFP VÀ DLP ................................................................................. 74

3.1. Giới thiệu mở đầu ..................................................................................... 74

3.2. Xây dựng lược đồ chữ ký số IFP-DLP cơ sở I ......................................... 75

3.2.1. Các bước xây dựng lược đồ IFP-DLP cơ sở I .............................................. 75

3.2.2. Tính đúng đắn của lược đồ IFP-DLP cơ sở I ............................................... 78

iv

3.3. Lược đồ chữ ký số IFP-DLP cơ sở II ....................................................... 80

3.3.1. Quy trình chung ............................................................................................... 81

3.3.2. Tính đúng đắn của lược đồ IFP-DLP cơ sở II .............................................. 83

3.3.3. Mức độ an toàn của lược đồ IFP-DLP cơ sở II ............................................ 84

3.3.4. Độ phức tạp thời gian của lược đồ IFP-DLP cơ sở II .................................. 85

3.3.5. Hiệu quả thực hiện của lược đồ IFP-DLP cơ sở II ...................................... 86

3.4. Đề xuất lược đồ chữ ký IFP-DLP tập thể ................................................. 92

3.4.1. Các bước triển khai lược đồ chữ ký IFP-DLP tập thể ................................. 92

3.4.2. Tính đúng đắn của lược đồ chữ ký IFP-DLP tập thể ................................... 98

3.4.3. Độ an toàn của lược đồ chữ ký IFP-DLP tập thể ......................................... 99

3.4.4. Độ phức tạp thời gian của lược đồ chữ ký IFP-DLP tập thể .................... 101

3.4.5. Đánh giá độ phức tạp thời gian của các lược đồ chữ ký số tập thể .......... 102

3.5. Cài đặt thuật toán và thử nghiệm ........................................................... 104

3.6. Kết luận chương 3 .................................................................................. 106

KẾT LUẬN .................................................................................................... 108

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ ............... 110

TÀI LIỆU THAM KHẢO .............................................................................. 111

PHỤ LỤC 1. CÀI ĐẶT THUẬT TOÁN VÀ THỬ NGHIỆM (CHỮ KÝ TẬP

THỂ IFP-RSAP) .............................................................................................. P1

PHỤ LỤC 2. CÀI ĐẶT THUẬT TOÁN VÀ THỬ NGHIỆM (CHỮ KÝ TẬP

THỂ IFP-DLP) ................................................................................................ P7

v

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

b|a b là ước số của a

b không là ước của a b∤a

Phép toán nối xâu ||

gcd (a,b) Ước số chung lớn nhất của a và b

H(.) Hàm băm

Hàm phi Euler của n

nlen Độ dài của modulo n

(E,S), (R,S) Các cặp chữ ký số

Hàm tạo chữ ký Sig

Hàm kiểm tra, xác thực chữ ký Ver

Vành số nguyên với phép cộng và phép nhân rút gọn theo Zn

modulo n

n

Z* Nhóm nhân modulo n

Tấn công văn bản được lựa chon thích ứng (Adaptive Chosen ACMA

Message Attack)

CA Cơ quan cấp chứng nhận (Certificate Authority)

Tấn công văn bản được lựa chon trực tiếp (Directed Chosen DCMA

Message Attack)

DSA Thuật toán chữ ký số (Digital Signature Algorithm)

DLP Bài toán logarit rời rạc (Discrete Logarithm Problem)

Thuật toán chữ ký số trên đường cong Eliptic (The Elliptic Curve ECDSA

Digital Signature Algorithm)

vi

Tiêu chuẩn xử lý thông tin liên bang (Mỹ) (Ferderal FIPS

Infomation Processing Standard)

Tấn công văn bản được lựa chọn tổng quát (Generic Chosen GCMA

Message Attack)

IDi Thông tin nhận dạng thực thể/đối tượng ký Ui

IFP Bài toán phân tích số (Integer Factorization Problem)

Lược đồ chữ ký số dựa trên sự kết hợp của bài toán phân tích số IFP-DLP

(IFP) và bài toán logarit rời rạc (DLP)

IFP-RSAP Lược đồ chữ ký số dựa trên sự kết hợp của bài toán phân tích số

(IFP) và bài toán khai căn (RSAP)

KMA Tấn công văn bản đã biết (Known Message Attacks)

KOA Tấn công vào khóa (Key Only Attacks)

MA Tấn công vào văn bản (Message Attacks)

PKC Mật mã khóa công khai (Public Key Certificate)

PKI Cơ sở hạ tầng khóa công khai (Public Key Infrastructure)

Hệ thống mật mã khóa công khai (viết tắt của ba chữ cái đầu của RSA

các tác giả Ron Rivest, Adi Shamir, Len Adleman)

RSAP Bài toán khai căn trên vành Zn

SHA Hàm băm mật mã (Secure Hash Algorithm)

vii

DANH MỤC CÁC BẢNG

Trang

Bảng 1.1. Danh mục tiêu chuẩn an toàn của hệ mật RSA ............................... 11

Bảng 1.2. Tiêu chuẩn Quốc phòng, An ninh an toàn cho hệ mật RSA............ 11

Bảng 1.3 Tiêu chuẩn an toàn đối với các số nguyên tố bổ trợ theo X9.31 .......... 12

Bảng 1.4. Tiêu chuẩn an toàn đối với các số nguyên tố bổ trợ theo FIPS 186-3 .. 12

Bảng 2.1. Độ phức tạp thời gian của lược đồ IFP-RSAP cơ sở II… ………...59

Bảng 2.2 Độ phức tạp thời gian của lược đồ LD15.9-01 [10] ......................... 59

Bảng 2.3. So sánh chi phí thời gian thực hiện của các lược đồ IFP-RSAP cơ sở

II và LD15.9-01 [10] ........................................................................................ 59

Bảng 2.4. Độ phức tạp thời gian của lược đồ IFP-RSAP tập thể..................... 68

Bảng 2.5. Độ phức tạp thời gian của lược đồ LD 1.02 [6] .............................. 69

Bảng 2.6. Độ phức tạp thời gian của lược đồ LD 1.03 [6] .............................. 69

Bảng 2.7. So sánh chi phí thời gian thực hiện của lược đồ IFP-RSAP tập thể với

các lược đồ tập thể LD 1.02 [6] và LD 1.03 [6] ............................................... 69

Bảng 3.1. Thuật toán tạo chữ ký của các lược đồ FS, SS và IFP-DLP cơ sở ....... 86

Bảng 3.2. Chi phí thời gian thực hiện của lược đồ IFP-DLP cơ sở II ............. 90

Bảng 3.3. Chi phí thời gian thực hiện của lược đồ FS [26] ............................. 91

Bảng 3.4. Chi phí thời gian thực hiện của lược đồ SS [26] ............................. 91

Bảng 3.5. So sánh chi phí thời gian thực hiện của lược đồ IFP-DLP cơ sở II với

các lược đồ FS và lược đồ SS trong [26] ......................................................... 91

Bảng 3.6. Độ phức tạp thời gian của lược đồ IFP-DLP tập thể ..................... 102

Bảng 3.7. Độ phức tạp thời gian của lược đồ chữ ký số tập thể LD-C2_M232 [16] . 102

Bảng 3.8. Độ phức tạp thời gian của các lược đồ chữ ký số tập thể LD1-KPBTN,

LD2-PBTN trong [9] ...................................................................................... 103

Bảng 3.9. So sánh chi phí thời gian thực hiện của lược đồ IFP-DLP tập thể với

LD_C2_M232 [16] và LD1-KPBTN, LD2-PBTN trong [9] ......................... 103

viii

DANH MỤC CÁC HÌNH VẼ

Trang

Hình 2.1. Cấu trúc cơ bản và cơ chế hình thành một chứng chỉ khóa công khai ...... 43

Hình 2.2. Minh họa cơ chế kiểm tra tính hợp lệ của chứng chỉ khóa công khai .... 43

Hình 2.3. Minh họa về cơ chế hình thành chữ ký tập thể dạng kết hợp ......... 44

Hình 2.4. Minh họa cơ chế hình thành chữ ký cá nhân .................................. 44

Hình 2.5. Minh họa cơ chế kiểm tra chữ ký tập thể dạng kết hợp .................. 45

Hình 2.6. Minh họa cơ chế kiểm tra chứng nhận của CA ............................... 45

Hình 2.7. Minh họa cơ chế kiểm tra tính hợp lệ của chữ ký cá nhân ............. 46

Hình 2.8. Tóm tắt thuật toán ký của lược đồ IFP-RSAP tập thể .................... 65

Hình 3.1. Tóm tắt thuật toán ký của lược đồ IFP-DLP tập thể ....................... 97

Hình P.1. Hình thành các tham số, tạo khóa CA và khóa cho các thành viên…... P8 Hình P.2. Quá trình chứng nhận và kiểm tra tính hợp pháp của các thành viên

tham gia ký ...................................................................................................... P9

Hình P.3. Quá trình mã hóa văn bản, tạo chữ ký và kiểm tra chữ ký tập thể .... P10

Hình P.4. Minh họa tấn công giả mạo chữ ký ............................................... P11

1

MỞ ĐẦU

1. Tính cấp thiết của đề tài luận án

Khoa học công nghệ ngày càng phát triển, đặc biệt là về lĩnh vực Công

nghệ thông tin, khi đó các ứng dụng giao dịch điện tử trên mạng cũng được đẩy

mạnh và thường xuyên hơn. Nhu cầu bảo mật thông tin dữ liệu luôn được đặt

lên hàng đầu, các thông tin phải đảm bảo chính xác và người nhận sẽ nhận được

đúng dữ liệu từ phía người gửi. Sự ra đời của chữ ký số đã và đang đáp ứng

được yêu cầu chứng thực về nguồn gốc của thông tin dữ liệu.

Hiện nay, chữ ký số đơn đang được sử dụng khá phổ biến trong nhiều

lĩnh vực như: giao dịch tại các ngân hàng, kê khai nộp thuế, thương mại điện

tử, chính phủ điện tử... Tuy nhiên, trong các giao dịch điện tử khi có nhiều

người tham gia cùng ký vào các thông điệp dữ liệu thì việc sử dụng chữ ký đơn

là chưa phù hợp. Nếu sử dụng chữ ký đơn của nhiều người trên một thông điệp

dữ liệu thì kích thước chữ ký sẽ tăng lên theo số lần ký. Do đó, việc sử dụng

chữ ký tập thể là một giải pháp cho nhiều người tham gia ký. Chữ ký tập thể

được thực hiện bởi chữ ký của nhiều người, nhưng kích thước chữ ký vẫn giữ

nguyên như kích thước chữ ký đơn, việc kiểm tra chữ ký tập thể được thực hiện

theo phương thức thông thường như chữ ký số đơn. Chữ ký số tập thể đã được

sử dụng trong một số ứng dụng như: bầu cử điện tử, xác thực đa yếu tố, các

kênh quảng bá …

Chữ ký số nói chung và chữ ký số tập thể nói riêng được xây dựng dựa

trên một số các hệ mật mã khác nhau. Trong đó, hệ mật mã khóa công khai

được áp dụng phổ biến. Các hệ mật khóa công khai có nhiều ưu điểm và phù

hợp với các điều kiện, quy định về an toàn bảo mật thông tin trong các giao

dịch truyền thông. Một trong những hệ mật được sử dụng khá phổ biến là hệ

mật khóa công khai RSA [57]. Độ an toàn của hệ mật RSA dựa vào tính khó

giải của các bài toán phân tích ra thừa số nguyên tố, các số nguyên lớn và bài

toán tính căn bậc e modulo n. Tuy nhiên, hệ mật RSA cũng sẽ không an toàn

khi sử dụng hệ mật này chưa đúng cách, độ an toàn của hệ mật RSA sẽ bị phá

2

vỡ khi chỉ cần giải được một trong các bài toán phân tích số hoặc bài toán khai

căn. Ngoài ra, chữ ký số còn được xây dựng, phát triển trên các hệ mật khác

như: hệ mật Rabin, hệ mật Elgamal [69], ... Độ an toàn của các hệ mật cũng

dựa trên độ khó của việc phân tích ra thừa số nguyên tố lớn, tính khó giải của

bài toán logarit rời rạc trên các trường hữu hạn… Mặc dù vậy, độ an toàn của

các lược đồ chữ ký khi xây dựng dựa trên các hệ mật này cũng có thể bị phá vỡ

nếu các tham số, khóa bí mật được chọn không phù hợp.

Trong quá trình xây dựng, phát triển các lược đồ chữ ký số, một số nhà

khoa học đã đưa ra hướng nghiên cứu kết hợp các bài toán khó trong lý thuyết

số như: bài toán phân tích số, bài toán khai căn, bài toán logarit rời rạc… nhằm

nâng cao độ an toàn, hiệu quả thực hiện của các thuật toán khi được ứng dụng vào

thực tế. Tuy nhiên, với sự phát triển của khoa học kỹ thuật, sự ra đời của máy tính

lượng tử thì việc giải được các bài toán khó chỉ còn là vấn đề thời gian. Do đó việc

tiếp tục nghiên cứu đề xuất các lược đồ chữ ký số mới nhằm nâng cao độ an toàn

luôn là vấn đề được quan tâm hiện nay.

Bên cạnh đó, các mô hình ứng dụng chữ ký số hiện nay đã cho phép đáp

ứng được các yêu cầu về chứng thực nguồn gốc thông tin được tạo ra bởi những

thực thể có tính độc lập. Hạ tầng công nghệ của chứng thực số là hạ tầng cơ sở

khoá công khai với nền tảng là mật mã khoá công khai và chữ ký số [52]. Tuy

nhiên, khi nhu cầu sử dụng chữ ký số tập thể trong nhiều lĩnh vực ngày càng

tăng thì việc nghiên cứu, cải tiến các mô hình chữ ký số, các lược đồ chữ ký số

sao cho phù hợp hơn với các yêu cầu thực tế sẽ là một vấn đề được các nhà

khoa học tiếp tục quan tâm trong thời gian tới.

Xuất phát từ những lý do trên, đề tài luận án tập trung vào việc nghiên

cứu đưa ra mô hình chữ ký số tập thể phù hợp với các cơ quan, doanh nghiệp,

trường học... Đồng thời xây dựng, phát triển các lược đồ chữ ký số tập thể theo

mô hình mới đề xuất nhằm nâng cao độ an toàn, rút ngắn kích thước chữ ký số,

để từ đó nâng cao hiệu quả thực hiện của các lược đồ chữ ký trong các ứng dụng

thực tế.

3

2. Mục tiêu nghiên cứu

Trên cơ sở việc nghiên cứu quá trình phát triển của chữ ký số nhằm đáp

ứng được các yêu cầu trong thực tế hiện nay, luận án đưa ra mục tiêu:

- Đưa ra mô hình chữ ký số tập thể phù hợp với các nhu cầu, ứng dụng

trong thực tế để từ đó xây dựng các lược đồ chữ ký số tập thể đáp ứng được các

yêu cầu về chứng thực nguồn gốc và tính toàn vẹn của dữ liệu.

- Xây dựng các lược đồ chữ ký số cơ sở dựa trên các bài toán khó trong

lý thuyết số và các chuẩn chữ ký số phổ biến.

- Chứng minh độ an toàn và hiệu quả thực hiện của các lược đồ.

3. Đối tượng và phạm vi nghiên cứu

Luận án tập trung nghiên cứu các vấn đề sau:

- Cơ sở của các hệ mật khóa công khai RSA, hệ mật Elgamal và chuẩn

chữ ký GOST R34.10-94.

- Các bài toán khó trong lý thuyết số như: bài toán phân tích số, bài toán

khai căn, bài toán logarit rời rạc.

- Mô hình chữ ký số và ứng dụng trong thực tế.

- Các lược đồ chữ ký số, chữ ký số tập thể.

4. Nội dung nghiên cứu

Luận án sử dụng một số phương pháp nghiên cứu:

- Hệ mật mã khóa công khai RSA, Elgamal và chuẩn chữ ký GOST

R34.10-94.

- Xây dựng mô hình chữ ký số tập thể dạng kết hợp đáp ứng nhu cầu

trong thực tế.

- Phát triển các lược đồ chữ ký số cơ sở và chữ ký số tập thể dựa trên

sự kết hợp của bài toán phân tích số với các bài toán khai căn, bài toán logarit

rời rạc nhằm nâng cao độ an toàn và hiệu quả thực hiện.

5. Phương pháp nghiên cứu

Luận án sử dụng một số phương pháp nghiên cứu:

- Phương pháp nghiên cứu lý thuyết: trên cơ sở tham khảo các công

4

trình, báo cáo khoa học, tài liệu đã công bố về lĩnh vực mật mã và chữ ký số.

- Phân tích, đánh giá độ an toàn, tính hiệu quả của các lược đồ chữ ký

số đề xuất so với các lược đồ đã công bố trước đó.

6. Ý nghĩa khoa học và thực tiễn

Về ý nghĩa khoa học: Luận án đưa ra mô hình chữ ký số tập thể dạng kết

hợp đáp ứng được các yêu cầu về chứng thực nguồn gốc và tính toàn vẹn của

dữ liệu ở các cấp độ. Đề xuất các dạng lược đồ cơ sở tổng quát, để từ đó xây

dựng các lược đồ chữ ký số tập thể. Các lược đồ mới đề xuất đảm bảo độ an

toàn, có thể rút gọn được kích thước của chữ ký số, đồng thời nâng cao hiệu

quả thực hiện của lược đồ trong các ứng dụng thực tế.

Về ý nghĩa thực tiễn: Các lược đồ chữ ký tập thể mới được đề xuất phù

hợp cho các đối tượng là các cơ quan nhà nước, trường học, doanh nghiệp,...

Đồng thời thuận lợi trong việc lưu trữ và triển khai trên các hạ tầng mạng hiện

nay.

7. Bố cục của luận án

Luận án gồm có: Phần mở đầu, nội dung của 03 chương, phần kết luận,

danh mục các công trình công bố và tài liệu tham khảo.

Phần mở đầu: giới thiệu tính cấp thiết của đề tài luận án đối với nhu cầu

thực tế hiện nay, các mục tiêu, nội dung, đối tượng và phạm vi nghiên cứu, các

phương pháp nghiên cứu và ý nghĩa khoa học, thực tiễn của luận án.

Chương 1: Chữ ký số tập thể và một số vấn đề đặt ra.

Trình bày nghiên cứu về chữ ký số và chữ ký số tập thể, một số dạng tấn

công và phá vỡ của lược đồ chữ ký số, các tiêu chuẩn an toàn của tham số sử

dụng trong chữ ký số, tính pháp lý của chữ ký số và ứng dụng trong thực tế.

Tiếp theo trình bày cơ sở toán học sử dụng trong luận án, các lược đồ chữ ký

số và chuẩn chữ ký số phổ biến, các kết quả nghiên cứu về chữ ký số tập thể đã

công bố trong và ngoài nước. Từ các kết quả, vấn đề tồn tại của những nghiên

cứu trước để đưa ra định hướng nghiên cứu của đề tài luận án.

5

Chương 2: Phát triển lược đồ chữ ký số tập thể dựa trên bài toán IFP và RSAP

Chương này đưa ra mô hình chữ ký số tập thể dạng kết hợp đáp ứng các

nhu cầu và ứng dụng trong thực tế. Đề xuất các lược đồ chữ ký số cơ sở và chữ

ký tập thể dựa trên tính khó giải của bài toán bài toán phân tích số (IFP) và bài

toán khai căn trên vành Zn (RSAP), đảm bảo tính an toàn và hiệu quả thực hiện.

Cụ thể như sau:

- Lược đồ chữ ký số IFP-RSAP cơ sở I (dạng tổng quát) và lược đồ chữ

ký số IFP-RSAP cơ sở II.

- Lược đồ chữ ký số IFP-RSAP tập thể theo mô hình chữ ký số tập thể

dạng kết hợp được xây dựng dựa trên lược đồ chữ ký số IFP-RSAP cơ sở II.

Chương 3: Phát triển lược đồ chữ ký số tập thể dựa trên bài toán IFP và DLP

Chương này đề xuất các lược đồ chữ ký số cơ sở và chữ ký tập thể dựa

trên tính khó giải đồng thời của hai bài toán phân tích số (IFP) và bài toán logarit

rời rạc (DLP), đảm bảo tính an toàn và hiệu quả thực hiện đồng thời rút ngắn

được kích thước chữ ký số. Cụ thể như sau:

- Lược đồ chữ ký số IFP-DLP cơ sở I (dạng tổng quát) và lược đồ chữ

ký số IFP-DLP cơ sở II.

- Lược đồ chữ ký số IFP-DLP tập thể theo mô hình chữ ký số tập thể

dạng kết hợp được xây dựng dựa trên lược đồ chữ ký số IFP-DLP cơ sở II.

Phần kết luận: đưa ra các kết quả đã đạt được, những đóng góp mới của

luận án và hướng nghiên cứu tiếp theo của luận án.

Ngoài ra, phần cuối của luận án có danh mục các công trình khoa học đã

công bố, danh mục tài liệu tham khảo và phụ lục.

6

CHƯƠNG 1. CHỮ KÝ SỐ TẬP THỂ VÀ MỘT SỐ VẤN ĐỀ ĐẶT RA

Trong chương 1, luận án trình bày về chữ ký số, chữ ký số tập thể và các

vấn đề liên quan, các dạng tấn công và phá vỡ lược đồ chữ ký số, cơ sở toán

học để xây dựng các lược đồ chữ ký số, các lược đồ chữ ký số và chuẩn chữ ký

số phổ biến được ứng dụng thực tế.

Trên cơ sở nghiên cứu tổng quan một số kết quả trong và ngoài nước,

luận án phân tích một số vấn đề tồn tại và xác định nội dung cần giải quyết.

1.1. Chữ ký số

1.1.1. Giới thiệu về chữ ký số

Chữ ký điện tử đã được sử dụng từ nhiều năm qua dưới nhiều dạng khác

nhau, nhưng có điểm chung là quá trình truyền và nhận chúng được dựa trên tín

hiệu điện tử. Chữ ký điện tử là thông tin đi kèm theo dữ liệu nhằm mục đích

xác định người chủ của dữ liệu đó. Dữ liệu là thông tin dưới dạng ký hiệu, chữ

viết, chữ số, hình ảnh, âm thanh hoặc dạng tương tự. Chữ ký điện tử được tạo

lập dưới dạng từ, chữ, số, ký hiệu, âm thanh hoặc các hình thức khác bằng

phương tiện điện tử. Chữ ký được gắn liền hoặc kết hợp một cách logic với

thông điệp dữ liệu, có khả năng xác nhận người ký thông điệp dữ liệu và xác

nhận sự chấp thuận của người đó đối với nội dung thông điệp dữ liệu được ký.

Chữ ký điện tử được bảo đảm an toàn, nếu đáp ứng được quy trình kiểm

tra an toàn do các bên giao dịch thỏa thuận cùng với các điều kiện sau:

- Dữ liệu tạo chữ ký điện tử chỉ gắn duy nhất với người ký trong bối

cảnh dữ liệu đó được sử dụng;

- Dữ liệu tạo chữ ký điện tử chỉ thuộc sự kiểm soát của người ký tại thời

điểm ký;

- Mọi thay đổi đối với chữ ký điện tử và nội dung thông điệp dữ liệu

sau thời điểm ký đều có thể bị phát hiện.

Nghị định số 130/2018/NĐ-CP, ngày 27/9/2018 của Chính phủ Việt

Nam quy định luật giao dịch điện tử về chữ ký số, trong đó ghi rõ: chữ ký số là

7

một dạng chữ ký điện tử được tạo ra bằng sự biến đổi một thông điệp dữ liệu

sử dụng hệ thống mật mã khóa công khai. Qua đó, người nhận có thể xác định

được sự toàn vẹn nội dung của thông điệp dữ liệu dựa trên thông điệp dữ liệu

ban đầu và khóa công khai của người gửi.

Chữ ký số được tạo ra và kiểm tra bằng các kỹ thuật mật mã khóa công

khai. Để sử dụng chữ ký số thì người dùng phải có một cặp khoá riêng gồm

khoá bí mật và khoá công khai. Khóa bí mật là một khóa trong cặp khóa thuộc

hệ thống mật mã khóa công khai, được dùng để tạo chữ ký số. Khóa công khai

được sử dụng để kiểm tra chữ ký số và thông thường được tạo bởi khóa bí mật

tương ứng trong cặp khóa. Bản chất của chữ ký số là kết quả của một lược đồ

toán học với đầu vào là dữ liệu cần ký, được tóm lược thông qua hàm băm và

mật mã hóa dữ liệu đã tóm lược.

Chữ ký số có các tính chất sau:

- Khả năng xác định nguồn gốc của chữ ký số: Trong giao dịch điện tử,

chỉ có người gửi mới tạo ra được chữ ký có giá trị. Để xác minh được tính đúng

đắn người nhận sẽ sử dụng khóa công khai tương ứng để kiểm tra.

- Tính toàn vẹn của chữ ký số: Trong quá trình truyền tin, nếu xảy ra sự

cố trên đường truyền mà dẫn đến kết quả thay đổi thì quá trình xác minh chữ

ký sẽ cho kết quả là không chính xác. Điều này sẽ đảm bảo tính toàn vẹn của

dữ liệu.

- Tính không thể phủ nhận của chữ ký số: Trong giao dịch, chỉ có người

gửi mới có khóa bí mật của mình và dùng để tạo ra chữ ký có giá trị. Do đó

người này không thể chối bỏ trách nhiệm của mình khi đã ký các văn bản. Khi

có tranh chấp xảy ra, bên nhận sẽ dùng chữ ký này như một chứng cứ để nhờ

bên thứ ba giải quyết.

1.1.2. Sơ đồ chữ ký số

Bài toán đặt ra như sau: Người T cần gửi một thông điệp M cho người H

qua mạng truyền thông.

Do trên mạng truyền thông hiện tại là không an toàn, thông điệp M có

8

thể bị giả mạo và thay đổi nguồn gốc, nên T phải bằng cách nào đó gửi thông

điệp M đến H, Khi H nhận được, H xác thực được thông điệp M là không bị

thay đổi và thông điệp đó đúng là do T gửi.

Để giải quyết vấn đề này thì việc sử dụng chữ ký số sẽ là một hướng giải

quyết cho bài toán trên.

Chữ ký số được tạo ra bằng cách áp dụng thuật toán băm một chiều trên

thông điệp dữ liệu cần ký để tạo ra đại diện thông điệp. Sau đó sử dụng khóa bí

mật để mã hóa tạo ra chữ ký số đính kèm với thông điệp dữ liệu gốc để gửi đi.

Khi nhận, thông điệp dữ liệu gốc và chữ ký số được tách ra làm hai phần, bước

tiếp theo sử dụng khóa công khai và hàm băm để giải mã đại diện thông điệp.

Quá trình sử dụng chữ ký số gồm hai giai đoạn: tạo chữ ký và kiểm tra

chữ ký.

- Quá trình tạo chữ ký số gồm: thuật toán tạo chữ ký số, phương pháp

chuyển dữ liệu thông điệp thành dạng có thể ký được.

- Quá trình kiểm tra chữ ký số gồm: thuật toán kiểm tra chữ ký số,

phương pháp khôi phục dữ liệu từ thông điệp.

Sơ đồ chữ ký số:

Sơ đồ chữ ký số thường bao gồm hai thành phần chính: thuật toán ký và

thuật toán kiểm tra chữ ký. Một lược đồ chữ ký số là một bộ gồm 5 thành phần

thoả mãn các điều kiện sau:

- M là tập hữu hạn các thông điệp.

- A là tập hữu hạn các thuật toán ký.

- K là tập hữu hạn các khoá bí mật.

- S là tập hữu hạn các chữ ký.

- V là tập hữu hạn các thuật toán xác minh.

Với mỗi tồn tại một thuật toán ký và một thuật toán xác

minh tương ứng, mỗi là

những hàm sao cho với mỗi và thoả mãn phương trình (1.1):

9

(1.1)

Tương ứng với mỗi , ta có hàm sigk và hàm verk là các hàm đa thức

thời gian. Trong đó, hàm sigk là hàm tạo chữ ký và hàm verk là hàm kiểm tra,

xác thực chữ ký.

1.1.3. Một số dạng tấn công chữ ký số

Theo Shafi Goldwasser và đồng nghiệp [61] đã mô tả một số dạng tấn

công chữ ký số cơ bản. Trong đó, T là người dùng bị tấn công:

a) Tấn công vào khóa (KOA): Kẻ tấn công biết khóa công khai của người ký.

b) Tấn công vào văn bản (MA): Trước khi tấn công, kẻ tấn công có thể kiểm tra

một số lược đồ chữ ký tương ứng với các văn bản đã biết hoặc đã được lựa

chọn.

Có bốn kiểu tấn công vào văn bản có thể thực hiện:

- Tấn công văn bản được biết (KMA): Kẻ tấn công có thể truy cập đến

chữ ký của văn bản m1, m2,…, mt nhưng không được quyền lựa chọn.

- Tấn công văn bản được lựa chọn tổng quát (GCMA): Trong trường

hợp này, kẻ tấn công có thể truy cập được vào chữ ký hợp lệ của người ký T

theo danh sách văn bản đã được lựa chọn từ m1, m2,…, mt trước khi cố gắng phá

vỡ lược đồ chữ ký số của T. Kẻ tấn công lựa chọn các văn bản này mà không

phụ thuộc vào khóa công khai T (ví dụ: mi được lựa chọn ngẫu nhiên). Đây là

kiểu tấn công không thích ứng: toàn bộ danh sách các văn bản được lập từ trước

khi thấy được chữ ký. Tấn công dạng này được gọi là tổng quát vì nó không

phụ thuộc vào khóa công khai của T.

- Tấn công văn bản được lựa chọn trực tiếp (DCMA): Trong trường hợp

này, kiểu tấn công cũng tương tự như tấn công văn bản lựa chọn tổng quát,

ngoại trừ danh sách văn bản được tạo ra sau khi được biết khóa công khai của

T, nhưng danh sách đó được tạo ra trước khi thấy được chữ ký. Đây vẫn là tấn

công không thích ứng và cũng chỉ tấn công nhằm vào người ký T cụ thể nào đó.

10

- Tấn công văn bản được lựa chọn thích ứng (ACMA): Đây là một trong

những trường hợp tổng quát hơn, kẻ tấn công có thể sử dụng T như là nguồn

Oracle. Văn bản được chọn không chỉ sau khi được biết khóa công khai của T

mà còn cả sau khi quan sát được các chữ ký được tạo ra trước đó.

Các kiểu tấn công văn bản ở trên được sắp xếp theo thứ tự tăng dần. Khi

xây dựng các lược đồ chữ ký số cần nghiên cứu để phòng chống được các cuộc

tấn công đó.

1.1.4. Một số dạng phá vỡ của lược đồ chữ ký số

Năm 1995, Shafi Goldwasser [61] đã đưa ra mô tả về một số dạng phá

vỡ của lược đồ chữ ký số, cụ thể như sau:

- Phá vỡ hoàn toàn: Trường hợp kẻ tấn công biết được thông tin bí mật

của người ký T.

- Giả mạo tổng quát: Trường hợp này, kẻ tấn công có thể tìm được thuật

toán ký có chức năng tương đương thuật toán ký của T (dựa trên thông tin cửa

sập khác nhau nhưng tương đương cửa sập của T).

- Giả mạo có lựa chọn: Kẻ tấn công giả mạo chữ ký của thông điệp cụ

thể được lựa chọn theo cách của kẻ tấn công.

- Giả mạo có tồn tại: Giả mạo được chữ ký của ít nhất một văn bản. Kẻ

tấn công không có quyền kiểm soát văn bản mà anh ta có được chữ ký, nhưng

có thể tạo ra chữ ký một cách ngẫu nhiên không chủ định trước.

Tuy nhiên, trong thực tế, tùy theo đặc thù của từng loại lược đồ chữ ký

số khác nhau sẽ tồn tại các dạng tấn công, phá vỡ khác nhau. Các dạng tấn công,

phá vỡ lược đồ chữ ký đề cập ở trên là những dạng cơ bản mà các loại lược đồ

chữ ký có thể gặp phải.

1.1.5. Tiêu chuẩn an toàn của tham số sử dụng trong chữ ký số

Theo TCVN 7653:2007, do Tiểu Ban kỹ thuật tiêu chuẩn TCVN/JTC

1/SC 27 “Các kỹ thuật mật mã – Chữ ký số” Bộ Khoa học và Công nghệ công

bố năm 2007 [11]. Để sử dụng lược đồ chữ ký số RSA an toàn thì yêu cầu chung

về các tham số và khóa như sau:

11

- Cặp khóa dùng để ký phải sử dụng đúng mục đích, không dùng cho

các mục đích khác, không dùng lại để mã hóa thông điệp.

- Các số nguyên tố p, q phải được giữ bí mật.

- Mỗi người sử dụng cần có modulo n (nlen) riêng.

- Độ dài của n (nlen) không được nhỏ hơn 1024 bit và nên được thay

đổi theo thời gian quy định theo Bảng 1.1:

Bảng 1.1. Danh mục tiêu chuẩn an toàn của hệ mật RSA

Thời gian sử dụng Độ an toàn nlen tối thiểu

Tới năm 2010 1024 80

Tới năm 2030 2048 112

Sau năm 2030 3072 128

Trong đó, độ an toàn là một số nguyên biểu thị lượng tính toán cần thiết

để phá hệ mã.

Theo khuyến cáo của TCVN 7653:2007, định kỳ 3 đến 5 năm một lần

cần xem xét lại nlen tối thiểu để tránh trường hợp có thể bị tấn công, phá vỡ độ

an toàn của chữ ký số.

Theo tiến sỹ Đào Thị Hồng Vân [19] đã đề xuất ngưỡng an toàn cho RSA

theo mức độ gia tăng khả năng tính toán của phần cứng và đáp ứng yêu cầu của

Quốc phòng, An ninh thì độ dài nlen tối thiểu được thể hiện trong Bảng 1.2:

Bảng 1.2. Tiêu chuẩn Quốc phòng, An ninh an toàn cho hệ mật RSA

Thời gian sử dụng Độ an toàn nlen tối thiểu

2048 Tới năm 2018 105

3072 Tới năm 2031 119

4096 Tới năm 2041 130

5120 Tới năm 2049 139

Trong các ứng dụng thực tế, các tham số p, q có thể chọn theo Chuẩn

X9.31 [22] hay FIPS 186-3 [52] của Hoa Kỳ cho hệ mật RSA:

12

*) Chuẩn X9.31

Theo X9.31, tiêu chuẩn đối với các tham số {p,q} của hệ mật RSA bao gồm:

- Độ dài modulo n (nlen): 1024+256s (s ≥ 0).

2511+128s ≤ p, q ≤ 2511+128s (s ≥ 0).

- - |p - q| > 2412+128s (s ≥ 0).

- Các ước nguyên tố của p±1 và q±1 (các số nguyên tố bổ trợ), ký hiệu là:

p1, p2 và q1, q2 phải thỏa mãn các thông số kỹ thuật được cho trong Bảng 1.3:

Bảng 1.3 Tiêu chuẩn an toàn đối với các số nguyên tố bổ trợ theo X9.31

Độ dài của modulo n (nlen) Độ dài tối thiểu của p1, p2 và q1, q2 Độ dài tối đa của p1, p2 và q1, q2

1024 + 256.s > 100 bit ≤ 120 bit

*) Chuẩn FIPS 186-3

Theo FIPS 186-3, tiêu chuẩn đối với các tham số {p,q} của hệ mật RSA

bao gồm:

- 2511+128s ≤ p, q ≤ 2511+128s (s ≥ 0).

- |p - q| > .

- Các ước nguyên tố của p±1 và q±1 (các số nguyên tố bổ trợ), ký hiệu là:

p1, p2 và: q1, q2 phải thỏa mãn các thông số kỹ thuật được cho trong Bảng 1.4:

Bảng 1.4. Tiêu chuẩn an toàn đối với các số nguyên tố bổ trợ theo FIPS 186-3

Độ dài của modulo n (nlen) Độ dài tối đa của len(p1) + len(p2) và len(q1) + len(q2)

Độ dài tối thiểu của p1, p2, q1, q2

1024 bit > 100 bit Các số nguyên tố xác suất < 496 bit Các số nguyên tố chứng minh được < 239 bit

2048 bit > 140 bit < 1007 bit < 494 bit

3072 bit > 170 bit < 1518 bit < 750 bit

1.1.6. Tính pháp lý của chữ ký số ở Việt Nam

Kể từ khi chính phủ ban hành Nghị định số 26/2007/NĐ-CP cho đến nay,

13

khung pháp lý liên quan đến chữ ký số và dịch vụ chứng thực chữ ký số ngày

càng được hoàn thiện. Đồng thời vai trò quản lý của các cơ quan nhà nước về

lĩnh vực này ngày càng được nâng cao [1].

Một số văn bản quy phạm pháp luật do Quốc hội, Chính phủ đã ban hành

liên quan đến chữ ký số như sau:

- Luật Giao dịch điện tử số 51/2005/QH11 do Quốc hội khóa 11 thông

qua ngày 29/11/2005 quy định về giao dịch điện tử trong hoạt động của các cơ

quan nhà nước trong lĩnh vực dân sự, kinh doanh, thương mại và các lĩnh vực

khác do pháp luật quy định.

- Nghị định số 130/2018/NĐ-CP ngày 27/9/2018 quy định chi tiết thi

hành luật giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số.

- Nghị định số 165/2018/NĐ-CP ngày 24/12/2018 về giao dịch điện tử

trong hoạt động tài chính.

- Chỉ thị số 02/CT-TTg ban hành vào ngày 23/01/2019 của Thủ tướng

Chính phủ về việc tăng cường sử dụng chữ ký số chuyên dùng trong hoạt động

của cơ quan nhà nước các cấp [2].

Trong thời gian qua, việc sử dụng chữ ký số đã góp phần quan trọng

trong việc đảm bảo an toàn cho các giao dịch điện tử, tiết kiệm thời gian và chi

phí, nâng cao hiệu quả công việc, góp phần tích cực trong việc đẩy mạnh ứng

dụng công nghệ thông tin trong các giao dịch điện tử.

Đây là những văn bản quy phạm pháp luật và văn bản chỉ đạo quan trọng,

làm căn cứ thúc đẩy việc xây dựng phát triển một Chính phủ điện tử, nền kinh

tế số, tạo hành lang pháp lý thuận lợi cho giao dịch điện tử.

1.1.7. Ứng dụng của chữ ký số trong thực tế

Trong những năm gần đây, chữ ký điện tử nói chung và chữ ký số nói

riêng đang được ứng dụng như một giải pháp bảo mật nhằm đảm bảo an toàn

thông tin và được sử dụng trong một số lĩnh vực cụ thể như:

- Ứng dụng chữ ký số trong lĩnh vực thuế được triển khai tại tổng cục

thuế có tần suất sử dụng ngày càng cao, hỗ trợ cho hệ thống khai thuế điện tử,

14

nộp thuế qua mạng, hóa đơn điện tử.

- Ứng dụng chữ ký số trong lĩnh vực hải quan sử dụng chữ ký số để xác

thực dịch vụ công trực tuyến như: Hệ thống thông quan hàng hóa tự động; Cổng

thông tin một cửa quốc gia; Cổng thanh toán điện tử thu thuế xuất nhập khẩu;

Cổng thông tin điện tử Hải quan.

- Ứng dụng chữ ký số trong lĩnh vực bảo hiểm xã hội như xác thực các

thủ tục tham gia bảo hiểm xã hội, bảo hiểm y tế, bảo hiểm thất nghiệp ... ngày

càng phát triển cả về số lượng và chất lượng.

- Ứng dụng chữ ký số trong lĩnh vực chứng khoán, cụ thể trong các hệ

thống như: Hệ thống giám sát giao dịch chứng khoán; phần mềm quản lý báo

cáo thống kê nội bộ; hệ thống cơ sở quản lý dữ liệu quản lý nhà đầu tư nước

ngoài; Hệ thống công bố thông tin ...

- Ứng dụng chữ ký số trong dịch vụ công của Kho bạc Nhà nước nhằm

giảm tiết kiệm về thời gian, chi phí, giảm thiểu việc giả mạo chữ ký, giả mạo

con dấu của đơn vị; thông tin thanh toán nhanh chóng và bảo mật; minh bạch

về hồ sơ, chứng từ, nội dung kiểm soát ...

- Ứng dụng chữ ký số chuyên dùng trong các cơ quan nhà nước nhằm

đảm bảo an toàn cho việc trao đổi văn bản điện tử giữa các cơ quan nhà nước,

tạo môi trường làm việc hiện đại, tiết kiệm thời gian và chi phí; nâng cao hiệu

quả công việc, tăng tính công khai, minh bạch trong quản lý điều hành; góp

phần tích cực trong việc cải cách hành chính và phát triển Chính phủ điện tử.

Hiện nay, nhiều nước trên thế giới không chỉ triển khai ứng dụng chữ ký

số trên mạng Internet mà còn áp dụng trên mạng điện thoại di động để thực hiện

các giao dịch điện tử. Chữ ký số ngày càng khẳng định rõ được vai trò, lợi ích

to lớn về chiến lược và kinh tế, trong các hoạt động của các tổ chức, cơ quan

chính phủ nhằm thúc đẩy xã hội ngày càng phát triển.

1.2. Chữ ký số tập thể

Khái niệm về chữ ký số tập thể được K. Nakamura và K. Itakura đưa ra

dựa trên thuật toán RSA [37] lần đầu tiên vào năm 1983. Trong lược đồ đề xuất

15

thì mọi cá nhân ký đều có trách nhiệm như nhau. Lược đồ chữ ký số tập thể cho

phép nhiều người ký cùng một thông điệp và cùng cách thức ký. Người kiểm

tra có thể xác thực được thông điệp là do từng người trong nhóm ký. Chữ ký số

tập thể được tạo ra bằng cách ghép tất cả các chữ ký thành phần của từng thành

viên trong nhóm ký. Tuy nhiên, nhược điểm của chữ ký tập thể là khi có nhiều

người ký là kích thước của chữ ký sẽ tăng lên và tỷ lệ với số lượng người tham

gia ký.

Năm 1988, Tatsuaki Okamoto [70] đã đề xuất lược đồ đa chữ ký sử dụng

hệ thống mật mã khóa công khai sinh học để khắc phục một số vấn đề của các

lược đồ trước đó đã đưa ra. Lược đồ đa chữ ký mới đề xuất có một số ưu điểm:

độ dài của một thông điệp đa chữ ký gần như tương đương với thông điệp chữ

ký đơn, thứ tự ký không bị hạn chế, lược đồ này có thể được xây dựng trên bất

kỳ hệ thống mật mã khóa công khai nào cũng như lược đồ RSA.

Năm 1994, Lein Harn đã đề xuất mô hình lược đồ ký số ngưỡng dựa trên

bài toán logarit rời rạc [38]. Đây là lược đồ chữ ký số yêu cầu phải có một số

lượng tập thể tối thiểu cùng ký vào thì chữ ký đó mới hợp lệ.

Đến năm 1999, tiếp tục dựa trên bài toán logarit rời rạc, Lein Harn đã

đưa ra chữ ký số tập thể có phân biệt trách nhiệm [41]. Tuy nhiên, vào năm

2000, Li và cộng sự [76] chỉ ra lược đồ ký tập thể này có điểm yếu về bảo mật

và có thể bị tấn theo kiểu tạo khóa lừa đảo. Tức là, một thành viên trong số

những người ký có thể gian lận và tự mình ký mà không cần có sự tham gia ký

của những người khác.

Năm 2001, Lin và cộng sự đưa ra lược đồ ký số tập thể có cấu trúc dựa

trên hệ mật định danh [24]. Tuy nhiên vào cuối năm 2001, cấu trúc này đã được

Mitchell [25] chỉ ra là có thể bị tấn công và không an toàn.

Năm 2005, Huang và Chang đã đề xuất lược đồ chữ ký số tập thể có

phân biệt trách nhiệm cấu trúc tuần tự song song dựa trên bài toán RSA và bài

toán logarit rời rạc [32]. Tuy nhiên các lược đồ này đã được chứng minh là

16

không phải là lược đồ an toàn bởi Yoon [28] và Zhang [35].

Ngoài hệ mật RSA, chữ ký số tập thể tiếp tục được xây dựng, phát triển

dựa trên các hệ mật khác nhau, cụ thể như:

Năm 2011, dựa trên hệ mật đường cong elliptic, Xue và cộng sự đã đề

xuất lược đồ ký số tập thể ngưỡng [56]. Năm 2012, lược đồ chữ ký số tập thể

dựa trên tái định danh [53] đã được Martinel và cộng sự đề xuất.

Năm 2014, Tiwari và công sự [49] đã đề xuất chữ ký số tập thể ủy nhiệm

dựa trên hệ mật đường cong elliptic.

Năm 2017, tiến sỹ Đặng Minh Tuấn và các cộng sự đã xây dựng một

lược đồ chữ ký số tập thể dựa trên hệ mật ID-Based sử dụng ít phép toán tốn tài

nguyên hơn một số lược đồ đã đề xuất trước đó [17]. Lược đồ chữ ký số tập thể

được xây dựng dựa trên song tuyến tính dùng ánh xạ cặp Tate trên đường cong

elliptic, mỗi thành viên tham gia có thể ký và chịu trách nhiệm những thành phần

bất kỳ trong văn bản. Lược đồ chữ ký số mới đề xuất có thể áp dụng trong nhiều

lớp bài toán chữ ký số tập thể trong thực tiễn.

Trong những năm gần đây, các nhà khoa học tiếp tục nghiên cứu, đề xuất,

cải tiến nhiều dạng lược đồ chữ ký số khác nhau nhằm nâng cao độ an toàn, tính

bảo mật, đáp ứng nhu cầu sử dụng chữ ký số trong các giao dịch hiện nay.

1.2.1. Các thành phần của lược đồ chữ ký số tập thể

Chữ ký số tập thể nói chung thường gồm các thành phần sau:

- Giao thức sinh khóa: Giao thức được thực hiện một lần ban đầu cho

tất cả các thành viên tham gia ký. Mỗi thành viên sẽ được nhận thông tin về

nhóm là danh sách và định danh của các thành viên tham gia ký. Các thành viên

sẽ nhận được một cặp khóa bí mật và khóa công khai tương ứng.

- Thuật toán chữ ký tập thể: Chữ ký số tập thể được hình thành từ dữ

liệu đầu vào là văn bản, dữ liệu cần ký và khóa bí mật của thành viên tham gia

ký. Kết quả chữ ký tập thể có thể được đưa ra bởi một trong các thành viên thuộc

nhóm ký.

17

- Thuật toán kiểm tra chữ ký tập thể: Có thể được thực hiện bởi một

người khác không thuộc nhóm ký. Đầu vào là văn bản, dữ liệu, thông tin về

nhóm ký và chữ ký số tập thể. Kết quả đầu ra của thuật toán là sự khẳng định

về tính hợp lệ của chữ ký tập thể tương ứng với văn bản, dữ liệu.

1.2.2. Phân loại chữ ký số tập thể

Chữ ký số tập thể có nhiều dạng như: chữ ký số tập thể mù, chữ ký số tập

thể ủy nhiệm, chữ ký số bội, chữ ký nhóm. Tuy nhiên, có thể chia các loại chữ

ký số tập thể thành hai dạng sau: chữ ký số tập thể có phân biệt trách nhiệm của

người ký và chữ ký số tập thể không phân biệt trách nhiệm người ký.

- Chữ ký số tập thể có phân biệt trách nhiệm của người ký

Theo L. Harn [41], mỗi thành viên tham gia ký phải có trách nhiệm với

từng phần văn bản ký. Chữ ký số tập thể trong công bố của L. Harn có các thuộc

tính như: Chữ ký số tập thể được tạo ra không cần biết khóa bí mật của từng

người ký và được xác thực bằng khóa công khai của của cả tập thể; Chữ ký số

tập thể sẽ không tạo được nếu không có sự tham gia của tất cả các thành viên.

Tuy nhiên, trong thực tế những người ký có thể sẽ có vai trò khác nhau

và chịu trách nhiệm các phần khác nhau trong văn bản. Mỗi người ký có thể

chịu trách nhiệm đúng phần văn bản có liên quan đến chức năng và trách nhiệm

của mình. Khi chữ ký tập thể đảm bảo được các thuộc tính như trên thì được

gọi là chữ ký số tập thể có phân biệt trách nhiệm.

- Chữ ký số tập thể không phân biệt trách nhiệm của người ký

Trong công bố [40] của L. Harn, các thành viên ký trong lược đồ đều có

vai trò giống nhau và không phân biệt trách nhiệm. Tất cả các thành viên cùng

ký vào toàn bộ văn bản. Mỗi thành viên tham gia ký đều có khóa công khai và

khóa bí mật khác nhau.

1.3. Cơ sở toán học sử dụng trong luận án

1.3.1. Một số bài toán đặc thù trong lý thuyết số ứng dụng cho modulo

Với sự phát triển mạnh mẽ của khoa học kỹ thuật, đặc biệt là hệ thống

mạng Internet hiện nay, thì việc nâng cao độ an toàn bảo mật thông tin trong

18

các hệ thống là điều rất quan trọng, đồng thời góp phần giảm thiểu việc gây ra

mất mát thông tin và thiệt hại về kinh tế. Trong khi đó, các giao dịch trên mạng

yêu cầu xác thực thông tin của người gửi, người nhận ngày càng được phổ biến.

Do đó, việc xây dựng, phát triển các thuật toán, lược đồ chữ ký dựa trên tính

khó giải của các bài toán được kết hợp lại với nhau sẽ đạt được hiệu quả cao

trong việc nâng cao độ an toàn cho các thuật toán chữ ký số.

1.3.1.1. Bài toán khó trong lý thuyết số và ứng dụng trong hệ mật

Bài toán khó (Hard Problem): một bài toán được gọi là khó nếu chưa tồn

tại thuật toán thời gian đa thức để giải nó.

Vấn đề khó (Difficult Problem): một vấn đề được gọi là khó đối với đối

tượng A trong khoảng thời gian T nếu người này không thể giải quyết được nó

trong thời gian nói trên.

Trong các ứng dụng mật mã việc xây dựng các hệ mật hay các lược đồ

chữ ký thường được lựa chọn sao cho bài toán tấn công chúng là bài toán khó.

Tuy nhiên, khi phân tích về độ an toàn của các ứng dụng này phải quan tâm đến

đối tượng tấn công và thời gian cho phép đối với việc tấn công, cho nên một

ứng dụng được gọi là an toàn trước đối tượng A trong thời gian T, nếu vấn đề

tấn công là vấn đề khó đối với A và đây là cơ sở cho phương pháp xây dựng hệ

mật an toàn.

Vấn đề xây dựng các hệ mật hay các lược đồ chữ ký có độ an toàn dựa

trên hai bài toán khó A và B nhằm mục đích có được các ứng dụng mật mã vẫn

an toàn, ngay cả trong tình huống một trong hai bài toán nêu trên bị phá.

Từ mục đích trên cho thấy, một ứng dụng mật mã dựa trên hai bài toán

khó A và B nếu thỏa mãn các điều kiện:

- Muốn tấn công thì phải giải được đồng thời A và B.

- Bài toán giải A trong điều kiện giải được B (kí hiệu là bài toán A/B)

và bài toán giải B trong điều kiện giải được A (kí hiệu là bài toán B/A) đều là

bài toán khó.

Một khi đã xây dựng được một ứng dụng mật mã dựa vào hai bài toán

19

khó thì việc xác định tiêu chuẩn cho các tham số được dùng trong ứng dụng này

cũng tuân theo điều kiện nhất định để đảm bảo được ngưỡng an toàn nào đó.

Ngưỡng an toàn được hiểu là số phép toán cơ bản người tấn công không thể

thực hiện được trong thời gian T.

1.3.1.2. Một số bài toán cơ sở sử dụng trong luận án

a. Bài toán phân tích số

Định nghĩa 1.2 [20]: Cho trước một số nguyên dương n, thừa số nguyên tố của

nó được viết dưới dạng:

𝑒𝑘 𝑒2 … 𝑝𝑘

𝑒1𝑝2 Trong đó pi là các số nguyên tố phân biệt theo từng cặp và 𝑒𝑖 ≥ 1.

(1.2) 𝑛 = 𝑝1

Một trường hợp riêng của bài toán phân tích số được ứng dụng để xây

dựng hệ mật RSA [57] mà ở đó n là tích của 2 số nguyên tố p và q. Khi đó, bài

toán phân tích số hay còn gọi là bài toán IFP(n) được phát biểu như sau:

Với mỗi số nguyên dương n, hãy tìm số nguyên tố p hoặc q thỏa mãn

phương trình (1.3):

(1.3)

Thực tế bài toán đặt ra chỉ cần tìm được một số p hoặc q. Bài toán này

chỉ là bài toán khó khi n đủ lớn, tức là, khi n là hợp số có hàng trăm chữ số thập

phân và chỉ có hai ước nguyên tố. Theo đó, bản chất của bài toán là tìm được

một số nguyên tố lớn là ước của n cho trước. Vấn đề thực tế và ý nghĩa của bài

toán: nếu n là hợp số lớn bất kỳ thì rất khó để kiểm tra n chỉ có hai ước nguyên

tố. Trong mật mã học, người ta thường biết trước n là tích của hai số nguyên tố

lớn, nhưng giá trị cụ thể của hai số nguyên tố này không được biết trước. Người

khác muốn tìm được p, q phải giải phương trình trên.

Giải thuật cho bài toán IFP(n) có thể được viết như một thuật toán tính

hàm IFP(.) với biến đầu vào là n, còn giá trị hàm là p hoặc q của phương trình:

hoặc: (1.4)

20

Trong hệ mật RSA, bài toán phân tích số được sử dụng trong việc hình

thành cặp khóa công khai và khóa bí mật cho mỗi thực thể ký. Với việc giữ bí

mật các tham số (p, q) thì việc tính được khóa bí mật (d) từ khóa công khai (e)

và modulo n là một bài toán khó nếu p, q được chọn đủ lớn và mạnh. Hiện tại,

IFP(n) vẫn được coi là bài toán khó do chưa có giải thuật thời gian đa thức cho

bài toán này và hệ mật RSA là một minh chứng cho tính khó giải của bài toán

IFP(n). Trong thực tế, các tham số p, q có thể chọn theo X9.31 hay FIPS 186 - 4

của Hoa Kỳ cho hệ mật RSA [51].

b. Bài toán khai căn trên Zn

Cho cặp số nguyên dương (n,e) với n là tích 2 số nguyên tố p và q sao

cho bài toán phân tích số là khó giải trên Zn, còn e là một giá trị thỏa mãn:

và: , ở đây: . Khi đó, bài

toán khai căn trên Zn hay còn gọi là RSAP(n,e) được phát biểu như sau:

Bài toán RSAP(n,e): Với mỗi số nguyên dương , tìm x thỏa mãn

phương trình (1.5):

(1.5)

Giải thuật cho bài toán RSAP(n,e) có thể được viết như một thuật toán tính

hàm RSAP(n,e)(.), với biến đầu vào là y, còn giá trị hàm là x của phương trình (1.6):

(1.6)

Bài toán RSAP(n,e) cũng là cơ sở để xây dựng nên hệ mật RSA. Trong hệ

mật RSA nếu giải được RSAP(n,e), kẻ thám mã có thể tìm được bản rõ (M) từ

bản mã (C) và các tham số công khai (n,e), hoặc dễ dàng tạo được chữ ký giả

mạo (S) cho một bản tin bất kỳ (M) mà không cần biết khóa bí mật (d) của đối

tượng ký (bị mạo danh). Tuy nhiên, hiện tại việc tấn công hệ mật RSA bằng

việc giải RSAP(n,e) là vẫn chưa khả thi.

c. Bài toán logarit trên Zp

Định nghĩa 1.3 [62]: Nếu p là một số nguyên tố, thì Zp là ký hiệu của tập các

số nguyên 0,1,2,..., 1, p -1. Các phép cộng và phép nhân được thực hiện qua

21

phép modulo p. Khi đó, tồn tại một phần tử sao cho mỗi phần tử

khác 0 trong Zp có thể được viết dưới dạng lũy thừa của g. Phần tử g được gọi

là phần tử sinh của Zp.

Bài toán phát biểu như sau: cho cặp số nguyên dương (p,g) với p là số

*. Khi đó, bài toán logarit rời rạc

nguyên tố, còn g là một phần tử của nhóm Zp

trên Zp hay còn gọi là bài toán DLP(p,g) được phát biểu như sau:

Bài toán DLP(p,g): Với mỗi số nguyên dương , tìm x thỏa mãn

phương trình (1.7):

(1.7)

Giải thuật cho bài toán DLP(p,g) có thể được viết như một thuật toán tính

hàm DLpP(.) với biến đầu vào là y, còn giá trị hàm là x của phương trình (1.8):

(1.8)

Bài toán DLP(p,g) là cơ sở để xây dựng nên hệ mật Elgamal, việc sử dụng

rộng rãi của hệ mật Elgamal [69] và các biến thể của nó trong thực tế hiện nay

là một minh chứng cho tính khó giải của bài toán này.

d. Bài toán logarit trên Zn

Cho cặp số nguyên dương (n,g) với n là tích hai số nguyên tố p và q sao

*.

cho bài toán phân tích số là khó giải trên Zn, còn g là một phần tử của nhóm Zn

Khi đó, bài toán logarit rời rạc trên Zn hay còn gọi là bài toán DLP(n,g) được phát

biểu như sau:

Bài toán DLP(n,g): Với mỗi số nguyên dương , hãy tìm x thỏa mãn

phương trình (1.9):

(1.9)

Giải thuật cho bài toán DLP(n,g) có thể được viết như một thuật toán tính

hàm DLnP(.), với biến đầu vào là y, còn giá trị hàm là x của phương trình (1.10):

1.10)

22

Tương tự bài toán phân tích số IFP(n), bài toán DLP(n,g) cũng là cơ sở để

xây dựng nên hệ mật RSA. Hiện tại chưa có giải thuật hiệu quả (thời gian đa

thức hay đa thức xác suất) cho DLP(n,g), vì thế tính khó của việc giải bài toán

logarit rời rạc trên Zn có thể đặt ra với giả thiết là giải thuật cho bài toán này

phải được thực hiện thông qua việc giải hai bài toán: bài toán phân tích n thành

tích của hai số nguyên tố p, q (bài toán phân tích số) và bài toán logarit rời rạc

theo modulo p và q là các nhân tử của n (bài toán logarit rời rạc trên Zp). Như

vậy, ý tưởng của giải pháp cho DLP(n,g) là: nếu như độ khó để giải bài toán phân

tích số là đủ lớn, thì độ khó để giải được bài toán DLP(n,g) sẽ là tích các độ khó

của việc giải hai bài toán IFP(n) và bài toán DLP(p,g), với giả thiết xác suất xảy

ra việc giải được đồng thời cả hai bài toán này là nhỏ, nên khả năng giải được

bài toán DLP(n,g) là thấp.

1.3.2. Hàm băm

Trong các giao dịch điện tử, hàm băm đóng vai trò quan trọng trong việc

dùng để tạo chữ ký số và xác thực tính toàn vẹn của dữ liệu.

Hàm băm là một ánh xạ, nó thực hiện ánh xạ các chuỗi nhị phân có độ

dài tuỳ ý thành các chuỗi nhị phân có độ dài cố định được gọi là giá trị băm.

Hàm băm được mô tả bằng công thức sau: E(M,H0) = H, trong đó, M là

một văn bản cần băm, H0 là giá trị khởi tạo ban đầu, H là giá trị băm có được

từ M. Nhưng do H0 là giá trị cụ thể nên để đơn giản và không làm mất tính tổng

quát ta có: E(M) = H.

Hàm băm được gọi là an toàn khi nó thỏa mãn các tính chất sau [45]:

- Hàm một chiều: tức là nếu cho M, H thì sẽ dễ dàng tính ra H=E(M).

Nhưng nếu chỉ có giá trị băm H thì rất “khó” có thể tìm được văn bản M sao

cho H=E(M). Tính “khó” ở đây được hiểu là hiện tại không chỉ ra được thuật

toán hữu hiệu nào làm được.

- Không tìm được xung đột: tức là rất khó để tìm ra hai văn bản M và M′

có cùng giá trị băm.

23

- Không tìm được xung đột của văn bản cho trước: tức là cho trước văn

bản M thì rất khó để tìm được văn bản M′ có cùng giá trị băm với văn bản M.

Một số hàm băm được sử dụng hiện nay như: SHA-1, SHA-224, SHA-

256, SHA-348, SHA-512 do NIST và NSA xây dựng.

1.3.3. Độ phức tạp tính toán của các thuật toán

Hiệu quả của một thuật toán được ứng dụng trên máy tính hiện đại gồm:

thời gian thực hiện thuật toán để giải bài toán và bộ nhớ máy tính cần thiết để

cài đặt thuật toán. Đối với các máy tính hiện đại thì vấn đề bộ nhớ không còn

cấp thiết nữa nhưng vấn đề thời gian luôn hiện hữu. Thời gian thực hiện thuật

toán phụ thuộc độ phức tạp của thuật toán. Độ phức tạp tính toán của các thuật

toán có thể lấy thời gian thực hiện trên máy tính làm thước đo. Tuy nhiên thước

đo này chưa phản ảnh chính xác “độ phức tạp tính toán” của thuật toán, vì thời

gian tính toán còn phụ thuộc tốc độ máy tính, bộ nhớ cần thiết để cài đặt thuật

toán và kỹ thuật lập trình. Để làm rõ bản chất của “độ phức tạp tính toán” của

thuật toán người ta sử dụng khái niệm số lượng các phép tính cơ bản mà chương

trình cần thực hiện theo thuật toán để giải xong bài toán.

Lý thuyết độ phức tạp cung cấp một phương pháp để phân tích độ phức

tạp tính toán của thuật toán và các kỹ thuật mã hoá khác nhau. Lý thuyết thông

tin cho biết một thuật toán mã hoá có thể bị bại lộ, còn lý thuyết độ phức tạp

cho biết khả năng bi ̣thám mã của một hệ mã mật. Độ phức tạp thời gian của

thuật toán là một hàm của kích thước dữ liệu đầu vào của thuật toán đó. Thông

thường độ phức tạp thời gian của thuật toán được kí hiệu là hàm số f(n) (n là

đối số của hàm f và f là hàm của n, tức là, f là số lượng các phép tính cần thực

hiện theo thuật toán, đối với mọi n). Tuy nhiên, xác định được hàm số f(n) là

việc làm khó khăn hơn là so sánh nó với những hàm đã biết. Người ta phân các

thuật toán theo các lớp xác định để dễ hiểu và dễ biểu diễn.

Ví dụ, những thuật toán có độ phức tạp là n3 được gộp vào cùng nhóm

và kí hiệu nhóm này là O(n3). Nói chung, để chỉ hai hàm f(x) và g(x) cùng có

độ tăng như nhau (cùng nhóm độ phức tạp tính toán) và viết

24

Các thuật toán được chia thành hai lớp tổng quát: lớp P (Polynomial - đa

thức) và lớp NP (NonPolynomial - không phải đa thức). Các thuật toán thuộc

lớp P có độ phức tạp là hàm đa thức. Độ phức tạp các hàm mũ thuộc lớp NP.

Để đánh giá hiệu quả thực hiện của lược đồ chữ ký đề xuất với các lược

đồ khác, luận án đánh giá độ phức tạp thời gian của các lược đồ chữ ký thông

qua số phép toán cần thực hiện gồm: thời gian thực hiện phép tính lũy thừa

modulo; thời gian thực hiện phép nghịch đảo modulo; thời gian thực hiện hàm

băm; thời gian thực hiện phép nhân modulo…

Chi phí tổng thời gian cần thực hiện các phép toán để tạo chữ ký và kiểm

tra chữ ký càng thấp thì hiệu quả thực hiện của lược đồ càng cao.

1.4. Các lược đồ chữ ký số và chuẩn chữ ký số phổ biến

1.4.1. Lược đồ chữ ký số RSA

Lược đồ chữ ký số RSA được xây dựng dựa trên hệ mật RSA [57]. Các

thuật toán được sử dụng trong hệ mật RSA sử dụng các khóa công khai và khóa

bí mật để mã hóa thông tin và giải mã thông tin.

1.4.1.1. Thuật toán chữ ký số RSA

Thuật toán chữ ký RSA sử dụng cặp khóa công khai và khóa bí mật được

sinh theo thuật toán sinh khóa RSA. Trong đó, khóa bí mật là d được sử dụng

để sinh chữ ký và khóa công khai được dùng để kiểm tra chữ ký.

Thuật toán hình thành chữ ký và kiểm tra chữ ký được thực hiện như sau:

a. Tạo các tham số và khóa

1. Chọn cặp số nguyên tố p và q đủ lớn.

2. Tính: ,

3. Chọn khóa công khai e là một giá trị ngẫu nhiên thỏa mãn:

4. Tìm khóa bí mật d thỏa mãn:

Trong đó:

- d là khóa bí mật;

25

- n, e là giá trị công khai.

b. Hình thành chữ ký

1. Tính giá trị đại diện m của thông điệp dữ liệu cần ký M:

, với H(.) là hàm băm .

2. Hình thành chữ ký (S) theo công thức:

c. Kiểm tra chữ ký

1. Tính giá trị đại diện m của thông điệp dữ liệu cần thẩm tra (M):

2. Sử dụng khóa công khai của người ký để tính giá trị theo công thức:

3. Kiểm tra nếu thì chữ ký hợp lệ, do đó nguồn gốc tính toàn vẹn

của thông điệp dữ liệu cần thẩm tra được công nhận.

1.4.1.2. Độ an toàn của hệ mật mã RSA

Mức độ an toàn của hệ mật RSA được đánh giá qua khả năng:

- Chống tấn công làm lộ khóa mật.

- Chống thám mã.

- Chống giả mạo chữ ký.

a. Khả năng chống tấn công làm lộ khóa bí mật

Việc tính khóa bí mật có thể thực hiện qua 2 cách như sau:

- Phân tích modulo n để tìm p và q, từ đó tính , sau đó

tính khóa bí mật theo công thức: . Đây là bài toán phân tích một

số nguyên lớn ra các thừa số nguyên tố. Tấn công khóa bí mật bằng cách này,

kẻ tấn công cần phải giải được bài toán phân tích số.

- Từ thuật toán hình thành chữ ký: , tính khóa bí mật (d)

từ việc giải: . Đây là bài toán logarit rời rạc trong modulo n với

26

n là hợp số. Tấn công khóa mật thành công bằng cách này cần phải giải được

bài toán logarit rời rạc trong modulo hợp số.

b. Khả năng chống thám mã

Thông điệp dữ liệu M được biểu diễn thành một giá trị tương ứng m trong

khoảng . Theo lý thuyết, từ và mã hóa theo công thức:

bản mã (C) và khóa công khai (e) có thể tính: , sau đó khôi phục

lại M. Đây là bài toán khai căn trong modulo n với n là hợp số. Thám mã bằng

cách này, kẻ tấn công cần phải giải được bài toán khai căn trong modulo hợp số.

c. Khả năng chống giả mạo chữ ký

Bài toán khai căn trong modulo hợp số cũng được sử dụng trong việc

chống giả mạo chữ ký của hệ mật RSA, điều kiện để chữ ký (S) được công nhận

là hợp lệ tương ứng với thông điệp dữ liệu (M) nếu cặp thỏa mãn điều

kiện: . Do đó, về lý thuyết có thể chọn một giá trị bất kỳ từ

việc tính làm chữ ký giả mạo. Tuy nhiên, giá trị này dễ dàng

bị chủ thể của khóa công khai (e) chứng minh là giả mạo, còn việc tính được

giá trị chính xác của chữ ký tương ứng với thông điệp dữ liệu M từ việc tính

thì cũng khó tương tự như việc tìm được thông điệp dữ liệu M

từ khóa công khai (e) và bản mã (C). Như vậy, để giả mạo được chữ ký kẻ tấn

công cũng cần phải giải được bài toán khai căn trong modulo hợp số tương tự

như trường hợp thám mã đã được chỉ ra.

Hiện tại, các bài toán trên vẫn được coi là các bài toán khó [45], [66] và

chưa có một công bố nào cho thấy hệ mật RSA bị phá vỡ bằng việc giải các bài

toán này. Tuy nhiên, độ an toàn của hệ mật RSA còn phụ thuộc vào một số yếu

tố khác, mà một trong những yếu tố đó là việc dùng chung modulo n. Khi nhiều

người cùng dùng chung modulo n, do biết được chung và khóa công khai

của nhau, nên mỗi người trong số họ hoàn toàn có thể tính được khóa bí mật

của những người khác. Đây chính là nhược điểm lớn nhất của hệ mật RSA xét

27

theo khía cạnh ứng dụng.

1.4.2. Lược đồ chữ ký số Elgamal

Năm 1985, Taher Elgamal [69] đề xuất một phương pháp mới của mã

hóa khóa công khai dựa trên bài toán logarit rời rạc. Hệ mật Elgamal bao gồm

thuật toán chữ ký số và thuật toán mật mã khóa công khai. Các chuẩn chữ ký

số DSS [52] của Mỹ được phát triển trên cơ sở thuật toán chữ ký số của hệ mật

Elgamal.

Hệ mật Elgamal là một biến thể của sơ đồ phân phối khóa Diffie -

Hellman [73], tính an toàn của hệ mật dựa trên tính khó giải của bài toán logarit

rời rạc. Tuy nhiên, nhược điểm lớn nhất của hệ mật Elgamal là kích thước thông

tin sau khi mã hóa gửi đi sẽ tăng gấp đôi so với thông tin gốc.

1.4.2.1. Thuật toán chữ ký số Elgamal

Thuật toán Elgamal gồm các quá trình thực hiện như sau:

- Tạo các tham số và khóa.

- Tạo chữ ký.

- Kiểm tra chữ ký.

a. Tạo các tham số và khóa

1. Chọn số nguyên tố p đủ lớn sao cho bài toán logarit trong Zp là khó giải.

2. Chọn phần tử nguyên thủy g:

3. Chọn ngẫu nhiên khóa bí mật x sao cho:

4. Tính khóa công khai:

Trong đó:

- y là khóa công khai;

- x là khóa bí mật;

- p, g là các tham số công khai.

b. Tạo chữ ký

Thuật toán ký lên thông điệp dữ liệu M gồm các bước sau:

1. Chọn ngẫu nhiên giá trị k thỏa mãn điều kiện:

28

2. Tính thành phần thứ nhất (r) và thành phần thứ hai (s) của chữ ký:

Trong đó:

- H(.) là hàm băm.

c. Kiểm tra chữ ký

1. Tính vế thứ nhất:

2. Tính vế thứ hai:

3. Kiểm tra: Nếu thì chữ ký là hợp lệ, ngược lại chữ ký

là giả mạo.

1.4.2.2. Độ an toàn của hệ mật Elgamal

Mức độ an toàn của hệ mật Elgamal sẽ bị phá vỡ khi kẻ tấn công có thể

khôi phục thông điệp dữ liệu m từ bản mã (r,s) và các tham số công khai của hệ

thống p, y, g.

a. Trường hợp tính được khóa mật x hoặc k.

Để tính được x hoặc k, kẻ tấn công cần phải giải một trong hai bài toán

logarit rời rạc: hoặc: . Tuy nhiên, việc giải bài

toán logarit rời rạc là một việc khó và chưa có cách hữu hiệu nào để thực hiện

được. Điều này đã được chứng minh trong [45] và [66].

b. Trường hợp khôi phục nội dung thông điệp dữ liệu m.

Để khôi phục được nội dung thông điệp dữ liệu m kẻ tấn công cần phải

giải được: trong trường hợp không biết k (trong đó y là khóa

công khai của người nhận), hoặc: trong trường hợp không

biết x (khóa bí mật của người nhận). Có thể thấy rằng, việc khôi phục m từ việc

giải trực tiếp các bài toán này cũng khó như việc giải bài toán logarit rời rạc để

tìm x hoặc k.

29

c. Trường hợp sử dụng lại khóa k.

Trong hệ mật Elgamal, khi giá trị k dùng cho hai lần ký khác nhau thì

nguy cơ bị tấn công có thể xảy ra.

Giả thiết, nếu ta sử dụng cùng một giá trị k để mã hóa hai thông điệp dữ

liệu m1 và m2 được các bản mã tương ứng là (c1, r1) và (c2, r2), khi đó:

Suy ra:

Điều này chứng tỏ kẻ tấn công sẽ dễ dàng biết được nội dung của thông

điệp dữ liệu còn lại nếu biết nội dung của một trong hai thông điệp dữ liệu m1

hoặc m2.

Hệ mật Elgamal được xây dựng dựa trên bài toán logarit rời rạc. Do đó,

tính an toàn của hệ mật tùy thuộc vào độ phức tạp của bài toán logarit. Khi chọn

số nguyên tố p đủ lớn, thuật toán mã hóa Elgamal chưa có phương pháp thám

mã hiệu quả.

1.4.3. Chuẩn chữ ký số GOST 34.10-94

Chuẩn chữ ký số GOST 34.10-94 của Nga [31] ra đời sau chuẩn DSS

của Mỹ. Chuẩn GOST 34.10-94 là một biến thể của thuật toán chữ ký Elgamal

và được gọi chung là thuật toán chữ ký số họ Elgamal.

Sơ đồ chuẩn chữ ký GOST 34.10-94 gồm các quá trình thực hiện:

- Tạo các tham số hệ thống và khóa.

- Tạo chữ ký.

- Kiểm tra chữ ký.

1.4.3.1. Tạo các tham số hệ thống và khóa

1. Chọn p là số nguyên tố lớn.

∗ có bậc là

2. Chọn q là số nguyên tố sao cho: .

3. Chọn g là phần tử sinh của nhóm con thuộc nhóm nhân 𝑍𝑝

30

q, khi đó:

4. Chọn x là khóa bí mật, với

5. Tính khóa công khai y theo công thức:

Trong đó:

- y là khóa công khai;

- x là khóa bí mật; p, q, g là các tham số công khai.

1.4.3.2. Tạo chữ ký

Tính các thành phần của chữ ký:

1. Lựa chọn số ngẫu nhiên k sao cho:

2. Tính thành phần thứ nhất:

3. Tính thành phần thứ hai:

4. Kết quả đầu ra của thuật toán là cặp chữ ký

1.4.3.3. Kiểm tra chữ ký

Người nhận muốn kiểm tra chữ ký có tương ứng với thông điệp dữ

liệu M và các tham số công khai (p, q, g, y) không, thì người nhận thực hiện các

bước tính các giá trị v, c1, c2, u theo công thức:

1. Tính giá trị v:

2. Tính giá trị c1:

3. Tính giá trị c2:

4. Tính giá trị u:

5. Kiểm tra: Nếu thì chữ ký là hợp lệ, ngược lại chữ ký

là giả mạo.

1.5. Một số vấn đề đặt ra và định hướng nghiên cứu của luận án

1.5.1. Những vấn đề tồn tại của lược đồ chữ ký số và mô hình chữ ký số

Trong định hướng nghiên cứu của luận án sẽ tìm hiểu về độ an toàn của

các lược đồ chữ ký số và các mô hình chữ ký hiện nay, để từ đó nâng cao độ an

31

toàn cho các lược đồ chữ ký số, đồng thời xây dựng, phát triển mô hình chữ ký

số phù hợp hơn trong việc kiểm tra, xác nhận các thành viên tham gia ký ở các

cấp độ trong các cơ quan, tổ chức có tư cách pháp nhân trong xã hội.

Trong những năm qua, đã có rất nhiều công trình nghiên cứu về lược đồ

chữ ký số được xây dựng dựa trên các bài toán khó như bài toán phân tích số,

bài toán logarit rời rạc, bài toán logarit rời rạc trên đường cong elliptic... Các

lược đồ chữ ký số đã được ứng dụng trong nhiều lĩnh vực để hỗ trợ cho các hoạt

động về chứng thực nguồn gốc thông tin dữ liệu trong các giao dịch điện tử.

Tuy nhiên, sau một thời gian một số lược đồ chữ ký số đã được các nhà

khoa học chứng minh là chưa an toàn, chữ ký có thể bị giả mạo. Trong công bố

của M.Burmester và các đồng nghiệp [44], nhóm tác giả đã đưa ra lược đồ đa

chữ ký dựa trên sơ đồ chữ ký của Elgamal [69] được xây dựng dựa trên bài toán

logarit rời rạc. Lược đồ này cho phép các thành viên có thể thực hiện ký theo

cả dạng cấu trúc nối tiếp và song song nhưng mức độ bảo mật sẽ giảm đi. Năm

2010, Jun Zhang đã đưa ra lược đồ đa chữ ký [36] có thể chống lại các cuộc tấn

công mà lược đồ của M.Burmester chưa khắc phục được. Lược đồ [36] cho

phép xác minh tham số chữ ký và tất cả các khóa công khai của người ký, đồng

thời có thể phát hiện việc giả mạo một số thông điệp và khóa công khai của

chính người ký.

Năm 2003, Hwang và các cộng sự đã đề xuất lược đồ đa chữ ký dựa trên

bài toán logarit rời rạc [59]. Lược đồ chỉ rõ trách nhiệm của từng thành viên

trong nhóm ký mà lược đồ [41] chưa làm được. Ngoài ra, lược đồ cũng đề xuất

một cách mới để tạo khóa công khai có thể chống lại dạng tấn công lừa đảo mà

Li và công sự đã chỉ ra [76]. Đồng thời cũng chỉ ra lược đồ mới an toàn hơn

lược đồ của Harn, nhưng kích thước của chữ ký nhóm vẫn giống như kích thước

của chữ ký đơn.

Để nâng cao độ an toàn cho các lược đồ chữ ký số nhiều nhà khoa học

đã đề xuất, xây dựng các lược đồ chữ ký dựa trên sự kết hợp của các bài toán

khó như: bài toán phân tích số và bài toán logarit rời rạc, bài toán phân tích số

32

và bài toán khai căn, bài toán logarit rời rạc và bài toán khai căn ... Khi các lược

đồ chữ ký chỉ xây dựng trên một bài toán khó thì độ an toàn bị phá vỡ sẽ nhanh

hơn so với các lược đồ chữ ký được xây dựng dựa trên sự kết hợp của các bài

toán khó.

Một số lược đồ chữ ký được xây dựng trên cơ sở tính khó giải của hai

bài toán phân tích số và bài toán khai căn như LD15.9-01 [10]. Lược đồ được

thiết kế theo dạng lược đồ sinh chữ ký hai thành phần tương tự như DSA trong

chuẩn chữ ký số của Mỹ (DSS) hay GOST R34.10-94 của Liên bang Nga. Trong

lược đồ LD 15.9-01, hai tham số x và φ(n) cùng được sử dụng làm khóa bí mật

để hình thành chữ ký. Vì thế lược đồ LD 15.9-01 chỉ bị phá vỡ nếu cả x và φ(n)

cùng bị lộ, nói cách khác là kẻ tấn công phải giải được đồng thời hai bài toán

phân tích số và khai căn. Do đó, mức độ an toàn của lược đồ mới đề xuất xét

theo khả năng chống tấn công làm lộ khóa mật được đánh giá bằng mức độ khó

của hai bài toán phân tích số và khai căn.

Từ năm 1991 đến nay, nhiều công trình nghiên cứu các lược đồ chữ ký

được xây dựng dựa trên sự kết hợp của hai bài toán phân tích số và logarit rời

rạc như [12], [23], [29], [32], [38], [42], [54], [55], [60], [63], [64], [67], [68],

[77], [71], [72], [27], hay sự kết hợp của hai bài toán phân tích số hoặc logarit

rời rạc và khai căn như trong [8], [13], [14], [15] với mục đích nhằm nâng cao

độ an toàn cho các lược đồ chữ ký.

Tuy nhiên, sau một thời gian một số lược đồ chữ ký đã được nhiều nhà

khoa học chứng minh là không an toàn như [32], [38], [42], [60], [63], [77] hoặc

tính an toàn của các lược đồ này chỉ dựa trên một bài toán khó được chỉ ra trong

[23], [27]. Cụ thể:

Năm 1994, L. Harn đã đưa ra lược đồ chữ ký số dựa trên hai bài toán khó

phân tích số và bài toán logarit rời rạc [38], lược đồ này kết hợp giữa RSA và

Elgamal để nâng cao hiệu năng tính toán. Tuy nhiên, đến năm 1996, Lee và

cộng sự [39] đã chứng minh được là có thể giải được lược đồ chữ ký của Harn

khi chỉ cần giải được bài toán logarit rời rạc.

33

Trong lược đồ chữ ký [27] của tác giả Dernova đề xuất, quá trình xác

thực chữ ký sẽ kiểm tra điều kiện , vì cặp chữ ký có thể được

sinh ra mà không cần biết giá trị bí mật q. Như vậy, cặp chữ ký vẫn phù

hợp với quá trình kiểm tra, xác thực chữ ký. Tuy nhiên, cặp chữ ký sẽ

không thỏa mãn cả phương trình kiểm tra và điều kiện . Tính an toàn

của lược đồ chữ ký được dựa trên hai bài toán khó phân tích số và logarit rời

rạc. Tuy nhiên, thực tế có thể chứng minh tính an toàn ở đây chỉ dựa trên một

bài toán khó phân tích số hoặc bài toán logarit rời rạc.

Năm 2012, S.Vishnoi và cộng sự đã đưa ra lược đồ chữ ký số dựa trên hai

bài toán khó là phân tích số và logarit rời rạc [60]. Lược đồ mới đề xuất sẽ bị phá

vỡ nếu giải được đồng thời hai bài toán trên và nó có thể áp dụng được trong thực

tế. Tuy nhiên, đến năm 2013, Shin-Yan Chiou và cộng sự [65] đã chứng minh

được lược đồ [60] là không an toàn trước các cuộc tấn công giả mạo chữ ký.

Lược đồ này có thể bị phá vỡ khi chỉ cần giải được một bài toán khó.

Phát triển các lược đồ chữ ký số với mục đích nâng cao độ an toàn cho

thuật toán là một hướng nghiên cứu được nhiều người quan tâm. Trong các kết

quả nghiên cứu [10],[26], [29], [47], [54], [55], [64], [67], [68], [75] các tác giả

đã đề xuất một số lược đồ chữ ký xây dựng trên đồng thời hai bài toán khó.

Đáng chú ý nhất trong đó là hai lược đồ đề xuất bởi [47] và [26]. Trong [47] và

một số kết quả trước đó, các lược đồ chữ ký đề xuất ở đây được xây dựng dựa

trên tính khó của việc giải bài toán logarit rời rạc trên Zp với p là số nguyên tố

có dạng: , trong đó n là tích của hai số nguyên tố lớn sao cho việc phân

tích n thành nhân tử là khó thực hiện. Để phá vỡ các lược đồ này cần phải giải

được đồng thời bài toán phân tích n thành tích của hai thừa số nguyên tố p, q

(bài toán phân tích số) và bài toán logarit rời rạc theo modulo p và q là các nhân

tử của n (bài toán logarit rời rạc trên Zp). Mặc dù vậy, các lược đồ này vẫn tồn

tại nhược điểm là kích thước chữ ký do các lược đồ sinh ra vẫn còn khá lớn nên

tốc độ xử lý chậm. Ngoài ra, việc sử dụng hai khóa công khai là không phù hợp

34

cho các hệ thống hiện tại. Trong [26], các tác giả đã giải quyết vấn đề rút gọn

độ dài chữ ký, nhưng điều đó cũng đã làm giảm phần nào hiệu quả thực hiện

của các lược đồ.

Để tăng cường vấn đề bảo mật cho các lược đồ chữ ký số thì việc kết hợp

các bài toán khó như bài toán phân tích số, bài toán khai căn và bài toán logarit

rời rạc cũng là một trong những giải pháp. Tính an toàn của các lược đồ sẽ được

đảm bảo bởi tính khó giải đồng thời của các bài toán trên. Tuy nhiên, độ an toàn

của các lược đồ chữ ký số vẫn cần tiếp tục được quan tâm nghiên cứu, vì hiện

nay nhiều hệ thống máy tính lớn với năng lực xử lý rất cao nên việc giải được

các bài toán khó là có thể thực hiện được trong thời gian tới.

Bên cạnh đó, khi nhu cầu sử dụng chữ ký số trong các giao dịch điện tử

ngày càng tăng, thì việc xác minh về nguồn gốc của các thông điệp dữ liệu do

các đối tượng tạo ra thuộc các cơ quan, tổ chức nào đó sẽ được quan tâm nhiều

hơn trong thời gian tới.

Trong các cơ quan, tổ chức có tư cách pháp nhân trong xã hội, khi thực

hiện việc ký xác nhận các văn bản, hợp đồng... sẽ do một hoặc một nhóm

người ký lên các văn bản, giấy tờ đó. Tiếp theo, để xác nhận các thành viên

ký là thuộc các cơ quan tổ chức đó thì cần phải có sự xác nhận của cơ quan,

tổ chức mà các thành viên làm việc tại đó. Điều này sẽ giúp cho việc chứng

thực nguồn gốc thông tin được chặt chẽ hơn, chính xác đến từng cấp độ của

các cơ quan, tổ chức.

Ví dụ, trong một trường đại học, khi xây dựng chương trình đào tạo cho

một ngành có các nội dung như: kiến thức giáo dục đại cương và kiến thức giáo

dục chuyên nghiệp sẽ được phân công đến các khoa, các bộ môn thực hiện. Sau

khi xây dựng xong đề cương chi tiết các chương trình đào tạo, việc xác nhận và

ký duyệt được thực hiện từ nhiều thành phần khác nhau như: giáo viên xây dựng

đề cương, trưởng bộ môn, Ban chủ nhiệm khoa, Phòng đào tạo, Ban giám hiệu,

bộ phận văn thư (thuộc phòng Tổ chức - Hành chính).

35

Như vậy, với quy trình xây dựng một chương trình đào tạo phải có sự

kiểm tra, phê duyệt ở các cấp và xác nhận của cơ quan sau đó mới được ban

hành. Trong đó, bộ phận văn thư là thành phần cuối cùng để kiểm tra, xác nhận

các đối tượng ký và đóng dấu của cơ quan vào chương trình trước khi được ban

hành. Vấn đề đặt ra là làm thế nào để chứng thực được nguồn gốc, tính toàn vẹn

của thông tin chính xác đến từng cấp độ của từng bộ phận, tổ chức của đơn vị,

đồng thời đảm bảo thuận lợi trong việc lưu trữ và triển khai thực hiện.

Hiện nay, các mô hình/thuật toán chữ ký số đang được triển khai ứng

dụng trong thực tế đã đáp ứng được các yêu cầu về chứng thực nguồn gốc và

tính toàn vẹn của các thông điệp dữ liệu được tạo ra bởi những thực thể có

tính độc lập. Tuy nhiên, đối với các yêu cầu chứng thực đồng thời về nguồn

gốc và tính toàn vẹn của thông tin ở cấp độ thực thể tạo ra nó và cấp độ tổ

chức mà thực thể tạo ra thông tin là một thành viên của nó, thì các mô

hình/thuật toán hiện nay như: các thuật toán chữ ký đơn RSA [57], DSA [51],

GOST R34.10-94 [31], … hay các mô hình với các thuật toán chữ ký bội,

chữ ký nhóm [16], [5], [4], [48], [59] đều không đề cập đến vấn đề này.

Trong khi đó, các yêu cầu như thế ngày càng trở nên cần thiết để bảo đảm

cho việc chứng thực thông tin trong các thủ tục hành chính điện tử phù hợp

với các thủ tục hành chính trong thực tế xã hội.

Trong quá trình nghiên cứu, tìm hiểu về chữ ký số và ứng dụng trong

thực tế hiện nay, việc sử dụng chữ ký số để chứng thực nguồn gốc dữ liệu và

tính toàn vẹn của thông tin ở các cấp độ khác nhau, đồng thời đảm bảo thuận

lợi trong việc lưu trữ và triển khai thực hiện vẫn chưa được quan tâm đến.

Cụ thể vấn đề này được chỉ ra trong một số công trình nghiên cứu của các

nhà khoa học như sau:

Năm 2007, Khali và Farah lược đã đưa ra lược đồ ký số tập thể dựa trên

bài toán logarit rời rạc [33]. Trong đó tác giả đề xuất hai lược đồ chữ ký mới

dựa trên cơ sở sự bảo mật của DSA và ECDSA. Chữ ký có thể được xác nhận

riêng cho một người ký tên (hoặc xác thực thành viên nhóm), cho một nhóm

36

người ký tên (hoặc xác thực nhóm con), hoặc cho tất cả người ký của nhóm

(xác thực nhóm). Lược đồ mới có tốc độ nhanh hơn và tăng khả năng chống giả

mạo chữ ký. Lược đồ chữ ký số tập thể có thể áp dụng trong nhiều ứng dụng

như thương mại điện tử, ký kết hợp đồng văn bản giữa các tổ chức, chính phủ.

Tuy nhiên, các lược đồ mới đề xuất này cũng chưa đề cập đến việc chứng thực

về nguồn gốc và tính toàn vẹn của thông tin ở cấp độ tổ chức mà thực thể tạo

ra thông tin là một thành viên của nó.

Trong những năm gần đây, các lược đồ chữ ký số tập thể tiếp tục được

các nhà nghiên cứu phát triển, đề xuất cải tiến. Cụ thể, năm 2012, tiến sỹ Lưu

Hồng Dũng [6] đã đưa ra mô hình chữ ký số tập thể đáp ứng yêu cầu chứng

thực về nguồn gốc và tính toàn vẹn của thông điệp dữ liệu ở hai cấp độ khác

nhau, nhưng được phát triển theo hướng mô hình chữ ký tập thể dạng phân

biệt. Theo mô hình này thì việc lưu trữ quản lý chữ ký sẽ gồm hai thành phần

là chữ ký cá nhân của thực thể ký và chữ ký của CA là hai thành phần phân

biệt (tách biệt nhau), với mô hình này thì giống như các mô hình ký các giấy

tờ, văn bản trên giấy. Tuy nhiên khi áp dụng vào mô hình chữ ký điện tử thì

việc lưu trữ và truyền tin trong môi trường mạng là chưa thuận lợi, hiệu quả

chưa cao.

Năm 2017, trong luận án tiến sỹ của Đặng Minh Tuấn [16] đã đề xuất

mô hình chữ ký số tập thể đa thành phần tổng quát, cho phép mỗi thành viên

có thể ký nhiều thành phần khác nhau của văn bản và một phần của văn bản

có thể ký bởi nhiều người. Mô hình này được áp dụng để xây dựng các lược

đồ chữ ký số tập thể dựa trên các hệ mật đường cong elliptic, hệ mật DLP và

dựa trên cặp song tuyến tính. Tuy nhiên, với lược đồ chữ ký số tập thể đa

thành phần đề xuất trong [16] chưa đề cập đến việc chứng thực về nguồn gốc

và tính toàn vẹn của thông tin ở cấp độ tổ chức mà thực thể tạo ra thông tin là

một thành viên trong đó.

Năm 2017, tiến sỹ Đào Tuấn Hùng [9] đề xuất xây dựng các lược đồ chữ

ký số tập thể không phân biệt trách nhiệm và có phân biệt trách nhiệm với cấu

37

trúc tuần tự dựa trên độ khó của bài toán Logarit rời rạc. Các lược đồ đề xuất

có thể được áp dụng cho các lớp ứng dụng xử lý luồng công việc dựa trên các

quy trình xử lý công việc theo quy trình dựa trên ký số. Các lược đồ an toàn với

các dạng tấn công dựa trên tính khó giải của bài toán khó Logarit rời rạc và

cung cấp cơ chế xác thực bằng chứng về quá trình ký. Ưu điểm của các lược đồ

là tính kiểm tra được trình tự và trách nhiệm ký đối với người sử dụng so với

các nghiên cứu trước, đồng thời an toàn trước nguy cơ giả mạo. Tuy nhiên, các

lược đồ đề xuất chỉ đề cập đến việc chứng thực về nguồn gốc và tính toàn vẹn

của thông tin ở cấp độ cá nhân thực thể tạo ra nó, còn cấp độ tổ chức mà thực

thể tạo ra thông tin là một thành viên của nó thì chưa đề cập đến.

Năm 2018, Rena Ehmet và cộng sự [58] đưa ra lược đồ đa chữ ký và ủy

thác quyền ký của họ cho một nhóm người khác được gọi là nhóm ủy quyền.

Lược đồ mới đề xuất dựa trên bài toán RSA và bài toán logarit rời rạc. Mục tiêu

của lược đồ hướng đến là giảm thời gian ký và an toàn trong trước cuộc tấn

công văn bản đã được chọn trong mô hình tiên tri ngẫu nhiên. Tuy nhiên, lược

đồ trong [58] cũng chưa đề cập đến việc chứng thực về nguồn gốc và tính toàn

vẹn của thông tin ở cấp độ tổ chức mà thực thể tạo ra thông tin là một thành

viên trong đó.

Năm 2018, Lin Teng và Hang Li trong [43] đã đề xuất một lược đồ chữ

ký mù multi-proxy dựa trên bài toán logarit rời rạc kết hợp với đường cong

Eliptic, ánh xạ song tuyến và chữ ký mù. Lược đồ có thể chống lại các cuộc tấn

công bản mã được lựa chọn thích ứng trong mô hình tiên tri ngẫu nhiên, đồng

thời giảm thời gian tính toán, có khả năng chịu lỗi cao hơn so với các lược đồ

multi-proxy truyền thống. Theo thuật toán đề xuất trong [43] thì chưa đề cập

đến việc chứng thực về nguồn gốc và tính toàn vẹn của thông tin ở cấp độ tổ

chức mà thực thể tạo ra thông tin là một thành viên trong đó

Năm 2020, luận án tiến sỹ của Nguyễn Tấn Đức [7] có đề xuất lược đồ

chữ ký số tập thể mù dựa trên tính khó của các bài toán phân tích số và bài toán

logarit rời rạc. Các lược đồ được xây dựng dựa trên bài toán khó nhằm nâng

38

cao hơn tính an toàn của lược đồ. Tuy nhiên, hướng nghiên cứu của tác giả ở

đây là xây dựng lược đồ chữ ký số tập thể mù và việc chứng thực nguồn gốc

thông tin cũng chỉ thực hiện ở cấp độ các cá nhân tham gia ký.

Năm 2020, trong hội thảo quốc tế về Điện tử, Truyền thông và Công

nghệ thông tin REV-2020, Nguyễn Văn Chung và cộng sự [3] đã đề xuất lược

đồ chữ ký số tập thể ủy nhiệm dựa trên hệ mật ID-Based. Lược đồ chữ ký số

tập thể này không cần phải trao đổi khóa công khai và có thể biết khóa công

khai từ trước khi cặp khóa được tạo ra, nó có thể được tạo ra theo một quy định

tường minh và dễ dàng. Tuy nhiên, lược đồ trong [3] cũng chưa đề cập đến việc

chứng thực về nguồn gốc và tính toàn vẹn của thông tin ở cấp độ tổ chức mà

thực thể tạo ra thông tin là một thành viên trong đó

Năm 2020, Yue Xiao và cộng sự [74] đã đưa ra hai lược đồ đa chữ ký

GMS và AGMS trên nền tảng chuỗi khối cho các doanh nghiệp. Kết quả thử

nghiệm cho thấy lược đồ AGMS đạt được mục tiêu là hiệu quả giao dịch cao,

độ phức tạp lưu trữ thấp, có khả năng chống lại các cuộc tấn công giả mạo.

Theo các thuật toán đề xuất trong [74] thì chưa đề cập đến việc chứng thực về

nguồn gốc và tính toàn vẹn của thông tin ở cấp độ tổ chức mà thực thể tạo ra

thông tin là một thành viên trong đó.

Đảm bảo an toàn thông tin trong các giao dịch trên mạng luôn là vấn đề

thách thức đối với các nhà nghiên cứu. Khi hạ tầng Công nghệ thông tin ngày

càng phát triển thì việc sử dụng các hệ thống máy tính lớn để giải được các bài

toán khó trong lý thuyết số chỉ còn là vấn đề về thời gian. Do đó, việc tiếp tục

nghiên cứu, đề xuất các mô hình, thuật toán đảm bảo tính an toàn, phù hợp với

nhu cầu thực tế hiện nay luôn được nhiều nhà nghiên cứu quan tâm.

1.5.2. Định hướng nghiên cứu của luận án

Từ những vấn đề còn tồn tại như đã phân tích ở trên, NCS đã chọn hướng

nghiên cứu dựa trên chuẩn chữ ký GOST R34.10-94 và các lược đồ chữ ký số

phổ biến dựa trên các hệ mật RSA, Elgamal để xây dựng, cải tiến các lược đồ

chữ ký số. Các lược đồ chữ ký số được xây dựng dựa trên sự kết hợp của các

39

bài toán phân tích số (IFP), bài toán khai căn trên vành Zn (RSAP) và bài toán

logarit rời rạc (DLP) nhằm nâng cao độ an toàn cho các thuật toán. Đồng thời

đưa ra mô hình chữ ký số tập thể phù hợp với các cơ quan, tổ chức có tư cách

pháp nhân trong xã hội, cụ thể như sau:

- Đưa ra mô hình chữ ký số tập thể dạng kết hợp: Mô hình đề xuất nhằm

đảm bảo các yêu cầu chứng thực về nguồn gốc và tính toàn vẹn cho các thông

điệp dữ liệu ở các cấp độ khác nhau trong giao dịch điện tử, phù hợp với cơ

sở hạ tầng mạng hiện nay trong việc lưu trữ và truyền tin.

- Phát triển các lược đồ chữ ký số dựa trên các bài toán khó:

+ Dựa trên hai bài toán khó IFP và RSAP xây dựng các lược đồ chữ ký

cơ sở. Từ lược đồ chữ ký cơ sở, tiếp tục xây dựng lược đồ chữ ký tập thể dựa

trên mô hình chữ ký số tập thể dạng kết hợp. Mức độ an toàn của lược đồ được

quyết định bởi độ khó của các bài toán IFP và RSAP.

+ Dựa trên tính khó giải đồng thời của hai bài toán IFP và DLP để xây

dựng các lược đồ chữ ký cơ sở nhằm nâng cao độ an toàn. Từ lược đồ chữ ký

cơ sở, tiếp tục xây dựng lược đồ chữ ký tập thể dạng kết hợp. Để phá vỡ được

các lược đồ này, kẻ tấn công phải giải được đồng thời hai bài toán IFP và DLP.

Lược đồ mới đề xuất có kích thước chữ ký nhỏ hơn so với một số lược đồ trước

đó, nhưng vẫn đảm bảo tính an toàn và hiệu quả thực hiện.

- Các kết quả nghiên cứu của luận án sẽ được so sánh với các lược đồ

chữ ký số dựa trên sự kết hợp giải đồng thời hai bài toán khó và được trình bày

trong các chương tiếp theo của luận án.

1.6. Kết luận chương 1

Trong chương này, luận án đã trình bày một số khái niệm và thuật ngữ

liên quan đến chữ ký số, chữ ký số tập thể và cơ sở toán học để xây dựng các

lược đồ chữ ký số trong luận án. Các kết quả nghiên cứu trong và ngoài nước

về quá trình phát triển của chữ ký số tập thể, những vấn đề còn tồn tại trong một

số lược đồ chữ ký số.

40

Theo các kết quả phân tích về tính an toàn của các lược đồ chữ ký cho

thấy, một số lược đồ chữ ký có thể bị phá vỡ khi các tham số lựa chọn chưa hợp

lý, hoặc chỉ cần giải được một bài toán khó. Ngoài ra, các mô hình chữ ký số

hiện nay cũng chưa quan tâm đến yêu cầu chứng thực về nguồn gốc và tính

toàn vẹn cho các thông điệp dữ liệu ở các cấp độ khác nhau trong các giao

dịch điện tử. Từ các phân tích ở trên, luận án đưa ra định hướng nghiên cứu

tiếp tục nâng cao độ an toàn cho các lược đồ chữ ký dựa trên sự kết hợp của các

bài toán khó trong lý thuyết số. Đồng thời xây dựng, phát triển mô hình chữ ký

số tập thể dạng kết hợp phù hợp với các hoạt động giao dịch sử dụng chữ ký số

điện tử tại các cơ quan, tổ chức có tư cách pháp nhân trong xã hội.

41

CHƯƠNG 2. PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ TẬP THỂ DỰA TRÊN BÀI TOÁN IFP VÀ RSAP

Trong chương 2, luận án xây dựng mô hình chữ ký số tập thể dạng kết

hợp nhằm đáp ứng các nhu cầu trong thực tế. Dựa trên tính khó giải của bài

toán bài toán phân tích số và bài toán khai căn, luận án đưa ra phương pháp xây

dựng lược đồ chữ ký IFP-RSAP cơ sở I (dạng tổng quát) và lược đồ chữ ký IFP-

RSAP cơ sở II. Từ lược đồ chữ ký IFP-RSAP cơ sở II, luận án đề xuất xây dựng

lược đồ chữ ký IFP-RSAP tập thể theo mô hình chữ ký số tập thể dạng kết hợp

nhằm nâng cao độ an toàn và hiệu quả thực hiện.

2.1. Mô hình chữ ký số tập thể dạng kết hợp

Trên cơ sở nghiên cứu quá trình phát triển của chữ ký số, để đẩy mạnh

việc áp dụng chữ ký số tập thể trong các ứng dụng thực tế, luận án xây dựng,

phát triển mô hình ứng dụng chữ ký số tập thể dạng kết hợp nhằm đáp ứng yêu

cầu về chứng thực cho các thông điệp dữ liệu ở các cấp độ: thực thể tạo ra các

thông điệp dữ liệu và tổ chức mà thực thể tạo ra thông điệp dữ liệu là một thành

viên trong đó. Mô hình chữ ký số tập thể đưa ra phù hợp cho các đối tượng là

các cơ quan nhà nước, trường học, các đơn vị hành chính sự nghiệp, các doanh

nghiệp…

Mô hình chữ ký số tập thể dạng kết hợp được xây dựng dựa trên cấu trúc

của một PKI truyền thống [21], bảo đảm các chức năng về chứng thực thông

điệp dữ liệu [30] cho các cơ quan, tổ chức có tư cách pháp nhân trong xã hội.

Trong mô hình này, đối tượng ký có thể là một hay một nhóm người thuộc một

cơ quan, tổ chức được phép ký lên các thông điệp dữ liệu. Bộ phận CA trong

mô hình có chức năng kiểm tra, chứng nhận một thực thể là thành viên của tổ

chức và chứng thực các thông điệp dữ liệu được ký bởi các thực thể là thành

viên trong tổ chức đó. Trong mô hình, CA chức có chức năng, nhiệm vụ tương

tự như CA chứng thực khóa công khai trong mô hình PKI truyền thống. Chữ ký

tập thể dạng kết hợp được hình thành từ chữ ký cá nhân của thực thể ký hoặc

42

nhóm đối tượng ký và chữ ký của CA thuộc tổ chức đó. CA trong mô hình này

có các chức năng:

- Chứng nhận tính hợp pháp của khóa công khai và các thông tin nhận

dạng của các thành viên trong tổ chức (như tên chủ thể, tên tổ chức, địa chỉ …)

thông qua việc phát hành chứng chỉ khóa công khai PKC. Đồng thời, CA có

trách nhiệm thu hồi chứng chỉ khóa công khai khi hết thời hạn sử dụng hoặc các

chứng chỉ không hợp lệ.

- Chứng thực nguồn gốc và tính toàn vẹn của các thông điệp dữ liệu

được ký bởi các thành viên trong tổ chức này.

Tính toàn vẹn của các thông điệp dữ liệu ở đây được hiểu theo nghĩa là dữ

liệu không được sửa đổi, bị xóa một cách bất hợp pháp trong giao dịch. Tính toàn

vẹn bị xâm phạm khi một thông điệp dữ liệu bị chỉnh sửa trong giao dịch. Đảm

bảo tính toàn vẹn của các thông điệp dữ liệu, tức là các thông điệp dữ liệu chỉ

được phép xóa hoặc sửa bởi những đối tượng được cho phép và phải đảm bảo

rằng các thông điệp dữ liệu vẫn còn chính xác khi được lưu trữ hay truyền đi.

Theo mô hình chữ ký số tập thể dạng kết hợp, hệ thống cung cấp dịch vụ

chứng thực cũng gồm các hoạt động cơ bản như: Phát hành và quản lý chứng

chỉ khóa công khai; Hình thành và kiểm tra chữ ký số tập thể. Cụ thể như sau:

2.1.1. Phát hành và quản lý chứng chỉ khóa công khai

Việc phát hành chứng chỉ khóa công khai cũng được thực hiện tương tự

như [6]. Trong mô hình đề xuất, PKC được sử dụng để một tổ chức chứng nhận

các đối tượng ký là thành viên của nó. Cụ thể, trong cấu trúc cơ bản của một

chứng chỉ khóa công khai gồm có: Các thông tin nhận dạng (IDi) của chủ thể,

khóa công khai của chủ thể (yi), trạng thái hoạt động của chứng chỉ, số hiệu của

chứng chỉ, thông tin nhận dạng của CA,... Trên thực tế, mô hình mới đề xuất có

thể sử dụng khuôn dạng chứng chỉ X.509 [34]. Cấu trúc cơ bản và cơ chế hình

thành một PKC được minh họa trong Hình 2.1.

Để kiểm tra tính hợp lệ của một chứng chỉ khóa công khai sẽ dựa trên

43

kết quả đầu ra của thuật toán kiểm tra. Đầu vào là các thông tin về khóa công

khai của CA, chữ ký của CA, khóa công khai của chủ thể và các thông tin khác

Khóa riêng của CA (xCA)

Các thông tin nhận dạng (IDi) của chủ

thể: tên, tổ chức và địa chỉ ...

Khóa công khai của chủ thể (yi)

Trạng thái hoạt động của chứng chỉ

Thuật toán ký

Số hiệu của chứng chỉ

Thông tin nhận dạng của CA

Chữ ký số của CA

được minh họa trong Hình 2.2.

Khóa công khai của CA (yCA)

Các thông tin nhận dạng (IDi) của

chủ thể: tên, tổ chức và địa chỉ…

Khóa công khai của chủ thể (yi)

Trạng thái hoạt động của chứng chỉ

Số hiệu của chứng chỉ

Thuật toán kiểm tra

Thông tin nhận dạng của CA

Chữ ký số của CA

Công nhận/Từ chối

Hình 2.1. Cấu trúc cơ bản và cơ chế hình thành một chứng chỉ khóa công khai

Hình 2.2. Minh họa cơ chế kiểm tra tính hợp lệ của chứng chỉ khóa công khai

2.1.2. Quá trình hình thành và kiểm tra chữ ký số tập thể

Trong mô hình đề xuất, chữ ký tập thể được hình thành trên cơ sở chữ

ký cá nhân của thực thể ký (một hoặc một nhóm đối tượng ký) và chứng nhận

44

của CA với vai trò chứng thực của tổ chức đối với thông điệp dữ liệu cần ký. Ở

đây, CA sẽ ký trực tiếp lên thông điệp dữ liệu như các thành viên khác, chữ ký

của CA và chữ ký cá nhân của các đối tượng ký được kết hợp với nhau để hình

thành chữ ký tập thể. Cơ chế hình thành chữ ký dạng kết hợp được minh họa

Khóa bí mật của CA (xCA)

Chữ ký cá nhân của thực thể ký SU

Thuật toán ký f(M; SU; xCA)

Thông điệp dữ liệu cần ký (M)

Chữ ký tập thể S = f(M; SU; xCA)

trong Hình 2.3.

Hình 2.3. Minh họa về cơ chế hình thành chữ ký tập thể dạng kết hợp

Cơ chế hình thành chữ ký cá nhân (một hoặc một số đối tượng ký) dựa

trên dữ liệu đầu vào của thuật toán là khóa bí mật của thực thể ký (x1, x2, ...,xn)

và thông điệp dữ liệu cần ký (M). Kết quả đầu ra của thuật toán là chữ ký cá

Khóa bí mật của thực thể ký (x1,x2,…,xn)

Thuật toán ký f(M;x1,x2,…,xn)

Thông điệp dữ liệu cần ký (M)

Chữ ký cá nhân của thực thể ký SU = f(M;x1,x2,…,xn)

nhân của thực thể ký được minh họa trong Hình 2.4.

Hình 2.4. Minh họa cơ chế hình thành chữ ký cá nhân

Trong mô hình chữ ký tập thể dạng kết hợp, cơ chế kiểm tra tính hợp lệ

của chữ ký tập thể được minh họa trong Hình 2.5 như sau:

45

Khóa công khai của CA (yCA)

Khóa công khai của thực thể ký (y1, y2,…,yn)

Thông điệp dữ liệu cần thẩm tra (M)

Thuật toán kiểm tra V(M; y1, y2,…yn; yCA, S)

Chữ ký tập thể (S)

Công nhận/Từ chối

Hình 2.5. Minh họa cơ chế kiểm tra chữ ký tập thể dạng kết hợp

Để kiểm tra chứng nhận một hay một nhóm đối tượng là thành viên của

tổ chức đã ký lên thông điệp dữ liệu (M) cũng được thực hiện tương tự như [6],

cụ thể như sau: Dữ liệu đầu vào của thuật toán là khóa công khai của CA, thông

Khóa công khai của CA (yCA)

Thông điệp dữ liệu cần thẩm tra (M)

Thuật toán kiểm tra V(M;SCA;yCA)

Chứng nhận của CA (SCA)

Công nhận/Từ chối

điệp dữ liệu cần thẩm tra (M) và chứng nhận của CA.

Hình 2.6. Minh họa cơ chế kiểm tra chứng nhận của CA

Kết quả đầu ra của thuật toán là cơ sở để khẳng định thông điệp dữ liệu

được ký bởi các đối tượng là thành viên của tổ chức và tính toàn vẹn của dữ

liệu được đảm bảo. Cơ chế kiểm tra chứng nhận của CA được minh họa trong

Hình 2.6.

46

Để đảm bảo tính toàn vẹn của thông điệp dữ liệu, đồng thời khẳng định

chữ ký cá nhân là hợp lệ cũng được thực hiện tương tự như [6], thuật toán kiểm

tra có dữ liệu đầu vào gồm: Khóa công khai của thực thể ký, chữ ký cá nhân và

thông điệp dữ liệu cần thẩm tra. Kết quả đầu ra được công nhận hợp lệ thì nguồn

gốc và tính toàn vẹn của thông điệp dữ liệu cần thẩm tra được khẳng định. Cơ

Khóa công khai của thực thể ký (y1, y2,…,yn)

Thông điệp dữ liệu cần thẩm tra (M)

Thuật toán kiểm tra V(M; y1, y2,…,yn; SU)

Chữ ký cá nhân (SU)

Công nhận/Từ chối

chế kiểm tra tính hợp lệ của chữ ký cá nhân được minh họa trong Hình 2.7.

Hình 2.7. Minh họa cơ chế kiểm tra tính hợp lệ của chữ ký cá nhân

Thuật toán kiểm tra chữ ký cá nhân đóng vai trò quan trọng trong cơ chế

hình thành chữ ký tập thể. Thuật toán được sử dụng để chống lại một số dạng

tấn công giả mạo từ bên trong hệ thống.

Dựa trên mô hình mới đề xuất, luận án đề xuất xây dựng các lược đồ chữ

ký số tập thể dạng kết hợp, nhằm đáp ứng các nhu cầu trong thực tế hiện nay.

2.2. Xây dựng lược đồ chữ ký IFP-RSAP cơ sở I

Trong mục này, luận án đề xuất phát triển lược đồ chữ ký IFP-RSAP cơ

sở I (dạng tổng quát) dựa trên các bài toán khó đã được biết đến như là cơ sở

để xây dựng nên hệ mật RSA. Tuy nhiên, việc sử dụng các bài toán này trong

các thủ tục hình thành tham số và khóa, hình thành chữ ký ở lược đồ chữ ký

RSA và các lược đồ chữ ký IFP-RSAP cơ sở I là hoàn toàn khác nhau. Từ lược

đồ chữ ký dạng tổng quát có thể tạo ra một họ lược đồ chữ ký mới tương tự như

họ chữ ký Elgamal xây dựng trên bài toán logarit rời rạc.

47

2.2.1. Các bước xây dựng lược đồ IFP-RSAP cơ sở I

Qui trình chung của lược đồ IFP-RSAP cơ sở I gồm các bước: chọn các

tham số, tạo chữ ký, kiểm tra chữ ký (xác thực).

2.2.1.1. Lựa chọn và tính các tham số

Lược đồ chữ ký số cơ sở có các tham số được lựa chọn theo các bước

sau:

1. Chọn hai số nguyên tố khác nhau là p và q.

Để đảm bảo vấn đề an toàn và bảo mật thông tin thì các số nguyên

tố thường được sử dụng có kích thước lớn, có thể lên đến hàng nghìn

bit. Nếu các số p, q được chọn trực tiếp thì sẽ mất nhiều thời gian và

phụ thuộc vào các thuật toán kiểm tra. Do đó trong thực tế người ta

thường chọn các số nguyên tố đã được lưu trữ trong các kho bí mật.

Tùy thuộc vào mục đích sử dụng của chữ ký số mà các số nguyên

tố p, q được chọn theo các tiêu chuẩn và kích thước khác nhau. Trong

hệ mật RSA các tham số p, q có thể được chọn theo tiêu chuẩn FIPS

186 – 4 [51] của USA với các kích thước lớn hơn 512 bit.

2. Đặt ; 𝜑(𝑛) = (𝑝 − 1). (𝑞 − 1). Giá trị 𝜑(𝑛) được gọi là hàm

Euler.

3. Chọn một số nguyên bất kỳ x1 trong khoảng và thỏa mãn

gcd(𝑥1, 𝑛) = 1. Tức là, x1 nguyên tố cùng nhau với n và x1 phải là một số nguyên rất lớn, chỉ nhỏ hơn n.

Tham số y được chọn như sau:

3.1. Chọn số t có giá trị trong khoảng: 1 < 𝑡 < 𝜑(𝑛) và thỏa mãn điều

kiện: gcd(𝑡, 𝜑(𝑛)) = 1.

3.2. Tham số y có thể tính theo (2.1a) hoặc (2.1b):

𝑡 𝑚𝑜𝑑 𝑛.

(2.1a) 𝑦 = 𝑥1

Hoặc :

−𝑡 𝑚𝑜𝑑 𝑛.

(2.1b) 𝑦 = 𝑥1

48

3.3. Nếu 𝑦 ≥ 𝜑(𝑛) hoặc gcd(𝑦, 𝜑(𝑛)) ≠ 1 thì quay lại bước 3.1 (tức

là chọn lại t).

Nếu 𝑦 < 𝜑(𝑛) và gcd(𝑦, 𝜑(𝑛)) = 1 thì kết thúc tính y.

4. Tính:

. (2.2)

Trong đó:

- y là khóa công khai;

- x1, x2 là các khóa bí mật;

- n, t là các tham số công khai;

là các tham số bí mật.

- p, q và

2.2.1.2. Tạo chữ ký IFP-RSAP cơ sở I

Thuật toán tạo chữ ký IFP-RSAP cơ sở I

Input: n, t, x, x1, x2, f1, f2, f3, M – thông điệp dữ liệu cần ký.

Output: / - chữ ký.

1. Chọn ngẫu nhiên giá trị k trong khoảng .

2. Thành phần thứ nhất của chữ ký có hai dạng được tính theo các công

thức sau:

(2.3)

Hoặc:

(2.4)

3. Thành phần thứ hai của chữ ký được tính theo một trong các công thức

sau:

(2.5)

Hoặc:

(2.6)

4. Return / .

49

Trong đó:

: hàm của M và R có giá trị trong khoảng và trong một số

-

trường hợp cụ thể cần thỏa mãn điều kiện để hàm tồn

tại nghịch đảo theo n.

: các hàm của M và R hoặc E có giá trị trong khoảng

-

(1, 𝜑(𝑛));

: chữ ký được tạo theo (2.3) và (2.5);

-

: chữ ký được tạo theo (2.4) và (2.6).

-

2.2.1.3. Kiểm tra chữ ký IFP-RSAP cơ sở I

Quá trình kiểm tra gồm các bước tính các giá trị u, v tương ứng trong các

trường hợp chữ ký là hay . Căn cứ vào các kết quả tính toán để so

sánh, kiểm tra kết luận về nguồn gốc và tính toàn vẹn của thông điệp dữ liệu

cần thẩm tra. Kiểm tra chữ ký có hai trường hợp như sau:

Thuật toán kiểm tra chữ ký IFP-RSAP cơ sở I

a. Trường hợp chữ ký là

Input: n, t, y, , M - thông điệp dữ liệu cần thẩm tra.

Output: = true / false.

1. Tính: . (2.7)

2. Tính: . (2.8)

3. Kiểm tra: If Then = true Else = false.

b. Trường hợp chữ ký là

Input: n, t, y, , M - thông điệp dữ liệu cần thẩm tra.

Output: = true / false.

1. Tính giá trị u: (2.9) .

2. Tính giá trị v: . (2.10)

50

3. Kiểm tra: If ( ) Then = true Else = false.

Trong đó:

/ = true: chữ ký hợp lệ, thông điệp dữ liệu M được xác

-

thực về nguồn gốc và tính toàn vẹn.

/ = false: chữ ký giả mạo hoặc/và thông điệp dữ liệu M

-

không còn toàn vẹn.

2.2.2. Tính đúng đắn của lược đồ IFP-RSAP cơ sở I

Tính đúng đắn của các phương pháp hình thành và kiểm tra chữ ký hay

nói gọn là tính đúng đắn của thuật toán xác thực chữ ký được chứng minh qua

các mệnh đề 2.1, mệnh đề 2.2 và các định lý 2.1, định lý 2.2. Cụ thể như sau:

Mệnh đề 2.1.

Cho p, q là 2 số nguyên tố, , , Chọn a, b,

c thỏa mãn điều kiện , chọn x, k thỏa mãn điều kiện

.

Nếu:

, ,

Thì:

.

Chứng minh.

Giả sử ta có các tham số như trong giả thiết của mệnh đề. Khi đó, ta có

các biến đổi tương đương trong phép modulo như sau:

Mệnh đề đã được chứng minh. ∎

51

Định lý 2.1. Phương pháp hình thành và kiểm tra chữ ký theo các công thức

(2.3), (2.5), (2.7) và (2.8) là đúng đắn.

Chứng minh.

Đặt:

, ,

Ta tính được:

, với:

Trong đó, và:

Theo Mệnh đề 2.1 suy ra điều cần chứng minh: .∎

Mệnh đề 2.2.

Cho p, q là 2 số nguyên tố, , , Chọn a, b,

c thỏa mãn điều kiện , chọn x, k thỏa mãn điều kiện

. ,

Nếu:

, ,

Thì:

.

Chứng minh.

Giả sử có các tham số như trong giả thiết và điều kiện của mệnh đề 2.2.

Dựa vào tính chất của các phép nhân, phép nâng lên lũy thừa của modulo ta có

các biến đổi tương đương sau:

Mệnh đề đã được chứng minh. ∎

52

Định lý 2.2. Phương pháp hình thành và kiểm tra chữ ký theo các công thức

(2.4), (2.6), (2.9) và (2.10) là đúng đắn.

Chứng minh.

Đặt: , ,

Ta tính được:

,

Trong đó, và: .

Theo Mệnh đề 2.2 suy ra:

, với: .

Nên: (2.11)

Từ (2.4) và (2.11) suy ra điều cần chứng minh: v = E. ∎

2.3. Lược đồ chữ ký IFP-RSAP cơ sở II

Lược đồ IFP-RSAP cơ sở II được xây dựng dựa trên lược đồ IFP-RSAP

cơ sở I (dạng tổng quát) và đều dựa trên tính khó của việc giải các bài toán phân

tích số (IFP) và bài toán khai căn trên Zn (RSAP).

Trong lược đồ Lược đồ IFP-RSAP cơ sở II, các hàm được lựa chọn như

sau: .

Việc lựa chọn các hàm cần đảm bảo tính an toàn và hiệu quả thực hiện.

Để đảm bảo tính an toàn, các thành phần như M, R, E là phải có mặt trong các

thuật toán, nhưng cũng không nên chọn có mặt nhiều quá sẽ giảm hiệu quả thực

hiện và tăng khối lượng tính toán.

2.3.1. Quy trình chung

Qui trình chung của lược đồ gồm các bước: chọn các tham số, tạo chữ

ký, kiểm tra chữ ký.

2.3.1.1. Lựa chọn các tham số và các khóa

Các bước thực hiện lựa chọn các tham số và khóa như sau:

1. Chọn cặp số nguyên tố lớn p và q.

53

Đặt: , ; lp, lq là độ dài số p, q tính theo bit nhị

phân trong biểu diễn các số p, q trên máy tính.

Tính: và là hàm Euler của n.

Các số nguyên tố p, q được lựa chọn theo bước 1, mục 2.2.1.1

trong lược đồ IFP-RSAP cơ sở I.

2. Chọn một số nguyên x1 trong khoảng thỏa mãn điều kiện

và tính tham số khóa y theo thuật toán sau:

2.1. Chọn một số nguyên t nguyên tố cùng nhau với n, tức là,

.

2.2. Tính .

2.3. Nếu hoặc thì quay lại bước 2.1 (tức

là chọn lại t).

3. Tính giá trị x2 theo công thức:

.

4. Chọn một hàm băm H: , với:

Hàm băm H(.) có thể chọn theo FIPS 180 - 4 [50] như: SHA - 1,

SHA - 256, SHA - 512, … với các kích thước dữ liệu đầu ra tương ứng

là: 160 bit, 256 bit, 512 bit, …

Trong đó:

- len(.) là hàm tính độ dài (theo bit) của một số;

- y là khóa công khai; n, t là các tham số công khai;

là các tham số bí mật.

- x1, x2 là các khóa bí mật; p, q và

2.3.1.2. Tạo chữ ký IFP-RSAP cơ sở II

Thuật toán tạo chữ ký IFP-RSAP cơ sở II

Input: n, t, x1, x2, M - thông điệp dữ liệu cần ký.

Output: - chữ ký.

1. Chọn ngẫu nhiên một giá trị k trong khoảng .

54

2. Tính giá trị R theo:

3. Thành phần thứ nhất (E) của chữ ký được tính theo công thức:

(2.12)

4. Thành phần thứ hai (S) của chữ ký được tính theo công thức:

(2.13)

5. Return

Trong đó:

- Toán tử “||” là phép nối 2 xâu bit.

2.3.1.3. Kiểm tra chữ ký IFP-RSAP cơ sở II

Thuật toán kiểm tra chữ ký IFP-RSAP cơ sở II

Input: n, t, y, , M - thông điệp dữ liệu cần thẩm tra.

Output: = true / false.

1. Tính giá trị theo (2.14):

(2.14)

2. Tính giá trị theo (2.15):

(2.15)

3. Tính giá trị theo (2.16):

(2.16)

4. Kiểm tra: If ( ) Then {return true} Else {return false}

Trong đó:

= true: chữ ký hợp lệ, thông điệp dữ liệu M được xác thực về

-

nguồn gốc và tính toàn vẹn.

= false: chữ ký hoặc/và thông điệp dữ liệu M bị giả mạo.

-

2.3.2. Tính đúng đắn của lược đồ IFP-RSAP cơ sở II

Tính đúng đắn của các phương pháp hình thành và kiểm tra chữ ký của

lược đồ IFP-RSAP cơ sở II được chứng minh qua định lý 2.3, cụ thể như sau:

55

Định lý 2.3.

Giả sử ta có các tham số và các khóa cùng cặp chữ ký được chọn

và tạo bởi các bước trong lược đồ IFP-RSAP cơ sở II. Thành phần là giá trị

được sinh ra do thuật toán kiểm tra theo công thức 2.16.

Khi đó ta có:

.

Chứng minh.

Theo thuật toán hình thành tham số, thì các tham số y và x2 được tính như

sau:

,

Theo các công thức (2.13), (2.14) và (2.15) ta thực hiện các biến đổi

tương đương như sau:

Từ (2.12) và (2.16) suy ra

Đây là điều cần chứng minh∎

2.3.3. Mức độ an toàn của lược đồ IFP-RSAP cơ sở II

2.3.3.1. Tấn công khóa bí mật

Ở lược đồ cơ sở, khóa bí mật của một đối tượng ký là cặp (x1,x2), tính an

toàn của lược đồ sẽ bị phá vỡ hoàn toàn khi cặp khóa này có thể tính được bởi

một hay các đối tượng không mong muốn. Từ thuật toán hình thành tham số và

56

khóa trong lược đồ IFP-RSAP cơ sở II cho thấy, để tìm được x2 cần phải tính

được tham số φ(n), nghĩa là phải giải được bài toán phân tích số IFP(n), còn để

tính được x1 cần phải giải được bài toán RSAP(n,e). Như vậy, độ an toàn về khóa

của lược đồ cơ sở được quyết định bởi mức độ khó của việc giải các bài toán

IFP(n) và RSAP(n,e).

2.3.3.2. Tấn công giả mạo chữ ký

Từ điều kiện của thuật toán kiểm tra chữ ký trong lược đồ được đề xuất,

một cặp bất kỳ sẽ được coi là chữ ký hợp lệ của đối tượng sở hữu các

tham số công khai lên thông điệp dữ liệu M nếu thỏa mãn:

(2.17)

Từ điều kiện trên cho thấy, nếu H(.) được chọn là hàm băm có độ an toàn

cao (SHA 256/512,...) thì việc chọn ngẫu nhiên cặp thỏa mãn điều kiện

đã được chỉ ra là hoàn toàn không khả thi trong các ứng dụng thực tế.

2.3.4. Độ phức tạp thời gian của lược đồ IFP-RSAP cơ sở II

Để đánh giá về độ phức tạp thời gian của lược đồ chữ ký IFP-RSAP cơ

sở II, luận án sẽ đánh giá chi phí tính toán cho các phép toán thực hiện trong

các thuật toán tạo chữ ký và kiểm tra chữ ký. Các ký hiệu được sử dụng để tính

chi phí cụ thể như sau:

- Chi phí tính toán cho phép nhân trên Zn ký hiệu là Mn và độ dài xâu

bit của n ký hiệu là .

có độ

- Chi phí tính toán cho phép lũy thừa trong Zn, với

phức tạp xấp xỉ Ln.Mn.

Trong thuật toán tạo chữ ký IFP-RSAP cơ sở II, chi phí tính toán tập trung

ở một phép nhân và ba phép lũy thừa. Vậy tổng chi phí tính toán của thuật toán

tạo chữ ký ước lượng như sau:

57

Trong thuật toán kiểm tra chữ ký IFP-RSAP cơ sở II, chi phí tính toán tập

trung ở ba phép lũy thừa và một phép nhân. Vậy tổng chi phí tính toán của thuật

toán kiểm tra chữ ký ước lượng như sau:

Như vậy, tổng chi phí thời gian thực hiện các thuật toán tạo chữ ký và

kiểm tra chữ ký của lược đồ IFP-RSAP cơ sở II được ước lượng như sau:

2.3.5. Hiệu quả thực hiện của lược đồ IFP-RSAP cơ sở II

2.3.5.1. Tính hiệu quả của lược đồ IFP-RSAP cơ sở II so với lược đồ chữ ký

RSA

Đánh giá sơ bộ về hiệu quả thực hiện của lược đồ IFP-RSAP cơ sở II, có

thể dựa trên một số phân tích so sánh với hiệu quả thực hiện của lược đồ chữ

ký RSA [57] khi lựa chọn cùng bộ tham số như sau:

- Chọn các tham số p, q với: |p| = |q| = 1024 bit, khi đó: |n| = |φ(n)| =

2048 bit, kích thước các khóa bí mật (x1, x2), khóa công khai y của lược đồ cơ

sở và khóa bí mật d của lược đồ RSA: |x1| = |x2| = |y| = |d| = 2048 bit.

- Chọn kích thước khóa công khai e của RSA và số mũ t của lược đồ cơ

sở: |e| = |t| = 16 bit.

- Chọn hàm băm SHA - 1 với kích thước dữ liệu ra 160 bit.

Với các tham số như trên, thuật toán ký của lược đồ cơ sở cần thực hiện

ba phép lũy thừa: một phép lũy thừa với kích thước số mũ 16 bit

phép lũy thừa thứ hai có kích thước số mũ 160 bit

và phép lũy thừa thứ ba có kích thước 2048 bit ( , với:

), trong khi đó thuật toán ký của RSA chỉ thực hiện một phép

tính lũy thừa duy nhất với kích thước số mũ 2048 bit ( ). Tuy phải

thực hiện nhiều hơn hai phép lũy thừa so với RSA, song do kích thước số mũ

của hai phép lũy thừa đầu khá nhỏ so với kích thước số mũ 2048 bit của phép

lũy thừa thứ ba trong lược đồ cơ sở cũng như kích thước số mũ của phép lũy

58

thừa trong RSA, nên có thể coi tốc độ thực hiện thuật toán ký của lược đồ cơ sở

và RSA là tương đương.

Ở thuật toán kiểm tra, lược đồ cơ sở phải thực hiện nhiều phép lũy thừa

hơn so với RSA nên tốc độ thực hiện thuật toán kiểm tra của lược đồ cơ sở là

chậm hơn so với RSA.

Tuy nhiên, độ an toàn của RSA sẽ bị phá vỡ hoàn toàn nếu kẻ tấn công

chỉ cần giải được một trong hai bài toán IFP(n) hoặc RSAP(n,e). Đối với lược đồ

IFP-RSAP cơ sở, kẻ tấn công muốn phá vỡ được độ an toàn của lược đồ thì

buộc phải giải được cả hai bài toán IFP(n) và RSAP(n,e). Ngoài ra, việc thực hiện

các phép toán lũy thừa với kích thước số mũ 2048 bit hay 4096 bit như ở lược

đồ RSA và lược đồ cơ sở là hoàn toàn khả thi trong các ứng dụng thực tế.

2.3.5.2. Đánh giá độ phức tạp thời gian của lược đồ chữ ký IFP-RSAP cơ sở II

so với lược đồ chữ ký khác

Để đánh giá hiệu quả thực hiện của lược đồ chữ ký đề xuất với các lược

đồ khác, luận án sẽ đánh giá độ phức tạp thời gian của các lược đồ chữ ký thông

qua số phép toán cần thực hiện, hay tổng thời gian cần thực hiện các phép toán

để tạo chữ ký và kiểm tra chữ ký. Nếu chi phí thời gian thực hiện các phép toán

càng thấp thì hiệu quả thực hiện của lược đồ càng cao. Qui ước sử dụng các ký

hiệu như sau:

Texp: thời gian thực hiện phép tính lũy thừa modulo.

Tinv: thời gian thực hiện phép nghịch đảo modulo.

Th: thời gian thực hiện hàm băm.

Tmul: thời gian thực hiện phép nhân modulo.

Trong phần này, luận án so sánh độ phức tạp thời gian của lược đồ IFP-

RSAP cơ sở II và lược đồ LD 15.9-01 [10] với giả định các lược đồ đó được

tính toán cùng tham số an toàn trong Zn. Kết quả so sánh được trình bày trong

các bảng bên dưới.

59

Bảng 2.1. Độ phức tạp thời gian của lược đồ IFP-RSAP cơ sở II

Các phép tính Thuật toán ký Thuật toán kiểm tra

3 Phép tính lũy thừa modulo 3

0 Phép tính nghịch đảo 0

1 Phép tính hàm băm 1

1 Phép tính nhân modulo 1

Bảng 2.2 Độ phức tạp thời gian của lược đồ LD15.9-01 [10]

Các phép tính Thuật toán ký Thuật toán kiểm tra

5 Phép tính lũy thừa modulo 3

2 Phép tính nghịch đảo 0

1 Phép tính hàm băm 1

2 Phép tính nhân modulo 1

Tổng hợp chi phí thời gian thực hiện của các thuật toán tạo chữ ký và

kiểm tra chữ ký được minh họa qua bảng 2.3.

Bảng 2.3. So sánh chi phí thời gian thực hiện của các lược đồ IFP-RSAP cơ sở II và LD15.9-01 [10]

Các phép tính

Phép tính lũy thừa modulo Lược đồ IFP-RSAP cơ sở II 6 Texp Lược đồ LD15.9-01 [10] 8 Texp

Phép tính nghịch đảo 0 2 Tinv

Phép tính hàm băm 2 Th 2 Th

Phép tính nhân modulo 2 Tmul 3 Tmul

Theo bảng 2.3 thì độ phức tạp thời gian tổng chi phí cho thuật toán sinh

chữ ký và kiểm tra chữ ký của lược đồ chữ ký số IFP-RSAP cơ sở II thấp hơn

so với lược đồ LD15.9-01 [10]. Từ các đánh giá, so sánh ở trên cho thấy lược

đồ chữ ký số IFP-RSAP cơ sở II có thể tiếp tục nghiên cứu, phát triển thành

lược đồ chữ ký số tập thể, đáp ứng các nhu cầu ứng dụng trong thực tế.

60

2.4. Đề xuất lược đồ chữ ký IFP-RSAP tập thể

Trên cơ sở nghiên cứu quá trình phát triển của chữ ký số, để đẩy mạnh

việc áp dụng chữ ký số cho nhiều người tham ký vào các văn bản, dữ liệu tại

các cơ quan nhà nước, trường học, các đơn vị hành chính sự nghiệp, các doanh

nghiệp…, luận án đề xuất xây dựng lược đồ chữ ký số tập thể theo mô hình chữ

ký số tập thể dạng kết hợp đã đề xuất trong mục 2.1 của chương 2. Lược đồ chữ

ký IFP-RSAP tập thể được phát triển từ lược đồ chữ ký số IFP-RSAP cơ sở II.

Trong lược đồ chữ ký số tập thể được đề xuất, các thông điệp dữ liệu

được chứng thực ở các cấp độ:

- Thực thể tạo ra các thông điệp dữ liệu;

- Tổ chức mà thực thể tạo ra thông điệp dữ liệu là một thành viên trong đó.

Lược đồ chữ ký IFP-RSAP tập thể được xây dựng dựa trên tính khó của

việc giải bài toán phân tích một số nguyên lớn ra các thừa số nguyên tố và bài

toán khai căn trên Zn.

2.4.1. Các bước triển khai lược đồ chữ ký IFP-RSAP tập thể

Giả sử có văn bản M và có N người tham gia ký vào văn bản M. Bài toán

đặt ra là xây dựng các chữ ký số cho văn bản M với N thành viên tham gia ký

cùng CA của tổ chức. Tập các thành viên tham gia ký đặt là

trong đó, thành viên thứ i có mã thành viên là . Các thành viên

nhóm ký có khóa bí mật: và các khóa công khai tương

ứng: . Trong đó, CA có cặp khóa bí mật/công khai tương ứng

.

Lược đồ được xây dựng theo các bước sau:

- Hình thành các tham số hệ thống và khóa của CA;

- Hình thành khóa của các đối tượng ký;

- Chứng nhận các đối tượng ký;

- Kiểm tra tính hợp pháp của các đối tượng ký;

61

- Hình thành chữ ký tập thể;

- Kiểm tra chữ ký tập thể.

2.4.1.1. Lựa chọn các tham số và khóa của CA

Để hình thành các tham số hệ thống và khóa của CA được thực hiện theo

thuật toán 2.1.

Thuật toán 2.1.

Input: lp, lq – độ dài (tính theo bit) của số nguyên tố p, q.

Output: n, t, xca, yca.

1. Chọn một cặp số nguyên tố lớn p, q có các độ dài tương ứng là lp, lq

cho trước, sao cho bài toán phân tích số trên là khó giải.

Các số nguyên tố p, q được lựa chọn theo bước 1, mục 2.2.1.1 trong

lược đồ IFP-RSAP cơ sở I.

Tính : và: 2.

Chọn ngẫu nhiên một số t là số nguyên lớn trong khoảng thỏa 3.

mãn

4. Chọn khóa công khai yca ngẫu nhiên và là số nguyên lớn trong

khoảng và

Tính khóa bí mật xca theo công thức: (2.18) 5.

Chọn hàm băm H: , với: 6.

Hàm băm H(.) được lựa chọn theo bước 4, mục 2.3.1.1 trong lược đồ

IFP-RSAP cơ sở II.

Trong đó:

- yca là khóa công khai;

- n, t là các tham số công khai;

- xca là khóa bí mật;

là các tham số bí mật.

- p, q,

62

2.4.1.2. Lựa chọn các tham số và các khóa của các thành viên

Giả sử, các tham số n, t được chọn trong thuật toán 2.1. Khi đó, khóa của

các thành viên được hình thành theo thuật toán 2.2

Thuật toán 2.2.

Input: n, t, N.

. Output: ,

1. For i = 1 to N do

1.1. Chọn một số xi trong khoảng với

1.2.

1.3.

1.4.

2. Return KS , KP

2.4.1.3. Chứng nhận các thành viên tham gia ký

Trước khi tạo các chữ ký (trước khi ký) thì CA cấp chứng nhận (chứng

chỉ số) cho các thành viên. Chứng nhận của thành viên Ui là cặp số và

được tính theo thuật toán sau:

Thuật toán 2.3.

Input: n, N, IDi, KP, xca.

Output:

1. For i = 1 to N do

1.1.

1.2.

2. Return

63

2.4.1.4. Kiểm tra tính hợp pháp của các thành viên

Quá trình kiểm tra tính hợp pháp cho các đối tượng ký và xác nhận là

thành viên của hệ thống được thực hiện theo thuật toán sau:

Thuật toán 2.4.

Input: n, N, yi, yca, IDi,

Output: (các biến này có giá trị logic: true, false).

1. For i = 1 to N do

1.1.

1.2.

1.3. If ( ) Then TVi = True Else TVi = false

2. Return

Trong đó:

- TVi = true: đối tượng ký Ui được xác nhận là thành viên của hệ thống.

- TVi = false: Ui là một đối tượng giả mạo.

2.4.1.5. Tạo chữ ký IFP-RSAP tập thể

Chữ ký tập thể được hình thành trên cơ sở chữ ký của một nhóm đối

tượng ký và chữ ký của CA được kết hợp với nhau. Quá trình hình thành được

thực hiện như sau:

Thuật toán 2.5.

Input: n, t, N, M, xca, KS, KP.

Output: – chữ ký của U và CA lên M.

1. For i = 1 to N do

1.1.

1.2. (2.19)

1.3. Send Ri to CA

64

R ← 1; For i = 1 to N do (2.20) 2.

, send E to {U1, U2,...., Ui,..., UN}; 3.

For i = 1 to N do 4.

(2.21) 4.1.

Send Si to CA 4.2.

Su ← 1; For i = 1 to N do 5.

If ( ) Then {return (0,0)} 5.1.

5.2.

If Then (2.22) 6.

Return 7.

Trong đó:

- Các bước 1, 4 được thực hiện bởi các đối tượng ký.

- Các bước 2, 3, 5, 6 và 7 được thực hiện bởi CA.

2.4.1.6. Kiểm tra chữ ký IFP-RSAP tập thể

Kiểm tra tính hợp lệ của chữ ký tập thể được thực hiện theo thuật toán 2.6.

Kết quả true/false sẽ xác định được chữ ký là hợp lệ hoặc bị giả mạo.

Thuật toán 2.6.

Input: n, t, yca, M, KP, .

Output: = true / false.

If (E = 0 or S = 0) Then {return false} y ← 1; For i = 1 to N do 1. 2.

(2.23)

(2.24) 3.

(2.25) 4.

5.

If ( ) Then {return true} Else {return false} 6.

65

Trong đó:

= true: chữ ký hợp lệ, thông điệp dữ liệu M được xác thực về

-

nguồn gốc và tính toàn vẹn.

= false: chữ ký hoặc/và thông điệp dữ liệu M bị giả mạo.

-

Các bước thực hiện quá trình tạo chữ ký tập thể của lược đồ IFP-RSAP

tập thể mới đề xuất được minh họa trong Hình 2.8.

Dữ liệu Người yêu cầu CA (n, p, q, t, m, xca) Tập thể người ký (KS, KP)

Chọn x ∈ (1, n)

Ri

E

Si

Chữ ký số

Hình 2.8. Tóm tắt thuật toán ký của lược đồ IFP-RSAP tập thể

2.4.2. Tính đúng đắn của lược đồ chữ ký IFP-RSAP tập thể

Tính đúng đắn của lược đồ IFP-RSAP tập thể được chứng mình qua định

lý 2.4, cụ thể như sau:

Định lý 2.4.

Với các tham số và khóa cùng cặp chữ ký được chọn và tính toán

ở các bước của thuật toán IFP-RSAP tập thể thì lược đồ chữ ký IFP-RSAP tập

thể là đúng đắn, tức là:

.

Chứng minh.

Theo các Thuật toán đề xuất trên đây tính các tham số y, R, Su ta có:

66

(2.26)

(2.27)

(2.28)

Theo (2.18), (2.22) và (2.24), ta có:

Theo (2.19), (2.21) và (2.25), ta có:

Từ đây suy ra điều cần chứng minh: ∎

2.4.3. Độ an toàn của lược đồ chữ ký IFP-RSAP tập thể

2.4.3.1. Tấn công khóa bí mật

Mức độ an toàn của lược đồ chữ ký IFP-RSAP tập thể ở đây được thiết

lập dựa trên mức độ an toàn của lược đồ IFP-RSAP cơ sở đã đề xuất trong mục

2.3.3. Do vậy, về cơ bản mức độ an toàn của lược đồ chữ ký IFP-RSAP tập thể

67

cũng được quyết định bởi mức độ khó của bài toán IFP(n) và RSAP(n,e).

2.4.3.2. Tấn công giả mạo chữ ký

Trong thuật toán hình thành chữ ký ở lược đồ ký tập thể thì thành phần

R và Su được tạo ra từ nhiều cặp giá trị của các thành viên nhóm ký. Nói

cách khác, chữ ký tập thể ở đây được tạo ra từ nhiều chữ ký cá nhân của các

thành viên, vì thế tấn công giả mạo chữ ký cá nhân của các đối tượng ký trong

thủ tục hình thành chữ ký tập thể sẽ là một nguy cơ mất an toàn tiềm ẩn đối với

lược đồ chữ ký tập thể mới đề xuất. Do đó, để giải quyết vấn đề này, CA tiến

hành kiểm tra, xác thực chữ ký cá nhân của các thành viên nhóm ký được thực

hiện ở bước 5.1 trong Thuật toán 2.5, cụ thể như sau:

Nếu thì chữ ký là giả mạo , tức là

thành viên đó không thuộc hệ thống.

Tuy nhiên, việc giả mạo ở đây cũng chỉ là một trong các nguy cơ tấn

công đối với lược đồ mới đề xuất. Vì vậy, trong quá trình phát triển tiếp theo

và ứng dụng vào thực tế cần tiếp tục được nghiên cứu, phát hiện và giải quyết

các trường hợp giả mạo khác.

2.4.4. Độ phức tạp thời gian của lược đồ chữ ký IFP-RSAP tập thể

Để đánh giá về độ phức tạp thời gian của lược đồ IFP-RSAP tập thể, luận

án sẽ đánh giá chi phí tính toán cho các phép toán thực hiện trong các thuật toán

tạo chữ ký và kiểm tra chữ ký. Các ký hiệu được sử dụng để tính chi phí cụ thể

như sau:

- Chi phí tính toán cho phép nhân trên Zn ký hiệu là Mn và độ dài xâu

bit của n ký hiệu là .

có độ

- Chi phí tính toán cho phép lũy thừa trong Zn, với

phức tạp xấp xỉ Ln.Mn.

- Giả sử trong hệ thống có N thành viên tham gia ký.

Trong thuật toán tạo chữ ký IFP-RSAP tập thể, chi phí tính toán chủ yếu

tập trung vào (4N + 1) phép lũy thừa và (3N +1) phép nhân. Do đó, tổng chi phí

68

tính toán của thuật toán tạo chữ ký ước lượng như sau:

Trong thuật toán kiểm tra chữ ký IFP-RSAP tập thể, chi phí tính toán chủ

yếu tập trung vào ba phép lũy thừa và (N +1) phép nhân. Do đó, tổng chi phí

tính toán của thuật toán kiểm tra chữ ký ước lượng như sau:

Như vậy, tổng chi phí thời gian thực hiện các thuật toán tạo chữ ký và

kiểm tra chữ ký của lược đồ IFP-RSAP tập thể được ước lượng như sau:

2.4.5. Đánh giá độ phức tạp thời gian của lược đồ chữ ký số tập thể đề xuất

Trong phần này, luận án so sánh độ phức tạp thời gian của lược đồ IFP-

RSAP tập thể với các lược đồ chữ ký số tập thể LD 1.02 và LD 1.03 trong [6].

Giả định các lược đồ so sánh được tính toán với cùng tham số an toàn trong Zn

và số thành viên của tập thể người ký là N.

Quy ước sử dụng ký hiệu cho các phép toán trong thuật toán tạo chữ ký

và kiểm tra chữ ký của các lược đồ chữ ký số cũng tương tự như đã trình bày

trong chương 2, mục 2.3.5. Kết quả so sánh độ phức tạp thời gian thực hiện của

các lược đồ được trình bày trong các bảng bên dưới.

Bảng 2.4. Độ phức tạp thời gian của lược đồ IFP-RSAP tập thể

Lược đồ IFP-RSAP tập thể Loại phép tính Tạo chữ ký Kiểm tra chữ ký

Phép tính lũy thừa 4N+1 3

Phép tính hàm băm N+1 1

Phép tính nhân modulo 3N+1 N+1

69

Bảng 2.5. Độ phức tạp thời gian của lược đồ LD 1.02 [6]

Lược đồ chữ ký tập thể LD 1.02 Loại phép tính Tạo chữ ký Kiểm tra chữ ký

Phép tính lũy thừa 2N+4 4N

Phép tính hàm băm N+2 N+1

Phép tính nhân modulo 2N+2 4N

Bảng 2.6. Độ phức tạp thời gian của lược đồ LD 1.03 [6]

Lược đồ chữ ký tập thể LD 1.03 Loại phép tính Tạo chữ ký Kiểm tra chữ ký

Phép tính lũy thừa 2N+4 4N

Phép tính hàm băm N+2 N+1

Phép tính nhân modulo 2N+2 6N

Tổng chi phí thời gian thực hiện các thuật toán tạo chữ ký và kiểm tra chữ

ký của các lược đồ chữ ký số tập thể được trình bày trong bảng 2.7 dưới đây:

Bảng 2.7. So sánh chi phí thời gian thực hiện của lược đồ IFP-RSAP tập thể với các lược đồ tập thể LD 1.02 [6] và LD 1.03 [6]

IFP-RSAP tập thể Số phép tính lũy thừa (4N+4) Texp Số phép tính hàm băm (N+2) Th Số phép tính nhân modulo (4N+2) Tmul

LD 1.02 (6N+4) Texp (2N+3) Th (6N+2) Tmul

LD 1.03 (6N+4) Texp (2N+3) Th (8N+2) Tmul

Theo Bảng 2.7 thì tổng chi phí độ phức tạp thời gian của thuật toán sinh

chữ ký và kiểm tra chữ ký của lược đồ chữ ký số IFP-RSAP tập thể đề xuất thấp

hơn so với các lược đồ trong [6]. Tuy nhiên, lược đồ LD 1.03 trong [6] được

xây dựng theo quy định về trình tự ký của các thành viên trong nhóm và chữ ký

tập thể được tạo ra khi các thành viên thực hiện đúng thứ tự ký. Do đó độ phức

tạp thời gian của các thuật toán trong lược đồ LD 1.03 là cao hơn so với các

thuật toán được so sánh trong Bảng 2.7.

70

Ngoài ra, các lược đồ trong [6] được xây dựng theo mô hình chữ ký số

tập thể dạng phân biệt, còn lược đồ IFP-RSAP tập thể được xây dựng theo mô

hình chữ ký số tập thể dạng kết hợp. Do đó lược đồ chữ ký số tập thể mới đề

xuất khi áp dụng vào mô hình chữ ký điện tử là phù hợp hơn trong việc lưu

trữ và triển khai trên các hạ tầng mạng hiện nay.

2.5. Cài đặt thuật toán và thử nghiệm

Trong phần này, luận án cài đặt các thuật toán đã được trình bày trong

lược đồ chữ ký số IFP-RSAP tập thể dạng kết hợp nhằm minh họa cho công

việc kiểm tra, xác thực chữ ký của các thành viên trong công tác quản lý hoạt

động đào tạo tại các trường đại học, cao đẳng nói chung và trường đại học Công

nghiệp Hà Nội nói riêng, cụ thể như sau:

Phòng đào tạo trường đại học Công nghiệp Hà Nội có chức năng quản lý

các hoạt động về đào tạo trong toàn trường. Để thống nhất chung trong toàn

trường về quy định tổ chức dạy học, Phòng đào tạo sẽ xây dựng các thủ tục quy

trình về việc tổ chức biên soạn, thẩm định hướng dẫn tổ chức dạy học cho các

học phần, môn học. Quá trình xây dựng các thủ tục quy trình được thực hiện

như sau:

- Chuyên viên phòng đào tạo soạn thảo các nội dung quy định về thủ tục

quy trình cho hoạt động biên soạn, thẩm định hướng dẫn tổ chức dạy học;

- Trưởng phòng đào tạo kiểm tra, ký duyệt;

- Ban giám hiệu phê duyệt chương trình đào tạo;

- Bộ phận văn thư (thuộc phòng tổ chức) kiểm tra, xác nhận thông tin về

các thành viên tham gia ký trong văn bản quy định, sau đó đóng dấu và chuyển

cho các đơn vị liên quan thực hiện.

Theo quy trình ký duyệt các văn bản như trên, bộ phận văn thư có nhiệm

vụ kiểm tra thông tin về các thành viên tham gia ký có thuộc các Phòng, Ban

trong nhà trường hay không. Bộ phận văn thư ở đây đóng vai trò giống như CA

để kiểm tra, chứng thực các thành viên trong một tổ chức trước khi ban hành

các quyết định.

71

Chương trình gồm các bước:

- Hình thành tham số và khóa cho CA (bộ phận văn thư):

Các tham p và q được chọn theo tiêu chuẩn FIPS 186 - 4 [51] của Mỹ

với các kích thước là 512 bit. Tham số t được lựa chọn với kích thước là

320 bit.

Tạo khóa công khai và khóa bí mật cho CA:

+ Khóa công khai yca có kích thước là 320 bit.

+ Khóa bí mật xca có kích thước là 1024 bit.

- Hình thành khóa cho các đối tượng ký tương ứng gồm các thành viên:

Chuyên viên Phòng đào tạo, Trưởng phòng đào tạo, Hiệu phó phụ trách đào

tạo.

Bước này sẽ tạo các khóa bí mật x có kích thước là 320 bit và khóa

công khai y có kích thước là 1024 bit cho từng thành viên tham gia ký:

- CA chứng nhận tính hợp pháp của các đối tượng ký

Bước này CA chứng nhận tính hợp pháp của các đối tượng ký là các

thành viên thuộc tổ chức.

- Kiểm tra tính hợp pháp của các đối tượng ký

Bước này CA kiểm tra tính hợp pháp của các đối tượng ký và xác nhận

là các thành viên thuộc tổ chức.

- Hình thành chữ ký tập thể

Chữ ký tập thể được hình thành từ các chữ ký cá nhân, thông điệp dữ

liệu và chữ ký của CA. Trong quá trình thực hiện, nếu chữ ký cá nhân

không hợp lệ thì sẽ không tạo được các thành phần (E,S) của chữ ký.

+ Sử dụng hàm băm SHA - 1, với kích thước dữ liệu đầu ra tương ứng

là 160 bit.

+ Thành phần thứ nhất của chữ ký (E) có kích thước chữ ký là 126 bit

+ Thành phần thứ hai của chữ ký (S) có kích thước chữ ký là 1024 bit

- Kiểm tra chữ ký tập thể

Bước này thực hiện kiểm tra các thành phần chữ ký được tạo ra so với

72

chữ ký ban đầu. Nếu kết quả so sánh trả về là “True” thì xác nhận bản

tin được xác thực về nguồn gốc và tính toàn vẹn. Ngược lại, kết quả là

“False” thì bản tin hoặc chữ ký bị giả mạo.

Kết quả thử nghiệm cho thấy, lược đồ chữ ký số tập thể mới đề xuất hoàn

toàn phù hợp với các thủ tục hành chính trong thực tế và thuận lợi với việc lưu

trữ, triển khai trong môi trường mạng hiện nay.

Phần minh họa cho kết quả thử nghiệm được trình bày trong Phụ lục 1.

2.6. Kết luận chương 2

Trong chương 2, luận án đã trình bày mô hình chữ ký tập thể dạng kết hợp

nhằm đáp ứng được yêu cầu chứng thực về nguồn gốc và tính toàn vẹn của các

thông điệp dữ liệu ở cấp độ thực thể tạo ra nó và tổ chức mà thực thể tạo ra nó là

một thành viên của tổ chức đó. Chữ ký tập thể được hình thành từ chữ ký của

một hoặc một nhóm đối tượng ký và chứng nhận của CA, nhưng việc lưu trữ và

quản lý chữ ký số chỉ là một thành phần đã được kết hợp lại. Điều này là phù hợp

với việc lưu trữ và triển khai trên các hạ tầng mạng hiện nay.

Phần tiếp theo trong chương 2, luận án đề xuất các lược đồ chữ ký IFP-

RSAP cơ sở I (dạng tổng quát) và lược đồ chữ ký IFP-RSAP cơ sở II dựa trên

hai bài toán IFP và bài toán RSAP trên Zn. Các lược đồ chữ ký cơ sở đề xuất đã

được chứng minh về tính đúng đắn và độ an toàn của các lược đồ được quyết

định bởi mức độ khó của việc giải các bài toán IFP(n) và RSAP(n,e).

Từ lược đồ chữ ký IFP-RSAP cơ sở II, luận án đề xuất xây dựng lược đồ

chữ ký IFP-RSAP tập thể theo mô hình chữ ký số tập thể dạng kết hợp. Mức độ

an toàn của lược đồ chữ ký IFP-RSAP tập thể cũng được quyết định bởi tính

khó giải của bài toán IFP và RSAP. Lược đồ chữ ký tập thể mới được đề xuất

có khả năng chống lại việc giả mạo chữ ký từ bên trong hệ thống nhờ việc sử

dụng CA để xác thực chữ ký cá nhân của các thành viên trong nhóm ký. Lược

đồ IFP-RSAP tập thể đã được chứng minh về tính đúng đắn, đảm bảo về độ an

toàn và hiệu quả thực hiện.

73

Kết quả cài đặt thử nghiệm ở chương 2 cho thấy, lược đồ chữ ký IFP-

RSAP tập thể đảm bảo được việc chứng nhận được tính hợp pháp của các thành

viên trong tổ chức và chứng thực được nguồn gốc, tính toàn vẹn của các thông

điệp dữ liệu. Lược đồ mới đề xuất có khả năng ứng dụng trong thực tế tại các

cơ quan hành chính, trường học, các doanh nghiệp...

Các kết quả chính của chương 2 được công bố trong các công trình

[CT2], [CT4] và [CT5].

74

CHƯƠNG 3. PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ TẬP THỂ DỰA TRÊN BÀI TOÁN IFP VÀ DLP

Trong chương 3, luận án đề xuất xây dựng các lược đồ chữ ký IFP-DLP

cơ sở I (dạng tổng quát) và lược đồ chữ ký IFP-DLP cơ sở II dựa trên tính khó

giải đồng thời của hai bài toán phân tích số (IFP) và bài toán logarit rời rạc (DLP).

Các lược đồ chữ ký đề xuất nhằm đảm bảo tính an toàn và hiệu quả thực hiện

đồng thời rút ngắn được kích thước chữ ký. Theo mô hình chữ ký tập thể dạng

kết hợp đã đề xuất trong chương 2 và lược đồ IFP-DLP cơ sở II, luận án đề xuất

lược đồ chữ ký IFP-DLP tập thể nhằm đáp ứng các yêu cầu chứng thực về nguồn

gốc và tính toàn vẹn cho các thông điệp dữ liệu ở các cấp độ khác nhau.

3.1. Giới thiệu mở đầu

Chữ ký số hiện nay đang được áp dụng trong nhiều lĩnh vực, do đó việc

phát triển các lược đồ chữ ký số với mục đích nâng cao độ an toàn cho thuật

toán luôn được nhiều nhà khoa học trong và ngoài nước quan tâm.

Các lược đồ chữ ký số thường được xây dựng dựa trên các bài toán khó

trong lý thuyết số như: bài toán phân tích số, bài toán logarit rời rạc, bài toán

logarit rời rạc trên đường cong elliptic... Tuy nhiên, trong giai đoạn hiện nay,

với sự phát triển của khoa học kỹ thuật thì nhiều hệ thống máy tính lớn có tốc

xử lý rất cao nên việc giải được các bài toán khó là có thể thực hiện được, khi

đó độ an toàn của lược đồ chữ ký có thể sẽ bị phá vỡ.

Nâng cao độ an toàn cho các lược đồ chữ ký số luôn được các nhà khoa

học quan tâm. Nhiều công trình nghiên cứu đã được xây dựng dựa trên sự kết

hợp của các bài toán khó như bài toán phân tích số và bài logarit rời rạc. Các

thuật toán trong lược đồ chữ ký số luôn được cải tiến để có thể chống lại các

cuộc tấn công giả mạo cả bên trong và bên ngoài hệ thống. Tuy nhiên, sau một

thời gian nhiều lược đồ chữ ký số đã được chứng minh là không an toàn, chữ

ký số có thể bị giả mạo [32], [38], [42], [60], [63], [77], hoặc tính an toàn của

các lược đồ này không phải dựa trên hai bài toán khó mà thực tế chỉ dựa trên

75

một bài toán khó [23], [27]. Ngoài ra, một số lược đồ chữ ký số sau khi cải tiến

các thuật toán, nhưng kích thước chữ ký do chúng sinh ra vẫn là khá lớn nên tốc

độ xử lý chậm, hiệu quả thực hiện chưa cao [26].

Để nâng cao hiệu quả thực hiện của các lược đồ trong các ứng dụng thực

tế, các nhà khoa học cần phải đẩy mạnh hơn nữa việc nghiên cứu kết hợp giữa

các bài toán khó để đảm bảo độ an toàn của các lược đồ, đồng thời rút ngắn

được kích thước chữ ký số. Trên cơ sở đó, luận án tiếp tục xây dựng, phát triển

các lược đồ chữ ký số dựa trên tính khó của việc giải đồng thời hai bài toán

phân tích số và logarit rời rạc nhằm nâng cao độ an toàn và hiệu quả thực hiện

của thuật toán.

3.2. Xây dựng lược đồ chữ ký số IFP-DLP cơ sở I

Để xây dựng các lược đồ chữ ký số có thể đáp ứng được các yêu cầu về

độ an toàn trong các ứng dụng thực tế, luận án đề xuất phương pháp xây dựng

lược đồ chữ ký IFP-DLP cơ sở I (dạng tổng quát) dựa trên bài toán logarit rời

rạc trên vành Zn. Từ lược đồ chữ ký dạng tổng quát có thể tạo ra một họ lược

đồ chữ ký mới tương tự như họ chữ ký Elgamal xây dựng trên bài toán logarit

rời rạc. Tuy nhiên, các lược đồ chữ ký xây dựng theo phương pháp mới đề xuất

có độ an toàn cao hơn các lược đồ họ Elgamal. Độ an toàn này được bảo đảm

bởi tính khó của việc giải đồng thời hai bài toán phân tích một số nguyên lớn ra

các thừa số nguyên tố (IFP) và bài toán logarit rời rạc trên Zp (DLP), trong khi

đó độ an toàn của các lược đồ họ ElGamal chỉ được đảm bảo bởi tính khó duy

nhất của bài toán DLP.

3.2.1. Các bước xây dựng lược đồ IFP-DLP cơ sở I

Quy trình xây dựng lược đồ chữ ký số IFP-DLP cơ sở I gồm các bước:

lựa chọn các tham số, tạo chữ ký và kiểm tra chữ ký.

3.2.1.1. Lựa chọn và tính các tham số

Mỗi đối tượng tham gia ký trong hệ thống hình thành các tham số và

khóa theo các bước sau:

76

1. Chọn một cặp số nguyên tố lớn p, q

Đặt: , sao cho bài toán phân tích số trên Zn là

khó giải. Các tham số p, q có thể được chọn theo tiêu chuẩn FIPS 186

- 4 [51] của Mỹ với các kích thước như 512 bit hoặc 1024 bit.

Tính: , và: là hàm Euler của n.

2. Chọn p1, q1 là các số nguyên tố, trong đó: p1 là ước của và

không là ước của , còn q1 là ước của và không là ước

của .

Tính:

* có bậc là

3. Chọn g là phần tử sinh của nhóm Zn , được

tính theo:

và thỏa mãn: , với: .

4. Chọn khóa bí mật thứ nhất x1 trong khoảng và tính khóa công

khai y theo thuật toán sau:

4.1. Tính khóa công khai theo:

(3.1)

4.2. Nếu: hoặc: thì thực hiện chọn lại

x1 trong khoảng (1,m).

5. Tính khóa bí mật thứ hai theo:

(3.2)

6. Chọn một hàm băm H: , với:

Hàm băm H(.) có thể chọn theo FIPS 180 - 4 [50] như: SHA-1, SHA-

256, SHA-512, … với các kích thước dữ liệu đầu ra tương ứng là:

160 bit, 256 bit, 512 bit, …

Trong đó:

- y là khóa công khai; n, g là các tham số công khai;

77

là các tham số bí mật.

- m, x1, x2 là khóa bí mật; p, q, p1, q1 và

3.2.1.2. Tạo chữ ký IFP-DLP cơ sở I

Thuật toán tạo chữ ký IFP-DLP cơ sở I

Input: n, g, m, x1, x2, M – thông điệp dữ liệu cần ký.

Output: - chữ ký.

1. Chọn ngẫu nhiên giá trị k trong khoảng . Tính:

(3.3)

2. Tính thành phần thứ nhất của chữ ký:

(3.4)

3. Thành phần thứ hai của chữ ký được tính theo một trong các dạng

sau:

(3.5)

Nếu thì quay lại bước 1.

Hoặc:

(3.6)

Nếu thì quay lại bước 1.

Hoặc:

(3.7)

Nếu thì quay lại bước 1.

4. Return .

Trong đó:

- k là số bí mật tương ứng cho mỗi thông điệp dữ liệu;

: hàm của M và R có giá trị trong khoảng ;

-

: các hàm của M và R hoặc E có giá trị trong khoảng

-

và thỏa mãn điều kiện để hàm tồn tại

nghịch đảo theo .

78

3.2.1.3. Kiểm tra chữ ký IFP-DLP cơ sở I

Thuật toán kiểm tra chữ ký IFP-DLP cơ sở I

Input: n, g, y, , M - thông điệp dữ liệu cần thẩm tra.

Output: = true / false.

1. Tính giá trị u:

Nếu S được tính theo (3.5):

(3.8)

Hoặc, nếu S được tính theo (3.6):

(3.9)

Hoặc, nếu S được tính theo (3.7):

(3.10)

2. Tính giá trị v:

(3.11)

3. Kiểm tra: If ( ) Then {return true} Else {return false}

Trong đó:

= true: chữ ký hợp lệ, thông điệp dữ liệu M được xác thực về

-

nguồn gốc và tính toàn vẹn.

= false: chữ ký giả mạo hoặc/và thông điệp dữ liệu M không còn

-

toàn vẹn.

3.2.2. Tính đúng đắn của lược đồ IFP-DLP cơ sở I

Tính đúng đắn của phương pháp mới đề xuất được chứng minh qua các

mệnh đề 3.1, mệnh đề 3.2 và mệnh đề 3.3. Cụ thể như sau:

Mệnh đề 3.1:

Với các tham số và khóa được hình thành bởi thuật toán hình thành tham

số trong mục 3.2.1.1, với , chữ ký (E,S) được sinh bởi (3.4) và

(3.5) của thuật toán hình thành chữ ký, giá trị u và v được tạo bởi (3.8) và (3.11)

của thuật toán kiểm tra chữ ký thì .

79

Chứng minh:

Thật vậy, theo (3.8):

Theo các phép biến đổi trên, ta có: (3.12)

Từ (3.3) và (3.12) suy ra: u = R.

Do đó:

(3.13)

Từ (3.4) và (3.13) suy ra điều cần chứng minh: ∎

Mệnh đề 3.2:

Với các tham số và khóa được hình thành bởi thuật toán hình thành tham

số trong mục 3.2.1.1, với , chữ ký (E,S) được sinh bởi (3.4) và

(3.6) của thuật toán hình thành chữ ký, giá trị u và v được tạo bởi (3.9) và (3.11)

của thuật toán kiểm tra chữ ký thì .

Chứng minh:

Thật vậy, theo (3.9):

Theo các phép biến đổi trên, ta có: (3.14)

Từ (3.3) và (3.14) suy ra: u = R.

80

Do đó: (3.15)

Từ (3.3) và (3.15) suy ra điều cần chứng minh: ∎

Mệnh đề 3.3:

Với các tham số và khóa được hình thành bởi thuật toán hình thành tham

số trong mục 3.2.1.1, với , chữ ký (E,S) được sinh bởi (3.4) và

(3.7) của thuật toán hình thành chữ ký, giá trị u và v được tạo bởi (3.10) và

(3.11) của thuật toán kiểm tra chữ ký thì .

Chứng minh:

Thật vậy, theo (3.10):

Theo các phép biến đổi trên, ta có: (3.16)

Từ (3.3) và (3.16), suy ra: u = R.

Do đó:

(3.17)

Từ (3.3) và (3.17) suy ra điều cần chứng minh: ∎

3.3. Lược đồ chữ ký số IFP-DLP cơ sở II

Lược đồ chữ ký số IFP-DLP cơ sở II được xây dựng dựa trên lược đồ

IFP-DLP cơ sở I (dạng tổng quát) và dựa trên tính khó giải đồng thời của hai

bài toán phân tích số và bài toán logarit rời rạc trên Zp nhằm nâng cao độ an

toàn của thuật toán chữ ký. Ngoài ra, lược đồ IFP-DLP cơ sở II có kích thước

chữ ký được rút gọn sẽ nâng cao hiệu quả thực hiện của lược đồ trong các ứng

dụng thực tế.

81

Trong lược đồ Lược đồ IFP-RSAP cơ sở II, các hàm được lựa chọn như

. sau:

Việc lựa chọn các hàm cần đảm bảo tính an toàn và hiệu quả thực hiện.

Để đảm bảo tính an toàn, các thành phần như M, R, E là phải có mặt trong các

thuật toán, nhưng cũng không nên chọn có mặt nhiều quá sẽ giảm hiệu quả thực

hiện và tăng khối lượng tính toán.

3.3.1. Quy trình chung

Qui trình chung của lược đồ gồm các bước: chọn các tham số, tạo chữ

ký, kiểm tra chữ ký.

3.3.1.1. Lựa chọn các tham số và khóa

Quá trình hình thành các tham số hệ thống và khóa thực hiện theo các

bước:

1. Chọn cặp số nguyên tố p, q là đủ lớn.

Các số nguyên tố p, q được lựa chọn theo bước 1, mục 3.2.1.1 trong

lược đồ IFP-DLP cơ sở I.

2. Tính: , và:

3. Chọn p1, q1 là các số nguyên tố thỏa mãn các điều kiện:

và , tức là chọn p1 là ước của và q1 là

ước của .

và , tức là chọn p1 không là ước của

và q1 không là ước của .

4. Tính giá trị:

* có bậc là

5. Chọn g là phần tử sinh của nhóm Zn , thỏa

mãn điều kiện . Tính giá trị g theo công thức:

, với: .

6. Chọn một số nguyên x1 làm khóa bí mật thứ nhất trong khoảng

82

6.1. Tính khóa công khai y theo công thức:

(3.18)

6.2. Nếu hoặc thì thực hiện chọn lại x1

trong khoảng (1,m).

7. Tính khóa bí mật thứ hai theo công thức:

(3.19)

8. Chọn một hàm băm H: , với:

Hàm băm H(.)được lựa chọn theo bước 6, mục 3.2.1.1 trong lược đồ

IFP-RSAP cơ sở I.

Trong đó:

- len(.) là hàm tính độ dài (theo bit) của một số;

- y là khóa công khai và n, g là các tham số công khai;

- x1, x2 là khóa bí mật;

là các tham số bí mật.

- p, q, p1, q1 , m và

3.3.1.2 Tạo chữ ký IFP-DLP cơ sở II

Thuật toán tạo chữ ký IFP-DLP cơ sở II

Input: n, g, m, x1, x2, M – thông điệp dữ liệu cần ký.

Output: - chữ ký.

1. Chọn ngẫu nhiên giá trị k trong khoảng:

2. Tính giá trị R theo công thức:

(3.20)

3. Thành phần thứ nhất của chữ ký theo được tính theo công thức:

(3.21)

4. Thành phần thứ hai của chữ ký được tính theo công thức:

(3.22)

5. Return

83

Trong đó:

- Toán tử “||” là phép nối 2 xâu bit.

3.3.1.3 Kiểm tra chữ ký IFP-DLP cơ sở II

Thuật toán kiểm tra chữ ký IFP-DLP cơ sở II

Input: n, g, y, , M - thông điệp dữ liệu cần thẩm tra.

Output: = true / false.

1. Tính giá trị theo công thức:

(3.23)

2. Tính giá trị theo công thức:

(3.24)

3. Kiểm tra: If ( ) Then {return true} Else {return false}

Trong đó:

= true: chữ ký hợp lệ, thông điệp dữ liệu M được xác thực về

-

nguồn gốc và tính toàn vẹn.

= false: chữ ký hoặc/và thông điệp dữ liệu M nhận được bị giả

-

mạo.

3.3.2. Tính đúng đắn của lược đồ IFP-DLP cơ sở II

Tính đúng đắn của các phương pháp hình thành và kiểm tra chữ ký của

lược đồ IFP-DLP cơ sở II được chứng minh qua định lý 3.1, cụ thể như sau:

Định lý 3.1:

Giả sử ta có các tham số và các khóa cùng cặp chữ ký (E,S) được chọn

và tạo bởi các bước trong lược đồ IFP-DLP cơ sở II. Thành phần là giá trị

được sinh ra do thuật toán kiểm tra theo công thức 3.24

Khi đó ta có:

.

84

Chứng minh:

Theo thuật toán hình thành tham số, thì các tham số y và x2 được tính như

sau:

, .

Theo các công thức (3.22) và (3.23) ta thực hiện các biến đổi tương đương

như sau:

Từ (3.21) và (3.24) suy ra:

Đây là điều cần chứng minh ∎

3.3.3. Mức độ an toàn của lược đồ IFP-DLP cơ sở II

3.3.3.1. Tấn công khóa bí mật

Ở lược đồ IFP-DLP cơ sở II mới đề xuất, khóa bí mật của một đối tượng

ký là cặp (x1, x2), tính an toàn của lược đồ sẽ bị phá vỡ hoàn toàn khi cặp khóa

này có thể tính được bởi một hay các đối tượng không mong muốn. Từ phương

pháp hình thành các tham số và khóa cho thấy, để tìm được x2 cần phải tính

được tham số φ(n), nghĩa là phải giải được IFP(n), còn để tính được x1 cần phải

giải được DLP(n,g). Như vậy, để tìm được cặp khóa bí mật này kẻ tấn công cần

phải giải được đồng thời hai bài toán IFP(n) và DLP(n,g) đã chỉ ra ở trên. Tuy

nhiên, việc giải được DLP(n,g) là khó tương đương với việc giải đồng thời hai

bài toán IFP(n) và DLP(p,g). Vì thế, có thể chỉ ra tính an toàn về khóa của lược

đồ mới đề xuất được đảm bảo bởi tính khó của việc giải đồng thời hai bài toán

phân tích số và logarit rời rạc trên Zp.

3.3.3.2. Tấn công giả mạo chữ ký

Từ điều kiện của thuật toán kiểm tra chữ ký, một cặp bất kỳ sẽ

85

được coi là chữ ký hợp lệ của đối tượng sở hữu các tham số công khai (n, g, y)

lên bản tin M nếu thỏa mãn:

(3.25)

Từ (3.25) cho thấy, việc tìm cặp bằng cách chọn trước một trong

hai giá trị, sau đó tính giá trị còn lại đều khó hơn việc giải DLP(n,g). Hơn nữa,

nếu H(.) được chọn là hàm băm có độ an toàn cao (SHA 256/512,...) thì việc

chọn ngẫu nhiên cặp thỏa mãn (3.25) hoàn toàn không khả thi trong các ứng

dụng thực tế.

Như vậy, độ an toàn của lược đồ IFP-DLP tập thể được bảo đảm bởi tính

khó của việc giải đồng thời hai bài toán phân tích một số nguyên lớn ra các thừa

số nguyên tố (IFP) và bài toán logarit rời rạc trên Zp (DLP), trong khi đó độ an

toàn của các lược đồ họ ElGamal chỉ được đảm bảo bởi tính khó duy nhất của

bài toán DLP.

3.3.4. Độ phức tạp thời gian của lược đồ IFP-DLP cơ sở II

Để đánh giá về độ phức tạp thời gian của lược đồ IFP-DLP cơ sở II, luận

án sẽ đánh giá chi phí tính toán cho các phép toán thực hiện trong các thuật toán

tạo chữ ký và kiểm tra chữ ký. Các ký hiệu được sử dụng để tính chi phí cụ thể

như sau:

- Chi phí tính toán cho phép nhân trên Zn ký hiệu là Mn và độ dài xâu

bit của n ký hiệu là .

có độ

- Chi phí tính toán cho phép lũy thừa trong Zn, với

phức tạp xấp xỉ Ln.Mn.

- Chi phí tính toán cho phép nhân hai số trong modulo m ký hiệu là Mm

và độ dài xâu bit của m ký hiệu là .

Trong thuật toán tạo chữ ký IFP-DLP cơ sở II, chi phí tính toán tập trung

ở một phép lũy thừa và hai phép nhân. Vậy tổng chi phí tính toán của thuật toán

tạo chữ ký được ước lượng như sau:

86

Trong thuật toán kiểm tra chữ ký IFP-DLP cơ sở II, chi phí tính toán tập

trung ở hai phép lũy thừa và hai phép nhân. Vậy tổng chi phí tính toán của thuật

toán kiểm tra chữ ký ước lượng như sau:

Như vậy, tổng chi phí thời gian thực hiện các thuật toán tạo chữ ký và

kiểm tra chữ ký của lược đồ IFP-DLP cơ sở II được ước lượng như sau:

3.3.5. Hiệu quả thực hiện của lược đồ IFP-DLP cơ sở II

Tính hiệu quả của lược đồ chữ ký có thể đánh giá qua chi phí thực hiện

của các thuật toán ký, kiểm tra chữ ký và kích thước chữ ký mà lược đồ sinh ra.

Nếu chi phí thời gian thực hiện các phép toán càng thấp thì hiệu quả thực hiện

của lược đồ càng cao. Ở mục này, tính hiệu quả của lược đồ mới đề xuất sẽ

được đánh giá và so sánh với các kết quả trong [26].

3.3.5.1. Kích thước chữ ký

Kích thước chữ ký do lược đồ IFP-DLP cơ sở II mới đề xuất được so

sánh với kích thước chữ ký của các lược đồ FS (The First Scheme) và SS (The

Second Scheme) trong [26] với cùng bộ tham số đã được lựa chọn.

Để so sánh, đánh giá kích thước chữ ký của các lược đồ [26] và lược đồ

IFP-DLP cơ sở II dựa trên các thuật toán tạo khóa và chữ ký được minh họa trong

Bảng 3.1.

Bảng 3.1. Thuật toán tạo chữ ký của các lược đồ FS, SS và IFP-DLP cơ sở

Lược đồ FS 1. Thuật toán tạo khóa: Các bước thực hiện: 1. Chọn các số nguyên tố lớn q’ và

q có dạng 4r +3, tính

Lược đồ SS 1. Thuật toán tạo khóa: Các bước thực hiện: 1. Chọn số nguyên e ngẫu nhiên, 𝑒 ∈ 𝑍𝑛, sao cho gcd(𝑒, 𝑛) = 1 2.Tính giá trị bí mật d sao cho

𝑒𝑑 ≡ 1𝑚𝑜𝑑𝜑(𝑛) 2. Chọn ngẫu nhiên một khóa bí mật ∗ x sao cho 𝑥 ∈ 𝑍𝑝

87

Tính:

3.Chọn ngẫu nhiên một khóa bí ∗ mật x sao cho 𝑥 ∈ 𝑍𝑝 3. Khóa công khai là . Khóa

bí mật là

4.Tính: 5.Khóa công khai là .

Khóa bí mật là

2. Thuật toán tạo chữ ký: Các bước thực hiện: 1. Tính: , với k là một 2. Thuật toán tạo chữ ký:

số bí mật ngẫu nhiên, 1. Tính: , với k là

2.Tính: một số bí mật ngẫu nhiên

2.Tính:

3.Tính giá trị S: Chữ ký là cặp 3.Tính giá trị S:

, như vậy

Chữ ký là cặp . Dễ dàng

nhận thấy độ dài chữ ký là

bít

Lược đồ IFP-DLP cơ sở II

1. Thuật toán chọn các tham số và tạo khóa:

Các bước thực hiện: 1.Chọn một cặp số p, q nguyên tố với: ,

là độ dài (tính theo bit) của các số nguyên tố p, q sao cho bài toán phân tích số trên Zn là khó giải.

2. Tính : , và: .

3. Chọn p1, q1 là các số nguyên tố thỏa mãn các điều kiện:

và , tức là chọn p1 là ước của và q1 là

ước của .

và , tức là chọn p1 không là ước của

và q1 không là ước của .

4. Tính giá trị:

88

* có bậc là

5. Chọn g là phần tử sinh của nhóm Zn , thỏa

mãn điều kiện . Tính giá trị g theo công thức:

, với: .

6. Chọn một số nguyên x1 làm khóa bí mật thứ nhất trong khoảng

6.1. Tính khóa công khai y theo công thức:

6.2. Nếu hoặc thì thực hiện chọn lại x1

7. Tính khóa bí mật thứ hai theo công thức:

8. Chọn một hàm băm H: , với: .

2. Thuật toán tạo chữ ký:

1. Chọn ngẫu nhiên giá trị k trong khoảng:

2. Tính giá trị R theo công thức:

3. Thành phần thứ nhất của chữ ký theo được tính theo công thức:

4. Thành phần thứ hai của chữ ký được tính theo công thức:

Trong [26], các lược đồ chữ ký sử dụng modulo n được tạo ra từ hai số

nguyên tố q và q’: . Với: |q| = |q’| = 512 bit, nên: |n| = 1024 bit. Hàm

băm được lựa chọn có kích thước giá trị đầu ra là 160 bit, vì thế kích thước chữ

ký do các lược đồ này tạo ra: |E| + |S| = 160 bit + 1024 bit = 1184 bit.

Khi áp dụng phương pháp rút ngắn kích thước chữ ký theo [46] với các

tham số: bit, bit, bit, bit và: |δ|=160

bit. Ở đây: và: , với: , ,

, . Khi đó, chữ ký do các lược đồ trong [26] tạo ra là bộ ba tham số

(k,g,v) và sẽ có kích thước: bit.

89

Ở lược đồ IFP-DLP cơ sở II mới đề xuất, các tham số tương

đương với trong [26], còn các tham số của lược đồ mới đề

xuất và trong [26] cũng có vai trò tương đương nhau. Nếu chọn kích

thước các tham số tương tự như ở các lược đồ trong [26] thì kích thước chữ ký

do lược đồ mới đề xuất tạo ra: bit.

Từ các kết quả trên cho thấy với bộ tham số đã lựa chọn, chữ ký do lược

đồ IFP-DLP cơ sở II mới đề xuất tạo ra có kích thước nhỏ hơn 2,5 lần so với

kích thước chữ ký do các lược đồ trong [26] tạo ra và có kích thước tương đương

với các lược đồ này khi áp dụng phương pháp rút gọn chữ ký theo [46].

3.3.5.2. Chi phi thực hiện của lược đồ IFP-DLP cơ sở II so với các lược đồ

khác

Trong phần này, luận án so sánh đánh giá độ phức tạp thời gian của lược

đồ IFP-DLP cơ sở II với các lược đồ chữ ký số tập thể trong [26]. Quá trình

đánh giá dựa trên chi phí thực hiện của các thuật toán ký, kiểm tra chữ ký và

kích thước chữ ký mà lược đồ sinh ra.

Chi phí thực hiện hay chi phí tính toán của các thuật toán ký và kiểm tra

chữ ký có thể được đánh giá thông qua số phép toán cần thực hiện hay tổng thời

gian cần thực hiện các phép toán để hình thành và kiểm tra chữ ký. Qui ước sử

dụng các ký hiệu như sau:

Texp: thời gian thực hiện phép tính lũy thừa modulo.

Th: thời gian thực hiện hàm băm.

Tmul: thời gian thực hiện phép nhân modulo.

Tinv: thời gian thực hiện phép nghịch đảo modulo.

Tsr : thời gian thực hiện phép khai căn bậc 2 modulo.

Ghi chú:

Thuật toán sinh tham số và khóa chỉ cần thực hiện một lần duy nhất với

mọi đối tượng ký. Vì thế, chi phí tính toán cho thuật toán sinh tham số và khóa

có thể bỏ qua khi tính toán chi phí thực hiện lược đồ ký.

90

- Thời gian thực hiện của lược đồ chữ ký IFP-DLP cơ sở mới đề xuất:

+ Thời gian thực hiện thuật toán ký: (Texp + Th + 2Tmul).

+ Thời gian thực hiện thuật toán kiểm tra: (2Texp + Th + 2Tmul).

- Thời gian thực hiện của lược đồ chữ ký FS [26]:

+ Thời gian thực hiện thuật toán ký: (Texp + Th + Tmul + Tsr)

+ Thời gian thực hiện thuật toán kiểm tra: (3Texp + Th + Tmul)

Để tính được thành phần S của chữ ký theo: [26], thì:

phải là đồng dư bậc 2 modulo n. Điều đó không luôn xảy ra với mọi

giá trị k được chọn ở bước thứ nhất của thuật toán ký. Nói cách khác, để tạo

được giá trị S, các bước của thuật toán ký có thể sẽ phải thực hiện nhiều lần, giả

sử số lần cần phải thực hiện là N, khi đó thời gian thực hiện thuật toán ký của

lược đồ thứ nhất trong [26] sẽ là: N.(Texp + Th + Tmul + Tsr).

- Thời gian thực hiện của lược đồ chữ ký SS [26]:

+ Thời gian thực hiện thuật toán ký: (2Texp + Th + Tmul).

+ Thời gian thực hiện thuật toán kiểm tra: (3Texp + Th + Tmul).

Để rút ngắn độ dài chữ ký theo phương pháp [46] thì các lược đồ FS và

SS [26] cần phải thực hiện bổ sung một số phép tính lũy thừa, nhân, nghịch đảo

modulo. Vì thế, chi phí thực hiện các lược đồ này sẽ tăng đáng kể so với các

kết quả đã chỉ ra trong [26].

Theo lược đồ IFP-DLP cơ sở và các lược đồ [26] thì số phép toán cần thực

hiện trong các thuật toán tạo chữ ký và thuật toán kiểm tra chữ ký được minh

họa trong các Bảng 3.2, Bảng 3.3, Bảng 3.4.

Bảng 3.2. Chi phí thời gian thực hiện của lược đồ IFP-DLP cơ sở II

Các phép tính Thuật toán ký Thuật toán kiểm tra

Phép tính lũy thừa modulo 1 2

Phép tính khai căn 0 0

Phép tính hàm băm 1 1

Phép tính nhân modulo 2 2

91

Bảng 3.3. Chi phí thời gian thực hiện của lược đồ FS [26]

Các phép tính Thuật toán ký Thuật toán kiểm tra

1 Phép tính lũy thừa modulo 3

1 Phép tính khai căn 0

1 Phép tính hàm băm 1

1 Phép tính nhân 1

Bảng 3.4. Chi phí thời gian thực hiện của lược đồ SS [26]

Các phép tính Thuật toán ký Thuật toán kiểm tra

2 Phép tính lũy thừa modulo 3

0 Phép tính khai căn 0

1 Phép tính hàm băm 1

1 Phép tính nhân 1

Tổng hợp chi phí thời gian thực hiện của các thuật toán tạo chữ ký và kiểm

tra chữ ký được minh họa qua bảng 3.5.

Bảng 3.5. So sánh chi phí thời gian thực hiện của lược đồ IFP-DLP cơ sở II với các lược đồ FS và lược đồ SS trong [26]

Các lược đồ Thuật toán ký Thuật toán kiểm tra

Lược đồ FS [26] Texp + Th + Tmul + Tsr 3Texp + Th + Tmul

Lược đồ SS [26] 2Texp + Th + Tmul 3Texp + Th + Tmul

Lược đồ IFP-DLP cơ sở II Texp + Th + 2Tmul 2Texp + Th + 2Tmul

Trong lược đồ FS [26] để tạo được giá trị S, các bước của thuật toán ký

có thể sẽ phải thực hiện nhiều lần. Giả sử số lần cần phải thực hiện là N, khi đó

thời gian thực hiện thuật toán ký sẽ là: N.(Texp + Th + Tmul + Tsr).

Bảng 3.5 cho thấy chi phí thời gian thực hiện thuật toán sinh chữ ký và

kiểm tra chữ ký của lược đồ chữ ký số IFP-DLP cơ sở II thấp hơn so với các

lược đồ FS [26] và lược đồ SS [26].

92

Theo các kết quả so sánh ở trên cho thấy, lược đồ IFP-DLP cơ sở II có

hiệu quả thực hiện cao hơn so với các lược đồ [26] trong cả hai trường hợp áp

dụng và không áp dụng phương pháp rút ngắn kích thước chữ ký theo [46].

3.4. Đề xuất lược đồ chữ ký IFP-DLP tập thể

Theo mô hình chữ ký số tập thể dạng kết hợp được xây dựng trong

chương 2, chữ ký số tập thể được hình thành trên cơ sở chữ ký của một hoặc

một nhóm đối tượng ký và chứng nhận của CA với vai trò chứng thực của tổ

chức đối với thông điệp dữ liệu cần ký. Trên cơ sở lược đồ chữ ký IFP-DLP cơ

sở II đã đề xuất, luận án tiếp tục xây dựng, phát triển lược đồ chữ ký số IFP-

DLP tập thể dạng kết hợp nhằm đẩy mạnh việc áp dụng chữ ký số tập thể trong

các các cơ quan nhà nước, các tổ chức, các đơn vị hành chính sự nghiệp, các

trường học... Lược đồ chữ ký số tập thể đề xuất gồm các chức năng sau:

- Hình thành chữ ký tập thể từ chữ ký cá nhân của một hay một nhóm

đối tượng ký và chữ ký của CA. Kích thước của chữ ký không phụ thuộc vào

số lượng thành viên nhóm ký.

- Kiểm tra chữ ký tập thể của một nhóm đối tượng được thực hiện

tương tự như chữ ký do một đối tượng ký tạo ra.

Lược đồ chữ ký số IFP-DLP tập thể được xây dựng dựa trên tính khó

giải đồng thời của hai bài toán phân tích số và bài toán logarit rời rạc trên Zn

nhằm nâng cao độ an toàn và hiệu quả thực hiện của thuật toán.

3.4.1. Các bước triển khai lược đồ chữ ký IFP-DLP tập thể

Giả sử có văn bản M và một nhóm gồm N người tham gia ký. Bài toán

đặt ra là xây dựng các chữ ký số cho văn bản M với N thành viên tham gia ký

cùng CA của tổ chức. Tập các thành viên tham gia ký: .

Các thành viên nhóm ký có khóa bí mật: và các khóa

công khai tương ứng: . Trong đó, CA có cặp khóa bí

mật/công khai tương ứng .

93

Lược đồ được xây dựng theo các bước sau:

- Hình thành các tham số hệ thống và khóa của CA;

- Hình thành khóa của các thành viên ký;

- Chứng thực các thành viên ký;

- Kiểm tra tính hợp pháp của thành viên ký

- Hình thành chữ ký tập thể;

- Kiểm tra chữ ký tập thể.

3.4.1.1. Lựa chọn các tham số và khóa của CA

Quá trình hình thành các tham số hệ thống và khóa của CA được thực

hiện theo thuật toán 3.1.

Thuật toán 3.1.

Input: lp, lq – độ dài (tính theo bit) của số nguyên tố p, q. Output: n, m, g, xca1, xca2, yca.

1. Chọn một cặp số p, q nguyên tố với: len(p) = lp, len(q)= lq sao cho

bài toán phân tích số trên Zn =p.q là khó giải.

Các số nguyên tố p, q được lựa chọn theo bước 1, mục 3.2.1.1 trong

lược đồ IFP-DLP cơ sở I.

Tính: và hàm Euler của n: 2.

Chọn p1, q1 là các số nguyên tố, trong đó: p1 là ước của (p-1) và 3.

không là ước của (q-1), còn q1 là ước của (q-1) và không là ước của

(p-1).

Tính: 4.

*, được tính theo:

Chọn g là phần tử sinh của nhóm Zn 5.

và thỏa mãn: , với:

Chọn khóa bí mật thứ nhất xca1 trong khoảng (1,m) 6.

Tính khóa công khai yca theo: (3.26) 7.

Kiểm tra: nếu hoặc: thì thực hiện lại từ

bước 6.

94

Tính khóa bí mật xca2 theo: (3.27) 8.

Chọn hàm băm H: , với: h < n 9.

Hàm băm H(.)được lựa chọn theo bước 6, mục 3.2.1.1 trong lược đồ

IFP-RSAP cơ sở I.

Trong đó :

- yca là khóa công khai và n, g là các tham số công khai;

- m, xca1, xca2 là khóa bí mật;

- p, q, p1, q1 và là các tham số bí mật.

3.4.1.2. Lựa chọn các tham số và khóa của các các thành viên

Giả sử, các tham số n, g được chọn trong thuật toán 3.1. Khi đó, khóa bí

mật và khóa công khai của các thành viên được hình thành theo thuật toán 3.2.

Thuật toán 3.2.

Input: n, m, g, N.

Output: , .

for i = 1 to N do 1.

Chọn một số xi trong khoảng 1.1.

1.2.

(3.28) 1.3.

1.4.

2. Return KS , KP

3.4.1.3. Chứng nhận các thành viên tham gia ký

Trước khi tạo chữ ký, CA cấp chứng nhận (chứng chỉ số) cho các thành

viên tham gia ký được thực hiện theo thuật toán 3.3.

Thuật toán 3.3.

Input: .

Output: – chứng nhận của CA đối với Ui.

1. For i = 1 to N do

95

1.1.

(3.29) 1.2.

1.3.

1.4.

2. Return

3.4.1.4. Kiểm tra tính hợp pháp của các thành viên

Quá trình kiểm tra tính hợp pháp cho các đối tượng ký và xác nhận là

thành viên của hệ thống được thực hiện theo thuật toán 3.4.

Thuật toán 3.4.

Input: n, N, , ( ).

Output: (các biến này có giá trị logic: true or false).

1. For i = 1 to N do

1.1.

1.2.

1.3. If ( ) Then KTi = True Else KTi = false

2. Return

Trong đó:

- KTi = true: đối tượng ký Ui được xác nhận là thành viên của hệ thống.

- KTi = false: Ui là một đối tượng giả mạo.

3.4.1.5. Tạo chữ ký IFP-DLP tập thể

Chữ ký tập thể được hình thành trên cơ sở chữ ký của một nhóm đối

tượng ký và chữ ký của CA được kết hợp với nhau. Quá trình hình thành chữ

ký tập thể được thực hiện theo thuật toán 3.5.

Thuật toán 3.5.

Input: M, n, m, N, kca, xca1, xca2, KS, KP.

Output: – chữ ký của U lên M.

96

For i = 1 to N do 1.

1.1.

1.2.

1.3. Send to CA

; For i = 1 to N do 2.

(3.30) ; 3.

(3.31) 4.

(3.32) 5.

Send E to ;

For i = 1 to N do 6.

6.1. (3.33)

6.2. Send Si to CA

7. Su ← 0; For i = 1 to N do

7.1. if ( ) then {return (0,0)}

7.2.

8. IF then

(3.34)

Else S=0

9. Return ;

Trong đó:

- Các bước 1, 6 được thực hiện bởi các đối tượng ký

- Các bước 2, 3, 4, 5, 7, 8 và 9 được thực hiện bởi CA.

3.4.1.6. Kiểm tra chữ ký IFP-DLP tập thể

Kiểm tra tính hợp lệ của chữ ký tập thể được thực hiện theo thuật toán

3.6. Kết quả true/false sẽ xác định được chữ ký là hợp lệ hoặc bị giả mạo.

Thuật toán 3.6.

97

Input: g, n, yca, KP , M, .

Output: = true / false.

If (E = 0 or S = 0) Then return false 1.

y ← 1; For i = 1 to N do 2.

(3.35) 3.

(3.36) 4.

) Then {return true} Else {return false} 5.

If ( Trong đó:

= true: chữ ký hợp lệ, bản tin M được xác thực về nguồn gốc

-

và tính toàn vẹn.

= false: chữ ký hoặc/và bản tin bị giả mạo.

-

Các bước thực hiện quá trình tạo chữ ký tập thể của lược đồ IFP-DLP

tập thể mới đề xuất được minh họa trong Hình 3.1.

Dữ liệu Người yêu cầu CA (n, p, q, m, g, xca1, xca2)

Tập thể người ký (KS, KP) Chọn x ∈ (1, m)

Ri

E

Si

Chữ ký số

Hình 3.1. Tóm tắt thuật toán ký của lược đồ IFP-DLP tập thể

98

3.4.2. Tính đúng đắn của lược đồ chữ ký IFP-DLP tập thể

Tính đúng đắn của lược đồ chữ ký IFP-DLP tập thể được chứng minh

qua định lý 3.2, cụ thể như sau:

Định lý 3.2.

Với các tham số và khóa cùng cặp chữ ký được chọn và tính toán

ở các bước của thuật toán IFP-DLP tập thể thì lược đồ chữ ký số IFP-DLP tập

thể là đúng đắn, tức là:

.

Chứng minh.

Theo các Thuật toán đề xuất trên đây tính các tham số y, R, S ta có:

(3.37)

(3.38)

(3.39)

Và theo (3.27), (3.28), (3.29), (3.30), (3.31), (3.33), (3.34) và (3.35) có:

Theo (3.32) và (3.36) suy ra:

Từ đây suy ra điều cần chứng minh: ∎

99

3.4.3. Độ an toàn của lược đồ chữ ký IFP-DLP tập thể

3.4.3.1. Tấn công khóa bí mật

Mức độ an toàn của lược đồ chữ ký IFP-DLP tập thể ở đây được thiết lập

dựa trên mức độ an toàn của lược đồ IFP-DLP cơ sở II đã đề xuất ở mục 3.3.3.

Do vậy, về cơ bản mức độ an toàn của lược đồ chữ ký IFP-DLP tập thể cũng

được quyết định bởi mức độ khó của việc giải đồng thời hai bài toán IFP và

DLP.

Ngoài ra, lược đồ IFP-DLP tập thể có khả năng chống lại các cuộc tấn

công khóa bí mật dựa vào lộ khóa phiên hoặc trùng khóa phiên.

Theo “nghịch lý ngày sinh” thì việc có thể lộ khóa phiên hoặc trùng khóa

phiên là có thể xảy ra. Tuy nhiên, do cấp của phần tử sinh g là tham số m được

giữ bí mật nên nếu xảy ra tình huống lộ khóa phiên hoặc trùng khóa phiên thì

kẻ tấn công cũng khó có thể tính được khóa bí mật. Cụ thể các trường hợp như

sau:

- Trường hợp tấn công khóa ngắn hạn k (khóa phiên) bị lộ:

Giả sử khi khóa phiên bị lộ trong một lần thực hiện việc ký trên thông

điệp M nào đó thì khóa bí mật xca2 được tính từ công thức:

, trong đó

Suy ra:

Do m được giữ bí mật nên kẻ tấn công sẽ khó xác định được xca2.

- Trường hợp tấn công khóa ngắn hạn k (khóa phiên) bị trùng lặp:

Khi khóa phiên bị trùng lặp, giả sử thông điệp M và M’ dùng cùng một

khóa phiên, khi đó khóa bí mật xca2 sẽ được tính bởi công thức:

(3.40a) ↔

(3.40b) ↔

Trong đó, thông điệp M, M’ và giá trị Su tính được từ các bước 3÷7 trong

thuật toán 3.5.

100

Từ (3.40a) và (3.40b) ta có đẳng thức sau:

Từ đó ta có:

Do m được giữ bí mật nên không thể xác định được xca2.

Như vậy, trong các tình huống lộ khóa phiên hoặc trùng khóa phiên thì

lược đồ chữ ký vẫn an toàn với điều kiện g đủ lớn để chống tấn công bằng thuật

toán trong [18].

3.4.3.2. Tấn công giả mạo chữ ký

Mức độ an toàn của lược đồ IFP-DLP tập thể khi bị tấn công giả mạo

chữ ký cũng được chứng minh tương tự như ở lược đồ IFP-DLP cơ sở II.

Từ điều kiện của thuật toán kiểm tra chữ ký, một cặp bất kỳ sẽ

được coi là chữ ký hợp lệ của đối tượng sở hữu các tham số công khai

lên bản tin M nếu thỏa mãn:

(3.41)

Theo như (3.41) cho thấy, việc tìm cặp bằng cách chọn trước một

trong hai giá trị, sau đó tính giá trị còn lại đều khó hơn việc giải DLP(n,g). Ngoài

ra, để nâng cao độ an toàn cho thuật toán thì có thể chọn hàm băm có độ an toàn

cao như SHA-256, SHA-512,... Khi đó, việc chọn ngẫu nhiên cặp thỏa

mãn (3.41) hoàn toàn không khả thi trong các ứng dụng thực tế.

Ngoài ra, với các lược đồ chữ ký bội nói chung và lược đồ chữ ký tập thể

đề xuất ở đây luôn tiềm ẩn nguy cơ tấn công giả mạo từ bên trong hệ thống.

Trong lược đồ IFP-DLP tập thể thì chữ ký tập thể ở đây được tạo ra từ nhiều

chữ ký cá nhân của các thành viên. Do đó, có thể xảy ra khả năng tấn công giả

mạo chữ ký cá nhân của các đối tượng ký trong quá trình hình thành chữ ký tập

thể. Để giải quyết vấn đề này, trong thuật toán 3.5 ở bước 7.1, CA sẽ thực hiện

kiểm tra tính hợp pháp của các thành viên nhóm ký theo điều kiện kiểm tra:

Nếu thì chữ ký là giả mạo , tức là

101

thành viên đó không thuộc hệ thống.

Trên đây là một số tình huống tấn công giả mạo từ bên trong hệ thống.

Trong quá trình triển khai, ứng dụng vào thực tế, cần tiếp tục nghiên cứu và giải

quyết các tình huống giả mạo khác có thể xảy ra.

3.4.4. Độ phức tạp thời gian của lược đồ chữ ký IFP-DLP tập thể

Để đánh giá về độ phức tạp thời gian của lược đồ IFP-DLP tập thể, luận

án sẽ đánh giá chi phí tính toán cho các phép toán thực hiện trong các thuật toán

tạo chữ ký và kiểm tra chữ ký. Các ký hiệu được sử dụng để tính chi phí cụ thể

như sau:

- Chi phí tính toán cho phép nhân trên Zn ký hiệu là Mn và độ dài xâu

bit của n ký hiệu là .

có độ

- Chi phí tính toán cho phép lũy thừa trong Zn, với

phức tạp xấp xỉ Ln.Mn.

- Chi phí tính toán cho phép nhân hai số trong modulo m ký hiệu là Mm

và độ dài xâu bit của m ký hiệu là .

- Giả sử trong hệ thống có N thành viên tham gia ký.

Trong thuật toán tạo chữ ký IFP- DLP tập thể, chi phí tính toán chủ yếu tập trung vào (3N + 1) phép lũy thừa, (3N + 1) phép nhân trên Zn và 1N phép nhân trong modulo m. Do đó, tổng chi phí tính toán của thuật toán tạo chữ ký ước lượng như sau:

Trong thuật toán kiểm tra chữ ký IFP- DLP tập thể, chi phí tính toán chủ

yếu tập trung vào hai phép lũy thừa và (N + 2) phép nhân trên Zn. Do đó, tổng

chi phí tính toán của thuật toán kiểm tra chữ ký ước lượng như sau:

Như vậy, tổng chi phí thời gian thực hiện các thuật toán tạo chữ ký và

kiểm tra chữ ký của lược đồ IFP- DLP tập thể được ước lượng như sau:

102

3.4.5. Đánh giá độ phức tạp thời gian của các lược đồ chữ ký số tập thể

Trong phần này, luận án sẽ so sánh độ phức tạp thời gian của lược đồ

IFP-DLP tập thể với lược đồ chữ ký số tập thể được đề xuất trong chương 2,

mục 2.3.2 (gọi tắt là: LD-C2_M232) trong [16] và các lược đồ chữ ký số tập

thể không phân biệt trách nhiệm (gọi tắt là: LD1-KPBTN) và có phân biệt trách

nhiệm (gọi tắt là: LD2-PBTN) với cấu trúc tuần tự trong [9]. Giả định các lược

đồ so sánh được tính toán với cùng số thành viên của tập thể người ký là N.

Lược đồ chữ ký số IFP-DLP tập thể được xây dựng dựa trên tính khó giải đồng

thời của hai bài toán phân tích số và bài toán logarit rời rạc trên Zn, sử dụng hai

khóa bí mật. Trong khi đó, các lược đồ chữ ký số tập thể LD-C2_M232 [16] và

các lược đồ chữ ký số tập thể LD1-KPBTN, LD2-PBTN trong [9] được xây

dựng dựa trên bài toán logarit rời rạc trên Zp. Tuy nhiên, tính an toàn của các

lược đồ được xem tương đương nhau vì cùng dựa trên bài toán IFP và DLP.

Quy ước sử dụng ký hiệu cho các phép toán trong thuật toán tạo chữ ký

và kiểm tra chữ ký của các lược đồ chữ ký số cũng tương tự như đã trình bày

trong chương 3, mục 3.3.5. Kết quả so sánh được trình bày trong các bảng bên

dưới.

Lược đồ IFP-RSAP tập thể

Loại phép tính

Phép tính lũy thừa Phép tính nghịch đảo Phép tính hàm băm Phép tính nhân modulo

Tạo chữ ký 3N+1 0 N+2 3N+2

Kiểm tra chữ ký 2 0 1 N+2

Bảng 3.6. Độ phức tạp thời gian của lược đồ IFP-DLP tập thể

Lược đồ chữ ký tập thể LD-C2_M232 [16]

Loại phép tính

Phép tính lũy thừa Phép tính nghịch đảo Phép tính hàm băm Phép tính nhân modulo

Tạo chữ ký 3N 1 N+1 6N+4

Kiểm tra chữ ký 2 0 1 2

Bảng 3.7. Độ phức tạp thời gian của lược đồ chữ ký số tập thể LD-C2_M232 [16]

103

Lược đồ chữ ký tập thể LD1-KPBTN [9]

Lược đồ chữ ký tập thể LD2-PBTN [9]

Loại phép tính

Tạo chữ ký

Tạo chữ ký

Phép tính lũy thừa Phép tính nghịch đảo Phép tính hàm băm Phép tính nhân modulo

5N+3 0 4 8N+1

Kiểm tra chữ ký 3N+3 0 1 7N+1

Kiểm tra chữ ký 3N+3 0 1 7N+1

5N+4 0 4 8N+1

Bảng 3.8. Độ phức tạp thời gian của các lược đồ chữ ký số tập thể LD1- KPBTN, LD2-PBTN trong [9]

Tổng chi phí thời gian thực hiện các thuật toán tạo chữ ký và kiểm tra chữ

ký của các lược đồ chữ ký số tập thể được trình bày trong Bảng 3.9 dưới đây:

Các lược đồ chữ ký số tập thể

Phép tính lũy thừa

Phép tính nghịch đảo

Phép tính hàm băm

Phép tính nhân modulo

IFP- DLP tập thể

0

(3N+3) Texp

(N+3) Th

(4N+4) Tmul

LD-C2_M232 [16]

(3N+2) Texp

1Tinv

(N+2) Th

(6N+6) Tmul

LD1-KPBTN [9]

0

(8N+6) Texp

5Th

(15N+2) Tmul

LD2-PBTN [9]

0

(8N+7) Texp

5Th

(15N+2) Tmul

Bảng 3.9. So sánh chi phí thời gian thực hiện của lược đồ IFP-DLP tập thể với LD_C2_M232 [16] và LD1-KPBTN, LD2-PBTN trong [9]

Theo Bảng 3.9 thì tổng chi phí độ phức tạp thời gian của thuật toán sinh

chữ ký và kiểm tra chữ ký của lược đồ chữ ký số IFP-DLP tập thể đề xuất thấp

hơn so với các lược đồ chữ ký số tập thể LD-C2_M232 [16] và LD1-KPBTN,

LD2-PBTN trong [9]. Tuy nhiên, lược đồ chữ ký số tập thể LD-C2_M232 [16]

được xây dựng là chữ ký cơ sở để phát triển theo hướng lược đồ chữ ký số tập

thể đa thành phần, còn lược đồ chữ ký số tập thể LD1-KPBTN, LD2-PBTN

trong [9] được xây dựng theo hướng lược đồ chữ ký số tập thể không phân biệt

trách nhiệm và có phân biệt trách nhiệm ký tuần tự. Mặc dù vậy, trong lược đồ

chữ ký số IFP-DLP tập thể chưa đề cập cụ thể đến việc ký tuần tự của các thành

viên, nhưng bộ phận CA trong đó vẫn có thể đóng vai trò vừa chứng thực, vừa

kiểm tra thứ tự ký của các thành viên tham gia ký.

104

Ngoài ra, lược đồ chữ ký số IFP-DLP tập thể được xây dựng dựa trên

tính khó giải đồng thời của hai bài toán phân tích số và bài toán logarit rời rạc

trên Zn. Trong lược đồ chữ ký số IFP-DLP tập thể đề xuất, tính an toàn của lược

đồ sẽ bị phá vỡ hoàn toàn khi tính được cặp khóa bí mật (x1, x2). Để tính được

khóa bí mật thứ nhất thì phải giải được bài toán DLP(n,g) (bài toán logarit trên

Zn) và để tính được khóa bí mật thứ hai thì phải giải được bài toán IFP(n). Tuy

nhiên, việc giải được bài toán DLP(n,g) là khó tương đương với việc giải đồng

thời hai bài toán IFP(n) và DLP(p,g) (bài toán logarit trên Zp).

3.5. Cài đặt thuật toán và thử nghiệm

Trong phần này, luận án cài đặt các thuật toán đã được trình bày trong

lược đồ chữ ký số IFP-DLP tập thể dạng kết hợp nhằm minh họa cho việc kiểm

tra, xác thực chữ ký, tính an toàn của lược đồ trong hoạt động xây dựng một

chương trình đào tạo tại trường đại học Công nghiệp Hà Nội, cụ thể như sau:

Để mở một ngành đào tạo đại học, Nhà trường cần có đủ các điều kiện

về cơ sở vật chất, đội ngũ giảng viên và đặc biệt là chương trình đào tạo của

ngành đó. Các chương trình đào tạo cho một ngành đại học gồm có các nội dung

như: kiến thức giáo dục đại cương và kiến thức giáo dục chuyên nghiệp. Các

khoa đào tạo sẽ triển khai phân công cho các bộ môn và giáo viên thực hiện xây

dựng đề cương chi tiết của từng học phần. Sau khi xây dựng xong, việc ký xác

nhận vào đề cương chi tiết, chương trình đào tạo được thực hiện theo các bước

sau:

- Các giáo viên ký xác nhận sau khi hoàn thành đề cương chi tiết cho các

học phần nhóm xây dựng;

- Người có trách nhiệm của đơn vị, khoa, bộ môn ký duyệt vào đề cương

học phần;

- Phòng đào tạo kiểm tra các hồ sơ, đề cương chương trình và ký duyệt;

- Ban giám hiệu phê duyệt chương trình đào tạo;

- Bộ phận văn thư (thuộc phòng tổ chức) kiểm tra, xác nhận thông tin về

các thành viên tham gia ký trong hồ sơ chương trình, sau đó đóng dấu và chuyển

105

cho các đơn vị liên quan thực hiện.

Theo quy trình ký duyệt đề cương các học phần như trên, bộ phận văn

thư có nhiệm vụ kiểm tra thông tin về các thành viên tham gia ký có thuộc các

Khoa, Ban trong Nhà trường hay không. Bộ phận văn thư ở đây đóng vai trò

giống như CA để kiểm tra, chứng thực các thành viên trong một tổ chức trước

khi ban hành các quyết định.

Chương trình thử nghiệm gồm các bước:

- Hình thành tham số và khóa cho CA (bộ phận văn thư)

Bước này sẽ tạo các tham số chung cho hệ thống: p, q, n, g

Tạo khóa bí mật và khóa công khai cho CA: xca1, xca2, yca

- Hình thành khóa cho các đối tượng ký (giảng viên, trưởng bộ môn, Ban

chủ nhiệm khoa, cán bộ phòng Đào tạo, Ban giám hiệu)

Bước này sẽ tạo các khóa bí mật và khóa công khai cho từng thành

viên tham gia ký: Kp, Ks

- CA chứng nhận tính hợp pháp của các đối tượng ký

Bước này CA chứng nhận tính hợp pháp của các đối tượng ký là các

thành viên thuộc tổ chức.

- Kiểm tra tính hợp pháp của các đối tượng ký

Bước này kiểm tra tính hợp pháp của các đối tượng ký và xác nhận

các thành viên thuộc tổ chức.

Nếu kết quả so sánh trả về là “True”, hệ thống xác nhận đối tượng

ký là thành viên trong tổ chức. Ngược lại, kết quả là “False” đối

tượng đó là giả mạo.

- Hình thành chữ ký tập thể

Chữ ký tập thể được hình thành từ các chữ ký cá nhân, thông điệp

dữ liệu và chữ ký của CA. Trong quá trình thực hiện, nếu chữ ký cá

nhân không hợp lệ thì sẽ không tạo được các thành phần của

chữ ký.

106

- Kiểm tra chữ ký tập thể

Bước này thực hiện kiểm tra các thành phần chữ ký được tạo ra so

với chữ ký ban đầu. Nếu kết quả so sánh trả về là “True” thì xác

nhận bản tin được xác thực về nguồn gốc và tính toàn vẹn. Ngược

lại, kết quả là “False” thì bản tin hoặc chữ ký bị giả mạo.

Quá trình thử nghiệm cho thấy, lược đồ chữ ký tập thể được xây dựng

theo mô hình mới đề xuất hoàn toàn phù hợp với nhu cầu thực tế hiện nay, các

thành viên tham gia ký sẽ được kiểm tra và xác nhận bởi CA. Trong mô hình

này, CA ở đây đóng vai trò giống như bộ phận văn thư của một tổ chức có tư

cách pháp nhân trong xã hội. Hệ thống chữ ký đảm bảo an toàn, có khả năng

chống lại được tấn công giả mạo từ bên trong.

Phần minh họa cho chương trình được trình bày trong Phụ lục 2.

3.6. Kết luận chương 3

Trong chương 3, để nâng cao độ an toàn và hiệu quả thực hiện cho các

lược đồ trong các ứng dụng thực tế, luận án đề xuất lược đồ chữ ký IFP-DLP cơ

sở I (dạng tổng quát) dựa trên bài toán DLP trên vành Zn. Độ an toàn của lược đồ

mới đề xuất được bảo đảm bởi tính khó của việc giải đồng thời hai bài toán IFP

và bài toán DLP trên trường Zp. Ưu điểm của lược đồ chữ ký IFP-DLP cơ sở I

được đề xuất ở đây là cho phép tạo ra một số các lược đồ chữ ký khác nhau có

thể đáp ứng cho các yêu cầu cao về độ an toàn trong các ứng dụng thực tế.

Phần tiếp theo trong chương 3, luận án đề xuất lược đồ chữ ký IFP-DLP

cơ sở II dựa trên lược đồ IFP-DLP cơ sở I (dạng tổng quát) với mục đích nâng

cao độ an toàn cho thuật toán chữ ký số. Tính an toàn của lược đồ được đảm

bảo bằng tính khó của việc giải đồng thời hai bài toán IFP và bài toán DLP.

Ngoài ra, lược đồ mới đề xuất có kích thước nhỏ hơn và hiệu quả thực hiện

cũng cao hơn so với một số lược đồ trước đó. Điều này sẽ giúp cho việc nâng

cao hiệu quả thực hiện của lược đồ trong các ứng dụng thực tế.

Từ lược đồ IFP-DLP cơ sở II, luận án tiếp tục đề xuất lược đồ chữ ký số

IFP-DLP tập thể theo mô hình chữ ký số tập thể dạng kết hợp. Lược đồ mới đề

107

xuất đảm bảo việc chứng nhận được tính hợp pháp của các thành viên trong tổ

chức và chứng thực được nguồn gốc, tính toàn vẹn của các thông điệp dữ liệu.

Trong đó, chữ ký tập thể được tạo ra là sự kết hợp của chữ ký cá nhân hoặc của

một nhóm người ký và chứng nhận của CA. Mức độ an toàn của lược đồ chữ

ký tập thể được thiết lập dựa trên mức độ an toàn của lược đồ IFP-DLP cơ sở

II. Do vậy, về cơ bản mức độ an toàn của lược đồ chữ ký tập thể cũng được

quyết định bởi độ khó của việc giải đồng thời hai bài toán IFP và DLP. Lược

đồ chữ ký IFP-DLP tập thể đã được chứng minh tính đúng đắn, đảm bảo về độ

an toàn và hiệu quả thực hiện.

Phần thử nghiệm cài đặt lược đồ chữ ký số IFP-DLP tập thể để mô

phỏng cho các bước ký văn bản trong quy trình xây dựng một chương trình

đào tạo tại một trường đại học. Kết quả thử nghiệm cho thấy, lược đồ chữ ký

số IFP-DLP tập thể được xây dựng theo mô hình chữ ký số tập thể dạng kết

hợp là phù hợp với mô hình ký văn bản trên giấy tại trường đại học Công

nghiệp Hà Nội. Mô hình này hoàn toàn có thể áp dụng cho các cơ quan, tổ

chức có tư cách pháp nhân trong xã hội. Quá trình thực hiện ký duyệt các hồ

sơ, văn bản tại các cơ quan hiện nay cũng giống như mô hình đã triển khai

thực nghiệm trong luận án.

Các kết quả chính của chương 3 được công bố trong các công trình

[CT1], [CT3] và [CT6].

108

KẾT LUẬN

1. Các kết quả đạt được

Với mục tiêu xây dựng và phát triển các thuật toán nhằm nâng cao độ an

toàn cho các lược đồ chữ ký, đồng thời đưa ra mô hình chữ ký đáp ứng được

yêu cầu thực tế hiện nay. Luận án đã đạt được một số kết quả như sau:

- Đưa ra mô hình chữ ký tập thể dạng kết hợp đáp ứng được yêu cầu chứng

thực về nguồn gốc và tính toàn vẹn của các thông điệp dữ liệu ở các cấp độ.

Chữ ký tập thể được hình thành từ chữ ký của một hoặc một nhóm đối tượng

ký và chứng nhận của CA, nhưng việc lưu trữ và quản lý chữ ký số chỉ là một

thành phần đã được kết hợp lại. Điều này là phù hợp với việc lưu trữ và triển

khai trên các hạ tầng mạng hiện nay.

- Đề xuất các lược đồ chữ ký IFP-RSAP cơ sở I (dạng tổng quát) và lược đồ

chữ ký IFP-RSAP cơ sở II dựa trên hai bài toán IFP và bài toán RSAP trên Zn.

Độ an toàn của các lược đồ được quyết định bởi mức độ khó của việc giải các

bài toán IFP(n) và RSAP(n,e). Từ lược đồ chữ ký IFP-RSAP cơ sở II, luận án đề

xuất xây dựng lược đồ chữ ký IFP-RSAP tập thể theo mô hình chữ ký số tập

thể dạng kết hợp. Mức độ an toàn của lược đồ chữ ký IFP-RSAP tập thể cũng

được quyết định bởi tính khó giải của bài toán IFP và RSAP. Lược đồ IFP-

RSAP tập thể đã được chứng minh tính đúng đắn, đảm bảo về độ an toàn và

hiệu quả thực hiện.

- Đề xuất các lược đồ chữ ký IFP-DLP cơ sở I (dạng tổng quát) và lược đồ

chữ ký IFP-DLP cơ sở II dựa trên sự kết hợp của hai bài toán IFP và bài toán

DLP nhằm nâng cao độ an toàn của thuật toán. Tính an toàn của lược đồ này

được đảm bảo bằng tính khó của việc giải đồng thời hai bài toán trên. Ngoài ra,

lược đồ chữ ký IFP-DLP cơ sở II mới đề xuất có kích thước nhỏ hơn và hiệu

quả thực hiện cũng cao hơn so với một số lược đồ trước đó. Dựa trên lược đồ

chữ ký IFP-DLP cơ sở II, luận án đề xuất lược đồ chữ ký số IFP-DLP tập thể

109

theo mô hình chữ ký tập thể dạng kết hợp. Mức độ an toàn của lược đồ chữ ký

tập thể được thiết lập dựa trên an toàn của lược đồ IFP-DLP cơ sở II, đồng thời

có khả năng ngăn chặn việc tấn công giả mạo từ bên trong hệ thống.

2. Những đóng góp mới của luận án

1) Xây dựng 01 lược đồ chữ ký số tổng quát từ việc kết hợp hai bài toán

khó IFP và RSAP, từ đó lựa chọn trường hợp cụ thể để xây dựng 01 lược đồ

chữ ký số, làm tiền đề xây dựng lược đồ chữ ký số tập thể dạng kết hợp.

2) Xây dựng 01 lược đồ chữ ký số tổng quát từ việc kết hợp hai bài toán

khó IFP và DLP, từ đó lựa chọn trường hợp cụ thể để xây dựng 01 lược đồ chữ

ký số, làm tiền đề xây dựng lược đồ chữ ký số tập thể dạng kết hợp.

3. Hướng nghiên cứu tiếp theo

Luận án có thể tiếp tục được nghiên cứu và phát triển theo hướng sau:

- Dựa trên lược đồ chữ ký IFP-DLP cơ sở I (dạng tổng quát) được đề xuất,

có thể tiếp tục phát triển tạo ra các lược đồ chữ ký số khác nhau, nhằm đáp ứng

nhu cầu ứng dụng trong thực tế.

- Đưa kết quả nghiên cứu mô hình chữ ký tập thể dạng kết hợp áp dụng vào

xây dựng hệ thống chứng thực trong các cơ quan, trường học.

110

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ

[CT1]. Phạm Văn Hiệp, Nguyễn Hữu Mộng, Lưu Hồng Dũng (2018), “Một

thuật toán chữ ký xây dựng trên tính khó của việc giải đồng thời hai bài

toán phân tích số và logarit rời rạc”, Tạp chí Khoa học và Công nghệ

(Đại học Đà Nẵng), số 7 (128), Tr.75-79.

[CT2]. Phạm Văn Hiệp, Lưu Hồng Dũng (2018), “Chữ ký số - Mô hình ứng

dụng và thuật toán”, Hội nghị Quốc gia lần thứ 11 về Nghiên cứu cơ

bản và ứng dụng Công nghệ thông tin (FAIR 11), Tr.88-95.

[CT3]. Phạm Văn Hiệp, Lưu Hồng Dũng (2018), “Phát triển thuật toán chữ ký số

tập thể”, Tạp chí Nghiên cứu KH & CNQS, số đặc san CNTT, Tr.74-82.

[CT4]. Phạm Văn Hiệp, Vũ Sơn Hà, Lưu Hồng Dũng, Nguyễn Thị Lan Phượng

(2019), “Một lược đồ chữ ký tập thể xây dựng trên tính khó của việc

giải bài toán phân tích số và khai căn trên Zn ”, Tạp chí Nghiên cứu KH

& CNQS, số đặc san CNTT, Tr.42-49.

[CT5]. Phạm Văn Hiệp, Lưu Hồng Dũng (2020), “Phát triển một dạng lược đồ

chữ ký số mới dựa trên bài toán RSA”, Tạp chí Khoa học công nghệ

Thông tin và Truyền thông (Học viện Công nghệ Bưu chính viễn thông),

số 02 (CS.01), Tr.73-78.

[CT6]. Phạm Văn Hiệp, Đoàn Thị Bích Ngọc, Lưu Hồng Dũng (2021),

“Phương pháp xây dựng lược đồ chữ ký số dựa trên tính khó của bài

toán logarit rời rạc trên vành Zn”, Tạp chí Khoa học công nghệ Thông

tin và Truyền thông (Học viện Công nghệ Bưu chính viễn thông), số 02

(CS.01), Tr.56-60.

111

TÀI LIỆU THAM KHẢO

Tiếng việt

[1] Bộ thông tin và truyền thông (2016), “Báo cáo tình hình phát triển và ứng

dụng chữ ký số tại Việt Nam năm 2015”, NXB Thông tin và truyền thông.

[2] Bộ thông tin và truyền thông (2019), “Báo cáo tình hình phát triển và ứng

dụng chữ ký số tại Việt Nam năm 2019”, NXB Thông tin và truyền thông.

[3] Nguyễn Văn Chung, Dương Thị Thanh Loan, Nguyễn Đức Toàn (2020),

“Về một lược đồ chữ ký số tập thể ủy nhiệm dựa trên hệ mật ID-Based”,

Hội thảo quốc tế về Điện tử, Truyền thông và Công nghệ thông tin REV-

2020. Tr.184-191.

[4] Lưu Hồng Dũng, Trần Trung Dũng (2011), “Xây dựng lược đồ đa chữ ký số

tuần tự”, Tạp chí Khoa học và Kỹ thuật (Học viện KTQS), số 141, Tr.101-109.

[5] Lưu Hồng Dũng, Nguyễn Thị Thu Thủy (2012), “Nghiên cứu xây dựng mô

hình tổng quát cho các lược đồ chữ ký số phân biệt trách nhiệm”, Tạp chí

Khoa học và Kỹ thuật (Học viện KTQS), số 146, Tr.124-136.

[6] Lưu Hồng Dũng (2013), “Nghiên cứu, phát triển các lược đồ chữ ký số tập

thể”, Luận án tiến sỹ kỹ thuật, Học viện Kỹ thuật Quân sự.

[7] Nguyễn Tấn Đức (2020), “Nghiên cứu phát triển một số lược đồ chữ ký số

mù, chữ ký tập thể mù dựa trên các chuẩn chữ ký số”, Luận án tiến sỹ kỹ

thuật, Học viện Công nghệ Bưu chính Viễn thông.

[8] Đào Tuấn Hùng, Nguyễn Hiếu Minh (2017), “Xây dựng các lược đồ chữ ký

số tập thể có phân biệt trách nhiệm ký tuần tự dựa trên bài toán logarit rời

rạc và khai căn”, Tạp chí Khoa học và Công nghệ (Đại học Đà Nẵng), số 3

(112), Tr.100-104.

[9] Đào Tuấn Hùng, Nguyễn Hiếu Minh, Phạm Việt Trung, Trần Xuân Kiên

(2017), “Hai lược đồ ký số tập thể ký tuần tự dựa trên bài toán logarit rời

rạc”, Tạp chí Nghiên cứu KHCN Quân sự, số 47, Tr.93-100.

[10] Hoàng Thị Mai, Lưu Hồng Dũng (2015), “Một dạng lược đồ chữ ký xây

112

dựng trên bài toán phân tích số và khai căn”, Tạp chí Khoa học và Kỹ thuật

(Học viện KTQS), số 7, Tr.32 - 41.

[11] TCVN 7635:2007, Kỹ thuật mật mã - Chữ ký số, 2007, Bộ khoa học và Công nghệ.

[12] Nguyễn Vĩnh Thái, Lưu Hồng Dũng (2019), “ Xây dựng giao thức trao đổi

khóa an toàn dựa trên tính khó của việc giải đồng thời 2 bài toán logarit rời

rạc và phân tích số/khai căn trên cho các hệ mật khóa đối xứng”, Tạp chí

Nghiên cứu KHCN Quân sự, số đặc san CNTT, Tr.8-15.

[13] Nguyễn Đức Thụy, Lưu Hồng Dũng (2018), “Xây dựng lược đồ chữ ký số

dựa trên một dạng bài toán khó mới”, Tạp chí Nghiên cứu KHCN Quân sự,

số đặc san, Tr.174-181.

[14] Nguyễn Đức Thụy, Bùi Tất Hiếu, Lưu Hồng Dũng (2019), “Xây dựng lược

đồ chữ ký số dựa trên bài toán logarit rời rạc kết hợp khai căn trên Zp”, Tạp

chí Khoa học và Công nghệ (Đại học Đà Nẵng), số 7 (17), Tr.40-44.

[15] Nguyễn Đức Thụy, Lưu Hồng Dũng (2020), “Lược đồ chữ ký số xây dựng

dựa trên tính khó của bài toán logarit rời rạc kết hợp khai căn trên Zp”, Tạp

chí Nghiên cứu KHCN Quân sự, số 66, Tr.192-198.

[16] Đặng Minh Tuấn (2017), “Nghiên cứu xây dựng một số dạng lược đồ mới

cho chữ ký số tập thể”, Luận án tiến sỹ toán học, Viện khoa học và Công

nghệ Quân sự.

[17] Đặng Minh Tuấn, Lê Xuân Đức, Nguyễn Xuân Tùng, Nguyễn Đức Toàn

(2017), “Xây dựng một lược đồ chữ ký số tập thể dựa trên hệ mật ID-

Based”, Tạp chí Nghiên cứu KHCN Quân sự, số 52, Tr.121-125.

[18] Lê Văn Tuấn, Lều Đức Tân (2017), "Phát triển thuật toán Rho porllard tính

cấp của phần tử trên vành Zn", Tạp chí Nghiên cứu khoa học công nghệ

quân sự, số 49, Tr. 90-109.

[19] Đào Thị Hồng Vân (2012), “Vấn đề đảm bảo an toàn thông tin trong môi

trường Web sử dụng kỹ thuật mật mã”, Luận án tiến sỹ toán học, Viện khoa

học và Công nghệ Quân sự.

113

Tiếng Anh

[20] A. Menezes, P.van Oorschot, and S. Vanstone (1996), Handbook of

Applied Cryptography, CRC Press.

[21] Adams C.(1999), Understanding Public Key Infrastructures, New Riders

Publishing, Indianapolis.

[22] ANSI X9.31 (1998), American National Standard for Financial Services

X9.31, “Digital signatures using reversible public key cryptography for the

financial services industry (rDSA)”.

[23] C. P. Schnorr (1991). “Efficient signature generation by smart cards”. J.

Cryptol., 4(3), pp.161-174.

[24] Chih-Yin Lin, Tzong-Chen Wu, and Jing-Jang Hwang (2001), “ID-based

structured multisignature schemes”, Advances in Network and Distributed

Systems Security, Kluwer Academic Publishers, Boston, pp.45-59.

[25] Chris J. Mitchell (December 2001), “An attack on an ID-based

multisignature scheme ”, Royal Holloway, University of London,

Mathematics Department Technical Report RHUL-MA-2001-9.

[26] D. V. Binh, N. H. Minh, Nikolay A. Moldovyan (2013), "Digital Signature

Schemes from Two Hard Problems", Multimedia and Ubiquitous

Engineering, MUE 2013, May 9-11, 2013 Seoul Korea. Lecture Notes in

Electrical Engineering 240, Springer 2013, pp.817-825.

[27] Dernova, E. S. (2009), "Information authentication protocols based on two

hard problems", Ph.D. Dissertation. St. Petersburg State Electrotechnical

University. St. Petersburg, Russia.

[28] E. J. Yoon and K. Y. Yoo (2006), “Cryptanalysis of Two Multisignature

Schemes with Distinguished Signing Authorities”, International Conference

on Hybrid Information Technology - Vol.2 (ICHIT'06), pp.492-495.

[29] Eddie Shahrie Ismail, Tahat N.M.F., Rokiah. R. Ahmad (2008), “A New

Digital Signature Scheme Based on Factoring and Discrete Logarithms”,

Journal of Mathematics and Statistics, 04/2008; 12(3).

114

DOI:10.3844/jmssp.2008.222.225 Source:DOAJ.

[30] Fegghi, J.(1999), "Digital Certificates and Applied Internet Security",

Addison-Wesley Longman Inc.

[31] GOST R34.10-94 (1994), Russian Federation Standard. Information

Technology. Cryptographic data Security. Produce and check procedures

of Electronic Digital Signature based on Asymmetric Cryptographic

Algorithm.

[32] H. F. Huang, C. C. Chang (2005), “Multisignatures with distinguished

signing authorities for sequential and broadcasting architectures”,

Computer Standard and Interfaces, 27(2), pp.169-176.

[33] Hakim Khali and Ahcene Farah (2007), “DSA and ECDSA-based

MultiSignature Schemes”, IJCSNS International Journal of Computer

Science and Network Security, 7 (7).

[34] Housley R., Polk W., Ford W. and Solo D. (2002), Internet X.509 Public

Key Infrastructure Certificate and Certificate Revocation List (CRL)

Profile, RFC 3280.

[35] J. Zhang and V. Zou (2007), “On the Security of Huang-Chang

Multisignature Schemes”, Int. J. Network Security, 5(1), pp.62-65.

[36] Jun Zhang (2010), “Crytopgraphic Analysis of Two Structured Multi-

signature Schemes”, Juonal of Computational Information Systems 6:9,

pp.3127-3135.

[37] K Nakamura and K Itakura (1983), “A public-key cryptosystem suitable

for digital multisignatures”, NEC Research and Development, 71, pp.1-8.

[38] L. Harn (1994), "Public-key cryptosystem design based on factoring and

discrete logarithms", IEE Proc. Of Computers and Digital Techniques,

vol.141, No.3, pp.193-195.

[39] Lee N. Y., T. Hwang (1996), "Modified Harn signature scheme based on

factoring and discrete logarithms", IEEE Proceeding of Computers Digital

Techniques, IEEE Xplore, USA, pp.196-198.

115

[40] Lein Harn (1994), “Group oriented (t – n) threshold digital signature

scheme and digital multisignature”, IEE Proc. –Comput.Digit. Tech. 141 (5),

pp.307-313.

[41] Lein Harn (1999), “Digital multisignature with distinguished signing

authorities”, Electron. Lett. 35 (4), pp.294–295.

[42] Li and G. Xiao (1998), “Remarks on new signature scheme based on two

hard problems”, Electronics Letters, Vol 34 , Issue: 25.

[43] Lin Teng and Hang Li (2018), “Multi-proxy multi-signature without

pairing from certificateless cryptography”, International Journal of

Network Security, Vol.20, No.3, pp.403-413.

[44] M.Burmester, Y.Desmedt, H.Doi, M.mambo, E.Okamoto, M.Tada and

Y.Yoshifuji (2000), “A structured Elgamal-type multisignature scheme”,

Proceedings of third International Workshop on Practice and Theory in

Public Key Cryptosysytems (PKC 2000), Springer-Verlag, pp.466-483.

[45] Mao W. (2003), Modern Cryptography: Theory and Practice, Prentice Hall.

[46] Moldovyan NA (2009), “Short signatures from difficulty of factorization

problem”, Int J Netw Secur 8(1), pp.90-95.

[47] N. H. Minh, D. V. Binh, N. T. Giang and N. A. Moldovyan (2012), "Blind

Signature Protocol Based on Difficulty of Simultaneous Solving Two Difficult

Problems", Applied Mathematical Sciences, Vol. 6, No.139, pp.6903 – 6910.

[48] N.A. Moldovyan, S.E. Novikova, N. Minh, T. Hung (2016), “Group

signature protocol based on collective signature protocol and masking”,

International Journal of Emerging Technology & Advanced Engg.

[49] Namita Tiwari, Sahadeo Padhye, and Debiao He (2014), “Provably Secure

Proxy Multi-Signature Scheme Based On ECC”, Information Technology

and Control, 1392 (124X), pp.198-203.

[50] National Institute of Standards and Technology (2015), NIST FIPS PUB 180-

4. Secure Hash Standard (SHS), U.S. Department of Commerce.

[51] National Institute of Standards and Technology (2013), NIST FIPS PUB 186-

116

4. Digital Signature Standard, U.S. Department of Commerce.

[52] National Institute of Standards and Technology (1994), NIST FIPS PUB 186-

3. Digital Signature Standard, U.S. Department of Commerce.

[53] Niki. Martinel and G. L. Foresti (2012), “Multi-Signature based Person

ReIdentification”, Electronics Letters, 48 (13), pp.765-767.

[54] Q. X. WU, Y. X. Yang and Z. M. HU (2001), "New signature schemes

based on discrete logarithms and factoring", Journal of Beijing University

of Posts and Telecommunications, vol. 24, pp.61-65.

[55] Qin Yanlin , Wu Xiaoping (2009),“ New Digital Signature Scheme Based

on both ECDLP and IFP”, Computer Science and Information Technology,

ICCSIT 2009. 2nd IEEE International Conference on, 8-11 Aug. 2009, E-

ISBN : 978-1-4244-4520-2, pp.348-351.

[56] Qingshui Xue, Fengying Li, and Zhenfu Cao (2011), “Two Improved

Proxy Multi-signature Schemes Based on the Elliptic Curve Cryp-tosystem

”, Computing and Intelligent Systems, 234, pp.101-109.

[57] R.L. Rivest, A. Shamir, and L. Adleman (1978), “A method for Obtaining

digital signatures and public key cryptosystems”, Commun. of the ACM, 21:

pp.120-126.

[58] Rena Ehmet, Lunzhi Deng, Yingying Zhang, Jiwen Zeng (2018), "Multi-

proxy Multi-signature without Pairing from Certificateless Cryptography",

International Journal of Network Security, Vol.20, No.3, pp.403-413.

[59] S. J. Hwang, M. S. Hwang, S. F. Tzeng (2003), “A new digital

multisignature scheme with distinguished signing authorities”, Journal of

Information Science and Engineering, 19, pp.881-887.

[60] S.Vishnoi, V.Shrivastava (2012) “A new Digital Signature Algorithm

based on Factorization and Discrete Logarithm problem”, International

Journal of Computer Trends and Technology (IJCTT), Vol3, pp.653-657.

[61] Shafi Goldwasser, Silvio Micali, and Ronald L. Rivest (1995), “A digital

signature scheme secure against adaptive chosen-message attacks”, SIAM

117

Journal of Computing, 17 (2), pp.281-308.

[62] Shanks (1971), “Class number, a theory of factorization, and genera”, In

Proc. Symp, Pure Math, Vol 20, pp.415-440

[63] Shao (2005), “Security of a new digital signature scheme based on

factoring and discrete logarithms”, International Journal of Computer

Mathematics, 82(10), pp.1215-1219.

[64] Shimin Wei (2007), “Digital Signature Scheme Based on Two Hard

Problems”, IJCSNS International Journal of Computer Science and

Network Security, VOL.7 No.12.

[65] Shin-Yan Chiou, Yi-Xuan He (2013), "Remarks on new Digital Signature

Algorithm based on Factorization and Discrete Logarithm problem",

International Journal of Computer Trends and Technology (IJCTT), V4(9):

pp.3322-3324.

[66] Stinson D.R. (1995), Cryptography: Theory and Practice, CRC Press.

[67] Sushila Vishnoi, Vishal Shrivastava (2012), ”A new Digital Signature

Algorithm based on Factorization and Discrete Logarithm problem”,

International Journal of Computer Trends and Technology, vol 3, Issue 4.

[68] Swati Verma1, Birendra Kumar Sharma (2011), “A New Digital Signature

Scheme Based on Two Hard Problems”, International Journal of Pure and

Applied Sciences and Technology, ISSN 2229 – 6107, Int. J. Pure Appl. Sci.

Technol., 5(2), pp.55-59.

[69] T. Elgamal (1985), “A public key cryptosystem and a signature scheme

based on discrete logarithms”. IEEE Transactions on Information Theory,

Vol. IT-31, No. 4, pp.469-472.

[70] Tatsuaki Okamoto (1988), “A digital multisignature scheme using

bijective public-key cryptosystems”, ACM Trans. Computer. Syst, Vol6, No. 8,

pp.432-441.

[71] Tzeng, C.Y. Yang, and M.S. Hwang (2004), “A new digital signature

scheme based on factoring and discrete logarithms”, International Journal

118

of Computer Mathematics, 81(1):9-14.

[72] Wei. (2004), “A New Digital Signature Scheme Based on Factoring and

Discrete Logarithms”, Progress on Cryptography, pp 107-111.

[73] Whitfield Diffie, Martin E. Hellman (1976), “New Directions in

Cryptography”, IEEE transactions on information theory, Vol. IT-22, No. 6.

[74] Yue Xiao, Peng Zhang, Yuhong Liu (2020),“Secure and Efficient Multi-

signature Schemes for Fabric: An Enterprise Blockchain Platform”, IEEE

Transactions on Information Forensics and Security, Vol 16, pp.1782-

1794, DOI: 10.1109/TIFS.2020.3042070.

[75] Z. Y. Shen and X. Y. Yu (2004), "Digital signature scheme based on discrete

logarithms and factoring", Information Technology, vol. 28, pp.21-22.

[76] Z.C. Li et al. (2000), “Cryptanalysis of Harn digital multisignature scheme

with distinguished signing authorities”, Electronics Letters, 36 (4).

[77] Zheng, Z. Shao, S. Huang and T. Yu (2008), “Security of two signature

schemes based on two hard problems”, Proc. of the 11th IEEE International

Conference on Communication Technology, pp.745-748.

P1

PHỤ LỤC 1. CÀI ĐẶT THUẬT TOÁN VÀ THỬ NGHIỆM (CHỮ KÝ TẬP THỂ IFP-RSAP)

A1. Giới thiệu bài toán và cài đặt thử nghiệm

Trong chương 2, luận án đã đưa ra lược đồ chữ ký số IFP-RSAP tập thể

dạng kết hợp và đã được chứng minh về tính đúng đắn, độ an toàn của lược đồ

dựa trên tính khó giải của các bài toán IFP và RSAP. Để minh họa cho tính ứng

dụng của thuật toán, cụ thể được áp dụng vào bài toán quản lý hoạt động đào

tạo tại trường đại học Công nghiệp Hà nội, nhằm minh họa cho công việc kiểm

tra, xác thực chữ ký của các thành viên trong công tác quản lý hoạt động đào

tạo tại trường.

Phần thử nghiệm được cài đặt trên máy chủ đặt tại khoa Công nghệ thông

tin - trường đại học Công nghiệp Hà Nội, với cấu hình máy chủ: PowerEdge

R740 Dell, Chip Intel Xeon Sliver 4114 (2.2G, 10 Cores, 20 Threads), RAM

64GB (DDR4-2933), HDD 24 TB; hệ điều hành MS.Windows server 2008; hệ

điều hành MS.Windows 10; Visual C# 2013; các tham số đầu vào p, q có kích

thước 512 bit; tham số t có kích thước 320 bit; sử dụng hàm băm SHA-1, số

thành viên ký trong lược đồ chữ ký số tập thể là N=3 và CA.

A2. Kết quả thử nghiệm

Chương trình thử nghiệm gồm các bước:

- Hình thành tham số và khóa cho CA (bộ phận văn thư)

Bước này sẽ tạo các tham số chung cho hệ thống:

p=74243829998892591984044270333907705268402314893787076

74959090955824275382663607865042732427974945861056787

022538220315512885677938855642782682848195240803.

q=10478562762225273208131728306006916984315247242572659

96732221333614413804362457916992019208105526271101846

3462914592724769886442018848062084268053608982551.

P2

t=13185738172088994491166740285213131472444573804462759

92600291418447691568026920698744844583091882.

n=p.q=7779686323513795613695031738812469703881038855441

14838882637182344145841671013257288628728603645044167

94088867482312861044067020813313263401078746457664703

59169080831166732492245687874422945164102077652060608

62314476254025906338886392361580388268684529326586264

91659949705591942329856324231852850049270228453.

Tạo khóa công khai và khóa bí mật cho CA:

+ Khóa công khai yca:

yca=19998205004485527020619037300202800363249817388417

58948764047319075682200374168891159830912368931.

+ Khóa bí mật xca:

xca=45030746229200325467990750541174954993075075297864

72082319943731662311421541913409549669629509654591492

95454482666526266838779021717851847356926211708414321

23480486339073560792000898568807844606675929646269884

74009455891904364655910676422704381357332509327069321

2448934286606915820582770105439176231625568971.

- Hình thành khóa cho các đối tượng ký tương ứng gồm các thành viên: Chuyên

viên Phòng đào tạo, Trưởng phòng đào tạo, Hiệu phó phụ trách đào tạo.

Bước này sẽ tạo các khóa bí mật x và khóa công khai y cho từng thành

viên tham gia ký:

+ Khóa bí mật (x1) và khóa công khai (y1) của chuyên viên Phòng đào

tạo

x1=125102960979590513113900346986871306870012474669404

2116667849313779415197459175406394010152862942.

y1=761694517434175950355760601673573593826962484818878

96207767027025414165926587414864882828471655205645666

P3

55634011680818887902926132578121407297553000355488291

59804256440785999644918016766608852838680488631045068

68985392656067883865789225693940729237839975005091873

540932889967688456764922937987478280427698423.

+ Khóa bí mật (x2) và khóa công khai (y2) của Trưởng phòng đào tạo

x2=151416117563700632274630192091106382779933387516763

5516762369796985819771448138816156027638246926.

y2=610772634689146997883553744125217773070696885001678

39533259842689755824214284110459266143911183053474100

23082409721739623657324289946594700401002529870176262

02098779151446054538211723818829847779799572013117286

68581256744794722407735156080616272133361382449095031

01946282524428359604071066276395050957436087.

+ Khóa bí mật (x3) và khóa công khai (y3) Hiệu phó phụ trách đào tạo

x3=158628902791147314290821851698986003594130450662221

5913342953863040752260513079079572515004496553.

y3=612481084682225417380412015070483442336572493658510

25590524856420742293079255454022166548555167281780090

37885206068463037992679016443170379985354868963015468

92973997689185032617232926426046981103262632208356753

50999652443362828360827421600698866423518620205571878

901473310368600802658013366398943126027593214.

- CA chứng nhận tính hợp pháp của các đối tượng ký

Bước này CA chứng nhận tính hợp pháp của các đối tượng ký là các

thành viên thuộc tổ chức.

+ Chứng nhận chuyên viên Phòng đào tạo là cán bộ nhân viên nhà

trường.

u1=56341994721170770049333851727078084979.

P4

v1=474367030127705499568039292948386126364264458066998

40438798764134248406058931637988514019206963495945463

41463836546732071383752593372012419837380435267191535

34928204788043312664105627373380845091475300998431943

03037047977968459899247807859308092189763048656382944

241561823214028446820990028169545728616544371.

+ Chứng nhận Trưởng phòng đào tạo là cán bộ nhân viên nhà trường.

u2=280652598271797291729433418807442539945.

v2=278492145791600778153852593410938113907982231605615

92267102416635756061602480045468548607105264184903904

65783719738009178961164461152378534778314877192903452

86185640121287556134974035660775681347905123587684772

21520350156276040480078583275989809868008696928960824

331952339828023194105155396823891030310047612.

+ Chứng nhận Hiệu phó phụ trách đào tạo là cán bộ nhân viên nhà

trường.

u3=132270966222353242438910065625581672354.

v3=217402567348723300891845476288341727649338103105779

65406346579262222924634217368805886344665243315297948

16761615669857372914137174624732318818279707838675806

43207624234350590572969442240806987499767865159548450

92121772764399000269857302666241864718508008425305726

242627145804327721551667551645266669306653473.

- Kiểm tra tính hợp pháp của các đối tượng ký

Bước này CA kiểm tra tính hợp pháp của các đối tượng ký và xác nhận

là các thành viên thuộc tổ chức.

+ Kiểm tra, xác nhận chuyên viên Phòng đào tạo là cán bộ nhân viên

nhà trường.

Giá trị của : 56341994721170770049333851727078084979.

P5

Như vậy , xác nhận là cán bộ nhân viên của nhà trường.

+ Kiểm tra, xác nhận Trưởng phòng đào tạo là cán bộ nhân viên nhà

trường.

Giá trị của : 280652598271797291729433418807442539945.

Như vậy , xác nhận là cán bộ nhân viên của nhà trường.

+ Kiểm tra, xác nhận Hiệu phó phụ trách đào tạo là cán bộ nhân viên

nhà trường.

Giá trị của : 132270966222353242438910065625581672354.

Như vậy , xác nhận là cán bộ nhân viên của nhà trường.

- Hình thành chữ ký tập thể

Chữ ký tập thể được hình thành từ các chữ ký cá nhân, thông điệp dữ liệu

và chữ ký của CA. Trong quá trình thực hiện, nếu chữ ký cá nhân không hợp lệ

thì sẽ không tạo được các thành phần (E,S) của chữ ký.

+ Thông điệp dữ liệu M được lấy ví dụ là tệp tin “Thủ tục quy trình

biên soạn, thẩm định HDTCDH” có kích thước: 3.05MB

+ Giá trị của băm của tập tin cần ký H(M) là:

H(M)=D0F1C243800811284D86D64DF0F1A0F4.

+ Thành phần thứ nhất của chữ ký (E):

E=289709518808949924456563439507701487157.

+ Thành phần thứ hai của chữ ký (S):

S=270775021605278381954720958457394193295373834280080

30878937109508519492936293627493546594787956398171093

41462436179751226663108738517147629322738199168199005

80168547845993695911257174345056391852813682159303459

54245102053477060881764569389568893713853427500184773

661950647854808833010834005453634987145138475.

P6

- Kiểm tra chữ ký tập thể

Bước này thực hiện kiểm tra các thành phần chữ ký được tạo ra so với

chữ ký ban đầu. Nếu kết quả so sánh trả về là “True” thì xác nhận bản tin được

xác thực về nguồn gốc và tính toàn vẹn. Ngược lại, kết quả là “False” thì bản

tin hoặc chữ ký bị giả mạo.

+ Việc xác nhận chữ ký được thực hiện trên thông điệp dữ liệu M, có

giá trị băm H(M):

H(M)=D0F1C243800811284D86D64DF0F1A0F4.

+ Giá trị của tính được:

=289709518808949924456563439507701487157.

Như vậy , chữ ký được công nhận hợp lệ. Bản tin được xác thực

về nguồn gốc và tính toàn vẹn. Chữ ký là của M.

Quá trình thử nghiệm cho thấy, các thành viên tham gia ký được kiểm

tra và xác thực là các thành viên thuộc trường Đại học Công nghiệp Hà Nội,

đồng thời chứng thực được nguồn gốc và tính toàn vẹn của thông điệp dữ liệu.

Chữ ký tập thể ở đây được tạo ra từ chữ ký cá nhân của các thành viên và chữ

ký của CA.

P7

PHỤ LỤC 2. CÀI ĐẶT THUẬT TOÁN VÀ THỬ NGHIỆM (CHỮ KÝ TẬP THỂ IFP-DLP)

B1. Giới thiệu bài toán và cài đặt thử nghiệm

Trong chương 3, luận án đã đưa ra lược đồ chữ ký số IFP-DLP tập thể

dạng kết hợp và đã được chứng minh về tính đúng đắn, độ an toàn của lược đồ

dựa trên tính khó giải của các bài toán IFP và DLP. Để minh họa cho tính ứng

dụng của thuật toán, cụ thể được áp dụng vào bài toán quản lý xây dựng một

chương trình đào tạo tại các khoa, các phòng ban trong trường đại học Công

nghiệp Hà Nội, nhằm minh họa cho quá trình tạo chữ ký, xác thực chữ ký, độ an

toàn của lược đồ chữ ký số đề xuất.

Phần thử nghiệm được cài đặt trên máy chủ tại khoa Công nghệ thông tin

- trường đại học Công nghiệp Hà Nội, với cấu hình máy chủ: PowerEdge R740

Dell, Chip Intel Xeon Sliver 4114 (2.2G, 10 Cores, 20 Threads), RAM 64GB

(DDR4-2933), HDD 24 TB; ; hệ điều hành MS.Windows server 2008; hệ điều

hành MS.Windows 10; Visual C# 2013; các tham số đầu vào p, q có kích thước

512 bit, sử dụng hàm băm SHA-1, số lượng thành viên tham gia ký N=5 và CA.

B2. Kết quả thử nghiệm

Kết quả thử nghiệm được minh họa theo các bước dưới đây.

- Quá trình hình thành các tham số, tạo khóa cho CA và các thành viên

tham gia ký (mô phỏng theo các giá trị mã 001, 002, 003, 004, 005) được thực

hiện trong Hình P.1.

+ Các tham số được hình thành theo như thuật toán đã xây dựng. Trong

đó độ dài của p và q là 512 bit.

+ Quá trình tạo khóa được thực hiện dựa trên các tham số được sinh ra.

P8

Hình P.1. Hình thành các tham số, tạo khóa CA và khóa cho các thành viên

+ Các tham số được tạo sẽ dùng chung cho hệ thống, CA sử dụng bộ

khóa bí mật (xca1, xca2) và khóa công khai (yca).

+ Các thành viên tham gia ký gồm: giáo viên, trưởng bộ môn, trưởng

khoa, đại diện Phòng đào tạo, Ban Giám hiệu. Các thành viên này sử

dụng khóa bí mật (xi) và khóa công khai (yi) tương ứng. Trong thực

nghiệm mô tả các đối tượng này là các ID có mã tương ứng: 001, 002,

003, 004, 005.

- Quá trình chứng nhận và kiểm tra tính hợp pháp của các thành viên tham

gia ký được thực hiện theo Hình P.2.

+ Bước này sẽ kiểm tra tính hợp pháp của các đối tượng ký có là các

thành viên của tổ chức hay không.

+ CA có thể coi như bộ phận văn thư trong Nhà trường. CA có nhiệm

vụ chứng thực và kiểm tra các đối tượng ký thuộc các phòng ban trong

trường.

+ Quá trình kiểm tra thông qua việc so sánh các giá trị u, v được tạo ra

cho từng thành viên tham gia ký với giá trị u, v gốc. Nếu kết quả trả về

là “True” thì xác nhận là thành viên trong Nhà trường. Ngược lại, kết

quả là “False” thì thành viên đó là giả mạo.

P9

Hình P.2. Quá trình chứng nhận và kiểm tra tính hợp pháp của các thành viên tham gia ký

- Quá trình mã hóa văn bản, tạo chữ ký và xác thực chữ ký tập thể được

thực hiện theo Hình P.3. Văn bản, dữ liệu được mã hóa có thể sử dụng cho các

dạng file bất kỳ.

+ Trong quá trình tạo chữ ký tập thể, giá trị k được chọn ngẫu nhiên.

Các giá trị R, E và S được thực hiện tuần tự theo các bước của thuật

toán để tạo ra các thành phần của chữ ký tập thể là cặp giá trị .

+ Tại quá trình kiểm tra chữ ký tập thể, thuật toán kiểm tra sẽ thực hiện

so sánh các giá trị với các giá trị gốc. Nếu kết quả là “True” thì

sẽ công nhận văn bản, dữ liệu được xác thực về nguồn gốc và tính toàn

vẹn. Ngược lại, nếu kết quả là “False” thì sẽ thông báo chữ ký hoặc bản

tin bị giả mạo.

P10

Hình P.3. Quá trình mã hóa văn bản, tạo chữ ký và kiểm tra chữ ký tập thể

- Mô phỏng quá trình tấn công giả mạo chữ ký theo Hình P.4, một số kịch

bản được xây dựng như sau:

+ Giả mạo E: thành phần thứ nhất của chữ ký bị tấn công và bị sửa đổi

các giá trị, khi đó hệ thống thực hiện kiểm tra so sánh với chữ ký gốc

(E). Nếu hai giá trị khác nhau hệ thống sẽ đưa ra cảnh báo “Bản tin đã

bị giả mạo về nguồn gốc hoặc nội dung”.

+ Giả mạo S: cũng được thực hiện tương tự như giả mạo E.

P11

Hình P.4. Minh họa tấn công giả mạo chữ ký

Kết quả cho thấy, khi thực hiện tấn công giả mạo chữ ký vào các thành

phần của chữ ký là E hoặc S thì hệ thống đều phát hiện và đưa ra cảnh báo “Bản

tin đã bị giả mạo về nguồn gốc hoặc nội dung”.