KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là

Similar documents
PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4

log23 (log 3)/(log 2) (ln 3)/(ln2) Attenuation = 10.log C = 2.B.log2M SNR db = 10.log10(SNR) = 10.log10 (db) C = B.log2(1+SNR) = B.

BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG

CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY

Bài 3: Mô phỏng Monte Carlo. Under construction.

Các Phương Pháp Phân Tích Định Lượng

Why does the motion of the Pioneer Satellite differ from theory?

15 tháng 06 năm 2014.

Đánh giá: ❶ Bài tập (Quiz, In-Class) : 20% - Quiz (15-30 phút): chiếm 80%; 5 bài chọn 4 max TB - In-Class : chiếm 20% ; gọi lên bảng TB

VÔ TUYẾN ĐIỆN ĐẠI CƯƠNG. TS. Ngô Văn Thanh Viện Vật Lý

5 Dùng R cho các phép tính đơn giản và ma trận

Chapter#2 Tính chất của vật chất (Properties of Substances)

DỰ BÁO TƯỚNG THẠCH HỌC VÀ MÔI TRƯỜNG TRẦM TÍCH CHO ĐÁ CHỨA CARBONATE PHÍA NAM BỂ SÔNG HỒNG, VIỆT NAM

TÓM TẮT ĐỀ TÀI NGHIÊN CỨU

sao cho a n 0 và lr(a n ) = Ra n X a n với X a n R R. Trong bài báo này, chúng Z r (R) (t.ư., Z l (R)).

TỐI ƯU HÓA ĐA MỤC TIÊU ỨNG DỤNG XÁC LẬP CHẾ ĐỘ CÔNG NGHỆ SẤY THĂNG HOA (STH) TÔM THẺ

Năm 2015 O A O OB O MA MB = NA


Hà Nội, ngày 22 tháng 1 năm 2012 (ngày Tất niên năm Nhâm Thìn) Đại diện nhóm biên soạn Chủ biên Hoàng Minh Quân Phan Đức Minh

PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON

Mục tiêu. Hiểu được. Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời

NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI LƯỚI: XÉT CHO TRƯỜNG HỢP LƯỚI ĐIỆN HẠ THẾ 1 PHA

GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015

Mã khối không thời gian trực giao và điều chế lưới

Ngô Nh Khoa và cs T p chí KHOA H C & CÔNG NGH 58(10): 35-40

PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP

hoctoancapba.com Kho đ ề thi THPT quốc gia, đ ề kiểm tra có đáp án, tài liệu ôn thi đại học môn toán

THÔNG TIN LUẬN ÁN TIẾN SĨ

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA

CƠ SỞ VẬT LÝ HẠT NHÂN

SỞ GD & ĐT BẮC NINH ĐÊ TẬP HUẤN THI THPT QUỐC GIA NĂM Đề bài y x m 2 x 4. C. m 2. có bảng biến thiên như hình dưới đây:

NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP.

TÍNH TOÁN ĐỊNH HƯỚNG CHẾ TẠO CẤU TRÚC UVLED CHO BƯỚC SÓNG PHÁT XẠ 330nm

NGUYỄN THỊ VIỆT HƢƠNG

Nguyễn Thị Huyền Trang*, Lê Thị Thủy Tiên Trường Đại học bách khoa, ĐHQG tp Hồ Chí Minh,

LÝ LỊCH KHOA HỌC. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI. 1. Họ và tên: Vũ Đặng Hoàng

ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN. Đi a chi Tha nh phô Tiê u bang Ma zip

PHÂN TÍCH T & CÂN BẰNG B

Đầu Nối Cáp T 630A 93-EE9X5-4-Exp-A-3/C Series Đầu Nối T : 24 kv 125 kv BIL Đáp ứng các tiêu chuẩn : IEC 502-4, VDE 0278 Hướng Dẫn Sử Dụng

Nhiễu và tương thích trường điện từ

1. chapter G4 BA O CA O PHA T TRIÊ N BÊ N VƯ NG

Nguồn điện một chiều E mắc trong mạch làm cho diode phân cực thuận. Gọi I D là dòng điện thuận chạy qua diode và V D là hiệu thế 2 đầu diode, ta có:

NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ

THÔNG TIN VỀ LUẬN ÁN TIẾN SĨ

KHI X L T SÔNG H NG VÀO SÔNG ÁY

MÔN KINH TẾ LƯỢNG (Econometric)

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN NGUYỄN HÀ MY

Google Apps Premier Edition

cách kết hợp thuật toán Fuzzy C-Means (FCM) với giải thuật di truyền (GA). Sau đó, HaT2-FLS

SỬ DỤNG PHƯƠNG PHÁP ĐO SÂU ĐIỆN XÁC ĐỊNH CẤU TRÚC ĐỊA CHẤT VÀ QUY MÔ PHÂN BỐ CỦA THAN TRONG TRẦM TÍCH ĐỆ TAM VÙNG TRŨNG AN NHƠN - BÌNH ĐỊNH

Mã số: Khóa:

Trí Tuệ Nhân Tạo. Nguyễn Nhật Quang. Viện Công nghệ Thông tin và Truyền thông Trường Đại học Bách Khoa Hà Nội

