1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu vấn đề chia sẻ bí mật và ứng dụng trong bỏ phiếu điện tử

76 451 7

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 788 KB

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

Nội dung

CÁC KHÁI NIỆM VÀ THUẬT TOÁN CƠ BẢNChương này trình bày các vấn đề cơ bản mà bất kỳ bài toán an toàn thông tinnào cũng phải đề cập đến, đó là các vấn đề về lý thuyết toán học sử dụng tron

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này của tự bản thân tôi tìm hiểu, nghiên cứu dưới

sự hướng dẫn của PGS.TS Trịnh Nhật Tiến Các chương trình thực nghiệm do chínhbản thân tôi lập trình, các kết quả là hoàn toàn trung thực Các tài liệu tham khảođược trích dẫn và chú thích đầy đủ

TÁC GIẢ LUẬN VĂN

Lê Đình Quyến

Trang 2

LỜI CẢM ƠN

Trước hết em xin trân trọng gửi lời cảm ơn đến toàn thể các thầy cô giáoTrường Đại học Công nghệ – Đại học Quốc gia Hà Nội và Trường Đại học Côngnghệ thông tin và Truyền thông – Đại học Thái nguyên đã dạy dỗ chúng em trongsuốt quá trình học tập chương trình cao học tại trường

Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TS Trịnh NhậtTiến, Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội đã quan tâm, địnhhướng và đưa ra những góp ý, gợi ý, chỉnh sửa quí báu cho em trong quá trình làmluận văn tốt nghiệp

Cuối cùng, em xin chân thành cảm ơn các bạn bè đồng nghiệp, gia đình vàngười thân đã quan tâm, giúp đỡ và chia sẻ với em trong suốt quá trình làm luận văntốt nghiệp

Thái Nguyên, ngày 28 tháng 10 năm 2012

HỌC VIÊN

Lê Đình Quyến

Trang 3

MỤC LỤC

LỜI CAM ĐOAN I LỜI CẢM ƠN II MỤC LỤC III DANH MỤC CÁC THUẬT NGỮ V DANH MỤC CÁC BẢNG VI DANH MỤC CÁC HÌNH VII

MỞ ĐẦU 1

CHƯƠNG 1 CÁC KHÁI NIỆM VÀ THUẬT TOÁN CƠ BẢN 3

1.1 LÝ THUYẾT TOÁN HỌC MODULO 3

1.1.1 Hàm phi Euler 3

1.1.2 Đồng dư thức 4

1.1.3 Không gian Zn 5

1.1.4 Nhóm nhân Z * 6

1.1.5 Thặng dư 7

1.1.6 Căn bậc modulo 7

1.1.7 Các thuật toán trong Zn 8

1.1.8 Ký hiệu Legendre và ký hiệu Jacobi 10

1.2 VẤN ĐỀ MÃ HOÁ 13

1.2.1 Mã hoá khoá đối xứng 15

1.2.2 Mã hoá khoá bất đối xứng 16

1.3 VẤN ĐỀ KÍ ĐIỆN TỬ 18

1.4 CHỮ KÍ SỐ 21

1.4.1 Giới thiệu về chữ kí số 21

1.4.2 Sơ đồ chữ kí số 22

1.4.3 Chuẩn chữ kí số 25

1.5 VẤN ĐỀ QUẢN LÝ KHOÁ 26

1.5.1 Khoá và một số khái niệm 26

1.5.2 Các cách tạo khoá 28

1.5.3 Phân phối khoá 35

CHƯƠNG 2 SƠ ĐỒ CHIA SẺ BÍ MẬT 41

2.1 Khái niệm chia sẻ bí mật 41

2.2 Các sơ đồ chia sẻ bí mật 43

2.2.1 Sơ đồ ngưỡng của Sharmir 43

2.2.2 Cấu trúc mạch đơn điệu 47

2.2.3 Cấu trúc không gian vectơ Brickell 54

2.3 Tính chất mở rộng của các sơ đồ chia sẻ bí mật 58

2.4 Ưu điểm của sơ đồ ngưỡng Shamir trong bài toán bỏ phiếu điện tử 59

CHƯƠNG 3 ỨNG DỤNG TRONG BỎ PHIẾU ĐIỆN TỬ 60

Trang 4

3.1 Một số bài toán về an toàn thông tin trong “Bỏ phiếu điện tử” 60

3.1.1 Bài toán xác thực cử tri 60

3.1.2 Bài toán ẩn danh lá phiếu 61

3.1.3 Bài toán phòng tránh sự liên kết giữa thành viên ban bầu cử và cử tri 62 3.2 Giải quyết bài toán chia sẻ khóa kí phiếu bầu cử 63

3.2.1 Chia sẻ khóa 63

3.2.2 Khôi phục khóa 63

3.3 Giải quyết bài toán chia sẻ nội dung phiếu bầu cử 64

3.4 Chương trình thử nghiệm 65

3.4.1 Chia sẻ khóa kí phiếu bầu cử 65

3.4.2 Chia sẻ nội dung phiếu bầu cử 66

KẾT LUẬN 67

TÀI LIỆU THAM KHẢO 68

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 69

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 70

Trang 5

DANH MỤC CÁC THUẬT NGỮ

gcd greatest common divisor (ước số chung lớn nhất)

CRT Chinese Remainder Theorem (định lý phần dư Trung Hoa)

DES Data Encryption Standard (Tiêu chuẩn mã hóa dữ liệu)

SHA Secure Hash Algorithm (Thuật giải băm an toàn)

PKI Public Key Infastructure (Hạ tầng khóa công khai)

CA Certification Authority (Chứng thực chữ kí số)

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

Trang 6

DANH MỤC CÁC BẢNG

Bảng 1.1: Mô tả các bước tính 5 596 mod 1234 9 Bảng 1.2: Độ phức tạp theo bit của các phép toán cơ bản trong Zn 9 Bảng 2.1: Các cấu trúc truy nhập không đẳng cấu 56

Trang 7

DANH MỤC CÁC HÌNH

Hình 1.1: Sơ đồ hoạt động của mã hóa khóa đối xứng 15

Hình 1.2: Sơ đồ hoạt động của mã hóa khóa bất đối xứng 16

Hình 1.3:Trao đổi khoá Diffie – Hellman 28

Hình 1.4: Kẻ xâm nhập giữa cuộc trong giao thức Diffie – Hellman 29

Hình 1.5: Giao thức trạm tới trạm 30

Hình 1.6: Giao thức trạm tới trạm có sự xâm nhập giữa đường 30

Hình 1.7: Thỏa thuận khóa Girault 33

Hình 1.8: Thoả thuận khoá Girault có sự xâm nhập giữa đường 34

Hình 2.1: Phân chia khóa dựa vào mạch đơn điệu 48

