1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển dịch vụ gửi nhận thông báo tự động và xây dựng hệ thống bảo vệ ứng dụng cho iphone

91 6 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 91
Dung lượng 3,31 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KƯƠNG ÁNH HỒNG PHÁT TRIỂN DỊCH VỤ GỬI NHẬN THƠNG BÁO TỰ ĐỘNG VÀ XÂY DỰNG HỆ THỐNG BẢO VỆ ỨNG DỤNG CHO IPHONE LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN : TS NGUYỄN KIM KHÁNH HÀ NỘI – 2010 Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 Lời cảm ơn Luận văn nghiên cứu phát triển ứng dụng điện thoại iPhone hồn thành với giúp đỡ tận tình thày giáo hướng dẫn TS Nguyễn Kim Khánh, Viện Công nghệ Thông Tin Truyền Thông, Trường ĐH Bách Khoa Hà Nội Tôi xin chân thành càm ơn tập đồn France Telecom tạo điều kiện cho tơi sang thực tập làm viêc môi trường đại tập đồn, tiếp xúc với nhiều cơng nghệ chuyên gia giàu kinh nghiệm, đặc biệt anh Fehmi Toumi Orange Lab Issy les Moulenaux Xin chân thành cảm ơn Viện Công nghệ Thông tin Truyền thông, Viện ĐT Sau Đại học trường Đại học Bách Khoa Hà Nội tạo điều kiện cho tơi thồn thành luận văn Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 Lời cam đoan Họ tên: Lương Ánh Hoàng Ngày sinh: 23/07/1985 Ngành học: Xử lý thơng tìn truyền thơng, Viện CNTT TT Khóa: 2008-2010 Tên luận văn: Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone Người hướng dẫn: TS Nguyễn Kim Khánh Tôi – Lương Ánh Hồng - xin cam đoan tác giả tồn nội dung luận văn này, khơng chép toàn văn luận văn, văn khác Tơi xin chịu trách nhiệm có sai sót Hà Nội, ngày 30 tháng 10 năm 2010 Người cam đoan Lương Ánh Hoàng Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 Mục lục Chương Tổng quan 10 1.1 Lý chọn đề tài 10 1.2 Lịch sử phát triển 11 1.3 Những luận điểm đóng góp 13 1.4 Phương pháp nghiên cứu .13 Chương Phát triển dịch vụ gửi nhận thông báo tự động cho ứng dụng chạy iPhone 15 2.1 Đặt vấn đề .16 2.2 Sơ lược hệ điều hành iPhone OS (iOS ) .18 2.3 Dịch vụ Push Notification .20 2.3.1 Kiến trúc 21 2.3.2 Tiếp nhận phản hồi từ APNS 22 2.3.3 Cơ chế an ninh 22 2.3.4 Quá trình đưa tin 24 2.3.5 Quá trình nhận tin 25 2.4 Tích hợp dịch vụ Push Notification cho hệ thống iPhoneAcademy .26 2.4.1 Xây dựng nguồn tin 26 2.4.2 Xây dựng ứng dụng nhận tin thiết bị 34 2.5 Kết luận 38 Chương Xây dựng hệ thống bảo vệ ứng dụng cho iPhone – iPhone Authorization Framework 39 3.1 Quy trình phát triển ứng dụng cho iOS 40 Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 3.2 Giải pháp bảo vệ ứng dụng dịch vụ 42 3.2.1 Kiến trúc hệ thống 43 3.2.2 Kịch cấp phát chứng thực 44 3.3 Xây dựng hệ thống 45 3.3.1 Xây dựng Certificate Authority .46 3.3.2 Cài đặt MySQL thiết kế sở liệu 51 3.3.3 Cài đặt Apache/PHP 55 3.3.4 Phát triển tính cấp phát chứng thực PHP 55 3.3.5 Bảo vệ ứng dụng thiết bị 62 3.3.6 Bảo vệ dịch vụ khỏi truy nhập trái phép 75 3.3.7 Xây dựng giao diện quản trị hệ thống 78 3.4 Kết luận 87 Chương Kết luận 88 4.1 Những kết 88 4.2 Đề xuất 88 Tài liệu tham khảo 90 Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 Danh mục hình Hình Mơ hình Client - Server 16 Hình Hệ điều hành iOS 19 Hình Các tầng iOS 20 Hình Một tin Push 21 Hình Mơ hình APNs với thiết bị 21 Hình Mơ hình APNs với nhiều nguồn tin nhiều thiết bị 22 Hình Quá trình thiết lập kết nối thiết bị APNs 23 Hình Quá trình thiết lập kết nối nguồn tin APNs .23 Hình Quá trình sinh device token 24 Hình 10 Gửi tin đến thiết bị .25 Hình 11 Kiến trúc nguồn tin 27 Hình 12 Bảng devicetokens .28 Hình 13 Định dạng liệu gửi đến APNs .29 Hình 14 Bản tin hiển thị thiết bị 31 Hình 15 Ứng dụng iPhoneAcademy 35 Hình 16 Bản tin Push iPhoneAcademy .38 Hình 17 Quy trình phát triển ứng dụng cho cá nhân 41 Hình 18 Quy trình phát triển ứng dụng cho doanh nghiệp 42 Hình 19 Kiến trúc hệ thống bảo vệ ứng dụng 43 Hình 20 Kịch cấp phát chứng thực cho thiết bị 44 Hình 21 Quy trình sinh chứng thực hệ thống 49 Hình 22 Chứng thực cấp cho thiết bị 50 Hình 23 Giao diện Xcode 63 Hình 24 Vịng đời ứng dụng .64 Hình 25 Cơ chế kiểm tra thiết bị .65 Hình 26 Màn hình lựa chọn thiết bị chưa có chứng thực hợp lệ .74 Hình 27 Màn hình xin cấp phát chứng thực .74 Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 Hình 28 Màn hình nhập mã an toàn trước tải chứng thực thiết bị 75 Hình 29 Chuyển đổi sang giao thức hỗ trợ PKI 75 Hình 30 Các chức giao diện quản trị hệ thống 78 Hình 31 Giao diện trang chủ 81 Hình 32 Giao diện danh sách người dùng 82 Hình 33 Giao diện thêm người dùng 83 Hình 34 Giao diện sửa/xóa người dùng 84 Hình 35 Danh sách ứng dụng 84 Hình 36 Giao diện thêm ứng dụng 85 Hình 37 Giao diện sửa/xóa ứng dụng 85 Hình 38 Giao diện thêm thiết bị .86 Hình 39 Giao diện danh sách thiết bị .86 Hình 40 Giao diện cấp phép từ chối .87 Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 Danh sách thuật ngữ Tên thuật ngữ Apache Diễn giải Tên phần mềm máy chủ HTTP miễn phí mã nguồn mở APNs Apple Push Notification service – dịch vụ đẩy thông báo Apple APNS Apple Push Notification Server – máy chủ chạy dịch vụ đẩy thông báo Apple App Store Quầy ứng dụng trực tuyến Apple Certificate Chứng thực số, tệp tin mã hóa dạng X509 bao gồm thơng tin:khóa cơng khai, tên chủ thể, thời hạn, địa URL trung tâm thu hồi chứng thực CA Viết tắt Certificate Authority Certificate Authority Cơ quan cấp chứng thực số Developer Certificate Chứng thực số dành cho lập trình viên cá nhân Apple device token Một chuỗi chữ số hexa dùng để phân biệt thiết bị hệ thống APNs Enterprise Certificate Chứng thực số dành cho doanh nghiệp Apple HTTP Hyper Text Transfer Protocol – giao thức truyền liệu siêu văn iOS Hệ điều hành dành cho thiết bị di động Apple iOS SDK iOS Software Development Kit – công cụ phát triển ứng dụng dành cho hệ điều hành iOS iPhone Mẫu điện thoại di động tiếng Apple với thiết kế tinh tế, cấu hình mạnh giao diện thân Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 thiện iPhoneAcademy Hệ thống cộng tác dành cho lập trình viên iPhone Orange Labs iPhone Authorization Hệ thống bảo vệ ứng dụng chạy iPhone Framework iTune Ưng dụng đa Apple bao gồm : nghe nhạc, xem phim, tải ứng dụng, đồng hóa với thiết bị… Mac OS X Hệ điều hành phiên thứ 10 Apple MySQL Một hệ quản trị CSDL mã nguồn mở thông dụng Object-C Ngôn ngữ lập trình hướng đối tượng Apple phát triển OpenSSL Công cụ mã nguồn mở xử lý vấn đề liên quan đến hạ tầng khóa cơng khai PHP Ngơn ngữ thông dịch sử dụng rộng rãi dịch vụ web PKI Public Key Infrastructure – Hạ tầng khóa cơng khai Private Key Khóa riêng, giữ bí mật giao dịch PKI Provider Nguồn tin, chịu trách nhiệm kết nối đến APNS gửi tin Push Push Notification Thông báo đẩy, tin đẩy trực tiếp hiển thị thiết bị (giống SMS hoạt động Internet) Snow Leopard Hệ điều hành họ Mac OS X Apple SSL Secure Socket Layer – giao thức tầng ứng dụng sử dụng PKI UDID Unique Device Identifier – Định danh thiết bị, Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 xâu gồm 40 chữ số hexa dùng để phân biệt tất thiết bị Apple Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 Việc chuyển đổi sang giao thức truyền liệu có hạn chế tốn cơng sức xây dựng lại dịch vụ nhiên ưu điểm lớn nhận thấy là:  Đảm bảo an toàn tối đa cho liệu người dùng cuối đường truyền mã hóa  Kiểm sốt hồn toàn thiết bị tiếp cận với tài nguyên dịch vụ thiết bị muốn kết nối đến dịch vụ cần phải xác thực chứng thực cấp  Bảo vệ dịch vụ giao thức HTTP Giao thức HTTP sử dụng nhiều dịch vụ Internet, HTTP có hạn chế khơng mã hóa thơng tin truyền Với dịch vụ chạy HTTP chuyển sang HTTPS mà khơng phải thay đổi nhiều, chủ yếu tiến hành phần mềm dịch vụ web Các công việc cần thực chuyển dịch vụ chạy Apache HTTP sang HTTPS :  Kích hoạt module ssl tệp cấu hình httpd.conf Apache  Sinh chứng thực cho Apache bao gồm tệp tin chứa chứng thực server.crt tệp tin chứa khóa riêng server.key, hai mã hóa dạng X509 Việc sinh chứng thực cho Apache hoàn toàn tương tự sinh chứng thực cho thiết bị trình bày phần Chỉnh sửa hai tham số nằm tệp cấu hình SSL(ssl.conf) Apache: o Tham số SSLCertificateFile trỏ tới chứng thực Apache o Tham số SSLCertificateKeyFile trỏ tới khóa riêng Apache SSLCertificateFile /var/www/conf/ssl.crt/server.crt SSLCertificateKeyFile /var/www/conf/ssl.crt/server.key  Chỉnh sửa tham số SSLCACertificateFile cho trỏ tới chứng thực CA SSLCACertificateFile /var/www/conf/ssl.crt/ca.crt 76 Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010  Yêu cầu thiết bị phải có chứng thực kết nối đến dịch vụ SSLRequireSSL SSLVerifyClient require SSLVerifyDepth 10 Thông thường, kết nối theo giao thức HTTPS, thiết bị có khơng có chứng thực Tuy nhiên để thực xác thực thiết bị, phải cấu hình Apache yêu cầu chứng thực từ thiết bị kết nối Thiết bị khơng có chứng thực hợp lệ khơng thể kết nối đến hệ thống  Chuyển tệp tin sang thực mục tài liệu SSL  Thực kiểm tra tính hợp lệ thiết bị kết nối đến Mỗi thiết bị ,muốn kết nối đến cần có chứng thực ký CA, trường serial chứng thực định danh thiết bị Trong trường hợp hệ thống iPhoneAcademy phần một, kiểm tra thiết bị cách kiểm tra định danh thiết bị sở liệu sau Hình 32 Giao diện danh sách người dùng Chức thêm người dùng thực qua hai thao tác: giao diện thu nhận thông tin người dùng thực truy vấn CSDL để cập nhật thơng tin Có hai bảng liên quan users permissions.Mỗi người dùng thêm vào hệ thống có quyền thao tác với ứng dụng chọn, điều 82 Phát triển dịch vụ gửi nhận thông báo tự động xây dựng hệ thống bảo vệ ứng dụng cho iPhone 2010 phải phản ánh tương ứng dòng bảng permissions Thao tác cập nhật CSDL tóm tắt lại sau:

Ngày đăng: 28/02/2021, 00:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w