1. Trang chủ
  2. » Công Nghệ Thông Tin

Hacker Professional Ebook part 128 pot

5 215 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 142,21 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Do các thuật toán loại này sử dụng một chìa khóa công khai không bí mật nên còn có tên gọi khác là public-key cryptography thuật toán mã hóa dùng chìa khóa công khai.. Sau khi kiểm tra c

Trang 1

được mã hóa bởi chìa công khai sẽ chỉ có thể được giải mã với chìa bí mật tương ứng Do các thuật toán loại này sử dụng một chìa khóa công khai (không bí mật) nên còn có tên gọi khác là public-key cryptography (thuật toán mã hóa dùng chìa khóa công khai)

Quay lại với Alice và Bob, nếu Alice muốn gửi một thông điệp bí mật tới Bob, cô

ta sẽ tìm chìa công khai của Bob Sau khi kiểm tra chắc chắn chìa khóa đó chính là của Bob chứ không của ai khác (thông qua chứng chỉ điện tử – digital certificate), Alice dùng nó để mã hóa thông điệp của mình và gửi tới Bob Khi Bob nhận được bức thông điệp đã mã hóa anh ta sẽ dùng chìa bí mật của mình để giải mã nó Nếu giải mã thành công thì bức thông điệp đó đúng là dành cho Bob Alice và Bob trong trường hợp này có thể là hai người chưa từng quen biết Một hệ thống như vậy cho phép hai người thực hiện được giao dịch trong khi không chia sẻ trước một thông tin bí mật nào cả

Một trong những hạn chế của các thuật toán mã hóa bất đối xứng là tốc độ chậm,

do đó trong thực tế người ta thường sử dụng một hệ thống lai tạp trong đó dữ liệu được mã hóa bởi một thuật toán đối xứng, chỉ có chìa dùng để thực hiện việc mã hóa này mới được mã hóa bằng thuật toán bất đối xứng

Tác giả: Hoàng Vũ (PCWVN)

MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG HỆ THỐNG THÔNG TIN MÃ HÓA

Quote:

Bất cứ ai cũng có thể tạo ra một hệ thống thông tin mã hóa cho riêng mình Nhưng

để có một hệ thống an toàn và hiệu quả đòi hỏi người thiết kế phải có kiến thức toán học sâu sắc, có kinh nghiệm về bảo mật và am hiểu các phương pháp tấn công

• Brute-force attack (exhaustive key search): phương pháp tấn công bằng cách thử tất cả những chìa khóa có thể có Đây là phương pháp tấn công thô sơ nhất và cũng khó khăn nhất

Theo lý thuyết, tất cả các thuật toán hiện đại đều có thể bị đánh bại bởi brute-force nhưng trong thực tiễn việc này chỉ có thể thực hiện được trong thời gian hàng triệu, thậm chí hàng tỉ năm Vì thế có thể coi một thuật toán là an toàn nếu như không còn cách nào khác để tấn công nó dễ hơn là brute-force

Ví dụ: Thuật toán DES có độ dài chìa khóa là 56 bit tức là có tổng cộng tất cả 256

Trang 2

chìa để dùng Nếu ai đó muốn "bẻ khoá” DES bằng cách thử hàng loạt chìa (brute-force attack) thì sẽ phải thử đến 256 lần (khoảng hơn 70 triệu tỉ lần)

• Frequency analysis: thống kê tần suất, chỉ có thể áp dụng được đối với các thuật toán cổ điển dùng phương pháp thay thế, ví dụ phương pháp Caesar Để thực hiện phương pháp này ta cần một lượng văn bản đã mã hóa đủ lớn để phép thống kê được chính xác Ngoài ra còn phải biết ngôn ngữ sử dụng trong văn bản ban đầu, nếu văn bản ban đầu là tiếng Anh thì nhiều khả năng kí tự xuất hiện nhiều nhất trong văn bản đã mã hóa là do chữ e mã hóa thành, kí tự nhiều thứ nhì bắt nguồn từ chữ a

• Differential cryptanalysis: Eli Biham và Adi Shamir tìm ra phương pháp này vào khoảng cuối những năm 1980; nó thường được sử dụng để tấn công các thuật toán khối (block cipher - sẽ nói rõ hơn ở phần sau) Phương pháp này dựa trên việc phân tích những biến đổi của hai văn bản gốc có liên quan khi được mã hóa bởi cùng một chìa

Còn rất nhiều phương pháp khác như Mod-n cryptanalysis, Linear cryptanalysis, Birthday attack, Algebraic attack mà bất cứ ai thiết kế hệ thống mã hóa cũng phải chú ý tới

