Đồ Án [Project khóa luận tốt nghiệp - Source code] Mã hóa và chữ ký điện tử cho email trên Android

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    - Điểm nhấn:
    Chương trình có thể cho phép người dùng login và duyệt nhiều loại email cùng lúc: gmail, yahoomail, hotmail. Bình thường muốn duyệt gmail hoặc yahoo mail người dùng phải dùng chương trình GMAIL, yahoo riêng, hoặc phải vào trang web của từng công ty ấy: www.gmail.com hoặc www.mail.yahoo.com , rất bất tiện. Với chương trình Esafe này, người dùng đăng nhập dễ dàng hơn cho những người sử dụng nhiều email.



    4.2 DUYỆT MAIL
    4.2.1 Duyệt mail Online

    Duyệt mail Online khi điện thoại có kết nối wifi hoặc kết nối 3G
    Sau khi check vào các email cần login tại màn hình: Danh sách email và click vào nút Duyệt mail, chương trình sẽ kết nối tới các server mail để lấy CSDL(email) về máy. Ở đây diễn ra 2 quá trình, vừa lấy CSDL trên servermail, vừa lưu mail vào CSDL trên máy để đọc offline khi không có kết nối Internet. /
    Sau khi lấy mail xong, email sẽ được hiển thị bới một dánh sách gồm có: người gửi, tiêu đề mail, ngày gửi, các dấu hiệu cho biết email có đính kèm, có gắn sao, có mã hóa hoặc ký hay không, nội dung email hiển thị dòng đầu tiên.
    ///
    Muốn đọc email nào, click vào email ấy. Đây là trang đọc mail
    ///
    Tại đây, người dùng có thể Reply mail, Forward mail, click để đọc mail tiếp theo(trước đó), và tiến hành giải mã mail(nếu mail có mã hóa) , kiểm tra chữ ký nếu mail được ký bới người gửi
    ///

    4.2.2 Duyệt mail Offline
    Duyệt mail Offline là có thể đọc được mail khi không có kết nối Internet(Wifi, 3G, GPRS)
    Như đã nói ở trên, khi người dùng duyệt mail Online, một lượng lớn mail đã được chương trình lưu vào CSDL của máy, vì thế, khi không có kết nối Internet, người dùng vẫn có thể đọc lại những mail này hoặc những mail chưa đọc.
    4.2.3 Điểm nhấn
    Điểm nhấn của chương trình hơn những chương trình Duyệt mail khác là khả năng xử lý nhiều loại email cùng lúc, người dùng có thể duyệt một lúc 3,4 hoặc nhiều hơn nữa những loại email khác nhau, mỗi email nằm trong một tab, có hiển thì loại email nào và tên đăng nhập.

    4.3 GỬI MAIL
    4.3.1 Giao diện

    Giao diện gửi mail:
    ///
    4.3.2 Quản lý danh bạ
    Khi tiến hành gửi mail, trong textview người nhận, người dùng có thể nhập trực tiếp email người nhận hoặc click vào button /// để vào phần danh bạ.
    Danh bạ được thể hiện dưới dạng một danh sách được đồng bộ hóa trực tiếp với danh bạ điện thoại và danh bạ trên Google, tích vào những email nào cần gửi thư đến vào ấn Xác nhận.
    ///
    Thêm một email mới:
    ///
    4.3.3 Quản lý File đính kèm
    Muốn gửi đính kèm vào mail, Click vào biểu tượng /// hiện ra giao diện quản lý đính kèm, chọn những file cần đính kèm và ấn xác nhận. Có thể mã hóa những file đính kèm này để đảm bảo vấn đề bảo mật.




    4.4 MÃ HÓA VÀ CHỮ KÝ ĐIỆN TỬ
    4.4.1 Mã hóa

    Mã hóa được thực hiện trước khi gửi mail, chương trình có 2 loại mã hóa: mã hóa nội dung mail gửi đi và mã hóa File đính kèm
    4.4.1.1 Mã hóa nội dung
    Sau khi điền đầy đủ thông tin về người nhận, tiêu đê, nội dung, muốn mã hóa nội dung email này, click vào biểu tượng /// sẽ đưa người dùng sang một giao diện khác quản lý việc mã hóa.
    ///
    Khi click vào nút “Mã hóa” sẽ hiện lên bảng thông báo chọn loại mã hóa nào.
    Chú ý khi chọn loại mã hóa: Ở đây có 4 sự lựa chọn mã hóa là : AES, DES, 3DES, Public Key. Mã hóa DES có chiều dài khóa 56 bit, AES sử dụng khóa có chiều dài 192 bit, 3DES sử dụng khóa 128 bit, còn khóa public Key là thuật mã hóa bất đối xứng , chiều dài khóa 1024 bit.
    Khóa có bit càng lớn thì độ bảo mật càng cao, nhưng quá trình mã hóa sẽ chạy lâu hơn, tốn tài nguyên của điện thoại nhiều hơn. Vì thế, tùy vào dữ liệu nội dung gửi đi và tầm bảo mật mà chọn loại mã hóa phù hợp.

    ã TH1: Lần đầu tiên gửi email mã hóa cho người nhận này, chưa có key, chương trình sẽ tiến hành xin key trên server.
    ///
    ã TH2: Đã từng gửi email có mã hóa cho người nhận này, key đã có và lưu sẵn trên máy
    Sau khi đã có Key, sẽ sử dụng key này để mã hóa nội dung
    ///
    Sau khi mã hóa xong, và ấn xác nhận, màn hình gửi mail sẽ có nội dung thư đã được mã hóa dưới dòng “__Nội dung gửi đi ___”, đây là nội dung mail gửi qua cho bên người nhận.
    ///
    4.4.1.2 Mã hóa File đính kèm
    Công việc mã hóa File đính kèm cũng thực hiện tương tự như việc mã hóa nội dung, chọn phương thức mã hóa và tiến hành mã hóa. Khi mã hóa File xong, chương trình sẽ loại File cần mã hóa ra khỏi list đính kèm và thay vào đó là File đã mã hóa. Có thể mã hóa nhiều File cũng một lúc. File sau khi được mã hóa sẽ có các định dạng đuôi sau “.enc1”, “.enc2”, “.enc3”, “.enc4” tùy loại mã hóa mà người dùng sử dụng.


    4.4.2 Chữ ký điện tử
    Việc sử dụng chữ ký điện tử (Chữ ký số) vào nội dung mail nhằm đảm bảo tính chính thống, tính toàn vẹn và tính không thể chối bỏ của lá mail.
    Để tiến hành ký vào nội dung mail, người dùng cần phải có một cặp khóa bất đối xứng gồm một khóa bí mật và một khóa công khai, người dùng sử dụng khóa bí mật mã hóa nội dung mail đã được băm bằng một thuật toán băm, đồng thời gửi khóa công khai cho người nhận. Người nhận sử dụng khóa công khai mã hóa nội dung ký được thông điệp 1. Sau đó người nhận sẽ dùng thuật toán băm để băm nội dung nhận được để được thông điệp 2. Thông điệp 1 và thông điệp 2 sẽ được so sánh với nhau. Nếu nội dung của hai thông điệp là như nhau thì có nghĩa là tài liệu đó đã được khởi tạo và được đọc bởi chủ nhân hợp pháp của chữ ký điện tử đã được sử dụng để mã hóa dữ liệu.

    4.4.2.1 Quá trình xin key
    Ở lần đầu tiên sử dụng chữ ký, người gửi phải tiến hành xin khóa trên server, quá trình xin khóa hoàn tất, server sẽ gửi khóa bí mật cho người gửi.
    ///
    4.4.2.2 Quá trình ký vào nội dung mail
    Sau khi có khóa bí mật, người dùng sẽ sử dụng khóa này để mã hóa nội dung thư đã được băm bằng thuất toán băm SHA1. Sau khi mã hóa chuỗi băm sẽ thu được chuỗi ký. Chuỗi ký này được đính kèm vào nội dung thư và gửi qua bên người nhận.

    4.4.3 Các trường hợp sử dụng mã hóa và chữ ký điện tử
    4.4.3.1 Chỉ mã hóa, không ký

    Chỉ mã hóa nội dung email gửi đi, đảm bảo tính bảo mật, không đảm bảo tính toàn vẹn cho email.
    4.4.3.2 Chỉ ký, không mã hóa
    Chỉ ký vào thư, đảm bảo tính toàn vẹn nhưng không đảm bảo tính bảo mật.
    4.4.3.3 Vừa mã hóa, vừa ký
    Vừa mã hóa, vừa ký, đảm bảo tính toàn vẹn và tính bảo mật cho email
    4.4.4 Điểm nhấn
    Rõ ràng đây là ưu điểm vượt trội của chương trình Esafe mà các chương trình duyệt mail khác không có được, các chương trình gửi nhận mail đang được sử dụng phổ biến trên các thiết bị chạy Android (Điện thoại, máy tính bảng ) chỉ hổ trợ việc gửi nhận mail bình thường, chưa thấy chương trình nào hổ trợ vấn đề mã hóa nội dung mail gửi đi. Việc tích hợp được khả năng mã hóa và sử dụng chữ ký điện tử vào chương trình có thể xem là điểm nhấn mạnh nhất của chương trình.



    4.5 GIẢI MÃ VÀ KIỂM TRA CHỮ KÝ
    Khi nhận được những email có mã hóa hoặc ký, thì sẽ có biểu tượng hình khóa/// trên email. Để xem được nội dung gốc của email và kiểm tra tính xác thực của email trên, người dùng phải tiến hành giải mã và kiểm tra chữ ký.
    4.5.1 Giải mã nội dung thư
    4.5.1.1 Quá trình xin khóa

    Khi nhận dạng được thư đã mã hóa, trên giao diện đọc mail sẽ hiện ra nút giải mã///. Nếu chưa có khóa để giải mã thư, chương trình sẽ gửi một yêu cầu lên web service để xin khóa. Quá trình xin khóa.
    ///
    4.5.1.2 Quá trình giải mã
    Sau khi có khóa bí mật, chương trình sẽ giải mã nội thư được giải mã và hiển thị nội dung giải mã phía dưới nội dung mã hóa

    4.5.2 Kiểm tra chữ ký
    4.5.2.1 Quá trình xin khóa công khai của người gửi

    Đê kiểm tra chữ ký phải có khóa công khai của người gửi, nếu trên máy đang chạy chương trình không có khóa công khai này, sẽ gửi yêu cầu lên web service để tiến hành xin khóa. Trên web service sẽ kiểm tra người yêu cầu này có được quyền nhận key hay không, nếu được, sẽ gửi khóa công khai về cho người dùng này.
    4.5.2.2 Quá trình kiểm tra chữ ký
    Sau khi có khóa công khai, tiến hành giải mã và cho ra thông báo.
    Nếu thư không bị giả mạo trong quá trình truyền, sẽ ra thông báo sau:

    Nếu thư bị giả mạo, sẽ ra thông báo sau:
    ///
    4.5.3 Giải mã File mã hóa
    Sau khi tải các File đính kèm về, nếu phát hiện ra File đã được mã hóa, chương trình sẽ hỏi người dùng có muốn mã hóa File đó không? Xác nhận OK chương trình sẽ tự động tìm khóa trên máy để giải mã, nếu chưa có khóa, tiến hành xin khóa từ web service tương tự như mã hóa nội dung, sau khi có khóa tiến hành mã hóa File, File mới sau khi mã hóa được lưu tại : /mnt/sdcard/EncryptEmail/FileDecrypt/[tên File]


    4.5.4 Điểm nhấn
    Tự đông nhận biết email nào được mã hóa, tự động xin khóa trên server nếu chưa có khóa, tự động kiểm tra chữ ký và cho thông báo người dùng biết thư có oan toàn hay không. Việc giải mã File thực hiện khá nhanh, tuy nhiên vẫn chưa hỗ trợ người dùng chọn thư mục lưu File mà sử dụng thư mục lưu File mặc định của chương trình.
     

    Các file đính kèm:

Đang tải...