Một Hệ thống Quảng bá thông tin Vấn đề Quảng bá (BroadCast) Ngày đối tác cần giao dịch nhiều thời gian để gặp trực tiếp, họ phải giao dịch qua mạng máy tính Trong giao dịch trực tuyến này, có loại thông tin cần chia sẻ, phải truyề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 quan trọng nhạy cảm cần 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 nguồn gốc, có loại thông tin cần bí mật xác thực Sau phân tích số phương pháp bảo vệ thông tin thường dùng nay, báo cáo trình bày phương pháp tin cậy hiệu để bảo vệ thông tin quan trọng nhạy cảm trên, mã hoá quảng bá dựa định danh (Identity – Based Broadcast Signcryption) sau nhúng thuỷ vân số vào mã Phương pháp thực hai nhiệm vụ: bảo mật thông tin xác thực nguồn gốc thông tin So với thuật toán mã hoá quảng bá trước đó, thuật toán mã hoá quảng bá trình bày báo cáo có ưu điểm: Độ phức tạp tính toán thấp Độ dài mã nhỏ (nên chi phí truyền tin 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 nguyên tố với n } 2/ Khái niệm Nhóm Cyclic: Nhóm (G, *) gọi Nhóm Cyclic sinh phần tử g ∈ G Tức với a ∈ G, tồn số n ∈ N để g n = g * … * g = a Khi g gọi phần tử sinh hay phần tử nguyên thuỷ nhóm G + Cấp (Bậc) Nhóm Cyclic: Cho (G, *) Nhóm Cyclic với phần tử sinh g phần tử trung lập e Nếu tồn số tự nhiên nhỏ n mà g n = e, G gồm có n phần tử khác nhau: e, g, g2 , g3 , , g n - Khi G gọi nhóm Cyclic hữu hạn cấp n Nếu không tồn số tự nhiên n để g n = e, G có cấp ∞ Ví dụ: (Z + , +) gồm số nguyên dương Cyclic với phần tử sinh g = 1, e = Đó Nhóm Cyclic vô hạn, không tồn số tự nhiên n để g n = e, + Cấp (Bậc) phần tử Nhóm Cyclic: Phần tử α ∈ G gọi có cấp d, d số nguyên dương nhỏ cho α d = e, e phần tử trung lập G 3/ Hàm song tuyến tính: Cho số nguyên tố p Cho G1 , G2 Nhóm cộng Cyclic (Cyclic additive group) cấp p Cho GT Nhóm nhân Cyclic (Cyclic multiplicative group) cấp p Gọi g phần tử sinh G1 , h phần tử sinh G2 Ánh xạ e: G1 x G2 GT gọi Song tuyến tính (Bilinear pairing) thoả mãn tính chất sau: - Song tuyến tính: Với 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 ) ≠ GT , GT phần tử đơn vị nhóm GT MÃ HOÁ QUẢNG BÁ DỰA TRÊN ĐỊNH DANH 2.1 Khái niệm Mã hoá quảng bá dựa đị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 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 Xác thực tài liệu M Yêu cầu 2: Người gửi B yên tâm gửi M tới người nhận G i Yêu cầu 3: Người nhận G i yên tâm nhận M từ người gửi B 2/ Cách giải thông thường nay: Cách 2.1: Người gửi B dùng Hệ mã hoá khoá đối xứng với khoá bí mật chung B thoả thuận khoá bí mật chung K cho B 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 dùng khoá bí mật chung K để giải mã C thành M Ưu điểm: Nhanh gọn ! Tốn thời gian Mã hoá giải mã nhanh dùng Hệ mã hoá khoá đối xứng B cần thoả thuận khoá chung bí mật K lần, mã hoá M lần, gửi 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 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 m người có chung khoá bí mật, nên dễ bị lộ khoá Không thể xác định rõ định danh người giải 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 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 người G i Từng người nhận G i 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 cách 2.1 Mã hoá giải mã nhanh dùng Hệ mã hoá khoá đối xứng Mức bảo mật cao người có khoá bí mật riêng, nên khó bị lộ khoá Có thể xác định định danh người giải mã C Nhược điểm: Chậm ! Tốn nhiều thời gian cách 2.1 B 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 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 khoá công khai G B dùng khoá công khai PK nhóm G để mã hoá M thành C Từng người nhận G i dùng khoá bí mật K 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 nhóm G thoả thuận khoá chung bí mật K B cần mã hoá M lần, gửi lần Nhược điểm: Mã hoá giải mã chậm Mức bảo mật không cao Mã hoá giải mã chậm dùng Hệ mã hoá khoá công khai Không thể xác định rõ định danh người giải mã C Mức bảo mật không cao m người có chung 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 G i B dùng khoá công khai PK i t ừng người G i để mã hoá M thành C i Từng người nhận G i dùng khoá bí mật K i để 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 nhóm G thoả thuận khoá chung bí mật K Mức bảo mật cao người có khoá bí mật riêng K i, nên khó bị lộ khoá Có thể xác định rõ định danh người giải mã C i Nhược điểm: Chậm ! Tốn nhiều thời gian Mã hoá giải mã chậm dùng Hệ mã hoá khoá công khai B phải mã hoá M: m lần, gửi m lần: Chậm ! Tốn nhiều thời gian 3/ Cách giải Phương pháp Mã hoá quảng bá dựa đị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 nhóm G phải có định danh Id i , i = 1, 2, , m Theo qui định, người tạo cặp khoá công khai khoá bí mật (Q Id, S Id ) cho họ - Người gửi B nhóm người nhận G thống Hệ mã hoá khoá đối xứng với thuật toán mã hoá E 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 Hệ thống MSK B mã hoá tin M thuật toán E khoá bí mật K, nhận mã C - Từng người nhận G i tạo khoá bí mật K từ Bộ khoá họ G i giải mã C thuật toán D khoá bí mật K, nhận rõ M Ưu điểm: 1) Ba chức Thuật toán: + Chức Hệ mã hoá khoá đối xứng: Tốc độ mã hoá giải mã Nhanh Khi mã hoá: Người gửi B cần mã hoá rõ M : lần Gửi đi: lần + Chức 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 mã C i giải mã khoá bí mật riêng họ + Chức Xác thực: Người gửi B có định danh Q B trình mã hoá M + Tóm lại: Chỉ cần lần mã hoá Hệ mã hoá khoá đối xứng, người nhận giải mã phương pháp Hệ mã hoá khoá công khai 2) Đơn giản, Tiện lợi so với cách trình bày mục Mức bảo mật cao + Mỗi lần gửi tài liệu, B nhóm G thoả thuận khoá chung bí mật K + Mức bảo mật cao người có khoá bí mật riêng, nên khó bị lộ khoá + Có thể xác định rõ định danh người giải mã C i + Không cần tổ chức cấp chứng khoá công khai, khoá dựa định danh + Phương pháp bảo vệ thông tin tin cậy thực kết hợp Bảo mật với Xác thực thuật toán mã hoá, tức 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 loại mã hoá: mã hoá khoá đối xứng mã hoá khoá công khai 2.2 Thuật toán Mã hoá quảng bá dựa định danh 1/ Sinh khoá: - Cho tham số bảo mật q, m số người Nhóm G 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 , đó: G1 , G2 Nhóm cộng Cyclic cấp p, GT Nhóm nhân Cyclic cấp p g phần tử sinh G1 , h phần tử sinh G2 - Cho hàm băm: H : {0, 1}* Zp* , H : GT {0, 1} n H : {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 Hệ thống 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 Hệ thống PK = (w, v, h , h t1 , h t2 , … , h tn ), đó: t1 = t , t2 = t 2, , tn = t n Các tham số Hệ thống P = (G1, G2, GT , e, PK , H , H , H 3, E, D) - Với khoá bí mật Hệ thống MSK= (g, t), PKG tính khoá bí mật cho người dùng: Khoá công khai người dùng có định danh Id: Q Id = H1(Id) Khoá bí mật người dùng có định danh Id: S Id = g T , T = 1/ (t + Q Id) 2/ Mã hoá: Giả sử người B cần gửi tin M đến nhóm G gồm m người nhận với định danh tương ứng Id i , i = 1, 2, , m, B mã hoá M 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 ), 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ã M Tx = (1/x) ∏ m i = (t + Q Id i) ( ∈ Zp* ) ( ∈ G1 ), S B = g T , T = 1/ (t + Q B) δ = (C, S, Z, W, Y, L), L nhãn ghi định danh Id người nhận hợp pháp, i = 1, 2, , m i 3/ Giải mã: Nhận mã δ từ người gửi B, người nhận với định danh Id i giải mã sau: 1) Kiểm tra định danh Id i có thuộc nhãn L không ? Nếu thực bước 2) 2) Tính r = H3 (C, S, Z, W ) ( ∈ Zp* ) 3) Tính Ψ = e(Y , h Tt ) e(w , h) r , Tt = t + t Q B 4) Tính c = e(W , h pi ) e(S Id i , Z) Q , đó: 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 tin M Nếu Ψ ≠ S tin M không 2.3 Phân tích Thuật toán Mã hoá quảng bá dựa định danh 1/ Theo thuật toán mã hoá giải mã, ta có tính chất Ψ = S: Tính quán Ψ = e(Y , h Tt ) e(w , h) r , Tt = t + 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 hàm e: e(g a , h b ) = e(g, h) ab = e(h b , g a ) 2/ Theo thuật toán mã hoá giải mã, ta thu rõ M từ mã C: + Theo thuật toán giải mã, 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ã bước 5), ta có (1) K = H2(c), hay theo (1): K = H2(k) Như K tính giống bước 3) thuật toán mã hoá ( K = H2(k) ) Do theo thuật toán giải mã bước 6), giải mã C để nhận rõ M đúng: M = DK(C) 3/ Độ phức tạp Thuật toán thực tế chấp nhận Ta ý tính toán, kể tính số mũ lớn, thực nhóm Cyclic theo Modulo p (nhóm Zp* ), thời gian tính toán thực tế chấp nhận được, giống thực hành với hệ mã hoá RSA, Elgamal, So với thuật toán mã hoá quảng bá trước đó, thuật toán mã hoá quảng bá trình bày báo cáo có ưu điểm: Độ phức tạp tính toán thấp Độ dài mã nhỏ (nên chi phí truyền tin hơn) NHÚNG THUỶ VÂN VÀO BẢN MÃ CỦA MÃ HOÁ QUẢNG BÁ Như trình bày mục 2, mã Mã hoá quảng bá dựa định danh có Yếu tố xác thực, để tạo mã người gửi B phải dùng định danh QB Để nâng cao mức xác thực, đề xuất giải pháp nhúng Thuỷ vân vào mã Mã hoá quảng bá Như nhận mã, người nhận phải kiểm tra có thuỷ vân người gửi mã không Nếu mã có thuỷ vân người gửi, người nhận giải mã tiếp KẾT LUẬN + Phương pháp bảo vệ thông tin báo cáo tin cậy hiệu thực kết hợp Bảo mật với Xác thực thuật toán mã hoá, tức 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 loại mã hoá: mã hoá khoá đối xứng mã hoá khoá công khai + So với thuật toán mã hoá quảng bá trước đó, thuật toán mã hoá quảng bá trình bày báo cáo có ưu điểm: Độ phức tạp tính toán thấp Độ dài mã nhỏ (nên chi phí truyền tin hơn) + Để bảo đảm an toàn hơn, đề xuất giải pháp nhúng Thuỷ vân vào mã 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 (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