Các thuật toán và kỹ thuật mã hóa sử dụng thương mại điện tử – Phần 1

thuattoanavatar

1. Secure Socket Layer (SSL)

1.1. Giới thiệu SSL

SSL (Secure Socket Layer) là giao thức đa mục đích được thiết kế để tạo ra các giao tiếp giữa hai chương trình ứng dụng trên một cổng định trước (socket 443) nhằm mã hoá toàn bộthông tin đi/đến, được sửdụng trong giao dịch điện tử như truyền số liệu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trên Internet.

Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã được sửdụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữa client và server. Tổchức IETF (Internet Engineering Task Force) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù là có sựthay đổi về tên nhưng TSL chỉlà một phiên bản mới của SSL. Phiên bản TSL 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sửdụng rộng rãi hơn. SSL được thiết kếnhưlà một giao thức riêng cho vấn đềbảo mật có thểhỗtrợcho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao hơn nhưlà HTTP (Hyper Text Transport Protocol), IMAP (Internet Messaging Access Protocol) và FTP (File Transport Protocol). Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác nhau trên Internet, thì hiện nay SSL được sửdụng chính cho các giao dịch trên Web.

1.2. Cơ chế mã hóa của SSL

Giao thức SSL dựa trên hai nhóm con giao thức là giao thức “bắt tay” (handshake protocol) và giao thức “bản ghi” (record protocol). Giao thức bắt tay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thông tin hoặc dữ liệu, còn giao thức bản ghi xác định khuôn dạng cho tiến hành mã hoá và truyền tin hai chiều giữa hai đối tượng đó. Khi hai ứng dụng máy tính, thí dụgiữa một trình duyệt web và máy chủ web, làm việc với nhau, máy chủvà máy khách sẽtrao đổi “lời chào” (hello) dưới dạng các thông điệp cho nhau với xuất phát đầu tiên chủ động từ máy chủ, đồng thời xác định các chuẩn về thuật toán mã hoá và nén sốliệu có thể được áp dụng giữa hai ứng dụng. Ngoài ra, các ứng dụng còn trao đổi “số nhận dạng/khoá theo phiên” (session ID, session key) duy nhất cho lần làm việc đó. Sau đó ứng dụng khách (trình duyệt) yêu cầu có chứng chỉ điện tử (digital certificate) xác thực của ứng dụng chủ(web server).

thuattoan11

Chứng chỉ điện tử thường được xác nhận rộng rãi bởi một cơquan trung gian (Thẩm quyền xác nhận CA – Certificate Authority) như RSA Data Sercurity hay VeriSign Inc., một dạng tổ chức độc lập, trung lập và có uy tín. Các tổ chức này cung cấp dịch vụ”xác nhận” số nhận dạng của một công ty và phát hành chứng chỉ duy nhất cho công ty đó như là bằng chứng nhận dạng (identity) cho các giao dịch trên mạng, ở đây là các máy chủ webserver.

Sau khi kiểm tra chứng chỉ điện tử của máy chủ (sửdụng thuật toán mật mã công khai, nhưRSA tại trình máy trạm), ứng dụng máy trạm sử dụng các thông tin trong chứng chỉ điện tử để mã hoá thông điệp gửi lại máy chủ mà chỉ có máy chủ đó có thể giải mã. Trên cơ sở đó, hai ứng dụng trao đổi khoá chính (master key) – khoá bí mật hay khoá đối xứng – đểlàm cơ sở cho việc mã hoá luồng thông tin/dữliệu qua lại giữa hai ứng dụng chủkhách. Toàn bộ cấp độ bảo mật và an toàn của thông tin/dữliệu phụ thuộc vào một số tham số:

  • Số nhận dạng theo phiên làm việc ngẫu nhiên;
  • Cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL;
  • Độ dài của khoá chính (key length) sử dụng cho lược đồ mã hoá thông tin.

Có thể tóm tắt cơ chế của SSL như sau:

– Client phát sinh 1 Session Key ngẫu nhiên khi truy cập đến Server

– Client yêu cầu Server gởi Certificate (gồm Public Key của Server)