On Approximating Solution of Boundary Value Problems

BÀI TOÁN CỰC TRỊ VỀ HÌNH HỌC TRONG MẶT PHẲNG

Luâ t Chăm So c Sư c Kho e Mơ i va Medicare

TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY TÍNH

KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ

NG S VIÊN TRONG CH M SÓC

HÀM BĂM HASH FUNCTIONS. Giáo viên: Phạm Nguyên Khang

NGHIÊN CỨU CHẾ TẠO MÀNG MỎNG SẮT ĐIỆN - ÁP ĐIỆN PZT BẰNG PHƯƠNG PHÁP SOL - GEL ĐỊNH HƯỚNG ỨNG DỤNG TRONG CẢM BIẾN SINH HỌC

Bộ môn Điều Khiển Tự Động Khoa Điện Điện Tử. Homepage:

Phiên bản thử nghiệm Lưu hành nội bộ - Microsoft Vietnam

Trao đổi trực tuyến tại: l

Phạm Phú Anh Huy Khoa Xây dựng, Đặng Hồng Long- Khoa Xây dựng,

À N. á trong giáo d. Mã s HÀ N NGHIÊN C ÊN NGÀNH TÓM T

ĐỀ CƯƠNG CHI TIẾT BÀI GIẢNG (Dùng cho tiết giảng) Học phần: CHƯƠNG TRÌNH DỊCH Nhóm môn học:... Bộ môn: Khoa học máy tính Khoa (Viện): CNTT

On Approximating Solution Of One Dimensional Boundary Value Problems With Dirichlet Conditions By Using Finite Element Methods

BỒI DƯỠNG HỌC SINH GIỎI

Th vi n Trung Tâm HQG-HCM s u t m

BÀI TIỂU LUẬN Môn học : Tính toán thiết kế Robot

Lu t t tụng qu c tế và thủ tục t tụng qu c tế

NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH

(Analytical Chemistry)

Long-term sediment distribution calculation taking into account sea level rise and the development of Day estuary

- Cài đặt hệ số CT: 1/5-999 KA. - Nguồn cấp: AC: 240V AC ±20%, (50 / 60Hz) - 110V AC ±20%, (50 / 60Hz) - Mạng kết nối: 1 pha 2 dây hoặc 3 pha 3/4 dây

VÕ THỊ THANH CHÂU. NGHIÊN CỨU TỔNG HỢP VÀ KHẢO SÁT TÍNH CHẤT HẤP PHỤ, HOẠT TÍNH XÚC TÁC QUANG CỦA VẬT LIỆU MIL-101(Cr)

Integrated Algebra. Glossary. High School Level. English / Vietnamese

HỌC PHẦN: CHƯƠNG TRÌNH DỊCH Bộ môn: Khoa học máy tính

LỜI NGỎ CHO EPSILON SỐ 6

PHÂN LẬP CÁC CHỦNG BACILLUS CÓ HOẠT TÍNH TẠO MÀNG SINH VẬT (BIOFILM) VÀ TÁC DỤNG KHÁNG KHUẨN CỦA CHÚNG

GIÁO H I PH T GIÁO VI T NAM TH NG NH T

ÍCH GÌ, TOÁN HỌC? HÀM MOEBIUS VÀ ĐỊNH LÝ PHẦN DƯ TRUNG HOA VÀ CÁC CHUYÊN MỤC KHÁC DẪN NHẬP VỀ HÀM ZETA RIEMANN VÀ PHÉP BIẾN ĐỔI MELLIN

ĐH BÁCH KHOA TP.HCM. Bài giảng: NĂNG LƯỢNG TÁI TẠO. Giảng viên: ThS. Trần Công Binh

Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng

BẢNG GIÁ THIẾT BỊ SELEC

Xuân Hòa, ngày 29 tháng 9, 2018

VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí Tóm tắt Ngữ pháp tiếng Anh lớp 6 (Cả năm)

MỞ ĐẦU Vật liệu zeolit với cấu trúc tinh thể vi mao quản đã được ứng dụng rộng rãi trong nhiều lĩnh vực như hấp phụ [20, 141], tách chất [124], trao

ĐIỆN TỬ SỐ HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN

FINITE DIFFERENCE METHOD AND THE LAME'S EQUATION IN HEREDITARY SOLID MECHANICS.

CHƯƠNG 6: SỬ DỤNG WINFORM

Chế tạo và nghiên cứu tính chất bán dẫn hữu cơ Polypyrol cấu trúc nanô

VÀI NÉT VỀ ĐỊA CHẤT - ĐỊA MẠO BÁN ĐẢO BARTON VÀ WEIVER, ĐẢO KING GEORGE, NAM CỰC

Về quan hệ giữa toán học và tin học

Tạp chí Khoa học Trường Đại học Cần Thơ Tập 53, Phần B (2017):

Phâ n thông tin ba o ha nh cu a ASUS

TỰ NHIÊN VÀ MÔI TRƯỜNG 2 (EV3019) ID:

QUY LUẬT PHÂN BỐ, TIỀN ĐỀ VÀ DẤU HIỆU TÌM KIẾM QUẶNG HÓA VERMICULIT Ở ĐỚI SÔNG HỒNG VÀ ĐỚI PHAN SI PAN

