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

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

147 189 1

Đ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 147
Dung lượng 1,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

luận án được 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.

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Từ viết tắt Nghĩa của 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

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)

Trang 9

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)

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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ố

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

Trang 17

Đồ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

Trang 18

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ừ

Trang 19

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

Trang 20

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:

Trang 21

- 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),…

Trang 22

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]

Trang 23

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);

Trang 24

- 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

Trang 25

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

Trang 26

việc để lộ thông tin định danh trên mạng Việc mã hóa định danh người gửi là chưa đủ, nó yêu cầu người gửi phải chứng minh định danh mà mình sở hữu trước khi bản mã định danh được gửi đi Giao thức SIGMA là một trong những giao thức được thiết kế để hỗ trợ khả năng bảo vệ định danh Giao thức STS và giao thức trong ISO 11770-3 không có tính chất này

Tính chất 1.6 Khả năng điều khiển khóa (Key control)

Điều khiển khóa là một tính chất mà không bên nào có thể điều khiển

khóa phiên theo một giá trị được chọn trước

Tính chất 1.7 An toàn chống tấn công kẻ đứng giữa

(Man-in-the-middle – MITM)

Đây là một kiểu nghe trộm chủ động, người tấn công chặn bắt các thông tin giữa hai thực thể A và B, làm cho họ tin rằng họ đang trực tiếp trao đổi với nhau trên một kết nối riêng Trong khi thực tế toàn bộ các kết nối giữa A và B

đã bị điều khiển bởi người tấn công Tấn công kẻ đứng giữa chỉ thành công khi người tấn công giả mạo được A hoặc B Để chống tấn công này, hầu hết các giao thức trao đổi khóa phải sử dụng tính chất xác thực hai chiều (dùng PKI chẳng hạn)

Tính chất 1.8 An toàn chống tấn công SSR (session-state reveal)

Một giao thức được gọi là an toàn với tấn công SSR nếu người tấn công

có được các thành phần ngẫu nhiên trong quá trình trao đổi khóa thì cũng không thể tính được khóa chia sẻ bí mật

Tính chất 1.9 An toàn chống tấn công cưỡng bức chủ/thụ động

Theo cách tấn công thụ động, người tấn công không thể tính được các

giá trị trao đổi dựa trên các thông tin nghe lén được trong quá trình trao đổi

Theo cách tấn công chủ động, người tấn công có thể đóng vai người gửi hoặc người nhận Nếu người tấn công trong vai trò người gửi tin, họ có thể xác định khi nào thì bên nhận là trung thực và khi nào thì giả dối Sau đó, họ sẽ gửi

Trang 27

hai thông điệp đến bên nhận (một bản thật và một bản giả) Sau khi truyền, người tấn công sẽ hỏi bên nhận mở thông điệp và có thể xác định được người

gửi là trung thực hay không dựa trên phản hồi

Tính chất 1.10 An toàn chống tấn công không biết khóa chia sẻ

(Unkown key–share attack – UKS)

Khi B tin tưởng một khóa được chia sẻ với thực thể C nào đó không phải

A, thì A lại tin tưởng chắc chắn rằng khóa đó được chia sẻ với B Việc thêm định danh của người kiểm tra chữ ký không phải là cách duy nhất để chống lại tấn công này Chẳng hạn, sử dụng chữ ký xác thực có chỉ định (Designated verifier signature) có thể nhận được phương pháp phòng chống tốt hơn mà không cần thêm vào định danh của người kiểm tra chữ ký

Tính chất 1.11 An toàn chống 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 hay gặp nhất hiện nay và hầu như chưa có cách phòng chống triệt để Kiểu tấn công thông dụng nhất là gửi rất nhiều yêu cầu phục vụ đến máy chủ và làm cho máy chủ không còn tài nguyên cũng như năng lực tính toán để xử lý dẫn đến treo hệ thống

Tính chất 1.12 An toàn chống tấn công lặp lại (Replay attack)

Tấn công lặp là một kiểu tấn công mạng mà theo đó một gói tin dữ liệu hợp lệ sẽ được người tấn công chặn bắt, giữ chậm và gửi trả lại cho người gửi Giả sử A muốn chứng minh danh tính của mình với B B yêu cầu mật khẩu của

