0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是共享密鑰?TOTP身份驗(yàn)證協(xié)議的實(shí)現(xiàn)

哲想軟件 ? 來源:哲想軟件 ? 2023-02-27 11:16 ? 次閱讀

TOTP的含義

“基于時(shí)間的一次性密碼”是指使用共享密鑰值和系統(tǒng)上的當(dāng)前時(shí)間形成后僅在30-90秒內(nèi)有效的密碼。

密碼幾乎總是由每三十秒更改一次的六位數(shù)序列組成。另一方面,TOTP的某些實(shí)現(xiàn)使用四位數(shù)代碼,這些代碼在90秒后變得無效。

什么是共享密鑰?

TOTP身份驗(yàn)證使用在客戶端和服務(wù)器之間共享的密鑰形式的共享密鑰。

肉眼看來,共享密鑰似乎是一個(gè)字符串,其表示形式在Base32中類似于以下內(nèi)容:

KRUGS4ZANFZSAYJAONUGC4TFMQQHGZLDOJSXIIDFPBQW24DMMU======

計(jì)算機(jī)能夠理解和理解信息,即使人類無法以呈現(xiàn)的方式辨認(rèn)信息。

客戶端和服務(wù)器在單次傳輸密鑰后,共享密鑰的副本安全地存儲(chǔ)在各自的系統(tǒng)上。

如果攻擊者能夠發(fā)現(xiàn)共享密鑰的價(jià)值,那么他們將能夠構(gòu)建自己獨(dú)特的合法一次性密碼。因此,TOTP的每個(gè)實(shí)現(xiàn)都需要特別注意以安全的方式安全地存儲(chǔ)共享密鑰。

什么是系統(tǒng)時(shí)間?

每臺(tái)計(jì)算機(jī)和手機(jī)中都有一個(gè)時(shí)鐘,用于測(cè)量所謂的Unix時(shí)間。

Unix時(shí)間是根據(jù)自1年1970月00日00:00:<>UTC 以來經(jīng)過的秒數(shù)來衡量的。

Unix時(shí)間似乎只不過是一串?dāng)?shù)字:1643788666

然而,這個(gè)小數(shù)字非常適合生成OTP,因?yàn)榇蠖鄶?shù)使用Unix時(shí)鐘的電氣設(shè)備彼此充分同步。

TOTP身份驗(yàn)證協(xié)議的實(shí)現(xiàn)

不建議使用密碼。但是,您可以通過將傳統(tǒng)密碼與時(shí)間敏感的一次性密碼(TOTP)結(jié)合使用來提高安全性。這種組合稱為雙因素身份驗(yàn)證或2FA,可用于安全地對(duì)您的帳戶、虛擬專用網(wǎng)絡(luò)(VPN)和應(yīng)用程序進(jìn)行身份驗(yàn)證。

TOTP可以在硬件和軟件令牌中實(shí)現(xiàn):

?TOTP硬件令牌是一種物理鑰匙串,可在小屏幕上顯示當(dāng)前代碼

?TOTP軟令牌是一種移動(dòng)應(yīng)用程序,可在手機(jī)屏幕上顯示代碼

使用軟件令牌還是硬件令牌都沒有區(qū)別。使用兩種不同形式的身份驗(yàn)證的目的是提高為您的在線帳戶提供的保護(hù)級(jí)別。您可以訪問一次性密碼生成器,您可以在雙因素身份驗(yàn)證期間使用該生成器來訪問您的帳戶。無論您有遙控鑰匙還是帶有身份驗(yàn)證應(yīng)用程序的智能手機(jī),都可以使用此生成器。

基于時(shí)間的一次性密碼如何工作?

共享密鑰的值包含在每個(gè)基于時(shí)間的一次性密碼(TOTP)的生成中,該密碼取決于當(dāng)前時(shí)間。

為了生成一次性密碼,TOTP方法會(huì)同時(shí)考慮當(dāng)前的Unix時(shí)間和共享密鑰值。

基于HMAC的一次性密碼(HOTP)方法中的計(jì)數(shù)器將換成基于時(shí)間的一次性密碼算法(HOTP算法的一個(gè)版本)中的當(dāng)前時(shí)間值。

一次性密碼(TOTP)技術(shù)基于哈希函數(shù),給定不確定長(zhǎng)度的輸入,生成固定長(zhǎng)度的短字符串。這種解釋避免了在技術(shù)語言上陷入困境。如果您只是擁有哈希函數(shù)的結(jié)果,您將無法重新創(chuàng)建用于生成它的原始參數(shù)。這是哈希函數(shù)的優(yōu)勢(shì)之一。

必須記住,TOTP提供比HOTP更高的安全級(jí)別。每30秒,使用TOTP時(shí)就會(huì)生成一個(gè)全新的密碼。使用HOTP時(shí),只有在輸入和使用前一個(gè)密碼后才會(huì)創(chuàng)建新密碼。事實(shí)上,即使HOTP的一次性密碼已被用于身份驗(yàn)證,它仍然有效,這為黑客提供了成功發(fā)起攻擊的重要機(jī)會(huì)。

使用多因素(MFA)進(jìn)行身份驗(yàn)證

