VoWiFi 會因為沒有 IPsec 穿透力而無法啟動的問題

現在人在日本,加上前陣子因為台灣之星的舊 SIM 卡不支援 VoLTE,6/30 要關閉 3G 網路,就找時間去換成台灣大哥大的了,除了 VoLTE 外,台星之前一直不支援 VoWiFi,這次換到台哥大以後也順便可以用了。

換完以後在家裡可以看到會自動跳 VoWiFi 確認可以用,這次到日本剛好可以用他接台灣的電話 (就不用付漫遊費用了),但發現在飯店的網路可以切到 VoWiFi,可是用我自己的分享機 (上面是樂天的 SIM 卡) 卻無法的情況。

翻了維基百科上面「Wi-Fi calling」的說明可以看到用的技術:

The service is dependent on IMS, IPsec, IWLAN and ePDG.

這邊看到 IPsec 就知道不太妙了,這東西在 NAT 上面需要額外「照顧」才會通 (IPsec passthrough),在這種情況下需要 500/udp 與 4500/udp,而透過搜尋引擎查了可以發現有電信商會擋... 大概知道發生什麼事情了 @_@

台灣 3G 網路的停用:2024/06/30

iThome 上面看到的消息,三大電信業者都將在 2024/06/30 停止 3G 網路:「中華電信、遠傳、台灣大將在6/30前關閉3G網路,手機不支援VoLTE將無法通話」。

翻了一下 iPhone 的部分,從 2014 年九月推出的 iPhone 6 就支援 VoLTE 了,差不多快十年了;這樣 Android 陣營應該也是差不多的時間才對...

到時候可以看看 iPhone 5s 的訊號會是怎麼樣... (應該會是完全沒訊號?)

美國的撥接服務:2600.network

Hacker News 上偶而會出現這種懷古的東西:「2600.network Dialup Service (2600.network)」,原始網站在「2600.network [idle]」這邊,電話號碼在「2600.network - Numbers」這邊。

我試著拿 iPhone 直接打美西的號碼 (加上 +1),前幾秒鐘還可以聽到 modem 的 handshake 聲音,但馬上就被掛掉了,不知道是什麼原因...

台灣好像已經沒有撥接服務了,剛好前幾天有想到找過... 是個懷古的東西。

1990 年代俄羅斯人用 VHS 帶 (錄影帶) 備份數位資料的方法:ArVid

Hacker News 上看到「ArVid: how Russians squeezed 4 hard drives into one VHS tape in the 90s」這篇,在 1990 年代俄羅斯人發明了用 VHS 帶 (錄影帶) 備份數位資料的方式,這個套件叫做 ArVid

方法是利用家裡已經有的 VHS 機 (錄影機),然後在 386 的電腦上接一張 ISA 介面的卡 (對比現在的電腦環境就是 PCI-e 介面卡),然後把 ISA 卡接到 VHS 機的 Video In (負責備份資料) 與 Video Out (負責取回資料),另外 ISA 卡還有一個紅外線 LED 發射的模組線可以接到 (貼到) VHS 機器的接收處,這樣可以讓 ISA 卡透過「遙控器」的協定控制 VHS 播放器。

這個點子用的媒介其實類似於磁帶機,只是 ArVid 為了使用現成的 VHS 機,多了一個轉換成影像的步驟。

這邊 ArVid 加上了 Hamming code,提供之後讀取時,發現錯誤以及修正的能力。

三個小時的 VHS 帶可以存 2GB 的資料,這個空間大小的感覺拉一下「History of hard disk drives」這頁的資訊,可以感覺一下 1990 年代前期時這樣的東西大概是什麼感覺:

1990 – IBM 0681 "Redwing" – 857 megabytes, twelve 5.25-inch disks. First HDD with PRML Technology (Digital Read Channel with 'partial-response maximum-likelihood' algorithm).

1991 – Areal Technology MD-2060 – 60 megabytes, one 2.5-inch disk platter. First commercial hard drive with platters made from glass.

1991 – IBM 0663 "Corsair" – 1,004 megabytes, eight 3.5-inch disks; first HDD using magnetoresistive heads

1991 – Intégral Peripherals 1820 "Mustang" – 21.4 megabytes, one 1.8-inch disk, first 1.8-inch HDD

1992 – HP Kittyhawk – 20 MB, first 1.3-inch hard-disk drive

是個很有趣的產品啊...

Beeper Mini 恢復,並且先提供免費使用

前幾天提到「蘋果出手幹掉 Beeper Mini 了」,當天就有進度了,不過到了昨天官方的說明才出來:「Beeper Mini Is Back」,Hacerk News 上對應的討論在「Beeper Mini is back (beeper.com)」這邊可以看到。

目前的 iMessage 只剩下 e-mail 的部分,電話號碼的部分目前是掛的,看起來是想辦法繼續繞:

Phone number registration is not working yet. All users must now sign in with an AppleID. Messages will be sent and received via your email address rather than phone number. We’re currently working on a fix for this.