XU HƯỚNG HỢP ĐỒNG HOÁN ĐỔI LÃI SUẤT TẠI VIỆT NAM

Transcription:

LƯỢC ĐỒ CHỮ KÝ SỐ MÙ XÂY DỰNG TRÊN BÀI TOÁN KHAI CĂN Nguyễn Tiền Giang 1, Nguyễn Vĩnh Thái 2, Lưu Hồng Dũng 3 Tóm tắt Bài báo đề xuất một lược đồ chữ ký số mù phát triển từ một dạng lược đồ chữ ký số được xây dựng dựa trên tính khó của bài toán khai căn trên vành Z n=p.q, ở đây p, q là các số nguyên tố phân biệt. Lược đồ chữ ký mới đề xuất có mức độ an toàn cao hơn so với các lược đồ đã được công bố trước đó về khả năng giữ bí mật nguồn gốc bản tin được ký. This paper proposes a blind signature schema developed from a digital signature scheme based on the difficulty of the square root probem on the polynomial flange Z n=p.q, where p, q are distinguished primes. The new signature scheme proposed has higher safety level compared to the schemas which have been published previously about the ability of keeping secret the source of the signed messages. 1. Đặt vấn đề KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là một loại chữ ký số được sử dụng để xác thực tính toàn vẹn của một bản tin điện tử và danh tính của người ký, nhưng không cho phép xác thực nguồn gốc thực sự của bản tin được ký. Với các loại chữ ký số thông thường thì người ký cũng chính là người tạo ra bản tin được ký, còn ở đây người ký và người tạo ra bản tin được ký là 2 đối tượng hoàn toàn khác nhau. Che giấu nguồn gốc của bản tin được ký thực chất là che dấu danh tính của người đã tạo ra bản tin đó, đây là tính chất đặc trưng của chữ ký số mù và cũng là một tiêu chí quan trọng để đánh giá mức độ an toàn của loại chữ ký số này. Trong [1] -[5] tác giả đã đề xuất một số lược đồ chữ ký số mù ứng dụng khi cần bảo vệ tính riêng tư của các khách hàng trong các hệ thống thanh toán điện tử hay vấn đề ẩn danh của cử tri trong việc tổ chức bầu cử trực tuyến. Tuy nhiên, điểm yếu chung của các lược đồ trên là không có khả năng chống lại kiểu tấn công làm lộ nguồn gốc của bản tin được ký, vì thế khả năng ứng dụng của các lược đồ này trong thực tế là rất hạn chế. Trên cơ sở phân tích điểm yếu có thể tấn công của các lược đồ đã biết, bài báo đề xuất việc phát triển lược đồ chữ ký số mù từ một dạng lược đồ chữ ký số mới [10] xây dựng dựa trên tính khó của bài toán khai căn trên vành Z n=p.q, với p, q là các số nguyên tố lớn. Ưu điểm của lược đồ chữ ký số mù này là khả năng chống lại kiểu tấn công làm lộ nguồn gốc bản tin được ký so với các lược đồ chữ ký số mù đã được biết đến trước đó. (1) Cục Công nghệ thông tin Bộ Quốc Phòng. (2) Viện Công nghệ thông tin Viện Khoa học và Công nghệ Quân sự. (3) Khoa Công nghệ thông tin Học viện Kỹ thuật Quân sự. 102

Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 164(10-2014) 2. Tấn công làm lộ nguồn gốc bản tin đối với một số lược đồ chữ ký số mù 2.1. Tấn công lược đồ chữ ký số mù RSA 2.1.1. Lược đồ chữ ký số mù RSA: Lược đồ chữ ký số mù RSA do D. Chaum đề xuất phát triển từ lược đồ chữ ký số RSA [6]. Lược đồ chữ ký số mù RSA có thể mô tả như sau: Giả sử A là người có thẩm quyền ký (người ký), cặp khóa bí mật và công khai (d, e) của A cùng với modulo n được hình thành theo lược đồ chữ ký RSA. B là người tạo ra bản tin M và yêu cầu A ký lên M (người yêu cầu ký). Để che dấu danh tính của B sau khi bản tin M đã được ký, thủ tục hình thành chữ ký ( ký mù ) được thực hiện qua các bước như sau: Bước 1: B làm mù bản tin M bằng cách chọn ngẫu nhiên một giá trị k thỏa mãn: 1 < k < n và k nguyên tố cùng nhau với n(gcd(k, n) = 1), sau đó B tính: m = mk e mod n, ở đây: m = H(M) là giá trị đại diện của bản tin cần ký M và H(.) là hàm băm kháng va chạm. B gửi bản tin đã được làm mù m cho A. Bước 2: A sẽ ký lên m bằng thuật toán ký của lược đồ RSA: s = (m ) d mod n rồi gửi lại s cho B. Bước 3: B xóa mù s và nhận được chữ ký s như sau: Việc kiểm tra tính hợp lệ của s và do đó là tính toàn vẹn của M được thực hiện như ở lược đồ RSA. Vấn đề cần giải quyết ở đây là, một đối tượng bất kỳ có thể khẳng định tính toàn vẹn của M và s là chữ ký của A, nhưng không ai có thể biết được bản tin M là do B hay một đối tượng nào khác tạo ra và yêu cầu A ký đó. 2.1.2. Tấn công làm lộ nguồn gốc bản tin được ký: Với lược đồ chữ ký số mù RSA như đã mô tả ở trên, việc xác định danh tính của người tạo ra bản tin được ký M là hoàn toàn có thể thực hiện được. Bởi vì tại thời điểm ký, người ký A chỉ không biết nội dung của bản tin được ký M, còn danh tính của người yêu cầu ký B thì A hoàn toàn biết rõ. Giả sử có N người đã yêu cầu A ký lên các bản tin do họ tạo ra và {ID Bi i = 1, 2,... N} là danh tính tương ứng với những người đó, nói cách khác B ở đây là 1 tập N người: B = B i i = 1, 2,... N mà: ID B = ID Bi i = 1, 2,... N là tập danh tính tương ứng của họ. Để xác định danh tính của 1 người yêu cầu ký từ bản tin M và chữ ký s tương ứng, với mỗi lần ký vào một bản tin, người ký A cần lưu trữ giá trị si cùng danh tính của người yêu cầu ký ID Bi trong một cơ sở dữ liệu. Có thể xác định danh tính của người yêu cầu ký ID Bi từ một bản tin được ký M và chữ ký s tương ứng với nó M bằng thuật toán trong Bảng 1. Nhận xét: Từ Thuật toán 1.1 cho thấy, nếu N số bản tin đã được A ký không đủ lớn thì việc xác định được danh tính của B (người yêu cầu ký/người tạo ra bản tin được ký) là hoàn toàn có thể thực hiện được. Nói cách khác, lược đồ chữ ký số mù RSA là không an toàn xét theo khả năng che giấu nguồn gốc của bản tin được ký, nếu số lượng bản tin được ký không đủ lớn. 103

