Bài giảng Các vấn đề về an ninh an toàn mạng

Phương thức mã hóa dùng khoá công khai được phát minh bởi Whitfield Diffie

và Martin Hellman vào năm 1975; Phương thức mã hóa này sử dụng 2 khóa là

Public key và Private Key có các quan hệ toán học với nhau. Trong đó Private Key

được giữ bí mật và không có khả năng bị lộdo không cần phải trao đổi trên mạng;

Public key không phải giữ bí mật và mọi người đều có thể nhận được khoá này. Do

phương thức mã hóa này sử dụng 2 khóa khác nhau, nên người ta gọi nó là phương

thức mã hóa phi đối xứng. Mặc dù Private key được giữ bí mật, nhưng không giống

với "secret Key" được sử dụng trong phương thức mã hóa đối xứng sử dụng khoá bí

mật do Private Key không được trao đổi trên mạng.

pdf13 trang | Chia sẻ: maiphuongdc | Ngày: 05/02/2014 | Lượt xem: 2495 | Lượt tải: 32download
Bạn đang xem nội dung tài liệu Bài giảng Các vấn đề về an ninh an toàn mạng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 1 Các vấn đề về an ninh an toμn mạng I. Một số khái niệm về bảo mật Tr−ớc khi tìm hiểu các vấn đề liên quan đến ph−ơng thức phá hoại và các biện pháp bảo vệ cũng nh− thiết lập các chính sách về bảo mật, phần sau đây sẽ trình bày một số khái niệm liên quan đến bảo mật thông tin trên mạng Internet. 1 Đối t−ợng tấn công mạng (Intruder): Là những cá nhân hoặc các tổ chức sử dụng các kiến thức về mạng và các công cụ phá hoại (phần mềm hoặc phần cứng) để dò tìm các điểm yếu, lỗ hổng bảo mật trên hệ thống, thực hiện các hoạt động xâm nhập và chiếm đoạt tài nguyên mạng trái phép. Một số đối t−ợng tấn công mạng là: - Hacker: Là những kẻ xâm nhập vào mạng trái phép bằng cách sử dụng các công cụ phá mật khẩu hoặc khai thác các điểm yếu của các thành phần truy nhập trên hệ thống - Masquerader: Là những kẻ giả mạo thông tin trên mạng. Một số hình thức giả mạo nh− giả mạo địa chỉ IP, tên miền, định danh ng−ời dùng ... - Eavesdropping: Là những đối t−ợng nghe trộm thông tin trên mạng, sử dụng các công cụ sniffer; sau đó dùng các công cụ phân tích và debug để lấy đ−ợc các thông tin có giá trị Những đối t−ợng tấn công mạng có thể nhằm nhiều mục đích khác nhau: nh− ăn cắp những thông tin có giá trị về kinh tế, phá hoại hệ thống mạng có chủ định, hoặc cũng có thể chỉ là những hành động vô ý thức, thử nghiệm các ch−ơng trình không kiểm tra cẩn thận ... 2 Các lỗ hổng bảo mật: Các lỗ hổng bảo mật là những điểm yếu kém trên hệ thống hoặc ẩn chứa trong một dịch vụ mà dựa vào đó kẻ tấn công có thể xâm nhập trái phép để thực hiện các hành động phá hoại hoặc chiếm đoạt tài nguyên bất hợp pháp. Nguyên nhân gây ra những lỗ hổng bảo mật là khác nhau: có thể do lỗi của bản thân hệ thống, hoặc phần mềm cung cấp, hoặc do ng−ời quản trị yếu kém không hiểu sâu sắc các dịch vụ cung cấp ... Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 2 Mức độ ảnh h−ởng của các lỗ hổng là khác nhau. Có những lỗ hổng chỉ ảnh h−ởng tới chất l−ợng dịch vụ cung cấp, có những lỗ hổng ảnh h−ởng nghiêm trọng tới toàn bộ hệ thống ... II. Một số hình thức tấn công mạng Có thể tấn công mạng theo một trong các hình thức sau đây: - Dựa vào những lỗ hổng bảo mật trên mạng: Những lỗ hổng này có thể là các điểm yếu của dịch vụ mà hệ thống đó cung cấp; Ví dụ những kẻ tấn công lợi dụng các điểm yếu trong các dịch vụ mail, ftp, web ... để xâm nhập và phá hoại Hình 1 - Các hình thức tấn công mạng - Sử dụng các công cụ để phá hoại: Ví dụ sử dụng các ch−ơng trình phá khoá mật khẩu để truy nhập vào hệ thống bất hợp pháp; Lan truyền virus trên hệ thống; cài đặt các đoạn mã bất hợp pháp vào một số ch−ơng trình. Nh−ng kẻ tấn công mạng cũng có thể kết hợp cả 2 hình thức trên với nhau để đạt đ−ợc mục đích. Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 3 - Mức 1 (Level 1): Tấn công vào một số dịch vụ mạng: nh− Web, Email, dẫn đến các nguy cơ lộ các thông tin về cấu hình mạng. Các hình thức tấn công ở mức này có thể dùng DoS hoặc spam mail. - Mức 2 (Level 2): Kẻ phá hoại dùng tài khoảng của ng−ời dùng hợp pháp để chiếm đoạt tài nguyên hệ thống; (Dựa vào các ph−ơng thức tấn công nh− bẻ khoá, đánh cắp mật khẩu ...); kẻ phá hoại có thể thay đổi quyền truy nhập hệ thống qua các lỗ hổng bảo mật hoặc đọc các thông tin trong tập tin liên quan đến truy nhập hệ thống nh− /etc/passwd - Từ Mức 3 đến mức 5: Kẻ phá hoại không sử dụng quyền của ng−ời dùng thông th−ờng; mà có thêm một số quyền cao hơn đối với hệ thống; nh− quyền kích hoạt một số dịch vụ; xem xét các thông tin khác trên hệ thống - Mức 6: Kẻ tấn công chiếm đ−ợc quyền root trên hệ thống. III. Các mức bảo vệ an toàn mạng Vì không có một giải pháp an toàn tuyệt đối nên ng−ời ta th−ờng phải sử dụng đồng thời nhiều mức bảo vệ khác nhau tạo thành nhiều lớp "rào chắn" đối với các hoạt động xâm phạm. Việc bảo vệ thông tin trên mạng chủ yếu là bảo vệ thông tin cất giữ trong các máy tính, đặc biệt là trong các server của mạng. Hình sau mô tả các lớp rào chắn thông dụng hiện nay để bảo vệ thông tin tại các trạm của mạng Information A cc es s rig ht s lo gi n/ pa ss w or d da ta e nc ry tio n Ph ys ic al p ro te ct io n fir ew al ls Hình 2 - Các mức độ bảo vệ mạng Nh− minh hoạ trong hình trên, các lớp bảo vệ thông tin trên mạng gồm: - Lớp bảo vệ trong cùng là quyền truy nhập nhằm kiểm soát các tài nguyên (ở đây là thông tin) của mạng và quyền hạn (có thể thực hiện Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 4 những thao tác gì) trên tài nguyên đó. Hiện nay việc kiểm soát ở mức này đ−ợc áp dụng sâu nhất đối với tệp - Lớp bảo vệ tiếp theo là hạn chế theo tài khoản truy nhập gồm đăng ký tên/ và mật khẩu t−ơng ứng. Đây là ph−ơng pháp bảo vệ phổ biến nhất vì nó đơn giản, ít tốn kém và cũng rất có hiệu quả. Mỗi ng−ời sử dụng muốn truy nhập đ−ợc vào mạng sử dụng các tài nguyên đều phải có đăng ký tên và mật khẩu. Ng−ời quản trị hệ thống có trách nhiệm quản lý, kiểm soát mọi hoạt động của mạng và xác định quyền truy nhập của những ng−ời sử dụng khác tuỳ theo thời gian và không gian. - Lớp thứ ba là sử dụng các ph−ơng pháp mã hoá (encryption). Dữ liệu đ−ợc biến đổi từ dạng "đọc đ−ợc" sang dạng không "đọc đ−ợc" theo một thuật toán nào đó. Chúng ta sẽ xem xét các ph−ơng thức và các thuật toán mã hoá hiện đ−ợc sử dụng phổ biến ở phần d−ới đây. - Lớp thứ t− là bảo vệ vật lý (physical protection) nhằm ngăn cản các truy nhập vật lý bất hợp pháp vào hệ thống. Th−ờng dùng các biện pháp truyền thống nh− ngăn cấm ng−ời không có nhiệm vụ vào phòng đặt máy, dùng hệ thống khoá trên máy tính, cài đặt các hệ thống báo động khi có truy nhập vào hệ thống ... - Lớp thứ năm: Cài đặt các hệ thống bức t−ờng lửa (firewall), nhằm ngăn chặn các thâm nhập trái phép và cho phép lọc các gói tin mà ta không muốn gửi đi hoặc nhận vào vì một lý do nào đó. IV. Các ph−ơng thức mã hoá Một trong những biện pháp bảo mật th−ờng sử dụng đó là áp dụng các cơ chế mã hoá. Sau đây sẽ phân tích một số cơ chế mã hoá đảm bảo tính an toàn và tin cậy dữ liệu th−ờng đ−ợc sử dụng trong các dịch vụ trên mạng Internet 1. Đặc điểm chung của các ph−ơng thức mã hóa: Trong các ph−ơng thức mã hóa, mỗi ph−ơng thức đều chủ yếu tập trung giải quyết 6 vấn đề chính nh− sau: - Authentication - Hoạt động kiểm tra tính xác thực một thực thể trong giao tiếp - Authorization - Hoạt động kiểm tra thực thể đó có đ−ợc phép thực hiện những quyền hạn cụ thể nào. Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 5 - Confidential - Tính bảo mật; Xác định mức độ bảo mật đối với mỗi ph−ơng thức bảo mật. - Integrity - Tính toàn vẹn: Kiểm tra tính toàn vẹn dữ liệu khi sử dụng mỗi ph−ơng thức bảo mật cụ thể. - Nonrepudiation - Tính không thể phủ nhận. Xác định tính xác thực của chủ thể gây ra hành động - Availability - Khả năng thực hiện ph−ơng thức bảo mật đó trong môi tr−ờng và điều kiện thực tế. a) Authentication: Là hoạt động liên quan đến kiểm tra tính đúng đắn một thực thể giao tiếp trên mạng. Một thực thể có thể là một ng−ời, một ch−ơng trình máy tính, hoặc một thiết bị phần cứng. Các hoạt động kiểm tra tính xác thực đ−ợc đánh giá là quan trọng nhất trong các hoạt động của một ph−ơng thức bảo mật. Một hệ thống thông th−ờng phải thực hiện kiểm tra tính xác thực của một thực thể tr−ớc khi thực thể đó thực hiện kết nối với hệ thống. Cơ chế kiểm tra tính xác thực của các ph−ơng thức bảo mật dựa vào 3 mô hình chính sau: Những thông tin biết tr−ớc, những thông tin đã có và những thông tin xác định tính duy nhất. - Với cơ chế kiểm tra dựa vào mô hình những thông tin biết tr−ớc, đối t−ợng cần kiểm tra cần phải cung cấp những thông tin mà chúng biết, ví dụ nh− password, hoặc mã số thông số cá nhân PIN (Personal information number). - Với cơ chế kiểm tra dựa vào mô hình những thông tin đã có, đối t−ợng kiểm tra cần phải thể hiện những thông tin mà chúng sở hữu, ví dụ nh− private key, hoặc số thẻ tín dụng. - Với cơ chế kiểm tra dựa vào mô hình những thông tin xác định tính duy nhất, đối t−ợng kiểm tra cần phải có những thông tin để định danh tính duy nhất của mình ví dụ nh− thông qua giọng nói hoặc fingerprint. b) Authorization: Là hoạt động kiểm tra tính hợp lệ có đ−ợc cấp phát thực hiện một hành động cụ thể hay không. Do vậy hoạt động này liên quan đến các dịch vụ cấp phát quyền truy cập, đảm bảo cho phép hoặc không cho phép truy nhập đối với những tài nguyên đã đ−ợc phân quyền cho các thực thể. Những hoạt động ở đây có thể là Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 6 quyền đọc dữ liệu, viết, thi hành một ch−ơng trình hoặc sử dụng một thiết bị phần cứng... Cơ chế thực hiện việc phân quyền dựa vào 2 mô hình chính sau: mô hình ACL (Access Control list) và mô hình dựa trên cơ chế thiết lập các chính sách (Policy). c) Confidential: Đánh giá mức độ bảo mật , hay tính an toàn đối với mỗi ph−ơng thức bảo mật, mức độ có thể phục hồi dữ liệu từ những ng−ời không có quyền đối với dữ liệu đó. Có thể bảo mật dữ liệu theo kiến trúc end-to-end hoặc link-by-link. Với mô hình end-to-end, dữ liệu đ−ợc bảo mật trong toàn bộ quá trình xử lý, l−u truyền trên mạng; Với mô hình link-by-link dữ liệu chỉ đ−ợc bảo vệ trên các đ−ờng truyền vật lý d) Integrity: Tính toàn vẹn; hoạt động này đánh giá khả năng sửa đổi dữ liệu so với dữ liệu nguyên thủy ban đầu; Một ph−ơng thức bảo mật có tính toàn vẹn dữ liệu khi nó đảm bảo các dữ liệu mã hóa không thể bị thay đổi nội dung so với tài liệu gốc (khi đã đ−ợcg giải mã) và trong tr−ờng hợp những kẻ tấn công trên mạng sửa đổi nội dung dữ liệu đã mã hóa thì không thể khôi phục lại dạng ban đầu của dữ liệu. e) Nonreputation: Tính không thể phủ nhận; Xác định tính xác thực của chủ thể gây ra hành động có thực hiện bảo mật. (Ví dụ chữ ký điện tử sử dụng trong hệ thống Mail cho phép xác định chính xác đối t−ợng "ký"- ng−ời gửi message đó.) f) Availability: Đánh giá tính thực thi của một ph−ơng thức bảo mật. Ph−ơng thức bảo mật đó phải có khả năng thực hiện trong thực tế đối với các hệ thống máy tính, dữ liệu và thực hiện với các tài nguyên phần cứng, phần mềm; đồng thời phải đảm bảo các yêu cầu về tốc độ tính toán, khả năng chuyển đổi, tính t−ơng thích giữa các hệ thống khác nhau. 2. Các ph−ơng thức mã hóa: a) Ph−ơng thức mã hóa dùng khoá bí mật (Secret Key Crytography) Sơ đồ sau đây minh hoạ quá trình làm việc của ph−ơng thức mã hoá sử dụng khoá bí mật: Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 7 Hình 3 - Ph−ơng thức mã hóa đối xứng Đây là ph−ơng thức mã hoá đối xứng: Message ở dạng Plaintext (dạng đọc đ−ợc) đ−ợc mã hoá sử dụng Private Key (khoá mà chỉ có ng−ời mã hoá mới biết đ−ợc) tạo thành message đ−ợc mã hoá (Ciphertext). ở phía nhận, message mã hoá đ−ợc giải mã cùng với Private Key mã hoá ban đầu thành dạng Plaintext. Điểm chú ý của ph−ơng pháp mã hoá này là việc sử dụng khoá bí mật cho cả quá trình mã hoá và quá trình giải mã. Do đó, nh−ợc điểm chính của ph−ơng thức này là cần có quá trình trao đổi khoá bí mật, dẫn đến tình trạng dễ bị lộ khoá bí mật Có hai loại mã hoá đối xứng nh− sau: Mã hoá theo từng khối và mã hoá theo bits dữ liệu. - Các thuật toán mã hoá đối xứng theo từng khối dữ liệu (Block Cipher) thực hiện chia message ở dạng plaintext thành các khối ví dụ 64 bits (hoặc 2n bits), sau đó tiến hành mã hoá từng khối này. Đối với khối cuối cùng nếu không đủ 64 bits sẽ đ−ợc bù thêm phần dữ liệu đệm (padding). Bên nhận sẽ thực hiện giải mã theo từng khối. - Mã hoá theo từng bits dữ liệu (Stream Ciphers) Bảng sau đây mô tả một số ph−ơng pháp mã hoá đối xứng sử dụng khoá bí mật Tên thuật toán Chế độ mã hoá Chiều dài khoá DES Theo khối 56 IDEA Theo khối 128 RC2 Theo khối 2048 RC4 Theo bit 2048 RC5 Theo khối 2048 Encrytion Plaintext Ciphertex Decrytion Private key Plaintext Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 8 Để khắc phục điểm hạn chế của ph−ơng pháp mã hoá đối xứng là quá trình trao đổi khoá bí mật, ng−ời ta đã sử dụng ph−ơng pháp mã hoá phi đối xứng sử dụng một cặp khoá t−ơng ứng với nhau gọi là ph−ơng thức mã hoá phi đối xứng dùng khoá công khai (Public-Key Crytography). b) Ph−ơng thức mã hóa dùng khoá công khai (Public-Key Crytography) Ph−ơng thức mã hóa dùng khoá công khai đ−ợc phát minh bởi Whitfield Diffie và Martin Hellman vào năm 1975; Ph−ơng thức mã hóa này sử dụng 2 khóa là Public key và Private Key có các quan hệ toán học với nhau. Trong đó Private Key đ−ợc giữ bí mật và không có khả năng bị lộ do không cần phải trao đổi trên mạng; Public key không phải giữ bí mật và mọi ng−ời đều có thể nhận đ−ợc khoá này. Do ph−ơng thức mã hóa này sử dụng 2 khóa khác nhau, nên ng−ời ta gọi nó là ph−ơng thức mã hóa phi đối xứng. Mặc dù Private key đ−ợc giữ bí mật, nh−ng không giống với "secret Key" đ−ợc sử dụng trong ph−ơng thức mã hóa đối xứng sử dụng khoá bí mật do Private Key không đ−ợc trao đổi trên mạng. Public key và Private key t−ơng ứng của nó có quan hệ toán học với nhau và đ−ợc sinh ra sau khi thực hiện các hàm toàn học; nh−ng các hàm toán học này luôn thoả mãn điều kiện là sao cho không thể tìm đ−ợc private key từ public key và ng−ợc lại. Do đó, một cặp khoá public key và private key t−ơng ứng đ−ợc gọi là key pair. Do có mối quan hệ toán học với nhau, một message đ−ợc mã hóa bằng public key chỉ có thể giải mã đ−ợc bằng private key t−ơng ứng; một message đ−ợc mã hóa bằng private key chỉ có thể giải mã đ−ợc bằng public key t−ơng ứng của nó. Thuật toán Public key có tính thuận nghịch nếu nó có khả năng sử dụng cả cho bảo mật và ký điện tử. Nó là không có tính thuận nghịch nếu chỉ có khả năng ký. Với các thuật toán bất thuận nghịch, private key chỉ có thể mã hóa plaintext (tức là quá trình ký) mà không có khả năng giải mã ciphertext. Một loại khác của thuật toán mã hóa public-key là hoặc không thể mã hóa hoặc không thể ký; thuật toán này đ−ợc gọi là thuật toán key exchange (thuật toán chuyển đổi khóa). Thuật toán Public-key dựa trên mối quan hệ toán học giữa Public key và private key. Bảng sau đây liệt kê các thuật tóan public-key thông dụng nh− sau: Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 9 Tên Thuật toán Type Nền tảng toán học DSA Digital signature Thuật toán rời rạc RSA Digital signature, Key Exchange Tìm thừa số - RSA, là tên của 3 nhà toán học đã tìm ra ph−ơng thức mã hóa này, đó là Rivest, Shamir và Adleman. RSA là thuật toán public-key thông dụng nhất từ tr−ớc tới nay. RSA có thể sử dụng cả cho mã hóa, ký, và key exchange. Chiều dài của key có thể thay đổi, thông th−ờng trong phạm vi từ 512 đến 2048 bits. Việc lựa chọn chiều dài key phải đảm bảo cân bằng giữa tốc độ tính toán và độ phức tạp của ph−ơng thức mã hóa. - DSA (Digital Signature Algorithm), ph−ơng thức mã hóa này đ−ợc ra đời từ chuẩn DSS (Digital Signature Standard), đ−ợc giới thiệu vào năm 1994. DSA chỉ có thể ký vào một message; nó không thể dùng cho mã hóa bảo mật và key exchange Cơ chế làm việc của ph−ơng pháp mã hoá sử dụng khoá công khai đ−ợc mô tả bằng hình sau: Hình 4 - Ph−ơng thức mã hóa phi đối xứng Giả sử A muốn gửi cho B một message đ−ợc mã hóa theo ph−ơng thức public- key. A sử dụng Public key của B để mã hóa Plaintext tạo thành ciphertext (A có thể nhận đ−ợc Public Key của B do Public Key là khoá công khai) . Sau đó ciphertext này đ−ợc chuyển tới B. ở phía nhận B sử dụng private key của mình để giải mã Ciphertext và đọc đ−ợc message ban đầu của A. Do đó, để thực hiện ph−ơng thức mã hóa dùng khoá công khai, có một số vấn đề cần giải quyết nh− sau: Encrytion Public k Plaintext Ciphertex Decrytion Plaintext Private key Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 10 - Câu hỏi 1: Làm thế nào để A có thể kiểm tra tính xác thực của Public Key của B? - Câu hỏi 2: Làm thế nào để B biết đ−ợc chính xác là message đó đ−ợc gửi đi từ A. Chúng ta xem xét các tình huống có thể bị tấn công đối với ph−ơng thức mã hoá phi đối xứng nh− sau: - Tr−ờng hợp có kẻ nghe trộm thông tin trao đổi trên mạng: C là một ng−ời nghe trộm, C có thể lấy đ−ợc ciphertext chuyển từ A đến B, nh−ng không thể giải mã đ−ợc message này vì C không có private key của B. - Tr−ờng hợp giả mạo khoá công khai: Vấn đề đặt ra là làm thế nào để A có thể biết chính xác Public key mà A sử dụng đúng là Public Key của B. Trong tr−ờng hợp này, nếu D giả mạo B gửi Public key của D đến A (A nhận đ−ợc Public key là của D mà không phải là của B), và A vẫn mã hoá message của mình; khi đó message đến D sẽ vẫn giải mã đ−ợc do D có private key của mình. Để khắc phục hạn chế này ng−ời ta xây dựng một hệ thống các tổ chức thứ ba đóng vai trò trung gian trong việc xác thực tín đúng đắn của một Public Key. Đó là các tổ chức xây dựng hệ thống chứng thực điện tử (trong phần 3 sẽ trình bày kỹ hơn về Ceriticate) - Tr−ờng hợp sử dụng Private Key để mã hoá: nếu nh− A sử dụng private key của mình để mã hóa một message và gửi message đó tới B? Khi đó, B có thể sử dụng Public key của A để giải mã message từ A. Một ng−ời thứ ba C cũng có Public key của A (public key là một khóa công khai) nên nếu nhận đ−ợc message gửi từ A cũng có thể giải mã đ−ợc message và đọc nó. Do đó, A không thể sử dụng private key của mình để mã hóa một message. Tuy nhiên dựa vào đặc điểm ánh xạ 1:1 giữa Private Key và Public Key ta có thể thấy rằng message đ−ợc mã hoá là đ−ợc gửi từ A mà không phải là một ng−ời khác. Điều này cũng trả lời cho câu hỏi 2. Một hạn chế của ph−ơng thức mã hóa dùng khoá công khai là làm giảm tốc độ thực hiện thao tác xuống từ 100 đến 1000 lần so với ph−ơng thức mã hóa đối xứng. Do đó, ph−ơng thức mã hóa này ít đ−ợc sử dụng để mã hóa với dữ liệu kích th−ớc lớn. Ph−ơng thức này th−ờng đ−ợc sử dụng cho giai đoạn khởi đầu của kết nối giữa hai thực thể cần giao tiếp với nhau và sau đó một khoá bí mật (secret key) đ−ợc tạo Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 11 để thực hiện qúa trình trao đổi dữ liệu (khoá bí mật này chỉ tồn tại trong một session làm việc duy nhất). Việc sử dụng kỹ thuật mã hoá dùng dùng khoá công khai cho quá trình bắt tay giữa hai thực thể cần trao đổi thông tin có yêu cầu bảo mật kết hợp với thuật toán dùng khoá bí mật cho quá trình trao đổi dữ liệu tạo thành một ph−ơng thức mã hóa lai. Để thực hiện đ−ợc ph−ơng thức mã hoá lai, Netscape đã đ−a ra giao thức SSL thực hiện các quá trình trên. Phần 3 trình bày về tạo kết nối bảo mật sẽ trình bày kỹ hơn về vấn đề này. Qua các phân tích trên, chúng ta thấy rằng có hai khả năng cần phải khắc phục khi sử dụng ph−ơng thức mã hóa dựa trên nền tảng Public key đó là: - Nếu sử dụng Public key để mã hóa một message thì đảm bảo message đó là hoàn toàn bảo mật; nh−ng cần phải kiểm tra tính xác thực của public key (1) - Nếu sử dụng Private key để mã hóa một message thì có thể giải mã đ−ợc bởi nhiều ng−ời có đ−ợc public key; nh−ng lại có thể sử dụng ph−ơng thức này để kiểm tra tính xác thực của một ng−ời ký vào message đó. (2) Vấn đề đặt ra là có thể tận dụng đ−ợc hai đặc điểm này để đảm bảo phiên giao dịch là hoàn toàn bảo mật và tin cậy. Cụ thể nh− sau: - Ng−ời ta sẽ sử dụng private key để ký vào một message; mà nội dung của message này là public key của ng−ời đó. Quá trình này đảm bảo đ−ợc rằng public key đúng là của ng−ời; điều này khắc phục đ−ợc nh−ợc điểm (1) đã nêu ở trên. - Sau đó một message đ−ợc mã hóa bằng public key vừa gửi đến đảm bảo rằng chỉ có ng−ời có private key của nó mới có khả năng giải mã đ−ợc. Điều này khắc phục đ−ợc nh−ợc điểm (2) đã nêu ở trên. c) Ph−ơng thức mã hoá một chiều - thuật toán Băm Để đảm bảo tính toàn vẹn của dữ liệu không bị thay đổi so với dữ liệu ban đầu, ng−ời ta đ−a ra các ph−ơng thức mã hoá một chiều sử dụng các thuật toán Băm . Hoạt động của ph−ơng thức mã hoá này đ−ợc minh hoạ trong hình sau: Hình 5 - Mã hóa một chiều one-way function Plain text Message digest (hash) Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 12 Hình trên mô tả hoạt động của ph−ơng thức mã hóa 1 chiều (Message - Digest); Theo đó, đầu ra của ph−ơng thức này là một Message Digest có chiều dài cố định (message này gọi là message digest, hoặc digest hoặc hash). Với mỗi đầu vào Plaintext sẽ chỉ có duy nhất một kết quả đầu ra t−ơng ứng và từ Message Digest không thể tìm ra Message dạng Plaintext ban đầu. Message (dạng Plain text) sau khi thực hiện hàm hashing sẽ tạo ra một chuỗi các ký tự - đặc tr−ng cho message đầu vào. Giải thuật message digest là một thuận toán một chiều hay th−ờng gọi là thuật toán hash. Ph−ơng thức mã hóa này không sử dụng để mã hóa dữ liệu mà th−ờng sử dụng để kiểm tra tính toán vẹn của dữ liệu trong quá trình truyền thông tin trên mạng. Các thuật toán hashing có 3 đặc điểm chính nh− sau: - Không có khả năng tạo ra message ban đầu dựa trên digest của nó (nói cách khác là thuật toán hashing phải đảm bảo có tính một chiều, không thể thực hiện theo chiều ng−ợc lại) - Không thể tìm ra một message gốc từ một digest đặc biệt - Không thể tìm 2 message khác nhau có cùng một digest giống nhau Nếu chiều dài của digest là m bits, nó sẽ cần phải thử 2m message để tìm ra một message với digest mong muốn t−ơng ứng và thực hiện 2m/2 meesage để tìm 2 message có cùng một digest. Do đó các hàm thực hiện message-digest phải có đầu ra ít nhất là 128 bits , vì tối thiểu là 264 là không thể tính toán đ−ợc với các khả năng tính toán hiện nay. Bảng sau đây mô tả một số thuật toán hashing th−ờng sử dụng: Thuật toán Chiều dài của digest (bits) MD2 128 MD4 128 MD5 128 SHA-1 160 SHA 160 d) Message Authentication Codes - MAC MAC là một dữ liệu có chiều dài cố định, đ−ợc gửi cùng với một message để kiểm tra tính toàn vẹn dữ liệu của message đó. Các ph−ơng thức mã hóa dùng khóa bí Bài giảng Kỹ thuật an toàn mạng GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 13 mật và khóa công khai có thể đ−ợc sử dụng nh− là nền tảng của việc tạo các MACs. Một cách thông dụng để tạo MAC là dùng nhờ một block cipher text (một đoạn text đã đ−ợc mã hóa ) đ−ợc tạo từ ph−ơng thức mã hóa đối xứng sử dụng khóa bí mật. Các giao dịch tài chính trên mạng đã sử dụng ph−ơng thức này một thời gian dài để bảo vệ các giao dịch điện tử giữa các nhà bank trên mạng. Một hàm mã hóa hashing đ−ợc sử dụng kết hợp giữa một message và một khóa bí mật để tạo ra MAC. ở phía ng−ời nhận message, (chú ý ng−ời này dùng chung khóa bí mật với phía ng−ời gửi), tính toán hash theo dữ liệu gửi đến cùng với khóa bí mật của họ để tạo thành một MAC khác. Nếu 2 MAC này trùng với nhau, ng−ời nhận sẽ kết luận rằng message đó là đ−ợc gửi từ một ng−ời mà ng−ời đó đã biết khóa bí mật và message đó hoàn toàn không bị sửa chữa trong khi truyền dữ liệu. Quá trình này đ−ợc gọi là hàm keys hash, và t−ơng ứng với nó MAC đ−ợc gọi là HMAC

Các file đính kèm theo tài liệu này:

  • pdfan_ninh_mang (2).pdf
Tài liệu liên quan