另外值得一提的是,這幾天 iOS 有推更新,但在「About the security content of iOS 17.2 and iPadOS 17.2」與「About the security content of iOS 16.7.3 and iPadOS 16.7.3」裡面沒看到跟 iMessage 有關的說明。(當然也有可能塞進去卻沒有講...)

所以基於現在的情況,他們決定先免費提供使用 (另外一方面是行銷操作,這樣會帶來更多安裝數量):

We’ve made Beeper free to use. Things have been a bit chaotic, and we’re not comfortable subjecting paying users to this. As soon as things stabilize (we hope they will), we’ll look at turning on subscriptions again. If you want to keep supporting us, feel free to leave the subscription on 🙂.

另外後面的這句話有帶出一些額外的訊息,提到他們有聯絡蘋果,但沒有從蘋果那邊收到任何消息,這也代表他們應該還沒收到 C&D 之類的要求:

Despite reaching out, we still have not heard anything directly from Apple.

貓與老鼠還在繼續玩...

話說隔壁棚 GoogleEpic 那邊的戰場可熱鬧了...

Android 上與 Apple 生態系 iMessage 互通的 app

Hacker News 上兩篇相關的可以一起看,首先是 Beeper Mini,一套在 Android 上直接與 Apple 生態系 iMessage 相通的 app,而且不需要另外的 Apple 設備當作 Proxy:「Show HN: Beeper Mini – iMessage Client for Android (beeper.com)」。

另外先提一下,這是一套付費軟體 ($1.99/mo),考慮到這算是 reverse engineering 後的產品,不確定 Apple 會不會反制,要付錢使用的人心裡先有個底:

We currently offer a 7 day free trial, afterwards there is a $1.99 per month subscription.

另外一篇相關的是「iMessage, explained (jjtech.dev)」,原文是今年八月的文章,應該就是 Beeper Mini 那篇而被貼出來的關係,在「iMessage, explained」這裡。

裡面解釋了他自己實作 pypush 時怎麼處理 iMessage 的部分:

This blog post is going to be a cursory overview of the internals iMessage, as I’ve discovered during my work on pypush, an open source project that reimplements iMessage.

專案裡面有提到 Apple 在這邊有段 obfuscated code,由於只有註冊階段需要用到,他選擇直接跑環境起來執行,產生出對應的 data 後就不用再跑,也就省掉 reverse engineering 這塊功夫:

pypush currently uses the Unicorn CPU emulator and a custom MachO loader to load a framework from an old version of macOS, in order to call some obfuscated functions.

This is only necessary during initial registration, so theoretically you can register on one device, and then copy the config.json to another device that doesn't support the Unicorn emulator. Or you could switch out the emulator for another x86 emulator if you really wanted to.

另外一個先前的消息是 Apple 說要支援 RCS:「Apple announces that RCS support is coming to iPhone next year」,目前大家的猜測是跟歐盟一直在要求 Apple 開放 iMessage 有關。

蘋果的衛星 SOS 服務對 iPhone 14 用戶免費延長一年

去年十二月蘋果對 iPhone 14 開通了衛星 SOS 服務:「iPhone 14 的 Emergency SOS via satellite (衛星求救服務) 在北美開通」,然後蘋果決定延長一年:「Apple extends Emergency SOS via satellite for an additional free year for existing iPhone 14 users」。

而且看起來已經開放到十六個區域了:

Now also available on the iPhone 15 lineup in 16 countries and regions, this innovative technology — which enables users to text with emergency services while outside of cellular and Wi-Fi coverage — has already made a significant impact, contributing to many lives being saved. Apple today announced it is extending free access to Emergency SOS via satellite for an additional year for existing iPhone 14 users.

在「Use Emergency SOS via satellite on your iPhone」這邊有找到目前開放的地區,算了一下的確是十六個:

Emergency SOS via satellite is available in Australia, Austria, Belgium, Canada, France, Germany, Ireland, Italy, Luxembourg, the Netherlands, New Zealand, Portugal, Spain, Switzerland, the U.K., and the U.S.

北美洲 (美加) 與大西洋洲 (紐澳) 沒什麼問題,不過歐洲那些區域看起來偏西歐,有點像是衛星訊號的涵蓋性,另外可能還有當地法規的問題?不然以義大利與奧地利的涵蓋範圍,摩納哥與斯洛維尼亞看起來應該也是可以被涵蓋的...

從 e-mail 取得電話號碼

Hacker News 上看到 2019 年的文章:「From email to phone number, a new OSINT approach (2019) (martinvigo.com)」,原文在「From email to phone number, a new OSINT approach」。

用的原理是每一家在 recovery 時都會透漏電話號碼的不同部位,從截圖可以看到像是 PayPal 給的是區碼地一碼加上後三碼:

然後他整理出來:

Leaks first three and last two digits:
eBay

Leaks first and last four digits:
Paypal

Leaks first and last two digits:
Yahoo

Leaks last four digits:
Lastpass

Leaks last two digits:
Google
Facebook
Twitter
Hotmail
Steam

接著文章裡面介紹了其他的方法再縮小可能性,然後再反過來利用電話號碼查 e-mail,像是 Amazon

後面則是示範了這整套過程可以自動化。

可以確認電話號碼後可以做的事情就很多了,文章裡面提到的也只是一小塊...

Signal 的簡訊花費在 $6m/year

Signal 的「Privacy is Priceless, but Signal is Expensive」這篇 PR 稿裡面提到了各項支出,Hacker News 上的討論在「Privacy is priceless, but Signal is expensive (signal.org)」這邊可以翻到。

裡面可以看到目前的數字 (以 2023 年十一月推算):

Storage: $1.3 million dollars per year.
Servers: $2.9 million dollars per year.
Registration Fees: $6 million dollars per year.
Total Bandwidth: $2.8 million dollars per year.
Additional Services: $700,000 dollars per year.

Current Infrastructure Costs (as of November 2023): Approximately $14 million dollars per year.

我比較感興趣的有幾塊,一個是標題提到的簡訊,在「Registration Fees」這個段落的說明裡可以看到列了兩個項目,一個是下載 Signal 的費用,另外一個是簡訊 SMS 認證的費用:

Signal incurs expenses when people download Signal and sign up for an account, or when they re-register on a new device. We use third-party services to send a registration code via SMS or voice call in order to verify that the person in possession of a given phone number actually intended to sign up for a Signal account.

這邊有些要確認的,下載軟體的頻寬應該是包括在 Total Bandwidth... 而且推敲起來,金額應該不算大:

  • 手機上的應用應該是由 AppleApp StoreGooglePlay 平台提供,不需要 Signal 提供頻寬下載。
  • 桌面應用端的部分,無論是 Windows、Mac 還是 Linux 的平台,看起來是透過 updates.signal.org 下載,這個名稱目前是指到 Cloudflare 上面,透過 traceroute 看起來不是 premium account (HiNet 用戶是導去美西的 SFO 機房),也許是 Cloudflare 的贊助帳號?

所以我會先假設這邊 $6m/year 的費用應該都是 SMS,在後面這段看起來也有提出來:

The cost of these registration services for verifying phone numbers when people first install Signal, or when they re-register on a new device, currently averages around $6 million dollars per year.

另外會這麼高也是因為現在 SMS pumping 很流行,也就是攻擊者與電信商合作 (或是同一組人),透過假造大量的認證需求,讓 app 後面的公司需要付大量的簡訊費用:

另外一個感興趣的是頻寬的部分,裡面有提到有一個比較吃頻寬的項目,是處理不在通訊錄上面的通話或是視訊。這邊 Signal 為了避免 IP address 的洩漏,會避免直接讓兩邊接通,而是透過 relay 接通:

To take one example, Signal always routes end-to-end encrypted calls from people who aren’t in your contacts through a relay server that obscures IP address information.

光這部份大約是 20PB/year 的量,費用約 $1.7m/year (上面有提到整個頻寬費用約 $2.8m/year):

At current traffic levels, the amount of outbound bandwidth that is required to support Signal voice and video calls is around 20 petabytes per year (that’s 20 million gigabytes) which costs around $1.7 million dollars per year in bandwidth fees just for calling[.]

而最大的費用還是各種人事支出的部分 (i.e. 經濟規模還沒有大到反過來),佔 $19m/year:

In total, around 50 full-time employees currently work on Signal[.]

To sustain our ongoing development efforts, about half of Signal’s overall operating budget goes towards recruiting, compensating, and retaining the people who build and care for Signal. When benefits, HR services, taxes, recruiting, and salaries are included, this translates to around $19 million dollars per year.

在 Hacker News 上有人貼了「Signal Technology Foundation - Nonprofit Explorer - ProPublica」這個,這邊有申報資料可以翻,比 PR 稿上面細。

Starlink 宣佈了 LTE 服務

Starlink 宣佈了直接從衛星提供 LTE 的服務:「Home - Starlink - Direct to Cell」。

在網站上的副標題寫的比較清楚:

Seamless access to text, voice, and data for LTE phones across the globe

另外官網的這張圖片也有說明到,可以直接用原始的手機連上去,這點比起當初蘋果需要用 iPhone 14 跟衛星通訊又更進一步:

依照目前的規劃是 2024 年上 Text 服務 (應該就是 SMS 簡訊服務),2025 年上 Voice & Data 以及讓 IoT 也能上。

而目前列出來的 Global Partner 有這六家,可以看到涵蓋了北美洲、歐洲、亞洲與大洋洲,如果後續再多找一些的話應該就更完整了:

T-MOBILE (USA)
OPTUS (AUSTRALIA)
ROGERS (CANADA)
ONE NZ (NEW ZEALAND)
KDDI (JAPAN)
SALT (SWITZERLAND)

這對於完全沒有 mobile coverage 的地區來說會有很不一樣的情況,馬上有想到的是登山時緊急求救的設備,目前有 Garmin InReach 這種專用設備,之後如果真的弄起來的話應該都會逐漸退場...

另外北美的沙漠公路裡面也是有不少區域沒有訊號,這個 coverage 看起來會有很大的幫助?