BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHCN VIỆT NAM VIỆN CÔNG NGHỆ THÔNG TIN TRẦN MINH TÂN MỘT SỐ GIẢI PHÁP NÂNG CAO TÍNH BẢO MẬT VÀ HIỆU NĂNG CHO HỆ THỐNG MÁY CHỦ TÊN MIỀN DNS CẤP QUỐ
Trang 1
BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHCN VIỆT NAM
VIỆN CÔNG NGHỆ THÔNG TIN
TRẦN MINH TÂN
MỘT SỐ GIẢI PHÁP NÂNG CAO TÍNH BẢO MẬT
VÀ HIỆU NĂNG CHO HỆ THỐNG MÁY CHỦ TÊN
MIỀN DNS CẤP QUỐC GIA
Chuyên ngành: BẢO ĐẢM TOÁN HỌC CHO MÁY TÍNH
VÀ HỆ THỐNG TÍNH TOÁN
Mã số: 62.46.35.01
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Văn Tam
TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC
HÀ NỘI - 2014
Trang 2MỞ ĐẦU
Hệ thống máy chủ tên miền DNS (Domain Name System) thực hiện chức năng quản lý và chuyển đổi giữa tên miền và địa chỉ IP, được coi là "lõi" của mạng Internet toàn cầu Trong các quy trình vận hành hoạt động của hệ thống DNS ở cấp quốc gia, quy trình đồng bộ dữ liệu bản ghi tên miền (zone transfer) giữa các máy chủ DNS đóng vai trò rất quan trọng, quyết định cho sự an toàn của cả hệ thống Hiện công nghệ DNSSEC sử dụng hệ mật RSA (DNSSEC-RSA) đang trong xu thế triển khai áp dụng để đảm bảo việc xác thực, an toàn cho DNS Tuy nhiên DNSSEC-RSA còn có những nhược điểm liên quan đến độ dài khóa mã, làm tăng đáng kể kích thước các file dữ liệu tên miền sau khi ký xác thực, vì thế cần phải tiếp tục nghiên cứu thêm các
hệ mật khác đảm bảo tăng mức bảo mật nhưng làm giảm được độ dài khóa Bên cạnh
đó, do lượng truy vấn tên miền trên hệ thống DNS cấp quốc gia rất lớn nên cũng cần phải nghiên cứu các giải pháp phù hợp để nâng cao hiệu năng mạng cho hệ thống này Việc cải tiến, ứng dụng công nghệ anycast, ứng dụng công nghệ IPv6 cho hệ thống DNS cấp quốc gia là các giải pháp hiệu quả
Mục tiêu và các đóng góp chính của luận án tập trung vào các nội dung:
1 Nghiên cứu hệ mật dựa trên đường cong elliptic (ECC) đưa ra các đề xuất cải tiến, ứng dụng ECC cho quá trình trao đổi dữ liệu tên miền (zone transfer) giữa các máy chủ DNS bên trong hệ thống mạng máy chủ tên miền DNS cấp quốc gia, thay thế và khắc phục hạn chế về độ dài khóa của RSA trong DNSSEC, nâng cao hiệu năng hoạt động cho hệ thống
2 Nghiên cứu các phương pháp phòng, chống tấn công trên hệ mật dựa trên đường cong elliptic, đề xuất giải pháp chọn thuật toán cộng và nhân đôi điểm trên đường cong elliptic, xây dựng thuật toán nhân đôi điểm, phương pháp chọn miền tham số, chọn đường cong elliptic phù hợp để nâng cao khả năng phòng, chống tấn công trên hệ mật ECC Áp dụng cài đặt để đảm bảo tăng độ an toàn, bảo mật và nâng cao hiệu năng hoạt động cho quá trình trao đổi dữ liệu tên miền giữa các máy chủ trong hệ thống DNS cấp quốc gia
3 Nghiên cứu, đề xuất giải pháp cải tiến lựa chọn máy chủ tối ưu, chọn đường dẫn cho mạng DNS anycast ở cấp quốc gia với các cụm DNS đặt tại các vị trí địa lý khác nhau, nâng cao hiệu năng mạng cho hệ thống Nghiên cứu, đề xuất xây dựng mô hình triển khai DNS anycast IPv6 có dự phòng để đảm bảo sự hoạt động ổn định cho
hệ thống DNS cấp quốc gia và phù hợp với yêu cầu chuyển đổi IPv4 sang IPv6
Tổ chức luận án: Luận án gồm có phần mở đầu và bốn chương nội dung, phần
kết luận, các tài liệu tham khảo và phụ lục Trong đó:
Chương 1 trình bày tổng quan về tên miền, cơ chế hoạt động của hệ thống máy
chủ tên miền DNS, các nguy cơ ảnh hưởng đến an toàn của DNS và các giải pháp đảm bảo an toàn, hiệu năng mạng hiện có cho hệ thống DNS cấp quốc gia Lập luận, phân tích để rút ra vấn đề mấu chốt cần tập trung giải quyết, cần hoàn thiện cho hệ thống DNS ở cấp quốc gia, xây dựng các luận điểm chính, mục tiêu chính của luận án
và làm cơ sở nghiên cứu các vấn đề toán học liên quan trong các chương tiếp theo
Trang 3Chương 2 trình bày các nghiên cứu về hệ mật dựa trên đường cong elliptic
(ECC) và các cải tiến để ứng dụng ECC tăng cường bảo mật và nâng cao hiệu năng cho hệ thống DNS Ngoài việc trình bày các cơ sở toán học, chương này trình bày các
đề xuất, cải tiến thuật toán tạo khóa, trao đổi khóa, mã hóa và giải mã, giải pháp sử dụng chữ ký số trên ECC để áp dụng vào việc tăng cường xác thực, bảo mật dữ liệu tên miền, đồng thời nâng cao hiệu năng cho quá trình trao đổi, đồng bộ dữ liệu giữa các máy chủ trong nội bộ hệ thống DNS cấp quốc gia, các kết quả thử nghiệm, đánh giá trên bộ dữ liệu tên miền quốc gia ".vn" hiện tại
Chương 3 trình bày cơ sở toán học của một số phương pháp phòng chống tấn
công trên ECC, đề xuất giải pháp lựa chọn thuật toán cộng và nhân đôi của đường cong elliptic một cách hiệu quả, xây dựng thuật toán nhân điểm, phương pháp chọn miền tham số, chọn đường cong elliptic sử dụng làm mã bảo mật đáp ứng các yêu cầu hạn chế tấn công dò tìm cặp khóa để áp dụng cho hệ thống DNS; trình bày kết quả thử nghiệm áp dụng các nghiên cứu, cải tiến nêu trên cho việc mã hóa, giải mã và xác thực bên trong hệ thống hệ thống DNS cấp quốc gia, nâng cao hiệu năng hệ thống
Chương 4 trình bày về giải pháp cải tiến để ứng dụng anycast cho hệ thống
DNS cấp quốc gia và việc ứng dụng địa chỉ Internet thế hệ mới IPv6 vào mạng DNS anycast, nâng cao hiệu năng mạng và khả năng dự phòng an toàn cho hệ thống này
Cuối cùng là phần kết luận, tóm tắt những đóng góp chính của luận án, các hướng phát triển nghiên cứu tiếp theo và những vấn đề quan tâm của tác giả
Chương 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 1.1 Tên miền Internet
1.2 Các máy chủ quản lý tên miền
Mỗi quốc gia đều có hệ thống DNS riêng để quản lý tên miền cấp cao mã quốc gia
đó Hệ thống DNS phân định hai loại: máy chủ tên miền chính (Primary DNS) và máy chủ tên miền phụ (Secondary DNS) Máy chủ tên miền chính là máy chủ gốc, chứa toàn bộ dữ liệu cho các loại tên miền (các zone) Máy chủ phụ san tải, dự phòng cho máy chủ chính, dữ liệu tên miền trên máy được lấy về từ máy chủ chính
1.3 Cơ chế hoạt động của hệ thống DNS
1.3.1 Quá trình tìm kiếm, trả lời truy vấn DNS
1.3.2 Các quá trình tương tác trong hệ thống DNS
- Truy vấn tương tác (interactive query)
- Truy vấn đệ qui (recursive query)
1.3.3 Zone transfer - phương pháp đồng bộ dữ liệu giữa các DNS
Theo thời gian định kỳ máy chủ phụ sẽ hỏi máy chủ DNS chính, nếu có sự thay đổi trong máy chủ chính, máy chủ phụ sẽ tự động cập nhật dữ liệu về Quá trình này
(zone transfer) được thực hiện thường xuyên giữa máy DNS chính và các máy phụ
Trang 41.3.4 Luồng cập nhật dữ liệu trong hệ thống DNS
Thông tin dữ liệu tên miền được lưu trữ trong các zone file và được cập nhật vào hệ thống máy chủ DNS chính thông qua chuẩn cập nhật động Dynamic update, sau đó
dữ liệu sẽ được tự động cập nhật đồng bộ tới các máy DNS phụ
1.4 Các vấn đề đảm bảo an ninh, an toàn đặt ra cho hệ thống DNS cấp quốc gia
Các vấn đề đảm bảo an ninh, an toàn, một số phương pháp tấn công DNS, các lỗi cơ bản cần phải quan tâm như lỗi “đầu độc vùng lưu tạm DNS”, lỗi khi không thiết lập đường truyền riêng cho quá trình zone transfer được trình bày chi tiết trong luận án
1.5 Một số giải pháp hiện có tăng cường tính bảo mật và hiệu năng hệ thống DNS 1.5.1 Giải pháp nâng cao tính bảo mật
Giải pháp mới đang có xu thế triển khai rộng rãi cho hệ thống DNS là DNSSEC (DNS Security Extensions), công nghệ an toàn mở rộng cho DNS, cung cấp một cơ chế xác thực giữa các máy chủ DNS với nhau và xác thực cho từng zone dữ liệu theo chuẩn TSIG (Transaction Signature) Bản chất của DNSSEC là đảm bảo toàn vẹn dữ liệu cho DNS trên cơ sở hạ tầng mật mã khóa công khai, DNSSEC đưa ra 4 loại bản ghi mới là: DNSKEY, RRSIG (Resource Record Signature); NSEC (Next Secure) và
DS (Delegation Signer) Hiện tại, các thuật toán mã hóa, giải mã và trao đổi khóa phổ biến đang được áp dụng trong DNSSEC là RSA, với giải pháp này kích thước các bản ghi DNS sau khi chèn thêm chữ ký bị tăng lên rất lớn
1.5.2 Giải pháp nâng cao hiệu năng cho mạng DNS
1.5.2.1 Sử dụng hệ thống DNS Caching
Thông thường các quốc gia sẽ xây dựng hệ thống máy chủ đệm (DNS Caching) để trong khi tên miền muốn tìm thông tin ở lần truy vấn sau trùng với tên đã được truy vấn ở lần trước, máy chủ sẽ lấy dữ liệu đã được lưu sẵn trong bộ nhớ để trả lời
1.6 Mục tiêu và hướng tiếp cận của luận án
Thứ nhất, về khía cạnh bảo mật: Xu thế hiện đang nghiên cứu là dần đưa DNSSEC
vào sử dụng đảm bảo an toàn cho quá trình zone transfer Tuy nhiên với RSA, để an toàn phải tiếp tục tăng độ dài khóa (tối thiểu 2048 bit), dẫn đến làm tăng kích thước các zone dữ liệu tên miền và thời gian xử lý
DNSSEC-Hệ mật ECC có độ bảo mật cao, độ dài khóa nhỏ là một hướng tiếp cận Trên thực tế, tháng 4/2012 IETF đã công bố RFC 6605 khuyến nghị sử dụng thuật toán chữ ký số elliptic cho DNSSEC Ngày 02/8/2013, các chuyên gia về bảo mật cũng đã đưa ra cảnh báo, thuyết phục sử dụng hệ mật dựa trên đường cong elliptic làm giải pháp thay
Trang 5thế trước khi RSA và Diffie-Hellman thực sự bị phá vỡ Việc nghiên cứu, cải tiến, ứng dụng ECC vào hệ thống DNS sẽ là giải pháp hữu hiệu để vừa nâng cao được độ bảo mật lại vừa giảm được độ dài khóa, giảm kích thước các dữ liệu bắt buộc phải truyền trên mạng, nâng cao hiệu năng hoạt động cho hệ thống
Thứ hai, về khía cạnh nâng cao hiệu năng mạng: Việc sử dụng DNS Caching rút ngắn
được thời gian truy vấn các tên miền đã từng được truy vấn trước đó, nhưng chỉ mang tính chất hỗ trợ tạm thời Ứng dụng DNS anycast mang lại hiệu quả do cho phép máy trạm chọn lựa được máy chủ gần nhất trên mạng trong số các máy chủ DNS có cùng địa chỉ Tuy nhiên trong bản thân nội mạng DNS anycast ở cấp quốc gia, với quy mô mạng diện rộng, việc đưa ra quyết định sẽ chọn máy chủ nào và đi theo đường nào trong số các đường đi dẫn đến máy chủ đó để trả lời yêu cầu truy vấn của client, đảm bảo cho hệ thống đạt được chất lượng dịch vụ, hiệu năng mạng cao nhất là vấn đề rất cần được quan tâm Việc áp dụng, triển khai sớm IPv6 trên mạng máy chủ DNS cũng đóng vai trò quyết định quan trọng không kém
Vì các lý do đó, luận án tiếp cận và tập trung vào nghiên cứu, triển khai các nội dung:
1 Nghiên cứu hệ mật dựa trên đường cong elliptic (ECC) Đề xuất các cải tiến ECC
để áp dụng, cài đặt cho một tiến trình cụ thể là trao đổi dữ liệu tên miền (zone transfer) giữa các máy chủ DNS trong hệ thống mạng máy chủ tên miền DNS cấp quốc gia Thiết lập mô hình xác thực, tạo khóa, trao đổi khóa, mã hóa, giải mã trên ECC để đảm bảo việc trao đổi dữ liệu trong quá trình zone transfer giữa các máy chủ DNS được an toàn và giảm thiểu việc tăng kích thước các file dữ liệu phải truyền tải trên mạng, nâng cao hiệu năng hoạt động cho hệ thống này
2 Nghiên cứu lựa chọn các thuật toán phù hợp, cải tiến tốc độ thực hiện các phép tính cộng và nhân trên đường cong elliptic, các phương pháp chọn miền tham số, chọn đường cong elliptic dùng làm mã bảo mật phù hợp để chống lại các tấn công dò tìm khóa, đảm bảo nâng cao mức độ bảo mật cho việc ứng dụng ECC trong hệ thống DNS đồng thời nâng cao hiệu năng của hệ thống
3 Nghiên cứu, đề xuất giải pháp cải tiến để triển khai công nghệ anycast trong mạng máy chủ tên miền DNS cấp quốc gia với các cụm DNS anycast đặt tại các vị trí địa lý khác nhau Đưa ra giải pháp lựa chọn máy chủ và đường dẫn tối ưu đến máy chủ trong số các máy có cùng địa chỉ anycast, nâng cao hiệu năng mạng Đồng thời nghiên cứu, đề xuất xây dựng mô hình triển khai DNS anycast IPv6 có dự phòng, phù hợp với yêu cầu chuyển đổi IPv4 sang IPv6 giai đoạn hiện tại
Chương 2: NÂNG CAO TÍNH BẢO MẬT VÀ HIỆU NĂNG CHO HỆ THỐNG DNS CẤP QUỐC GIA BẰNG GIẢI PHÁP CẢI TIẾN VÀ ỨNG DỤNG HỆ MẬT DỰA
TRÊN ĐƯỜNG CONG ELLIPTIC (ECC) 2.1 Hệ mật dựa trên đường cong elliptic
2.1.1 Đường cong elliptic
Với 𝕂 là trường hữu hạn 𝔽p (p là số nguyên tố, p ≠ 2, 3), đường cong elliptic là tập của tất cả các điểm có tọa độ x,y thỏa mãn phương trình Weierstrass dạng rút gọn:
Trang 6y 2 = x 3 +ax+b; a,b 𝔽p
2.1.2 Dạng của đường cong elliptic
Trên trường hữu hạn 𝔽q có hai dạng đường cong elliptic được dùng trong các hệ mã hóa là supersingular và non-supersingular
2.1.3 Một số dạng đường cong elliptic đặc biệt
Các dạng đường cong elliptic (đường cong kỳ dị, đường cong không kỳ dị, đường cong bất quy tắc, đường cong siêu kỳ dị), được trình bày chi tiết trong luận án
2.1.4 Các phép toán trên đường cong elliptic
Các phép toán cơ bản trên đường cong elliptic là phép cộng điểm và nhân đôi điểm được trình bày trong luận án
2.1.8 Nhúng bản rõ lên đường cong
Nhúng một bản rõ lên đường cong elliptic E là biểu diễn lại bản rõ đó như là các điểm trên E mà nhờ đó chúng ta có thể thực hiện được các tính toán trên E
2.1.9 Vấn đề trao đổi khoá Diffie-Hellman(D-H) trên ECC
2.1.10 Một số kết quả nghiên cứu trên thực tế
Hệ mật ECC đã được nghiên cứu, bước đầu ứng dụng trên các thiết bị di động Với cùng một mức bảo mật, ECC có độ dài khóa nhỏ hơn rất nhiều so với RSA
Bảng 2.1 So sánh độ dài khóa của các hệ mật với
Trang 72.2 Đề xuất cải tiến ứng dụng ECC trong bảo mật cho hệ thống DNS
2.2.1 Mô hình mã hóa tích hợp đường cong elliptic (ECIES)
Mô hình mã hóa tích hợp đường cong elliptic (ECIES - Elliptic Curve Integrated Encryption Scheme) do Bellare và Rogaway đề xuất hiện đang được khuyến cáo sử dụng cho các ứng dụng hệ mật ECC và đã được chuẩn hóa trong các tài liệu ANSI X9.63, ISO/IEC 15946-3, trong bản dự thảo tiêu chuẩn IEEE P1363a Trong ECIES,
mô hình chia sẻ khóa Diffie-Hellman được sử dụng để hai bên truyền thông thiết lập
và chia sẻ hai khóa k1, k2 Trong đó, k1 được sử dụng để mã hóa thông điệp truyền bằng hệ mật mã khóa đối xứng, k2 được sử dụng để xác thực kết quả của bản mã
2.2.1.1 Thuật toán mã hóa ECIES
+ Đầu vào: Đường cong elliptic với bộ tham số đầu vào D = (q,FR,S,a,b,P,n,h), khóa công khai Q, bản rõ M
+ Đầu ra: Bản mã (R, C, t)
1 Chọn ngẫu nhiên số nguyên k trong khoảng [1, n-1];
2 Tính các điểm R=k*P và Z=h*k*Q Nếu Z = ∞ thì quay lại bước 1
3 Tính cặp khóa (k1,k2) ← KDF(xZ, R), với xZ là hoành độ của điểm Z
4 Tính bản mã (sử dụng khóa k1): C = ENC(k1,M) và tính mã xác thực thông báo cho bản mã (sử dụng khóa k2): t = MAC(k2,C)
5 Đưa ra (R,C,t)
2.2.1.2 Thuật toán giải mã ECIES
+ Đầu vào: Đường cong elliptic với bộ tham số D = (q,FR,S,a,b,P,n,h), khóa riêng
d, bản mã (R,C,t)
+ Đầu ra: Bản rõ M hoặc thông báo bản mã không hợp lệ
1 Kiểm tra xem điểm R có thuộc đường cong elliptic hay không? Nếu không, trả
về thông báo không hợp lệ
2 Tính điểm Z = h*d*R Nếu Z = ∞ thì trả về thông báo bản mã không hợp lệ
3 Tính cặp khóa (k1,k2) ← KDF(xZ,R) với xZ là hoành độ của điểm Z
4 Tính t' = MAC(k2,C) Nếu t'≠t thì trả về thông báo bản mã không hợp lệ
Trang 8bản mã ở đầu bên nhận Mô hình này không phát huy được hết tính ưu việt của mô hình mã hóa khóa công khai (các bên nhận, gửi đều đã có cặp khóa công khai/khóa bí mật), nhất là trong trường hợp đã có sử dụng dịch vụ chứng thực chữ ký số CA
2.2.2 Đề xuất cải tiến, ứng dụng hệ mật trong bảo mật cho hệ thống DNS
Ở đây, luận án đề xuất cải tiến để ứng dụng hệ mật theo hướng đơn giản hơn, rõ ràng hơn và tận dụng tối đa các ưu điểm của mô hình mã hóa khóa công khai, áp dụng cho
bài toán bảo mật dữ liệu trong hệ thống DNS (các lưu đồ thuật toán chi tiết được
trình bày trong luận án) Theo đó:
2.2.2.1 Tạo khóa
Đường cong elliptic trên trường 𝔽p có dạng: y2 ≡ (x3
+ ax + b) mod p, các tham số p,
a và b Lấy điểm cơ sở G từ nhóm E(a,b) trên đường cong elliptic, bậc của điểm G
trên đường cong được xác định bằng số nguyên dương bé nhất n sao cho nG = ∞
Thuật toán tạo khóa: Hai bên gửi A và nhận B
Đầu vào: Bên gửi A và Bên nhận B thống nhất đường cong elliptic và bộ tham
số hệ mật đường cong elliptic T
Đầu ra: Khóa công khai của A: PA và khóa công khai của B: PB được thiết lập Các bước thuật toán:
1 A chọn ngẫu nhiên một số nguyên dương nA< n
2 A xác lập tích PA = nAG = (xA, yA)
Cặp khóa công khai và khóa riêng của A là (PA, nA)
3 B chọn ngẫu nhiên số nguyên nB<n và tính
PB = nBG = (xB, yB)
Cặp khóa công khai, khóa riêng của B là (PB, nB)
2.2.2.2 Thuật toán trao đổi khóa
Thuật toán trao đổi khóa được hình thành sau khi bên A và bên B đã tạo các khóa công khai PA và PB Thuật toán được diễn đạt như sau:
Đầu vào: Cặp khóa PA và PB
Trang 9Như vậy cả A và B đều nhận được K giống nhau
Muốn tấn công được vào mô hình này, bên tấn công bắt buộc phải tìm được khóa chia sẻ K Mặc dù về nguyên tắc, do PA và PB là các khóa công khai nên có thể một bên thứ 3 sẽ lấy được PA và PB và thậm chí nếu biết G thì bên thứ 3 cũng có thể
dò tìm hoặc tính được: PA + PB = nAG + nBG = (nA + nB)G Tuy nhiên để tính được khóa chia sẻ K = nAnBG, bên thứ 3 này bắt buộc phải tìm được nA từ G và PA cũng như phải tìm được nB từ G và PB, nghĩa là phải giải được bài toán logarit rời rạc trên
E Đây là bài toán "rất khó" và hầu như là không khả thi do tính chất hàm một chiều
và độ khó của bài toán logarit rời rạc trên đường cong elliptic Vì thế thuật toán đảm bảo được độ an toàn
2.2.2.3 Thuật toán mã hóa và giải mã
Thuật toán mã hóa và giải mã elliptic ECIES được Bellare và Rogaway đề xuất, thực chất là một biến thể của hệ mật mã công khai ElGamal Ở đây luận án sẽ
mô tả cụ thể hơn dưới dạng lưu đồ thuật toán và đơn giản hơn bằng cách bỏ qua thủ tục tính cặp khóa, tính bản mã sử dụng
Thuật toán mã hóa:
Đầu vào: A muốn gửi bản tin M cho B
Đầu ra : Văn bản mã cM
Các bước thực hiện:
1 A chọn ngẫu nhiên một số nguyên dương thỏa mãn 0<k<n và tính: c1 = kG và c2 = M + kPB trong đó PB là khóa công khai của B
2 A gửi văn bản đã mã hóa cM = {c1, c2} cho B
Thuật toán giải mã
Trong phương thức mã hóa này, bên A đã giấu đi bản rõ M bằng cách cộng M với
kPB Để giải mã, bên B phải loại bỏ bớt đi kPB Thay vì gửi trực tiếp k cho bên B để bên B tính kPB, bên A gửi cho bên B một dấu hiệu là c1 = kG Dựa vào kG và khóa
riêng nB, bên B có thể dễ dàng tính được kPB và thông qua đó tính lại được bản rõ M
Bên thứ ba mặc dù có thể biết được G và kG, tuy nhiên vẫn không thể tính được k do tính chất của hàm một chiều và như vậy sẽ không thể loại bỏ được kPB để có bản rõ
M Việc này đảm bảo cho hệ mật ECC xây dựng được là an toàn
Nhận xét:
- Thuật toán này không yêu cầu phải tính cặp khóa sử dụng phiên (k1, k2) và không phải kiểm tra điểm R có thuộc đường cong elliptic hay không, không cần tính
Trang 10điểm Z = h*d*R như trong ECIES, làm cho tốc độ tính nhanh hơn
- Trong mô hình này, không một bên nào khác ngoài A biết được giá trị k Như
vậy, mặc dù PB là khóa công khai nhưng chỉ có bên B với khóa riêng nB mới có thể
tách được giá trị kPB ra khỏi bản mã CM Trong các bước này, muốn phá mã, bên tấn
công cần phải tính được k từ các giá trị của G và kG Đây là bài toán "rất khó" theo
tính chất của đường cong elliptic
- Cũng theo tính chất của đường cong elliptic, các phép toán cộng điểm và nhân điểm trên đường cong elliptic đều cho kết quả là một điểm cùng nằm trên đường cong elliptic Như vậy với tham số đầu vào G đã là một điểm cơ sở thuộc đường cong elliptic được chọn để xây dựng hệ mật ECC thì kết quả các phép tính PA=nAG,
PB=nBG cũng là những điểm cùng thuộc đường cong elliptic đang xét Các giá trị c1,
c2 của bản mã, kết quả phép nhân kP cũng đều thuộc đường cong đã chọn và đảm bảo
được tính đúng đắn của thuật toán cải tiến đã đề xuất
2.2.2.4 Ký và xác thực chữ ký
Với đường cong elliptic đã chọn cùng các tham số hệ mật trên trường hữu hạn 𝔽p là T=(p,a,b,G,n,h) và các cặp khóa công khai, khóa riêng của A (PA, nA), khóa công khai, khóa riêng của B (PB, nB) đã được xác định ở trên; việc ký và xác thực chữ ký trong ứng dụng hệ mật ECC ở đây đề xuất sử dụng mô hình thuật toán ký số ECDSA (Elliptic Curve Digital Signature Algorithm) được chuẩn hóa trong ANSI X9.62, IEEE 1363-2000 và ISO/IEC 15946-2
2.3 Mô hình thực nghiệm ứng dụng ECC trong hệ thống DNS cấp quốc gia
Trên cơ sở các thuật toán cải tiến đã đề xuất ở trên, luận án đã triển khai các bước để ứng dụng hệ mật cho quá trình đồng bộ dữ liệu giữa máy chủ chính DNS và các máy chủ DNS phụ trong hệ thống DNS ở cấp quốc gia So sánh kết quả thu được với kết quả cách làm theo DNSSEC-RSA để đánh giá hiệu quả của hai giải pháp trên cùng một mức bảo mật Việc thực nghiệm được triển khai trên các zone file dữ liệu tên miền lấy trực tiếp về từ hệ thống DNS quốc gia ".vn", sử dụng hệ thống máy chủ dịch vụ chứng thực (CA) để chứng thực chữ ký số cho các máy DNS
2.4 Kết quả thực nghiệm
Luận án đã triển khai việc thực nghiệm ứng dụng hệ mật ECC trên các zone file dữ liệu lấy từ hệ thống tên miền quốc gia ".vn" bao gồm vn, com.vn, net.vn, org.vn, edu.vn và ac.vn Dữ liệu các zone tên miền sẽ được mã hóa toàn bộ bằng khóa công khai của máy DNS phụ trước khi ký xác thực bằng khóa bí mật trong bộ khóa công khai/khóa bí mật tương ứng của máy chủ DNS chính dành riêng cho máy chủ DNS phụ đó Đây là điểm khác biệt so với DNSSEC vì cách làm của DNSSEC là tách và
ký xác thực trên từng bản ghi tên miền, kích thước file dữ liệu ký bằng DNSSEC vì thế cũng sẽ bị tăng lên rất nhiều, dữ liệu gửi kèm theo cùng chữ ký là dữ liệu rõ, có thể đọc được mà không cần công cụ giải mã nào Các kết quả thu được bằng cả 3 phương pháp (sử dụng DNSSEC, ECC nguyên bản, ECC cải tiến) được đem ra so sánh theo các tiêu chí: 1/ Thời gian ký xác thực; 2/Kích thước zone file sau khi ký xác
Trang 11thực Chi tiết được thể hiện trong bảng 2.2 và các sơ đồ trên hình 2.8 và hình 2.9
Kết quả sau khi ký bằng DNSSEC-RSA-2048 bit, kích thước các zone file tăng bình
quân ~7,31 lần, trong khi đó sau ký xác thực bằng ECC-224 bit nguyên bản thì kích
thước chỉ còn tăng bình quân 1,92 lần, và ký xác thực bằng ECC-224 bit đã cải tiến
thì kích thước chỉ tăng bình quân 1,74 lần so với file dữ liệu gốc Về thời gian ký xác
thực, khi sử dụng DNSSEC với RSA-2048 bit sẽ lâu hơn bình quân 6,78 lần so với
ECC-224 bit nguyên bản và lâu hơn 7,8 lần so với việc ký bằng ECC-224 bit đã cải
tiến theo thuật toán đã đề xuất
Bảng 2.2 Tổng hợp số liệu về thời gian ký xác thực và kích thước các zone file tên miền VN
trước và sau khi ký bằng DNSSEC với RSA-2048 bit, bằng ECC-224 bit nguyên bản và bằng
ECC-224 bit đã cải tiến (IMP-ECC-224 bit)
Zone
Kích thước zone file ban đầu (Bytes)
Kích thước zone file sau khi ký xác
Số tên miền được
ký
Với DNSSEC- RSA 2048 bit
Với
ECC-224 bit nguyên bản
Với ECC-224 bit
IMP-Với DNSSEC -RSA
2048 bit
Với ECC-
224 bit nguyên bản
Với IMP- ECC -
Hình 2.8 So sánh kích thước zone file tên miền sau
khi ký xác thực bằng RSA và ECC
Hình 2.9 So sánh thời gian ký xác thực bằng RSAvà ECC trên các zone file gốc
Trang 12Kết quả thu được cho thấy việc sử dụng ECC đã làm giảm tương đối thời gian thực hiện cũng như kích thước file zone tên miền phải truyền tải trên mạng, tiết kiệm được đáng kể băng thông Ngoài việc tăng mức bảo mật, ứng dụng ECC đã nâng cao rõ rệt hiệu năng cho
hệ thống DNS Các kết quả chính của chương này được công bố trong công trình [A1]
Chương 3: NÂNG CAO KHẢ NĂNG PHÒNG CHỐNG TẤN CÔNG TRÊN ECC,
ÁP DỤNG ĐỂ ĐẢM BẢO AN TOÀN VÀ HIỆU NĂNG CHO HỆ THỐNG DNS 3.1 Một số phương pháp tấn công hệ mật đường cong Elliptic
Các phương pháp tấn công hệ mật ECC chính bao gồm: Phương pháp Pollard (Pollard's rho và Pollard-lambda), phương pháp Pohlig-Hellman, phương pháp tấn công MOV (chi tiết được trình bày trong luận án) Ngoài ra, còn có một số phương pháp tấn công hệ mật đường cong elliptic khác như: phương pháp BabyStep-GiantStep, phương pháp Index và Xedni, phương pháp tấn công dựa trên giả thuyết Diffe-Hellman, tấn công cài đặt
3.2 Phân tích, đánh giá các phương pháp phòng, chống tấn công kênh phụ đang
áp dụng cho hệ mật dựa trên đường cong elliptic
Để chống lại tấn công kênh phụ đối với hệ mật đường cong elliptic, cho đến nay đã nhiều công trình nghiên cứu Mặc dù giải pháp có khác nhau nhưng các tác giả đều có
ý tưởng chung là phải tăng tốc độ tính cho các phép toán cộng và nhân trên đường cong elliptic khi tiến hành các bước tính toán mã hóa, giải mã trên hệ mật, rút ngắn thời gian xử lý để chống các tấn công kênh phụ, dò tìm khóa mã
Các phương pháp chống tấn công kênh phụ bằng việc sử dụng dạng không kề cận NAF, sử dụng phương pháp cửa sổ để tăng tốc độ tính toán trên ECC được trình bày chi tiết trong luận án
3.3 Sử dụng thuật toán nhân điểm Montgomery để tăng tốc độ phép nhân trên đường cong elliptic
Thuật toán nhân điểm Montgomery trên đường cong y2
+ xy = x3 + ax2 + b xác định trên trường nhị phân 𝔽2m do López và Dahab đưa ra, dựa vào tư tưởng của Montgomery
* Thuật toán 3.5 - Nhân điểm Montgomery trên đường cong elliptic
Trang 13Trong đó: M: là phép nhân; m: bậc của đa thức; I: là phép nghịch đảo
Như vậy, với việc lợi dụng phương pháp cửa sổ, chỉ thực hiện cùng một thuật toán như nhau ở mọi vòng lặp chính, thời gian thực hiện thuật toán 3.5 đã giảm đi nhiều
so với các phương pháp trước đây Vì các lý do đó, luận án đề xuất sử dụng thuật toán 3.5 (Montgomery) trong phép nhân trên ECC để làm tăng khả năng chống tấn công kênh phụ cho các hệ thống thông tin sử dụng mã mật ECC
3.4 Chọn thuật toán cộng và nhân đôi của đường cong elliptic một cách hiệu quả 3.4.1 Các dạng đường cong
Hệ mật sử dụng đường cong elliptic có các đặc trưng của 𝕂 từ 2 và 3 hoặc bằng 2 hoặc 3 với mỗi giá trị đặc trưng của 𝕂 khác nhau, ta có các dạng đường cong khác nhau (chi tiết được trình bày trong luận án)
3.4.2 Phân tích các thuật toán cộng điểm, nhân đôi điểm trên đường cong elliptic trong các hệ tọa độ khác nhau
Độ bảo mật của bộ mã không chỉ phụ thuộc vào độ khó của phép tính logarith rời rạc trên đường cong elliptic mà còn phụ thuộc cả vào tốc độ tính toán khi áp dụng
hệ mật Luận án sẽ mở rộng khảo sát không chỉ trong các hệ tọa độ Affine (A), tọa
Trang 14độ chiếu (P), tọa độ Jacobi (J), tọa độ Chudonovsky (Jc) và Jacobi cải tiến (Jm
), mà còn ở hệ tọa độ López-Dahad, so sánh các phương pháp để rút ra kết luận hệ tọa độ nào sẽ đạt được tốc độ tính nhanh hơn
3.4.2.1 Đường cong elliptic y 2 + xy = x 3 + ax 2 + b
Qua phân tích các thuật toán (chi tiết các thuật toán trình bày trong luận án), số
lượng các phép tính cộng điểm, nhân đôi điểm trong các hệ tọa độ khác nhau được tóm tắt trong bảng 3.2
Bảng 3.2 Tổng số các phép tính cộng điểm, nhân đôi điểm trong các hệ thống tọa độ khác nhau (M=Multiplication, V=Division)
- Hệ tọa độ López-Dahab, mặc dù trong phép cộng tổng quát thì có số phép tính là 14M nhiều hơn so với trong hệ tọa độ chuẩn, nhưng trong phép cộng chung tọa độ hỗn hợp (8M) và phép tính nhân đôi (4M) có số phép tính là ít nhất khi so sánh với
cả hai hệ tọa độ chuẩn và Jacobian
3.4.2.2 Đường cong elliptic y 2 = x 3 + ax + b
Qua phân tích các thuật toán (chi tiết các thuật toán trình bày trong luận án), ta rút
ra được số lượng các phép tính trong các hệ thống tọa độ khác nhau, kết quả biểu thị trong bảng 3.3
Bảng 3.3 Số lượng các phép tính cộng điểm và nhân đôi điểm trong các hệ thống tọa độ khác nhau đối với đường cong y 2
= x3 - 3x + b
2A A 1I, 2M, 3S A + A A 1I, 2M, 1S J + A J 8M, 3S 2P P 7M, 3S P + P P 12M, 2S J + C J 11M, 3S 2J J 4M, 4S J + J J 12M, 4S C + A C 8M, 3S