Tải bản đầy đủ

Nghiên cứu phát triển các lược đồ chữ ký số hướng tới nhóm

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Ự

ĐÀO TUẤN HÙNG

NGHIÊN CỨU, PHÁT TRIỂN MỘT SỐ LƯỢC ĐỒ
CHỮ KÝ SỐ HƯỚNG TỚI NHÓM

TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC

Hà Nội – 2018


CÔNG TRÌNH NÀY ĐƯỢC THỰC HIỆN
TẠI VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ

Người hướng dẫn:
1. PGS. TS Nguyễn Hiếu Minh

2. TS Phạm Việt Trung

Phản biện 1: PGS. TS Trần Quang Anh
Phản biện 2: PGS. TS Phạm Thanh Giang
Phản biện 3: PGS. TS Nguyễn Ngọc Hóa

Luận án này được bảo vệ trước hội đồng đánh giá Luận án Tiến sĩ của
Viện khoa học và công nghệ quân sự lúc:...................

Luận án này có thể tìm ở:
- Thư viện Viện khoa học và công nghệ quân sự
- Thư viện Quốc gia Việt Nam


1
MỞ ĐẦU
Tính cấp thiết của đề tài nghiên cứu
Hiện nay, chính phủ điện tử và thương mại điện tử đang được tập
trung phát triển ở nước ta cũng như trên thế giới bởi những tiện ích lớn
nó mang lại như tính nhanh gọn, bảo đảm tính pháp lý của các giao dịch
điện tử. Để triển khai được trên thực tế, các hệ thống chứng thực số và
chữ ký số là nền tảng cốt lõi. Tuy nhiên, việc nghiên cứu lý thuyết và
ứng dụng vào thực tế ở nước ta còn ở mức rất khiêm tốn.
Một số ứng dụng thực tế đang rất cần đến chữ ký số và chữ ký số
hướng tới nhóm ở nước ta hiện nay như sau:
Việc nghiên cứu chữ ký số nói chung và chữ ký hướng tới nhóm nói
riêng đang là hướng nghiên cứu mở và lôi cuốn các nhà nghiên cứu hiện nay.
Nhiệm vụ nghiên cứu
Xây dựng các lược đồ chữ ký số tập thể có phân biệt trách nhiệm ký song
song dựa trên bài toán Logarit rời rạc và bài toán khai căn modulo.
Xây dựng các lược đồ chữ ký số tập thể không 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.
Xây dựng giao thức chữ ký số nhóm dựa trên việc tích hợp chữ ký số
tập thể sử dụng bài toán Logarit rời rạc trên đường cong Elliptic.
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của Luận án gồm: Các hệ mật khóa công khai
và các lược đồ chữ ký số; Các lược đồ chữ ký số nhóm và chữ ký số tập
thể; Quy trình xây dựng các lược đồ chữ ký số. Phạm vi nghiên cứu của
Luận án gồm: các chuẩn chữ ký số DSS của Mỹ và GOST.94 của Nga
và các cơ sở toán học của các bài toán khó như bài toán khai căn, logarit


rời rạc và đường cong Elliptic trên trường số hữu hạn.
Phương pháp nghiên cứu
Nghiên cứu các công trình nghiên cứu khoa học trong và ngoài nước,
sách báo, tạp chí từ đó đề xuất xây dựng các lược đồ chữ ký số. Nghiên
cứu cơ sở toán học ứng dụng trong mật mã hóa như trường số hữu hạn
Galois Field (GF), cơ sở về đường cong Elliptic (EC), bài toán logarithm
rời rạc trên đường cong elliptic (ECDLP) từ đó áp dụng cho các lược đồ
chữ ký đề xuất. Xây dựng một số lược đồ chữ ký số hướng tới nhóm bao


2
gồm chữ ký số nhóm và chữ ký số tập thể dựa trên các chuẩn chữ ký số
đã được chứng minh có độ an toàn và hiệu quả thực hiện cao, có khả
năng ứng dụng trong thực tiễn. Cài đặt thử nghiệm phần mềm và kiểm
tra hiệu năng, kiểm thử các phương án bảo vệ so với lý thuyết.
Ý nghĩa lý luận và thực tiễn của luận án
Bố cục của luận án
Ngoài phần mở đầu, kết luận, danh mục tài liệu tham khảo, Luận
án được chia thành 04 chương với bố cục như sau:
Chương 1: Trình bày tổng quan về vấn đề nghiên cứu. Chương 1 phân
tích các yêu cầu của thực tế, khái quát các nội dung về chữ ký số có
liên quan đến hướng nghiên cứu của đề tài. Trình bày một số khái niệm
và phân loại liên quan đến chữ ký số, các dạng lược đồ chữ ký số thông
dụng, những vấn đề tồn tại của những nghiên cứu trước và định hướng
nghiên cứu của đề tài.
Chương 2: Trình bày sơ lược một số lược đồ đã được nghiên cứu và đề
xuất xây dựng các dạng lược đồ chữ ký số dạng tập thể mới lấy lược đồ
Schnorr làm cơ sở có phân biệt trách nhiệm người ký theo đề xuất ở
chương 1. Chương 2 đề xuất lược đồ chữ ký số tập thể có phân biệt trách
nhiệm ký song song dựa trên bài toán logarit rời rạc và bài toán khai căn,
và lược đồ chữ ký số tập thể không 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.
Chương 3: Đề xuất xây dựng các dạng lược đồ chữ ký số nhóm dựa trên
lược đồ cơ sở ECSchnorr nhưng sử dụng giao thức ký số tập thể mặt nạ
khóa công khai. Một lược đồ chữ ký số nhóm tích hợp chữ ký số tập thể
cũng được đề xuất. Các lược đồ đề xuất nhằm tận dụng các ưu điểm của
cả hai dạng lược đồ ký số tập thể và nhóm, trong khi vẫn chứng minh
tính an toàn cao và chi phí tính toán thấp.
Chương 4: Trình bày các kết quả thực nghiệm của các lược đồ chữ ký
số đề xuất và so sánh.


