1– Quá trình mã hoá và giải mã

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số giải pháp đảm bảo an toàn và bảo mật thông tin trong giao dịch điện tử 04 (Trang 36 - 42)

Hiện nay, DES và biến thể của nó 3DES vẫn được sử dụng thành công trong nhiều ứng dụng.

Thuật toán mã hoá AES là thuật toán mã hoá đối xứng, xử lý các khối dữ liệu có độ dài 128 bit, sử dụng khoá có độ dài 128 bit, 192 bit hoặc 256 bit tương ứng với “AES-128”, “AES-192”, “AES-256”.

Chuẩn mã hoá tiên tiến AES là một thuật toán mã hoá khối được chính phủ Hoa Kỳ áp dụng làm chuẩn mã hoá. AES có thể dễ dàng thực hiện với tốc độ cao bằng phần mềm hoặc phần cứng mà không đòi hỏi nhiều bộ nhớ. Do AES là một tiêu chuẩn mã hoá mới nên nó đang được tiến hành sử dung đại trà. AES làm việc với từng khối dữ liệu 4x4.

2.1.2 Hệ mật mã khoá công khai

Khoá mã hoá hay còn gọi là khoá công khai (public key) dùng để mã hoá dữ liệu. Khoá giải mã hay còn được gọi là khoá bí mật (private key) dùng để giải mã dữ liệu. Trong hệ mật này, khoá mã hoá và khoá giải mã là khác nhau. Về mặt toán học, khi biết khoá công khai ta có thể tính được khoá bí mật. Khoá bí mật được giữ bí mật trong khi khoá công khai được công khai. Người gửi thông điệp A sẽ dùng khoá công khai để mã hoá dữ liệu muốn giử tới người B và người B sẽ dùng khoá bí mật của mình để giải mã thông điệp nhận được.

Có nhiều hệ thống mật mã sử dụng khó công khai được triển khai rộng rãi như hệ mật RSA, hệ mật Elgamal sử dụng giao thức khoá Diffie-Hellman và nổi lên trong nhưng năm gần đây là hệ mật dựa trên giao thức đường cong Eliptic. Trong những hệ mật mã trên, thì hệ mật mã RSA được cộng đồng quốc tế chấp nhận rộng rãi trong việc thực thi hệ mã hoá công khai.

Hệ mật RSA do Rivest, Shamir và Adlman phát minh, được công bố đầu tiên vào tháng 8 năm 1977 trên tạp chí Scientific American. Tính bảo mật của hệ mật mã RSA được bảo đảm rằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích một số thành tích của các số nguyên tố.

Sơ đồ hệ mật mã RSA:

Cho trong đó p và q là 2 số nguyên tố lớn cùng nhau. Đặt P = C = ,

Chọn b nguyên tố cùng nhau với . Ta định nghĩa . Trong đó: n, b là công khai; a là bí mật,

với mỗi , ta định nghĩa: Hàm mã hoá:

2.2. Chữ ký số 2.2.1. Sơ đồ chữ ký số 2.2.1. Sơ đồ chữ ký số

Sơ đồ chữ ký số là bộ năm (P, A, K, S, V), trong đó: P là tập hữu hạn các văn bản có thể. A là tập hữu hạn các chữ ký có thể. K là tập hữu hạn các khoá có thể. S là tập các thuật toán ký.

V là tập các thuật toán kiểm thử.

Với mỗi , có thuật toán ký , và thuật toán kiểm

thử, thoả mãn điều kiện sau với mọi

2.2.2. Phân loại chữ ký số

Có nhiều loại chữ ký tùy theo cách phân loại, sau đây xin giới thiệu một số cách

2.2.2.1. Phân loại chữ ký theo đặc trƣng kiểm tra chữ ký 1./ Chữ ký khôi phục thông điệp

Là loại chữ ký, trong đó người gửi chỉ cần gửi “chữ ký”, người nhận có thể khôi phục lại được thông điệp, đã được “ký” bởi “chữ ký” này.

Ví dụ: Chữ ký RSA là chữ ký khôi phục thông điệp, sẽ trình bày trong mục sau

2./ Chữ ký không thể khôi phục đƣợc thông điệp (đi kèm thông điệp)

Là loại chữ ký, trong đó người gửi cần gửi “chữ ký” và phải gửi kèm cả thông điệp đã được “ký” bởi “chữ ký” này. Ngược lại, người nhận sẽ không có được thông điệp gốc.

Ví dụ: Chữ ký Elgamal là chữ ký đi kèm thông điệp

2.2.2.2. Phân loại chữ ký theo mức an toàn 1./ Chữ ký “không thể phủ nhận”

