999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Ajax的輕量級身份認證

2007-12-31 00:00:00鐘暉云徐海水廖志堅黃常青李錦棠
計算機應用研究 2007年7期

摘要:采用HTTPS和傳統遠程腳本來實現身份認證存在一些缺點。在分析了Ajax技術特點后,提出了一種輕量級基于Ajax的適合中小企業Web應用開發的身份認證方法。同時設計了實現該方法的模型,并分析了該方法的安全性和特點。

關鍵詞:身份認證;Ajax;輕量級

中圖分類號:TP393.08文獻標志碼:A

文章編號:1001-3695(2007)07-0135-03

身份認證是很多Web應用系統的第一道關卡,如何有效地保證身份認證的可靠性、安全性和高效性是實現Web應用系統的關鍵。實現身份認證有很多方式。對于很多中小型企業來說,希望有一種既有較高的安全性,又有較低運行代價的身份認證方法,因而提出了一種輕量級基于Ajax的適合中小企業Web應用開發的身份認證。

Web主要協議是HTTP,具有天然的不安全性,它在網絡中主要以明文方式傳輸,極易受到中間人攻擊。為了解決HTTP傳輸過程的不安全性,網景公司提出了HTTPS。HTTPS雖然能夠保證傳輸的安全,但其需要公鑰系統,服務器端要對客戶端傳來的加密數據解密,同時基于公鑰系統的運算開銷較大。當應用系統的連接人數很多時,服務器將成為系統的瓶頸。這種加密數據傳輸方式不太適合某些中小企業低運算成本要求。

傳統HTTP協議使用的是請求/應答的同步通信方式,接收從服務器發來的響應后,將頁面刷新。而身份認證,一般均有多次請求/響應發生,將導致身份認證的頁面被多次刷新。為解決這個問題,傳統方式均采用遠程腳本來實現。遠程腳本可以與服務器交互,而不需刷新頁面。遠程腳本包括了Flash動畫、Java Applet、ActiveX組件和XML-RPC等。而這些方式有很多缺點,如耗費大量網絡帶寬、使用復雜及受瀏覽器影響較大等。

使用運算成本較低,安全性又較高的身份認證方法,以及找到一種使用簡單、耗用較少網絡帶寬同時又被絕大數瀏覽器所支持的遠程調用,是實現輕量級身份認證的關鍵。

1選擇身份認證方式 

為了構建一個適合中小企業的既有較高安全性,又有較低運行代價的輕量級身份認證方法,通過對現有主要認證方式的分析,選取一種合適的身份認證方式。

(1)口令認證。它是一種常用身份認證方式,被認證對象向認證對象提供口令,認證方收到口令后,與系統存儲口令比較,確認被認證對象是否為合法用戶。口令認證非常簡單,易于實現,但極不安全,對于企業應用來說是不適合的。

(2)雙因子認證,即采用兩個因子認證。其中一個因子是只有用戶本身知道的密碼,它可以是個人認證號PIN或口令;另一個因子是只有該用戶擁有的外部物理實體——智能安全存儲介質。采用雙因子認證,雖然安全性有了雙保險,但它要求有智能安全存儲介質,使用不是很方便。

(3)S/KEY。通過該系統進行身份認證,被認證方需要多次進行Hash運算,服務器要記錄每次登錄的口令,而且每隔一段時間還需要重新初始化系統,認證過程的運算量和額外開銷較大。

(4)Kerberos和PKI認證系統。其安全性很好,但需要第三方的認證系統,非常復雜,成本和運算代價很高。

(5)挑戰握手認證。認證對象向被認證對象發送每次認證均不同的挑戰消息,被認證對象對挑戰消息和密鑰計算哈希值,并將該值作為挑戰的應答消息。最后認證方計算挑戰消息和用戶密鑰的哈希值,與被認證對象發送的應答消息比較,如相符,則認證成功。

從以上的分析,選取了挑戰應答作為身份認證的實現主要方式,較易實現,而且能夠保證認證過程的安全。

2Ajax概述

最早是由Jesse James Garrett在2005年2月提出Ajax這個詞,當其在Google Maps、Suggest和GMail等得到成功應用時,立即引起了人們的重視。人們使用Google Maps時,利用光標在刻度線上來回移動就可以放大或縮小地圖。而這一切都是即時的,無須等待頁面刷新。Ajax是Asynchronous JavaScript+XML的簡寫,它消除了桌面應用與Web應用在用戶體驗上的差距,是Web開發的重大變革。通過Ajax,用戶使用瀏覽器就可以異步的與后臺服務器方便的交互,而這一切,用戶并不知道。

Ajax是幾項流行技術的結合。它主要包含如下技術:基于標準化的XHTML和CSS;使用文檔對象模型DOM,實現動態顯示和交互;利用XML和XSLT進行數據交換與處理;采用XMLHttpRequest對象來異步獲取數據;最后用JavaScript整合以上所有技術。傳統Web應用程序工作模型如圖1所示。

