Bài giảng Tuần 7• Tính toán an toàn cho hai thành viên – Các ví dụ – Bài toán an toàn cho 2 thành viên • Các giao thức trao đổi ngang hàng – Định nghĩa – Phân loại – Ứng dụng – Xác thực
Trang 1An toàn dữ liệu
Trương Thị Thu Hiền
Bộ môn Các hệ thống thông tin –
Trang 2Bài giảng Tuần 7
• Tính toán an toàn cho hai thành viên
– Các ví dụ – Bài toán an toàn cho 2 thành viên
• Các giao thức trao đổi ngang hàng
– Định nghĩa – Phân loại – Ứng dụng – Xác thực Email và ký hợp đồng
Trang 3Ví dụ 1: Người triệu phú (Yao1982)
• Alice và Bob là hai triệu phú
• Họ muốn biết là ai giàu hơn?
• Không ai trong số họ muốn để lộ chính
xác số tài sản của họ
Trang 4Ví dụ 2: Truy xuất thông tin bí mật
• Một client truy xuất một database
• server không biết gì ngoài yêu cầu
của client
• Giả sử có vài server lưu bản copy
của dữ liệu client cần truy xuất n bit của dữ liệu trong database Thông tin truy xuất đến từng server không server biết các thông tin liên quan khác.
Trang 5Ví dụ 3: Truyền “oblivious”
• Alice có 2 bit và muốn truyền một trong
hai bit đó cho Bob
• Yêu cầu:
– Alice không biết Bob sẽ nhận được bit nào – Bob không biết gì về các bit mà Alice có, trừ bit mà Bob nhận được
Trang 6Ví dụ 4: Phân tích dữ liệu trên một tập hợp mà vẫn giữ tính riêng tư
• Một công ty cần phân tích dữ liệu của họ để tìm
kiếm một mẫu mà không muốn để lộ dữ liệu.
• Các câu hỏi cần trả lời:
– Trung bình của A B – Giao của A ∩ B
– Phần tử x trong tập hợp – Phần tử xếp hạng k trong tập hợp (theo một tiêu chí nào đó)
∪
Trang 7Mô hình tấn công
• Đối phương tin cậy một phần
– theo dõi giao thức, vì tò mò nên ghi lại hết các thông số dữ liệu trao đổi, sau đó sử dụng
để tính thông tin bí mật
• Tấn công chủ động (có ác ý)
– không theo giao thức một cách thông thường, mà thay đổi dữ liệu trong các giao thức, huỷ bỏ giao thức,
Trang 8Truyền “Oblivious” 1 trong 2
trong mô hình nửa tin cậy
• Inputs:
– Người gửi có 2 thông điệp m0 và m1 – Người nhận có một bit б thuộc {0,1}
• Outputs:
– Người gửi không nhận gì cả – Người gửi không biết người nhận nhận được thông điệp nào
– Người nhận có mб và không biết gì về m1-б
Trang 9Chi tiết mô hình
• Giả sử (G,E,D) là một sơ đồ mã hóa
khoá công khai
– G là thuật toán sinh khoá (key Generation) – E là thuật toán mã hoá (Encryption)
– D là thuật toán giải mã (Decryption)
• Giả sử một khoá công khai được chọn
mà hoàn toàn không biết gì về khoá bí
Trang 10Giao thức
• Người nhận:
– Người nhận chọn một cặp khoá (pk,sk) và một khoá công khai pk’(không biết khóa bí mật sk’ tương ứng)
– Người nhận có tập hợp pkб=pk, pk1-б =pk’
– Người nhận có thể giải mã nếu khoá mã là pkб nhưng không thực hiện được cho pk1-б
– Người nhận gửi pk0, pk1 cho người gửi
• Người gửi (với 2 thông điệp m0 và m1)
– Gửi c0=Epk0(m0), c1=(Epk1(m1))
• Người nhận:
– Giải mã cб sử dụng sk và thu được mб
Trang 11Giao thức trao đổi ngang hàng
• Định nghĩa:
– Có 2 thành viên A và B sở hữu thông tin a và b Khi đó, giao thức trao đổi ngang hàng là một giao dịch điện tử đảm bảo rằng cả hai thành viên cùng nhận được những gì họ muốn hoặc không ai nhận được gì cả (A nhận được b, B nhận được a, hoặc không gì cả)
– Trong suốt quá trình trao đổi không bên nào có lợi thế hơn so với bên còn lại
Trang 12Ví dụ về giao thức trao đổi ngang hàng
• Mail được xác thực: Giả sử A muốn gửi một
thông điệp M cho B A yêu cầu B ký lên thông điệp M.
• Ký hợp đồng: A và B cùng ký một hợp đồng
C A gửi chữ ký của mình trên C cho B và B gửi chữ ký của mình trên C cho A.
• Mua bán ngang hàng: Hàng hoá được trao
đổi và thanh toán ngang hàng.
Bài toán xử lý đồng thời là vấn đề rất khó
Trang 13Thành viên tin cậy thứ 3 (TTP)
tham gia quá trình trao đổi Mô hình này là tốt nếu các thành viên tham gia đều trung thực, nhưng sẽ có vấn đề nếu các thành viên lừa dối, gian lận
– TTP hiện hữu: TTP phải online, và có mặt trong mọi giao dịch
– TTP ẩn: TTP không cần online thường xuyên, chỉ cần có mặt trong các giao thức
Trang 14Giao thức có TTP hiện hữu
• Chi phí: TTP phải online mọi thời điểm, chi phí cao
• Tắc nghẽn: mọi giao dịch qua “một cửa”
• Nguy cơ: TTP bị trục trặc thì giao dịch phải chấm dứt
Trang 15Các giao thức “tốt” hơn
• TTP là ẩn: TTP không tham gia
các giao dịch mà các thành viên chắc chắn tin tưởng nhau.
• TTP đóng vai trò của một thành
viên gian lận: giả sử B gian lận, TTP gửi thông tin cho A trong vai trò của B.
• Lưu trữ: TTP không cần lưu trữ
các thông tin bí mật trong giao
Trang 16Gửi Email có xác minh
A không đảm bảo tính riêng tư của thông điệp gửi cho B
• 1: A gửi B thông điệp Z=ER(A,B,M)
• 2: B gửi A chữ ký trên Z s=sigB(z)
• 3: Sau khi nhận s, A gửi M và R cho B
• 4: B xác minh Z=ER(A,B,M), nếu đúng thì
dừng, nếu sai thì gửi Z cho TTP
• 5: TTP giải mã Z, nếu kết quả là A, B, M với
tham số ngẫu nhiên R thì TTP gửi M cho B và sigB(Z) cho A.
Trang 17Ký hợp đồng
A và B cùng thoả thuận và ký hợp đồng C, chuyển cho nhau chữ ký sigB(C,M) và sigA(C,M) với M là thông điệp ngẫu nhiên.
• 1:A chọn một thông điệp ngẫu nhiên M, tính
Z=ETTP(A,B,M), gửi cho B sigA(C,Z)
• 2: B gửi cho A sigB(C,Z) và sigB(Z)
• 3: Nếu cả sigB(C,Z) và sigB(Z) được xác minh, A gửi M
cho B
• 4: Nếu B nhận được M chính là M trong ETTP(A,B,M) thì
dừng Ngược lại, gửi Z, sigB(C,Z) và sigB(Z) cho TTP
• 5: sig (C,Z) và sig (Z) xác minh, TTP giải mã Z , nếu
Trang 18Chữ ký có thể xác minh
• Khi nhìn vào một hộp trong suốt, Alice
có thể nhìn thấy chữ ký của Bob nhưng không thể lấy chữ ký ra khỏi hộp
• TTP có thể mở hộp đó
Trang 19Giao thức cơ bản
Trang 20Câu hỏi?