CHỨNG THỰC VÀ GỬI
THÔNG ĐIỆP MỘT CÁCH
BẢO MẬT
Ngô Văn Công
Nội dung
Bảo mật thông tin
Mã hóa dữ liệu
Cơ chế chứng thực
Bảo mật thông tin
Bảo mật
Không phải là một thuộc tính đơn thể
Kết hợp của nhiều thuộc tính độc lập với nhau
•
Không cần thỏa mãn tất cả các thuộc tính tại một
thời điểm
Bảo mật thông tin
Độ tin cậy(confidentiality)
Thông tin chỉ được truy xuất bởi những người được
phép
Áp dung cho thông tin lưu trữ, đang truyền hay đang
xử lý
Tính toàn vẹn(integrity)
Tính chính xác và đầy đủ của thông tin
Áp dung cho thông tin lưu trữ, đang truyền hay đang
xử lý
Tính sẵn sàng(availability)
Tính có thể truy cập và có thể sử dụng của những đối
tượng được phép
Bảo mật thông tin
Tính xác thực(Authenticity)
Đảm bảo cho 1 đối tượng chính xác là đối tượng mà
khai báo
Non-répudiation
Đảm bảo tính không thể chối tự
Độ tin cậy
Đảm bảo các chức năng hoạt động tốt cũng như kết
quả của nó
Authentication
Tiến trình chứng thực một đối tượng
Authorization
Tiến trình kiểm tra quyền của một đối tượng đối với 1
thao tác trên tài nguyên
Bảo mật thông tin
Les 4 W’s
What
Who
Where
Why
Mã hóa dự liệu
Mã hóa dữ liệu là gì
Mã hóa dữ liệu là cơ chế dùng để bảo vệ
thông tin bằng cách mã hóa và giải mã các
thông điệp
Trước kia, mã hóa chỉ dành cho các kênh
truyền thông bảo mật trong quân đội,
chính phủ
Ngày nay, mã hóa trở thành nền tảng cho
công nghệ bảo mật thông tin và tài
nguyên
Lịch sử phát triển
Hình thức truyền thống
Chuyển đổi các thông điệp nguồn, hoàn toàn
văn bản, sang thông điệp mã hóa, văn bản
mật mã và ngược lại.
Mã hóa bằng cách thay thế hoặc sắp xếp lại
các ký tự trong thông điệp nguồn
Thông thường quá trình mã hóa và giải mã
yêu cầu chia sẻ một thông tin bí mật gọi là
khóa giải mã
Chỉ những người nào có khóa giải mã thì mới
có thể giải mã được văn bản mật mã
(tt)
C=Ek (P) sử dụng khóa k để mã hóa văn
bản P cho ra văn bản mã hóa C
Dk (Ek(P)) = P
E,D là các hàm toán học
Mục đích của mã hóa
Sự tin cậy(confidentiality): chỉ có những
người nào được phép mới được xem hay sử
dụng các thông tin.
Chứng thực(Authentication): kiểm tra định
danh của thực thể trên mạng
Toàn vẹn(Integrity):bảo đảm rằng thông tin
sẽ không bị thay đổi trong quá trình truyền
trên mạng
Không thể từ chối(nonrepudiation): Đảm bảo
rằng người tham gia gửi thông tin không thể
chối từ là anh ta vừa gửi và người nhận thông
tin không thể chối từ rằng anh ta vừa nhận.
Các kiểu mã hóa
Mã hóa đối xứng(Symmetric key
encryption)
Mã hóa bất đối xứng(Asymmetric key
encryption)
Mã hóa đối xứng
Dùng một khóa cho cả quá trình mã hóa và giải mã
Chia sẻ khóa giữa người gửi và người nhận phải được
bảo mật để đảm bảo độ tin cậy
Vídụ:
Alice muốn gửi một thông điệp cho Bob
1. Alice và Bob sẽ chia sẻ khóa chung
2. Alice mã hóa thông điệp với khóa bí mật sau đó gửi
thông điệp đã được mã hóa cho Bob
3. Bob sau đó giải mã thông điệp bằng khóa chia sẻ
Mã hóa đối xứng
Một cách hay dùng của mã hóa đối xứng là các
giao thức truyền an toan, các giao thức này
dùng khóa đối xứng cho phiên làm việc để duy
trì độ tin cậy của thông tin.
TLS(Transport Layer Security)
IPSec(Internet Protocol Security)
Mã hóa đối xứng thì nhanh gấp 100 đến 1000
lần mã hóa bất đối xứng.
Một số mặt hạn chế
Khóa cần được chia sẻ giữa hai bên muốn trao đổi
thông tin.
Quá trình trao đổi khóa có nguy cơ là thành phần
thứ 3 tham gia vào
Rủi ro xuất hiện mỗi lần khóa cần trao đổi
Mã hóa bất đối xứng
Sử dùng 2 khóa khác nhau cho quá trình mã
hóa và giải mã(thường gọi là mã hóa công
khai)
Khóa công khai(public key) chia sẻ cho mọi
người, khóa riêng(private key) chỉ có chủ sở
hữu mới biết
Thuật tóan thiết kế sao cho thông điệp được
mã hóa với khóa chung thì chỉ được giải mã
bằng khóa riêng tương ứng. ngược lại thì
thông điệp được mã hóa bằng khóa riêng thì
chỉ được giải mã bằng khóa chung tương ứng
Khóa thiết kế theo cách mà nếu bít một khóa
thì không thể đoán ra khóa kia
(tt)
Ví dụ: Alice muốn gửi một thông điệp tới Bob
1. Alice có được khóa công khai của Bob
2. Alice sẽ mã hóa thông điệp với khóa công
khai và sau đó gửi thông điệp mã hóa cho
Bob
3. Bob giải mã thông điệp với khóa riêng
Mã hóa bất đối xứng(tt)
Các thuật toán mã hóa
DES(Data Enscryption Standard)
Thực hiện 2 thao tác chính với dữ liệu đầu
vào
•
Shifting(permutation)
•
Substituation(combination)
Des mã hóa dữ liệu mỗi lần một khoảng
64bit
chia làm 19 công đoạn khác nhau
(tt)
IDEA(International Data Enscryption Algorithm)
Dùng 128bit cho khóa
8 công đoạn khác
nhau
Điểm yếu của thuật toán đối xứng
Chia sẻ khóa trong một liên kết không an
toàn dẫn đến dữ liệu truyền dễ bị tấn công
Nếu thuật toán mã hóa có mạnh thì nó
cũng sẽ trở lên dễ giải mã nếu tin tặc lấy
được khóa bí mật
Quản lý khóa đối xứng
Mỗi kênh giao tiếp cấn có 1 khóa chia sẻ
Tại sao?
Có n hệ thống, cần có n(n-1)/2 khóa khác nhau và mỗi hệ thống cần duy
trì n-1 khóa.
Làm cách nào để giảm số lượng khóa trên mỗi hệ thống
Centralized key management
Public keys
K
1
K
4
K
2
K
3
K
5
K
6
K
7
K
8
K
9
K
10
Trung tâm quản lý khóa
Online Central Server
• Ch c n n khóa, thay vì n(n-1)/2ỉ ấ
Alice Bob
K
1
K
2
session key
Phân phối khóa
Mã hóa đối xứng yêu cầu cả 2 phía chia sẻ
một khóa bí mật chung
Làm sao để bảo mật quá trình phân phối
khóa
Một hệ thống mã hóa sẽ bị sập nếu quá
trình phân phối khóa bị lộ
25
Phương thức phân phối khóa
A có thể chọn một khóa sau đó gửi thủ công tới B
Bên thứ 3 sẽ chọn và gửi khóa đến cho A và B
Nếu A và B đã trao đổi thông tin trước đó thì có thể
dùng khóa trước đó để mã hóa khóa mới
Nếu A và B có liên kết bảo mật với bên thứ 3 là C,
C có thể sắp đặt khóa cho A và B
A và B có thể có lựa chọn phân phối khóa sau