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

NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN

60 329 0

Đ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 60
Dung lượng 2,39 MB

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

Nội dung

LỜI MỞ ĐẦUMã hóa dựa trên chữ ký điện tử Electronic Signatures hiện nay đang đượcxem là một công nghệ mật mã mới có nhiều thuận tiện trong thực thi ứng dụng sovới các thuật toán khóa côn

Trang 1

THIEMPHACHANH THANOUNGSING

NGHIÊN CỨU CHỮ KÝ ĐIỆN TỬ VÀ ỨNG DỤNG VÀO BÀI TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG HỆ THỐNG TRUYỀN HÌNH TRẢ TIỀN

CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN

MÃ SỐ: 60.48.01.04

LUẬN VĂN THẠC SỸ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHẠM THẾ QUẾ

HÀ NỘI - 2014

Trang 2

Cho phép tôi được bày tỏ lòng cảm ơn chân thành tới những người đã giúp đỡtôi trong thời gian nghiên cứu hoàn thành luận văn này

Trước hết xin được bày tỏ lòng biết ơn sâu sắc tới Thầy giáo hướng dẫn

TS Phạm Thế Quế đã tận tình hướng dẫn và giúp đỡ tôi hoàn thành luận văn.Xin bày tỏ lòng biết ơn đối với sự giúp đỡ của các Thầy, Cô giáo trong Họcviện Công nghệ Bưu chính Viễn thông, đặc biệt là các Thầy, Cô tham gia giảng dạylớp Cao học hệ thống thông tin đã cung cấp kiến thức tạo tiền đề cho tôi hoàn thànhluận văn

Xin chân thành cám ơn Ban giám hiệu trường Trung học Bưu chính Viễn thôngcùng các đồng nghiệp đã luôn tạo điều kiện thuận lợi, hỗ trợ tôi trong quá trình thựchiện luận văn

Cuối cùng, xin chân thành cám ơn gia đình và bạn bè đã động viên, quan tâm,giúp đỡ tôi hoàn thành luận văn này

Hà Nội, tháng 3 năm 20014

Thiemphachanh

Trang 3

dung luận văn là kết quả nghiên cứu của bản thân tôi, không sao chép của bất kỳluận văn nào.

Trang 4

CHƯƠNG 1: HỆ MẬT MÃ KHÓA CÔNG KHAI 3

1.1Mật mã khóa công khai RSA 3

1.1.1Giới thiệu 3

1.1.2 Các thành phần của một hệ thống mã hoá 4

5

Các tiêu chí đặc trưng của một hệ thống mã hoá: 4

1.1.3 Cấu trúc hệ thống mật mã khóa công khai 5

1.2 Thuật toán mật mã RSA 7

1.3 Thuật toán trao đổi khóa Diffie - Hellman 9

1.4 Mã hóa dựa trên thuộc tính IBE 12

1.5 Mã hóa dựa trên thuộc tính chính sách bản mã 12

1.6 Mã hóa dựa trên thuộc tính chính sách khóa 16

CHƯƠNG 2: TỔNG QUAN VỀ CHỮ KÝ ĐIỆN TỬ 18

2.1 Xác thực thông tin 18

2.1.1 Kỹ thuật mật mã (đối xứng và bất đối xứng) để xác thực thông tin 18

2.1.2 Dùng mã xác thực MAC (Message Authentication Code): 19

2.1.3 Dùng các hàm băm bảo mật (secure hash function) 20

2.2 Hàm băm bảo mật 21

2.2.1 Hàm băm MD5 23

2.3 Xác thực trong các hệ phân tán 24

2.4 Chữ ký điện tử 26

2.4.1 Giới thiệu 26

2.4.2 Chữ ký điện tử dùng khoá mật (secret-key) 28

2.4.3 Chữ ký điện tử dùng khoá công khai (public-key) 29

2.5 Quy trình tạo chữ ký điện tử 30

2.6 Quy trình kiểm tra chữ ký điện tử 33

2.6.1 Giải pháp ứng dụng chữ ký điện tử 33

2.6.2 Quá trình nhận các tệp văn bản 35

2.6.3 Vận dụng vào hệ thống 36

Trang 5

3.1.1 Mô tả bài toán 37

3.1.2 Thiết kế hệ thống 38

3.1.3 Chương trình thử nghiệm 40

3.2 Quy trình truy cập hệ thống 42

3.2.1 Xây dựng hệ thống bảo mật dựa trên IBE 42

3.2.2 Các bước thực hiện xây dựng hệ thống bảo mật 46

3.3 Ứng dụng mã hóa dựa trên thuộc tính giải quyết bài toán kiểm soát quyền truy cập 49

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50

DANH MỤC CÁC TÀI LIỆU THAM KHẢO 52

Trang 6

Hình 1.2: Cấu trúc hệ thống mật mã bất đối xứng 6

Hình 1.3: Thuật toán trao đổi khoá Diffie-Hellman 10

Hình 2.1: Xác thực thông tin dùng mật mã 19

Hình 2.2: Xác thực thông tin dùng MAC 20

Hình 2.3: Xác thực thông tin dùng hàm băm 21

Hình 2.4: Một ứng dụng điển hình của hàm băm 22

Hình 2.5: Sơ đồ minh hoạ xác thực sử dụng chứng chỉ số &chữ ký điện tử 27

Hình 2.6: Chữ ký điện tử với Big Brother 28

Hình 2.7: Chữ ký điện tử dùng mã hoá công khai 29

Hình 2.8 : Sơ đồ minh hoạ quá trình xin cấp chứng chỉ số 32

Hình 2.9 Sơ đồ mô tả quá trình ký và gửi các tệp văn bản 34

Hình2.10 Sơ đồ mô tả quá trình nhận các tệp văn bản 36

Hình 3.1 Sơ đồ phân tích hệ thống 38

Hình 3.2 Mô hình hệ thống nhận dạng IBE 45

Hình 3.3: Hệ thống mã hoá mô hình bảo mật 46

Trang 7

AES Advanced Encryption Standard Chuẩn mã hoá tiên tiến

ANSI American National Standards

Institude

Viện tiêu chuẩn quốc gia Mỹ

CA Certification Authority Nhà cung cấp chứng thực

CRL Certificate Revocation List Danh sách các chứng thực thu hồiDES Data Ecryption Standard Chuẩn mã dữ liệu

DSA Digital Signature Algorithm Thuật toán chữ ký điện tử

DSS Digital Signature Standard Chuẩn chữ ký điện tử

EDI Electronic Data Interchange Trao đổi dữ liệu điện tử

FIPS Federal Information Processing

Standard

Chuẩn xử lý thông tin liên bang

FTP File Transfer Protocol Giao thức truyền file

HTTP Hyper Text Transport Protocol Giao thức truyền siêu văn bảnIDEA International Data Encryption

Algorithm

Thuật toán mã hoá dữ liệu quốc tế

ISO International Organization for

Standardization

