Tôi đang phát triển chương trình phụ trợ cho ứng dụng di động sử dụng Node.js để xử lý các yêu cầu HTTPS. Tôi đã thiết lập SSL để kết nối từ máy khách đến máy chủ và tôi tự hỏi liệu điều này có đủ an toàn không.
Tôi không có kinh nghiệm chặn điểm cuối từ thiết bị di động, nhưng tôi đã thấy mọi người giám sát lưu lượng truy cập internet từ điện thoại của họ và nhận điểm cuối để phản hồi yêu cầu của máy chủ. Tôi đã thấy các thủ thuật hack trên tinder trong đó mọi người có thể thấy JSON phản hồi và thậm chí tự động vuốt bằng cách gửi yêu cầu http tới điểm cuối của tinder.
Mối quan tâm thực sự của tôi là mọi người sẽ có thể cập nhật/đọc/sửa đổi dữ liệu trên phần phụ trợ của tôi. Tôi cũng có thể triển khai OAuth2 vào kiến trúc của mình nhưng tôi vẫn thấy các tình huống mọi người có thể lạm dụng hệ thống.
Câu hỏi chính của tôi là liệu việc sử dụng HTTPS có đủ an toàn để bảo vệ dữ liệu của tôi hay không hoặc liệu có cần phải có hệ thống xác thực phiên như OAuth2 hay không.
Cảm ơn.
HTTPS, nếu được định cấu hình chính xác, sẽ đảm bảo rằng các tin nhắn không bị đọc hoặc thay đổi trong quá trình thực hiện và khách hàng có thể biết rằng máy chủ mà nó đang liên lạc không phải là giả mạo.
Nó sẽ đảm bảo an ninh truyền tải. Nó không bảo vệ ứng dụng.
Ví dụ: giả sử bạn có một chương trình cho phép bạn gửi tin nhắn https://www.example.com/transfermoney?from=Kyle&to=BazzaDP&amount=9999.99 Máy chủ ứng dụng thực hiện việc này dựa trên các tham số này. Sau đó tôi có thể tự gửi tin nhắn đó - tôi không cần chặn bất kỳ tin nhắn ứng dụng nào.
Thông thường máy chủ yêu cầuXác thực Ví dụ: cũng như HTTPS, hãy xác minh rằng chỉ người dùng Kyle mới có thể gửi tin nhắn trên chứ không phải bất kỳ ai khác. HTTPS thường chỉ cung cấp xác thực máy chủ chứ không phải xác thực ứng dụng khách (trừ khi sử dụng HTTPS có chứng chỉ chung).
Vậy câu hỏi đặt ra là ngay cả khi kẻ tấn công không thể đọc hoặc thay đổi bất kỳ tin nhắn nào giữa ứng dụng và máy chủ, chúng vẫn có thể gây hại? Đây là thước đo xem nó có đủ an toàn hay không.
Tôi là một lập trình viên xuất sắc, rất giỏi!