intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Các thuật toán mã hoá

Chia sẻ: Nguyễn Hữu Thiên Sơn | Ngày: | Loại File: DOC | Số trang:5

309
lượt xem
99
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong bài viết này tôi giới thiệu với các bạn sự khác nhau giữa các thuật toán mã hoá. Phần đầu tiên giới thiệu ba phương thức mã hoá: hashing, symmetric, asymmetric. Trong các bài viết tiếp theo tôi sẽ lần lượt trình bày về nhiều vấn đề và cách sử dụng các phương thức mã hoá đó.

Chủ đề:
Lưu

Nội dung Text: Các thuật toán mã hoá

  1. Các thuật toán mã hoá  Trong bài viết này tôi giới thiệu với các bạn sự khác nhau giữa các thuật toán mã hoá. Phần đầu  tiên giới thiệu ba phương thức mã hoá: hashing, symmetric, asymmetric. Trong các bài viết tiếp  theo tôi sẽ lần lượt trình bày về nhiều vấn đề và cách sử dụng các phương thức mã hoá đó. Thông tin quan trọng Các thuật toán mã hoá được chia làm ba dạng cơ bản đó là: Hashing (hàm băm), mật mã symmetric (đối xứng), và mật  mã asymmetric (bất đối xứng). Hashing được giới thiệu như một dạng ID số. Hai phương thức tiếp theo là symmetric và  asymmetric là quá trình mã hoá và giải mã. Bạn muốn hiểu về chúng trước tiên hãy xem các khái niệm và ví dụ dưới đây. 1. Hashing – Hàm Băm Hashing là một phương thức mật mã nhưng nó không phải là một thuật toán mã hoá. Đúng như vậy, hashing chỉ sử dụng  một chứng chỉ số duy nhất được biết đến với tên như "hash value – giá trị hash", "hash – băm", Message Authentication  Code (MAC), fingerprint – vân tay, hay một đoạn message. Dữ liệu đầu vào của bạn có thể là một file, một ổ đĩa một quá  trình truyền thong tin trên mạng, hay một bức thư điện tử. Thông số hash value được sử dụng để phát hiện khi có sự thay  đổi của tài nguyên. Nói cách khác, hashing sử dụng nó để phát hiện ra dữ liệu có toàn vẹn trong quá trình lưu trữ hay  trong khi truyền hay không. Ví dụ, thông số hash value được tính toán để so sánh với thông số hash value được tạo ra trước đó một tuần. Nếu hai  thông số giống nhau thì dữ liệu chưa có sự thay đổi. Nếu hai thông số có sự khác nhau, thì dữ liệu đã bị thay đổi. Trong  hình dưới đây thể hiện cơ bản về hash hay thong số MAC. Thông số MAC value được tính toán bởi người gửi (sender) và người nhận (receive) với cùng một thuật toán. Không như các phương thức mật mã khác, chúng sẽ làm thay đổi dữ liệu thành một dạng mật mã, quá trình hashing sử  dụng một thông số hash value và không thay đổi dữ liệu ban đầu. Bởi vì các tính năng đặc biệt, hashing có thể sử dụng  để bảo vệ và kiểm tra tính toàn vẹn của dữ liệu. Nó cũng có khả năng sử dụng để kiểm tra khi có một tiến trình copy được 
  2. thực hiện và đảm bảo tính chính xác của dữ liệu khi chúng được copy. Ví dụ, khi một ổ cứng được tạo ra một bản copy, một quá trình hash được thực hiện trên ổ đĩa trước khi quá trình nhân đôi  được thực hiện. Nếu hai thong số hash của ổ cứng mới được tạo ra và thong số hash của ổ đĩa ban đầu thì quá trình nhân  đôi dữ liệu được thực hiện chính xác và đảm bảo dữ liệu không có sự thay đổi mất mát trong quá trình nhân bản. Việc  hashing sử dụng để đảm bảo dữ liệu được nguyên bản giúp dữ liệu lưu ở dạng kỹ thuật số sẽ luôn dữ được nguyên bản  sau vô số lần copy – và điều này không thể thực hiện khi lưu dữ liệu các dạng khác – ví như bạn lưu thong tin âm thanh  bằng băng từ sẽ bị biến dạng sau nhiều lần copy. Ví dụ, Message Digest 5 (MD5) là một thuật toán hash với 128­bit hash. Điều này có nghĩa không có vấn đề với dữ liệu  đầu vào và dữ liệu đầu ra sau quá trình hash bởi nó luôn luôn thêm vào 128 bits. Sức mạnh của quá trình hashing là nó  được thực hiện một chiều và không thể có phương thức nào có thể thực hiện ngược lại được để converts thông số hash  thành dữ liệu ban đầu. Nếu một vài người có được các thông số hash của bạn, họ không thể lấy được dữ liệu ban đầu. Tuy  nhiên đó không phải là phương thức mật mã không thể tấn công. Hashing có thể bị tấn cong bởi các phương thức đảo  ngược hay birthday attack. Phương thức tấn công bình thường sử dụng đó là sử dụng các công cụ password­cracking. Hầu  hết các hệ thống lưu trữ passwords trong dữ liệu accounts và được hashed (băm). Hashs không thể thực hiện ngược lại,  bởi đó là một giải pháp bảo mật, có nghĩa không có công cụ nào có thể chuyển ngược lại một password được hash thành  một password nguyên bản chưa được hash. Tuy nhiên một thuật toán nào cũng có những bất cập riêng, bằng việc sử  dụng các phần mềm, password crackers chúng có thể phát hiện ra đoạn mã them vào dữ liệu ban đầu và chỉ cần xoá  đoạn hash value đi là có thể truy cập bình thường. Dữ liệu Account thường không được mã hoá, và dữ liệu password  thường được hash do đó hầu hết các công cụ crack password chỉ có thể xoá password đã được đặt cho user đó mà không  thể view password đó. Thuật toán hashing thường được sử dụng: Secure Hash Algorithm (SHA­1) với ­ 160­bit hash value Message Digest 5 (MD5) với —128­bit hash value Message Digest 4 (MD4) với —128­bit hash value Message Digest 2 (MD2) với —128­bit hash value 2. Symmetric – Mã hoá đối xứng Mật mã đối xứng cũng được gọi là mật mã private key hay mật mã secret key. Nó sử dụng một chìa khoá duy nhất để mã  hoá và giải mã dữ liệu (được thể hiện dưới hình dưới). Khi một mật mã đối sứng được sử dụng cho files trên một ổ cứng,  user thực hiện mã hoá với một secret key. Khi một giao tiếp được sử dụng mã hoá đối xứng, hai giao tiếp sẽ chia sẻ nhau  cùng một mật mã để mã hoá và giải mã gói tin. Ví dụ chúng ta thấy trong một file như bạn đặt password cho một file *.rar ai muốn mở phải có password (secret key). Khi  giao tiếp giữa máy chủ RADIUS Server và RADIUS Client sẽ có chung một secret key mà bạn phải thiết lập. Ví dụ trong Internet đó là giao thức SSL sử dụng mật mã đối xứng. Trong thực tế mật mã đối xứng được dung để đảm bảo  tính tối mật của dữ liệu. confidentiality Một hệ thống mã hoá đối xứng
  3. Phương thức mật mã đối xứng được thực hiện nhanh hơn rất nhiều so với quá trình sử dụng mật mã bất đối xứng. Với tốc  độ nhanh nên thuật toán này được thiết kế chỉ một key trong quá trình mã hoá và giải mã dữ liệu. Mật mã đối xứng cung cấp một giải pháp mã hoá mạnh bảo vệ dữ liệu bằng một key lớn được sử dụng. Tuy nhiên, để bảo  vệ các keys này bạn luôn luôn phải lưu giữ chúng và được gọi là private key. Nếu key này bị mất hay bị lộ, khi đó sẽ  không đảm bảo tính bảo mật của dữ liệu nữa. (Tương tự như nhà bạn có một chiếc chìa khoá để khoá cửa, khoá của bạn  có thể rất phức tạp và không cưa nổi, nhưng điều gì sẽ xảy ra nếu kẻ trộm làm ra được một chiếc chìa khoá tương tự như  vậy). Và một tình huống khác đó là trong quá trình truyền thông tin của Key giữa các máy tính … đó cũng là một vấn đề. Để sử  dụng mật mã đối xứng để mã hoá các giao tiếp giữa bạn và người khác trên internet, bạn phải chắc một điều rằng việc  bảo mật quá trình truyền keys trên mạng cần phải được đảm bảo. Nếu bạn chắc chắn rằng việc truyền dữ liệu về key  được đảm bảo, vậy bạn sử dụng phương thức mã hoá nào cho việc truyền key đó trên mạng. Giải pháp là key được truyền  tới người khác không qua con đường internet, có thể chứa trong đĩa mềm và chuyển theo đường bưu điện, hay viết tay gửi  thư… Rồi người khác và bạn sử dụng key đó để mã hoá dữ liệu và giải mã trong quá trình truyền thông tin. Tuy nhiên bạn có thể sử dụng một giải pháp thông minh hơn đó là Public Key Infrastructure (PKI) giải pháp được sử dụng  kết hợp với mật mã đối xứng trong quá trình truyền thông tin keys. Việc truyền thong tin key bằng việc sử dụng một mã  hoá để truyền với sử dụng một phiên truyền thông tin duy nhất. Hiểu, sử dụng và triển khai sử dụng PKI không đơn giản  và có nhiều giải pháp của nhiều nhà sản xuất khác nhau. Mật mã đối xứng được chia làm hai dạng: a. Block cipher Block cipher là một giải pháp hoạt dộng chống lại sự hạn chế của dữ liệu tĩnh. Dữ liệu được chia ra thành các blocks với  size cụ thể và mỗi blocks được mã hoá một cách khác nhau. b. Stream cipher Stream cipher là giải pháp hoạt động chống lại dữ liệu luôn luôn sử dụng một phương thức để truyền. Một vùng đệm, ít  nhất bằng một block, đợi cho toàn bộ thông tin của block đó được chứa trong vùng đệm sau đó block đó sẽ được mã hoá  rồi truyền cho người nhận. Một sự khác nhau cơ bản giữa dữ liệu được truyền và dữ liệu nguyên bản. Không như giải pháp  sử dụng mật mã đối xứng là mỗi block được sử dụng một key khác nhau trong quá trình truyền thông tin. Dưới đây là các giải pháp mật mã đối xứng hay sử dụng nhất:
  4. 3. Asymmetric ­ Mật mã bất đối xứng Mật mã bất đối xứng hay còn gọi là mã hoá sử dụng public key. Nó sử dụng một cặp key đó là public key và private key  thể hiển hình dưới đây. Trong mỗi quá trình truyền thong tin sử dụng mật mã bất đối xứng chúng cần một cặp key duy  nhất. Nó tạo ra khả năng có thể sử dụng linh hoạt và phát triển trong tương lai hơn là giải pháp mật mã đối xứng. Private  key bạn cần phải dữ riêng và đảm bảo tính bảo mật và nó không truyền trên mạng. Public key được cung cấp miễn phí và  được public cho mọi người. Một hệ thống mã hoá sử dụng mật mã bất đối xứng. Về việc sử dụng và quá trình truyền cụ thể tôi đã giới thiệu với các bạn trong một bài viết khá cụ thể bạn có thể truy cập  vào địa chỉ: http://www.vnexperts.net/index.php?option=com_content&task=view&id=581&Itemid=1 Nếu bạn sử dụng private key để mã hoá thì người nhận sẽ phải sử dụng public key của bạn để giải mã. Nếu bạn sử dụng  public key của người nhận để mã hoá thì người nhận sẽ sử dụng private của họ để giải mã thong tin. Toàn bộ các quá trình truyền thong tin bạn có thể tham khảo tại đường link trên về phương thức hoạt động của phương  thức mật mã bất đối xứng. Mật mã bất đối xứng hoạt động chậm hơn phương thức mật mã đối xứng, không phải nó mã hoá một khối lượng dữ liệu  lớn. Nó thường đước sử dụng để bảo mật quá trình truyền key của mật mã đối xứng. Nó cung cấp bảo mật cho quá trình  truyền thông tin bằng các dịch vụ: Authentication, Integrity, Protection, và nonrepudiation. Phương thức mật mã bất đối xứng sử dụng:
  5. ­ Rivest Shamir Adleman (RSA) ­ Diffie­Hellman ­ Error Correcting Code (ECC) ­ El Gamal ­ Message Message Tổng kết Trong bài viết này bạn biết về sử dụng hashing đảm bảo tính toàn vẹn của dữ liệu. Các tấn công hashing. Trong thực tế  thong tin thường được hashing trước khi được mã hoá do đó tính bảo mật được tăng lên rất nhiều. Bạn cũng cần phải nắm  được các phương thức mã hoá đối xứng và bất đối xứng chúng có ưu nhược điểm và sử dụng trong những trường hợp nào.  Cuối cùng bạn phải biết các phương thức hashing, đối xứng, bất đối xứng hay sử dụng nhất.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2