1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu giao thức trao đổi khóa an toàn trên đường cong Elliptic

76 299 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 3,29 MB
File đính kèm X25519_ver1.rar (131 KB)

Nội dung

Tài liệu trình bày lý thuyết chi tiết, cơ bản về giao thức trao đổi khóa DiffieHellman. Đánh giá so sanh các phiên bản giao thức DiffieHellman. Từ phiên bản này đưa ra nhận định về độ an toàn của giao thức trên đường cong Elliptic là cao. Và phiên bản X25519 được ứng dụng vào thực tế. Tài liệu cài đặt giao thức X25519 trên nền tảng Qt bằng giao thức lập trình C

Trang 1

BỘ THÔNG TIN VÀ TRUYỀN THÔNG

HỌC VIỆN BƯU CHÍNH VIỄN THÔNG

Trang 2

BỘ THÔNG TIN VÀ TRUYỀN THÔNG

HỌC VIỆN BƯU CHÍNH VIỄN THÔNG

Trang 3

MỤC LỤC

Danh mục kí hiệu và viết tắt

Danh mục hình vẽ

Lời cảm ơn

Lời nói đầu

Chương 1 Vấn đề thỏa thuận khóa trong an toàn thông tin

1.1 Khái quát an toàn thông tin

1.2 Bài toán thỏa thuận khóa

1.3 Các giao thức thỏa thuận khóa phổ biến hiện nay

1.4 Kết Luận Chương 1

Chương 2 Nghiên cứu các phiên bản thỏa thuận khóa diffie – hellMAN

2.1 Giao thức thỏa thuận khóa Diffie – Hellman nguyên thủy và các phiên bản cải tiến

2.2 Giao thức thỏa thuận khóa Diffie – Hellman trên đường cong Elliptic

2.3 Tham số an toàn cho giao thức Diffie – Hellman và khuyến nghị sử dụng

2.4 So sánh độ an toàn các phiên bản giao thức thỏa thuận khóa Diffie – Hellman

2.5 Kết luận chương 2

Chương 3 CÀI ĐẶT VÀ THỰC NGHIỆM GIAO THỨC DIFFIE-HELLMAN TRÊN ĐƯỜNG CONG ELLIPTIC CURVE25519

3.1 Lược đồ hoạt động giao thức

3.2 Các bước thực hiện giao thức và thuyết minh mã nguồn

3.3 Kết quả thực nghiệm chương trình cài đặt

3.4 Đánh giá độ an toàn, hiệu năng của chương trình thực hiện giao thức X25519

3.5 Kết luận chương 3

Tài liệu tham khảo

Trang 4

DANH MỤC KÍ HIỆU VÀ VIẾT TẮT

AES Advanced Encryption Standard Tiêu chuẩn mã hóa tiên tiến

DES Data Encryption Standard Tiêu chuẩn mã hóa dữ liệuD-H Diffie - Hellman

DoS Denial of Service Tấn công từ chối dịch vụ

ECDH Elliptic-Curve Diffie–Hellman

Giao thức thỏa thuận khóa Diffie – Hellman trên đường cong Elliptic

ECC Elliptic Curve Cryptography Hệ mật dựa trên đường cong

Elliptic

IKE Internet Key Exchange Giao thức trao đổi khóa và

thỏa thuận khóa

IPSec Internet Protocol Security

KDC Key Distribution Center Trung tâm phân phối khóaKPS Key Predistribution Scheme Phân phối khóa trước

MIT Massachusett Institute of Technology Viện Công nghệ Massachusetts

MITM Man In The Middle Tấn công kẻ ở giữa

NIST National Institute of Standards and

Technology

Viện tiêu chuẩn và kỹ thuật Quốc Gia ( Hoa Kỳ)

NLSP Network Layer Security Protocol

NSA National Security Agency Cơ quan an ninh quốc gia

khaiSKDS Session Key Distribution Scheme Phân phối khóa phiên

SSL Secure Sockets Layer

Trang 5

toànTCP/IP Internet protocol suite Bộ giao thức liên mạng

TLS Transport Layer Security Giao thức bảo mật tầng giao

vậnVPN Virtual Private Network Mạng riêng ảo

25519

Trang 6

DANH MỤC HÌNH VẼ

Trang 7

LỜI CẢM ƠN

Trong quá trình thực hiện đồ án tốt nghiệp này, tôi đã nhận được sự giúp đỡtận tình của cán bộ hướng dẫn là Giảng viên Học viện Bưu Chính Viễn Thông, sựquan tâm sâu sát của cán bộ Học viện Bưu Chính Viễn Thông, sự động viên củangười thân và bạn bè

Xin cảm ơn tất cả mọi người đã tạo những điều kiện tốt nhất để tôi hoànthành đồ án tốt nghiệp này!

SINH VIÊN THỰC HIỆN ĐỒ ÁN

Nguyễn Trung Nam

Trang 8

LỜI NÓI ĐẦU

Thời gian gần đây, các cuộc tấn công mạng đang gia tăng cả về số lượng vàquy mô, diễn ra ngày càng tinh vi và phức tạp Nhiều cuộc tấn công có chủ đíchnhằm vào các cơ quan Chính phủ, các hệ thống thông tin quan trọng trong nhiềulĩnh vực Hầu hết các doanh nghiệp còn chủ quan trong các vấn đề an ninh mạng

và dễ bị tấn công vào các lỗ hổng: các doanh nghiệp còn đánh giá thấp tầm quantrọng về sự tin tưởng của người tiêu dùng trong lĩnh vực an ninh mạng

Thực trạng mất an toàn diễn ra thường xuyên và mật mã là một biện phápchính trong việc đảm bảo các dịch vụ an toàn thông tin như: bí mật, xác thực, toànvẹn Để việc sử dụng mật mã có thể đảm bảo được an toàn thông tin thì cần nhữngyêu cầu về thuật toán, các tham số sử dụng và khóa Trong đó, đối với khóa sửdụng trong các hệ mật thì vấn đề thỏa thuận khóa giữa các bên liên lạc cũng cầnđược nghiên cứu và sử dụng đúng cách dựa trên năng lực tính toán máy tính hiệnnay và các tấn công đã công bố

Diffie – Hellman là một giao thức thỏa thuận khóa được phát minh rất sớmtrong mật mã học và được sử dụng phổ biến cho tới nay Giao thức này cho phépcác bên liên lạc thiết lập một khóa bí mật chung để mã hóa dữ liệu sử dụng trênkênh truyền thông không an toàn Tuy nhiên, với việc năng lực tính toán ngày càngcao của thế hệ máy tính hiện nay và rất nhiều cuộc tấn công vào giao thức Diffie-Hellman được công bố thì việc cài đặt Diffie-Hellman theo mặc định gây ra rấtnhiều nguy hiểm mất an ninh thông tin cho tổ chức, doanh nghiệp

Và để khắc phục nhược điểm trên ECDH đã ra đời, thực hiện việc thỏa thuậnkhóa dựa vào việc tính toán trên đường cong Elliptic, sử dụng khóa có độ dài nhỏhơn nhưng vẫn đảm bảo tính an toàn cao Thời gian xử lý được giảm đi đáng kểnhờ số phép toàn dùng để mã hóa và giải mã ít hơn phù hợp với mọi thiết bị có khảnăng tính toán thấp

Mục tiêu đặt ra khi thực hiện đồ án là:

1 Nghiên cứu các phiên bản giao thức trao đổi khóa Diffie-Hellman

2 Nghiên cứu các tấn công chính lên phiên bản giao thức trao đổi khóaDiffie – Hellman

Trang 9

