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
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 trong Hình 2.3.
Khóa bí mật của CA (xCA)
Chữ ký cá nhân của thực thể ký SU
Thông điệp dữ liệu cần
Thuật toán ký f(M; SU; xCA) ký (M)
Chữ ký tập thể
S = f(M; SU; xCA)
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á nhân của thực thể ký được minh họa trong Hình 2.4.
Khóa bí mật của thực thể ký (x1,x2,…,xn)
Thông điệp dữ liệu cần
ký (M) Thuật toán ký f(M;x1,x2,…,xn)
Chữ ký cá nhân của thực thể ký
SU = f(M;x1,x2,…,xn)
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
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 điệp dữ liệu cần thẩm tra (M) và chứng nhận của CA.
Khóa công khai của CA (yCA)
Thông điệp dữ liệu cần thẩm tra (M) Chứng nhận của CA (SCA)
Thuật toán kiểm tra V(M;SCA;yCA)
Công nhận/Từ chối
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.
Để đả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ơ 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.
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)
Chữ ký cá nhân (SU)
Thuật toán kiểm tra V(M; y1, y2,…,yn; SU)
Công nhận/Từ chối
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.
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 n p.q ; �(�) = (� − 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 (1, n) 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)
Hoặc
� = �1�����. � = �1−�����.
(2.1a) (2.1b)
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 x 2 y1 mod (n) . (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; - p, q và (n) là các tham số bí mật.
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 ( R, S ) / ( E , S ) - chữ ký.
1. Chọn ngẫu nhiên giá trị k trong khoảng (1, n) .
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 Hoặc R k t mod n E f1 (M , R f 2M ,R mod n) (2.3) (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 Sk f 2M , R x f 3 ( M , R ) x 2 mod n (2.5) Hoặc Sk f 2 M , R x f 3 ( M , E ) x2 mod n (2.6) 4. Return ( R, S ) / ( E , S ) .
Trong đó
- f1 (.) hàm của M và R có giá trị trong khoảng (1, n) và trong một số trường hợp cụ thể cần thỏa mãn điều kiện gcd( f1, n) 1 để hàm f1 tồn tại nghịch đảo theo n.
- f 2 (.), f 3 (.) các hàm của M và R hoặc E có giá trị trong khoảng
(1, �(�));
- ( R, S ) chữ ký được tạo theo (2.3) và (2.5); - ( E , S ) 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à ( R, S ) hay ( E , S ) . 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à ( R, S )
Input n, t, y, ( R, S ) , M - thông điệp dữ liệu cần thẩm tra. Output (R, S ) = true / false.
1. Tính u S t mod n . (2.7)
fM ,R y f3M ,R mod n . (2.8) 3. Kiểm tra If (u v) Then ( R, S ) = true Else ( R, S ) = false.
b. Trường hợp chữ ký là ( E , S )
Input n, t, y, ( E , S ) , M - thông điệp dữ liệu cần thẩm tra. Output (E, S ) = true / false.
3 2. Tính giá trị v v f1 (M , u) . (2.9) (2.10) 2. Tính v R 2 1. Tính giá trị u u S t y fM ,E mod n .
3. Kiểm tra If ( v E ) Then ( E , S ) = true Else ( E , S ) = false.
Trong đó
- (R, S ) / (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.
- ( R, S ) / ( 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.
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ố, n p q , (n) ( p1) (q1) , Chọn a, b, c thỏa mãn điều kiện 1 a, b, c (n) , chọn x, k thỏa mãn điều kiện
1 x, k n . Nếu
y x a mod n , R k a mod n , S k b x c mod n
Thì
S a R b y c mod n .
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
a
k a.b x a.c mod n
b c
Rb y c mod n
Mệnh đề đã được chứng minh.∎
mod mod moda b cS n k x n n
Đị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 t a , f 2 (M , R) b , f 3 (M , R) c Ta tính được
u S t mod n S a mod n , với S k b x c mod n
và
v R f 2M ,R y f3M ,R mod n R b y c mod n
a a
Theo Mệnh đề 2.1 suy ra điều cần chứng minh u v .∎
Mệnh đề 2.2.
Cho p, q là 2 số nguyên tố, n p q , (n) ( p1) (q1) , Chọn a, b, c thỏa mãn điều kiện 1 a, b, c (n) , chọn x, k thỏa mãn điều kiện
1 x, k n , gcd( x, n) 1 . Nếu
y x a mod n , R k a mod n , S k b x c mod n
Thì
R b S a y c mod n .
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
a c
k a.b xa.c x a.c mod n
b
Rb mod n
Mệnh đề đã được chứng minh.∎
Trong đó, nxy mod và nkR mod
mod mod mod moda c b c aS y n k x n x n n
Đị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 t a , f 2 (M , R) b , f 3 (M , E) c Ta tính được u S t y f 3M ,E mod n S a y c mod n , b c a mod n . Theo Mệnh đề 2.2 suy ra
u R b mod n , với R k a mod n .
b fM ,R
mod 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 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.
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.
Nên v f1 (M , u) f1 M , R mod n f1 M , R 2
Đặt lp len( p) , lq len(q) ; 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 n p.q và (n) ( p 1)(q 1) 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 (1, n) thỏa mãn điều kiện gcd( x1 , n) 1 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à, gcd(t, n) 1 .
t
2.3. Nếu y (n) hoặc gcd( y, (n)) 1 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
x 2 y1 mod (n) .
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;
- x1, x2 là các khóa bí mật; p, q và (n) là các tham số bí mật.
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 (E, S ) - chữ ký.
1. Chọn ngẫu nhiên một giá trị k trong khoảng (1, n) . 2.2. Tính nxy mod1 .
2. Tính giá trị R theo R k t mod n
3. Thành phần thứ nhất (E) của chữ ký được tính theo công thức
E H (M || R)
4. Thành phần thứ hai (S) của chữ ký được tính theo công thức
(2.12)
E x2
mod n (2.13)
5. Return ( E , S )
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, ( 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ị S theo (2.14) y 2. Tính giá trị R theo (2.15) t E 3. Tính giá trị E theo (2.16) E H (M || R ) (2.14) (2.15) (2.16) 4. Kiểm tra If ( E 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ý 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
RS y mod n
SS mod n
Định lý 2.3.
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-RSAP cơ sở II. Thành phần E là giá trị được sinh ra do thuật toán kiểm tra theo công thức 2.16.
Khi đó ta có
E E .
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
t
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 t x2 t E t Et .E mod n t .E mod n k t mod n R Từ (2.12) và (2.16) suy ra E H (M || R ) H (M || R) E Đâ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à
yx1 modn , x 2 y1 mod (n)
R S y modE n S y mod n y mod nE
k x1 y
mod n mod n x1 modt n mod n k x1 x2 . y mod n x1 k x1 1 modE n x t .E mod n k t x1 1t .E x