A, A sẽ gửi thông tin về mật khẩu (giá trị băm của mật khẩu chẳng hạn) cho B,

trong khi đó người tấn công sẽ chặn bắt và giữ lại thông tin này Sau khi trao

đổi giữa A và B kết thúc, người tấn công sẽ giả mạo A để kết nối đến B, khi

được hỏi mật khẩu để xác nhận định danh thì người tấn công sẽ gửi thông tin

về mật khẩu của A (cái mà nó thu giữ được trong phiên làm việc trước)

Trang 28

Có một số cách để chống tấn công này, thông dụng nhất là sử dụng một giá trị ngẫu nhiên làm định danh phiên (session ID) hoặc sử dụng nhãn thời gian (timestamp)

Tính chất 1.13 An toàn chống tấn công phản xạ (Reflextion attack)

Đây là một phương pháp tấn công hệ thống xác thực kiểu “thử thách –

trả lời” (Challenge – response) mà được sử dụng như nhau cho cả hai phía

Kiểu tấn công này được mô tả tổng quát như sau:

- Người tấn công khởi tạo một kết nối đến đích A

- Đích A cố gắng xác thực người tấn công bằng việc gửi cho nó một bản tin “thử thách” (Challenge message)

- Người tấn công tạo ra một kết nối khác đến đích A và gửi thử thách mà

nó nhận được như là thử thách của người tấn công

- Đích A trả lời lại thử thách mà người tấn công gửi đến

- Người tấn công gửi trả lời vừa nhận được tới A trên kết nối ban đầu

Có một số cách để giải quyết vấn đề này đó là:

- Người phúc đáp gửi định danh của mình kèm trong thông báo trả lời, khi đó nếu nhận được một trả lời mà có định danh của mình thì người khởi tạo

có thể chấm dứt kết nối đó

- Yêu cầu khóa hoặc giao thức phải khác nhau giữa hai phía

Tính chất 1.14 An toàn chống giả mạo khóa thỏa thuận (Key

Compromise Impersonation – KCI)

Một giao thức thỏa thuận khóa được gọi là an toàn chống giả mạo khóa thỏa thuận nếu sự thỏa hiệp khóa bí mật dài hạn của một thực thể tin cậy không cho phép người tấn công thiết lập một khóa phiên với thực thể này bằng cách giả mạo như một thực thể tin cậy khác

Trang 29

Tính chất 1.15 Xác thực khóa ẩn (Implicit Key Authentication – IKA)

Giao thức thỏa thuận khóa được gọi là có tính xác thực khóa ẩn của B

đối với A nếu A chắc chắn rằng không có đối tượng nào khác ngoài B có khả năng biết giá trị của khóa bí mật chia sẻ

Tính chất 1.16 Xác nhận khóa hiện (Explicit key Confirmation – EKC)

Giao thức thỏa thuận khóa được gọi là đảm bảo tính xác nhận khóa hiện

của B đối với A nếu A chắc chắn rằng B thực sự đã tính được khóa chia sẻ

Tính chất 1.17 Xác nhận khóa ẩn (Implicit Key Confirmation – IKC)

Giao thức đảm bảo xác nhận khóa ẩn nếu A đảm bảo rằng B có thể tính

được khóa chia sẻ

Tính chất 1.18 Xác thực khóa hiện (Explicit key Authentication – EKA)

Một giao thức thỏa thuận khóa được gọi là có tính xác thực khóa hiện của B đối với A nếu đồng thời có hai tính chất xác thực khóa ẩn và xác nhận khóa hiện của B đối với A

Tính chất 1.19 Xác thực và xác nhận khóa hai chiều

Một giao thức thỏa thuận khóa đảm bảo tính xác thực khóa ẩn cho cả hai đối tượng tham gia được gọi là giao thức thỏa thuận khóa được xác thực

Trong khi một giao thức thỏa thuận khóa đảm bảo tính xác thực khóa hiện cho cả hai đối tượng tham gia được gọi là giao thức thỏa thuận khóa được xác thực cùng xác nhận khóa (Authenticated key agreement with key confirmation – AKAKC)

1.1.3 Giao thức trao đổi khóa an toàn

Giao thức trao đổi khóa Diffie–Hellman không đảm bảo xác thực giữa hai bên của giao thức [60] Dựa trên điều này, đã có nhiều giao thức được đề xuất nhằm cung cấp khả năng xác thực cho các bên tham gia trao đổi khóa

