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

Bài giảng bảo mật hệ thống thông tin chương 3 quản lý khóa mã 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 (578.23 KB, 40 trang )

BMHTTT
1
NN
NN
CHƯƠNG III
CHƯƠNG III
Quản lý khóa mã công khai
BMHTTT 2
NN
NN
III.1 Mã kho
III.1 Mã kho
á
á
công khai
công khai
 III.1.1 giới thiệu
 Mã khoá riêng
 Mã khoá riêng còn được gọi là mã khoá đơn
hay mật.
 Ở đây chỉ dùng một khoá, dùng chung cả người
nhận và người gửi.
 Khi khoá này được dùng, việc trao đổi thông tin
về khoá sẽ được thỏa thuận trước.
 Người ta còn gọi đây là mã đối xứng, vì hai đối
tác có vai trò như nhau.
 Không bảo vệ người gửi khỏi việc người nhận
giả mạo mẩu tin và tuyên bố là nó được gửi
bằng người gửi.
BMHTTT 3
NN


NN
Gi
Gi


i thi
i thi


u
u
 Khoá công khai ra đời vào đầu những năm 1970.
Đây là bước tiến quan trọng nhất trong lịch sử
3000 năm mã hoá.
 Ở đây người ta sử dụng 2 khoá: một khoá riêng để
giải mã và một khoá công khai để mã hóa. Hai
khoá này khác nhau, mã khoá công khai còn được
gọi là mã không đối xứng.
 Người ta đã ứng dụng lý thuyết số về hàm số.
 Khoá công khai ra đời hỗ trợ thêm để giải quyết
một số bài toán an toàn, chứ không phải thay thế
khoá riêng. Cả hai khoá cùng tồn tại, phát triển và
bổ sung cho nhau.
BMHTTT 4
NN
NN
Sơ đ
Sơ đ



mã kho
mã kho
á
á
công khai
công khai
BMHTTT 5
NN
NN
III.1.2 D
III.1.2 D
ù
ù
ng mã kho
ng mã kho
á
á
công khai
công khai
 Phân phối khoá: làm sao có thể phân phối
khóa an toàn
 Chữ ký điện tử: làm sao có thể kiểm chứng
được rằng mẩu tin gửi đến nguyên vẹn từ
đúng người đứng tên gửi.
BMHTTT 6
NN
NN
III.1.3 C
III.1.3 C
á

á
c đ
c đ


c trưng c
c trưng c


a kho
a kho
á
á
công kha
i
công kha
i
 Không có khả năng tính toán để tìm khoá
giải mã nếu chỉ biết thuật toán mã và khoá
dùng để mã.
 Có thể dễ dàng mã hoá hoặc giải mã mẩu tin
nếu biết khoá tương ứng
 Trong một số sơ đồ: một khoá bất kỳ trong
hai khoá có thể dùng để mã, còn khoá kia
dùng để giải mã. Chúng có vai trò đối ngược
nhau.
BMHTTT 7
NN
NN
III.1.4 T

III.1.4 T
í
í
nh an to
nh an to
à
à
n c
n c


a kho
a kho
á
á
công khai
công khai
 Khi biết một trong hai khoá và thuật toán mã hoá
về nguyên tắc ta có thể dò tìm khoá thứ hai bằng
cách tính toán các giá trị liên quan.
 Nếu khoá sử dụng là rất lớn cỡ hơn 512 bit, thì hầu
như bài toán tìm khoá thứ hai là không khả thi
 Bài toán dễ là mã/giải mã khi biết khoá và bài toán
khó là thám mã khi không biết khoá tương ứng
 Mã công khai thường chậm hơn khá nhiều so với
mã đối xứng, nên nó thường được dùng mã những
thông tin nhỏ quan trọng.
BMHTTT 8
NN
NN

V.2 RSA
V.2 RSA
 RSA là mã công khai được sáng tạo bởi
Rivest, Shamir & Adleman ở MIT (Trường
Đại học Công nghệ Massachusetts) vào năm
1977.
 RSA là mã công khai được biết đến nhiều
nhất và sử dụng rộng rãi nhất hiện nay
BMHTTT 9
NN
NN
Gi
Gi


i thu
i thu


t RSA
t RSA
BMHTTT 10
NN
NN
Mã v
Mã v
à
à
gi
gi



i mã theo RSA
i mã theo RSA
BMHTTT 11
NN
NN
V
V
í
í
d
d


1. Chọn các số nguyên tố:
p
=17 &
q
=11.
2. Tính
n
=
pq, n
= 17×11=187
3. Tính Ф(
n
)=(
p–
1)(

q-
1)=16×10=160
4. Chọn e: gcd(e,160)=1; Lấy
e
=7
5. Xác định d:
d=e
-
1
mod 160 và
d
< 160
6. Giá trị cần tìm là d=23, vì 23×7=161=
1×160+1
7. Khoá công khai KU={7,187}
8. Giữ khoá riêng bí mật KR={23,187}
BMHTTT 12
NN
NN
An to
An to
à
à
n c
n c


a RSA
a RSA
 Tấn công vét cạn (Brute force)

 Tấn công toán học (Mathematical attacks):
cố gắng phân tích tích của 2 số nguyên tố
 Tấn công tính toán thời gian (Timing attacks)
 Tấn công bản mã (Chosen ciphertext
attacks): Khai thác tính chất của giải thuật
BMHTTT 13
NN
NN
T
T