Tổ chức tiêu chuẩn hoá quốc tế

ISP Internet Service Provider Nhà cung cấp dịch vụ InternetITU International Telecommunication

PKI Public Key Infrastructure Cơ sở hạ tầng khoá công khai

RA Registration Authority Nhà quản lý đăng ký

RSA Rivest-Shamir-Aldeman

SET Secure Electronic Transaction Giao dịch điện tử an toàn

SHA Secure Hash Algorithm Thuật toán băm an toàn

TCP/IP Transmission Control Protocol/

Internet protocol

Giao thức điều khiển truyền dẫn/ giao thức Internet

URL Uniform Resource Locator Bộ định vị tài nguyên

SSL Secure Sockets Layer

Trang 9

LỜI MỞ ĐẦU

Mã hóa dựa trên chữ ký điện tử (Electronic Signatures) hiện nay đang đượcxem là một công nghệ mật mã mới có nhiều thuận tiện trong thực thi ứng dụng sovới các thuật toán khóa công khai khác Đối với các hệ mật mã khóa công khaitruyền thống, việc cài đặt là khó khăn và tốn kém, ứng dụng thành công nhất củacông nghệ khóa công khai là việc sử dụng rộng rãi của SSL, nó yêu cầu tương táctối thiểu với người sử dụng khi được dùng để xác thực máy chủ và mã hóa cáctruyền thông với máy chủ đó Các ứng dụng mà yêu cầu người sử dụng quản lýhoặc sử dụng các khóa công khai thì không thành công được như vậy

Chữ ký điện tử là một công nghệ mã hoá khoá công khai, cho phép một người

sử dụng tính khoá công khai từ một chuỗi bất kỳ Chuỗi này như là biểu diễn địnhdanh của dạng nào đó và được sử dụng không chỉ như là một định danh để tínhkhoá công khai, mà còn có thể chứa thông tin về thời hạn hợp lệ của khoá để tránhcho một người sử dụng dùng mãi một khoá chữ ký điện tử hoặc để đảm bảo rằngngười sử dụng sẽ nhận được các khoá khác nhau từ các hệ thống chữ ký điện tử khác nhau Trong chuỗi này có chứa thông tin là duy nhất đối với mỗi cài đặt chữ

ký điện tử cụ thể, chẳng hạn như URL mà định danh máy chủ được sử dụng trongcài đặt của các hệ thống chữ ký điện tử khác nhau Khả năng tính được các khoánhư mong muốn làm cho các hệ thống chữ ký điện tử có các tính chất khác với cáctính chất của các hệ thống khoá công khai truyền thống, những tính chất này tạo

ra các ưu thế thực hành đáng kể trong nhiều tình huống Bởi vậy, có một số ít tìnhhuống không thể giải quyết bài toán bất kỳ với các công nghệ khoá công khaitruyền thống, nhưng lại có thể giải quyết được với chữ ký điện tử và sử dụng chữ

ký điện tử có thể đơn giản hơn nhiều về cài đặt và ít tốn kém hơn về nguồn lực để

hỗ trợ

Chữ ký điện tử không đề xuất bất kỳ khả năng mới nào mà các công nghệkhóa công khai truyền thống không thể cung cấp nhưng nó cho phép tạo ra các giải

Trang 10

pháp để giải quyết vấn đề khó khăn và tốn kém nếu triển khai bằng các công nghệtrước đây.

Đây là lý do để chúng tôi chọn đề tài có tên: Nghiên Chữ Ký Điện Tử Và Ứng Dụng vào bài toán kiểm soát quyền truy cập trong hệ thống truyền hình trả tiền.

Nội dung nghiên cứu:

- Nghiên cứu về hệ mật mã khóa công khai truyền thống

- Nghiên cứu hệ mã hóa dựa trên định danh và các ưu điểm của hệ mã hóa này

so với hệ mã hóa công khai truyền thống

- Ứng dụng mã hóa định danh trong bảo vệ thông tin

Nội dung luận văn gồm 3 chương:

Chương 1: Tổng quan về hệ mật mã khóa công khai

Chương 2: Tổng quan về chữ ký điện tử

Chương 3: Ứng dụng mã hóa dựa trên chữ ký điện tử vào bài toán kiểm soátquyền truy cập trong hệ thống truyền hình trả tiền

Trang 11

CHƯƠNG 1: HỆ MẬT MÃ KHÓA CÔNG KHAI

1.1 Mật mã khóa công khai RSA

Một công trình nghiên cứu kiểm tra tính đúng đắn của các khóa công khaicủa các hệ mật RSA, ElGamal, DSA và ECDSA đã đưa ra một kết quả bất ngờ là:khoảng 0,2% các khóa công khai không đảm bảo an toàn Bài báo này giới thiệunhững số liệu khảo sát liên quan tới các modulus RSA là yếu tố ảnh hưởng nhiều tớitính an toàn của các khóa công khai

Có một giả thiết quan trọng được mặc định để bảo đảm độ an toàn của hạtầng khóa công khai, đó là khi thiết lập khóa, không được lặp lại các lựa chọn ngẫunhiên trước đó, ví dụ, với hệ mật RSA thì modulus của hai người phải khác nhau,không một tham số nào trong hai tham số p, q được dùng chung Trước đây đã xảy

ra một lỗi nghiêm trọng trong lệnh sinh số ngẫu nhiên của Debian OpenSSL, khiếncho những khóa RSA được sinh ra từ đó mắc phải điểm yếu được nói tới ở trên.Người ta đã phải lập một “danh sách đen” các modulus như vậy và cộng đồngnhững người làm mật mã đã tốn khá nhiều công sức để khắc phục sự cố này Đượctài trợ bởi Quỹ Khoa học Quốc gia Thụy Sỹ, các tác giả của công trình nghiên cứu(Lenstra và các cộng sự) [1] đã thu thập dữ liệu và thực hiện phân tích, thống kê cáckhóa công khai Mục tiêu chính của họ là kiểm chứng tính hiệu lực của giả thiết màcác lựa chọn ngẫu nhiên khác nhau đã thực hiện mỗi khi các khóa được sinh ra và

họ đã rút ra được rất nhiều nhận xét hữu ích

1.1.1Giới thiệu

Mật mã (Encryption) là một kỹ thuật cơ sở quan trọng trong bảo mật thông tin.Nguyên tắc của mật mã là biến đổi thông tin gốc thành dạng thông tin bí mật mà chỉ

có những thực thể tham gia xử lý thông tin một cách hợp lệ mới hiểu được

Một thực thể hợp lệ có thể là một người, một máy tính hay một phần mềm nào

đó được phép nhận thông tin Để có thể giải mã được thông tin mật, thực thể đó cầnphải biết cách giải mã (tức là biết được thuật tóan giải mã) và các thông tin cộngthêm (khóa bí mật)

Quá trình chuyển thông tin gốc thành thông tin mật theo một thuật toán nào đóđược gọi là quá trình mã hoá (encryption) Quá trình biến đổi thông tin mật về dạng

