NGHIÊN CỨU PHƯƠNG PHÁP BẢO MẬT TIN NHẮN TRÊN ĐIỆN THOẠI DI ĐỘNG

26 300 0
NGHIÊN CỨU PHƯƠNG PHÁP BẢO MẬT TIN NHẮN TRÊN ĐIỆN THOẠI DI ĐỘNG

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ĐÀO ÁNH HƯƠNG NGHIÊN CỨU PHƯƠNG PHÁP BẢO MẬT TIN NHẮN TRÊN ĐIỆN THOẠI DI ĐỘNG Chuyên ngành: Hệ thống thông tin Mã số: 60.48.01.04 Người hướng dẫn khoa học: TS NGUYỄN NGỌC CƯƠNG TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – 2013 LỜI MỞ ĐẦU Ngày nay, hệ thống mạng di động trở nên phổ biến xã hội, hầu hết người sử dụng điện thoại di động Cùng với phát triển đó, bên cạnh tính ưu việt, điện thoại di động dễ bị đánh cắp mát thông tin, đặc biệt thông tin trao đổi qua tin nhắn SMS Nhưng nay, việc trao đổi thông tin qua tin nhắn lại nhiều người nhiều lĩnh vực áp dụng là: thương mại điện tử, Internet banking, liên lạc trao đổi thuê bao di động… Bên cạnh đó, có nhiều kẻ xấu lợi dụng lỗ hổng trình truyền tin nhắn SMS để có kiếm tiền phục vụ mục đích xấu Việc nghiên cứu bảo mật thông tin điện thoại di động đề tài hấp dẫn có ứng dụng thực tế cao, chủ đề quan tâm nghiên cứu phát triển ứng dụng mạnh mẽ Đó lý chọn đề tài: “Nghiên cứu phương pháp bảo mật tin nhắn điện thoại di động” làm đề tài luận văn tốt nghiệp Cấu trúc luận văn sau: LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH LỜI MỞ ĐẦU Chương 1: TỔNG QUAN VỀ BẢO MẬT TIN NHẮN TRÊN ĐTDĐ 1.1 Giới thiệu dịch vụ tin nhắn SMS 1.2 Bảo mật tin nhắn ĐTDĐ 1.3 Giải pháp kỹ thuật để bảo mật tin nhắn Chương 2: ỨNG DỤNG MÃ HÓA TRONG BẢO MẬT TIN NHẮN 2.1 Ứng dụng thuật toán AES bảo mật tin nhắn 2.2 Ứng dụng mật mã dựa định danh bảo mật tin nhắn 2.3 Một số thuật toán mã hóa khác ứng dụng bảo mật tin nhắn Chương 3: XÂY DỰNG CHƯƠNG TRÌNH BẢO MẬT TIN NHẮN TRÊN ĐTDĐ 3.1 Xây dựng chương trình bảo mật tin nhắn ĐTDĐ 3.2 Thử nghiệm demo chương trình bảo mật tin nhắn ĐTDĐ KẾT LUẬN TÀI LIỆU THAM KHẢO CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT TIN NHẮN TRÊN ĐIỆN THOẠI DI ĐỘNG 1.1 Giới thiệu dịch vụ tin nhắn SMS 1.1.1 ĐTDĐ mạng thông tin di động 1.1.1.1 Mobile Phone Family 1.1.1.2 The flexible Mobile Phone 1.1.2 Short Message Service (SMS) 1.1.2.1 SMS gì? 1.1.2.2 Lịch sử phát triển SMS 1.1.3 Cách truyền nhận tin nhắn SMS Có hai trường hợp truyền nhận tin nhắn SMS thuê bao di động: truyền nội truyền bên 1.2 Bảo mật tin nhắn ĐTDĐ 1.2.1.Tổng quan bảo mật tin nhắn Qua nhiều năm ứng dụng ĐTDĐ ngày tăng nhanh, đặc biệt, suốt thập kỷ vừa qua Dịch vụ tin nhắn ngắn SMS dịch vụ ĐTDĐ có tính ứng dụng cao đời sống Dịch vụ tin nhắn ngắn SMS đóng vai trò quan trọng nhiều lĩnh vực như: thương mại điện tử, ngân hàng di động, ứng dụng dành cho phủ, thông tin thường ngày Bởi lẽ SMS dịch vụ không dây xuyên quốc gia, tạo điều kiện cho người dùng liên lạc với số điện thoại giới không gặp rắc rối Mục đích SMS phân phối tin nhắn từ điện thoại đến điện thoại khác Nó cung cấp nhiều lợi ích cho sống thường ngày Tuy nhiên, dịch vụ SMS chưa an toàn đảm bảo giữ bí mật thông tin nhạy cảm Nhiều nguy từ dịch vụ SMS phát sinh Do việc ngăn chặn việc nội dung SMS bị chặn bất hợp pháp bị làm gián đoạn việc đảm bảo nguồn gốc tin nhắn hợp pháp đóng vai trò quan trọng Một thách thức quan trọng công nghiệp thông tin di động đảm bảo cho dịch vụ di dộng sử dụng cách không bị lạm dụng Thêm nữa, nội dung SMS không mã hóa suốt trình truyền cho phép nhân viên tổng đài điện thoại đọc thay đổi nội dung Mặt khác, dịch vụ SMS lại thủ tục có sẵn để rà soát cung cấp chế độ bảo mật cho liệu văn truyền Rõ ràng phần ứng dụng SMS cho thiết bị di động thiết kế phát triển mà không tính đến khía cạnh bảo mật SMS Vì thế, tất sở vật chất SMS nên kết hợp với vài kỹ thuật bảo mật để tăng cường tính bảo mật, tính toàn vẹn, xác thực chống chối bỏ tin nhắn trước chúng sử dụng Trao đổi tin nhắn thông thường không đảm bảo tính bảo mật tin nhắn truyền chế độ văn (có thể đọc được) thông qua kênh truyền không an toàn Do tính chất đặc biệt truyền thông di động tính an toàn kênh truyền, vấn đề an ninh an toàn trở thành vấn đề ưu tiên cao Bên cạnh việc cải thiện nâng cao tính bí mật nội dung tin nhắn SMS, cần phải đảm bảo thứ hợp pháp Mặt khác, kênh truyền thông không bảo vệ, thiết bị không dây ngày phổ biến gây nhiều lỗ hổng bảo mật nghiêm trọng Vì vậy, điều quan trọng phải phát triển ứng dụng ĐTDĐ cho đảm bảo danh tính xác bên giao tiếp, cần đảm bảo tính bảo mật nội dung tính toàn vẹn tin nhắn SMS thời gian truyền liệu để tránh mối hiểm họa Mạng GSM cung cấp nhiều dịch vụ bảo mật quan trọng lúc Vì thế, trình truyền nội dung tin nhắn SMS xảy số nguy bảo mật Do đó, nhiều tiêu chuẩn mã hóa nhà cung cấp dịch vụ sử dụng để đảm bảo tính toàn vẹn bảo mật trình truyền nội dung SMS An ninh an toàn ngành viễn thông điều vô quan trọng Hơn nữa, toàn vẹn bảo mật đạt cách mã hóa phương tiện, tính xác thực thực cách cài đặt máy chủ phụ trợ kết nối với trung tâm tin nhắn SMSC Mặc dù mạng GSM áp dụng kỹ thuật bảo mật khác tính mở mạng không dây làm cho thông tin bên giao tiếp dễ bị gián đoạn bị chặn kẻ công Phương tiện truyền tải nội dung tin nhắn SMS không hoàn toàn an toàn dễ bị kẻ công theo dõi gửi thông tin sai lệch, mạng GSM có nhiều điểm yếu bảo mật khác Điều cho phép kẻ công sử dụng công cụ chế để đọc sửa đổi thông tin gửi Hơn nữa, kiểu công man in the middle (MITM) suốt trình xác thực cho phép kẻ công lựa chọn thiết bị di động nạn nhân trạm xác thực tới trạm giả mạo, nơi chuyển tiếp lưu lượng truy cập xác thực tới mạng thực, dẫn đến việc mạo nhận trạm di động nạn nhân tới mạng thực ngược lại Rõ ràng tồn nhiều rủi ro liên quan đến bảo mật suốt thao tác truyền phát SMS 1.2.2 Phân tích lỗ hổng bảo mật Tin nhắn SMS truyền qua mạng di động GSM, GPRS, UMTS, CDMA Ở đây, luận văn nghiên cứu lỗ hổng bảo mật mạng GSM Khi nói bảo mật thông tin, người thường hay nói tới bảo mật mạng, bảo mật ứng dụng, bảo mật web Sở dĩ có quan tâm đến lĩnh vực bảo mật mạng di động số lượng công dựa điểm yếu mạng di động chưa phổ biến khó phát Tuy nhiên với bùng nổ thiết bị điện thoại thông minh, kèm với lỗ hổng bảo mật môi trường di động ngày gia tăng, bảo mật mạng di động trở thành chủ đề nóng Hiện môi trường mạng di động khai thác triệt ứng dụng cung cấp giá trị gia tăng dựa SMS, dịch vụ cung cấp thông tin trực tuyến, chí dịch vụ nhạy cảm an toàn thông tin toán trực tuyến ĐTDĐ Những dịch vụ dựa phương thức truyền dẫn mạng di động không dây cung cấp lỗ hổng bảo mật tầng không dây di động liên quan đến dịch vụ 1.2.2.1 Những lỗ hổng bảo mật mạng GSM Trong việc đảm bảo không tiết lộ liệu, GSM sử dụng thuật toán A5, nhiên người ta chứng minh thuật toán yếu có người phân tích tìm khóa bí mật vài phút Hiện có phiên tốt thuật toán chống đỡ với công hacker ESMEs (External Short Messaging Entities) giao tiếp với SMSC thực thông qua giao thức Short Message Peer to Peer (SMPP) Các giao thức SMPP không mã hóa nội dung SMS làm cho SMS có nguồn gốc thông qua ESMEs dễ bị công phương thức man-in-the-middle Bên cạnh việc mạng GSM sử dụng thuật toán mã hóa yếu, mạng không cung cấp dịch vụ bảo mật end-to-end Điều cho thấy sở hạ tầng mạng GSM tồn số khu vực dễ dàng bị công phương thức man-in-the-middle Các công lại xảy với chế xác thực hoạt động mạng GSM Cơ sở hạ tầng GSM thiếu việc tự xác thực Kết việc mạo danh giao dịch sai thực từ ảnh hưởng đến chế xác thực Mặt khác, mạng GSM bảo mật tính bất khả định có nghĩa bảo mật cách giấu kín thuật toán, cách thi hành, không cho cộng đồng biết chế bảo mật Trong chế bảo mật GSM, thuật toán A3, A5, A8 giấu kín Tuy nhiên, quan điểm an toàn thông tin cho phương thức bảo mật tính bất khả định không an toàn Lý thuật toán cho dù tốt đến đâu mắc lỗi, không công khai để cộng đồng kiểm chứng hoàn toàn bị mắc lỗi nghiêm trọng mà chưa biết Thực tế chứng minh dù nhà sản xuất cố gắng giữ bí mật sau nhiều năm, hacker tìm thông tin đầy đủ thuật toán A3, A5 A8 Hơn nữa, thuật toán A5 dùng để mã hóa đường truyền sóng radio thoại liệu Tuy nhiên có sách mã hóa khác nhau: A5/0 (không mã hóa) hai thuật toán A5/1 A5/2 Sở dĩ có phân loại pháp chế vấn đề xuất thuật toán bảo mật Ba sách mã hóa A5 phân loại sau: - Thuật toán A5/1 sử dụng quốc gia thành viên tổ chức Viễn thông châu Âu CEPT, Mỹ, số nước châu Á - Thuật toán A5/2 sử dụng Úc, châu Á số nước giới thứ Thuật toán A5/2 đời sau, yếu thuật toán A5/1 chủ yếu sử dụng cho mục đích xuất sang nước nằm khối CEPT - Thuật toán A5/0 sử dụng trạm thu phát sóng định đường truyền không mã hóa Điều đáng nói người dùng ĐTDĐ đường truyền gọi có mã hóa hay không Đây tảng cho hình thức công man-in-the-middle để nghe gọi Ngoài thuật toán trên, thuật toán A5/3 thuật toán phát triển để khắc phục điểm yếu A5/1 A5/2 1.2.2.2 Các nguy an toàn * Nguy công ăn cắp, nhân SIM * Nguy công nghe gọi thủ thuật man-in-the-middle * Nguy công nghe thủ thuật giải mã thuật toán A5 * Nguy công giả mạo CALL-ID giả mạo người gửi tin nhắn SMS * Nguy công spam SMS, virus SMS * Nguy hacker sử dụng phần mềm gián điệp ĐTDĐ 1.3 Giải pháp kỹ thuật để bảo mật tin nhắn Trong luận văn này, tập trung nghiên cứu hướng giải pháp kỹ thuật bảo mật tin nhắn Đầu tiên giải pháp cung cấp dịch vụ bảo mật tin nhắn SMS peer-to-peer Thứ hai, giải pháp cung cấp dịch vụ an ninh là: bảo mật, tính toàn vẹn, xác thực chống chối bỏ Thứ ba, số giải pháp phụ thuộc vào nhà cung cấp dịch vụ máy chủ điều hành mạng ĐTDĐ Năm 2003, Marko Smile đề xuất phương pháp mã hóa dựa lý thuyết nhóm để bảo mật tin nhắn SMS Họ sử dụng khóa cho mã hóa giải mã Vì xem chúng nhóm phương pháp mã hóa đối xứng Giải pháp họ cung cấp giải pháp bảo mật peer-to-peer không cung cấp xác thực người dùng tính toàn vẹn tin nhắn Năm 2004, Rathshinanga et al lại đề xuất giao thức để giữ an toàn thông tin liên lạc tin nhắn SMS khách hàng máy chủ sử dụng gói WMA Họ sử dụng hệ mật mã bất đối xứng RSA hệ mật mã đối xứng AES/CTR chiến lược xác thực mật để đảm bảo tính bảo mật tính toàn vẹn thông tin liên lạc tin nhắn SMS Giải pháp họ thiết kế để đảm bảo giao tiếp người sử dụng máy chủ Nếu máy chủ bị hacker công, toàn giao thức thất bại hacker ngụy trang bên hợp pháp cách sử dụng thông tin bị đánh cắp Vì vậy, giải pháp an toàn tuyệt đối Hơn nữa, cung cấp bảo mật tính toàn vẹn, giải pháp cung cấp dịch vụ bảo vệ chống chối bỏ Croft Olivier, 2005 sử dụng pad lần sử dụng thông tin chia sẻ đối tượng giao tiếp ngang hàng máy chủ GSM Chìa khóa tạo từ thông tin chia sẻ sử dụng kỹ thuật băm, đủ ngẫu nhiên để sử dụng thời gian xấp xỉ pad Các khóa phải cho tin nhắn SMS, giả định máy chủ GSM thay đổi tạm thời số nhận dạng thuê bao điện thoại (TMSI) cho tin nhắn SMS Các SMS giải mã trung tâm chuyển mạch di động (MSC) Giải pháp phụ thuộc vào nhà điều hành mạng di động Hơn không cung cấp mã hóa peer-to-peer tin nhắn giải mã mạng ĐTDĐ mã hóa lần nữa, sau gửi đến người nhận Nếu kẻ công tăng quyền truy nhập vào mạng nhà điều hành ĐTDĐ, tính bảo mật không tin nhắn SMS định dạng văn đơn giản Năm 2008, Lisonek Dranhansky sử dụng mật mã bất đối xứng (RSA) để cung cấp tính bảo mật, tính toàn vẹn, tính xác thực chống chối bỏ Họ giả định quan chứng nhận kiểm tra chứng chỉ, người sử dụng phải tải chứng từ máy chủ quan chứng nhận thông qua Internet Nói chung giải pháp cung cấp an ninh SMS peerto-peer đảm bảo tính bảo mật, tính toàn vẹn, xác thực dịch vụ an ninh chống chối bỏ Tuy nhiên, phụ thuộc vào quan chứng nhận làm phức tạp giải pháp thực cho cá nhân Anuer et al (2008) đề xuất giải pháp mã hóa tin nhắn SMS/MMS Họ sử dụng hai thuật toán mật mã đối xứng (AES) thuật toán mã hóa không đối xứng (RSA) Đối với hệ mật mã bất đối xứng, người dùng phải chấp nhận chứng số với máy chủ quan chứng nhận trước bắt đầu sử dụng giải pháp Sau máy chủ cung cấp chứng chỉ, người dùng phải duyệt khóa công khai mã hóa thư mục máy chủ để tải khóa công khai Thư mục cung cấp thông tin tất chứng người dùng tình trạng Tuy nhiên, giải pháp họ cung cấp tính bảo mật, tính toàn vẹn, xác thực chống chối bỏ phụ thuộc vào máy chủ xác nhận chứng để tạo mật mã xác nhận người dùng Hình 1.11 Mã hóa đối xứng với sở vật chất không máy chủ Hình 1.12 Mã hóa bất đối xứng với sở vật chất có máy chủ Toorani Shirazi (2008) giới thiệu giao thức an toàn lớp ứng dụng gọi SSMS Giao thức sử dụng để nhúng thuộc tính bảo mật mong muốn vào tin nhắn SMS Nó cung cấp giải pháp khóa công khai dựa đường cong Elliptic (ECC) để sử dụng khóa công khai cho việc tạo khóa bí mật hệ mật mã đối xứng Tuy nhiên dựa vào máy chủ bên thứ ba có nghĩa KGS, (Key Generating Server), máy chủ OCSP (Online Certificate Status Protocol) phần giải pháp Zhao et al (2008) đề xuất giải pháp cho kênh bảo mật tin nhắn sử dụng mật mã dựa nhận dạng Giải pháp cung cấp tính bảo mật peer-to-peer từ nhà cung cấp dịch vụ cho người sử dụng ĐTDĐ, người sử dụng ĐTDĐ với Mật mã dựa nhận dạng quy định hệ mật mã khóa công khai khóa bí mật dựa nhận dạng người dùng Giải pháp có khóa công khai người dùng chức tính toán dễ dàng đặc điểm nhận dạng người dùng, khóa riêng người dùng tính toán quan đáng tin cậy, gọi sinh khóa riêng (PKG) Mật mã dựa nhận dạng cần giai đoạn thiết lập thông số hệ thống phân phối tới người sử dụng Các thông số bao gồm khóa công khai hệ thống, khóa chủ, khóa riêng người dùng, thuật toán sử dụng để mã hóa giải mã hàm băm Giải pháp mang lại tính toàn vẹn, bảo mật xác thực tin nhắn SMS cách gắn tin nhắn với người cụ thể Tuy nhiên không mang lại tính chống chối bỏ nhà cung cấp dịch vụ cung cấp khóa riêng để người sử dụng, người sử dụng đơn giản phủ nhận gửi tin nhắn ký với khóa riêng Hơn nữa, giải pháp phụ thuộc vào nhà điều hành mạng di động, điều gây khó khăn người sử dụng Wu Tan (2009b) đề xuất giao thức truyền thông bảo mật cho tin nhắn SMS Họ sử dụng thuật toán không đối xứng RSA-1024 AES thuật toán đối xứng 3DES để cung cấp kênh an toàn peer-to-peer máy chủ thiết bị đầu cuối di động Họ sử dụng thuật toán MD5 SHA1 để kiểm tra tính toàn vẹn tin nhắn Do sử dụng mật mã đối xứng thuật toán hàm băm, họ đảm bảo tính bảo mật, tính toàn vẹn chống chối bỏ tin nhắn SMS Tuy nhiên, giải pháp giải pháp dựa máy chủ, thực nhà điều hành mạng di động Theo số tài liệu mà nghiên cứu số người sử dụng mật mã đối xứng giải pháp cung cấp tính bảo mật cho tin nhắn SMS Có nhiều điều tranh cãi mật mã đối xứng cung cấp xác thực người gửi, chống chối bỏ tính toàn vẹn tin nhắn Một số nhà nghiên cứu khác đề xuất sử dụng mật mã bất đối xứng để cung cấp tính bảo mật, xác thực, tính toàn vẹn chống chối bỏ dịch vụ tin nhắn SMS Tuy nhiên, giải pháp tốt mật mã bất đối xứng đòi hỏi nhiều tính toán lưu trữ nguồn để tính toán việc lưu trữ khóa công cộng tư nhân CHƯƠNG 2: ỨNG DỤNG MÃ HÓA TRONG BẢO MẬT TIN NHẮN NGẮN SMS Chương luận văn sâu vào tìm hiểu số thuật toán mã hóa sử dụng cho việc bảo mật tin nhắn áp dụng 2.1 Ứng dụng thuật toán AES bảo mật tin nhắn 2.1.1 Thuật toán AES 2.1.1.1 Nguồn gốc thuật toán AES 2.1.1.2 Yêu cầu AES 2.1.1.3 Tiêu chuẩn triển khai AES 2.1.1.4 Chuẩn mã nâng cao AES – Rijndael Cuối Rijndael chọn chuẩn mã nâng cao Nó thiết kế Rijmen – Daemen Bỉ, có đặc trưng sau: - Có 128/192/256 bit khoá 128 bit khối liệu - Lặp khác với Fiestel - Chia liệu thành nhóm – byte - Thao tác khối vòng - Thiết kế để: + Chống lại công biết + Tốc độ nhanh nén mã nhiều CPU + Đơn giản thiết kế + Xử lý khối liệu 128 bit nhóm byte: 128 = 4*4*8 bit Mỗi nhóm nằm hàng Ma trận hàng, cột với phần tử byte coi trạng thái xử lý qua vòng mã hoá giải mã + Khoá mở rộng thành mảng gồm 44 từ 32 bit w[i] + Có tùy chọn 9/11/13 vòng, vòng bao gồm  Phép byte (dùng S box cho byte)  Dịch hàng (hoán vị byte nhóm/cột)  Trộn cột (sử dụng nhân ma trận cột)  Cộng khoá vòng (XOR trạng thái liệu với khoá vòng)  Mọi phép toán thực với XOR bảng tra, nên nhanh hiệu 11 iii) Nếu chọn soạn thảo tin nhắn mới, người dùng nhập vào tin nhắn nhấn nút mã hóa sau nhập tên người nhận Người dùng phải nhập khóa mật mã trước tin nhắn gửi Chìa khóa mật mã tự động tạo người dùng không nhập khóa iv) Nếu người dùng chọn trả lời tin nhắn tại, người phải giải mã tin nhắn, sau nhập tin nhắn trả lời Hệ thống yêu cầu người dùng nhập chìa khóa mật mã trước tin nhắn gửi v) Khi chìa khóa mật mã nhập vào, tin nhắn gửi thành công thể dạng mã hóa phần chủ đề 2.1.2.2 Mục tiêu ứng dụng Các mục tiêu ứng dụng là: - Phát triển ứng dụng tin nhắn SMS an toàn - Duy trì thông tin mã hóa tin nhắn người nhận - Bảo vệ chống lại lạm dụng thông tin tin nhắn - Bảo mật cao cải thiện an ninh 2.1.2.3 Giả mã ứng dụng Android 2.2 Ứng dụng mật mã dựa định danh bảo mật tin nhắn 2.2.1 Mật mã dựa định danh 2.2.1.1 Khái quát Mã hoá dựa định danh (Indetity-based encryption IBE) 2.2.1.2 Hệ thống khóa công khai truyền thống 2.2.1.3 Lược đồ mã hóa dựa định danh IBE lần Adi Shamir nói tới vào năm 1984, ông mô tả cách khái lược tính chất cách thức sử dụng hệ thống Mặc dù ông chưa thực công nghệ an toàn khả thi hoạt động mô tả, song ưu khả sử dụng IBE so với công nghệ khác ông mô tả sau: 12 Hình 2.8 Mã hoá hệ thống IBE Một hệ thống IBE có điểm tương tự với hệ thống khoá công khai truyền thống, có nhiều điểm khác biệt Trong khoá công khai truyền thống chứa tất tham số cần thiết để sử dụng khoá, để sử dụng hệ thống IBE, người sử dụng thông thường cần nhận tập tham số công khai từ bên thứ ba tin cậy Cùng với tham số này, người sử dụng tính khoá công khai IBE người sử dụng khác dùng để mã hoá thông tin gửi tới người (Hình 2.8) Người nhận thông tin mã hoá IBE sau xác thực theo cách với tạo khoá bí mật (PKG- private key generator) Một bên thứ ba tin cậy tính khoá bí mật IBE tương ứng với khoá công khai IBE cụ thể Bộ tạo khoá bí mật thường sử dụng thông tin bí mật, gọi bí mật chủ (master secret) cộng với định danh người sử dụng để tính khoá bí mật Sau khoá bí mật tính ra, phân phối cách an toàn tới người sử dụng có thẩm quyền (Hình 2.9) Hình 2.9 Giải mã hệ thống IBE 13 2.2.1.4 Các thuật toán sử dụng IBE Bảng 2.2 Bốn thuật toán tạo nên lược đồ IBE 2.2.1.5 Các mục tiêu an toàn Có mục tiêu mà giải pháp an toàn thông tin đáp ứng: cung cấp tính bí mật, tính toàn vẹn, tính sẵn sàng, tính xác thực tính không chối bỏ IBE cung cấp giải pháp dễ thực thi mà đảm bảo tính bí mật liệu Nó không bảo đảm tính toàn vẹn, tính sẵn sàng, tính xác thực không chối bỏ Chúng cung cấp dễ chữ ký số nhờ khoá tạo quản lý hệ thống khoá công khai truyền thống Các ưu mà IBE cung cấp làm cho giải pháp tốt cho số trường hợp ứng dụng Một giải pháp pha trộn sử dụng IBE cho mã hoá hệ thống khoá công khai truyền thống để cung cấp chữ ký số giải pháp kết hợp đặc tính tốt công nghệ 2.2.2 Ứng dụng mã hóa dựa định danh vào bảo mật tin nhắn 2.2.2.1 Lý chọn mã hóa dựa định danh Các yêu cầu tài nguyên tính toán so sánh với PKC cho khóa kích cỡ Tuy nhiên yêu cầu khóa ngắn để đạt mức bảo mật so sánh với kích cỡ khóa hệ thống mật mã sử dụng khóa công khai Hơn nữa, không yêu cầu luân chuyển lưu trữ khóa công khai SP cần trì n khóa có n người dùng Mỗi người dùng không cần trì khóa cho SP, không cần trì thứ khác giao tiếp user-to-user Một nhược điểm mã hóa dựa định danh giai đoạn nghiên cứu, nhiều khách hàng thương mại Từ phân tích trên, ta thấy ứng dụng cho điện thoại di động sử dụng mật mã khóa đối xứng mật mã khóa công khai không phù hợp yêu cầu nhớ lớn, đặc biệt giao tiếp user-touser 2.2.2.2 Nhận dạng 14 Ưu điểm mã hóa dựa định danh không cần phổ biến khóa công khai trước giao tiếp, không cần phải lưu trữ khóa Khóa công khai nên để ẩn với tin nhắn Trong GSM/UMTS, danh tính người dùng thuê bao di động quốc tế (IMSI) Lưu ý số IMSI số thuê bao (MSISDN) Các số MSISDN số điện thoại đầy đủ đầu số quốc tế kết hợp với số IMSI sở liệu sử dụng Số MSISDN thông tin công khai số IMSI dành cho định danh nội hệ thống định tuyến kết Chúng chọn MSISDN danh tính sử dụng mã hóa dựa định danh cho người sử dụng điện thoại di động, số người nhận người gửi biết gửi tin nhắn cho người nhận, số người gửi người nhận biết nhận tin nhắn đến Trong mạng di động, nhà cung cấp dịch vụ có số ngắn độc mà công khai cho người dùng điện thoại Số sử dụng cho người dùng truy nhập gửi tin nhắn SMS MMS Chúng chọn số danh tính sử dụng mã hóa dựa định danh 2.2.2.3 Cài đặt hệ thống Mã hóa dựa định danh cần có giai đoạn thiết lập, thông số hệ thống phân phối cho người sử dụng Những thông số bao gồm khóa công khai, khóa chủ, khóa bí mật người dùng thuật toán sử dụng cho hàm băm, mã hóa giải mã Tôi sử dụng phương pháp mã hóa để cung cấp tính toàn vẹn, tính bảo mật, tính xác thực chống chối bỏ cho dịch vụ tin nhắn ngắn SMS Hệ mật dựa làm việc đơn giản hóa để dành cho yêu cầu điện thoại di động Các chức nhà cung cấp dịch vụ người quản trị khóa Tại giai đoạn cài đặt hệ thống, SP tạo khóa công khai hệ thống Ppub sP nơi s số ngẫu nhiên Z*q P điểm tùy ý E/Fp trật tự q Nó chọn hàm băm mật mã G : 0, 1  F để ánh xạ chuỗi * n danh tính biến đổi tới điểm E/Fp chọn hàm băm H : FP  0, 1 H : F p  Z q cho khóa có chiều dài theo quy định H : 0,1  0,1  Fq , H : Fq  G2  0,1 , H : 0,1  0,1 n Khóa n chủ n ban đầu params  p, n, P, Ppub , G, H , H s  Z q n thông m số hệ thống H , H H  xác định rõ tính toán nhà 15 cung cấp dịch vụ Để đưa chuỗi ID  0,1 nút, phương pháp mã hóa xây dựng * khóa bí mật ban đầu dID dID = sQID QID điểm E/Fp ánh xạ tập ánh xạ E/Fp ánh xạ từ ID Mỗi người dùng nhận thông số cua hệ thống khóa bí mật từ nhà cung cấp dịch vụ họ đăng ký dịch vụ Mỗi dịch vụ với số ngắn độc coi người dùng nhận khóa bí mật độc Để ngăn chặn điện thoại bị sử dụng cách gian lận, người dùng điện thoại phải chứng minh sở hữu hợp pháp số điện thoại họ sử dụng Để đảm bảo tính bí mật end-to-end, khóa bí mật cần phân phối kênh khác SMS Một add-on Message Manager Tookit, bao gồm ứng dụng mã hóa giải mã, thông số hệ thống khóa bí mật thiết lập điện thoại di động người dùng đăng ký dịch vụ Ngày nay, điện thoại di động hầu hết hỗ trợ người dùng ứng dụng Java Micro Edition (J2ME) tảng Java cung cấp môi trường tiêu chuẩn cho phát triển ứng dụng phù hợp để chạy thiết bị di động J2ME cung cấp gói tùy chọn gọi Wireless Messaging API (WMA) cho phép ứng dụng điện thoại di động gửi nhận tin nhắn không dây Nó cung cấp tin nhắn nhị phân, nhiên không cung cấp ứng dụng mã hóa/giải mã tin nhắn Chúng đề nghị sử dụng J2ME WMA với tăng cường an ninh cho chương trình ĐTDĐ Về phía nhà cung cấp dịch vụ, ứng dụng tương ứng chạy máy chủ Các ứng dụng mã hóa tất tin nhắn trước gửi đến SMSC giải mã tin nhắn đến từ SMSC 2.2.2.4 Một đề án để bảo mật tin nhắn SMS Sau Message Management Toolkit với thông số hệ thống thiết lập thiết bị di động, giao tiếp an toàn với SP, thiết bị di động khác từ SP Message Management Toolkit mã hóa tin nhắn với thông số hệ thống cần thiết Một tin nhắn SMS xác định định danh người gửi – mã số MSISDN số ngắn tiêu đề thông báo Một thiết bị đích định danh ID (MSISDN số ngắn) Vì chìa khóa mật mã sử dụng mã hóa dựa định danh xác định cách sử dụng hai danh tính Khi người dùng A gửi tin nhắn SMS cho người dùng B (hoặc B SP), mã hóa xác thực tin nhắn sau: 16 1) Đầu tiên, tạo khóa chia sẻ ẩn với B, tương tác với B:   k  H g r đó: g  êd A , QB , r  H Q A , Q B , Q A  G ( ID A ), QB  G ( IDB ), d A  sQ A IDB MSISDN số ngắn người nhận mà người nhận dự định để gửi tin nhắn 2) Tải trọng mã hóa tin nhắn M: C  M  k Tin nhắn mã hóa C đặt trường tải trọng Gói mã hóa giao cho nhà điều hành mạng Sau truyền qua mạng Internet mạng di động, phía người nhận B, tin nhắn giải mã sau: Bước 1: Đầu tiên, B tạo khóa chia sẻ ẩn với A, tương tác r với A: k  H ( g ) đó: g  êQ A , d B , r  H êQ A , QB , Q A  G ( ID A ), QB  G ( IDB ), d B  sQ B Chú ý IDA MSISDN người gửi có nguồn gốc từ tiêu đề gói tin êQ A , d B   êd A , QB  Bước 2: B giải mã tải trọng tin nhắn C: M '  C  k Tin nhắn giải mã M’ tương đương với tin nhắn gốc M Quá trình mã hóa giải mã cung cấp tính xác thực, tin nhắn mã hóa phía người gửi với khóa bí mật họ khóa công khai người nhận Phần mào đầu tin nhắn bảo vệ chế bảo mật truy cập mạng di động Công nghệ bảo mật truy cập (thực thiết kế) đảm bảo thông tin truyền từ MSC tới trạm gốc, từ trạm gốc tới thiết bị di động mã hóa bị giả mạo Cũng 3G, thiết bị di động trạm gốc xác thực hai cách, không trạm gốc giả mạo đóng vai trạm gốc xác thực Trên sở công nghệ bảo mật truy cập, ứng dụng đưa thêm cách để bảo mật end-to-end từ SP đến thiết bị đầu cuối 2.2.2.5 Một đề án cải tiến để bảo mật tin nhắn SMS Đề án dựa nhiều vào bảo mật truy cập mạng di động xác minh tính toàn vẹn tin nhắn Để cải thiện mức độ bảo mật nó, cần không gian gói tin để chứa chữ ký số thông số thuật toán Khi chữ ký số đánh dấu với khóa bí mật người gửi sử dụng cách rộng rãi Internet để bảo vệ tính toàn vẹn xác thực liệu, email URLs không dễ để sử dụng tin nhắn SMS Lý gói tin SMS thường ngắn (140 bytes) chế giống gói tin IP Giao diện SMS hầu hết điện thoại phân mảnh tương tự lớp ứng dụng tin nhắn dài để gửi gói tin SMS Ví dụ WMA tự cung cấp phân mảnh tập 17 hợp lại tin nhắn Tất mảnh phân phối tới địa cá nhận xác định Tại phía người trả lời, tự động tập hợp lại phân mảnh thành tin nhắn đầy đủ trước trả cho ứng dụng Một giải pháp xa nhu cầu không gian dành cho chữ ký số thông số bảo mật lớn Các thông số bảo mật chứa giá trị có ích Sequence Number Timestamp Đầu tiên, thông số bảo mật nối vào tin nhắn toàn tin nhắn xử lý Sau đó, tin nhắn mã hóa, chữ ký số tính toán nối vào tin nhắn sau Khi người dùng A gửi tin nhắn tới người dùng B (A B SP), mã hóa xác thực tin nhắn sau:   r Bước 1: Đầu tiên tạo khóa chia sẻ ẩn với B, không tương tác với B: k  H g đó: g  êd A , QB , r  H Q A , Q B , Q A  G ( ID A ), QB  G ( IDB ), d A  sQ A IDB MSISDN số ngắn người nhận mà người gửi định gửi tin nhắn đến Bước 2: A mã hóa tin nhắn M (giảm tải trọng), văn mã hóa đầu C  EH ( k ) ( M ) Ek chức hệ mật mã đối xứng an toàn Bước 3: A đánh dấu tin nhắn với khóa bí mật khóa công khai người nhận:   H (C, k ), S  H ( , g ) Tin nhắn mã hóa C chữ ký số S đặt trường tải trọng gói tin SMS tiêu chuẩn, M ' C , S Tại phía người nhận B, tin nhắn xác minh giải mã sau: r Bước 1: Đầu tiên, B tạo khóa chia sẻ ẩn với A, không tương tác với A: k  H ( g ) g  êQ A , d B , r  H êQ A , QB , Q A  G ( ID A ), QB  G ( IDB ), d B  sQ B Chú ý IDA MSISDN người gửi có nguồn gốc từ tiêu đề gói tin êQ A , d B   êd A , Q B  Bước 2: Để tin nhắn nhận M ' C , S định dạng định nghĩa với chữ ký số S văn mã hóa C, chữ ký số xác minh:  '  H (C, k ), S '  H ( ' , g ) Nếu S phù hợp với kết tính toán S’, tính toàn vẹn tính xác thực xác nhận, tin nhắn xử lý tốt Nếu không, tin nhắn bị loại bỏ 18 Bước 3: Để nhận tin nhắn, B giải mã với khóa chia sẻ: M ' '  DH ( k ) (C ) , Dk chức hệ mật mã bất đối xứng an toàn M’’ nên tương tự tin nhắn gốc M Đề án với độ an toàn tiến tăng độ dài tin nhắn việc bổ sung chữ ký số thông số bảo mật (M’ so sánh với M) Và số lượng gói tin tương ứng với tin nhắn gốc tăng thêm Sự trễ xảy tất phân mảnh phải chờ cho chữ ký số thông só bảo mật đến trước tập hợp khôi phục lại tin nhắn gốc Vì tốt thuật toán mã hóa vừa nén tin nhắn mã hóa không tăng chiều dài cuối 2.3.2.6 Sử dụng hệ thống Message Management Toolkit không thay đổi giao diện nhắn tin truyền thống điện thoại di động, xây dựng trang đầu chúng Nó giống giao diện quản lý tin nhắn mới, người dùng nhận gửi tất tin nhắn Người dùng chọn tùy chọn để đọc gửi tin nhắn tin nhắn mã hóa tin nhắn văn đơn giản Một tin nhắn mã hóa có nhúng cờ đặc biệt, để thông báo cho ứng dụng không ứng dụng tự động xử lý Khóa bí mật tương ứng với MSISDN điện thoại di động tương ứng với người dùng Để ràng buộc khóa bí mật với người dùng, ứng dụng bảo vệ password người dùng đặt sử dụng lần đầu J2ME Mobile Information Device Profile (MIDP) cung cấp tính lưu trữ liên tục (Persistent Storage) để đảm bảo ghi ứng dụng Java tạo nên truy nhập Độ an toàn password tính bảo vệ Trong tất giao tiếp, nhà điều hành mạng có quyền truy nhập văn mã hóa Bất kỳ chặn đường truyền khai thác mạng nhìn thấy tin nhắn mã hóa có văn rõ ràng văn gốc 2.3 Ứng dụng mật mã đường cong Elliptic bảo mật tin nhắn 2.3.1 Mật mã đường cong Elliptic 2.3.2 Ứng dụng hệ mật đường cong Elliptic bảo mật tin nhắn i) Hoạt động hệ thống bảo mật tin nhắn sử dụng mật mã đường cong Elliptic Hệ thống sử dụng khái niệm mật mã đường cong Elliptic để mã hóa tin nhắn gửi kênh chung Người gửi viết tin nhắn nhập vào số điện thoại người nhận Khi người gửi gửi tin nhắn, thật toán kích hoạt hai thiết bị di 19 động Các khóa tạo chia sẻ thiết bị mã hóa diễn kết thúc việc gửi Sau mã hóa, tin nhắn gửi tới người nhận người giải mã cách sử dụng khóa để đọc tin nhắn Các phương pháp mã hóa giải mã ECC thiết kế để mã hóa giải mã điểm đường cong toàn tin nhắn Trong trình mã hóa, ký tự tin nhắn chuyển đổi thành byte sau byte thành điểm có dạng (x, y) sau điểm phải mã hóa cách ánh xạ điểm với điểm đường cong Elliptic Sau toàn điểm mã hóa khôi phục lại thành byte thành chuỗi ký tự SMS Khi tin nhắn truyền đến người nhận, suốt trình giải mã, chuỗi ký tự khôi phục thành byte; byte giải mã thành điểm sử dụng kỹ thuật ánh xạ sau điểm thành byte cuối thành ký tự tin nhắn sau văn giải mã người nhận xem tin nhắn 20 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH BẢO MẬT TIN NHẮN TRÊN ĐIỆN THOẠI DI ĐỘNG Trong chương này, luận văn trình bày cách thức để xây dựng chương trình bảo mật tin nhắn ĐTDĐ ngôn ngữ Java với cộng nghệ J2ME kết hợp với sử dụng thư viện mã hóa Bouncy Castle để tạo chương trình mã hóa 3.1 Xây dựng chương trình bảo mật tin nhắn điện thoại di động 3.1.1 Môi trường để lập trình 3.1.1.1 Java Development Kit (JDK) 3.1.1.2 Wireless Toolkit (WTK) 3.1.1.3 Bouncy Castle 3.1.1.4 ProGuard 3.1.2 Sử dụng thư viện Bouncy Castle để mã hóa ứng dụng di động 3.1.2.1 Khái quát Bouncy Castle 3.1.2.2 Cài đặt Bouncy Castle 3.1.3 Mã hóa chuỗi văn chương trình SecureSMS Dưới mô tả bước mã mã hóa chuỗi văn chương trình bảo mật tin nhắn điện thoại di động SecureSMS: 3.1.3.1 Các bước mã hóa chuỗi văn bản: Bước 1: Chọn công cụ mã hóa cấp thể cho công cụ mã hóa Bước 2: Lưu trữ văn mã hóa mảng byte Bước 3: Khởi tạo thuật toán với khóa Bước 4: Gọi công cụ mã hóa để mã hóa liệu 3.1.3.2 Giải mã liệu: Các bước để giải mã liệu: Bước 1: Lưu trữ văn cần giải mã mảng byte Bước 2: Khởi tạo thuật toán với khóa Bước 3: Gọi cho công cụ để giải mã liệu 21 3.1.4 Tạo ứng dụng mã hóa tin nhắn điện thoại - SecureSMS Dưới bước mà luận văn làm theo để tạo MIDlet WTK: Bước 1: Tạo dự án Bước 2: Thêm vào ứng dụng thư viện Bouncy Castle Bước 3: Viết mã nguồn cho chương trình: Bước 4: Biên dịch chương trình Bước 5: Thực thi chương trình SecureSMS: Kết chương trình SecureSMS cho hình sau: Hình 3.11: Thực thi trình SecureSMS công cụ WirelessToolkit 3.1.5 Obfuscation 3.1.5.1 Khái quát obfuscation 3.1.5.2 Giải thích obfuscation 3.1.5.3 Cài đặt ProGuard 3.1.5.4 Đầu Obfuscator 3.2 Thử nghiệm demo chương trình bảo mật tin nhắn ĐTDĐ 22 3.2.1 Thử nghiệm chương trình máy tính WTK 3.2.1.1 Mở dự án SecureSMS Khởi động chương trình Wireless Toolkit cửa sổ chương trình, chọn Open Project sau chọn dự án SecureSMS để mở chương trình mã hóa tin nhắn điện thoại di động Hình 3.16: Mở dự án SecureSMS 3.2.1.2 Thi hành ứng dụng SecureSMS Khi mở dự án SecureSMS, ta kích nút Run chương trình để thi hành ứng dụng SecureSMS Nếu chương trình mà lập trình lỗi, điện thoại mô với tính lập trình Lúc này, cần nhấn phím Launch điện thoại mô để thực thi ứng dụng SecureSMS Hình 3.18: Thi hành ứng dụng SecureSMS công cụ Wireless Toolkit 3.2.1.3 Đăng nhập chương trình SecureSMS Tại đây, nhập tên tài khoản “huong” mật “1” sau nhấn Login để đăng nhập ứng dụng Nếu đăng nhập thành công, chương trình SecureSMS mở với nội 23 dung văn khởi tạo dòng chữ “Chuong trinh bao mat tin nhan_DAO ANH HUONG” Tại người dùng sửa đổi nội dung theo ý muốn Hình 3.19: Đăng nhập vào chương trình SecureSMS Hình 3.20: Chương trình SecureSMS 3.2.1.4 Các chức chương trình SecureSMS Để thực chức chương trình, cần nhấn phím “Menu” điện thoại chọn chức muốn sử dụng Giả sử, muốn mã hóa đoạn văn bản, cần soạn nội dung văn muốn mã hóa chọn chức “Ma hoa” “Menu” Hình 3.21: Các chức chương trình SecureSMS Hình 3.22: Mã hóa văn 24 Ngoài ra, chương trình SecureSMS vài chức khác như: Giải mã, xóa hình, copy, paste chức trợ giúp 3.2.2 Thử nghiệm chương trình điện thoại di động Sau chương trình thử nghiệm công cụ Wireless Toolkit thành công Sử dụng chức đóng gói obfuscation công cụ để đóng gói chương trình SecureSMS thành tệp tin SecureSMS.jar Sao chép tệp tin vào máy điện thoại di động cài đặt phần mềm bình thường 25 KẾT LUẬN Trong phát triển mạnh mẽ công nghệ thông tin, với nhu cầu cấp thiết việc bảo vệ an ninh thông tin nói chung bảo vệ thông tin cá nhân nói riêng, việc xây dựng ứng dụng để bảo mật tin nhắn điện thoại di động vô quan trọng Trong phạm vi nghiên cứu, luận văn giải yêu cầu đặt “Nghiên cứu phương pháp bảo mật tin nhắn điện thoại di động”: - Nghiên cứu lĩnh vực bảo mật tin nhắn ĐTDĐ với lỗ hổng bảo mật giải pháp áp dụng để bảo mật tin nhắn; - Nghiên cứu phương pháp ứng dụng mã hóa để bảo mật tin nhắn; - Xây dựng chương trình demo bảo mật tin nhắn ĐTDĐ Tuy nhiên, thời gian nghiên cứu lực thân có hạn, tác giả xây dựng chương trình demo bảo mật tin nhắn ĐTDĐ với chức chương trình chạy hệ điều hành Symbian, chưa chạy hệ điều hành Android hay iOS… * Định hướng nghiên cứu phát triển tiếp theo: Trong thời gian tới, tác giả tìm hiểu sâu thêm kỹ thuật, giải pháp bảo mật tin nhắn điện thoại di động bảo mật thông tin điện thoại di động là: danh bạ, tài liệu cá nhân, tranh ảnh… Bên cạnh đó, tác giả nghiên cứu thêm để xây dựng phần mềm bảo mật thông tin điện thoại di động hoàn chỉnh, hiệu chạy nhiều hệ điều hành khác

Ngày đăng: 05/11/2016, 14:36

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan