ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đào Minh Ngọc NGHIÊN CỨU ỨNG DỤNG SINH TRẮC HỌC
TRONG VIỆC ĐẢM BẢO AN TOÀN
CHO HỆ THỐNG GIAO DỊCH ĐIỆN TỬ LUẬN VĂN THẠC SĨ
Hà Nội - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đào Minh Ngọc
1.2 Nhu cầu bảo mật và an toàn thông tin cho TMĐT 6
1.2.1 Khảo sát thực trạng PKI trên thế giới và tại Việt Nam 8
1.2.2 Khảo sát thực trạng PKI ở một số nƣớc trên thế giới 8
1.2.3 Khảo sát thực trạng PKI ở Việt Nam 9
1.3 Cơ sở lý thuyết mật mã 10
1.3.1 Khái niệm về mã hóa 10
1.3.2 Định nghĩa hệ mã hóa 10
1.3.3 Những yêu cầu đối với hệ mã hóa 11
1.3.4 Mã hóa khóa đối xứng 11
1.3.5 Mã hóa khóa công khai 12
1.3.6 Thuật toán băm 14
1.4 Chữ ký số 15
1.4.1 Khái niệm chữ ký số 15
1.4.2 Sơ đồ chữ ký số 16
1.4.3 Các cách tấn công chữ ký điện tử 18
1.5 Kết chƣơng 19
Chƣơng 2: CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI VÀ MẬT MÃ SINH TRẮC 20
2.1 Cơ sở hạ tầng khóa công khai 20
2.1.1 Khái niệm PKI 20
2.1.2 Các dịch vụ và phạm vi ứng dụng của PKI 20
2.1.3 Các thành phần của PKI 20
2.1.4 Mô hình của hệ thống PKI 21
2.1.5 Các chức năng và thuộc tính yêu cầu của PKI 21
2.1.6 Hệ thống cung cấp và quản lý chứng thƣ 26
2.1.7 Các mô hình triển khai hệ thống CA 29
2.1.8 Đánh giá và phân tích 34 2.2 Mật mã sinh trắc học 35
2.2.1 Sinh trắc học 35
KẾT LUẬN 78
TÀI LIỆU THAM KHẢO 79
PHỤ LỤC 81 DANH MỤC HÌNH
Hình 2-4. Sơ đồ tạo chữ ký 17
Hình 2-5. Sơ đồ xác thực chữ ký 17
Hình 2-7. Mô hình của hệ thống PKI 21
Hình 2-6. Mô hình chứng thƣ số 23
Hình 2-8. Mô hình kiến trúc phân cấp 30
Hình 2-9. Mô hình kiến trúc mạng lƣới 31
Hình 2-10. Mô hình kiến trúc Cầu liên kết 33
Hình 2-15. Các đặc trƣng tổng thể: đƣờng chuẩn và số đếm đƣờng vân. 39
Hình 2-16. Đặc trƣng hƣớng của vân tay. 39
Hình 2-17. Một số ảnh vân tay. 40
Hình 2-19. Biểu diễn các điểm minutiae 42
Hình 2-20. Tổng quan quá trình đăng ký của mã hóa sinh trắc học 51
Hình 2-21. Tổng quan quá trình xác thực của mã hóa sinh trắc học 52
Hình 2-22. Xử lý ảnh trong quá trình đăng ký 53
Hình 2-23. Giải thuật liên kết khóa 54
Hình 2-24. Xử lý ảnh ở trong quá trình xác thực 56
Hình 2-25. Giải thuật khôi phục khóa 57
Hình 3-1. Hệ thống PKI 62
Hình 3-2. Cấu trúc chứng thƣ X509 63
Hình 3-3. Giải pháp tích hợp đặc trƣng sinh trắc vào X509 65
Hình 3-4. Biểu đồ làm việc của PKI khi chƣa kết hợp hệ thống sinh trắc 67
Hình 3-5. Biểu đồ làm việc của PKI khi kết hợp hệ thống sinh trắc 67
Hình 3-6. Giải pháp dùng mật mã sinh trắc để bảo vệ khóa bí mật. 69
Hình 3-7. Mô hình tích hợp sinh trắc vào hệ thống PKI 70
RA
Registration Authority
9.
RSA
Rivest Shamir Adleman
10. 9
Sub CA
Subordinate CA
11. 9
TMĐT
Thƣơng mại điện tử
1
MỞ ĐẦU
Ngày nay, hệ thống cơ sở hạ tầng khóa công khai (PKI – Public Key
Infrastructure) đang là một cơ sở quan trọng để triển khai các giao dịch điện tử trên
mạng. PKI cùng các tiêu chuẩn và công nghệ ứng dụng của nó có thể đƣợc coi là một
giải pháp tổng hợp giải quyết bài toán đảm bảo an toàn thông tin trong xã hội hiện đại.
Tuy nhiên, nhƣợc điểm lớn của PKI chính là vấn đề đảm bảo an toàn cho khóa bí mật
của ngƣời dùng trong khi lƣu trữ cũng nhƣ sử dụng. Nền tảng của hệ thống PKI chính
là hệ thống mật mã khóa công khai: tức là một cặp khóa công khai và khóa bí mật để
thực hiện các quá trình xác thực. Song quyền truy cập đến khóa bí mật lại chủ yếu chỉ
đƣợc bảo vệ bằng mật khẩu, mà trên thực tế mật khẩu rất có nguy cơ bị lộ, mất cũng
nhƣ bị đánh cắp bằng các chƣơng trình virus, mã độc hại Hơn nữa, PKI còn bị hạn
chế là khong có đấu hiệu đặc trƣng để nhận biết chủ sở hữu của chứng thƣ số và việc
xác thực chứng thƣ số chỉ dựa vào số serialnumber do cơ quan chứng thực (CA) cấp.
Tất cả những vấn đề này có thể đƣợc giải quyết bằng một cách đơn giản hơn, đó là
kết hợp đặc điểm sinh trắc của chủ sở hữu khóa vào hệ thống PKI. Việc làm này tạo
nên một cơ chế xác thực định danh mạnh hơn mật khẩu truyền thống. Về nguyên tắc,
đây là giải pháp tƣơng đối hoàn thiện cho vấn đề bảo vệ an toàn và sử dụng khóa bí
các lĩnh vực hoạt động và đời sống con ngƣời, trong đó có các hoạt động thƣơng mại.
Ngƣời ta đã có thể tiến hành các hoạt động thƣơng mại nhờ các phƣơng tiện điện tử,
đó chính là thƣơng mại điện tử(TMĐT).
Theo nghĩa hẹp, TMĐT là việc mua bán hàng hoá và dịch vụ thông qua các
phƣơng tiện điện tử, nhất là Internet và các mạng viễn thông khác.
Theo nghĩa rộng thì TMĐT có thể đƣợc hiểu là các giao dịch tài chính và thƣơng
mại bằng phƣơng tiện điện tử nhƣ: trao đổi dữ liệu điện tử; chuyển tiền điện tử và các
hoạt động gửi rút tiền bằng thẻ tín dụng.
Trên thực tế, chính các hoạt động thƣơng mại thông qua mạng Internet đã làm phát
sinh thuật ngữ TMĐT.
Đặc trƣng của TMĐT
Các bên tiến hành giao dịch trong TMĐT không tiếp xúc trực tiếp với nhau và
không đòi hỏi phải biết nhau từ trƣớc.
Các giao dịch thƣơng mại truyền thống đƣợc thực hiện với sự tồn tại của khái
niệm biên giới quốc gia, còn TMĐT đƣợc thực hiện trong một thị trƣờng không có
biên giới (thị trƣờng thống nhất toàn cầu). TMĐT trực tiếp tác động tới môi trƣờng
cạnh tranh toàn cầu.
Trong hoạt động giao dịch TMĐT đều có sự tham ra của ít nhất ba chủ thể,
trong đó có một bên không thể thiếu đƣợc là ngƣời cung cấp dịch vụ mạng, các cơ
quan chứng thực.
Đối với thƣơng mại truyền thống thì mạng lƣới thông tin chỉ là phƣơng tiện để
trao đổi dữ liệu, còn đối với TMĐT thì mạng lƣới thông tin chính là thị trƣờng.
3
Phân loại thƣơng mại điện tử
TMĐT có thể đƣợc phân loại theo tính cách của ngƣời tham gia:
Người tiêu dùng
C2C (Consumer-To-Comsumer): Ngƣời tiêu dùng với ngƣời tiêu dùng
C2B (Consumer-To-Business): Ngƣời tiêu dùng với doanh nghiệp
C2G (Consumer-To-Government): Ngƣời tiêu dùng với chính phủ
nghiệp Việt Nam đã nhận thức rõ về tầm quan trọng của thƣơng mại điện tử đối với
4
hoạt động sản xuất kinh doanh và sẵn sàng ứng dụng thƣơng mại điện tử ở mức cao
hơn trong thời gian tới.
Các tổ chức đào tạo chính quy đẩy mạnh giảng dạy thƣơng mại điện tử
Kết quả cuộc điều tra cho thấy đến thời điểm cuối năm 2008, tại Việt Nam có 49
trƣờng triển khai hoạt động đào tạo về thƣơng mại điện tử, gồm 30 trƣờng đại học và
19 trƣờng cao đẳng. Trong số 30 trƣờng đại học đã giảng dạy thƣơng mại điện tử, 1
trƣờng thành lập khoa thƣơng mại điện tử, 19 trƣờng giao cho khoa kinh tế – quản trị
kinh doanh phụ trách giảng dạy thƣơng mại điện tử và 10 trƣờng giao cho khoa công
nghệ thông tin phụ trách giảng dạy môn học này, 8 trƣờng thành lập bộ môn thƣơng
mại điện tử. Trong số 19 trƣờng cao đẳng đã giảng dạy thƣơng mại điện tử, 1 trƣờng
thành lập khoa thƣơng mại điện tử, 9 trƣờng giao cho khoa kinh tế phụ trách giảng dạy
thƣơng mại điện tử và 9 trƣờng giao cho khoa công nghệ thông tin phụ trách dạy môn
học này, có 3 trƣờng cao đẳng đã thành lập bộ môn thƣơng mại điện tử.
Vấn đề bảo vệ dữ liệu cá nhân bƣớc đầu đƣợc quan tâm
Bên cạnh những nét nổi bật trên, năm 2008 còn chứng kiến những chuyển biến có
ý nghĩa lớn đối với sự phát triển của thƣơng mại điện tử Việt Nam giai đoạn tới.
Trong thƣơng mại điện tử, các giao dịch đƣợc thực hiện hoàn toàn trên môi trƣờng
mạng, các đối tác không cần phải gặp mặt trực tiếp, nên nhu cầu về thông tin cá nhân
là rất lớn. Giao dịch thƣơng mại điện tử của các doanh nghiệp Việt Nam thời gian gần
đây tăng nhanh, khối lƣợng thông tin trao đổi ngày càng nhiều. Tuy nhiên, những vi
phạm liên quan đến thông tin cá nhân cũng ngày một nhiều hơn, gây tâm lý e ngại cho
các cá nhân, tổ chức khi tham gia giao dịch thƣơng mại điện tử.
Thanh toán điện tử tiếp tục phát triển nhanh và đang đi vào cuộc sống
Nếu nhƣ năm 2007 đƣợc đánh giá là năm đánh dấu bƣớc phát triển nhanh chóng
và toàn diện của thanh toán điện tử, thì năm 2008 là năm thanh toán điện tử khởi sắc
và thực sự đi vào cuộc sống.
Đối với hệ thống thanh toán ở tầm quốc gia, sau nhiều năm tích cực triển khai,
trong đó quy định Ban cơ yếu Chính phủ tành lập và duy trì hoạt động của Tổ chức
cung cấp dịch vụ chứng thực chữ ký ố chuyên dùng phục vụ các cơ quan thuộc hệ
thống chính trị, còn lại các hệ thống cung cấp dịch vụ chứng thực khác do Bộ Thông
tin và Truyền thông quản lý.
- Nghị định số 73/2007/NĐ-CP ngày 8 tháng 5 năm 2007 của chính phủ về hoạt
động nghiên cứu, sản xuất, kinh doanh và sử dụng mật mã để bảo vệ thông tin không
thuộc phạm vi bí mật Nhà nƣớc.
- Quyết định 59 ngày 31 tháng 12 năm 2008 của bộ Thông tin và Truyền thông
ban hành danh mục tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ chứng thực
chữ ký số. Quyết định này đã đƣa ra 6 loại tiêu chuẩn trong giao dịch điện tử đƣợc quy
định bắt buộc phải áp dụng chữ ký số và chứng thực số, bao gồm:
Chuẩn bảo mật cho HSM (thiết bị lƣu trữ bảo mật).
Chuẩn mã hóa.
Chuẩn yêu cầu và trao đổi chứng thƣ số.
Chuẩn về chính sách và quy chế chứng thực chữ ký số.
Chuẩn về lƣu trữ và truy xuất chứng thƣ số.
Chuẩn về kiểm tra trạng thái chứng thƣ số.
6
Ba trong bốn văn bản pháp lý đã nêu ở trên dù ít hay nhiều đều có đề cập đến tính
pháp lý của chữ ký số cũng nhƣ quy định một số điều liên quan đến việc quản lý, cung
cấp, sử dụng dịch vụ chứng thực điện tử. Văn bản còn lại liên quan đến việc sử dụng
mật mã trong chứng thực điện tử. Các hệ thống PKI ở Việt Nam đang còn ở thời kỳ
đầu, để có thể cung cấp dịch vụ chứng thực điện tử một cách tốt nhất, chúng ta cần
quan tâm đến các vấn đề sau trong việc xây dựng hệ thống cung cấp dịch vụ này :
- Xây dựng hành lang pháp lý.
- Xây dựng hệ thống tiêu chuẩn về chứng thực điện tử.
- Triển khai xây dựng hệ thống CA.
- Giám sát đánh giá hoạt động của các CA.
- Tuyên truyền hƣớng dẫn ngƣời sử dụng và đào tạo đội ngũ kỹ thuật.
Mà sự tin tƣởng là nền tảng của mọi giao dịch thƣơng mại thành công, điều này
càng đúng đối với TMĐT. Nhiều cuộc điều tra cho thấy một trong những trở ngại
chính cho TMĐT chính là thiếu sự tin tƣởng giữa hai hay nhiều bên giao dịch 'ảo' trên
mạng. Sự việc còn bị làm xấu đi khi các kẻ phá hoại cố tình hạ thấp uy tín của 'cửa
hàng' TMĐT của bạn bằng đủ mọi cách khác nhau: sửa chữa nội dung trang web, đƣa
vào các thông tin xấu, tạo các trang web có địa chỉ gần giống để làm lạc hƣớng khách
hàng, đƣa các thông tin bí mật của khách hàng ra ngoài, chuyển khách hàng đến một
trang web khác khi họ định truy cập vào trang chủ của website TMĐT (kỹ thuật
Defacing), dùng kỹ thuật Cross-site scripting và tạo website giả nhằm ăn cắp thông tin
thẻ và thông tin cá nhân của khách hàng trong khi khách hàng vẫn tƣởng đang giao
dịch với trang web TMĐT của bạn
Từ trên cho thấy, nhu cầu bảo mật và an toàn thông tin cho TMĐT là rất lớn và
chính an toàn TMĐT là một phần không thể thiếu đƣợc của TMĐT. Để bảo mật và an
toàn thông tin trong giao dịch TMĐT có hai vấn đề: một là, phải xác định đƣợc chính
xác phía đang giao dịch qua mạng; hai là, ngƣời tiêu dùng phải có cơ sở để tin vào hệ
thống TMĐT mà họ đang giao dịch có độ an toàn cao (ví dụ, thông tin giao dịch đƣợc
mã hoá trên đƣờng truyền bằng SSL). Cả hai khía cạnh trên thƣờng đƣợc giải quyết
bằng kỹ thuật chứng thƣ số và chữ ký điện tử.
Vậy bảo vệ hệ thống TMĐT nhƣ thế nào? Thông thƣờng, các giải pháp bảo vệ hệ
thống TMĐT có thể đƣợc chia làm 3 loại.
Thứ nhất: bảo vệ hệ thống cung cấp dịch vụ (hệ thống máy chủ Front- End và
Back- End), bao gồm:
Bảo vệ mạng: sử dụng tƣờng lửa hai lớp, áp dụng thiết bị phát hiện xâm nhập
cho mạng và cho máy chủ
Bảo vệ ứng dụng và hệ thống: kiểm soát các lỗ hổng ứng dụng, nhất là ứng
dụng web. Ứng dụng tƣờng lửa thế hệ mới có chống tấn công tầng ứng dụng,
chống virus, kiểm soát truy cập hệ thống, mã hóa dữ liệu trên server,
Thứ hai: bảo vệ các giao dịch bao gồm: Mã hoá nội dung giao dịch, bảo đảm giữ
bí mật; Bảo đảm tính toàn vẹn của giao dịch, mọi thay đổi phải đƣợc phát hiện; Xác
định đƣợc nguồn gốc của giao dịch, bảo đảm chống từ chối giao dịch hay giao dịch từ
năm 2001.
Tuy chứng thực điện tử phát triển khá nhanh và đƣợc sử dụng khá hiệu quả trong
rất nhiều ứng dụng nhƣ vậy nhƣng không phải không có những yếu tố cản trở sự phát
triển của nó. Ở đây có thể nêu lên một số yếu tố chính cản trở sự phát triển của chứng
thực điện tử, đó là :
Còn ít phần mềm ứng dụng hỗ trợ sử dụng chứng thực điện tử.
Giá thành hệ thống CA cũng nhƣ phí cung cấp dịch vụ cao.
Thiếu hiểu biết về PKI.
Có quá nhiều công nghệ đƣợc sử dụng.
Khó sử dụng đối với ngƣời dùng.
Khả năng kết hợp làm việc giữa các hệ thống chƣa tốt.
9
Thiếu việc hỗ trợ quản lý.
Tóm lại việc phát triển chứng thực điện tử là một xu hƣớng tất yếu trên thế giới
nhƣng trong quá trình phát triển cũng gặp những rào cản nhất định. Các nƣớc hầu hết
đã triển khai cung cấp dịch vụ chứng thực điện tử đặc biệt là những nƣớc có các ứng
dụng trên mạng phát triển.
1.2.3 Khảo sát thực trạng PKI ở Việt Nam
Sau gần 5 năm, việc triển khai PKI và chứng thực điện tử ở Việt Nam đƣợc đánh
giá là đã đi đúng hƣớng và bài bản, nhƣng tiến độ còn quá chậm. Hiện nay, có hai hạ
tầng chính phát triển hệ thống PKI Quốc gia là Bộ TT&TT và Ban Cơ yếu Chính phủ.
Tới thời điểm hiện tại, thống kê của Bộ TT&TT cho thấy giao dịch điện tử B2C, B2B
chiếm tới 2,5% GDP với những con số rõ nét là 9.300 website với doanh thu từ mua
sắm trực tuyến, điện thoại lên tới 450 triệu USD và 3000 DN có doanh thu khoảng
1,5 tỷ USD. Song song với việc đó, nhiều dịch vụ hành chính công nay đã từng bƣớc
áp dụng công cụ trực tuyến có sử dụng chữ ký số nhƣ E-Tax của Tổng cục thuế, E-
Banking của Ngân hàng Nhà nƣớc
Ban Cơ yếu Chính phủ là tổ chức đầu tiên của nhà nƣớc áp dụng và đƣa ra các giải
pháp quản lý PKI nhằm mục đích phục vụ cho các cơ quan thuộc hệ thống chính trị.
1.3 Cơ sở lý thuyết mật mã
1.3.1 Khái niệm về mã hóa
Mã hóa là công cụ cơ bản của việc đảm bảo an toàn dữ liệu. Ban đầu, mật mã học
đƣợc sử dụng phổ biến cho quân đội, qua nhiều cuộc chiến tranh, vai trò của mật mã
ngày càng quan trọng và mang lại nhiều thành quả không nhỏ nhƣ các hệ mã cổ điển
Caeser, Playfair,… Chúng đã là nền tảng cho mật mã học ngày nay.
Ngày nay, khi toán học đƣợc áp dụng cho mật mã học thì lịch sử của mật mã học
đã sang trang mới. Việc ra đời các hệ mã hóa đối xứng không làm mất đi vai trò của
các hệ mật mã cổ điển mà còn bổ sung cho ngành mật mã nhiều phƣơng pháp mã hóa
mới. Từ năm 1976, khi hệ mật mã phi đối xứng ra đời, nhiều khái niệm mới gắn với
mật mã học ra đời: chữ ký số, hàm băm, mã đại diện, chứng thƣ số. Mật mã học không
chỉ áp dụng cho quân sự mà còn cho các lĩnh vực kinh tế xã hội khác.
Hiện nay có nhiều phƣơng pháp mã hóa khác nhau, mỗi phƣơng pháp có ƣu,
nhƣợc điểm riêng. Tùy theo yêu cầu của môi trƣờng ứng dụng nào ngƣời ta có thể
dùng phƣơng pháp này hay phƣơng pháp kia. Có những môi trƣờng cần phải an toàn
tuyệt đối bất kể thời gian và chi phí. Có những môi trƣờng lại cần giải pháp dung hòa
giữa bảo mật và chi phí.
Các thông điệp cần chuyển đi và cần đƣợc bảo vệ an toàn gọi là bản rõ và đƣợc ký
hiệu là P. Nó có thể là một dòng vào các bit, các file, âm thanh, số hóa,… Bản rõ đƣợc
dùng để lƣu trữ hoặc để truyền đạt thông tin. Trong mọi trƣờng hợp bản rõ là thông
điệp cần mã hóa. Quá trình xử lý một thông điệp trƣớc khi gửi đƣợc gọi là quá trình
mã hóa. Một thông điệp đã đƣợc mã hóa đƣợc gọi là bản mã và đƣợc ký hiệu là C. Quá
trình xử lý ngƣợc lại từ bản mã thành bản rõ gọi là quá trình giải mã.
1.3.2 Định nghĩa hệ mã hóa
Hệ mã hóa: là tập hợp các thuật toán, các khóa nhằm che giấu thông tin cũng nhƣ
làm rõ nó.
Một hệ mã hóa bao gồm 5 thành phần (P,C,K,E,D) thoả mãn các tính chất sau:
P (Plaintext) là tập hợp hữu hạn các bản rõ có thể.
C (Ciphertext) là tập hợp hữu hạn các bản mã có thể.
11
ai đó ngay cả khi họ cố gắng từ chối nó.
Tính xác thực: Cung cấp hai dịch vụ: đầu tiên là nhận dạng nguồn gốc của một
thông báo và cung cấp một vài sự bảo đảm rằng nó là đúng sự thực. Thứ hai là kiểm
tra đặc tính của ngƣời đang logon một hệ thống và sau đó tiếp tục kiểm tra đặc tính của
họ trong trƣờng hợp ai đó cố gắng đột nhiên kết nối và giả dạng là ngƣời sử dụng.
1.3.4 Mã hóa khóa đối xứng
Hệ mã hóa khóa đối xứng hay là hệ mã hóa mà khóa mã hóa có thể “dễ” tính toán
ra đƣợc từ khóa giải mã và ngƣợc lại. Trong nhiều trƣờng hợp, khóa mã hóa và khóa
giải mã là giống nhau. Hệ mã hóa này còn gọi là hệ mã hóa khóa bí mật.
Khóa sử dụng trong hệ mã hóa này phải đƣợc giữ bí mật và phải đƣợc gửi đi trên
kênh an toàn. Độ an toàn của hệ mã hóa này phụ thuộc vào sự bí mật của khóa.
Có hai loại mã hóa khóa đối xứng: Mã hóa theo từng khối (DES, IDEA, RC2,…)
và mã hóa theo các bit dữ liệu (RC4).
Ưu điểm của mã hóa khóa đối xứng
Tốc độ mã hóa nhanh.
12
Sử dụng đơn giản.
Nhược điểm của hệ mã hóa khóa đối xứng
Hệ mã hóa khóa đối xứng không an toàn nếu có xác suất cao khóa ngƣời
gửi bị lộ.
Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp. Ngƣời gửi và
ngƣời nhận phải luôn thống nhất với nhau về khóa. Việc thay đổi khóa là
khó và dễ bị lộ.
Có khuynh hƣớng cung cấp khóa dài mà nó phải đƣợc thay đổi thƣờng
xuyên cho mọi ngƣời, trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi
phí, điều này sẽ cản trở nhiều tới việc phát triển hệ mã hóa khóa đối xứng.
Nơi ứng dụng:
Sử dụng trong môi trƣờng mà khóa dễ dàng đƣợc trao đổi nhƣ là trong cùng
một văn phòng.
Public Key của B. B gửi cho A Public Key của B trên mạng không an toàn và A dùng
khóa này để mã hóa thông điệp. A gửi thông điệp đƣợc mã hóa cho B và B giải mã
bằng Private Key của B.
Để thực hiện đƣợc phƣơng thức mã hóa dùng khóa công khai, có một số vấn đề
cần giải quyết nhƣ sau:
Làm thế nào để A có thể biết chính xác Public Key mà A sử dụng đúng là
Public Key của B ?
Làm thế nào để B biết đƣợc chính xác là thông điệp đƣợc gửi đi từ A?
Chúng ta xem xét các tình huống có thể bị tấn công đối với phƣơng thức mã hóa
khóa công khai nhƣ sau:
Trường hợp có kẻ nghe trộm thông tin trao đổi trên mạng:
C là một ngƣời nghe trộm, C có thể lấy đƣợc bản mã chuyển từ A đến B, nhƣng
không thể giải mã đƣợc bản mã này vì C không có Private Key của B.
Trường hợp giả mạo khóa công khai:
Vấn đề đặt ra là làm thế nào để A có thể biết chính xác Public Key mà A sử dụng
đúng là Public Key của B. Trong trƣờng hợp này, nếu D giải mạo B gửi Public Key
của D đến A (A nhận đƣợc Public Key của D mà không phải là của B), và A vẫn mã
hóa thông điệp của mình; khi đó thông điệp đến D sẽ vẫn giải mã đƣợc do D có Private
Key của mình. Để khắc phục hạn chế này, ngƣời ta xây dựng một hệ thống các tổ chức
thứ ba đóng vai trò trung gian trong việc xác thực tính đúng đắn của một Public Key.
Đó là các tổ chức xây dựng hệ thống chứng thực điện tử (trong những phần sau sẽ
trình bày kỹ hơn về Certificate).
Trường hợp sử dụng Private Key để mã hóa:
Nếu nhƣ A sử dụng Private Key của mình để mã hóa một thông điệp và gửi tới B.
Khi đó, B có thể sử dụng Public Key của A để giải mã thông điệp từ A. Một ngƣời thứ
ba C cũng có Public Key của A nên nếu nhận đƣợc thông điệp gửi từ A cũng có thể
giải mã đƣợc và đọc nó. Do đó, A không thể sử dụng Private Key của mình để mã hóa
một thông điệp. Tuy nhiên dựa vào đặc điểm ánh xạ 1 : 1 giữa Private Key và Public
14
Với mỗi đầu vào Plaintext sẽ chỉ có duy nhất 1 kết quả đầu ra tƣơng ứng và từ
Message Digest “khó” tìm ra message dạng Plaintext ban đầu. Message (dạng
Plaintext) sau khi thực hiện hàm hashing sẽ tạo ra một chuỗi các ký tự - đặc trƣng cho
message đầu vào. Giải thuật tạo Message Digest là thuật toán một chiều hay thƣờng
gọi là thuật toán hash.
Thuật toán hashing có 2 đặc điểm chính nhƣ sau:
15
“Khó” tạo ra message ban đầu dựa trên digest của nó (nói cách khác là thuật toán
hashing phải đảm bảo có tính một chiều, “khó” thực hiện theo chiều ngƣợc lại)
Không tồn tại 2 message khác nhau mà có cùng digest giống nhau.
Nếu chiều dài của digest là m bits, sẽ cần phải thử 2
m
message để tìm ra một
message với digest mong muốn tƣơng ứng và thực hiện 2
m/2
message để tìm ra 2
message có cùng một digest. Do đó các hàm thực hiện message-digest phải có đầu ra ít
nhất là 128 bits, vì tối thiểu là 2
64
là không thể tính toán đƣợc với các khả năng tính
toán hiện nay.
Nơi ứng dụng:
Phƣơng pháp này đƣợc sử dụng rộng rãi trong ngành khoa học máy tính nhƣ để
tăng tốc quá trình đánh chỉ mục của cơ sở dữ liệu, kiểm tra sự toàn vẹn về nội
dung của thông tin đƣợc lƣu trữ hay truyền trên đƣờng truyền…
Một ứng dụng điển hình của phƣơng pháp tóm lƣợc thông điệp là phƣơng pháp
kiểm tra CRC (cyclic redundancy check), đƣợc sử dụng trong hầu hết các cơ
chế truyền/nhận dữ liệu.
Phƣơng pháp này là nền tảng của việc tạo và kiểm tra chữ ký số.
1. P là tập hữu hạn các bức điện(thông điệp) có thể.
2. A là tập hữu hạn các chữ kí có thể.
3. K không gian khoá là tập hữu hạn các khoá có thể.
4. Với mỗi K thuộc K tồn tại một thuật toán kí sig
k
S và là một thuật toán xác
minh ver
k
V. Mỗi sig
k
: P
A và ver
k
: P×a
{true,false} là những hàm sao cho
mỗi thông điệp x
P và mối chữ kí y
a thoả mãn phƣơng trình dƣới đây.
Với mỗi k thuộc K hàm sig
k
và ver
class="bi x4c yfc wc h1a" src="data:image/png;base64,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6sbHhUQJAFBYb7315pQpUwYOHJiQkDBgwIA//vGPO98mLi4uCIK8vCB/NUmDWpWjWzNC5RKef/v7ke9/3/uiozq0TCyNaeL0DQDEkLp161533XWzZs266qqrbr/99oYNG95xxx1bt26N385vURKN5i90rVg+PnfZW0FWahAEGTnBI699+8zrC0vj9y5KACDmVKpU6cYbb5w3b96FF174j3/8o379+rfddltOTk5cXFxcXFyVKlWCIHhsYL8P3n0jed6c+++88eOJ/2wUmV75pzc2pf4QBMG/vlwnSgCAohGJRO69776RI0fWqHFIp06dXn/99UMPPbRfv345OTm1atWaM2dOj0svmDRmaN8/XVgxPtKxY8chQ55fOv+TZocnlt5vWZQAQCx66aWX3nv33b5/HdizV+8pU6a8+OKLTz311LY0qVOnzs033/zmm29ceumlU957NwiCsWPHvvTSSwlVqpTeb9lCVwCIRcuXL+9y7sVPD+ofBEGDw4+45957p3388bnnnvv222/3799/6NChjRs3XrJkSdeuXWfOnFm9evXs7OwtW7aU6m/ZkRIAiE2hbRcg+eNNdyxZvHjFihXx8fEXXnjhl19+2atXryVLlsyaNevRRx+tU6dO2fiGRQkAxKJq1av98N3i/N9Xr1EzCILIvwVB0KpVqyAIatWqlZeXV2a+ZVECALHoyiuuWPrdooOrVguCICMzMwiCvLy83H/Lb5Gt/1Y20kSUAEAsOvTQQ8866+xoEOpw2jl/v+eWQw45JDExMe/fotHo9lESLRNXmhclABCjBg16pPdNf/5m/uyjGh85efLkuLi43UXJ1q1bc3NzS/v369U3ABBDflybe3it+CAIotFoOBy+/PKel1/eMxQKBUGw/Tmabadvtv+7oVAo/5allCMlAFDy2jSpnf+blz7d8vjk9SlpkfwuyZe3k/wjJZGdlOohOFICACXvvBPrVa1SfvCb32bkBOmZ8S98tPmQhI3dTqzaMLHcLm+ff7Jmh1M2pX1liSgBgJIXHxfq2LpWh5aJ0xekPj9x8aYt0bUZcc9P3XhIQt5pLaq0/H25Hd71d5enb6LRaF5eqPSeBhElABBzabJ45cYnxn3907qtazPiXpudOXFu5PxjD2pRP7wtTbYtdN32dzdkBUnLyy3+pRQvzBAlABBzadLssIOH33HSNz9uyE+TLbnhcXOyJn0ROa9NQvN64fi40LY1JUEQbNwS+uzHCktS47fdwwNXtxAlAECR2TlNxn+ePWlexjmtK+VEokEQrM/Im7Oy0ndp/3k2v+L0Bpe0r1+xfHxp/H5D0Wh0+5cPlY2rrwBAGfPNjxvenP7jzG/WbftMesq8Gg3alOoc2aFARAkAlBq/rN/y4uTvtk+TalXKXX9Ooz80PaQ0Hh0RJQBQ6tPktWnLVvyccc6Jv+/QMnGHF+aIEgCAQkWJK7oCADFBlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBACguIV3+DgUChkKALD/OVICAMRMlIwePdogAICSkp8ioWg0ahYAQIlz+gYAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgAgSgAAUQIAIEoAAFECACBKAABRAgAgSgAAUQIAIEoAAFECACBKAABRAgAgSgAAUQIAIEoAAFECACBKAABRAgAgSgAAUQIAIEoAAFECACBKAABRAgAgSgAAUQIAIEoAAFECACBKAABRAgAgSgAAUWIEAIAoAQAQJQCAKAEAECUAgCgBABAlAIAoAQAQJQCAKAEAECUAgCgBABAlAIAoAQAQJQCAKAEAECUAgCgBABAlAIAoAQAQJQCAKAEAECUAgCgBABAlAIAoAQAQJQCAKAEAECUAgCgBABAlAIAoAQAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEABAlAACiBAAQJQAAogQAECUAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACiBABAlAAAogQAQJQAAKIEAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAQJQAAIgSAECUAACIEgBAlAAAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgCIEgAAUQIAiBIAAFECAIgSAABRAgAgSgAAUQIAIEoAAFECACBKAABRAgAgSgAAUQIAIEoAAFECACBKAABRAgBQQAMHDjQEAKBkDR482BAAAAAA/i20/QfRaNREAID9FyKh/6SIha4AQEwQJQCAKAEAECUAgCgBABAlAIAoAQAQJQCAKAEAECUAgCgBABAlAIAoAQAQJQCAKAEAECUAgCgBACissBEQ+5KSksaPH9+2bdv8Dw877LBDDz20QYMGJgNQloS2/yAajZoIsZYj199w4zdfL+x4xvn/3mOj0/41Kf9PT+3Uqd+tt5588skJCQlmBVAqQyQUEiXEuh9++OHUU09dsWJFEAQNGx3VodNZh/6+YRAEx51wcrUah2zO2PzDkm/mzZ4x+Y1X1qWnde/e/eGHH3bsBECUQBFLSko655xztmzJrv/731erWjUUCn5avWbjhg2ZmRmRSKRqtUNOPfP8rpdfn1jn0CAIkr/8/O3xIz/5YNKpnTq9NnZszZo1DRBAlEARiEQi5cqVu+iii66//vpKlSrFxcVFIpFtf7pkyZIJEybMTErakpXVpm37q2+4rWmrY4Mg+Gnliqceuv2rz2c+++zgG2+8IRy2XgpAlEDhJCUltWvX7v33369cuXJoOzk5OduHy8yZMwcPfi49fW2nMy/48+33V61WIwiCqe+++ci9vZs3b/Hxxx85ZAJQuqLES4KJOePGjWvTps0ORRIKhSpWrFixYsX824TD4VNOOeWNN15/9tlnZ03/4OJOLd8eNzI3Ejn97Ive+GhBucoHJyYmvvfee4YJUIqIEmI9n7f/NQiCihUrhsPhTz755L7+/YcNG3bEEUe88/bbF1xwwTOD/nZX78s3/7quarUag54bfdUN/c4+++yB999vjACl5sf+9h84fUMseO+9984+++xp06aVK1du+yMl225w5VVXfbdkSRAElSpVzsrKvOaaay699NLU1NTet/QJheIeempEi6OPj+TlfT1/bp9eF3Tv3n3UqFGWmADE8r8/8zlSQsw5+eSTgyBYsWLFLoskCILvliy56obb3v5kYVZWZvfu3T/99NOePXtu3LhxwvhxdevWvvma81958clwXFzrY9o+M3ziB1M/OuPMM7dfKgtAbBIlxJyEhITmzZtPnz59hxM329SpU3fS+JG/O7jagEFDXnvttQsuvPDUU0/t379/VlbWC0OGnHfeef8c8tgrLz4ZiURaH9N2xISP589foEsARAkURNeuXSdOnJiVlbXLLnniicd/Xbd20viXzzqv61NDxzz5xBMpKT/WqVOnV69eWVlZt956a9++ff855LG/3twjmpdbtfohIyZ8PD954ZVXXmmwALEsfvsPBgwYYCLEgpNOOunpp5+eO3fuWWedFQqF4uLiwuFwOBzOzc0NgqBatWrRaHTIs4//mPLDRd0uv+pPvd8YN2rxt4uysrIOPvjgZs2aNWnSpGrVqm++Pj4cjj/muBMrV044qvkxjz74t7i4uPxzQwDEiIEDB277vSMlxKJwODx79uy5c+dOmDAhLi5u2/GSChUqVKhQIQiCa6+9tm/fvh//653TTmgy97NPx02eMW7yjBqHJP7yyy/5rxy+4IIL+vbt+4/nHxs57In4+FDrNm0fe/7V/v37L1y40HgBYpNX3xC7xowZ07Nnz9dee+2II47Y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