Tải bản đầy đủ (.pptx) (29 trang)

tiểu luận MÃ HÓA KHÓA CÔNG KHAI

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

Nhóm: 2
Thành viên: Lưu Doãn Bắc
Phan Lạc Dương
Nguyễn Xuân Hiệp
MÃ HÓA KHÓA CÔNG KHAI
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Hà Nội, 3-2014
I. Giới thiệu về mã hóa và mã hóa không
đối xứng

1 Khái niệm về mã hóa:
1.1 Khái niệm
1.2 Các yêu cầu đối với mã hóa.
1.3 Phân loại mã hóa.
1.4 Tại sao cần phải mã hóa.
2 Mã hóa bất đối xứng.
2.1 Tại sao mã hóa không đối xứng ra đời
2.2 Cơ chế hoạt động.
2.3 Các đặc điểm của hệ mã hóa không đối xứng
I. Giới thiệu về mã hóa và mã hóa không đối xứng
1 Khái niệm về mã hóa:
Nói đến mã hóa tức là nói đến việc che
dấu thông tin bằng cách sử dụng thuật
toán
Ví dụ:
E
3
A
4
1


Confidentiality (Tính bí mật)
2

Authentication (Tính xác thực)
3

Integrity (Tính toàn vẹn)
4

Non-repudation (Tính không thể chối bỏ)
Các yêu cầu đối với mã hóa.
Mã hóa
theo các phương
pháp
Mã hóa cổ
điển
Mã hóa đối
xứng
Mã hóa bất
đổi xứng
Hàm băm
một chiều
theo số
lượng khóa
Mã hóa khóa
bí mật
Mã hóa khóa
công khai
Phân loại mã hóa.
Tại sao phải mã hóa

Lỗi Hệ Thống
2. Mã hóa không đối xứng
Nó được thiết kế sao cho khóa sử dụng trong
quá trình mã hóa khác biệt với khóa được sử
dụng trong quá trình giải mã.
Vấn đề trao
đổi khóa
giữa người
gửi và người
nhận
Tính bí mật
của khóa
Mã hóa
không
đối xứng
Tại sao mã hóa bất đối xứng ra đời?
Cơ chế hoạt động
Sender yêu cầu cung cấp hay tự tìm khóa công khai của Receiver trên Server
chịu trách nhiệm quản lí khóa công khai đấy.
Sau đó 2 bên thỏa thuận thuật toán, Sender sử dụng mã công khai của
Receiver cùng vs thuật toán đã thỏa thuận để mã hóa
Thông tin sau khi được mã hóa gủi đến Receiver, lúc này chính Sender cũng
không thể giải mã thông tin đó.
Receiver sẽ dùng khóa của mình để giải mã và lấy thông tin
Khối lượng tính toán lớn
Mẫu chốt là Private key.
Hệ thống này an toàn hơn
Tốc độ mã hóa chậm hơn
Đặc điểm của mã hóa không đối xứng
CHƯƠNG III: GIẢI THUẬT RSA

1. Giới thiệu về RSA
2. Mô tả hoạt động của RSA
3. Các vấn đề của RSA
4. Ứng dụng thực tế của RSA
3.1. Giới thiệu về RSA
-
RSA là một giải thuật mã hóa khóa công khai được phát triển vào năm
1977 tại Học Viện Công Nghệ Masachusetts. Tên tiêu chuẩn được lấy từ 3
chữ cái đầu tiên của tên 3 tác giả Ronal Rivest, Adi Shamir, Leonard
Adleman
-
RSA được xem là một sự tiến bộ vượt bậc của lĩnh vực mật mã học
trong việc SD khóa công khai. RSA đang được SD phổ biến trong thương
mại điện tử
3.2. Mô tả hoạt động của RSA
-
Khóa công khai ( Pulic Key )
-
Khó bí mật ( Private Key )
QUÁ TRÌNH TẠO KHÓA, MÃ HÓA, GIẢI MÃ
VÍ DỤ
Lấy p = 61, q = 53
n = pq = 3233,
e = 17
d = 2753
Khi đó:
-
Để mã hóa văn bản có giá trị 123, ta thực hiện phép tính:
M = 12317 mod 3233 = 855
- Để giải mã văn bản có giá trị 855, ta thực hiện phép tính:

C = 8552753 mod 3233 = 123



CÁC VẤN ĐỀ CỦA RSA
-
Vét cạn khóa: Cách tấn công này thử tất cả các khóa d có thể có để
tìm ra bản giải mã.
-
Phân tích N = p.q: Người ta cho rằng việc làm này là bất khả thi.
Tuy nhiên với sự phát triển về tốc độ xử lý của máy tính ngày càng
nhanh, cùng với sự ra đời của rất nhiều các thuật toán phân tích mới
thì RSA đã bị phá mã vào năm 1994 bằng thuật toán Quadratic sieve
-
Đo thời gian: Trong thuật toán bình phương liên tiếp, nếu 1 bit của d
là 1 thì xảy ra hai phép modulo, còn nếu bít đó là 0 thì chỉ có 1 phép
modulo, do đó thời gian thực hiện giải mã là khác nhau. Bằng một
số phép thử chosen – plaintext người pha mã có thể biết được các bit
của d là 0 hay 1 và từ đó biết được d
ỨNG DỤNG THỰC TẾ CỦA RSA
1. Chữ ký điện tử

Chữ ký điện tử là chữ ký được tạo lập dưới dạng từ, chữ số, ký hiệu,
âm thanh hoặc các hình thức khác bằng phương tiện điện tử

Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một
chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest
) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ
ký số đính kèm với văn bản gốc được tính lại fingerprint để so sánh
với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số.

2. SSL

Ra đời vào năm 1994, bởi Netscape

SSL là giao thức đa mục đích được thiết kế nhằm mã hóa toàn bộ
thông tin đến/đi giữa 2 chương trình, ứng dụng một cổng định trước
(socket 443). Phiên bản SSL hiện nay là SSL 3.0 và đang được tiếp tục
bổ xung hoàn thiện
CHƯƠNG VI:
GIAO THỨC THỎA THUẬN KHÓA DIFFIE - HELLMAN
4.1. Giao thức thỏa thuận khóa Diffie – Hellman
4.1.1. Khái niệm thỏa thuận khóa.
Thoả thuận khoá: việc trao đổi khoá giữa các chủ thể trong một cộng đồng nào đó có thể được
thiết lập một cách tự do giữa bất cứ hai người nào khi có nhu cầu trao đổi thông tin.
4.2.2. Giao thức thỏa thuận khóa Diffie - Hellman.
- Trao đổi khóa Diffie – Hellman là thiết lập một khóa chia sẻ bí mật được sử dụng cho thông
tin liên lạc bí mật bằng cách trao đổi dữ liệu thông qua mạng công cộng. Đây mà một trong số
nhiều phương thức dùng để trao đổi khóa trong ngành mật mã học.
- Phương pháp này không cần có sự can thiệp của một TA ( cơ quan ủy thác) làm nhiệm vụ
điều hành hoặc phân phối khóa.
Phương pháp này cho phép những người sử dụng có thể cùng nhau tạo ra một khóa bí mật
thông qua 1 kênh truyền thông không đảm bảo về độ bảo mật .Khóa bí mật này sẽ được dùng
để người sử dụng trao đổi thông tin với nhau .
Cách thiết lập giao thức thỏa thuận khóa Diffie - Hellman.
Tình huống:
+ Alice và Bob muốn chia sẻ thông tin bảo mật cho nhau nhưng phương tiện truyền thông duy nhất
của họ là không an toàn. Tất cả các thông tin mà họ trao đổi được quan sát bởi Eve kẻ thù của họ.
+ Làm thế nào để Alice và Bob chia sẻ thông tin bảo mật cho nhau mà không làm cho Eve biết được?
Giải quyết tình huống trên:
+ Alice và Bob đồng ý dùng chung về một nhóm cyclic hữu hạn G và một yếu tố tạo ra g trong G.