Hình 2.2: Mạch đơn điệu thể hiện cấu trúc truy nhập 50

Hình 2.3: Cấu trúc mạch đơn điệu có tốc độ thông tin ρ = 1/3 52

Hình 2.4: Cấu trúc mạch đơn điệu có tốc độ thông tin ρ = 1/2 53

Trang 8

MỞ ĐẦU

Hiện nay Internet đã trở nên rất phổ biến trên toàn thế giới, thông qua mạngInternet mọi người có thể trao đổi thông tin với nhau một cách nhanh chóng vàthuận tiện Những tổ chức có các hoạt động trên môi trường Internet/Intranet phảiđối diện với vấn đề là làm thế nào để bảo vệ những dữ liệu quan trọng, ngăn chặnnhững hình thức tấn công, truy xuất dữ liệu bất hợp pháp từ bên trong (Intranet) lẫnbên ngoài (Internet) Khi một người muốn trao đổi thông tin với một người hay một

tổ chức nào đó thông qua mạng máy tính thì yêu cầu quan trọng là làm sao để đảmbảo thông tin không bị sai lệch hoặc bị lộ do sự can thiệp của người thứ ba Trướccác yêu cầu cần thiết đó, lý thuyết về mật mã thông tin đã ra đời nhằm đảm bảo tính

an toàn dữ liệu tại nơi lưu trữ cũng như khi dữ liệu được truyền trên mạng

Vấn đề chia sẻ bí mật được đã được nghiên cứu từ những năm 70 của thế kỷtrước Ý tưởng chính của chia sẻ bí mật dựa trên nguyên tắc đơn giản là không tinvào bất cứ ai Để đảm bảo an toàn một thông tin nào đó thì ta không thể trao nó chomột người nắm giữ mà phải chia nhỏ thành các mảnh và chỉ trao cho mỗi người mộthoặc một số mảnh, sao cho một người với một số mảnh mình có thì không thể tìm

ra thông tin bí mật Việc phân chia các mảnh phải theo một sơ đồ chia sẻ bí mậtnhất định, sau đó có thể khôi phục lại thông tin bí mật ban đầu

Được sự gợi ý của giáo viên hướng dẫn và nhận thấy tính thiết thực của vấn

đề, em đã chọn đề tài: Nghiên cứu vấn đề chia sẻ bí mật và ứng dụng trong “Bỏ phiếu điện tử” để làm nội dung cho luận văn tốt nghiệp của mình.

Luận văn này tập trung vào nghiên cứu cơ sở lý thuyết toán học và một số kỹthuật mật mã để thực hiện chia sẻ thông tin mật, sau đó áp dụng giải quyết một sốbài toán về an toàn thông tin trong “Bỏ phiếu điện tử”

Trang 9

Nội dung chính của luận văn gồm ba chương

Chương 1: Các khái niệm cơ bản

Trong chương này luận văn trình bày các kiến thức cơ bản về lý thuyết toánhọc Modulo, vấn đề mã hóa, kí điện tử, chữ kí số và vấn đề quản lý khóa

Chương 2: Sơ đồ chia sẻ bí mật

Nội dung chương 2 trình bày khái niệm về chia sẻ bí mật, các sơ đồ chia sẻ

bí mật và tính chất mở rộng của các sơ đồ chia sẻ bí mật, ưu điểm của sơ đồ Shamirtrong bài toán bỏ phiếu điện tử

Chương 3: Ứng dụng trong bỏ phiếu điện tử

Chương này đề cập tới một số bài toán về an toàn thông tin trong “Bỏ phiếuđiện tử”, Giải quyết bài toán chia sẻ khóa ký phiếu bầu cử, Giải quyết bài toán chia

sẻ nội dung phiếu bầu cử Chương trình thử nghiệm được viết bằng ngôn ngữ lậptrình C# 2012

Trang 10

Chương 1. CÁC KHÁI NIỆM VÀ THUẬT TOÁN CƠ BẢN

Chương này trình bày các vấn đề cơ bản mà bất kỳ bài toán an toàn thông tinnào cũng phải đề cập đến, đó là các vấn đề về lý thuyết toán học sử dụng trong bảomật thông tin, mã hoá thông tin, chữ ký điện tử, khái niệm khoá, các cách tạo khoá,các phương pháp phân phối khoá, vấn đề định danh Qua đó, hình thành cơ sở lýthuyết cho an toàn truyền tin trên mạng máy tính

Các khái niệm và định nghĩa trong chương này được tham khảo trong các tàiliệu: Lý thuyết mật mã và an toàn thông tin; Contemporary Cryptography

1.1 LÝ THUYẾT TOÁN HỌC MODULO

 Tính nhân của hàm phi Euler: Nếu gcd(m, n) = 1 thì Φ(mn) = Φ(m)Φ(n) (trong

đó gcd(m, n) là ký hiệu ước số chung lớn nhất của m và n)

Trang 11

1.1.2 Đồng dư thức

1/ Định nghĩa

Cho a và b là các số nguyên, a được gọi là đồng dư với b theo modulo n, kýhiệu là a  b (mod n) nếu n chia hết (a – b) Số nguyên n được gọi là modulus củađồng dư.[4 – tr81]

 Nếu a  b (mod n) thì b  a (mod n) (Tính đối xứng)

 Nếu a  b (mod n) và b  c (mod n) thì a  c (mod n) (Tính bắc cầu)

 Nếu a  a1 (mod n), b  b1 (mod n) thì a + b  a1 + b1 (mod n)

và ab  a1b1 (mod n)

Lớp tương đương [1 – tr24] của một số nguyên a là tập hợp các số nguyênđồng dư với a theo modul n Từ các tính chất 2, 3 và 4 ta thấy: cho n cố định, các sốđồng dư với n theo modulo n trong không gian Z được xếp vào một một lớp tươngđương Nếu a = qn + r, trong đó 0 ≤ r < n thì a  r (mod n) Vì vậy mỗi số nguyên a

là đồng dư theo modul n với duy nhất một số nguyên trong khoảng từ 0 đến n – 1 vàđược gọi là thặng dư nhỏ nhất của a theo modul n Cũng vì vậy, a và r cùng thuộcmột lớp tương đương Do đó r có thể đơn giản được sử dụng để thể hiện lớp tươngđương

Trang 12

1.1.3 Không gian Z n

 Các số nguyên theo modul n ký hiệu Zn là một tập hợp các số nguyên {0,1,2,3,

…,n–1} Các phép toán cộng, trừ, nhân trong Zn được thực hiện theo modulon.[1 – tr24]

Ví dụ: Z25 = {0, 1, 2, …, 24} Trong Z25 : 13 + 16 = 4, bởi vì: 13 + 16 = 29  4(mod 25) Tương tự, 13*16 = 8 trong Z25