Hiện nay, việc phát triển của giao thức trao đổi khóa an toàn theo hai xu hướng chính là:

Trang 30

- Tích hợp chữ ký số, đây là xu hướng Luận án lựa chọn để nghiên cứu;

- Chia sẻ mật khẩu (dùng trong các môi trường Client – Server)

Lược đồ chữ ký số (Digital Signature Scheme – DSS) [69] cung cấp khả năng xác thực nguồn gốc và tính toàn vẹn của văn bản được ký Điều này ngăn cản việc sử dụng trực tiếp DSS trong việc trao đổi khóa bí mật (sử dụng trong các hệ mật khóa đối xứng) Mặt khác, giao thức trao đổi khóa công khai Diffie–Hellman (DHKE) [67] không đảm bảo xác thực giữa hai bên tham gia giao thức Từ thực tế này, đã xuất hiện hướng nghiên cứu mới nhằm phát triển các giao thức trao đổi khóa dựa trên sự tích hợp giao thức DHKE và lược đồ chữ

ký số Giao thức được đề xuất theo hướng này kết hợp được các ưu điểm của DHKE và lược đồ chữ ký số khi triển khai ứng dụng trong thực tiễn

Năm 1993, Arazi là người đầu tiên phát triển giao thức trao đổi khóa theo hướng tích hợp giao thức DHKE với lược đồ chữ ký số DSA [7] Giao thức này

dùng các khóa công khai chỉ sử dụng một lần (one–time), còn gọi là khóa công khai ngắn hạn (ephemeral) cho giao thức DHKE Ngoài ra, các khóa công khai

ngắn hạn được ký bằng cách sử dụng lược đồ chữ ký số DSA để xác thực các khóa này Tuy nhiên, nhiều nghiên cứu sau đó [10], [30], [35] đã chỉ ra những hạn chế của giao thức này

Năm 1994, Nyberg và Rueppel [30] chỉ ra rằng giao thức của Arazi không có thuộc tính về sự an toàn dựa trên khóa đã biết

Năm 1995, L Harn và các cộng sự đề xuất sửa đổi giao thức trao đổi khóa của Arazi [33] Thay vì phân phối một khóa công khai đơn lẻ trong mỗi phiên giao tiếp, nhóm L Harn đề xuất phân phối nhiều khóa công khai trong

mỗi phiên [34] Giao thức này cho phép trao đổi n cặp khóa công khai giữa hai

bên tham gia giao thức và xác lập được (𝑛2− 1) khóa phiên bí mật Giao thức

của Harn cung cấp các tính chất an toàn: An toàn với tấn công biết khóa, tấn công không biết khóa chia sẻ và tấn công lặp khóa

Trang 31

Năm 2005, Phan đã chỉ ra rằng giao thức của Harn không thể cung cấp

hai tính chất về chuẩn bảo mật mà các giao thức cần có đó là an toàn phía trước (forward secrecy) và làm mới khóa (key freshness) [52] Phan đưa ra cải tiến

của mình trên giao thức của Harn để giao thức có thể cung cấp hai tính chất nói

trên (an toàn phía trước và làm mới khóa) Tuy nhiên trong giao thức trao đổi khóa Phan, tồn tại một mối quan hệ hiện (explicit relation) giữa hai khóa phiên

được thỏa thuận giữa hai bên, 𝐾𝐴𝐵 và 𝐾𝐵𝐴 Mối quan hệ này có thể gây ra một

số lỗ hổng trong tương lai Mặc dù không có cuộc tấn công nào tồn tại trên giao thức ngay bây giờ nhưng các giao thức sẽ an toàn hơn nếu không có mối quan

hệ rõ ràng giữa hai khóa phiên được thỏa thuận

Năm 2010, hai tác giả Liu J và Li J [38] đã đề xuất một cải tiến tốt hơn,

an toàn hơn bằng cách khắc phục nhược điểm mối quan hệ hiện trong giao thức

trao đổi khóa Phan [52]