Bảng 1. Thuật toán 1.1 Input: (M, s), {(s i, ID Bi ) i = 1, 2,... N} Output: ID B [1]. m H(M), i = 0 [2]. select: (si, ID Bi ) [3]. k s i m d mod n [4]. if gcd(k, n) 1 then [4.1]. i i + 1 [4.2]. goto [2] [5]. s s i (k ) 1 mod n [6]. if (s = s) then [6.1]. i i + 1 [6.2]. goto [2] [7] return ID Bi 2.2. Tấn công lược đồ chữ ký số mù DSA 2.2.1. Lược đồ chữ ký số DSA cải tiến: Lược đồ chữ ký số DSA cải tiến [7] có tham số hệ thống bao gồm một số nguyên tố p, một số nguyên tố q là ước của (p 1) và phần tử sinh g Z p có bậc là q. Người ký có khóa bí mật x Z q và khóa công khai tương ứng là y = g x mod p. Để ký lên bản tin M có giá trị đại diện m Z q (m = H(M)) với H(.) là hàm băm), người ký chọn ngẫu nhiên một giá trị k Z q và tính: R = g k mod p r = R mod q s = (k m + x r) mod q Chữ ký lên bản tin M ở đây là cặp (r, s). Kiểm tra tính hợp lệ của chữ ký (r, s) với bản tin cần tính: T = ( g s y r) m 1 mod p Ở đây m là giá trị đại diện của bản tin cần thẩm tra M. Chữ ký được coi là hợp lệ nếu thỏa mãn: r = T mod q 2.2.2. Lược đồ chữ ký số mù DSA: Từ lược đồ chữ ký số DSA cải tiến, nhóm tác giả Jan L. Camenisch, Jean-Marc Piveteau, Markus A. Stadler [9] đề xuất một lược đồ chữ ký số mù với thủ tục hình thành chữ ký bao gồm các bước như sau: Bước 1: a) Người ký A chọn một giá trị k Z q và tính R = g k mod p. 104

Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 164(10-2014) b) A kiểm tra nếu gcd(r, q) 1 thì thực hiện lại bước a). Ngược lại, A gửi R cho người yêu cầu ký B. Bước 2: a) Người yêu cầu ký B chọn 2 giá trị α, β Z q và tính R = (R ) α g β mod p. b) B kiểm tra nếu gcd(r, q) = 1 thì tính tiếp giá trị m = α m R R 1 mod q rồi gửi m cho A. Nếu điều kiện chỉ ra không thỏa mãn, B thực hiện lại bước a). Bước 3: Người ký A tính giá trị s = (k m + x R ) mod q rồi gửi cho B. Bước 4: Người yêu cầu ký B tính các thành phần (r, s) của chữ ký: r = R mod q s = (s R (R ) 1 + β m) mod q Thủ tục kiểm tra tính hợp lệ của chữ ký hoàn toàn tương tự như ở lược đồ chữ ký DSA cải tiến. 2.2.3. Tấn công làm lộ nguồn gốc bản tin được ký: Để tấn công làm lộ nguồn gốc bản tin được ký M, người ký A cần lưu trữ giá trị các tham số {R i, m i, s i} và ID Bi ở mỗi lần ký. A có thể xác định được danh tính của B bằng thuật toán trong Bảng 2. Bảng 2. Thuật toán 1.2 Input: (M, r, s), {(R i, m i, s i, ID Bi ) i = 1, 2,... N} Output: ID B [1]. m H(M), i = 0 [2]. select: (R i, m i, s i, ID Bi ) [3]. α m i m r (R ) 1 mod q ( [4]. β m 1 s s i r (R ) 1) mod q [5]. R (R i ) α g β mod p [6]. r R mod q [7] if r r thenreturn ID Bi [7.1]. i i + 1 [7.2]. goto [2] [8] return ID Bi Nhận xét: Từ Thuật toán 1.2 cho thấy, nếu N không đủ lớn thì việc xác định được danh tính của người yêu cầu ký (người tạo ra bản tin được ký) là hoàn toàn có thể thực hiện được. Nói cách khác, lược đồ chữ ký số mù DSA là không an toàn nếu số lượng bản tin được ký không đủ lớn. 105