Cho a  Zn Nghịch đảo nhân của a theo modulo n là một số nguyên x  Zn saocho a*x  1 (mod n) Nếu x tồn tại thì đó là giá trị duy nhất và a được gọi làkhả nghịch, nghịch đảo của a ký hiệu là a-1.[1 – tr25]

 Cho a, b  Zn Phép chia của a cho b theo modulo n là tích của a và b-1 theomodulo n, và chỉ dược xác định khi b có nghịch đảo theo modulo n.[1 – tr25]

2/ Các tính chất trong không gian Z n

 Cho a  Zn , a có nghịch đảo khi và chỉ khi gcd(a, n) = 1 [4 – tr83]

Ví dụ: Các phần tử khả nghịch trong Z9 là: 1, 2, 4, 5, 7 và 8 trong đó 4-1 = 7 vì

4 7  1 (mod 9)

 Giả sử d = gcd(a, n) Phương trình đồng dư ax  b (mod n) có nghiệm x nếu

và chỉ nếu d chia hết cho b [1 – tr25], trong trường hợp các nghiệm d nằmtrong khoảng 0 đến n – 1 thì các nghiệm đồng dư theo modulo n / d

3/ Định lý phần dư Trung Hoa (CRT)

Nếu các số nguyên n1, n2, …, nk là các số nguyên tố cùng nhau từng đôi mộtthì hệ phương trình đồng dư:

Trang 13

4/ Thuật toán của Gausse

Nghiệm x trong hệ phương trình đồng dư trong định lý phần dư Trung Hoađược tính như sau:

 Nhóm nhân của Zn ký hiệu là Z*

n = {a  Zn | gcd (a, n) = 1} Đặc biệt, nếu n là

o (Định lý Euler) Nếu a  Zn* thì aΦ(n)  1 (mod n)

o Nếu n là tích của các số nguyên tố phân biệt và nếu r  s (mod Φ(n))thì ar  as (mod n) với mọi số nguyên a

 Cho p là số nguyên tố [1 – tr28]

o (Định lý Fermat) Nếu gcd(a, p) = 1 thì ap-1  1 (mod p)

o Nếu r  s (mod p – 1) thì ar  as (mod p) với mọi số nguyên a

o Đặc biệt ap  a (mod p) với mọi số nguyên a

Trang 14

1.1.5 Thặng dư

1/ Định nghĩa thặng dư

Cho a  Zn, a được gọi là thặng dư bậc 2 theo modulo n hoặc bình phươngtheo modulo n nếu tồn tại x  Zn* sao cho x2  a (mod n) Nếu không tồn tại x thì ađược gọi là thặng dư không bậc 2 theo modulo n Tập hợp các thặng dư bậc 2 theomodulo n ký hiệu là Qn và tập hợp các thặng dư không bậc 2 theo modulo n ký hiệu

n p p p trong đó pi là các số nguyên tố lẻ phân biệt

và ei ≥ 1 Nếu a  Qn thì a có chính xác 2k căn bậc 2 theo modulo n

3/ Ví dụ

Căn bậc 2 của 13 theo modulo 37 là 7 và 30

Căn bậc 2 của 121 modulo 315 là 11, 74, 101, 151, 164, 214, 241 và 304

Trang 15

1.1.7 Các thuật toán trong Z n

Cho n là số nguyên dương, các phần tử trong Zn sẽ được thể hiện bởi các sốnguyên {0, 1, 2,…, n–1} Ta thấy rằng nếu a, b  Zn thì:

INPUT: a  Zn

OUTPUT: a-1 mod n, nếu tồn tại

 Sử dụng thuật toán Euclidean mở rộng sau để tìm các số nguyên x và y saocho: ax + ny = d với d = gcd(a, n)

 Nếu d > 1 thì a-1 mod n không tồn tại Ngược lại, return (x)

2/ Thuật toán Euclidean mở rộng [4 – tr69]

INPUT: 2 số nguyên dương a và b với a ≥ b

OUTPUT: d = gcd(a, b) và các số nguyên x, y thoả mãn: ax + by = d

 Nếu b == 0 thì đặt d = a; x = 1; y = 0; return (d, x, y);

Số mũ modulo có thể được tính một các hiệu quả bằng thuật toán bình phương

và nhân liên tiếp, nó được sử dụng chủ yếu trong nhiều giao thức mã hoá

Trang 16

3/ Thuật toán bình phương liên tiếp để tính số mũ modulo trong Z n [4 – tr85]

INPUT: a  Zn và số nguyên dương 0 ≤ k < n trong đó k có biểu diễn nhị phân là:

Bảng 1.1: Mô tả các bước tính 5 596 mod 1234

Độ phức tạp theo bit của các phép toán cơ bản trong Zn như sau:

Nghịch đảo theo modulo a-1 mod n O((lg n)2)

Số mũ modulo ak mod n, k < n O((lg n)3)

Bảng 1.2: Độ phức tạp theo bit của các phép toán cơ bản trong Zn

1.1.8 Ký hiệu Legendre và ký hiệu Jacobi

1/ Định nghĩa ký hiệu Legendre

Cho p là số nguyên tố lẻ và một số nguyên a Ký hiệu Legendre ( a p ) đượcđịnh nghĩa là: [1 – tr29]

Trang 17

nÕu a Q p

2/ Tính chất của ký hiệu Legendre

Cho số nguyên tố lẻ p; a, b  Z Ký hiệu Legendre có tính chất sau: [1 – tr29, tr30]

 ( a p )  a (p-1)/2 (mod p) Trường hợp đặc biệt: ( 1p ) = 1 và ( p1) = (–1)(p-1)/ 2Bởi vậy nên: –1  Qp nếu p  1 (mod 4); và –1  _Q n nếu p  3 (mod 4)

p  ( 2p ) = 1 nếu p  1 hoặc 7 (mod 8)

và ( 2p ) = –1 nếu p  3 hoặc 5 (mod 8)

 Nếu q là số nguyên tố lẻ khác p thì: ( q p ) = ( q p ) (–1)(p-1)(q-1) / 4

Nói cách khác: ( q p ) = ( q p ) trừ khi cả p và q đều đồng dư với 3 theo modulo 4.Ngược lại thì (q p ) = – ( q p )

Ký hiệu Jacobi là sự tổng quát hoá của ký hiệu Legendre cho các số nguyên n là lẻ

mà không cần phải là nguyên tố

3/ Định nghĩa ký hiệu Jacobi

Cho n ≥ 3 là lẻ với các thừa số nguyên tố: 1 2

Trang 18

4/ Tính chất của ký hiệu Jacobi

Cho m ≥ 3, n ≥ 3 là số nguyên lẻ và a, b Z Ký hiệu Jacobi có các tính chất sau:

1 ( 1

1

)(

2 ( )

n n

a n n

a

Từ đó có thuật toán tính (

n

a

) mà không yêu cầu tính các thừa số nguyên tố của n

5/ Thuật toán tính ký hiệu Jacobi (và ký hiệu Legendre)

Trang 19

JACOBI(a, n)

INPUT: số nguyên lẻ n ≥ 3 và một số nguyên a, 0 ≤ a < n

OUTPUT: Ký hiệu Jacobi ( n a ) (và là ký hiệu Legendre khi n là số nguyên tố)

 Nếu a1 == 1 thì return (s); Ngược lại thì return (s JACOBI(a1, n1));

Thuật toán trên chạy trong thời gian O((lg n)2) phép tính bit

Mã hoá là phần rất quan trọng trong vấn đề bảo mật Mã hoá ngoài nhiệm vụchính là làm cho tài liệu an toàn hơn, nó còn có một lợi ích quan trọng là: thay vì

Trang 20

truyền đi tài liệu thô (không được mã hoá) trên một đường truyền đặc biệt, đượccanh phòng cẩn mật không cho người nào có thể “xâm nhập” vào lấy dữ liệu, người

ta có thể truyền một tài liệu đã được mã hoá trên bất cứ đường truyền nào mà không

lo dữ liệu bị đánh cắp vì nếu dữ liêu có bị đánh cắp đi nữa thì dữ liệu đó cũng khôngdùng được

Một số khái niệm liên quan:

Thuật toán mã hoá/ giải mã: là thuật toán dùng để chuyển thông tin thành dữ

liệu mã hoá hoặc ngược lại

Khoá: là thông tin mà thuật toán mã/ giải mã sử dụng để mã/ giải mã thông tin.

Mỗi khi một thông tin đã được mã hoá thì chỉ có những người có khoá thích hợpmới có thể giải mã Nếu không thì dù dùng cùng một thuật toán giải mã nhưng cũngkhông thể phục hồi lại thông tin ban đầu Đây là đặc điểm quan trọng của khoá: mãhoá chỉ phụ thuộc vào khoá mà không phụ thuộc vào thuật toán mã/ giải mã Điềunày giúp cho một thuật toán mã/ giải mã có thể được sử dụng rộng rãi

Với hình thức khá phổ biến hiện nay là truyền tin qua thư điện tử và không sửdụng các công cụ mã hoá, bảo mật cũng như chữ ký điện tử thì các tình huống sau

có thể xảy ra:

 Không chỉ nguời nhận mà người khác cũng có thể đọc được thông tin

 Thông tin mà ta nhận được có thể không phải là của người gửi đúng đắn

 Thông tin nhận được bị người thứ ba sửa đổi

 Bị nghe trộm: thông tin được truyền đi trên đường truyền có thể bị ai đó “xâmnhập” vào lấy ra, tuy nhiên vẫn đến được người nhận mà không bị thay đổi

 Bị thay đổi: thông tin bị chặn lại ở một nơi nào đó trên đường truyền và bịthay đổi Sau đó thông tin đã bị thay đổi này được truyền tới cho người nhậnnhư không có chuyện gì xảy ra

 Bị lấy cắp: thông tin bị lấy ra nhưng hoàn toàn không đến được người nhận

Trang 21

Khi đó thì khỏi nói đến thương mại điện tử, chính phủ điện tử với nền quản

lý hành chính điện tử, Để giải quyết vấn đề này, thông tin trước khi truyền đi sẽđược mã hoá và khi tới người nhận, nó sẽ được giải mã trở lại

Để đảm bảo rằng chỉ người cần nhận có thể đọc được thông tin mà ta gửi khibiết rằng trên đường đi, nội dung thông tin có thể bị theo dõi và đọc trộm, người ta

sử dụng các thuật toán đặc biệt để mã hoá thông tin Trong trường hợp này, trướckhi thông tin được gửi đi, chúng sẽ được mã hoá lại và kết quả là ta nhận được mộtnội dung thông tin “không có ý nghĩa” Khi thông điệp bị theo dõi hoặc bị bắt giữtrên đường đi, để hiểu được thông tin của bạn, kẻ tấn công phải làm một việc là giải

mã nó Thuật toán mã hoá càng tốt thì chi phí cho giải mã đối với kẻ tấn công càngcao Khi chi phí giải mã cao hơn giá trị thông tin thì coi như bạn đã thành côngtrong vấn đề bảo mật

Các thuật toán mã hoá thông tin khá đa dạng nhưng có thể chia ra làm haihướng chính là mã hóa với khóa đối xứng và mã hóa với khóa bất đối xứng

1.2.1 Mã hoá khoá đối xứng

Hệ mã hóa khóa đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã là

“giống nhau”, theo nghĩa biết được khóa này thì “dễ” tính được khóa kia Vì vậyphải giữ bí mật cả hai khóa

Đặc biệt có một số hệ mã hóa có khóa lập mã và khóa giải mã trùng nhau (ke

= kd), như hệ mã hóa “dịch chuyển” hay DES

Bản mã

Trang 22

Hình 1.1: Sơ đồ hoạt động của mã hóa khóa đối xứng

1/ Ưu điểm

 Tốc độ mã/ giải mã nhanh Đây là ưu điểm nổi bật của mã đối xứng

 Sử dụng đơn giản: có thể dùng một khoá cho cả 2 bước mã và giải mã

2/ Nhược điểm:

 Đòi hỏi khoá phải được 2 bên gửi/ nhận trao tận tay nhau vì không thể truyềnkhoá này trên đường truyền mà không được bảo vệ Điều này làm cho việc sửdụng khoá trở nên không thực tế

 Không an toàn: càng nhiều người biết khoá thì độ rủi ro càng cao

 Trong trường hợp khoá mã hoá thay đổi, cần thay đổi đồng thời ở cả người gửi

và người nhận, khi đó rất khó có thể đảm bảo được là chính bản thân khoákhông bị đánh cắp trên đường đi

 Không cho phép ta tạo ra chữ ký điện tử

3/ Một số thuật toán mã hoá khóa đối xứng

 DES: 56 bit, không an toàn Có thể dễ dàng bị bẻ khoá trong khoảng vài phút

 Triple DES, DESX, GDES, RDES: mở rộng độ dài của khoá ở mã DES lên tới

168 bit

 RC2, RC4, RC5: độ dài khoá có thể lên tới 2048 bit

 IDEA (International Data Encryption Algorithm): 128 bit, thường dùng trongcác chương trình email

 Blowfish: 448 bit

Trang 23

1.2.2 Mã hoá khoá bất đối xứng

Hệ mã hóa khóa bất đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã

là khác nhau (ke ≠ kd), biết được khóa này cũng khó tính được khóa kia Hệ mã nàycòn được gọi là hệ mã hóa khóa công khai

Khóa lập mã cho công khai, gọi là khóa công khai Khóa giải mã giữ bí mật,gọi là khóa bí mật

Hình 1.2: Sơ đồ hoạt động của mã hóa khóa bất đối xứng

1/ Ưu điểm

Đây là loại mã hoá được sử dụng chủ yếu trên Internet Một người muốn sửdụng loại mã hoá này cần tạo ra một cặp khoá công khai/ bí mật Anh ta có thểtruyền khoá công khai của mình tới bất cứ ai muốn giao tiếp với anh ta mà không sợngười khác lấy khoá này Cô ta sẽ mã hoá thông điệp của mình bằng khoá công khai

đó và gửi tới cho anh ta Dĩ nhiên là chỉ mình anh ta với khoá bí mật của mình mới

có thể thấy được thông điệp của cô Như vậy kẻ tấn công, cho dù có biết nội dungcủa khoá công khai và nội dung của thông tin đã bị mã hoá vẫn không thể giải mãđược thông tin Lý do là tính ngược khoá bí mật từ khoá công khai hoặc là rất khókhăn, nếu không nói là không thể Điều này đạt được trên nguyên tắc sử dụng cáchàm một chiều trong toán học khi tính hàm y = f(x) là đơn giản nhưng ngược lạiviệc tính giá trị y khi đã biết x là rất khó khăn

Trang 24

Tốc độ mã hoá chậm: tốc độ mã hoá nhanh nhất của loại mã bất đối xứngvẫn chậm hơn nhiều lần so với mã đối xứng Do đó người ta thường kết hợp 2 loại

mã hoá để nâng cao tốc độ mã hoá

3/ Một số thuật toán mã hoá bất đối xứng

 RSA: Loại mã này được dùng nhiều nhất cho web và chương trình email Độdài khoá thông thường là từ 512 đến 1024 bit

 ElGamal: 512 đến 1024 bit

1.3 VẤN ĐỀ KÍ ĐIỆN TỬ

Nếu việc sử dụng mật mã đã trở nên phổ biến, không chỉ trong quân đội màcòn trong thương mại và những mục đích cá nhân thì những đoạn tin và tài liệu điện

tử sẽ cần những chữ ký giống như các tài liệu giấy

Cũng giống như trong thực tế, chữ ký để xác nhận cho người nhận rằng bứcthư đó do người này gửi mà không phải ai khác Chữ ký điện tử sử dụng thuật toán

mã hóa khóa bất đối xứng để định danh người gửi Thông thường, để bảo vệ cácvăn bản mã hoá người ta dùng chữ ký điện tử Việc ứng dụng chữ ký điện tử cũngnhư công nhận giá trị pháp lý của nó là điều kiện tiên quyết cho thương mại điện tử

Trang 25

Nếu như việc giả mạo chữ ký viết tay hoặc con dấu là không đơn giản thì việc làmgiả một đoạn thông tin nào đó là rất dễ dàng Vì lý do đó, bạn không thể quét chữ

ký của mình cũng như con dấu tròn của công ty để chứng tỏ rằng tài liệu mà bạntruyền đi đúng là của bạn

Khi bạn cần “ký” một văn bản hoặc một tài liệu nào đó, thủ tục đầu tiên làtạo ra chữ ký và thêm nó vào trong thông điệp Có thể hình dung thủ tục này nhưsau: Phần mềm mã hoá mà bạn sử dụng sẽ đọc nội dung văn bản và tạo ra một chuỗithông tin đảm bảo chỉ đặc trưng cho văn bản đó mà thôi Bất kỳ một thay đổi nàotrong văn bản sẽ kéo theo sự thay đổi của chuỗi thông tin này Sau đó phần mềm đó

sẽ sử dụng khoá bí mật của bạn để mã hoá chuỗi thông tin này và thêm nó vào cuốivăn bản như một động tác ký (Bạn có thể thấy là chúng ta hoàn toàn không mã hoánội dung văn bản, chỉ làm động tác ký mà thôi) Khi nhận được văn bản, người nhậnlặp lại động tác tạo ra chuỗi thông tin đặc trưng, sau đó sử dụng khoá công khai màbạn đã gửi để kiểm tra chữ ký điện tử có đúng là của bạn không và nội dung thôngđiệp có bị thay đổi hay không Thuật toán mã hoá khóa bất đối xứng đầu tiên và nổitiếng hơn cả có tên gọi là RSA (được ghép từ chữ cái đầu tiên của tên ba tác giả làRivest, Shamir, Adleman)

1/ Quá trình tạo ra chữ ký điện tử

 Tạo một câu ngắn gọn để nhận dạng – ví dụ như “Tôi là Quyến”

 Mã hoá nó bằng khoá bí mật của mình tạo ra chữ ký điện tử

 Gắn chữ ký này vào thông điệp cần gửi rồi mã hoá toàn bộ bằng khoá côngkhai của người nhận

 Gửi thông điệp đi

Người nhận sẽ dùng khoá bí mật của mình để giải mã thông điệp và lấy chữ ký

ra Sau đó họ sẽ giải mã chữ ký này bằng khoá công khai của người gửi Chỉ người

Trang 26

gửi nào có khoá bí mật phù hợp mới có thể tạo ra chữ ký mà người nhận giải mãthành công Do đó người nhận có thể định danh người gửi.

Tuy nhiên chữ ký điện tử tạo ra theo cách này vẫn chưa dùng được Nó cóthể bị cắt và dán vào thông điệp khác mà không cần phải biết khoá bí mật

2/ Hàm băm sử dụng trong ký điện tử

Một thông điệp được đưa qua hàm băm sẽ tạo ra một giá trị có độ dài cố định

và ngắn hơn được gọi là “đại diện” hay “bản tóm tắt” Mỗi thông điệp đi qua mộthàm băm chỉ cho duy nhất một “đại diện” và ngược lại: rất khó có thể tìm được haithông điệp khác nhau mà có cùng “đại diện” khi đi qua cùng một hàm băm

Hàm băm thường kết hợp với chữ ký điện tử ở trên để tạo ra một loại chữ kýđiện tử vừa an toàn hơn (không thể cắt/ dán) vừa có thể dùng để kiểm tra tính toànvẹn của thông điệp Các bước để tao ra chữ ký điện tử như vậy được trình bày nhưsau:

 Đưa thông điệp cần gửi qua hàm băm tạo ra đại diện cho thông điệp đó

 Mã hoá đại diện bằng khoá bí mật của người gửi để tạo ra chữ ký điện tử

 Mã hoá toàn bộ thông điệp và chữ ký bằng khoá công khai của người nhận vàgửi đi

Người nhận sẽ giải mã thông điệp bằng khoá bí mật của mình, giải mã chữ kýbằng khoá công khai của người gửi để lấy đại diện ra Sau đó cho thông điệp quahàm băm để tạo lại đại diện của thông điệp rồi so sánh với đại diện nhận được: nếugiống nhau thì người nhận có thể vừa định danh người gửi vừa kiểm tra tính toànvẹn của thông điệp

3/ Một số hàm băm thường gặp

 MD5 (Message Digest): 128 bit, nhanh, được sử dụng rộng rãi

 SHA (Secure Hash Algorithm): 160 bit

Trang 27

1.4 CHỮ KÍ SỐ

1.4.1 Giới thiệu về chữ kí số

Trong môi trường mạng, bất cứ dạng thông tin nào được sử dụng để nhậnbiết một con người đều được coi là chữ kí điện tử, ví dụ: một đoạn âm thanh, hìnhảnh được chèn vào cuối e-mail

Chữ kí số là một dạng chữ kí điện tử, an toàn nhất và cũng được sử dụngrộng rãi nhất, chữ kí này hình thành dựa trên kĩ thuật mã hoá công khai (PKI), theo

đó mỗi người sử dụng cần có một cặp khoá bao gồm khoá bí mật và khoá công khai.Người chủ chữ kí sử dụng khoá bí mật để tạo chữ kí số (trên cơ sở kết hợp với nộidung thông tin gửi), ghép nó với thông tin cần gửi và gửi đi Người nhận dùng mãcông khai giải mã chữ kí số để biết được có phải là người đó gửi hay không

Điểm quan trọng là các cặp khoá trên do những nhà cung cấp dịch vụ chứngthực chữ kí số (Certification Authority – CA) cấp (hoặc xác minh là đủ điều kiện an

Trang 28

toàn) sau khi đã kiểm tra thực tế Đồng thời nhà cung cấp dịch vụ cũng giao cho cánhân, tổ chức đó một chứng thư số - tương đương như chứng minh thư nhân dânhay giấy xác nhận sự tồn tại của cơ quan, tổ chức trên môi trường mạng Chứng thư

đó có chứa khoá công khai của chủ sở hữu và được duy trì tin cậy trên cơ sở dữ liệucủa nhà cung cấp dịch vụ chứng thực, do vậy người nhận có thể truy cập vào cơ sở

dữ liệu đó để xác minh

1.4.2 Sơ đồ chữ kí số

Một sơ đồ chữ kí số thường chứa hai thành phần: thuật toán kí và thuật toánxác minh A có thể kí bức điện x dùng thuật toán kí an toàn, chữ kí y = sig(x) nhậnđược có thể kiểm tra bằng thuật toán xác minh công khai ver(x,y) Khi cho trướccặp (x,y), thuật toán xác minh có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kíđược thực hiện như thế nào Sau đây là định nghĩa hình thức của chữ kí:

Trang 29

Với mỗi k = (k1, k2), trong S có một thuật toán kí sigk1: P  A, và trong V cómột thuật toán xác minh verk2: P x A  {TRUE, FALSE} thoả mãn điều kiệnsau đây đối với mọi thông báo x  P và mọi chữ kí y  A:verk2(x, y) = TRUE ↔ y = sigk1(x).

 S là tập các thuật toán kí

 V là tập các thuật toán kiểm thử

Với sơ đồ trên, mỗi chủ thể sở hữu một bộ khoá k = (k1, k2), công bố côngkhai khoá k2 để mọi người có thể xác minh chữ kí của mình, và giữ bí mật khoá k1

để thực hiện chữ kí trên các thông báo mà mình muốn gửi đi Các hàm verk2 và sigk1(khi biết k1) phải tính được một cách dễ dàng (trong thời gian đa thức), tuy nhiênhàm y = sigk1(x) là khó tính được nếu không biết k1 – điều đó đảm bảo bí mật choviệc kí cũng tức là đảm bảo chống giả mạo chữ kí

2/ Sơ đồ chữ kí RSA [1 – tr1117]

+ Sinh khóa

Chọn p, q là số nguyên tố lớn

Tính n = p*q, Φ(n) = (p – 1)(q – 1) Đặt P = A = Zn

Chọn khóa công khai b < Φ(n) và nguyên tố cùng nhau với Φ(n)

Khóa bí mật a là nghịch đảo của b theo modulo Φ(n): a = b-1 (mod Φ(n))

{n, b} công khai, {a, p, q} bí mật

Trang 30

Sơ đồ chữ kí ElGamal được đề xuất năm 1985, gần như đồng thời với sơ đồ

hệ mật mã ElGamal, cũng dựa trên độ khó của bài toán logarit rời rạc Sơ đồ đượcthiết kế đặc biệt cho mục đích kí trên các văn bản điện tử

+ Sinh khóa

Cho p là số nguyên tố sao cho bài toán logarit rời rạc trên Zp là khó giải

Đặt P = Zp*, A = Zp*x Zp-1

Chọn phần tử nguyên thủy g, chọn khóa bí mật a  Zp*

Khóa công khai h = ga mod p

Tập khóa K = {(p, g, a, h): h = ga mod p} với {p, g, h} công khai; a bí mật

Trang 31

y1 = 2213 mod 467 = 29.

y2 = (100 – 127*29) * 431 mod 466 = 51

Kiểm tra chữ kí: 13229 * 2951 = 2100 mod 467

1.4.3 Chuẩn chữ kí số

Chuẩn chữ kí số (DSS – Digital Signature Standard) được đề xuất năm 1991

và được chấp nhận vào cuối năm 1994 để sử dụng trong một số lĩnh vực giao dịchđiện tử tại Mỹ DSS dựa vào sơ đồ chữ kí ElGamal với một vài sửa đổi Để đảm bảo

an toàn, số nguyên tố p cần phải đủ lớn, biểu diễn nhị phân của p phải có từ 512 bittrở lên (cụ thể là từ 512 đến 1024 bit, số bit là một bội của 64) [1 – tr121]

Tuy nhiên, độ dài chữ kí theo sơ đồ ElGamal là gấp đôi số bit của p, màtrong nhiều ứng dụng người ta lại mong muốn có chữ kí độ dài ngắn, nên giải phápsửa đổi được đề xuất là: trong khi vẫn dùng p lớn với độ dài biểu diễn 512 bit trởlên thì sẽ hạn chế độ dài của  và  trong chữ kí (, ) vào khoảng 160 bit (như vậy

cả chữ kí sẽ có độ dài khoảng 320 bit); điều này được thực hiện bằng cách dùng mộtnhóm con cyclic Z*

q của Z*

p thay cho chính bản thân Z*

p , do đó mọi tính toán vẫnđược thực hiện như trong Z* nhưng các dữ liệu và thành phần chữ kí lại thuộc Z*

Ta được sơ đồ chuẩn chữ kí số DSS như mô tả sau đây: [1 – tr122]

Chọn p là một số nguyên tố lớn có độ dài biểu diễn từ 512 bit trở lên sao chobài toán tính logarit rời rạc trong Z* là khó, q là một ước số nguyên tố của p – 1 có

độ dài biểu diễn cỡ 160 bit Gọi α  Z*

p là một căn bậc q của 1 theo mod p

Trang 32

k = (k1, k2) trong đó khoá bí mật k1 = a, khoá công khai k2 = (p, q, α, β).

Thuật toán kí: với x  P = Z*

p, ta chọn thêm một số ngẫu nhiên k (0≤ k≤q–1),khi đó sigk1 (x, k) = (, ), với  = (αk mod p) mod q và  = (x + a).k -1 mod q

Thuật toán minh được định nghĩa bởi:

verk2(x, (, )) = TRUE ↔ (αe1.βe2 mod p) mod q = , trong đó: e1 = x.-1mod q và e2 = .-1 mod q

Chú ý rằng ta phải có  ≠ 0 mod q để có thể tính được -1 mod q, vì vậy nếuchọn k nào đó mà  ≡ 0 mod q thì phải chọn lại số k khác

1.5 VẤN ĐỀ QUẢN LÝ KHOÁ

1.5.1 Khoá và một số khái niệm

Trong một mạng thông tin liên lạc dữ liệu, giả sử rằng một người dùng ở mộtmáy tính đang liên lạc với một chương trình ứng dụng hay một người dùng ở mộtmáy tính khác ở trong cùng một vùng hay ở một vùng khác, những người dùng nàydùng chung một khoá (khoá chính K) Khoá K này có thể là một khoá bí mật đượccung cấp và được chấp nhận trước bởi các người dùng hoặc một khoá được cấp phátđộng bởi hệ thống và gán cho các người dùng này, được gọi là khoá mã hoá dữ liệuhoặc khoá giải mã dữ liệu

Sự phân phối khoá (key distribution) được định nghĩa là cơ chế một nhóm

chọn khoá mật và sau đó truyền nó đến các nhóm khác

Thoả thuận khoá (key agreement) là giao thức để hai nhóm (hoặc nhiều hơn)

liên kết với nhau cùng thiết lập một khoá mật bằng cách liên lạc trên một kênhtruyền thông công khai

TA (Trust Authority) có nhiệm vụ xác minh danh tính của người dùng, chọn

và gửi khoá đến người dùng

Đối phương bị động (passive adversary) là người dùng có dụng ý xấu mà hoạt

động của anh ta chỉ hạn chế ở mức nghe trộm bức điện truyền trên kênh

Trang 33

Đối phương chủ động (active adversary) nguy hiểm hơn đối phương bị động

vì có thể làm nhiều hành vi xấu như:

o Thay đổi bức điện mà anh ta quan sát khi nó đang được truyền trên mạng

o Lưu bức điện cho việc sử dụng lại ở lần sau

o Cố gắng giả dạng làm người dùng khác trên mạng

Mục tiêu của đối phương chủ động là:

 Lừa người dùng U và V chấp nhận 1 khoá “không hợp lệ” như là một khoáhợp lệ ( khoá không hợp lệ có thể là khoá cũ đã hết hạn sử dụng hoặc khoá dođối phương chọn)

 Làm cho U và V tin rằng họ có thể trao đổi khoá với người kia khi họ không

có khoá

Mục tiêu của phân phối khoá và giao thức thoả thuận khoá là tại thời điểm kết thúcthủ tục, hai nhóm đều có cùng khoá K song không nhóm nào khác biết được (trừTA) Chắc chắn, việc thiết kế giao thức kiểu này khó khăn hơn nhiều trước đốiphương chủ động

Sự phân phối khoá trước: với mỗi cặp người dùng {U,V}, TA chọn một khoángẫu nhiên KU,V = KV,U và truyền “ngoài dải ” đến U,V trên kênh an toàn (nghĩa làviệc truyền khoá không xảy ra trên mạng do mạng không an toàn) Biện pháp nàygọi là an toàn không điều kiện song nó đòi hỏi một kênh an toàn giữa TA và nhữngngười sử dụng trên mạng Mỗi người dùng phải lưu trữ (n-1) khoá và TA cần truyềnn(n-1) khoá Trong một mạng tương đối lớn, điều này trở nên quá tốn kém và nhưvậy giải pháp hoàn toàn không thực tế

Một cách tiếp cận thực tế hơn là TA phân phối khoá trực tiếp Trong sơ đồnhư vậy, TA làm việc như là một server khoá TA trao tham gia khoá bí mật KU chomỗi người dùng U trên mạng Khi U muốn liên lạc với V, cô ta yêu cầu TA cungcấp cho một khoá phiên liên lạc, TA sẽ tạos ra khoá phiên liên lạc K và gửi nó dướidạng mã hoá cho U và V để giải mã Hệ thống mã Kerberos dựa trên ý tưởng này.Nếu như người dùng cảm thấy vấn đề phân phối khoá qua TA không thực tế hoặckhông như được như mong muốn thì biện pháp chung là dùng giao thức thoả thuậnkhoá Trong giao thức thoả thuận khoá U và V phối hợp chọn một khoá bằng cách

Trang 34

liên lạc với nhau trên kênh công khai Ý tưởng đáng chú ý này do Martin và Diffieđưa ra độc lập với Merkle Hai giao thức đáng quan tâm nữa là MTI và Girault.

1/ Trao đổi khoá Diffie - Hellman

Giao thức thoả thuận khoá đầu tiên và nổi tiếng nhất là giao thức Diffie –Hellman Trong giao thức này, khoá được tạo ra từ sự kết hợp của hai thành viên

Sơ đồ trao đổi khoá Diffie - Hellman

αav

Trang 35

Hình 1.3:Trao đổi khoá Diffie – Hellman

Giao thức có thể bị tấn công bởi một đối phương chủ động W, những người sử dụngcách tấn công “kẻ xâm nhập giữa cuộc” W sẽ chặn lại các bức điện giữa U và V vàthay thế bằng bức điện của riêng mình

Hình 1.4: Kẻ xâm nhập giữa cuộc trong giao thức Diffie – Hellman

Tại thời điểm cuối của giao thức, U thiết lập khoá bí mật αa a’v cùng với W,còn V thiết lập khoá bí mật αa’ u a v cùng với W Khi U cố mã hoá bức điện để gửi cho

V, W có khả năng giải mã nó song V thì không thể Tương tự khi V gửi bức điện tới

U Giải pháp để tránh sự xâm nhập của W là U và V nên thiết lập việc xác địnhdanh tính của nhau Tuy nhiên, điều này vẫn không an toàn trước sự tấn công của kẻxâm nhập giữa cuộc nếu W vẫn duy trì cách tấn công bị động cho đến khi U và Vxác minh danh tính của nhau Vì thế các giao thức thoả thuận khoá tự nó cần xácthực được danh tính của những người tham gia cùng lúc khoá được thiết lập

2/ Giao thức trạm tới trạm (station to station)

Đây là một giao thức thoả thuận khoá được cải tiến từ sơ đồ trao đổi khoáDiffie – Hellman Giao thức giả thiết số nguyên tố p và phần tử nguyên thuỷ α đượcbiết một cách công khai và nó được dùng cùng với các dấu xác nhận Mỗi người sử

dụng U sẽ có một sơ đồ chữ ký với thuật toán xác minh công khai verU TA cũng có

sơ đồ chữ ký với thuật toán xác minh công khai verTA Mỗi người sử dụng U cóchứng chỉ:

C(U) = (ID(U), verU, sigTA(ID(U), verU)) trong đó ID(U) là thông tin định danh cho U

αau Người dùng U Người dùng W Người dùng V

αa’v

αa’u

αav

Trang 36

Giao thức “trạm tới trạm” có xác thực của Diffie, Van Oorschot và Wiener như sau:

 V xác minh yU bằng verU và xác minh C(V) nhờ verTA

W không thể tính chữ ký của V trên (sigV (αa αa’ u)) vì không biết thuật toán

ký sigV của V Tương tự, W không thể thay sigU (αa

,αa’v) bằng sigU (αa’u

,αa) vì

không biết thuật toán ký sigU của U Điều này được minh hoạ dưới đây:

Hình 1.5: Giao thức trạm tới trạm

Khi có sự xâm nhập của W:

Hình 1.6: Giao thức trạm tới trạm có sự xâm nhập giữa đường

αau Người dùng U αav,sigv(αav,αau) Người dùng V

sigu(αau, αav)

αau Người

dùng U

Người dùng V

αa’v,sigv(αa’v,αau) =?

sigu(αau, αa’v)

αa’u Người

dùng W αav,sigv(αav,αa’u)

sigu(αa’u, αav) =?

Trang 37

Tóm lại, nhờ sử dụng chữ ký mà có thể tránh sự tấn công của W.

Giao thức này không đưa ra sự khẳng định khoá Tuy nhiên, dễ dàng biến đổi đểthực hiện được điều đó bằng cách định nghĩa:

yV = eK(sigV (αau

,αav)) trong bước 4

và yU = eK(sigU (αau

,αav)) trong bước 7

3/ Giao thức thoả thuận khoá MTI (Matsumoto, Takashima, Imai)

Giao thức này không yêu cầu U và V tính bất kỳ chữ ký nào Nó là giao thứchai lần truyền vì chỉ có hai lần truyền thông tin riêng biệt (một từ U đến V và một từ

V đến U) Trái lại giao thức STS (station to station) được gọi là giao thức 3 bước

 U chọn rU ngẫu nhiên, 0≤ rU ≤ p-2 và tính: sU = αrumod p

 U gửi (C(U),sU)) đến V

 V chọn rV ngẫu nhiên, 0≤ rV ≤ p-2 và tính: SV = αr vmod p

 V gửi (C(V),sV)) đến U

 U tính: K = sVabVrumod p Tại đây, cô nhận được giá trị bV từ C(V)

 V tính: K = sUabUrvmod p Tại đây, anh ta nhận được giá trị bV từ C(V)