傳統Web應用程序工作過程如下:

(1)從瀏覽器的用戶界面發出一個HTTP請求。

(2)Web服務器接收請求后,按照用戶請求,作相應的后臺處理,如查詢數據庫等操作。

(3)Web服務器最后返回HTML結果給客戶端。

傳統Web應用程序缺點如下:

(1)用戶發出請求后,只能是等待,直到服務器返回響應結果為止。

(2)用戶瀏覽界面必須刷新才能看到返回結果。

這些因素對實現需要多次交互的身份認證方式來說,明顯是不太適合的。

基于Ajax的Web應用程序工作模型如圖2所示。

圖1傳統Web應用程序工作模型圖2基于Ajax的Web應用程序工作模型

基于Ajax的Web應用程序工作過程:

(1)用戶通過某個事件觸發JavaScript調用Ajax引擎。

(2)Ajax引擎創建XMLHttpRequest對象實例,由該對象向服務器發出HTTP請求。

(3)Web服務器接收請求后,作相應后臺處理,并將結果以字符串或XML格式返回給XMLHttpRequest對象。

(4)XMLHttpRequest對象調用JavaScript的回調函數,由回調函數處理服務器端返回的數據,并最終將HTML結果傳遞給客戶端用戶界面。

相對傳統Web應用程序的優點如下:

(1)用戶提交請求后,由Ajax引擎負責與服務器的數據交互,用戶無須等待服務器是否返回了結果,就可以做其他事情,減少了用戶等待時間,實現了異步。

(2)用戶無須刷新自己的瀏覽器界面,就可以看到服務器返回的HTML結果。

(3)克服了對一個任務有多個步驟的傳統處理方式:請求-等待-響應-請求-等待-響應……。

(4)使用非常簡單,只需創建一個XMLHttpRequest對象實例,就可以異步與服務端程序交互,而這些主要由易用的JavaScript完成。

(5)得到了絕大部分主流瀏覽器的支持。

從傳統Web應用和基于Ajax的Web應用對比來看,基于Ajax的Web應用程序非常適合需要多次進行交互的身份認證。

3基于Ajax的輕量級身份認證模型

根據一些中小企業需要簡便易行,實施成本低,并有一定安全性的身份認證需求出發,采用挑戰應答身份認證方式,并結合Ajax技術來實現一個輕量級的身份認證。模型如圖3所示。它能夠避免采用HTTPS等方法,成本太高,服務器性能要求苛刻的缺點。同時為了防止身份數據庫被攻擊者盜取,在身份數據庫中,并不直接存取用戶密碼,而是用戶密碼和服務器名的哈希值。

圖3基于Ajax的輕量級身份認證模型

基于Ajax的輕量級身份認證模型實現過程:

(1)被認證用戶提交用戶名和密鑰K給Ajax引擎,Ajax引擎創建一個用于請求身份認證的XMLHttpRequest對象實例。

(2)XMLHttpRequest對象發送用戶名給身份認證服務進程,請求身份認證。

(3)身份認證服務進程查詢身份數據庫,身份數據庫主要存放了用戶名和相應的密碼和服務器名的哈希值:H(K||HostName)。其中||表示兩個字符串相連,K為用戶密碼,HostName是服務器名。H是哈希算法。

(4)從身份數據庫中獲取與該用戶名相對應的密碼哈希值,如果沒有該用戶記錄,則返回錯誤信息。

(5)身份認證服務進程產生挑戰消息:用戶IP||服務器名||時間戳||隨機數,以XML數據形式,發送到請求身份認證的XMLHttpRequest對象,如果沒有該用戶名,則直接發送無該用戶名錯誤信息給它。

(6)XMLHttpRequest對象將挑戰消息或無用戶名錯誤消息傳給回調函數。

(7)如果是無用戶名錯誤信息,回調函數把該錯誤消息顯示到用戶界面中,要求用戶重新輸入正確的用戶名。否則,將挑戰消息傳給另一個Ajax引擎,該引擎創建挑戰應答XMLHttpRequest對象實例,并計算應答消息:H(H(K||HostName)||用戶IP||服務器名||時間戳||隨機數)。

(8)把應答消息發送給認證服務進程。

(9)認證服務進程計算H(H(K||HostName)||用戶IP||服務器名||時間戳||隨機數),并與接收到的應答消息比較,如果相同則產生身份認證成功消息,否則產生身份認證密碼錯誤消息。并把認證結果消息傳給XMLHttpRequest對象。

(10)XMLHttpRequest對象將認證結果消息傳給回調函數。

(11)回調函數把該認證結果消息顯示到用戶界面中。

4特點

4.1安全性

(1)網絡偵聽。由于網絡傳輸是用戶的密碼加上挑戰消息的哈希值,偵聽者是無法還原出用戶密碼的。

(2)重放攻擊。每次認證,所選的時間戳和隨機數均不同,攻擊者無法進行有效的重放攻擊。