用戶必須先在任何支持基于時(shí)間的一次性密碼的多因素身份驗(yàn)證(MFA)系統(tǒng)中注冊(cè)其 TOTP令牌,然后才能使用設(shè)備連接到其帳戶。

一些TOTP軟代幣需要為每個(gè)帳戶注冊(cè)不同的OTP生成器。這實(shí)際上意味著,如果您將兩個(gè)帳戶添加到身份驗(yàn)證器應(yīng)用程序,程序?qū)⒚?0秒生成兩個(gè)臨時(shí)密碼,每個(gè)帳戶一個(gè)。單個(gè)TOTP軟令牌(身份驗(yàn)證器程序)可以支持無限數(shù)量的一次性密碼生成器。單個(gè)一次性密碼生成器可在帳戶安全性受到威脅的情況下保護(hù)所有其他帳戶的安全。

要使用2FA,必須創(chuàng)建密鑰并在TOTP令牌和安全系統(tǒng)之間共享。然后,必須將安全系統(tǒng)的機(jī)密傳遞給令牌。

如何將共享機(jī)密發(fā)送到令牌?

通常,安全系統(tǒng)會(huì)創(chuàng)建一個(gè)二維碼,并請(qǐng)求用戶使用身份驗(yàn)證器應(yīng)用程序?qū)ζ溥M(jìn)行掃描。

這種類型的二維碼是對(duì)一長(zhǎng)串字母的視覺描述。粗略地說,共享的秘密是這個(gè)冗長(zhǎng)序列的一部分。

當(dāng)用戶使用身份驗(yàn)證器應(yīng)用程序掃描二維碼時(shí),該軟件將串起圖像并提取密鑰。身份驗(yàn)證器程序現(xiàn)在可以利用共享密鑰生成一次性密碼。

注冊(cè)TOTP令牌時(shí),密鑰僅發(fā)送一次。許多關(guān)于竊取私鑰的擔(dān)憂都得到了緩解。對(duì)手仍然可以竊取機(jī)密,但他們必須首先實(shí)際竊取令牌。

即使您沒有連接到互聯(lián)網(wǎng),它也可以工作!

要使用TOTP技術(shù),您不需要智能手機(jī)上的有效互聯(lián)網(wǎng)連接或物理密鑰。

TOTP令牌只需要獲取一次共享密鑰值。因此,安全系統(tǒng)和OTP生成器可以產(chǎn)生連續(xù)的密碼值,而無需通信。因此,即使計(jì)算機(jī)關(guān)閉,基于時(shí)間的一次性密碼(TOTP)也會(huì)運(yùn)行。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • VPN
    VPN
    +關(guān)注

    關(guān)注

    4

    文章

    285

    瀏覽量

    29533
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    41335
  • OTP
    OTP
    +關(guān)注

    關(guān)注

    4

    文章

    176

    瀏覽量

    46963
  • 生成器
    +關(guān)注

    關(guān)注

    7

    文章

    313

    瀏覽量

    20844

原文標(biāo)題:Passwork:所有關(guān)于基于時(shí)間的一次性密碼 (TOTP)

