Tải bản đầy đủ (.pdf) (147 trang)

LUẬN ÁN TIẾN SĨ NGHIÊN CỨU PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA AN TOÀN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.87 MB, 147 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ

ĐỖ VIỆT BÌNH

NGHIÊN CỨU PHÁT TRIỂN GIAO THỨC
TRAO ĐỔI KHÓA AN TOÀN

LUẬN ÁN TIẾN SĨ TOÁN HỌC

HÀ NỘI - 2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ

ĐỖ VIỆT BÌNH

NGHIÊN CỨU PHÁT TRIỂN GIAO THỨC
TRAO ĐỔI KHÓA AN TOÀN
Chuyên ngành: Cơ sở toán học cho tin học
Mã số: 9 46 01 10
LUẬN ÁN TIẾN SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:


1.

PGS. TS Nguyễn Hiếu Minh

2.

TS Nguyễn Mạnh Linh

HÀ NỘI - 2018


i

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các kết
quả nghiên cứu là trung thực và chưa được công bố trong bất kỳ công trình
nào khác. Các dữ liệu tham khảo được trích dẫn đầy đủ.
TÁC GIẢ LUẬN ÁN

Đỗ Việt Bình


ii

LỜI CẢM ƠN
Trong quá trình nghiên cứu và hoàn thành luận án, Nghiên cứu sinh đã
nhận được sự định hướng, giúp đỡ, các ý kiến đóng góp quý báu và những lời
động viên của các nhà khoa học, các thầy cô giáo, đồng nghiệp và gia đình.
Trước hết, Nghiên cứu sinh xin bày tỏ lời cảm ơn đến PGS, TS Nguyễn

Hiếu Minh, TS Nguyễn Mạnh Linh, cùng nhóm nghiên cứu tại Viện Công nghệ
thông tin, Viện Khoa học và Công nghệ Quân sự.
Cho phép Nghiên cứu sinh chân thành cảm ơn các thầy cô giáo trong
Viện Công nghệ thông tin, Viện Khoa học và Công nghệ Quân sự đã giúp đỡ
và có nhiều đóng góp quý báu trong suốt thời gian Nghiên cứu sinh thực hiện
luận án.
Nghiên cứu sinh chân thành cảm ơn Ban Giám đốc, Phòng Đào tạo/ Viện
Khoa học và Công nghệ Quân sự đã tạo điều kiện thuận lợi để Nghiên cứu sinh
hoàn thành nhiệm vụ nghiên cứu.
Cuối cùng, Nghiên cứu sinh bày tỏ lời cảm ơn tới đồng nghiệp, gia đình,
và bạn bè đã luôn động viên, chia sẻ, ủng hộ và giúp đỡ Nghiên cứu sinh trong
suốt quá trình học tập và nghiên cứu vừa qua.
NCS Đỗ Việt Bình


iii

MỤC LỤC
Trang
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .................................. vi
DANH MỤC CÁC HÌNH VẼ ......................................................................... ix
DANH MỤC CÁC BẢNG ............................................................................... x
MỞ ĐẦU ........................................................................................................... 1
Chương I: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU ................................. 8
1.1. Tổng quan về bài toán trao đổi khóa ...................................................... 8
1.1.1. Khái niệm giao thức trao đổi khóa ................................................ 11
1.1.2. Các tính chất an toàn của giao thức trao đổi khóa ........................ 12
1.1.3. Giao thức trao đổi khóa an toàn .................................................... 17
1.1.4. Bài toán trao đổi khóa nhóm ......................................................... 20
1.2. Tổng quan về lược đồ chữ ký số .......................................................... 23

1.2.1. Cơ sở toán học ............................................................................... 24
1.2.2. Lược đồ chữ ký số ......................................................................... 27
1.3. Kết luận chương 1 ................................................................................ 38
Chương II: PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA CÓ XÁC
THỰC DỰA TRÊN HAI BÀI TOÁN KHÓ .............................................. 40
2.1. Phát triển lược đồ chữ ký số dựa trên hai bài toán khó ........................ 40
2.1.1. Lược đồ thứ nhất (Rabin và Schnorr) ........................................... 48
2.1.2. Lược đồ thứ hai (RSA và Schnorr) ............................................... 49
2.1.3. Đánh giá khả năng bảo mật ........................................................... 50


iv

2.2. Phát triển giao thức trao đổi khóa có xác thực dựa trên hai
bài toán khó .................................................................................................. 52
2.2.1. Một số phát triển giao thức trao đổi khóa an toàn......................... 53
2.2.2. Mô tả giao thức DH–MM–KE ...................................................... 60
2.2.3. Đánh giá giao thức ........................................................................ 65
2.3. Kết luận chương 2 ................................................................................ 68
Chương III: PHÁT TRIỂN GIAO THỨC KÝ VÀ MÃ HÓA ĐỒNG THỜI
DỰA TRÊN HAI BÀI TOÁN KHÓ............................................................... 69
3.1. Giao thức ký và mã hóa đồng thời ....................................................... 69
3.1.1. Phương pháp ký rồi mã hóa........................................................... 70
3.1.2. Phương pháp ký và mã hóa đồng thời ........................................... 71
3.1.3. Một số nghiên cứu về ký và mã hóa đồng thời ............................. 73
3.2. Phát triển giao thức ký và mã hóa đồng thời DH–MM–SC................. 75
3.2.1. Mô tả giao thức.............................................................................. 75
3.2.2. Đánh giá giao thức ........................................................................ 76
3.3. Phát triển giao thức ký và mã hóa đồng thời có thể chối từ
DH–MM–DSC .............................................................................................. 79

