← 回學習中心

安全教學

API 權限設定安全指南

在 Bitfinex 建立 API 鑰匙時,是要給 Hahalend 用。只要開兩項權限:讀取、放貸。提款和交易,保持關閉。就這麼簡單。Hahalend 只需要看得到你的餘額、能送出或取消出借單。權限開得比這個多,它會直接拒絕存起來。

接下來會照步驟,說明怎麼在 Bitfinex 上設定。還有鑰匙交出去之後,會發生什麼事:怎麼加密、什麼時候才會解密。以及萬一 Hahalend 自己出問題,老實說最壞會壞到什麼程度。

詳細步驟

打開 Bitfinex 的 API 鑰匙建立頁面

登入你的 Bitfinex 帳戶。找到 API Keys。建立一把專門給 Hahalend 用的新鑰匙。不要拿你已經開了其他權限的舊鑰匙來用。

只打開兩項:帳戶讀取、Funding 放貸

把讀取和放貸打開就好。提款、交易,或任何跟下單、成交有關的權限,全部保持關閉。不確定某個選項在做什麼?關掉,才是比較安全的預設值。真的少了 Hahalend 需要的權限,它會立刻告訴你。

(選用)把鑰匙鎖定給 Hahalend 的 IP

Bitfinex 可以把鑰匙鎖定住。只讓特定 IP 能用。這一步是選用的,但建議開。就算鑰匙不小心外洩,也沒辦法在別處使用。實際要鎖哪些 IP,連接鑰匙時的教學頁面上都寫清楚。

把鑰匙和密鑰貼進 Hahalend

送出的那一刻,Hahalend 就會檢查權限。開了提款或交易,連線會直接被拒絕。你得先回 Bitfinex 修好,才能再試一次。通過之後,後台只看得到鑰匙最後 4 碼。完整的值,不會再顯示給你看,也不會用可讀的形式存起來。

幫 Hahalend 帳戶開兩步驟驗證

這一步,保護的是登入 Hahalend 帳戶本身,跟 API 鑰匙能做什麼是兩回事。是選用的,隨時都能關掉。但這是你能做、最簡單的額外一步。

鑰匙交出去之後會發生什麼事

你的鑰匙和密鑰一存起來,就會先用 AES-256-GCM 加密。資料庫裡真正放的是密文,不是可以直接讀的鑰匙。Hahalend 伺服器需要查餘額,或送出借單的那一刻,才會在記憶體裡把它解開,立刻用掉。不會寫回硬碟存成明文,也不會出現在任何紀錄檔裡。

老實說最壞的情況

就算 Hahalend 的伺服器整台被攻破,存起來的鑰匙依然是密文。Bitfinex 自己也會擋住提款和交易。這層保護,不靠 Hahalend 保持安全。老實說的邊緣情況是:如果駭客連解密用的加密金鑰都拿到,確實看得到餘額和紀錄,也能送出或取消出借單。但一樣沒辦法把錢從 Bitfinex 搬走。這個限制,來自權限本身被允許做的事,不是額外加上去的承諾。

為什麼這條權限界線很重要

讀取加放貸,跟提款加交易,聽起來好像差別不大。但這條界線,就是整套安全設計能成立的原因。如果一把權限比較大的鑰匙外洩,或存放它的系統被攻破,影響範圍就是由這把鑰匙能做的事決定,不是靠其他保護做得多好來補救。把鑰匙的權限,限制在剛好夠用,才讓其他每一層保護,真正有意義。

這也是為什麼,偶爾換一把新鑰匙是合理的習慣,雖然沒有規定一定要做。只要懷疑鑰匙可能外洩,隨時可以到 Bitfinex 把舊的關掉、建立新的。Bitfinex 那邊一停用,Hahalend 這邊,自然就會拒絕舊鑰匙。

如果懷疑鑰匙外洩了

如果你懷疑鑰匙可能外洩了——截圖不小心流出、裝置被入侵,任何狀況都算。最快的處理方式,在 Bitfinex 那邊,不是 Hahalend:立刻到 Bitfinex 的 API 設定,把那把鑰匙停用。一停用,包括 Hahalend 在內,所有地方馬上就用不了。

接著照上面同樣的步驟,建立一把新鑰匙,重新連上 Hahalend。因為舊鑰匙本來就沒有提款或交易權限,那段時間實際的風險,頂多是有人看得到你的餘額和紀錄、能送出或取消出借單,沒辦法把錢搬走。

設定你的鑰匙

照著完整的 5 步驟教學設定,或看安全頁面了解全貌。