【認證與授權】曇花一現的OTP如何保護我們的資產

更新於 發佈於 閱讀時間約 5 分鐘
使用網銀時我們常常會聽到OTP、OTP, 究竟OTP是什麼呢? 全名為「One Time Password」, 一次性密碼, 顧名思義就是密碼僅能一次性的使用, 在過去我們也都很清楚單純的帳號密碼登入已經不是一個非常安全的選項的, 萬一牽涉到重要的金錢交易時, 如果安全環節沒有兼顧, 將導致個人財產損失, 因此也讓各家銀行都將OTP的技術導入變成一種基本功能。
OTP的工作原理是生成一個只能使用一次且有時限的密碼,這個密碼在每次使用後就會失效,無法再重複使用。這樣的設計可以有效防止密碼被竊取或重複使用,提高帳戶的安全性。
常見的OPT生成方式包括以下幾種:
1. 手機應用程式:使用者在手機上安裝一個OTP生成器應用程式(例如Google Authenticator、Authy),該應用程式會根據特定演算法和密鑰生成一個短暫性的OTP。
2. 簡訊:使用者在登錄或進行特定操作時,系統會向其註冊的手機號碼發送一條包含OTP的簡訊。
3. 電子郵件:OTP也可以通過電子郵件發送給使用者,使用者在登錄時需要輸入郵件中提供的OTP。
當使用者收到OTP後,他們需要在指定的時間內輸入這個密碼,以完成身份驗證或授權的過程。由於OTP只能使用一次且有時效性,即使有人盜取了OTP,也無法在有效期過後再次使用。

以Google Authenticator的流程為例子

非常清楚,登入前服務提供者與Google Authenticator之間已經約定好: 每次登入前核發一組一次性密碼,而用戶則輸入這組一次性密碼進行登入並操作,確保安全性。
實務上,我們也會在手機裝上Google Authenticator。
至於如何註冊與使用,官方文件都有詳細的說明,這裡就直接附上傳送門,請大家自行閱讀囉:

演算法

Time-based One Time Password(TOTP)

基於時間的算法, 讓驗證碼具有時效性, 因此會依賴於時間。
1. 生成共享密鑰:服務提供商在用戶註冊時生成一個共享密鑰,並將其與用戶帳戶關聯。
2. 生成時間戳記:TOTP 基於時間,所以需要一個時間戳記。通常是以一個固定的時間間隔(例如 30 秒)為單位。
3. 用戶計算一次性密碼:用戶設備上的 TOTP 客戶端使用共享密鑰和當前的時間戳記來計算一次性密碼。計算過程包括將時間戳記除以時間間隔並向下取整,將結果與共享密鑰結合,然後進行哈希運算以生成一次性密碼。
4. 用戶提供一次性密碼:用戶將計算得到的一次性密碼提供給服務提供商進行驗證。
5. 服務提供商驗證一次性密碼:服務提供商使用相同的共享密鑰和時間戳記計算一次性密碼,然後比對用戶提供的一次性密碼和計算得到的一次性密碼是否匹配。如果匹配,驗證成功。
這種OTP模式是比較常見的一種模式,除了達到一次性以外,連同時效性也一併考慮,非常適合用於轉帳、錢包…等重要的資產轉移驗證。

HMAC-based One-time Password(HOTP)

基於Counter的算法, 計數器的值是每次使用後遞增的, 這樣每次生成的一次性密碼都是不同的。
1. 生成共享密鑰:服務提供商在用戶註冊時生成一個共享密鑰,並將其與用戶帳戶關聯。
2. 初始化計數器:將一個初始計數器(通常為 0)與用戶帳戶關聯。
3. 用戶計算一次性密碼:用戶設備上的 HOTP 客戶端使用共享密鑰和計數器來計算一次性密碼。計算過程包括將計數器轉換為固定位數的數字字串,將共享密鑰和計數器進行結合,然後進行哈希運算以生成一次性密碼。
4. 用戶提供一次性密碼:用戶將計算得到的一次性密碼提供給服務提供商進行驗證。
5. 服務提供商驗證一次性密碼:服務提供商使用相同的共享密鑰和計數器計算一次性密碼,然後比對用戶提供的一次性密碼和計算得到的一次性密碼是否匹配。如果匹配,驗證成功。