2.3. Tấn công lược đồ chữ ký số mù Nyberg-Rueppel 2.3.1. Lược đồ chữ ký số Nyberg-Rueppel: Tham số hệ thống của lược đồ chữ ký số do K. Nyberg và R. A. Rueppel đề xuất [8] được lựa chọn tương tự như ở lược đồ DSA cải tiến. Để ký lên một bản tin M có giá trị đại diện m Z p, người ký chọn ngẫu nhiên một giá trị k Z q và tính: r = m g k mod p s = k + x.r mod q Chữ ký lên bản tin M ở đây là cặp (r, s). Chữ ký được coi là hợp lệ nếu thỏa mãn phương trình kiểm tra: m = y s g r r mod p Ở đây m là giá trị đại diện của bản tin cần thẩm tra M. 2.3.2. Lược đồ chữ ký số mù Nyberg-Rueppel: Trên cơ sở lược đồ chữ ký Nyberg-Rueppel, cũng nhóm tác giả Jan L. Camenisch, Jean-Marc Piveteau, Markus A. Stadler [9] đã đề xuất một lược đồ chữ ký số mù với thủ tục hình thành chữ ký bao gồm các bước như sau: Bước 1:Người ký A chọn một giá trị k Z q và tính r = g k mod p rồi gửi cho người yêu cầu ký B. Bước 2: a) B chọn ngẫu nhiên giá trị α Z q, β Z q và tính r = m g α (r ) β mod p, m = r β 1 mod q. b) B kiểm tra nếu m Z q thì gửi m cho người ký A. Ngược lại, B thực hiện lại bước a). Bước 3: A tính giá trị s = (k + x m ) mod q rồi gửi cho B. Bước 4:B tính s = (s β + α) mod q. Chữ ký của A lên M là cặp (r,s). Thủ tục kiểm tra tính hợp lệ của chữ ký hoàn toàn tương tự như ở lược đồ chữ ký Nyberg- Rueppel. Nghĩa là: chữ ký (r, s) được coi là hợp lệ nếu thỏa mãn phương trình kiểm tra: m = y s g r r mod p Ở đây m là giá trị đại diện của bản tin cần thẩm tra M. 2.3.3. Tấn công làm lộ nguồn gốc bản tin được ký: Đối với lược đồ chữ ký mù Nyberg- Rueppel, có thể tấn công làm lộ nguồn gốc bản tin được ký M nếu người ký A lưu trữ giá trị các tham số {r i, m i, s i} và ID Bi ở mỗi lần ký. Khi đó, A có thể xác định được danh tính của B bằng thuật toán trong Bảng 3. Nhận xét: Thuật toán 1.3 cho thấy, lược đồ chữ ký số mù Nyberg-Rueppel là không an toàn xét theo khả năng chống tấn công làm lộ nguồn gốc bản tin, nếu số lượng bản tin được ký không đủ lớn. 106

Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 164(10-2014) Bảng 3. Thuật toán 1.3 Input: (M, r, s), {(r i, m i, s i, ID Bi ) i = 1, 2,... N} Output: ID Bi [1]. m H(M), i = 0 [2]. select: (r i, m i, s i, ID Bi ) [3]. β r (m i ) 1 mod q [4]. α (s s i β) mod q [5]. r = m g α (r i ) β mod p [6]. if r r then [6.1]. i i + 1 [6.2]. goto [2] [7] return ID Bi 3. Xây dựng lược đồ chữ ký số mù Phân tích các lược đồ chữ ký số mù trên đây cho thấy việc làm mù bản tin với một tham số bí mật như ở lược đồ chữ ký số mù RSA, hay với 2 tham số như ở các lược đồ mù DSA và Nyberg-Rueppal thì người ký vẫn có thể tìm được nguồn gốc thực sự của bản tin được ký, nói cách khác là các lược đồ này không có khả năng che giấu danh tính của người tạo ra bản tin được ký. Mục này đề xuất việc phát triển lược đồ chữ ký số mù từ một lược đồ chữ ký cơ sở được xây dựng dựa trên tính khó của bài toán khai căn trên vành Z n=p.q, với p, q là các số nguyên tố lớn. Ưu điểm của lược đồ mới này là cũng chỉ sử dụng 2 tham số bí mật như ở các lược đồ mù DSA và Nyberg-Rueppal nhưng không cho phép người ký hay bất kỳ một đối tượng nào khác có thể xác định được nguồn gốc thực sự của bản tin được ký. 3.1. Xây dựng lược đồ chữ ký cơ sở 3.1.1. Bài toán khai căn trên vành Z n : Cho cặp các số nguyên dương {n, t} với n = p.q với p, q là hai số nguyên tố, còn 1 < t < (p 1).(q 1). Khi này bài toán khai căn trên vành Z n = p.q hay còn gọi là bài toán RSA(n, t) được phát biểu như sau: BÀI TOÁN RSA (n,t) : Với mỗi số nguyên dương y Z n, hãy tìm x thỏa mãn phương trình sau: x t mod n = y (1.1) Giải thuật cho bài toán RSA (n,t) có thể được viết như một thuật toán tính hàm RSA (n,t) (.) với biến đầu vào là y còn giá trị hàm là nghiệm x của phương trình 1.1: x = RSA (n,t) (y) (1.2) 107