(Điều này thường được thực hiện rất lâu trước khi phần còn lại của giao thức, g được giả định là được
biết đến bởi tất cả các kẻ tấn công)
+ Khi Alice và Bob muốn truyền thông tin bảo mật cho nhau có thể cùng thực hiện theo giao thức sau
để trao đổi:
1. Alice chon ngẫu nhiên số aA (0 ≤ aA ≤ p-2) bí mật, tính bA= gaA mod p
và gửi bA cho Bob
2. Tương tự, Bob chọn ngẫu nhiên số aB (0 ≤ aB ≤ p-2) bí mật, tính bB= gaBmod p và gửi bB cho
Alice.
3. Alice tính được khóa:
4. Bob tính được khóa:
+ Bây giờ Alice và Bob có cùng khóa chung là:
+ Mô tả giao thức Diffie – Hellman bằng bảng sau:
Chú ý là chỉ có aA, aB và KA, KB là được giữ bí mật. Tất cả các giá trị còn lại
như p, g, bA, bB, đều công khai. Một khi Alice và Bob tính được khóa bí mật
dùng chung, họ có thể dùng nó làm khóa mã hóa chỉ họ biết để gửi các thông điệp
qua cùng kênh giao tiếp mở. Đương nhiên, để đảm bảo an toàn, các giá trị aA, aB
và p cần được lấy lớn, g không cần lấy giá trị quá lớn. Thực tế thì g thường lấy giá
trị 2 hoặc 5.
Alice

Bob
Bí mật
Công khai Tính toán
Gửi Tính toán
Công khai Bí mật
aA P, g aB
aA P, g , bA
bA= gaA
mod p
bA P, g aB

aA bB
bB= gaB
mod p
P, g , , bB aB
aA
,KA
P, g , bA,
bB
P, g , bA,
bB
aB , KB
mod
A
a
A B
K b p
=
mod
B
a
B A
K b p
=
mod
B
a
B A
K b p
=
Sơ đồ giao thức thỏa thuận khóa Diffie - Hellman.

Alice Bob Eve
Biết Không
Biết
Biết Không
biết
Biết Không

biết
p=17 aB=? p=17 aA =? p=17 aA =?
g=5 g=2 g=2 aB=?
aA =6
aB=9 KA,B=
?
bA =26 mod17=13
bB =29 mod17=2
bA=2aAmod17=1
3
bB =2aB mod 17=2
bA =2aA
mod17=13
bB =2aB mod
17=2
KA=26 mod17=13
KB=139mod17=13
KA=2aAmod17
KB=13aBmod17=1
3
KA=2aAmod17=
13
KB=13aBmod1

7
KA,B=26mod17
=13aB mod 17
KA,B=2aAmod1
7
=139 mod 17
KA,B=2aAmod
17
=13aB mod 17
KA,B=13 KA,B=13
4.2.3.3. Giao thức là không an toàn đối với việc tấn công chủ động.
• Giao thức là không an toàn đối với việc tấn công chủ động bằng cách đánh
tráo giữa đường. Nghĩa là một người thứ ba Eve có thể đánh tráo các thông
tin trao đổi giữa Alice và Bob.

Chẳng hạn, Eve thay gaA mà Alice định gửi cho Bob bởi ga’A và thay gaB
mà Bob định gửi cho Alice bởi ga’B . Như vậy, sau khi thực hiện giao thức
trao đổi khoá, Alice đã lập một khoá chung gaAa’B với Eve mà vẫn tưởng là
với Bob; đồng thời Bob cũng lập một khoá chung ga’AaB với Eve mà vẫn
tưởng là với Alice. Eve có thể giải mã mọi thông báo mà Alice tưởng nhầm là
mình gửi đến Bob cũng như mọi thông báo mà Bob tưởng nhầm là mình gửi
đến Alice.

Một cách khắc phục kiểu tấn công này là làm sao để Alice và Bob có kiểm
thử để xác nhận tính đúng đắn của các khoá công khai bA và bB. Người ta
đưa vào giao thức trao đổi khoá Diffie-Hellman thêm vai trò điều phối của
một TA để được một hệ phân phối khoá Diffie-Hellman như một cách khắc
phục nhược điểm này. Trong hệ phân phối khoá Diffie-Hellman, sự can thiệp
của TA là rất yếu, thực ra TA chỉ làm mỗi việc là cấp chứng chỉ xác nhận khoá
công khai cho từng người dùng chứ không đòi hỏi biết thêm bất cứ một bí mật

nào của người dùng.

×