3 So sánh độ an toàn giữa các giao thức trao đổi khóa Đề xuất phiên bảngiao thức Diffie – Hellman : ECDH X25519 (với đường cong EllipticCurve25519) với độ an toàn cao.

4 Thực hiện cài đặt, thử nghiệm phiên bản giao thức ECDH X25519

Sau thời gian khoảng ba tháng thực hiện đồ án, các mục tiêu về cơ bản đãđạt được Tuy nhiên mật mã là lĩnh vực khoa học phức tạp, thời gian thực hiện đồ

án tương đối ngắn nên chắc chắn không tránh khỏi thiếu sót Rất mong được sựgóp ý của các thầy cô, cũng như các bạn học viên để đồ án này được hoàn thiệnhơn

SINH VIÊN THỰC HIỆN ĐỒ ÁN

Nguyễn Trung Nam

Trang 10

CHƯƠNG 1 VẤN ĐỀ THỎA THUẬN KHÓA TRONG AN TOÀN

THÔNG TIN

1.1 Khái quát an toàn thông tin

1.1.1 Vấn đền an toàn thông tin hiện nay

Thực trạng an toàn thông tin tại Việt Nam ngày càng diễn biến phức tạp vànguy hiểm Các cuộc tấn công mạng có quy mô, mức độ phức tạp và được chuẩn bịmột cách kỹ lưỡng Trong đó, các mục tiêu tấn công đang dần chuyển dịch từ cácmục tiêu cá nhân, sang các mục tiêu là các tập đoàn kinh tế lớn hay nghiêm trọnghơn là các hệ thống thông tin quan trọng của các quốc gia

Theo thống kê của các chuyên gia an ninh mạng, trong 9 tháng đầu năm

2017 đã ghi nhận đã có 9.964 [18] sự cố tấn công vào hệ thống mạng của các cánhân, tổ chức tại Việt Nam (hình 1.1)

Hình 1 1 : Các cuộc tấn công trong 9 tháng đầu năm 2017

Các cuộc tấn công bao gồm cả 3 loại hình chính: Malware, Phishing, vàDeface.Trong đó, tấn công bằng mã độc (Malware) phát tán chiếm nhiều nhất với4.595 lần , tức hơn 46% tổng số các cuộc tấn công Trong số các nạn nhân của loại

Trang 11

hình Malware này có tới hơn 20 website có tên miền gov.vn (các website thuộcchính phủ Việt Nam), đến nay mới chỉ có ⅔ số website này đã được khắc phục.

Loại hình tấn công thay đổi giao diện (Deface) được đánh giá là một cuộctấn công quy mô lớn với 3.607 trường hợp đã được ghi nhận trong 9 tháng qua.Trong đó, 21 trường hợp nhắm vào các website chính phủ gov.vn nhưng đến nay

đã khắc phục gần hết Loại hình website lừa đảo (Phishing) chiếm số lượng ít hơnvới 1.762 sự cố Báo cáo cũng ghi nhận 987 sự cố đã được khắc phục, trong đó có

3 website tên miền gov.vn

Trong số các cuộc tấn an ninh công mạng ở Việt Nam xảy ra trong quýI/2017, đáng chú ý nhất phải kể đến cuộc tấn công của nhóm hacker U15 vàowebsite các cảng hàng không ở Việt Nam (Sân bay Tân Sơn Nhất, Đà Nẵng, PhúQuốc, Rạch Giá, Tuy Hòa ), tấn công này khiến nhiều người nghi ngờ đây là “sự

cố Vietnam Airlines” lần thứ 2 Sự việc xảy ra vào các ngày 8 – 10/3/2017, nhiềungười đã không thể truy cập được vào trang web chính thức của cảng hàng không(nơi cung cấp thông tin lịch trình các chuyến bay, dịch vụ hỗ trợ mặt đất của cáccảng hàng không ở Việt Nam) Trên trang chủ, tin tặc đã để lại dòng chữ xác nhận

đã tấn công web, cảnh báo an ninh mạng của sân bay đang có vấn đề, hệ thống bảomật bị lỗi Tuy nhiên, các Hacker này đã không phá hoại hay đánh cắp dữ liệuthông tin của sân bay Mục đích mà các tin tặc thực hiện cuộc tấn công mạng nàychỉ là để cảnh báo nhắc nhở về hệ thống bảo mật của trang web

Ngoài ra, đối với thế giới sự gia tăng của các nhóm mã độc mã hóa(ransomware) mới đúng như đã dự đoán, ransomware đã đạt đến đỉnh cao với cáccuộc tấn công WannaCry và Petya Chỉ riêng WannaCry một loại mã độc tống tiền,phần mềm độc hại này mã hóa dữ liệu của máy tính và ngăn cản người dùng truycập dữ liệu trên đó cho đến khi tin tặc nhận được tiền chuộc Nó đã lây nhiễm cho300.000 máy trên khắp thế giới và đã gây thiệt hại tài chính và kinh tế lên tới 4 tỷ

đô la Mỹ Thực trạng an toàn thông tin ở Việt Nam cũng như toàn thế giới rơi vàotrạng thái đáng báo động

Trang 12

1.1.2 Mật mã và các dịch vụ an toàn thông tin

Mật mã được sử dụng lần đầu là bằng văn bản từ năm 1900 trước CôngNguyên Và sau đó, mật mã được phát triển mạnh mẽ và áp dụng trên nhiều lĩnhvực khác nhau và sau khi sự phát triển rộng rãi của công nghệ truyền thông thì cáchình thức mật mã mới được ra đời, cải tiến hơn Mật mã được sử dụng để bảo vệtính bí mật của thông tin khi thông tin được truyền trên các kênh truyền thông côngcộng như Internet, mạng điện thoại, v v…

Định nghĩa hệ mật

Một hệ mật là một bộ năm (R,M,K,E,D thoả mãn các điều kiện sau:)

1 R là không gian rõ bao gồm một tập hữu hạn các bản rõ R có thể.

2 M là không gian mã bao gồm một tập hữu hạn các bản mã M có thể

3 K là không gian khóa bao gồm một tập hữu hạn các khóa K có thể

4 Với mỗi khóa K∈K có một quy tắc mã E K ∈E và một quy tắc giải mã

K

D ∈D Trong đó, mỗi E K :R →M và D K :M →R là các hàm đảmbảo D E R K( K( ))=R với mọi bản rõ R∈R

Hình 1 2 : Mô hình thông tin hệ mật gửi từ Alice với BobChức năng của mật mã đối với các dịch vụ an toàn thông tin :

Trang 13

• Xác thực: Chức năng của dịch vụ xác thực là để đảm bảo người nhậnthông điệp nhận được thông điệp đúng từ nơi mà nó yêu cầu Xác thựcxảy ra ở 2 thời điểm: Thứ nhất, tại thời điểm bắt đầu kết nối, dịch vụ đảmbảo rằng hai thực thể đó được xác thực với nhau.Thứ hai, dịch vụ phảiđảm bảo rằng sự liên kết không bị can thiệp theo cách mà một bên thứ ba

có thể giả mạo vì mục đích gửi hoặc nhận thông điệp trái phép

o Xác thực thực thể: Cung cấp các yếu tố để xác nhận độ tin tưởng củacác thực thể trong tổ chức

o Xác thực nguồn gốc dữ liệu: Xác nhận nguồn gốc của một CSDL

• Kiểm soát truy cập: Cung cấp khả năng hạn chế, kiểm soát việc truy cậpvào hệ thống máy chủ và các ứng dụng Để có thể truy cập vào máy chủ

và ứng dụng mỗi thực thể phải được xác thực