Cải thiện của giao thức này đó là có thêm hai số nguyên ngẫu nhiên tạm thời so với giao thức trao đổi khóa Phan (trong giao thức của Phan thì mỗi bên tham gia giao thức chọn một số nguyên ngẫu nhiên còn trong giao thức Liu &

Li mỗi bên chọn hai số nguyên ngẫu nhiên) Giao thức này vẫn cung cấp được tính an toàn của giao thức Phan Các khóa phiên trong giao thức cải tiến này được kết hợp bởi các số nguyên ngẫu nhiên khác nhau cho nên không có bất kỳ mối quan hệ hiện nào giữa 𝐾𝐴𝐵 và 𝐾𝐵𝐴 Do đó, giao thức cải tiến này khắc phục được nhược điểm mối quan hệ hiện giữa hai khóa phiên được thỏa thuận giữa hai bên Do đó nó an toàn hơn so với giao thức trao đổi khóa Phan

Độ phức tạp tính toán của giao thức này tương đương với giao thức trao đổi khóa của Phan Mặc dù thêm hai số nguyên ngẫu nhiên tạm thời làm cho

độ phức tạp không gian của cải tiến này nở ra đôi chút nhưng nó làm cho giao thức an toàn hơn

Trang 32

Tuy nhiên, giao thức của Liu J và Li J không cung cấp khả năng chống lại tấn công lộ khóa phiên

1.1.4 Bài toán trao đổi khóa nhóm

Sự phát triển đa dạng của các nhóm truyền thông đã thúc đẩy sự phát triển phổ biến của những ứng dụng định hướng nhóm và các giao thức nhóm Nhóm truyền thông xảy ra ở nhiều thiết lập khác nhau từ mạng phát tán (multicasting) tới các loại hội nghị, các nhóm cộng đồng mạng, các tổ chức và các ứng dụng phần mềm nhóm khác Vì vậy quan tâm đến môi trường truyền thông nhóm, các dịch vụ bảo vệ là cần thiết để cung cấp bảo mật và toàn vẹn thông tin liên lạc

Trong khi bảo mật trong giao thức ngang hàng (Peer-to-Peer – P2P) là một lĩnh vực đang phát triển tốt, thì an toàn thông tin liên lạc trong nhóm vẫn còn tương đối hạn chế Bảo mật thông tin nhóm không chỉ là sự dàn rộng ra của trao đổi thông tin giữa hai tổ chức Với sự mở cửa của các mạng ngày nay, thông tin liên lạc giữa các thành viên trong nhóm phải được an toàn, hiệu quả

và đồng thời Nhóm thông tin liên lạc an toàn không phải là một phần mở rộng đơn giản của giao tiếp hai bên an toàn Truyền thông hai bên có thể được xem như một hiện tượng riêng biệt: nó bắt đầu, kéo dài trong một thời gian và kết thúc Thay vào đó, nhóm truyền thông bắt đầu, thay đổi thành viên trong nhóm (có thành viên mới vào nhóm và cũng có thành viên ra khỏi nhóm) và có thể không được xác định cuối cùng Sự biến động kết hợp với sự giao dịch đa chiều

đã dẫn đến những đòi hỏi cao với các giao thức trao đổi khóa nhóm

1.1.4.1 Đặc điểm của trao đổi khóa theo nhóm

Trong việc xây dựng giao thức thỏa thuận khóa nhóm có một số đặc điểm

mà chúng ta cần lưu ý, để có thể có được một giao thức tốt, đảm bảo cả về mặt hiệu quả thực hiện cũng như độ bảo mật

Trang 33

- Hiệu quả giao thức được quan tâm nhiều hơn do số lượng người tham gia và khoảng cách giữa họ

- Do nhóm là động nên các thành viên có thể tham gia hay rời khỏi nhóm bất kỳ lúc nào Như vậy giao thức phải có những dự phòng và xử lý để đạt được hiệu quả cao nhất

- Khả năng lộ khóa do những yếu tố phi kỹ thuật sẽ cao hơn vì vậy cần

có cách thức để nhanh chóng thay đổi khóa nhưng cũng phải tính đến tính hiệu quả của thuật toán

Những điều trên làm phức tạp dịch vụ bảo mật, trong đó loại nhóm phổ biến nhưng đòi hỏi giao thức phức tạp là nhóm ngang hàng động (Dynamic Peer Group – DPGs) Trái ngược với phần lớn nhóm phát tán (ví dụ như dịch

vụ truyền hình), DPGs có đặc điểm là tương đối nhỏ về kích thước, DPGs thường giả định nhiều–nhiều mô hình truyền thông chứ không phải là một–nhiều thường thấy ở các nhóm phân cấp