– Client kiểm tra tính hợp lệ của Certificate

– Nếu Certificate của Server hợp lệ, Client mã hóa Session Key bằng Public Key của Server

– Client gởi Session Key đã mã hóa cho Server

– Server giải mã Session Key đã được mã hóa bằng Private Key

– Các thông tin trao đổi giữa server và client sẽ được mã hóa và giải mã bằng Session Key

Hiện nay, khi public một web site lên internet, để áp dụng cơ chế mã hóa SSL chúng ta phải thuê SSL Certificate cho Web Server từcác tổ chức cung cấp Digital Certificate như: Verisign, CyberTrust, EnTrust…

1.3. Các thuật toán mã hóa trong SSL

Các thuật toán mã hoá và xác thực của SSL được sửdụng bao gồm (phiên bản 3.0):

– DES – chuẩn mã hoá dữliệu (ra đời năm 1977), phát minh và sửdụng của chính phủ Mỹ;

– DSA – thuật toán chữký điện tử, chuẩn xác thực điện tử, phát minh và sử dụng của chính phủ Mỹ;

– KEA – thuật toán trao đổi khoá, phát minh và sử dụng của chính phủM ỹ;

– MD5 – thuật toán tạo giá trị”bǎm” (message digest), phát minh bởi Rivest;

– RC2, RC4 – mã hoá Rivest, phát triển bởi công ty RSA Data Security;

– RSA – thuật toán khoá công khai, cho mã hoá và xác thực, phát triển bởi Rivest, Shamir và Adleman;

– RSA key exchange – thuật toán trao đổi khoá cho SSL dựa trên thuật toán RSA;

– SHA-1 – thuật toán hàm băm an toàn, phát triển và sửdụng bởi chính phủMỹ;

– SKIPJACK – thuật toán khoá đối xứng phân loại được thực hiện trong phần cứng Fortezza, sử dụng bởi chính phủ Mỹ;

– Triple-DES – mã hoá DES ba lần.

2. Hàm băm (Cryptographic hash function)

2.1. Giới thiệu hàm băm

