Giải pháp bảo mật tin nhắn SMS

14 593 0
Giải pháp bảo mật tin nhắn SMS

Đ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

giải pháp bảo mật tin nhắn SMS

MÃ HOÁ TIN NHẮN SMS SỬ DỤNG THUẬT TOÁN AES TRÊN MÔI TRƯỜNG ANDROID TỔNG QUAN Giải pháp mã hoá giải pháp quan trọng để đảm bảo tính bí mật liệu truyền mạng Có nhiều thuật toán mã khác AES, DES, RC4 … sử dụng để mã hoá liệu truyền mạng Tuy nhiên thuật toán thuật toán AES sử dụng nhiều Chúng ta phát triển ứng dụng Android cho phép người dung mã hoá tin nhắn (messege) trước truyền mạng Chúng ta sử dụng thuật toán AES cho việc mã hoá giải mã tin nhắn chúng truyền mạng Ứng dụng chạy thiết bị sử dụng hệ điều hành Android Ứng dụng đảm bảo an toàn cho tin nhắn truyền mạng, với tốc độ mã nhanh độ an toàn cao Thuật toán mã đủ mạnh để gây khó khăn cho hacker họ muốn khôi phục lại tin nhắn mã hoá Tin nhắn mã hoá thuật toán mã AES cho phép chống lại công dạng BruteForce dạng công khác I GIỚI THIỆU Ứng dụng phát triển nhằm đảm bảo an toàn cho tin nhắn (SMS) truyền theo phương thức điểm – điểm (end to end) Thuật toán sử dụng thuật toán mã khối AES Ứng dụng phát triển cho môi trường Android Bài báo sâu phân tích cách thức làm việc SMS, thuật toán mã khối AES cách sử dụng thuật toán mã vào việc phát triển ứng dụng để mã hoá tin nhắn SMS nhằm đảm bảo an toàn cho tin nhắn SMS truyền mạng 1.1 Sự cần thiết phải đảm bảo an toàn cho liệu truyền mạng công cộng An toàn thong tin có nghĩa phải bảo vệ thông tin hệ thống thong tin khỏi truy cập trái phép, sử dụng, tiết lộ thông tin, làm gián đoạn thông tin, sửa đổi thông tin, kiểm tra thông tin cách bất hợp pháp, ghi âm lại thông tin truyền truyền cách bất hợp pháp phá huỷ thông tin Đảm bảo tính riêng tư tương tác cá nhân mong muốn tất người dùng mạng Mã hoá giải pháp để đảm bảo tính riêng tư cho người dùng Nó sử dụng để đảm bảo số mục đích sau: [5] tin nhắn SMS sử dụng rộng rãi công cụ kinh doanh: đảm bảo an toàn cho tin nhắn trở thành mối quan tâm lớn công ty khách hành họ Vị nhu cầu mã hoá tin nhắn SMS để đảm bảo an toàn cho giao dịch mạng vô cần thiết 1.2 Khảo sát gần xu hướng đảm bảo an ninh cho thiết bị di động đẩy mạnh doanh nghiệp cung cấp dịch vụ di động Trong báo cáo IDC năm 2010 lần doanh số bán điện thoại thông minh vượt qua doanh số bán máy tính cá nhân Đứng trước xu tổ chức gia tăng việc áp dụng sách BYOD (bring - your -own device) cho thiết bị Theo báo cáo hãng nghiên cứu J.Gold Associetes khoảng 25% dến 35% doanh nghiệp áp dụng sách BYOD, họ hy vọng việc áp dụng sách tăng lên thành 50% hai năm tới Điều mang đến lợi ích lớn việc phát triển kinh doanh doanh nghiệp Tuy nhiên lợi cạnh tranh lợi ích mạng di động mang lại biến điện thoại thông minh máy tính bảng không bảo vệ đầy đủ để chống lại nguy an ninh đe doạ đến vấn đề bảo mật cho thiết bị di động Trong thị trường di động tiếp tục phát triển cách nhanh chóng, tổ chức CNTT xác định vấn đề an inh mối quan tâm lớn cảu họ việc mở rộng tính môi trường di động vị Các kỹ thuật mã hoá khác sử dụng Mã hoá quân đội quan phủ sử dụng từ lâu để đảm bảo an toàn cho thông tin liên lạc Hiện mã hoá sử dụng việc bảo thông tin hệ thống thông tin dân Ví dụ, Trong báo cáo Viện an toàn máy tính năm 2007, 71% công ty khảo sát sử dụng phương pháp mã hoá để bảo mật liệu họ truyền mạng 53% sử dụng mã hoá để bảo mật sữ liệu lưu trữ Mã hoá sử dụng để bảo vệ liệu "ở phần lại" Ví dụ: tệp liệu máy tính thiết bị lưu trữ khác (như thẻ nhớ USB) Trong năm gần đây, nhiều sữ liệu bí mật liệu cá nhân khách hàng bị đánh cắp thông qua việc đánh máy tính cá nhân bị đánh cắp lưu liệu Mã hoá tệp liệu giúp bảo vệ người dùng giải pháp bảo vệ vật lý bị thất bại Năm 2010 6.1 nghìn tỷ tin nhắm gửi: tính có tới 192,tin nhắn SMS gửi giây SMS trở thành nghành công nghiệp thương mại có giá trị cực lớn, trị giá khoảng 81 triệu đô toàn cầu kể từ năm 2006 Giá trị bình quân tin nhắn toàn cầu 0.11 $, mạng di động tính phí kết nối mạng di động khác 0.04$ Ngành công nghiệp tin nhắn phát triển nhanh dẽ dàng bị công đẻ khai thác điểm yếu Vì vấn đề mã hoá tin nhắn SMS trước gửi ngày cấp bách Nhiều thuật toán mã giãi mã khác đưa Trong thuật toán mã AES xem thuật toán tối ưu AES yêu cầu không gian nhớ RAM không lớn có tốc độ mã hoá giải mã nhanh Tốc độ xử lý yêu cầu vi xử lý Pentium thuật toán mã AES 18 xung nhịp byte tương đương với tốc độ xử lý 11Mib/s cho xử lý 200 MHz Đây lý chọn thuật toán AES cho việc mã hoá giải mã tin có ứng dụng mã hoá tin nhắn Google Play sử dụng thuật toán mã AES Chúng xây dựng ứng dụng dựa việc xem xét cách cẩn trọng nhiều yếu tố khác nhằm mục đích tạo nhiều lợi ích cho người sử dụng Với dung lượng nhỏ 200Kb giúp cho ứng dụng hoạt động nhanh cung cấp chức conversation view, Inbox, Draft, Backup and restore, tất tính mà ứng dụng tin nhắn SMS chuẩn cần có lợi lớn ứng dụng ứng dụng đơn giản, dễ hiểu, dễ sử dụng Có giao diện người dùng đơn giản, kích thước nhỏ, chức mã hoá giải mã hoạt động hiệu II DỊCH VỤ TIN NHẮN SMS SMS dịch vụ tin nhắn, hiểu cách đơn giản phương pháp giao tiếp điện thoại máy tính với điện thoại hay thiết bị kết nối mạng thông qua đoạn văn “short” dùng để chỉ kích thước tối đa tin nhắn Tin nhắn chứa tối đa 160 kí tự alphabet (kí tự, số, biểu tượng bảng kí tự alphabet) với bảng kí tự khác ví dụ tiếng trung kích thước tối đa tin nhán 70 kí tự Hình 1: Mô hình truyền tin nhắn SMS 2.1 Nguyên lý hoạt động SMS Mặc dù SMS dịch vụ dành cho điện thoại di động hoạt động với hệ thống chấp nhận thẻ SIM gọi thẻ thong minh ( smartcard) , có CPU, EEPROM mạch điện 2.1.1 Trạm thu phát - BTS BTS viết tắt cho Base transceiver station trạm thu phát BTS thiết bị truyền thông không dây gửi thiết bị người dùng (UE) mạng UE thiết bị điện thoại di đông, điện thoại WLL, máy tính có kết nối không dây, thiết bị WIFi, WiMAX 2.1.2 Trung tâm chuyển mạch di động - MSC MSC - Mobile switching center -Trung tâm chuyển mạch di đông MSC () nút cung cấp dịch vụ vận chuyển cho GSM/CDMA, chịu trách nhiệm định tuyến gọi SMS dịch vụ khác ( chẳng hạn cuọc họi hội nghị truyền hình, FAX, chuyển mạch liệu) các MSC thiết lập giải phóng kết nối điểm - điểm (end to end), xử lý yêu cầu giao tiếp di động điện thoại bàn suốt gọi theo dõi tài khoản thực gọi theo thời gian thực 2.1.3 Trung tâm tin nhắ SMS - SMSC Khi tin nhắn SMS truyền từ điện thoại di động, tin nhắn tiếp nhận trung tâm tin nhắn nhà cung cấp dịch vụ SMS (SMSC), trung tâm tìm địa đích để gửi tin nhắn đến, sau gửi tin nhắn đến điện thoại đích SMSC trung tâm tin nhắn cài đặt lên mạng lõi (core Networks) nàh cung cấp dịch vụ bên cạnh việc chuyển tiếp tin nhắn, SMSC hoạt động với vai trò thiết bị lưu trữ tạm thời tin nhắn vậy, điện thoại đích không hoạt động, SMS lưu lại tin nhắn sau gửi tin nhắn điện thoại hoạt động trởi lại Ngoài SMSC thông báo cho người gửi tin nhắn gửi thành công hay không Tuy nhiên SMSC lưu tin nhắn thời gian dài dung lượng nhớ có hạn Trong gửi tin nhắn SMS, người gửi tin nhắn SMSC đâng kết nối Vì vậy, điện thoại cảu người nhận tắt trở lại trạng thái hoạt động bình thường, SMSC thông báo đến người gửi thông báo gửi thành công THIẾT KẾ MÔ HÌNH MÃ HOÁ Lựa chọn ngôn ngữ lập trình cho điện thoại di động Mã hoá tin nhắn SMS xây dựng theo thuật toán mã hoá đối xứng AES Ứng dụng xây dựng sử dụng ngôn ngữ lập trình Java hãng Sun Microsystem Hầu hết điện thoại di động hỗ trợ ngôn ngữ lập trình Mô hình thiết kế Mô hình mã hoá SMS thiết kế thành phần hệ thống GSM Bất kỳ tin nhắn gửi qua trung tâm SMS (SMSC), không chuyển trực tiếp tới nơi nhận mà lưu SMSC sau chuyển qua MSC, MSC đóng vai trò quan trọng việc định tuyến cho tin nhắn, dựa vào thông tin cung cấp HLR VLR Hình: Mô hình kiến trúc hệ thống mã hoá tin nhắn SMS Ứng dụng mã hoá tin nhắn SMS làm việc với tin nhắn, tin nhắn mã hoá bước đầu tin, sau ký sử dụng chữ kí điện tử bước thứ hai, bước cuối gửi tin nhắn Hình : Mô hình mã hoá SMS III THUẬT TOÁN MÃ AES AES thuật toán mã hóa Mỹ đánh giá chuẩn TOP SECRET vào tháng ( Chuẩn cao ) năm 2003 AES làm việc với khối liệu (đầu vào đầu ra) 128 bít khóa có độ dài 128, 192 256 bít Mỗi khối liệu 128 bit đầu vào chia thành 16 byte (mỗi byte bit),có thể xếp thành cột, cột phần tử ma trận 4x4 byte,nó gọi ma trận trạng thái, hay vắn tắt trạng thái Trong trình thực thuật toán toán tử tác động để biến đổi ma trận trạng thái Hình 2: Ma trận trạng thái Quá trình mã hóa gồm bước sau: 3.1 Bước SubBytes Các byte thông qua bảng tra S-Box Đây trình phi tuyến thuật toán Hộp S-box tạo từ phép biến đổi nghịch trường hữu hạn GF (28) có tính chất phi tuyến Để chống lại công dựa đặc tính đại số, hộp S-box tạo nên cách kết hợp phép nghịch đảo với phép biến đổi affine khả nghịch Hộp S-box chọn để tránh điểm bất động (fixed point) 3.2 Bước ShiftRows Các hàng dịch vòng số bước định Đối với AES, hàng đầu giữ nguyên Mỗi byte hàng thứ dịch vòng trái vị trí Tương tự, hàng thứ dịch vòng vị trí Do vậy, cột khối đầu bước bao gồm byte đủ cột khối đầu vào Đối với Rijndael với độ dài khối khác số vị trí dịch chuyển khác 3.3 Bước MixColumns Bốn byte cột kết hợp lại theo phép biến đổi tuyến tính khả nghịch Mỗi khối byte đầu vào cho khối byte đầu với tính chất byte đầu vào ảnh hưởng tới byte đầu Cùng với bước ShiftRows, MixColumns tạo tính chất khuếch tán cho thuật toán Vì thế, bước xem phép nhân ma trận trường hữu hạn 3.4 Bước AddRoundKey Tại bước này, khóa kết hợp với khối Khóa chu trình tạo từ khóa với trình tạo khóa Rijndael; khóa có độ dài giống khối Quá trình kết hợp thực cách XOR bít khóa với khối liệu 3.4 Quá trình giải mã thuật toán AES Các phép biến đổi phép mã hóa đảo ngược sau thực theo chiều ngược lại nhằm tạo phép giải mã trực tiếp thuật toán AES Các phép biến đổi sử dụng phép giải mã gồm: InvShiftRows, InvSubBytes, InvMixColumns AddRoundKey 3.4.1 Bước InvSubBytes Phép biến đổi InvSubBytes() nghịch đảo phép thay theo byte SubBytes(), sử dụng hộp-S nghịch đảo áp dụng cho byte trạng thái 3.4.2 Bước InvShiftRows Phép biến đổi InvShiftRows phép biến đổi ngược ShiftRows Các byte ba từ cuối trạng thái dịch vòng theo số byte khác Ở hàng (r=0) không thực phép chuyển dịch, ba hàng dịch vòng Nb-shift(r,Nb) byte 3.4.3 Bước InvMixColumns Phép biến đổi InvMixColumns() phép biến đổi ngược MixColumns() Nó thao tác theo cột trạng thái, xem cột đa thức bốn hạng tử 3.4.4 Biến đổi nghịch AddRoundKey Phép biến đổi AddRoundKey phép biến đổi thuận nghịch áp dụng phép toán XOR nên thực phép mã hóa phép giải mã 3.5 Ứng dụng thuật toán AES Thuật toán AES viết nhiều ngôn ngữ Thuật toán sử dụng Việc xử lý ảnh Trong báo sử dụng ngôn ngữ Java để lập trình, Java cho phép thực mã nguồn mở ngôn ngữ độc lập với platform mã nguồn cho phần thuật toán trình bầy 3.5.1 Bước Add Round Key public byte[ ][ ] addRoundKey(byte[ ][ ] state,byte[ ][ ] roundkey) { for (int i=0;i[...]... việc mã hoá thông tin được tin nhắn cho người nhận tin nhắn 3 Giải mã tin nhắn theo yêu cầu người sử dụng 4 Bảo vệ chống lại việc lạm dụng thông tin của tin nhắn 5 Năng cao tính bảo mật và cải thiện khả năng bảo mật cho Android 5.3 Mã giả lập ứng dụng Vì mã nguồn không thể đưa ra ( vì một số lí do về bảo mật ) nên bài viết sẽ đưa ra một số mã nguồn chính của ứng dụng 4.5.1 Gửi tin nhắn Trong Android,... một lớp gọi là SmsManager Chúng tôi tạo ra đoạn mã trong lớp này gọi là sendTextMessage() phương pháp này thuộc về lớp SmsManager void sendSMS(String text,String number) { SmsManager sms = SmsManager.getDefault(); sms. sendTextMessage(number,null,text,null,null); PendingIntent } 5.3.2 Nhận tin nhắn Để nhận tin nhắn chúng tôi tạo BroadcastReciver và ghi đè vào thư mục onReceive phương pháp này sẽ được...Hình 5: H p th ch a tin nh n Các tin nhắn được hiển thị dưới dạng các chủ đề, hình dưới minh hoạ hai tin nhắn đầu tin ở dạng được mã hoá và hai tin nhắn tiếp theo đã được giải mã sử dụng thuật toán AES Hình 6: Tin nh n c mã hoá và giãi mã 4.2 Đặc tính ứng dụng 1 Tất cả tin nhắn được hiển thị dưới dạng mã hóa cả người gửi và nhận 2 Giữ và nhấn chủ... gọi bởi hệ thống khi một tin nhắn được nhận Nhưng để làm được việc đó đầu tin chúng ta phải đăng kí danh sách người nhận tin nhắn public void onRecive(Context c, Intent i) { Bundle b=i.getExtras(); if(b!=null) { byte[] pdus=bundle.get(“pdus”); SmsMessages[] msgs=new SmsMessages[pdus.length]; for(int j=0;j

Ngày đăng: 15/01/2016, 11:57

Từ khóa liên quan

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

Tài liệu liên quan