Phần tiếp theo tập trung vào thảo luận các phân đoạn của thỏa thuận khóa

đó là khởi tạo khóa và các yêu cầu hỗ trợ sự thay đổi của nhóm, định nghĩa một lớp các giao thức mà xuất phát từ giao thức trao đổi khóa DH và chứng minh bảo mật của tất cả các giao thức trong lớp này chống lại tấn công thụ động

1.1.4.2 Các phân đoạn trao đổi khóa

Một khía cạnh quan trọng của nhóm là các hoạt động của nhóm phát triển theo thời gian, được phản ánh trong một tập các dịch vụ trao đổi khóa Ở đây,

ta sẽ phân biệt giữa khởi tạo khóa (IKA), một giai đoạn hình thành nhóm, và hoạt động phụ trợ trao đổi khóa (AKA) [44] AKA bao gồm tất cả các hoạt động thay đổi thành viên của nhóm, như thêm hoặc bớt thành viên

Khởi tạo khóa (IKA):

IKA diễn ra tại thời điểm ban đầu hình thành khóa nhóm Trong giai đoạn này các thành viên trong nhóm sẽ thực hiện trao đổi các thành phần của

Trang 34

khóa mà mình giữ để hình thành khóa nhóm Một mặt, giai đoạn này cần giảm thiểu lượng tính toán và giao dịch Mặt khác, nó lại phải đảm bảo khả năng đáp ứng hiệu quả các yêu cầu của giai đoạn AKA

Trong bối cảnh này, bảo mật khóa cặp DH trình bày ở trên có được khóa chính chống lại tấn công thụ động Tương tự với khóa nhóm, sẽ không có khả năng phục hồi thông tin của khóa nhóm bằng cách nghe trộm Đương nhiên, IKA yêu cầu liên lạc với mọi thành viên trong nhóm để có được các phần hình thành khóa nhóm Do đó, nó có thể cần thêm các dịch vụ IKA bảo mật khác như kiểm soát truy cập và chống chối từ

Các hoạt động bổ trợ trao đổi khóa (AKA):

Như đã đề cập ở trên, thỏa thuận khóa nhóm ban đầu chỉ là một phần trong các giao thức trao đổi khóa nhóm Phần còn lại cũng rất quan trọng đó là giải quyết các vấn đề trong nhóm động Nó bao gồm rất nhiều các trường hợp, sau đây xin liệt kê những trường hợp quan trọng và có ý nghĩa thực tế nhất:

- Thêm một thành viên vào nhóm, nhóm sẽ tính khóa mới Việc trao đổi

để tính khóa mới phải giải quyết bài toán đảm bảo ít giao dịch nhất và không

để lộ khóa cũ;

- Loại một thành viên ra khỏi nhóm;

- Hợp hai hoặc nhiều nhóm để hình thành nhóm mới;

- Chia nhóm thành hai hay nhiều nhóm con;

- Thay đổi khóa mới khi khóa cũ bị lộ;

Một tính chất bảo mật rất quan trọng đối với tất cả các hoạt động AKA

là tính độc lập của khóa Nó bao gồm hai yêu cầu sau đây:

- Các thành viên mới không thể tìm ra các khóa đã sử dụng của nhóm cũ Nói cách khác, một thành viên không được phép có bất cứ thông tin về những khóa đã được sử dụng trước khi gia nhập nhóm;

Trang 35

- Các khóa mới phải được giữ bí mật với các thành viên không còn trong nhóm, ví dụ như các thành viên đã bị loại khỏi nhóm

1.2 Tổng quan về lược đồ chữ ký số

Chữ ký số là một lược đồ toán học sử dụng để kiểm tra tính xác thực và toàn vẹn của một bản tin, phần mềm hay một văn bản số

Chữ ký số là phiên bản số của chữ ký viết tay hay tem bảo đảm nhưng cung cấp nhiều khả năng bảo mật hơn, tập trung vào việc giải quyết vấn đề giả mạo chữ ký và mạo danh người gửi Chữ ký số có thể đảm bảo nguồn gốc, định danh và hiện trạng của một văn bản điện tử, giao dịch, cũng như đảm bảo việc xác thực người gửi Năm 1976, Whitfield Diffie và Martin Hellman lần đầu tiên mô tả về một lược đồ chữ ký số, mặc dù họ chỉ phỏng đoán rằng những lược đồ này tồn tại dựa trên những hàm toán học một chiều [67] Sau đó, năm

