Đăng ký Đăng nhập
Trang chủ Nghiên cứu thiết kế ứng dụng khóa điện tử đảm bảo an toàn thông tin trong các gi...

Tài liệu Nghiên cứu thiết kế ứng dụng khóa điện tử đảm bảo an toàn thông tin trong các giao dịch

.PDF
96
29
132

Mô tả:

i .. ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN LỜI CẢM ƠN THÔNG Luận văn đƣợc thực hiện tại trƣờng Đại học Công nghệ Thông tin và Truyền Thông – Đại học Thái Nguyên dƣới sự hƣớng dẫn của TS. Trần Xuân Kiên. Trƣớc hết tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy Trần Xuân Kiên, ngƣời đã có những định hƣớng, những kiến thức quý báu, những lời động viên và chỉ bảo giúp tôi vƣợt qua những khó khăn để tôi hoàn thành tốt luận TRẦN MINH KHƢƠNG văn của mình. Tôi xin đƣợc bày tỏ lòng cảm ơn và sự kính trọng của mình đến 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, đặc biệt là các Thầy, Cô đã giảng dạy và giúp đỡ tôi trong suốt NGHIÊN CỨU THIẾT KẾ, ỨNG DỤNG KHÓA ĐIỆN TỬ quá trình học tập tại trƣờng. ĐẢM BẢOđặc ANbiệt TOÀN TRONG GIAO trọng DỊCHđiểm Tôi cũng cảm THÔNG ơn tới cácTIN sĩ quan phòngCÁC Thí nghiệm An toàn thông tin – Viện KH-CNĐIỆN Quân TỬ. sự Bộ Quốc phòng. Các anh, chị học viên lớp Cao học CK09D. Các đồng nghiệp tại Trƣờng Đại học Lƣơng Thế Vinh - Nam Định. Đã luôn động viên, giúp đỡ tôi trong quá trình học tập và công tác, để tôi hoàn thành nhiệm vụ đƣợc giao. Nhân dịp này, tôi cũng xin gửi lời cảm ơn đến gia đình, ngƣời thân, đã VĂN SĨ giúp KHOA TÍNHsuốt quá trình tạo điều kiệnLUẬN giúp đỡ, độngTHẠC viên, trợ tôi HỌC về tinhMÁY thần trong học tập. Thái Nguyên, tháng 9 năm 2012 Tác giả Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Thái Nguyên – 2012. http://www.lrc-tnu.edu.vn ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu thiết kế, ứng dụng khóa điện tử đảm bảo an toàn thông tin trong các giao dịch điện tử” này là công trình nghiên cứu của riêng tôi. Các số liệu sử dụng trong luận văn là trung thực. Các kết quả nghiên cứu đƣợc trình bày trong luận văn chƣa từng đƣợc công bố tại bất kỳ công trình nghiên cứu nào khác. Trần Minh Khƣơng. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii MỤC LỤC LỜI CẢM ƠN ........................................................................................................................................... i LỜI CAM ĐOAN .................................................................................................................................. ii MỤC LỤC ................................................................................................................................................. iii DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT .................................................... v DANH MỤC CÁC BẢNG .............................................................................................................. vi DANH MỤC CÁC HÌNH VẼ ...................................................................................................... vii MỞ ĐẦU ........................................................................................................... 1 Chƣơng 1: ĐẶT VẤN ĐỀ ................................................................................ 5 1.1. Tổng quan về mật mã ............................................................................. 5 1.1.1. Mật mã học ...................................................................................... 5 1.1.2. Hệ mật mã (cryptosystem) .............................................................. 6 1.1.3. Mô hình truyền tin cơ bản của mật mã học và nguyên lý Kerckhoffs ................................................................................................................... 7 1.1.4. Một số ứng dụng của mật mã học ................................................... 9 1.2. Một số nguy cơ mất an toàn bảo mật thông tin .................................... 10 1.2.1. Mất mã khóa .................................................................................. 10 1.2.2. Thất lạc các vật mang tin .............................................................. 11 1.2.3. Truy cập trái phép các phần mềm quan trọng ............................... 12 1.2.4. Mất an toàn khi gửi/nhận thƣ điện tử ............................................ 13 1.3. Đề xuất giải pháp bảo đảm an toàn bảo mật dữ liệu ............................ 13 1.3.1. Dùng khóa cứng để lƣu giữ mã khóa ............................................ 13 1.3.2. Dùng khóa cứng để khóa máy tính, dùng USB có bảo vệ khi truy cập ........................................................................................................... 15 1.3.3. Dùng khóa cứng để bảo vệ phần mềm có bản quyền và phần mềm quan trọng ................................................................................................................. 15 Chƣơng 2: NGHIÊN CỨU LỰA CHỌN CÁC THUẬT TOÁN MÃ HÓA ..................... 17 2.1. Hệ mật mã khóa bí mật. Chuẩn mã AES ............................................. 17 2.1.1. Hệ mật mã khóa bí mật (quy trình mã hóa đối xứng) ................... 17 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iv 2.1.2. Chuẩn mã AES (Advanced Encryption Standard) ........................ 18 2.2. Hệ mật mã khóa công khai. Hệ mã RSA ............................................. 45 2.2.1. Hệ mật mã khóa công khai (quy trình mã hóa bất đối xứng) ....... 45 2.2.2. Hệ mã RSA ................................................................................... 49 Chƣơng 3 NGHIÊN CỨU XÂY DỰNG VÀ THỰC HIỆN THỬ NGHIỆM KHÓA CỨNG KẾT HỢP VỚI PHẦN MỀM MÃ/GIẢI MÃ ....................... 56 3.1. Nghiên cứu thiết kế khóa cứng ............................................................ 56 3.1.1. Thiết kế của khóa cứng ................................................................. 56 3.1.2. Lựa chọn chíp giao tiếp với máy tính thông qua cổng giao tiếp USB ......................................................................................................... 59 3.1.3. Lựa chọn chíp vi xử lý tốc độ cao thực hiện thuật toán mã/giải mã, lƣu trữ mã khóa ....................................................................................... 60 3.1.4. Phần mềm soạn thảo chƣơng trình điều khiển vi xử lý ................ 62 3.1.5. Modul mã hoá/giải mã sử dụng thuật toán AES viết trên vi xử lý 63 3.2. Nghiên cứu xây dựng và thử nghiệm Modul phần mềm kết hợp với khóa cứng thực hiện mã hóa/giải mã dữ liệu trên máy tính dùng thuật toán AES ............................................................................................................. 76 3.2.1. Nghiên cứu xây dựng modul ......................................................... 76 3.2.2. Kết quả thử nghiệm ....................................................................... 81 3.3. Nghiên cứu xây dựng và thử nghiệm Modul phần mềm kết hợp với khóa cứng để mã hóa/giải mã dữ liệu khi trao đổi qua email dùng thuật toán RSA ............................................................................................................. 82 3.3.1. Nghiên cứu xây dựng modul ......................................................... 82 3.3.2. Kết quả thử nghiệm ....................................................................... 84 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...................................................... 87 TÀI LIỆU THAM KHẢO............................................................................... 88 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn v DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT AES Advanced Encryption Standard DES Data Encryption Standart DSA Digital Signature Algorithm EEPROM Electrically Erasable Programmable Read-Only Memory IDEA International Data Encryption Algorithm ID IP Identification Internet Protocol IDEA MD International Data Encryption Algorithm Message Digest MIPS Mega Instruction Per Second NIST PIC National Institute of Standards and Technology Programmable Intelligent Computer PIN Personal Indentification Number PKI Public Key Infrastructure RISC Reduced Instructions Set Computer RSA Rivest – Shamir – Adleman SHA Secure Hash Algorithm USB Univeral Serial Bus Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn vi DANH MỤC CÁC BẢNG Bảng 2.1. Bảng các khái niệm và ký hiệu dùng trong thuật toán AES ........... 22 Bảng 2.2. Bảng biểu diễn các xâu 4 bit trong hệ Hexa ................................... 23 Bảng 2.3. Giá trị di số shift(r,Nb) ................................................................... 30 Bảng 2.4. Bảng mã khóa mở rộng và cách xác định mã khóa của các chu kỳ 36 Bảng 2.5. Tốc độ của thuật toán Brent –Pollard ............................................. 54 Bảng 2.6. Thời gian dự đoán của việc phân tích ra thừa số nguyên tố của các số nguyên......................................................................................................... 55 Bảng 3.1. So sánh hai thuật toán mã hóa T-DES và AES .............................. 63 Bảng 3.2. Số chu kỳ của AES ......................................................................... 65 Bảng 3.3. Ma trận khóa ................................................................................... 65 Bảng 3.4. Ma trận dữ liệu................................................................................ 65 Bảng 3.5. Dịch vòng mã hóa ........................................................................... 66 Bảng 3.6. Giá trị trƣớc và sau khi thực hiện Row Shift .................................. 71 Bảng 3.7. Thời gian thực hiện và lƣu lƣợng của thuật toán mã hóa AES trên thiết bị dsPIC ................................................................................................... 75 Bảng 3.8. Bộ nhớ sử dụng cho các thuật toán mã hóa .................................... 75 Bảng 3.8. Kết quả thử nghiệm Modul phần mềm kết hợp với khóa cứng mã hóa/giải mã dữ liệu trên máy tính dùng thuật toán AES ................................. 82 Bảng 3.9. Bảng kết quả thử nghiệm Modul phần mềm kết hợp với khóa cứng để mã hóa/giải mã dữ liệu khi trao đổi qua email dùng thuật toán RSA ........ 85 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn vii DANH MỤC CÁC HÌNH VẼ Hình 1.1. Mô hình truyền tin cơ bản của mật mã học....................................... 8 Hình 2.1. Mô hình hệ mật mã khóa bí mật ..................................................... 17 Hình 2.2. Các trạng thái của AES ................................................................... 24 Hình 2.3. Sơ đồ thuật toán............................................................................... 27 Hình 2.4. Thao tác SubBytes tác động trên từng byte của trạng thái ............. 28 Hình 2.5. Bảng thế S-Table của thuật toán AES............................................. 29 Hình 2.6. Thao tác ShiftRows tác động trên từng dòng của trạng thái ........... 30 Hình 2.7. Thao tác MixColumns tác động lên mỗi cột của trạng thái ............ 32 Hình 2.8. Thao tác AddRoundKey tác động lên mỗi cột của trạng thái ......... 33 Hình 2.9. Thao tác InvShiftRows tác động lên từng dòng của trạng thái hiện hành ......................................................................................................................... 38 Hình 2.10. Bảng thế cho phép biến đổi InvSubBytes ..................................... 40 Hình 2.11. Mô hình hệ thống mã hóa với khóa công khai .............................. 47 Hình 3.1. Hình ảnh khóa cứng và các môdul trên khóa cứng ......................... 57 Hình 3.2: Sơ đồ nguyên lý mạch điện trên khoá cứng .................................... 58 Hình 3.3. Dữ liệu trên bộ nhớ lƣu trữ trên khóa cứng A và B ........................ 58 Hình 3.4. Hiển thị giao tiếp USB nhận đƣợc khi cắm khóa cứng vào máy tính ......................................................................................................................... 59 Hình 3.5. Sơ đồ cấu trúc dòng vi xử lý 16 bit ................................................. 61 Hình 3.6. Giao diện soạn thảo chƣơng trình cho vi xử lý. .............................. 63 Hình 3.7. Sơ đồ khối của thuật toán mã hóa AES .......................................... 64 Hình 3.8. Sơ đồ khối của quá trình giải mã .................................................... 69 Hình 3.9. Quy trình thực hiện mã file sử dụng mã khoá lấy từ khoá cứng .... 76 Hình 3.10. Quy trình thực hiện giải mã file sử dụng mã khoá lấy từ khoá cứng ......................................................................................................................... 77 Hình 3.11. Giao diện phần mềm mã/giải mã file dữ liệu và quản lý mã khóa 77 Hình 3.12. Thông báo của phần mềm khi không cắm khóa cứng .................. 78 Hình 3.13. Giao diện phần mềm khi nhập mật khẩu đúng ............................. 78 Hình 3.14. Giao diện phần mềm khi thực hiện mã hóa dữ liệu. ..................... 79 Hình 3.15. Giao diện phần mềm khi thực hiện giải mã dữ liệu. ..................... 80 Hình 3.16. Danh sách các file đã mã hóa. ....................................................... 80 Hình 3.17. Giao diện phần mềm thực hiện lựa chọn file để mã hóa và gửi thƣ điện tử .............................................................................................................. 83 Hình 3.18. Giao diện phần mềm khi thực hiện mã hóa file tại máy đầu A. ... 83 Hình 3.19. Giao diện phần mềm thực hiện giải mã tại máy đầu B ................. 84 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1 MỞ ĐẦU Ngày nay, với sự phát triển nhanh chóng của công nghệ và các mạng giao dịch toàn cầu, việc lƣu trữ dữ liệu và trao đổi thông tin ngày càng đơn giản và thuận tiện hơn nhƣng bên cạnh đó cũng nảy sinh những yêu cầu cao hơn về bảo mật thông tin trong các hệ thống và ứng dụng điện tử. Mật mã là phƣơng pháp an toàn và hiệu quả nhất để đảm bảo an toàn, bí mật thông tin. Các kết quả của khoa học mật mã ngày càng đƣợc triển khai trong nhiều lĩnh vực khác nhau của đời sống – xã hội, trong đó phải kể đến rất nhiều những ứng dụng đa dạng trong lĩnh vực dân sự, thƣơng mại... Các ứng dụng mã hóa thông tin cá nhân, trao đổi thông tin kinh doanh, thực hiện các giao dịch điện tử qua mạng... đã ngày càng trở nên gần gũi và quen thuộc với mọi ngƣời. Các thiết bị mang tin đa dạng về chủng loại và ngày càng đƣợc sử dụng phổ biến (USB, thẻ nhớ, ổ cứng di động, máy tính xách tay...) rất thuận tiện trong sử dụng, nhƣng cũng dễ mất an toàn nhƣ bị thất lạc, bị sao chép trộm... Các phần mềm gián điệp, mã độc hại có thể lấy cắp dữ liệu đã trở nên ngày càng phổ biến, đặc biệt là trong an ninh quốc phòng nhƣ phần mềm đọc bàn phím (Keylogger) dễ dàng trợ giúp cho việc lấy cắp mật khẩu, mã khóa.... Một vấn đề khác là việc mất an toàn khi gửi/nhận thƣ điện tử (email), khi sao chép, in ấn hoặc khi kết nối mạng cũng thƣờng xuyên xảy ra. Một trong những vấn đề chính hay gặp trong thực tế của các hệ thống mã hóa hiện nay là vấn đề an toàn trong việc sinh khóa, bảo quản và sử dụng mã khóa. Khóa điện tử (khóa cứng) là một sản phẩm sử dụng chuẩn kết nối tuần tự đa dụng USB (Univeral Serial Bus), có nghĩa là giao tiếp với máy tính thông qua cổng USB. Không nhƣ các USB lƣu trữ dữ liệu thông thƣờng, các sản phẩm này đƣợc chế tạo bởi nhiều kiểu kiến trúc phần cứng khác nhau, có thể là chip EEPROM, hay Smartchip,… có chức năng chính là bảo vệ bản Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2 quyền phần mềm, bảo vệ sourcecode, license của sản phẩm phần mềm và mã hóa dữ liệu. Khóa cứng đã đƣợc nghiên cứu, sản xuất và đƣa vào sử dụng rộng khắp trong lĩnh vực công nghệ thông tin nói chung và an toàn thông tin nói riêng ở trong cũng nhƣ ngoài nƣớc. Các ngành nhƣ công nghệ phần mềm, ngân hàng, an ninh bảo mật… cũng nghiên cứu và sử dụng các thiết bị khóa cứng và eToken trong việc bảo mật, chống sao chép, chữ ký số... Hiện nay, một số công ty thử nghiệm giải pháp dùng khoá cứng trong bảo vệ dữ liệu và bảo vệ bản quyền phần mềm, một số loại nhƣ Hasp, Rockey, Unikey, USB-токен, SecureDongle,... Tuy nhiên, đây đều là các sản phẩm nhập khẩu, vì vậy khả năng phát triển những ứng dụng có sử dụng khóa cứng phải phụ thuộc vào nhà cung cấp nƣớc ngoài và các thiết bị này không đảm bảo có bị lỗi cổng hậu (backdoor) hay không. Gần đây khoá cứng bảo vệ phần mềm cũng đã bị bẻ khoá nhờ công nghệ giả lập khoá cứng. Với mong muốn áp dụng các phƣơng pháp mã hóa vào việc bảo mật dữ liệu và trao đổi thƣ điện tử, đồng thời từng bƣớc tìm hiểu, làm chủ công nghệ khóa cứng, tác giả chọn đề tài: “Nghiên cứu thiết kế, ứng dụng khóa điện tử đảm bảo an toàn thông tin trong các giao dịch điện tử” nhằm nghiên cứu, đề xuất giải pháp ứng dụng khóa cứng với các chức năng: là thiết bị lƣu trữ mã khóa, đảm bảo nhỏ gọn, kết nối với máy tính thông qua cổng USB, kết hợp đƣợc với phần mềm mã hóa, có ID riêng cho từng thiết bị, có bộ nhớ đủ lớn để lƣu trữ mã khóa, lƣu trữ dữ liệu, thuận tiện trong sử dụng; xây dựng phần mềm kết hợp với khóa cứng để thực hiện việc quản lý mã khóa và mã hóa dữ liệu. Mục tiêu của luận văn Nghiên cứu sản phẩm khoá cứng ứng dụng trong việc mã hóa dữ liệu trên máy tính và khi trao đổi thƣ điện tử (email). Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 3 Nghiên cứu xây dựng phần mềm kết hợp với khóa cứng thực hiện mã hóa/giải mã dữ liệu trên máy tính. Nghiên cứu thiết kế modul mã hóa và giao tiếp với máy tính thực hiện mã hóa luồng dữ liệu khi thực hiện giao tiếp giữa khóa cứng và máy tính. Từng bƣớc làm chủ thiết bị an toàn bảo mật có tích hợp bên trong các thuật toán mã và giải mã. Cơ sở khoa học và tính thực tiễn của luận văn Xuất phát từ vai trò của mật mã trong các giải pháp an toàn thông tin nghiên cứu và ứng dụng mật mã để bảo vệ thông tin. Cụ thể là nghiên cứu phƣơng pháp mã hoá AES (Advanced Encryption Standard – chuẩn mã hóa nâng cao) đƣợc Viện Tiêu chuẩn và Công nghệ Hoa Kỳ (NIST) chính thức công bố ngày 02/10/2000 và phƣơng pháp mã hóa khóa công khai RSA; các mô hình thực hiện mã khối trên nền công nghệ nhúng, trong luận văn ứng dụng thực hiện trên chíp vi xử lý 16 bit tốc độ cao. Nghiên cứu sản phẩm khóa cứng ứng dựng các phƣơng pháp mã hóa hiện đại nhằm: bảo vệ dữ liệu trên máy tính và khi trao đổi tin; làm chủ công nghệ các sản phẩm an toàn bảo mật thông tin mang nhãn hiệu Việt. Kết quả nghiên cứu của đề tài góp phần làm rõ các phƣơng pháp mã hóa mới có tính bảo mật cao, đƣa ra một giải pháp cho việc bảo vệ dữ liệu trên máy tính và khi trao đổi thông tin. Nội dung của luận văn đƣợc chia thành các chƣơng sau: Chương 1: Đặt vấn đề Trong chƣơng này, nghiên cứu tổng quan về mật mã học, vai trò của mật mã trong bảo đảm an toàn bảo mật dữ liệu, một số nguy cơ mất an toàn Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 4 bảo mật dữ liệu ngay cả khi dữ liệu đã đƣợc mã hóa, đề xuất giải pháp đảm bảo an toàn bảo mật dữ liệu trƣớc các nguy cơ trên. Chương 2: Nghiên cứu lựa chọn các thuật toán mã hóa Trong chƣơng này, nghiên cứu khái quát về hai loại hệ mật mã là hệ mật mã khóa bí mật và hệ mật mã khóa công khai, lựa chọn nghiên cứu hai phƣơng pháp mã hóa hiện đại là AES và RSA, có độ an toàn cao để ứng dụng trong xây dựng chƣơng trình mã/giải mã dữ liệu. Chương 3: Nghiên cứu xây dựng và thực hiện thử nghiệm khóa cứng với các phần mềm mã hóa/giải mã. Trong chƣơng này, nghiên cứu thiết kế khóa cứng; xây dựng và thử nghiệm phần mềm kết hợp với khóa cứng để mã/giải mã dữ liệu bao gồm hai modul là Modul phần mềm kết hợp với khóa cứng thực hiện mã hóa dữ liệu trên máy tính dùng thuật toán AES, Modul phần mềm kết hợp với khóa cứng để mã hóa dữ liệu khi trao đổi qua email dùng thuật toán RSA. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 5 Chƣơng 1: ĐẶT VẤN ĐỀ 1.1. Tổng quan về mật mã 1.1.1. Mật mã học Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thông tin cần mã hóa [10]. Đây là một ngành khoa học có lịch sử lâu đời dựa trên nền tảng các thuật toán toán học, số học, xác suất và các môn khoa học khác. Mật mã học bao gồm hai lĩnh vực: mã hóa (cryptography) và thám mã (cryptanalysis-codebreaking) trong đó: Mã hóa: nghiên cứu các thuật toán và phƣơng thức để đảm bảo tính bí mật và xác thực của thông tin. Các sản phẩm của lĩnh vực này là các hệ mật mã, các hàm băm, các chữ ký điện tử, các cơ chế phân phối, quản lý khóa và các giao thức mật mã. Thám mã: nghiên cứu các phƣơng pháp phá mã hoặc tạo mã giả. Sản phẩm của lĩnh vực này là các phƣơng pháp thám mã, các phƣơng pháp giả mạo chữ ký, các phƣơng pháp tấn công các hàm băm và các giao thức mật mã. Mật mã học là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội. Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang đƣợc sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên toàn thế giới, từ các lĩnh vực an ninh, quốc phòng,… cho đến các lĩnh vực dân sự nhƣ thƣơng mại điện tử, ngân hàng… Cùng với sự phát triển của khoa học máy tính và Internet, các nghiên cứu và ứng dụng của khoa học mật mã ngày càng trở nên đa dạng hơn, mở ra nhiều hƣớng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc thù với những đặc trƣng riêng. Ứng dụng của khoa học mật mã không chỉ đơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác nhau cần đƣợc nghiên cứu và giải quyết: chứng thực nguồn Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 6 gốc nội dung thông tin (kỹ thuật chữ ký điện tử), chứng nhận tính xác thực về ngƣời sở hữu mã khóa (chứng nhận khóa công khai), các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên mạng... Những kết quả nghiên cứu về mật mã cũng đã đƣợc đƣa vào trong các hệ thống phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng của các hệ thống ứng dụng khác nhau trong thực tế, ví dụ nhƣ hệ thống bỏ phiếu bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị với hƣớng tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ multimedia trên mạng với yêu cầu cung cấp dịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số... 1.1.2. Hệ mật mã (cryptosystem) a) Khái niệm Hệ mật mã là một bộ năm (P, C, K, E, D) thỏa mãn các điều kiện sau: 1. P là không gian bản rõ: là tập hữu hạn các bản rõ có thể có. 2. C là không gian bản mã: là tập hữu hạn các bản mã có thể có. 3. K là không gian khoá: là tập hữu hạn các khoá có thể có. 4. E và D lần lƣợt là tập luật mã hóa và giải mã. Với mỗi khóa k∈K, tồn tại luật mã hóa ek∈ E và luật giải mã dk∈ D tƣơng ứng. Luật mã hóa ek: P→ C và luật giải mã dk: C → P là hai ánh xạ thỏa mãn: dk (ek (x)) = x, ∀x∈P [4]. Thƣờng thì không gian các bản rõ và không gian các bản mã là các văn bản đƣợc tạo thành từ một bộ chữ cái A nào đó. Đó có thể là bộ chữ cái tiếng Anh, bộ mã ASCII, bộ mã Unicode hoặc đơn giản nhất là bộ hai bit 0 và 1. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 7 Tính chất 4 là tính chất chính và quan trọng nhất của một hệ mật mã. Tính chất này bảo đảm một mẩu tin x ∈ P đƣợc mã hóa bằng luật mã hóa ek∈E có thể đƣợc giải mã chính xác bằng luật dk∈D. b) Phân loại hệ mật mã • Theo phép toán sử dụng để chuyển đổi bản rõ thành bản mã: – Thay thế (substitution): mỗi phần tử trong bản rõ đƣợc ánh xạ (map) sang một phần tử khác. – Hoán vị (transposition): các phần tử của bản rõ đƣợc sắp xếp lại. • Theo số lƣợng khoá đƣợc dùng: – Nếu cả bên gửi và bên nhận sử dụng cùng một khoá, thì hệ thống đƣợc gọi là mã hoá đối xứng (symmetric), mã hoá khoá bí mật (secret-key), mã hoá một khoá (single-key). – Nếu bên gửi và bên nhận sử dụng hai khoá khác nhau, thì hệ thống đƣợc gọi là mã hoá bất đối xứng (asymmetric), mã hoá khoá công khai (public-key), mã hoá hai khoá (two-key). • Theo cách thức xử lý bản rõ (bản mã): – Mật mã khối (block cipher): xử lý mỗi lần một khối các phần tử đầu vào tạo ra một khối đầu ra tƣơng ứng với mỗi khối đầu vào. – Mật mã dòng (stream cipher): xử lý liên tiếp các phần tử đầu vào tạo ra mỗi lần một phần tử đầu ra. 1.1.3. Mô hình truyền tin cơ bản của mật mã học và nguyên lý Kerckhoffs Mô hình truyền tin thông thƣờng: trong mô hình truyền tin thông thƣờng thông tin truyền (vận chuyển) từ ngƣời gửi đến ngƣời nhận đƣợc thực hiện nhờ một kênh vật lý (chẳng hạn nhƣ việc gửi thƣ) đƣợc coi là an toàn. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 8 Mô hình cơ bản của truyền tin bảo mật: khác với truyền tin thông thƣờng, có các yếu tố mới đƣợc thêm vào nhƣ khái niệm kẻ địch (E-Enemy), các khoá mã hoá và giải mã K để bảo đảm tính bảo mật của thông tin cần truyền đi. Hình 1.1. Mô hình truyền tin cơ bản của mật mã học Trong mô hình này ngƣời gửi S (Sender) muốn gửi một thông điệp X (Message – là một bản rõ) tới ngƣời nhận R (Receiver) qua một kênh truyền không an toàn (Insecured Channel), kẻ địch E (Enemy) có thể nghe trộm, hay sửa đổi thông tin X. Vì vậy, S sử dụng phép biến đổi , tức mã hóa (E- Encryption) lên thông tin X ở dạng đọc đƣợc (Plaintext) để tạo ra một đoạn văn bản đƣợc mã hoá Y (C-Ciphertext) không thể hiểu đƣợc theo một quy luật thông thƣờng, sử dụng một thông tin bí mật gọi là khóa K 1 (Key), khoá K1 chính là thông số điều khiển cho phép biến đổi từ bản rõ X sang bản mã Y (chỉ các bên tham gia truyền tin S và R mới có thể biết khóa này). Giải mã (DDecryption) là quá trình ngƣợc lại cho phép ngƣời nhận thu đƣợc thông tin X ban đầu từ đoạn mã hóa Y sử dụng khóa giải mã K2 (chú ý là khóa giải mã và khóa mã hóa có thể giống hoặc khác nhau tùy thuộc vào hệ mật mã sử dụng). Các phép biến đổi đƣợc sử dụng trong mô hình truyền tin trên thuộc về một hệ mật mã (Cryptosystem) nào đó. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 9 Trong các thuật toán mã hóa, khóa đƣợc dùng điều khiển các quá trình mã hóa và giải mã. Phần lớn các thuật toán hiện đại dựa trên các thuật toán đƣợc công bố công khai, thậm chí là thực hiện bằng các phần mềm mã nguồn mở. Vì vậy, "Độ an toàn của hệ thống mật mã không phụ thuộc vào việc giữ bí mật thuật toán mã hóa, nó phụ thuộc vào việc giữ bí mật chìa khóa mã.". Quan điểm này xuất phát từ các công trình nghiên cứu của Auguste Kerckhoffs (vào những năm 1880), Claude Shannon (vào những năm 1940) [1] và đƣợc biết đến dƣới tên gọi nguyên lý Kerckhoffs hay châm ngôn của Shannon. Nghĩa là, toàn bộ cơ chế mã/giải mã (trừ khóa) là không bí mật đối với kẻ địch. Rõ ràng nếu đối phƣơng không biết đƣợc hệ mật mã đang sử dụng thuật toán mã hóa gì thì việc thám mã sẽ rất khó khăn nhƣng chúng ta không thể tin vào độ an toàn của hệ mật mã chỉ dựa vào một giả thiết không chắc chắn là đối phƣơng không biết thuật toán đang sử dụng. Vì vậy, khi trình bày một hệ mật bất kỳ, chúng ta đều giả thiết hệ mật đó đƣợc trình bày dƣới nguyên lý Kerckhoffs. 1.1.4. Một số ứng dụng của mật mã học Ngày nay, khó có thể tìm thấy các ứng dụng trên máy tính lại không sử dụng tới các thuật toán và các giao thức mật mã học. Từ các ứng dụng cho các máy tính cá nhân cho tới các chƣơng trình hệ thống nhƣ các hệ điều hành hoặc các ứng dụng mạng hoặc các hệ cơ sở dữ liệu đều có sử dụng các thuật toán mã hóa mật khẩu ngƣời dùng bằng một hệ mã hoặc một hàm băm nào đó. Đặc biệt, với sự phát triển mạnh mẽ của thƣơng mại điện tử, các mô hình chứ ký điện tử ngày càng đóng vai trò tích cực cho một môi trƣờng an toàn cho ngƣời dùng. Tuy vậy, chúng ta vẫn có thể chia các lĩnh vực ứng dụng của mật mã học thành các lĩnh vực nhỏ nhƣ sau : Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 10 - Bảo mật (Confidentiality): che dấu nội dung của các thông điệp đƣợc trao đổi trong một phiên truyền thông hoặc giao dịch hoặc các thông điệp trên một hệ thống máy tính (các file, dữ liệu trong một cơ sở dữ liệu…). - Xác thực hóa (Authentication): đảm bảo nguồn gốc của một thông điệp, ngƣời dùng. - Toàn vẹn (Integrity): đảm bảo chỉ có các tổ chức đã đƣợc xác thực mới có thể thay đổi các tài sản của hệ thống cũng nhƣ các thông tin trên đƣờng truyền. - Dịch vụ không thể chối từ (Non-Repudiation): Các bên đã đƣợc xác thực không thể phủ nhận việc tham gia vào một giao dịch hợp lệ. - Ngoài ra, còn có các dịch vụ quan trọng khác nhƣ chữ ký điện tử, dịch vụ chức thực danh tính (Identification) cho phép thay thế hình thức xác thực hóa ngƣời dùng dựa trên các mật khẩu bằng các kỹ thuật mạnh hơn hoặc dịch vụ thƣơng mại điện tử cho phép tiến hành các giao dịch an toàn trên các kênh truyền thông không an toàn nhƣ Internet. 1.2. Một số nguy cơ mất an toàn bảo mật thông tin Để bảo đảm an toàn bảo mật cho dữ liệu thì chỉ sử dụng giải pháp mã hóa thôi chƣa đủ vì dữ liệu đã mã hóa vẫn có các nguy cơ mất an toàn bảo mật, chúng ta có thể kể đến một số nguy cơ sau: 1.2.1. Mất mã khóa Trong mật mã học, mã khóa là một đoạn thông tin điều khiển hoạt động của thuật toán mã hóa (quá trình mã hóa/giải mã). 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ã. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 11 Với một thuật toán đƣợc thiết kế tốt, mã hóa cùng một văn bản với các khóa khác nhau sẽ cho ra các bảng mã hoàn toàn khác nhau. Tƣơng tự, khi ta giải mã với khóa sai thì kết quả sẽ cho ra một bản rõ hoàn toàn ngẫu nhiên. Trong trƣờng hợp khóa bị thất lạc thì ta không thể phục hồi lại bản rõ ban đầu với điều kiện là thuật toán đảm bảo chất lƣợng và độ dài khóa đủ lớn. Bất kỳ ngƣời nào có đƣợc khóa (bằng bất kỳ cách gì, trong nhiều trƣờng hợp do sơ suất của ngƣời giữ khóa) thì sẽ dễ dàng giải mã đƣợc dữ liệu đã mã hóa, khi đó vấn đề đặt ra là phải lƣu trữ và bảo quản mã khóa nhƣ thế nào để đảm bảo bí mật, an toàn. Việc giữ bí mật các khóa là vấn đề khó khăn nhất trong các hệ thống thực tế. Khi thiết kế hệ thống an ninh, cần phải giả định rằng kẻ tấn công nắm đƣợc các thông tin chi tiết về thuật toán. Điều này đƣợc biết đến với tên là nguyên lý Kerckhoff. Lịch sử mật mã học đã khẳng định nguyên lý này: hầu nhƣ không thể giữ bí mật về thiết kế các thuật toán đƣợc sử dụng rộng rãi. Trái lại, việc giữ bí mật về khóa dễ hơn rất nhiều vì khóa thƣờng chỉ là một đoạn thông tin ngắn và ta dễ dàng thay đổi chúng khi có dấu hiệu bị lộ. Vì thế, an ninh của một hệ thống mật mã hóa thƣờng dựa trên việc giữ bí mật các khóa mã. Trong thực tế, quản lý khoá là vấn đề khó nhất của an toàn hệ mã hoá. Để thiết kế an toàn thuật toán mã hoá và giao thức là một việc làm không phải dễ dàng nhƣng để tạo và lƣu trữ khoá bí mật là điều còn khó hơn. Kẻ thám mã thƣờng tấn công cả hai hệ mã hoá khóa bí mật và công khai thông qua hệ quản lý khoá. 1.2.2. Thất lạc các vật mang tin Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 12 Các thiết bị mang tin (USB, thẻ nhớ, ổ cứng di động, máy tính xách tay...) đa dạng về chủng loại và ngày càng đƣợc sử dụng phổ biến rất thuận tiện trong sử dụng, nhƣng cũng dễ mất an toàn nhƣ bị thất lạc, bị sao chép trộm... nếu không có biện pháp bảo vệ dữ liệu trên những thiết bị mang tin di động, chúng ta có thể gặp phải những rắc rối nghiêm trọng. USB là thiết bị lƣu trữ dữ liệu rất phổ biến hiện nay, ƣu điểm lớn nhất khi sử dụng USB và các thiết bị nhớ di động là ngƣời sử dụng có thể mang dữ liệu theo bên mình đi bất cứ đâu. Nhƣng đây cũng là nhƣợc điểm lớn nhất của các thiết bị này: nó rất dễ bỏ quên hoặc đánh mất, thậm chí bị đánh cắp nếu ngƣời dùng không để ý. Nếu USB chứa nhiều dữ liệu quan trọng hay riêng tƣ rơi vào tay ngƣời khác thì sẽ dẫn đến những hậu quả không đáng có. Máy tính xách tay tiện dụng nhƣng cũng rất dễ bị đánh cắp, máy tính bị đánh cắp là “cơn ác mộng” mà bất kỳ ai cũng có thể phải đối mặt vào bất cứ lúc nào. Khi máy tính bị đánh cắp, chủ nhân không chỉ mất đi tài sản của mình, mà quan trọng hơn hết, những dữ liệu chứa trên đó có thể là “vô giá” mà không thể nào tìm lại đƣợc và có thể đó là những dữ liệu mà khi bị lộ ra ngoài nó sẽ gây ra những hậu quả khôn lƣờng. 1.2.3. Truy cập trái phép các phần mềm quan trọng Các phần mềm quan trọng đòi hỏi tính bảo mật cao nhƣ các phần mềm sử dụng trong an ninh, quốc phòng... khi đƣợc cài đặt trên máy tính đặc biệt là các máy tính dùng chung có thể bị truy cập và sử dụng trái phép bởi những ngƣời không có thẩm quyền, dẫn đến việc lộ những thông tin, dữ liệu bí mật nhất là bí mật quân sự, bí mật quốc gia. Điều này đòi hỏi phải có giải pháp bảo vệ các phần mềm này ngoài giải pháp sử dụng username và password của phần mềm. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 13 1.2.4. Mất an toàn khi gửi/nhận thƣ điện tử Một vấn đề khác là việc mất an toàn khi gửi/nhận thƣ điện tử cũng thƣờng xuyên xảy ra. Khi gửi thƣ điện tử trên đƣờng truyền mạng, ngƣời gửi có thể sử dụng biện pháp mã hóa để bảo đảm bí mật của nội dung bức thƣ nhƣng nhƣ trên đã trình bày, mã khóa của thuật toán mã hóa có thể bị mất vì một nguyên nhân nào đó và ngƣời có đƣợc mã khóa có thể dễ dàng giải mã đƣợc bức thƣ. 1.3. Đề xuất giải pháp bảo đảm an toàn bảo mật dữ liệu Mã hóa dữ liệu là một trong những việc rất quan trọng để bảo vệ thiết bị di động. Với một thiết bị đã đƣợc quản lý, ngƣời sử dụng có thể phân phối dữ liệu hoặc tuân thủ chính sách mã hoá dữ liệu nhất định. Theo các chuyên gia tƣ vấn: các thƣ mục dữ liệu, hộp thƣ điện tử, dữ liệu ngƣời dùng, danh bạ, các chứng thực... là những thứ nên đƣợc mã hóa. Hầu hết các mức mã hóa sẽ giúp gửi các email an toàn hơn so với việc gửi một email không đƣợc mã hóa bởi lẽ chúng ta đều không thể kiểm soát đƣợc mọi thứ xảy ra trong quá trình gửi. Việc mã hóa các thiết bị lƣu trữ có thể tháo rời đƣợc, chẳng hạn nhƣ các thẻ nhớ SD, USB, ổ cứng di động... cũng cần đƣợc ngƣời sử dụng cân nhắc để mã hoá. Nhƣng chỉ mã hóa thôi chƣa đủ vì khi mã khóa bị đánh cắp, bị thất lạc... thì các dữ liệu đã mã hóa sẽ không còn là bí mật nữa. Chính vì vậy, luận văn đề xuất giải pháp sử dụng khóa cứng: 1.3.1. Dùng khóa cứng để lƣu giữ mã khóa Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Xem thêm -

Tài liệu liên quan