一種安全授權訪問的方法
【專利摘要】本發明提供了一種安全授權訪問方法,客戶端通過輸入用戶名和密碼,服務器通過接收到客戶端的用戶名和密碼與系統配置中保存的用戶名和密碼比較,如果匹配則訪問,否則,拒絕該客戶端的訪問,包括在客戶端的瀏覽器上,將用戶名及密碼填充到cookie字段拼接起來,然后進行加密,組成新的HTTP請求包提交給服務器的步驟。本發明充分利用HTTP請求包中的其他字段,提高服務器的安全性的驗證方法。
【專利說明】一種安全授權訪問的方法
【技術領域】
[0001]本發明涉及到嵌入式設備安全訪問領域,特別涉及在用戶進行身份認證過程中進行加密解密方法來授權客戶端訪問的方法。
【背景技術】
[0002]現在的嵌入式設備中,登陸訪問的是如下方法:
利用BASIC認證方式,客戶端向服務器請求訪問時,若客戶端尚未被驗證,則HTTP服務器將通過基本的認證過程對客戶端的用戶名及密碼進行驗證,以決定用戶是否合法。客戶端收到服務器的身份認證要求(Wffff-Authenticate)后,會提示用戶輸入用戶名及密碼,然后以BASE64加密,講密文附加在請求頭信息(Authorization)中。HTTP服務器收到請求包后,根據協議中的字段來解密出用戶名及密碼,進行驗證。如果用戶名及密碼正確,則根據客戶端的請求,返回客戶端所需要的數據;否則返回錯誤的信息或者要求客戶端重新提供用戶名及密碼。
[0003]此方法雖然符合日常使用,但是在安全方面存在如下缺陷:
A:由于客戶端提交的請求信息中帶有加密的用戶名及密碼,很容易被人提取出來破譯出真實的用戶名及密碼,造成設備使用的不安全性。
[0004]B:在服務器對客戶端驗證合法后,不再驗證后續的請求,進行合法性驗證,也會造成設備使用的不安全性。
【發明內容】
[0005]本發明的目的是為了解決以上問題,本發明提供一種安全授權訪問方法。
[0006]本發明的技術方案是:一種安全授權訪問方法,客戶端通過輸入用戶名和密碼,月艮務器通過接收到客戶端的用戶名和密碼與系統配置中保存的用戶名和密碼比較,如果匹配則訪問,否則,拒絕該客戶端的訪問,包括以下步驟:
步驟A、客戶端向服務器請求服務;
步驟B、客戶端收到服務器的身份認證要求后,提示用戶輸入用戶名和密碼;
步驟C、在客戶端的瀏覽器上,將用戶名及密碼填充到cookie字段拼接起來,然后進行加密,組成新的HTTP請求包提交給服務器;
步驟D、服務器后臺接收到HTTP請求包,提取包頭數據字段cookie,對該cookie進行解密,分解出客戶端提交的用戶名及密碼;
步驟E、服務器將分解出的用戶名及密碼與系統配置中的用戶名和密碼比較,判斷客戶端是否合法,若客戶端合法則返回客戶端請求的數據,否則返回報錯信息或者向客戶端提出身份認證要求,轉向步驟B。
[0007]進一步的,上述的安全授權訪問方法中:所述的步驟A中,客戶端是首次向服務器提出請求服務。
[0008]進一步的,上述的安全授權訪問方法中:所述的步驟C中,cookie字段拼接起來,然后進行加密,是采用Base64編碼方式加密或者采用MD5方法加密。
[0009]進一步的,上述的安全授權訪問方法中:所述的步驟C中,將將用戶名及密碼填充到cookie字段是采用“用戶名:密碼:action”,其中“action”是預先設定的標記。
[0010]進一步的,上述的安全授權訪問方法中:所述的步驟E中,在轉向步驟B之前,還需要清除cookie值。
[0011]本發明充分利用HTTP請求包中的其他字段,提高服務器的安全性的驗證方法。
[0012]下面結合具體實施例對本發明作較為詳細的描述。
【專利附圖】
【附圖說明】
[0013]圖1是使用本方法的整體流程圖。
【具體實施方式】
[0014]實施例1,如圖1所示,本實施例是一種安全授權訪問方法,客戶端通過輸入用戶名和密碼,服務器通過接收到客戶端的用戶名和密碼與系統配置中保存的用戶名和密碼比較,如果匹配則訪問,否則,拒絕該客戶端的訪問,包括以下步驟:
第I步:客戶端首次向服務器請求訪問,客戶端收到服務器的身份認證要求(Wffff-Authenticate)后,會提示用戶輸入用戶名及密碼。
[0015]第2步:在客戶端瀏覽器上,將用戶輸入用戶名及密碼填充到cookie字段拼接起來,目前我們采用的和Authorization字段類似,使用用戶名及密碼,例如這樣的格式user:password:action,其中user為客戶端輸入的用戶名,password為客戶端輸入的密碼,action為我們預先設定的標記。填充后,我們同樣使用的Base64編碼方式加密,當然也可以其他加密方式。如MD5加密方法。將密文填充到cookie字段。這樣我們就可以組成新的HTTP請求包提交給服務器。
[0016]第3步:當服務器后臺收到客戶端發來的請求數據,先提取我們需要的包頭數據字段Cookie,對Cookie字段進行Base64或者MD5解碼后,分解出客戶端提交的用戶名及密碼,標記值。
[0017]這里第2、3步中使用的MD5加密方法加密也是一種比較應用廣泛的加密方法。MD5方法具有如下特點:
1.加密是非對稱的。
[0018]2.在用戶端加密后,填充密文。
[0019]3.在服務器上,比較密文匹配。
[0020]第4步:將分解出的用戶名及密碼,與系統配置中用戶名及密碼比較,判斷客戶端是否合法用戶。若客戶端用戶合法則返回客戶端請求的數據;若客戶端用戶不合法則返回報錯信息,或者讓客戶端重新提供用戶名及密碼。
[0021]第5步:當服務器返回驗證不合法,提示客戶端重新提供用戶名及密碼時,客戶端需要清掉之前的Cookie值,重新進行第I步驟。每次保證提交的cookie中的用戶名及密碼僅當前的生效。
[0022]第6步:服務器還可以根據約定規則,決定客戶端是否需要每次訪問數據時,都需要服務器來驗證合法性,還是只需要驗證一次即可。這個是需要預先設定的規則。為了不 影響服務器端的性能,不建議開啟每次都進行合法性驗證。
【權利要求】
1.一種安全授權訪問方法,客戶端通過輸入用戶名和密碼,服務器通過接收到客戶端的用戶名和密碼與系統配置中保存的用戶名和密碼比較,如果匹配則訪問,否則,拒絕該客戶端的訪問,其特征在于:包括以下步驟: 步驟A、客戶端向服務器請求服務; 步驟B、客戶端收到服務器的身份認證要求后,提示用戶輸入用戶名和密碼; 步驟C、在客戶端的瀏覽器上,將用戶名及密碼填充到cookie字段拼接起來,然后進行加密,組成新的HTTP請求包提交給服務器; 步驟D、服務器后臺接收到HTTP請求包,提取包頭數據字段cookie,對該cookie進行解密,分解出客戶端提交的用戶名及密碼; 步驟E、服務器將分解出的用戶名及密碼與系統配置中的用戶名和密碼比較,判斷客戶端是否合法,若客戶端合法則返回客戶端請求的數據,否則返回報錯信息或者向客戶端提出身份認證要求,轉向步驟B。
2.根據權利要求1所述的安全授權訪問方法,其特征在于:所述的步驟A中,客戶端是首次向服務器提出請求服務。
3.根據權利要求1所述的安全授權訪問方法,其特征在于:所述的步驟C中,cookie字段拼接起來,然后進行加密,是采用Base64編碼方式加密或者采用MD5方法加密。
4.根據權利要求1所述的安全授權訪問方法,其特征在于:所述的步驟C中,將將用戶名及密碼填充到cookie字段是采用“用戶名:密碼:action”,其中“action”是預先設定的標記。
5.根據權利要求1所述的安全授權訪問方法,其特征在于:所述的步驟E中,在轉向步驟B之前,還需要清除cookie值。
【文檔編號】H04L9/32GK103475477SQ201310394260
【公開日】2013年12月25日 申請日期:2013年9月3日 優先權日:2013年9月3日
【發明者】佘喜 申請人:深圳市共進電子股份有限公司