我正嘗試將身份驗證添加到xmlrpc服務器(將在P2P網絡的節點上運行),而不使用用戶:password @ host,因爲這會顯示密碼給所有的攻擊者。認證是基本上創建一個專用網絡,防止未經授權的用戶訪問它。如何將身份驗證添加到(Python)扭曲的xmlrpc服務器
我的解決方案是創建一個非常類似於this的質詢響應系統,但我不知道如何將其添加到xmlrpc服務器代碼。 我發現了一個類似的問題(需要定製認證)here。
所以我試着創建一個模塊,只要客戶端連接到服務器就會被調用。這將連接到在客戶端上運行的質詢響應服務器,如果客戶端正確響應將返回True。唯一的問題是,我只能調用模塊一次,然後我有一個反應堆不能重新啓動錯誤。那麼有沒有什麼辦法可以讓一個類只要調用「check()」函數就可以連接並執行此操作?
最簡單的事情是使用SSL進行連接嗎?這會保護密碼嗎?雖然這個解決方案不會是最佳的,因爲我試圖避免必須爲所有節點生成SSL證書。
唯一的問題是這些假設服務器是可信的。如果一個P2P節點意外地給了攻擊者的IP,那麼使用user:pass @ host會給他們登錄的詳細信息。我的身份驗證是相互的,因此也確保服務器知道密碼。 – bradleyjkemp
摘要式身份驗證不會向服務器顯示明文密碼。但是,聽起來你使用SSL真的會更好。爲所有節點生成SSL證書確實不那麼困難,併爲您提供更強有力的保證。 –
我想要做的是檢查我連接的節點是否有權成爲網絡的一部分。要在SSL中執行此操作,我需要一個證書頒發機構簽署所有證書,並且只信任那些證書。並行Python有一個類似於我嘗試創建的系統,但我不確定它是如何實現的。 – bradleyjkemp