• Bảo mật dữ liệu: Bảo vệ dữ liệu khỏi các cuộc tấn công

o Bảo mật kết nối: Bảo vệ tất cả dữ liệu người dùng trên một kết nối

o Bảo mật không liên kết: Việc bảo vệ tất cả dữ liệu người dùng trongmột cơ sở dữ liệu

o Bảo mật trong lĩnh vực chọn lọc: Bảo mật các trường được chọn trong

dữ liệu người dùng trong kết nối hoặc trong một cơ sở dữ liệu

o Tính bảo mật dòng lưu lượng truy cập: Bảo vệ các thông tin được gửi

từ nguồn nhờ việc quan sát lưu lượng truyền đi

• Toàn vẹn dữ liệu: Đảm bảo việc nhận dữ liệu chính xác từ người gửi, đầy

đủ thông tin, dữ liệu không bị thay đổi, thêm, sửa xóa hoặc phát lại

• Chống chối bỏ: Ngăn cản người gửi hoặc người nhận từ chối một thôngđiệp được truyền đi

• Dịch vụ sẵn sàng: Đảm bảo sự sẵn sàng của hệ thống , giải quyết các mốiquan ngại về an ninh được gây ra bởi các cuộc tấn công từ chối dịch vụ

Trang 14

1.2 Bài toán thỏa thuận khóa

1.2.1 Khái niệm khóa, phân phối khóa, thỏa thuận khóa.

a) Khóa

Trong mật mã học, khóa là một đoạn thông tin điều khiển hoạt động củathuật toán mã hóa Nói một cách khác, khóa là thông tin để cá biệt hóa quátrình mã hóa cũng như giải mã Khóa cũng được sử dụng trong các thuật toán kháctrong mật mã học như thuật toán tạo chữ ký số hay hàm băm mật mã (các hàm băm

có khóa) Thông thường, khóa mật mã là các quy ước, các giá trị số, dãy ký tự, ,

đó là những thông tin bí mật mà chỉ có người lập mã và người giải mã được biết

Độ bảo mật của khóa mật mã phải đảm bảo không có khả năng phục hồi bản rõtheo bản mã nếu không có khóa, bảo đảm độ bền của hệ mật

b) Phân phối khóa

- Phân phối khóa trước: trong một lược đồ phân phối khóa trước (ký hiệu làKPS), một trung tâm ủy nhiệm TA phân phối thông tin về khóa trước trên một kênh

an toàn cho tất cả người dùng trong mạng liên lạc Sau đó tất cả những người dùngtrong mạng liên lạc có thể sử dụng các khóa mật này để mã hóa các thông báo mà

họ truyền qua mạng công khai Cụ thể, mỗi cặp người dùng trong mạng liên lạc sẽ

có thể xác định được một khóa mật mà chỉ duy nhất họ được biết

- Phân phối khóa phiên: trong phân phối khóa phiên, trung tâm ủy nhiệm TAhoạt động trực tuyến và khi những người dùng trong mạng liên lạc yêu cầu TAcung cấp khóa cho phiên làm việc, TA sẽ tạo ra các khóa phiên và phân phối chúngcho những người dùng trong mạng liên lạc qua giao thức tương tác Giao thức nàyđược gọi là lược đồ phân phối khóa phiên (ký hiệu là SKDS) Các khóa phiên được

sử dụng để mã hóa thông tin cho một khoảng thời gian cụ thể, tương đối ngắn (sửdụng trong phiên liên lạc đó) Các khóa phiên sẽ được trung tâm ủy nhiệm TA mãhóa bằng khóa bí mật đã được phân phối trước (với giả thiết là tất cả người dùngtrong mạng liên lạc và TA đã thiết lập được trước các khóa bí mật này)

Trang 15

c) Thỏa thuận khóa

Thỏa thuận khóa là việc trao đổi khóa giữa chủ thể trong một cộng đồng nào

đó có thể được thiết lập một cách tự do giữa bất cứ hai người nào khi có nhu cầutrao đổi thông tin và có thể phòng tránh được bên thứ ba có thể xâm nhập vào quátrình trao đổi

Mục tiêu của phân phối khóa và thoả thuận khóa là tại thời điểm kết thúc thủtục hai bên liên quan đều có cùng một khóa K và không một bên nào khác biết giátrị của khóa K (trừ khả năng TA)

1.2.2 Phân loại khóa

a) Hệ thống khóa hữu hạn biến đổi

Khóa hữu hạn biến đổi là khóa có quy luật được tạo nên bằng một số hữuhạn các phép biến đổi đơn giản

Các phép biến đổi đơn giản là các phép biến đổi sơ cấp trong toán học như:phép thay đổi các hàng các cột của một ma trận, phép hoán vị hữu hạn phần tử,phép thay thế nhờ hữu hạn phần tử thế

Ví dụ: khóa chuyển vị trong hệ mật chuyển vị, khóa thay thế nhờ hữu hạn

phần tử thế trong hệ mật thay thế

Trong thực tế, việc tạo các khóa hữu hạn biến đổi là rất dễ Đồng thời khóabộc lộ ra những tính chất đơn giản, dễ phát hiện Vì vậy, độ bảo mật của hệ thốngkhóa này bị hạn chế và do đó các hệ mật dùng khóa hữu hạn biến đổi thường có độbảo mật không cao

Độ bảo mật của khóa hữu hạn biến đổi phụ thuộc vào 3 yếu tố sau:

- Chất lượng khóa cơ bản ban đầu: tức là kích thước khóa nhỏ hay lớn, và

tính độc lập giữa các phần tử khóa Nếu khóa có kích thước nhỏ thì việc giải mãcũng như việc duyệt toàn bộ không gian khóa sẽ dễ dàng hơn Đồng thời nếu cácphần tử khóa có tính độc lập kém thì khóa có thể bị rút gọn lại tương đương vớikhóa ngắn hơn

- Chất lượng của phép biến đổi: tức là các phần tử khóa gốc và các phần tử

khóa sinh ra qua phép biến đổi phải có tính độc lập cao, phép biến đổi tạo khóa

Trang 16

phải có tính phi tuyến và là các phép biến đổi một chiều Điều này sẽ đảm bảochống lại việc tìm khóa gốc từ các phần tử khóa sinh ra trong phép biến đổi tạokhóa.

- Phương pháp sử dụng khóa: phương pháp sử dụng khóa không đúng (như

sử dụng trùng khóa) có thể giúp mã thám suy ra được khóa hoặc bản rõ được mãbằng khóa đó Vì vậy, phương pháp sử dụng khóa tốt sẽ làm tăng độ bảo mật củakhóa

Ba yếu tố trên đây không thể tách rời nhau, mà ngược lại chúng có quan hệchặt chẽ với nhau Vì vậy, mỗi mã pháp dùng hệ thống khóa này sẽ có độ bảo mậtkhác nhau

Ví dụ: Tạo khóa hữu hạn biến đổi thông qua bộ tạo đồng dư tuyến tính Ta

có:

- Khóa gốc (hay còn gọi là mầm khóa): K0 =( , , , ) (4,1,3,5)k k k k1 2 3 4 =

- Phép biến đổi: là phép cộng modulo 10 giữa hai phần tử khóa gốc để tạophần tử khóa tiếp theo: k i+4 = +k i k i+1mod 10 (i>0)

Theo phép biến đổi này ta có dãy khóa: 413554809289107017 K =

b) Hệ thống khóa ngẫu nhiên

Khóa ngẫu nhiên được hiểu là một dãy ngẫu nhiên (hữu hạn hoặc vô hạn)các phần tử có giá trị hữu hạn Các phần tử khóa lấy giá trị trên một tập hữu hạnnào đó và chúng xuất hiện trong khóa một cách ngẫu nhiên, nghĩa là chúng xuấthiện độc lập, đồng xác suất và không phụ thuộc vào bất cứ điều kiện nào

