Ví dụ, để công bố một văn bản nào đó thì người ta chú trọng đến việc làm sao để tài liệu này không bị sửa đổi, còn đảm bảo bí mật thì không cần thiết.[6] Vai trò của an toàn thông tin:
Trang 2LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS ĐỖ TRUNG TUẤN
Thái Nguyên, 2015
Trang 3MỤC LỤC
MỤC LỤC i
CAM KẾT iv
LỜI CẢM ƠN v
DANH MỤC CÁC TỪ VIẾT TẮT vi
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU vii
MỞ ĐẦU 1
CHƯƠNG 1: KHÁI QUÁT VỀ AN TOÀN THÔNG TIN VÀ BÀI TOÁN THỎA THUẬN KHÓA 3
1.1 Khái quát về an toàn thông tin 3
1.1.1 Vấn đề đảm bảo An toàn thông tin 3
1.1.2 Một số vấn đề rủi ro mất an toàn thông tin 13
1.2 Bài toán thoả thuận khoá 17
1.2.1 Khái niệm về khóa 17
1.2.2 Khái niệm về thỏa thuận khóa 18
1.2.3 Phân loại khóa 18
1.2.4 Vai trò của khóa trong an toàn thông tin 19
1.2.5 Vấn đề xác thực khóa 23
1.2.6 An toàn khóa trong các giải pháp bảo mật 25
1.3 Quản lý khóa 27
1.3.1 Tổng quan về quản lý khóa 27
1.3.2 Quản lý khóa bí mật 28
1.3.3 Quản lý khóa công khai 29
1.4 Các phương pháp phân phối khóa 31
1.4.1 Sơ đồ phân phối khóa 32
1.4.2 Trung tâm phân phối khóa 33
Trang 41.4.3 Phân phối khóa theo phương pháp thông thường 35
1.4.4 Phân phối theo phương pháp hiệu quả 36
1.5 Các phương pháp thỏa thuận khóa bí mật 36
1.5.1 Phương pháp hiệu quả 36
1.5.2 Phương pháp thông thường 37
1.6 Kết luận 37
CHƯƠNG 2: MỘT SỐ KỸ THUẬT THỎA THUẬN KHÓA 38
2.1 Giao thức phân phối khóa 38
2.1.1 Nhu cầu thỏa thuận, chuyển vận và phân phối khóa 38
2.1.2 Giao thức phân phối khóa Blom 40
2.1.3 Giao thức phân phối khoá Diffie-Hellman 43
2.1.4 Giao thức phân phối khóa Kerberos 46
2.1.5 Sơ đồ chia sẻ bí mật ngưỡng Shamir 48
2.2 Giao thức thỏa thuận khóa 51
2.2.1 Giao thức thỏa thuận khóa Diffie-Hellman 51
2.2.2 Giao thức thoả thuận khoá trạm tới trạm STS 53
2.2.3 Giao thức thoả thuận khoá MTI 54
2.2.4 Giao thức Girault trao đổi khóa không chứng chỉ 56
2.3 Kết luận 58
CHƯƠNG 3: THỬ NGHIỆM TRAO ĐỔI KHÓA 59
3.1 Về bài toán thử nghiệm 59
3.1.1 Xuất phát của ý tưởng: 59
3.1.2 Mục đích, yêu cầu của bài toán 60
3.1.3 Lựa chọn giao thức thỏa thuận khóa 60
3.2 Quá trình thỏa thuận khóa 61
3.2.1 Yêu cầu đối với hệ thống máy tính 61
Trang 53.2.2 Chương trình thử nghiệm 61
3.2.3 Giao diện chương trình 62
3.3 Kết luận 64
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
Trang 6Thái Nguyên, ngày tháng năm 2015
Tác giả
Đỗ Xuân Trường
Trang 7LỜI CẢM ƠN
Để hoàn thành chương trình cao học và viết luận văn này, em đã nhận được sự giúp đỡ và đóng góp nhiệt tình của các thầy cô trường Đại học Công nghệ thông tin và Truyền thông, Đại học Thái Nguyên
Trước hết, em xin chân thành cảm ơn các thầy cô trong khoa Đào tạo sau đại học, đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong suốt những năm học qua
Đặc biệt em xin gửi lời tri ân sâu sắc đến PGS.TS Đỗ Trung Tuấn - người đã dành nhiều thời gian, công sức và tận tình hướng dẫn cho em trong suốt quá trình hình thành và hoàn chỉnh luận văn
Xin chân thành cảm ơn gia đình, bạn bè đã nhiệt tình ủng hộ, giúp đỡ, động viên cả về vật chất lẫn tinh thần trong thời gian học tập và nghiên cứu
Trong quá trình thực hiện luận văn, mặc dù đã rất cố gắng nhưng cũng không tránh khỏi những thiếu sót Kính mong nhận được sự cảm thông và tận tình chỉ bảo của các thầy cô và các bạn
Thái Nguyên, ngày tháng năm 2015
Tác giả
Đỗ Xuân Trường
Trang 8Giao thức thỏa thuận khóa
Key Exchange Trao đổi khóa
MTI Giao thức trao đổi khóa do Matsumoto, Takashima
và Imai đề xuất
P Plain Text (Tập hợp các bản rõ có thể)
Public key Khóa công khai
RSA Hệ thống mã và chứng thực do Ron Rivest, Adi
Shamir, và Leonard Adleman đề xuất
Trang 9DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Bảng 1.1: Bảng thiệt hại an toàn bảo mật thông tin thế giới 7
Hình 1.1 Thông tin 5
Hình 1.2 Nhu cầu mã hóa dữ liệu 9
Hình 1.3 Sơ đồ mã hóa với khóa mã và khóa giải giống nhau 9
Hình 1.4 Mã hóa đối xứng 10
Hình 1.5 Mã hóa bất đối xứng 11
Hình 1.6 Mã hóa công khai 11
Hình 1.7 Xâm phạm riêng tư 14
Hình 1.8 Quản lý khóa bí mật 29
Hình 1.9 Quản lý khóa công khai 30
Hình 1.10 Tổ hợp khoá bí mật mình với khoá công khai của người khác tạo ra khoá dùng chung chỉ hai người biết 34
Hình 2.1 Sơ đồ phân phối khóa Blom (k=1) 41
Hình 2.2 Thuật toán chuyển đổi khóa Diffie Hellman 43
Hình 2.3 Giao thức Keberos 46
Hình 3.1 Thông tin tuyển sinh tại đơn vị 59
Hình 3.2 Nhập dữ liệu đầu vào 62
Hình 3.3 Giá trị hai người dùng gửi cho nhau 63
Hình 3.4 Khóa bí mật chung tính được K_UV 63
Trang 10MỞ ĐẦU
Hiện nay, ở các nước phát triển cũng như đang phát triển, mạng máy tính và Internet đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của xã hội và nó trở thành phương tiện làm việc trong các hệ thống thì nhu cầu bảo mật thông tin được đặt lên hàng đầu Nhu cầu này không chỉ có ở các bộ máy An ninh, Quốc phòng, Quản lý Nhà nước, mà đã trở thành cấp thiết trong nhiều hoạt động kinh tế xã hội như: Tài chính, ngân hàng, thương mại…thậm chí trong cả một số hoạt động thường ngày của người dân (Thư điện tử, thanh toán tín dụng,…) Do ý nghĩa quan trọng này mà những năm gần đây công nghệ mật mã và an toàn thông tin đã có những bước tiến vượt bậc và thu hút sự quan tâm của các chuyên gia trong nhiều lĩnh vực khoa học, công nghệ
Quản lý khóa có vai trò cực kỳ quan trọng đối với an ninh của các hệ thống dựa trên mật mã
Rất nhiều yếu tố quan trọng góp phần trong việc quản lý khóa thành công lại không thuộc về phạm vi của mật mã học mà lại thuộc về lĩnh vực quản lý Chính điều này lại làm cho việc thực hiện thành công chính sách quản lý khóa thêm phức tạp Cũng vì nguyên nhân này mà phần lớn các tấn công vào các hệ thống mật mã là nhằm vào cách thức quản lý khóa hơn là tấn công vào các kỹ thuật mật mã
Luận văn sẽ nghiên cứu và xác định rõ vai trò của khóa trong các giải pháp bảo mật và an toàn thông tin Trên cơ sở nghiên cứu và phân tích các giải pháp an toàn khóa trong việc phân phối, thoả thuận, chuyển vận khóa, cũng như các phương thức quản lý nhằm mang lại hiệu quả cao nhất trong quá trình thực hiện các giao thức đó
Trang 11Luận văn gồm các chương :
Chương 1 Khái quát về an toàn thông tin và bài toán thỏa thuận khóa;
Chương 2 Một số kĩ thuật trao đổi khóa;
Chương 3 Thử nghiệm về trao đổi khóa
Cuối luận văn là phần kết luận và danh sách các tài liệu tham khảo Phần phụ lục chương trình đặt ở cuối luận văn
Trang 12CHƯƠNG 1 KHÁI QUÁT VỀ AN TOÀN THÔNG TIN
VÀ BÀI TOÁN THỎA THUẬN KHÓA 1.1 Khái quát về an toàn thông tin
1.1.1 Vấn đề đảm bảo An toàn thông tin
1.1.1.1 Một số khái niệm cơ bản
Khái niệm thông tin: Ngày nay, trong đời sống hàng ngày, con người luôn có nhu cầu trao đổi thông tin với nhau Những thông tin được trao đổi rất phong phú và được truyền trên nhiều dạng khác nhau ví dụ như dùng thư tay, điện thoại, sóng điện từ, hay internet,… Ở đâu ta cũng thấy người ta nói tới thông tin: thông tin là nguồn lực của sự phát triển; chúng ta đang sống trong thời đại thông tin; một nền công nghiệp thông tin, một xã hội thông tin đang hình thành v.v Quả thật thông tin là khái niệm cơ bản của khoa học cũng là khái niệm trung tâm của xã hội trong thời đại chúng ta Mọi quan hệ, mọi hoạt động của con người đều dựa trên một hình thức giao lưu thông tin nào đó Mọi tri thức đều bắt nguồn bằng một thông tin về nhừng điều đã diễn ra, về những cái người ta đã biết, đã nói, đã làm Và điều đó luôn xác định bản chất
và chất luợng của những mối quan hệ của con người Vậy thông tin là gì? Có rất nhiều cách hiểu về thông tin Thậm chí ngay các từ điển cũng không thể có một định nghĩa thống nhất Người ta thấy thông tin là "điều mà người ta đánh giá hoặc nói đến; là tri thức, tin tức" Từ điển khác thì đơn giản đồng nhất thông tin với kiến thức:"Thông tin là điều mà người ta biết" hoặc "thông tin là
sự chuyển giao tri thức làm tăng thêm sự hiểu biết của con người" [2]
Khái niệm an toàn, bảo mật thông tin: Ngày nay, khi mà nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử viễn thông và công nghệ thông tin không ngừng được phát triển để nâng cao chất lượng cũng như lưu lượng truyền tin thì biện pháp bảo vệ thông tin
Trang 13ngày càng được đổi mới An toàn, bảo mật thông tin là một chủ đề rộng lớn, có liên quan đến nhiều lĩnh vực khác nhau trong cuộc sống An toàn thông tin là việc đảm bảo an toàn cho thông tin gửi cũng như thông tin nhận, giúp xác nhận đúng thông tin khi nhận và đảm bảo không bị tấn công hay thay đổi thông tin khi truyền đi Các hệ thống an toàn là những hệ thống có những dịch vụ có khả năng chống lại những tai họa, lỗi và sự tác động không mong đợi, các thay đổi tác động đến độ an toàn của hệ thống là nhỏ nhất Có ba đặc tính cơ bản của an toàn thông tin đó là tính bí mật, tính toàn vẹn và tính sẵn sàng phục vụ Như vậy, ta có thể hiểu, an toàn thông tin là việc đảm bảo các thuộc tính này Tuy nhiên, tùy vào mục đích sử dụng thông tin, mà người ta
có thể chú trọng đến thuộc tính này hơn thuộc tính kia, hoặc tập trung đảm bảo thật tốt cho thuộc tính này mà không cần đảm bảo thuộc tính kia Ví dụ,
để công bố một văn bản nào đó thì người ta chú trọng đến việc làm sao để tài liệu này không bị sửa đổi, còn đảm bảo bí mật thì không cần thiết.[6]
Vai trò của an toàn thông tin: An toàn thông tin đang là vấn đề rất quan trọng, nó đang rất được quan tâm hiện nay, bởi vì xã hội ngày càng phát triển dẫn đến nhu cầu trao đổi thông tin ngày càng lớn, các thông tin đòi hỏi được đảm bảo an toàn ở mức tốt nhất có thể trước sự tấn công để đánh cắp, cũng như sửa đổi thông tin Ví dụ như, muốn trao đổi tiền với ngân hàng phải
sử dụng thẻ tín dụng và hệ thống mạng để thực hiện giao dịch, bây giờ giả sử giao dịch không an toàn, người dùng bị mất số tài khoản và mã PIN thì tác hại
là rất lớn Hay một ví dụ khác như khi truyền một thông tin tối mật từ chính phủ đến cơ quan chỉ huy quân sự, chẳng hạn thông tin này không được đảm bảo tốt, để xảy ra tình trạng thông tin lọt vào tay kẻ khác hoặc bị sửa đổi trước khi đến nơi nhận thì hậu quả cao
Từ đó, ta có thể thấy vai trò của an toàn thông tin là vô cùng quan trọng trong tất cả các lĩnh vực trong cuộc sống chứ không riêng gì lĩnh vực công nghệ thông tin
Trang 141.1.1.2 Lí do đảm bảo an toàn thông tin
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin thì việc ứng dụng các công nghệ mạng máy tính trở nên vô cùng phổ cập và cần thiết Công nghệ mạng máy tính đã mang lại những lợi ích to lớn Sự xuất hiện mạng Internet cho phép mọi người có thể truy cập, chia sẻ và khai thác thông tin một cách dễ dàng và hiệu quả Việc ứng dụng các mạng cục bộ trong các
tổ chức, công ty hay trong quốc gia là rất phong phú Các hệ thống chuyển tiền của các ngân hàng hàng ngày có thể chuyển hàng tỷ đôla qua hệ thống của mình Các thông tin về kinh tế, chính trị, khoa học xã hội được trao đổi rộng rãi Nhất là trong quân sự và kinh tế, bí mật là yếu tố vô cùng quan trọng, do vậy các thông tin về quân sự và kinh tế được xem như là các thông tin tuyệt mật và cần được bảo vệ cẩn thận Đó cũng là một quá trình tiến triển hợp logic, một yêu cầu thực tế tất yếu đặt ra cần phải được giải quyết Những thông tin này khi bị lộ có thể làm thay đổi cục diện của một cuộc chiến tranh hay làm phá sản nhiều công ty và làm xáo động thị trường
Hình 1.1 Thông tin
Trang 15Internet không chỉ cho phép truy cập vào nhiều nơi trên thế giới mà còn cho phép nhiều người không mời mà tự ghé thăm máy tính của chúng ta Internet có những kỹ thuật tuyệt vời cho phép mọi người truy nhập, khai thác, chia sẻ thông tin Nhưng nó cũng là nguy cơ chính dẫn đến thông tin bị hư hỏng hoặc bị phá hủy hoàn toàn, là đối tượng cho nhiều người tấn công với các mục đích khác nhau Đôi khi cũng chỉ đơn giản là thử tài hay đùa bỡn với người khác Nguy hiểm hơn là các thông tin quan trọng có liên quan đến an ninh của một quốc gia, bí mật kinh doanh của một tổ chức kinh tế hay các thông tin về tài chính, lại thường là mục tiêu nhằm vào của các tổ chức tình báo nước ngoài hoặc của kẻ cắp nói chung Thử tưởng tượng nếu có kẻ xâm nhập được vào hệ thống chuyển tiền của các ngân hàng, thì ngân hàng đó sẽ chịu những thiệt hại to lớn như mất tiền và có thể dẫn tới phá sản Đó là chưa tính đến mức độ nguy hại, một hậu quả không thể lường trước được khi hệ thống an ninh quốc gia bị đe dọa
Theo số liệu của CERT (Computer Emegency Response): (Đội cấp cứu
máy tính) thì số lượng các vụ tấn công trên Internet mỗi ngày một tăng nhiều, quy mô của chúng ngày các lớn và phương pháp tấn công ngày càng phức tạp
và ngày được hoàn thiện Các loại tội phạm công nghệ cao, an ninh mạng là những vấn đề thuộc an ninh phi truyền thống đang ngày càng phổi biến và tác động ảnh hưởng đến an ninh
Số liệu của Bộ thông tin và Truyền thông về mức độ thiệt hại trong vấn
đề an toàn bảo mật thông tin :
Trang 16Bảng 1.1: Bảng thiệt hại an toàn bảo mật thông tin thế giới
Sâu Morris 1988 Làm tê liệt 10% máy tính trên mạng Internet
Vi rút Melisa 5/1999 100.000 máy tính bị ảnh hưởng/1 tuần Thiệt hại 1,5
tỷ USD
Vi rút Explorer 6/1999 Thiệt hại 1,1 tỷ USD
Vi rút Love Bug 5/2000 Thiệt hại 8,75 tỷ USD
Vi rút Sircam 7/2001 2,3 triệu máy tính bị nhiễm, thiệt hại 1,25 tỷ USD Sâu Code Red 7/2001 359.000 máy tính bị nhiễm/14 giờ, Thiệt hại 2,75 tỷ
USD Sâu Nimda 9/2001 160.000 máy tính bị nhiễm, Thiệt hại 1,5 tỷ USD Klez 2002 Thiệt hại 175 triệu USD
BugBear 2002 Thiệt hại 500 triệu USD
Badtrans 2002 90% máy tính bị nhiễm/10 phútThiệt hại 1,5 tỷ USD Blaster 2003 Thiệt hại 700 triệu USD
Nachi 2003 Thiệt hại 500 triệu USD
SoBig.F 2003 Thiệt hại 2,5 tỷ USD
Sâu MyDoom 1/2004 100.000 máy tính bị nhiễm/1 giờ, Thiệt hại hơn 4 tỷ
USD
Tình hình an ninh thông tin trên thế giới trong vòng một năm vừa qua nổi lên với rất nhiều các cuộc tấn công mạng máy tính Các cuộc tấn công tin học này nhằm vào mọi cơ quan tổ chức, từ các cơ quan chính phủ, các công ty lớn tới các tổ chức quốc tế
Bên cạnh đó tình trạng tội phạm công nghệ cao vẫn còn tồn tại nhức nhối Với các hình thức như lừa đảo trực tuyến để lấy tài khoản người dùng, lừa khách hàng nạp tiền vào điện thoại của hacker, lừa bán hàng qua mạng để
Trang 17nạn nhân chuyển khoản lấy tiền rồi không chuyển hàng; hoặc các loại tuyên truyền bịp bợm, khiêu dâm gây ảnh hưởng tâm lý của cộng đồng mạng
Như vậy mục tiêu của các tin tặc không chỉ là các doanh nghiệp nhỏ, có trình độ bảo mật yếu mà còn có cả các công ty CNTT lớn, các cơ quan quan trọng của chính phủ … Xuất hiện nhiều cuộc tấn công có quy mô với các thủ đoạn tinh vi, tổ chức thu thập dữ liệu quan trọng, chiếm quyền điều khiển, thay đổi nội dung các trang thông tin điện tử
Các cuộc tấn công mạng cho thấy tội phạm mạng đang tiếp tục nâng cao khả năng triển khai tấn công, bao gồm cả việc “sản phẩm hóa” và bổ sung thêm nhiều tính năng vào các mã độc nhằm tấn công vào những đối tượng cụ thể
Các việc làm này thực chất đã "đụng" đến vấn đề rất nhạy cảm của 1
quốc gia là "chủ quyền số" Bên cạnh đó, với sự phát triển của mạng 3G, dẫn
đến nguy cơ mất an toàn thông tin tăng gấp đôi
Vấn đề an ninh mang đang trở lên hiện hữu, ảnh hưởng sâu rộng, tác động đến các vấn đề chính trị, kinh tế và an ninh quốc gia Đảm bảo an ninh mạng đang là vấn đề sống còn của các quốc gia trên thế giới
Chính vì vậy vấn đề an toàn thông tin trở thành yêu cầu chung của mọi hoạt động kinh tế xã hội và giao tiếp của con người, và là vấn đề cấp bách cần được cọi trọng và quan tâm đặc biệt
1.1.1.3 Vấn đề mã hóa dữ liệu
Theo [4], Khái niệm mã hóa: Để đảm bảo được an toàn thông tin lưu trữ trong máy tính (giữ gìn thông tin cố định) hay đảm bảo an toàn thông tin trên đường truyền tin (trên mạng máy tính), người ta phải “che giấu” các thông tin này “Che” thông tin (dữ liệu) hay còn gọi là “mã hoá” thông tin là thay đổi hình dạng thông tin gốc, và người khác khó nhận ra “Giấu” thông tin (dữ liệu) là cất giấu thông tin trong bản tin khác, và người khác khó nhận ra
Trang 18Hình 1.2 Nhu cầu mã hóa dữ liệu
1.1.1.4 Hệ mã hóa
Theo [4], việc mã hoá phải theo nguyên tắc nhất định, quy tắc đó gọi là
Hệ mã hoá Hệ mã hoá được định nghĩa là một bộ năm (P, C, K, E, D) trong đó: P: tập hữu hạn các bản rõ có thể; C: tập hữu hạn các bản mã có thể; K: tập hữu hạn các khoá có thể; E: tập các hàm lập mã; D: là tập các hàm giải mã
Với khóa lập mã ke K, có hàm lập mã eke E, eke :PC, Với khoá giải mã kd ∈ K, có hàm lập mã ekd D, eke :C P, sao cho dkd (eke(x))=x, x
P Ở đây x được gọi là bản rõ, eke(x) được gọi là bản mã
Hình 1.3 Sơ đồ mã hóa với khóa mã và khóa giải giống nhau
Trang 19Người gửi G muốn bán tin T cho người nhận N Để bảo đảm bí mật, G
mã hoá bản tin bằng khoá lập mã ke, nhận được bản mã eke(T), sau đó gửi cho
N Tin tặc có thể trộm bản mã eke(T), nhưng cũng “khó” hiểu được bản tin gốc
T nếu không có khoá giải mã kd
Người nhận N nhận được bản mã, họ dùng khoá giải mã kd, để giải mã
eke(T), sẽ nhận được bản tin gốc T = dkd(eke(T))
1.1.1.5 Các hệ mã hóa đối xứng
Theo [4], hệ mã hoá khoá đối xứng là Hệ mã hoá khoá mà biết được khoá lập mã thì có thể “dễ” tính được khoá giải mã và ngược lại Đặc biệt một
số Hệ mã hoá có khoá lập mã và khoá giải mã trùng nhau (ke =kd)
Hệ mã hoá khoá đối xứng còn gọi là Hệ mã hoá khoá bí mật, hay khoá riêng, vì phải giữ bí mật cả hai khoá Trước khi dùng Hệ mã hoá khoá đối xứng, người ta gửi và nhận phải thoả thuận thuật toán mã hoá và khoá chung (lập mã hay giải mã), khoá phải được giữ bí mật
Hình 1.4 Mã hóa đối xứng
Đặc điểm của hệ mã hóa khóa đối xứng: Hệ mã hoá khoá đối xứng mã hoá và giải mã nhanh hơn Hệ mã hoá khoá công khai Hạn chế (i) Mã hoá khoá đối xứng chưa thật an toàn, do người mã hoá và người giải mã phải có “chung”
Trang 20một khoá Khoá phải được giữ bí mật tuyệt đối, vì biết khoá này “dễ” xác định được khoá kia và ngược lại; (ii) Vấn đề thoả thuận khoá và quản lý khoá chung
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ề khoá Việc thay đổi khoá là rất khó và dễ bị lộ Khoá chung phải được gửi cho nhau trên kênh an toàn
Hình 1.5 Mã hóa bất đối xứng
1.1.1.6 Hệ mã hóa khóa công khai
Theo [4], Hệ mã hoá khoá phi đối xứng là Hệ mã hoá có khoá lập mã
và khoá giải mã khác nhau (ke ≠ kd) biết được khoá này cũng “khó” tính được khoá kia Hệ mã hoá này còn được gọi là Hệ mã hoá khoá công khai, vì:
1 Khoá lập mã cho công khai, còn gọi là khoá công khai (Public key)
2 Khoá giải mã giữ bí mật, còn gọi là khoá riêng (Private key) hay khoá
bí mật Một người bất kì có thể dùng khoá công khai để mã hoá bản tin, nhưng chỉ người nào có đúng giải mã thì mới có khả năng đọc được bản rõ
Hình 1.6 Mã hóa công khai
Trang 21Đặc điểm của hệ mã hóa công khai: Ưu điểm thuật toán được viết một lần, công khai cho nhiều lần dùng, cho nhiều người dùng, họ chỉ cần giữ bí mật khoá riêng của mình Khi biết các tham số ban đầu của hệ mã hoá, việc tính ra cặp khoá công khai và bí mật phải là “dễ”, tức là trong thời gian đa thức Người gửi có bản rõ là P và khoá công khai, thì “dễ” tạo ra bản mã C Người nhận có bản mã C và khoá bí mật, thì “dễ” giải được thành bản rõ P Người mã hoá dùng khoá công khai, người giải mã giữ khoá bí mật Khả năng lộ khoá bí mật khó hơn vì chỉ có một người giữ gìn Nếu thám mã biết khoá công khai, cố gắng tìm khoá bí mật, thì chúng phải đương đầu với bái toán “khó” Nếu thám
mã biết khoá công khai và bản mã C, thì việc tìm ra bản rõ P cũng là bài toán
“khó”, số phép thử là vô cùng lớn, không khả thi Hạn chế là: hệ mã hoá khoá công khai: mã hoá và giải mã chậm hơn hệ mã hoá khoá đối xứng
1.1.1.7 Ứng dụng của các hệ mã hóa
1 Hệ mã hóa khóa đối xứng
Hệ mã hoá khoá đối xứng thường được sử dụng trong một môi trường chung có thể dễ dàng trao đổi bí mật, chẳng hạn trong cùng một mạng nội mạng nội bộ
Hệ mã hoá khoá đối xứng thường dùng để mã hoá những bản tin lớn, vì tốc độ mã hoá và giải mã nhanh hơn hệ mã hoá khoá công khai
2 Hệ mã hóa khóa công khai
Hệ mã hoá khoá công khai thường được sử dụng chủ yếu trên các mạng công khai như Internet, khi mà việc trao chuyển khoá bí mật tương đối khó khăn
Đặc trưng nổi bật của hệ mã hoá công khai là khoá công khai bản
mã đều có thể gửi trên một kênh truyền tin không an toàn Khi biết cả khoá công khai và bản mã, thì thám mã cũng không dễ khám phá được bản rõ
Trang 22 Nhưng vì tốc độ mã hoá và giải mã chậm, nên hệ mã hoá khoá công khai chỉ dùng để mã hoá những bản tin ngắn
Hệ mã hoá khoá công khai thường được sử dụng cho cặp người dùng thoả thuận khoá bí mật của hệ mã hoá khoá riêng
Ứng dụng của hệ mã hóa công khai là bảo mật: một văn bản được mã hóa bằng khóa công khai của một người sử dụng thì chỉ có thể giải
mã với khóa bí mật của người đó Các thuật toán tạo chữ ký số khóa công khai có thể dùng để nhận thực, tiền điện tử, thỏa thuận khóa,…
1.1.1.8 Khái niệm về trao đổi khóa
Phần này đề cập một số khái niệm liên quan đến thỏa thuận khóa
Trao đổi khóa Trong các hệ khóa, dù là khóa công khai, người ta
vẫn cần trao đổi khóa, để mã hóa và giải mã, giữa các đối tác
Hình thức trao đổi Việc trao đổi khóa giữa các chủ thể tức các bên
tham gia truyền thông, có thể theo cách (i) thiết lập tự do giữa hai bên; (ii) hay thiết lập lâu dài trong thời gian dài hơn
Thỏa thuận khóa Việc trao đổi khóa được thiết lập giữa hai bên gọi
là thỏa thuận khóa
Phân phối khóa Việc trao đổi khóa trong thời gian dài, với điều phối
của một cơ quan ủy thác, được gọi là phân phối khóa
1.1.2 Một số vấn đề rủi ro mất an toàn thông tin
1.1.2.1 Xâm phạm tính riêng tư
Theo [5], các hệ thống TMĐT lưu giữ dữ liệu của người dùng và lấy lại các thông tin về sản phẩm từ các CSDL kết nối với máy chủ Web Ngoài các thông tin về sản phẩm, các CSDL có thể chứa các thông tin có giá trị và mang tính riêng tư
Trang 23Khi giao dịch qua internet, thông tin giao dịch được truyền đi trên mạng, những thông tin này rất có thể bị nghe nén, hay bị dò rỉ, bị đánh cắp trên đường truyền làm lộ tính bí mật của cuộc giao dịch Trong một cuộc giao dịch điện tử nói việc đảm bảo tính bí mật luôn phải đặt lên hàng đầu Bằng không, doanh nghiệp có thể gặp những nguy cơ như nghe trộm, giả mạo, mạo danh hay chối cãi nguồn gốc
Khi những thông tin nhạy cảm như thông tin cá nhân, thông tin thẻ tín dụng, thông tin giao dịch… bị lấy cắp trên đường truyền gây ra những thiệt hại không nhỏ với cả hai bên giao dịch Một phần mềm đặc biệt, được gọi là trình đánh hơi (sniffer) đưa ra cách móc nối vào Internet và ghi lại thông tin qua các máy tính đặc biệt (thiết bị định tuyến - router) trên đường đi từ nguồn tới đích Chương trình sniffer gần giống với việc móc nối vào đường dây điện thoại để nghe thông tin cuộc đàm thoại Chương trình sniffer có thể đọc thông báo thư tín điện tử cũng như các thông tin TMĐT
Hình 1.7 Xâm phạm riêng tư
Tình trạng lấy cắp số thẻ tín dụng là một vấn đề quá rõ ràng, nhưng các thông tin thỏa thuận hợp đồng, hoặc các trang dữ liệu được phát hành gửi đi cho các chi nhánh của hãng có thể bị chặn xem một cách dễ dàng Thông thường các thông tin bí mật của hãng, các thông tin trong cuộc giao kết hợp đồng còn có giá trị hơn nhiều so với một số thẻ tín dụng, các thông tin bị lấy cắp của hãng có thể trị giá đến hàng triệu đô la
Trang 241.1.2.2 Xâm phạm tính toàn vẹn
Mối hiểm họa đối với tính toàn vẹn tồn tại khi một thành viên trái phép
có thể sửa đổi các thông tin trong một thông báo Các giao dịch ngân hàng không được bảo vệ, ví dụ tổng số tiền gửi được chuyển đi trên internet, là chủ thể của xâm phạm tính toàn vẹn Tất nhiên, tính xâm phạm toàn vẹn bao hàm
cả xâm phạm tính bí mật Bởi vì một đối tượng xâm phạm (sửa đổi thông tin trái phép) có thể đọc và làm sáng tỏ thông tin Không giống hiểm họa với tính
bí mật Các hiểm họa tới tính toàn vẹn gây ra sự thay đổi trong các hoạt động của một cá nhân hoặc một công ty, do nội dung cuộc truyền thông bị thay đổi
1.1.2.4 Giả mạo nguồn gốc giao dịch
Giao dịch trên mạng là loại hình giao dịch không biên giới, có tính chất toàn cầu Các bên giao dịch không gặp nhau, thậm chí không hề quen biết nhau,
và đây cũng chính là cơ hội để cho kẻ xấu lợi dụng để thực hiện mục đích của mình Vì vậy, việc kiểm tra tính đúng đắn của thông tin trong giao dịch cần phải được thực hiện thường xuyên để phòng tránh những rủi ro như thông tin gây nhiễu, giả mạo hay lừa đảo
Trang 25Mặc dù đã dùng những biện pháp kỹ thuật để bảo mật thông tin trong giao dịch, song khi nhận được các thông tin người dùng vẫn phải kiểm tra tính đúng đắn, xác thực của thông tin
1.1.2.5 Chối bỏ giao dịch
Chối bỏ giao dịch được được định nghĩa là sự không thừa nhận của một trong các thực thể tham gia truyền thông, anh ta không tham gia tất cả hoặc một phần cuộc truyền thông … Khác với giao dịch thông thường khi đối tác hai bên biết mặt nhau, thì trong giao dịch điện tử được thực hiện trong môi trường Internet … Các bên tham gia giao dịch điện tử ở cách xa nhau về địa
lý, thậm chí họ có thể không biết mặt nhau thì vấn đề chối bỏ giao dịch có thể xảy ra rất cao và luật pháp cho chúng chưa nhiều, gây ra những thiệt hại to lớn cho bên tham giao dịch
1.1.2.6 Các hiểm họa đối với hệ thống giao dịch
1 Hiểm họa với máy chủ : Máy chủ là liên kết thứ 3 trong bộ ba máy khách - Internet - máy chủ, bao gồm đường dẫn TMĐT giữa một người dùng
và một máy chủ thương mại
2 Hiểm họa với máy chủ CSDL: Các hệ thống TMĐT lưu giữ dữ liệu của người dùng và lấy lại các thông tin về sản phẩm từ các CSDL kết nối với máy chủ Web Ngoài các thông tin về sản phẩm, các CSDL có thể chứa các thông tin có giá trị và mang tính riêng tư Tính bí mật luôn sẵn sàng trong các CSDL, thông qua các đặc quyền được thiết lập trong CSDL
3 Hiểm họa với máy chủ web: Các máy chủ Web được thiết lập chạy
ở các mức đặc quyền khác nhau Mức thẩm quyền cao nhất có độ mềm dẻo cao nhất, cho phép các chương trình thực hiện tất cả các chỉ lệnh của máy và không giới hạn truy nhập vào tất cả các phần của hệ thống, không ngoại trừ các vùng nhạy cảm và phải có thẩm quyền Việc thiết lập một máy chủ Web chạy ở mức thẩm quyền cao có thể gây hiểm hoạ về an toàn đối với máy chủ
Trang 26Web Trong hầu hết thời gian, máy chủ Web cung cấp các dịch vụ thông thường và thực hiện các nhiệm vụ với một mức thẩm quyền rất thấp Nếu một máy chủ Web chạy ở mức thẩm quyền cao, một đối tượng xấu có thể lợi dụng một máy chủ Web để thực hiện các lệnh trong chế độ thẩm quyền
4 Hiểm họa với máy khách : Cho đến khi được biểu diễn trên web, các trang web chủ yếu được biểu diễn dưới trạng thái tĩnh Thông qua ngôn ngữ biểu diễn siêu văn bản HTML, các trang tĩnh cũng ở dạng động một phần chứ không đơn thuần chỉ hiển thị nội dung và cung cấp liên kết các trang web với thông tin bổ sung Việc dùng những nội dung động mang lại sự sống động cho web tĩnh nhưng đã gây ra một số rủi ro cho trong TMĐT
5 Các hiểm họa đối với kênh truyền thông : Các thông báo trên Internet được gửi đi theo một đường dẫn ngẫu nhiên, từ nút nguồn tới nút đích Các thông báo đi qua một số máy tính trung gian trên mạng trước khi tới đích cuối cùng và mỗi lần đi chúng có thể đi theo những tuyến đường khác nhau Không có gì đảm bảo rằng tất cả các máy tính mà thông báo đi qua trên Internet đều an toàn Những đối tượng trung gian có thể đọc các thông báo, sửa đổi, hoặc thậm chí có thể loại bỏ hoàn toàn các thông báo của chúng ta ra khỏi Internet Do vậy, các thông báo được gửi đi trên mạng là đối tượng có khả năng bị xâm phạm đến tính bí mật, tính toàn vẹn và tính sẵn sàng
1.2 Bài toán thoả thuận khoá
1.2.1 Khái niệm về khóa
Theo [4], khóa là một đoạn thông tin điều khiển hoạt động của thuật toán mật mã hóa Nói một cách khác, khóa là thông tin để cá biệt hóa quá trình mã hóa cũng như giải mã Khóa cũng được sử dụng trong các thuật toán khác trong mật mã học như thuật toán tạo chữ ký số hay hàm băm mật
mã Khóa là một giá trị dùng để dùng để thực hiện một số thuật toán mã hóa Khóa có thể là một số, một xâu kí tự, Khóa này có thể nhận một hay nhiều giá trị
Trang 271.2.2 Khái niệm về thỏa thuận khóa
Nếu không muốn dùng dịch vụ phân phối khóa qua trung tâm được ủy quyền, cặp người dùng phải tự thỏa thuận (trao đổi) "khóa bí mật" Thỏa thuận khóa bí mật là giao thức để cặp người dùng liên kết với nhau cùng thiết lập khóa mật bằng cách liên lạc trên kênh công khai
Phương pháp thiết lập khóa chung kiểu này không nhờ tổ chức tin cậy điều phối mà cặp người dùng tự "thỏa thuận khóa mật"
1.2.3 Phân loại khóa
Người ta phân loại khóa dựa trên mức độ quan trọng của chúng như sau [4]:
1 Khóa chính: Khóa ở mức cao nhất trong cây phân cấp, thông thường không bảo vệ bằng mã hóa Chúng thường được phân phối bằng tay, hoặc thông qua các thủ tục, các phần cứng vật lý
2 Khóa mã hóa khóa: Khóa đối xứng hay các khóa công khai dùng để chuyển vận hay lưu giữ các khóa khác, sự an toàn của các khóa đó phụ thuộc vào chúng
3 Khóa dữ liệu: Dùng trong các phép toán mã hóa (hay xác thực) trên
dữ liệu Chúng có thể là các khóa phiên (Trong hệ mã đối xứng) Khóa riêng trong sơ đồ chữ ký cũng có thể là khóa dữ liệu (Tuy nhiên loại này thường được dùng trong thời gian dài)
Khóa ở mức cao được sử dụng để bảo vệ khóa ở mức thấp hơn Mục đích chính của việc làm này để tăng thêm độ khó cho các tấn công, và hạn chế bớt thiệt hại khi có khóa nào đó bị lộ Chẳng hạn khi khóa mã hóa khóa bị lộ,
tệ hơn nữa là khóa chính thì sẽ ảnh hưởng tới sự an toàn của tất cả các khóa ở mức dưới, nhưng khi khóa mã hóa dữ liệu nào đó bị lộ thì không ảnh hưởng tới các khóa ở mức trên
Ngoài ra người ta có thể phân chia khóa dựa trên khoảng thời gian còn
Trang 28hợp lệ của chúng thành khóa vĩnh cửu (Dùng mãi mãi) và khóa phiên (Chỉ dùng trong một phiên giao dịch hoặc trong khoảng thời gian nhất định) Khóa vĩnh cửu thường được dùng trong những ứng dụng lưu trữ dữ liệu, còn khóa phiên thường được dùng trong những ứng dụng truyền thông Khóa dùng lâu dài chủ yếu được dùng để bảo vệ khóa phiên
1.2.4 Vai trò của khóa trong an toàn thông tin
Theo tài liệu của GS Hà Huy Khoái và Phạm Huy Điển [4], mật mã hay các giải pháp bảo mật được sử dụng để bảo vệ tính bí mật của thông tin khi chúng được truyền trên các kênh truyền thông công cộng Giả sử nếu một người U muốn gửi cho người V một văn bản p, để bảo mật U lập cho p một bản mật mã c bằng một phương pháp Toán học nào đó, và thay vì gửi cho V văn bản p, U gửi choV văn bản c V nhận được c thực hiện giải mã để thu được p Để U biến p thành c và V biến c thành p, U và V phải thống nhất sử dụng chung một hệ mã khóa nào đó: hệ mã khóa đối xứng hoặc hệ mã khóa
công khai
1.2.4.1 Vai trò trong hệ mã khóa đối xứng
Hoạt động của hệ mã này được mô tả như sau: Nếu U và V là hai người dùng sử dụng hệ mã khóa đối xứng (Đôi khi nó còn được gọi là hệ mã khóa bí mật) để gửi tin cho nhau U dùng thuật toán E và khóa K lập mật mã (Từ đây trở đi ta sẽ gọi tắt là mã hóa) cho văn bản M muốn gửi cho V, rồi gửi cho V bản mã: c = EK(M) Thuật toán mã hóa E sinh ra các output khác nhau phụ thuộc vào giá trị khóa K Ở đầu bên kia V sau khi nhận được bản mã c, sẽ sử dụng thuật toán giải mã D và chính khóa K để thu được bản rõ M (Việc giải bản mã thành bản rõ từ nay sẽ được gọi là giải mã)
Hệ mã loại này có tên là hệ mã khóa đối xứng vì khóa lập mã và khóa giải mã là một, U và V chỉ có thể truyền tin được với nhau nếu cả hai cùng biết khóa K Tính an toàn của hệ mã phụ thuộc vào hai yếu tố: thuật toán phải
Trang 29đủ mạnh để không thể giải mã được văn bản nếu đơn thuần chỉ dựa vào bản
rõ, và tính an toàn khóa, chứ không phải là an toàn thuật toán, tức là nếu biết bản mã và thuật toán mã hóa nhưng không biết khóa vẫn không thể tìm được bản rõ Nói cách khác, ta không cần giữ bí mật thuật toán mà chỉ cần giữ bí mật chìa khóa Việc giữ bí mật chìa khóa trở thành điểm mấu chốt của hệ mã khóa loại này, nếu vì lý do nào đó mà khóa bị lộ thì tất cả những văn bản hai bên trao đổi với nhau cũng sẽ bị lộ
1.2.4.2 Vai trò trong hệ mã khóa công khai
Để sử dụng hệ mã khóa đối xứng yêu cầu hai bên trước khi truyền tin phải có chung một giá trị khóa, giá trị này cần phải giữ bí mật và điều này không thuận tiện trong môi trường truyền thông công cộng như hiện nay Vì thế người ta đã đưa ra cách mã hóa khác, cho phép các bên trong hệ thống có thể truyền tin cho nhau bằng cách công bố công khai thông tin cần cho việc lập
mã, khiến cho người gửi và người nhận không cần quy ước trước với nhau, và cũng không có những bí mật chung
Bên nhận được bản mã sử dụng khóa bí mật của mình giải mã để thu
được văn bản gốc Khóa K của mỗi người dùng gồm hai phần K = (K',K") trong đó K' là phần công khai, còn giữ bí mật K"
Mã hóa được thực hiện rất dễ dàng, bất kỳ người nào cũng có thể làm được, còn việc giải mã rất khó khăn nếu như không có khóa riêng, còn nếu có
nó thì việc giải mã cũng dễ như việc mã hóa Việc giữ bí mật khóa trong hệ
mã khóa công khai không còn là vấn đề nữa, vì mỗi người có một khóa riêng chỉ có chính anh ta biết mà thôi nên khả năng anh ta làm lộ gần như là không
có Vì vậy đối với những hệ mã loại này tính an toàn chúng nằm trong khả năng không bị lộ của chìa khóa bí mật từ những thông tin công khai tất cả mọi người đều có, mà điều này thì lại phụ thuộc vào độ khó của bài toán nào đó ví như: việc tính tích hai số nguyên tố lớn n = p.q: dễ dàng nhân hai số nguyên
Trang 30tố lớn p, q để thu được tích n của chúng, nhưng bài toán sẽ là khó nếu cho giá trị tích n, xác định các nhân tử nguyên tố p, q của nó
Hay như bài toán nếu có số nguyên tố p, một phần tử nguyên thủy α
theo mod p, ta dễ dàng tính được β = αx mod p ∈ Z*p, với x là giá trị bất kỳ Nhưng nếu ngược lại biết β, α, p khó tìm được số nguyên x (0 ≤ x ≤ p 2) sao
cho αx = β(mod p) Tuy nhiên, đến nay chưa có chứng minh bằng Toán học nào chỉ ra rằng đây thực sự là các bài toán khó, hoặc không thể giải trong thời gian chấp nhận được
1.2.4.3 Vai trò trong sơ đồ xưng danh và xác nhận danh tính
Xưng danh và xác nhận danh tính là thuật ngữ ngày nay đang được nhắc đến rất nhiều, nó đảm bảo rằng bên nhận văn bản đúng là bên ta định nhằm tới, hay chắc chắn rằng các thao tác trên văn bản là do bên được phép thực hiện Cho đến giữa những năm 1970 người ta vẫn còn cho rằng xưng danh và xác nhận danh tính với mã hóa thực chất là cùng một mục tiêu an toàn thông tin Nhưng cùng với sự khám phá ra hàm băm, chữ ký điện tử, người ta nhận ra rằng đó là hai mục tiêu an toàn thông tin hoàn toàn độc lập Xưng danh và xác nhận danh tính rất cần thiết trong các hoạt động thông tin, đặc biệt là khi các hoạt động này thông qua mạng
Mục tiêu an toàn của việc xưng danh là bảo đảm sao cho khi “nghe” một chủ thể U nào đó xưng danh với chủ thể V, bất kỳ ai khác U cũng không thể sau đó mạo nhận mình là U, kể cả chính V Nói cách khác, U muốn chứng minh để bên kia V xác nhận danh tính của mình mà không để lộ bất kỳ thông tin gì về mình
Việc xưng danh thường phải thông qua một giao thức hỏi - đáp nào đó, nhờ đó V có thể xác nhận danh tính của U, V hỏi U, U trả lời để chứng tỏ cho
V biết là U có sở hữu một bí mật riêng nào đó Vấn đề an toàn của sơ đồ xưng danh là phải đảm bảo để sau khi U xưng danh với V, thì bất kỳ người nào khác
Trang 31không thể mạo nhận mình là U kể cả V Nói cách khác, U không để lộ một thông tin gì về bí mật mà U có ngoài thông tin duy nhất là U sở hữu bí mật đó
Sự an toàn của sơ đồ xưng danh cũng nằm trong tính khó giải của các bài toán nào đó, hay dựa trên hàm một chiều nào đó
1.2.4.4 Vai trò trong hệ xác nhận và chữ ký điện tử
Như ta đã nói ở trên bài toán bảo mật được đáp ứng bằng các giải pháp mật mã Tuy nhiên giờ đây người nhận còn muốn kiểm thử tính xác thực nguồn gốc của thông tin, cũng như chắc chắn là thông tin đã không bị thay đổi trong quá trình truyền đi,và nhất là cần ràng buộc danh tính của bên đã gửi thông tin đi để sau đó anh ta không thể thoái thác là mình không gửi văn bản đó Những yêu cầu này được đáp ứng bằng cách sử dụng chữ ký điện tử
Chữ ký điện tử có cùng mục đích như chữ ký viết tay, tuy nhiên nếu chữ ký viết tay dễ dàng giả mạo được thì chữ ký điện tử lại rất khó giả mạo, cộng thêm nó chứng nhận nội dung của thông tin cũng như là danh tính của người gửi
Sơ đồ chữ ký điện tử cơ bản được mô tả như dưới đây:
1 Người gửi (Chủ nhân của văn bản) tạo chữ ký trên văn bản bằng khóa riêng của mình;
2 Người gửi chuyển văn bản cùng chữ “ký” cho người nhận;
3 Người nhận văn bản sử dụng chìa khóa công khai của người gửi kiểm thử chữ ký trên văn bản nhận được
Chữ ký không thể làm giả được vì chỉ có duy nhất người gửi có khóa bí mật để ký, và cũng không ai giả mạo được vì không có khóa bí mật Văn bản
đã ký không thể thay đổi nội dung được nữa Người đã ký thì không thể thoái thác “chữ ký” của mình
Bài toán xác nhận với chữ ký điện tử, theo nghĩa nào đó, có thể xem là
Trang 32“đối ngẫu” với bài toán mã hóa bằng hệ mã công khai Và vì thế nên sự an toàn của các sơ đồ ký cũng giống như thuật toán mã khóa công khai phụ thuộc vào độ khó của bài toán nào đó
1.2.5 Vấn đề xác thực khóa
1.2.5.1 Về xác thực
Theo [4], trong mật mã học, chứng thực khóa công khai (còn gọi là chứng thực số / chứng thực điện tử) là một chứng thực sử dụng chữ ký số để gắn một khóa công khai với một thực thể (cá nhân, máy chủ hoặc công ty ) Một chứng thực khóa công khai tiêu biểu thường bao gồm khóa công khai và các thông tin (tên, địa chỉ ) về thực thể sở hữu khóa đó Chứng thực điện tử
có thể được sử dụng để kiểm tra một khóa công khai nào đó thuộc về ai
Trong một mô hình hạ tầng khóa công khai PKI tiêu biểu, chữ ký trong chứng thực thuộc về nhà cung cấp chứng thực số (certificate authority, viết tắt
là CA) Trong mô hình mạng lưới tín nhiệm, thì chữ ký có thể là của chính thực thể đó hoặc của một thực thể khác Trong bất kỳ trường hợp nào thì chữ
ký trong chứng thực là sự đảm bảo của người ký về mối liên hệ giữa khóa công khai và thực thể được chứng nhận
1.2.5.2 Phân loại xác thực điện tử
Người ta đề cập ba cách xác thực điện tử
1 Cách 1: phân loại theo đối tượng cần xác thực
Xác thực dữ liệu: Văn bản, hình ảnh, âm thanh Có thể xem như (i) Xác thực thông điệp (Message Authentication); (ii) Xác thực giao dịch (Transaction Authentication); (iii) Xác thực khóa (Key Authentication)
Xác thực Thực thể: Người dùng, thiết bị đầu cuối,… Xác thực thực thể (Entity Authentication)
2 Cách 2: Phân loại theo công việc cần xác thực
Trang 33 Xác thực Thông điệp (Message Authentication)
Xác thực Giao dịch (Transaction Authentication)
Xác thực Thực thể (Entity Authentication)
Xác thực Khóa (Key Authentication)
3 Cách 3: Phân loại theo đặc điểm xác thực
Xác thực bảo đảm định danh nguồn gốc (Identificaton Of Source)
Xác thực bảo đảm toàn vẹn dữ liệu (Data Integrity)
Xác thực bảo đảm tính duy nhất (Uniqueness)
Xác thực bảo đảm tính phù hợp về thời gian (Timeless)
Trong xác thực, người ta quan tâm hai khía cạnh quan trọng :
1 Xác thực thông điệp : xác thực thông điệp hay xác định tính nguyên bản của dữ liệu, là một kiểu xác thực đảm bảo một thực thể được chứng thực nguồn gốc thực sự tạo ra dữ liệu ở một thời điểm nào đó Xác thực thông điệp bao hàm cả tính toàn vẹn dữ liệu, nhưng không đảm bảo tính duy nhất và phù hợp về thời gian của nó
2 Xác thực khóa: có thể xét dưới các gốc độ như :
Xác thực không tường minh khóa Một bên được đảm bảo rằng bên thứ 2 (Và có thể thêm các bên tin cậy) có thể truy cập được khóa mật
Khẳng định khóa : Một bên được đảm bảo (Khẳng định) rằng bên thứ hai chắc chắn đã có sở hữu khóa mật
Xác thực tường minh khóa : bao gồm cả hai yếu tố trên Nó chứng
tỏ được định danh của bên sở hữu khóa đã cho
Trang 341.2.6 An toàn khóa trong các giải pháp bảo mật
1.2.6.1 An toàn hệ mã khóa công khai
Theo [4], việc tính toán lập mã được công bố công khai (Để mọi người trong mạng có thể thực hiện được) Việc giải mã thì chỉ có người có chìa khóa riêng, bí mật mới có thể thực hiện được Quá trình để U gửi thông tin cho V
sử dụng hệ mã với khóa công khai như sau:
1 U và V thống nhất với nhau về hệ mã công khai sẽ sử dụng;
2 V gửi khóa công khai của mình cho U (Hoặc U lấy được khóa công khai của V từ cơ sở dữ liệu công khai đặt ở một nơi nào đó);
3 U sử dụng khóa công khai của V để mã hóa văn bản rồi gửi cho V;
4 V dùng khóa bí mật của mình để giải mã văn bản nhận được từ U Với những hệ mã khóa loại này phải đảm bảo dù kẻ tấn công có biết thuật toán và khóa công khai khi không biết khóa bí mật vẫn khó tìm được cách giải mã
Trong trường hợp dữ liệu công khai được các bên lấy từ một máy chủ nào đó ở xa, giao thức chỉ an toàn nếu giải quyết được trường hợp tấn công giữa dòng Nếu một kẻ W có khả năng tráo đổi chìa khóa trên cơ sở dữ liệu (CSDL) khóa công khai thì người đó dễ dàng thu được toàn bộ thông tin mà
U gửi cho V Muốn làm được việc này, anh ta chỉ việc lấy khóa công khai của mình tráo vào khóa công khai của V; khi U lấy chìa này để mã hóa thông tin gửi cho V, sẽ bị W thu được và giải mã; sau khi đọc xong thông tin anh ta sẽ
mã hóa bằng khóa công khai của V rồi gửi cho V; V vẫn nhận thông tin mà U gửi nhưng không biết là W đã nghe trộm toàn bộ thông tin này Vẫn bằng cách này W cũng nghe được toàn bộ thông tin mà V gửi cho U Điểm yếu của
hệ thống là khi U lấy chìa công khai của V để mã hóa thông tin mà không biết chìa khóa đó có thực sự là của V hay không? Đặt ra yêu cầu ở đây là phải
Trang 35khắc phục được tình trạng này Thêm nữa, nếu giả thiết rằng không một kẻ tấn công nào có thể truy nhập được vào CSDL trên máy chủ, thì khả năng U nhận được một khóa “giả mạo” từ trung tâm vẫn có thể xảy ra nếu như W thu được các văn bản trên đường chuyển về cho U
1.2.6.2 An toàn trong hệ mã khóa đối xứng
Quá trình truyền tin của hai bên U và V sử dụng hệ mã khóa đối xứng
có thể được mô tả như sau:
1 U và V thỏa thuận về hệ mã khóa
2 U và V thỏa thuận khóa dùng chung
3 U sử dụng thuật toán và khóa đã thỏa thuận mã hóa văn bản M muốn gửi cho V
4 U gửi cho V bản mã hóa đó
5 V giải mã văn bản nhận được từ U bằng thuật toán và khóa đã thỏa thuận với U để thu được bản rõ M
W nào đó trên đường truyền muốn có được văn bản M, nếu anh ta nghe đường truyền ở bước (4), anh ta sẽ phải có gắng phân tích bản mã để thu được bản rõ Tuy nhiên giờ đây chúng ta có rất nhiều thuật toán để không cho phép
W thực hiện mong muốn của mình Nhưng W không chịu lùi bước, anh ta cố gắng nghe đường truyền từ bước (2), và nếu như hai người không có một biện pháp bảo vệ nào cho khóa thì những gì mà V có được thì W cũng có
Việc mã hóa thông tin bằng hệ mã đối xứng sử dụng chìa khóa chung cho cả hai công việc lập mã và giải mã, đặt ra yêu cầu là làm thế nào để hai bên có thể có chung một giá trị bí mật, không có bên nào khác có thể biết được Ta vừa nói rằng với những hệ mã đối xứng thì giai đoạn U và V thống nhất với nhau về chìa khóa chung sẽ sử dụng là khâu yếu nhất Nếu
Trang 36chìa khóa này mà bị lộ không những kẻ gian biết được thông tin hai bên trao đổi với nhau mà còn có thể đóng giả “bên này”để đánh lừa “bên nọ” Giải pháp đơn giản nhất là sử dụng khóa phiên chỉ có hiệu lực trong khoảng thời gian nhất định Tuy nhiên đó không phải là cách làm hay, và không khắc phục tận gốc vấn đề Giải quyết bài toán này càng khó khăn hơn khi ta biết rằng việc trao đổi khóa một cách tuyệt mật (Có giá trị hơn
dữ liệu) trong môi trường công cộng là vô cùng khó
1.3 Quản lý khóa
1.3.1 Tổng quan về quản lý khóa
Phần trên đã nêu phương pháp lập mã và các bài toán quan trọng khác liên quan đến việc truyền tin bảo mật trên các mạng truyền tin công cộng nói chung Ta cũng đã thấy rằng các hệ mật mã khoá công khai công khai có nhiều ưu việt hơn các hệ mật mã đối xứng trong việc làm nền tảng cho các giải pháp an toàn thông tin, và đặc biệt đối với các hệ mã khoá đối xứng thì việc thực hiện đòi hỏi những kênh bí mật để chuyển khoá hoặc trao đổi khoá giữa các đối tác, thì về nguyên tắc, đối với các hệ mã hoá với khoá công khai không cần có những kênh bí mật như vậy, vì các khoá công khai có thể được truyền hay trao đổi cho nhau một cách công khai qua các kênh truyền tin công cộng Tuy nhiên, trên thực tế, để bảo đảm cho các hoạt động thông tin được thật sự an toàn, không phải bất cứ thông tin nào về các khoá công khai của một hệ mã, của một thuật toán kiểm tra chữ ký, của một giao thức xác nhận thông báo hay xác nhận danh tính … cũng phát công khai một cách tràn lan trên mạng công cộng, mặc dù là công khai nhưng người ta cũng muốn là những ai cần biết thì mới nên biết mà thôi
Do đó, mặc dù sử dụng các hệ có khoá công khai, người ta cũng muốn
có những giao thức thực hiện việc trao đổi khoá giữa các đối tác thực sự có nhu cầu giao lưu thông tin với nhau, kể cả trao đổi khoá công khai Việc trao
Trang 37đổ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, hoặc có thể được thiết lập một cách tương đối lâu dài trong thời gian nào đó trong cả cộng đồng với sự điều phối của một cơ quan được uỷ quyền tin cậy
TA Việc trao đổi khoá trong trường hợp thứ nhất ta gọi đơn giản là thoả thuận khoá, còn trong trường hợp thứ hai ta gọi là phân phối khoá; TA là nơi thực hiện việc phân phối, cũng là nơi quản lý khoá
Việc thoả thuận khoá nói chung không cần có sự tham gia của một TA nào và chỉ có thể xảy ra khi các hệ bảo mật mà ta sử dụng là hệ có khoá công khai, còn việc phân phối khoá thì có thể xảy ra đối với các trường hợp sử dụng các hệ khoá đối xứng cũng như các hệ có khoá công khai Việc phân phối khoá với vai trò quản trị khoá của một TA là một việc bình thường, đã tồn tại rất lâu trước khi có các hệ mật mã khoá công khai
1.3.2 Quản lý khóa bí mật
Với hệ mã hóa khóa đối xứng, nếu biết được khóa mã hóa thì có thể
"dễ" tính được khóa giải mã và ngược lại (Một số hệ mã hóa khóa đối xứng
có khóa mã hóa và giải mã trùng nhau) Chính vì vậy, hệ mã hóa khóa đối xứng còn được gọi là hệ mã hóa "khóa riêng" Hai đối tác muốn liên lạc bí mật với nhau bằng hệ mã hóa khóa đối xứng phải thỏa thuận trước 1 "khóa riêng", tức là 1"khóa bí mật"
Một người giữ 1 bí mật đã khó, nếu 2 người giữ bí mật sẽ càng khó hơn
và dễ bị lộ Chưa kể rằng nếu trên một mạng có n người dung, thì theo phương pháp thông thường, mỗi người dùng phải quản lý (n-1) khóa và tổng
số khóa riêng giữa 2 người dùng nhiều nhất là (n-1) + (n-2) + (n-3) + (n-4) + + 2 + 1 = n(n-1)/2 Nếu n lớn thì giải pháp này không thực tế vì lượng thông tin rất lớn cần phải truyền đi, khó đảm bảo an toàn