MỘT BIẾN THỂ AN TOÀN HƠN CỦA CS97

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số loại chữ ký điện tử và ứng dụng (Trang 111 - 116)

Chương 4 CHỮ KÝ NHÓM

4.4. MỘT BIẾN THỂ AN TOÀN HƠN CỦA CS97

Có một vấn đề nhỏ với sơ đồ gốc đƣợc trình bày bởi Camenisch và Stadler. Trong phần này chúng ta mô tả một sự liên minh tấn công trên sơ đồ CS97. Sự tấn công này do Ateniese và Tsudik [9] đề xuất, đó là làm thế nào một số thành viên nhóm có thể thông đồng và sinh ra chữ ký đúng mà khó có thể phát hiện đƣợc. Có thể dễ dàng sửa đổi sơ đồ CS97 để ngăn chặn sự tấn công này, sự sửa đổi đƣợc đƣa ra bởi Ramzan. Nhƣng với sự sửa đổi này, lƣu ý rằng không có sự bảo đảm sơ đồ là vẫn an toàn. Sự an toàn chỉ là dựa trên sự phỏng đoán lý thuyết số. Không có sơ đồ nào chúng ta trình bày là an toàn chống lại sự liên minh tấn công. Có một sơ đồ mà “đảm bảo” kháng cự liên minh đƣợc đƣa ra bởi Ateniese và Tsudik [8], tuy nhiên rồi sau đó sơ đồ này bị bẻ gãy bởi Traore [30].

4.4.1. Sự liên minh tấn công chống lại CS97

Chúng ta mô tả sự liên minh tấn công trên sơ đồ của Camenisch và Stadler. Sự tấn công này đƣợc đƣa ra bởi Ateniese và Tsudik [8]. May thay sơ đồ có thể dễ dàng đƣợc sửa đổi để ngăn chặn nó. Vì vậy sự tấn công không có bất cứ một giá trị thực tiễn quan trọng nào. Tuy nhiên nó có một số giá trị về mặt lý thuyết vì có thể chỉ ra một thiếu sót tiềm tàng trong sơ đồ.

Một sự liên minh tấn công xảy ra khi có sự tụ họp của một số thành viên nhóm (có thể gồm cả ngƣời quản lý nhóm) cấu kết và phối hợp các khoá hội viên bí mật của họ, để họ có thể sinh ra một chữ ký nhóm hợp lý cho một thông điệp riêng biệt, mà khó có thể phát hiện ra đƣợc. Chữ ký này là khó có thể phát hiện bằng tri giác, mà thủ tục Open sẽ thất bại để nhận ra một thành viên nhóm riêng biệt khi đƣa cặp thông điệp và chữ ký nhƣ một đầu vào.

Một sự tấn công nguy hiểm hơn là sự liên minh có thể cùng nhau gian lận sinh ra một chữ ký của một thành viên trong nhóm. Thủ tục Open sẽ nhận ra thành viên cụ thể khi đƣa cặp thông điệp và chữ ký là đầu vào. Hiện tại chƣa tìm thấy sự tấn công kiểu này với sơ đồ CS97.

Sự chống cự liên minh trong sơ đồ Camenisch và Stadler dựa trên sự phỏng đoán lý thuyết số sau đây:

Phỏng đoán 4.4.1:

Giả sử (n, e) là một khoá công khai RSA hợp lệ và cho a Zn sao cho việc tính Logarit rời rạc với cơ số a là khó thể thực hiện được. Cũng giả sử rằng chúng ta được cho quyền sử dụng một Oracle mà với bất cứ một giá trị y đã chọn nào sinh ra một giá trị v thoả mãn đẳng thức sau:

ve ≡ 1+ay

(mod n)

Nếu không biết sự phân tích của n thì khó để tính một cặp số nguyên khác (y‟, v‟) mà thoả mãn đẳng thức này. Ở đây y‟ phải khác bất cứ y nào mà đã cho trước đây khi hỏi Oracle.

Đáng tiếc, phỏng đoán này là sai. Tuy nhiên, dù phỏng đoán là sai, sơ đồ có thể vẫn an toàn.

Chúng ta chỉ ra làm thế nào 3 cá nhân (Alice, Greg và Joe) có thể mở một cuộc liên minh tấn công thành công chống lại sơ đồ của Camenisch và Stadler. Hãy xem xét sự tấn công sau đây:

1) Alice ra nhập nhóm với khoá bí mật y và nhận lại chứng chỉ thành viên A = (ay +1)d (mod n) từ ngƣời quản lý nhóm, ở đây A = ayd(1+a-y)d (mod n). 2) Greg ra nhập nhóm với khoá bí mật -y và nhận lại chứng chỉ thành viên G = (a-y +1)d (mod n) từ ngƣời quản lý nhóm.

3) Joe ra nhập nhóm với khoá bí mật y.c, ở đó c là đƣợc chọn ngẫu nhiên, và nhận lại chứng chỉ thành viên J = (acy

+1)d (mod n) từ ngƣời quản lý nhóm. 4) Bây giờ 3 ngƣời dùng các giá trị của họ để nhận đƣợc một giá trị mới C:

C := J.(A.G-1)-c (mod n)

Thấy rằng giá trị C mới này là một chứng chỉ thành viên nhóm hợp lệ tƣơng ứng với ngƣời dùng có khoá bí mật –cy.

Điều này suy ra từ điều sau đây:

J.(A.G-1)-c = J.(ayd(1+a-y)d.(1+a-y)-d)-c (mod n) = J.a-cdy (mod n)

= (acy+1)d.a-cdy (mod n) = (a-cy+1)d (mod n). Do đó (a-cy

+1)d (mod n) là một chứng chỉ hội viên nhóm hợp lệ với khoá bí mật –cy. Vì vậy 3 thành viên nhóm có thể cùng nhau để sinh ra một khoá bí mật mới và sinh ra một chứng chỉ hội viên tƣơng ứng khoá bí mật đó, hơn nữa ngƣời quản lý nhóm không biết về khoá mới này. Thành viên giả mạo với “tƣ cách” đại diện nhóm bằng khoá bí mật này mà khó có thể bị phát hiện.

4.4.2. Sửa đổi giao thức Join để ngăn chặn liên minh tấn công

Có thể sửa đổi nhỏ với giao thức Join trong CS97 để ngăn chặn sự liên minh tấn công, đề xuất là của Ranzan [20]. Ý tƣởng là, sự liên minh tấn công dựa trên việc chọn các giá trị khoá bí mật theo một hình thức nào đó đƣợc chỉ định trƣớc, chứ không phải ngẫu nhiên. Trong giao thức mới này, trƣởng nhóm ép buộc ngƣời tham gia chọn một khoá bí mật ngẫu nhiên và độc lập với các khoá trƣớc, sự liên minh tấn công là đƣợc ngăn chặn.

Giao thức Join an toàn hơn Vòng 1: Alice

1) Chọn một giá trị x R {0, 1,…, 2λ - 1}.

2) Tính y’ = ax (mod n) và gửi giá trị y’ này cho trƣởng nhóm.

Vòng 2: Trưởng nhóm

Trƣởng nhóm lấy một giá trị γ R {0, 1,…, 2λ - 1} và gửi giá trị này cho Alice.

Vòng 3: Alice

1) Kiểm tra: x + γ  {0, 1,…, 2λ - 1}. Nếu không thoả mãn thì Alice và trƣởng nhóm lặp lại giao thức từ đầu.

2) Tính y = ax+γ (mod n) và cô ta gửi giá trị này cho trƣởng nhóm. Alice phải thuyết phục trƣởng nhóm rằng x + γ nằm trong phạm vi {0, 1,…, 2λ - 1}. Điều này có thể đƣợc thực hiện theo Cắt và Chọn.

Vòng 4: Trưởng nhóm

Vòng 5: Alice

1) Tính một khoá hội viên z = gy. 2) Cam kết z (bởi ký nó).

3) Để đạt đƣợc một chứng chỉ hội viên, Alice gửi (y, z) cùng với cam kết z của cô ấy tới trƣởng nhóm và chứng minh với trƣởng nhóm rằng cô ta biết x+γ

(không tiết lộ x+γ) sử dụng chữ ký dựa trên tri thức về Logarit rời rạc.

Vòng 6: Trưởng nhóm

Nếu trƣởng nhóm đƣợc thuyết phục rằng Alice biết x thì sẽ cấp cho cô ta chứng chỉ hội viên:

v ≡ (y+1)d (mod n)

Ý tƣởng đằng sau giao thức là để ngẫu nhiên quá trình chọn khoá hội viên bí mật. Khoá là ngẫu nhiên vì nó có dạng x+γ trong đó γ đƣợc chọn ngẫu nhiên bởi trƣởng nhóm. Những phần còn lại của giao thức về cơ bản giống nhƣ giao thức nguyên thuỷ.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số loại chữ ký điện tử và ứng dụng (Trang 111 - 116)

Tải bản đầy đủ (PDF)

(152 trang)