Dạng lược đồ chữ ký mới đề xuất cho phép các thực thể ký trong cùng một hệ thống có thể dùng chung bộ tham số {n, t}, ở đây mỗi thành viên U của hệ thống tự chọn cho mình khóa bí mật x thỏa mãn: 1 < x < n, tính và công khai tham số: Chú ý: y = x t mod n 1) Mặc dù bài toán RSA (n,t) là khó, tuy nhiên không phải với mọi y Z n thì việc tính RSA (n,t) (y) đều khó, chẳng hạn những y = x t mod n với x không đủ lớn thì bằng cách duyệt dần x = 1, 2,... cho đến khi tìm được nghiệm của (1.2) ta sẽ tìm được khóa bí mật x, do đó các tham số mật x phải được lựa chọn sao cho việc tính RSA (n,t) (y) đều khó. 2) Với lựa chọn x nêu trên thì rõ ràng không có ai ngoài U biết được giá trị x, vì vậy việc biết được x đủ để xác thực đó là U. 3.1.2. Xây dựng lược đồ chữ ký cơ sở dựa trên bài toán khai căn: Lược đồ chữ ký cơ sở đề xuất ở đây, ký hiệu LD-01, được xây dựng dựa trên tính khó của bài toán RSA (n,t) và được sử dụng để phát triển lược đồ chữ ký số mù trong phần tiếp theo. Tính đúng đắn và mức độ an toàn của lược đồ cơ sở LD-01 được chỉ ra trong [10]. a) Thuật toán hình thành tham số và khóa: Bảng 4 Input: p, q, x. Bảng 4. Thuật toán 2.1 Output: n, t, y, H(.). [1]. n p q; [2]. select: H : {0, 1} Z m, m < n; [3]. t [ ] m 2 + 1; [4]. y (x) t mod n; [5]. return {n, t, y, H(.)}. b) Thuật toán ký: Bảng 5 Bảng 5. Thuật toán 2.2 Input: n, t, x, k, M. Output: (e, s). [1]. r k t mod n; [2]. e H (r M) ; [3]. s k x e mod n; [4]. return (e, s). c) Thuật toán kiểm tra: Bảng 6 108

Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 164(10-2014) Bảng 6. Thuật toán 2.3 Input: n, t, y, M, (e, s). Output: (e, s) = true/false. [1]. u s t y e mod n; [2]. v H (u M) ; [3]. if (v = e) then return true else return false Chú thích: Nếu kết quả trả về true thì chữ ký (e, s) hợp lệ, do đó nguồn gốc và tính toàn vẹn của bản tin cần thẩm tra M được công nhận. Nếu kết quả trả về là false thì chữ ký (e, s) là giả mạo, hoặc nội dung bản tin M đã bị sửa đổi. 3.2. Xây dựng lược đồ chữ ký số mù Lược đồ chữ ký số mù, ký hiệu LD-02, được phát triển từ lược đồ cơ sở LD-01. Giả sử A là người người ký có khóa công khai được hình thành theo Thuật toán 2.1 của lược đồ cơ sở và B là người tạo ra bản tin M được ký. Bảng 7. Thuật toán 2.4a Input: n, t, x, k, α, β, M. Output: (e, s). [1]. r a k t mod n; (2.1a) [2]. r b (r a) α y β β t mod n; (2.2a) [3]. e b H(r b M); (2.3a) [4]. e (e b α + β) mod n (2.4a) [5]. s a k x e b mod n; (2.5a) [6]. s (s a) α β mod n; (2.6a) [7] return (e, s) 3.2.1. Thuật toán ký: Bảng 7 Các bước [1], [5] do người ký A thực hiện. Các bước [2], [3], [4], [6] và [7] do người có bản tin cần ký B thực hiện. Tham số k do A lựa chọn thỏa mãn: 1 < k < n. Các tham số α, β do B lựa chọn thỏa mãn: 1 < α, β < t. Nhận xét: Do việc tính toán các thành phần e, s của chữ ký được thực hiện theo modn nên kích thước chữ ký được tạo ra từ Thuật toán 2.4a sẽ là: e + s = n + n = 2 n. Ví dụ: nếu 109