Giả sử α ={ ,α α1 2, ,αm} là một tập hữu hạn các phần tử cơ bản (ký hiệu,tín hiệu ) Ví dụ, bộ chữ cái Latinh gồm 26 chữ cái {A, B, C, , Z}, bộ các số từ

0 đến 9, các số nhị phân {0, 1}

Ta thiết lập dãy K k k= 1 2 k n , trong đó k i∈α với (i=1,2, )

Khi đó K được gọi là dãy khóa ngẫu nhiên nếu các phần tử khóa

, ( 1,2, )

i

k i= xuất hiện một cách ngẫu nhiên, độc lập và đồng xác suất Nghĩa là

với mọi nhóm gồm s phần tử khóa s k k= i i1 2 k i s ta có đẳng thức:

Trang 17

1 2 1 2

1( ) ( ) ( ) ( )

P k

m

= Khóa ngẫu nhiên thường chỉ dùng trong các hệ mật thay thế Hệ mật thay thếdùng khóa ngẫu nhiên là hệ mật có độ bảo mật cao Khóa ngẫu nhiên là yếu tốquyết định độ bảo mật của hệ mật này Nếu khóa ngẫu nhiên được dùng một lần thì

hệ mật có độ mật hoàn thiện Tuy nhiên việc tạo ra các khóa ngẫu nhiên là mộtcông việc khó khăn và đòi hỏi nguyên tắc sử dụng rất nghiêm ngặt

Cũng theo đặc trưng của khóa sử dụng trong hệ mật, người ta còn chia các

hệ mật thành hai loại: hệ mật khóa bí mật và hệ mật khóa công khai (xem mục1.2.3) Trong thực tế, có một số hệ mật lai ghép giữa hệ mật khóa bí mật và hệ mậtkhóa công khai

1.2.3 Vai trò của khóa trong an toàn thông tin

Trong thực tế hiện nay, khóa mật mã được sử dụng trong các hệ mật khóa bímật, hệ mật khóa công khai, hàm băm, chữ ký số Vì vậy vai trò khóa trong an toànthông tin chính là vai trò hay chức năng của hệ mật khóa bí mật, hệ mật khóa côngkhai, hàm băm và chữ ký số trong an toàn thông tin

- Hệ mật khóa bí mật (hệ mật đối xứng): là hệ mật trong đó khóa mã và khóagiải mã giống nhau hoặc dễ dàng tính khóa này từ khóa kia, khóa phải được giữ bímật và chỉ được biết bởi người gửi và người nhận Ví dụ: DES, 3DES, AES hayRC4

Trang 18

Hình 1 3 : Mô hình thông tin giữa Alice và Bob (hệ mật khóa bí mật)

Hoạt động của hệ mã được mô tả trong hình 1.3 với các bước hoạt động nhưsau: Nếu A và B là hai người dùng sử dụng hệ mã khóa bí mật để gửi tin cho nhau

A dùng thuật toán E và khóa K lập mật mã cho văn bản M muốn gửi cho B, rồi gửicho B bản mã: Y = EK(M) Thuật toán mã hóa E cho các đầu ra khác nhau phụthuộc vào giá trị khóa K và bản rõ M khác nhau Ở đầu bên kia B sau khi nhậnđược bản mã Y, sẽ sử dụng thuật toán giải mã D và chính khóa K để thu được bản

rõ M

A và B chỉ có thể truyền tin được với nhau nếu cả hai cùng biết khóa K.Chức năng chính của hệ mật dùng để mã hóa dữ liệu được hai bên truyền nhận trênđường truyền và khóa K có chức năng đảm bảo tính bí mật của thông tin, ngườithứ ba không thể giải mã được thông tin nếu không có khóa K

- Hệ mật khóa công khai (hay hệ mật phi đối xứng): là hệ mật trong đó khóa

mã và khóa giải mã khác nhau, từ khóa mã công khai khó tìm ra khóa giải mã theonghĩa độ phức tạp tính toán rất cao, khóa giải mã (hay khóa riêng) phải được giữ bímật duy nhất bởi người sử dụng Ví dụ: hệ mật RSA, Elgamal, hệ mật trên đườngcong Elliptic

Trang 19

Hình 1 4 : Mô hình thông tin giữa Alice và Bob (Hệ mật khóa công khai)

Khóa K của mỗi người dùng gồm hai phần K = (K', K") trong đó K' là phầncông khai, còn giữ bí mật K"

Mã hóa được thực hiện rất dễ dàng, bất kỳ người nào cũng có thể làm được,còn việc giải mã rất khó khăn nếu như không có khóa riêng, còn nếu có nó thì việcgiải mã cũng dễ như việc mã hóa Khóa riêng được tạo và lưu trữ bởi mỗi đầu mốiliên lạc và không được gửi đi bất kỳ nơi nào

Hệ mật này mã hóa khóa bí mật trên kênh truyền công khai giữa 2 bên liênlạc vậy nên khóa trong hệ mật này có vai trò là đảm bảo tính bí mật dữ liệu và xácthực

- Hàm băm mật mã tính toán ra giá trị băm khác nhau (có độ dài cố định)tương ứng với khối dữ liệu đầu vào khác nhau Có 2 loại hàm băm là: hàm băm cókhóa (ví dụ: MD5, SHA2, SHA3…) và hàm băm không có khóa (ví dụ: MAC,HMAC) Hàm băm có khóa được sử dụng trong nhiều ứng dụng bảo mật thông tin,

có thể dùng để xác thực, kiển tra tính toàn vẹn của thông điệp, dữ liệu

- Chữ kí số là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video, …)được tính toán từ các dữ liệu kèm theo này theo mô hình 1.5 và có mục đích xácđịnh tính sở hữu của người dùng hay chính tính xác thực người dùng

Trang 20

Hình 1 5 : Sơ đồ chữ ký số

Ngoài ra, vì chữ ký số dùng để xác định tính sở hữu đối với dữ liệu củangười dùng gửi nên chữ ký số cũng đảm bảo tính chống chối bỏ trong an toànthông tin

1.2.4 An toàn khóa trong các giải pháp bảo mật

Trong thực tế hiện nay mật mã đảm nhận việc đảm bảo an toàn thông tintrong lưu trữ và truyền nhận Các giải pháp bảo mật phổ biến trong bảo mật đườngtruyền là sử dụng các bộ giao thức bảo mật phổ biến như IPSec, SSL/TLS, SSH vàtrong lưu trữ dữ liệu thì là các phần mềm mã hóa chuyên dụng trong lưu trữ dữliệu Tất cả các giải pháp này đều sử dụng các hệ mật mã để đảm bảo an toàn thôngtin và có những biện pháp riêng để đảm bảo an toàn cho khóa sử dụng trong các hệmật mã này

Đối với các phần mềm chuyên dụng mã hóa dữ liệu lưu trữ thì biện phápđảm bảo an toàn khóa được sử dụng chủ yếu là giao thức phân phối khóa Kerberos

Trang 21

Kerberos là một hệ thống giao thức xác thực an toàn trên mạng máy tínhtrước tiên được phát triển tại Viện Công nghệ Massachusett MIT (MassachusettInstitute of Technology) về sau được dùng rộng rãi ở Mỹ Kerberos cho phép cácnút mạng chứng minh “căn cước” (identity) của mình với các đối tác, thông quamột môi trường giao dịch không tin cậy Thoạt đầu Kerberos được thiết kế theo sơ