Trang 12

thông tin gốc ban đầu gọi là quá trình giải mã (decryption) Đây là hai quá trìnhkhông thể tách rời của một kỹ thuật mật mã bởi vì mật mã (giấu thông tin) chỉ có ýnghĩa khi ta có thể giải mã (phục hồi lại) được thông tin đó Do vậy, khi chỉ dùngthuật ngữ mật mã thì nó có nghĩa bao hàm cả mã hóa và giải mã.

Kỹ thuật mã hoá được chia thành hai loại: mã hoá dùng khoá đối xứng(symmetric key encryption) và mã hoá dùng khoá bất đối xứng (asymmetric keyencryption) như sẽ trình bày trong các phần tiếp theo

1.1.2 Các thành phần của một hệ thống mã hoá

Hình 1.1 mô tả nguyên tắc chung của một hệ thống mật mã quy ước Các thànhphần trong một hệ thống mật mã điển hình bao gồm:

Plaintext: là thông tin gốc cần truyền đi giữa các hệ thống thông tin

Encryption algorithm: thuật tóan mã hóa, đây là cách thức tạo ra thông tin mật

từ thông tin gốc

Key: khóa mật mã, gọi tắt là khóa Đây là thông tin cộng thêm mà thuật tóan

mã hóa sử dụng để trộn với thông tin gốc tạo thành thông tin mật

Ciphertext: thông tin đã mã hóa (thông tin mật) Đây là kết quả của thuật toán

mã hóa

Decryption algorithm: Thuật tóan giải mã Đầu vào của thuật tóan này là thôngtin đã mã hóa (ciphertext) cùng với khóa mật mã Đầu ra của thuật tóan làthông tin gốc (plaintext) ban đầu

Các tiêu chí đặc trưng của một hệ thống mã hoá:

Một hệ thống mã hóa bất kỳ được đặc trưng bởi 3 tiêu chí sau đây:

-Phương pháp mã (operation): có hai phương pháp mật mã bao gồm

Trang 13

1.1.3 Cấu trúc hệ thống mật mã khóa công khai

Đặc trưng của kỹ thuật mật mã khóa công khai, hay còn gọi là hệ mật mã khóabất đối xứng là dùng 2 khóa riêng biệt cho hai quá trình mã hóa và giải mã, trong đó

có một khóa được phổ biến công khai (public key hay PU) và khóa còn lại được giữ

bí mật (private key hay PR) Cả hai khoá đều có thể được dùng để mã hoá hoặc giải

mã Việc chọn khoá công khai hay khoá bí mật cho quá trình mã hoá sẽ tạo ra haiứng dụng khác nhau của kỹ thuật mật mã bất đối xứng:

 Nếu dùng khoá công khai để mã hoá và khoá bí mật để giải mã, ta có ứngdụng bảo mật trên thông tin (confidentiality)

 Nếu dùng khoá bí mật để mã hoá và khoá công khai để giải mã, ta có ứngdụng xác thực nội dung và nguồn gốc thông tin (authentication)

Thuật toán mật mã bất đối xứng dựa chủ yếu trên các hàm toán học hơn là dựa vàocác thao tác trên chuỗi bit Mật mã hóa bất đối xứng còn được gọi bằng một tênthông dụng hơn là mật mã hóa dùng khóa công khai (public key encryption)

Nói chung, mật mã hóa bất đối xứng không phải là một kỹ thuật mật mã an tòanhơn so với mật mã đối xứng, mà độ an tòan của một thuật toán mã nói chung phụthuộc vào 2 yếu tố: Độ dài của khóa và mức độ phức tạp khi thực

hiện thuật tóan (trên máy tính) Hơn nữa, mặc dù được ra đời sau nhưng không cónghĩa rằng mật mã bất đối xứng hòan tòan ưu điểm hơn và sẽ được

Khoá mật mã (Key)

Khoá mật mã (Key)

Thông tin đã được

mã hoá (ciphertext)

Thông tin gốc

(Plaintext)

Thông tin gốc (Plaintext) Thuật toán giải mã

(Decryption algorithm)

Thuật toán mã hoá (Encryption algorithm)

Hình 1.1: Cấu trúc một hệ thống mật mã quy ước

Trang 14

sử dụng thay thế cho mật mã đối xứng Mỗi kỹ thuật mã có một thế mạnh riêng vàmật mã đối xứng vẫn rất thích hợp cho các hệ thống nhỏ và đơn giản Ngoài ra, vấn

đề phân phối khóa trong mật mã bất đối xứng cũng được đánh giá là một trongnhững vấn đề phức tạp khi triển khai kỹ thuật mật mã này trong thực tế

Các bước cơ bản của một hệ thống mật mã dùng khóa công khai bao gồm:

 Mỗi thực thể thông tin (user) tạo ra một cặp khóa (public/private) để dùngcho việc mã hóa và giải mã

 Mỗi user thông báo một trong hai khoá của mình cho các user khác biết,khóa này được gọi là khóa công khai (public key) Khóa còn lại được giữ bímật, và gọi là khóa riêng (private key)

 Nếu một user A muốn gửi thông tin cho user B, user A sẽ thực hiện mã hóathông tin cần gửi bằng khóa công khai của user B

Tập khoá

Khoá bí mật của user B

User User User

User

Khoá công khai của user B Thông tin mật

Thuật toán giải mã

(thực hiện bởi user B)

Thông tin gốc

Thông tin

gốc Thuật toán mã hoá

(thực hiện bởi user A)

Thuật toán giải mã

(thực hiện bởi user B)

Thuật toán mã hoá

(thực hiện bởi user A)

Thông tin gốc

Thông

tin gốc

b- Ứng dụng xác thực thông tin

Hình 1.2: Cấu trúc hệ thống mật mã bất đối xứng

Trang 15

 Khi nhận được thông tin đã mã hóa từ user A, user B thực hiện giải mã thôngtin đó bằng khóa riêng của mình Do khóa riêng không phổ biến công khainên chỉ có một mình user B có khả năng giải mã được.

Mật mã hóa bất đối xứng được sử dụng trong các ứng dụng: che giấu thông tin,tạo chữ ký số (digital signature) và trao đổi khóa trong các thuật tóan mật mã đốixứng (key exchange)

1.2 Thuật toán mật mã RSA

RSA là thuật toán mật mã bất đối xứng được xây dựng bởi Ron Rivest, AdiShamir và Len Adleman tại viện công nghệ Massachusetts (MIT), do đó được đặttên là Rivest – Shamir – Adleman hay RSA Thuật toán này ra đời năm 1977 và chođến nay đã được ứng dụng trong nhiều lĩnh vực Cũng như các thuật toán mật mãbất đối xứng khác, nguyên lý của RSA dựa chủ yếu trên lý thuyết số chứ không dựatrên các thao tác xử lý bit

RSA là một thuật toán mật mã khối, kích thước khối thông thường là 1024 hoặc