1978, Ronald Rivest, Adi Shamir, Len Adleman đề xuất thuật toán RSA và sau

đó được sử dụng như một lược đồ chữ ký số cơ sở [57] Gói phần mềm thương mại đầu tiên sử dụng chữ ký số là Lotus Note 1.0, phát hành năm 1989, sử dụng chữ ký số RSA

Sau RSA, nhiều lược đồ chữ ký số khác đã được đề xuất Sớm nhất có thể kể đến chữ ký số Lamport [36], chữ ký số Merkle [54] (thường được biết đến với cái tên “cây Merkle” hay đơn giản là “cây băm”), chữ ký số Rabin [43]

Năm 1984, Shafi Goldwasser, Silvio Micali, Ronald Rivest lần đầu tiên đưa các yêu cầu về tính bảo mật của một lược đồ chữ ký số Các tác giả này đã định nghĩa một cây phân cấp các mô hình tấn công đối với các lược đồ chữ ký

số, đồng thời đề xuất lược đồ chữ ký số GMR, lược đồ đầu tiên có khả năng chống tấn công lựa chọn bản rõ [60]

Tất cả các lược đồ chữ ký số đều được phát triển dựa trên các bài toán khó giải, như bài toán logarithm rời rạc (DLP), bài toán phân tích thừa số nguyên tố (IFP), bài toán logarithm rời rạc trên đường cong elliptic (ECDLP),

Trang 36

1.2.1 Cơ sở toán học

1.2.1.1 Bài toán logarithm rời rạc

Phát biểu bài toán: [2] Cho một số nguyên tố 𝑝, gọi 𝑔 ∈ 𝑍𝑝 là phần tử

sinh (generator) và 𝛽 ∈ 𝑍𝑝∗ Ta cần xác định một số nguyên dương 𝑎 ∈ 𝑍𝑝∗ sao cho: 𝑔𝑎 ≡ 𝛽 𝑚𝑜𝑑 𝑝

Trên thực tế bài toán logarithm rời rạc thuộc nhóm bài toán không thể giải trong thời gian đa thức (NP), tức là chưa có thuật toán có thời gian đa thức nào có thể giải quyết vấn đề này Với 𝑝 có tối thiểu 150 chữ số và (𝑝 − 1) có thừa số nguyên tố đủ lớn, phép lũy thừa modulo 𝑝 có thể coi như hàm một chiều hay nói cách khác, việc giải bài toán logarithm rời rạc trên 𝑍𝑝có thể coi là bất khả thi [19]

Lược đồ chữ ký số ElGamal [64] được xây dựng dựa trên bài toán logarithm rời rạc

Các hình thức tấn công trong bài toán logarithm rời rạc:

Như với bài toán phân tích số nguyên, có hai loại thuật toán để giải quyết bài toán logarithm rời rạc Các thuật toán chuyên dụng cố gắng khai thác các thuộc tính đặc biệt của số nguyên tố 𝑝 Ngược lại, thời gian thực hiện của các thuật toán đa dụng lại chỉ phụ thuộc vào kích thước của giá trị 𝑝

Các thuật toán đa dụng nhanh nhất đã được biết đến để giải quyết bài toán DLP dựa trên một phương pháp gọi là index–calculus Theo phương pháp này, một cơ sở dữ liệu các số nguyên tố nhỏ và logarithm tương ứng của nó được xây dựng sẵn, sau đó có thể dễ dàng tìm được logarithm của các phần tử của một trường bất kỳ Điều này làm gợi nhớ lại phương pháp thừa số cơ sở (factor base) cho bài toán phân tích một số nguyên lớn Vì nguyên nhân này mà nếu có những cải tiến trong các thuật toán hoặc IFP hoặc DLP được tìm thấy, thì sẽ gần như ngay lập tức sau đó có thể mong chờ một cải tiến tương tự sẽ được tìm thấy trong thuật toán còn lại Như với các phương pháp phân tích thừa