3.3.1. Mô tả giao thức.............................................................................. 82
3.3.2. Đánh giá giao thức ........................................................................ 84
3.4. Kết luận chương 3 ................................................................................ 87
Chương IV: PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA NHÓM ........ 88
4.1. Đặt vấn đề............................................................................................. 88
4.1.1. Giao thức IKA.1 ............................................................................ 90


v

4.1.2. Giao thức IKA.2 ............................................................................ 91
4.2. Đề xuất giao thức trao đổi khóa nhóm ................................................. 93
4.3. Đánh giá giao thức ............................................................................... 94
4.3.1. Không để lộ khóa cặp .................................................................... 94
4.3.2. Dễ dàng hoán vị để hình thành khóa mới...................................... 95
4.3.3. Đánh giá độ phức tạp..................................................................... 96
4.4. Kết luận chương 4 ................................................................................ 97
KẾT LUẬN ..................................................................................................... 98
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ .............. 100
TÀI LIỆU THAM KHẢO ............................................................................. 101


vi

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Nghĩa của từ viết tắt

Từ viết tắt
{0,1}∗


Ký hiệu chuỗi bit có độ dài bất kỳ

{0,1}𝑘

Ký hiệu chuỗi bit có độ dài 𝑘

(𝑛)

Hàm phi Euler của 𝑛

ACMA

Tấn công thông điệp được lựa chọn thích ứng (Adaptive Chosen
Message Attack)

AKA

Hoạt động bổ trợ trao đổi khóa (Auxiliary Key Agreement)

AKAKC

Giao thức trao đổi khóa có xác thực cùng xác nhận khóa
(Authenticated Key Agreement witk Key Confirm)

CNTT

Công nghệ thông tin

CKS


Chữ ký số

CSDL

Cơ sở dữ liệu

DCMA

Tấn công thông điệp được lựa chọn trực tiếp (Directed Chosen
Message Attack)

DH

Diffie–Hellman

DHKE

Giao thức trao đổi khóa Diffie–Hellman (Diffie–Hellman Key
Exchange)

DLP

Bài toán logarithm rời rạc (Discrete Logarithm Problem)

DoS

Từ chối dịch vụ (Denial Of Service)

DPG


Nhóm ngang hàng động (Dynamic Peer Group)

DS

Chữ ký số (Digital Signature)

DSA

Thuật toán chữ ký số (Digital Signature Algorithm)

DSS

Chuẩn chữ ký số (Digital Signature Standard)

ECC

Mã hóa trên đường cong elliptic (Elliptic Curve Cryptography)


vii

ECDHKE

Trao đổi khóa Diffie–Hellman trên đường cong elliptic (Elliptic
Curve Diffie–Hellman Key Exchange)

ECDLP

Bài toán logarithm rời rạc trên đường cong elliptic (Elliptic
Curve Discrete Logarithm Problem)


ECDSA

Thuật toán chữ ký số trên đường cong elliptic (Elliptic Curve
Digital Signature Algorithm)

ECM

Phương pháp phân tích thừa số trên đường cong Elliptic (Elliptic
Curve Method)

ECMQV

Giao thức MQV trên đường cong elliptic (Elliptic Curve MQV)

EF

Tồn tại giả mạo (Existential Forgery)

EKC

Xác nhận khóa hiện (Explicit key Confirmation)

EKA

Xác thực khóa hiện (Explicit key Authentication)

𝑔𝑐𝑑

Ước số chung lớn nhất (Greatest Common Divisor)


GCMA

Tấn công thông điệp được lựa chọn tổng quát (Generic Chosen
Message Attack)

GDH

Giao thức trao đổi khóa nhóm Diffie–Hellman (Group Diffie–Hellman)

𝑔𝑒𝑛

Thủ tục tạo khóa (Generation)

𝐻(𝑀)

Giá trị băm của 𝑀

IFP

Bài toán phân tích thừa số nguyên tố (Integer Factorization Problem)

IKA

Xác thực khóa ẩn (Implicit Key Authentication)

IKC

Xác nhận khóa ẩn (Implicit Key Confirmation)


𝐾𝐴𝐵

Khóa phiên theo hướng từ A tới B

𝐾𝐵𝐴

Khóa phiên theo hướng từ B tới A

KCI

Giả mạo khóa thỏa thuận (Key Compromise Impersonation)

KKS

Độ an toàn khóa đã biết (Known – Key Security)

KMA

Tấn công thông điệp đã biết (Known Message Attack)

KOA

Tấn công vào khóa (Key–Only Attacks)


viii

MA

Tấn công vào thông điệp (Message Attacks)


MITM

Tấn công kẻ đứng giữa (Man–In–The–Middle Attack)

NFS

Thuật toán sàng trường số (Number Field Sieve)

P2P

Giao thức ngang hàng (Peer to Peer)

PFS

An toàn đầy đủ về phía trước (Perfect Forward Secrecy)

PGP

Bảo mật rất mạnh (Pretty Good Privacy)

𝑝𝑘

Khóa công khai (Public Key)

QS

Thuật toán sàng bậc hai (Quadratic Sieve)

𝑠𝑐


Thuật toán ký và mã hóa (Signcryption)

SF

Giả mạo có lựa chọn (Selective Forgery)

𝑠𝑖𝑔

Thủ tục ký (Sign)

𝑠𝑘

Khóa bí mật (Secret Key)

SSR

Tiết lộ trạng thái phiên (Session-State Reveal)

TB

Phá vỡ hoàn toàn (Total Break)