3
CHƯƠNG 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
1.1 Tổng quan về chữ ký số
Trình bày một số kiến thức cơ sở về chữ ký số, thuật toán tạo và xác
nhận chữ ký số , phân loại chữ ký số, các dạng phá vỡ lược đồ chữ ký
số.
1.2 Một số cơ sở toán học sử dụng trong luận án
Trình bày bài toán logarit rời rạc (DLP), logarit rời rạc trên đường cong
Elliptic (ECDLP), các hình thức tấn công ECDLP và các dạng đường
cong Elliptic thông dụng.
1.3 Chữ ký số tập thể và sự phát triển
1.3.1 Các thành phần của lược đồ chữ ký số tập thể
1.3.2 Phân loại lược đồ chữ ký số tập thể
1.3.3 Những vấn đề tồn tại của các mô hình chữ ký số tập thể và
hướng giải quyết
Những vấn đề tồn tại của các mô hình chữ ký số tập thể hiện nay:
(1)
Chi phí tính toán và truyền tin cao, phụ thuộc vào số người
ký trong nhóm. Số người trong nhóm tăng thì thời gian tạo chữ ký
số tập thể sẽ lâu hơn [41, 52].
(2)
Các lược đồ chữ ký số tập thể có phân biệt trách nhiệm dựa
trên tính khó của vấn đề phân tích thừa số nguyên tố và RSA tương
ứng không phải là các lược đồ an toàn [19, 52, 88, 90].
(3)
Một số lược đồ ký tuần tự đã được đề xuất [38, 45, 59, 91].
Năm 2013, Zhang [91] đề nghị một lược đồ ký tuần tự không phân
biệt trách nhiệm dựa trên Logarit rời rạc, tuy nhiên lược đồ này có
thể gây tranh cãi khi thành viên ký không trực tiếp ký số lên văn
bản gốc, thiếu công bố chữ ký chung...
Vấn đề sẽ giải quyết trong luận án:
NCS đề xuất hai lược đồ chữ ký số tập thể phân biệt trách nhiệm dựa
trên tính khó của vấn đề logarithm rời rạc [26, 36] và hai lược đồ chữ ký
số tập thể phân biệt trách nhiệm dựa trên tính khó của vấn đề tính khai
căn modulo của số nguyên tố [65, 69]. Các lược đồ đề xuất cũng cho phép
giảm chi phí tính toán và truyền tin và đưa ra chữ ký có kích thước ngắn.
1.4 Chữ ký số nhóm và sự phát triển
1.4.1 Định nghĩa chữ ký số nhóm


4
1.4.2 Các thuộc tính của chữ ký số nhóm
1.4.3 Các thành phần cơ bản của một lược đồ chữ ký số nhóm
1.4.4 Các thủ tục của một lược đồ chữ ký số nhóm
1.4.5 Tính hiệu quả của chữ ký số nhóm
1.4.6 Các tính chất an toàn đối với chữ ký số nhóm
1.4.7 Những vấn đề tồn tại của các mô hình chữ ký số nhóm và
hướng giải quyết
Những vấn đề tồn tại của các mô hình chữ ký số tập thể hiện nay:
(1)
Các lược đồ về ký nhóm thông thường không cần đến sự phê
chuẩn, một cá nhân có thể ký đại diện cho cả nhóm. Tuy nhiên,
nếu máy tính của bất kỳ một cá nhân nào thuộc nhóm bị tin tặc
chiếm quyền, tin tặc có thể ký thay cho cả nhóm.
(2)
Một nhược điểm khác của các lược đồ ký số nhóm đã biết là
thiếu tính phân biệt trách nhiệm, trong trường hợp tài liệu nhiều
thành phần khác nhau, các lược đồ đã công bố thiếu cơ chế kiểm
soát thành viên ký ban đầu trước khi công bố ký nhóm, vì vậy
trong trường hợp khiếu nại, các lược đồ đã biết không đáp ứng
được tính truy vết.
Vấn đề sẽ giải quyết trong luận án:
(1)
NCS đề xuất mới các dạng ký số tập thể sát với quy trình
thực tế bao gồm ký song song và tuần tự, ký đa thành phần. Cải
tiến hiệu năng của các lược đồ. Các lược đồ có khả năng kiểm tra
tính tuần tự, tính phân biệt trách nhiệm mà không cần phải mở chữ
ký dựa vào khóa công khai của các thành viên ký. Chứng minh an
toàn với các tấn công đã biết.
(2)
NCS đề xuất mới các dạng lược đồ chữ ký số nhóm lai ghép
mang lại cả hai tính năng nổi bật của các lược đồ chữ ký số tập thể
và chữ ký số nhóm là tính ẩn danh và cộng tác, có phân biệt trách
nhiệm. Thiết kế của lược đồ linh hoạt cho phép thay đổi cấu trúc
nhóm, kể cả người quản lý nhóm. Ở phần thực nghiệm, các lược
đồ được kiểm chứng tính đúng đắn cũng như các số liệu thực tế về
hiệu năng, kích thước chữ ký số, tốc độ ký và kiểm tra cho các lớp
đường cong Elliptic khác nhau dựa theo các nghiên cứu của
Certicom, NIST [75].


5
1.5 Kết luận chương 1
Tổng quan các vấn đề nghiên cứu trong nước và trên thế giới về các chữ ký số
hướng tới nhóm bao gồm ký số tập thể và nhóm. Chỉ ra những hạn chế, tồn tại
trong lĩnh vực ký số hướng tới nhóm dẫn đến tính ứng dụng chưa cao trong thực
tiễn. Việc nghiên cứu các lược đồ hướng tới nhóm mới an toàn và có hiệu quả là
vấn đề cấp thiết để thúc đẩy việc sử dụng ký số điện tử đa người dùng.

CHƯƠNG 2. XÂY DỰNG LƯỢC ĐỒ CHỮ KÝ SỐ TẬP THỂ
CÓ PHÂN BIỆT TRÁCH NHIỆM VÀ KHÔNG PHÂN BIỆT
TRÁCH NHIỆM
NCS đề xuất xây dựng mới 04 lược đồ chữ ký số tập thể gồm: 02 lược đồ chữ
ký số tập thể có phân biệt trách nhiệm ký song song dựa trên bài toán Logarit rời
rạc và bài toán khai căn và 02 lược đồ chữ ký số tập thể không 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à bài toán khai căn.
2.1 Một số lược đồ chữ ký số tập thể có phân biệt trách nhiệm
2.1.1 Lược đồ chữ ký số tập thể của Hwang
2.1.2 Lược đồ chữ ký số tập thể song song và tuần tự
2.2 Xây dựng lược đồ chữ ký số tập thể có phân biệt trách nhiệm ký song song
2.2.1 Lược đồ chữ ký số tập thể có phân biệt trách nhiệm ký song song dựa
trên bài toán Logarit rời rạc (Lược đồ 01).
Giả thiết rằng việc ký của nhóm U 1 , U 2 ,..., U n muốn tạo ra chữ ký tập thể cho
bản tin M  m1 || m2 || ... || mn . Thành viên Ui chỉ đảm nhiệm cho phần nội dung mi ,
với i = 1, 2, …, n.
Quá trình tạo khóa: Giả sử nhóm có n người ký và một người quản lý, các
thông số sau được định nghĩa:
Bước 1: Người quản lý chọn một số nguyên tố lớn p, q với q|(p - 1), và hàm
hash một chiều SHA  1( H  h(M )) [85].
Bước 2: x1 , x2 ,...,xn là các khóa bí mật của các thành viên trong nhóm 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 , y 2 ,..., y n là các khóa công khai của các thành viên nhóm mà
yi   xi mod p

được tính toán và được công bố bởi các thành viên nhóm Ui (α là

phần tử sinh q  Z p ). Việc thêm/bớt thành viên i yêu cầu thêm/bớt yi tương ứng
bởi người quản lý.
Bước 4: Người quản lý tính toán khóa công khai nhóm Y cho tất cả những người
ký:


6
n h( m )
Y   yi i mod p
i 1

(2.2)

Quá trình tạo chữ ký tập thể: Lược đồ yêu cầu người quản lý 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 k i  Z p và tính toán giá trị:
r i   k i mod p

(2.3)

Sau đó mỗi người ký Ui gửi ri 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 sau:
n

R   r ii mod p
r

(2.4)

i 1

và tính toán các giá trị E  h( R || M ) và H  h(h(m1) || h(m2) || ... || h(mn)) .

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:
si  (ki ri H  Exi h(mi ))mod q.

(2.5)

Sau đó người ký Ui gửi si tới người quản lý.
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:
s i h(mi ) E  ri H mod p
(2.6)
 y
ri
i

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:
n

S   s i mod q
i 1

(2.7)