Trang 37

số, các thuật toán index–calculus có thể dễ dàng được thực hiện theo phương thức song song

Như trong trường hợp phân tích thừa số, thuật toán tốt nhất hiện tại được biết đến cho bài toán DLP đó là sàng trường số [6], [63] Chính xác hơn nó có cùng thời gian thực hiện tiệm cận với thời gian thực hiện của thuật toán phân tích số nguyên tương ứng Do vậy có thể nói rằng việc tìm logarithm rời rạc

trong trường hợp modulo là một số nguyên tố 𝑝 có độ dài 𝑘 – bit có độ khó xấp

xỉ bài toán phân tích thừa số một hợp số 𝑛 có cùng độ dài

Việc nghiên cứu các thuật toán logarithm rời rạc đi sau các nỗ lực tương

tự để giải quyết bài toán phân tích các số nguyên lớn Năm 1990, Brian La Macchia và Adrew Odlyzko đã sử dụng một biến thể khác của phương pháp index–calculus được gọi là phương pháp số nguyên Gaussian để tính logarithm rời rạc với modulo một số nguyên tố có độ dài 191 bit

Năm 1998, Weber và Denny [63] đã công bố giải pháp cho thử thách McCurley Diffie–Hellman (McCurley Diffie–Hellman Challenge [41]) bao gồm việc giải bài toán logarithm rời rạc với modulo số nguyên tố 129 chữ số thập phân Số nguyên tố được sử dụng là một dạng đặc biệt, do vậy phương pháp sàng trường số đã được áp dụng và đã đem lại hiệu quả đặc biệt trong trường hợp này Các kết quả đã được công bố trong Crypto’98

Các kết quả chỉ ra rằng để có mức độ an toàn cao hơn, các số modulo 𝑝 được sử dụng trong các hệ mật logarithm rời rạc phải có độ dài 1024 bit hoặc lớn hơn

1.2.1.2 Bài toán phân tích thừa số nguyên tố

Phát biểu bài toán: Phân tích một số thành thừa số nguyên tố là biểu

diễn số đó dưới dạng tích của các số nguyên tố [2], [15]

Thực tế với số nguyên 𝑛 đủ lớn thì việc phân tích 𝑛 thành thừa số nguyên

tố là vô cùng khó khăn

Trang 38

Hiện tại các thuật toán phân tích thừa số nguyên tố có thể giải quyết bài toán với số nguyên dương có khoảng 130 chữ số thập phân

Mã hóa RSA được xây dựng trên cơ sở độ khó của bài toán phân tích thừa số nguyên tố

Các hình thức tấn công trong bài toán phân tích thừa số nguyên tố:

Về cơ bản có hai dạng thuật toán phân tích thừa số chính là các thuật toán chuyên dụng và các thuật toán đa dụng Các thuật toán chuyên dụng cố gắng khai thác các thuộc tính đặc biệt của số nguyên 𝑛 đang được phân tích Ngược lại, thời gian thực hiện của các thuật toán phân tích đa dụng chỉ phụ thuộc vào kích thước của số nguyên 𝑛

Một trong những thuật toán phân tích thừa số chuyên dụng mạnh mẽ nhất hiện nay đó là phương pháp phân tích thừa số trên đường cong elliptic (ECM)

đã được đề xuất vào năm 1985 bởi Hendrik Lenstra Jr Thời gian thực thi của thuật toán này phụ thuộc vào các thừa số nguyên tố của 𝑛 và vì vậy thuật toán hướng đến việc tìm các thừa số nhỏ đầu tiên Dự án ECMNET được bắt đầu vào tháng 01/1998 để tìm các thừa số lớn bằng việc sử dụng ECM, đã thành công trong việc xác định thừa số của số có 50 chữ số (166 bit) hoặc nhiều hơn Thừa số nguyên tố lớn nhất thực sự đã được tìm thấy bởi ECM là thừa số 54 chữ số (180 bit) của số nguyên có chiều dài 127 chữ số (422 bit) Việc tính toán được thực hiện bởi N Lygeros và M Mizony và đã được công bố vào 26/12/1999

Chỉ trước khi phát triển hệ mật RSA, thuật toán phân tích thừa số đa dụng tốt nhất là thuật toán chia liên tiếp, thuật toán này có thể phân tích các số đến