Nhằm tránh việc nhân bản chữ ký để sử dụng nhiều lần, tốt nhất là người gửi tham gia trực tiếp vào việc kiểm thử chữ ký. Điều đó được thực hiện bằng một giao thức kiểm thử, dưới dạng một giao thức mời hỏi và trả lời.

Để bảo đảm an toàn, “Khóa ký” chỉ dùng 1 lần (one-time) trên 1 tài liệu.

2.2.3. Sơ đồ chữ ký số RSA

Tạo cặp khóa (bí mật, công khai) :

- Chọn bí mật hai số nguyên tố lớn pq với , lựa chọn ngẫu nhiên

và độc lập, tính đặt .

- Tính bí mật giá trị hàm số Ơle . Chọn khoá công khai là một số tự nhiên b sao cho 1 < b < và là số nguyên tố cùng nhau với

.

- Tính khoá bí mật a của phần tử nghịch đảo b theo ).

Tập cặp khoá (bí mật,công khai)

Ký: Chữ ký trên là .

Kiểm tra chữ ký: .

2.3. Chữ ký mù 2.3.1. Sơ đồ chữ ký mù

Chữ ký mù được David Chaum giới thiệu vào năm 198311, nó là một loại chữ ký số, trong đó nội dung của thông điệp cần được ký bị “che” đi trước khi nó được ký. Chữ ký thu được có thể được xác thực như là đối với chữ ký số thông thường. Chữ ký mù thường được dùng trong các vấn đề đòi hỏi sự nặc danh như trong các ứng dụng tiền điện tử, bỏ phiếu điện tử…

Chữ ký mù là chữ ký mà người ký không biết mình đang ký trên nội dung gì. Vì vậy mà người ta gọi là “mù”. Làm được như vậy vì nội dung X trước khi đưa cho người ký đã được làm mù thành X‟. Người ký ký trên X‟ chứ không phải ký trên X. A cần B ký cho một chữ ký trên nội dung X, A không đưa X cho B ký mà làm mù X thành X‟. Sau đó A đưa X‟ cho B ký. Sau khi nhận được chữ ký trên X‟, A xóa mù để thu được chữ ký trên X. Như vậy A vẫn có chữ ký trên X mà B không biết thông tin gì về X.

2.3.2. Sơ đồ chữ ký mù RSA

Mục đích là ông A có được chữ ký của bà B trên văn bản x theo sơ đồ chữ ký RSA nhưng không để cho bà B biết giá trị thực sự của x. Chữ ký đó là giá trị

- A làm mù x (che x) thành u:

, với n,b được lấy từ khoá công khai của B,

r là ngẫu nhiên và r nguyên tố cùng nhau với n. (r phải nguyên tố cùng nhau với n để tồn tại phần tử nghịch đảo ).

- A gửi u cho B, B ký trên u, được chữ ký là sau đó gửi lại A:

- A xoá mù trên v, sẽ nhận được chữ ký trên x:

Như vậy A đã nhận được chữ ký của B: , mà B không biết nội dung của văn bản x. Bởi vì nội dung của thông điệp x đã được làm mù thành u

thông qua việc nhân với , cho dù b là số công khai lấy từ B, nhưng r là số ngẫu nhiên mà B khó có thể biết được. Sau khi B ký xong, A xoá mù (nhân với

) chữ ký trên u để nhận được chữ ký của B trên x.

2.4. Cơ sở hạ tầng khóa công khai 2.4.1. Định nghĩa 2.4.1. Định nghĩa

Trước sự phát triển mạnh mẽ của công nghệ thông tin thì nhu cầu ngày càng tăng cho các phiên giao dịch và trao đổi thông tin điện tử cần bảo mật đã nảy sinh ra các vấn đề an toàn như sau:

Tính toàn vẹn (Intergrity): đảm bảo rằng thông tin không bị sửa đổi Tính xác thực (Authenticity): xác thực nguồn gốc thông tin

Tính bảo mật (Confidentiality): đảm bảo rằng thông tin được giữ bí mật Tính không chối bỏ (Non-repudiation): đảm bảo rằng thông tin không thể bị chối bỏ nguồn gốc.

Những mục tiêu an toàn này thường được đáp ứng bằng cách sử dụng hệ mật khoá công khai. Mỗi người tham gia vào hệ mật khó công khai có:

Khoá công khai: sử dụng cho mục đích xác thực chữ ký, mã hoá thông tin Khoá bí mật: sử dụng để ký các thông điệp hoặc để giãi mã các thông điệp đã được mã hoá bằng khoá công khai tương ứng.

