ICT 每周速報(Week 33, 2021)


Willis WAN, Chun Yu

Posted 20 August 2021

4V

Artificial Intelligence 人工智能

Big Data 大數據

Data Quality 數據質素

Data Quantity 數據量

HKDSE ICT

ICT

Internet of Things 物聯網

Multi-factor Authentication 多重因素認證

Psuedo-random Function 偽隨機函數

Random Number Generator 隨機數生成系

Security Flaw 保安漏洞

Token 令牌

🖊 本周重點

🗞 News 1: 「大數據」潮流:數據量係咪一切?

一般嚟講,開發 AI 系統需要大量嘅數據,令到 AI 系統可以搵到數據入面嘅規律。要令呢類型嘅 AI 系統更準確,就只有扔更多數據落去個系統,等佢去學。結果,大部分公司只係集中係收集數據上,而呢個世界只要好少數公司有足夠嘅數據或者資源去做好個系統。

例如,係 2019 年,用手機叫外賣嘅中國人比美國人多 10 倍。中國嘅手機支付交易比美國多 50 倍。中國嘅共享單車租用率比美國多 300 倍。文化同營商環境令到中國嘅公司更容易收集到大量數據。

但係,只係集中喺收集數據上,只會抺殺我哋嘅創意。所以史舟福大學嘅吳恩達教授指出,我哋應該集中係點樣令到更多 AI 算法可以用更少嘅數據開發。

ICT 重點

之前都講過,想開發一個好嘅 AI 系統需要大量嘅數據。但係除咗個量 Quantity 次外,數據嘅質素 Quality 都好重要。

係討論大數據 Big Data 嘅時候,好多時我哋會考慮四個 V :

(話說呢四個 V 係我大學一年級嘅時候上堂學架 🙈)

所以,係開發一個 AI 系統嘅時候,我哋唔會諗到唔諗就扔曬啲數據落去。相反,我哋會用啲時間去了解下收集得嚟嘅數據,例如透過畫一啲 Charts 去視覺化(Visualise)啲數據。然後我哋會做啲 Data Preprocessing,確保啲數據靚靚仔仔先之攞去 Train 個 AI 系統。

呢啲步驟都需要學過數據科學(Data Science)嘅專業人士去做;Willis 係呢一方面嘅認識真係好少。對呢方面有興趣嘅同學仔可以係大學揀有 Data Science 讀嘅 Programme,因為呢方面嘅就人才都越嚟越搶手㗎!

相關課題

新聞來源/詳細閱讀

🔖 News 2: Google 出品,係咪佳品?Titan Security Key

Google 宣佈推出最新版本嘅安全金鑰 Google Titan Security Key。呢個版本嘅金鑰加入 USB-C 接頭同埋近場通訊(Near-field Communication;NFC)技術,等用戶可以用呢個裝置嚟進行雙重認證(Two-factor Authentication;2FA)。

ICT 重點

先同大家溫下書。多重因素認證(Multi-factor Authentication;MFA)有三個主要認證方法:

  1. Something You Know:用戶所知道嘅事,例如係密碼;
  2. Something You Have:用戶所擁有嘅裝置;
  3. Something You Are:用戶嘅生物特徵,例如係指紋同虹膜(Iris)。

好明顯,Google Titan Key 屬於 Something You Have。其實呢一類型,特別為 MFA 而設嘅裝置,稱為「通用第二因素 Universal 2nd Factor」(U2F)。以往嘅保安令牌(Security Token)好多時都只係用喺一間銀行或公司度。如果有好多銀行都俾 Security Tokens 你嘅話,用起上嚟就會好麻煩。U2F 容許更多網站同公司透過一個共用嘅裝置去多重認證用戶,簡化咗 2FA 嘅過程。如果呢類型嘅裝置可以普及起嚟嘅話,我哋就可以更好咁保護自己嘅數據同私隱。

相關課題

新聞來源/詳細閱讀

📱 News 3: 隨機數生成器的漏洞影響數十億 IoT 裝置

最近,有保安研究員發現,有數十億嘅物聯網(Internet Of Things;IoT)裝置並未正確地生成隨機數,導致保安漏洞。

IoT 裝置通常使用單晶片系統(System on a Chip;SoC),而 SoC 上面會有硬件去進行隨機數生成 (Random Number Generation;RNG)。由於呢個硬件會因為環境因素(主因係唔夠 Entropy,不過以 Willis 嘅數據科學知識只會越講越亂)而無法生成隨機數,再加上 IoT 系統甚少檢查 RNG 係咪成功,結果需要靠 RNG 嘅功能都未必成功。

有乜嘢功能係會用到 RNG 嘅呢?例如:加密時用嘅金鑰生成(Key Generation)或者在雜湊加鹽(Hashing and Salting)。呢啲保安功能有問題嘅話,自然會為個系統帶嚟保安漏洞。

ICT 重點

打開機嘅同學對 RNG 嘅個字一定唔會陌生。好多電腦遊戲,甚至傳統嘅 Table-top 遊戲例如飛行棋或者大富翁,都係 Base On 一啲隨機成份。(我係詳細閱讀嘅部分 Link 咗一段片講設計遊戲同隨機性嘅關係,有興趣嘅同學可以睇下。)但係,RNG 除咗遊戲之外,對保安(例如上文講到嘅金鑰生成)同統計學對好有幫助。後者有機會嘅話可以再詳細講下。

RNG 通常係 Elective C 同 D 入面 Programming 嘅題目入面,而通常都係透過一個子程式(Subroutine)嘅形式出現。有無諗過實際上點用一啲 Programming Languages 去生成隨機數呢?我用咗三種 DSE 會用嘅 Programming Languages 去實現一個 RNG:

{ Pascal }
program main;
begin
    randomize;
    writeln(trunc(random() * 10 + 1));
end.
/* C */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    srand(time(NULL));
    printf("%d", rand() % 10 + 1);
    
    return 0;
}
# Python
import random
import time

def main():
    random.seed(time.time)
    print(int(random.random() * 10 + 1))

if __name__ == "__main__":
    main()

值得留意嘅係,係我哋生成一個隨機數之前,我哋會 set 一個種子(seed)。因為電腦淨係識得跟住 Programmer 所寫嘅 Instructions 去做,所以真正嘅隨機對電腦嚟講係無可能。實際上,電腦會將個 Seed 擺落去一條好複雜嘅 Formula 到,令到個 Formula 嘅 Result 睇落好 Random。呢個方法就叫做「偽隨機數生成 Psudo-random Generator」。

相關課題

新聞來源/詳細閱讀

問題回顧

  1. 係討論大數據嘅時候,我哋會討論邊四個 V ?
  2. 「通用第二因素 Universal 2nd Factor」解決咗乜嘢問題?
  3. 隨機數生成器有啲乜嘢應用?

鐘意篇文嘅話,麻煩係下面個 IG Post 上面俾個 Like ❤️ 感謝感謝

更多內容

About the Author

Willis WAN, Chun Yu

A graduate in BBA(Information Systems) of HKUST. Tech Enthusiast, Teacher, Learner.

Copyright © 2021 All Rights Reserved