結語

目前蠻多應用程式都有綁上Google Authenticator做為OTP驗證的加強功能, 讓我們的登入除了帳號密碼之外, 更確保是本人所登入的, 增加駭客盜竊的難度, 除了需要偷竊到該網站的帳號密碼之外, 還需要破解OTP的驗證碼, 甚至是綁定於裝置上的Google Authenticator, 這無疑是大幅增加了難度, 等於駭客要針對某一位用戶進行入侵, 相對不容易啊!
我們在前面也介紹過「【認證與授權】JWT(JSON Web Token)簡介」的概念, 有限時間內的通行證, 而這次的OTP更加安全, 除了有限的時間以外, 更限制僅能使用一次, 大幅度增加駭客破解的難度, 因此許多網站與應用程式都會綁定這種OTP功能是基於安全考量的, 隨著複雜科技的發展, 加上大量數位化的趨勢, 諸如金融交易、虛擬錢包…等與金錢有關的應用都應該加入此機制, 減少被竊取的風險。
喜歡撰寫文章的你,不妨來了解一下:
歡迎加入一起練習寫作,賺取知識,累積財富!
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
118會員
266內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
這次來介紹軟體世界中很常遇到的授權策略,而有沒有比較好的一種策略方式,讓開發者可以遵循一套標準呢? 答案是有的,就來介紹一下新寵兒,Open Polocy Agent吧! 首先我們先搞懂什麼是認證? 什麼又是授權? 還懵懵懂懂的朋友們可以請先參考這一篇「Authentication、Authoriz
前一篇的「Authentication、Authorization,傻傻分不清楚?」主要在介紹認證與授權的差異之處,而本章節著重於授權這部分,也使用了經典的RBAC模型進行說明。 RBAC模型(Role-Based Access Control:基於角色的訪問控制), 認為可以抽象的表示: Who是
認證(authentication)跟授權(authorization)這兩個名詞常常被混淆,但本質上是完全不同的兩個概念,在數位化的時代下,為了確保每位使用者的安全性,每個系統幾乎都具備認證(authentication)與授權(authorization)這兩大功能,而這些概念也常常出現在我們生
概念: 有限時間內可使用通行證來要求對應的操作權限。 JWT 的組成內容有三個部分,由 . 做區隔,最後透過這三個部分,串成一個 Jwt 字串 [HEADER].[PAYLOAD].[SIGNATURE] 1. Header: 主要記載認證的方法 {     "typ": "JWT",     "
這次來介紹軟體世界中很常遇到的授權策略,而有沒有比較好的一種策略方式,讓開發者可以遵循一套標準呢? 答案是有的,就來介紹一下新寵兒,Open Polocy Agent吧! 首先我們先搞懂什麼是認證? 什麼又是授權? 還懵懵懂懂的朋友們可以請先參考這一篇「Authentication、Authoriz
前一篇的「Authentication、Authorization,傻傻分不清楚?」主要在介紹認證與授權的差異之處,而本章節著重於授權這部分,也使用了經典的RBAC模型進行說明。 RBAC模型(Role-Based Access Control:基於角色的訪問控制), 認為可以抽象的表示: Who是
認證(authentication)跟授權(authorization)這兩個名詞常常被混淆,但本質上是完全不同的兩個概念,在數位化的時代下,為了確保每位使用者的安全性,每個系統幾乎都具備認證(authentication)與授權(authorization)這兩大功能,而這些概念也常常出現在我們生
概念: 有限時間內可使用通行證來要求對應的操作權限。 JWT 的組成內容有三個部分,由 . 做區隔,最後透過這三個部分,串成一個 Jwt 字串 [HEADER].[PAYLOAD].[SIGNATURE] 1. Header: 主要記載認證的方法 {     "typ": "JWT",     "
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一分钟教你快速购买比特币操作教程 首次购买数字货币的新手用户,必须先完成KYC验证(新用户注册),然后使用欧易的快捷买币功能,简... 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 一分钟教你快速购买
Thumbnail
什麼是多因素驗證 (MFA)? 多因素驗證 (MFA) 是一種登入保護機制,需要使用者提供多個不同的驗證方式來確認身份。除了輸入密碼,使用者還可能需要: 輸入發送到手機的驗證碼 掃描指紋或面部 回答安全問題 這樣即使密碼被盜用,未經授權的用戶也很難登入帳戶。 為什麼需要多因素
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
在當今數位化快速發展的社會中,傳統的密碼驗證方法已逐漸顯露其局限性,如密碼遺忘、盜用以及安全漏洞等問題不斷。為解決這些問題,「FIDO(Fast Identity Online)認證」技術應運而生,旨在創造一個更安全、便利的網路認證環境。FIDO 認證不依賴傳統密碼,而是利用生物辨識技術如指紋、臉部
Thumbnail
以太坊上隱私協議@dop_org白皮書內測試網明牌空投- Tomi代幣持有者- Tomi Pioneers系列NFT持有者-測試網參與者流程:創建錢包領取測試代幣加密-發送-解密代幣Let's go 1⃣創建錢包 網址:https://doptest.dop.org?id=b5tWpB9 流程
Thumbnail
授權碼模式連線流程 用戶端請求自己的伺服器。 伺服器發現用戶沒登入,就導向認證伺服器。 認證伺服器顯示授權頁面,等待用戶授權。 用戶確認授權後,授權頁面會向認證伺服器請求授權碼。 用戶獲取授權碼。 用戶將授權碼傳給伺服器。 伺服器拿授權碼向認證伺服器取得token。 應用註冊
Thumbnail
假網站攻擊近10年一直是全球銀行業的頭痛問題,過去發卡機構也致力去防止因為日漸盛行的網上購物而引發的騙財技倆。 有一定年資的網購使用者,對於使用保安編碼器會有點印象,但成本太高,而且每天要帶着外出也十分不便(也容易出現遺失的風險),近年智能手機普及,很多銀行已經轉用mobileapp作為主要保安編
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一分钟教你快速购买比特币操作教程 首次购买数字货币的新手用户,必须先完成KYC验证(新用户注册),然后使用欧易的快捷买币功能,简... 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 一分钟教你快速购买
Thumbnail
什麼是多因素驗證 (MFA)? 多因素驗證 (MFA) 是一種登入保護機制,需要使用者提供多個不同的驗證方式來確認身份。除了輸入密碼,使用者還可能需要: 輸入發送到手機的驗證碼 掃描指紋或面部 回答安全問題 這樣即使密碼被盜用,未經授權的用戶也很難登入帳戶。 為什麼需要多因素
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
在當今數位化快速發展的社會中,傳統的密碼驗證方法已逐漸顯露其局限性,如密碼遺忘、盜用以及安全漏洞等問題不斷。為解決這些問題,「FIDO(Fast Identity Online)認證」技術應運而生,旨在創造一個更安全、便利的網路認證環境。FIDO 認證不依賴傳統密碼,而是利用生物辨識技術如指紋、臉部
Thumbnail
以太坊上隱私協議@dop_org白皮書內測試網明牌空投- Tomi代幣持有者- Tomi Pioneers系列NFT持有者-測試網參與者流程:創建錢包領取測試代幣加密-發送-解密代幣Let's go 1⃣創建錢包 網址:https://doptest.dop.org?id=b5tWpB9 流程
Thumbnail
授權碼模式連線流程 用戶端請求自己的伺服器。 伺服器發現用戶沒登入,就導向認證伺服器。 認證伺服器顯示授權頁面,等待用戶授權。 用戶確認授權後,授權頁面會向認證伺服器請求授權碼。 用戶獲取授權碼。 用戶將授權碼傳給伺服器。 伺服器拿授權碼向認證伺服器取得token。 應用註冊
Thumbnail
假網站攻擊近10年一直是全球銀行業的頭痛問題,過去發卡機構也致力去防止因為日漸盛行的網上購物而引發的騙財技倆。 有一定年資的網購使用者,對於使用保安編碼器會有點印象,但成本太高,而且每天要帶着外出也十分不便(也容易出現遺失的風險),近年智能手機普及,很多銀行已經轉用mobileapp作為主要保安編