đồ xác thực client-server (giữa máy khách - máy chủ) và sau đó cung cấp dịch vụxác thực lẫn nhau (mutual authentication), Kerberos được mặc định sử dụng cổng88

Kerberos dùng mã khóa đối xứng Các khóa đối xứng này được máy chủKerberos trao cho từng người sử dụng đã đăng nhập hệ thống Mỗi người sử dụngđược phép tạo một mật khẩu xác thực gửi cho máy chủ Kerberos để được nhận vàdùng khóa mã Để thực hiện được, hệ thống Kerberos đòi hỏi cấu hình mạng rấtphức tạp và khó quản lý: máy chủ của mỗi website đăng ký sử dụng đều phải cómáy chủ riêng được cài đặt Kerberos và máy chủ của hệ thống (bên thứ ba) sẽ phânphối khóa mã cho mỗi website đồng thời lưu giữ chúng lại để kiểm tra và đốichứng khi cần thiết

- An toàn khóa trong các bộ giao thức bảo mật IPSec, SSL/TLS, SSH

IPsec là một bộ các giao thức hoạt động tại tầng mạng nhằm bảo vệ cáctruyền thông qua giao thức Internet (IP) bằng cách xác thực và mã hóa mỗi gói tin

IP của từng phiên giao dịch IPsec cũng bao gồm cả những giao thức nhằm thiếtlập sự xác thực lẫn nhau giữa các đối tác khi khởi đầu một phiên và sự thươnglượng để thỏa thuận các khóa mật mã dùng cho phiên giao dịch đó IPSec có thể sửdụng để bảo vệ luồng dữ liệu giữa hai máy khách (host-to-host) giữa hai mạng(network-to-network) hoặc giữa một mạng và một máy khách (network-to-host)

SSL/TLS là bộ các giao thức bảo mật hoạt động tải tầng vận tải cung cấpkhả năng đảm bảo tính bí mật (mã hóa), xác thực, toàn vẹn và chống chối bỏ đốivới luồng lưu lượng truyền đi giữa các bên liên lạc Tương tự IPSec thì SSL/TLScũng có thể sử dụng để bảo vệ luồng dữ liệu giữa hai máy khách (host-to-host)giữa hai mạng (network-to-network) hoặc giữa một mạng và một máy khách(network-to-host)

Trang 22

SSH là giao thức bảo mật sử dụng trong mô hình host-to-host cung cấp khảnăng mã hóa, đảm bảo tính toàn vẹn của dữ liệu trên đường truyền.

Trong cả ba giao thức bảo mật IPSec, SSL/TLS và IPSec đều sử dụng các hệmật khóa bí mật và hệ mật khóa công khai để bảo vệ an toàn dữ liệu trên đườngtruyền Công việc phân phối, thỏa thuận khóa trong ba bộ giao thức này được đảmbảo bởi giao thức thỏa thuận khóa tích hợp trong các bộ giao thức bảo mật này vàcác giao thức này sẽ được trình bày trong mục 1.3 Riêng SSH thì có thể sử dụnggiao thức phân phối khóa Kerberos để đảm bảo vấn đề an toàn khóa

1.3 Các giao thức thỏa thuận khóa phổ biến hiện nay

1.3.1 Giao thức thỏa thuận khóa Diffie-Hellman

Ngày nay, giao thức thỏa thuận khóa Diffie-Hellman nguyên thủy không cònđược sử dụng nữa, nhưng các phiên bản cải tiến của giao thức này lại được sử dụngrộng rãi nhất trong thực tế hiện nay Giao thức này chính là nội dung chính của đồ

án và được trình bày chi tiết trong chương 2

1.3.2 Giao thức thỏa thuận khóa xác thực (Diffie , Van Oorschot và Wiener)

Giao thức thỏa thuận khóa xác thực hay còn được gọi là thỏa thuận khóatrạm đến trạm do Diffie, Van Oorschot và Wiener thực hiện Trong lược đồ này,mỗi người dung: ví dụ người dung A có một thông tin xác thực nhất định IDA , mộtlược đồ chữ ký số với thuật toán kiểm tra VerA và thuật toán ký SigA Trung tâm uỷnhiệm TA cũng có lược đồ chữ ký số với thuật toán kiểm tra VerTA Định danh IDA

và thuật toán kiểm tra VerA của người dùng A được đăng ký với TA để TA pháthành một chứng chỉ cho người dùng A:

Trang 23

Hình 1 6 : Lược đồ thỏa thuận khóa được xác thựcChọn các tham số miền công khai: TA chọn một số nguyên tố lớn p và mộtphần tử nguyên thuỷα ∈Z*p sao cho bài toán tính lôgarit trong Z là rất khó Các*p

tham số p và α được công bố công khai cho mọi người dùng trong mạng liên lạc

Hai người dùng A,B bất kỳ mỗi khi cần liên lạc mật với nhau trên kênh côngkhai thì có thể cùng thực hiện giao thức sau để thỏa thuận trực tiếp một khóa phiênđược xác thực cho phiên liên lạc:

1 Người dùng A chọn ngẫu nhiên một số a A(0 ≤a A ≤ −p 1) giữ bí mật giátrị aA Sau đó tính giá trị a A mod

A

b = α p và gửi các giá trị: C t er AbA cho B

2 Người dùng B chọn ngẫu nhiên một số a B(0≤a B ≤ −p 1) , giữ bí mật giátrị a B Sau đó tính các giá trị sau:

( )

,A

modmod, ,

B

B

a B

và gửi các giá trị C t ber ,A A và γA cho A

3 A xác thực chữ ký γB bằng thuật toán kiểm tra erV t Nếu chữ ký là hợp A

lệ, A tính các giá trị:

Trang 24

4 A xác thực chữ ký y Abằng thuật toán kiểm tra Ver A.

Nếu tất cả các bước trên được thực hiện và các phép kiểm tra đều cho kếtquả đúng, thì giao thức tương tác kết thúc, và cả hai người dùng A và B tính racùng một khóa phiên bí mật K A B, .

1.3.3 Giao thức thỏa thuận khóa Matsumoto, Takashima và Imai

Matsumoto, Takashima và Imai đã xây dựng một số lược đồ thoả thuận khóabằng cách cải tiến lược đồ thỏa thuận khóa Diffie - Hellman Các lược đồ này được

gọi là lược đồ thỏa thuận khóa MTI Các lược đồ này không đòi hỏi A và B phải

tính bất kì chữ ký nào Chúng là các giao thức hai lần vì chỉ có hai lần truyền thông

tin riêng biệt (một từ A đến B và một từ B đến A).

Trang 25

Trong lược đồ này, trung tâm uỷ nhiệm TA có lược đồ chữ ký số với thuật

toán kiểm tra VerTA công khai và thuật toán ký SigTA bí mật Mỗi người dùng A

có một thông tin xác thực nhất định ID A, một số mũ mật a A(0≤a A ≤ −p 1) và mộtkhóa công khai a A mod

A

b = α p Định danh ID A và khóa công khai b A được đăng

ký với TA để TA phát hành một chứng chỉ cho người dùng A Lược đồ thỏa thuận

khóa MTI/A0 được mô tả như hình

Hình 1 7 : Lược đồ thỏa thuận khóa MTI

Chọn các tham số miền công khai: TA chọn một số nguyên tố lớn p và một

phần tử nguyên thuỷ α ∈Z*p sao cho bài toán tính lôgarit trong Z là rất khó Các*p tham số p và α được công bố công khai cho mọi người dùng trong mạng liên lạc

Mỗi người dùng A chọn một số mũ mật a A(0≤a A ≤ −p 1) , sau đó tính giátrị công khai tương ứng a A mod

