ProtonMail viết lại email
(jfloren.net)- Ứng dụng ProtonMail trên Android gặp lỗi chỉ gửi một phần nội dung email nếu gửi ngay sau khi soạn xong, nên người dùng đã lách bằng cách dùng Proton Bridge với ứng dụng email khác
- Chạy Bridge trong VM trên NAS, rồi dùng rinetd và Tailscale để mở truy cập IMAP/SMTP, từ đó dùng cùng một tài khoản trên FairEmail của Android và Claws trên Linux
- Đã cấu hình chữ ký PGP/MIME cho FairEmail+OpenKeyring và Claws, nhưng email thử nghiệm không được cả hai ứng dụng nhận diện là thư đã ký
- Nhà bảo trì Claws cho rằng cấu trúc MIME đã bị hỏng, và các issue cũ của Proton Bridge cũng chỉ ra xung đột giữa xử lý PGP tự động của Proton với chữ ký do người dùng tự áp dụng
- Cốt lõi của vấn đề là Proton âm thầm biến đổi email nhưng không cung cấp tùy chọn giữ nguyên
multipart/signedhoặcmultipart/encrypted
Vấn đề với ứng dụng Android và cách lách bằng Proton Bridge
- Sau khi không hài lòng với Google và chuyển sang ProtonMail vài năm trước, nhìn chung dịch vụ này vẫn dùng được, nhưng vài tháng trước ứng dụng Android bắt đầu làm hỏng nội dung email
- Nếu nhấn
sendquá nhanh sau khi nhập xong, chỉ một phần nội dung đã viết được gửi đi - Muốn chắc chắn gửi đúng thì phải đợi khoảng 10 giây sau khi nhập xong
- Nếu nhấn
- Người dùng đã thiết lập Proton Bridge trên VM của NAS để chuyển sang dùng ứng dụng khác thay cho app Proton
- Proton Bridge chỉ lắng nghe trên
127.0.0.1 - Dùng rinetd để chuyển tiếp các kết nối đến ở cổng IMAP và SMTP sang Bridge
- Thiết lập Tailscale trên máy đó và điện thoại để kết nối ứng dụng email Android với tài khoản Proton
- Proton Bridge chỉ lắng nghe trên
- Trên Android, người dùng sử dụng FairEmail, còn trên Linux thì truy cập bằng Claws
Cách chữ ký PGP/MIME bị phá vỡ
- Sau đó, người dùng thêm cấu hình để gắn chữ ký PGP vào thư gửi đi
- Xuất subkey chỉ dùng để ký sang thiết bị Android
- Cấu hình FairEmail+OpenKeyring
- Cũng cấu hình Claws trên Linux cho PGP/MIME
- Các thư thử nghiệm tự gửi cho chính mình không được Claws và FairEmail nhận diện là thư đã ký
- Nếu chuyển sang PGP inline thì hoạt động
- Nhà bảo trì Claws trả lời rằng cấu trúc MIME đã bị hỏng
- Thư có chữ ký do chính nhà bảo trì gửi được Claws xác minh bình thường
- Các trường hợp liên quan cho thấy Proton từ lâu đã làm hỏng chữ ký PGP của thư gửi đi ngay từ đầu, gồm proton-bridge issue #26 và issue #320
- Hành vi của Proton được tóm tắt như sau
- Nếu gửi email thông thường qua Proton tới ứng dụng Proton khác, Proton sẽ tự động ký và mã hóa PGP
- Việc tự động ký và mã hóa này không thể cùng tồn tại với chữ ký do người dùng tự áp dụng
- Kết quả là chữ ký do người dùng áp dụng bị hỏng
- Người dùng cho rằng điểm gây bức xúc cốt lõi là Proton không có tùy chọn cho phép giữ nguyên các thông điệp
multipart/signedhoặcmultipart/encrypted - Dù thừa nhận PGP không còn được dùng rộng rãi, người dùng vẫn cho rằng Proton đang âm thầm biến đổi email và phản hồi với thái độ kiểu “chúng tôi biết rõ hơn”, nên đang xem xét chuyển sang nhà cung cấp email khác
1 bình luận
Ý kiến trên Hacker News
Nếu chỉ đọc tiêu đề mà bạn định bỏ ProtonMail, thì ở đây câu “viết lại email” gần như có nghĩa là ProtonMail không hỗ trợ chữ ký PGP do người dùng áp dụng vì cách họ thiết kế hệ thống chữ ký/tự động mã hóa
Không phải là họ tự ý sửa lại nội dung email gửi đi theo cái nghĩa mà người bình thường dễ nghĩ tới
Nếu bạn thuộc 99,9% không ký email hoặc không kiểm tra chữ ký thì có lẽ đây không phải vấn đề quá lớn trong thực tế, nhưng phản ứng của Proton với vấn đề này trông vẫn như một trò đùa
https://github.com/ProtonMail/proton-bridge/issues/26
Nếu ngay cả thứ cơ bản như PGP mà còn xử lý không đúng, thì làm sao tin được các phần khác của phần mềm, nhất là khi họ tự nhận là công ty “Privacy-first”
Dạo này “Privacy” có vẻ đang dần chỉ còn là một thuật ngữ marketing
“Có vẻ liên quan đến cách ProtonMail loại bỏ mọi email thuần văn bản nếu có phần được mã hóa MIME”
https://github.com/ProtonMail/proton-bridge/issues/26#issuec...
Thực ra điều gây sốc hơn là nếu có phần mã hóa MIME như HTML thì họ sẽ bỏ phần thuần văn bản
Tôi kiểm tra lại thì thấy các email được nhập từ GMail và email mới nhận trong ProtonMail giờ chỉ còn phần HTML, trong khi phần xem bản gốc ở GMail cho thấy cả phần HTML lẫn phần thuần văn bản đều có mặt
Thành ra sau này muốn đọc bằng trình khách chỉ hỗ trợ văn bản cũng không được, mà chuyện này cũng chẳng tiết kiệm dung lượng lưu trữ gì, nên tôi không hiểu sao họ lại nghĩ có thể phá hỏng như vậy
Dung lượng lưu trữ là thứ tôi đang trả tiền để dùng
Từ góc nhìn của các nhà cung cấp lớn, có vẻ khoảnh khắc email đi vào hệ thống của họ thì nó không còn là email theo nghĩa gốc nữa mà trở thành đối tượng của riêng họ
Có thể hiện tại họ chỉ đang hào phóng tái dựng lại một phần cho bạn thôi
Trông như họ đang làm sản phẩm tệ đi để tiết kiệm chi phí ở đâu đó, đồng thời hy vọng đủ ít khách hàng nhận ra
Tôi mừng vì có người chỉ đúng ra rằng mọi người ghét cái kiểu khôn lỏi “chúng tôi biết rõ hơn” khi có phàn nàn
Đừng giải thích rằng tôi đang cầm sai cách; ít nhất hãy thừa nhận rằng tôi không làm được điều mình muốn vì giới hạn của sản phẩm, rồi mới nghĩ xem có thể thay đổi được không
Thường thì nó có nghĩa là dùng theo cách của chúng tôi hoặc biến đi
Khá vô lý
ProtonMail thực sự là tệ nhất
Mỗi lần có thread như thế này xuất hiện là tôi lại kể chuyện mình từng định dùng ProtonMail cho công việc và đã gặp gì
ProtonMail tính phí theo từng tài khoản bất kể tài khoản đó còn hoạt động hay không, và khi nhân viên nghỉ việc tôi muốn vô hiệu hóa địa chỉ nhưng vẫn giữ lại lịch sử email
Nhưng việc xuất email khỏi ProtonMail khó đến mức phải cần kỹ sư
Thế nên tôi hỏi “có thể thêm chức năng vô hiệu hóa vĩnh viễn địa chỉ email và không tính phí nữa không”, thì nhận lại câu trả lời lảng tránh kiểu ProtonMail điển hình
Tìm kiếm cũng tệ hơn cả tìm chuỗi con đơn giản nên tôi vốn đã rất khó chịu, mà khi dùng cho công việc chuyên môn trong vài năm thì sẽ đến lúc bạn cần tìm lại các cuộc hội thoại cũ
Cuối cùng tôi hủy tài khoản và đóng thẻ privacy.com
Một năm sau, tôi thấy thẻ đã đóng vẫn tiếp tục bị tính phí hàng tháng nên thử đăng nhập vào tài khoản cũ, nhưng mật khẩu lưu trong trình quản lý mật khẩu lại không dùng được
Tôi gửi mail nói có vẻ có bug, và sau một hồi đôi co thì nhân viên hỗ trợ yêu cầu tôi cung cấp thông tin thẻ tín dụng để dừng thanh toán
Đó là cái thẻ tôi đã đóng từ một năm trước nên tôi không còn thông tin, và từ lúc đó tôi ngừng trả lời
Giao quyền riêng tư của mình cho những người đối xử thù địch với khách hàng trả tiền chỉ vì họ đặt câu hỏi hợp lý là một tín hiệu cảnh báo lớn theo tôi
Proton giống một dịch vụ hướng đến việc giữ cho các cuộc trò chuyện giữa những người nhận hoàn toàn riêng tư, nên việc bạn vẫn có thể truy cập email của nhân viên đã nghỉ việc mới là điều khiến tôi ngạc nhiên hơn
Nếu dùng cá nhân thì bạn khuyên gì?
Hiện giờ thì sao? Bạn đã thử ứng dụng Import-Export của ProtonMail chưa, và tính năng tìm kiếm hiện tại bạn đã thử lại chưa?
Thật sốc khi hóa ra không chỉ mình tôi gặp lỗi trên client Android, nơi nếu bấm “Gửi” quá nhanh thì chỉ một phần nội dung đã viết mới được gửi đi
Email gửi cho bác sĩ và cố vấn tài chính của tôi đã nhiều lần bị cắt theo kiểu này, và vì tôi nhớ rất rõ là mình đã nhập đầy đủ nội dung nên tôi còn nghiêm túc nghi ngờ liệu thuốc điều trị ung thư mình đang uống có gây ra kiểu ảo giác ngắn hay không
Thực ra chúng tôi đang viết lại toàn bộ ứng dụng Android nên nó sẽ ổn định hơn và dễ dùng hơn, dự kiến ra mắt vào khoảng cuối năm nay
Trước đó, nếu bạn gặp sự cố gửi lặp lại trên ứng dụng Proton Mail cho Android, bạn có thể dùng web app (https://mail.proton.me) trên bất kỳ thiết bị nào
Nếu một dịch vụ email còn không gửi email cho đúng thì nó có ý nghĩa gì?
Tôi đã gặp lỗi này vào đúng lúc quan trọng, và cứ nghĩ xem sẽ thế nào nếu người nhận không báo là mail trống mà chỉ lặng lẽ bỏ qua
Giờ tôi đang tìm một nhà cung cấp đáng tin cậy hơn, nơi có thể dùng một email client đúng nghĩa hỗ trợ IMAP/SMTP tử tế và xử lý GPG
Đây là kiểu hồi quy và lỗi phát triển ứng dụng, nhưng có lẽ với Proton thì việc làm ra một sản phẩm tốt không phải chuyện đủ thú vị
Tôi vẫn ngạc nhiên là Apple cho tới giờ vẫn chưa thử làm cho quy trình PGP trở nên mượt mà
Tôi từng hình dung kiểu tạo khóa trên thiết bị, đồng bộ qua iCloud rồi công bố khóa công khai
Vì Apple quảng bá quyền riêng tư rất mạnh nên tôi đã hy vọng Gmail, Outlook và các bên khác cũng sẽ áp dụng PGP gốc, nhưng có vẻ đó chỉ là mong muốn viển vông
Nó đã bị đẩy vào phạm vi người dùng ngách và người dùng nhiệt thành, và vì có quá nhiều vấn đề nên tốt hơn là dùng các nền tảng nhắn tin thay thế như Signal, vốn được thiết kế với mã hóa ngay từ đầu
Ví dụ, nếu bạn gửi một email được mã hóa mà người nhận chuyển tiếp nó thì chuyện gì xảy ra?
Khi người nhận trả lời, email gốc sẽ được đính kèm ở dạng vẫn mã hóa hay đã giải mã? Thường là vế sau, nên cùng một bản rõ sẽ tồn tại trong hai tin nhắn
Nếu gửi email cho nhiều người, ai sẽ xử lý việc mã hóa riêng cho từng người nhận?
Nếu chỉ một số người nhận hỗ trợ mã hóa thì rốt cuộc vẫn phải gửi bản rõ cho một số người, vậy việc mã hóa còn ý nghĩa gì?
Gửi tới mailing list mà không biết những người tham gia là ai thì phải làm sao?
Theo chuẩn thì cần mã hóa những gì? Chỉ phần thân? Cả tiêu đề là email header? Các header khác thì sao?
Kể cả nếu chỉ muốn chữ ký, thì theo chuẩn sẽ ký những gì? Khi văn bản trong chuỗi hội thoại trải qua nhiều lần biến đổi, chữ ký đó sống sót thế nào?
Người dùng nhập địa chỉ người nhận, máy chủ xác minh địa chỉ đó, yêu cầu mail host cung cấp khóa mã hóa, mail host gửi khóa lại, còn người dùng thì tiếp tục soạn email
Cảm giác hơi giống HTTPS dựa trên UDP
Email mã hóa không hoạt động cho ra hồn
https://latacora.micro.blog/2020/02/19/stop-using-encrypted....
https://support.google.com/a/answer/10741897
https://security.googleblog.com/2023/06/gmail-client-side-en...
Nếu công ty email giữ khóa riêng thì PGP còn có ý nghĩa gì?
Chỉ còn lại mức độ bảo mật khi email được truyền qua mạng và việc xác minh chữ ký thôi sao?
Chia sẻ khóa riêng nghe rất kỳ quặc đối với một cách giữ bí mật
.gpgđã mã hóaNhưng rồi xảy ra chuyện họ không tải xuống được một phần trong số đó
Sau khi tôi kiểm thử và gửi bug report, ProtonMail trả lời rằng họ giả định file đính kèm được mã hóa bằng khóa địa chỉ của người dùng nên cố giải mã nó
Họ nói rằng khi khôi phục và tái tạo tên file gốc thì phần mở rộng
.gpgsẽ bị xóaĐiều khiến tôi ngạc nhiên nhất là ProtonMail đã đề xuất như một cách vòng là hãy lấy khóa riêng tương ứng với khóa công khai của file đính kèm, và bạn tôi đã không đồng ý
Họ lưu khóa riêng đã được mã hóa bằng mật khẩu người dùng, và chúng tôi cũng không biết mật khẩu đó
Thậm chí còn có issue từ 2 năm trước
https://github.com/ProtonMail/proton-bridge/issues/180
Proton khiến các nhà phát triển phần mềm nguồn mở khó gửi patch hơn, và cũng chẳng quan tâm
https://git-send-email.io/#step-2
Ở đó thậm chí còn có câu: “Protonmail nhìn chung được biết đến là một mail host khá tệ. Nó có thể làm hỏng email gửi đi khiến patch không thể được áp dụng ở phía bên kia. Chưa kể cách đối xử tệ với nguồn mở và những lời hứa dối trá về bảo mật. Bạn nên cân nhắc nhà cung cấp mail khác”
May là tôi đã kịp đổi sang bên khác chỉ sau 1 tuần và được hoàn tiền đầy đủ
Có một sự mỉa mai là tôi nhận ra mình đã gửi một liên kết http trong lúc đăng bài phàn nàn về bảo mật
Cấu hình dựng Proton Bridge trên máy ảo của NAS, dùng
rinetdđể chuyển tiếp các kết nối đi vào trên cổng IMAP/SMTP tới bridge chỉ lắng nghe trên127.0.0.1, rồi thiết lập Tailscale trên máy đó và điện thoại để truy cập tài khoản Proton bằng ứng dụng email Android (ưu tiên FairEmail) và Claws trên Linux nghe khá giống với phần lớn độ phức tạp của việc tự hostTôi không biết trực tiếp, nhưng đó là chủ đề cứ lặp đi lặp lại