𝑇𝐺𝐸𝑁

Thời gian sinh số nguyên tố ngẫu nhiên

𝑇𝐸𝑋𝑃

Độ phức tạp thời gian của phép mũ modulo


𝑇𝑀𝑈𝐿

Độ phức tạp thời gian của phép nhân modulo

𝑇𝐻

Độ phức tạp thời gian của việc thực hiện hàm băm.

𝑇𝐼𝑁𝑉

Độ phức tạp thời gian của phép tính nghịch đảo modulo.

𝑇𝐶𝑅𝑇

Độ phức tạp thời gian của phép tính đồng dư Trung Hoa.

𝑢𝑐

Thuật toán giải mã và xác thực (Unsigncryption)

UF

Giả mạo tổng quát (Universal Forgery)

UKS

Tấn công không biết khóa chia sẻ (Unknown Key–Share attacks)

𝑣𝑒𝑟


Thủ tục xác thực (Verify)

𝑍𝑝∗

Nhóm nhân hữu hạn


ix

DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Quy trình tạo chữ ký số ........................................................ 28
Hình 1.2. Quy trình xác thực chữ ký số ................................................ 29
Hình 2.2. Giao thức trao đổi khóa L. Harn ........................................... 55
Hình 2.3. Giao thức trao đổi khóa Phan ............................................... 57
Hình 2.4. Giao thức trao đổi khóa của Jie Liu và Jianhua Li ............... 59
Hình 2.5. Giao thức DH–MM–KE ....................................................... 64
Hình 3.1. Giai đoạn ký và mã hóa ........................................................ 73
Hình 3.2. Giai đoạn giải mã và xác thực .............................................. 73
Hình 3.3. Giao thức DH–MM–SC ........................................................ 76
Hình 3.4. Giao thức DH–MM–DSC ..................................................... 84
Hình 4.1. Sơ đồ giao thức IKA.1 .......................................................... 90
Hình 4.2. Ví dụ thực hiện IKA.1 cho nhóm 4 thành viên [44] ............. 90
Hình 4.3. Sơ đồ giao thức IKA.2 .......................................................... 92
Hình 4.4. Ví dụ thực hiện IKA.2 cho nhóm 4 thành viên [44] ............. 92
Hình 4.5. Sơ đồ giao thức NGDH1 ...................................................... 94


x


DANH MỤC CÁC BẢNG
Bảng 1.1. Dữ liệu lịch sử của bài toán phân tích thừa số nguyên tố .... 27
Bảng 2.1. So sánh độ phức tạp thời gian .............................................. 52
Bảng 2.2. Độ phức tạp thời gian của giao thức DH–MM–KE ............. 67
Bảng 3.1. Độ phức tạp thời gian của giao thức DH–MM–SC ............. 78
Bảng 3.2. Kích thước bản ký mã hóa của giao thức DH–MM–SC ...... 79
Bảng 3.3. Độ phức tạp thời gian của giao thức DH–MM–DSC........... 86
Bảng 3.4. Kích thước bản ký mã hóa của giao thức DH–MM–DSC ... 86
Bảng 4.1. Độ phức tạp của giao thức IKA.1 ........................................ 91
Bảng 4.2. Độ phức tạp của giao thức IKA.2 ........................................ 93
Bảng 4.3. Độ phức tạp của giao thức NGDH1 ..................................... 97


1

MỞ ĐẦU
1. Tính cấp thiết của đề tài nghiên cứu
Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến
bộ về điện tử viễn thông và công nghệ thông tin không ngừng được phát triển
để nâng cao chất lượng và lưu lượng truyền tin thì các biện pháp bảo vệ thông
tin cũng cần được đổi mới để thích nghi. Các biện pháp bảo vệ an toàn thông
tin có thể được chia thành ba nhóm sau:
- Bảo vệ an toàn thông tin bằng các biện pháp hành chính;
- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật;
- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán.
Các biện pháp bảo vệ an toàn thông tin có thể được ứng dụng riêng rẽ
hoặc phối kết hợp. Biện pháp hiệu quả và kinh tế nhất hiện nay là biện pháp
thuật toán.
Môi trường khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối
phương dễ xâm nhập nhất đó là môi trường mạng. Để đảm bảo an toàn thông

tin dữ liệu trên đường truyền tin và trên mạng máy tính có hiệu quả thì điều
trước tiên là phải lường trước hoặc dự đoán trước các nguy cơ mất an toàn,
nguy cơ bị tấn công, các sự cố rủi ro có thể xảy ra đối với thông tin dữ liệu
được lưu trữ và trao đổi trên đường truyền tin cũng như trên mạng. Xác định
càng chính xác các nguy cơ nói trên thì càng quyết định được tốt các giải pháp
để giảm thiểu các thiệt hại. Có hai loại hành vi xâm phạm thông tin dữ liệu đó
là: tấn công chủ động và tấn công bị động. Tấn công bị động chỉ nhằm mục
đích cuối cùng là nắm bắt được thông tin (đánh cắp thông tin). Tấn công bị
động có khi không lấy được nội dung cụ thể của bản tin nhưng có thể dò ra
được người gửi, người nhận nhờ thông tin điều khiển giao thức chứa trong phần
đầu các gói tin. Kẻ xâm nhập có thể kiểm tra được số lượng, độ dài và tần số
trao đổi. Vì tấn công thụ động không làm sai lệch hoặc hủy hoại nội dung thông


2