2048 bit Thông tin gốc của RSA được xử lý như các số nguyên Ví dụ, khi chọnkích thước khối của thuật toán là 1024 bit thì số nguyên này có giá trị từ 0 đến

21024 – 1, tương đương với số thập phân có 309 chữ số Chú ý rằng đây là những

số nguyên cực lớn, không thể xử lý được bằng cách sử dụng các cấu trúc dữ liệu cósẵn của các ngôn ngữ lập trình phổ biến

Thuật toán RSA được mô tả như sau:

1- Để tạo ra một cặp khóa RSA, trước hết, chọn hai số nguyên tố đủ lớn p và q.Gọi N là tích của p và q (N = pq)

2- Chọn một số e sao cho e và (p-1)(q-1) là hai số nguyên tố cùng nhau Tìm số

d sao cho ed = 1 mod (p-1)(q-1)

3- Với 3 thành phần còn lại là N, e và d, ta đó:

 Khóa công khai (public key) là tổ hợp (N, e)

 Khóa bí mật (private) là tổ hợp (N, d)

4- Mã hóa một khối thông tin gốc M được thực hiện theo công thức:

C = Me mod N (với M là số nguyên nhỏ hơn N)

Trang 16

5- Quá trình giải mã C được thực hiện theo công thức:

Với e = 3, xác định được d = 7 vì ed = 3*7 = 1 mod 20 Thật ra, có nhiều giátrị d thỏa mãn yêu cầu này, nhưng để cho đơn giản, ta chọn giá trị nhỏ nhất

Khi đó, ta xác định được cặp khóa như sau:

Khóa công khai: (N, e) = (33, 3)

Khóa bí mật: (N, d) = (33, 7)

Giả sử, user B muốn gửi thông tin M = 15 cho user A, dựa trên khóa côngkhai của A, B thực hiện như sau:

C = Me mod N = 153 mod 33 = 3375 mod 33 = 9 mod 33

Khi đó, thông tin mật gửi cho A là C = 9.

Khi nhận được thông tin này, A giải mã bằng khóa riêng (d = 7) như sau:

M = Cd mob N = 97 mod 33 = 4.782.969 mod 33 = 15 mod 33

Như vậy, thông tin giải mã được là M = 15, đúng với thông tin gốc ban đầu.Tóm lại, thuật toán mật mã RSA được thực hiện gồm 3 quá trình tách rời: tạokhoá, mã hoá và giải mã được tóm tắt như sau:

1-Tạo khoá:

Chọn p, q (p và q là số nguyên tố, p  q)

Tính N = p.q

Tính (N) = (p – 1) (q – 1)N) = (N) = (p – 1) (q – 1)p – 1) (N) = (p – 1) (q – 1)q – 1)

Chọn e sao ước số chung lớn nhất của e và (N) = (p – 1) (q – 1)N) là 1

Chọn d sao cho e.d mod (N) = (p – 1) (q – 1)N) = 1

Cặp khoá RSA được tạo ra là PU = (N) = (p – 1) (q – 1)N, e), PR = (N) = (p – 1) (q – 1)N, d) 2- Mã hoá:

C = M e mod N (M là số nguyên nhỏ hơn N)

3- Giải mã:

M = C d mod N

Trang 17

Trong thực tế, để đạt được độ an tòan cao, cặp khóa phải được chọn trên các số p và

q đủ lớn (N nhỏ nhất phải là 1024 bit), do vậy, vấn đề thực thi RSA bao gồm cácphép tóan lũy thừa trên các số rất lớn Vấn đề giảm chi phí tính tóan và tăng tốc độthực hiện thuật tóan RSA là một trong những vấn đề quan trọng cần phải giải quyết.Trên các hệ thống máy tính hiện nay, hiệu suất thực hiện giải thuật RSA là chấpnhận được

1.3 Thuật toán trao đổi khóa Diffie - Hellman

Diffie-Hellman là một thuật toán dùng để trao đổi khóa (key exchange) chứkhông dùng để mật mã hóa (che giấu) dữ liệu Tuy nhiên, Deffie-Hellman lại có íchtrong giai đọan trao đổi khóa bí mật của các thuật toán mật mã đối xứng Như trongphần đầu của chương này đã trình bày, một trong những vấn đề quan trọng liênquan trực tiếp đến tính an toàn của các thuật toán mật mã đối xứng là vấn đề thốngnhất khoá bí mật giữa các thực thể thông tin

Thuật toán trao đổi khoá Diffie-Hellman dựa trên phép logarit rời rạc(discrete log) Cho trước một số g và x = gk , để tìm k, ta đơn giản thực hiện phéplogarit: k = logg(x) Tuy nhiên, nếu cho trước g, p và (gk mod p), thì quá trình xácđịnh k được thực hiện theo cách khác với cách ở trên và được gọi là logarit rời rạc.Việc tính logarit rời rạc nói chung rất phức tạp nhưng vẫn có thể thực hiện được

Thuật tóan Diffie-Hellman khá đơn giản như sau:

Trang 18

 Gọi p là một số nguyên tố và g là một cơ số sinh (generator) thoả điều kiệnvới mọi x  {1, 2, …, p-1}, ta luôn tìm được số n sao cho x = gn mod p.

 Giá trị p và g được phổ biến công khai giữa các thực thể trao đổi khoá Sau

đó user A tạo ra một số bí mật Xa < p, tính giá trị Ya = (gXa mod p) và gửi cho B.Tương tự, user B cũng tạo ra một số bí mật Xb < p, tính giá trị Yb = (gb mod p)

và gửi lại cho A

-Dựa trên thông tin nhận được từ A, user B xác định được khoá bí mật dùngcho phiên làm việc bằng cách tính giá trị (gXa mod p)Xb = (gXaXb mod p) Bằng cáchtương tự, user A cũng xác định được khoá bí mật này bằng cách tính giá trị (gXb

mod p)Xa = (gXaXb mod p)

-Giả sử trong quá trình trao đổi các giá trị (gXa mod p) và (gXb mod p), mộtngười thứ 3 nào nó bắt được thông tin này thì cũng rất khó xác định được a và b vì

độ phức tạp của phép tóan logarit rời rạc là rất cao

User A tính được Ya = (397 mod 353) = 40 và gửi cho B

User B tính được Yb = (3233 mod 353) = 248 và gửi cho A

User A tính được khoá bí mật K = (Yb)Xa mod 353=24897mod 353= 160User B tính được khoá bí mật K =(Ya)Xb mod 353= 4097 mod 353 = 160

Đánh giá độ an toàn của thuật toán trao đổi khoá Diffie-Hellman

Tính an toàn của Diffie-Hellman dựa trên độ phức tạp của phép toán logaritrời rạc Nói chung, việc xác định các giá trị Xa, Xb từ các giá trị p, g, Ya và Yb làkhông thể thực hiện được trên các số nguyên đủ lớn Tuy nhiên, thuật toán nàykhông ngăn chặn được các tấn công theo phương thức xen giữa Man-In-The-Middle(MITM) như sau:

Trang 19

 Để thực hiện tấn công MITM trên kết nối giữa user A và user B, user

C cũng chọn cho mình hai số nguyên XC1 và XC2 thoả điều kiện XC1 < p và

XC2 < p, sau đó cũng tính hai giá trị tương ứng YC1 = (gXc1 mod p) và YC2 =(gXc2 mod p)

 Khi user A gửi Ya cho user B, user C sẽ chặn lấy thông tin này, đồngthời mạo danh A để gửi cho B giá trị YC1 User B xác định khoá K1 dựa trên

YC1, và gửi lại cho A giá trị Yb User C lại chặn lấy giá trị này và mạo danh B

để gửi cho A giá trị YC2

 User A xác định khoá K2 dựa trên YC2 Bắt đầu từ đây, các thông tintrao đổi giữa A và B đều được C chặn bắt và thay đổi bằng cách sử dụng cặpkhoá K1 và K2

Như vậy, thuật toán Diffie-Hellman không giải quyết được vấn đề này dokhông có cơ chế xác thực giữa các thực thể trao đổi khoá Điểm yếu này được khắcphục bằng cách sử dụng kết hợp với các thuật toán xác thực như sẽ trình bày ở phần

kế tiếp

Ngoài hai thuật toán RSA và Diffie-Hellman, một số thuật toán khác cũngđược phát triển dựa trên nguyên lý sử dụng một cặp khoá công khai và bí mật.Elliptic-Curve Cryptography (ECC) là một giải thuật mới đang được thử nghiệm vàhứa hẹn nhiều ưu điểm so với RSA như độ phức tạp tính toán giảm trong khi tính

an tòan vẫn được đảm bảo ECC thích hợp với các ứng dụng chạy trên các thiết bị

có năng lực xử lý hạn chế chẳn hạn như các thiết bị nhúng (embded devices)

1.4 Mã hóa dựa trên thuộc tính IBE

Mã hóa dựa trên thuộc tính là một trường hợp riêng của mã hóa dựa trên địnhdanh Vậy mã hóa dựa trên thuộc tính có gì khác biệt so với các công nghệ truyềnthống và tại sao nó cùng với mã hóa dựa trên định danh đang thu hút được nhiều sựquan tâm như vậy? Để trả lời cho câu hỏi này, bài báo sau đây giới thiệu một số đặctính cơ bản của mã hóa dựa trên thuộc tính

- Khái quát về Mã hóa dựa trên thuộc tính: (Attribute-based Encryption - ABE) được

đề xuất bởi Sahai và Waters, trong bài báo “Mã hóa dựa trên định danh mờ Fuzzy

Trang 20

IBE” Trong mã hóa dựa trên thuộc tính, một bên tham gia sẽ mã hóa một tài liệu sửdụng cho tất cả những người dùng cùng sở hữu một tập hợp thuộc tính nào đó Ví

dụ, trong một khoa giảng dạy về khoa học máy tính, một văn bản được mã hóa vàdùng cho tất cả hệ thống của khoa Trong trường hợp này, người ta sẽ mã hóa cả cácđịnh danh {“khoa”, “hệ thống”} Bất kỳ người dùng nào có định danh chứa tất cảcác thuộc tính trên mới có thể giải mã được văn bản Ưu điểm của mã hóa này làvăn bản có thể lưu trữ ở một server không tin cậy (thay vì dựa vào một server đángtin cậy) để thực hiện kiểm tra xác thực văn bản khi nhận được Mã hóa dựa trênthuộc tính ABE được xây dựng theo hai hướng chính: mã hóa dựa trên thuộc tínhchính sách bản mã (CP-ABE), mã hóa dựa trên thuộc tính chính sách khóa (KP-ABE)

1.5 Mã hóa dựa trên thuộc tính chính sách bản mã

Trong nhiều hệ thống phân tán, một người dùng chỉ có thể truy cập đến dữ liệu nếu sở hữu một tập hợp các ủy nhiệm hoặc thuộc tính Hiện nay, phương pháp duy nhất để thi hành chính sách trên là sử dụng một server tin cậy để lưu trữ dữ liệu và làm trung gian trong việc quản lý quyền truy cập Tuy nhiên, nếu server lưu trữ dữ liệu bị tổn hại, thì tính bí mật của dữ liệu lưu trữ ở đó cũng bị xâm phạm Mã hóa dựa trên thuộc tính chính sách bản mã (Ciphertext-policy Attribute-Based

Encryption - CP-ABE) được xây dựng với mục đích thực hiện việc quản lý quyền truy cập lên các dữ liệu đã được mã hóa Với việc sử dụng mã hóa dựa trên thuộc tính chính sách hướng bản mã (CP- ABE) dữ liệu mã hóa có thể được giữ bí mật, thậm chí khi server dữ liệu không còn đáng tin cậy và phương pháp này cũng an toàn đối với Tấn công thông đồng (collusion attacks) Hệ thống mã hóa dựa trên định danh có thể sử dụng những thuộc tính để mô tả dữ liệu đã được mã hóa và xây dựng những chính sách sử dụng khóa của người dùng, còn trong hệ thống mã hóa CP- ABE, các thuộc tính được dùng để mô tả thông tin ủy nhiệm của người dùng vàmột người mã hóa dữ liệu sẽ xác định chính sách cho phép ai có thể giải mã dữ liệu này

Trang 21

Trong nhiều tình huống, khi một người dùng mã hóa dữ liệu nhạy cảm đồng nghĩa với việc họ phải thiết lập một chính sách quản lý quyền truy cập nhất định đối với những người có thể giải mã dữ liệu này Ví dụ, giả thiết rằng cơ quan phòng chống tham nhũng của FBI ở Knoxville và San Francisco đang điều tra một vụ hối lộ liên quan đến một người vận động hành lang ở San Francisco và một nghị sĩ quốc hội của Tennessee Người đứng đầu cơ quan phòng chống tham nhũng có thể muốn mã hóa một bản tin nhạy cảm mà chỉ nhân viên thuộc quyền có đủ thông tin ủy nhiệm hoặc thuộc tính cần thiết có thể truy cập nó Ví dụ, có thể xác định cấu trúc truy cập

để truy cập thông tin đó: (“PUBLIC CORRUPTION OFFICE” AND

KNOXVILLE” OR “SAN FRANCISCO”) OR (MANAGEMENT-LEVEL>5) OR AME:CHARLIE EPPES”) Theo đó, bản tin chỉ được đọc bởi nhân viên làm ở cơ quan điều tra tham nhũng tại Knoxville hoặc San Francisco, các cán bộ FBI cấp cao,

