棄用 Keybase (Zoom 買下 Keybase 的新聞)

前幾天的新聞,Zoom 的新聞稿:「Zoom Acquires Keybase and Announces Goal of Developing the Most Broadly Used Enterprise End-to-End Encryption Offering」,Keybase 的新聞稿:「Keybase joins Zoom」,看到後就把本來的服務刪一刪了...

這篇屬名由 Zoom 創辦人發出的公告,裡面多到讓人不知道怎麼吐槽的部份,我們就把唯一的粗體字拉出來討論好了:

We are excited to integrate Keybase’s team into the Zoom family to help us build end-to-end encryption that can reach current Zoom scalability.

先不講先前被戳破根本就不是 end-to-end encryption 的問題,影音上面因為 transcoding 的問題,如果要在 video stream 上做 end-to-end encryption 的話分成兩種方式可以做:

a) 一種是發送端直接產生出多個不同 bitrate 的 video stream,這種方式其他家都已經很熟悉了,缺點也很明顯,就是吃各種資源,包括發送端的壓縮能力與頻寬。

b) 另外一種方式是產生出可以疊加的 video stream,有點像是 progressive image 的方式,第一個 stream1 的畫質最低,第二個 stream2 則是「補強」第一個 stream1,這樣子可以降低資源的需求。

另外有想到 Homomorphic encryption 的方式,直接可以疊加加密後的 stream1 + stream2,不過 bitrate 應該不會降低,就算真的設計的出來應該也沒用...

如果是 a) 的方式,業界對於 key 的交換都已經解的還不錯了,但這個方式沒什麼競爭性 (因為其他家也都已經做完了)。

如果是 b) 的方式,很明顯該找的是 codec 的公司 (要做出可以疊加的 codec),而不是搞密碼學的公司。

回到原來的問題,現有的團隊有 2500 人,裡面的技術團隊沒辦法搞定 end-to-end encryption,ok 沒關係,那現在的 CTO Brendan Ittelson 應該可以建一個團隊吧?所以我翻了一下他的 LinkedIn 看了一下他的經歷,對不起我錯了,我瞬間不知道怎麼寫下去了,我豆頁痛...

許多 VPS 同時宣佈停止營業的消息

前陣子有許多 VPS 同時宣佈停止營業的消息:「20 VPS providers to shut down on Monday, giving customers two days to save their data」。

文章裡面列了 20 個 VPS,而這 20 個在 LowEndBox 上都有出現,我就把搜尋的連結直接整理出來了,想確認的人可以展開來看 XDDD:

話說我之前也中了兩個 (SupremeVPS 與 UMaxHosting),後來就覺得 LowEndBox 上的站台都怪怪的... 結果最近就有人開一個站整理出倒閉表格 XDDD:「LowEndDeadPool」。

開頭也講得很直接,現在 LowEndBox 基本上的貨色基本上都是... XD:

As of December 2019, it is pretty safe to say that all hosts listed at LowEndBox are a scam at best (except for QuadraNet and Virmach).

現在得透過其他方式找...

便宜 VPS 主機的找法...

因為手上 side project 很多,有時候想要長期測一些東西,就需要租用性價比比較好的 VPS。

其中 VPS 的基準點應該是以 LinodeDigitalOcean 以及 Vultr 這幾家為主,而目前這幾家的基準點都是 RAM 的部份,目前是 1GB RAM VPS 約 $5/month。

如果你不想花太多時間在研究,選這幾家應該沒什麼問題,Linode 與 Vultr 都算是很不錯的方案。另外雖然 DigitalOcean 的 CPU 比較差,但可以看出他在非 IaaS 的服務上花了不少力氣,想要朝類似 AWS 的方向在走,如果你想要用到他們的服務,但又不想要用純正的 cloud service 的話 (通常是價位考量),可以考慮看看他們家的服務。

另外一方面,因為我自己喜歡設定底層系統,所以會朝「便宜」的方向找 VPS (能設定的東西比起 Web Hosting 多很多),然後因為機器數量愈來愈多,所以在我自己的 wiki 上整理了「Hosting」這個條目,之後就有些朋友看到價錢就會問怎麼找的... (像是 1.5GB RAM + 20GB Disk 一年只要 USD$14 這種價錢)

我主要是透過 Low End Box - Cheap VPS Hosting Providers Listing & Reviews 這邊找的,這邊常常會有各家 VPS 提供促銷,這時候可以朝幾個方向看:

  • 公司成立時間:透過 whois 資料可以看到一些,另外文章上面通常會直接對 vps 下 tag,可以看看之前是不是有跟 Low End Box 合作過。
  • 以往的評價:透過 tag 找到之前的促銷,然後看看 comment 的評價。先記住這種便宜的 VPS 不會有完美的狀態,如果負評可以接受的話就可以考慮。

另外要注意的是,這類 VPS 我通常都是先假設「資料掉了不會痛」的想法在用,然後主要是以 PayPal 為付款方式,避免主機商跑路後沒辦法拿到退款 (yeah 我遇過 XD)。

這類 VPS 主機有兩種形式:

  • 最常見的是 OpenVZ 類的,通常這類會很便宜,但限制是 RAM 與 Swap 的數量一開始就決定了,也就是你沒有辦法透過 file swap 增加可以用的記憶體。另外因為是 OpenVZ 的關係,上面不能跑 Docker 之類的 container。
  • 另外一種是虛擬機類的,通常會比 OpenVZ 類貴一些,像是 KVM 或是 Xen,這類因為技術上是全虛擬化,通常都可以跑 Docker 這類 container 技術。

接下來就是踩地雷了... XD

Python 2 的 EoL 日期將會是 2020 年年初

在「Python 2 EOL will be 2020-01-01」這邊看到的,文章標題的連結是 mailing list 上的內容:「[Python-Dev] Python 2.7 -- bugfix or security before EOL?」。

Guido van Rossum (Python 的發明人) 在回覆關於「Python Developer’s Guide — Python Developer's Guide」上面的資訊時的說明... 大約還有一年九個多月的時間。

然後發現原來 Python 在 release 時是會發佈 PEP 的,像是「PEP 373 -- Python 2.7 Release Schedule」這樣的資訊。其他版本可以在索引頁「PEP 0 -- Index of Python Enhancement Proposals (PEPs) | Python.org」翻到。

End-to-End Encryption 的標準?

看到「The Messaging Layer Security (MLS) Protocol」這個被提出來的標準,還在討論中...

簡介就說明了這個標準除了標準的 E2E 外,還設計了有效率的 Group 機制:

Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two participants need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy and post-compromise security for groups in size ranging from two to thousands.

要設計機制的人可以拿來翻翻看...

Transport-Layer Encryption 與 End-to-End Encryption 的差異

EFF 的「Transport-Layer Encryption vs End-to-End Encryption - GIF」這篇文章介紹了 Transport-Layer Encryption 與 End-to-End Encryption 的差異,最後還給了一張 GIF 說明:

其實 GIF 給的範例還蠻清楚的,在 Transport-Layer Encryption 中服務提供商可以看到原始內容 (以 GIF 內提到的例子就是 Google),而在 End-to-End Encryption 中就不行,只有傳輸雙方可以知道原始內容。

然後文章裡也提到了 Tor Messenger,可以吃現有的通訊軟體,然後在上面疊出 End-to-End Encryption。

PHP 7.2.0 釋出

PHP 7.2.0 釋出:「PHP 7.2.0 Released」。

不相容的改變可以參考「Backward incompatible changes」,看起來不算多... 另外有預定要拔掉或是不相容修改的「Deprecated features in PHP 7.2.x」也可以看一看。

到 EoL (完全沒支援) 期限的順序分別是 PHP 7.0 (2018/12/3),PHP 5.6 (2018/12/31),PHP 7.1 (2019/12/1),PHP 7.2 (2020/10/30)。

Adobe Flash 將在 2020 年 End of Life

Adobe 發出的公告,將在 2020 年中止所有對 Flash 的支援:「Flash & The Future of Interactive Content」。

Specifically, we will stop updating and distributing the Flash Player at the end of 2020 and encourage content creators to migrate any existing Flash content to these new open formats.

然後 GoogleMicrosoft 也來補刀講兩句話:「So long, and thanks for all the Flash」、「Saying goodbye to Flash in Chrome」、「The End of an Era – Next Steps for Adobe Flash」。

Ubuntu 12.04 終結 (EoL)

Ubuntu 12.04 (Precise Pangolin) 上個禮拜宣佈終結了:「Ubuntu 12.04 (Precise Pangolin) End of Life reached on April 28, 2017」。還有被迫要使用 12.04 的人可以買 ESM (Extended Security Maintenance):「Introducing Ubuntu 12.04 ESM (Extended Security Maintenance)」。

話說回來,16.04 用到現在 (都已經出到 16.04.2 了),用起來覺得整體的流暢度與穩定度比 14.04 差了一大截...

離 PHP 5.5 官方中止支援不到兩個禮拜了...

PHP 網站上的「Supported Versions」可以看到 PHP 5.5 將要停止支援了:

PHP 5.6 因為是 PHP 5 的最後一個版本,有特殊待遇,時間會拉的比較長 (功能性更新多四個月,安全性更新多一年):

As it is the final PHP 5 release, support for PHP 5.6 has been extended: active support will run for an additional four months, and the security fix period has been doubled from one to two years. Other releases are unaffected.

話說 PHP 7.1 也在 alpha 階段了...