tin dữ liệu được trao đổi nên thường khó phát hiện nhưng vẫn có những biện
pháp ngăn chặn hiệu quả. Tấn công chủ động là dạng tấn công có thể làm thay
đổi nội dung, xóa bỏ, làm trễ, sắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời
điểm tấn công hoặc sau đó một thời gian. Tấn công chủ động có thể thêm vào
một số thông tin ngoại lai để làm sai lệch nội dung thông tin trao đổi. Tấn công
chủ động dễ phát hiện nhưng để ngăn chặn hiệu quả thì khó khăn hơn nhiều.
Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệu nào là
đứng vững hoàn toàn trước các hành vi tấn công từ bên ngoài. Một hệ thống dù
được bảo vệ chắc chắn đến đâu cũng không thể đảm bảo là an toàn tuyệt đối.
Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi thông
tin thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thông tin cần
mã hóa. Đây là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã
hội. Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang được sử dụng
ngày càng phổ biến hơn trong nhiều lĩnh vực khác nhau trên thế giới, từ các

lĩnh vực an ninh, quân sự, quốc phòng,… cho đến các lĩnh vực dân sự như
thương mại điện tử, ngân hàng,…
Cùng với sự phát triển của khoa học máy tính và Internet, các nghiên cứu
và ứng dụng của khoa học mật mã ngày càng trở nên đa dạng hơn, mở ra nhiều
hướng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc thù với những
đặc trưng riêng. Ứng dụng của khoa học mật mã không chỉ đơn thuần là mã
hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần được
nghiên cứu và giải quyết: Chứng thực nguồn gốc nội dung thông tin (kỹ thuật
chữ ký điện tử), chứng nhận tính xác thực về người sở hữu mã khóa (chứng
nhận khóa công cộng), các quy trình giúp trao đổi thông tin và thực hiện giao
dịch điện tử an toàn trên mạng,... Những kết quả nghiên cứu về mật mã cũng
đã được đưa vào trong các hệ thống phức tạp hơn, kết hợp với những kỹ thuật
khác để đáp ứng yêu cầu đa dạng của các hệ thống ứng dụng khác nhau trong


3

thực tế, ví dụ như hệ thống bỏ phiếu bầu cử qua mạng, hệ thống đào tạo từ xa,
hệ thống quản lý an ninh của các đơn vị với hướng tiếp cận sinh trắc học, hệ
thống cung cấp dịch vụ multimedia trên mạng với yêu cầu cung cấp dịch vụ và
bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số,...
Mật mã hay các giải pháp bảo mật được sử dụng để bảo vệ tính bí mật
của thông tin khi chúng được truyền trên các kênh truyền thông công cộng. Giả
sử nếu một người A muốn gửi cho người B một văn bản P, để bảo mật A lập
cho P một bản mật mã C bằng một phương pháp toán học nào đó, và thay vì
gửi cho B văn bản P, A gửi cho B văn bản C. B nhận được C thực hiện giải mã
để thu được P. Để A biến P thành C và B biến C thành P, A và B phải thống
nhất sử dụng chung một hệ mật nào đó có thể là hệ mật khóa bí mật hoặc hệ
mật khóa công khai.
Trong hệ mật khóa bí mật, bước mã hóa và giải mã đều sử dụng chung

một khóa bí mật 𝑘, và với các giá trị của 𝑘 khác nhau ta thu được các bản mã
khác nhau. Tính an toàn của hệ mật phụ thuộc vào hai yếu tố là thuật toán phải
đủ mạnh để không thể giải mã được văn bản nếu đơn thuần chỉ dựa vào bản
mã, và tính an toàn của khóa (chứ không phải là an toàn thuật toán), tức là nếu
biết bản mã và thuật toán mã hóa nhưng không biết khóa vẫn không thể tìm
được bản rõ. Nói cách khác, ta không cần giữ bí mật thuật toán mà chỉ cần giữ
bí mật khóa. Việc giữ bí mật khóa trở thành điểm mấu chốt của hệ mật loại này,
nếu vì lý do nào đó mà khóa bị lộ thì tất cả những văn bản hai bên trao đổi với
nhau cũng sẽ bị lộ.
Để sử dụng hệ mật khóa bí mật yêu cầu hai bên trước khi truyền tin phải
có chung một giá trị khóa, giá trị này cần phải giữ bí mật và điều này không
thuận tiện trong môi trường truyền thông công cộng như hiện nay. Vì thế người
ta đã đưa ra cách mã hóa khác, cho phép các bên trong hệ thống có thể truyền
tin cho nhau bằng cách công bố công khai thông tin cần cho việc lập mã, khiến


4

cho người gửi và người nhận không cần quy ước trước với nhau và cũng không
có những bí mật chung. Bên nhận được bản mã sử dụng khóa bí mật của mình
giải mã để thu được văn bản gốc. 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ệc giải mã cũng dễ như việc mã hóa. Việc
giữ bí mật khóa trong hệ mật khóa công khai không còn là vấn đề lớn nữa, vì
mỗi người có một khóa riêng chỉ có chính người đó biết mà thôi nên khả năng
làm lộ gần như là không có. Vì vậy đối với những hệ mật loại này tính an toàn
của chúng nằm trong khả năng không bị lộ của chìa khóa bí mật từ những thông
tin công khai tất cả mọi người đều có, mà điều này thì lại phụ thuộc vào độ khó
của bài toán nào đó ví như: việc tính tích hai số nguyên tố lớn 𝑛 = 𝑝 × 𝑞. Dễ
dàng nhân hai số nguyên tố lớn 𝑝, 𝑞 để thu được tích 𝑛 của chúng, nhưng bài

