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
và
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:
và
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
và
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:
và
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”.