và một cố vấn tên là Charlie Eppes Như được mô tả trong ví dụ trên, điều cốt lõi là người sở hữu những dữ liệu bí mật có thể lựa chọn chính sách truy cập dựa trên những kiến thức nào đó của dữ liệu Hơn nữa, người này không nhất thiết phải biết chính xác định danh của tất cả những người có quyền truy cập đến dữ liệu nhạy cảmnhưng có thể mô tả định danh của họ nhờ các thuộc tính hoặc thông tin ủy nhiệm.Theo truyền thống, kiểu quản lý quyền truy cập nhanh thường sử dụng một server tin cậy để bảo quản dữ liệu cục bộ Server tin cậy như một giám sát viên, kiểm tra người dùng, yêu cầu phải trình chứng chỉ đúng sau đó mới cho quyền truy cập đến bản ghi hoặc file Việc sao lưu dữ liệu ở các địa điểm khác nhau như vậy tạo thuận lợi và hiệu quả trong công việc Nhược điểm của xu hướng này là khó khăn trong việc đảm bảo tính an toàn của dữ liệu Khi dữ liệu được lưu giữ ở nhiều điểm khác nhau thì cơ hội rò rỉ, mất mát thông tin sẽ tăng lên rất nhiều Với những nguyên nhân này, các dữ liệu nhạy cảm cần phải được lưu ở dạng mã hóa, như vậy thì chúng sẽ vẫn giữ được tính bí mật, nếu server bị tổn thất.Hầu hết các phương pháp

mã hóa khóa công khai cho phép một bên tham gia mã hóa cho những người dùng riêng lẻ, nhưng không thể kiểm soát một cách hiệu quả kiểu quản lý quyền truy cập nhanh như ở trong ví dụ trên.Trong hệ thống CP- ABE, khóa riêng của người dùng

Trang 22

sẽ được liên kết với một số tùy ý các thuộc tính, được diễn đạt dưới dạng các xâu Mặt khác, khi một bên mã hóa thông báo trong hệ thống này, họ xác định một cấu trúc truy cập có liên quan đến các thuộc tính Một người dùng chỉ có thể giải mã một bản mã nếu các thuộc tính của người dùng thỏa mãn cấu trúc truy cập Ở mức toán học, trong hệ thống CP- ABE cấu trúc truy cập được mô tả dưới dạng “cây truycập” đơn, ở đó các nút của cấu trúc truy cập được tạo bởi cổng ngưỡng và “những chiếc lá” là những thuộc tính.Ở mức độ cao, CP- ABE tương tự như mã hóa dựa trên thuộc tính chính sách khóa (KP-ABE) của cùng nhóm tác giả Sahai, Waters (sẽ được trình bày dưới đây), tuy nhiên các yêu cầu kỹ thuật khác biệt về căn bản Trong KP- ABE, các bản mã sẽ liên kết với tập hợp của các thuộc tính mô tả, và khóa của người dùng liên kết với chính sách (ngược lại so với CP- ABE).

Trang 23

Ở mức kỹ thuật, đối tượng chính mà chúng ta phải đạt được là kháng thông đồng (collusion-resistance) Có nghĩa là nếu nhiều người dùng thông đồng, họ chỉ

có thể giải một bản mã, mà ít nhất một trong những người dùng có thể giải mã được Mục tiêu được đặt ra là những kẻ thông đồng trên không thể giải mã các bản tin bí mật bằng cách kết hợp các thuộc tính của chúng Kiểu an ninh này là điều kiện thiết yếu của việc kiểm soát quyền truy cập

Một sơ đồ mã hóa dựa trên thuộc tính chính sách bản mã chứa bốn thuật toán

cơ bản là Setup (Thiết lập), Encrypt (Mã hóa), GenKey (Tạo khóa), Decrypt (Giải mã), trong đó:Setup: Thuật toán thiết lập chỉ lấy đầu vào là các tham số an toàn, đầu

ra là tham số công khai PK và khóa chủ MK.Encrypt (PK,M,A) Thuật toán mã hóa lấy đầu vào là tham số công khai PK, một thông báo M, và một cấu trúc truy cập A trên tập các thuộc tính Thuật toán sẽ mã hóa M và tạo ra bản mã CT, sao cho chỉ người dùng sở hữu một tập hợp các thuộc tính thỏa mãn cấu trúc truy cập sẽ có thể giải mã được thông báo

GenKey (MK,S) Thuật toán tạo khóa lấy đầu vào là khóa chủ MK và tập hợp các thuộc tính S, có đầu ra là khóa riêng SK.Decrypt (PK,CT,SK) Thuật toán giải mã lấy đầu vào là tham số công khai PK, một bản mã CT, nó chứa chính sách truy cập A và một khóa riêng SK (là một khóa riêng cho một tập hợp thuộc tính S) Nếu tập hợp thuộc tính S thỏa mãn cấu trúc truy cập A thì thuật toán sẽ giải mã thành công bản mã và đưa ra thông báo M

1.6 Mã hóa dựa trên thuộc tính chính sách khóa

Trong hệ thống CP- ABE chính sách truy cập được xác định trong bản mã, còn trong hệ thống mã hóa dựa trên thuộc tính chính sách khóa (KP- ABE), chính sách truy cập được chỉ định trong khóa riêng thuộc tính (Hình 3)

Trang 24

Mã hóa dựa trên thuộc tính chính sách khóa là một nguyên thủy mật mã, nó được đề xuất để giải quyết vấn đề quản lý quyền truy cập trong trường hợp liên lạc

từ một đến nhiều điểm (one- to- many) Trong hệ thống KP-ABE, một bản mã đượcliên kết với một tập hợp các thuộc tính và khóa bí mật của mỗi người dùng được nhúng vào một cấu trúc truy cập, cấu trúc này là một tổ hợp lôgic của tập hợp thuộc tính nào đó Người dùng có thể giải mã khi và chỉ khi tập hợp thuộc tính liên kết vớibản mã thỏa mãn cấu trúc truy cập được nhúng trong khóa bí mật của họ Bên cạnh tính chất này, KP-ABE cũng có những tính chất tốt có thể đối phó lại Tấn công thông đồng Các tính chất “tốt” đó cho phép KP-ABE trở thành một công cụ hoàn hảo phục vụ cho quản lý quyền truy cập và các ứng dụng đối với thông tin nhạy cảm.Sơ đồ KP- ABE bao gồm bốn thuật toán sau:- Setup (1l,n) Thuật toán thiết lập lấy đầu vào là tham số an toàn 1l và n- chiều dài của định danh người dùng Đầu ra của thuật toán thiết lập là khóa chủ MK và khóa công khai PK

- Enc (M, g, PK) Thuật toán mã hóa lấy đầu vào là thông báo M, tập hợp cácthuộc tính g, và tham số công khai PK Đầu ra là bản mã E

- KeyGen (T, MK, PK) Thuật toán tạo khóa lấy đầu vào là cấu trúc truy cập

T, khóa chủ bí mật MK, khóa công khai PK Đầu ra là khóa riêng của một người dùng SK.- Dec (E, SK, PK) Lấy đầu vào là bản mã E cho tập hợp thuộc tính g, mộtkhóa riêng SK cho cấu trúc truy cập T, và khóa công khai PK Nếu g thỏa mãn T, thuật toán trả về thông báo M Ngược lại, nó đưa ra đầu ra giá trị z Ứng dụng của

mã hóa dựa trên thuộc tính

Hai dạng mã hóa dựa trên thuộc tính nêu trên đều được ứng dụng trong thực

tế CP- ABE cho phép một kiểu kiểm soát truy cập mới đến bản mã, mà ở đó khóa riêng của người dùng

Trang 25

được xác định bởi một tập hợp các thuộc tính, và phía người mã hóa dữ liệu xác định chính sách trên các thuộc tính, nhờ đó xác định những người có thể giải mã.KP- ABE được ứng dụng trong những hệ thống mà dữ liệu có thể được phân loại theo thuộc tính của chúng và đặc quyền truy cập của người dùng được xác định theocách cho phép họ có quyền truy cập đến một tập hợp con nào đó của tài nguyên và cấm việc sử dụng sai đặc quyền truy cập Một lĩnh vực ứng dụng quan trọng của KP- ABE là hệ thống truyền hình trả tiền Trong hệ thống như vậy, mỗi chương trình có một giá tiền riêng và sử dụng sai quyền truy cập là vi phạm pháp luật Gần đây, KP-ABE cũng được ứng dụng trong môi trường mạng không dây và kết hợp với các nguyên thủy mật mã khác để giải quyết bài toán kiểm soát quyền truy cập.

Trang 26

CHƯƠNG 2: TỔNG QUAN VỀ CHỮ KÝ ĐIỆN TỬ

Để thực hiện xác thực thông tin, có 3 phương pháp sau đây:

2.1.1 Kỹ thuật mật mã (N) = (p – 1) (q – 1)đối xứng và bất đối xứng) để xác thực thông tin

Nguyên tắc của mật mã là chỉ có những đối tượng hợp lệ mới khôi phục đượcthông tin gốc từ thông tin mật Ta có thể sử dụng nguyên tắc này để xác thực thôngtin như sau (hình 2.4):

 Mật mã đối xứng Theo quy ước, chỉ có nơi gửi thông tin và nơi nhận thôngtin hợp lệ mới có khóa bí mật K, do đó chỉ có thực thể gửi thông tin hợp lệ mới

có khả năng tạo ra khối thông tin mật hợp lệ từ khối thông tin gốc M Tương tự,chỉ có thực thể nhận thông tin hợp lệ mới có khả năng giải mã được thông tin mật

để khôi phục đúng thông tin gốc M Tất cả các cố gắng khác đều cho ra kết quảsai

 Trường hợp thứ hai: dùng mật mã bất đối xứng Thực thể gửi thông tin thựchiện mã hóa dùng khóa bí mật (PR) thay vì dùng khóa công khai Khối thông tinmật tạo ra có thể được giải mã bởi bất kỳ đối tượng nào biết khóa công khai củathực thể gửi Tuy nhiên, nếu quá trình giải mã thành công, đối tượng nhận thôngtin có thể chắc chắn rằng thông tin nhận được là đúng và chính đối tượng gửi hợp

lệ đã gửi thông tin này, bởi vì chỉ có đối tượng đó mới có khóa riêng PR

Trang 27

Phương pháp xác thực dùng mật mã dựa hòan tòan vào độ tin cậy của khóa bí mật.

2.1.2 Dùng mã xác thực MAC (N) = (p – 1) (q – 1)Message Authentication Code):

Mã xác thực MAC được sinh ra từ tổ hợp gồm một khối thông tin gốc có độ dàibất kỳ và một khóa bí mật Kích thước của MAC là cố định, không phụ thuộc vàokích thước của khối dữ liệu gốc và thường nhỏ hơn dữ liệu gốc Đối tượng gửi sẽgửi kèm giá trị MAC đi cùng với thông tin gốc Phía nhận sau khi nhận được thôngtin gốc cùng với giá trị MAC gửi kèm sẽ thực hiện thao tác tạo ra giá trị

MAC mới từ thông tin gốc cùng với khóa bí mật đã thống nhất giữa hai bên.Nếu giá trị MAC vừa tạo ra giống với giá trị MAC nhận được từ phía gửi, phía nhận

có thể chắc chắn rằng thông tin gốc không bị thay đổi trong quá trình truyền (hình2.5)

Nơi gởi thông tin

C

b- Dùng mật mã bất đối xứng

Nơi nhận thông tin

Trang 28

Việc dùng MAC để xác thực thông tin dựa vào hai cơ sở:

 Ứng với một khối thông tin gốc M và một khóa bí mật K, hàm C chỉtạo ra duy nhất một mã xác thực MAC

 Chỉ có phía gửi và phía nhận hợp lệ mới được biết khóa K

Có hai kỹ thuật tạo ra mã xác thực MAC: kỹ thuật thứ nhất dùng cơ chế mật

mã khối (Cipher Block Chaining) và được gọi là CMAC hay CBC-MAC Kỹ thuậtthứ hai dựa trên các hàm băm bảo mật và được gọi là HMAC

Mã xác thực MAC được ứng dụng trong các trường hợp thông tin chỉ yêucầu đảm bảo tính xác thực mà không cần đảm bảo tính bí mật

2.1.3 Dùng các hàm băm bảo mật (N) = (p – 1) (q – 1)secure hash function)

Giống như mã xác thực MAC, hàm băm cũng tạo ra một khối thông tin ngắn có

độ dài xác định gọi là mã băm (hash code) từ một khối thông tin gốc có độ dài bất

kỳ Tuy nhiên, khác với MAC, hàm băm chỉ dựa vào thông tin gốc để tạo ra mãbăm mà không dùng thêm bất kỳ khóa bí mật nào Do vậy, để có thể sử dụng nhưmột cơ chế xác thực thông tin, hàm băm phải được dùng kèm với một thuật tóanmật mã nào đó (đối xứng hoặc bất đối xứng)

Hình 2.6 trình bày một ứng dụng điển hình của hàm băm trong xác thựcthông tin Theo cơ chế này, mã băm sau khi được tạo ra sẽ được mã hóa bằng mộtthuật tóan mật mã đối xứng với khóa bí mật K chỉ có bên gửi và bên nhận biết.Đọan mã băm đã được mật mã hóa được gửi đi kèm với thông tin gốc và quá trình

Mã xác thực (MAC)

M: thông tin gốcC: Hàm tạo mã xác thực

K: Khóa bí mật dùng chung giữa bên gởi và bên nhận

| |: Nối mã xác thực vào thông tin gốc

Hình 2.2: Xác thực thông tin dùng MAC

So sánh

Trang 29

kiểm tra ở phía nhận cũng được tiến hành theo trình tự ngược lại, tức là giải mãđọan mã băm bằng khóa bí mật, sau đó tạo ra mã băm mới từ thông tin gốc và sosánh hai đọan mã băm.