toán sẽ là khó nếu cho giá trị tích 𝑛 và yêu cầu xác định các thừa số nguyên tố
𝑝, 𝑞 của nó.
Đối với cả hệ mật khóa bí mật và hệ mật khóa công khai đều cần trao đổi
khóa, nhưng bài toán trao đổi khóa cho hệ mật khóa bí mật phức tạp hơn.
Vấn đề bảo vệ an toàn khóa là đặc biệt quan trọng. Trong đó khâu quan
trọng nhất nhưng cũng là khâu kém an toàn nhất chính là trao đổi khóa. Với tất
cả các kỹ thuật mật mã hiện đại vấn đề trao đổi khóa luôn được đặt ra để có thể
đảm bảo việc ứng dụng được các thuật toán mật mã.
Do đó việc xây dựng giao thức trao đổi khóa an toàn có tính cấp thiết
trong điều kiện hiện nay.
2. Mục đích nghiên cứu
Nghiên cứu tổng quan các cơ sở lý thuyết về các giao thức trao đổi khóa,
về chữ ký số và cơ sơ toán học của các bài toán khó giải để xây dựng lược đồ
chữ ký số dựa trên hai bài toán khó nhằm phát triển các giao thức trao đổi khóa
an toàn có xác thực sử dụng lược đồ chữ ký số dựa trên hai bài toán khó giải.


5

Đồng thời nghiên cứu các vấn đề liên quan đến trao đổi khóa nhóm, đề xuất
giao thức trao đổi khóa nhóm mới.
3. Đối tượng nghiên cứu
Đối tượng nghiên cứu là bài toán trao đổi khóa, giao thức trao đổi khóa
an toàn, giao thức trao đổi khóa nhóm. Các khái niệm cơ sở toán học, các lược
đồ chữ ký số RSA, Rabin, Schnorr,... Các giao thức ký và mã hóa đồng thời,
các mô hình mã hóa chối từ.
4. Phương pháp nghiên cứu
- Nghiên cứu lý thuyết: Phân tích, tổng hợp các kết quả nghiên cứu liên
quan đến các giao thức trao đổi khóa, sử dụng các lý thuyết về đại số trừu tượng,
bài toán logarithm rời rạc, các phương pháp thiết kế, phát triển giao thức thiết

lập khóa an toàn dựa trên giao thức trao đổi khóa Diffie–Hellman, từ đó đề xuất
một số giao thức trao đổi khóa an toàn mới có tính ứng dụng cao. Chứng minh
tính đúng đắn, sử dụng lý thuyết về độ phức tạp thuật toán, đánh giá độ an toàn
và thời gian hoàn thành giao thức trao đổi khóa (theo lý thuyết) của các giao
thức đề xuất.
- Thực nghiệm: xây dựng các module thử nghiệm kiểm tra tính đúng đắn
của các giao thức đã đề xuất.
5. Bố cục của luận án
Ngoài phần mở đầu giới thiệu về tính cấp thiết, mục đích, phương pháp,
đối tượng, phạm vi nghiên cứu của luận án, các đóng góp mới, ý nghĩa khoa
học và thực tiễn của luận án và phần kết luận, luận án được chia thành 4 chương,
bố cục như sau:
Chương 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Trình bày tổng quan bài toán trao đổi khóa, một số khái niệm, phương
pháp đánh giá, tiêu chuẩn an toàn của một giao thức trao đổi khóa. Giới thiệu
chi tiết giao thức trao đổi khóa Diffie–Hellman; phân tích giao thức trao đổi


6

khóa an toàn, ưu nhược điểm của một số giao thức trao đổi khóa an toàn đã
công bố. Trình bày các khái niệm về trao đổi khóa nhóm, các đặc điểm và yêu
cầu đối với một giao thức trao đổi khóa nhóm. Trình bày các vấn đề cơ sở toán
học của các bài toán khó giải, tổng quan về lược đồ chữ ký số và điểm lại những
vấn đề xung quanh các lược đồ chữ ký số RSA, DSA, Rabin, Schnorr. Đồng
thời cũng đã trình bày các thảo luận liên quan đến bảo mật, sự thực thi, các
phương pháp tấn công,...
Chương 2. PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA CÓ XÁC
THỰC DỰA TRÊN HAI BÀI TOÁN KHÓ
Tập trung nghiên cứu và phân tích ưu nhược điểm của các lược đồ chữ

ký số dựa trên hai bài toán khó đã được công bố, từ đó làm cơ sở đề xuất lược
đồ chữ ký số mới dựa trên hai bài toán khó, giải quyết các vấn đề còn tồn tại.
Phân tích khả năng bảo mật và hiệu quả của lược đồ mới đề xuất. Trên cơ sở
đó phát triển giao thức trao đổi khóa an toàn có xác thực tích hợp chữ ký số
dựa trên hai bài toán khó. Phân tích đánh giá tính bảo mật và hiệu năng của
thuật toán.
Chương 3. PHÁT TRIỂN GIAO THỨC KÝ VÀ MÃ HÓA ĐỒNG
THỜI DỰA TRÊN HAI BÀI TOÁN KHÓ
Phân tích mô hình ký rồi mã hóa truyền thống, chỉ ra ưu điểm của mô
hình ký và mã hóa đồng thời so với mô hình truyền thống. Phân tích một số
giao thức ký và mã hóa đồng thời đã công bố, các hạn chế còn tồn tại của các
giao thức này. Dựa trên cơ sở lược đồ chữ ký số mới ở chương 2, đề xuất giao
thức ký và mã hóa đồng thời dựa trên hai bài toán khó (DH–MM–SC) và
giao thức ký và mã hóa đồng thời có thể chối từ dựa trên hai bài toán khó
(DH–MM–DSC) nhằm nâng cao tính bảo mật và cung cấp khả năng chống tấn
công cưỡng bức chủ động. Đây là giao thức ký và mã hóa đồng thời đầu tiên
có khả năng chối từ.


7

Chương 4. PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA NHÓM
Nghiên cứu các vấn đề liên quan đến trao đổi khóa nhóm thông qua phân
tích giao thức GDH nguyên thủy và một số phát triển của giao thức này để từ
đó đề xuất xây dựng giao thức cải tiến trong trường hợp trao đổi khóa nhóm
nhằm tránh lộ khóa cặp, dễ dàng thay đổi khóa và giảm khối lượng tính toán.
6. Ý nghĩa khoa học và thực tiễn của luận án
Việc cải tiến và phát triển các giao thức trao đổi khóa an toàn luôn là yêu
cầu đặt ra của bất kỳ tổ chức hay quốc gia nào. Hiện nay, các giao thức trao đổi
khóa an toàn tích hợp chữ ký số đều dựa vào một bài toán khó giải như: Bài

toán logarithm rời rạc, bài toán phân tích thừa số nguyên tố, bài toán khai căn
bậc 2 𝑚𝑜𝑑 𝑛 hoặc bài toán logarithm rời rạc trên đường cong Elliptic. Một giả
thiết đặt ra là trong tương lai, khi các bài toán khó giải lần lượt được giải quyết
thì các giao thức trao đổi khóa hiện tại sẽ trở thành không an toàn. Do đó, cần
phát triển các giao thức mới dựa trên kết hợp các bài toán khó giải để tăng tính
an toàn cho giao thức trao đổi khóa.
Đóng góp của luận án chính là việc xây dựng các giao thức trao đổi khóa
an toàn tích hợp chữ ký số dựa trên kết hợp các bài toán khó giải để tăng tính
an toàn cho giao thức trao đổi khóa đó. Đồng thời, luận án cũng xem xét đề
xuất giao thức trao đổi khóa theo nhóm nhằm tránh lộ khóa cặp, dễ dàng thay
đổi khóa và giảm số lượng tính toán.


8

Chương I: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Nội dung chính của chương này: Giới thiệu tổng quan về bài toán trao
đổi khóa, với cơ sở là giao thức trao đổi khóa Diffie–Hellman; trình bày một
số khái niệm, vai trò của trao đổi khóa; trình bày các tiêu chuẩn an toàn của
giao thức trao đổi khóa. Ngoài ra nội dung của chương cũng đề cập tới: Các
giao thức trao đổi khóa an toàn, phân tích xu hướng nghiên cứu, phát triển của
các giao thức trao đổi khóa có xác thực, trình bày ưu nhược điểm của một số
giao thức trao đổi khóa kết hợp với lược đồ chữ ký số đã công bố có liên quan;
trình bày bài toán trao đổi khóa nhóm và các phân đoạn thỏa thuận khóa nhóm.
Chương này cũng trình bày cơ sở toán học của của các lược đồ chữ ký số là bài
toán logarithm rời rạc (DLP) và bài toán phân tích thừa số nguyên tố (IFP);
phân tích độ an toàn và các hình thức tấn công đối với hai bài toán này; định
nghĩa chữ ký số, các yêu cầu an toàn đối với một lược đồ chữ ký số và trình
bày một số phát triển của lược đồ chữ ký số.
1.1. Tổng quan về bài toán trao đổi khóa

Giao thức trao đổi khóa đầu tiên được đưa ra bởi W. Diffie và M.
Hellman vào năm 1976 [67], nó được gọi là giao thức Diffie–Hellman nguyên
thủy. Giao thức được thực hiện như sau:
Hai đối tượng Alice (A) và Bob (B) thỏa thuận lựa chọn một nhóm hữu
hạn 𝑍𝑝∗ và một phần tử 𝑔 ∈ 𝑍𝑝∗ , với 𝑔 là phần tử sinh ra một nhóm có bậc lớn,
𝑝 là một số nguyên tố lớn. Các giá trị 𝑝 và 𝑔 có thể được sinh ra nhờ các thuật
toán mô tả trong [69], [70].
Các tham số đầu vào chung: (𝑝, 𝑔), với 𝑝 là một số nguyên tố lớn, 𝑔 là
một phần tử sinh của nhóm nhân 𝑍𝑝∗ .
Đầu ra: Một giá trị (phần tử) thuộc 𝑍𝑝∗ được chia sẻ giữa A và B.
Các bước thực hiện:


9

- A phát sinh một giá trị ngẫu nhiên 𝑥𝐴 (1 ≤ 𝑥𝐴 ≤ 𝑝 − 1), tính
𝑦𝐴 = 𝑔 𝑥𝐴 𝑚𝑜𝑑 𝑝 và gửi giá trị này cho B;
- B phát sinh một giá trị ngẫu nhiên 𝑥𝐵 (1 ≤ 𝑥𝐵 ≤ 𝑝 − 1), tính
𝑦𝐵 = 𝑔 𝑥𝐵 𝑚𝑜𝑑 𝑝 và gửi giá trị này cho A;
- A tính giá trị 𝐾𝐴𝐵 = (𝑦𝐵 ) 𝑥𝐴 = (𝑔 𝑥𝐵 )𝑥𝐴 𝑚𝑜𝑑 𝑝
- B tính giá trị 𝐾𝐵𝐴 = (𝑦𝐴 ) 𝑥𝐵 = (𝑔 𝑥𝐴 )𝑥𝐵 𝑚𝑜𝑑 𝑝
Dễ dàng thấy rằng cả A và B đã nhận được một giá trị khóa bí mật chung
chia sẻ, nó có thể được sử dụng trên các hệ mật khóa bí mật.
Một số khuyến nghị khi thực hiện và sử dụng giao thức DH:
- Lựa chọn số nguyên tố 𝑝 đủ lớn (|𝑝| ≥ 1024 𝑏𝑖𝑡).
- Lựa chọn 𝑔 là phần tử sinh của nhóm 𝑍𝑝∗ .
- A và B sẽ xóa các giá trị 𝑥𝐴 và 𝑥𝐵 khi kết thúc hoạt động của giao thức.
Khi thực hiện điều này chúng sẽ có đặc tính bảo mật về phía trước.
Sau khi W. Diffie và M. Hellman đề xuất sử dụng các hệ mật khóa công
khai để trao đổi khóa, các giao thức trao đổi khóa khác đã được phát triển tương

tự, trong đó có thể kể đến giao thức PGP (Pretty Good Privacy Encryption)
được tạo ra bởi Philip Zimmermann vào năm 1991 [79]. Trong giao thức này,
khóa được mã hóa bằng cách sử dụng một hệ mật khóa công khai (sử dụng
khóa công khai của bên nhận). Vì vậy, chỉ có bên nhận có thể giải mã được
khóa đã được mã. Nhưng bằng cách sử dụng một giao thức như vậy đòi hỏi
không chỉ quá trình mã hóa – giải mã khác mà còn thêm chứng thực của khóa
công khai.
Khi các hệ mật mới hơn được phát triển, giao thức DHKE thay đổi dựa
trên các bài toán khác nhau. Đó là DHKE dựa trên đường cong elliptic (Elliptic
Curve Diffie–Hellman Key Exchange – ECDHKE), các giao thức MQV
(Menezes–Qu–Vanstone Protocols), giao thức ECMQV (Elliptic Curve MQV),
HMQV (Hashed MQV), FHMQV (Fully Hashed MQV),…


10

Một số phát triển dựa trên giao thức MQV:
Năm 1995, nhóm tác giả A. J. Menezes, Minghua Qu và S. A. Vanstone
(MQV) [1] đã trình bày phương thức tấn công đối với một số giao thức trao đổi
khóa đã phát triển trước đó như: giao thức một lần truyền của Nyberg–Rueppel;
giao thức hai lần truyền của Goss và Yacobi. Các giao thức này đều không cung
cấp tính chất an toàn là xác thực khóa ẩn. MQV cũng đề xuất giao thức của
nhóm và chứng minh được giao thức đề xuất cung cấp tính chất an toàn là xác
thực khóa ẩn. Giao thức này được trình bày và chứng minh chi tiết trong tài
liệu [1]. Giao thức MQV được coi là giao thức trao đổi khóa chuẩn và được
tích hợp trong các khóa công khai tiêu chuẩn IEEE P1363 [68].
Năm 2005, khi nghiên cứu tính an toàn của giao thức MQV trên mô hình
trao đổi khóa Canetti–Krawczyk, Hugo Krawczyk đã chứng minh rằng giao
thức MQV không an toàn với tấn công khóa biết. Để khắc phục nhược điểm
trên Krawczyk đã đề xuất giao thức HMQV là phát triển của giao thức MQV

[23]. Với việc sử dụng hàm băm (hash function), Krawczyk đã chứng minh
giao thức HMQV có độ phức tạp tính toán tương đương với giao thức MQV
nhưng có độ an toàn cao hơn (khả năng chống lại tấn công khóa biết). Một biến
thể mới của giao thức HMQV được P. S. Augustin và cộng sự giới thiệu năm
2009 là FHMQV (Fully Hashed MQV) và FHMQV–C (C viết tắt cho Key
Confirmation) được thể hiện chi tiết trong [50].
Một hướng phát triển khác của giao thức MQV được Tseng đề xuất vào
năm 2002 [74] là không sử dụng hàm băm, thay vào đó sử dụng 𝑛2 khóa phiên
trong một phiên để chống lại tấn công khóa biết. Năm 2013, Hwang và cộng
sự phát triển giao thức hiệu quả tạo lập 𝑛2 + 𝑛 khóa trong một phiên [31]. Năm
2014, nhóm nghiên cứu của Li-Chin Hwang, Đại học TaiChung, tiếp tục mở
rộng giao thức của Tseng [73] bằng cách sinh 𝑛2 + 1 khóa phiên và tất cả các
khóa phiên đều được sử dụng để chống lại tấn công khóa biết [29].


11

1.1.1. Khái niệm giao thức trao đổi khóa
Trao đổi khóa (key exchange): Là các phương pháp trao đổi khóa giữa
các thực thể tham gia mã hóa.
Giao thức: Là một thuật toán có sự tham gia của nhiều bên, được xác
định chính xác bởi một chuỗi các bước hoạt động của các bên tham gia nhằm
đạt được mục tiêu xác định.
Giao thức trao đổi khóa (key exchange protocol): Là quá trình thực
hiện mà nhờ đó các bên cùng nhau thiết lập khóa bí mật dùng chung trong quá
trình truyền thông trên một kênh công cộng.
Xác lập khóa (Key Establishment): Là tiến trình trong đó hai (hoặc
nhiều) đối tượng xác lập một khóa bí mật được chia sẻ. Trong thực tế có hai
kiểu giao thức xác lập khóa: 1) Các giao thức chuyển khóa (Key Transport
Protocols), trong đó một khóa được phát sinh bởi một đối tượng và truyền bí