n công v
n công v
é
é
t c
t c


n (Brute force)
n (Brute force)
 Để phòng chống dùng kích thước khóa lớn
 Việc thực thi phức tạp làm giảm tốc độ thực
hiện
BMHTTT 14
NN
NN
T
T



n công to
n công to
á
á
n h
n h


c
c
 3 cách
 Phân tích N = p.q, sau đó tính Ф(N) và d
 Tìm N trực tiếp, Ф(N) và tính d
 Tìm d trực tiếp
 Đề nghị
 p và q phải khác nhau trong độ dài chỉ vài
số
 (p1) và (q1) là số nguyên tố lớn
 gcd(p 1, q 1) phải nhỏ
BMHTTT 15
NN
NN
T
T


n công th
n công th



i gian
i gian
 Phát triển vào giữa năm 1990
 Paul Kocher chỉ ra rằng kẻ thám mã có thể
xác định được khoá riêng nếu theo dõi thời
gian máy tính cần để giải mã các bản tin.
 Tấn công thời gian không chỉ áp dụng cho
RSA, mà cả với các hệ mã công khai khác.
 Tấn công thời gian giống như kẻ cướp đoán
số điện thọai bằng cách quan sát một người
nào đó trong bao lâu chuyển quay điện
thoại từ số này sang số khác.
BMHTTT 16
NN
NN
PHÒNG CH
PHÒNG CH


NG T
NG T


N CÔNG TH
N CÔNG TH


I GIAN

I GIAN
 Bảo đảm các số mũ khác nhau không ảnh
hưởng nhiều tới thời gian trả về kết quả
(giảm tốc độ thực thi)
 Cộng thêm một trì hoãn ngẫu nhiên
(Random delay
 Nhân bản mã với 1 số ngẫu nhiên trước khi
mũ hóa (Blinding): tránh phân tích bit theo
bit (bit by bit)
BMHTTT 17
NN
NN
Optimal Assymetric Encryption
Optimal Assymetric Encryption
Padding (OAEP)
Padding (OAEP)
BMHTTT 18
NN
NN
III.3 Qu
III.3 Qu


n lý kh
n lý kh
ó
ó
a
a
V.3.1 Phân phối khóa

 Dùng mã hóa khóa công khai
 Phân phối khoá công khai
 Sử dụng mã khoá công khai để phân phối khoá
mật (còn khoá mật dùng để mã hoá thông tin).
 Phân phối khoá công khai:
 Thông báo công khai khóa của người sử dụng.
 Thư mục truy cập công cộng.
 Phân phối khóa công khai từ tổ chức
 Chứng nhận khoá công khai: khoá công khai của
người sử dụng được nơi có thẩm quyền chứng
nhận.
BMHTTT 19
NN
NN
Thông b
Thông b
á
á
o công khai
o công khai
 Người dùng phân phối khoá công khai cho người
nhận hoặc thông báo rộng rãi cho cộng đồng.
 Điểm yếu chính của thông báo công khai là sự mạo
danh.
BMHTTT 20
NN
NN
Thư m
Thư m



c cho m
c cho m


i ngư
i ngư


i
i
 Người có quyền cho phép mỗi người tham gia một đầu
vào (tên, khóa)
 Mỗi người tham gia đăng ký một khóa công khai
 Người tham gia có thể thay đổi khóa
 Người tham gia có thể truy cập vào thư mục một cách an
toàn
Kẻ xâm nhập có thể đoạt được quyền quản trị thư mục
BMHTTT 21
NN
NN
Phân ph
Phân ph


i kho
i kho
á
á
công khai t

công khai t


t
t


ch
ch


c
c
 Chặt chẽ được cộng thêm cho thư mục công cộng
 Tất cả phải biết khóa công khai của tổ chức phân phối
 Giới hạn: bottleness
BMHTTT 22
NN
NN
Ch
Ch


ng nh
ng nh


n kho
n kho
á

á
công khai
công khai
 Giấy chứng nhận giống như CMND, dựa vào một tổ chức
thứ 3 (CA, Certificate Authority)
 Chứng nhận chứa: Khóa công khai, một nhận dạng chủ của
khóa, thời gian hiệu lực
BMHTTT 23
NN
NN
S
S


d
d


ng mã kho
ng mã kho
á
á
công khai đ
công khai đ


phân
phân
ph
ph



i kho
i kho
á
á
m
m


t
t
 Các thuật toán khoá công khai chậm, nên giá để bảo mật
thông tin là đắt.
 Dùng khoá đối xứng để mã hoávàgiải mã nội dung bản tin,
mà còn được gọi là khoá phiên hay khóa kỳ (section key).
Phân phối khóa đơn giản: dễ bị tấn công man-in-the-middle
BMHTTT 24
NN
NN
Phân ph
Phân ph


i kh
i kh
ó
ó
a c
a c



i ti
i ti
ế
ế
n
n
BMHTTT 25
NN
NN
H
H


th
th


ng lai
ng lai
 Các Mainframe của IBM. Trung tâm phân bổ
khóa (Key distribution center - KDC): phân
bổ khóa chính bí mật, khóa phiên. Lược đồ
khóa công cộng dùng để phân phối khóa
chính
 Thuận lợi
 Phân bổ khóa phiên bởi public-key
encryption cho phép giảm tải, public-key
encryption dùng để cập nhật khóa chính

giữa người dùng và KDC
 Dễ dàng dùng lại KDC

×