268485325 giao trinh an toan bảo mật thong tin

89 146 0
268485325 giao trinh an toan bảo mật thong tin

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Về lý thuyết mật mã, một nền tảng căn bản của an toàn thông tin (ATTT), các khái niệm cơ bản sẽ đƣợc đề cập bao gôm: hệ mã hoá đối xứng, mã hoá phi đối xứng (khóa công khai), hàm băm, chữ ký điện tử... Các mô hình phát triển hơn sẽ đƣợc giới thiệu là vấn đề trao chuyển khoá và giao thức mật mã (cryptographic protocol). Bên cạnh đó các nền tảng cơ sở khác của ATTT nhƣ xác thực (authentication), điều khiển quyền truy nhập (access control), các mô hình an toàn mạng, mã độc và tấn công lợi dụng cũng là các chủ đề trọng tâm.

Chương CÁC KHÁI NIỆM CƠ SỞ & HỆ MÃ CỔ ĐIỂN Chương bắt đầu đưa bạn đọc làm quen với giới mật mã Mặc dầu chương đầu, khái niệm sở giới thiệu có tầm bao quát trừu tượng Chúng tơi hy vọng ví dụ cụ thể hỗ trợ đắc lực Các hệ mật mã cổ điển từ lâu không sử dụng thực tế, chúng tạo nguồn kiến thức quí giá, hỗ trợ đắc lực cho việc làm quen với lĩnh vực Các chủ đề chương sau:  Các khái niệm sở  Một số hệ mật mã cổ điển  Đọc thêm: Lý thuyết bí mật tuyệt đối (Shannon) 1.1 CÁC KHÁI NIỆM CƠ SỞ Mật mã lĩnh vực khoa học chuyên nghiên cứu phương pháp kỹ thuật đảm bảo an toàn bảo mật truyền tin liên lạc với giả thiết tồn lực thù địch, kẻ muốn ăn cắp thông tin để lợi dụng phá hoại Tên gọi tiếng Anh, Cryptology dẫn giải nguồn gốc từ tiếng Hy lạp, kryptos nghĩa “che dấu”, logos nghĩa “từ ngữ” Cụ thể hơn, nhà nghiên cứu lĩnh vực quan tâm xây dựng phân tích (để điểm yếu) giao thức mật mã (cryptographic protocols), tức phương thức giao dịch có đảm bảo mục tiêu an toàn cho bên tham gia (với giả thiết mơi trường có kẻ đối địch, phá hoại) Ngành Mật mã (cryptology) thường quan niệm kết hợp lĩnh vực con: Sinh, chế mã mật (cryptography): nghiên cứu kỹ thuật tốn học nhằm cung cấp cơng cụ hay dịch vụ đảm bảo an tồn thơng tin Phá giải mã (cryptanalysis): nghiên cứu kỹ thuật toán học phục vụ phân tích phá mật mã và/hoặc tạo đoạn mã giản nhằm đánh lừa bên nhận tin Hai lĩnh vực tồn hai mặt đối lập, “đấu tranh để phát triển” thể thống ngành khoa học mật mã (cryptology) Tuy nhiên, lĩnh vực thứ hai (cryptanalysis) phổ biến quảng đại nên dần dần, cách hiểu chung đánh đồng hai thuật ngữ cryptography cryptology Theo thói quen chung này, hai thuật ngữ dùng thay Thậm chí cryptography thuật ngữ ưa dùng, phổ biến sách phổ biến khoa học, cryptology xuất phạm vi hẹp nhà nghiên cứu học thuật túy Mặc dù trước mật mã ứng dụng phổ biến giới hẹp, với phát triển vũ bão công nghệ thông tin đặc biệt phổ biến mạng Internet, giao dịch có sử dụng mật mã trở nên phổ biến Chẳng hạn, ví dụ điển hình giao dịch ngân hàng trực tuyến hầu hết thực qua mật mã Ngày nay, kiến thức ngành mật mã cần thiết cho quan phủ, khối doanh nghiệp cho cá nhân Một cách khái quát, ta thấy mật mã có ứng dụng sau:  Với phủ: bảo vệ truyền tin mật quân ngoại giao, bảo vệ thơng tin lĩnh vực tầm cỡ lợi ích quốc gia  Trong hoạt động kinh tế: bảo vệ thông tin nhạy cảm giao dịch hồ sơ pháp lý hay y tế, giao dịch tài hay đánh giá tín dụng …  Với cá nhân: bảo vệ thông tin nhạy cảm, riêng tư liên lạc với giới qua giao dịch sử dụng máy tính và/hoặc kết nối mạng 1.1.1 Những kỷ nguyên quan trọng ngành mật mã Thời kỳ tiền khoa học: Tính từ thượng cổ 1949 Trong thời kỳ này, khoa mật mã học coi ngành mang nhiều tính thủ cơng, nghệ thuật tính khoa học Các hệ mật mã phát minh sử dụng thời kỳ gọi hệ mật mã cổ điển Sau ta làm quen với hai ví dụ hệ mã tiếng thời kỳ Một phép mã hoá (cipher) thời kỳ Xe-da (Caesar's cipher), cách 2000 năm: chữ thay chữ cách chúng vị trí bên phải alphabet: DASEAR  FDHVDU Vernam cipher (1926): người ta đem thực phép XOR văn gốc (plaintext) với chuỗi nhị phân ngẫu nhiên có độ dài độ dài văn gốc (chuỗi là khố phép mã hoá) Trong cipher loại này, khoá dùng lần Vernam tin cipher ông phá chứng minh Kỷ nguyên mật mã coi ngành khoa học: đánh dấu báo tiếng Claude Shannon “Commication theory of secretcy systems” , cơng bố năm 1949 Cơng trình dựa báo trước ơng mà ông khai sáng ngành khoa học quan trọng khác, lý thuyết thông tin (inforrmation theory) Bài báo năm 1949 Shannon móng cho việc áp dụng cơng cụ tốn, cụ thể xác suất, xây dựng mơ hình đánh giá tính mật hệ mã mật Tuy nhiên bùng nổ thực lý thuyết mật mã (Cryptology) báo hai nhà bác học Diffie Hellman, “New directions in cryptography”, công bố vào năm 1976 Trong đó, ơng chứng tỏ truyền tin bí mật, khơng thiết hai bên phải nắm khố bí mật (tức bên gửi phải làm cách chuyển khoá mật cho bên nhận) Hơn họ lần giới thiệu khái niệm chữ ký điện tử (digital signature) Mặc dù mật mã coi ngành tốn học phát triển cao, đòi hỏi tư cao để nắm thành tựu đại nó, sở xuất phát ban đầu lại mơ hình thực tiễn đơn giản sau 1.1.2 Mơ hình truyền tin mật Y=EZ(X) X=DZ(Y) Sender S Key Z Enemy E Y Receiver R Key Z‟ Hình vẽ 1.1: Mơ hình truyền tin bảo mật Chúng ta xem xét mơ hình toán truyền tin mật Khác với quan niệm truyền tin thơng thường, mơ hình đưa thêm vào yếu tố mới, khái niệm kẻ địch ẩn giấu Vì giải pháp chống lại đưa vào khối xử lý mã hoá (encryption) giải mã (decryption) Các hoạt động tóm tắt sau Người phát S (sender) muốn gửi thông điệp (message) X tới người nhận R (receiver) qua kênh truyền tin (communication channel) Kẻ thù E (enenmy) lấy/nghe trộm thông tin X Thông tin X dạng đọc được, gọi rõ (plaintext) Để bảo mật, S sử dụng phép biến đổi mã hoá (encryption), tác động lên X, để chế biến mã Y (cryptogram, hay ciphertext), đọc Ta nói mã Y che giấu nội dung rõ X đầu Giải mã (decryption) trình ngược lại cho phép người nhận thu rõ X từ mã Y Để bảo mật, khối biến đối sinh giải mã hàm toán học với tham số khố (key) Khóa thơng số điều khiển mà sở hữu kiến thức thơng thường hạn chế Thơng thường khố (Z) biết đến bên tham gia truyền tin S R Sơ đồ mơ hình nói thể điều tồn tính bảo mật chế phụ thuộc vào tính mật khóa, khơng phải tính mật thuật tốn hàm sinh hay giải mã (encryption decryption) Điều khẳng định Luật Kirchoff, giả thiết mật mã: Toàn chế sinh mã giải mã ngoại trừ thơng tin khố khơng bí mật với kẻ thù Điều ngược với suy luận đơn giản đa phần người bên lĩnh vực Họ thường cho thuật toán mật mã cần giữ bí mật đặc biệt để đảm bảo an tồn cho hệ thống Như khóa giữ vai trò trung tâm mơ hình truyền tin mật Những quan niệm tổ chức quản lý khóa khác đem đến hệ thống mật mã có tính khác Sau xem xét hai hệ loại hệ thống mật mã quan niệm tổ chức sử dụng khóa tương phản 1.1.3 Hệ thống mật mã đối xứng (Symmetric Key Cryptosystem SKC) Loại hệ thống gọi hệ mật mã khóa bí mật (Sycret Key Crytosystem) Trong mơ hình hệ thống này, khóa hai thuật tốn sinh mã giải mã giống bí mật tất người khác; nói cách khác, hai bên gửi nhận tin chia sẻ chung khóa bí mật nhật Vai trò hai phía tham gia giống đánh đổi vai trò, gửi nhận tin, hệ thống gọi “mã hóa đối xứng” Chúng ta sử dụng ký hiệu viết tắt theo tiếng Anh SKC Hệ thống mật mã khóa bí mật đối xứng có nhược điểm lớn phương diện quản lý lưu trữ, đặc biệt bộc lộ rõ giới đại liên lạc qua Internet phát triển Nếu giới trước liên lạc mật mã hạn chế lĩnh vực quân ngoại giao ngày đối tác doanh nghiệp giao dịch qua Internet mong muốn bảo mật thơng tin quan trọng Với hệ thống khóa bí mật, số lượng khóa bí mật mà cơng ty hay cá nhân cần thiết lập với đối tác khác lớn khó quản lý lưu trữ an tồn thơng tin khóa riêng biệt Một khó khăn đặc thù khác vấn đề xác lập phân phối khóa bí mật hai bên, thường xa liên lạc với qua kênh truyền tin thông thường, không đảm bảo tránh nghe trộm Với hai người xa cách chí chưa biết từ trước có thể thiết lập bí mật chung (tức khóa) khơng có kênh bí mật từ trước (mà điều đồng nghĩa với tồn khóa bí mật chung)? Có vẻ chẳng có cách ngồi sử dụng “thần giao cách cảm” để hai người trao đổi, thiết lập thơng tin bí mật chung? Đây thách thức lớn hệ thống mật mã khóa đối xứng Tuy nhiên độc giả thấy câu hỏi trả lời giao thức mật mã thiết lập khóa mà giới thiệu chương sau 1.1.4 Hệ thống mật mã khóa cơng khai hay phi đối xứng (Public Key Cryptosystem – PKC) Ý tưởng hệ thống mật mã loại đời vào năm bảy mươi kỷ 20 Khác với SKC, mơ hình khóa thuật toán sinh mã giải mã khác từ thơng tin khóa sinh mã, lý thuyết tìm khóa giải mã (có thể thử vét cạn) khả thực tế việc không (bất khả thi khối lượng tính tốn) Chúng ta làm quen cụ thể với mơ hình chương Ý tưởng cho phép thực thể cá nhân cơng ty cần tạo cho cặp khóa, với hai thành phần:  Thành phần khóa cơng khai, đăng ký phổ biến rộng khắp, dùng để sinh mã để xác thực chữ ký điện tử (cụ thể chương 3)  Thành phần khóa bí mật, dành riêng cho thân, dùng để giải mã tạo chữ ký điện tử Chỉ với cặp khóa này, thực thể chủ giao dịch bảo mật với quảng đại xã hội, việc quản lý lưu trữ tổ chức chặt chẽ mà việc phải tự nhớ thông tin mật tối thiểu (giống việc nhớ mật hay số PIN tài khoản ngân hàng) 1.1.5 Đánh giá tính bảo mật hệ mật mã Các thuật toán, hệ thống mật mã biết đến giới khơng Làm để ta đánh giá tính an tồn, hay tính bảo mật hệ mã đặt ra? Trên sở thiết lập niềm tin nhiều không nhiều vào hệ mã đó? Ta kết luận hệ mã mật khơng an tồn (insecure), việc cách phá mơ hình cơng (khái niệm giới thiệu sau đây) phổ biến, ta rõ mục tiêu ATBM (security) không đảm bảo Tuy nhiên để kết luận hệ mã an tồn cao công việc phức tạp nhiều Thông thường, người ta phải đánh giá hệ mật mã nhiều mơ hình cơng khác nhau, với tính thách thức tăng dần Để khẳng định tính an tồn cao, cách làm lý tưởng đưa chứng hình thức (formal proof), người ta chứng minh cơng cụ tốn học tính ATBM hệ mã xét tương đương với hệ mã kinh điển, mà tính an tồn khẳng định rộng rãi từ lâu Như nói trên, người ta phủ định tính an tồn hệ mã mật thông qua việc cách phá cụ thể hệ mã mơ hình cơng (attack model) cụ thể Mỗi mơ hình cơng định nghĩa rõ lực kẻ công, bao gồm lực tài ngun tính tốn, loại thơng tin mà có khả tiếp cận để khai thác khả tiếp xúc với máy mật mã (thiết bị phần cứng có cài đặt thuật tốn sinh giải mã) Các mơ hình cơng thường xếp theo thứ tự mạnh dần lực kẻ công Nếu hệ mật mã bị phá vỡ mơ hình cơng (năng lực kẻ cơng bình thường) bị đánh giá hồn tồn khơng an tồn Sau số mơ hình cơng phổ biến Tấn cơng chỉ-biết-bản-mã (ciphertext-only attack) Ở kẻ địch E kẻ hồn tồn bên ngồi, tìm cách nghe trộm đường truyền để lấy giá trị Y, mã thông tin gửi Mặc dù kẻ địch E biết rõ Y, mục tiêu hướng tới khám phá nội dung một/nhiều rõ X lấy khóa mật Z (trường hợp phá giải hồn tồn) Đây mơ hình cơng kẻ địch khơng có lực quan hệ đặc biệt (như số hình thức công sau), diện thông tin tiếp xúc mã Rõ ràng hệ mã mà khơng đứng vững mơ hình phải đánh giá không đáng tin cậy Tấn công biết-bản-rõ (known-plaintext attack) Mặc dù tên gọi dễ hiểu nhầm, thực chất mơ hình ta giả thiết E biết số cặp X-Y (bản rõ mật tương ứng) Nguyên nhân E thu hồn tồn tình cờ nhờ vài tay nhân viên thấp cấp hệ thống Tất nhiên mục tiêu E khám phá nội dung rõ quan trọng khác và/hoặc lấy khóa mật Rõ ràng mơ hình công làm mạnh so với công qua mã: Việc biết số cặp X-Y làm bổ sung thêm đầu mối phân tích; đặc biệt từ E dùng phép thử loại trừ để vét cạn khơng gian khóa (exshautive key search) tìm khóa tức cho Enc (K,X)=Y Tấn cơng bản-rõ-chọn-sẵn (chosen-plaintext attack) Trong mơ hình này, E thu nhặt số cặp X-Y mà số rõ X thân E soạn (chosen plaintext) Điều nghe khơng khả thi thực tế, nhiên ta tưởng tượng E có tay thư ký văn phòng cơng ty bị cơng, ngồi qui định máy móc tất văn dù quan trọng hay không truyền gửi mật mã phân phát chi nhánh cơng ty Có thể nhận xét thấy rằng, việc tự chọn giá trị số rõ X thêm nhiều lợi ích cho E phân tích quan hệ mã rõ để từ lần tìm giá trị khóa Một cách tương tự, người ta sử dụng mơ hình cơng bản-mã-chọn-sẵn (chosen-ciphertext attack) kẻ địch thu nhặt số cặp X-Y mà Y giá trị thiết kế sẵn Trong thực tế điều xảy kẻ địch truy nhập vào máy mật mã chiều (có thể sử dụng với chức sinh mã giải mã) Tất nhiên hai dạng cơng mạnh nói kẻ thù khơn ngoan sử dụng chiến thuật thiết kế rõ (hay mã) chọn sẵn theo kiểu thích nghi (adaptive), tức rõ chọn sau thiết kế dựa vào kiến thức phân tích dựa vào cặp X-Y thu nhặt từ trước Để đánh giá tính an tồn hệ mã mật (khi áp vào hay số mơ hình cơng cụ thể) người ta áp dụng mơ hình đánh giá với mức độ mạnh đến yếu đây: Bảo mật vô điều kiện (unconditional security): Đây mô hình đánh giá ATBM mức cao nhất, “vơ điều kiện” hiểu theo ý nghĩa lý thuyết thơng tin (information theory), ý niệm “lượng tin” hình thức hóa thơng qua phép tốn xác suất Trong mơ hình này, kẻ địch coi khơng bị hạn chế lực tính tốn, tức thực khối lượng tính tốn cực lớn đặt khoảng thời gian ngắn Mặc dù có lực tính tốn siêu nhiên vậy, mơ hình giả thiết kẻ cơng người ngồi hồn tồn (tức ứng với mơ hình cơng chỉ-biết-bản-mã) Một hệ mật mã đạt mức an tồn vơ điều kiện, tức đứng vững trước sức mạnh kẻ địch bên (chỉ biết mã) có khả khơng hạn chế tính tốn, gọi đạt đến bí mật tuyệt đối (perfect secretcy) Một cách khái quát, việc nghe trộm mã đơn giản cung cấp lượng kiến thức zero tuyệt đối, khơng giúp cho việc phá giải mã kẻ địch Việc biết mã không đem lại chút đầu mối cho khả lần tìm khóa hệ mã Bảo mật chứng minh (provable security): Đây mơ hình đánh giá mức cao, lý tưởng hầu hết trường hợp Một hệ mật mã đạt mức đánh giá mo hình cơng cụ thể đó, ta chứng tốn học tính an tồn hệ mật qui tính NP-khó tốn biết từ lâu (ví dụ tốn phân tích thừa số nguyên tố, toán túi, tốn tính logarit rời rạc ) Nói cách khác ta phải chứng minh kẻ thù muốn phá hệ mã phải thực khối lượng tính tốn tương đương với việc giải tốn NP-khó biết Bảo mật tính toán được, hay bảo mật thực tiễn (computational security hay practical security): Đây mức đánh giá thường áp dụng thực tế (khi mức bảo mật cao cho đạt tới) Khi đánh giá mức với hệ mã cụ thể, người ta lượng hóa khối lượng tính tốn đặt để phá hệ mã này, sử dụng kiểu công mạnh biết (thường kèm theo mơ hình cơng phổ biến mạnh nhất) Từ việc đánh giá khối lượng tính tốn thời gian thực (với lực kẻ địch mạnh thực tế), so sánh với thời gian đòi hỏi đảm bảo tính mật thực tế, ta đánh giá hệ mã có đạt an tồn thực tiễn cao hay không Đôi khi, sở đánh giá dựa vào tốn khó khơng đưa chứng minh tương đương thực Ví dụ: Giả thiết hệ mã X sử dụng mã mật loại văn hợp đồng có giá trị sử dụng năm Nếu kẻ địch có lực tính tốn mạnh phải thời gian đến 20 năm để phá (chẳng hạn sử dụng tồn lực lượng tính tốn công ty IT lớn Microsoft hay Google), hệ mã X đánh giá đảm bảo mức an toàn thực tiễn Bảo mật tự tác (ad hoc security): Một số hệ mật mã riêng số công ty cá nhân tự chế để phục vụ mục đích đặc biệt dùng nội Tác giả loại hệ mật mã sử dụng lập luận đánh giá hợp lý định dựa việc ước đốn khối lượng tính tốn kẻ địch sử dụng công mạnh nhấn biết lập luận tính bất khả thi thực tiễn để thực Mặc dù hệ mật mã bị phá cơng tồn mà chưa biết tới đến thời điểm đó; vây, thực tế bảo mật mức hàm nghĩa khơng có chứng minh đảm bảo thực sự, nên coi tin cậy với đại chúng 1.2 MỘT SỐ HỆ MẬT MÃ CỔ ĐIỂN Việc nghiên cứu hệ mã mật (cipher) cổ điển cần thiết để qua làm quen với nguyên tắc thiết kế phân tích hệ mật mã nói chung 1.2.1 Mật mã bảng (Monoalphabetic cipher) Ở thuật toán dựa phép hoán vị bảng chữ alphabet Ví dụ 1.1 Một cipher dựa bảng hoán vị tiếng Anh sau a b c d e x y z F G N T A K P L Qua bảng biến đổi thấy a F, bG … Qua có Plaintext: a bad day F GFT TFP  Ciphertext: Như khoá cipher loại bảng hoán vị (A F, bG, , zL) trên, biểu diễn ngắn gọn bằngdòng thứ hai phép biến đổi này, tức FGNT PL Dòng thứ bảng biến đổi bảng chữ gốc, cố định nên khơng tính tới khố Dòng thứ hai, gọi bảng thay (substitution alphabet) Chú ý không thiết phải dùng bảng chữ mà ta dùng thứ bảng ký hiệu Ví dụ 1.2 Ở bảng chữ rõ, plaintext alphabet, tập hợp xâu nhị phân với độ dài Bảng biến đổi: p.text 000 001 010 011 100 101 110 111 c.text 101 111 000 110 010 100 001 011 Do xâu nhị phân plaintext 100101111 mã hoá thành 010100011 Để giải mã rõ nhận từ thuật tốn mật mã trên, người có mã ciphertext cần biết khóa, yêu cầu giao thức trao khố Đơn giản thực người gửi tin ghi khoá đĩa chuyển đĩa cho người nhận Rõ ràng cách làm đơn giản thực tế khơng an tồn Trong thực tế người ta sử dụng nhiều giao thức phức tạp tinh vi Nếu kẻ thù khố liệu chúng đốn khơng ? Hiển nhiên điều phụ thuộc vào số lượng khố có (độ lớn khơng gian khố có) Nếu kích thước bảng alphabet N số khố N! =N(N1) tính xấp xỉ theo cơng thức: n N!  (2πn)1/2(n/e) Cho N=26, ta có N!=26!926 Chú ý rằng, số lượng bit chuyển mật gọi chiều dài khố Ví dụ 1.3 Chiều dài khoá cipher loại xét 26*5=130 bits, số lượng bit tin cần dùng để chuyển dòng thứ hai bảng chuyển vị (Dòng thứ ngầm định ABC XYZ, nên không cần chuyển) Chú ý: Không phải tất cipher che giấu nội dung thơng tin Ví dụ 1.4: Sau cipher không làm thay đổi plaintext ab c d e x y z A B C D E X Z Y Mật mã cộng (Additive cipher) - Mật mã Xeda (Ceasar) Mật mã cộng (Additive cipher) mật mã bảng đặc biệt đó, phép biến đổi mã biểu diễn thơng qua phép cộng đồng dư sau Giả sử ta gán giá trị từ A-Z với số 1-25,0 Thế chữ plaintext X mã thành ciphertext Y theo công thức: Y = X  Z, Z giá trị khố,  ký hiệu phép cộng đồng dư modulo 26 Ví dụ 1.5 Xét mật mã bảng sau đây: a b c d e x y z D E F G H A B C Đây mật mã Ceasar giới thiệu từ đầu chương, giá trị khóa Z=3: D=a 3, E=b 3, A=x 3, B=y 3, C=z 3 Rõ ràng số lượng khố dùng 25 số lượng bít cần thiết cho việc chuyển khố (24 < 25

Ngày đăng: 26/11/2019, 22:38

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan