iT邦幫忙

2025 iThome 鐵人賽

DAY 22
0
Security

醫療數據的資安挑戰與創新解決方案系列 第 22

醫師登入驗證流程(Authentication)

  • 分享至 

  • xImage
  •  

金天的學習目標是理解醫療系統中「身份驗證(Authentication)」的重要性,並用 Python 模擬醫師登入的流程,確保只有合法醫師能進入系統。

一、理論重點

  • 身份驗證(Authentication) 是醫療系統的第一道安全防線,確保進入系統的人是合法醫師,而不是冒用者。
  • 常見驗證方式:帳號+密碼、OTP(一次性密碼)、智慧卡、生物辨識(指紋、人臉)。
  • 密碼不可明碼儲存,必須使用**雜湊(Hashing)+鹽值(Salt)**提高安全性。
  • 登入過程應搭配登入失敗次數限制雙因子驗證(2FA),避免暴力破解。
  • 在醫療環境中,身份驗證不僅是系統安全,更與病人隱私、醫療責任相關。

二、案例分享

2017 年美國 Memorial Healthcare System 資安事件,駭客竊取醫療人員帳號密碼,長達 1 年半未被發現,非法登入系統並存取 11.5 萬筆病人資料。由於缺乏帳號與權限管理及監控機制,醫院最終被判違反 HIPAA,支付 510 萬美元罰款,並被要求改善存取控管與審核流程。

三、簡單程式範例

import hashlib

# 模擬資料庫的帳號與雜湊後密碼
users_db = {
    "Jason": hashlib.sha256("jjjason995".encode()).hexdigest(),
    "Bill": hashlib.sha256("billchen12".encode()).hexdigest()
}

def login(username, password):
    hashed_pw = hashlib.sha256(password.encode()).hexdigest()
    if users_db.get(username) == hashed_pw:
        print(f"醫師 {username} 登入成功")
        return True
    else:
        print("登入失敗,帳號或密碼錯誤")
        return False

# 測試流程
login("Jason", "jjjason995")   # 正確
login("Bill", "billCHEN12")    # 錯誤

上面的程式碼模擬資料庫的帳號跟雜湊後密碼,接著模擬醫生登入,密碼若大小寫不同也無法登入喔!!以上的程式碼執行結果如下

https://ithelp.ithome.com.tw/upload/images/20250923/20169331kintPJxpsT.png


上一篇
雲端醫療服務介紹 – AWS 與 GCP 的應用
下一篇
醫師登入後查詢病歷(Authorization)
系列文
醫療數據的資安挑戰與創新解決方案24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言