1 Người dùng A chọn ngẫu nhiên một số r A(0≤ ≤ −r A p 1) , tính giá trị

Trang 26

A

r A

s = α p , và gửi các giá trị C ter , sA A cho B.

2 Người dùng B chọn ngẫu nhiên một số r B(0≤ ≤ −r B p 1) , tính giá trịmod

B

r

B

s = α p và gửi các giá trị Cert ,B s B cho A.

Cuối cùng, B tính khóa phiên:

trong đó, giá trị bB nhận được từ chứng chỉ C ter B của B.

4 Kết thúc giao thức tương tác, hai người dùng A và B tính ra cùng một

b được đặt vào trong chứng chỉ C t er B của B.

- Khi A và B cần thiết lập khóa phiên cho phiên liên lạc mới, A và B sẽ

thực hiện giao thức tương tác sau:

Trang 27

+ A chọn số ngẫu nhiên r A =169, sau đó gửi giá trị

về thành phần cốt lõi trong mật mã là khóa mật mã như: khái niệm khóa mật mã,vai trò khóa mật mã trong an toàn thông tin Để đảm bảo an toàn khi sử dụng khóamật mã cần có các biện pháp trong các mô hình thông tin khác nhau (lưu trữ thông

Trang 28

tin, truyền thông tin) Trong mô hình truyền tin, biện pháp sử dụng các giao thứcthỏa thuận khóa để đảm bảo an toàn trong sử dụng khóa mật mã được áp dụng phổbiến trong thực tế hiện này và cũng đã được trình bày trong phần cuối của chương.

Trang 29

CHƯƠNG 2 NGHIÊN CỨU CÁC PHIÊN BẢN THỎA THUẬN

KHÓA DIFFIE – HELLMAN

2.1 Giao thức thỏa thuận khóa Diffie – Hellman nguyên thủy và các phiên bản cải tiến

2.1.1 Lược đồ giao thức

Giao thức thỏa thuận khóa Diffie – Hellman dùng để thiết lập một khóa chia

sẻ bí mật giữa người gửi và người nhận mà không cần dùng đến mã hóa công khai.Phương pháp này dùng hàm một chiều làm hàm logarith rời rạc Diffie – Hellmankhông có ý nghĩa về mặt mã hóa giống như RSA

Hình 2 1 : Lược đồ giao thức trao đổi khóa Diffie – Hellman

Trước tiên Alice và Bob sẽ thống nhất sử dụng chung một số nguyên tố p vàmột số g nhỏ hơn p và là căn nguyên thủy của p ( nghĩa là phép toán gx mod p khảnghịch ) Hai số p và g không cần giữ bí mật Sau đó Alice chọn một số a và giữ bímật số a này Bob cũng chọn số b và giữ bí mật số b Tiếp theo Alice tính và gửi gamod p cho Bob, Bob tính và gửi gb mod p cho Alice

Trên cơ sở đó Alice tính :

Trang 30

Như vậy, kể phá mã Teddy có thể có được g, p, ga và gb Muốn tính được gabmod p , Teddy không thể dùng cách:

Muốn tính được gab mod p, Teddy phải tính được a hoặc b Tuy vậy, việc tính

a hay b theo công thức:

2.1.2 Tấn công lên giao thức thỏa thuận khóa Diffie – Hellman

Tấn công lên giao thức thỏa thuận khóa Diffie-Hellman được chia làm 2dạng chính: tấn công lên cấu trúc toán học và tấn công lên quá trình cài đặt thực tếtrong môi trường mạng của giao thức

a) Tấn công lên cấu trúc toán học của Diffie-Hellman nguyên thủy

Tấn công thông điệp suy biến (Degenerate message attacks)

Tấn công này được thực hiện khi các bên thiết lập khoảng lựa chọn các giátrị bí mật a, b là đoạn [1, …, p−1]với p là số nguyên tố Khi đó sẽ xuất hiện

trường hợp lựa chọn a= −p 1 dẫn tới khóa công khai và khóa chia sẻ bí mật bằng

1 Mà khóa công khai kẻ tấn công hoàn toàn có thể bắt được trên kênh truyền Và

để không xảy ra tấn công như vậy thì cần thiết lập khoảng chọn các giá trị bí mật là

(1, , p-1)

Số mũ đơn giản (Simple Exponents)

Tấn công xảy ra khi giá trị bí mật a hoặc b được lựa chọn bằng 1 Khi đó kẻtấn công sẽ dễ dàng tìm ra giá trị bí mật còn lại và cả khóa chia sẻ bí mật giữa haibên liên lạc Vì vậy cần đảm bảo rằng các giá trị bí mật không có khả năng được

chọn bằng 1 hay chính là thiết lập khoảng chọn các giá trị bí mật là (1, , p-1).

Trang 31

Tấn công thay thế đơn giản (Simple substitution attack)

Trường hợp giao thức Diffie - Hellman được thực hiện giữa người với ngườithì những giá trị khóa công khai bất thường sẽ bị phát hiện (ví dụ khóa công khaiđược gửi có gí trị bằng g hoặc bằng 1) Tuy nhiên trong thực tế, giao thức Diffie -Hellman được thực hiện bởi máy tính với nhau và sẽ không có cơ chế kiểm tranhững giá trị khóa công khai bất thường và kẻ tấn công lợi dụng sơ hở này để thaythế khóa chia sẻ bí mật giữa các bên liên lạc Quá trình thực hiện như sau:

 Kẻ tấn công sẽ chặn bắt khóa công khai ga , gb và thay thế chúng bằng 1

 Khi đó Allice và Bob tính toán được khóa bí mật được chia sẻ bằng 1

Để ngăn chặn tấn công này cần có cơ chế kiểm tra các giá trị khóa công khai

Tính α0, α1, cho đến αx thỏa mãn αx = β Khi đó logαβ = x.

Trong thuật toán này cần tối đa p phép nhân trong Z*

p, do đó khi p lớn thìkhông thể thực hiện được về mặt tính toán Vì vậy khi thiết lập Diffie-Hellman cần

chọn giá trị p thật lớn.

b) Tấn công lên quá trình cài đặt, hoạt động của giao thức Hellman trong môi trường mạng thực tế

Diffie-Tấn công kẻ xen giữa (Man-In-The-Middle (MITM) attack)

MITM là tấn công mà kẻ tấn công chăn bắt thông tin ,từ đó kẻ tấn công cóthể thêm hoặc sửa thông điệp và dễ dàng phá vỡ giao thức Diffie – Hellman

Trang 32

Hình 2 2 : Tấn công Man In The Middle

Cụ thể, O thay a mà A định gửi cho B bằng a', và thay b mà B định gửi cho

A bằng b' Như vậy O có thể tính các khóa phiên được tạo nên giữa A và O, giữa B

và O (tương ứng là g ab'modp và g a b' modp ), Lúc này cả A và B đều không biết rằng mình đang liên lạc với O và dùng những khóa này mã hóa những thông báo của mình để gửi cho O Như vậy O sẽ dịch được các thông báo của A (gửi cho B)

và B (gửi cho A), đồng thời O sẽ mã hóa các thông báo này bằng khóa phiên đã được thỏa thuận và chuyển tiếp chúng tới A và B

Tấn công phát lại (Reply Attack)