Trong đó:

+ p, α được biết công khai

+ Mỗi người sử dụng U đều có xâu ID(U), số mũ bí mật aU (0≤ aU ≤ p-2) và giá trịcông khai tương ứng: bU =αa mod p Tương tự đối với V

+ TA sẽ có sơ đồ chữ ký với thuật toán xác minh công khai verTA và thuật toán ký

mật sigTA

+ Mỗi người sử dụng U có dấu xác nhận: C(U) = (ID(U), bU, sigTA(ID(U), bU)) trong

đó bU được thiết lập như trên Tương tự cho V

+ Cả U và V cùng tính khoá: K = αruv+rv u mod p

Ví dụ:

Giả sử p= 27803, α = 5

Giả sử U chọn aU = 21131, V chọn aV = 17555 Khi đó:

Trang 38

KU,V = sUabUrvmod p = 6268175552142023456 mod 27803 = 21600

Độ mật của giao thức MTI trước sự tấn công thụ động đúng bằng bài toán Diffie –Hellman Khi không dùng chữ ký trong suốt quá trình thực hiện giao thức, có thểgiao thức không an toàn trước sự tấn công giữa đường Khi có sự tấn công chủ động

4/ Giao thức thoả thuận khoá tự xác thực của Girault

Phương pháp thoả thuận khoá của Girault đưa ra không cần dấu xác nhận.Giá trị của khoá công khai và danh tính của người sở hữu nó sẽ ngầm xác thực nó

