2011-07-19 40 views
5

Bất kể ngôn ngữ lập trìnhBảo mật và xác thực máy khách-Máy chủ

Tôi có ứng dụng máy chủ khách.

điện thoại di động của khách hàng - http máy chủ

Ứng dụng sẽ có mặt trên nhiều điện thoại di động không chỉ Android.

Tôi muốn đảm bảo yêu cầu chỉ đến từ thiết bị di động của khách hàng.

Tôi làm cách nào để giải quyết vấn đề bảo mật này?

Tôi đề nghị:

Có một khóa bí mật mã hóa cứng vào ứng dụng di động:

Mỗi yêu cầu được mã hóa bằng khóa này và giải mã ở phía máy chủ.

Có an toàn để mã hóa khóa nếu cách này có ý nghĩa gì không? (Phần mềm ăn cắp có thể nhận được chìa khóa ứng dụng sẽ có sẵn không chỉ cho android?!)

thêm thông tin:

Mỗi người dùng sẽ có một userid/username ...

+2

Tôi đã sử dụng OAuth cho một vấn đề tương tự. Nó hoàn toàn phù hợp với nhu cầu này và có các thư viện cho gần như tất cả các ngôn ngữ lập trình. Trong trường hợp của tôi, máy chủ OAuth giao tiếp với điện thoại di động/máy tính bảng Android và điện thoại di động/máy tính bảng của Apple. – Marco

+0

Bạn có ý nghĩa gì với "chỉ dành cho thiết bị di động của khách hàng"? (1) chỉ người dùng được xác thực mới có thể truy cập máy chủ của bạn từ điện thoại di động; HOẶC (2) người dùng có thể truy cập máy chủ của bạn từ điện thoại di động của họ chỉ HOẶC (3) người dùng phải truy cập máy chủ của bạn chỉ bằng phương tiện di động chứ không phải máy tính. (1) rất dễ, (2) và (3) thì không. Xem thêm: http://en.wikipedia.org/wiki/Two-factor_authentication – Ando

Trả lời

3

Không đặt các khóa mã hóa (hoặc bất kỳ thứ gì khác mà bạn cần giữ bí mật) vào các ứng dụng dành cho thiết bị di động và sau đó dựa vào chúng. Đây là một lỗ hổng quan trọng.

Chìa khóa có thể được thiết kế ngược lại, và trên thực tế một số công ty tên tuổi lớn đã mắc phải sai lầm này. "Khóa oauth twitter bị xâm phạm" của Google.

+0

vâng tôi nghĩ vậy ... giải pháp là gì? –

+0

@Sherif - không có cách nào rõ ràng để xác định rằng yêu cầu đến từ một thiết bị * cụ thể *, tất cả những gì bạn có thể làm là xác định người dùng * theo một số loại xác thực (ví dụ: tên người dùng và mật khẩu). – Qwerky

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