Tải bản đầy đủ (.doc) (10 trang)

Một Hệ thống Quảng bá thông tin Vấn đề Quảng bá (BroadCast)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (152.87 KB, 10 trang )

Mộ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).


1. CÁC KHÁI NIỆM CƠ BẢN
1/. Một số Nhóm đặc biệt:
+ Ký hiệu: Zn = {0, 1, 2, 3, …, n-1}.
Zn * = { x ∈ Zn , 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, g2 , g3 , . . . , 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ấp d, 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 ∈ Zp* , 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 .


2. 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.


Cá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.


3/. 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.


2.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}*  Zp* , H 2 : GT  {0, 1} n
H 3 : {0, 1}* x GT x G2 x G1


 Zp*

- PKG chọn ngẫu nhiên bí mật t ∈ Zp* . 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, v, 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 ∈ Zp* ,
( ∈ GT ).

1/x

2). Tính

k = v

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

( ∈ GT ).

6). Tính

Z = h Tx

( ∈ G2 ), trong đó

7). Tính

W = w -1/x

( ∈ G1 ).

8). Tính
9). Tính


r = H3 (C, S, Z, W )
Y = S B x-r

- Bản mã của M là

Tx = (1/x) ∏ m i = 1 (t + Q Id i).

( ∈ Zp* ).

( ∈ G1 ), trong đó S B = g T , trong đó T = 1/ (t + Q B).

δ = (C, S, Z, W, Y, L), trong đó L là nhãn ghi định danh Id

của những người nhận hợp pháp, i = 1, 2, ... , m.

i


3/. 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 )

( ∈ Zp* ).

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 j = 1, j ≠ i (t + Q Id j) - ∏ m j = 1, j ≠ i Q Id j ),
Q = 1/ ∏ m j = 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(S B x-r , h t(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 j = 1, j ≠ i (t + Q Id j) - ∏ m j = 1, j ≠ i Q Id j ),

Q = 1/ ∏ m j = 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.

+ Theo thuật toán giải mã tại bước 5), ta có

(1)

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).


3/. Độ 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 Zp* ), 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á.


TÀ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





×