Có nhiều cách áp dụng các thuật tóan mật mã vào hàm băm để xác thựcthông tin: dùng mã đối xứng hoặc bất đối xứng, chỉ mã hóa mã băm hoặc mã hóa cảthông tin gốc và mã băm, có thể tổ hợp nhiều cách trên lại với nhau

Ngòai ứng dụng xác thực thông tin, hàm băm còn được dùng trong nhiều ứngdụng khác

2.2 Hàm băm bảo mật

Các hàm băm bảo mật (secure hash functions), gọi là hàm băm là một trongnhững kỹ thuật cơ bản để thực hiện cơ chế xác thực thông tin (messageauthentication) Ngoài ra, hàm băm cũng còn được sử dụng trong nhiều thuật toánmật mã, chữ ký số (digital signature) và nhiều ứng dụng khác

Nguyên tắc của hàm băm là biến đổi khối thông tin gốc có độ dài bất kỳ thànhmột đoạn thông tin ngắn hơn có độ dài cố định gọi là mã băm (hash code haymessage digest) Mã băm được dùng để kiểm tra tính chính xác của thông tin nhậnđược Thông thường, mã băm được gửi kèm với thông tin gốc Ở phía nhận, hàm

Mã băm đã được mã hóa

So sánh

M: thông tin gốcH: hàm băm E: thuật tóan mã hóa

D: thuật tóan giải mãK: khóa bí mật dùng chung giữa phía gởi và phía nhận

| |: nối mã băm đã được mã hóa vào thông tin gốc

Hình 2.3: Xác thực thông tin dùng hàm băm

Trang 30

băm lại được áp dụng đối với thông tin gốc để tìm ra mã băm mới, giá trị này được

so sánh với mã băm đi kèm với thông tin gốc Nếu hai mã băm giống nhau, nghĩa làthông tin gửi đi không bị thay đổi

Chỉ có thể dùng hàm băm để tính mã băm từ thông tin gốc chứ không thể tínhđược thông tin gốc từ mã băm Do đặc tính này, các hàm băm bảo mật cũng cònđược gọi là hàm băm một chiều (one way hash fntion)

Hình 2.7 mô tả nguyên lý hoạt động của một giải thuật xác thực thông tin sửdụng hàm băm đơn giản

Các yêu cầu của một hàm băm bảo mật H:

 H có thể được áp dụng cho khối thông tin với chiều dài bất kỳ

 Kết quả của hàm H luôn có chiều dài cố định

 Việc tính giá trị của H(x) với một giá trị x cho trước phải đơn giản, cóthể thực hiện được bằng cả phần cứng hoặc phần mềm

 Cho trước một giá trị h, không thể tìm được một giá trị x sao cho H(x)

= h, đây được gọi là thuộc tính một chiều của hàm băm (one-wayproperty)

 Cho trước khối thông tin x, không thể tìm được một khối thông tin ykhác x sao cho H(y) = H(x) Thuộc tính này được gọi là weakcollision resistance

 Không thể tìm được hai khối thông tin x và y khác nhau sao cho H(x)

= H(y) Thuộc tính này được gọi là strong collision resistance

Ngày đăng: 01/07/2016, 12:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đoàn Văn Ban, Võ Minh Đức, Chữ ký số RSA và ứng dụng xác thực đề thi, cấp chứng chỉ số trong e-learning, Kỷ yếu hội thảo khoa học Quốc gia về công nghệ phần mềm và phần mềm nhóm, Công nghệ tri thức và giải pháp mã nguồn mở cho hệ thống e-learning, 2006 Sách, tạp chí
Tiêu đề: Chữ ký số RSA và ứng dụng xác thực đề thi, cấp chứng chỉ số trong e-learning
[3] PGS.TS Nguyễn Bình(2004), Giáo trình Mật mã học, Nhà xuất bản Bưu điện [4] William Stalling (2000), Network Security Essentials: Applications andStandards, Prentice Hall, New Jersey Sách, tạp chí
Tiêu đề: Giáo trình Mật mã học", Nhà xuất bản Bưu điện[4] William Stalling (2000)," Network Security Essentials: Applications and"Standards
Tác giả: PGS.TS Nguyễn Bình(2004), Giáo trình Mật mã học, Nhà xuất bản Bưu điện [4] William Stalling
Nhà XB: Nhà xuất bản Bưu điện[4] William Stalling (2000)
Năm: 2000
[5] Joel Weise (2001), Public Key Infrastructure, Sun Microsystems, Inc., Palo Alto USA Sách, tạp chí
Tiêu đề: Public Key Infrastructure
Tác giả: Joel Weise
Năm: 2001
[6] Donal O’Mahony, Michael Peirce, and Hitesh Tewari (June 1997), Electronic Payment Systems, Artech House, London Sách, tạp chí
Tiêu đề: ElectronicPayment Systems
[2] Svetlin Nakov (2005), How Digital Signatures Work: Digitally Signing Message Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Cấu trúc một hệ thống mật mã quy ước - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 1.1 Cấu trúc một hệ thống mật mã quy ước (Trang 12)
Hình 1.2: Cấu trúc hệ thống mật mã bất đối xứng - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 1.2 Cấu trúc hệ thống mật mã bất đối xứng (Trang 13)
Hình 1.3: Thuật toán trao đổi khoá Diffie-Hellman - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 1.3 Thuật toán trao đổi khoá Diffie-Hellman (Trang 17)
Hình 2.1: Xác thực thông tin dùng mật mã - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 2.1 Xác thực thông tin dùng mật mã (Trang 27)
Hình 2.2: Xác thực thông tin dùng MAC - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 2.2 Xác thực thông tin dùng MAC (Trang 28)
Hình 2.3: Xác thực thông tin dùng hàm băm - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 2.3 Xác thực thông tin dùng hàm băm (Trang 29)
Hình 2.7: Chữ ký điện tử dùng mã hoá công khai - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 2.7 Chữ ký điện tử dùng mã hoá công khai (Trang 37)
Hình 2.9. Sơ đồ mô tả quá trình ký và gửi các tệp văn bản - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 2.9. Sơ đồ mô tả quá trình ký và gửi các tệp văn bản (Trang 42)
Hình 3.1 Sơ đồ phân tích hệ thống - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 3.1 Sơ đồ phân tích hệ thống (Trang 46)
Hình 3.2 Mô hình hệ thống nhận dạng IBE - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 3.2 Mô hình hệ thống nhận dạng IBE (Trang 53)
Hình 3.3: Hệ thống mã hoá mô hình bảo mật - NGHIÊN cứu CHỮ ký điện tử và ỨNG DỤNG vào bài TOÁN KIỂM SOÁT QUYỀN TRUY NHẬP TRONG hệ THỐNG TRUYỀN HÌNH TRẢ TIỀN
Hình 3.3 Hệ thống mã hoá mô hình bảo mật (Trang 54)

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