Sơ đồ Girault kết hợp tính chất của RSA và thuật toán logarithm rời rạc Giả sửn=pq, p= 2p1+1, q= 2q1+1 và p, q, p1, q1 đều là các số nguyên tố lớn Giá trị n chỉđược biết bởi TA TA chọn số mũ mã hoá e (công khai) và số mũ giải mã d (bí mật)

mà d = e-1 mod Φ(n)

Mỗi người sử dụng U có một xâu ID(U) U nhận được khoá tự xác nhận pU từ TA

Ngày đăng: 16/04/2017, 17:33

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, NXB Đại học Quốc Gia Hà Nội, 2002 Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
Nhà XB: NXB Đại họcQuốc Gia Hà Nội
[2] Phạm Văn Thiều, Phạm Thu Hằng (dịch), Mật mã từ cổ điển đến lượng tử, NXB Trẻ, 2009.Tiếng Anh Sách, tạp chí
Tiêu đề: Mật mã từ cổ điển đến lượng tử
Nhà XB: NXB Trẻ
[3] Mattias Fitzi, Jesper Nielsen, Stefan Wolf, How to share a key, 2007 Sách, tạp chí
Tiêu đề: How to share a key
[4] Rolf Oppliger, Contemporary Cryptography, 2005 Sách, tạp chí
Tiêu đề: Contemporary Cryptography
[5] Sorin Iftene, Secret Sharing Schemes with Applications in Security Protocols, 2007 Sách, tạp chí
Tiêu đề: Secret Sharing Schemes with Applications in SecurityProtocols
[7] Các website:http://www .certicom.com http://www .citeseer.nj.nec.com http://www .cryptography.com http://www .pgp.coms Khác

TRÍCH ĐOẠN

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