Đây là một hệ thống được xây dựng mới hoàn toàn ở nước ta do việc ứng dụng thành tựu khoa học vào trong công tác nghiệp vụ nên việc phân tích, thiết kế hệ thống được thực hiện trên cơ sở
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CễNG NGHỆ
Trang 2MỤC LỤC
LỜI CẢM ƠN 03
LỜI CAM ĐOAN 04
CÁC KÝ HIỆU VIẾT TẮT 05
MỞ ĐẦU 06
Chương 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN 09
1.1 Định nghĩa về thông tin và an toàn thông tin 09
1.1.1 Định nghĩa về thông tin 09
1.1.2 Các thuộc tính của thông tin 09
1.1.3 An toàn thông tin 11
1.1.4 Các yếu tố ảnh hưởng đến an toàn thông tin 11
1.2 Ý nghĩa của việc đảm bảo an toàn thông tin 14
1.3 Các yêu cầu đảm bảo an toàn thông tin 15
1.4 Một số giải pháp đảm bảo an toàn thông tin 15
1.4.1 Bảo vệ nội dung thông tin trên máy tính 15
1.4.2 Bảo vệ an toàn thông tin khi trao đổi qua mạng bằng mã hoá 17
Chương 2: XÁC THỰC VÀ BẢO ĐẢM TOÀN VẸN DỮ LIỆU DỰA TRÊN CHỮ KÝ SỐ 24
2.1 Bảo đảm an toàn thông tin bằng phương pháp nhận diện và xác thực (I&A) 24
2.1.1 I&A dựa trên một số điều mà người dùng biết 25
2.1.2 I&A dựa trên một số cái mà người dùng có 26
2.1.3 I&A dựa trên một số thuộc tính hay nét đặc trưng của người dùng 27
2.2 Chữ kí số 28
2.2.1 Khái niệm về chữ kí số 28
2.2.2 Các ưu điểm của chữ kí số 29
2.2.3 Sơ đồ chữ kí số 29
2.2.3.1 Định nghĩa 29
2.2.3.2 Phân loại sơ đồ chữ kí số 30
2.3 Ứng dụng chữ kí số để xác thực tính toàn vẹn của nội dung 34
2.3.1 Xác thực tính toàn vẹn của nội dung thông tin 34
2.3.2 Sơ đồ chữ kí RSA 35
2.3.2.1 Giới thiệu về mã hoá khoá công khai 35
2.3.2.2 Mã hoá khoá công khai RSA 36
2.3.2.3 Hàm băm SHA-1 38
2.3.2.4 Sơ đồ chữ kí RSA 42
Chương 3: XÂY DỰNG GIẢI PHÁP ĐẢM BẢO AN TOÀN THÔNG TIN TRONG HỆ THỐNG TÀNG THƯ ADN CỦA CÔNG AN THÀNH PHỐ HÀ NỘI 47
3.1 Đánh giá thực trạng 47
Trang 33.2 Yêu cầu đảm bảo an toàn thông tin trong hệ thống tàng thư ADN của Công an Thành phố Hà Nội 47 3.3 Thành phần, chức năng và dữ liệu của hệ thống tàng thư ADN 50 3.4 Xây dựng giải pháp đảm bảo an toàn thông tin trong hệ thống tàng thư ADN của Công an Thành phố Hà Nội 53
3.4.1 Kiểm soát lối vào ra của thông tin 54 3.4.2 Bảo đảm tính toàn vẹn của thông tin trong CSDL tàng thư ADN bằng chữ
kí số 55 3.5 Xác thực người dùng 57 3.6 Sử dụng chữ kí số đảm bảo tính toàn vẹn của thông tin trong CSDL tàng thư ADN của Công an Thành phố Hà Nội 58
3.6.1 Phân tích mô hình kí và xác thực nội dung thông tin trong hệ thống 58 3.6.2 Xây dựng hệ thống bảo đảm tính toàn vẹn của dữ liệu trên tàng thư ADN của Công an thành phố Hà Nội 60
3.6.2.1 Quá trình người dùng nhập dữ liệu và kí 60 3.6.2.2 Quá trình Giám định viên kiểm tra thông tin đối tượng và kí 61 3.6.2.3 Quá trình Lãnh đạo phòng kiểm tra thông tin đối tượng và kí 62 3.7 Hoạt động của hệ thống bảo vệ toàn vẹn dữ liệu trong hệ thống quản lý tàng thư ADN dựa trên chữ kí số 63
3.7.1 Đăng nhập vào hệ thống 63 3.7.2 Người dùng nhập thông tin đối tượng và kí trên nội dung thông tin đó 64 3.7.3 Giám định viên kiểm tra xác thực nội dung thông tin người dùng nhập và
kí xác nhận nội dung thông tin đó bằng chữ kí số 65 3.7.4 Lãnh đạo phòng kiểm tra xác thực nội dung thông tin đối tượng và kí
duyệt xác nhận nội dung thông tin đó bằng chữ kí số 67
KẾT LUẬN 69
TÀI LIỆU THAM KHẢO 71
Trang 4
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc tới TS Hồ Văn Canh, người thầy đã định hướng cho tôi trong việc lựa chọn đề tài, đưa ra những nhận xét quý báu và trực tiếp hướng dẫn tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn tốt nghiệp
Tôi cũng xin gửi lời cảm ơn tới Ths Lê Văn Toàn và các cán bộ phòng 4 - Cục E15- Tổng cục VI- Bộ Công an đã giúp đỡ tôi trong quá trình xây dựng, tích hợp, kiểm thử chương trình
Tôi xin tỏ lòng biết ơn sâu sắc tới thầy cô, bạn bè cùng khoá đã dìu dắt, giúp đỡ tôi tiến bộ trong suốt những năm học qua Xin cảm ơn gia đình và bè bạn, những người luôn khuyến khích và giúp đỡ tôi trong mọi hoàn cảnh khó khăn Tôi xin cảm ơn toàn thể tập thể anh chị em đồng nghiệp tại phòng Hồ sơ nghiệp vụ cảnh sát- Công an Thành phố Hà nội, nơi tôi đang công tác, đã giúp
đỡ, chia sẻ và tạo điều kiện cho tôi tham gia khoá học và hoàn thành luận văn này
Luận văn này chắc chắn còn nhiều khiếm khuyết Tôi xin cảm ơn những thầy cô, bạn bè và đồng nghiệp đã và sẽ có những góp ý chân tình cho nội dung của luận văn để tôi có thể tiếp tục đi sâu tìm hiểu và ứng dụng chữ kí số vào thực tiễn công tác
Hà nội, ngày 20 tháng 06 năm 2009
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng
cá nhân, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được sự tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định theo lời cam đoan của mình
Hà nội ngày 20 tháng 06 năm 2009
Phạm Thị Thu
Trang 6CÁC KÝ HIỆU VIẾT TẮT
ACL: Access Control List ADN: Deoxyribonucleic acid ATM: Automatic Teller Machine
Trang 7MỞ ĐẦU
Kỹ thuật gen (ADN) trong khoa học hình sự đã được áp dụng từ cuối những năm 1980 và đang ngày càng phổ biến trên thế giới với những ưu điểm lớn như phong phú về chủng loại dấu vết bởi tất cả các dấu vết, mẫu vật từ cơ thể người (lông, tóc, dịch, máu, mô…) đều có thể là nguồn giám định gen, lượng
dấu vết cần cho giám định ít, độ nhạy và tính chính xác cao Giám định gen
được dùng để truy nguyên cá thể người, xác định quan hệ huyết thống, xác định hài cốt và người chết chưa rõ tung tích, đạt hiệu quả rất cao trong truy tìm tội phạm, xác định tung tích nạn nhân, giúp rút ngắn thời gian điều tra, xác minh, sàng lọc dấu vết thu được ở hiện trường và chia sẻ dữ liệu quốc tế Hiện nay, đã
có hơn 60 nước trên thế giới áp dụng công nghệ này trong đấu tranh phòng chống tội phạm Một số nước như Anh, Australia, Trung Quốc, Singapore, Mỹ,
Hà Lan, Nhật Bản… đã xây được hệ thống tàng thư gen tội phạm rất hiện đại và quy mô Tại Việt Nam, từ năm 1999, Viện Khoa học hình sự - Bộ Công an đã sử dụng công nghệ giám định gen, phục vụ đắc lực công tác điều tra phá án, trong
đó nhiều vụ án quan trọng giám định gen là chìa khóa duy nhất để phá án
Điều này đã đặt ra yêu cầu cấp bách về việc nước ta cần có một tàng thư gen quốc gia phục vụ công tác đấu tranh phòng chống tội phạm và các mục đích công khác
Hệ thống thông tin quản lý tàng thư ADN được hình thành trên cơ sở đề tài nghiên cứu“Bước đầu xây dựng tàng thư ADN nhận dạng cá thể tại địa bàn thành phố Hà Nội” do Công an TP Hà nội thực hiện nhằm phục vụ cho công tác
quản lý tái phạm của các đối tượng có tiền án tiền sự, nâng cao hiệu quả điều tra khám phá án trong tình hình diễn biến của các loại tội phạm ngày càng phức tạp Đồng thời, hệ thống này cũng làm tiền đề cho việc xây dựng một Hệ thống quản lý tàng thư ADN phục vụ công tác giám định hình sự dựa trên ADN Đây
là một hệ thống được xây dựng mới hoàn toàn ở nước ta do việc ứng dụng thành tựu khoa học vào trong công tác nghiệp vụ nên việc phân tích, thiết kế hệ thống được thực hiện trên cơ sở mục tiêu, yêu cầu đối với hệ thống của đề tài, kỹ thuật
và công nghệ được áp dụng để phân tích ADN, các yêu cầu về mặt pháp lý đối với việc sử dụng tàng thư ADN để giám định hình sự Việc xây dựng tàng thư gen tội phạm thực chất là xây dựng cơ sở dữ liệu riêng về các đối tượng là tội phạm và các đối tượng có hành vi vi phạm pháp luật khác, cụ thể là xây dựng một ngân hàng dữ liệu gen tội phạm của các đối tượng có tiền án, các loại tội phạm xâm phạm tính mạng, sức khỏe, danh dự, nhân phẩm và các loại tội đặc
Trang 8biệt nghiêm trọng khác, xây dựng ngân hàng dữ liệu gen các dấu vết ở hiện trường, mẫu gen của người chết chưa rõ tung tích, để phục vụ công tác đấu tranh phòng chống tội phạm, cùng với tàng thư vân tay, tàng thư ADN sẽ là sự
bổ sung quan trọng vào kho thông tin của lực lượng Công an nhân dân trong cuộc đấu tranh phòng chống tội phạm, bảo vệ an ninh quốc gia, giữ gìn trật tự
an toàn xã hội
Như vậy có thể nhận thấy rằng hệ thống tàng thư ADN tội phạm là một hệ thống thông tin quan trọng, đòi hỏi phải đảm bảo tính khách quan, chính xác của dữ liệu lưu trữ Trong ngành Công an hiện có một số hệ thống thông tin phục vụ công tác lưu trữ, khai thác, quản lý đối tượng phạm tội như hệ thống quản lý đối tượng, hệ thống quản lý vân tay Tuy nhiên, các hệ thống này đều
là hệ thống mang tính quản lý thông tin dữ liệu, chưa gắn với tác nghiệp nghiệp
vụ và chưa quan tâm đến các yếu tố pháp lý trong kết quả tra cứu trả ra Vì vậy, thông tin kết quả vẫn còn thiếu tính pháp lý, khi sử dụng cần có sự quyết định thêm của con người Đối với việc giám định dựa trên vân tay, việc kiểm tra kết quả tra cứu có thể thực hiện dễ dàng bằng mắt và không tốn kém Tuy nhiên, các hệ thống thông tin phục vụ công tác giám định hiện nay vẫn chưa thể xác định được kết quả tra cứu là hoàn toàn khách quan, không bị can thiệp bằng yếu
tố chủ quan hoặc nguyên nhân khách quan khác
Trên cơ sở những nhận định trên nền việc phân tích, thiết kế Hệ thống
thông tin quản lý tàng thư ADN của Công an thành phố Hà Nội cũng như các
yêu cầu về mặt pháp lý đối với việc sử dụng tàng thư ADN để giám định hình
sự, được sự giúp đỡ của giáo viên hướng dẫn và được sự đồng ý của trường Đại
học Công nghệ, tôi đã mạnh dạn nghiên cứu và chọn đề tài “Xây dựng giải pháp đảm bảo an toàn thông tin trong hệ thống tàng thư ADN của Công an Thành phố Hà Nội” làm đề tài cho luận văn tốt nghiệp của mình Trên cơ sở tìm hiểu
các biện pháp bảo đảm an toàn thông tin, luận văn đi sâu vào tìm hiểu chữ kí số
và ứng dụng chữ kí số trong việc đảm bảo tính toàn vẹn thông tin trong hệ thống thông tin quản lý tàng thư ADN
Ngoài phần mở đầu và kết luận, nội dung luận văn bao gồm:
Chương 1: Tổng quan về an toàn thông tin
Chương này cung cấp những thông tin khái quát về thông tin, các thuộc tính của thông tin, an toàn thông tin và những yếu tố ảnh hưởng đến an toàn thông tin, một số giải pháp đảm bảo an toàn thông tin
Chương 2: Xác thực và bảo đảm toàn vẹn dữ liệu dựa trên chữ kí số
Chương này nghiên cứu về xác thực, chữ kí số, các loại kí số và ứng dụng chữ kí số vào đảm bảo tính toàn vẹn của thông tin Chương 2 cũng đi sâu vào
Trang 9nghiên cứu sơ đồ chữ kí RSA là sơ đồ chữ kí được sử dụng để đảm bảo tính toàn vẹn dữ liệu trong Hệ thống thông tin quản lý tàng thư ADN
Chương 3: Xây dựng giải pháp đảm bảo an toàn thông tin trong hệ thống tàng thư ADN của Công an Thành phố Hà Nội
Chương này đi sâu nghiên cứu thực trạng về Hệ thống tàng thư ADN, các vấn đề an toàn đặt ra đối với Hệ thống tàng thư ADN của Công an Thành phố
Hà Nội Từ đó xây dựng giải pháp để đảm bảo an toàn thông tin lưu trữ trong hệ thống
Đây là một đề tài có tính ứng dụng trong thực tiễn, tuy nhiên khả năng của học viên còn hạn chế nên không thể tránh khỏi những thiếu sót Kính mong các thầy cô giúp đỡ, góp ý để luận văn hoàn thiện hơn nữa nhằm đưa đề tài luận văn
áp dụng thành công vào dự án, đổi mới công tác nghiệp vụ của Công an Thành phố Hà Nội
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN
1.1 Định nghĩa về thông tin và an toàn thông tin
1.1.1 Định nghĩa về thông tin
Theo định nghĩa một cách chung nhất thì thông tin là những hiểu biết, tri thức của con người về một đối tượng, một thực thể, một sự kiện trong thế giới khách quan Thông tin có thể tồn tại dưới nhiều dạng khác nhau (chữ viết, âm thanh, hình ảnh hoặc chuỗi những chữ số) Chính vì thế thông tin cũng có thể trao đổi được dưới nhiều hình thức khác nhau, trong đó hình thức trao đổi thông tin dưới dạng thông tin số đang là một hình thức tiện lợi và được áp dụng vào hầu hết các lĩnh vực của cuộc sống ngày nay
Thông tin thường rất đa dạng, phong phú, mỗi một thông tin khác nhau sẽ
có giá trị khác nhau Giá trị của thông tin phụ thuộc vào nội dung của thông tin
đó
1.1.2 Các thuộc tính của thông tin
Các thuộc tính của thông tin bao gồm:
- Tính bí mật (Confidentiality): mỗi người chỉ có thể có được những loại thông tin cho phép Thông tin khó có thể bị truy cập bởi những người không có thẩm quyền
- Tính sở hữu hay tính kiểm soát (Possession or Control): giả sử một kẻ
ăn trộm được một phong bì đóng kín có chứa một thẻ tín dụng và trong
đó có cả mật mã (số PIN: Personal Identification Number) Thậm chí nếu kẻ trộm không mở phong bì đó ra thì nạn nhân cũng lo lắng rằng
kẻ trộm có thể mở phong bì ra bất cứ khi nào hắn ta muốn mà không cần phải có sự cho phép của người chủ sở hữu phong bì đó (nạn nhân) Điều này minh họa cho việc mất tính sở hữu hoặc kiểm soát thông tin nhưng không bao gồm sự xâm phạm tính bí mật
- Tính toàn vẹn (Integrity): tham chiếu tới khía cạnh chính xác hoặc phù hợp với trạng thái của thông tin mong muốn Bất kỳ sự thay đổi không được phép thông tin nào dù là vô tình hay cố ý đều xâm phạm đến tính toàn vẹn của thông tin
- Tính xác thực (Authenticity): tham chiếu đến nhãn hoặc quyền hạn chính xác của thông tin Ví dụ một tên tội phạm giả mạo phần đầu một bức thư điện tử (email header) làm cho mọi người tưởng là một người
vô tội khác để gửi thư đe dọa Ở đây không có sự xâm phạm tính bí mật (vì tên tội phạm sử dụng tài khoản email của chính hắn), tính sở
Trang 11hữu hay kiểm soát (không có thông tin nào vượt ra ngoài tầm điều khiển của nạn nhân), và cũng không xâm phạm tính toàn vẹn (bức thư điện tử được gửi đi đúng như tên tội phạm mong muốn) Cái bị xâm phạm ở đây là tính xác thực: thư điện tử đó được quy cho một người khác Tương tự việc lạm dụng một trường trong cơ sở dữ liệu để lưu trữ những thông tin không đúng nhãn là xâm phạm tính xác thực
- Tính sẵn sàng (Availability): có nghĩa là sự truy cập tới thông tin đúng lúc Ví dụ một sự cố về đĩa hoặc một cuộc tấn công từ chối dịch vụ đều xâm phạm đến tính sẵn sàng Bất cứ một sự trễ nào vượt quá mức độ phục vụ mong đợi của hệ thống đều có thể được coi như sự xâm phạm tính sẵn sàng
- Tính hữu dụng (Utility): ví dụ một người nào đó mã hóa dữ liệu trên đĩa để ngăn ngừa việc truy cập trái phép hoặc thay đổi không lường trước được và sau đó làm mất khóa giải mã Đó là sự xâm phạm tính hữu dụng Dữ liệu vẫn còn tính bí mật, điều khiển, toàn vẹn, xác thực, sẵn sàng Nó chỉ không hữu dụng trong dạng đó mà thôi Tính hữu dụng thường bị nhầm lẫn với tính sẵn sàng bởi vì những sự xâm phạm đến tính hữu dụng thường phải mất thời gian để chuyển đổi định dạng
dữ liệu Tuy nhiên hai khái niệm hữu dụng và sẵn sàng là hoàn toàn khác nhau
Hình 1.1 Sơ đồ 6 thuộc tính cơ bản của thông tin
chúng không thể bị chia nhỏ hơn nữa Hơn nữa, chúng cũng không trùng lặp với nhau bởi mỗi thuộc tính này đều tham chiếu đến một khía cạnh duy nhất của
Trang 12thông tin Bất kỳ sự xâm phạm an ninh thông tin nào cũng có thể được mô tả như sự ảnh hưởng đến một hoặc nhiều trong số những thuộc tính cơ bản này của thông tin
1.1.3 An toàn thông tin
An toàn thông tin là quá trình đảm bảo những thuộc tính của thông tin Hay nói cách khác, an toàn thông tin là việc bảo vệ thông tin khỏi các truy cập trái phép, sử dụng, tiết lộ, phá hủy, sửa đổi, phá hoại không được phép
Các thuật ngữ an toàn thông tin, an toàn máy tính, bảo đảm thông tin thường xuyên được sử dụng thay thế cho nhau Các thuật ngữ này có liên hệ với nhau và chúng cùng chia sẻ mục đích chung là bảo vệ tính bí mật, tính toàn vẹn, tính sẵn sàng của thông tin Tuy nhiên có sự khác biệt tinh tế giữa chúng Những khác nhau này chủ yếu nằm trong cách tiếp cận vấn đề, phương pháp luận và trọng tâm của mỗi khái niệm An toàn thông tin tập trung vào các thuộc tính: bí mật, toàn vẹn, sở hữu hay kiểm soát, xác thực, tính hữu dụng, tính sẵn sàng của thông tin mà không để ý đến các dạng thông tin như: dạng lưu trữ trong máy tính, dạng in trên giấy…
1.1.4 Các yếu tố ảnh hưởng đến an toàn thông tin
An toàn thông tin được đảm bảo dựa trên 4 yếu tố cơ bản là: chính sách, con người, quy trình và công nghệ Những yếu tố này cần được thiết lập để thực thi có hiệu quả mục tiêu đảm bảo an toàn đối với một tổ chức hay một quốc gia
a Chính sách (Policy)
Chính sách an ninh an toàn là một kế hoạch ở mức cao, cung cấp định hướng để thực hiện các quyết định nhất định Nó là nền tảng để phát triển các hướng dẫn về an ninh an toàn và các thủ tục mà người sử dụng, người quản trị
hệ thống phải thực hiện Chính sách an ninh an toàn là tài liệu có tính định hướng chiến lược
b Con người (People)
Con người là yếu tố tạo nên an toàn thông tin nhưng chính con người cũng chịu ảnh hưởng của an toàn thông tin Con người có thể góp phần thực hiện tốt các chính sách an ninh bằng nhiều cách như: nhận dạng các đoạn mã
động đáng ngờ nhằm chiếm quyền sử dụng, v.v… Nhưng mặt khác, con người
Trang 13cũng được coi là mắt xích yếu nhất trong vấn đề đảm bảo an toàn thông tin Việc con người không tuân thủ theo những chính sách an toàn thông tin chính là một nguyên nhân lớn nhất gây ra các lỗ hổng bảo mật bên trong nội bộ của một tổ chức, một quốc gia Việc đảm bảo an toàn thông tin là cả một quá trình, trong đó đòi hỏi việc triển khai một chính sách an ninh tốt, phù hợp với điều kiện thực tế,
và yếu tố con người là một phần chính trong quá trình đó
c Quy trình ( Process):
Quy trình đảm bảo an toàn là phương pháp mà các tổ chức dùng để thực thi và đạt được mục tiêu an toàn của chúng Quy trình được thiết kế để xác định, giới hạn, quản lý và kiểm soát các nguy cơ đối với hệ thống và dữ liệu, đảm bảo tính sẵn sàng, tính bí mật và tính toàn vẹn của dữ liệu, đồng thời đảm bảo trách nhiệm giải trình của hệ thống
Phạm vi quy trình bao gồm 5 vấn đề sau:
+ Đánh giá nguy cơ đảm bảo an toàn: Là tiến trình nhằm xác định các
hiểm họa, tính dễ bị tổn thương, bị tấn công, mọi khả năng xuất hiện sự cố và hậu quả xảy ra
+ Chiến lược đảm bảo an toàn: Là kế hoạch nhằm làm giảm bớt các nguy
cơ, trong đó kết hợp các yếu tố về công nghệ, chính sách, thủ tục và sự huấn luyện Kế hoạch đó nên được xem trước và được sự đồng ý của ban lãnh đạo Các chiến lược bảo đảm an toàn thông tin bao gồm:
Cấp quyền tối thiểu (Least Privilege): nguyên tắc cơ bản trong an toàn nói chung là “hạn chế sự ưu tiên” Mỗi đối tượng sử dụng hệ thống (
người quản trị mạng, người sử dụng…) chỉ được cấp phát một số quyền hạn nhất định đủ dùng cho công việc của mình
Phòng thủ theo chiều sâu (Defense in Depth): nguyên tắc tiếp theo trong an toàn nói chung là “bảo vệ theo chiều sâu” Cụ thể là tạo lập
nhiều lớp bảo vệ khác nhau cho hệ thống:
Thông tin / / / / /
Access rights Login/Password Data Encryption Physical protection Firewall
+ Thi hành quyền kiểm soát an ninh: tiếp nhận và thao tác công nghệ, ấn
định những nhiệm vụ và trách nhiệm đặc biệt cho những người lãnh đạo và các nhân viên, triển khai sự kiểm soát các nguy cơ một cách thích hợp, và đảm bảo rằng người lãnh đạo cũng như nhân viên phải hiểu được trách nhiệm của họ, phải
có kiến thức, kĩ năng và động lực cần thiết để hoàn thành nhiệm vụ của họ
+ Kiểm tra sự an toàn: Việc sử dụng những phương pháp khác nhau để
thu thập và đảm bảo những nguy cơ đó được đánh giá và giảm nhẹ Những phương pháp kiểm tra này cần phải kiểm chứng rằng những kiểm soát quan trọng đó có hiệu quả và được thực hiện như dự định
Trang 14+ Sự kiểm soát và cập nhật: Quá trình liên tục tập hợp và phân tích thông
tin về các nguy cơ mới, sự tấn công thực tế tại một cơ quan hay những tổ chức cùng hợp tác Thông tin này được dùng để cập nhật đánh giá rủi ro, chiến lược
và việc kiểm soát Việc theo dõi và cập nhật làm quá trình được liên tục
d.Công nghệ (Technology):
Công nghệ chính là vấn đề sử dụng các kỹ thuật cả về phần cứng và phần mềm nhằm đảm bảo an toàn thông tin, một trong những yếu tố quyết định đến
Công nghệ hiện nay bao gồm những sản phẩm như Firewall, IDS (hệ thống phát hiện xâm nhập), phần mềm phòng chống virus, giải pháp mật mã, chữ kí số, sản phẩm mạng, hệ điều hành và những ứng dụng như: trình duyệt Internet và phần mềm nhận Email từ máy trạm.v.v
Qua phân tích 4 yếu tố của an toàn thông tin kể trên, có thể đưa ra một số nhận định như sau :
Trong thực tế, các sản phẩm công nghệ được xem là có vị trí quan trọng nhất Bởi vì, chúng ta cần các công cụ để đánh giá tính dễ bị tấn công và xử lý các lỗ hổng bảo mật Nếu không có các công nghệ bảo mật thì chúng ta không thể ngăn chặn được các cuộc tấn công gây mất an toàn thông tin
Nhưng với cách chúng ta thực hiện các thao tác lệnh hàng ngày, chúng lại
có một tác động rất lớn đến vấn đề an toàn Bởi vì có những thao tác chúng ta tưởng là vô hại, nhưng lại có thể gây mất an toàn cho hệ thống (như việc tải các chương trình hay phần mềm trong đó lại chứa các đoạn mã hiểm độc) Các chính sách và thủ tục chính là cái quy định chúng ta nên làm gì và làm như thế nào để đảm bảo an toàn cho hệ thống
Mặt khác, con người cũng được coi là yếu tố rất quan trọng, ảnh hưởng trực tiếp đến các yếu tố khác Nếu như có một chính sách và quy trình khá hoàn hảo, áp dụng các công nghệ tiên tiến và hiện đại, nhưng con người lại không được hướng dẫn cụ thể về kỹ năng, hay không tuân thủ theo quy tắc đã đề ra thì việc đảm bảo an toàn thông tin cho hệ thống là không thể thành công
Như vậy, 4 yếu tố đó có mối quan hệ chặt chẽ với nhau, hỗ trợ và bổ sung cho nhau Một hệ thống muốn bảo mật thành công thì phải coi trọng cả 4 yếu tố
đó Bởi vì, thời gian, tiền bạc, và đội ngũ nhân viên là những nguồn tài nguyên
có hạn Nhưng các nguồn nguy cơ thì không bao giờ có giới hạn, chúng luôn luôn xuất hiện với những hình thức mới, và chỉ có khả năng giảm tải chứ không thể khắc phục hoàn toàn
1.2 Ý nghĩa của việc đảm bảo an toàn thông tin
Ta phải quan tâm tới an toàn thông tin vì những lý do sau:
Trang 15- Trên mạng máy tính, thông tin được lưu giữ trên các thiết bị vật lý như ổ đĩa, băng từ hoặc được truyền trên đường truyền Những thông tin có giá trị luôn chịu những mối đe doạ của những người không được uỷ quyền, họ có thể là những kẻ tấn công bất hợp pháp hoặc những người trong nội bộ cơ quan, tổ chức
có thông tin cần bảo vệ Do đó việc bảo đảm an toàn thông tin là rất cần thiết
- Trong một mạng thì việc truy cập các thông tin không có quyền vô cùng
dễ dàng nhưng việc phát hiện truy cập lại vô cùng khó
- Sự dùng chung: Chính vì sự chia sẻ tài nguyên và các khối lượng công
việc trên mạng đã làm tăng số người sử dụng có khả năng truy cập tới các hệ thống được nối mạng, việc bảo vệ tài nguyên đó tất yếu sẽ phức tạp hơn so với trường hợp một máy tính đơn lẻ
- Có quá nhiều mục tiêu tấn công: Khi một tệp được lưu trữ trong một
máy chủ ở xa, người sử dụng phải qua rất nhiều máy mới có thể sử dụng được tệp đó Mặc dù người quản trị của một host có thể thi hành các chính sách an ninh thật chặt chẽ nhưng người đó lại không thể làm gì khác với các host khác trong mạng Người sử dụng phải phụ thuộc vào cơ chế điều khiển truy cập của tất cả các hệ thống này
Ngay cả khi người sử dụng không lưu trữ bất kỳ một thông tin có giá trị nào thì máy tính của họ cũng có thể là một mắt xích yếu giúp kẻ xâm nhập có thể truy cập các thông tin không có quyền
Các thông tin thường bị khai thác:
+ Phần cứng và phần mềm mà hệ thống sử dụng + Cấu hình hệ thống
+ Kiểu kết nối mạng + Số điện thoại + Các thủ tục xác thực và truy cập + Các thông tin liên quan đến bảo mật của một hệ thống: passwords, các khóa và file điều khiển truy cập, các thông tin cá nhân và các thuật toán mã hóa
Có thể thấy hầu hết các thông tin đều có thể bị lợi dụng để xâm phạm an ninh an toàn trong quá trình bảo mật lưu trữ
Hậu quả gây ra rất lớn:
+ Mất nhiều thời gian để khôi phục
+ Giảm năng suất sản phẩm
+ Tiêu tốn rất nhiều tiền của
+ Phá hoại việc trao đổi thương mại trên mạng
+ Làm ngừng trệ các hoạt động kinh doanh
Trang 161.3 Các yêu cầu bảo đảm an toàn thông tin
Mục tiêu của bảo đảm an toàn thông tin trong công nghệ thông tin là nhằm giải quyết các yêu cầu sau cả về mặt lý thuyết lẫn thực tế:
+ Yêu cầu về tính bí mật (Confidentiality): đảm bảo chỉ những người có
thẩm quyền với thông tin đó mới có thể truy capaj và biết nội dung của thông tin Từ Confidentiality cũng đồng nghĩa với thuật ngữ Privacy hay Secrecy Có rất nhiều cách tiếp cận nhằm đưa ra biện pháp bảo mật file, từ bảo vệ ở mức vật
lý đến các thuật toán mã hóa biến dữ liệu trở nên khó hiểu
+ Yêu cầu về toàn vẹn (Integrity): yêu cầu này có nghĩa là hệ thống phải
có khả năng phát hiện được các thao tác đối với dữ liệu của những người không
có thẩm quyền Những thao tác đó có thể là chèn thêm dữ liệu, xóa dữ liệu hoặc thay đổi dữ liệu,…
+ Yêu cầu về tính sẵn sàng(Availability): Thông tin luôn sẵn sàng để đáp
ứng sử dụng cho người có thẩm quyền
+ Yêu cầu về sự không thể từ chối (Non-repudiation): là một chức năng
ngăn một thực thể phủ nhận những hành động hoặc lời cam kết của mình trước
đó Khi có những cuộc tranh cãi do một thực thể phủ nhận mình không thực hiện một hành động nào đó thì một biện pháp xác minh để giải quyết tình huống này
là cần thiết
+ Yêu cầu về xác thực (Authentication): là một chức năng liên quan tới sự nhận dạng Chức năng này áp dụng cho cả thực thể có thông tin lẫn bản thân thông tin Hai người đang giao tiếp với nhau có thể nhận dạng lẫn nhau Thông tin truyền trên các kênh cũng cần được xác thực nguồn gốc, ngày tháng, nội dung dữ liệu, thời gian gửi….Vì những lý do trên mà lĩnh vực này được chia thành 2 nhóm chính: xác thực thực thể và xác thực dữ liệu gốc Xác thực dữ liệu gốc cũng chứa yêu cầu về tính toàn vẹn dữ liệu
Để bảo đảm được những yêu cầu trên, cần phải hiểu được các nguy cơ bị xâm hại đối với thông tin và dữ liệu, từ đó lựa chọn đưa ra các biện pháp thích hợp nhất để ngăn chặn một cách có hiệu quả đối với các nguy cơ này
1.4 Một số giải pháp đảm bảo an toàn thông tin
1.4.1 Bảo vệ nội dung thông tin trên máy tính
Các máy tính (thông thường là các PC) phải được bảo vệ nhằm chống lại các đe doạ xuất phát từ phần mềm hoặc dữ liệu được tải xuống máy tính từ Internet
a Giám sát Active content
Các trình duyệt Navigator của Netscape và Internet Explorer của Microsoft được trang bị để nhận biết các trang Web có chứa active content
Trang 17chuẩn bị được tải xuống Khi bạn tải về và chạy các chương trình được nhúng vào các trang Web, bạn muốn đảm bảo rằng các chương trình này đến từ một nguồn bạn biết và tin cậy, và kiểm soát được nội dung thông tin khi tải về không
bị thêm bớt trên đường truyền
b Đối phó với các cookie
Cookie được lưu giữ trong máy trạm, hoặc được tạo ra, sử dụng và huỷ bỏ trong một lần duyệt Web Ta có thể cho phép đặt ra thời gian tồn tại từ 10, 20 hoặc 30 ngày Một cookie có chứa nhiều thông tin, chẳng hạn như tên của Website phát hành nó, các trang mà ta đã truy cập vào, tên người sử dụng và mật khẩu, các thông tin về thẻ tín dụng và địa chỉ Chỉ có site tạo ra các cookie mới
có thể lấy lại các cookie này, các cookie thu thập và lưu giữ các thông tin không nhìn thấy được Chính vì thế ta không phải nhập lại tên người sử dụng, mật khẩu cho lần truy cập tiếp theo Các phiên bản trình duyệt ban đầu cho phép các site lưu giữ các cookie không có chú thích
Ngày nay, các trình duyệt cho phép lưu giữ các cookie mà không cần sự cho phép, hoặc cảnh báo cho biết một cookie chuẩn bị được lưu giữ, hoặc không cho phép vô điều kiện tất cả các cookie Internet Explorer 5 có các tuỳ chọn để thiết lập sự kiểm soát các cookie
c Sử dụng phần mềm chống virus
Không một máy khách nào có thể phòng thủ tốt nếu thiếu phần mềm chống virus Các phần mềm chống virus bảo vệ máy tính khỏi bị các virus đã được tải xuống tấn công Vì vậy, chống virus là một chiến lược phòng thủ Nó chỉ hiệu quả khi tiếp tục lưu giữ các file dữ liệu chống virus hiện hành Các file chứa thông tin nhận dạng virus được sử dụng để phát hiện các virus trên máy tính Do các virus mới được sinh ra rất nhiều, cần đề phòng và cập nhật các file
dữ liệu chống virus một cách định kỳ, mới có thể phát hiện và loại trừ các virus mới nhất
d Kiểm soát của hệ điều hành
Hầu hết các hệ điều hành (trừ các hệ điều hành chạy trên các máy tính nhỏ) sử dụng tên người dùng và mật khẩu cho hệ thống xác thực Hệ thống này cung cấp một cơ sở hạ tầng an toàn cho máy chủ Web (chạy trên máy tính host) Hiện nay, hệ điều hành UNIX (và các biến thể của nó) là hệ điều hành nền chủ đạo cho các máy chủ Web UNIX có một số cơ chế bảo vệ nhằm ngăn chặn khám phá trái phép và đảm bảo tính toàn vẹn dữ liệu
e Bức tường lửa
Bức tường lửa được sử dụng như một hàng rào giữa một mạng (cần được bảo vệ) và Internet hoặc mạng khác (có khả năng gây ra mối đe doạ) Mạng và
Trang 18các máy tính cần được bảo vệ nằm bên trong bức tường lửa, các mạng khác nằm
ở bên ngoài Các bức tường lửa có các đặc điểm sau đây:
- Tất cả các luồng thông tin từ trong ra ngoài, từ ngoài vào trong đều phải chịu sự quản lý của nó
- Chỉ có các luồng thông tin được phép (do chính sách an toàn cục bộ xác định) đi qua nó
- Bức tường lửa tự bảo vệ mình
Các mạng bên trong bức tường lửa được gọi là các mạng tin cậy, các mạng bên ngoài được gọi là các mạng không tin cậy Đóng vai trò như một bộ lọc, bức tường lửa cho phép các thông báo (có chọn lọc) đi vào, hoặc ra khỏi các mạng được bảo vệ Ví dụ, một chính sách an toàn cho phép tất cả các luồng thông tin HTTP (Web) vào ra, nhưng không cho phép các yêu cầu FTP hoặc Telnet vào, hoặc ra khỏi các mạng được bảo vệ Bức tường lửa ngăn chặn, không cho phép truy nhập trái phép vào các mạng bên trong bức tường lửa
1.4.2 Bảo vệ an toàn thông tin khi trao đổi qua mạng bằng mã hóa
1.4.2.1 Mã hóa là gì?
Có rất nhiều tài liệu viết về mã hóa (encryption) và khái niệm mã hóa Dưới đây
là một vài định nghĩa về mã hóa:
- Charles P Pfleeger (trong cuốn Security in computing) đã định nghĩa như sau: “Mã hóa là quá trình mã một đoạn tin sao cho nghĩa của đoạn tin đó trở nên khó hiểu, còn giải mã là quá trình ngược lại” [14]
- Oli Cooper viết trong tài liệu “Cryptography”: “Mã hóa là ngành khoa học nghiên cứu các phương pháp cho phép thông tin được gửi đi dưới hình thức bảo mật mà chỉ người nhận hợp lệ có thể khôi phục lại được đoạn tin này”
- Trong cuốn “Handbook of Applied Cryptography”, A Menezes, P van Oorschot và S Vanstone đã đưa ra định nghĩa: “Mã hóa là ngành khoa học nghiên cứu các thuật toán có liên quan đến an toàn thông tin như: tính tin cậy, tính toàn vẹn dữ liệu, tính xác thực thực thể và xác thực dữ liệu gốc” [15]
Mặc dù có nhiều cách định nghĩa khác nhau, song tất cả những định nghĩa trên đều có chung nguyên tắc cơ bản: sử dụng thuật toán để biến đoạn tin dưới dạng bản rõ thành một đoạn tin mà nghĩa của nó trở nên khó hiểu nhằm đảm bảo chỉ có người nhận hợp thể mới đọc được bản tin rõ
Khái niệm mã hóa được mô tả dưới dạng toán học như sau:
Hệ mã hóa được định nghĩa là bộ năm (P, C, K, E, D), trong đó:
- P là tập hữu hạn các bản rõ có thể
- C là tập hữu hạn các bản mã có thể
- K là tập hữu hạn các khóa có thể
Trang 19- E là 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: P C
Với khóa giải mã kd є K, có hàm giải mã dkd є D, dkd: C P
Sao cho dkd (eke(x)) = x, với mọi x є P
ở đây x được gọi là bản rõ, eke (x) được gọi là bản mã
Quá trình mã hóa C = EK(P)
Quá trình giải mã P = DK(C)
1.4.2.2 Bảo vệ thông tin bằng mã hóa
Có hai cách tiếp cận để bảo vệ thông tin bằng mã hóa là theo đường truyền (link-oriented security) và từ điểm - đến - điểm (end-to-end)
Mã hoá với khoá N
Hình 1.2 Bảo vệ thông tin bằng mã hóa theo đường truyền
a.Tiếp cận theo đường truyền
Trong cách tiếp cận thứ nhất, thông tin được mã hoá để bảo vệ trên đường truyền giữa hai nút không quan tâm đến nguồn và đích của thông tin đó Ưu điểm của cách tiếp cận này là có thể bí mật được luồng thông tin giữa nguồn và đích và có thể ngăn chặn được toàn bộ các vi phạm nhằm phân tích lưu thông
Trang 20trên mạng Nhược điểm của nó là thông tin chỉ được mã hoá trên đường truyền nên đòi hỏi các nút phải được bảo vệ tốt
Hình 1.3: Bảo vệ thông tin bằng mã hóa từ điểm đến điểm
b Tiếp cận End - To - End
Trong cách tiếp cận thứ hai, thông tin được bảo vệ trên toàn đường đi từ nguồn đến đích Thông tin được mã hoá ngay khi mới được tạo ra và chỉ được giải mã khi đến đích Ưu điểm chính của cách tiếp cận này là một người sử dụng hoặc máy chủ (host) có thể dùng nó mà không ảnh hưởng đến người sử dụng hoặc máy chủ khác Nhược điểm của phương pháp này là chỉ có dữ liệu người
sử dụng được mã hoá, còn thông tin điều khiển thì phải giữ nguyên để xử lý tại các nút
Mã hóa dữ liệu được thực hiện theo quy trình mô tả trong hình sau đây:
Văn bản
gốc
Văn bản gốc
Hình 1.4 Sơ đồ quy trình mật mã
Trong đó:
C là bản mã (Ciphertext)
E là hàm mã hoá (Encryption Function)
D là hàm giải mã (Decryption Function) Khoá KE được dùng để mã hoá còn khoá KD được dùng để giải mã
1.4.2.3 Các phương pháp mã hóa
Hiện có 2 loại mã hóa chính : mã hóa khóa bí mật và mã hóa khóa công khai
a Mã hoá khoá bí mật (khoá đối xứng)
Trang 21Mã hoá Giải mã
Khoá bí mật
Hình 1.5 Mô hình mã hoá khoá bí mật
Mã hóa khóa đối xứng là hệ mã hóa mà biết được khóa lập mã thì có thể
“dễ” tính được khóa giải mã và ngược lại Đặc biệt một số hệ mã hóa có khóa
lập mã và khóa giải mã trùng nhau như hệ Mã hóa dịch chuyển hay DES
Hệ mã hóa đối xứng còn gọi là hệ mã hóa khóa bí mật, hay khóa riêng vì phải giữ bí mật cả 2 khóa Trước khi dùng Hệ mã hóa khóa đối xứng, người gửi
và người nhận phải thỏa thuận thuật toán mã hóa và khóa chung (lập mã hay giải mã), khóa phải được giữ bí mật Độ an toàn của Hệ mã hóa loại này phụ thuộc vào khóa
Một số thuật toán mã hóa đối xứng:
-DES (Data Encryption Standard): DES là một thuật toán mã hóa đối
xứng dạng khối Nó chia dữ liệu thành các khối 64 bit và sử dụng một khóa 64 bit trong đó có 8 bit chẵn lẻ và tạo ra bản mã với độ dài cũng là 64 bit Chính vì
độ dài khóa ngắn cho nên DES là một thuật toán hơi yếu
-3DES (Triple DES): là thuật toán mã hóa đối xứng tiến hành mã hóa dữ
liệu mỗi block 3 lần mỗi lần một khóa khác nhau theo thuật toán DES Trước hết
nó sẽ mã hóa bản rõ thành bản mã bằng một khóa, sau đó lại tiếp tục mã hóa bản
mã này với khóa thứ hai và tiếp tục mã hóa bản mã kết quả này với khóa thứ 3 nữa
-AES ( Advanced Encryption Standard): là chuẩn mã hóa đối xứng khối
128 bit được tạo ra bởi Vincent Rijment và được coi như là thay thế của DES
-RC (Rivest Cipher): là một chuỗi các thuật toán được phát triển bởi
Ronald Rivest Tất cả có chiều dài khóa khác nhau RC4 là một thuật toán mã hóa luồng, RC5 và RC6 là các thuật toán mã hóa khối với các kích thước khối khác nhau
-Blowfish là một thuật toán mã hóa miễn phí dùng khối 64 bit sử dụng
khóa có độ dài khác nhau
Ưu điểm của hệ mã hóa khóa đối xứng là mã hóa và giải mã nhanh hơn hệ
mã hóa công khai Tuy nhiên hệ mã hóa này lại có một số hạn chế :
Trang 22- Mã hóa khóa đối xứng chưa thật an toàn vì người mã hóa và người giải
mã phải có chung một khóa Khóa phải được giữ bí mật tuyệt đối vì biết khóa này dễ xác định được khóa kia và ngược lại
- Vấn đề thỏa thuận khóa và quản lý khóa 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ề khóa Việc thay đổi khóa là rất khó và dễ bị lộ Khóa chung phải được gửi cho nhau trên kênh an toàn Mặt khác khi hai người (lập mã, giải mã) cùng biết chung một bí mật thì càng khó giữ được bí mật
Do những ưu nhược điểm trên nên hệ mã hóa khóa đối xứng thường được
sử dụng trong môi trường mà khóa chung có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ Hệ mã hóa khóa đối xứng thường dùng
để mã hóa những bản tin lớn, vì tốc độ mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai
b Mã hoá khoá công khai (mã hoá bất đối xứng)
Mã hóa bất đối xứng hay còn gọi là mã hóa khóa công khai (public key) là
mô hình mã hóa 2 chiều sử dụng một cặp khóa là khóa riêng (private key) và khóa công khai (public key) Khóa công khai được dùng để mã hóa và khóa riêng được dùng để giải mã
Mã hoá Giải mã
Khoá bí mật
Khoá công khai
Hình 1.6 Mô hình mã hoá khoá công khai
Không giống như mã hóa đối xứng, từ khóa công khai ta không thể tạo ra được khóa riêng Cặp khóa riêng/khóa công khai là duy nhất Thuật toán này không yêu cầu hai bên phải trao đổi với nhau trước khóa Để mã hóa thì người gửi chỉ cần lấy được khóa công khai (là khóa được cung cấp cho mọi người) và dùng nó để mã hóa Người nhận sẽ dùng khóa riêng (là khóa bí mật và không chia sẻ cho ai) để giải mã Hệ mã hóa khóa công khai có ưu điểm chủ yếu sau:
- 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 khóa riêng của mình
- Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khóa 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õ P và khóa công khai, thì dễ tạo ra bản mã C Người nhận
Trang 23có bản mã C và khóa bí mật, thì dễ giải được thành bản rõ P
- Người mã hóa dùng khóa công khai của người giải mã (tức là của người nhận), người giải mã giữ khóa bí mật Khả năng lộ khóa bí mật khó hơn vì chỉ có một người giữ gìn Nếu thám mã biết khóa công khai, cố gắng tìm khóa bí mật, thì họ phải đương đầu với bài toán khó
- Nếu thám mã biết khóa 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
Điểm yếu của hệ mật khóa công khai:
- Tốc độ xử lý đối với hầu hết các phương pháp mã hóa khóa công khai chậm hơn so với mã hóa khóa đối xứng
- Kích thước khóa lớn hơn khóa đối xứng rất nhiều
- Không có lược đồ khóa công khai nào được chứng minh là an toàn Lược đồ mã hóa khóa công khai hiệu quả nhất được phát minh để khẳng định tính an toàn của chúng dựa vào một tập hợp nhỏ các bài toán lý thuyết số được thừa nhận là khó
Một số thuật toán mã hóa khóa công khai:
-RSA (Rivest Shamir Adelman): được đặt tên theo người thiết kế là
Ronald Rivest, Adi Shamir và Len Adelman là thuật toán thành công đầu tiên sử dụng cho mã hóa khóa công khai Nó có độ dài khóa khác nhau và các kích cỡ khối khác nhau RSA vẫn được xem là rất an toàn nếu được triển khai cùng với các khóa có độ dài cao
-DH (Diffie-Hellman) Là một giao thức mã hóa cung cấp khóa chuyển
đổi an toàn Được mô tả vào năm 1976, được hình thành trên nền tảng của các
kỹ thuật mã hóa public key phổ biến bao gồm cả RSA
- Mã hóa ElGamal: đây là một hệ mã khóa công khai dựa trên bài toán
logarithm rời rạc được ElGamal đề nghị vào năm 1985
Hệ mã hóa khóa 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 khóa bí mật tương đối khó khăn Đặc trưng nổi bật của hệ mã hóa công khai là khóa công khai và bản mã đều có thể gửi đi trên một kênh truyền tin không an toàn Có biết cả khóa công khai và bản mã thì thám mã cũng không dễ khám phá được bản rõ
Nhưng vì tốc độ mã hóa và giải mã chậm, nên hệ mã hóa công khai chỉ dùng để mã hóa những bản tin ngắn, ví dụ như mã hóa khóa bí mật gửi đi
Ngày nay, người ta thường sử dụng kết hợp cả 2 hệ mã hóa khóa đối xứng
và hệ mã hóa khóa công khai: sử dụng hệ mã hóa khóa đối xứng để mã hóa bản tin gửi đi và dùng mã hóa khóa công khai để mã hóa khóa bí mật Cách kết hợp
Trang 24này sẽ tận dụng được ưu điểm của 2 hệ mã hóa, hạn chế nhược điểm và tăng độ
an toàn
Ngoài các giải pháp trên chúng ta còn giải pháp dùng chữ kí số để xác thực và đảm bảo tính toàn vẹn của nội dung thông tin Đây cũng là phương pháp tối ưu cho đảm bảo an toàn thông tin
Trang 25CHƯƠNG II: XÁC THỰC VÀ BẢO ĐẢM TOÀN VẸN DỮ LIỆU
DỰA TRÊN CHỮ KÍ SỐ 2.1 Bảo đảm an toàn thông tin bằng phương pháp nhận diện và xác thực (I&A)
I&A là một phần then chốt của hệ thống bảo vệ an ninh máy tính vì nó là
cơ sở cho hầu hết các kiểu điều khiển truy nhập và để xác minh tài khoản người dùng Nhận diện là các cách thức một người dùng cung cấp một nét nhận biết được yêu cầu cho hệ thống Xác thực là cách thức xác minh tính hợp lệ của yêu cầu đó Ví dụ, nhận diện người dùng có thể là JSMITH (cho Jane Smith) Những người quản trị hệ thống và người dùng khác có thể biết thông tin này Một xác thực người sử dụng cụ thể là một mật khẩu của Jane Smith được giữ bí mật Đây
là cách mà người quản trị thiết lập sự truy nhập của Jane và theo dõi hoạt động của cô ta và không một người nào có thể đóng giả là Jane
Về mặt toán học, ta có định nghĩa xác thực như sau:
Mã xác thực là một bộ 4 (S, A, K, E), trong đó:
S: là một tập hữu hạn các trạng thái nguồn A: là một tập hữu hạn các vết (dấu) xác thực K: là một tập hữu hạn các khóa (không gian khóa) E: với mỗi k є K, tồn tại một quy tắc ek (quy tắc xác thực), là một ánh xạ ek: S A, E = {ek: S A, k є K}
Một tập thông báo có xác thực được xác định là m є SxA với ek є E
Các hệ thống bảo vệ an ninh sẽ chấp nhận một người dùng dựa vào dữ
liệu xác thực mà những hệ thống này nhận được Xác thực đưa ra một số thử
thách: tập hợp dữ liệu xác thực, truyền dữ liệu có bảo đảm, và nhận biết được người đã được xác thực vẫn đang sử dụng hệ thống này hay không Lấy ví dụ, một người dùng có thể rời hệ thống trong khi vẫn truy nhập và một người khác
có thể bắt đầu sử dụng truy nhập đó
Có ba cách thức xác thực một người dùng mà có thể sử được sử dụng độc lập hay kết hợp: một số điều người dùng biết (một điều bí mật e.g., một mật khẩu, số nhận diện cá nhân (PIN), hoặc khoá mã); một số cái người dùng có (một thẻ e.g., một ATM card hoặc một smart card); và một số cái được sử dụng độc lập khác là (một sinh trắc học e.g, đặc trưng mẫu giọng nói, vân tay…)
Mặc dù bất kì cách nào cũng có thể cung cấp sự xác thực tốt song từng phương pháp vẫn có nhược điểm nhất định Nếu có người muốn giả làm ai đó trên một hệ thống máy tính, họ có thể đoán hoặc nghiên cứu mật khẩu cá nhân;
họ cũng có thể ăn cắp hoặc làm giả các thẻ Mỗi phương pháp cũng có các mặt
Trang 26hạn chế đối với người dùng hợp pháp hoặc người quản trị hệ thống như: người dùng quên mật khẩu và có thể đánh mất thẻ hoặc tổng chi phí quản trị để giữ dấu vết dữ liệu I&A và các thẻ là quá lớn Các hệ thống sinh trắc học cũng có các vấn đề về kĩ thuật, sự chấp nhận của người dùng cũng như vấn đề về giá thành
2.1.1 I&A dựa trên một số điều mà người dùng biết
Các dạng thông thường nhất của I&A là một cặp mã nhận diện người dùng (user ID) và mật khẩu Kĩ thuật này chỉ dựa trên một số điều mà người dùng biết Có những công nghệ dựa trên những điều người dùng biết nhưng không phải là một mật khẩu như kiểu truyền thống, chẳng hạn như là một khoá
mã
a Mật khẩu
Các hệ thống bảo vệ an ninh bằng mật khẩu làm việc bằng cách yêu cầu người dùng đưa vào một mã nhận diện người dùng UID và mật khẩu (hoặc cụm mật khẩu hay số nhận diện cá nhân) Hệ thống so sánh mật khẩu này với một mật khẩu đã được lưu trước đó của người sử dụng Nếu phù hợp, người dùng này được xác thực và cấp quyền truy nhập
Tên người sử dụng và mật khẩu là một yếu tố bảo vệ cho các máy chủ Bạn sử dụng mật khẩu hàng ngày khi muốn truy nhập vào máy chủ lưu giữ hộp thư điện tử của bạn, truy nhập vào mạng của một trường đại học hoặc một công
ty, đăng nhập vào các dịch vụ thuê bao, chẳng hạn như E*Trade, trên Internet
Để xác thực người dùng bằng sử dụng tên và mật khẩu, máy chủ phải lưu giữ một cơ sở dữ liệu (có chứa các thông tin liên quan đến người sử dụng hợp pháp, gồm tên người sử dụng và mật khẩu) Hệ thống cho phép người sử dụng bổ sung, xoá, thay đổi mật khẩu Các hệ thống hiện đại nhất giúp người sử dụng nhớ lại mật khẩu trong trường hợp họ quên Bạn có thể lấy lại một mật khẩu đã quên bằng cách gửi yêu cầu cho máy chủ thư tín
Nhiều hệ thống máy chủ Web lưu giữ tên người sử dụng và mật khẩu trong một file Không quan tâm đến việc thông tin đăng nhập được lưu giữ ở đâu, cách nhanh nhất và phổ biến nhất để lưu giữ các mật khẩu (một biện pháp được sử dụng trong các hệ thống UNIX) là lưu giữ tên người sử dụng ở dạng rõ
và mã hoá mật khẩu Khi bạn hoặc một hệ thống tạo ra một tên mới, mật khẩu được mã hoá nhờ thuật toán mã hoá một chiều Do tên người sử dụng được lưu
ở dạng rõ, hệ thống có thể phê chuẩn những người sử dụng khi họ đăng nhập, bằng cách kiểm tra tên của anh ta qua danh sách tên (được lưu giữ trong cơ sở
dữ liệu) Sau đó mã hoá mật khẩu mà người sử dụng gõ vào khi đăng nhập hệ thống và so sánh nó với mật khẩu trong cơ sở dữ liệu (mật khẩu này được mã
Trang 27hoá, trước khi lưu vào cơ sở dữ liệu) Nếu trùng khớp, đăng nhập được chấp nhận
Thông thường, máy chủ Web đưa ra danh sách kiểm soát truy nhập an toàn ACL(Access Control List) là một danh sách hoặc cơ sở dữ liệu, các nguồn tài nguyên, tên của người có thể truy nhập vào các file hoặc các nguồn tài nguyên khác Mỗi file có một danh sách kiểm soát truy nhập riêng Bất cứ khi nào, máy phía máy khách yêu cầu máy chủ Web truy nhập vào một file hoặc một tài liệu (có định trước cấu hình yêu cầu kiểm tra truy nhập), máy chủ Web
sẽ kiểm tra ACL của nguồn tài nguyên và sẽ quyết định người sử dụng có được phép truy nhập hay không
Trong một thời gian dài, mật khẩu đã tạo ra độ an toàn cho các hệ thống máy tính Chúng được tích hợp vào trong nhiều hệ điều hành cũng như nhiều ứng dụng
b Các khoá mã
Đây là kiểu xác thực yêu cầu người sử dụng biết về một khoá mã Tuy nhiên, người sử dụng cũng cần phải có (hoặc có thể truy nhập tới) những thiết bị
có khả năng tính toán việc mã hoá, chẳng hạn như một PC hoặc một smart card
2.1.2 I&A dựa trên một số cái mà người dùng có
Mặc dù một số kĩ thuật chỉ dựa trên một số cái mà người dùng có, nhưng phần lớn các kĩ thuật I & A dựa trên sự kết hợp giữa cái mà người dùng biết với cái mà người dùng có Sự kết hợp này tạo ra độ an toàn cao hơn cho hệ thống máy tính so với việc sử dụng riêng lẻ từng kĩ thuật
Các đối tượng mà một người dùng có để nhận diện và xác thực được gọi là các
thẻ (token) Có thể chia các thẻ thành hai loại: thẻ memory và thẻ smart
a Thẻ Memory
Các thẻ Memory chỉ chứa thông tin chứ không xử lí thông tin Những thẻ này đòi hỏi các thiết bị đọc/ghi đặc biệt Loại thẻ Memory phổ biến nhất là thẻ vạch có từ tính, trong đó các vạch mỏng làm bằng chất liệu có từ tính được phun lên bề mặt của thẻ (như trên mặt sau của các thẻ tín dụng) Một ứng dụng thông dụng của các thẻ Memory để xác thực đối với các hệ thống máy tính là thẻ rút tiền tự động ATM (Automatic Teller Machine) Nó sử dụng một sự kết hợp giữa một số cái mà người dùng có (thẻ) với một số điều mà người dùng biết (số nhận diện cá nhân - PIN)
Một số công nghệ xác thực của các hệ thống máy tính chỉ dựa trên quyền sở hữu của một thẻ, nhưng chúng ít phổ biến hơn Các hệ thống chỉ xác thực bằng quyền sở hữu thẻ có vẻ phù hợp hơn đối với việc sử dụng trong các ứng dụng khác, chẳng hạn như để truy cập vật lí
Trang 28Ưu điểm của các hệ thống sử dụng thẻ “Memory” là khi sử dụng các thẻ
“Memory” cùng với các PIN sẽ cung cấp sự bảo vệ an toàn hơn đáng kể so với mật khẩu Để một hacker hoặc kẻ giả danh khác giả mạo là một người dùng nào
đó, hacker và kẻ giả danh đó phải có cả một thẻ hợp lệ và một PIN tương ứng Điều này là khó hơn nhiều so với việc có được một mật khẩu hợp lệ và một UID kết hợp (vì việc biết hầu hết các UID là rất bình thường) Một ưu điểm khác của các thẻ là chúng có thể được sử dụng để hỗ trợ cho việc đăng nhập mà không đòi hỏi người sử dụng gõ vào UID cho mỗi giao dịch hoặc sự kiện được ghi lại khác vì các thẻ có thể được quét đi quét lại nhiều lần Nếu một thẻ được yêu cầu cho lối vào và lối ra vật lí, khi đó người dùng sẽ phải tháo thẻ này khi họ rời khỏi máy tính Điều này giúp duy trì việc xác thực
b Các thẻ Smart
Thẻ smart phát triển chức năng của thẻ memory bằng cách tích hợp nhiều mạch tổ hợp vào trong một thẻ Thẻ smart là một ví dụ khác của xác thực dựa trên một cái gì đó mà người dùng có Thẻ smart thường yêu cầu một người dùng cung cấp một cái gì đó mà người dùng biết (PIN hoặc mật khẩu) để mở thẻ smart này khi sử dụng
Có nhiều loại thẻ smart khác nhau Các thẻ smart có thể phân chia thành
ba loại dựa trên các đặc tính vật lí, giao diện và giao thức sử dụng Tuy nhiên sự phân chia này chỉ có tính tương đối
Các thẻ smart có độ linh hoạt cao và có thể được sử dụng để giải quyết nhiều vấn đề về xác thực Mỗi loại thẻ smart có những ưu điểm riêng Nói chung, chúng cung cấp độ an toàn cao hơn các thẻ memory Các thẻ smart có thể giải quyết vấn đề giám sát điện tử thậm chí cả khi việc xác thực được thực hiện thông qua một mạng mở bằng cách sử dụng các mật khẩu sử dụng một lần (one-time password)
- One-time passwords Các thẻ smart mà sử dụng giao thức phát
sinh password động hoặc giao thức yêu cầu - đáp ứng có thể tạo ra những password sử dụng một lần Việc giám sát điện tử không còn
là vấn đề với những password sử dụng một lần vì mỗi lần người sử dụng được xác thực với máy tính thì một password khác lại được sử dụng (Hacker có thể nghiên cứu password sử dụng một lần thông qua việc giám sát điện tử nhưng cũng chẳng thể làm được gì)
- Nguy cơ giả mạo giảm: nói chung, bộ nhớ trên thẻ smart không thể đọc được trừ khi PIN được đưa vào Thêm vào đó, các thẻ cũng rất phức tạp và do đó mà việc giả mạo sẽ khó hơn nhiều
- Đa ứng dụng: những thẻ smart với giao diện điện tử, chẳng hạn như
Trang 29smart card, cung cấp phương pháp để người sử dụng truy cập nhiều máy tính bằng cách sử dụng nhiều mạng chỉ với một lần đăng nhập Ngoài ra, các smart card đơn có thể được sử dụng với nhiều chức năng như truy cập vật lý hoặc như những thẻ ghi nợ
2.1.3 I&A dựa trên một thuộc tính hay nét đặc trưng của người dùng
Các kĩ thuật xác thực sinh trắc học sử dụng các đặc tính (hoặc thuộc tính) duy nhất của một cá nhân để xác thực nét nhận diện của người đó Những thuộc tính này bao gồm các thuộc tính sinh học (chẳng hạn như vân tay, hình dạng tay hoặc các mô hình võng mạc) hay các thuộc tính hành vi (như mẫu giọng nói và chữ kớ tay) Kĩ thuật xác thực sinh trắc học dựa trên các thuộc tính này đã được phát triển cho các ứng dụng đăng nhập máy tính
Về mặt kĩ thuật, xác thực sinh trắc học phức tạp và tốn kém, và người sử dụng rất khó chấp nhận Tuy nhiên, người ta vẫn tiếp tục nghiên cứu kĩ thuật này theo hướng tăng độ tin cậy, giảm chi phí và thân thiện với người sử dụng hơn
Các hệ thống sinh trắc học có thể làm tăng mức độ an ninh cho máy tính nhưng kĩ thuật này vẫn kém hoàn thiện hơn so với các thẻ Memory và các thẻ smart Nguyên nhân là do những khó khăn về mặt kĩ thuật trong việc đo lường
và thể hiện các đặc điểm cơ thể cũng như những khó khăn xuất phát từ bản chất của các đặc điểm này là luôn biến đổi ở một mức độ nhất định, tuỳ vào từng điều kiện khác nhau Ví dụ, giọng nói của một người có thể thay đổi trong điều kiện căng thẳng hoặc khi họ bị viêm họng hay cảm lạnh
Thông thường, việc xác thực sinh trắc học làm việc như sau: trước khi thực hiện việc xác thực, người sử dụng phải được “đăng kớ” bằng cách tạo một tài liệu sơ lược (còn gọi là một mẫu) dựa trên những đặc điểm cơ thể được yêu cầu Mẫu kết quả này sẽ được liên kết với nét nhận diện của người sử dụng và được lưu giữ để sử dụng trong những lần sau
Khi thực hiện việc xác thực, các thuộc tính sinh trắc học của người sử dụng sẽ được kiểm tra Bản tài liệu sơ lược được lưu giữ trước sẽ được đối sánh với bản tài liệu sơ lược mà người sử dụng đưa vào Kết quả của việc đối sánh sẽ được sử dụng để chấp nhận hoặc từ chối người sử dụng
Do chi phí cao nên các hệ thống sinh trắc học thường được sử dụng cùng với các phương pháp xác thực khác trong những môi trường đòi hỏi độ an toàn cao
2.2 Chữ kí số
2.2.1 Khái niệm về chữ kí số [4]
Để chứng thực nguồn gốc hay hiệu lực của một tài liệu, lâu nay người ta dùng chữ kí tay ghi vào phía dưới của mỗi tài liệu Như vậy người kí phải trực
Trang 30tiếp kí tay vào tài liệu Ngày nay, các tài liệu được số hóa, người ta cũng có nhu cầu chứng thực nguồn gốc hay hiệu lực của các tài liệu này Xuất phát từ yêu
cầu thực tế, những năm 80 của thế kỷ 20, các nhà khoa học đã phát minh ra “chữ
kí số” để chứng thực một “tài liệu số” Đó chính là bản mã của xâu bít tài liệu
Người ta tạo ra chữ kí số trên tài liệu số giống nhau tạo ra bản mã của tài liệu với khóa lập mã Như vậy, kí số trên tài liệu số là kí trên từng bít tài liệu, kẻ gian khó có thể giả mạo chữ kí số nếu họ không biết khóa lập mã
Để kiểm tra một chữ kí số thuộc về một tài liệu số, người ta giải mã chữ
kí số bằng khóa giải mã, và so sánh với tài liệu gốc
2.2.2 Các ưu điểm của chữ kí số
Việc sử dụng chữ kí số mang lại một số lợi ích sau:
a.Khả năng xác thực
Các hệ thống mật mã khóa công khai cho phép mã hóa văn bản với khóa
bí mật mà chỉ có người chủ của khóa biết Để sự dụng chữ kí số thì văn bản không cần phải được mã hóa mà chỉ cần mã hóa hàm băm của văn bản đó (thường có độ dài cố định và ngắn hơn văn bản) Khi cần kiểm tra, bên nhận tính lại giá trị băm và kiểm tra chữ kí của văn bản nhận được Nếu 2 giá trị này phù hợp thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa
bí mật Tất nhiên là chúng ta không thể đảm bảo 100% là văn bản không bị giả mạo vì hệ thống vẫn có thể bị phá vỡ
b Tính toàn vẹn
Cả hai bên tham gia vào quá trình thông tin đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức bị phát hiện Quá trình mã hóa sẽ ẩn nội dung của gói tin đối với bên thứ 3 nhưng không ngăn cản được việc thay đổi nội dung của nó
c Tính không thể phủ nhận
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do chính mình gửi Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải gửi kèm chữ kí số với văn bản Khi có tranh chấp, bên nhận sẽ dùng chữ kí này như một chứng cứ để bên thứ ba giải quyết Tuy nhiên khóa bí mật vẫn có thể
bị lộ và tính không thể phủ nhận cũng khó thể đạt được hoàn toàn
2.2.3 Sơ đồ chữ kí số [15]
Để có thể có được một chữ kí số có các tính chất cần thiết cần phải có một
cơ chế hay một qui trình nhất định để tạo ra chữ kí số đó Qui trình này được gọi
là qui trình tạo ra chữ kí số Qui trình tạo chữ kí số hoạt động dựa trên một thuật toán gọi là thuật toán sinh chữ kí số Việc xác minh chữ kí số trên một tài liệu,
dữ liệu hoặc một thông điệp điện tử được thực hiện dựa trên các thuật toán xác
Trang 31minh chữ kí số Quá trình xác minh chữ kí số còn bao gồm cả các phương thức phục hồi dữ liệu Tất cả các thuật toán sử dụng trong việc tạo ra chữ kí số, xác minh chữ kí số, xác thực chữ kí số và tài liệu tạo thành một cơ chế sử dụng chữ kí
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í sigk S và một thuật toán xác minh verkV Mỗi sigk : P A và verk: PA true, false là những hàm sao cho mỗi bức điện x P và mỗi chữ kí y A thoả mãn phương trình dưới đây
True nếu y=sig(x) verk
False nếu y# sig(x) Với mỗi k thuộc K hàm sigk và verk là các hàm thời gian đa thức verk sẽ
là hàm công khai, sigk là hàm mật Giả sử Bob muốn gửi cho Alice và muốn Alice biết thông tin đó thực sự do chính Bob gửi Bob gửi cho Alice bản tin kèm với chữ kí số Khó có thể dễ dàng tính toán để giả mạo chữ kí của Bob trên bức điện x Nghĩa là x cho trước, chỉ có Bob mới có thể tính được y để verk = True Một sơ đồ chữ kí không thể an toàn vô điều kiện vì Oscar có thể kiểm tra tất cả các chữ kí số y có thể có trên bức điện x nhờ dùng thuật toán ver công khai cho đến khi anh ta tìm thấy một chữ kí đúng Vì thế, nếu có đủ thời gian, Oscar luôn luôn có thể giả mạo chữ kí của Bob Như vậy, giống như trường hợp hệ thống
mã khoá công khai, mục đích của chúng ta là tìm các sơ đồ chữ kí số an toàn về mặt tính toán
2.2.3.2 Phân loại sơ đồ chữ kí số
Theo đặc trưng kiểm tra chữ kí, có hai loại sơ đồ kí của chữ kí số là sơ đồ chữ kí số với phần phụ đính kèm và sơ đồ chữ kí số khôi phục thông báo
Hình 2.1 minh hoạ sự phân loại các sơ đồ chữ kí số Có thể phân nhỏ hai
sơ đồ chữ kí này thành sơ đồ chữ kí ngẫu nhiên (dùng một lần) và sơ đồ chữ kí xác định (có thể dùng nhiều lần)
Sơ đồ chữ kí khôi phục thông báo
Ngẫu nhiên
Xác định
Trang 32Hình 2.1: Phân loại sơ đồ chữ kí số
a Sơ đồ chữ kí số với phần phụ đính kèm (with appendix)
Đây là loại sơ đồ được dùng nhiều trong thực tế Nó thường dựa trên các hàm băm mã hoá nên khả năng tấn công với chữ kí hay khả năng giả mạo chữ kí
là rất khó
Định nghĩa
Sơ đồ chữ kí số với phần phụ đính kèm là sơ đồ chữ kí sử dụng dữ liệu
hay tài liệu được kí làm dữ liệu đầu vào của thuật toán xác minh
Các sơ đồ chữ kí DSA, ElGamal, Schnorr thuộc loại sơ đồ chữ kí với phần phụ đính kèm
Thuật toán sinh khoá đối với sơ đồ chữ kí số với phần phụ đính kèm
Giả sử một người dùng A có 1 tập các tài liệu cần kí là M, tập các chữ kí
mà người A sử dụng để kí các tài liệu thuộc M là S, K là tập chỉ số của các phép biến đổi kí Thuật toán sinh khoá để kí tài liệu theo sơ đồ chữ kí số với phần phụ đính kèm như sau:
1 A chọn khoá bí mật từ tập SA = {SA,k : kK} Mỗi phép biến đổi kí SA,k
là một ánh xạ tương ứng 1-1 từ Mh S
2 SA xác định một ánh xạ tương ứng VA từ Mh x S {true,false}, đó là:
VA (m~, s*) = True nếu SA,k (m~) = s*
False nếu SA,k (m~) s*
Với m~Mh, s*S, m~ =h(m) với mM
VA được gọi là phép biến đổi xác minh và có thể thực hiện được mà không cần biết khoá bí mật của người kí
3 Tập các khoá công khai của A là VA
Tập các khoá bí mật của A là tập SA
Thuật toán kí và xác minh
A tạo một chữ kí sS cho thông báo mM, có thể xác minh bởi bất cứ người dùng B nào có khoá công khai VA của A
a- Thuật toán kí: A làm như sau:
Trang 33(a)- Chọn một số kK
(b)- Tính m~ = h(m) và s* = SA,k (m~)
(c)- Chữ kí của A trên m là s* Cả m và s* được dùng để xác minh chữ kí
b- Thuật toán xác minh: B làm như sau:
(a)-Lấy khoá công khai VA (b)-Tính m~ = h(m) và u = VA (m~,s*)
(c)- Chữ kí và tài liệu được chấp nhận nếu u = True
Hình 2.2 dưới đây minh hoạ cho các phép toán kí và phép toán xác minh:
(i)-Với mỗi kK, có thể tính SA,k, VA (ii)-Ngoài A không ai có thể tìm được mM và s*S sao cho
dùng cho các tài liệu có độ dài tuỳ ý Hàm một chiều h trong thuật toán trên
được chọn là hàm “băm” không va chạm Có thể thay thế phép “băm” bằng cách chia thông báo thành các khối có độ dài cố định để kí riêng trên mỗi khối với sơ
đồ chữ kí khôi phục thông báo Trong trường hợp này, thuật toán kí tương đối chậm và không đảm bảo sự toàn vẹn của dữ liệu được kí khi có sự sắp xếp lại các khối đã kí và các phần của chữ kí Vì vậy, cách này không an toàn bằng phương pháp sử dụng hàm băm
Trang 34b Sơ đồ chữ kí khôi phục thông báo
Sơ đồ chữ kí này có chức năng khôi phục thông báo đã kí từ chính chữ kí của nó Trong thực tế, loại sơ đồ này thường dùng cho các thông báo ngắn
Định nghĩa:
Sơ đồ chữ kí khôi phục thông báo là sơ đồ chữ kí không cần sử dụng
thông tin ban đầu cho thuật toán xác minh
Các ví dụ cho sơ đồ chữ kí này là các sơ đồ chữ kí RSA, Rueppel, Rabin…
Nyberg- Thuật toán tạo khoá của sơ đồ chữ kí khôi phục thông báo
(1)-Một người dùng A chọn tập các phép biến đổi: SA={SA,k: kK} SA,k
là một ánh xạ 1-1 từ Ms S => được gọi là phép biến đổi kí
(2)- Từ SA định nghĩa ánh xạ tương ứng VA sao cho VA°SA,k là ánh xạ đồng nhất trên Ms với kK VA gọi là phép biến đổi xác minh và được tạo sao cho việc tính toán không cần biết khoá bí mật của người kí
(3)- Tập các khoá công khai của A là VA và tập các khoá bí mật là tập
SA
Thuật toán kí và thuật toán xác minh
A tạo chữ kí sS trên thông báo mM còn B sẽ xác minh chữ kí này và khôi phục được thông báo m từ s
Hình 2.3 Cho một cái nhìn khái quát về sơ đồ chữ kí khôi phục thông báo
R
MS
SA,k
Trang 35Hình 2.3 Mô hình sơ đồ chữ kí khôi phục thông báo
(i)-Với mỗi kK, SA,k được tính
và chữ kí s* tương ứng sẽ được chấp nhận khi xác minh như sau:
1- Chọn ngẫu nhiên số nguyên kK và s*S
Bất kỳ sơ đồ chữ kí khôi phục thông báo nào cũng có thể chuyển thành sơ
đồ chữ kí số với phần phụ đính kèm bằng cách dùng phương pháp băm thông báo đơn giản rồi kí trên giá trị băm Thông báo bây giờ giống như đầu vào của thuật toán xác minh Điều này được minh hoạ qua sơ đồ 2.4 Hàm phần dư R không quá khó để bảo đảm an toàn cho sơ đồ chữ kí và có thể là bất kỳ hàm tương ứng 1-1 nào từ Mh vào MS
Hình 2.4 Mô hình biến đổi từ sơ đồ chữ kí khôi phục thông báo sang sơ đồ chữ kí có phần phụ đính kèm
2.3 Ứng dụng chữ kí số để xác thực tính toàn vẹn của nội dung
2.3.1 Xác thực tính toàn vẹn của nội dung thông tin
Như chúng ta đã biết thông tin là những hiểu biết, tri thức của con người
về một đối tượng, một thực thể trong thế giới quan Thông tin có thể tồn tại dưới nhiều dạng khác nhau (chữ viết, âm thanh, hình ảnh)