文章出處:【微信號(hào):哲想軟件,微信公眾號(hào):哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無線身份驗(yàn)證的門禁控制系統(tǒng)設(shè)計(jì)方案

    的網(wǎng)絡(luò),可提供身份驗(yàn)證傳輸框架,實(shí)現(xiàn)安全產(chǎn)品和服務(wù)的交付。它是一種用于創(chuàng)建、交付和管理安全身份驗(yàn)證的綜合性框架。簡(jiǎn)單來說,該基礎(chǔ)架構(gòu)是一個(gè)中央安全庫(kù),通過安全的網(wǎng)絡(luò)連接,并以公開的加密密鑰
    發(fā)表于 11-05 11:11

    基于ESP32實(shí)現(xiàn)打開身份驗(yàn)證器的設(shè)計(jì)

    描述打開身份驗(yàn)證器我總是對(duì)這些小型設(shè)備感到驚訝。我爸爸用這些來登錄他的工作筆記本電腦,我無法理解它如何在沒有連接到任何網(wǎng)絡(luò)的情況下生成代碼。我啟動(dòng)了谷歌并試圖搜索它,令人驚訝的是它使用了一個(gè)非常驚人
    發(fā)表于 07-25 06:35

    ESP8266有沒有辦法在不使用指紋的情況下使用HTTPS,只使用密鑰作為身份驗(yàn)證

    的,因?yàn)樗弧鞍踩?,即使使用基本的用戶?密碼身份驗(yàn)證也是如此,而且 HTTPS 需要指紋。有沒有辦法在不使用指紋的情況下使用 HTTPS,只使用密鑰作為身份驗(yàn)證?那會(huì)安全嗎?
    發(fā)表于 02-28 06:34

    PN5180無法使用mifare classic進(jìn)行身份驗(yàn)證怎么解決?

    ....ok 2. Anticollision CL1.....ok 3. 選擇......ok 4. 驗(yàn)證....錯(cuò)誤當(dāng)我發(fā)送身份驗(yàn)證命令時(shí),我得到 0x02(等待卡響應(yīng)超時(shí)(卡不存在)。)但是卡存在,我
    發(fā)表于 03-23 08:46

    如何創(chuàng)建一個(gè)經(jīng)過身份驗(yàn)證的會(huì)話以使用DeleteAll函數(shù)?

    我想使用 AES 密鑰與 se050 創(chuàng)建經(jīng)過身份驗(yàn)證的會(huì)話。nano 包似乎不支持這一點(diǎn)。我的理解正確嗎? 這很重要 b/c 我想為特定密鑰的安全密鑰和數(shù)據(jù)設(shè)置策略。我知道您可以在設(shè)
    發(fā)表于 06-08 08:36

    什么是身份驗(yàn)證和授權(quán)

    什么是身份驗(yàn)證和授權(quán) 根據(jù)RFC2828(Internet Security Glossary,May2000),驗(yàn)證是“校驗(yàn)被或向某系統(tǒng)實(shí)體聲明的身份的過程”。此處的關(guān)鍵字
    發(fā)表于 04-03 16:03 ?5718次閱讀

    什么是Kerberos身份驗(yàn)證協(xié)議

    什么是Kerberos身份驗(yàn)證協(xié)議 kerberos是由MIT開發(fā)的提供網(wǎng)絡(luò)認(rèn)證服務(wù)的系統(tǒng)。它可用來為網(wǎng)絡(luò)上的各種server提供認(rèn)證服務(wù),使得口令不再
    發(fā)表于 04-03 16:04 ?3010次閱讀

    什么是詢問握手身份驗(yàn)證協(xié)議

    什么是詢問握手身份驗(yàn)證協(xié)議 CHAP(詢問握手身份驗(yàn)證協(xié)議)是用于遠(yuǎn)程登錄的身份驗(yàn)證協(xié)議,通過
    發(fā)表于 04-03 16:06 ?2627次閱讀

    什么是密碼身份驗(yàn)證協(xié)議

    什么是密碼身份驗(yàn)證協(xié)議 PAP是一種身份驗(yàn)證協(xié)議,是一種最不安全的身份協(xié)議,是一種當(dāng)客戶端不
    發(fā)表于 04-03 16:07 ?1570次閱讀

    身份驗(yàn)證和生物識(shí)別身份系統(tǒng)應(yīng)用越加廣泛

    身份驗(yàn)證和生物識(shí)別身份系統(tǒng)應(yīng)用越加廣泛
    發(fā)表于 02-27 14:37 ?1519次閱讀

    PCB身份驗(yàn)證

    電子發(fā)燒友網(wǎng)站提供《PCB身份驗(yàn)證器.zip》資料免費(fèi)下載
    發(fā)表于 07-22 10:09 ?2次下載
    PCB<b class='flag-5'>身份驗(yàn)證</b>器

    基于DS28S60的雙向身份驗(yàn)證示例

    本應(yīng)用筆記詳細(xì)介紹了DS28S60與Jupyter筆記本配合使用進(jìn)行雙向認(rèn)證的基本應(yīng)用。它使用分步方法來演練設(shè)置設(shè)備和所有相關(guān)軟件,創(chuàng)建用于通過 ECDHE 密鑰交換加密數(shù)據(jù)的共享密鑰,使用 AES-GCM 加密和解密數(shù)據(jù),以及
    的頭像 發(fā)表于 02-17 11:32 ?560次閱讀

    HDCP 2.2:使用中繼器進(jìn)行局部性檢查、SKE和身份驗(yàn)證

    使用的基礎(chǔ)加密標(biāo)準(zhǔn)。AKE 是身份驗(yàn)證協(xié)議的第一步。在這里,我們將繼續(xù)探索協(xié)議的后續(xù) 3 個(gè)步驟:位置檢查、會(huì)話密鑰交換 (SKE) 和中繼器身份驗(yàn)
    的頭像 發(fā)表于 05-29 09:24 ?1818次閱讀
    HDCP 2.2:使用中繼器進(jìn)行局部性檢查、SKE和<b class='flag-5'>身份驗(yàn)證</b>

    HDCP 2.2:身份驗(yàn)證密鑰交換

    HDCP 發(fā)射器可以隨時(shí)啟動(dòng),甚至在之前的身份驗(yàn)證完成之前。HDCP 接收器的公鑰證書由 HDCP 發(fā)射器驗(yàn)證,然后設(shè)備共享密鑰 Km。這個(gè)存儲(chǔ)的主
    的頭像 發(fā)表于 05-29 09:28 ?3782次閱讀
    HDCP 2.2:<b class='flag-5'>身份驗(yàn)證</b>和<b class='flag-5'>密鑰</b>交換

    TMP1827 的 密鑰生成和身份驗(yàn)證機(jī)制

    電子發(fā)燒友網(wǎng)站提供《TMP1827 的 密鑰生成和身份驗(yàn)證機(jī)制.pdf》資料免費(fèi)下載
    發(fā)表于 09-09 09:24 ?0次下載
    TMP1827 的 <b class='flag-5'>密鑰</b>生成和<b class='flag-5'>身份驗(yàn)證</b>機(jī)制