DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT AES Advanced Encrytion Standard – Chuẩn mã hóa nâng cao ANTT An toàn thông tin CA Certificate Authority – Cơ quan chứng thực số Client Máy trạm, khai
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
TRỊNH XUÂN HOÀNG
NGHIÊN CỨU GIẢI PHÁP XÁC THỰC VF BẢO MẬT TÀI LIỆU TRONG TRAO ĐỔI VĂN BẢN TRÊN MÔI TRƯỜNG MẠNG GIỮA CÁC CƠ QUAN NHÀ NƯỚC
LUẬN VĂN THẠC SĨ KHOA HỌC
Hà Nội - Năm 2012
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
TRỊNH XUÂN HOÀNG
NGHIÊN CỨU GIẢI PHÁP XÁC THỰC VF BẢO MẬT TÀI LIỆU TRONG TRAO ĐỔI VĂN BẢN TRÊN MÔI TRƯỜNG MẠNG GIỮA CÁC CƠ QUAN NHÀ NƯỚC
Chuyên ngành: BẢO ĐẢM TOÁN CHO MÁY TÍNH
VÀ HỆ THỐNG TÍNH TOÁN
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
Gs.TS TÔN QUỐC BÌNH
Hà Nội - Năm 2012
Trang 3MỤC LỤC
LỜI CẢM ƠN 0
MỤC LỤC 3
DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT 5
DANH MỤC HÌNH VẼ 6
MỞ ĐẦU 7
1 Lý do chọn đề tài 7
2 Mục đích nghiên cứu 7
3 Đối tượng và phạm vi nghiên cứu 7
4 Phương pháp nghiên cứu 8
5 Bố cục Luận văn 8
Chương-1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN 9
1.1 Một số khái niệm cơ bản 9
1.1.1 Khái niệm về an toàn thông tin 9
1.1.2 Khái niệm về đảm bảo an toàn thông tin 9
1.1.3 Khái niệm về đánh giá an toàn thông tin 10
1.2 Thực trạng về an toàn thông tin trong các cơ quan nhà nước 11
1.3 Nhu cầu về an toàn thông tin trong ứng dụng tại các cơ quan nhà nước 12
1.4 Một số kỹ thuật mật mã 13
1.4.1 Các hệ mật mã 13
1.4.2 Các thuật toán mật mã 15
1.4.3 Chữ ký số 18
1.4.4 Phân phối khóa công khai 20
1.4.5 Chứng chỉ khóa công khai 20
1.4.6 Hạ tầng khóa công khai 21
1.5 Kết luận chương 23
Chương-2 MỘT SỐ CƠ SỞ MẬT MÃ PHỤC VỤ AN TOÀN THÔNG TIN 24
2.1 Lược đồ mã RSA-OAEP 24
Trang 42.1.2 Hàm giải mã RSAES-OAEP 26
2.1.3 Yêu cầu tham số an toàn cho hệ mật RSA 28
2.2 Thuật toán mã khối AES 29
2.2.1 Giới thiệu thuật toán AES 30
2.2.2 Cấu trúc bên trong của AES 31
2.2.3 Một số yêu cầu đảm bảo an toàn khi ứng dụng mã khối AES 36
2.3 Kết luận chương 39
Chương-3 GIẢI PHÁP XÁC THỰC VÀ BẢO MẬT 40
3.1 Giới thiệu giải pháp 40
3.2 Sơ đồ kiến trúc giải pháp xác thực tài liệu trên môi trường mạng 40
3.3 Phân tích thiết kế giải pháp 43
3.3.1 Các chức năng cần thiết cho yêu cầu của phần mềm xác thực 43
3.3.2 Lựa chọn ngôn ngữ lập trình và công cụ thiết kế ứng dụng 44
3.3.3 Phân tích thiết kế các thành phần của mô hình 45
3.3.4 Công cụ ký số trên web 49
3.4 Cài đặt giải pháp xác thực và bảo mật 52
3.4.1 Cài đặt chứng thư SSL cho ứng dụng mạng văn phòng điện tử 52
3.4.2 Cài đặt tích hợp ứng dụng ký số cho ứng dụng mạng văn phòng điện tử 56
3.5 Kết quả của giải pháp xác thực và bảo mật tài liệu 59
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 62
Trang 5DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT
AES Advanced Encrytion Standard – Chuẩn mã hóa nâng cao
ANTT An toàn thông tin
CA Certificate Authority – Cơ quan chứng thực số
Client Máy trạm, khai thác các dịch vụ, ứng dụng
CNTT Công nghệ thông tin
DES Data Encryption Standard – Chuẩn mã hóa dữ liệu
DSA Digital Signature Algorithm - Giải thuật ký điện tử
DSS Digital Signature Standard - Chuẩn chữ ký số
Hacker Người đột nhập vào máy tính và phá hoại máy tính (tin tặc)
HTTP Hypertext Transfer Protocol – Giao thức truyền siêu văn bản
HTTPS Hypertext Transfer Protocol over Secure Socket Layer - Giao thức
truyền siêu văn bản thông qua an ninh thông tin
IPS Intrusion Prevention System – hệ thống ngăn chặn và phát hiện xâm
nhập
MD5 Message Digest algorithm 5 - giải thuật của hàm băm
PKI Public Key Infrastructure – Cơ sở hạ tầng khóa công khai
RSA Rivest, Shamir and Adleman - Giải thuật mã hóa công khai
Server Máy chủ, cung cấp các dịch vụ, ứng dụng
SHA Secure Hash Algorithm – Giải thuật băm an toàn
SSL Secure Socket Layer - Giao thức an ninh thông tin
TCP/IP Transmission Control Protocol/Internet Protocol - một hệ thống các
giao thức hỗ trợ việc truyền thông tin trên mạng
WEB Một loại siêu văn bản (tập tin dạng HTML hoặc XHTML) trình bày
thông tin trên mạng Internet, tại một địa chỉ nhất định
Trang 6DANH MỤC HÌNH VẼ
Hình 1.1 Hệ mật khóa đối xứng đảm bảo tính bí mật và xác thực 13
Hình 1.2 Hệ mật khoá công khai 14
Hình 1.3 Lược đồ ký số và kiểm tra chữ ký số 19
Hình 1.4 Mô hình cấp phát chứng chỉ của PKI X509 22
Hình 2.1 Thuật toán mã hóa EME-OAEP 26
Hình 3.1 Mô hình xác thực tài liệu trên môi trường mạng 41
Hình 3.2 Thiết bị eToKen và thành phần của eToKen 41
Hình 3.3 Khả năng hỗ trợ của Siverlight 5 đối với các loại hệ điều hành và trình duyệt Web 45
Hình 3.4 Lược đồ ký số văn bản 46
Hình 3.5 Lược đồ xác thực văn bản ký số 47
Hình 3.6 Giao diện gửi văn bản đã được tích hợp chức năng ký số và sản phẩm ký số văn bản điện tử 60
Trang 7MỞ ĐẦU
1 Lý do chọn đề tài
Nhận thức được lợi ích và tầm quan trọng của công nghệ thông tin và truyền thông trong việc duy trì và thúc đẩy sự phát triển bền vững, trong những năm vừa qua lĩnh vực công nghệ thông tin nói chung và hoạt động ứng dụng công nghệ thông tin nói riêng đã phát triển nhanh chóng, mạnh mẽ và ngày càng sâu rộng trong mọi mặt của đời sống kinh tế xã hội Các hoạt động
có thể kể đến như: Các hoạt động thương mại điện tử; các hoạt động hành chính công phổ biến như gửi nhận thư điện tử, các hệ thống hỗ trợ quản lý điều hành trên mạng Chúng đang góp phần tạo nên một hệ thống chính phủ điện tử, sự phát triển của một hệ thống chính phủ điện tử sẽ đem lại rất nhiều lợi ích như cắt giảm chi phí, rút ngắn thời gian thực hiện, nâng cao hiệu suất lao động, cải thiện chất lượng dịch vụ cho các dịch vụ hành chính công Tuy nhiên khi triển khai các hoạt động chính phủ điện tử trên nền mạng Internet thì yếu tố an toàn cần phải được đặt lên hàng đầu, vì song song với những lợi ích mang lại thì Internet cũng là nơi tiềm ẩn vô vàn nguy cơ mất an toàn thông tin có thể dẫn đến hậu quả khôn lường Chính vì những vấn đề thực tiễn
trên, luận văn: “Nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước” nhằm
nâng cao việc xác thực và an toàn thông tin trong các hoạt động của các cơ quan, tổ chức trong các ứng dụng trên môi trường mạng
2 Mục đích nghiên cứu
Luận văn nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước và ứng dụng thành công tại tỉnh Thái Bình
3 Đối tượng và phạm vi nghiên cứu
Tập trung nghiên cứu, tìm hiểu thực trạng và nhu cầu về an toàn thông
Trang 8nghệ; trên cơ sở đó nghiên cứu giải pháp xác thực và bảo mật trong trao đổi tài liệu trên môi trường mạng
4 Phương pháp nghiên cứu
- Tiếp cận phân tích và tổng hợp: Đọc tài liệu, tổng hợp lý thuyết, phân tích lý thuyết về Hệ mật mã đối xứng, hệ mật mã bất đối xứng (hệ mật mã khóa công khai), chữ ký số
- Tiếp cận theo định tính và định lượng: Nghiên cứu cơ sở khoa học của
mã hóa, chữ ký số của các tác giả trong và ngoài nước, các bài báo, thu thập thông tin trên mạng, tìm hiểu các mô hình bảo mật, chứng chỉ số Từ đó trình bày theo ý tưởng của mình và đề xuất các giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước trên địa bàn
5 Bố cục Luận văn
Luận văn được trình bày trong 03 chương:
- Chương 1: Tập trung tìm hiểu một số khái niệm về án toàn thông tin, đánh giá thực trạng và nhu cầu về an toàn thông tin trong các cơ quan nhà nước
- Chương 2: Trình bày tổng hợp, phân tích một số cơ sở mật mã cần thiết
để áp dụng trong việc bảo mật thông tin trên môi trường mạng
- Chương 3: Tập trung phân tích thiết kế giải pháp xác thực và bảo mật thông tin trong trao đổi tài liệu trên môi trường mạng
Trang 9
Chương-1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN
Để có hướng nghiên cứu và giải pháp phù hợp, chương này tập trung tìm hiểu một số khái niệm về an toàn thông tin, đánh giá thực trạng và nhu cầu về
an toàn thông tin trong các cơ quan nhà nước
1.1 Một số khái niệm cơ bản
1.1.1 Khái niệm về an toàn thông tin
Thông tin được lưu trữ bởi các sản phẩm và hệ thống CNTT là một tài nguyên quan trọng cho sự thành công của tổ chức đó, là tài sản của một cá nhân hay tổ chức Các thông tin cá nhân lưu trữ trong hệ thống thông tin cần được giữ bí mật, bảo vệ và không bị thay đổi khi không được phép Trong khi các sản phẩm và hệ thống CNTT thực hiện các chức năng của chúng, các thông tin cần được kiểm soát để đảm bảo chúng được bảo vệ chống lại các nguy cơ, ví dụ như việc phổ biến và thay đổi thông tin không mong muốn và trái phép, nguy cơ mất mát thông tin
An toàn thông tin là an toàn kỹ thuật cho các hoạt động của các cơ sở hạ tầng thông tin, trong đó bao gồm an toàn phần cứng và phần mềm theo các tiêu chuẩn kỹ thuật do nhà nước ban hành; duy trì các tính chất bí mật, toàn vẹn, chính xác, sẵn sàng phục vụ của thông tin trong lưu trữ, xử lý và truyền tải trên mạng (theo định nghĩa trong Nghị định 64-2007/NĐ-CP) [4]
Thuật ngữ an toàn CNTT thường sử dụng để chỉ việc ngăn chặn và làm giảm nhẹ các mối nguy hại tương tự đối với các sản phẩm và hệ thống CNTT
1.1.2 Khái niệm về đảm bảo an toàn thông tin
Mục tiêu hướng tới của người dùng là bảo vệ các tài sản nói trên Tuy nhiên, các sản phẩm và hệ thống thường luôn tồn tại những điểm yếu dẫn đến những rủi ro có thể xảy ra, làm tổn hại đến giá trị tài sản thông tin Các đối tượng tấn công (tin tặc) có chủ tâm đánh cắp, lợi dụng hoặc phá hoại tài sản
Trang 10của các chủ sở hữu, tìm cách khai thác các điểm yếu để tấn công, tạo ra các nguy cơ và các rủi ro cho các hệ thống
Với các biện pháp an toàn thông tin người dùng có được công cụ trong tay để nhận thức được các điểm yếu, giảm thiểu các điểm yếu, ngăn chặn các nguy cơ tấn công, làm giảm các yếu tố rủi ro Như vậy, các biện pháp và kỹ thuật đảm bảo an toàn thông tin chính là mang lại sự tin cậy cho các sản phẩm
và hệ thống
Đảm bảo an toàn thông tin là đảm bảo an toàn kỹ thuật cho hoạt động của các cơ sở hạ tầng thông tin, trong đó bao gồm đảm bảo an toàn cho cả phần cứng và phần mềm hoạt động theo các tiêu chuẩn kỹ thuật do nhà nước ban hành; ngăn ngừa khả năng lợi dụng mạng và các cơ sở hạ tầng thông tin
để thực hiện các hành vi trái phép gây hại cho cộng đồng, phạm pháp hay khủng bố; đảm bảo các tính chất bí mật, toàn vẹn, chính xác, sẵn sàng phục
vụ của thông tin trong lưu trữ, xử lý và truyền tải trên mạng
Như vậy khái niệm đảm bảo an toàn thông tin bao hàm đảm bảo an toàn cho cả phần cứng và phần mềm An toàn phần cứng là bảo đảm hoạt động cho
cơ sở hạ tầng thông tin An toàn phần mềm gồm các hoạt động quản lý, kỹ thuật nhằm bảo vệ hệ thống thông tin, đảm bảo cho các hệ thống thực hiện đúng chức năng, phục vụ đúng đối tượng một cách sẵn sàng, chính xác, tin cậy An toàn công nghệ thông tin là đảm bảo an toàn kỹ thuật cho các sản phẩm, dịch vụ và hệ thống công nghệ thông tin
1.1.3 Khái niệm về đánh giá an toàn thông tin
Một nhu cầu thực tế đặt ra là làm thế nào để biết các sản phẩm và hệ thống có tin cậy hay không, có áp dụng các biện pháp và kỹ thuật an toàn phù hợp hay không, mức độ an toàn như thế nào? Đánh giá an toàn thông tin chính là để đáp ứng nhu cầu đó, nhằm cung cấp bằng chứng về việc đảm bảo
an toàn cho các sản phẩm và hệ thống
Trang 11Mặt khác, nhiều người tiêu dùng CNTT không có đủ kiến thức, chuyên môn và tài nguyên cần thiết để phán xét về sự an toàn của các sản phẩm và hệ thống CNTT có phù hợp hay không, và cũng không thể chỉ dựa vào cam kết của các nhà phát triển Bởi vậy, người tiêu dùng có thể nâng cao tin cậy trong các biện pháp an toàn của một sản phẩm hoặc hệ thống CNTT bằng cách đặt hàng phân tích về an toàn cho chúng, nghĩa là đánh giá an toàn
1.2 Thực trạng về an toàn thông tin trong các cơ quan nhà nước
Theo Báo cáo Ứng dụng Công nghệ thông tin năm 2010 của Bộ Thông tin và Truyền thông, hoạt động ứng dụng CNTT trong các cơ quan nhà nước
đã đạt được một số kết quả sau:
Hạ tầng kỹ thuật CNTT bao gồm mạng truyền dẫn, mạng máy tính nội
bộ, trang thiết bị tin học trong các cơ quan nhà nước đã được hoàn thiện đáng
kể đáp ứng việc triển khai ứng dụng CNTT cơ bản trong các cơ quan nhà nước trước mắt và tạo cơ sở nâng cấp, mở rộng trong tương lai
Một số ứng dụng cơ bản như: Cổng Thông tin điện tử, trang thông tin điện tử, hệ thống thư điện tử, phần mềm phục vụ công tác trao đổi văn bản, quản lý điều hành đã được triển khai từ Chính phủ, cấp bộ ngành và các tỉnh trong cả nước
Và tiếp tục được đầu tư triển khai nhiều ứng dụng mới, theo số liệu thống kê của Cục Ứng dụng CNTT đến tháng 5/2012, các bộ, cơ quan ngang
bộ và UBND các tỉnh, TP trực thuộc Trung ương đã cung cấp gần 100.000 dịch vụ công trực tuyến (có hơn 800 dịch vụ mức độ 3 và 8 dịch vụ mức độ 4) Những ứng dụng nội bộ phục vụ chỉ đạo, điều hành đã và đang được khai thác, mở rộng nhằm nâng cao hiệu quả hoạt động, phục vụ người dân và doanh nghiệp tốt hơn
Bên cạnh việc đầu tư cho ứng dụng CNTT thì vấn đề an toàn và bảo mật thông tin còn chưa thực sự được chú trong đầu tư Theo phát biểu của Thứ trưởng Bộ Thông tin và Truyền thông Nguyễn Minh Hồng tại Hội thảo về
Trang 12công tác an toàn thông tin trong chính phủ điện tử ngày 25/5/2012 tại Hà Nội
đã nhận định: “Vấn đề an toàn thông tin (ATTT) hiện nay đang đặt ra nhiều thách thức, số liệu thống kê 2011 cho thấy, chỉ có khoảng 35% cơ quan, tổ chức đã xây dựng và áp dụng chính sách ATTT Các Cổng/Trang thông tin điện tử của các cơ quan Nhà nước còn tồn tại nhiều lỗ hổng, chưa áp dụng những giải pháp đảm bảo ATTT phù hợp Những vụ việc mất ATTT, vấn nạn thư rác, tấn công xâm nhập gia tăng ở mức báo động về số lượng, đa dạng về hình thức và ngày càng tinh vi hơn”
Theo thống kê của Bkav, tính từ đầu năm 2012 đến nay, mỗi ngày có tới
6 website tại Việt Nam bị tấn công, tương ứng với hơn 2.000 website bị hack mỗi năm Đã có 175 website của các cơ quan, doanh nghiệp tại Việt Nam bị hacker xâm nhập, trong đó có 24 trường hợp gây ra bởi hacker trong nước,
151 trường hợp do hacker nước ngoài Hầu hết nguyên nhân của các vụ hack này là do website tồn tại nhiều lỗ hổng
1.3 Nhu cầu về an toàn thông tin trong ứng dụng tại các cơ quan nhà nước
Những thông tin trên cho thấy việc lựa chọn giải pháp và đầu tư cho an toàn thông tin là vấn đề cần được các cơ quan nhà nước chú trọng đầu tư, bên cạnh đó là việc hoàn thiện hành lang chính sách và pháp lý trong lĩnh vực này
để việc ứng dụng CNTT thực sự có hiệu quả
Tại Thái Bình, đến nay đã triển khai xây dựng Công thông tin điện tử, hệ thống thư điện tử và hệ thống mạng văn phòng điện tử liên thông triển khai cho các sở, ngành và UBND các huyện, thành phố vào năm 2012 và đến cấp
xã phường vào năm 2013 Bên cạnh việc phát triển ứng dụng Công nghệ thông tin, thì giải pháp an toàn thông tin là nhu cầu được các cơ quan đơn vị
sử dụng quan tâm
Trang 131.4 Một số kỹ thuật mật mã
Kỹ thuật mật mã [1], [9] đóng vai trò thiết yếu trong việc giải quyết vấn
đề an toàn thông tin Bảng 1.1 liệt kê một số kỹ thuật và công nghệ để giải quyết yêu cầu xác thực, toàn vẹn, bí mật, chống chối bỏ trong an toàn và bảo mật thông tin
Bảng 1.1 Một số kỹ thuật và công nghệ giải quyết yêu cầu an toàn và bảo mật
Yêu cầu Công nghệ - Kỹ thuật
Xác thực Sử dụng tên và mật khẩu của người dùng, đặc điểm sinh
trắc học, ký số và kiểm tra chữ ký số dựa vào khóa Tin cậy Ký số và kiểm tra chữ ký số dựa vào khóa
Chống chối bỏ Ký số và kiểm tra chữ ký số dựa vào khóa
Trao quyền Áp dụng chính sách kiểm soát truy nhập và quản lý
quyền hạn Kiểm toán Lưu nhật ký và sử dụng công cụ kiểm toán
Trang 14Hệ mật khóa công khai sử dụng một cặp khóa (khóa riêng và khóa công khai), một khóa được sử dụng để mã hóa và khóa còn lại được sử dụng để giải
mã, được minh hoạ trong dưới đây:
Hình 1.2 Hệ mật khoá công khai
Mục đích chính của hệ mật khóa công khai là phân phối khóa và ký số Các ứng dụng của hệ mật này gồm có:
- Mã hóa/giải mã: Người gửi mã hóa thông báo với khóa công khai của người nhận Người nhận giải mã thông báo bằng khóa riêng của mình
- Chữ ký số: Người gửi ký số thông báo với khóa riêng của mình Người nhận kiểm tra chữ ký số bằng khóa công khai của người gửi
Trang 15- Trao đổi khóa: Hai thành viên trao đổi khóa bí mật với nhau bằng cách
mã hóa khóa bí mật với khóa công khai của người nhận và ký số (tùy chọn) khóa bí mật bằng cách sử dụng khóa riêng của người gửi
Các thuật toán mật mã dựa trên khóa bí mật có điểm mạnh là nhanh, hiệu quả, mô hình đơn giản, cung cấp tính bí mật và xác thực (vì chỉ người gửi và người nhận biết khóa bí mật để mã hóa và giải mã thông báo), nhưng có một
số điểm yếu sau:
Trang 16- Khóa bí mật phải được chia sẻ cho tất cả các thành viên tham gia trao đổi dữ liệu, gây rủi ro cao
- Việc phân phối khóa sẽ tiến hành trên một lượng lớn các khóa bí mật khi hệ thống có quá nhiều người sử dụng
Các thuật toán mật mã dựa trên khóa công khai có điểm mạnh là ít rủi ro (do khóa riêng chỉ người sở hữu biết), cung cấp tính bí mật (vì thông báo được mã hóa với khóa công khai của người nhận, chỉ người người nhận có khóa riêng cùng cặp để giải mã), cung cấp tính xác thực (vì thông báo được
mã hóa với khóa riêng của người gửi, đảm bảo thông báo có nguồn gốc từ người gửi) và chống chối bỏ đã gửi thông báo (vì chỉ người gửi có khóa riêng cùng cặp để mã hóa), nhưng có một số điểm yếu sau:
- Chậm hơn từ 100 – 1000 lần so với các thuật toán mật mã dựa trên khóa bí mật, thường được sử dụng để trao đổi khóa bí mật cho các thuật toán mật mã dựa trên khóa bí mật để mã hóa dữ liệu
- Vấn đề xác thực cặp khóa: các thành viên trao đổi dữ liệu cần biết rõ người sở hữu cặp khóa chính là người mà anh ta tự nhận Điều này được giải quyết bằng chữ ký số và chứng chỉ khóa công khai
- Cần phải có cơ chế công bố khóa công khai để người gửi biết được khóa công khai của người nhận và ngược lại Điều này được giải quyết bằng các kỹ thuật phân phối khóa công khai và triển khai hạ tầng khóa công khai Trong phần tiếp theo, luận văn sẽ trình bày một số vấn đề về sử dụng mã hóa khóa công khai để trao đổi khóa bí mật, chữ ký số, phân phối khóa công khai, chứng chỉ khóa công khai và hạ tầng khóa công khai
Sử dụng mã hóa khóa công khai để trao đổi khóa bí mật:
Để phân phối khóa bí mật, ta có thể sử dụng một trong hai lược đồ sau:
- Lược đồ phân phối khóa bí mật đơn giản của Merkle:
Khi A muốn truyền thông với B, thủ tục được tiến hành như sau:
1 A tạo ra một cặp khóa {KUa, KRa} và truyền thông báo cho B gồm KUa và tên của A (IDA)
Trang 172 B tạo ra khóa bí mật Ks và gửi cho A sau khi mã hóa với khóa công khai của A
3 A tính toán DKRa[EKUa[Ks]] để khôi phục lại khóa bí mật Chỉ A có khóa riêng nên giải mã được khóa bí mật Chỉ A và B biết khóa bí mật Ks
A và B truyền thông an toàn với nhau bằng cách sử dụng mã hóa đối xứng với khóa bí mật Ks Sau khi kết thúc quá trình trao đổi, A và B cùng hủy
bỏ khóa bí mật Tuy đơn giản nhưng đây là một giao thức hấp dẫn, không có khóa nào tồn tại trước và sau khi liên lạc, rủi ro do lộ khóa là rất nhỏ, nhưng
có điểm yếu dễ bị tấn công chủ động Nếu kiểm soát được kênh truyền thông, đối tượng E có thể dàn xếp cuộc truyền thông mà không bị phát hiện, theo hình thức sau đây:
1 A tạo ra một cặp khóa {KUa, KRa} và truyền thông báo cho B gồm có KUa và tên của A (IDA)
E chặn lấy thông báo, tạo ra một cặp {KUe KRe} và truyền KUe || IDA cho B
B sinh ra một khóa bí mật Ks và truyền EKUe[Ks] cho A
E chặn lấy thông báo, biết được Ks bằng cách tính DKRe[EKUe[Ks]]
E truyền EKUa[Ks] cho A
A và B không biết E đã làm giả Ks và dùng Ks để trao đổi các thông báo Không mất nhiều thời gian, E có thể can thiệp vào kênh truyền thông, nghe trộm và giải mã tất cả các thông báo vì biết Ks
- Lược đồ phân phối khóa bí mật đảm bảo tính bí mật và xác thực:
Lược đồ sau đây có thể chống lại kiểu tấn công chủ động, đảm bảo tính
bí mật và xác thực trong trao đổi khóa bí mật Bắt đầu tại thời điểm khi A và
B trao đổi các khóa công khai với nhau trong lược đồ của Merkle, các bước tiếp theo xảy ra như sau:
1 A sử dụng khóa công khai của B để mã hóa thông báo (1) gửi cho B
có chứa tên của A (IDA) và một nonce N1 để nhận dạng giao dịch này
Trang 182 B gửi thông báo (2) cho A Thông báo được mã hóa bằng KUa, có chứa N1 của A và nonce mới N2 do B sinh ra Do chỉ có B mới có thể giải mã thông báo (1) nên sự xuất hiện của N1 trong thông báo (2) đảm bảo A đang liên lạc với B
3 A trả lại N2, được mã hóa bằng khóa công khai của B để đảm bảo rằng B đang liên lạc với A
4 A chọn một khóa bí mật Ks và gửi thông báo (3) M= EKUb[EKRa[Ks]] cho B Việc mã hóa thông báo với khóa công khai của B đảm bảo chỉ có B mới có thể đọc Việc mã hóa với khóa riêng của A đảm bảo chính A đã gửi thông báo
5 B tính toán DKUa[EKRb[M]] để khôi phục khóa bí mật
Chữ ký số tương tự như chữ ký viết tay và phải có một số tính chất sau:
- Có khả năng kiểm tra chữ ký số và thời gian ký số
- Có khả năng xác thực các nội dung tại thời điểm ký số
- Thành viên thứ 3 có thể kiểm tra chữ ký số để giải quyết các tranh chấp
Dựa vào các tính chất cơ bản này, chữ ký số có các yêu cầu sau:
- Phải là một mẫu bít phụ thuộc vào thông báo được ký số
- Phải sử dụng một thông tin duy nhất của người gửi để ngăn chặn tình trạng làm giả và chối bỏ
- Được tạo ra dễ dàng
Trang 19- Khó có thể làm giả chữ ký số bằng cách tạo ra một thông báo mới cho một chữ ký số hiện có, hoặc tạo ra một chữ ký số giả mạo cho một thông báo cho trước
- Trong thực tế, cần lưu giữ một bản sao của chữ ký số
Lược đồ ký số và kiểm tra chữ ký số được minh họa trong dưới đây:
Hình 1.3 Lƣợc đồ ký số và kiểm tra chữ ký số
Chữ ký số được tạo ra bằng cách mã hóa giá trị tóm lược (được tạo ra từ thông báo ban đầu bằng cách sử dụng thuật toán tóm lược) với khóa riêng của người gửi Quá trình kiểm tra chữ ký số gồm các bước: sử dụng thuật toán tóm lược để tạo ra một tóm lược tính được từ thông báo nhận được, giải mã chữ ký số với khóa công khai của người gửi để thu được tóm lược mong muốn, so sánh tóm lược mong muốn và tóm lược tính được, nếu trùng nhau thì chữ ký số là hợp lệ, người nhận có thể tin cậy vào thông báo nhận được, xác định thông báo không bị làm giả trong quá trình trao đổi và có nguồn gốc
từ người gửi
Vấn đề của người nhận là bằng cách nào có được khóa công khai của người gửi và tin cậy khóa công khai này để kiểm tra chữ ký số Điều này được
Trang 20giải quyết thông qua kỹ thuật phân phối khóa công khai và chứng chỉ khóa công khai
1.4.4 Phân phối khóa công khai
Nhiều kỹ thuật phân phối khóa công khai được đưa ra như khai báo công khai, thư mục công khai, trung tâm quản lý khóa công khai và chứng chỉ khóa công khai
Khi sử dụng kỹ thuật khai báo công khai, mọi đối tượng có thể làm giả khóa công khai Khi sử dụng thư mục khóa công khai, việc duy trì và phân phối thư mục công khai phụ thuộc vào một tổ chức tin cậy nào đó Khi sử dụng trung tâm quản lý khóa công khai, việc phân phối khóa công khai được đảm bảo an toàn cao hơn so với thư mục khóa công khai vì cung cấp các cơ chế kiểm soát chặt chẽ khi phân phối khóa công khai từ thư mục, nhưng cơ quan quản lý khóa công khai gần giống như một cổ chai trong hệ thống, người
sử dụng phải yêu cầu cơ quan quản lý cấp khóa công khai cho người sử dụng khác khi họ muốn liên lạc, phải duy trì thư mục (gồm nhiều entry gồm tên và khóa công khai của thành viên) – đây chính là điểm yếu dễ bị giả mạo
Một giải pháp lựa chọn khác là sử dụng chứng chỉ khóa công khai Các thành viên trao đổi khóa thông qua chứng chỉ khóa công khai mà không cần liên lạc với cơ quan quản lý khóa công khai Khi cần sử dụng khóa công khai, các thành viên kiểm tra chứng chỉ do cơ quan quản lý phát hành
1.4.5 Chứng chỉ khóa công khai
Chứng chỉ khóa công khai là sự gắn kết khóa công khai của một thực thể (con người, thiết bị phần cứng, dịch vụ) với một hoặc nhiều thuộc tính nhận dạng thực thể, được một cơ quan chứng thực (Certification Authority - viết tắt
là CA) phát hành
Khi sử dụng mã hóa khóa công khai để mã hóa một thông báo và chuyển cho người nhận, người gửi cần khóa công khai của người nhận Khi muốn kiểm tra chữ ký số trên thông báo nhận được, người nhận cần khóa công khai
Trang 21của người ký số Khóa công khai không cần giữ bí mật nhưng người sử dụng khóa công khai cần đảm bảo rằng, khóa công khai được sử dụng đúng là của người nhận thông báo hoặc người ký số
Chứng chỉ khóa công khai giúp cho việc phân phối khóa công khai trở nên có hệ thống và có một đặc tính rất quan trọng là các chứng chỉ có thể được phát hành trên các kênh truyền mà không cần đến các kỹ thuật bảo vệ Khuôn dạng chứng chỉ khóa công khai được sử dụng phổ biến rộng rãi là X.509
Mỗi chứng chỉ gồm có một khóa công khai, thông tin nhận dạng chủ thể của chứng chỉ và được CA ký số bằng khóa riêng của CA Khóa công khai của CA được phân phối cho người sử dụng thông qua một kênh an toàn và tin cậy, ví dụ phân phối thủ công Chứng chỉ được phát hành trong một khoảng thời gian định trước được ghi trên chứng chỉ và nằm trong phần thông tin được CA ký số Sau khi chứng chỉ hết hạn, sự ràng buộc giữa khóa công khai
và chủ thể của chứng chỉ không còn hợp lệ và chứng chỉ không còn được tin cậy, người sử dụng khóa công khai không nên sử dụng khóa công khai có trong chứng chỉ này trừ khi muốn chứng thực lại hoạt động trước đó, ví dụ kiểm tra chữ ký số trên một tài liệu cũ
Lợi ích cơ bản của một hệ thống chứng chỉ là người sử dụng có thể có được số lượng lớn khóa công khai của các những người sử dụng khác một cách tin cậy, xuất phát từ thông tin khóa công khai của một CA
Việc sử dụng khóa công khai có trong chứng chỉ hoàn toàn rất đơn giản nhưng việc công bố và quản lý các chứng chỉ gặp rất nhiều vấn đề như phát hành, hủy bỏ, kiểm tra tình trạng trực tuyến, thư mục lưu trữ, chứng thực chéo Những vấn đề này được giải quyết thông qua hạ tầng khóa công khai
1.4.6 Hạ tầng khóa công khai
Hạ tầng khoá công khai (Public-Key Infrastructure - viết tắt là PKI) là hạ
Trang 22khóa công khai Phức tạp hơn, PKI gồm một tập các chuẩn, cơ quan chứng thực, quan hệ giữa các CA, các phương pháp tìm và phê chuẩn đường dẫn chứng thực, các giao thức vận hành, quản lý, các công cụ chứng thực chéo và
cơ sở luật pháp hỗ trợ Đây là một mảng nghiên cứu và ứng dụng lớn, luận văn không đi sâu nghiên cứu về các vấn đề của PKI mà chỉ giới thiệu PKI X509
Các thành phần cơ bản của PKI X509 gồm phía nhà cung cấp (cơ quan chứng thực, cơ quan đăng ký, hệ thống quản lý và phân phối chứng chỉ) và phía người dùng (các ứng dụng PKI) Mô hình cấp phát chứng chỉ khóa công khai của PKI X509 được minh họa trong hình dưới dây
Hình 1.4 Mô hình cấp phát chứng chỉ của PKI X509
Người dùng hoặc các dịch vụ ứng dụng có thể đăng ký chứng chỉ trực tiếp với cơ quan đăng ký (Registration Authority - viết tắt là RA) hoặc từ xa thông qua Internet, cung cấp thông tin định danh của mình cho RA, có thể là
số chứng minh thư hoặc hộ chiếu tùy thuộc vào các chính sách cụ thể RA sẽ gửi yêu cầu và thông tin của người dùng cho CA Nếu chấp thuận, CA sẽ phát hành chứng chỉ khóa công khai được CA ký số (gắn kết thông tin định danh của người dùng với khóa công khai được cấp) cho người dùng và công bố công khai tại một cơ sở dữ liệu hoặc thư mục lưu trữ nào đó
Chức năng cơ bản của các thành phần trong PKI X509 như sau:
Trang 23- Cơ quan chứng thực (CA) sinh cặp khóa, tạo, phát hành, phân phối và hủy bỏ chứng chỉ khóa công khai, duy trì hệ thống sao lưu và phục hồi khóa, chứng thực chéo
- Cơ quan đăng ký (RA) nhận thông tin đăng ký chứng chỉ khóa công khai (trực tiếp, từ xa, tự động) hoặc thông tin hủy bỏ các chứng chỉ
- Hệ thống quản lý và phân phối chứng chỉ cung cấp hệ thống thư mục lưu giữ chứng chỉ khóa công khai và danh sách chứng chỉ bị hủy bỏ (Certificate Revocation List - viết tắt là CRL)
- Các ứng dụng PKI như đảm bảo an toàn thông tin cá nhân, xử lý chứng chỉ khóa công khai, đảm bảo truy nhập cơ sở dữ liệu và truyền thông an toàn
1.5 Kết luận chương
Trong chương này, luận văn nghiên cứu tìm hiểu một số cơ sở nền tảng
để giải quyết vấn đề an toàn thông tin, bao gồm:
Phân tích, tìm hiểu một số khái niệm về an toàn thông tin theo Nghị định số: 64-2007/NĐ-CP của Chính phủ để có định hướng nghiên cứu phù hợp; Tìm hiểu về thực trạng về an toàn thông tin trong các cơ quan nhà nước qua đó đánh giá được nhu cầu về an toàn thông tin;
Tìm hiểu một số kỹ thuật mật mã trong an toàn thông tin đã được nghiên cứu, đánh giá, chứng minh tính an toàn, tin cậy và hiệu quả trong thực tế làm
cơ sở để giải quyết vấn đề an toàn thông tin trong thực tế
Trang 24Chương-2 MỘT SỐ CƠ SỞ MẬT MÃ PHỤC VỤ AN TOÀN THÔNG TIN
Trong chương 2, luận văn tổng hợp, phân tích một số tiêu chuẩn về an toàn thông tin, chữ ký số và dịch vụ chứng thực chữ ký số: Đối với mã hoá phi đối xứng và chữ ký số, áp dụng lược đồ RSA-OAEP theo chuẩn PKCS#1v2.1 [8]; đối với mã hóa đối xứng áp dụng thuật toán mã khối AES [7]
2.1 Lược đồ mã RSA-OAEP
RSA-OAEP (RSA Encryption Scheme – Optimal Asymmetric Encryption Padding) được đưa ra bởi Bel-lare và Rogaway năm 1994 Mã hóa khóa công khai RSA-OAEP là sự kết hợp giữa phương pháp mã hóa của OAEP với mã hóa RSA nguyên thủy RSA-OAEP sử dụng bản rõ làm đầu vào, chuyển chúng thành thông báo đã được mã hóa bằng OAEP và áp dụng RSAEP (RSA encryption primitive) để cho kết quả (dạng số nguyên) sử dụng một khóa công khai RSA RSA-OAEP dùng cả hai khả năng bảo mật và được thiết kể cho việc mã hóa một thông báo ngắn – các khóa bí mật trong mật mã đối xứng
2.1.1 Hàm mã hoá RSAES-OAEP
RSAES-OAEP-ENCRYPT((n, e), M,L)
Các lựa chọn: Hash là hàm băm (hLen ký hiệu độ dài theo byte của
đầu ra hàm băm) MGF là hàm sinh mặt nạ Đầu vào: (n, e) là khoá công khai RSA của người nhận (k ký hiệu
độ dài theo byte của RSA modulo n)
M là thông báo được mã hóa, chuỗi byte có độ dài mLen với mLen k –2hLen-2
L là nhãn tùy chọn liên quan đến thông báo, giá trị mặc định của L là chuỗi rỗng nếu không được cung cấp Đầu ra: C bản mã, chuỗi byte có độ dài k
Các lỗi: “thông báo quá dài”, “nhãn quá dài”
Giả thiết: Khoá công khai RSA (n, e) là hợp lệ
Trang 25Các bước thực hiện:
Bước1) Kiểm tra độ dài:
a Nếu độ dài của L lớn hơn giới hạn đầu vào cho hàm băm (261 - 1 byte đối với SHA-1), thì cho ra “nhãn quá dài” và dừng
b Nếu mLen > k -2hLen-2 thì cho ra “thông báo quá dài” và dừng
Bước 2) Chuẩn bị dữ liệu EME-OAEP :
a Nếu L không được cung cấp thì L là chuỗi rỗng Đặt lHash=Hash(L), chuỗi byte có độ dài hLen Lưu ý, nếu L là chuỗi rỗng, giá trị lHash có biểu diễn hex sau cho các lựa chọn khác nhau của Hash:
SHA-1: (0x)da39a3ee 5e6b4b0d 3255bfef 95601890 afd80709
SHA-256: (0x)e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855
SHA-384: (0x)38b060a7 51ac9638 4cd9327e b1b1e36a 21fdb711 14be0743 4c0cc7bf 63f6e1da 274edebf e76f65fb d51ad2f1 4898b95b SHA-512: (0x)cf83e135 7eefb8bd f1542850 d66d8007 d620e405 0b5715dc 83f4a921 d36ce9ce 47d0d13c 5d85f2b0 ff8318d2 877eec2f 63b931bd 47417a81 a538327a f927da3e
b Sinh chuỗi byte PS chứa k-mLen-2hLen byte 0 Độ dài của PS có thể
là 0
c Nối lHash, PS, một byte duy nhất với giá trị hexa 0x01 và thông báo
M để tạo nên khối dữ liệu DB có độ dài k- hLen -1: DB = lHash || PS || 0x01 ||
M
d Sinh một chuỗi byte ngẫu nhiên seed có độ dài hLen
e Đặt dbMask = MGF(seed, k- hLen -1)
f Đặt maskedDB = DB dbMask
g Đặt seedMask = MGF(maskedDB, hLen)
h Đặt maskedSeed = seed seedMask
Trang 26i Nối byte duy nhất với giá trị hexa 0x00, maskedSeed và maskedDB để tạo nên thông báo EM có độ dài k byte: EM = 0x00 || maskedSeed || maskedDB
Bước 3) Mã hóa RSA:
a Chuyển thông báo EM thành số nguyên biểu diễn thông báo m: m = OS2IP(EM)
b Áp dụng RSAEP vào khoá công khai RSA (n, e) và biểu diễn thông báo m để tạo ra số nguyên biểu diễn bản mã c: c= RSAEP((n,e),m)
c Chuyển biểu diễn bản mã c thành bản mã C có độ dài k byte: C = I2OSP(c, k)
Bước 4) Cho ra bản mã C
Hình 2.1 Thuật toán mã hóa EME-OAEP
2.1.2 Hàm giải mã RSAES-OAEP
RSAES-OAEP-DECRYPT(K, C,L)
Trang 27Các lựa chọn: Hash là hàm băm (hLen ký hiệu độ dài theo byte của
đầu ra hàm băm
MGF là hàm sinh mặt nạ
Đầu vào: K là khoá riêng RSA của người nhận (k ký hiệu độ dài
theo byte của RSA-modulo n)
C là bản mã cần được giải mã, chuỗi byte có độ dài k, với k 2hLen + 2
L là nhãn tùy chọn liên quan đến thông báo, giá trị mặc định của L là chuỗi rỗng nếu không được cung cấp Đầu ra: M thông báo, một chuỗi byte có độ dài mLen với mLen
k – 2hLen -2
Các bước:
Bước 1) Kiểm tra độ dài:
a Nếu độ dài của L lớn hơn giới hạn đầu vào cho hàm băm (261-1 byte đối với SHA-1), thì cho ra “Lỗi giải mã” và dừng
b Nếu độ dài của bản mã C không là k byte, cho ra “Lỗi giải mã” và dừng
c Nếu k < 2hLen + 2, cho ra “Lỗi giải mã” và dừng
Bước 2) Giải mã RSA:
a Chuyển bản mã C thành số nguyên biểu diễn bản mã c: c = OS2IP(C)
b Áp dụng RSADP vào khoá riêng RSA K và biểu diễn bản mã c để tạo
ra số nguyên biểu diễn thông báo m: m = RSADP(K, c) Nếu RSADP cho ra
“biểu diễn bản mã ở ngoài miền” (có nghĩa rằng c n), ra “lỗi giải mã” và dừng
c Chuyển biểu diễn thông báo m thành thông báo EM có k byte: EM = I2OSP(m, k)
Bước 3) Xử lý EME-OAEP:
Trang 28a Giả sử lHash được lấy như trong quá trình chuẩn bị dữ liệu OAEP
EME-b Phân tách thông báo EM thành một byte duy nhất Y, chuỗi byte maskedSeed có độ dài hLen, chuỗi byte maskedDB có độ dài k-hLen-1 như sau:
EM = Y || maskedSeed || maskedDB
c Đặt seedMask = MGF(maskedDB, hLen)
d Đặt seed = maskedSeed seedMask
e Đặt dbMask = MGF(seed, k –hLen-1)
f Đặt DB = maskedDB dbMask
g Phân tách DB thành chuỗi byte lHash‟ có độ dài hLen, chuỗi đệm PS (có thể rỗng) bao gồm các byte với giá trị hexa 0x00 và thông báo M: DB = lHash‟||PS|| 0x01|| M Nếu không có byte có giá trị hexa bằng 0x01 phân tách giữa PS và M, nếu lHash không bằng lHash‟, hoặc nếu Y không bằng zero thì cho ra “lỗi giải mã” và dừng
Bước 4) Cho ra thông báo M
2.1.3 Yêu cầu tham số an toàn cho hệ mật RSA
Trong thực tế, không phải bộ tham số nào của hệ mật RSA cũng làm cho
hệ mật này an toàn trước các tấn công thám mã nên việc đưa ra các yêu cầu về tham số để hệ mật RSA an toàn là một nội dung rất cần thiết
Chuẩn TCVN 7635:2007: Là một chuẩn liên quan đến hệ mật RSA do Tiểu ban Kỹ thuật tiêu chuẩn TCVN/JTC 1/SC 27 “Các Kỹ thuật Mật mã” biên soạn trên cơ sở dự thảo của Ban Cơ yếu Chính phủ, Tổng cục Tiêu chuẩn
Đo lường chất lượng đề nghị, Bộ Khoa học và Công nghệ, được công bố vào năm 2007 Chuẩn liên quan đến các tham số cho hệ mật RSA được đánh số lại với chữ cái đầu là V như sau:
V1 Độ dài modulo N (nlen) không được nhỏ hơn 1024 và nên được thay đổi theo thời gian được trình bày trong bảng 2.3
Trang 29Bảng 2.1 Độ dài modulo của hệ mật RSA theo TCVN 7635:2007
Thời gian sử dụng Độ an toàn
(security_strength) nlen tối thiểu
V2 Số mũ công khai e phải được chọn với các ràng buộc sau:
a) Chọn trước khi tạo số mũ bí mật
b) Là số nguyên dương lẻ sao cho 65537 e < 2security_strength
2nlen-V3 Hai số nguyên tố p, q phải được chọn với ràng buộc:
a) p-1 và q-1 phải nguyên tố cùng nhau với e
b) Mỗi một trong bốn số p-1, p+1, q-1 và q+1 phải có ước nguyên tố lớn hơn 2security_strength+20
V4 Số mũ bí mật d phải được chọn sau khi tạo p và q với các ràng buộc: a) d > 2nlen/2
b) d e-1 (mod lcm(p-1,q-1))
2.2 Thuật toán mã khối AES
Vào năm 1996, Viện quốc gia về chuẩn của Mỹ (NIST) đã công bố một cuộc thi khởi tạo chuẩn mã mới để thay thế DES Chuẩn mới đã được biết đến tên gọi AES (Advanced Encrytion Standard) Vào ngày 02-10-2000, NIST đã thông qua chọn thuật toán Rijndael được tạo ra bởi Vincent Rijman và Joan Daemen làm thuật toán chuẩn cho AES
Trang 302.2.1 Giới thiệu thuật toán AES
AES là thuật toán hướng byte Đơn vị thông tin được xử lý trong thuật toán là byte Chúng được xem như một phần tử của trường Galois GF(28) với phép và phép nhân
Mỗi byte có thể được biểu diễn theo nhiều cách khác nhau Ở dạng nhị phân là {b7 b6 b5 b4 b3 b2 b1 b0}, ở dạng hệ cơ số 16 là { h1 h0}, ở dạng đa thức có các hệ số nhị phân là
7
0
i i i
Trang 3113 11 9 8 6 5 4 3
1
x x x x x x x x
modulo (x8x4 x3 x 1) x7x61
2.2.2 Cấu trúc bên trong của AES
AES là thuật toán mã khối với mã pháp là dãy các phép lặp, được thực hiện trên một cấu trúc không gian nào đó được gọi là trạng thái (state) Trạng thái có thể biểu diễn ở dạng khối chữ nhật các byte, 4 dòng và Nb=4 cột, độ dài bít là 128
Khóa cũng được biểu diễn ở dạng khối chữ nhật Mỗi khối khóa có 4 dòng, còn số cột có thể là 4, 6 hoặc 8 Độ dài khóa theo bit là 128, 192 hoặc
256
Các giá trị đầu vào và ra của thuật toán được biểu diễn ở các khối byte một chiều với độ dài tương ứng Trạng thái và khối khóa được ghi vào từ các khối đó, đầu tiên theo cột, còn sau đó theo các dòng
Số lượng các vòng phụ thuộc vào kích cỡ khóa được chọn, ví dụ kích cỡ khóa 128 bit-10 vòng, 192 bit-12 vòng, và 256 bit – 14 vòng Mỗi vòng gồm nhiều tầng khác nhau Các tầng cho quá trình mã hóa và giải mã như sau:
* Mã hóa
Tầng thay thế byte (ByteSub)
Tầng thay thế byte gồm 16 S-box có các tính chất sau:
Các S-box giống hệt nhau
Là thành phần phi tuyến duy nhất trong AES, nghĩa là: ByteSub(Si) + ByteSub(Sj)≠ByteSub(Si+Sj), i j,
Là song ánh, nghĩa là tồn tại ánh xạ 1-1 của các byte đầu vào và đầu ra, điều này đảm bảo S-box có thể tồn tại duy nhất S-box ngược
S-box của AES được xây dựng dựa trên ánh xạ nghịch đảo trên trường GF(28)