Cuối cùng, (R, S) là chữ ký tập thể cho bản tin M  m1 || m2 || ... || mn .
Quá trình xác nhận chữ ký tập thể:
Trước khi xác nhận chữ ký của một bản tin được ký, các tham số (p, α, Y) được
cung cấp cho người kiểm tra.
Việc xác nhận của chữ ký tập thể được thực hiện sử dụng khóa công khai nhóm Y.
Bước 1: Sử dụng chữ ký tập thể (R, S) để kiểm tra:

Y
S

E

 R mod p
H

(2.8)

Bước 2:Nếu biểu thức (2.11) thỏa mãn thì chữ ký là hợp lệ, trường hợp còn lại là
chữ ký không hợp lệ.
Từng phần nội dung tài liệu m1 || m2 || ... || mn có thể được xác nhận mà không cần tiết
lộ toàn bộ nội dung của tài liệu. Nếu người xác nhận chỉ được phép để đọc một phần


7
nội dung mi, sau đó người xác nhận sẽ nhận h(m1) || h(m2) || ... | h(mi1) || h(mi) ||
h(mi1) || ... || h(mn) để kiểm tra chữ ký tập thể (R, S).

2.2.2 Lược đồ chữ ký số tập thể có phân biệt trách nhiệm ký song song dựa trên
bài toán khai căn (Lược đồ 02).
Giả thiết rằng việc ký của nhóm U 1 , U 2 ,..., U n muốn tạo ra chữ ký tập thể cho
bản tin M  m1 || m2 || ... || mn . Thành viên Ui chỉ đảm nhiệm cho phần nội dung mi , với
i = 1, 2, …, n.
Quá trình tạo khóa:
Lược đồ NCS đề xuất sử dụng modulus nguyên tố có cấu trúc p = Nq2 + 1, ở đây
q là số nguyên tố lớn (|q| ≥ 160) và N là số nguyên chẵn sao cho | p | ≥ 1024 bít.
Giả sử nhóm có n người ký và một người quản lý, các thông số sau được định
nghĩa:
Bước 1: người quản lý tạo một số nguyên lớn p, một ước số nguyên tố q có cấu trúc p
= Nq2 + 1 tương ứng với q2|(p - 1), và hàm băm một chiều SHA_1(H = h(M)).
Bước 2: x1 , x2 ,...,xn là các khóa bí mật của các thành viên trong nhóm 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 , y 2 ,..., y n là các khóa công khai của các thành viên nhóm mà
q
y i  xi mod p được tính toán và được công bố bởi các thành viên nhóm Ui (α là

bộ tạo nhóm dịch vòng bậc q  Z p ). Việc thêm/bớt thành viên i yêu cầu thêm/bớt yi
tương ứng bởi người quản lý.
Bước 4: người quản lý tính toán khóa công khai nhóm Y cho tất cả những người
ký, khóa này sẽ được sử dụng để xác thực chữ ký tập thể:
n
Y   yiyi mod p
i 1

(2.9)

Quá trình tạo chữ ký tập thể: lược đồ yêu cầu người quản lý 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 k i  Z p và tính toán:
q
r i  k i mod p

(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:
(2.11)
𝑅 = ∏𝑛𝑖=1 𝑟𝑖 ℎ(𝑚𝑖) 𝑚𝑜𝑑 𝑝
và tính toán các giá trị E  h( R || M ) và H  h(h(m1) || h(m2) || ... || h(mn)) . 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:
)𝐻

𝑠𝑖 = 𝑥𝑖 𝑦𝑖𝐸 𝑘𝑖 ℎ(𝑚𝑖 𝑚𝑜𝑑 𝑝
Sau đó mỗi người ký Ui gửi si tới người quản lý.

(2.12)


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:
S iq  yi i r ih(mi ) H mod p
yE

(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:
(2.14)
𝑆 = ∏𝑛𝑖=1 𝑠𝑖 𝑚𝑜𝑑 𝑝
Cuối cùng, (R, S) là chữ ký tập thể cho bản tin M  m1 || m2 || ... || mn .
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 m1 || m2 || ... || mn 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
h(m1) || h(m2) || ... || h(mi 1) || h(mi) || h(mi 1) || ... || h(mn) để 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 q | ( p  1) , 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 =  i mod p được công bố trong nhóm( là phần tử sinh của các nhóm cyclic 𝑍𝑝∗
và q  Z *p ).
x

Pha sinh chữ ký số


9
Mỗi thành viên Ui chọn số ngẫu nhiên ki ( ki  Z q ) và tính ri =  i mod p, Ui gửi (yi, ri)
k

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

Y   yi mod p
i 1

;

n

R   ri ri mod p
i 1

H

; H = h(M); Q  y1 || y2H || ...|| ynH ; 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:
(2.28)
R i = R i-1ri r với i = 2, …, n ; R 1 = r1r
(2.29)
Yi = Yi-1yi
với i = 2, …, n. Y1 = y1 ( Chú ý Yn  Y; R n  R )
i

1

si  si1  (ki ri H  Exi )mod 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ố s1  (k1r1H  Ex1)mod 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

 s ( y1 ) E  r1r H mod p ;
1

1

nếu

biểu

thức

thỏa

mãn

U2

tính

s2  s1  (k2r2 H  Ex2 )mod 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
s
E
H
bước sau: Kiểm tra si-1 theo  i 1Yi1  ( Ri1 ) mod 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
 S Y E  R H mod p . 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 M  m1 || m2 || ... || mn . 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 ( ki  Z q ) và tính ri =  i mod p, Ui gửi (yi,
k

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:
n

h ( m1 )

Q  y1

h ( m2 )

|| y2

h ( mn )

|| ...|| yn

; Y   yi

h ( mi )

i 1

n

mod p ; R   ri ri mod p ; E=h(Y||R||Q)
i 1

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ể M  m1 || m2 || ... || mn , 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:

R i =R i-1ri ri

r
với i = 2, …, n và R1 =r1 1 mod p
h ( m1 )

Yi = Yi-1yi

với i = 2, …, n và Y1 =y1

si  si1  (ki ri H  Exi h(mi ))mod q. với i = 2, …, n.

(2.32)
(2.33)

(2.34)

Bước 1: Người ký đầu tiên U1 sinh chữ ký số s1  (k1r1H  Ex1h(m1 ))mod 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  s Y1E  (R1 )H mod p ; nếu biểu thức thỏa mãn U2 tính
1

s2  s1  (k2r2 H  Ex2h(m2 ))mod 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  si 1Yi1E  (Ri1 )H mod 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 M  m1 || m2 || ...|| mn .
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 M  m1 || m2 || ...|| mn 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

 SY E  R H mod 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ý:
1,U i  M j
Vij  
0,U i  M j

Vector ký tập thể: V  {Vij | i, j  1,2,.., 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 q | ( p  1) , 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 yi    xi mod p được công bố trong nhóm( là phần tử sinh của các nhóm
cyclic 𝑍𝑝∗ và

q  Z *p ).

Pha sinh chữ ký
Mỗi người ký Ui với i = 1,2, 3,., n lần lượt tính:
N

H ( M i )   H ( M j )  Vij , ri  ri1   ki mod p ( r0  1)
j 1

hi  hi1 || H (Mi ) , h0  H (M1 || M 2 ||...|| M j ||...|| M N )
ei  H (hi || ri )
i


si   si 1  ei 1  ki  xi   H ( M j )  Vij  ei  mod q
j 1



Ui gửi cặp giá trị

(ei , si ) đến thư ký.


12
Thư ký tính các giá trị:
i

H ( M j ).Vij
Yi  yi 1   yi 
mod p ,(
j 1

y0  1 )

ri   si ei  Yi mod p
hi  hi 1 || H ( M i ) , h0  H (M1 || M 2 || ...|| M j || ...|| M N )
ei  H (hi || ri )

ei  ei và: i < N thì gửi các giá trị (ei , si , ri , hi ) đến Ui1 . Nếu:

- Nếu:

ei  ei và: i = N thì thư ký có e  e N , s  s N .
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
M  m1 || m2 || ...|| mn . 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 M  m1 || m2 || ...|| mn 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
y  { yi | i  1,2,..., N } .
Người kiểm tra thực hiện thuật toán:
[1] - for i = 1 to N do
N

H ( M j ).Vij
yij   yi 
mod p
j 1
N

[2] - Y   yij mod p
i 1

[3] - h0  H ( M 1 || M 2 || ... || M N )
[4] - for i = 1 to N do
N

[4.1] - H ( M i )   H ( M j ) Vij
j 1

[4.2] - hi  hi 1 || H ( M i )
[5] - r  

se

 Y mod p

[6] - e  H (hN || r )
[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
s1   k1  x1  H ( M 1 )  e1  mod q   k1  x1  h1  H (h0 || h1 || r1  mod q
s2   s1  e1  k2  x2  H  M 2   e2  mod q 



   k  k    x  h  x  h   H  h || h || h || 

 k1  x1  h1  e1  e1  k2  x2  h2  H h 0 || h1 || h2 || r1   k2
1

2

1

1

2

2

0

1

k1  k2

2

2
 2
 2

   ki   xi    h j  Vij   H h0 || h1 || h2 ||  k1  k2
 i 1
i 1
 j 1





s3   s2  e2  k3  x3  h3  e3  mod q 



  mod q

  mod q


  mod q






  k1  k2  k3    x1  h1  x2  h2  x3  h3   H h0 || h1 || h2 || h3 || r2   k3 mod q
3
 3
 3

   ki   xi    h j  Vij   H h0 || h1 || h2 || h 3 ||  k 1  k2 k3
 i 1
i 1
 j 1







  mod q


................................................................................................
N
 N

 N

sN    ki   xi    h j  Vij   H  h0 || h 1|| h2 || ...|| hN ||  k1  k2 ... k N   mod q
 i 1

i 1
 j 1



Từ đó ta có:

r 
N

s e

Y

hN

mod p  

N



N



i 1



j 1



 ki  xi .  H ( M j ).Vij 

  i 1

N

N



N

i 1

i 1



j 1



 ki  xi .  h j .Vij 





 N
H  M j .Vij

    yi 
j 1
 i 1
N

N



N



i 1



j 1



 xi .  H ( M j ).Vij 


 mod p


N

 ki

mod p   i 1 mod p  r

 e  H (hN || r )  H (hN || r )  e . Đ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
U  1 P1  2 P2  ...  m Pm
(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 = tG 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:
si  ti  ki i e mod 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ị
(3.4)
Ri = siG  iePi, (i = 1, 2, …, m)
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à:
(3.5)
s = s + s1 + s2 +…+ sm
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  eU  L
(3.6)
3) Người xác nhận tính giá trị:
~  F M || x ~ || x 
e
(3.7)
H
U
R
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ệ.
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:
U  z P  z P  ...  z P
(3.14)
1

1

2

2

m

m

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ọ:
(3.17)
s i  t i  k i z i e mod q
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:
(3.18)
Ri = siG  ziePi
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:
~
R  sG  e(U  P gm)
(3.21)
3. Sau đó tính giá trị:
e~  H ( M || xR~ || xU )
(3.22)
và so sánh e~ và e. Nếu e~  e , 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ý
M  m1 || m2 || ... || mn (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:
U  h1 z1 P1  h2 z 2 P2  ...  hn z n Pn

(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ọ:
(3.26)
si  t i  k i z i hi e mod q


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:
(3.27)
Ri = siG  zihiePi
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 R~  sG  e(U  P gm) .
3. Tính giá trị e~  H (M || x R~ || xU ) và so sánh

e~

và e. Nếu

e~  e ,

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(tchữ 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ành viên ký trong trường hợp
tranh cãi.
Trung tâm phân phối (DC): Là các máy chủ an toàn, có nhiệm vụ trao đổi thông
tin với các người ký tài liệu trong cả nhóm. DC tính một số giá trị bí mật cho các
thành viên sử dụng khi ký. DC lưu toàn bộ các giá trị ký trung gian. Chỉ GM có
quyền mở DC khi cần.
Người ký bình thường: Ký vào các tài liệu thuộc thẩm quyền của mình. Không
có quyền giữ khóa chia sẻ bí mật hệ thống.
Người ký quan trọng: Ký vào các tài liệu thuộc thẩm quyền của mình. Đủ t chữ
ký của người ký quan trọng, chữ ký hợp lệ của nhóm sẽ được tạo thành.
Lược đồ sử dụng một trung tâm tính toán tin cậy gọi tắt là DC để phát hành chữ
ký và lưu trữ các giá trị liên quan. Không mất tính tổng quát, giả sử N người tham
gia ký một văn bản, cần t thành viên quan trọng tham gia ký, tcó thể chọn t=3 sao cho phù hợp với 1 số thủ tục hiện có. Người quản lý chọn khóa
riêng của nhóm A0 (1 < A0 < q) và SE (1 < A0 < q, 1 < SE < q). SE là giá trị mật
được người quản lý lưu trữ riêng. Quản lý tính các thành phần khóa chia sẻ cho các
thành viên theo phương pháp chia sẻ khóa Shamir (t, n)[88].

f  x   (SE * A0  s1x  s2 x 2  st 1xt 1 )mod q

 vi , yi  , i  0,1,..., n;

yi  f  vi  mod q

Các giá trị s1,s2,..st (0quản lý. Các cặp giá trị  vi , yi  được gửi bí mật cho các thành viên quan trọng tương
ứng, trong đó là yi khóa bí mật được từng thành viên bảo vệ, các giá trị định danh


20
vi được công khai nội bộ nhóm quan trọng. Ta có giá trị A0 * SE được phục hồi
như sau với T thành viên bất kỳ thuộc nhóm, một số lượng ít hơn T thành viên
không thể nào tính được A0 * SE ban đầu:

 t
vi 
A0 * SE   yk  
 mod q
v

v
k 1
i

1,
i

k
k
i

Định nghĩa công thức tính thành phần chia sẻ cá nhân:
t
vi
f j  yj( 
)
, (j =1,2…, n)
i 1,i  j v j  vi
t

(3.30)

(3.31)

Chú ý giá trị fj theo (3.30) không cố định và được tính dựa theo định danh của
những thành viên nào tham gia vào phiên ký.
Theo (3.30), giá trị A0 sẽ được tính với bất kỳ t thành viên (tt
t
t
vi
A0 * SE   f k mod q  y j ( 
)mod q
k 1
k 1 i 1,i  j v j  vi
Quản lý tính khóa công khai của nhóm như điểm Pgm = A0G, và điểm
PDC  ( SE 1)* A0 * G . ở đây A0 là khóa bí mật của nhóm. Khóa công khai nhóm
Pgm được sử dụng để xác nhận chữ ký số nhóm. Giá trị hSE  h(SE) và PDC được
lưu trên DC.
Để tạo chữ ký số nhóm, các thủ tục sau được thực hiện.
Bước 2: Quá trình tạo khóa
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).
Bước 3: Quá trình tạo chữ ký số nhóm
Tập văn bản cần ký được gửi lên trung tâm DC, sẽ được tính các giá trị hi = H(Mi)
và zi  H  h(M ) || hi || Pi || hSE . Sau đó, các giá trị (zi, hi) được gửi tới các người ký i
tương ứng. SE là một giá trị mật thêm vào của người quản lý nhóm. Trung tâm DC
tính điểm EC như sau khi nhận yêu cầu phiên giao dịch:
(3.32)
U  h1 z1 P1  h2 z 2 P2  ...  hn z n Pn
U là phần tử đầu tiên của chữ ký số nhóm.
Mỗi thành viên nhóm i tạo một số ngẫu nhiên 1 < ti < q, tính fi theo (3.31) và giá trị
Ri = tiG, gửi Ri tới trung tâm DC.
Trung tâm DC tính các điểm EC như sau:
(3.33)
R  R1  R2  RN
và phần tử thứ hai của chữ ký số nhóm
e = H(M||xR||xU)

(3.34)


21
Ở đâ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. Trung tâm DC 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. Mỗi người ký i tính các giá trị chữ ký chia sẻ trên phần nội
dung mình chịu trách nhiệm và gửi tới DC. Nếu người ký thứ i là thành viên ký
thông thường, tính:
si  ti  hk
i i zi e mod q

Nếu người ký là thành viên quan trọng tính cặp giá trị:
Vi  fieG

(3.35)

si  fie  ti  hi ki zie mod q

Thành viên ký bình thường gửi giá trị si tới DC, thành viên quan trọng gửi ( si , Vi)
đến DC.
Trung tâm DC xác nhận tính đúng của si (si do đúng người ký thứ i gửi đến) do
người ký thông thường bởi công thức kiểm tra:
(3.36)
Ri  siG  zi heP
i i
Trung tâm DC xác nhận tính đúng của si (si do đúng người ký thứ i gửi đến) do
người ký quan trọng bởi công thức kiểm tra:

Ri  siG Vi  zi heP
i i
Nếu tất cả các chữ ký chia sẻ si thỏa mãn thủ tục xác nhận, sau đó trung tâm DC
tính phần tử thứ 3: PV  ePDC và thứ 4 của chữ ký số nhóm là
S  s1  s2  ..  sn mod q

(3.37)

Chữ ký số nhóm của tài liệu M là một bộ U , PV , e, s  , gồm hai điểm EC và hai số
nguyên lớn.
Bước 4: Quá trình xác nhận chữ ký số nhóm
Người xác nhận tính hàm băm của tài liệu M: h = H(M). Sử dụng khóa công khai
nhóm Pgm và chữ ký U , PV , e, s  , Người xác nhận tính điểm EC R  sG  PV  e(U  Pgm )

. Người xác nhận tính giá trị e~  H (M || x R~ || xU ) và so sánh e~ và e. Nếu e~  e , thì
người xác nhận kết luận rằng chữ ký số nhóm là hợp lệ.
3.2.4 Phân tích các giao thức ký số nhóm đề xuất
Trình bày và chứng minh: Tính đúng, độ mạnh của chữ ký, Cơ chế mặt nạ khóa
công khai, tính chất nhóm của các lược đồ đề xuất. Các tính chất an toàn khác.
3.3 Kết luận chương 3
Trình bày những kết quả trọng tâm của NCS về các lược đồ chữ ký số nhóm.
Trong chương này, 04 lược đồ chữ ký số nhóm mới dựa trên lược đồ chữ ký số tập
thể sử dụng tính khó của bài toán logarithm rời rạc trên đường cong elliptic trong
trường hữu hạn được đề xuất, cho phép giảm chiều dài chữ ký và tăng hiệu quả của
giao thức tạo chữ ký. Việc thực hiện cơ chế mặt nạ được sử dụng để dấu các thành
viên nhóm ban đầu và không ảnh hưởng đến kích thước của chữ ký được tạo. Các


22
giao thức chữ ký số lai ghép mới có được các ưu điểm của cả hai chữ ký số tập thể
và chữ ký số nhóm, do đó, các giao thức đề xuất đảm bảo cho nhiều ứng dụng thực
tế hơn so với chỉ dùng chữ ký số tập thể hoặc chỉ dùng chữ ký số nhóm.
Các lược đồ bổ sung cơ chế phân biệt trách nhiệm cho ký số nhóm, từ đó các bài
toán phức tạp hơn trong giao dịch điện tử có thể được áp dụng. Cơ chế phê chuẩn
chữ ký nhóm giảm thiểu rủi ro cho các giao dịch không hợp lệ do máy tính thành
viên bị tin tặc điều khiển hoặc thành viên có ý đồ xấu. Các lược đồ ký nhóm lai
ghép với ký tập thể này là kết quả các nghiên cứu tại CT3, CT4. Ngoài ra, cơ chế
ký ngưỡng có phân biệt trách nhiệm ký cũng có thể thay thế các lược đồ ký
ngưỡng hiện tại nhằm quản lý tốt hơn thành viên ký và chống được nguy cơ tin tặc
xâm nhập và tạo ra những giao dịch ngoài tầm kiểm soát. Lược đồ này là kết quả
nghiên cứu tại CT6.

CHƯƠNG 4: CÀI ĐẶT VÀ THỰC NGHIỆM
Trong chương này, NCS trình bày các kết quả thực nghiệm và đánh giá trong quá
trình thực hiện luận án. Với các lược đồ dựa trên hệ mật Logarit rời rạc, khai căn
modulo, việc mô phỏng nhằm kiểm tra tính đúng, chặt chẽ của các phương trình trong
quá trình tạo chữ ký số cũng như minh chứng khả năng không giả mạo, chối bỏ… của
các lược đồ đề xuất.
Chương 4 trình bày những kết quả thực nghiệm của NCS về các lược đồ chữ ký
số hướng tới nhóm trên các hệ mật DLP và ECC. Các tham số của các hệ mật được
chọn theo tiêu chuẩn FIPS 186-4, các đường cong Elliptic được chọn theo các
đường cong khuyến cáo của Viện tiêu chuẩn Hoa kỳ NIST gồm P-192, P-256, P521. Các thực nghiệm nhằm khẳng định tính chính xác của các lược đồ về mặt lý
thuyết và thực hành đồng thời kiểm chứng về mặt hiệu suất thực hiện với các mức
độ mật DLP 1024 bít và ECC 192, 256, 512 bít là những cấp độ mật cao được
khuyến cáo hiện nay. Kết quả thực nghiệm thể hiện:
 Các lược đồ thực hiện tốt theo thiết kế, chi phí và thời gian tính toán tốt,
đáp ứng các bài toán thực tế với tốc độ cao.
 Các lược đồ chống được các hình thức tấn công giả mạo chữ ký thông qua
cơ chế kiểm soát số liệu trao đổi nội bộ và phương trình kiểm tra chữ ký
quy về các bài toán khó được lựa chọn là DLP hay ECC.


23


Với các cơ chế trao đổi thông tin có xác thực của các lược đồ đưa ra

dựa trên các bài toán khó, các lược đồ hoàn toàn có thể hoạt động an toàn trên các
mạng máy tính thông thường mà không cần đến các kênh mã hóa. Điều này cung
cấp tính khả thi cao cho các các nghiên cứu ứng dụng tương tự.

KẾT LUẬN
Ngày nay các giao dịch điện tử rất phát triển và dần thay thế tương đương
cho các phương pháp truyền thống. Việc xác thực và đảm bảo an toàn thông tin
cho các giao dịch điện tử với nhiều bên tham gia đã đặt ra những vấn đề cần được
nghiên cứu và giải quyết. Thực tiễn cho thấy các lớp bài toán cần đến các dạng ký
số hướng tới nhóm là rất đa dạng và không một lược đồ nào có thể giải quyết hết
các nhu cầu khác nhau. Các kết quả đạt được của Luận án góp phần xây dựng nền
tảng cho các hướng nghiên cứu tiếp theo để đáp ứng nhu cầu thực tiễn về bảo mật
và xác thực thông tin. Luận án đã đạt được mục tiêu đề ra là đã đề xuất được 08
lược đồ chữ ký số hướng tới nhóm bao gồm 04 lược đồ chữ ký số tập thể và 04
lược đồ chữ ký số nhóm mới lai ghép với giao thức ký số tập thể. Các lược đồ
được đề xuất cung cấp khả năng kiểm tra tính phân biệt trách nhiệm rõ ràng hơn so
các lược đồ trước đó trong khi hiệu năng tính toán và độ phức tạp được giảm đáng
kể như đã được phân tích trong Luận án. Độ an toàn của các lược đồ đề xuất cũng
được nghiên cứu trước các giả thiết an toàn khắt khe có trong thực tiễn.
Những đóng góp mới của đề tài luận án:
1.

NCS đã xây dựng 04 lược đồ chữ ký số tập thể hoàn toàn mới có

phân biệt trách nhiệm dựa trên tính khó của vấn đề logarithm rời rạc và tính khó
của vấn đề tính căn modulo của số nguyên tố. Trong đó, 02 lược đồ chữ ký số tập
thể có cấu trúc song song được đề xuất. 02 lược đồ chữ ký số tập thể có cấu trúc
tuần tự, trong đó 02 lược đồ ký đa thành phần nhằm đáp ứng các lớp bài toán ký
với số lượng thành viên ký và số văn bản không cố định, cung cấp khả năng một
người tham gia xác thực nhiều văn bản. Các lược đồ này đưa minh chứng rõ ràng
về trách nhiệm của người ký và cho phép giảm chi phí tính toán cũng như truyền
tin. Kết quả này là nội dung của công trình nghiên cứu [CT1], [CT2], [CT5] của
Luận án.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×