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.
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].
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
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
1. Chọn một cặp số nguyên tố lớn p, q
Đặt lp len( p) , lq len(q) 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 n p.q , và (n) ( p 1)(q 1) 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 ( p 1) và 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 m p1 .q1
3. Chọn g là phần tử sinh của nhóm Zn* có bậc là m(ord g m) , được tính theo
g
( n )
m mod n và thỏa mãn gcdg, n 1 , với 1, n . 4. Chọn khóa bí mật thứ nhất x1 trong khoảng (1, m) 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
y g x1 mod n (3.1)
4.2. Nếu y (n) hoặc gcd( y, (n)) 1 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
x2 y1 mod (n) (3.2)
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; 6. Chọn một hàm băm H0,1 Z h , với h n
- m, x1, x2 là khóa bí mật; p, q, p1, q1 và (n) là các tham số bí mật.
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 ( E , S ) - chữ ký.
1. Chọn ngẫu nhiên giá trị k trong khoảng (1, m) . Tính
R g k mod n
2. Tính thành phần thứ nhất của chữ ký
E f1 (M , R)
(3.3) (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
1
Nếu gcd( f 2 (M , E), m) 1 thì quay lại bước 1. Hoặc
1
(3.5)
(3.6) Nếu gcd( f 2 (M , E) x1 f 3(M , E), m) 1 thì quay lại bước 1. Hoặc
11
(3.7) Nếu gcd( f 2 (M , E), m) 1 thì quay lại bước 1.
4. Return (E, S ) . Trong đó
- k là số bí mật tương ứng cho mỗi thông điệp dữ liệu; - f1 (.) hàm của M và R có giá trị trong khoảng (1, n) ; - f 2 (.), f 3 (.) các hàm của M và R hoặc E có giá trị trong khoảng
(1, (n)) và thỏa mãn điều kiện gcd( f 2 , (n)) 1 để hàm f 2 tồn tại nghịch đảo theo (n) . S 2 2 M , E x , M x3 f1 E mod m k f S x2 k f 2 M , E x1 f3 M , E mod m S x 1 2 x , M E f k2 , mod E3 M f m
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, ( E , S ) , M - thông điệp dữ liệu cần thẩm tra. Output ( E , S ) = true / false.
1. Tính giá trị u
Nếu S được tính theo (3.5)
u y S . f2 M ,E. y g f 2 M ,E. f3 M ,E mod n
Hoặc, nếu S được tính theo (3.6)
M ,E. y
Hoặc, nếu S được tính theo (3.7)
(3.8)
(3.9) u y S . f 2 M , E g f 2 M ,E . f 3 M ,E mod n (3.10) 2. Tính giá trị v
v f1(M , u) (3.11)
3. Kiểm tra If ( v E ) Then {return true} Else {return false} Trong đó
- ( E , S ) = 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.
- (E, S ) = 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
x
(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ì v E .
u g S . f 2 3 yf.S M ,E. y mod n
Chứng minh Thật vậy, theo (3.8) M , E. y f M M , E g 1 1 2 3 g k x1 . f 2 M , E. f3 M , E x1 . f 2 M ,E. f3 M , E mod n g k mod n k Từ (3.3) và (3.12) suy ra u = R. Do đó v f1 (M , u) f1 (M , R) (3.12) (3.13) Từ (3.4) và (3.13) suy ra điều cần chứng minh v E∎
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 x
(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ì v E .
Chứng minh Thật vậy, theo (3.9) M , E. y g 1 g 1 mod n g f 2 M , E.k . f 2 M , E x1 . f 3 M ,E g x1 . f 3 M ,E.k . f 2 M ,E x1 . f 3 M ,E mod n k . f M , E x . f M , E. f 2 M ,E x1 . f 3 M ,E g k mod n mod n
Theo các phép biến đổi trên, ta có u g k mod n
Từ (3.3) và (3.14) suy ra u = R. (3.14) u g S . f 2 2 3 y fE, . M , E mod n g S . y. f 2 1 2 3 g x . ff ME, . M ,E mod n g x . f M , E. f M , E mod n M , E. x . k . f M , E x . f f 2 2 2 1 3 M , E . y
Theo các phép biến đổi trên, ta có u g mod n
số trong mục 3.2.1.1, với y g 1 mod n , chữ ký (E,S) được sinh bởi (3.4) và
u g S . f 2 3 yf.S M , E. y mod n
f 2 M , E. x2 .k . f 2 M , E x1 . f 3 M ,E . y x1 . f 3 M ,E.x2 .k . f 2 M ,E x1 . f 3 M ,E . y
Do đó
v f1 (M , u) f1(M , R) (3.15) Từ (3.3) và (3.15) suy ra điều cần chứng minh v E∎
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
x
(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ì v E .
Chứng minh Thật vậy, theo (3.10) u y S . f 2 M , E g f 2 M , E . f3 M , E mod n g 11 g f 2 M , E . f3 M , E mod n g 1 g f 2 M , E . f3 M , E mod n g k f 2 M , E 1 1 mod n g k mod n
Theo các phép biến đổi trên, ta có u g k mod n
Từ (3.3) và (3.16), suy ra u = R. Do đó
v f1 (M , u) f1(M , R)
(3.16)
(3.17) Từ (3.3) và (3.17) suy ra điều cần chứng minh v E∎
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ế.
số trong mục 3.2.1.1, với y g 1 mod n , chữ ký (E,S) được sinh bởi (3.4) và
x1 .. f 2 M , E . x2 . x . k . f 2 M , E f3 M , E. y f 2 M , E . k . f 2 M , E f3 M , E
Trong lược đồ Lược đồ IFP-RSAP cơ sở II, các hàm được lựa chọn như sau f1(.) H (M , R); f 2 (.) 1; f3 (.) E .
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 n p.q , và (n) ( p1) (q1)
3. Chọn p1, q1 là các số nguyên tố thỏa mãn các điều kiện
p1 | ( p 1) và q1 | (q 1) , tức là chọn p1 là ước của ( p 1) và q1 là ước của (q 1) .
p1 (q 1) và q1 ( p 1) , tức là chọn p1 không là ước của (q 1)
và q1 không là ước của ( p 1) . 4. Tính giá trị m p1.q1
5. Chọn g là phần tử sinh của nhóm Zn* có bậc là m(ord g m) , thỏa mãn điều kiện gcd g , n 1 . Tính giá trị g theo công thức
g
( n )
m mod n , với 1, n .
6.1. Tính khóa công khai y theo công thức
y g x1
mod n (3.18)
6.2. Nếu y (n) hoặc gcd( y, (n)) 1 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
x2 y1 mod(n) (3.19)
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;
- p, q, p1, q1 , m và (n) là các tham số bí mật. 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 (E, S ) - chữ ký.
1. Chọn ngẫu nhiên giá trị k trong khoảng 1 k m 2. Tính giá trị R theo công thức
R g k mod n (3.20)
3. Thành phần thứ nhất của chữ ký theo được tính theo công thức
E H (M || R)
4. Thành phần thứ hai của chữ ký được tính theo công thức S x2k x1 E mod m
5. Return ( E , S )
(3.21)
(3.22) 8. Chọn một hàm băm H0,1 Z h , với h n
Trong đó