(3)在線口令猜測。只要用戶的密碼有一定強度,同時在服務器端限制用戶重復認證的次數,就可以避免在線口令猜測攻擊。

4.2服務器運算負載小

服務器端身份認證模塊只要進行一次哈希運算,而大部份哈希運算和公鑰系統運算相比,速度要快很多,服務器CPU負載也較小。避免了采用HTTPS,服務器運算負載較大。

4.3實現簡單

只要使用JavaScript創建兩個XMLHttpRequest對象實例,一個用于請求認證;一個用于挑戰應答,就可以完成與身份認證服務器進程的認證交互。

4.4適用性強

現有的絕大多數瀏覽器均支持該方法的實現,服務器端身份認證模塊可以采用各種編程語言實現,如Java和.NET等。

4.5異步性

用戶的身份認證工作是由Ajax來完成,而Ajax的實現是異步的,故用戶可以不等認證完成,仍可以做其他事情,認證結束后,頁面也可以不刷新。

5結束語

基于Ajax的輕量級身份認證非常適合某些中小企業身份認證的需求,具備一定的安全性,同時實現簡單,運行成本低,無須單獨建立第三方的身份認證系統。Ajax技術的產生,是開發Web應用程序的重大變革。將Ajax應用在身份認證模塊中,能夠快速簡單,并安全地實現身份認證。而這一切都是異步進行的,用戶無須了解身份認證的過程,甚至可以在身份認證過程中做其他事情,這極大提高了用戶的體驗。

參考文獻:

[1]KAUFMAN C, PERLMAN R, SPECINER M. Network security: private communication in a public world[M]. America: Prentice Hall,2002:477-500.

[2]TANENBAUM A S.計算機網絡·四版[M].潘愛民,譯.北京:清華大學出版社,2004:690-700.

[3]GARRETT J J. Ajax: a new approach to web applications[EB/OL].[2005-02].http://www.adaptivepath.com/publications/essays/archives/000385.php.

[4]CRANE D, PASCARELLO E, JAMES D. Ajax in action[M]. America: Manning,2005:246-278.

[5]ASLESON R, SCHUTTA N T.Foundations of Ajax[M]. America: Apress, 2005:1-20.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产性精品| 91黄视频在线观看| 亚洲成网777777国产精品| 亚洲黄色视频在线观看一区| 国内精自线i品一区202| 熟女日韩精品2区| 久久人搡人人玩人妻精品| 色综合久久久久8天国| 在线免费亚洲无码视频| 毛片a级毛片免费观看免下载| 午夜啪啪网| 国产精品视频猛进猛出| 亚洲天堂视频网| 国产亚洲欧美在线专区| 欧美色视频在线| 亚洲AV无码乱码在线观看代蜜桃| 又黄又爽视频好爽视频| 亚洲欧洲免费视频| 国产91在线免费视频| 69免费在线视频| 在线国产三级| 成人永久免费A∨一级在线播放| 国产免费久久精品99re不卡 | 91精品网站| 国产美女无遮挡免费视频网站 | 人妻精品久久无码区| 亚洲国产日韩在线成人蜜芽| 日本免费福利视频| 欧美丝袜高跟鞋一区二区| 国产高清自拍视频| 五月天综合婷婷| 亚洲中文无码av永久伊人| 超清无码熟妇人妻AV在线绿巨人| 一边摸一边做爽的视频17国产| 国产激情在线视频| 亚洲v日韩v欧美在线观看| 三级国产在线观看| 香蕉99国内自产自拍视频| 国产欧美一区二区三区视频在线观看| 波多野结衣无码视频在线观看| 免费a级毛片视频| 美臀人妻中出中文字幕在线| 不卡的在线视频免费观看| 亚洲欧美不卡中文字幕| 亚洲VA中文字幕| 国产00高中生在线播放| 日韩午夜伦| 亚洲国产精品成人久久综合影院| 国产成人高清精品免费5388| 国产性生大片免费观看性欧美| 欧美日韩激情| 国产污视频在线观看| 久久精品视频亚洲| 国产精品女在线观看| 国内自拍久第一页| 97成人在线视频| 精品一区二区久久久久网站| 美女高潮全身流白浆福利区| 91小视频版在线观看www| 国产午夜精品一区二区三| 国产免费网址| 久久国产乱子伦视频无卡顿| 免费在线色| 制服无码网站| 激情无码视频在线看| 99视频免费观看| 丰满人妻久久中文字幕| 国产精品熟女亚洲AV麻豆| 中文字幕久久亚洲一区| 高清无码一本到东京热| 国产成人91精品| 国产精品污视频| 一本一道波多野结衣av黑人在线| 亚洲综合在线最大成人| 久久精品一品道久久精品| 亚洲日韩日本中文在线| 色综合a怡红院怡红院首页| av尤物免费在线观看| 国产高清无码第一十页在线观看| av手机版在线播放| 男人天堂亚洲天堂| 久996视频精品免费观看|