2015-04-08 25 views
11

Tôi muốn phát triển một ứng dụng dành cho thiết bị di động và sử dụng WhatsApp như đăng ký người dùng. Bây giờ tôi nhớ các vấn đề an ninh đã được thảo luận cách đây vài năm. Whatsapp được sử dụng để xác thực người dùng chỉ đơn giản bằng số điện thoại và IMEI của họ. Tất nhiên điều này không thực sự an toàn nhưng tôi thực sự không biết làm thế nào để làm nó an toàn hơn.Xác thực Whatsapp hoạt động như thế nào?

Bây giờ tôi không nghe thấy gì đó về vấn đề xác thực Whatsapp nữa trong một thời gian dài vì vậy tôi đoán họ có phương pháp an toàn ngay bây giờ. Bạn có biết làm thế nào Whatsapp hiện nó ngày hôm nay?

Trả lời

0

Ngày nay, Whatsapp cho phép bạn sử dụng ứng dụng chỉ đơn giản bằng cách gửi điện thoại của bạn một tin nhắn văn bản. Nếu thẻ SIM của điện thoại của bạn có cùng số như bạn đã nhập, Whatsapp sẽ tự động lấy mã từ tin nhắn văn bản và cho phép điện thoại của bạn. Nếu không, bạn vẫn phải truy cập vào điện thoại sử dụng số điện thoại đó và nhập mã xác minh.

7

Tôi sẽ tạm dừng câu hỏi này.

Theo hiểu biết của tôi, Whatsapp vẫn sử dụng số điện thoại của bạn làm số nhận dạng duy nhất chính. Lần đầu tiên bạn đăng nhập vào Whatsapp bạn xác minh số điện thoại là của riêng bạn.

Tuy nhiên, lần thứ hai Whatsapp cung cấp khóa bí mật khi đăng nhập. Điều này giúp tránh một số dịch vụ tấn công như Telegram đã thấy, nơi một SMS có thể được gọi và chặn tại bất kỳ thời điểm nào để truy cập vào tài khoản (hãy xem cách hoạt động của tính năng đăng nhập web của họ).

Thật vậy, khóa bí mật mà chúng cung cấp là mã định danh của bạn, được lưu trữ cục bộ một cách an toàn, phải được sử dụng trong tất cả các yêu cầu tiếp tục. Tất nhiên, người dùng chuyển đổi điện thoại. Trong trường hợp này, tài khoản phải được kích hoạt lại qua SMS nơi một id bí mật mới sẽ được tạo, vô hiệu hóa tài khoản trước đó.

Do đó, kẻ tấn công có thể thử giao thức chặn SMS mà tôi đã nói bằng cách kích hoạt lại. Vấn đề với điều này là bạn sẽ nhận ra ai đó đang chặn lưu lượng truy cập của bạn ngay lập tức vì Whatsapp sẽ bị tắt trên thiết bị của riêng bạn. Vì vậy, điều này chỉ có thể thành công nếu bạn không kiểm tra Whatsapp trong một thời gian hoặc đang ở giữa một cúp internet. Nói chung, điều này làm cho phương pháp của họ an toàn.

@Srinivas Những gì bạn đã quan sát là không có gì hơn Whatsapp lưu trữ một số điện thoại cụ thể không thể được xác minh trong hai giờ tới, bất kể nguồn gốc của yêu cầu, trên máy chủ xác minh của họ.


EDIT: Để đối phó với @ bình luận của Srinivas:

Phần cuối của câu trả lời của bạn là hoàn toàn chính xác. Tôi đã làm vài bài kiểm tra và nó hoạt động như bạn đã nói. Cảm ơn. Nhưng tôi không rõ ràng về đăng nhập lần đầu và đăng nhập lần 2.

Tôi xin lỗi vì đã không kỹ lưỡng. Tôi sẽ cố gắng giải thích lại.

Khi tôi thấy whatsapp, màn hình ban đầu là đăng ký (màn hình yêu cầu mã sms) và đăng nhập lần 2 là xác minh mã (xác minh mã sms). Bạn có thể cung cấp thêm một số thông tin cho sự hiểu biết của tôi không?

Ý tôi là đăng nhập lần đầu tiên là toàn bộ quá trình xác minh SMS.Do đó, tôi sẽ chia nó lên trong hai đoạn:

  1. lần đầu đăng nhập: Người dùng yêu cầu một mã xác minh SMS. Họ được yêu cầu nhập mã chính xác nếu từ một thiết bị khác, hoặc cách khác là Whatsapp tự động nhận diện SIM và xác minh hoàn toàn. Sau đó, họ sẽ đăng nhập và có quyền truy cập vào các tin nhắn chưa được gửi hoặc sao lưu nếu đó là tài khoản hiện có trước đó.

  2. Đăng nhập lần thứ hai: Ngay sau quá trình xác minh này Whatsapp cung cấp mã thông báo truy cập bí mật được lưu trữ cục bộ trên thiết bị. Vì vậy, bất cứ khi nào họ mở ứng dụng và cố gắng kết nối với máy chủ, họ được yêu cầu sử dụng khóa truy cập này. Như tôi đã giải thích, nếu họ muốn kích hoạt lại tài khoản của họ trên một thiết bị khác, họ sẽ phải hoàn thành bước 1 lần nữa từ thiết bị mới, sau đó sẽ tạo khóa bí mật mới - vô hiệu hóa khóa bí mật trước đó chỉ có thể đăng nhập bằng thiết bị mới.

Dưới đây là một số tài liệu tôi tìm thấy những người đã tạo ra api tương tự: github.com/mgp25/Chat-API/wiki/WhatsApp-Registration-Flow. vui lòng cung cấp đầu vào có giá trị của bạn

Tôi đã xem xét tài liệu và chúng tuân theo cùng một mẫu chính xác. Điều gì có thể khiến bạn nhầm lẫn là "mã thông báo yêu cầu mã" ban đầu. Đây chỉ đơn giản là chìa khóa để xác minh tính hợp lệ của thiết bị đang thực hiện yêu cầu hoàn thành bước 1. Điều này đảm bảo tính hợp pháp của nguồn gốc của người dùng đang cố gắng đăng ký thiết bị của họ.

Sau đây là cách hoạt động:

Người dùng muốn hoàn tất bước một. Vì vậy, họ gửi một mã thông báo yêu cầu đến máy chủ cùng với danh tính của họ (số điện thoại). Đây là mã được phân phối khi tải đến ứng dụng.

Điều này vẫn chưa đủ để dừng chặn SMS trong bước 1. Cho biết nguồn gốc của yêu cầu là cài đặt Whatsapp hợp pháp, mã xác minh SMS có thể cho phép kẻ tấn công truy cập vào tài khoản của người dùng. Tuy nhiên, như tôi đã lưu ý trước đây, điều này sẽ vô hiệu hóa khóa bí mật đã tạo trước đó từ bước 2. Do đó, người dùng sẽ nhận thấy rằng họ đã đăng xuất cục bộ miễn là họ đang tích cực sử dụng Whatsapp và kết nối với Internet.

Hãy cho tôi biết nếu có thêm bất kỳ sự nhầm lẫn nào.

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