Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
331,58 KB
Nội dung
Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn CHƯƠNG CRYPTOGRAPHIC PROTOCOL Mục đích cuối Cryptography hay chuyên ngành khoa học máy tính để đến giải vấn đề, toán thực tế đặt (đôi người ta hay quên điều này) Cryptography giải vấn đề liên quan đến tính bảo mật (secretcy), tính xác thực (authenticity), tính toàn vẹn (intergrity) mà người ta phải luôn tính đến yếu tố, cá nhân tham gia không trung thực Bạn người nghiên cứu Cryptography? Bạn say sưa với thuật toán, kỹ thuật chuyên ngành này? Kiến thức mang tính học thuật, chừng mà bạn chưa học cách đem vận dụng chúng để giải vấn đề cụ thể Điểm mấu chốt thể rõ ràng phân tích khái niệm sau cryptographic protocols (giao thức mật mã) Một protocol đơn giản chuỗi bước thực hiện, có it bên tham dự, thiết kế để thực nhiệm vụ Định nghĩa đơn giản chặt chẽ “Một chuỗi bước” có nghĩa dãy bước có thứ tự, có đầu có cuối, bước trước phải kết thúc trước thực bước sau “Có bên tham dự” có nghĩa có nhiều người tham gia thực chuỗi bước này, người làm gọi protocol Nếu người thực chuỗi bước để làm bánh gọi chuỗi bước thực protocol, việc có thêm người khác tham dự vào, chẳng hạn mời để ăn bánh đó, làm nên protocol Cuối ghi nhớ rằng, protocol phải thiết kế nhằm đạt tới kết Bất kỳ trông giống protocol mhưng không đem đến mục đích protocol mà trò chơi lãng phí thời gian! Protocols có thuộc tính tất yếu nó: + Các bên tham dự phải chuẩn bị trước để biết hiểu protocol với tất bước nó, trước thật tham gia vào thực + Các bên phải đồng ý tuyệt đối tuân thủ bước Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn + Protocol phải chỗ tối nghĩa, tất bước phải viết tường minh, chỗ gây nên khả hiểu nhầm + Protocol phải đầy đủ Tất tình biến đổi phải nhìn thấy trước có bước thực tiếp thich ứng Một cryptographic protocol protocol có vận dụng kiến thức từ cryptography để đạt mục tiêu mặt an toàn bảo mật hệ thống Các thành phần tham gia bạn bè tin tưởng lẫn nhau, kẻ thù đến mức chí không tin hỏi Một cryptographic protocol liên quan đến thuật toán cryptography thông thường mục đích xa tính bảo mật túy Các bên tham dự vào việc chia sẻ phần bí mật dùng để triết xuất thông tin giá trị đó, kết hợp phát chuỗi số ngẫu nhiên (như gieo xúc xắc), chứng minh danh tính (identity) cho bên kia, hay đồng thời ký vào văn hợp đồng Toàn vấn đề áp dụng cryptography dò chống lại khả nghe trộm hay lừa dối Nếu bạn chưa nghe biết đến bạn hiểu mà cá nhân hoàn toàn không tin lẫn làm việc với để thực thủ tục thông tin thông qua mạng máy tính Nguyên tắc tổng quát để thiết kế nên protocol là: Phải để ai, bên thu nhiều hơn, biết nhiều mà thiết kế ban đầu giả định Điều thực tế khó thực nhiều so với vẻ ngắn gọn Khoa học lừa dối phát triển nhanh khoa học để chống lại Ta thấy ví dụ mà protocol ban đầu tưởng an toàn có kẽ hở Việc chứng minh hệ thống an toàn khó nhiều chứng minh không an toàn Mục đích protocols Protocols xa xôi, mà ta thấy hành động theo hàng ngày Chẳng hạn đặt mua hàng qua điện thoại, Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn cam kết hợp đồng, chơi bỏ phiếu bầu cử Chúng ta quen thường không phân tích ngành bước trình, thủ tục đời sống hàng ngày mà kiểm nghiệm nhiều thực tế nên tỏ đáng tin cậy Gạt bỏ tính chất thông tục (phi hình thức) chúng, chúng chả khác protocol mà ta nghiên cứu sách giáo khoa Ngày nay, với phát triển vũ bão hệ thống mạng máy tính toàn cầu đến gia đình, việc đưa nghi thức thủ tục làm ăn bình thường người ta lên thực qua mạng không bao xa Như cần phải thiết kế thủ tục làm việc tương ứng cho máy tính để thay cho thủ tục đời thường Điểm khác biệt đặc trưng người làm việc với thông qua máy tính, tức không thấy mặt chạm mặt (face-to-face) trước Hơn máy tính người, dễ dàng thích nghi với thay đổi Lấy ví dụ bạn có việc sang lâu dài nước có thủ tục bầu cử khác hẳn với bạn nhanh chóng làm quen thích nghi Bản tự thích nghi làm có máy móc việc xây dựng protocol cho máy tính khó phải tính đến tình huống, khả Rất nhiều thủ tục làm ăn hàng ngày tin tưởng dựa có mặt bên đối tác, nên việc xây dựng protocol tương đương cho máy tính không đơn giản thủ tục đời thường mà thay Bạn thử tự hỏi xem người ta trao chồng tiền mặt cho người lạ để nhờ mua hàng có không Hay thử hỏi người ta chơi với đối phương giấu mặt mà không nhìn thấy tay đối phương tráo chia nào, hay không Cũng thử hỏi bạn có dám gửi thư cho phủ với phiếu bầu cử bạn mà thủ tục đảm bảo việc giấu tên Thật ngây thơ tin người làm việc mạng máy tính người trung thực Cũng thật tin cho nhà quản trị mạng, hay chí nhà thiết kế mạng trung thực đến Dù hầu hết cần thiểu số nhỏ người không trung thực đủ gây thiệt hại lớn biện pháp đảm bảo Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn Với phương pháp hình thức hóa, thử thiết kế protocol tìm hiểu kiểm tra khả có đứng vững hay không trước kiểu loại xâm phạm kẻ không trung thực; từ mà cải tiến phát triển lên để chống lại kiểu công Bằng cách mà người ta xây dựng protocol cho máy tính giải nhiệm vụ đời sống nêu toán chơi mạng, mua hàng mạng hay bầu cử mạng Hơn protocol máy tính hình thức trừu tượng hóa không quan tâm đến việc cài đặt cụ thể Một protocol giống dù cài đặt hệ điều hành Vì khẳng định độ tin cậy protocol ta áp dụng đâu, dù cho máy tính, cho điện thoại cho lò nướng bánh vi sóng thông minh Các bên tham gia vào protocol (the Players) Để có cách tiếp cận hình thức thống với tất protocol điều cần thiết có qui định thống cách gọi tên tất bên tham gia dính líu với protocol Hầu hết sách thường có cách thống sử dụng tập tên người tiếng Anh để gọi bên có liên quan, đặc biệt chữ đầu tên người ứng với chữ đầu từ tiếng Anh nói lên vai trò bên liên quan Sau nêu lên tập tên dùng sách “Applied Cryptography” Bruce Scheneir Tham gia vào protocol có tối thiểu hai bên nhiều đến ba bốn bên Những tên người dành cho hai bên tối thiểu (bên A B) Alice Bob, có thêm bên C D sử dụng thêm tên Carol Dave Nếu protocol có đề cập đến vấn đề chống nghe trộm tên người Eve sử dụng để gọi kẻ nghe trộm (eavesdropper) Ngoài nghe trộm, mạng có mối nguy hiểm lớn nhiều đến từ kẻ có khả can thiệp mạnh, chẳng hạn nhà quản trị hay điều phối viên không trung thực máy trung gian Những kẻ nghe trộm mà chủ động cắt xén thay thế, tạo giả tin bạn Ta gọi kẻ Mallory (malicious active attacker) Các bên tham gia có Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn thể mời người mà tất tín nhiệm vào để làm chứng phán xử có tranh cãi, người coi trọng tài tên Trent (Trusted arbitrator) Sau bảng danh sách tên gọi hình thức bên có liên quan protocol, ta thấy chúng danh sách tên nhân vật tham gia vào kịch mà ta gọi protocol Alice Bên thứ protocol Bob Bên thứ hai protocol Carol Một bên tham gia protocol có đến bên Dave Một bên tham gia protocol có bên Eve Kẻ nghe trộm (eavesdropper) Mallory Kẻ công chủ động có nhiều quyền lực mạng nên nguy hiểm (malicious active attacker) Trent Trọng tài (trusted arbitrator) Walter Người canh gác (Warden), anh đứng canh gác Alice Bob số protocol Peggy Người chứng minh (prover) Victor Người thẩm tra (verifier); Peggy cần phải chứng minh với Victor quyền sở hữu chẳng hạn danh tính khai đúng, kẻ có thẩm quyền để truy nhập vào nơi quan trọng Protocols có người trọng tài Người trọng tài người phải thỏa mãn điều kiện sau: + Không có quyền lợi riêng protocol không thiên vị cho bên + Các bên tham gia có quyền lợi protocol tin tưởng vào trọng tài mà nói làm xác, đồng thời tin tưởng hoàn thành sứ mạng protocol (không bỏ dở chừng để chơi) Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn Như trọng tài đứng để giúp hoàn thành protocol bên tham gia không tin tưởng lẫn Trong đời thường, luật sư thường mời để làm trọng tài Ví dụ, Alice muốn bán xe cho Bob, người lạ Bob muốn trả séc, nhiên Alice lại cách để biết séc có giá trị thật hay không Do cô ta muốn chuyển séc trước giao xe cho Bob mâu thuẫn bế tắc Bob chả tin Alice Alice không đưa séc trước nhận xe Cách giải sau, Alice Bob đến chỗ luật sư có uy tín, Trent, mà hai tin tưởng, protocol sau diễn ra, đảm bảo tính trung thực: VD (1) Alice chuyển vật cần bán cho Trent (2) Bob đưa tờ séc cho Alice (3) Alice chuyển séc vào tài khoản cô ta vào ngân hàng (4) Đợi khoảng thời gian định đến séc chuyển xong, Trent giao hàng cho Bob Nếu tờ séc không hợp lệ Alice báo cho Trent biết với chứng cụ thể Trent giao trả lại hàng cho cô ta Trong protocol này: + Alice tin tưởng Trent không trao hàng cho Bob séc chuyển xong chuyển lại hàng cho cô ta sec giá trị + Bob tin tưởng Trent giữ hàng thời gian sec chuyển giao cho séc chuyển xong + Trent không quan tâm đến việc tờ séc có giá trị thật có chuyển hay không, làm phần việc hai trường hợp xảy protocol qui định, đơn giản trả tiền công hai trường hợp Nhà băng đứng làm trọng tài cho Alice Bob Bob Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn séc có chứng nhận nhà băng mua bán với Alice: VD2 (1) Bob viết séc chuyển cho nhà băng (2) Sau cầm số tiền từ tài khoản Bob giá trị tờ séc, nhà băng ký chứng nhận lên séc chuyển trả lại cho Bob (3) Alice giao xe cho Bob lúc Bob đưa Alice tờ séc có chứng nhận nhà băng (4) Alice chuyển séc vào nhà băng Protocol thực Alice tin tưởng vào chứng nhận nhà băng, tin nhà băng cầm giữ số tiền Bob cho cô ta mà không sử dụng vào đầu tư đâu Trên hai ví dụ số nhiều thủ tục mua bán theo chế có trọng tài Khái niệm trọng tài khái niệm xưa xã hội loài người Đã có nhiều loại người khác nhà cai trị, tu sĩ có thẩm quyền để hành động trọng tài Trọng tài có vai trò vị trí chắn xã hội chúng ta; lần phản bội lại niềm tin quần chúng liều mạng hủy bỏ uy tín khó kiếm Chẳng hạn, luật sư mà chơi trò gian lận bị phát phải đối mặt với khả bị rút phép khỏi luật sư đoàn Điều xác lập hệ thống hoạt động dựa sở chữ tín phổ thông điều luật, giúp hoạt động xã hội trôi chảy Tư tưởng đem áp dụng vào giới máy tính, nhiên xuất số vấn đề định trọng tài máy tính: + Có thể dễ dàng tìm thấy đặt lòng tin vào bên thứ ba trung gian trọng tài ta biết nhìn tận mặt họ.Tuy nhiên mà hai bên tham gia protocol nghi ngờ việc đặt lòng tin vào bên thứ ba nằm khuất diện mạng máy tính trở nên đáng ngờ + Mạng máy tính phải tốn thêm chi phí để quản lý bảo trì máy tính trọng tài Chúng ta biết đến chi phí thuê luật sư, đứng để đỡ chí phí tăng tải (network overhead)? Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn + Luôn có khoảng trễ vốn gắn liền với protocol có trọng tài nào.+ Trọng tài phải tham gia vào giao dịch mạng, điều có nghĩa trở nên điểm thắt nút ngưỡng cổ chai (bottleneck), dễ tắc mạng protocol triển khai cho ứng dụng rộng rãi Tăng cường số trọng tài giúp tránh bế tắc lại làm tăng thêm chi phí để quản lý bảo trì máy trọng tài + Bởi tất người mạng tin trọng tài, dễ gây điểm nhạy cảm chịu áp lực công tập trung từ kẻ rình rập để phá phách hệ thống Protocols có người phân xử Để yên tâm giao dịch, Alice Bob cần mời người trọng tài uy tín cao, nhiên nảy sinh vấn đề việc phải trả số tiền xứng đáng cho người này, rõ ràng không đáng kể Vì người ta nảy sinh ý nghĩ chia arbitrated protocol (giao thức có trọng tài tham dự) thành hai subprotocol (phân-giao-thức) hai cấp dưới: + Một protocol không cần đến trọng tài, thực muốn tiến hành giao dịch + Hai arbitrated protocol mà sử dụng Alice Bob cãi muốn có người phân xử Vì trường hợp ta không dùng khái niệm người trọng tài (arbitrator), với ý nghĩa người phải trực tiếp tham gia vào protocol, mà sử dụng người phân xử (adjudicator), bao hàm ý nghĩa người không cần phải có mặt Alice Bob tiến hành giao dịch, mà mời đến Alice Bob yêu cầu giải tranh cãi Cũng giống trọng tài, người phân xử phải quyền lợi liên can đến giao dịch Alice Bob hai người tin tưởng Anh ta không tham gia trực tiếp vào giao dịch trọng tài đứng để xác định xem giao dịch có tiến hành không xác định bên sai bên có tranh cãi Các thẩm phán người phân xử chuyên nghiệp Khác với công chứng viên, thẩm phán mời có việc tranh cãi cần phân xử Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn Alice Bob tiến hành giao dịch hợp đồng mà không cần đến thẩm phán, người mà biết đến hợp đồng hai người Alice hay Bob lôi người tòa Protocol dùng cho ký kết hợp đồng hình thức hóa sau: VD3 a Nonarbitrated protocol (dùng thời điểm): (1) Alice and Bob thỏa thuận điều khoản hợp đồng (2) Alice ký hợp đồng (3) Bob ký hợp đồng b Adjudicated protocol (chỉ thực có tranh cãi cần giải quyết): (1) Alice Bob đến gặp quan tòa nhờ phân xử (2) Alice đưa chứng cớ cô ta (3) Bob trình bày chứng cớ (4) Quan tòa xem xét chứng cớ phán Điểm khác biệt người trọng tài người phân xử (dùng theo ý nghĩa đây) người phân xử luôn cần thiết Nếu có tranh cãi cần người phân xử, tranh cãi Ý tưởng dùng người phân xử đem vào áp dụng máy tính Trong protocol có bên tham gia mà không trung thực liệu lưu từ protocol cho phép người phân xử sau phát người lừa dối Như thay ngăn chặn trước lừa đảo, protocol người phân xử phát lừa dối xảy ra, thực tế phổ biến rộng có tác dụng ngăn chặn, làm lùi bước kẻ có dã tâm lừa dối Protocol tự xử (Self-enforcing protocol) Protocol tự xử loại tốt số protocol Loại protocol tự thân đảm bảo tính công bằng, không cần đến trọng tài để trực tiếp tham gia cầm cân nảy mực, hay thẩm phán để phân xử có tranh cãi Có nghĩa protocol loại chế cho có kẽ hở Chương VI - - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn cho tranh cãi nảy sinh Nếu có bên cố ý chơi sai luật tiến trình cho phép phía bên phát protocol dừng lại Điều mong ước rõ ràng tất protocol nên chế tạo thế, đáng tiếc lúc có protocol loại cho tình Các dạng công protocols Nếu protocol coi nghi thức giao tiếp để bên làm việc với crytographic protocol, bên vỏ ‘ngoại giao’ kỹ thuật, thuật toán mật mã vận dụng, cài đặt bước cụ thể protocol Các công kẻ phá hoại, nhằm phá hoại tính an ninh hệ thống xâm phạm tính bí mật riêng tư thông tin, hướng vào yếu tố sau: xử lý kỹ thuật, thuật toán mật mã thân protocol Trong phần gác lại khả thứ - giả sử kỹ thuật thuật toán mật mã an toàn xem xét khả thứ hai, tức phân tích dạng công có thể, kẻ thù lợi dụng kẽ hở logic protocol kiếm lợi phá hoại Các dạng công phân thành hai loại sau Với dạng công thụ động , kẻ địch đứng nghe trộm không gây can thiệp hay ảnh hưởng đến protocol Mục đích cố gắng quan sát thu lượm thông tin Tuy nhiên thông tin nghe trộm thông tin mã hóa, kẻ địch cần phải biết cách phân tích giải mã dùng Mặc dù hình thức công không mạnh khó phát kẻ thù không gây động Vì người ta phải nghĩ cách ngăn chặn trước loại công Như biết, kẻ nghe trộm gọi đến thông qua tên Eve Với dạng công chủ động , kẻ địch lực mạng nắm nhiều khả phương tiện để chủ động can thiệp gây ảnh hưởng phức tạp Nó đóng giả, núp tên khác, can thiệp vào protocol Passive attacker Tấn công trường hợp này, ngữ cảnh chung Cryptography, thường gọi Ciphertext Only Attack Active attack Chương VI - 10 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn thông báo kiểu mới, xóa bỏ thông báo phát đường truyền, thay thông báo thật thông báo giả, phát lại nhiều lần thông báo thật ghi lại trước với mục đích gây nhiễu, ngắt ngang chừng kênh thông tin sửa chữa vào kho thông tin lưu mạng Các khả khác phụ thuộc vào tổ chức mạng máy tính vai trò kẻ địch mạng Kẻ công công thụ động cố gắng thu lượm thông tin từ bên tham gia protocol, thông qua thu thập thông báo truyền bên phân tích giải mã Trong kẻ công chủ động gây tác hại đa dạng phức tạp Kẻ công có mục đích thông thường đơn tóm tin mà quan tâm, gây phá hoại khác phá hoại đường truyền làm sai lạc thông báo qua lại, hạ thấp chất lượng hoạt động hệ thống hay nghiêm trọng phức tạp tìm cách đoạt quyền truy nhập vào hệ thống thông tin mà dành cho người có đủ thẩm quyền Kẻ địch công chủ động thật nguy hiểm, đặc biệt protocol mà bên khác không thiết phải tin Hơn phải nhớ kẻ địch kẻ xa lạ bên mà cá nhân hợp pháp hệ thống, chí người quản trị hệ thống Ngoài có nhiều cá nhân liên kết với thành nhóm kẻ địch sức mạnh chúng tăng lên gây nguy hiểm nhiều Như biết, ta quy ước gọi kẻ công chủ động nguy hiểm qua tên Mallory Một điều xảy Mallory lại đối tác protocol Anh ta có hành động lừa dối không chịu tuân theo protocol Loại kẻ địch gọi kẻ lừa đảo Kẻ lừa đảo thuộc loại thụ động làm theo protocol lại cố tình thu nhặt thêm thông tin từ bên đối tác phép theo qui định Kẻ lừa đảo chủ động phá vỡ protocol cố gắng lừa dối Rất khó để giữ an toàn cho protocol phần lớn bên tham gia kẻ lừa đảo chủ động, Cheater Chương VI - 11 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn nhiên ngưòi ta có biện pháp để bên hợp pháp dò lừa đảo diễn Tất nhiên, protocol cần phải bảo vệ để chống lại kẻ lừa đảo loại thụ động Ví dụ: Trong phần nghiên cứu số protocol điển hình, qua có nhìn cụ thể cách thức thiết kế protocol Trao đổi tin mật không cần trao đổi khóa (Shamir 3-pass protocol) Đây ví dụ đơn giản thiết kế cryptographic protocol Sau phát biểu toán với hình thức đời thường Giả sử Bob muốn gửi bưu phẩm đặc biệt qua bưu điện cho Alice, người mà có quan hệ mức bình thường Tuy nhiên Bob có lý mà ngượng ngùng không muốn để người khác đặc biệt cha Alice nhìn thấy quà Hai người thống qua điện thoại bỏ bưu phẩm vào thùng khóa lại nảy sinh vấn đề tất nhiên Bob gửi chìa khóa kèm với gói hàng Shamir đưa cách giải bước sau: Chương VI - 12 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn Bob bỏ bưu phẩm vào thùng khóa khóa E1, gửi Alice nhận thùng hàng lấy khóa riêng E2 cô ta mà khóa thêm vào gửi trả lại Bob Bob nhận lại thùng hàng, mở tháo khóa E1 lại gửi lại cho Alice Đến đây, Alice nhận thùng hàng không suy suyển, việc khệ nệ bê phòng riêng, che lỗ khóa lại, dùng chìa riêng để mở tháo E2 lấy vật quý Bob Nhân viên bưu điện bố mẹ Alice dù tò mò đến đâu làm phiền hai bạn trẻ chúng ta! Mặc dù cách làm tốn tý thật thỏa mãn ý muốn kỳ cục đôi trẻ Quay trở lại với Cryptography, sơ đồ áp dụng để chuyển tin bí mật hai bên A B hai bên sẵn khóa bí mật dùng chung thống từ trước Ta giả sử A dùng hệ mật mã với khóa Z1, B dùng hệ mật mã với khóa Z2 Protocol sau : A cần gửi tin X cho B A mã hóa Y1= E Z (X), gửi Y1 cho B B mã hoá Y2 = EZ2 (Y1) gửi cho Y=2 cho A A giải mã Y3 = E −Z11 (Y2 ) gửi cho Y3 cho B Bây B thu Y3 việc giải mã để thu X = E −Z11 (Y3 ) điều kiện Protocol hoạt động giống ví dụ xảy đời thường ta phải chọn hệ mã hoá E1 E2 cho thoả mãn tính giao hoán: E Z1 ( E Z1 ( X )) = E Z ( E Z ( E Z1 ( X )) (*) Thật vậy, với điều kiện ta biến đổi sau: Y3 = E −Z11 (Y2 ) = E −Z11 (E Z (E Z (X)) ta có E1 = E −Z11 , E2 = E −Z12 phép mã hoá với khoá đối xứng Z1 Z2 Động tác mở khoá tương ứng phép giải mã E −Z11 E −Z12 Chương VI - 13 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn = E −Z11 (E Z1 (E Z (X)) = E Z3 )X) B lấy X cách tính X = E −Z12 (Y3 ) Như để xây dựng thành công protocol ta phải tìm thuật toán mã hóa thỏa mãn (*) Điều tầm thường, có phép mã hóa thỏa mãn (*) lại gây nên rắc rối khác ví dụ sau đây: VD4.Lấy E1 E2 one-time-pad , tức mã hóa với bí mật tuyệt đối, ta có Y = X ⊕ Z1 Y2 = Y1 ⊕ Z2 = X ⊕ Z1 ⊕ Z2 Y3 = Y2 ⊕ Z1 = X ⊕ Z2 Do ta có X= Y3 ⊕ Z2 Tuy nhiên vấn đề thuật toán mã hóa dùng đồng thời lại kéo theo tính chất sau đây: Y1 ⊕ Y2 ⊕ Y3 = X! (bạn lấy giấy bút mà thử xem)Nghĩa Eve ngồi nghe trộm thông báo Y1,Y2,Y3 việc đem cộng lại thu tin gốc X (các stream cipher có tính chất này) Tuy nhiên ta theo ví dụ sau thành công VD Sử dụng phép lấy lũy thừa trường Zp X phần tử khác không Zp Tất user biết p Mỗi user chọn ngẫu nhiên số e cho ( e ( p (e,p-1)=1.Sau sử dụng giải thuật gcd mở rộng để tính d = e-1 ( Zp1 Các số e d giữ bí mật Sau ví dụ minh họa số cụ thể Nhắc lại One time pad hệ mã bị mật tuyệt đối khoá chọn chuỗi bít ngẫn nhiên có độ dài bàng tin gửi, mã tạo cách đem XOR hai chuỗi bit tin gửi khoá vào nhau, giải mã cách lấy mã XOR lại với khoá Nên nhớ hệ phi thực tế khoá dài tin cần gửi có tác dụng dùng lần Chương VI - 14 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn VD6 Chọn p=17 Alice chọn eA = tính dA =11 (mod 16) Bob chọn eB =5 tính dB = 13 Để gửi thông báo mật m=2 cho Bob, Alice tính gửi Y1 = 23 = (mod 17) Bob nhận Y1, tính gửi Y2 cho Alice Y2 = 85 = (mod 17) Alice nhận Y2 = 9, tính gửi Y3 cho Bob Y3 = Y211 = 911 = 15 (mod 17) Cuối Bob tìm thông báo m sau: m = Y313 = 1513 = (mod 17) Tất nhiên, chưa phải protocol phức tạp, qua bạn có hình dung công việc thiết kế cryptographic protocol Bên khoác vâ tương đỉi đơn giản nhiên công việc đòi hỏi hiểu biết rĩng, nhít công cụ toán học Ngoài chưa đề cập đến việc chứng minh protocol đắn Ở ta nói đến phép chứng minh hình thức, tức khả dùng công cụ logic hình thức hệ tiên đề để chứng minh protocol đúng, dựa vào phân tích trực giác Đây vấn đề nan giải thật để ngỏ, chưa có hệ phương pháp hoàn toàn đáp ứng Do tính chất phức tạp vấn đề nên không đề cập chi tiết Trao đổi khóa đảm bảo (Needham-Schroeder protocol) Mục đích protocol thuộc loại là: + Chứng thực danh tính: đảm bảo cho bên danh tính đối phương khai Authenticated key exchange protocol Chương VI - 15 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn (chống lại mạo danh) + Sau chứng thực xong, xác lập khóa bí mật dùng chung hai bên để sử dụng sau sở dùng truyền tin mã đối xứng bí mật Needham-Schroeder protocol Ta hình dung A B hai người xa lạ chưa liên hệ muốn nói chuyện mật mã với Hai bên liên lạc qua điện thoại thống sử dụng hệ mã đối xứng với khóa bí mật đó, DES chẳng hạn, nhiên khó khăn hai bên bàn chọn khóa qua điện thoại Như vấn đề mấu chốt làm bí mật chọn khóa cho hai bên xong Trong protocol này, việc làm thông qua giả sử hệ thống có server tin cậy S đứng trung gian S vốn có khóa bí mật chung thiết lập từ trước với user hệ thống, tức S truyền tin bí mật với user hệ thống Ta thiết kế protocol dùng S làm công cụ bắc cầu để A B qua thiết lập kênh truyền tin Ý tưởng cụ thể là: + A liên lạc (tất nhiên bí mật) với S, nêu danh tính B người mà muốn nhờ S liên lạc giúp hộ + S chọn ngẫu nhiên chuỗi dùng để làm khóa gọi K + Đến bạn hình dung đơn giản S gửi K cho A B để hai bên liên lạc với (*) Tuy nhiên không ổn - ta bàn luận khả sau cách xử lý là: S gửi trả lại cho A khóa K mã hóa theo khóa bí mật B S, A có mã này, A gửi trực tiếp với B B giải mã thu khóa K cần thiết, cách A B bắt tay liên lạc bắt đầu Sau protocol đầy đủ: Trước hết có số thông tin viết tắt sau: + RA, RB số ngẫu nhiên tạo A, B để nhằm chống lại replay Chương VI - 16 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn attack + K khóa phiên tạo S + ZAS ZBS khóa bí mật dùng chung (A, S) (B, S) Protocol sau: A → S: A, B, RA S → A: E K AS (R A , B, K, E K BS (K, A)) A → B : E K BS (K, A) B →: E K BS (K, A) A → B: EK (RB-1) B Giải thích: a Trước hết ta tạm khoan không để ý đến phần mã có RA, RB bước 1, A gửi cho S danh tính B ngưòi cần liên lạc bước A nhận S (sau giải mã khóa KAS), tin khóa K, danh tính B nhắc lại RA(để đảm bảo A liên lạc với đối tượng S tên cha căng kiết khác đêng giả vờ S) mã E K BS (B, A) Chính nhờ có mã E K BS (B, A) A đem gửi cho B, bước 3, B giải mã theo khóa KBS khóa riêng B S có nên B thu hai tin khóa K danh tính A Do B hiểu A muốn nói chuyện với khóa bí mật K b Như đến bạn hiểu ý nghĩa bước đầu, ngoại trừ ý kiến dùng RA để làm chưa giải đáp Điểm tinh vi chỗ, mà ta không ý bị chơi xấu replay attack: Mallory nghe trộm nói chuyện A S trước ghi lại phản Relay (phát lại) attack thủ đoạn làm nhiễu hệ thống liên lạc đối phương cách thu lại thông báo đối phương để phát lại vào lúc khác làm đối phương tưởng có vụ thật Để chống lại cần có lọc cẩn thận để phân biệt vứt bỏ thông tin replay Chương VI - 17 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn hồi S cho A trước đó, Mallory dùng thủ thuật đánh đổi, xóa phản hồi thật S phát lại phản hồi cũ cho A A bị đánh lừa để phân biệt tính cũ A dùng khóa K từ trước phản hồi cũ để liên lạc với B tình cờ mà khóa K bị lộ rơi vào tay Mallory thật bi đát cho A! Nay ta sử dụng RA trao đổi A B rõ ràng kế hoạch replay attack Mallory gãy cầu, RA số phát sinh ngẫu nhiên, lần khác c Nếu bạn hiểu phần giải thích bạn dễ dàng hiểu nốt hai bước cuối protocol Bài tập: Tự giải thích hai bước cuối 4,5 Needham-Schroeder protocol Bây bạn tự giải thích ý kiến cho (*) không ổn Zero-knowledge protocols Nếu bạn nhập cảnh vào đất nước người ta yêu cầu bạn trình xem hộ chiếu Visa, bạn muốn vào tòa nhà có bảo vệ bạn cần phải cho xem chứng minh thư, bạn muốn qua phòng tuyến bạn phải cho biết mật Như để bạn chứng thực mình có đủ thẩm quyền phép làm bạn phải trình cho người gác xem vật sở hữu gắn liền với bạn Nhưng cryptography bạn lại có phép màu protocol mà ta không cần cho xem vật sở hữu ta (coi bí mật) mà chứng minh cho người thẩm tra/người gác Victor thật ta sở hữu vật (Có phải bạn thấy điều phi lý không?!) Trường hợp cần thiết Điều thực thông qua khả người cần chứng thực trả lời số câu hỏi Victor - nhiên không mà câu trả lời lại lộ chút thông tin cho phép Victor đoán vật sở hữu bí mật Mật hoàn mật, dù Victor-gián điệp có ranh ma đến đâu thu số Chính protocol Người gác có nghĩa vụ thẩm tra xem ta có thẩm quyền để vào hay không người gác không phép có thẩm quyền đó, bạn VIP CIA săn tìm thông tin bạn người gác dám làm gián điêpj cho CIA Chương VI - 18 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn gọi với tên zero-knowledge protocol Zero-knowledge protocol cho phép thao tác quan trọng chứng minh danh tính (identification) hay trao chuyển khóa (key exchange) cài đặt mà không làm lộ chút bí mật Những tính chất đặc biệt hấp dẫn áp dụng smart card Trước nêu protocol ví dụ số này, ta điểm qua bên tham gia có can thiệp vào protocol: + Peggy người chứng minh (the prover): Peggy nắm thông tin muốn chứng minh cho Victor hay không muốn tiết lộ thông tin + Victor người thẩm tra (the verifier): Victor quyền hỏi Peggy loạt câu hỏi chắn Peggy nắm thông tin mật Victor suy thông tin có cố tình lừa đảo không tuân thủ protocol + Eve người nghe trộm (Eavesdropper): Eve nghe trộm đối thoại mạng Protocol cần phải chống lại không để Eve lấy tin đồng thời đề phòng replay attack, tức khả Eve chép thông báo Peggy phát dùng lại sau để lừa Victor + Mallory kẻ địch tiềm nguy hiểm (the malicious active attacker): Loại vừa nghe trộm lại vừa có khả can thiệp cách xóa, thay hay sửa đổi thông báo Peggy Victor mạng Bí mật cần chứng minh mẩu thông tin mật khẩu, khóa riêng bí mật hệ khóa công khai đáp số vấn đề toán học học búa Protocol: Giả sử (n,e) hệ khóa công khai RSA Giả sử Peggie muốn chứng minh cô ta biết TIN (plaintext) m bị mã hóa thành Mã (ciphertext) c hệ RSA này, tức c= me (mod n) P ( V: y=re với r số ngẫu nhiên modulo n V ( P: b ( {0,1} Chương VI - 19 - Chuyên đề AT&BM hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn P ( V: z = r ( mb (tức z=r b=0 z=rm b=1) V kiểm tra kết sau: gửi b=0 bước kiểm tra xem có thực ze=y, gửi b=1 bước hai kiểm tra xem ze=yc có không Bốn bước lặp lặp lại nhiều lần Victor thay đổi gửi b=0 b=1 bước thứ hai cách ngẫu nhiên tùy ý để thật yên tâm thực Peggie chủ nhân thông tin m Bài tập: Bạn đọc tự lý giải cho nhận xét sau đây:1 Peggie thực (tức mạo danh), người biết m, luôn qua protocol thành công Tính chất gọi tính đầy đủ (completeness) Nếu Mallory mạo danh Peggie thất bại với xác xuất cao (tùy thuộc vào số lần mà Victor lặp lại bước protocol) Tính chất gọi tính vững chãi (soundness) Dù làm (tăng số lần lặp lặp lại thay đổi giá trị b) Victor biết m ngoại trừ điều giá trị mà đem lũy thừa số mũ e thu giá trị c 10 10 Cần lưu ý toán tìm logarithm theo modulo (Discrete Logarithm Problem) coi toán khó lời giải thời gian đa thức (tức với số chọn đủ lớn thực tế tính toán dù giả sử có tay máy tính mạhàng hóa hàng chục năm sau) Chương VI - 20 - [...]... thực tế vì khoá dài như tin cần gửi và chỉ có tác dụng được dùng một lần Chương VI - 14 - Chuyên đề AT&BM các hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn VD6 Chọn p=17 1 Alice chọn eA = 3 và tính dA =11 (mod 16) 2 Bob chọn eB =5 và tính dB = 13 Để gửi một thông báo mật m=2 cho Bob, 1 Alice tính và gửi Y1 = 23 = 8 (mod 17) 2 Bob nhận Y1, tính và gửi Y2 cho Alice Y2 = 85 = 9 (mod 17)... Mỗi user chọn ngẫu nhiên một số e sao cho 1 ( e ( p và (e,p-1)=1.Sau đó sử dụng giải thuật gcd mở rộng để tính d = e-1 ( Zp1 Các số e và d được giữ bí mật Sau đây là một ví dụ minh họa bằng số cụ thể 6 Nhắc lại One time pad là hệ mã bị mật tuyệt đối duy nhất trong đó khoá được chọn là một chuỗi bít ngẫn nhiên có độ dài đúng bàng tin gửi, mã được tạo bằng cách đem XOR hai chuỗi bit tin gửi và khoá vào... thuật toán mã hóa thỏa mãn được (*) Điều này không phải là tầm thường, có những phép mã hóa thỏa mãn được (*) nhưng lại gây nên những rắc rối khác như ví dụ sau đây: VD4.Lấy E1 và E2 là các one-time-pad 6 , tức là mã hóa với bí mật tuyệt đối, ta có Y 1 = X ⊕ Z1 Y2 = Y1 ⊕ Z2 = X ⊕ Z1 ⊕ Z2 Y3 = Y2 ⊕ Z1 = X ⊕ Z2 Do đó ta có X= Y3 ⊕ Z2 Tuy nhiên vấn đề là thuật toán mã hóa này không thể dùng được vì nó đồng... bắt tay nhau và liên lạc bắt đầu Sau đây là protocol đầy đủ: Trước hết chúng ta có một số thông tin viết tắt như sau: + RA, RB là các số ngẫu nhiên tạo ra bởi A, B để nhằm chống lại replay Chương VI - 16 - Chuyên đề AT&BM các hệ thống máy tính B/m H3T, khoa CNTT, ĐHBKHN Nguyễn Khánh Văn attack 8 + K là khóa phiên được tạo ra bởi S + ZAS và ZBS là các khóa bí mật dùng chung giữa (A, S) và (B, S) Protocol