mật đến đối tượng thứ hai; 2) Các giao thức thỏa thuận khóa (Key Agreement
Protocols), trong đó cả hai đối tượng trao đổi các thông tin để xác lập một khóa
bí mật được chia sẻ.
Ngoài nhiệm vụ thiết lập một giá trị khóa chung cho hai bên, đôi khi các
bên còn đòi hỏi giao thức cung cấp tính xác thực, các khả năng xác thực mà
giao thức có thể là:
- Xác thực khóa (key authentication): Là khả năng giao thức cho phép
một bên được bảo đảm rằng ngoại trừ đúng bên đúng với thông tin danh tính
đã xác định trước thì không một ai khác có thể tính được giá trị bí mật. Điều
này có nghĩa là nếu A (B) muốn thiết lập, hoặc chuyển cho B (A) khóa bí mật
bằng cách sử dụng một giao thức có khả năng xác thực khóa thì sau khi kết thúc
giao thức A chắc chắn rằng chỉ có B mới có thể thu được giá trị đó. Xác thực
khóa đôi khi còn được gọi là xác thực khóa ẩn (implicit key authentication);


12

- Xác nhận khóa (key confirmation): Là khả năng giao thức cho phép
một bên chắc chắn rằng bên kia đã có giá trị bí mật. Nghĩa là sau khi kết thúc
giao thức A chắc chắn rằng B đã thu được giá trị bí mật 𝐾;
- Xác thực khóa hiện (explicit key authentication): Giao thức có khả
năng xác thực khóa và xác nhận khóa được gọi là giao thức xác thực khóa hiện;
- Xác thực thực thể (entity authentication): Là quá trình cho phép một
bên được đảm bảo về danh tính của bên kia, và thực sự bên kia đã tham gia vào
hoạt động của giao thức.
Các giao thức có thể chỉ cung cấp xác thực thực thể một chiều (tức là chỉ
cho phép xác thực theo một chiều hoặc là A về B, hoặc là B về A).
Các giao thức có thể bị tấn công dưới dạng các hình thức sau:
- Tấn công thụ động (còn gọi là tấn công bị động – passive attack):
Quan sát, nghe trộm quá trình thực hiện giao thức nhưng không làm ảnh hưởng

tới giao thức và không thay đổi được thông tin giao dịch;
- Tấn công chủ động (active attack): Tìm cách thay đổi giao thức (theo
hướng có lợi cho mình), thay đổi thông tin, xóa thông tin thực, tạo thông tin
giả, tham gia vào giao dịch.
1.1.2. Các tính chất an toàn của giao thức trao đổi khóa
Phần này mô tả một số tính chất cần có của một giao thức trao đổi khóa
([2], [3], [5], [9], [68]).
Tính chất 1.1. Độ an toàn khóa đã biết (Known–Key Security – KKS).
Mỗi một phiên trao đổi khóa giữa hai thực thể A và B, khóa phiên được
tạo ra phải là một khóa bí mật duy nhất chỉ được biết bởi A và B, ngay cả khi
người tấn công đã có nghiên cứu (kiến thức) về một vài khóa phiên khác.


13

Tính chất 1.2. Tính an toàn đầy đủ về phía trước (Perfect Forward
Secrecy – PFS).
Tính an toàn không đầy đủ về phía trước (Half Forward Secrecy): Nếu
khóa bí mật dài hạn của một bên tham gia thỏa thuận khóa bị lộ thì các khóa
phiên được tạo ra trước đó cũng không bị ảnh hưởng.
Tính an toàn đầy đủ về phía trước (Perfect Forward Secrecy hoặc Full
Forward Secrecy): Nếu khóa bí mật dài hạn của cả hai bên tham gia thỏa thuận
khóa bị lộ thì các khóa phiên được tạo ra trước đó vẫn không bị ảnh hưởng.
Tính chất 1.3. Tính chất khóa độc lập.
Một giao thức trao đổi khóa được gọi là thỏa mãn tính chất khóa độc lập
nếu một khóa phiên bị lộ thì người tấn công cũng không thể tính được các khóa
phiên khác.
Tính chất 1.4. Khả năng có thể chối từ hợp lý (Plausible deniablity).
Đây là tính năng cho phép một thực thể có thể chối từ “hợp lý” sự tồn tại
của một kết nối với một đối tác truyền thông. Tính chất này là cần thiết ở tầng

IP bởi vì nó cho phép nhiều dịch vụ bí mật có thể hoạt động được, giống như
kiểu nặc danh (Anonymity). Tính chất nặc danh có thể có ích trong trường hợp
người khởi tạo hoặc người phúc đáp là một đầu cuối hoạt động bên trong một
tường lửa (Firewall). Đặc điểm này có được nếu như chúng ta không ký lên
định danh của mình hoặc nếu gửi các chứng chỉ số trong một thông báo đã được
mã hóa. Chối từ hợp lý là một đặc điểm được đưa ra trong quá trình xây dựng
giao thức SIGMA của Krawczyk [24]. Giao thức STS (Station–to–Station) [8]
gửi các thông báo kèm chứng chỉ để ở dạng rõ nên không có tính chất này.
Tính chất 1.5. Khả năng bảo vệ định danh (Identity protection).
Giao thức trao đổi khóa yêu cầu phải thiết kế để có tính chất xác thực hai
chiều đủ tin cậy. Để thực hiện được điều này, định danh của các thực thể tham
gia trao đổi khóa phải được truyền trên mạng. Một vài ứng dụng cần chống lại


×