Cuộc tấn công phát lại là một cuộc tấn công rất nguy hiểm không chỉ riêngđối với giao thức Diffie-Hellman mà còn đối với rất nhiều các giao thức mạngkhác Tấn công này là một cuộc tấn công mà kẻ tấn công cố gắng nghe trộm vàchặn bắt các gói dữ liệu hợp lệ và truyền lại tới bên cung cấp dịch vụ (như các máychủ dịch vụ) nhằm mục đích chiếm quyền truy cập của người dung hợp pháp vàodịch vụ máy chủ hoặc gây ra một hành động từ xa tới máy chủ và có thể gây ngắtkết nối tới máy chủ của máy người dùng

Đối với tấn công này sẽ có những cách thức phòng chống thường được sửdụng trong các bộ giao thức bảo mật mạng mà có sử dụng giao thức thỏa thuậnkhóa Diffie-Hellman như sau:

- Trong bộ giao thức TLS và DTLS thì giá trị nonces được sử dụng trong

quá trình thỏa thuận khóa vào đóng góp vào việc tạo khóa chính để ngănchặn cuộc tấn công phát lại Riêng trong DTLS còn sử dụng số thứ tự

Trang 33

được gán với mỗi thông điệp để đảm bảo chúng được truyền và xác nhậntheo thứ tự.

- Trong giao thức SSH sử dụng một giá trị ngẫu nhiên được tạo ra bởi cả 2bên và được trao đổi khi thực hiện quá trình thực hiện thỏa thuận khóa.Đồng thời trong quá trình thỏa thuận, giá trị băm các thông điệp trao đổiđược tính và chứa trong giá trị cookie, cùng với khóa công khai Diffie-Hellman được ký và khóa công khai của máy chủ được gửi tới máyngười dùng để thực hiện xác thực

- Với giao thức IKEv2 chạy trên nền giao thức UDP nhưng được tích hợpmột thủ tục để ứng phó với quá trình truyền lỗi như mất gói, lặp gói Biệnpháp ngăn chặn mất gói trong thủ tục này là IKE đính kèm thời gian gửi

và một định danh ID duy nhất trong các thông điệp trao đổi Đối với tấncông phát lại hay lặp gói tin thì các bên liên lạc trong IKE sẽ sinh một giátrị ngẫu hiện nonces chứa trong Header của những thông điệp thỏa thuậnkhóa đầu tiên để gửi tới bên đối tác liên lạc Các giá trị ngẫu nhiên cũngtham gia vào quá trình tính khóa chia sẻ chung của giao thức Diffie-Hellman được tích hợp trong IKE

- Trong giao thức ZRTP, chuỗi băm một chiều được biết bởi hai bên vàchia nhỏ ra đính kèm như một phần của thông điệp gửi cho đối tác liênlạc

Tấn công từ chối dịch vụ (Denial of Service - DoS)

Tấn công từ chối dịch vụ là một kiểu tấn công mà một người làm cho một hệthống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng kể vớingười dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống

Mặc dù tấn công DoS không có khả năng truy cập vào dữ liệu thực của hệthống nhưng nó có thể làm gián đoạn các dịch vụ mà hệ thống đó cung cấp Nhưđịnh nghĩa trên DoS khi tấn công vào một hệ thống sẽ khai thác những cái yếu nhấtcủa hệ thống để tấn công, những mục đích của tấn công DoS:

Trang 34

- Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood),khi đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ kháccho người dùng bình thường.

- Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cậpvào dịch vụ

- Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó

- Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truycập vào

- Khi tấn công DoS xảy ra người dùng có cảm giác khi truy cập vào dịch

vụ đó như bị:

+ Disable Network - Tắt mạng

+ Disable Organization - Tổ chức không hoạt động

+ Financial Loss – Tài chính bị mất

Tấn công DoS lên giao thức Diffie – HellMan:

- Kẻ tấn công có thể gửi số lượng lớn các thông điệp DH negotiation requests (thông điệp yêu cầu thỏa thuận khóa Diffie-Hellman có chứa

khóa công khai và các tham số công khai Diffie-Hellman) với các địa chỉ

IP nguồn giả mạo tới máy nhận (máy nạn nhân), điều này khiến máy nhận

sẽ dành rất nhiều tài nguyên CPU thực hiện phép tính lũy thừa theomodule lớn để tính khóa công khai Diffie-Hellman gây ra sự quá tải trongmáy nạn nhân

- Kẻ tấn công sử dụng lượng lớn thông điệp DH negotiation requests chứa

khóa công khai Difie-Hellman khác nhau tới cho cả hai bên liên lạc đểcho máy tính bên nhận và bên gửi sẻ tốn rất nhiều tài nguyên CPU bởiviệc tính sai khóa chia sẻ bí mật chung Diffie-Hellman

- Kẻ tấn công có thể làm ngập máy bên gửi bằng việc gửi lượng lớn DHrequest chứa khóa công khai Diffie-Hellman từ máy nhận có địa chỉ IPgiả mạo

Cách phòng chống tấn công DoS lên giao thức Diffie – Hellman trong các

bộ giao thức bảo mật có sử dụng giao thức này để thỏa thuận khóa phiên như sau:

Trang 35

- Sử dụng giao thức truyền tin cậy TCP tại tằng vận chuyển: ví dụ bộ giaothức TLS và SSH sử dụng kết nối TCP để giảm thiểu tấn công DoS.

- Sử dụng cookie không trạng thái (DTLS và IKEv2): Máy chủ dịch vụ sẽyêu cầu máy trạm (máy người dung) một giá trị cookie không trạng thái

và yêu cầu máy trạm gửi lại thông điệp DH negotiation requests chứa giá

Cơ chế này buộc kẻ tấn công phải có cookie đính kèm trong thông điệpthông điệp DH negotiation requests, điều này làm cho các cuộc tấn côngDoS có địa chỉ IP giả mạo khó nhưng không thể ngăn chặn các cuộc tấncông DoS từ các địa chỉ IP hợp lệ

- Tương tự như đối với tấn công phát lại thì để chống tấn công DoS thìtrong giao thức ZRTP, chuỗi băm một chiều được biết bởi hai bên vàchia nhỏ ra đính kèm như một phần của thông điệp gửi cho đối tác liênlạc

Tấn công thời gian (Timing Attacks)

Quá trình tính toán trong giao thức Diffie-Hellman thì CPU sẽ phải thực hiệnrất nhiều phép lũy thừa theo modulo Quá trình tính toán này sẽ bao hàm quá trìnhdịch xử lý các bit 0 và bit 1 của số mũ, với bit 1 CPU xử lý lâu hơn bit 0 Điều nàydẫn tới tấn công kênh kề liên quan thời gian tính toán CPU với các bit 0, 1 để tìm

ra số mũ hay chính là giá trị bí mật của các bên liên lạc

2.1.3 Các phiên bản cải tiến của giao thức Diffie-Hellman

Giao thức trao đổi khóa Diffie – Hellman có khóa phiên K chỉ được tạo rakhi bắt đầu phiên liên lạc giữa A và B và duy nhất cho phiên liên lạc này Điều nàydẫn tới không cần lưu giữ khóa K trong một thời gian dài tránh gây nguy cơ lộkhóa Ngoài ra ,việc thỏa thuận không yêu cầu cơ sở hạ tầng mạng phụ trợ nàokhác, ngoài việc thỏa thuận trước các tham số miền công khai là ( , ).α p Tuy nhiên,

nó vẫn còn tồn tại rất nhiều điểm yếu:

- Giao thức không cung cấp bất kỳ thông tin gì về định danh các bên liênlạc

- Bị tổn thương trước tấn công man-in-the-middle (tấn công xen giữa)

- Bị tổn thương trước tấn công gây tắc nghẽn

Trang 36

Từ những điều hạn chế trên giao thức thỏa thuận khóa giao thức thỏa thuậnkhóa Diffie – Hellman được cải tiến nhằm tăng cường tính bảo mật và các đặcđiểm cải tiến này như sau:

- Thực hiện cơ chế cookies chống lại các cuộc tấn công tắc nghẽn (tấn

công DoS)

- Cho phép hai bên liên lạc đàm phán một group: Về bản chất là chỉ ra

tham số miền công khai cụ thể của giao thức Diffie-Hellman

- Sử dụng giá trị Nonces để chống lại tấn công phát lại.

- Cho phép chỉ cần trao đổi giá trị khóa công khai Giá trị tham số miền

công khai sẽ được cài đặt mặc định trong từng group.

- Thực hiện xác thực trong thỏa thuận khóa Diffie-Hellman chống lại tấncông xen giữa

Để hiểu thêm về những cải tiến bảo mật này thì quá trình hoạt động được lýgiải như sau:

- Mỗi bên liên lạc sẽ được yêu cầu sinh một giá trị cookies (ban đầu là một

số giả ngẫu nhiên) chứa trong các thông điệp ban đầu và được đối tác liênlạc chấp nhận Sự chấp nhận này được lặp lại trong thông điệp đầu củaquá trình trao đổi khóa Diffie-Hellman Nếu địa chỉ nguồn (bên gửi thôngđiệp) bị giả mạo bởi kẻ tấn công thì kẻ tấn công sẽ không nhận được câutrả lời Do đó, kẻ tấn công chỉ có thể bắt bên nhận tạo ra thông điệp có sựchấp nhận mà không cần thực hiện tính toán Diffie-Hellman

Một số ví dụ về phiên bản cải tiến của giao thức Diffie – Hellman:

- DH Group 1: Số modulo dài 768 bit

Trang 37

- DH Group 2: Số modulo dài 768 bit

FFFFFFFF FFFFFFFF

- DH Group 3: Thỏa thuận khóa Diffie – Hellman dựa trên đường cong

Elliptics trên trường Galois GF(2155):

+ Đa thức bất khả quy: u155 + u62 +1

+ Dạng cơ số 16 của đa thức bất khả quy

800000000000000000000004000000000000001

+ Phương trình đường cong: y2 + xy x= 3 +ax2 +b

+ Tọa độ điểm cơ sở G(x,y) hệ cơ số 16: x = 7B, y = 1C8

+ Tham số a, b hệ cơ số 16: a = 0, b = 7338F

+ Bậc n của G:

800000000000000000057DB5698537193AEF944

- DH Group 4: Thỏa thuận khóa Diffie – Hellman dựa trên đường cong

Elliptics trên trường Galois GF(2185):

+ Đa thức bất khả quy: u185+ u69 +1

+ Dạng cơ số 16 của đa thức bất khả quy:

20000000000000000000000000000200000000000000001

+ Phương trình đường cong: y2 + xy x= 3 +ax2 +b

+ Tọa độ điểm cơ sở G(x,y) hệ cơ số 16: x = 18, y = D

+ Tham số a, b hệ cơ số 16: a = 0, b = 1EE9

+ Bậc n của G hệ cơ số 16:

1FFFFFFFFFFFFFFFFFFFFFFDBF2F889B73E484175F94EBC

- DH Group 5: Số modulo dài 1536 bit

Trang 38

Dễ thấy rằng, DH Group 3, 4 là các phiên bản giao thức Diffie-Hellman cảitiến có độ an toàn cao được trình bày và chứng minh trong các phần tiếp theo củachương 2 đồ án Việc cải tiến giao thức Diffie-Hellman sẽ giúp ngăn chặn đượcnhững tấn công lên quá trình hoạt động của giao thức này trong môi trường mạngthực tế và cả tấn công lên cấu trúc toán học của Diffie-Hellman Ngăn chặn tấncông lên cấu trúc toán học của Diffie-Hellman nhờ vào việc lựa chọn tham số antoàn của các giao thức cải tiến này và chi tiết việc lựa chọn tham số an toàn đượctrình bày trong mục 2.3.

Ngày đăng: 17/03/2020, 14:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[6]. M. Bellare, P . Rogaway. Optimal Asymmetric Encryption Padding - How to Encrypt with RSA. In Advances in Cryptology | EUROCRYPT '94, pages 92-111, Springer-V erlag, 1994 Sách, tạp chí
Tiêu đề: Optimal Asymmetric Encryption Padding - Howto Encrypt with RSA
[7]. An Overview of Cryptography Gary C. Kessler 22 February 2018 © 1998- 2018 — A much shorter version of this paper first appeared in Handbook on Local Area Networks (Auerbach, Sept. 1998) Sách, tạp chí
Tiêu đề: Handbook onLocal Area Networks
[13]. N. Koblitz, "Elliptic curve cryptosystems," Mathematics of Computation, vol. 48, pp. 203-209, January 1987 Sách, tạp chí
Tiêu đề: Elliptic curve cryptosystems
[14]. C. Research, "Standards for efficient cryptography," Elliptic Curve Cryptography (Version 1.9), August 22, 2008 Sách, tạp chí
Tiêu đề: Standards for efficient cryptography
[1]. Lý thuyết mật mã và An toàn thông tin – Phan Đình Diệu – Đại Học Quốc Gia Hà Nội ( Khoa Công Nghệ) - NXB Đại Học Quốc Gia Hà Nội năm 2002 [2]. Giáo trình cơ sở lý thuyết mật mã - HVKTMM - Chủ Biên GS.Nguyễn Bình& Ths.Hoàng Thu Phương – Xuất Bản năm 2013 Khác
[3]. Giáo Trình Mật Mã Học & An Toàn Thông Tin – TS Thái Thanh Tùng – NXB Thông Tin và Truyền Thông Khác
[4]. Hệ Mật Khóa Công Khai Dựa Trên Đường Cong Elliptic – Đặng Minh Tuấn – Hà Nội 4-2016 Khác
[5]. Cryptography and Network Security: Principles and Practice (6th Edition) - William Stallings Khác
[8]. NIST Special Publication 800-57: Recommendation for Key Management, Part 1: General, 2016 Khác
[9]. R. Avanzi, H. Cohen, C. Doche, G. Frey, T. Lange, K. Nguyen, and F.Vercauteren. Handbook of Elliptic and Hyperelliptic Curve Cryptography.Chapman & Hall/CRC, 2006 Khác
[10]. Understanding Crytography (A Textbook for Student and Practitioners) – Christof Paar Jan Pelzl Khác
[11]. Security Issues in the Diffie-Hellman Key Agreement Protocol - Jean- Francois Raymond and Anton Stiglic - Zero-Knowledge Systems Inc Khác
[12]. Network-Specific Attacks on Diffie-Hellman Key-Exchange in Commercial Protocols - Iraj Fathirad, John Devlin, and Sepidehsadat Atshani - International Journal of Computer Theory and Engineering, Vol. 8, No. 2, April 2016 Khác
[15]. Aqeel Khalique, Kuldip Singh, Sandeep Sood ”Implementation of Ellipic Curve Digital Signature Algorithm, IJCA, Vol:2, No-2” May,2010 Khác
[16]. Curve25519: new Di e-Hellman speed records - Daniel J. Bernstein ffi Khác
[17]. D. Hankerson, A. Menezes, and S. A. Vanstone. Guide to Elliptic Curve Cryptography. Springer-Verlag New York, 2004 Khác
[18]. Http://securitybox.vn/2540/an-toan-thong-tin-tai-viet-nam-2017/ - Công ty cổ phần An toàn thông tin MVS – SecurityBox Khác
[21]. Ravi Kishore Kodali and Ashwitha Naikoti: ECDH based Security Model for IoT using ESP8266, 2018 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w