2012-05-05 28 views
12

Tôi là người mới bắt đầu trong việc tạo ứng dụng dành cho thiết bị di động với thẻ SIM. Tôi có một số nghi ngờ về khía cạnh bảo mật, khi tạo ứng dụng dành cho thiết bị di động với điện thoại.Cân nhắc về bảo mật khi tạo ứng dụng dành cho thiết bị di động bằng PhoneGap

  1. Tôi muốn tạo ứng dụng truy cập dịch vụ web, ví dụ: dịch vụ REST được tạo bằng Jersey. Bây giờ, tôi đúng khi nghĩ rằng một hacker có thể dễ dàng nhìn thấy các khóa bảo mật/cơ chế xác thực được sử dụng, để xác thực máy khách (trên một ứng dụng di động) với máy chủ (nơi REST API được sử dụng)?

  2. Nói chung, hacker có thể dễ dàng truy cập vào tất cả dữ liệu được gửi bởi ứng dụng di động (được tạo bằng cách sử dụng thẻ điện thoại) không?

  3. Hacker có thể tháo rời ứng dụng điện thoại để lấy mã gốc không? Bạn sẽ không nhận được mã gốc (ví dụ: Mục tiêu C trong trường hợp ios)? Hoặc anh ta có thể dịch ngược lại ngay cả thành mã phonegap gốc (ví dụ html + js) không? Làm cách nào để ngăn không cho mã của tôi bị giải mã? Kịch bản này có giống với hầu hết các ngôn ngữ khác, tức là tin tặc có PC mạnh có thể đột nhập vào bất kỳ chương trình/phần mềm nào không? Có cách nào để ngăn chặn điều này xảy ra không?

Trả lời

20

Được rồi, trước tiên hãy hít thở sâu. Có thể bạn sẽ không thích một số câu trả lời của tôi, nhưng bạn sẽ sống với cùng một vấn đề mà tất cả chúng ta đều có.

  1. Điều tốt nhất để làm trong trường hợp này là sử dụng một cái gì đó giống như các plugin KeyChain để lấy chìa khóa bảo mật của bạn từ phía mẹ đẻ.

  2. Bạn có thể lấy PhoneGap ra khỏi câu hỏi vì nó áp dụng cho mọi tình huống bạn gửi dữ liệu không được mã hóa giữa máy khách và máy chủ. Bất cứ ai cũng có thể dễ dàng nghe bằng cách sử dụng một số công cụ bao gồm Wireshark hoặc Ethereal. Nếu bạn cần giao tiếp với máy chủ, bạn nên thực hiện trên kết nối được mã hóa, HTTPS hoặc SSL.

  3. Trước tiên, tôi nghĩ rằng bạn đang bị ấn tượng nhầm lẫn rằng PhoneGap biên dịch mã HTML/JS của bạn thành Obj-C. Nó không. Nếu người dùng giải nén ứng dụng của bạn, họ sẽ có thể đọc HTML/JS của bạn. Ngoài ra, họ cũng có thể dịch ngược mã Obj-C của bạn. Điều này không có một máy tính mạnh mẽ hoặc thậm chí là một hacker có kinh nghiệm. Khá nhiều ai cũng có thể làm được.

Lời khuyên của tôi cho bạn không phải lo lắng về điều đó. Đặt thời gian của bạn vào việc tạo ra một ứng dụng thực sự tuyệt vời. Những người sẽ trả tiền cho nó sẽ trả tiền cho nó. Những người giải mã nó sẽ không bao giờ mua các ứng dụng không có vấn đề gì. Càng có nhiều thời gian bạn cố gắng để chống lại các tin tặc lấy đi từ thời gian bạn có thể sử dụng để làm cho ứng dụng của bạn lớn hơn. Ngoài ra, hầu hết các biện pháp chống hack chỉ làm cho cuộc sống khó khăn hơn cho người dùng thực tế của bạn vì vậy trên thực tế chúng phản tác dụng.

+0

tôi có một vài câu hỏi cho bạn- hiện nay rất nhiều API REST công khai sử dụng OAuth hoặc mô hình của Amazon (cho AWS) - sẽ không đủ cho các ứng dụng dành cho thiết bị di động? (Với ref cho câu trả lời của bạn, tôi nghĩ rằng cả hai OAuth và mô hình của Amazon sử dụng HTTPS ...) Ngoài ra, HTTPS sẽ không thể với các ứng dụng địa phương kể từ khi một số chức năng của Phonegap yêu cầu trang web địa phương chỉ? ... Cảm ơn – Arvind

+1

OAuth hoạt động tốt với Ứng dụng PhoneGap. Vâng, nếu tất cả các trang là địa phương thì không có thông tin liên lạc với công việc bên ngoài và do đó không có gì cho tin tặc để đánh hơi. –

+1

Câu trả lời của MacDonald, trong khi có ý tốt, không giải thích cho các nhà phát triển lo ngại về ứng dụng không nén vì lý do này thay vào đó: Các nhà phát triển khác có thể đọc mã, cướp biển và sử dụng nó để phát triển một ứng dụng cạnh tranh. Đó là một mối quan tâm nghiêm trọng và hợp pháp, và cần phải được xem xét khi cân nhắc việc sử dụng PhoneGap. –

Các vấn đề liên quan