Một số thuật toán nổi tiếng

Quote:

• One-time Pad (OTP): xuất hiện từ đầu thế kỉ 20 và còn có tên gọi khác là

Vernam Cipher, OTP được mệnh danh là cái chén thánh của ngành mã hóa dữ liệu OTP là thuật toán duy nhất chứng minh được về lý thuyết là không thể phá được ngay cả với tài nguyên vô tận (tức là có thể chống lại kiểu tấn công brute-force)

Để có thể đạt được mức độ bảo mật của OTP, tất cả những điều kiện sau phải được thỏa mãn:

- Độ dài của chìa khóa phải đúng bằng độ dài văn bản cần mã hóa

- Chìa khóa chỉ được dùng một lần

- Chìa khóa phải là một số ngẫu nhiên thực

Mới nghe qua có vẻ đơn giản nhưng trong thực tế những điều kiện này khó có thể thỏa mãn được Giả sử Alice muốn mã hóa chỉ 10MB dữ liệu bằng OTP, cô ta phải cần một chìa khóa có độ dài 10MB Để tạo ra một số ngẫu nhiên lớn như vậy Alice

Trang 3

cần một bộ tạo số ngẫu nhiên thực (TRNG - True Random Number Generator) Các thiết bị này sử dụng nguồn ngẫu nhiên vật lý như sự phân rã hạt nhân hay bức

xạ nền vũ trụ Hơn nữa việc lưu trữ, chuyển giao và bảo vệ một chìa khóa như vậy cũng hết sức khó khăn

Dễ dàng hơn, Alice cũng có thể dùng một bộ tạo số ngẫu nhiên ảo (PRNG - Pseudo Random Number Generator) nhưng khi đó mức độ bảo mật giảm xuống gần bằng zero hay cùng lắm chỉ tương đương với một thuật toán dòng như RC4 mà thôi

Do có những khó khăn như vậy nên việc sử dụng OTP trong thực tế là không khả thi

• DES: viết tắt của Data Encryption Standard DES là một thuật toán khối với kích

thước khối 64 bit và kích thước chìa 56 bit Tiền thân của nó là Lucifer, một thuật toán do IBM phát triển Cuối năm 1976, DES được chọn làm chuẩn mã hóa dữ liệu của nước Mỹ, sau đó được sử dụng rộng rãi trên toàn thế giới DES cùng với mã hóa bất đối xứng đã mở ra một thời kì mới cho ngành mã hóa thông tin Trước DES, việc nghiên cứu và sử dụng mã hóa dữ liệu chỉ giới hạn trong chính phủ và quân đội Từ khi có DES, các sản phẩm sử dụng nó tràn ngập thị trường Đồng thời, việc nghiên cứu mã hóa thông tin cũng không còn là bí mật nữa mà đã trở thành một ngành khoa học máy tính bình thường

Trong khoảng 20 năm sau đó, DES đã trải qua nhiều khảo sát, phân tích kỹ lưỡng

và được công nhận là an toàn đối với các dạng tấn công (tất nhiên, ngoại trừ brute-force)

Tới tháng 7 năm 1998, EFF (Electronic Frontier Foundation) đã "brute-force" thành công DES trong 56 giờ Ít lâu sau đó cùng với mạng tính toán ngang hàng Distribute.net, tổ chức này đã lập nên kỉ lục mới là 22 giờ 15 phút Sự kiện này chứng tỏ cỡ chìa 56 bit của DES đã lỗi thời và cần được thay thế

• AES: viết tắt của Advance Encryption Standard Tháng 12 năm 1997, viện tiêu

chuẩn và công nghệ Mỹ (NIST – National Institute of Standard and Technology) kêu gọi phát triển một thuật toán mới thay thế cho 3DES (một biến thể an toàn hơn của DES với chìa khóa dài 112 bit) Thuật toán được chọn phải là thuật toán khối

có kích thước khối là 128 bit, hỗ trợ chìa khóa có kích thước 128 bit, 192 bit và

256 bit

15 thuật toán được gửi đến từ nhiều nơi trên thế giới, 5 thuật toán lọt vào vòng hai:

Trang 4

Rijndael, Twofish, Serpent, RC6 và MARS Tháng 11 năm 2001, Rijndael đuợc chọn làm AES (một phần nhờ có tốc độ nhanh hơn so với các đối thủ), chính thức thay thế DES trong vai trò chuẩn mã hóa dữ liệu

• RSA: là một thuật toán mã hóa bất đối xứng được sử dụng rất rộng rãi trong giao

dịch điện tử Cái tên RSA có nguồn gốc từ ba chữ cái đầu của tên ba người đồng thiết kế ra nó: Ronald Rivest, Adi Shamir và Leonard Adleman

Ngoài ra còn nhiều thuật toán khác nhưng do khuôn khổ bài viết có hạn nên không thể đi sâu, mà chỉ liệt kê một số thuật toán thông dụng:

Các thuật toán đối xứng:

• Thuật toán dòng: RC4, A5/1, A5/2, Chameleon

• Thuật toán khối: 3DES, RC5, RC6, 3-Way, CAST, Camelia, Blowfish, MARS, Serpent, Twofish, GOST

Các thuật toán bất đối xứng: Elliptic Curve, ElGamal, Diffie Hellman

HÀM HASH (tiếp theo và hết)

Quote:

Hàm hash (hash function) là hàm một chiều mà nếu đưa một lượng dữ liệu bất kì qua hàm này sẽ cho ra một chuỗi có độ dài cố định ở đầu ra

Ví dụ, từ "Illuminatus" đi qua hàm SHA-1 cho kết quả

E783A3AE2ACDD7DBA5E1FA0269CBC58D

Ta chỉ cần đổi "Illuminatus" thành "Illuminati" (chuyển "us" thành "i") kết quả sẽ trở nên hoàn toàn khác (nhưng vẫn có độ dài cố định là 160 bit)

A766F44DDEA5CACC3323CE3E7D73AE82

Hai tính chất quan trọng của hàm này là:

• Tính một chiều: không thể suy ra dữ liệu ban đầu từ kết quả, điều này tương tự như việc bạn không thể chỉ dựa vào một dấu vân tay lạ mà suy ra ai là chủ của nó được

• Tính duy nhất: xác suất để có một vụ va chạm (hash collision), tức là hai thông điệp khác nhau có cùng một kết quả hash, là cực kì nhỏ

Trang 5

Một số ứng dụng của hàm hash:

• Chống và phát hiện xâm nhập: chương trình chống xâm nhập so sánh giá trị hash của một file với giá trị trước đó để kiểm tra xem file đó có bị ai đó thay đổi hay không

• Bảo vệ tính toàn vẹn của thông điệp được gửi qua mạng bằng cách kiểm tra giá trị hash của thông điệp trước và sau khi gửi nhằm phát hiện những thay đổi cho dù

là nhỏ nhất

• Tạo chìa khóa từ mật khẩu

• Tạo chữ kí điện tử

SHA-1 và MD5 là hai hàm hash thông dụng nhất và được sử dụng trong rất nhiều

hệ thống bảo mật Vào tháng 8 năm 2004, tại hội nghị Crypto 2004, người ta đã tìm thấy va chạm đối với MD5 và SHA-0, một phiên bản yếu hơn của hàm hash SHA-1 Không bao lâu sau đó, vào khoảng giữa tháng 2 năm 2005, một nhóm ba nhà mật mã học người Trung Quốc đã phát hiện ra một phương pháp có thể tìm thấy va chạm đối với SHA-1 chỉ trong vòng 269 bước tính toán (tức là có thể nhanh hơn brute-force vài nghìn lần)

Người dùng bình thường cũng không cần phải hoảng sợ trước những phát hiện này bởi vì ít nhất phải một vài năm nữa người ta mới có khả năng mang những kết quả

đó vào trong thực tế Tuy vậy, các chuyên gia vẫn khuyên nên bắt đầu chuyển sang các hàm hash an toàn hơn như SHA-256, SHA-384 hay SHA-512

Tài liệu tham khảo

Về mã hóa ngoài quyển kinh điển "Applied Cryptography Second Edition

Protocols Algorthms And Source Code In C" của tác giả BRUCE SCHNEIER

(Bruce Schneier là một chuyên gia nổi tiếng thế giới trong lĩnh vực Security đồng thời cũng là tác giả của nhiều cuốn sách rất hay Ông được đánh giá là một bậc thầy trong lĩnh vực security (Security Guru) Ông là con người sống ngay thẳng và đồng thời là người có những góp ý vể Security rất hay Khi một người nào đó muốn hiểu thực sự Seurity là như thế nào, tất cả họ đều tìm đến ông Applied

Cryptography, là một trong những cuốn sách bán chạy nhất của ông _ Mọi người

có thể tìm thêm thông tin về tác giả qua site : http://www.schneier.com/ Còn có một quyển khác của William Stallings đó là "Cryptography and Network

Security"_Quyển này có một bộ Slides gồm 20 Slides Mọi người có thể lên

Google để tìm

Kienmanowar(REA)

Ngày đăng: 04/07/2014, 11:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN