對 YubiKey 5 的 side-channel attack

Hacker News Daily 上看到的「EUCLEAK Side-Channel Attack on the YubiKey 5 Series (ninjalab.io)」,原文在「EUCLEAK」這邊。

YubiKey 5 的攻擊,攻擊需要能夠碰到實體的 key,透過 side-channel 取得 ECDSA secret key 進而複製:

The attack requires physical access to the secure element (few local electromagnetic side-channel acquisitions, i.e. few minutes, are enough) in order to extract the ECDSA secret key. In the case of the FIDO protocol, this allows to create a clone of the FIDO device.

新版的 firmware 解掉了這個問題:

The new YubiKey firmware 5.7 update (May 6th, 2024) switches the YubiKeys from Infineon cryptographic library to Yubico new cryptographic library. To our knowledge, this new cryptographic library is not impacted by our work.

但是官方文件上面也有提到 YubiKey 不支援 firmware 升級:「YubiKey Firmware is Not Upgradable」,對於安全性有高要求的人可能要聯絡 Yubico 看能不能換了...

另外手上的 YubiKey 從外觀不太好認,我是用 USB 的 Device ID 認的,發現官方有列出來,在 Linux 下可以用 lsusb 看到,Windows 應該是裝置管理員之類的地方可以看:「YubiKey USB ID Values」。

IEC 60320 C5 的接頭:米老鼠頭

前陣子從日本買的電器附的線是兩孔加地線,與 IEC 60320 C5 的頭:

雖然我手上剛好有 Panasonic WH 2881P 可以把地線硬接起來:

但想了想既然是標準接頭,弄一條新的線好像比較好,所以就在網路上找,結果發現都找不到... 本來想說是不是台灣沒在用這種頭,但後來想到很多筆電好像就是用這種頭?

多花了一些時間找資料,後來看到維基百科上面這樣寫:

許多用於筆記本電腦的小型開關模式電源。由於其形狀,通常稱為「三葉草」或「米老鼠」連接器。

改用「米老鼠 電源線」就出現一堆,苦啊...

便宜小主機的選擇

在「Low Cost Mini PCs (lowcostminipcs.com)」這邊看到有趣的 side project,作者從 eBay 上面掃出來的資料做成網頁直接可以選擇:「Low Cost Mini PCs」。

看原始碼可以看到直接把所有 item 都放進 html element,速度還蠻快的,我用 iPhone SE 3 開只要一秒鐘 (而且是 cold start,寫文章才想到用 iPhone 打開),比起很多搞「現代前端」的網站都快超多...

另外這讓我想到去翻 Intel 的規格網站,看一下這幾顆的差異:「Intel® Processor N200」、「Intel® Processor N100」、「Intel® Processor N97」、「Intel® Processor N95」。

其中 N97 是掛在 Embedded 區塊下的,而其他三顆都是掛在 Mobile 下,不過 N200 的 Embedded Options Available 是 Yes,不過意思跟想像的好像不太一樣:

“Embedded Options Available” indicates the SKU is typically available for purchase for 7 years from the launch of the first SKU in the Product family and may be available for purchase for a longer period of time under certain circumstances. Intel does not commit or guarantee product Availability or Technical Support by way of roadmap guidance. Intel reserves the right to change roadmaps or discontinue products, software and software support services through standard EOL/PDN processes. Product certification and use condition information can be found in the Production Release Qualification (PRQ) report for this SKU. Contact your Intel representative for details.

功耗標示上面,N200 與 N100 的 TDP 都是 6W,而 N97 到 12W,N95 則是到 15W。

如果把 N200 與 N100 抓出來比較,看起來 N200 的時脈可以衝高一點,然後內建的 GPU 強一些,但其他就沒什麼差異了,難怪 N100 變成新一代的小主機首選...

2GB 版本的 Raspberry Pi 5

本來是沒什麼注意的,直到 Jeff Geerling 丟出測試提到同樣是 Raspberry Pi 5,2GB 版本的比起其他版本在 idle 狀態省了不少電才注意到:「New 2GB Pi 5 has 33% smaller die, 30% idle power savings」。

他拿了 4GB 與 8GB 的 RPi5 對比,可以看到 4GB 與 8GB 版本的耗電量沒有太大差異,反而是 2GB 版本有明顯的下降:

官方網站上面「Processors」這邊提到 BCM2712 這顆 D0 與 C1 的差異在於 D0 拿掉了沒有用到的功能 (當初自己研發這顆晶片的時候可能趕時間,從其他地方弄過來沒有整理?):

The D0 stepping of BCM2712 removes unused functionality from BCM2712C1. There is no functional difference between the C1 and D0 steppings. Physically, the packages use the same amount of space.

官方雖然提到 package 的大小一樣,但拆開封裝的外殼後發現 die 小了不少:

這對於被動散熱的系統算是個蠻大的改善,看起來就是少了 0.9W 左右,可以在全速運轉的狀態下持續更久才遇到過熱降速。

話說本來的 4GB 與 8GB 版本,如果庫存用完後應該也有可能換成這顆?

這個種類的機器拿來跑一些小東西還不錯... 像是 1GB RAM 的 Raspberry Pi 3 Model B 到現在都還是拿來跑 SmokePing 記錄家裡網路的狀況。

不過如果是想要在客廳有個小台的桌機的話,我還是推 Intel N100,一方面是記憶體多 (至少可以拉到 16GB RAM),另外一方面是 CPU 也快不少,然後 M.2 的 disk 通常是出廠的時橫就會提供,相容性不用管太多。

另外軟體上面除了 Linux 類的以外也可以選 Windows,對於家人要使用的門檻可能會低一些。

當然如果你真的對 Raspberry Pi 的 ecosystem 以及 GPIO 有很強烈的偏好的話又是另外一回事了,這個情況比較偏宗教信仰的邏輯:未必認同但是給予尊重。

Android 規劃 16KB Page Size

Hacker News 上看到 Android 在規劃 16KB Page Size 的消息:「Adding 16 kb page size to Android (googleblog.com)」,原文是「Adding 16 KB Page Size to Android」。

Android 目前主力是 4KB Page Size,但因為 ARM 有支援 16KB Page Size,所以測試後發現雖然會多用 9% 記憶體,但效能會增加不少:

Most CPUs today support a 4 KB page size and so the Android OS and applications have historically been built and optimized to run with a 4 KB page size. ARM CPUs support the larger 16 KB page size. When Android uses this larger page size, we observe an overall performance boost of 5-10% while using ~9% additional memory.

雖然說 overall performance 有提升,但在「Benefits and performance gains」這邊可以看到目前列出來的項目都是特定的行為 (像是 app 啟動,camera 啟動,或是開機時間),這點可能要再看看其他的評測。

16KB Page Size 應該是個取捨,畢竟手機不像伺服器隨便就是上百 GB RAM 甚至到 TB RAM,跑一些吃記憶體的應用用 Huge Page 拉到 MB 等級的 Page Size 比較划算...

Backblaze 的 2024Q2 硬碟報告

Backblaze 的 2024Q2 硬碟報告有些新的花樣:「Backblaze Drive Stats for Q2 2024」。

先大概掃一下文字的部分,可以看到 HGST 這邊的 HUH721212ALN604 有狀況,用季計算的 AFR 偏高 (但還沒高到觸發到整個生命週期的 AFR 值):

An HGST surprise: Over the years, the HGST drive models we have used performed very well. So, when the 12TB HGST (model: HUH721212ALN604) drive showed up with a 7.17% AFR for Q2, it’s news. Such uncharacteristic quarterly failure rates for this model actually go back about a year, although the 7.17% AFR is the largest quarterly value to date. As a result, the lifetime AFR has risen from 0.99% to 1.57% over the last year. While the lifetime AFR is not alarming, we are paying attention to this trend.

比較有趣的是多了幾張圖,用四象限分類可以更清晰的看出不同型號的情況:

另外還有依照時間變化的樣子:

這樣看起來更直覺了,比起之前對表格對半天方便不少,不過少了信賴區間的資訊,要注意硬碟的量...

Intel N100 小主機

Hacker News 上看到在討論 Intel N100 小主機:「Intel N100 Radxa X4 First Thoughts (bret.dk)」,原文在「Intel N100 Radxa X4 First Thoughts」,剛好我自己的 N100 主機也滿一年了 (2023/07/15 拿到的),來整理一下這一年用下來的感想?

我當時買的主機價錢是 $5,147 含稅,記憶體與硬碟的規格是 16GB RAM + 512GB SSD,掛著 HiNet 的非固固 IP 在用 (非固定制網路的固定 IP,就是固一動七的設定)。

當初買他的原因是這算是 Intel 小主機 CPU 的大進步,在 2022 年如果想要找個二十四小時都開機,但大多時間都在 idle 的小主機,會選到 2013Q4 出的 J1900,主要是看到這顆 CPU 的 TDP 掛 10W。

但 2023 年就突然有了變化,在 2023Q1 出的 N100 差不多是五倍的效能 (拿 CPU Benchmark 上面的資料),然後 TDP 標示是 6W...

拿到以後裝了 Ubuntu 22.04,新版的 kernel 跑起來沒什麼問題,在服務都丟上去跑,實際接 power meter 看整機功耗,上面的程式 idle 時差不多在 10W 多一些,算是還蠻好用的機器。

Hacker News 上有人討論與 Raspberry Pi 5 的比較,不過兩邊的定位不太一樣,Raspberry Pi 到目前還是偏學習面向,可以看到不少人會用上面的 GPIO 接 sensor 或是其他裝置做很多事情。

而 N100 畢竟是 x86-64 架構,可以跑 Windows 加上效能頗不錯,對於辦公室文書機來說頗好用的,同樣道理,拿來跑會議室的公用電腦應該也不錯。

兩邊各自有已經發展起來的生態系...

Amazon EC2 推出 Graviton4 的機種 r8g.*

Amazon EC2 推出了 Graviton4 的新機種:「AWS Graviton4-based Amazon EC2 R8g instances: best price performance in Amazon EC2」。

第一波 Graviton4 的機種是 R 系列的機器,r8g.*,依照官方說法有機會到 30% 的效能提升:

AWS Graviton4-based Amazon EC2 R8g instances deliver up to 30% better performance than AWS Graviton3-based Amazon EC2 R7g instances.

價錢的部分翻了一下,貴了 10% 左右。另外機器大小上限也有改變,之前 r7g.metal 是 64 vCPU + 512GB RAM,這次 r8g.metal-24xl 是 96 vCPU + 768GB RAM,另外還有 r8g.metal-48xl 的 192 vCPU + 1536GB RAM 的版本,上限拉到原來的三倍。

話說 t4g 還是 Graviton2 的機種呢,什麼時候有機會用到 t5g 呢...

最近 Linux Kernel 對 Raspberry Pi 效率的提升

在「NUMA Emulation speeds up Pi 5 (and other improvements)」這邊看到的,最近 Linux kernel 有些新的 patch 對 Raspberry Pi 的效率有不少提升。

其中 NUMA Emulation 這包對於 Raspberry Pi 5 的效能提升頗多:

[I]t can bring a significant performance uplift on Raspberry Pi 5.

照他的說法,Geekbench 6 的提升部分,單核 6% 多核 18%:

In more conrete numbers, testing with Geekbench 6 shows that splitting into four emulated NUMA nodes can uplift the single core score of the benchmark by around 6%, and the multi-core by around 18%.

Jeff Geerling 測試的結果則是 6% & 12%,沒有宣稱那麼多,但仍然是不小的提升。

話說我還在想要不要弄一台 Raspberry Pi 5,目前手上有幾台 1B、一台 3B+ 以及一台 4,除了跑 SmokePing 以外還有什麼值得跑的...

AWS Direct Connect 開始提供 400Gbps 的選擇

AWS Direct Connect 開始有 400Gbps 的選擇了:「AWS Direct Connect announces native 400 Gbps Dedicated Connections at select locations」。

依照裡面的 AWS Direct Connect Locations 連結可以知道目前開放的地點都在北美:

  • CoreSite VA1, Reston, VA
  • Equinix DC2/DC11, Ashburn, VA
  • CoreSite SV4, Santa Clara, CA
  • Equinix SV5, San Jose, CA

Terabit Ethernet 這邊翻400Gbps 的部分,是 2017 年的標準,另外有些比較長距離的選擇是後續推出來的。

這樣算是給了一些需要穩定大流量的企業的選擇,不然 internet 集縮比的問題造成線路頻寬時高時低。

話說 Direct Connect 在台灣的兩個點目前都還是掛到東京區 (ap-northeast-1) 上,後續台北 region 開點後不知道是會支援多個 region (i.e. 可以掛東京,也可以掛台北),還是會另外找機房接?