Khái niệm về mã hóa Mã hóa nhằm đảm bảo các yêu cầu sau: Tính bí mật confidentiality: dữ liệu không bị xem Tính bí mật bởi “bên thứ 3” Tính toàn vẹn Integrity: dữ liệu không bị thay đ
Trang 1KỸ THUẬT MÃ HÓA
Encryption
Trang 3Khái niệm về mã hóa
Mã hóa nhằm đảm bảo các yêu cầu sau:
Tính bí mật (confidentiality): dữ liệu không bị xem Tính bí mật
bởi “bên thứ 3”
Tính toàn vẹn (Integrity): dữ liệu không bị thay đổi Tính toàn vẹn
trong quá trình truyền
Tính không khước từ (Non-repudiation): là cơ chế Tính không khước từ
người thực hiện hành động không thể chối bỏ
những gì mình đã làm, có thể kiểm chứng được nguồn gốc hoặc người đưa tin
Trang 4Khái niệm về mã hóa
Trang 5e ->5
f ->6
g ->a
h ->b
.
F5n
om n1fe ih5
ni ih5
1->a 2->b 3->c 4->d
5 ->d
6 ->f
a ->g
b ->h
.
Let
us talk one
to one
Trang 6 Block Cipher
Khái niệm về mã hóa
Ví dụ: mã DES, SHA-1
Trang 7Các giải thuật mã hóa
compare
Trang 8Các giải thuật mã hóa
Nhằm đảm bảo tính toàn vẹn của thông tin
Dữ liệu sau khi xử lý qua giải thuật băm gọi là giá trị băm (hash value)
Giá trị băm có đội dài không đổi , không phụ thuộc vào độ dài dữ liệu và được gửi đi cùng dữ liệu
Giá trị băm này sẽ được so sánh với giá trị băm gửi kèm
để xác định dữ liệu có bị thay đổi trên đường truyền hay không?
Một số giải thuật băm
MD5 (Message Digest 5): giá trị băm 128 bit (32 hex) SHA-1 (Secure Hash Algorithm): giá trị băm 160 bit
Trang 9Message digest #5 (MD5)
Thuật toán biến đổi 1 chuổi string thành 1 tín
hiệu “message digest” hay còn gọi là “MD5
hashes” (128 bits – 32 ký tự hexa)
Bất cứ string nào cũng điều có duy nhất một
hash, không bao giờ có 2 hashes cho 1 string
Từ 1 hash không thể tìm ngược lại string của nó
Ý nghĩa: “vân tay của thông điệp”
Trang 11Secure Hash Algorithm-1 (SHA-1)
SHA-1 tương tự như MD5 nhưng độ dài của giá trị băm
là 160 bit có độ bảo mật cao hơn MD5, khó bị bẻ
khóa bởi Brute Force
Dữ liệu vào được nhóm thành khối 16 từ mã 32-bit dạng Hex (khối 512-bit) dữ liệu ra 160 bit
Dữ liệu khối 512-bit được đưa vào xử lý tuần tự B1,, B2,
B3,… Bn
Việc tính toán được thực hiện trên 80 từ mã W0, W1, …,
W79 được đưa vào 2 bộ đệm có kích thước 5 từ mã
Bộ đệm 1: A, B, C, D, E
Trang 12Secure Hash Algorithm-1 (SHA-1)
Từ mã W16 – W79 được tính như sau:
Quá trình tính toán xuất ra từ mã SHA – 160 bit:
H0 H1 H2 H3 H4
Ví dụ
Plaintext: viethan
SHA-1: 61223A9F54B6AA8D15F93D1E04E8ADC225F2E9DC
Trang 13Secure Hash Algorithm-2 (SHA-2)
Các phiên bản của SHA-1
Độ dài của giá trị băm: 256, 348 và 512
SHA-2 256
SHA-2 348
SHA-2 512
Trang 14Các giải thuật mã hóa
C
function decryption
:
function encryption
keys
plaintexts
k
E D
E
K k
M m
Trang 15Các giải thuật mã hóa
Giải thuật mã hóa đồng bộ/đối xứng (Symmetric)
Tốc độ mã hóa nhanh, phù hợp với dữ liệu dung lượng lớn
Quá trình trao đổi khóa không an toàn
Các loại
DES (Data Encryption Standard): 56 bit key / 64 bit plaintext
3DES (Triple DES): 168 bit key
AES (Advanced Encryption Standard): 128, 192, 256 bit key
Vernam’s One-time pad: khóa thay đổi “giả ngẫu nhiên”
Có thể bẻ khóa bằng tấn công vét cạn (Brute Force)
Trang 16Data Encryption Standard (DES)
Sơ đồ mã hóa
Nếu khóa k được chọn, ta có
Quá trình mã hóa gồm 16 bước (round), mỗi bước sử dụng 1 key 48-bit (round key), bản tin được chia thành 2 khối 32-bit
Trang 17Data Encryption Standard (DES)
Cứ sau mỗi round, khối 32-bit được hoán vị cho đến round cuối cùng thì xuất mã DES
Đặc điểm
Tốc độ mã hóa nhanh, được sử dụng rộng rãi
Khóa có thể bị dò tìm bằng cách thử tất cả các tổ hợp có thể có của khóa
n i
c m
k DES
k
i
i ) , 1, ,,
(
)1,0
Trang 18Triple DES (3-DES)
Là một phiên bản của DES
Sử dụng 2-3 khóa thay vì 1 khóa đối với DES và mã hóa liên tục 3 lần
Trang 19Advanced Encryption Standard
(AES)
Xử lý khối dữ liệu 128-bit
Sử dụng 03 loại khóa 128, 192, 256-bit
Đối với AES-128, mã hóa được thực hiện qua
10 round sử dụng thuật toán Rijdael xuất mã AES 128 bit
Trang 20Các giải thuật mã hóa
(Asymmetric)
Khóa dùng để mã hóa và giải mã là khác nhau
Có 2 loại khóa
Khóa bí mật (Private key): giữ riêng
Khóa công khai (Public key): đưa ra công cộng
Trang 21Các giải thuật mã hóa
xứng (tt)
Các giải thuật
RSA (Ron Rivest, Adi Shamir, and Leonard Adleman)
DSA (Digital Signature Standard)
Diffie-Hellman (W.Diffie and Dr.M.E.Hellman)
Ý nghĩa thực tiễn
Mã hóa
Trang 22Chọn khóa chung (public) kp (số nguyên tố)
Tính khóa riêng kr sao cho: E mod (kp*kr) =1
Mã hóa bản tin C = m kr mod n
Giải mã tín hiệu nhận được = mkp mod n
Trang 23Công cụ
TrueCrypt
GPG
Trang 24Thực hành
Mã hóa file dữ liệu bằng PGP
Tìm kiếm trên Internet ứng dụng sau và cài vào máy:
Trang 25 Mã hóa nội dung email
1-Cài đặt ThunderBird ThunderBird
2-Cài đặt Enigmail (add-on) tải về tại Enigmail
http://enigmail.mozdev.org
5-Xuất key và gửi đến người nhận
6-Giải mã nội dung email
Trang 26Thực hành
Tạo form nhập chuỗi bất kỳ
Xuất dữ liệu
Trang 27Chữ ký số
Licensing site
Trang 28Chữ ký số
điện tử)
“Chữ ký số đượ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ử, gắn liền hoặc kết hợp một cách lôgic với thông điệp dữ liệu, có khả năng xác nhận người ký thông điệp
dữ liệu và xác nhận sự chấp thuận của người đó đối với nội dung thông điệp dữ liệu được ký.
Chữ ký số có thể được chứng thực bởi một tổ chức cung cấp dịch vụ chứng thực chữ ký.”
Trang 29Chữ ký số
Chữ ký điện tử : Digital Signature
Là một phương pháp chứng thực thông tin sử dụng kỹ thuật mã hóa
Hàm băm (MD5/SHA)
Gửi đến nơi nhận
Trang 30Chứng chỉ số
Certificate Authority - CA
Trang 31PKI là cấu trúc nền tảng của mã hóa không đối
xứng, nó không định nghĩa các công nghệ cụ thể.
Việc thực hiện PKI là khác nhau, phụ thuộc vào các công nghệ sử dụng
được dùng để chỉ toàn bộ hệ thống bao gồm nhà cung cấp chứng thực số (CA) cùng các cơ chế liên quan đồng thời với toàn bộ việc sử dụng các
Trang 32 Certificate Authority – CA: là bên thứ 3 đứng ra nhận trách nhiệm cung cấp, thu hồi và phân phối khóa
Digital Certificate: chứng chỉ số
Certificate Policy
Certificate Pratice Statement - CPS
Trang 36 Quản lý khóa
Tạo khóa: tập trung và phân tán
Lưu trữ và phân phối khóa
Trang 37Tiêu chuẩn và giao thức mã hóa
Nguồn gốc của các tiêu chuẩn và giao thức mã hóa
Từ các tổ chức của chính phủ và quân đội
NSA (National Security Agency)
NIST (National Institute of Standards and Technology)
Từ các hiệp hội
IETF (Internet Engineering Task Force)
IEEE (Institute of Electrical and Electroncis Engineers)
W3C (World Wide Web Consortium)
Từ các tổ chức công cộng
PGP (Pretty Good Privacy)
Trang 38Tiêu chuẩn và giao thức mã hóa
Định nghĩa cấu trúc và các trường trong khóa
công khai (Public key)
Định nghĩa thủ tục phân phối khóa
Trang 39Tiêu chuẩn và giao thức mã hóa
SSL (Secure Socket Layer) và TLS (Transport
Layer Security)
Đảm bảo tính toàn vẹn
`
Connection Request Security Capabilities Secure Connection Needed
SSL Connection Established
Trang 40Tiêu chuẩn và giao thức mã hóa
CMP (Certificate Management Protocols)
Giao thức quản lý giao tiếp trong sử dụng khóa
S/MIME (Secure Multipurpose Internet Mail Extensions)
Trang 41Tiêu chuẩn và giao thức mã hóa
SET (Secure Electronic Transaction)
Chuẩn dùng để mã hóa thông tin của các thẻ tín dụng
SSH (Secure Shell)
Sử dụng trong các ứng dụng terminal thay thế cho telnet, rlogin, remote
Internet
Trang 42Tiêu chuẩn và giao thức mã hóa
PGP (Pretty Good Privacy)
Trang 43Tiêu chuẩn và giao thức mã hóa
nhau
IPSec (Internet Protocol Security)
Dùng 2 giao thức
AH (Authentication Header): chứng thực, toàn vẹn
Trang 44Tiêu chuẩn và giao thức mã hóa
Trang 45Tiêu chuẩn và giao thức mã hóa
Tập các tiêu chuẩn quốc tế dùng để đánh giá hệ thống
WTLS (Wireless Transport Layer Security)
Cung cấp chứng thực và kết nối mã hóa giữa Client và Server trong hệ thống mạng không dây
WEP (Wired Equivalent Privacy)
Giao thức mã hóa cho các thiết bị không dây, đảm bảo hoạt động như các thiết bị có dây
Trang 46Thực hành
dịch vụ email, mã hóa nội dung email
Trang 47 Incomming: pop.gmail.com (port: 995, SSL) pop.gmail.com
Outgoing: smtp.gmail.com (port: 465, SSL) smtp.gmail.com
Trang 48Submit để gửi y/c
Đăng nhập vào http://localhost/certsrv Đăng nhập vào http://localhost/certsrv để tải
chứng chỉ về
Trang 49 Chọn View status of pending certificate
Chọn Email Protection Certificate
Chọn Install cài đặt vào máy tính
Trang 50Thảo luận
Mã hóa: MD5(1), SHA-2(2), AES(3), RSA(4): mô
tả thuật toán (lưu đồ), viết chương trình mô
phỏng thuật toán (C#, PHP,…)
PKI:
CA(2,4): mã hóa email, cấp chứng chỉ số