40 chữ số thập phân (133 bit) Thuật toán này dựa trên ý tưởng sử dụng thừa số

cơ sở của các số nguyên tố và tạo một tập các phương trình tuyến tính liên kết với nhau mà nghiệm cuối cùng của nó dẫn tới việc phân tích ra các thừa số Thuật toán này có cùng ý tưởng chính như các thuật toán đa dụng đã được sử

Trang 39

dụng ngày nay: Thuật toán sàng bậc hai (quadratic sieve – QS) và sàng trường

số (number field sieve – NFS) Cả hai thuật toán này có thể được tiến hành song song để cho phép thực hiện việc phân tích thừa số trên mạng phân tán Vì vậy các máy tính lớn (mainframe) hay các siêu máy tính không còn là yếu tố nòng cốt quyết định đến việc giải bài toán phân tích các số nguyên lớn Trong Bảng 1.1 là dữ liệu lịch sử của bài toán phân tích thừa số nguyên tố

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ố

Những kết quả này chỉ ra rằng, modulo 𝑛 có chiều dài 512 bit không đảm bảo độ an toàn cao khi được sử dụng trong hệ mật RSA Để đảm bảo mức độ bảo mật, các modulo phải có chiều dài 1024 bit hoặc lớn hơn

1.2.2 Lược đồ chữ ký số

1.2.2.1 Khái niệm

Một lược đồ chữ ký số là một bộ các thuật toán (𝒈𝒆𝒏, 𝒔𝒊𝒈, 𝒗𝒆𝒓) Thuật toán 𝒈𝒆𝒏 tạo ra một khóa bí mật 𝑥𝑠 và một khóa công khai 𝑦𝑠 tương ứng của người ký S với đầu vào là các tham số hệ thống Thuật toán 𝒔𝒊𝒈 lấy các tham

số đầu vào là 𝑥𝑠 và thông điệp 𝑚 và sinh ra một chữ ký 𝜎 của 𝑚 Với đầu vào

là thông điệp 𝑚, chữ ký số 𝜎 và khóa công khai 𝑦𝑠, thuật toán 𝒗𝒆𝒓 sẽ cho ra kết quả 𝑇𝑟𝑢𝑒 hoặc 𝐹𝑎𝑙𝑠𝑒 tương đương với chữ ký hợp lệ hoặc không hợp lệ

Năm Số lượng chữ số thập phân Số lượng bit MIPS years

Trang 40

Một lược đồ chữ ký số phải không thể giả mạo được Có nghĩa là không thể tính được chữ ký số của một thông điệp nếu chỉ biết khóa công khai mà không biết khóa bí mật tương ứng

Một lược đồ tổng quan và đơn giản cho việc tạo và xác thực một lược đồ chữ ký số được trình bày lần lượt trên Hình 1.1 và Hình 1.2 Một hàm băm được áp dụng cho thông điệp để tạo ra thông tin đại diện thông điệp (digest message) có kích thước cố định

Thông điệp Hàm băm Thông điệp

tóm lược Hàm ký

Thông điệp Chữ ký số

Khóa bí mật của người gửi

Hình 1.1 Quy trình tạo chữ ký số Một hình thức chữ ký số rất đơn giản đó là mã hóa thông tin đại diện thông điệp sử dụng khóa riêng của người gửi Bây giờ thì cả thông điệp và chữ

ký có thể được gửi cho người nhận Thông điệp được giải mã và có thể đọc được bởi bất kỳ ai sử dụng khóa công khai của người gửi Nhưng chữ ký phải đảm bảo tính xác thực của người gửi, ở phía người nhận, một hàm ngược với hàm ký được áp dụng cho chữ ký số để khôi phục lại đại diện thông điệp ban đầu Đại diện thông điệp nhận được được đưa vào cùng hàm băm như bên gửi

và tạo ra thông điệp gốc ban đầu Một đại diện thông điệp khác sẽ được tạo ra

từ thông điệp gốc để so sánh với đại diện thông điệp vừa được khôi phục từ chữ

ký số Nếu chúng giống nhau thì có thể đảm bảo rằng thông điệp đã được gửi bởi đúng người gửi và rằng thông điệp đó đã không hề bị thay đổi trong quá trình truyền

Ngày đăng: 16/11/2018, 07:27

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w