Trong ngành mật mã học, một hàm băm mật mã học (tiếng Anh: Cryptographic hash function) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn nhưchứng thực (authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity). Một hàm băm nhận đầu vào là một xâu ký tự dài (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là tóm tắt thông điệp (message digest) hoặc chữ ký số (digital fingerprint).

thuattoan12

Nói rộng, một hàm băm phải hoạt động càng giống với một hàm ngẫu nhiên càng tốt, trong khi vẫn có tính chất đơn định và tính toán có hiệu quả. Một hàm băm mật mã học được coi là không an toàn nếu một trong các việc sau là khảthi về mặt tính toán:

– Cho một tóm tắt (digest), tìm một thông điệp (chưa biết) khớp với tóm tắt đó

– Tìm các “xung đột băm” (hash collision), trong đó hai thông điệp khác nhau có tóm tắt trùng nhau. Nếu có thể thực hiện một trong hai việc trên, một người có thể tấn công bằng cách dùng các cách trên để thay một thông điệp không được xác nhận (unauthorized message) vào chỗ của một thông điệp được xác nhận.

2.2. Ứng dụng của hàm băm

Một ứng dụng điển hình của một hàm băm mật mã học nhưsau: Alice đưa cho Bob một câu đốkhó và tuyên bốrằng cô ấy đã giải được rồi. Bob muốn tựgiải, nhưng cũng muốn chắc chắn là Alice đúng là đã giải được. Do đó, Alice viết đáp án, gắn thêm một nonce ngẫu nhiên, tính giá trịbăm của nó, và đưa kết quảbăm cho Bob (trong khi vẫn giữ bí mật đáp án và nonce). Bằng cách này, khi Bob tự giải xong, Alice có thể chứng minh rằng cô đã có đáp án từtrước bằng cách đưa nonce cho Bob. Trong thực tiễn, Alice và Bob thường là các chương trình máy tính, và bí mật thường là cái gì đó không dễlừa bằng một lời giải cho câu đó. Ứng dụng trên được gọi là một hệthống tin cậy (commitment scheme). Một ứng dụng quan trọng khác của các hàm băm bảo mật là sựkiểm tra tính toàn vẹn của thông điệp. Ví dụ, việc xác định xem một file hay một thông điệp có bịsửa đổi hay không có thểthực hiện bằng cách so sánh tóm tắt được tính trước và sau khi gửi (hoặc một sựkiện bất kỳnào đó). Còn có thểdùng tóm tắt thông điệp làm một phương tiện đáng tin cậy cho việc nhận dạng file. Một ứng dụng có liên quan là kiểm tra mật khẩu. Mật khẩu thường không được lưu dưới dạng văn bản rõ (clear text), mà ở dạng tóm tắt. Đểxác thực một người dùng, mật khẩu do người đó nhập vào được băm và so sánh với kết quả băm được lưu trữ. Do các lý do cảvềbảo mật và hiệu năng chương trình, đa sốcác thuật toán chữ ký số nói rằng chỉcó tóm lược của thông điệp, chứkhông phải toàn văn thông điệp, được “ký”. Các hàm băm còn có thể được dùng đểtạo các bit giả ngẫu nhiên (pseudorandom). SHA-1, MD5, vàRIPEMD-160 nằm trong sốcác thuật toán tóm tắt thông điệp được dùng rộng rãi nhất của năm 2005. Tháng 8 năm 2004, các nhà nghiên cứu đã tìm được các điểm yếu của một loạt hàm băm, trong đó có MD5, SHA-0 và RIPEMD. Tháng 2 năm 2005, người ta ghi nhận một tấn công đối với SHA-1. Tháng 8 năm 2005, người ta lại ghi nhận một tấn công khác đối với SHA-1. Các hàm băm được dùng đểnhận dạng các file trong các mạng chia sẻ tệp đồng đẳng. Ví dụ, trong một ed2k link, một biến thểcủa MD4 được kết hợp với kích thước file đểcung cấp thông tin cho việc xác định nguồn file, tải xuống và kiểm tra nội dung.

2.3. MD5 (Message-Digest algorithm 5)

MD5 (Message-Digest algorithm 5) là một hàm băm đểmã hóa với giá trịbăm là 128bit. Từng được xem là một chuẩn trên Internet, MD5 đã được sữdụng rông rải trong các chương trình an ninh mạng, và cũng thường được dùng đểkiểm tra tính nguyên vẹn của tập tin. MD5 được thiết kếbởi Ronald Rivest vào năm 1991 đểthay thếcho hàm băm trước đó, MD4 (cũng do ông thiết kế, trước đó nữa là MD2).

MD5 có 2 ứng dụng quan trọng:

– MD5 được sửdụng rộng rải trong thế giới phần mềm để đảm bảo rằng tập tin tải về không bị hỏng. Người sử dụng có thể so sánh giữa thông số kiểm tra phần mềm bằng MD5 được công bố với thông số kiểm tra phần mềm tải về bằng MD5. Hệ điều hành Unix sửdụng MD5 để kiểm tra các gói mà nó phân phối, trong khi hệ điều hành Windows sử dụng phần mềm của hãng thứ ba.

– MD5 được dùng để mã hóa mật khẩu. Mục đích của việc mã hóa này là biến đổi một chuổi mật khẩu thành một đoạn mã khác, sao cho từ đoạn mã đó không thể nào lần trở lại mật khẩu. Có nghĩa là việc giải mã là không thể hoặc phải mất một khoãng thời gian vô tận (đủ để làm nản lòng các hacker)

Một vài bảng băm MD5

– Bảng băm MD5 128 bit (16 byte) (còn được gọi là message digests) được biểu diễn bằng chuỗi 32 sốthập lục phân.

MD5(“hello”) = 5d41402abc4b2a76b9719d911017c592

– Thậm chí một sự thay đổi nhỏtrong mẩu tin cũng dẫn đến thay đổi hoàn toàn bảng băm, do hiệu ứng thác. Ví dụ, thay “e” thành “a”:

MD5(“hallo”) = 598d4c200461b81522a3328565c25f7c

– Bảng băm của một chuỗi rỗng là:

MD5(“”) = d41d8cd98f00b204e9800998ecf8427e

2.4 SHA (Secure Hash Algorithm)

SHA (Secure Hash Algorithm hay thuật giải băm an toàn) là năm thuật giải được chấp nhận bởi FIPS dùng đểchuyển một đoạn dữliệu nhất định thành một đoạn dữ liệu có chiều dài không đổi với xác suất khác biệt cao.

Năm thuật giải SHA là:

– SHA-1 : trảlại kết quảdài 160 bit

– SHA-224 : trảlại kết quảdài 224 bit

– SHA-256: trảlại kết quảdài 256 bit

– SHA-384: trảlại kết quảdài 384 bit

– SHA-512: trảlại kết quảdài 512 bit.

Thuật giải SHA là thuật giải băm mật được phát triển bởi cục an ninh quốc gia Mĩ (National Security Agency hay NSA) và được xuất bản thành chuẩn của chính phủ Mĩ bởi viện công nghệvà chuẩn quốc gia Mĩ(National Instituteof Standards and Technology hay NIST). Bốn thuật giải sau thường được gọi chung là SHA-2. SHA-1 được sửdụng rộng rãi trong nhiều ứng dụng và giao thức an ninh khác nhau, bao gồm TLS và SSL, PGP, SSH, S/MIME, và IPSec. SHA-1 được coi là thuật giải thay thếMD5, một thuật giải băm 128 bit phổbiến khác.

Hiện nay, SHA-1 không còn được coi là an toàn bởi đầu năm 2005, ba nhà mật mã học người Trung Quốc đã phát triển thành công một thuật giải dùng đểtìm được hai đoạn dữl iệu nhất định có cùng kết quảbăm tạo ra bởi SHA-1[1]. Mặc dù chưa có ai làm được điều tương tựvới SHA-2, nhưng vì vềthuật giải, SHA-2 không khác biệt mấy so với SHA-1 nên nhiều nhà khoa học đã bắt đầu phát triển một thuật giải khác tốt hơn SHA. NIST cũng đã khởi đầu một cuộc thi phát triển thuật giải băm mới an toàn hơn SHA, giống nhưquy trình phát triển chuẩn mã hóa tiên tiến (Advanced Encryption Standard hay AES).

Một vài bảng băm SHA-1

– Đoạn dữ liệu gốc sửdụng bảng mã ASCII được biểu diễn bằng chuỗi 40 số thập lục phân

SHA-1 (“hello”) = aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

– Thay “e” thành “a”:

SHA-1 (“hallo”) = fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8

– Bảng băm của một chuỗi rỗng là:

SHA-1 (“”) = da39a3ee5e6b4b0d3255bfef95601890afd80709

3 Mã hóa đối xứng (Symmetric Encryption)

3.1. Giới thiệu mã hóa đối xứng

Trong mật mã học, các thuật toán khóa đối xứng (tiếng Anh: symmetric-key algorithms) là một lớp các thuật toán mật mã hóa trong đó các khóa dùng cho việc mật mã hóa và giải mã có quan hệrõ ràng với nhau (có thểdễdàng tìm được một khóa nếu biết khóa kia).

thuattoan13

Khóa dùng đểmã hóa có liên hệmột cách rõ ràng với khóa dùng đểgiải mã có nghĩa chúng có thể hoàn toàn giống nhau, hoặc chỉkhác nhau nhờmột biến đổi đơn giản giữa hai khóa. Trên thực tế, các khóa này đại diện cho một bí mật được phân hưởng bởi hai bên hoặc nhiều hơn và được sửdụng đểgiữgìn sự bí mật trong kênh truyền thông tin.

Nhiều thuật ngữ khác dành cho việc mã hóa dùng chìa khóa đối xứng bao gồm các phương pháp mã hóa đơn khóa (single-key), phương pháp mã hóa một khóa (one-key) và phương pháp mã hóa khóa cá nhân (private-key). Cách sửdụng thuật ngữ sau cùng đôi khi gây xung đột với thuật ngữkhóa cá nhân (private-key) dùng trong mật mã hóa khóa công khai (public key cryptography). Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán ít hơn các thuật toán khóa bất đối xứng (asymmetric key algorithms). Trên thực tế, một thuật toán khóa bất đối xứng có khối lượng tính toán nhiều hơn gấp hằng trăm, hằng ngàn lần một thuật toán khóa đối xứng (symmetric key algorithm) có chất lượng tương đương. Thuật toán đối xứng có thể được chia ra làm hai thểloại, mật mã luồng (stream ciphers) và mật mã khối (block ciphers). Mật mã luồng mã hóa từng bit của thông điệp trong khi mật mã khối gộp một sốbit lại và mật mã hóa chúng nhưmột đơn vị. Cỡ khối được dùng thường là các khối 64 bit. Thuật toán tiêu chuẩn mã hóa tân tiến (Advanced Encryption Standard), được NIST công nhận tháng 12 năm 2001, sử dụng các khối gồm 128 bit.

Các thuật toán đối xứng thường không được sửdụng độc lập. Trong thiết kế của các hệthống mật mã hiện đại, cảhai thuật toán bất đối xứng (asymmetric) (dùng chìa khóa công khai) và thuật toán đối xứng được sửdụng phối hợp đểtận dụng các ưu điểm của cả hai. Những hệthống sửdụng cảhai thuật toán bao gồm những cái như SSL (Secure Sockets Layer), PGP (Pretty Good Privacy) và GPG (GNU Privacy Guard) v.v. Các thuật toán chìa khóa bất đối xứng được sử dụng đểphân phối chìa khóa mật cho thuật toán đối xứng có tốc độ cao hơn. Một sốví dụcác thuật toán đối xứng nổi tiếng và khá được tôn trọng bao gồm Twofish, Serpent, AES (còn được gọi là Rijndael), Blowfish, CAST5, RC4, Tam phần DES (Triple DES), và IDEA (International Data EncryptionAlgorithm – Thuật toán mật mã hóa dữ liệu quốc tế).

3.2. DES (Data Encryption Standard )

DES (viết tắt của Data Encryption Standardlà một phương pháp mật mã hóa được FIPS (Tiêu chuẩn Xửlý Thông tin Liên bang Hoa Kỳ) chọn làm chuẩn chính thức vào năm 1976. Sau đó chuẩn này được sửdụng rộng rãi trên phạm vi thếgiới. Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh cãi, do nó bao gồm các thành phần thiết kế mật, độ dài khóa tương đối ngắn, và các nghi ngờvềcửa sau đểCơquan An ninh quốc gia Hoa Kỳ(NSA) có thểbẻkhóa. Do đó, DES đã được giới nghiên cứu xem xét rất kỹ lưỡng, việc này đã thúc đẩy hiểu biết hiện đại vềmật mã khối (block cipher) và các phương pháp thám mã tương ứng. Hiện nay DES được xem là không đủan toàn cho nhiều ứng dụng. Nguyên nhân chủyếu là độ dài 56 bit của khóa là quá nhỏ. Khóa DES đã từng bịphá trong vòng chưa đầy 24 giờ. Đã có rất nhiều kết quảphân tích cho thấy những điểm yếu về mặt lý thuyết của mã hóa có thể dẫn đến phá khóa, tuy chúng không khảthi trong thực tiễn.

Thuật toán được tin tưởng là an toàn trong thực tiễn có dạng Triple DES (thực hiện DES ba lần), mặc dù trên lý thuyết phương pháp này vẫn có thểbịphá. Gần đây DES đã được thay thếbằng AES (Advanced EncryptionStandard, hay Tiêu chuẩn Mã hóa Tiên tiến). DES là thuật toán mã hóa khối: nó xửlý từng khối thông tin của bản rõ có độ dài xác định và biến đổi theo những quá trình phức tạp đểtrởthành khối thông tin của bản mã có độ dài không thay đổi. Trong trường hợp của DES, độdài mỗi khối là 64 bit. DES cũng sửdụng khóa đểcá biệt hóa quá trình chuyển đổi. Nhờvậy, chỉ khi biết khóa mới có thểgiải mã được văn bản mã. Khóa dùng trong DES có độdài toàn bộ là 64 bit. Tuy nhiên chỉcó 56 bit thực sự được sửdụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ dài thực tếcủa khóa chỉlà 56 bit.

3.3. AES (Advanced Encryption Standard)

Trong mật mã học, AES (viết tắt của từtiếng Anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa. Giống nhưtiêu chuẩn tiền nhiệm DES, AES được kỳ vọng áp dụng trên phạm vi thếgiới và đã được nghiên cứu rất kỹlưỡng. AES được chấp thuận làm tiêu chuẩn liên bang bởi Viện tiêu chuẩn và công nghệquốc gia Hoa kỳ (NIST) sau một quá trình tiêu chuẩn hóa kéo dài 5 năm. Thuật toán được thiết kế bởi hai nhà mật mã học người Bỉ: Joan Daemen và Vincent Rijmen (lấy tên chung là “Rijndael” khi tham gia cuộc thi thiết kếAES). Rijndael được phát âm là “Rhine dahl” theo phiên âm quốc tế(IPA: [ɹaindal]).

Mặc dù 2 tên AES và Rijndael vẫn thường được gọi thay thếcho nhau nhưng trên thực tế thì 2 thuật toán không hoàn toàn giống nhau. AES chỉlàm việc với khối dữ liệu 128 bít và khóa có độdài 128, 192 hoặc 256 bít trong khi Rijndael có thểlàm việc với dữ liệu và khóa có độdài bất kỳlà bội sốcủa 32 bít nằm trong khoảng từ 128 tới 256 bít. Các khóa con sửdụng trong các chu trình được tạo ra bởi quá trình tạo khóa con Rijndael. Hầu hết các phép toán trong thuật toán AES đều thực hiện trong một trường hữu hạn.

4 Mã hóa khóa công khai

4.1. Giới thiệu mã hóa khóa công khai

Mã hóa khóa công khai là một dạng mã hóa cho phép người sửdụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó. Điều này được thực hiện bằng cách sửdụng một cặp khóa có quan hệtoán học với nhau là khóa công khai và khóa cá nhân (hay khóa bí mật).

Thuật ngữ mật mã hóa khóa bất đối xứng thường được dùng đồng nghĩa với mật mã hóa khóa công khai mặc dù hai khái niệm không hoàn toàn tương đương. Có những thuật toán mật mã khóa bất đối xứng không có tính chất khóa công khai và bí mật như đề cập ởtrên mà cảhai khóa (cho mã hóa và giải mã) đều cần phải giữ bí mật.

Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữbí mật trong khi khóa công khai được phổbiến công khai. Trong 2 khóa, một dùng đểmã hóa và khóa còn lại dùng đểgiải mã. Điều quan trọng đối với hệthống là không thể tìm ra khóa bí mật nếu chỉbiết khóa công khai.

thuattoan14

Thông thường, các kỹ thuật mật mã hóa khóa công khai đòi hỏi khối lượng tính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng những lợi điểm mà chúng mang lại khiến cho chúng được áp dụng trong nhiều ứng dụng. Để đạt được độ an toàn tương đương, thuật toán mật mã hóa khóa bất đối xứng đòi hỏi khối lượng tính toán nhiều hơn đáng kể so với thuật toán mật mã hóa khóa đối xứng. Vì thế trong thực t ếhai dạng thuật toán này thường được dùng bổ sung cho nhau để đạt hiệu quả cao. Trong mô hình này, một bên tham gia trao đổi thông tin tạo ra một khóa đối xứng dùng cho phiên giao dịch. Khóa này sẽ được trao đổi an toàn thông qua hệ thống mã hóa khóa bất đối xứng. Sau đó 2 bên trao đổi thông tin bí mật bằng hệ thống mã hóa đối xứng trong suốt phiên giao dịch.

còn tiếp Phần 2

Comments

comments