NGHIÊN CỨU CHỮ KÝ SỐ TẬP THỂ DỰA TRÊN CƠ SỞ CHUẨN CHỮ KÝ SỐ Hiện nay, khi mà Chính phủ điện tử và Thương mại điện tử là xu hướng tất yếu của hầu hết các quốc gia trên thế giới, trong đó có Việt Nam, thì chứng thực điện tử đã trở thành một yếu tố không thể thiếu được và ngày càng trở nên quan trọng. Hạ tầng công nghệ của chứng thực điện tử là cơ sở hạ tầng khoá công khai với nền tảng là mật mã khoá công khai và chữ ký số.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: GS-TS NGUYỄN BÌNH
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3thiết Chính vì lý do trên tôi đã chọn đề tài Nghiên cứu chữ ký số tập thể dựa trên cơ
sở chuẩn chữ ký số để nghiên cứu làm luận văn tốt nghiệp của mình Trong luận văn
này tôi chia làm 3 chương
Chương I: Tổng quan các chuẩn chữ ký số
Chương II: Chuẩn chữ ký số của Nga
Chương III: Chữ ký số tập thể dựa trên chuẩn chữ ký của Nga
2 Mục đích nghiên cứu
- Tìm hiểu chung về bài toán logarit rời rạc
- Tìm hiểu chuẩn chữ ký số dựa trên bài toán logarit rời rạc và hàm băm
- Giới thiệu chuẩn chữ ký số của Nga
- Nghiên cứu rõ về lược đồ chữ ký số tập thể dựa trên chuẩn chữ ký số của Nga
3 Đối tượng và phạm vi nghiên cứu
Trang 4Đối tượng nghiên cứu: Cơ sở toán học của các hệ mật khoá công khai và các
lược đồ chữ ký số Nguyên lý xây dựng lược đồ chữ ký số tập thể dựa trên chuẩn chữ
ký số GOST R34.10-94
Phạm vi nghiên cứu: Hệ mật mã khoá công khai, chuẩn chữ ký số GOST
R32.10-94 của Liên bang Nga và các cơ sở toán học, Phương pháp hình thành các tham số hệ thống và khoá cho các lược đồ chữ ký số tập thể dựa trên chuẩn chữ ký số GOST R32.10-94
4 Phương pháp nghiên cứu
- Khảo sát các nghiên cứu, tài liệu liên quan để thu thập thông tin về cơ sở lý thuyết
- Trên cơ sở các lược đồ chữ ký số tập thể đã biết được trong thực tế, hình thành nên phương pháp xây dựng các lược đồ chữ ký số tập thể theo chuẩn chữ ký số GOST R34.10-94
5 Kết cấu của luận văn
Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo, luận văn được kết cấu gồm 3 chương
Chương I: Tổng quan các chuẩn chữ ký số
Chương II: Chuẩn chữ ký số của Nga
Chương III: Chữ ký số tập thể dựa trên chuẩn chữ ký số của Nga
Trang 5CHƯƠNG I:
TỔNG QUAN VỀ CÁC CHUẨN CHỮ KÝ SỐ 1.1 Giới thiệu chung về ba bài toán xây dựng chuẩn chữ ký số
1.1.1 Thuật toán RSA
Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT) Tên của thuật toán lấy
từ 3 chữ cái đầu của tên 3 tác giả
Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi người đều có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được
1.1.2 Bài toán Eliptic
Đường cong Eliptic
Định nghĩa 1a Cho p>3 là số nguyên tố Đường cong elliptic
y2 =x3 +ax+b trên Zp là tập các nghiệm (x,y) ∈ Zp x Zp của đồng dư thức
y2 =x3 +ax+b(mod p) (1)
Trong đó a, b ∈ Zp là các hằng số thỏa mãn 4a3+27b2 ≠ 0(mod p) (để đa thức x3+ax+b không có nghiệm bội) cùng với điểm đặc biệt 0 được gọi là điểm vô hạn
(x,y) ∈ GF(2n)x GF(2n) thỏa mãn phương trình
y2 +y=x3 +ax+b (2)
cùng với điểm vô hạn 0
(x,y) ∈ GF(3n)x GF(3n) thỏa mãn phương trình
Trang 6N là số điểm của E trên trường Fq (trường hữu hạn q phần tử) Khi đó: |N – (q +1)|
≤ 2 q Từ định lý Hasse suy ra #E(Fq) = q +1 – t trong đó |t| ≤ 2 q
b Hệ mật trên đường cong Elliptic
Hệ Elgamal làm việc với nhóm Cyclic hữu hạn Năm 1978, Kobliz đã đưa một hệ trên ECC dựa trên hệ Elgamal
Để xây dựng hệ mã hoá dựa trên đường cong Elliptic ta chọn đường cong E (a, b)
và một điểm G trên đường cong làm điểm cơ sở Mỗi người dùng A một khoá bí mật
nA là một số nguyên, và sinh khoá công khai PA = nA * G
Khi đó hệ mã hoá đường cong Elliptic được xây dựng tương tự hệ mã hoá ElGamal, trong đó thuật toán mã hoá và giải mã
1.1.3 Bài toán Logarit rời rạc và hàm băm
Logarit rời rạc trên đường cong Eliptic
Định nghĩa:
Nếu E là đường cong Elliptic trên trường Fq và B là một điểm trên E Khi đó bài toán logarit rời rạc trên E (theo cơ số B) là một bài toán, cho trước một điểm P ∈ E, tìm số nguyên x ∈ Z sao cho xB = P nếu số x như vậy tồn tại
Chọn đường cong và điểm
Chọn đường cong tức là chọn điểm cơ sở và hệ số a, b sao cho phù hợp vì nó ảnh hưởng tới tốc độ, độ dài khóa và độ an toàn của hệ mật trên đường cong này
Chọn ngẫu nhiên (E,B) Giả sử p>3 xét Zp
Trước hết cho x, y, a là 3 phần tử được chọn ngẫu nhiên trên Zp
Trang 7Đặt b=y2 - (x3+ax), kiểm tra (4a3+27b2 ≠0) Nếu thỏa mãn khi đó B (x,y) là điểm trên đường cong Elliptic y2 =x3 +ax+b và ngược lại thì ta hủy bỏ các số đó đi và chọn các
số khác Cứ như vậy cho đến khi ta tìm được các số theo mong muốn
Hàm băm
Định nghĩa hàm băm
Hàm băm là hàm h có ít nhất hai tính chất sau:
- Tính chất nén: h sẽ ánh xạ một đầu vào x có độ dài bit hữu hạn tùy ý tới một đầu ra h(x) có độ dài bit n hữu hạn
- Tính chất dễ dàng tính toán: Với h cho trước và một đầu vào x, có thể dễ dàng tính được h(x)
Một số tính chất của hàm băm không có khóa
Giả sử h là một hàm băm không có khóa, x và x’ là các đầu vào và y và y’ là các đầu ra Ngoài hai tính chất cơ bản trên còn có 3 tính chất sau:
- Tính khó tính toán nghịch ảnh:
- Khó tìm nghịch ảnh thứ hai:
- Tính khó va chạm
Các hàm băm không có khóa ( Các hàm băm dựa trên mật mã khối)
Các hàm băm có khóa ( MAC)
1.2 Giới thiệu chữ ký số và định nghĩa lược đồ chữ ký số
Chữ ký số ( digital signature) là một chuỗi dữ liệu được sinh ra bởi một lược
đồ chữ ký số có chức năng liên kết một bản tin với thực thể tạo ra nó, nhằm đáp ứng các yêu cầu về: tính xác thực về nguồn gốc và tính toàn vẹn về nội dung của bản tin được ký
Một lược đồ chữ ký số là bộ 5( M, A, K, S, V ) thỏa mãn các điều kiện sau:
1 M là tập hữu hạn các bản tin
2 S là tập hữu hạn các chữ ký
3 K là tập hữu hạn các khóa bí mật
Trang 84 A là tập hữu hạn các thuật toán ký
5 V là tập hữu hạn các thuật toán xác minh
6 Với mỗi k ∈ K tồn tại một thuật toán ký sigk ∈ A và một thuật toán xác minh verk ∈ V tương ứng, mỗi sigk : M→ S và verk: M x S → { true, false} là hàm sao cho với mỗi m ∈ M và s ∈ S thỏa mãn phương trình sau:
) ( ,
m sigk s false
m sigk s true
1.3 Chữ ký số dựa trên bài toán logrit rời rạc và hàm băm
1.3.1 Bài toán logarit rời rạc
1.3.2 Hàm băm
Các hàm băm đóng vai trò cơ bản trong mật mã hiện đại Hàm băm sẽ tạo ra một đầu ra từ bản tin đầu vào Đầu ra này được định nghĩa là mã băm ( kết quả băm, giá trị băm)
1.3.3 Chữ ký số
Chữ kí điện tử là thông tin đi kèm theo một tài liệu khác như văn bản, hình ảnh, nhằm mục đích xác định người chủ của dữ liệu và đảm bảo tính toàn vẹn của dữ liệu đó Đồng thời nó còn cung cấp chức năng chống chối bỏ của người gửi thông tin
1.4 Kết luận chương 1
Các kết quả đạt được ở Chương 1 bao gồm:
- Tổng quan về ba bài toán xây dựng chuẩn chữ ký số gồm bài toán RSA, bài toán Eliptic , bài toán logarit rời rạc và hàm băm
- Làm rõ nội dung nghiên cứu của luận văn bao gồm: Bài toán RSA, bài toán logarit rời rạc và hàm băm
- Giới thiệu chữ ký số và định nghĩa lược đồ chữ ký số
- Chữ ký số xây dựng dựa trên bài toán logarit rời rạc và hàm băm
Trang 9CHƯƠNG II:
CHUẨN CHỮ KÝ SỐ CỦA NGA
Lược đồ chữ ký số GOST R34.10-94 là chuẩn chữ ký số của Liên bang Nga và được đưa vào sử dụng trong thực tiễn từ năm 1994 cho tới ngày nay Lược đồ chữ ký
số này được xây dựng dựa trên tính khó của bài toán logarit rời rạc và tỏ ra có độ an toàn cao Đó chính là lý do lựa chọn GOST R32.10-94 làm cơ sở để xây dựng và phát triển các lược đồ chữ ký tập thể trong luận văn này
Khái quát về chữ ký số tập thể:
Lược đồ chữ ký số tập thể được Hakim Khali và Ahcene Farah đề xuất giả thiết rằng nhóm ký gồm n thành viên, có trách nhiệm ký lên thông điệp M, thành viên thứ nhất đóng vai trò quản lý nhóm ( GM- Group Manager) Lược đồ này được mô tả khái quát như sau:
a, Các tham số:
- U= { U1, U2, , Ui , Un}: Các thành viên nhóm ký
- M: bản tin cần ký M
- Các tham số: p, q, g được lựa chọn như ở lược đồ DSA
- X= { x1, x2 , , xi , , xn}: Khóa bí mật của các thnhà viên được chọn thỏa mãn: 1<x i< q
Y = { y1, y2, , yi, yn }: Khóa công khai của các thành viên được hình thành từ các khóa bí mật tương ứng theo công thức: yi= gximod p
b, Thủ tục sinh chữ ký tập thể bao gồm các bước sau:
1- GM tính giá trị đại diện của bản tin cần ký: m = H (M)
2- GM chọn ngẫu nhiên giá trị ki thỏa mãn: 1< k1< q và tính:
a1 = (gk1 mod p) mod q và k1-1 mod q, 1< k1-1 < q
3- GM tính : b1= k1-1 ×( m + a1 × x1 ) mod q và s = b-1 modq
Trang 104- GM gửi M và chữ ký cá nhân của mình sign1 (M) = { a1, s} đến các thành viên trong nhóm
5- Từng thành viên trong nhóm kiểm tra chữ ký cá nhân của GM như sau”
- Kiểm tra điều kiện : 0 < a1 < q và 0 < s< q Nếu điều kiện không thỏa mãn thì chữ
ký bị từ chối
- Tính m = H(M)
- Tính u = m × s mod q và v = a1 × s mod q
- Sử dụng khóa công khai của GM để kiểm tra đẳng thức:
( gu × y1v mod p ) mod q = a1 Nếu đẳng thức tồn tại thì chữ ký của GM hợp lệ
- Tính k1 = s ×( m + ai × x1 ) mod q và ai = ( gki mod p) mod q
- Gửi chữ ký cá nhân của mình signi (M) = { a1 } đến GM
6- Trưởng nhóm kiểm tra tính hợp lệ của chữ ký cá nhân của các thành viên bằng đẳng thức : ( gu ×yiv mod p) mod q = ai , nếu đẳng thức tồn tại với ∀i =
Lược đồ này ucng cấp 4 khả năng kiểm tra chữ ký như sau :
- Kiểm tra chữ ký của tất cả các thành viên lên M
- Kiểm tra chữ ký của một số thành viên trong nhóm ( bao gồm cả GM ) lên
M
- Kiểm tra chữ ký của một thành viên lên M
- Kiểm tra chữ ký của GM lên M
Từ những yêu cầu đặt ra với một lược đồ chữ ký số tập thể, có thể hình thành một số nguyên tắc cơ bản xây dựng lược đồ chữ ký số tập thể như sau:
a, Phương pháp hình thành khóa công khai tập thể
Trang 111- Sử dụng hàm 1 chiều để hình thành khóa công khai cá nhân
2– Tích hợp khóa công khai cá nhân theo một qui tắc nhất định để hình thành khóa công khai tập thể
b, Phương pháp hình thành chữ ký số tập thể
1- Xây dựng hoặc lựa chọn một lược đồ chữ ký số đơn làm cơ sở
2- Hình thành chữ ký cá nhân dựa trên lược đồ chữ ký cơ sở
3- Xây dựng hoặc lựa chọn qui tắc hình thành chữ ký tập thể
4 – Hình thành cơ chế kiểm tra tính hợp lệ của các chữ ký cá nhân trong quá trình tạp lập chữ ký tập thể
c, Phương pháp kiểm tra chữ ký số tập thể
Cơ chế kiểm tra chữ ký tập thể được hình thành từ cơ chế kiểm tra chữ ký của lược đồ cơ sở theo một qui tắc nhất định, ó cần đảm bảo các yêu cầu như:
- Việc thẩm tra tính hợp lệ của chữ ký và tính toàn vẹn của thông điệp phải được thực hiện một cách đồng thời
- Việc kiểm tra chữ ký tập thể phải được tiến hành với số bước thực hiện tương tự như ở lược đồ cơ sở, nghĩa là bước thực hiện trong quá trình kiểm tra chữ ký tập thể không phụ thuộc vào số lương thành viên của nhóm
2.1 Phương pháp hình thành và kiểm tra chữ ký số
2.1.1 Phương pháp hình hành các tham số hệ thống và khóa
1- Chọn p là số nguyên tố, kích thước từ 509 đến 512 bít, và q cũng là số nguyên tố sao cho: q ( p-1)
Trang 121- Chọn số ngẫu nhiên k thỏa mãn : k< q
Thủ tục kiểm tra chữ ký được thực hiện qua các bước:
1- Tính giá trị v theo công thức sau:
2.2 Mức độ an toàn của lược đồ chữ ký số của Nga
Với lược đồ chữ ký số của Nga, việc giả mạo sẽ thực hiện được khi khóa bí mật x bị lộ, hoặc k bị lộ dẫn đến việc lộ x Để tính được x và k, cần phải giải một trong hai bài toán logarit rời rạc sau:
y= gx mod p
Hoặc:
r = ( gk mod p) modq
Trang 13Như đã biết, giải bài toán logarit rời rạ này là một việc khó, hiện tại vẫn chưa
có một thuật toán nào giải được bài toán này trong thời gian đa thức khi các tham số được lựa chọn hợp lý
Thực tế, cho đến hiện tại vẫn chưa thấy một kết quả nào được công bố về việc tấn công chữ ký số của Nga thành công
2.3 Xây dựng lược đồ chữ ký cơ sở
Lược đồ chữ ký cơ sở, ký hiệu LD 2.01- được phát triển chuẩn chữ ký số GOST R34.10-94 của Liên Bang Nga và được sử dụng làm cơ sở để xây dựng, phát triển các lược đồ chữ ký tập thể
2.3.1 Phương pháp hình thành và kiểm tra chữ ký số
a, Phương pháp hình thành các tham số hệ thống và khóa
1- Các tham số : p, q, g được hình thành tương tự như GOST R34.10-94
2- Khóa bí mật x là một giá trị được chọn ngẫu nhiên thỏa mãn điều kiện: 1< x< q 3- Khóa công khai được tính theo công thức:
y = gx mod p
b, Phương pháp hình thành chữ ký
Thủ tục hình thành chữ ký được thực hiện theo các bước sau :
1- Chọn giá trị ngẫu nhiên k thỏa mãn : 1,k, q
Trang 14c, phương pháp kiểm tra chữ ký
Thủ tục kiểm tra được thực hiện qua các bước tính::
1- Tính giá trị đại diện của thông điệp cần thẩm tra:
2.3.2 Tính đúng đắn của lược đồ mới xây dựng
Tính đúng đắn của lược đồ được đề xuất ở đây là sự phù hợp giữa thuật toán hình thành chữ ký với thuật toán xác minh chữ ký
Bổ đề 1:
Cho: p, q là 2 số nguyên tố phân biệt và q(p− 1 ), g = h(p-1)/qmod p với h∈Zp* ,
1< x< q, y = gx mod p, 1<k<q , r = gH( k M)mod p, m = H( M) ,e =m ×r mod q,
s = ( H( k M)- x×e) mod q Nếu : r~ = gs × ye mod p, thì : r~= r
Trang 151< x< q, y = gx mod p, 1<k<q , r = gH( k M)mod p, m = H( M) ,e =m ×r mod q,
s = ( H( k M)- x×e) mod q, r~= gs × ye mod p Nếu: e~ = m × r~mod q thì : e~ = e Chứng minh:
Thật vậy theo Bổ đề 1 ta có:
e~ = m × r~mod q = m ×r mod q = e
Định lý được chứng minh
2.3.3 Mức độ an toàn của lược đồ mới xây dựng :
Tương tự như lược đồ chữ ký GOST R34.10 -94, việc giả mạo sẽ thực hiện được khi khóa bí mật x bị lộ, hoặc k bị lộ dẫn đến việc lộ x Để tính được x kẻ tấn công phải giải được bài toán logarit rời rạc sau:
y= gx mod p
Như đã biết, giải bài toán logarit rời rạc này là một việc khó, hiện tại vẫn chưa
có một thuật toán nào giải được bài toán này trong thời gian đa thức khi các tham số được lựa chọn hợp lý
2.4 Kết luận Chương 2:
Kết quả thu được qua nghiên cứu, tìm hiểu chuẩn chữ ký số Liên Bang Nga ở Chương 2:
- Nắm lý thuyết mật mã học cơ sở lý thuyết nghiên cứu chữ ký số
- Tìm hiểu nghiên cứu chuẩn chữ ký số Liên Bang Nga đang sử dụng là chuẩn chữ
ký số GOST R34.10 – 94
- Nghiên cứu về phương pháp hình hành và kiểm tra chữ ký số
- Nghiên cứu về mức độ an toàn của lược đồ chữ ký số của Nga và tính đúng đắn của lược đồ xây dựng
Trang 16CHƯƠNG III:
CHỮ KÝ SỐ TẬP THỂ DỰA TRÊN CHUẨN
CHỮ KÝ CỦA NGA
Vấn đề xây dựng và phát triển các lược đồ chữ ký tập thể dựa trên chuẩn chữ
ký số GOST R34.10- 94 của Nga là nội dung Chương 3 của luận văn Các lược đồ chữ ký ở đây được xây dựng bắt đầu từ một lược đồ chữ ký cơ sở phát triển từ GOST R34.10-94, lược đồ này được sử dụng làm cơ sở để xây dựng 2 lược đồ chữ ký tập thể theo mô hình phân biệt và không phân biệt trách nhiệm Và cuối cùng là việc phát triển 2 lược đồ này theo các mô hình có tính tổng quát và thực tế cao hơn
3.1 Lược đồ chữ ký số tập thể xây dựng theo mô hình không phân biệt trách nhiệm- LD 2.02
Lược đồ chữ ký số tập thể xây dựng theo mô hình không phân biệt trách nhiệm, ký hiệu LD 2.02, có các tham số cơ bản như sau:
3.1.1 Phương pháp hình thành và kiểm tra chữ ký
a, Phương pháp hình thành các tham số hệ thống và khóa
1- Các tham số p, q, g được hình thành theo chuẩn chữ ký số GOST R34.10-94
2- Khóa bí mật xi của các thành viên được chọn ngẫu nhiên, thỏa mãn: 1< xi < q , i =1l