Xây dựng giao thức ký số nhóm dựa trên giao thức chữ ký số tập thể và
cơ chế mặt nạ các khóa công khai (Lược đồ 05).
Mỗi thành viên trong nhóm của những người ký tạo khóa riêng của họ là một số
ngẫu nhiên k và khóa công khai được tính là P = kG. Người quản lý nhóm tính toán
khóa công khai của quản lý nhóm là L = zG, ở đây z là khóa bí mật riêng của quản
lý nhóm. Khóa công khai nội bộ của người quản lý nhóm được tính toán như được
miêu tả trong phần trước. Sau đó giao thức ký nhóm được miêu tả như sau. Giả sử
m thành viên trong nhóm báo cáo ý định của họ để ký tài liệu M tới người quản lý
nhóm và gửi nó tới quản lý nhóm. Để tạo ra chữ ký nhóm, thủ tục sau được thực
hiện.
1) Quản lý nhóm tính giá trị hàm băm của tài liệu H = FH(M), ở đây FH là một
số các hàm băm một chiều xác định, tính toán các giá trị mũ ngẫu nhiên
i = (HPi)d mod n và gửi mỗi giá trị i tới thành viên thứ i trong nhóm. Sau
đó quản lý nhóm tính điểm trên EC
U P P P 1 1 2 2 . m m (3.1)
là phần tử đầu tiên của chữ ký số .
2) Mỗi thành viên nhóm thứ i (i = 1, 2, , m) tạo ra một số ngẫu nhiên ti < q,
tính giá trị Ri = tiG và gửi Ri tới quản lý nhóm.
3) Quản lý nhóm tạo ra số ngẫu nhiên t < q, tính các điểm R = tG của EC,
R = R + R1 + R2 + + Rm và phần tử thứ hai của chữ ký số
e = FH(M||xR||xU) (3.2)
ở đây xR và xU là thành phần x của các điểm R và U của EC, tương ứng. Quản
lý nhóm sẽ gửi giá trị e tới các thành viên nhóm người sẽ bắt đầu giao thức.15
4) Mỗi người ký thứ i (i = 1, 2, , m) tính chữ ký chia sẻ của họ được tính như
sau:
mod
s t k e q i i i i (3.3)
và gửi tới quản lý nhóm.
5) Quản lý nhóm xác nhận tính đúng của si bởi việc kiểm tra giá trị
Ri = siG iePi, (i = 1, 2, , m) (3.4)
Nếu tất cả các chữ ký chia sẻ si thỏa mãn thủ tục xác nhận, sau đó quản lý nhóm
sẽ tính chữ ký chia sẻ của quản lý nhóm s = t + ze mod q và phần tử thứ ba của
chữ ký số nhóm là:
s = s + s1 + s2 + + sm (3.5)
Chữ ký số nhóm của tài liệu M là một bộ ba tham số (U, e, s), gồm một điểm
của EC và hai số.
Thủ tục xác nhận bao gồm các bước.
1) Người xác nhận tính hàm băm của tài liệu M: H = FH(M).
2) Việc sử dụng khóa công khai nhóm L và chữ ký số nhóm (U, e, s), Người xác
nhận sẽ tính điểm EC:
R~ sG eU L (3.6)
3) Người xác nhận tính giá trị:
e~ FH M || xR~ || xU (3.7)
và so sánh các giá trị e~ với e. Nếu e~ e, sau đó người xác nhận kết luận rằng
chữ ký số nhóm là hợp lệ.
27 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 513 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận án Nghiên cứu, phát triển một số lược đồ chữ ký số hướng tới nhóm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ý và các thành viên
nhóm trao đổi dữ liệu trong quá trình tạo chữ ký tập thể.
Bước 1: Mỗi người ký chọn một số ngẫu nhiên Zk pi
và tính toán:
pkr i
q
i mod (2.10)
Sau đó mỗi người ký Ui gửi (ri, h(mi)) tới người quản lý.
Bước 2: Người quản lý tính toán giá trị ngẫu nhiên chung:
𝑅 = ∏ 𝑟𝑖
ℎ(𝑚𝑖) 𝑚𝑜𝑑 𝑝𝑛𝑖=1 (2.11)
và tính toán các giá trị )||( MRhE và ))(||...||)(||)(( 21 mhmhmhhH n . Sau đó gửi (E,
H) tới mỗi người ký.
Bước 3: Mỗi người ký tính toán chữ ký chia sẻ si như sau:
𝑠𝑖 = 𝑥𝑖
𝑦𝑖𝐸𝑘𝑖
ℎ(𝑚𝑖)𝐻𝑚𝑜𝑑 𝑝 (2.12)
Sau đó mỗi người ký Ui gửi si tới người quản lý.
8
Bước 4: Khi người quản lý nhận được chữ ký riêng của từng cá nhân (ri, si) từ
người thứ i, quản lý nhóm cần xác nhận tính hợp lệ của các chữ ký cá nhân này.
Quản lý nhóm kiểm tra chữ ký cá nhân như sau:
pryS
Hmh
i
Ey
i
q
i
ii mod)( (2.13)
Nếu tất cả các chữ ký cá nhân là hợp lệ, sau đó người quản lý tạo ra chữ ký tập
thể (R, S) bởi tính:
𝑆 = ∏ 𝑠𝑖 𝑚𝑜𝑑 𝑝
𝑛
𝑖=1 (2.14)
Cuối cùng, (R, S) là chữ ký tập thể cho bản tin mmmM n||...|||| 21 .
Quá trình xác nhận chữ ký tập thể:
Để xác nhận chữ ký của một bản tin được ký, sử dụng các thông số (p, q, Y)
nhận được để xác thực.
Bước 1: Sử dụng chữ ký tập thể (R, S) để tính:
𝑆′𝑞 = 𝑌𝐸𝑅𝐻 𝑚𝑜𝑑 𝑝 (2.15)
Bước 2: So sánh các giá trị S′ và S. Nếu S′ = S, thì chữ ký là hợp lệ, trường hợp
còn lại là chữ ký không hợp lệ.
Nội dung từng phần của bản tin mmm n||...|||| 21 có thể được xác nhận mà không tiết
lộ toàn bộ nội dung của toàn bộ văn bản. Nếu người xác nhận chỉ được phép để đọc
một phần nội dung mi, sau đó anh ta sẽ nhận
)(||...||)(||)(||)(||...||)(||)( 1121 mhmhmhmhmhmh niii để xác nhận chữ ký tập thể (R, S).
2.2.3 Phân tích tính đúng các lược đồ đề xuất
2.2.4 Phân tích độ an toàn của các lược đồ đề xuất
2.2.5 Đánh giá chất lượng
2.3 Xây dựng lược đồ chữ ký số tập thể không phân biệt trách nhiệm ký tuần
tự
2.3.1 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 (Lược đồ 03).
Pha khởi tạo
Các tham số được định nghĩa như sau:
Bước 1: Thư ký lựa chọn một số nguyên tố lớn p, một số nguyên tố q tương
ứng với )1(| pq , và một hàm băm một chiều như SHA-1.
Bước 2: x1, x2 , , xn: khóa bí mật của các thành viên trong nhóm thỏa mãn 1 <
xi < q, xi được chọn ngẫu nhiên và chỉ được biết bởi thành viên Ui.
Bước 3: y1, y2 , , yn: khóa công khai của các thành viên trong nhóm thỏa mãn
yi =
xi mod p được công bố trong nhóm( là phần tử sinh của các nhóm cyclic 𝑍𝑝
∗
và *
pZq ).
Pha sinh chữ ký số
9
Mỗi thành viên Ui chọn số ngẫu nhiên ki ( qi Zk ) và tính ri =
ki mod p, Ui gửi (yi, ri)
cho thư ký; Thêm/bớt một thành viên i đòi hỏi phải thêm/xóa khóa công khai yi
tương ứng bởi người thư ký. Thư ký tính khoá công khai Y, giá trị R, E, Q thống
nhất chung trong nhóm:
n
i
i pyY
1
mod ;
n
i
r
i prR
i
1
mod ; H = h(M);
1 2
|| || ... ||
H H H
nQ y y y ; E=h(Y||R||Q)
Giá trị Q thể hiện tuần tự ký và có thể kiểm tra tính đúng đắn tại mỗi thành
viên khi cần thiết.
Giá trị E= h(Y||R||Q) là đại diện duy nhất cho thứ tự ký, phiên ký với tập văn
bản cụ thể M. E được sử dụng trong quá trình sinh chữ ký của từng thành viên và
có thể được kiểm tra (sẽ tăng chi phí tính toán).
Thư ký gửi R, H , E, Y, Q cho cả nhóm. Lược đồ yêu cầu thư ký và các thành
viên ký phải trao đổi dữ liệu trong quá trình ký văn bản. Một số công thức cho các
giá trị trung gian như sau:
rR=R i
r
i1-ii với i = 2, , n ; r=R 1r11 (2.28)
yY=Y i1-ii với i = 2, , n. y=Y 11 ( Chú ý n nY Y; R R ) (2.29)
1 ( )mod .i i i i is s k rH Ex q với i = 2, , n ) (2.30)
H = h(M); E=h(Y||R||Q) (2.31)
Bước 1: Người ký đầu tiên U1 sinh chữ ký số 1 1 1 1( )mods k rH Ex q . Sau đó U1
gửi (r1, s1) đến người ký thứ hai U2 và thư ký. Người ký U2 kiểm tra s1 theo
1 1
1 1( ) mod
s r HEy r p ; nếu biểu thức thỏa mãn U2 tính
2 1 2 2 2( )mod .s s k r H Ex q và gửi các giá trị (s2, R2) đến người tiếp theo U3.
Bước 2: Như vậy mỗi người ký Ui với i = 2, 3,, n lần lượt thực thực hiện các
bước sau: Kiểm tra si-1 theo 1 1 1( ) mod
is E H
i iY R p
, nếu biểu thức thỏa mãn Ui
tính các giá trị (si, Ri) theo (1.10) và (1.12) và gửi đến thư ký và người ký tiếp theo.
Bước 3: Thư ký công bố cặp (S, R) = {Sn, R} là chữ ký số tập thể của nhóm.
Pha xác thực chữ ký số
Người xác thực sử dụng các tham số p, , Y, R để kiểm tra chữ ký của nhóm trên
văn bản M với H=h(M).
Xác thực chữ ký số tập thể được thực hiện bằng cách sử dụng khóa công khai Y.
Người xác thực sử dụng chữ ký số (R, S) và tính E=h(Y||R), sau đó kiểm tra
pRY HES mod . Nếu biểu thức thỏa mãn chữ ký là hợp lệ.
2.3.2 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 khai căn (Lược đồ 04).
Quá trình chuẩn bị: Giả sử rằng nhóm n người ký là {U1, U2, , Un}
muốn sinh chữ ký tập thể cho văn bản mmmM n||...|||| 21 . Các thành viên ký Ui chỉ ký
trên một phần văn bản mi với i = 1, 2, , n. Có một người thư ký đảm bảo trong
10
quá trình ký. Trong lược đồ ký tuần tự có phân biệt trách nhiệm này, trình tự ký là
quan trọng và phải được tuân thủ. Các thành viên biết rõ theo quy trình trình tự ký,
phê duyệt các văn bản. Người Ui chỉ ký phần văn bản nếu Ui-1 đã ký lên mi-1.
Người thư ký sắp xếp thành viên ký Ui chỉ ký cho phần văn bản mi tương ứng.
Lược đồ cho phép phân công trách nhiệm cá nhân kiểm tra và ký cho phần văn bản
của mình trước khi người sau xác thực nội dung khác.
Pha khởi tạo: (Tương tự lược đồ 3)
Pha sinh chữ ký số
Mỗi thành viên Ui chọn số ngẫu nhiên ki ( qi Zk ) và tính ri =
ki mod p, Ui gửi (yi,
ri) cho thư ký; Thêm/bớt một thành viên i đòi hỏi phải thêm/xóa khóa công khai yi
tương ứng bởi người thư ký. Thư ký tính khoá công khai Y, giá trị R, E, Q và giá trị
hàm băm ( )H h M , thống nhất chung trong nhóm:
( )( ) ( )1 2
1 2|| || ... ||
h mh m h m n
nQ y y y ;
( )
1
mod
h mi
n
i
i
Y y p
; r
1
modi
n
i
i
R r p
; E=h(Y||R||Q)
Thư ký công bố Y, R, E, Q cho cả nhóm và thông báo tuần tự ký cho từng
thành viên.
Giá trị Q thể hiện tuần tự ký và có thể kiểm tra tính đúng đắn tại mỗi thành
viên khi cần thiết.
Giá trị E= h(Y||R||Q) là đại diện duy nhất cho thứ tự ký, phiên ký với tập văn
bản cụ thể mmmM n||...|||| 21 , và phân công ký của các thành viên. E được sử dụng
trong quá trình sinh chữ ký của từng thành viên và có thể được kiểm tra (sẽ tăng
chi phí tính toán).
Lược đồ yêu cầu thư ký và các thành viên ký phải trao đổi dữ liệu trong quá
trình ký văn bản. Một số công thức cho các giá trị trung gian như sau:
i
r
i i-1 iR =R r với i = 2, , n và
1r
1 1R =r mod p (2.32)
yY=Y i1-ii với i = 2, , n và
( )1
1 1Y =y
h m
(2.33)
1 ( ( ))mod .i i i i i is s k rH Ex h m q với i = 2, , n. (2.34)
Bước 1: Người ký đầu tiên U1 sinh chữ ký số 1 1 1 1 1( ( ))mods k rH Ex h m q . Sau
đó U1 gửi (s1, m1, R1, Y1) đến người ký thứ hai U2 và thư ký. Người ký U2 kiểm tra
s1 theo 1 1 1( ) mod
s E HY R p ; nếu biểu thức thỏa mãn U2 tính
2 1 2 2 2 2( ( ))mod .s s k r H Ex h m q và gửi các giá trị (s2, m2, R2, Y2) đến người tiếp
theo U3 và thư ký.
Bước 2: Mỗi người ký Ui với i = 2, 3,, n lần lượt thực thực hiện các bước sau:
Kiểm tra si-1 theo 1 1 1( ) mod
is E H
i iY R p
, nếu biểu thức thỏa mãn Ui tính các giá trị si,
Ri, Yi theo (2.32), (2.33), (2.34) và gửi (si,mi, Ri, Yi) đến thư ký và người ký tiếp theo.
11
Bước 3: Thư ký công bố chữ ký số tập thể của nhóm là (S, R) = (Sn, Rn) cho văn
bản
1 2
|| || ... ||
n
M m m m .
Pha xác thực chữ ký số:
Người xác thực sử dụng các tham số p, , Y để kiểm tra chữ ký (R, S) của nhóm
trên văn bản
1 2
|| || ... ||
n
M m m m và tính ( )H h M . Xác thực chữ ký số tập thể
được thực hiện bằng cách sử dụng khóa công khai Y. Người xác thực tính
E=h(Y||R), sau đó kiểm tra
mod
S E HY R p . (2.35)
Nếu các biểu thức thỏa mãn chữ ký là hợp lệ.
2.3.3 Phân tích tính đúng các lược đồ đề xuất
2.3.4 Lược đồ chữ ký số tập thể phân biệt trách nhiệm ký tuần tự đa thành
phần
Ta định nghĩa vector thành phần trách nhiệm ký:
ji
ji
ij
MU
MU
V
,0
,1
Vector ký tập thể: { | , 1,2,.., }ijV V i j N
Các tham số được định nghĩa như sau:
Bước 1: Thư ký lựa chọn một số nguyên tố lớn p, một số nguyên tố q
tương ứng với )1(| pq , và một hàm băm một chiều như SHA-1 và khởi tạo vector
ký tập thể Vij tương ứng với trách nhiệm từng thành viên ký.
Bước 2: x1, x2 , , xn: khóa bí mật của các thành viên trong nhóm thỏa mãn
1 < xi < q, xi được chọn ngẫu nhiên và chỉ được biết bởi thành viên Ui.
Bước 3: y1, y2 , , yn: khóa công khai của các thành viên trong nhóm thỏa
mãn modi
x
iy p
được công bố trong nhóm( là phần tử sinh của các nhóm
cyclic 𝑍𝑝
∗ và *
pZq ).
Pha sinh chữ ký
Mỗi người ký Ui với i = 1,2, 3,., n lần lượt tính:
1
( ) ( )
N
i j ij
j
H M H M V
, 1 modi
k
i ir r p ( 0 1r )
1 || ( )i i ih h H M , 0 1 2( || || ... || || ... || )j Nh H M M M M
( || )i i ie H h r
1 1
1
( ) mod
i
i i i i i j ij i
j
s s e k x H M V e q
Ui gửi cặp giá trị ( , )i ie s đến thư ký.
12
Thư ký tính các giá trị:
1
( ).
1 mod
i
j ij
j
H M V
i i iY y y p
,( 10 y )
modi i
s e
i ir Y p
)(||1 iii MHhh , )||...||||...||||( 210 Nj MMMMHh
)||( iii rhHe
- Nếu: i ie e và: i < N thì gửi các giá trị ( , , , )i i i ie s r h đến 1iU . Nếu:
ii ee và: i = N thì thư ký có Nee , Nss .
Thư ký công bố chữ ký số tập thể của nhóm là (V,E, S) = (V,En, Sn) cho văn bản
1 2
|| || ... ||
n
M m m m . Thư ký công bố khóa công khai là Y.
Pha xác thực chữ ký số:
Người xác thực sử dụng các tham số p, , Y để kiểm tra chữ ký (V,E, S) của
nhóm trên văn bản
1 2
|| || ... ||
n
M m m m và tính ( )H h M . Xác thực chữ ký số tập
thể được thực hiện bằng cách sử dụng bộ khóa công khai của các thành viên
},...,2,1|{ Niyy i .
Người kiểm tra thực hiện thuật toán:
[1] - for i = 1 to N do
pyy
N
j
ijj VMH
iij mod1
).(
[2] - pyY
N
i
ij mod
1
[3] - )||...||||( 210 NMMMHh
[4] - for i = 1 to N do
[4.1] -
N
j
ijji VMHMH
1
)()(
[4.2] - )(||1 iii MHhh
[5] - mod
s e
r Y p
[6] - )||( rhHe N
[7] - Nếu: e e , ,V e s là chữ ký hợp lệ, nếu không từ chối chữ ký.
Lưu ý: Phép kiểm tra nhanh đối với chữ ký , ,V e s có thể thực hiện từ bước 4 với
lược đồ chữ ký đa thành phần.
Phân tích tính đúng của lược đồ đa thành phần
13
2
1 2
1 1 1 1 1 1 1 1 0 1 1
2 1 1 2 2 2 2
1 1 1 1 1 2 2 2 0 1 2 1
1 2 1 1 2 2 0 1 2
2 2 2
1 1 1
( ) mod ( || || mod
mod
|| || || mod
|| || || mod
k
k k
i i j ij
i i j
s k x H M e q k x h H h h r q
s s e k x H M e q
k x h e e k x h H h h h r q
k k x h x h H h h h q
k x h V H h
1 20 1 2|| || || modk kh h q
3 2 2 3 3 3 3 mods s e k x h e q
31 2 3 1 1 2 2 3 3 0 1 2 3 2|| || || || modkk k k x h x h x h H h h h h r q
1 2 3
3 3 3
0 1 2 3
1 1 1
|| || || || mod
k k k
i i j ij
i i j
k x h V H h h h h q
................................................................................................
1 2 ...0 1 2
1 1 1
|| || || ... || || modN
N N N
k k k
N i i j ij N
i i j
s k x h V H h h h h q
Từ đó ta có:
1 1 1 1
1 1 1 1 1 1
. .
.
1
. ( ). . ( ).
mod mod
mod mod
N N N
N
i i j ij
j iji i jN
j
N N N N N N
i i j ij i j ij i
i i j i j i
k x h V N
H M Vhs e
i
i
k x H M V x H M V k
r Y p y p
p p r
erhHrhHe NN )||()||( . Điều cần chứng minh
2.3.5 Phân tích độ an toàn của các lược đồ đề xuất
2.3.6 Đánh giá độ phức tạp
2.4 Kết luận chương 2
NCS đã đề xuất hai lược đồ chữ ký số tập thể song song có phân biệt trách
nhiệm và hai lược đồ chữ ký số tập thể tuần tự có phân biệt trách nhiệm dựa
trên vấn đề khó là logarithm rời rạc. Trong trường hợp ký tuần tự nhiều thành
phần, một thành phần vector phân công trách nhiệm được đưa vào chữ ký của
lược đồ, cho phép kiểm tra các thành viên tham gia ký một cách tường minh
hơn. Các lược đồ đề xuất có ưu điểm như: Cho phép giảm chi phí tính toán và
chuyển tiếp thông tin, tính phân biệt trách nhiệm của từng cá nhân ký không
chối bỏ, . Các thành viên có ý đồ xấu trong nội bộ không thể giả mạo chữ ký
14
cả nhóm. Tính cộng tác, phân biệt trách nhiệm của chữ ký số tập thể là các đặc
tính quan trọng làm cơ sở cho việc phát triển các lược đồ nhóm mới được NCS
trình bày ở chương 3.
CHƯƠNG 3: TÍCH HỢP GIAO THỨC KÝ SỐ TẬP THỂ
VÀO KÝ SỐ NHÓM TRÊN BÀI TOÁN ECDLP
Trong chương này, NCS đề xuất xây dựng mới 04 lược đồ chữ ký số nhóm dựa
trên đường cong Elliptic gồm: 02 lược đồ chữ ký số tập thể mặt nạ khóa công khai,
01 lược đồ chữ ký số nhóm tích hợp chữ ký số tập thể, và 01 lược đồ chữ ký số
nhóm phân biệt trách nhiệm dạng ngưỡng.
3.1 Đề xuất giao thức ký số nhóm dựa trên giao thức chữ ký số tập thể và cơ
chế mặt nạ các khóa công khai sử dụng đường cong Elliptic.
3.1.1 Xây dựng giao thức ký số nhóm dựa trên giao thức chữ ký số tập thể và
cơ chế mặt nạ các khóa công khai (Lược đồ 05).
Mỗi thành viên trong nhóm của những người ký tạo khóa riêng của họ là một số
ngẫu nhiên k và khóa công khai được tính là P = kG. Người quản lý nhóm tính toán
khóa công khai của quản lý nhóm là L = zG, ở đây z là khóa bí mật riêng của quản
lý nhóm. Khóa công khai nội bộ của người quản lý nhóm được tính toán như được
miêu tả trong phần trước. Sau đó giao thức ký nhóm được miêu tả như sau. Giả sử
m thành viên trong nhóm báo cáo ý định của họ để ký tài liệu M tới người quản lý
nhóm và gửi nó tới quản lý nhóm. Để tạo ra chữ ký nhóm, thủ tục sau được thực
hiện.
1) Quản lý nhóm tính giá trị hàm băm của tài liệu H = FH(M), ở đây FH là một
số các hàm băm một chiều xác định, tính toán các giá trị mũ ngẫu nhiên
i = (HPi)d mod n và gửi mỗi giá trị i tới thành viên thứ i trong nhóm. Sau
đó quản lý nhóm tính điểm trên EC
1 1 2 2 ... m mU P P P (3.1)
là phần tử đầu tiên của chữ ký số .
2) Mỗi thành viên nhóm thứ i (i = 1, 2, , m) tạo ra một số ngẫu nhiên ti < q,
tính giá trị Ri = tiG và gửi Ri tới quản lý nhóm.
3) Quản lý nhóm tạo ra số ngẫu nhiên t < q, tính các điểm R = tG của EC,
R = R + R1 + R2 ++ Rm và phần tử thứ hai của chữ ký số
e = FH(M||xR||xU) (3.2)
ở đây xR và xU là thành phần x của các điểm R và U của EC, tương ứng. Quản
lý nhóm sẽ gửi giá trị e tới các thành viên nhóm người sẽ bắt đầu giao thức.
15
4) Mỗi người ký thứ i (i = 1, 2, , m) tính chữ ký chia sẻ của họ được tính như
sau:
modi i i is t k e q (3.3)
và gửi tới quản lý nhóm.
5) Quản lý nhóm xác nhận tính đúng của si bởi việc kiểm tra giá trị
Ri = siG iePi, (i = 1, 2, , m) (3.4)
Nếu tất cả các chữ ký chia sẻ si thỏa mãn thủ tục xác nhận, sau đó quản lý nhóm
sẽ tính chữ ký chia sẻ của quản lý nhóm s = t + ze mod q và phần tử thứ ba của
chữ ký số nhóm là:
s = s + s1 + s2 ++ sm (3.5)
Chữ ký số nhóm của tài liệu M là một bộ ba tham số (U, e, s), gồm một điểm
của EC và hai số.
Thủ tục xác nhận bao gồm các bước.
1) Người xác nhận tính hàm băm của tài liệu M: H = FH(M).
2) Việc sử dụng khóa công khai nhóm L và chữ ký số nhóm (U, e, s), Người xác
nhận sẽ tính điểm EC:
LUesGR ~ (3.6)
3) Người xác nhận tính giá trị:
URH xxMFe ||||
~ ~ (3.7)
và so sánh các giá trị e~ với e. Nếu ee ~ , sau đó người xác nhận kết luận rằng
chữ ký số nhóm là hợp lệ.
3.1.2 Cơ chế mới của mặt nạ các khóa công khai của những người ký ban đầu
3.1.3 Đánh giá lược đồ chữ ký nhóm được đề xuất
3.2 Đề xuất tích hợp giao thức ký số tập thể vào ký số nhóm
3.2.1 Giao thức chữ ký số nhóm đề xuất thứ nhất (Lược đồ 6)
Trong giao thức đề xuất, người quản lý nhóm (GM) sẽ tạo ra tập văn bản cần ký
M. Người quản lý nhóm sẽ định nghĩa cấu trúc của nhóm người được ký (quản lý
nhóm sẽ quyết định các thành viên được tham gia vào quá trình ký). Việc xác định
các thành viên được ký dựa trên việc tính giá trị ngẫu nhiên zi. Người quản lý
nhóm sẽ tính các giá trị
h = H(M) (3.10)
zi = H(H(h||Pi||SE)||h||Pi) (3.11)
SE là một giá trị mật thêm vào của người quản lý nhóm. Sau đó, các giá trị (zi, h)
được gửi tới các người ký i tương ứng. Để tạo chữ ký số nhóm, các thủ tục sau
được thực hiện.
Bước 1: Quá trình tạo khóa
1. Mỗi thành viên trong nhóm những người ký tạo khóa riêng của họ là một
số ngẫu nhiên ki (1 < ki < q) và khóa công khai được tính như điểm:
16
Pi = kiG, với i = (1, 2, m) (3.12)
2. Quản lý nhóm tính khóa công khai của quản lý nhóm như điểm:
Pgm = kgmG (3.13)
ở đây kgm là khóa riêng của quản lý nhóm. Khóa công khai nhóm Pgm
được sử dụng để xác nhận chữ ký số nhóm.
Bước 2: Quá trình tạo chữ ký số nhóm
1. Quản lý nhóm tính điểm EC như sau:
1 1 2 2
...
m m
U z P z P z P (3.14)
như là phần tử đầu tiên của chữ ký số nhóm.
2. Mỗi thành viên nhóm i tạo một số ngẫu nhiên 1 < ti < q, tính giá trị
Ri = tiG và gửi Ri tới quản lý nhóm.
3. Quản lý nhóm tạo số ngẫu nhiên 1 < tgm < q, tính các điểm EC như sau:
Rgm = tgmG, R = Rgm + R1 + R2 ++ Rm (3.15)
và phần tử thứ hai của chữ ký số nhóm:
e = H(M||xR||xU) (3.16)
ở đây, xR and xU tương ứng với tọa độ trục x của các điểm trên EC là R và U,
tương ứng. Quản lý nhóm sẽ gửi giá trị e tới các thành viên nhóm, những
người bắt đầu giao thức.
4. Mỗi người ký i tính toán chữ ký chia sẻ của họ:
qezkts iiii mod (3.17)
và gửi nó tới quản lý nhóm.
5. Quản lý nhóm xác nhận tính đúng của mỗi si bởi việc kiểm tra:
Ri = siG ziePi (3.18)
Nếu tất cả các chữ ký chia sẻ si thỏa mãn thủ tục xác nhận, sau đó quản lý
nhóm tính chữ ký chia sẻ của quản lý nhóm:
sgm = tgm + kgme mod q (3.19)
và phần tử thứ 3 của chữ ký số nhóm là
s = sgm + s1 + s2 ++ sm (3.20)
Chữ ký số nhóm của tài liệu M là một bộ (U, e, s), gồm một điểm EC và hai số.
Bước 3: Quá trình xác nhận chữ ký số nhóm
1. Người xác nhận tính hàm băm của tài liệu M: h = H(M).
2. Sử dụng khóa công khai nhóm Pgm và chữ ký (U, e, s) và tính điểm EC:
)(
~
PUesGR gm
(3.21)
3. Sau đó tính giá trị:
)||||(~ ~ xx URMHe (3.22)
và so sánh e~ và e. Nếu ee ~ , thì người xác nhận kết luận rằng chữ ký số
nhóm là hợp lệ.
17
3.2.2 Giao thức chữ ký số nhóm đề xuất thứ hai có phân biệt trách nhiệm
(Lược đồ 07)
Trong giao thức này, quản lý nhóm sẽ tạo các bản tin cần được ký
mmmM n||...|||| 21 (trong giao thức này, chỉ xét đến trường hợp số lượng văn bản
cần ký bằng số người ký).
Người quản lý nhóm sẽ định nghĩa cấu trúc của nhóm người được ký (quản lý
nhóm sẽ quyết định các thành viên được tham gia vào quá trình ký). Việc xác định
các thành viên được ký, dựa trên việc tính giá trị ngẫu nhiên zi. Các giá trị ngẫu
nhiên zi được tính dựa vào ba tham số: các hàm một chiều của các giá trị khóa công
khai của các thành viên được ký tương ứng (Pi), các giá trị hàm băm của văn bản
cần ký (hi) của thành viên được ký tương ứng và một giá trị bảo mật chỉ được biết
bởi người quản lý nhóm.Người quản lý nhóm sẽ tính các giá trị hi = H(Mi) và
zi = H(H(hi||Pi||SE)||hi||Pi). SE là một giá trị mật thêm vào của người quản lý nhóm.
Sau đó, các giá trị (zi, hi) được gửi tới các người ký i tương ứng. Để tạo chữ ký số
nhóm, các thủ tục sau được thực hiện.
Bước 1: Quá trình tạo khóa (tương tự bước 1 của giao thức đề xuất thứ nhất)
1. Mỗi thành viên trong nhóm những người ký tạo khóa riêng của họ là một
số ngẫu nhiên ki (1 < ki < q) và khóa công khai được tính như điểm
Pi = kiG, với i = (1, 2, n).
2. Quản lý nhóm tính khóa công khai của quản lý nhóm như điểm
Pgm = kgmG, ở đây kgm là khóa riêng của quản lý nhóm. Khóa công khai
nhóm Pgm được sử dụng để xác nhận chữ ký số nhóm.
Bước 2: Quá trình tạo chữ ký số nhóm
1. Quản lý nhóm tính điểm EC như sau:
PzhPzhPzhU nnn ...222111 (3.23)
như là phần tử đầu tiên của chữ ký số nhóm.
2. Mỗi thành viên nhóm i tạo một số ngẫu nhiên 1 < ti < q, tính giá trị
Ri = tiG và gửi Ri tới quản lý nhóm.
3. Quản lý nhóm tạo số ngẫu nhiên 1 < tgm < q, tính các điểm EC như sau:
Rgm = tgmG, R = Rgm + R1 + R2 ++ Rn (3.24)
và phần tử thứ hai của chữ ký số nhóm
e = H(M||xR||xU) (3.25)
ở đây, xR and xU tương ứng với tọa độ trục x của các điểm trên EC là R và U,
tương ứng. Quản lý nhóm sẽ gửi giá trị e tới các thành viên nhóm, những
người bắt đầu giao thức.
4. Mỗi người ký i tính chữ ký chia sẻ của họ:
qehzkts iiiii mod (3.26)
18
và gửi nó tới quản lý nhóm.
5. Quản lý nhóm xác nhận tính đúng của mỗi si bởi việc kiểm tra:
Ri = siG zihiePi (3.27)
Nếu tất cả các chữ ký chia sẻ si thỏa mãn thủ tục xác nhận, sau đó quản lý
nhóm tính chữ ký chia sẻ của quản lý nhóm
sgm = tgm + kgme mod q (3.28)
và phần tử thứ 3 của chữ ký số nhóm là
s = sgm + s1 + s2 ++ sn (3.29)
Chữ ký số nhóm của tài liệu M là một bộ (U, e, s), gồm một điểm EC và hai số.
Bước 3: Quá trình xác nhận chữ ký số nhóm
1. Người xác nhận tính hàm băm của tài liệu M: h = H(M).
2. Sử dụng khóa công khai nhóm Pgm và chữ ký (U, e, s), người xác nhận tính
điểm EC )(~ PUesGR gm .
3. Tính giá trị )||||(~ ~ xxMHe UR và so sánh e~ và e. Nếu ee ~ , thì người xác
nhận kết luận rằng chữ ký số nhóm là hợp lệ.
3.2.3 Giao thức chữ ký số nhóm phân biệt trách nhiệm dạng ngưỡng (Lược đồ 8)
Các lược đồ ký nhóm dạng ngưỡng được sử dụng để ngăn chặn khả năng một
thành viên có thể phê chuẩn giao dịch bất hợp pháp. Hàng loạt các nghiên cứu đã
được công bố về ký số nhóm có ngưỡng dạng (t,n). Các lược đồ tại [18, 38, 40, 67,
100] dựa trên các vấn đề khó khác nhau như RSA, Logarit rời rạc (DLP), lý thuyết
phần dư Trung hoa (CRT) và ECDLP. Các lược đồ tại [18, 38, 100] được chứng
minh là không an toàn [70, 89, 93]. Lược đồ ký ngưỡng sử dụng Logarit rời rạc
[67] yêu cầu nhiều người để kiểm tra chữ ký, do đó lược đồ này khó ứng dụng thực
tiễn. Năm 2013 Zhao và cộng sự [60] đưa ra ý tưởng che khóa riêng của nhóm để
ngăn chặn các thành viên cộng tác và tìm ra khóa riêng nhóm. Đồng thời Zhao
chứng minh lược đồ chống được các dạng tấn công âm mưu [15, 70]. Tuy nhiên
lược đồ [60] yêu cầu khóa riêng của tất cả các thành viên phải được thư ký lưu trữ
để tính toán chữ ký nhóm tại pha tổng hợp , do đó không đáp ứng được yêu cầu
chống chối bỏ. Phần lớn các lược đồ chứng minh an toàn với giả thiết số máy tính
bị tấn công bởi tin tặc ít hơn mức ngưỡng để bảo toàn khóa riêng [17, 40, 89, 100].
Tuy nhiên, khi thành viên của nhóm tăng, khóa bí mật chia sẻ sẽ được phân phối
tới càng nhiều người và nguy cơ mất bí mật khóa riêng nhóm tăng lên. Các lược đồ
đã công bố thiếu cơ chế cân bằng giữa an toàn và phát triển nhóm. Đặc biệt, chưa
nghiên cứu nào đề cập đến nguy cơ nhóm bị tấn công APT, nghĩa là toàn bộ máy
tính của các NSD có thể bị tin tặc xâm nhập và điều khiển, trong trường hợp này,
khóa riêng bí mật của nhóm có thể bị thất thoát. Đối với các công ty lớn, việc công
bố lại khóa công khai sẽ rất ảnh hưởng đến uy tín về vấn đề an toàn thông tin.
19
Trong phần này, NCS trình bày một lược đồ ngưỡng mới, sử dụng cơ chế chia sẻ
khóa riêng nhóm dựa trên bài toán ECDLP có khả năng chống mất cắp khóa bí mật
nhóm, chống các dạng tấn công âm mưu của các người ký cộng tác với nhau phá
hoại hệ thống.
Ưu điểm của lược đồ là vẫn đảm bảo tính cộng tác, phân biệt trách nhiệm,
chống được các trường hợp máy tính người ký bị xâm nhập và tạo ra các chữ ký
không hợp lệ nhờ sử dụng cơ chế ngưỡng. Do đó, lược đồ có thể áp dụng cho
nhiều lĩnh vực như tài chính, ngân hàng.
Bước 1: Khởi tạo hệ thống
Giả sử một nhóm lớn có n thành viên quan trọng lưu trữ khóa chia sẻ của công
ty (ví dụ: Ban giám đốc) và một số lượng không hạn chế nhân viên. Duy nhất các
thành viên quan trọng nắm khóa chia sẻ. Chính sách của nhóm yêu cầu ít nhất
t(t<n) thành viên quan trọng tham gia vào quá trình ký để có thể phát hành một
chữ ký nhóm. Sau đây là một số vai trò được nêu trong lược đồ:
Quản lý nhóm (GM): Là một bên tin cậy, quản lý nhóm tạo các tham số bí mật
cho hệ thống, tính toán các giá trị khóa chia sẻ cho các thành viên quan trọng;
thêm, loại bỏ thành viên, xác định danh tính của thàn
Các file đính kèm theo tài liệu này:
- tom_tat_luan_an_nghien_cuu_phat_trien_mot_so_luoc_do_chu_ky.pdf