我們的應用程序由在App Engine上運行的REST Web服務和一個Flash客戶端組成。我們需要確保只有我們的客戶端可以向Web服務發出請求並防止重播攻擊等情況。確保在App Engine上運行的Web服務的安全
我不是安全專家(到目前爲止),所以我想要一些建議與我提出的安全計劃。
系統將使用共享密鑰。相同的密鑰將由服務器和客戶端共享。我知道,如果密鑰暴露(例如通過逆向工程flash客戶端),整個系統就會關閉。最初,客戶端向服務器發出登錄請求。服務器以挑戰(隨機數)迴應。客戶端發回挑戰的HMAC-SHA1摘要。如果摘要匹配服務器發回的時間戳。客戶端將在消息(和消息摘要 - HMAC-SHA1)中使用此時間戳來緩解重放攻擊。
Baiscally這就是它。是否有意義?當服務器查看一條消息時(我正在考慮大約30秒鐘的某個地方),可以忍受的時間增量是什麼?還有其他意見嗎?
編輯:哦,什麼會產生一個很好的方法來生成密鑰?
謝謝。
乾杯, 亞歷
我們總是可以對swf文件進行混淆/加密。除此之外,我不確定在應用程序引擎上與https有什麼交易。 – Alex 2010-09-07 08:04:35
混淆只是一個小小的不便,它不會讓某人離開太久。 GAE支持https,但不支持您的自定義域。我聽說他們計劃儘快在自定義域名上支持它,但這只是葡萄藤。有關詳情,請參閱此問題 - http://code.google.com/p/googleappengine/issues/detail?id=792 – 2010-09-07 09:03:08