chọn p = q = 512 bit thì n = 1024 bit, do đó kích thước chữ ký sẽ là: e + s = 1024 bit + 1024 bit = 2048 bit. Thuật toán 2.4b dưới đây được cải tiến từ Thuật toán 2.4a sẽ cho phép rút ngắn độ dài chữ ký xuống còn: n + m. Ví dụ: nếu chọn p = q = 512 bit và hàm băm H(.) được chọn là SHA 1 thì độ dài chữ ký khi đó sẽ là: n + m = 1024 bit + 160 bit = 1184 bit. Bảng 8. Thuật toán 2.4b Input: n, t, x, k, α, β, M. Output: (e, s). [1]. r a k t mod n; (2.1b) [2]. r b (r a) α y β β t mod n; (2.2b) [3]. e H(r b M); (2.3b) [4]. e b α 1 (e β) mod n; (2.4b) [5]. s a k x e b mod n; (2.5b) [6]. s (s a) α β mod n; (2.6b) [7] return (e, s) Chú thích: Các bước [1], [5] do người ký A thực hiện. Các bước [2], [3], [4], [6] và [7] do người có bản tin cần ký B thực hiện. Tham số k, α, β do B lựa chọn tương tự như Thuật toán 2.4a. 3.2.2. Thuật toán kiểm tra: Bảng 9. Thuật toán 2.5 Input: n, t, y, M, (e, s). Output: (e, s) = true/false. [1]. u s t y e mod n; (2.7) [2]. v H (u M) ; (2.8) [3]. if (v = e) then return true else return false Chú thích: Nếu kết quả trả về true thì chữ ký (e, s) hợp lệ, do đó nguồn gốc và tính toàn vẹn của bản tin cần thẩm tra M được công nhận. Nếu kết quả trả về là false thì chữ ký (e, s) là giả mạo, hoặc nội dung bản tin M đã bị sửa đổi. 110

Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 164(10-2014) 3.2.3. Tính đúng đắn của lược đồ LD-02: Nếu chữ ký được hình thành bằng Thuật toán 2.4a, điều cần chứng minh ở đây là: cho p, q là 2 số nguyên tố phân biệt, n = p q H :{0, 1} Z m, m < n [ m ] t = + 1; 1 < x, k < n; 1 < α, β < t 2 y = (x) t mod n r a = k t mod n r b = (r a ) α y β β t mod n e b = H(r b M) e = (e b α + β) mod n s a = k x e b mod n s = (s a ) α β mod n Nếu u = (s) t (y) e mod n, v = H (u M) thì v = e Thật vậy, từ (1.1), (2.1a), (2.4a), (2.5a), (2.6a) và (2.7) ta có: u = s t y e mod n = ((s a ) α β mod n) t ( x t mod n ) (e b.α+β) mod n = (s a ) α.t β t x t.(α.e b+β) mod n (2.9) = (k x e b mod n) α.t β t x α.e b.t x t.β mod n = ( k t) α x α.e b.t β t x α.e b.t ( x t) β mod n = (r a ) α β t y β mod n Từ (2.2a) và (2.9), suy ra: u = r b (2.10) Thay (2.10) vào (2.8) ta có: v = H (u M) = H(r b M) (2.11) Từ (2.3a) và (2.11), suy ra: v = e Đây là điều cần chứng minh. 111

