TÌM HIỂU CÁC KỸ THUẬT MÃ HÓA ỨNG DỤNG KỸ THUẬT MÃ HÓA KHÓA CÔNG KHAI VÀO CHƯƠNG TRÌNH XÁC THỰC CHỬ KÝ ĐIỆN TỬ

30 1.1K 3
TÌM HIỂU CÁC KỸ THUẬT MÃ HÓA ỨNG DỤNG KỸ THUẬT MÃ HÓA KHÓA CÔNG KHAI VÀO CHƯƠNG TRÌNH XÁC THỰC CHỬ KÝ ĐIỆN TỬ

Đ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

Đề tài: TÌM HIỂU CÁC KỸ THUẬT MÃ HÓA. ỨNG DỤNG KỸ THUẬT MÃ HÓA KHÓA CÔNG KHAI VÀO CHƯƠNG TRÌNH XÁC THỰC CHỮ KÝ ĐIỆN TỬ Tài liệu hay cho các bạn nghiên cứu về kỹ thuật Mã Hóa cũng như ứng dụng với chữ ký điện tử, tài liệu dành cho các bạn yêu thích về công nghệ thông tin.

PHỤ LỤC LỜI MỞ ĐẦU Ngày nay, các ứng dụng Công nghệ thông tin ngày càng phổ biến rộng rãi đã ảnh hưởng rất lớn đến diện mạo của đời sống, kinh tế, xã hội. Mọi công việc hàng ngày của chúng ta đều có thể thực hiện được từ xa với sự hổ trợ của máy vi tính và mạng internet (từ việc học tập, đi mua sắm, gửi thư…). Tất cả thông tin liên quan đến những công việc này đều do máy vi tính quản lý và truyền đi trên hệ thống mạng. Đối với những thông tin bình thường thì không có ai chú ý đến, nhưng đối với những thông tin mang tính chất sống còn đối với một số cá nhân (hay tổ chức) thì vấn đề bảo mật thật sự rất quan trọng. Nhiều tổ chức, cá nhân đã tìm kiếm và đưa ra nhiều giải pháp bảo mật. Khi một người muốn trao đổi thông tin với một người hay một tổ chức nào đó thông qua mạng máy tính thì yêu cầu quan trọng là làm sao để đảm bảo thông tin không bị sai lệch hoặc bị lộ do sự xâm nhập của kẻ thứ ba. Trước các yêu cầu cần thiết đó, một số giải thuật hóa đã dược xây dựng nhằm đảm bảo tính an toàn dữ liệu tại nơi lưu trữ cũng như khi dữ liệu được truyền trên mạng, như các giải thuật hóa đối xứng (DES), giải thuật hóa công khai, Việc tìm hiểu cơ chế và thuật toán của các giải thuật này cũng không nằm ngoài mục đích của đề tài này. Vì kiến thức còn hạn chế nên còn nhiều thiếu sót trong đề tài về hóa, kính mong các thầy cô giáo góp ý để đề tài được hoàn thiện hơn. Em xin chân thành cảm ơn thầy PGS.TS. Đỗ Văn Nhơn đã truyền đạt cho em nhưng kiến thức nền thất quý giá để em có thể hoàn thành đề tài này. NỘI DUNG: CHƯƠNG 1:TỔNG QUAN HÓA THÔNG TIN I. Khái niệm: Như chúng ta đã biết, Internet hình thành và phát triển từ yêu cầu của chính phủ Mỹ nhằm phục vụ cho mục đích quân sự. Khi chúng ta tham gia trao đổi thông tin, thì Internet là môi trường không an toàn, đầy rủi ro và nguy hiểm, không có gì đảm bảo rằng thông tin chúng ta truyền đi không bị đọc trộm trên đường truyền. Do đó, hoá được áp dụng như một biện pháp nhằm giúp chúng ta tự bảo vệ chính mình cũng như những thông tin chúng ta gửi đi. Bên cạnh đó, hoá còn có những ứng dụng khác như là bảo đảm tính toàn vẹn của dữ liệu. Thuật toán Cryptography đề cập tới nghành khoa học nghiên cứu về hoá và giải thông tin. Cụ thể hơn là nghiên cứu các cách thức chuyển đổi thông tin từ dạng rõ (clear text) sang dạng mờ (cipher text) và ngược lại. Đây là một phương pháp hỗ trợ rất tốt cho trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi trên mạng, áp dụng hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thông tin đó. II. Hệ thống hóa Hệ thống hóa (cryptosystem) là một bộ năm (P, C, K, E, D) thỏa mãn điều kiện sau: • Tập nguồn P là tập hữu hạn tất cả các mẫu tin nguồn cần hóa có thể có • Tập đích C là tập hữu hạn tất cả các mẫu tin có sau khi hóa • Tập khóa K là tập hữu hạn các khóa có thể được sử dụng • E và D lần lượt là tập luật hóa và giải mã.Với mỗi khóa k Є K, tồn tại luật hóa e k Є E và luật giải d k Є D tương ứng. Luật hóa e k : P → C và luật giải e k : C → P là hai ánh xạ thỏa mãn d k (e k (x)) = x, ∀ x Є P Hình 1 : Hệ thống hóa thông tin Bên cạnh việc làm thế nào để che dấu nội dung thông tin thì hoá phải đảm bảo các mục tiêu sau: Chương 2: Confidentiality (Tính bí mật): Đảm bảo dữ liệu được truyền đi một cách an toàn và không thể bị lộ thông tin nếu như có ai đó cố tình muốn có được nội dung của dữ liệu gốc ban đầu. Chỉ những người được phép mới có khả năng đọc được nội dung thông tin ban đầu. Chương 3: Authentication (Tính xác thực): Giúp cho người nhận dữ liệu xác định được chắc chắn dữ liệu họ nhận là dữ liệu gốc ban đầu. Kẻ giả mạo không thể có khả năng để giả dạng một người khác hay nói cách khác không thể mạo danh để gửi dữ liệu. Người nhận có khả năng kiểm tra nguồn gốc thông tin họ nhận được. Chương 4: Integrity (Tính toàn vẹn): Giúp cho người nhận dữ liệu kiểm tra được rằng dữ liệu không bị thay đổi trong quá trình truyền đi. Kẻ giả mạo không thể có khả năng thay thế dữ liệu ban đầu băng dữ liệu giả mạo Chương 5: Non-repudation (Tính không thể chối bỏ): Người gửi hay người nhận không thể chối bỏ sau khi đã gửi hoặc nhận thông tin. I. Khái niệm về khóa (Key) Password: là một hay nhiều từ người dùng phải biết để được cấp quyền truy cập. Trong thực tế, mật khẩu do người dùng tạo ra thường không đủ độ an toàn để được dùng trực tiếp trong thuật toán. Vì vậy, trong bất cứ hệ thống hóa dữ liệu nghiêm túc nào cũng phải có bước chuyển đổi mật khẩu ban đầu thành chìa khóa có độ an toàn thích hợp. Bước tạo chìa khóa này thường được gọi là key derivation, key stretching hay key initialization. Key Derivation Function: là một hàm hash (sẽ giải thích rõ hơn ở phần sau) được thiết kế sao cho chìa an toàn hơn đối với tấn công kiểu brute-force hay cổ điển. Hàm này được thực hiện lại nhiều lần trên mật khẩu ban đầu cùng với một số ngẫu nhiên để tạo ra một chìa khóa có độ an toàn cao hơn. Số ngẫu nhiên này gọi là salt, còn số lần lặp lại là iteration. Ví dụ một mật khẩu là "pandoras B0x", cùng với salt là "230391827", đi qua hàm hash SHA-1 1000 lần cho kết quả là một chìa khóa có độ dài 160 bit như sau: 3BD454A72E0E7CD6959DE0580E3C19F51601C359 (thể hiện dưới dạng số thập lục phân). Keylength (Keysize): Độ dài (hay độ lớn) của chìa khóa. Nói một chìa khóa có độ dài 128 bit có nghĩa chìa đó là một số nhị phân có độ dài 128 chữ số. Một thuật toán có chìa khóa càng dài thì càng có nhiều khả năng chống lại tấn công kiểu brute-force. CHƯƠNG 6: CÁC PHƯƠNG PHÁP HÓA I. hóa cổ điển Xuất hiện trong lịch sử, thuật toán không dùng khóa, đơn giản và dễ hiểu. Là phương pháp từng kí tự (hay từng nhóm kí tự) trong Plaintext được thay thế bằng một kí tự (hay một nhóm kí tự) khác tạo ra Ciphertext. Bên nhận chỉ việc đảo ngược lại trình tự thay thế trên Ciphertext để có được Plaintext ban đầu. Những từ chính các phương pháp hoá này đã giúp chúng ta tiếp cận với các thuật toán hoá đối xứng được sử dụng ngày nay. Trong hoá cổ điển có 2 phương pháp nổi bật đó là: - hoá thay thế (Substitution Cipher): Là phương pháp từng kí tự (hay từng nhóm kí tự) trong bản rõ (Plaintext) được thay thế bằng một kí tự (hay một nhóm kí tự) khác để tạo ra bản mờ (Ciphertext). Bên nhận chỉ cần đảo ngược trình tự thay thế trên Ciphertext để có được Plaintext ban đầu. Hình 2 : Bảng thay thế kí tự Ví dụ : Giả sử tôi xây dựng một bảng thay thế cáctự như trên và bạn cũng có bảng thay thế này. Khi tôi muốn truyền thông tin cho bạn, chẳng hạn tôi gửi cho bạn một dòng văn bản như sau : CABBAC, thì dựa vào bảng thay thế kí tự tôi và bạn đã xây dựng tôi chuyển thành như sau : FEDDEF. Sau đó tôi gửi tới cho bạn, khi bạn nhận được thông tin như trên, vì bạn đã có bảng thay thế bạn chỉ việc thay thế ngược lại và bạn sẽ có được thông tin ban đầu tôi muốn gửi cho bạn. - hoá hoán vị (Transposition Cipher) hay còn gọi là hóa dịch chuyển: Nếu như trong phương pháp hoá thay thế, cáctự trong Plaintext được thay thế hoàn toàn bằng cáctự trong Ciphertext, thì trong phương pháp hoá hoán vị, cáctự trong Plaintext vẫn được giữ nguyên, chúng chỉ được sắp xếp lại vị trí để tạo ra Ciphertext. Tức là cáctự trong Plaintext hoàn toàn không bị thay đổi bằng kí tự khác. Ngoài ra còn một số phương pháp : Phương pháp Affine, Vigenere, Hill II. hóa đối xứng (mã khóa bí mật) Ở phần trên, chúng ta đã tìm hiểu về hoá cổ điển, trong đó có nói rằng hoá cổ điển không dùng khoá. Nhưng trên thực nếu chúng ta phân tích một cách tổng quát, chúng ta sẽ thấy được như sau: hoá cổ điển có sử dụng khoá. Bằng chứng là trong phương pháp thay thế thì khoá chính là phép dịch tự. Trong phương pháp hoá hoán vị thì khóa nằm ở số hàng hay số cột chúng ta qui định. Khoá này có thể được thay đổi tuỳ theo mục đích hoá của chúng ta, nhưng nó phải nằm trong một phạm vi cho phép nào đó. Để dùng được hoá cổ điển thì bên hoá và bên giải phải thống nhất với nhau về cơ chế hoá cũng như giải mã. Nếu như không có công việc này thì hai bên sẽ không thể làm việc được với nhau. hoá đối xứng còn có một số tên gọi khác như Secret Key Cryptography (hay Private Key Cryptography), sử dụng cùng một khoá cho cả hai quá trình hoá và giải mã. Quá trình thực hiện như sau: Trong hệ thống hoá đối xứng, trước khi truyền dữ liệu, 2 bên gửi và nhận phải thoả thuận về khoá dùng chung cho quá trình hoá và giải mã. Sau đó, bên gửi sẽ hoá bản rõ (Plaintext) bằng cách sử dụng khoá bí mật này và gửi thông điệp đã hoá cho bên nhận. Bên nhận sau khi nhận được thông điệp đã hoá sẽ sử dụng chính khoá bí mật hai bên thoả thuận để giải và lấy lại bản rõ (Plaintext). Hình 3 : Trao đổi thông tin giữa bên gửi và bên nhận sử dụng phương pháp hoá đối xứng Trong quá trình này, thì thành phần quan trọng nhất cần phải được giữ bí mật chính là khoá. Việc trao đổi, thoả thuận về thuật toán được sử dụng trong việc hoá có thể tiến hành một cách công khai, nhưng bước thoả thuận về khoá trong việc hoá và giải phải tiến hành bí mật. hoá đối xứng có thể được phân thành 02 loại: - Loại thứ nhất tác động trên bản rõ theo từng nhóm bits. Từng nhóm bits này được gọi với một cái tên khác là khối (Block) và thuật toán được áp dụng gọi là Block Cipher. Theo đó, từng khối dữ liệu trong văn bản ban đầu được thay thế bằng một khối dữ liệu khác có cùng độ dài. Đối với các thuật toán ngày nay thì kích thước chung của một Block là 64 bits. - Loại thứ hai tác động lên bản rõ theo từng bit một. Các thuật toán áp dụng được gọi là Stream Cipher. Theo đó, dữ liệu của văn bản được hoá từng bit một. Các thuật toán hoá dòng này có tốc độ nhanh hơn các thuật toán hoá khối và nó thường được áp dụng khi lượng dữ liệu cần hoá chưa biết trước. Phương thức mật đố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 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 hoá và giải dữ liệu. 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 đối xứng trong quá trình truyền thông tin keys. Việc truyền thông tin key bằng việc sử dụng một 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. III. hóa không đối xứng(mã khóa công khai) Ý tưởng về hệ thống hóa khóa công cộng được Martin Hellman, Ralph Merkle và Whitfield Diffie tại Đại Học Stanford giới thiệu vào năm 1976. Sau đó, phương pháp Diffie-Hellman của Martin Hellman và Whitfield Diffie được công bố. Năm 1977 nhóm tác giả Ronald Rivest, Adi Shamir và Leonard Adleman đã công bố phương pháp RSA, phương pháp khóa công khai nổi tiếng và được sử dụng trong các ứng dụng hóa và bảo vệ thông tin. Khóa công khai ra đời hỗ trợ thêm để giải quyết một số bài toán an toàn, chứ không phải thay thế khóa riêng (đối xứng). Cả 2 cùng tồn tai, phát triển và bổ sung cho nhau Khóa công khai ( hai khóa hay bất đối xứng) bao gồm việc sử dụng 2 khóa : Khóa công khaikhóa riêng - Bên gửi tạo ra một khoá bí mật dùng để hoá dữ liệu. Khoá này còn được gọi là Session Key - Sau đó, Session Key này lại được hoá bằng khoá công khai của bên nhận dữ liệu. - Tiếp theo dữ liệu hoá cùng với Session Key đã hoá được gửi đi tới bên nhận. - Lúc này bên nhận dùng khoá riêng để giải Session Key và có được Session Key ban đầu. - Dùng Session Key sau khi giải để giải dữ liệu. Là không đối xứng vì những người hóa và kiểm chứng chữ không thể giải và tạo chữ Hình 4 : Sơ đồ hóa công khai Mật bất đối xứng hoạt động chậm hơn phương thức mật đối xứng, không phải nó 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 đố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 bất đối xứng sử dụng: RSA, Diffie-Hellman, ECC, El Gamal, [...]... có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người và được dùng để hóa Những thông tin được hóa bằng khóa công khai chỉ có thể được giải bằng khóa bí mật tương ứng Nói cách khác, mọi người đều có thể hóa nhưng chỉ có người biết khóa cá... quát sơ lược thuật toán RSA Trong mật học, RSA là một thuật toán mã hóa khóa công khai Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ điện tử đồng thời với việc hóa Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật học trong việc sử dụng khóa công cộng RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn Thuật toán... = d B10 : Trả về data_out CHƯƠNG 12: ỨNG DỤNG KỸ THUẬT HÓA KHÓA CÔNG KHAI VÀO CHƯƠNG TRÌNH XÁC THỰC CHỬ ĐIỆN TỬ Với sự phát triển của mạng Internet hiện nay, các doanh nghiệp nhanh chóng nhận thấy lợi ích của việc sử dụng mạng Internet để mở rộng thêm mạng doanh nghiệp bao gồm cả các đối tác, nhà cung cấp và nhất là thông qua Internet, các doanh nghiệp có thể cung cấp các dịch vụ của mình đến... lại cho Alice Alice mở hộp với chìa khóa của mình và đọc thông tin trong thư Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa bí mật Chương 9: Quy trình hóa RSA Khởi tạo khóa Mỗi người sử dụng một cặp khóa công khai – riêng như sau a Chọn 2 số nguyên tố lớn p và q b Tính tích n = p*q Sau đó tính φ (n) = (p-1)(q-1) c Tìm số d sao cho d và φ (n) là nguyên... mạng qua một khoảng cách lớn về địa lý, do vậy cần có những giải pháp xác thực, hóa và toàn vẹn dữ liệu trên mạng Các thuật toán hóa đã được ứng dụng một cách linh hoạt và thiết yếu trong việc thiết lập kết nối, tạo ra các chữ điện tử, an toàn dữ liệu đảm bảo an ninh cho việc truyền tải file cũng như giao dịch thông qua Internet I Ứng dụng trong chữ điện tử jhjhj Chương 13: Khái quát...CHƯƠNG 7: MỘT SỐ THUẬT TOÁN HÓA I Thuật toán hóa DES DES thực hiện hóa dữ liệu qua 16 vòng lặp hóa, mỗi vòng sử dụng một khóa chu kỳ 48bit được tạo ra từ khóa ban đầu có độ dài 56bit DES sử dụng 8 bảng hằng số S-box để thao tác Cấu tạo một vòng của DES Sử dụng hai nửa 32 bít trái và 32 bít phải.Nửa phải của vòng trước được... tính bí mật, tính toàn vẹn, tính xác thực và tính trách nhiệm Từ các kết quả trên cho thấy rằng khi dùng thuật toán RSA để hóa các thông tin và chứng thực trong giao dịch điện tử, với mục đích bảo mật và đảm bảo tính xác thực thì: Giảm sự đầu cho hạn tầng bảo mật Độ bảo mật thông tin cao với chiếu dài khóa cao Tận dụng được tốc độ máy tính trong việc hóa và giải Do điều kiện thời gian hạn... bảng tra, nên rất nhanh và hiệu quả • Quy trình hóa Rijndael Qui trình hóa Rijndael gồm 4 phép biến đổi chính a AddRoundKey – cộng khóa của chu kỳ vào trạng thái hiện hành,mỗi byte của khối được kết hợp với khóa con, các khóa con này được tạo ra từ quá trình tạo khóa con Rijndael Hình 9 : Mô hình mô tả bước AddRoundKey b SubBytes – đây là quá trình thay thế trong đó mỗi byte sẽ được thay thế... hẹp và khả năng còn hạn chế, nên ứng dụng còn nhiều điểm chưa phù hợp, chưa đáp ứng được yêu nhu cầu sử dụng Nhóm đề tài rất mong nhận được nhiều ý kiến đóng góp để có thể phát triển thành ứng dụng hoàn thiện, phục vụ cho mục đích hoá và chứng thực trong giao dịch điện tử TÀI LIỆU THAM KHẢO - Tài liệu hóa thông tin” của thầy (PGS.TS Đỗ Văn Nhơn) - hóaứng dụng (ĐH QG TPHCM) - http://codeproject.com... giống với các phương pháp hoá cổ điển là chỉ dùng một khoá cho cả việc hoá ở người gửi và giải ở người nhận sử dụng hai khoá: private key để hoá và public key để giải kiểm tra Chương 14: Quá trình trong message: Bước 1 : “Băm” tài liệu gửi thành các hash-value hay còn được gọi là Message Digest, các Message Digest này sẽ được tính toán để đưa vào quá trình hoá chữ Bước 2:

Ngày đăng: 23/06/2014, 16:10

Từ khóa liên quan

Mục lục

  • Nội dung:

    • Chương 1: Tổng quan mã hóa thông tin

      • I. Khái niệm:

      • II. Hệ thống mã hóa

      • I. Khái niệm về khóa (Key)

      • Chương 6: Các phương pháp mã hóa

        • I. Mã hóa cổ điển

        • III. Mã hóa không đối xứng(mã khóa công khai)

        • Chương 7: Một số thuật toán mã hóa

          • I. Thuật toán mã hóa DES

          • II. Thuật toán mã hóa AES (Rijndael)

          • III. Thuật toán mã hóa bất đối xứng RAS

          • Chương 12: Ứng dụng kỹ thuật mã hóa khóa công khai vào chương trình xác thực chử ký điện tử.

            • I. Ứng dụng trong chữ ký điện tử

            • Kết luận

              • Tài liệu tham khảo

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

Tài liệu liên quan