1 điểm bởi GN⁺ 2025-05-15 | 1 bình luận | Chia sẻ qua WhatsApp
  • Xác thực hai yếu tố (2FA) dựa trên SMS không chỉ thiếu an toàn mà còn gây bất tiện lớn cho cư dân vùng núi
  • các khu vực miền núi có tín hiệu di động yếu, rất khó nhận mã xác thực được gửi qua SMS
  • Chỉ dùng gọi qua Wi‑Fi hoặc điện thoại thông minh thôi không thể giải quyết vấn đề 2FA
  • Phương thức TOTP (mật khẩu dùng một lần dựa trên thời gian) có thể là một lựa chọn thay thế, nhưng việc tiếp cận để thiết lập ban đầu không hề dễ
  • Bài viết mô tả tình huống vô lý mà hàng triệu cư dân vùng núi gặp phải trong quá trình đăng nhập website

Tổng quan vấn đề

  • Một người bạn của tác giả là phụ nữ ngoài 70 sống ở vùng núi Bắc Carolina
  • Bà không thích máy tính, nhưng vẫn dùng điện thoại thông minh và tham gia chat nhóm trên Signal để giữ liên lạc với cộng đồng
  • Bà đã dùng điện thoại cố định từ lâu, loại này tương thích tốt với máy trợ thính
  • Spectrum đang độc quyền viễn thông trong khu vực, nên cả điện thoại cố định lẫn internet cáp đều dùng qua Spectrum

Vấn đề với dịch vụ di động và SMS 2FA

  • Vài năm trước, bà đăng ký dịch vụ di động với Spectrum Mobile, dịch vụ này dùng mạng của Verizon
  • Trong nhà hầu như không có tín hiệu di động. Nhà chỉ cách trung tâm thị trấn khoảng 20 phút lái xe và xung quanh cũng có nhiều hàng xóm
  • Mọi tài khoản quan trọng (email, ngân hàng, bảo hiểm y tế...) đều cố gửi mã 2FA qua SMS
  • Mã SMS không đến. Ở nhà thì không đủ sóng di động, và ngay cả khi bật Wi‑Fi Calling, các SMS bảo mật từ đầu số ngắn (5 chữ số) vẫn không nhận được
  • Bà dùng iPhone đời mới và thiết bị chính hãng được cung cấp, đồng thời cũng quen cách sử dụng

Tìm phương án thay thế và những giới hạn

  • Một số điện thoại cố định do ISP cung cấp có tính năng đọc SMS bằng giọng nói máy trên máy tính, nhưng Spectrum thì không có
  • Một số website cho phép chuyển sang TOTP 2FA, nhưng vẫn cần truy cập được ở lần đăng nhập đầu tiên
  • Quy trình phiền phức để xử lý vấn đề:
    • Lập danh sách các website bị lỗi đăng nhập
    • Đi vào thị trấn để gặp bạn nhằm xử lý sự cố
    • Thử chuyển từng tài khoản sang TOTP hoặc phương thức khác, nhưng một số nơi không hỗ trợ
    • Thử liên hệ bộ phận chăm sóc khách hàng nhưng rất khó hoặc không thể liên lạc

Những phương án thay thế gần như không khả thi

  • Chuyển số sang VOIP để tìm khả năng nhận SMS từ đầu số ngắn
  • Bỏ ra hàng trăm USD để lắp bộ khuếch đại tín hiệu di động
  • Thậm chí cân nhắc chuyển chỗ ở
  • Bài viết chỉ ra sự phi lý khi phải trải qua từng ấy bước chỉ để đăng nhập một tài khoản

Vấn đề về độ tin cậy của bản đồ vùng phủ sóng di động

  • Trên bản đồ vùng phủ của Spectrum, ngôi nhà và khu vực xung quanh được hiển thị là có dịch vụ hoàn hảo
  • Nhưng thực tế thì không dùng được dịch vụ trong nhà, và chỉ cần di chuyển 100 mét là cũng mất sóng

Nỗi khổ chung của rất nhiều người sống ở vùng núi

  • Một người bạn thuộc thế hệ Millennial cũng nói rằng "SMS 2FA là nỗi khổ của cuộc đời"
  • Ngay cả những nơi không nằm trong thung lũng sâu cũng vẫn gặp vấn đề do SMS 2FA

Giới hạn và khó khăn của phương thức TOTP

  • TOTP cũng không hoàn hảo
    • Cần cài đặt ứng dụng riêng
    • Việc chọn nên dùng ứng dụng nào khá phức tạp và đi kèm nhiều giải thích kỹ thuật

Tổng kết và quy mô của vấn đề

  • Lý do SMS 2FA được dùng rộng rãi là vì UX trực quan và mức độ tin cậy nhất định
  • Tuy nhiên, 1,1 triệu người ở vùng núi Bắc Carolina, 25 triệu người trên toàn Appalachia cùng hàng triệu người khác đang ở trong điều kiện rất kém
  • Họ có internet nhưng tín hiệu điện thoại di động cực kỳ yếu
  • Những người sống tại các khu vực này đang thiếu các lựa chọn thay thế hợp lý hoặc sự quan tâm đúng mức

1 bình luận

 
GN⁺ 2025-05-15
Ý kiến trên Hacker News
  • Điều thú vị là một lựa chọn khác mà cô ấy có thể dùng là chuyển số điện thoại của mình sang một nhà cung cấp VOIP có thể nhận SMS qua Wi-Fi, nhưng rồi lại phát hiện một số công ty không gửi mã SMS-OTP tới số VOIP vì lý do bảO mẬt, hoặc yêu cầu số đó phải được đăng ký chính chủ. Tôi nghĩ những hạn chế kiểu này nên là bất hợp pháp; số điện thoại thì chỉ là số điện thoại thôi. Dù bật Wi-Fi calling nên vẫn nhận được SMS từ bạn bè hay người thân, mã 2FA thì vẫn không tới. Tôi từng nghĩ SMS over IMS được triển khai theo cách trong suốt đối với bên gửi bên ngoài, nhưng giao thức SMS vốn đã được thiết kế quá lỏng lẻo nên điều này cũng không có gì đáng ngạc nhiên.

    • Tôi nghĩ mình có thể giải thích cách hệ thống SMS hoạt động. Hệ thống này đơn giản là gửi tin nhắn theo kiểu “mù”. Nếu người nhận offline hoặc không có sóng, nhà mạng sẽ lưu tin nhắn trong khoảng 3–7 ngày. Các hệ thống OTP dùng kiểm tra khả năng tiếp cận thông qua Vonage, API của Twilio, v.v., nhưng việc kiểm tra này không hoàn hảo. Nếu có gì đó bất thường, tin nhắn sẽ không được gửi. Cách làm này là để giảm chi phí gửi tin nhắn. Tôi thấy thật vô lý khi nó vẫn áp dụng cả với những số đã được xác minh từ trước.

    • Nói từ góc nhìn châu Âu thì theo chỉ thị tài chính PSD2, chỉ những số đã hoàn tất KYC mới được phép dùng SMS cho 2FA. Rốt cuộc 2FA đóng vai trò như một chữ ký điện tử để chứng minh “thứ gì đó bạn đang sở hữu”, và thứ đó chính là số điện thoại đã được xác minh danh tính. Cần nhấn mạnh rằng SMS là phương thức 2FA duy nhất có thể áp dụng dễ dàng trên mọi nhóm dân cư, mọi khu vực và mọi thiết bị.

    • Tôi thấy thật vô lý khi cũng chính những công ty đó chỉ cho phép SMS làm 2FA nhưng lại không gửi tới VOIP. Có lẽ vì mọi công ty đều đi qua một dịch vụ nhất định để gửi SMS, và dịch vụ đó chặn VOIP. Gần như mọi ngân hàng đều bắt buộc dùng SMS 2FA, trong khi những nơi khác lại hỗ trợ app, điều đó thật kỳ quặc.

    • Mãi đến năm 2025, số điện thoại mới là cách phần nào giải quyết được bài toán Sybil (một người tạo nhiều tài khoản). Nó có thể xác minh danh tính ở mức độ nào đó ngay cả khi không có quy trình KYC thực sự.

    • Tôi từng dùng Wi-Fi calling chỉ để nhận SMS 2FA, với tổ hợp RedPocket (MVNO) và T-Mobile thì không gặp vấn đề gì. Ở khu vực đó không có sóng T-Mobile trực tiếp nên chỉ có thể nhận SMS qua Wi-Fi. Gói cước cũng rẻ. Dù vậy, trước đây có một số vấn đề như điện thoại cũ không hỗ trợ băng tần.

    • Xét về tính chất nhận tin nhắn thì bạn bè và gia đình gửi theo kiểu P2P, còn 2FA là A2P, tức máy tới người. Cách xử lý hai loại này rõ ràng là khác nhau.

    • Tôi nghĩ rằng kể cả khi chuyển số sang nhà cung cấp VOIP thì bên gửi cũng không thể phân biệt đó là số di động hay VOIP. Tôi đã chuyển kiểu này và vẫn nhận SMS 2FA bình thường.

    • Nếu dùng nhiều dịch vụ ngân hàng khác nhau thì sẽ thấy có ngân hàng gửi SMS token tới Google Voice hoàn toàn bình thường, nhưng cũng có ngân hàng chỉ cho phép SMS Google Voice thông qua tổng đài chăm sóc khách hàng; chính sách rất ngẫu nhiên. Thậm chí có nơi không gửi qua kênh thông thường nhưng lại đọc đúng mã đó bằng cuộc gọi thoại tự động. Tôi thấy chính sách bảo mật rất tùy tiện.

    • Tùy chọn nhận mã SMS-OTP qua VOIP rốt cuộc là một ý tưởng tệ. Nó có thể hoạt động trong thời gian ngắn rồi cuối cùng cũng sẽ bị chặn khi chính sách bảo mật siết chặt hơn. Tất cả các biện pháp này thực ra không phải để bảo vệ người dùng, mà là tạo rào cản để làm chậm dòng spam và lưu lượng lừa đảo liên tục đổ vào. Bản thân việc sở hữu một số điện thoại thật đang được dùng như một “Proof of Work”, và thực tế không có phương án thay thế.

    • Bản thân SMS mới là vấn đề, nên tranh cãi kiểu này thật vô nghĩa. Theo tôi, việc dùng SMS lẽ ra phải là bất hợp pháp.

  • Chỉ cần có microcell/femtocell thì ở những nơi sóng yếu như nhà riêng hay văn phòng sẽ rất hiệu quả. Liên hệ nhà cung cấp và báo rằng tín hiệu yếu, họ sẽ gửi miễn phí một AP chuyển Internet → di động. Những thiết bị này có đầu vào RJ-45, có ăng-ten GPS nên còn hỗ trợ cả dữ liệu vị trí e911. Cửa hàng của chúng tôi cũng nằm trong thung lũng với tường kim loại nên trước đây phải leo lên đồi mới gọi được, nhưng sau khi yêu cầu từng nhà mạng lắp femtocell thì ai cũng có thể tự động chuyển qua mạng ISP và dùng bình thường. Ngay cả MVNO cũng được hỗ trợ. Tuy nhiên, để dùng femtocell thì có thể phải dùng dịch vụ trực tiếp của nhà mạng thay vì MVNO.

    • Có vẻ như t-Mobile không còn hỗ trợ thiết bị gọi là microcell nữa, xem trang hỗ trợ của họ.

    • Femtocell cũng có nhược điểm. Nó bắt buộc phải có tín hiệu GPS nên ở địa hình núi non sẽ khó hoạt động. Tôi đã dùng femtocell nhiều năm, và đôi khi nó ngừng hoạt động không rõ lý do, cũng chẳng cho biết tại sao.

    • Tôi đã nhận được miễn phí 4G LTE Network Extender từ Verizon. Một vấn đề là khi rời khỏi nhà thì kết nối sẽ bị ngắt. Có lần tôi đang gọi 911 thì tín hiệu rớt trong lúc di chuyển; khi ra khỏi phạm vi hoạt động thì cuộc gọi bị ngắt cho tới khi kết nối lại được. Sau đó Verizon còn liên hệ để chỉnh lại thông tin vị trí.

    • Tôi khá bất ngờ khi các nhà mạng lớn lại thấy ổn với việc bất kỳ ai cũng có thể vận hành một trạm phát sóng di động (microcell) kết nối qua ISP chưa được xác minh. Bình thường họ rất khắt khe về quản lý thương hiệu, nhưng ở điểm này lại cực kỳ dễ dãi.

  • Khi roaming ở nước ngoài, tôi để SIM trong điện thoại Android ở nhà, cắm nguồn và dùng một ứng dụng chuyển tiếp SMS qua API. Nhờ vậy tôi có thể nhận mọi SMS qua email. Tôi đã dùng cách này vài năm mà không gặp vấn đề gì. Bình thường tôi cũng thích nhận SMS OTP trên máy tính hơn nên rất tiện. Không nhận được MMS nhưng điều đó không quan trọng vì tôi không cần.

    • Tôi gọi cách này là "2FA Mule". Tôi đã dùng nó hơn 4 năm và thấy nó hoạt động rất tốt. Đây là một lựa chọn hay.

    • Nếu điện thoại hỗ trợ hai SIM và WiFi calling, bạn có thể dùng eSIM chỉ dữ liệu ở quốc gia đang đến, đồng thời vẫn tiếp tục nhận SMS trên SIM cũ.

    • Tôi cũng làm tương tự, để một điện thoại Android ở nhà rồi truy cập dịch vụ nhắn tin web từ laptop để nhận SMS. Dạo này SMS cũng hoạt động qua WiFi calling nên chưa chắc còn là vấn đề bắt buộc phải xử lý nữa.

    • Có vẻ điện thoại Android có thể bị đổi sang chế độ tự khởi động lại mỗi 3 ngày một lần, nên cách này có thể sớm không dùng được nữa.

    • Tôi không hiểu vì sao cách này lại liên quan đến roaming. Tôi đã roaming rất nhiều ở châu Âu và nhiều nơi khác mà không hề gặp vấn đề gì với việc nhận SMS.

  • Bài này hơi mang tính ngách. Mã SMS 2FA có vẻ như đến ngay khi vừa đăng ký dịch vụ di động, nhưng thực ra có thể phải hoàn tất việc đăng ký 2FA trước rồi đi ra ngoài thì mã mới kích hoạt được. TOTP thật ra cũng không khó đến vậy; chỉ cần chọn giúp họ một app và hỗ trợ in mã dự phòng là thường giải quyết ổn.

  • Google Fi có thể nhận mọi SMS dùng cho xác thực hai bước, kể cả mã số ngắn, ngay cả qua Wi-Fi. Thậm chí nếu điện thoại đang tắt hoặc hỏng thì vẫn có thể nhận trên mọi thiết bị qua trình duyệt web. Tôi rất thích tính năng này. Dịch vụ có giá từ 20 USD/tháng. Trước đây ở vùng núi nhờ hợp tác với US Cellular nên hoạt động rất tốt, nhưng gần đây tình hình thay đổi phần nào vì phía T-Mobile đã tiếp quản ở một mức độ nào đó.

    • Tôi đã sống ngoài nước Mỹ 12 năm, và trước khi dùng Google Fi thì lúc nào cũng có vấn đề với SMS. Nhiều ngân hàng cứ khăng khăng dùng xác thực bằng SMS, còn số ảo VOIP thì gặp cả hai vấn đề: (1) một số ngân hàng từ chối phục vụ vì lý do bảo mật; (2) không nhận được SMS vì lý do kỹ thuật. Google Fi thậm chí còn chuyển tiếp qua Wi-Fi khi không có dịch vụ di động nên hoạt động tốt. Chỉ là sau 1 tháng ở ngoài Mỹ thì dữ liệu sẽ bị cắt, nhưng chỉ cần dùng được SMS/thoại là đã đủ.

    • Tôi muốn biết liệu có dùng được RCS và “messages for web” hay không. Trước đây phải bật Fi sync thì mới dùng được nhắn tin/thoại khi điện thoại tắt, nhưng khi đó RCS bị vô hiệu hóa. Tôi muốn biết giờ còn như vậy không, và có thể dùng nhắn tin/thoại ở URL nào.

  • Tôi đồng ý rằng kỳ vọng của người dùng đôi khi là quá mức. Ví dụ, khi thuê xe scooter Lime, do lỗi cấu hình VPN nên tôi không có Internet và không thể hoàn tất thao tác trả xe. Cuối cùng họ hoàn tiền phần phí phát sinh nhờ GPS cho thấy xe đã dừng lại, nhưng nếu lúc đó điện thoại hết pin thì thật sự sẽ rất phiền. Khi di chuyển, luôn cần dự phòng cho những tình huống bất ngờ như vậy.

    • Nếu dùng loại tủ khóa giao hàng DHL mới ở Đức thì sẽ thấy nó không có màn hình và chỉ hoạt động qua app. Nó đồng thời yêu cầu cả Bluetooth lẫn kết nối Internet. Bản thân tủ khóa đã có Internet rồi nên tôi thấy yêu cầu đó từ app là thừa thãi.
  • Luôn có những yếu tố gây bất lợi cho một số nhóm người nhất định. 2FA cũng không có phương án hoàn hảo, và cách nào cũng có điểm bất tiện riêng.
    SMS 2FA thì bảo mật yếu nhưng được dùng rộng rãi nhất và cũng dễ khôi phục.
    Các app TOTP thì bảo mật mạnh hơn nhưng khó khôi phục khi mất hoặc đổi thiết bị.
    Token phần cứng như Yubikey thì tốn tiền và cũng có vấn đề khôi phục.
    Tôi nghĩ cách chắc chắn nhất là chính phủ liên bang vận hành một hệ thống xác thực phần cứng tập trung (thực tế Bộ Quốc phòng Mỹ đang dùng thẻ CaC), nhưng ở Mỹ thì kiểu hệ thống này rất khó thành hiện thực vì tranh cãi về quyền riêng tư và ngân sách. SMS 2FA đúng là gây bất lợi cho vùng núi hoặc vùng sâu, nhưng thật ra mọi hình thức 2FA đều không hoàn hảo.

    • Quyền riêng tư trong xác thực là quan trọng trong một số tình huống nhất định, ví dụ như bỏ phiếu, nhưng trong những trường hợp cần chứng minh rõ ràng đó là chính bạn, như ngân hàng, thì lo ngại về quyền riêng tư không thực sự áp dụng mạnh.

    • Yubikey và các thiết bị tương tự có thể trông như khó khôi phục, nhưng nếu đăng ký nhiều khóa từ đầu thì khi mất một chiếc vẫn có thể dùng khóa khác để đăng ký mới và giải quyết vấn đề.

  • Nếu cài app Google Voice thì một số dịch vụ 2FA sẽ hỗ trợ còn một số khác thì không. Một vài dịch vụ từ chối số GV. GV có thể nhận SMS qua Wi-Fi. Nếu yêu cầu công ty di động cấp femtocell thì ngày xưa còn rẻ, nhưng giờ đã ngừng bán và giá có thể lên tới 2500 USD. Bạn cũng có thể đăng ký mightytext.net để nhận SMS trên máy tính, nhưng tôi không chắc nó có hoạt động khi không có sóng di động hay không. Tôi dùng nó vì gõ SMS bằng bàn phím laptop dễ hơn dùng ngón tay.

    • Cũng có thể nối USB modem vào máy tính, đặt ở chỗ bắt được sóng rồi truy cập qua Internet. Tôi thì đang dùng cách ngược lại với Raspberry Pi để giám sát từ xa. Hồi làm prototype tôi cũng từng parse SMS. Không phải ai cũng phù hợp, nhưng đúng chất HN nên chia sẻ vậy.

    • mightytext.net sẽ không hoạt động nếu điện thoại không có sóng. Việc chuyển tiếp tin nhắn chỉ nhà mạng mới làm được. Cũng rất khó để tích hợp với dịch vụ kiểu này trên tất cả các nhà mạng Mỹ, và còn có nhiều ràng buộc kỹ thuật. Chỉ có dịch vụ SMS vệ tinh của Apple là có thể truy cập trực tiếp vào bộ định tuyến SMS để chuyển tiếp.

    • Một trong những lợi thế của cách này là có thể bảo vệ quyền truy cập SMS bằng MFA.

  • TOTP, HOTP và các phương thức tương tự có thể được triển khai mà không cần dữ liệu định danh cá nhân như số điện thoại. Còn SMS thì bắt buộc phải có số, và nếu số đó gắn với thông tin cá nhân của bạn thì giá trị của nó trong marketing hoặc tổng hợp dữ liệu sẽ cao hơn nhiều.

    • Phần lớn nơi yêu cầu xác thực SMS vốn đã biết tên, địa chỉ và các dữ liệu cá nhân khác của bạn rồi, như tài chính, giấy phép, cơ sở y tế, v.v., nên tranh cãi về việc gom dữ liệu cho marketing trên thực tế không có nhiều ý nghĩa. Còn nếu là TikTok hay nơi nào đó cứ nhất quyết đòi số điện thoại thì tôi sẽ dùng số dùng một lần hoặc từ chối.

    • TOTP/HOTP không thể cung cấp thuộc tính WYSIWYS (ký đúng những gì bạn thấy), kiểu như “tôi đang muốn thanh toán khoản tiền này cho cửa hàng này”. Với thanh toán ngân hàng và các tình huống tương tự thì cần xác nhận trực tiếp. Thực tế ở EU, WYSIWYS có thể là yêu cầu theo quy định, nên để lấp khoảng trống tạm thời, các app riêng của ngân hàng trở nên cần thiết. Theo tôi, các tiêu chuẩn hiện tại như WebAuthN vẫn chưa đủ; cần những cách mới như mở rộng SPC và các thiết bị xác thực phần cứng.

  • Tôi cũng sống ở vùng nông thôn nên thỉnh thoảng gặp vấn đề không nhận được mã SMS. Có ngày nhận được, có ngày không và tôi không hiểu tại sao, nhưng bài này giải thích nguyên nhân rất rõ. Bình thường tôi dùng dịch vụ Spectrum cho cả Wi-Fi lẫn di động, và vì phụ thuộc vào Wi-Fi tùy theo cường độ sóng nên mới xảy ra hiện tượng đó.