Cách giải quyết thông thường hiện nay: Cách 2.1: Người gửi B dùng Hệ mã hoá khoá đối xứng với 1 khoá bí mật chung.. Cách 2.2: Người gửi B dùng Hệ mã hoá khoá đối xứng với m khoá chung bí
Trang 1Một Hệ thống Quảng bá thông tin
Vấn đề Quảng bá (BroadCast)
Ngày nay các đối tác cần giao dịch không có nhiều thời gian để gặp nhau trực tiếp, do đó họ phải giao dịch qua mạng máy tính Trong các giao dịch trực tuyến này,
có những loại thông tin cần chia sẻ, phải truyền trên mạng công khai: Lý lịch cá nhân, Đơn thư khiếu nại, Hồ sơ bệnh án, Hợp đồng thương mại, Thoả thuận hợp tác,
Nhiều thông tin như trên rất quan trọng và nhạy cảm cần được bảo vệ Có loại thông tin cần phải giữ bí mật, có loại thông tin cần phải xác thực đúng nguồn gốc, có loại thông tin cần cả bí mật và xác thực.
Sau khi phân tích một số phương pháp bảo vệ thông tin thường dùng hiện nay, báo cáo này sẽ trình bày một phương pháp tin cậy và hiệu quả để bảo vệ thông tin quan trọng và nhạy cảm như trên, đó là mã hoá quảng bá dựa trên định danh (Identity – Based Broadcast Signcryption) sau đó nhúng thuỷ vân số vào bản mã Phương pháp thực hiện cả hai nhiệm vụ: bảo mật thông tin và xác thực đúng nguồn gốc thông tin
So với các thuật toán mã hoá quảng bá trước đó, thuật toán mã hoá quảng bá trình bày trong báo cáo này có 2 ưu điểm: Độ phức tạp tính toán thấp hơn và Độ dài bản mã nhỏ hơn (nên chi phí truyền tin ít hơn)
Trang 21 CÁC KHÁI NIỆM CƠ BẢN
1/ Một số Nhóm đặc biệt:
+ Ký hiệu: Z n = {0, 1, 2, 3, …, n-1}
Z n * = { x ∈Z n , x là nguyên tố cùng nhau với n }.
2/ Khái niệm Nhóm Cyclic:
Nhóm (G, *) được gọi là Nhóm Cyclic nếu nó được sinh ra bởi một
phần tử g ∈ G Tức là với mỗi a ∈ G, đều tồn tại số n ∈ N để g n = g * … * g = a Khi đó g được gọi là phần tử sinh hay phần tử nguyên thuỷ của nhóm G
+ Cấp (Bậc) của Nhóm Cyclic:
Cho (G, *) là Nhóm Cyclic với phần tử sinh g và phần tử trung lập e
Nếu tồn tại số tự nhiên nhỏ nhất n mà g n = e , thì G sẽ chỉ gồm có n phần tử
khác nhau: e , g, g 2 , g 3 , , g n - 1 Khi đó G được gọi là nhóm Cyclic hữu hạn cấp n
Nếu không tồn tại số tự nhiên n để g n = e, thì G có cấp ∞.
Ví dụ: (Z + , +) gồm các số nguyên dương là Cyclic với phần tử sinh g = 1, e = 0
Đó là Nhóm Cyclic vô hạn, vì không tồn tại số tự nhiên n để g n = e,
+ Cấp (Bậc) của một phần tử trong Nhóm Cyclic :
Phần tử α ∈ G được gọi là có cấpd, nếu d là số nguyên dương nhỏ nhất sao cho α d = e, trong đó e là phần tử trung lập của G.
3/ Hàm song tuyến tính:
Cho số nguyên tố p Cho G1 , G2 là Nhóm cộng Cyclic (Cyclic additive group) cấp p Cho GT là Nhóm nhân Cyclic (Cyclic multiplicative group) cấp p
Gọi g là phần tử sinh của G1 , h là phần tử sinh của G2
Ánh xạ e: G1 x G2 GT được gọi là Song tuyến tính (Bilinear pairing) nếu thoả mãn các tính chất sau:
- Song tuyến tính: Với 2 phần tử tuỳ ý a, b ∈Z p* , thoả mãn đẳng thức:
e(g a , h b) = e(g, h) ab = e(h b , g a)
- Tính chất e(g , h) ≠ 1 GT , trong đó 1 GT là phần tử đơn vị trong nhóm GT
Trang 32 MÃ HOÁ QUẢNG BÁ DỰA TRÊN ĐỊNH DANH
2.1 Khái niệm Mã hoá quảng bá dựa trên định danh
1/ Bài toán:
Người B cần gửi tài liệu quan trọng M qua mạng máy tính công khai, đến một nhóm G gồm
m người nhận G i , i = 1, 2, , m
Yêu cầu 1: Bảo mật và Xác thực tài liệu M
Yêu cầu 2: Người gửi B có thể yên tâm là đã gửi M tới đúng người nhận G i
Yêu cầu 3: Người nhận G i có thể yên tâm là đã nhận được M từ đúng người gửi B
2/ Cách giải quyết thông thường hiện nay:
Cách 2.1: Người gửi B dùng Hệ mã hoá khoá đối xứng với 1 khoá bí mật chung.
B thoả thuận khoá bí mật chung K cho B và cả nhóm G
B dùng khoá bí mật chung K để mã hoá M thành C, sau đó gửi cho nhóm G.
Từng người nhận G i sẽ dùng khoá bí mật chung K để giải mã C thành M
Ưu điểm: Nhanh gọn ! Tốn ít thời gian.
Mã hoá và giải mã nhanh vì dùng Hệ mã hoá khoá đối xứng
B chỉ cần thoả thuận khoá chung bí mật K một lần, mã hoá M một lần, gửi đi một lần
Nhược điểm: Mức bảo mật không cao.
Mỗi lần gửi tài liệu, B và nhóm G lại phải thoả thuận khoá chung bí mật K
Mức bảo mật không cao vì m người có chung 1 khoá bí mật, nên dễ bị lộ khoá
Không thể xác định rõ định danh của người giải được bản mã C
Cách 2.2: Người gửi B dùng Hệ mã hoá khoá đối xứng với m khoá chung bí mật.
B thoả thuận khoá chung bí mật K i cho B và từng người G i , i = 1, 2, , m
B dùng khoá bí mật K i để mã hoá M thành C i, sau đó gửi cho từng người G i
Từng người nhận G i sẽ dùng khoá bí mật K i để giải mã C i thành M
Ưu điểm: Mức bảo mật cao hơn cách 2.1.
Mã hoá và giải mã nhanh vì dùng Hệ mã hoá khoá đối xứng
Mức bảo mật cao vì mỗi người có 1 khoá bí mật riêng, nên khó bị lộ khoá
Có thể xác định định danh của người giải được bản mã C
Nhược điểm: Chậm ! Tốn nhiều thời gian hơn cách 2.1.
B và từng người G i phải thoả thuận (m lần) khoá bí mật chung K i., i = 1, 2, , m.
B phải mã hoá M: m lần, gửi đi m lần: Chậm ! Tốn nhiều thời gian.
Trang 4Cách 2.3: Người gửi B dùng Hệ mã hoá khoá công khai với 1 khoá công khai của G.
B dùng khoá công khai PK của nhóm G để mã hoá M thành C
Từng người nhận G i sẽ dùng khoá bí mật K của nhóm G để giải mã C thành M
Ưu điểm: Đơn giản ! Tiện lợi so với Cách 2.1, 2.2
Mỗi lần gửi tài liệu, B và nhóm G không phải thoả thuận khoá chung bí mật K
B chỉ cần mã hoá M một lần, gửi đi một lần.
Nhược điểm: Mã hoá và giải mã chậm Mức bảo mật không cao.
Mã hoá và giải mã chậm vì dùng Hệ mã hoá khoá công khai
Không thể xác định rõ định danh của người giải được bản mã C
Mức bảo mật không cao vì m người có chung 1 khoá bí mật, nên dễ bị lộ khoá
Cách 2.4: Người B dùng Hệ mã hoá khoá công khai với m khoá công khai của G i.
B dùng khoá công khai PK i của t ừng người G i để mã hoá M thành C i
Từng người nhận G i sẽ dùng khoá bí mật K i của mình để giải mã C i thành M
Ưu điểm: Đơn giản ! Tiện lợi so với Cách 2.1, 2.2 Mức bảo mật cao.
Mỗi lần gửi tài liệu, B và nhóm G không phải thoả thuận khoá chung bí mật K Mức bảo mật cao vì mỗi người có 1 khoá bí mật riêng K i, nên khó bị lộ khoá
Có thể xác định rõ định danh của người giải được bản mã C i
Nhược điểm: Chậm ! Tốn nhiều thời gian.
Mã hoá và giải mã chậm vì dùng Hệ mã hoá khoá công khai
B phải mã hoá M: m lần, gửi đi m lần: Chậm ! Tốn nhiều thời gian.
Trang 53/ Cách giải quyết bằng Phương pháp Mã hoá quảng bá dựa trên định danh
(Identity – Based BroadCast):
Phương pháp:
- Người gửi B tạo cho Hệ thống: khoá bí mật MSK, khoá công khai PK
- Mỗi người nhận trong nhóm G phải có một định danh Id i , i = 1, 2, , m
Theo qui định, mỗi người tạo cặp khoá công khai và khoá bí mật (Q Id, S Id ) cho họ
- Người gửi B và nhóm người nhận G thống nhất Hệ mã hoá khoá đối xứng với
thuật toán mã hoá E và thuật toán giải mã D
- Người gửi B tạo khoá bí mật K từ khoá bí mật của Hệ thống là MSK
B mã hoá bản tin M bằng thuật toán E và khoá bí mật K, sẽ nhận được bản mã C
- Từng người nhận G i có thể tạo ra khoá bí mật K như trên từ Bộ khoá của họ
G i giải mã bản C bằng thuật toán D và khoá bí mật K, sẽ nhận được bản rõ M
Ưu điểm:
1) Ba chức năng trong một Thuật toán:
+ Chức năng của Hệ mã hoá khoá đối xứng: Tốc độ mã hoá và giải mã là Nhanh
Khi mã hoá: Người gửi B chỉ cần mã hoá bản rõ M : 1 lần Gửi đi: 1 lần
+ Chức năng của Hệ mã hoá khoá công khai: Không phải thoả thuận khoá dùng chung
Khi giải mã: Từng người nhận bản mã C i sẽ giải mã bằng khoá bí mật riêng của họ
+ Chức năng Xác thực: Người gửi B có định danh Q B trong quá trình mã hoá M
+ Tóm lại: Chỉ cần 1 lần mã hoá như Hệ mã hoá khoá đối xứng, nhưng từng người nhận có thể giải mã bằng phương pháp như Hệ mã hoá khoá công khai
2) Đơn giản, Tiện lợi so với các cách trình bày trong mục trên Mức bảo mật cao
+ Mỗi lần gửi tài liệu, B và nhóm G không phải thoả thuận khoá chung bí mật K
+ Mức bảo mật cao vì mỗi người có 1 khoá bí mật riêng, nên khó bị lộ khoá
+ Có thể xác định rõ định danh của người giải được bản mã C i
+ Không cần tổ chức cấp chứng chỉ khoá công khai, vì khoá này dựa trên định danh
+ Phương pháp bảo vệ thông tin như trên là tin cậy vì đã thực hiện kết hợp Bảo mật với Xác thực cùng trong một thuật toán mã hoá, tức là một công làm hai việc
Mặt khác phương pháp bảo mật đã kết hợp Ưu điểm của cả 2 loại mã hoá: mã hoá khoá đối xứng và
mã hoá khoá công khai
Trang 62.2 Thuật toán Mã hoá quảng bá dựa trên định danh
1/ Sinh khoá:
- Cho tham số bảo mật q, và m là số người trong Nhóm G sẽ được chia sẻ thông tin mật
Chọn số nguyên tố p với p ≥ q
Người tạo khoá (PKG) chọn hàm Song tuyến tính e: G1 x G2 GT , trong đó:
G1 , G2 là Nhóm cộng Cyclic cấp p, GT là Nhóm nhân Cyclic cấp p
g là phần tử sinh của G1 , h là phần tử sinh của G2
- Cho 3 hàm băm:
H 1 : {0, 1}* Z p* , H 2 : GT {0, 1} n
H 3 : {0, 1}* x GT x G2 x G1 Z p*
- PKG chọn ngẫu nhiên bí mật t ∈Z p* Khoá bí mật của Hệ thống là MSK= (g t
- PKG tính w = g t, v = e(g, h)
- PKG chọn thuật toán mã hoá, giải mã khoá đối xứng (E, D), khoá bí mật có độ dài n.
Khoá công khai của Hệ thống là PK = (w, , h , h t1 , h t2 , … , h tn ), trong đó:
t1 = t , t2 = t 2 , , tn = t n
Các tham số của Hệ thống là P = (G1, G2, GT , e, PK , H 1 , H 2 , H 3, E, D)
- Với khoá bí mật Hệ thống MSK= (g t), PKG tính khoá bí mật cho mỗi người dùng:
Khoá công khai của người dùng có định danh Id: Q Id = H1(Id)
Khoá bí mật của người dùng có định danh Id: S Id = g T , trong đó T = 1/ (t + Q Id)
2/ Mã hoá:
Giả sử người B cần gửi bản tin M đến một nhóm G gồm m người nhận với các định danh tương ứng Id i , i = 1, 2, , m, B mã hoá M như sau:
1) Chọn ngẫu nhiên bí mật x ∈Z p* ,
2) Tính k = v 1/x (∈G T ).
3) Tính K = H2(k) (∈ {0, 1} n )
4) Tính C = EK(M) (∈ {0, 1} * )
5) Tính S = e(w, h) x (∈G T )
6) Tính Z = h Tx (∈G 2 ), trong đó Tx = (1/x) ∏ m
= 1 (t + Q Id i)
7) Tính W = w -1/x (∈G 1 ).
8) Tính r = H3 (C, S, Z, W ) (∈Z p* )
9) Tính Y = S B x- r (∈G 1 ), trong đó S B = g T , trong đó T = 1/ (t + Q B)
- Bản mã của M là δ = (C, S, Z, W, Y, L), trong đó L là nhãn ghi định danh Id i
của những người nhận hợp pháp, i = 1, 2, , m
Trang 73/ Giải mã:
Nhận được bản mã δ từ người gửi B, người nhận với định danh Id i giải mã như sau: 1) Kiểm tra định danh Id i có thuộc nhãn L không ? Nếu đúng thì thực hiện bước 2) 2) Tính r = H3 (C, S, Z, W ) (∈Z p* )
3) Tính Ψ = e(Y, h Tt ) e(w, h) r , trong đó Tt = t 2 + t Q B
4) Tính c = e(W, h pi ) e(S Id i , Z) Q , trong đó:
pi = (1/ t) ( ∏ m
= 1, j i (t + Q Id j ) - ∏ m
= 1, j i Q Id j ),
Q = 1/ ∏ m
= 1, j i Q Id j
5) Tính K = H2(c) (∈ {0, 1} n )
6) Tính M = DK(C) (∈ {0, 1} * )
7) Nếu Ψ = S thì bản tin M là đúng Nếu Ψ ≠ S thì bản tin M là không đúng
2.3 Phân tích Thuật toán Mã hoá quảng bá dựa trên định danh
1/ Theo đúng thuật toán mã hoá và giải mã, ta có tính chất Ψ = S: Tính nhất quán
Ψ = e(Y, h Tt ) e(w, h) r , trong đó Tt = t 2 + t Q B
= e(SB x- r , h t +QB) ) e(g t, h) r
= e(g (x- r)/ ( t + QB) , h t t QB)) . e(g t, h) r
= e(g t, h) x- r . e(g t, h r = e(g t, h) x = e(w, h) r = S
Chú ý tính chất Song tuyến tính của hàm e: e(g a , h b) = e(g, h) ab = e(h b , g a)
2/ Theo đúng thuật toán mã hoá và giải mã, ta có thể thu được bản rõ M từ bản mã C: + Theo thuật toán giải mã, tại bước 4), với
pi = (1/ t) ( ∏ m
= 1, j i (t + Q Id j ) - ∏ m
= 1, j i Q Id j ),
Q = 1/ ∏ m
= 1, j i Q Id j
Ta có c = e(W, h pi ) e(S Id i , Z) Q = ( e(g , h) )(1/ x) = v (1/ x) = k (1)
+ Theo thuật toán giải mã tại bước 5), ta có K = H2(c), hay theo (1): K = H2(k) Như vậy K được tính giống như bước 3) trong thuật toán mã hoá ( K = H2(k) )
Do đó theo thuật toán giải mã tại bước 6), giải mã C để nhận được bản rõ M là đúng:
M = DK(C)
Trang 83/ Độ phức tạp của Thuật toán thực tế chấp nhận được.
Ta chú ý là các tính toán, kể cả tính số mũ lớn, đều được thực hiện trong nhóm Cyclic theo Modulo p (nhóm Z p* ), do đó thời gian tính toán là thực tế chấp nhận được, giống như thực hành với các hệ mã hoá RSA, Elgamal,
So với các thuật toán mã hoá quảng bá trước đó, thuật toán mã hoá quảng bá trình bày trong báo cáo có 2 ưu điểm: Độ phức tạp tính toán thấp hơn và Độ dài bản mã nhỏ hơn (nên chi phí truyền tin ít hơn)
3 NHÚNG THUỶ VÂN VÀO BẢN MÃ CỦA MÃ HOÁ QUẢNG BÁ
Như đã trình bày trong mục 2, trong bản mã của Mã hoá quảng bá dựa trên định danh đã có Yếu tố xác thực, vì để tạo ra bản mã người gửi B phải dùng định danh của mình là QB
Để nâng cao hơn nữa mức xác thực, chúng tôi đề xuất giải pháp nhúng Thuỷ vân vào bản mã của Mã hoá quảng bá Như vậy khi nhận được bản mã, người nhận phải kiểm tra có thuỷ vân của người gửi trong bản mã không Nếu bản mã có đúng thuỷ vân của người gửi, thì người nhận mới giải mã tiếp
KẾT LUẬN
+ Phương pháp bảo vệ thông tin như trong báo cáo là tin cậy và hiệu quả vì đã thực hiện kết hợp Bảo mật với Xác thực cùng trong một thuật toán mã hoá, tức là một công làm hai việc Mặt khác phương pháp bảo mật đã kết hợp ưu điểm của cả 2 loại mã hoá: mã hoá khoá đối xứng và mã hoá khoá công khai
+ So với các thuật toán mã hoá quảng bá trước đó, thuật toán mã hoá quảng bá trình bày trong báo cáo này có 2 ưu điểm: Độ phức tạp tính toán thấp hơn và Độ dài bản mã
nhỏ hơn (nên chi phí truyền tin ít hơn)
+ Để bảo đảm an toàn hơn, chúng tôi đã đề xuất giải pháp nhúng Thuỷ vân vào bản mã của Mã hoá quảng bá
Trang 9TÀI LIỆU THAM KHẢO
[1] Fagen Li, Xiangjun Xin, and Yupu Hu, Indentity-based broadcast sign-cryption, Comput Stand Interfaces 30 (2008), no 1-2, 89 – 94.
[2] S Sharmila Deva Selvi, S Sree Vivek, Naga Naresh Karuturi, Ra-gavendran Gopalakrishnan,
and Pandu Rangan Chandrasekaran, Crypt-analysis of bohio et al.'s id-based broadcast signcryption
(ibbsc) scheme for wireless ad-hoc networks, PST '08: Proceedings of the 2008 Sixth Annual
Conference on Privacy, Security and Trust (Washington, DC, USA), IEEE Computer Society, 2008,
pp 109 - 120
[3] Cecile Delerablee, Identity-based broadcast encryption with constant size ciphertext and
priavate keys, Lecture Notes in Computer Science, Springer-Verlag 4833 (2007), 200 - 215.
[4] Willy Susilo and Khin Than Win, Securing electronic health records with broadcast encryption
schemes, International Journal of Electronic Healthcare 2 (2006),
no 2, 1– 75 184
[5] Fagen Li, Yupu Hu, and Shuanggen Liu, Efficient and provably secure multi-recipient
signcryption from bilinear pairings, Cryptology ePrint Archive, Report 2006/238 – 25