Hệ mật khoá công khai ra đời đảm bảo rằng chỉ những thực thể sở hữu khoá hợp lệ mới có thể thực hiện những thao tác nhất định như là ký một thông điệp

hoặc giải mã các thông điệp. Để đảm bảo điều này, một liên kết giữa các thực thể đó và khoá của họ phải được thiết lập, từ đó:

- Một thông điệp có thể được mã hoá với khoá hợp lệ - Xác thực người đã ký thông điệp

Hệ thống mật mã khoá công khai là nền tảng cơ bản để xây dựng các hệ thống PKI ngày nay. Ta có thể định nghĩa PKI như sau:

Cơ sở hạ tầng khoá công khai (Public Key Infrastructure – PKI) là một tập hợp các chính sách, các quy trình, thiết bị phần cứng, phần mềm sử dụng để quản lý, cấp phát chứng chỉ số đảm bảo cho việc cung cấp các dịch vụ xác thực và bảo mật [10].

Từ định nghĩa này ta có thể thấy rằng:

PKI là một hạ tầng cơ sở cho phép các tổ chức triển khai và ứng dụng bảo mật dựa trên hệ thống mã hoá khoá công khai, nhằm đảm bảo an toàn thông tin liên lạc và các giao dịch trên mạng Internet.

PKI bao gồm các thủ tục, các dịch vụ và các chuẩn hỗ trợ phát triển các ứng dụng áp dụng các kỹ thuật mã hoá khoá công khai.

Thiết lập các PKI tin cậy cho người dùng là điều kiện tiên quyết phát triển thương mại điện tử và Chính phủ điện tử.

Mục đích của cơ sở hạ tầng khoá công khai PKI là để cung cấp các mối liên hệ giữa những người sử dụng và khoá công khai tương ứng của họ theo một phương thức an toàn. Để tin cậy vào khoá công khai của một người sử dụng trong hệ PKI, người ta đưa ra khái niệm chứng thư số. Chứng thư số được hiểu là một tài liệu điện tử gắn một khoá công khai với một thực thể nào đó. Chứng thư số chứa những thông tin chẳng hạn như định danh, khoá công khai đi kèm, ngày hết hạn của chứng thư của một người, một tổ chức hoặc một thiết bị phần cứng hoặc phần mềm…

Các thành phần chính của một hệ thống PKI:

- Trung tâm chứng thực điện tử (Certificate Authority – CA)

- Trung tâm đăng ký sử dụng chứng thư (Registration Authority – RA) - Dịch vụ thư mục để tra cứu chứng chỉ và danh sách huỷ bỏ chứng thư (Certificate Revocationo List – CRL)

- Hệ thống chính sách, thủ tục cấp phát và quản lý chứng thư số - Hệ thống phần mềm bảo mật trên nền tảng chứng thư số. Mô hình kiến trúc hệ thống PKI được mô tả như trong Hình 2.2

Trung tâm chứng thực Điện tử (CA)

Trung tâm đăng ký (RA)

Trung tâm đăng ký (RA)

Trung tâm đăng ký (RA)

LDAP(Máy chủ thư mục)

User User User

Thực thể đứng ra chịu trách nhiệm và đảm bảo sự tin cậy vào khoá công khai cũng như định danh của chủ sở hữ khoá gọi là trung tâ chứng thực CA. Chứng thư số được ký bởi một trung tâm chứng thực CA bằng khoá bí mật của CA. Chứng thư số do CA phát hành là để xác thực định danh của những người sử dụng và khoá công khai đi kèm, CA có trách nhiệm phát hành, quản lý, cung cấp các dịch vụ cần thiết trên những chứng thư này. Trong mô hình kiến trúc này, các thành phần của PKI bao gồm:

- Certificate Authority (CA): là một tổ chức tin cậy trong việc cấp phát chứng thư số và công nhận các nội dung thông tin lưu trữ trong chứng thư số. CA là thành phần quan trọng của hệ thống PKI, là tổ chức quản lý của PKI.

- Registration Authority (RA): là trung tâm chịu trách nhiệm xác nhận về tính trung thực của yêu cầu sử dụng chứng thư số. RA không có trách nhiệm tạo và ký chứng thư. RA sau khi nhận yêu cầu sẽ chuyển tiếp yêu cầu đó tới CA để thực hiện.

- Kết quả việc cấp phát của CA sẽ được chuyển tới người yêu cầu thông qua RA

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số giải pháp đảm bảo an toàn và bảo mật thông tin trong giao dịch điện tử 04 (Trang 36 - 42)

Tải bản đầy đủ (PDF)

(76 trang)