Trường hợp chữ ký được hình thành bằng Thuật toán 2.4b, khi đó điều cần chứng minh ở đây là: cho p, q là 2 số nguyên tố phân biệt, n = p q H :{0, 1} Z m, m < n [ m ] t = + 1; 1 < x, k < n; 1 < α, β < t 2 y = (x) t mod n r a = k t mod n r b = (r a ) α y β β t mod n e = H(r b M) e b α 1 (e β) mod n s a = k x e b mod n s = (s a ) α β mod n Nếu u = (s) t (y) e mod n, v = H (u M) thì v = e Có thể thấy rằng trong cả 2 thuật toán ký: Thuật toán 2.4a và Thuật toán 2.4b, ta đều có: e = (e b α + β) mod n, nên việc chứng minh tính đúng đắn của lược đồ trong trường hợp sử dụng Thuật toán 2.4b để hình thành chữ ký là hoàn toàn tương tự như trường hợp chữ ký được hình thành bằng Thuật toán 2.4a trên đây. 3.2.4. Mức độ an toàn của lược đồ LD-02: Tương tự như với lược đồ cơ sở LD-01, mức độ an toàn của lược đồ LD-02 cũng được đánh giá qua các khả năng: Chống tấn công làm lộ khóa mật. Chống giả mạo chữ ký. Ngoài ra, với một lược đồ chữ ký số mù, mức độ an toàn của nó còn được đánh giá qua khả năng chống tấn công làm lộ nguồn gốc bản tin sau khi được ký. Yêu cầu đặt ra ở đây là, sau khi bản tin M đã được ký thì người ký A cũng như bất kỳ một đối tượng sử dụng nào khác hoàn toàn không thể biết được bản tin M được tạo ra từ người yêu cầu ký B. 1) Khả năng chống tấn công làm lộ khóa mật và giả mạo chữ ký: Mức độ an toàn của lược đồ LD-02 được thiết lập dựa trên mức độ an toàn của lược đồ cơ sở LD-01. Xét theo khả năng chống tấn công làm lộ khóa mật và khả năng chống giả mạo chữ ký, có thể thấy rằng mức độ an toàn của 2 lược đồ này (LD-01, LD-02) là tương đương như nhau. 2) Khả năng chống tấn công làm lộ nguồn gốc của bản tin sau khi ký : Thuật toán ký của lược đồ LD-02 cho thấy, với việc lưu trữ các tham số {r a, e b } cùng với định danh của người yêu cầu ký ID B, người ký A có thể xác định được mối quan hệ giữa {M, (e, s)} với ID B, nghĩa là có thể xác định được người yêu cầu ký B từ bản tin M và chữ ký tương ứng (e, s), nếu từ (2.4) và (2.6) người ký A có thể xác định được các tham số 112

Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 164(10-2014) (α, β). Thật vậy, khi biết (α, β) người ký A hoàn toàn có thể xác định được ID B bằng thuật toán trong bảng 10 như sau: Bảng 10. Thuật toán 2.6 Input: {(r ai, e bi, ID Bi ) i = 1, 2,... N}, M, α, β. Output: ID Bi [1]. m H(M), i = 0; [2]. select: (r ai, e bi, ID Bi ) [3]. r bi (r ai ) α y β β t mod n [4]. e bi H(r bi M) [5]. if e b i e bi then [5.1]. i i + 1 [5.2]. goto [2] [6] return ID Bi Nhận xét: Thuật toán 2.6 cho thấy mức độ an toàn của lược đồ LD-02 xét theo khả năng giữ bí mật nguồn gốc của bản tin phụ thuộc vào mức độ khó của việc tìm được các tham số bí mật (α, β) từ việc giải (2.4) hoặc (2.6). 4. Kết luận Trên cơ sở phát triển một dạng lược đồ chữ ký số xây dựng dựa trên tính khó của bài toán khai căn, bài báo đề xuất một lược đồ chữ ký số mù có độ an toàn cao hơn các lược đồ chữ ký số mù đã được công bố trước đó xét theo khả năng chống tấn công làm lộ nguồn gốc của bản tin được ký. Đây là yếu tố hết sức quan trọng để cho phép một lược đồ chữ ký số mù có thể ứng dụng được trong thực tế. Tài liệu tham khảo [1] D. Chaum, Blind signature systems, Advances in Cryptology-CRYPTO 83, Plenum Press, 1984, pp. 153-156. [2] D. Chaum, Blind signature for untraceable payments, Advances in Cryptology-CRYPTO, pp. 199-203, Plenum Press, NY, 1983. [3] D. Chaum, Privacy Protected Payment, SMART CARD 2000, pp. 69-93, Elsevier Science Publishers B.V., 1989. [4] N. Ferguson, Single Term Off-line Coins, Advances in Cryptology- EUROCRYPT 93, Lecture Notes in Computer Sciences, Vol. 765/1994, pp. 318-328, 1994. [5] D. Chaum, B. den Boer, E. van Heyst, S. Mjolsnes, A. Steenbeek, Efficient Offline Electronic Checks, Advances in Cryptology, Eurocrypt 89, LNCS 434, pp. 294-301, Springer Verlag, 1989. [6] R. Rivest, A. Shamir, L. Adleman, A Method for Obtaining Digital Signatures and Public Key Cryptosystems, Communications of the ACM, Vol. 21, No. 2, pp. 120 126, 1978. [7] National Institute of Standards and Technology, NIST FIPS PUB 186-3. Digital Signature Standard, U.S. Department of Commerce, 1994. [8] K. Nyberg, R. A. Rueppel, A New Signature Scheme Base on the DSA Giving Message Recovery, 1st ACM conference on Computer and Communications Security, November 3 5, Fairfax, Virginia. 113

[9] Jan L. Camenisch, Jean-Marc Piveteau, Markus A. Stadler, Blind Signatures Base on Discrete Logarithm Problem, Swiss KWF Foundation, grant no. 2724.1. [10] Lưu Hồng Dũng, Nguyễn Tiền Giang, Phát triển một dạng lược đồ chữ ký số mới, Kỷ yếu Hội thảo quốc gia lần thứ XVI: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Đà Nẵng, 2013. Ngày nhận bài 05-05-2014; Ngày chấp nhận đăng 07-11-2014. Lưu Hồng Dũng: Sinh năm 1966. Tốt nghiệp đại học ngành Vô tuyến Điện tử tại Học viện Kỹ thuật Quân sự năm 1989. Hiện đang công tác tại khoa CNTT - Học viện KTQS. Hướng nghiên cứu: An toàn và bảo mật thông tin. Email: luuhongdung@gmail.com. Nguyễn Vĩnh Thái: Sinh năm 1975. Tốt nghiệp đại học ngành Tin học tại Học viện Kỹ thuật Quân sự năm 1998. Hiện đang công tác tại Viện CNTT - Viện KH&CNQS. Hướng nghiên cứu: An toàn và Bảo mật thông tin. Email: nguyenvinhthai@gmail.com. Nguyễn Tiền Giang: Sinh năm 1977. Tốt nghiệp đại học ngành Tin học tại Học viện Kỹ thuật Quân sự năm 2002. Hiện đang công tác tại Cục CNTT - Bộ Tổng Tham mưu. Hướng nghiên cứu: An toàn và bảo mật thông tin. Email: ntgiang77@gmail.com 114