Thứ Bảy, 1 tháng 3, 2014

Apple lý giải về khả năng bảo mật của iMessage

tinhte.vn-imessage.

Đối với một dịch vụ chat, chúng ta thường nói nhiều về chức năng của nó chứ ít ai quan tâm đến vấn đề bảo mật. Liệu những gì chúng ta trao đổi với nhau như hình ảnh, thư từ các thứ có thể bị hãng hay ai khác xem lén hay không? Trong bài này chúng ta sẽ nói về dịch vụ chat iMessage rất nổi tiếng của Apple, hãng này vừa chính thức công bố một tập tài liệu khá dài để giải thích về mức độ bảo mật của các dịch vụ mà họ đang phát triển, bao gồm cả iMessage.

apple ims.

Bạn có thể tải file PDF tài liệu của Apple tại đây (link, phần iMessage bắt đầu từ trang 20), dưới đây là tóm tắt các ý chính để bạn dễ tham khảo, mình đọc trên trang TechCrunch và tác giả của bài viết đã cố gắng lý giải theo cách rất dễ hiểu để ai cũng có thể nắm được.

Đầu tiên, bạn hãy tưởng tượng rằng nhà mình có một hộp thư và sẽ có 2 chìa khóa, một chìa công khai (Public) để mọi người có thể bỏ thư vào hộp và một chìa riêng tư (Private) chỉ một mình bạn có để lấy thư ra. Hai chìa này hoàn toàn khác nhau và không thể thay thế cho nhau. Chìa Public được dùng để gửi thư đi chứ không thể dùng để nhận thư.

Bước ra thực tế một chút, chiếc iPhone (hay iPad) chính là hộp thư nói trên. Tất cả mọi người có thể dùng chìa Public để gửi tin nhắn vào iPhone của bạn dưới dạng mã hóa, sau đó chìa Private trên iPhone (chỉ máy của bạn mới có) sẽ giải mã tin nhắn thành dạng đọc được để cho bạn xem. Người ta không thể dùng chìa Public để giải mã tin nhắn.

Đó là tóm tắt, còn dưới đây là cách thức hoạt động chi tiết của iMessage từ đầu đến cuối:
  • Khi bạn kích hoạt iMessage trên iPhone lần đầu tiên, máy sẽ tạo ra 2 bộ chìa khóa, mỗi bộ có đủ chìa Public và Private, một bộ dùng để mã hóa dữ liệu còn bộ kia dùng để xác thực dữ liệu đó có bị kẻ lạ thay đổi sau khi được gửi lên máy chủ Apple hay không. Nếu phát hiện có sự thay đổi trong quá trình gửi tin nhắn lên máy chủ thì Apple sẽ có biện pháp xử lý riêng.
  • Chìa Public sẽ được gửi lên máy chủ Apple, chìa Private được giữ lại trong máy iPhone, Apple không giữ chìa này.
  • Khi ai đó muốn gửi tin nhắn iMessage cho bạn, máy của người đó sẽ tự động lấy chìa Public trên máy chủ Apple, dùng chìa Public để mã hóa tin nhắn trước dưới dạng mà chỉ có máy người nhận mới giải mã được, sau đó gửi chúng lên máy chủ.
  • Ở đây xuất hiện 1 thắc mắc: nếu chìa Private chỉ nằm yên trong 1 máy iPhone của bạn thì làm thế nào mà các máy khác (iPad, Macbook) cũng có thể nhận và giải mã tin nhắn? Liệu chìa Private có được sao chép đến nhiều máy khác hay không? Câu trả lời là KHÔNG. Thực ra, mỗi một máy mà bạn thêm vào tài khoản iCloud đều có một bộ chìa khóa riêng dành cho chiếc máy đó. Nếu bạn có 2 máy dùng iMessage thì tin nhắn sẽ được mã hóa thành 2 bản dành cho 2 máy (theo chuẩn AES-128) và lưu trên máy chủ của Apple đúng 2 bản đó. Sau đó, từng máy một sẽ dùng chìa Private của máy đó để giải mã tin nhắn và hiển thị dưới dạng chữ thông thường.
  • Cũng có một vài dữ liệu như thông tin thời gian gửi/nhận tin nhắn và thông tin APN chưa được mã hóa lúc này.
  • Toàn bộ các gói dữ liệu mã hóa và chưa mã hóa sẽ được mã hóa lần thứ hai và gom lại thành một gói dữ liệu duy nhất trên đường chuyển đến máy người nhận.
  • Đối với các tin nhắn dài hay chứa hình ảnh, Apple sẽ giữ hình trên máy chủ iCloud (nhưng không xem được chúng). Lúc này, máy của người gửi sẽ tạo thêm một chìa khóa ngẫu nhiên khác và một URI (có thể hiểu là địa chỉ dẫn đến vị trí của file hình lưu trên máy chủ), sau đó Apple sẽ gửi khóa ngẫu nhiên và URI đến máy người nhận, người nhận sẽ dùng khóa Private để giải mã toàn bộ các gói dữ liệu để tải hình ảnh về.
  • Sau khi tải tin nhắn về máy, tin nhắn mã hóa trên máy chủ Apple sẽ bị xóa. Nếu bạn sử dụng nhiều máy thì chỉ có bản tin nhắn dành cho máy đó mới bị xóa, còn bản dành cho những máy còn lại vẫn giữ nguyên chờ cho chúng tải về. Các tin nhắn sẽ được lưu trên máy chủ tối đa là 7 ngày.
Tại sao Apple phải công bố những thông tin này? Lý do một phần là gần đây có thông tin cho biết Apple là một trong nhiều thành viên của một chương trình thuộc chính phủ dùng để giám sát người dùng có tên gọi là PRISM, rằng Apple và Cơ quan An ninh Quốc gia của Mỹ (NSA) có thể đọc được toàn bộ nội dung tin nhắn iMessage của người dùng.

Sau đó, Apple đã lên tiếng phủ nhận thông tin trên và khẳng định họ hay bất cứ ai cũng không thể tùy ý đọc tin nhắn của người dùng được. Apple dùng phương thức chìa khóa giải mã Private do chính người dùng nắm giữ, nếu bạn còn nhớ thì đây cũng chính là phương pháp được sử dụng bởi trang dịch vụ lưu trữ web nổi tiếng Mega.