[發明專利]一種用于應用程序和服務器之間交換數據安全的請求方法在審
| 申請號: | 201410220742.5 | 申請日: | 2014-05-23 |
| 公開(公告)號: | CN103973703A | 公開(公告)日: | 2014-08-06 |
| 發明(設計)人: | 王磊;崔崢;吳輝斌 | 申請(專利權)人: | 杭州智屏科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;G06F21/64 |
| 代理公司: | 浙江永鼎律師事務所 33233 | 代理人: | 王梨華 |
| 地址: | 310000 浙江省杭州市西*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 應用程序 服務器 之間 交換 數據 安全 請求 方法 | ||
技術領域
本發明涉及網絡通信領域,尤其是涉及一種用于應用程序和服務器之間交換數據安全的請求方法。
背景技術
重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊,是指攻擊者發送一個目的主機已接受過的包,來達到欺騙系統的目的,主要用于身份認證過程,破壞認證的正確性,重放攻擊可以由發起者,也可以由攔截并重發該數據的敵方進行,攻擊者利用網絡監聽或者其他方式盜取認證憑據,之后再把它重新發給認證服務器,重放攻擊在任何網絡通信過程中都可能發生,是HTTP請求常見的攻擊方式之一;對應用程序與服務器之間交換數據而言,沒有一個可靠地身份認證機制,易造成一系列的安全問題:比如信息泄露、竊聽、假冒、授權侵犯等等,防止重放攻擊的一般方法是使用時間戳,通過附加的注冊請求消息的日期和時間,但這種方法很容易被攻擊者識破并篡改,造成安全問題。
發明內容
本發明是為了解決應用程序和服務器之間交換數據容易被攻擊而產生的安全問題,提供一種防止HTTP請求內容被篡改、防止重放攻擊,保證數據的機密性、來源可靠性和完整性的用于應用程序和服務器之間交換數據安全的請求方法。
為了實現上述目的,本發明采用以下技術方案:一種用于應用程序和服務器之間交換數據安全的請求方法,防止應用程序和服務器之間產生重放攻擊,包括設置時間戳,所述的服務器設有時間戳數據庫,所述的應用程序端和服務器端的底層代碼中都設有一個約定好的共同的私鑰,所述應用程序端利用私鑰計算生成簽名,所述應用程序端向服務器端發出請求時將簽名和時間戳一同發出,所述的服務器端在接到應用程序端請求后,所述服務器端根據應用程序端利用私鑰重新計算生成簽名,所述服務器端對時間戳和兩個簽名分別進行驗證。數字簽名,就是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明,保證信息傳輸的完整性、發送者的身份認證、防止數據被篡改;本方案在應用程序端和服務端的底層代碼中都設有一個共同的私鑰,用于生成有效的簽名,該秘鑰存在于代碼底層,不會載入到網絡傳輸中,因此無法被攻擊者攔截到,服務器在接到請求時驗證雙方的時間戳和簽名,對于無效的時間戳或簽名,可直接返回無效的請求,避免了遭受重放攻擊,保證了數據的機密性、可靠性和完整性。
作為優選,所述的服務器端首先判斷時間戳的有效性,然后利用私鑰重新計算生成簽名,所述服務器端以此簽名與應用程序端傳來的簽名進行驗證。時間戳,是通過附加的注冊請求消息的日期和時間,但很容易被攻擊者識破并篡改,因此,對于無效的時間戳可直接返回無效申請,不必進行簽名驗證了,對于有效的時間戳,則再進行簽名驗證,這樣可節約驗證時間。
作為優選,所述的應用程序端、服務器端利用私鑰計算簽名時均采用哈希算法。哈希算法將任意長度的二進制值映射為固定長度的較小二進制值,稱為哈希值,哈希值是一段數據唯一且極其緊湊的數值,如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產生不同的值,要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數據的哈希值可以檢驗數據的完整性;比如采用MD5 HASH 算法,該算法具有單向性、抗沖突性、映射分布均勻性和差分分布均勻性,從而有效防止Secret Key盜用、數據篡改等惡意攻擊行為。
因此,本發明具有如下有益效果:1)防止HTTP請求內容被篡改;2)防止重放攻擊;3)保證數據的機密性、來源可靠性和完整性。
附圖說明
圖1是本發明的原理示意圖。
具體實施方式
下面對本發明做進一步的描述。
如圖1所示,一種用于應用程序和服務器之間交換數據安全的請求方法,防止應用程序和服務器之間產生重放攻擊,包括設置時間戳,服務器設有時間戳數據庫,應用程序端和服務器端的底層代碼中都設有一個約定好的共同的私鑰,應用程序端利用私鑰計算生成簽名,應用程序端向服務器端發出請求時將簽名和時間戳一同發出,服務器端在接到應用程序端請求后,服務器端首先判斷時間戳的有效性,然后利用私鑰重新計算生成簽名,服務器端以此簽名與應用程序端傳來的簽名進行驗證,應用程序端、服務器端利用私鑰計算簽名時均采用MD5 哈希算法。
具體使用過程是,應用程序端向服務器端發出帶有簽名和時間戳的請求,服務器端首先驗證時間戳是否有效,如果時間戳無效則返回無效請求,如果時間戳有效則將其記錄到時間戳數據庫中作為下次有效期判定條件,然后服務器計算簽名并將其與應用程序端發來的簽名進行驗證,如果無效則返回無效請求,如果簽名有效則響應應用程序端請求并傳送數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州智屏科技有限公司,未經杭州智屏科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410220742.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:電動窗簾超越離合器
- 下一篇:生物質臥式裂解氣化爐





