亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Shiro框架的政協(xié)提案系統(tǒng)安全性研究與設(shè)計

        2018-10-19 07:31:08蘭全祥
        關(guān)鍵詞:政協(xié)提案令牌黑客

        陳 波,劉 星,蘭全祥

        (攀枝花學(xué)院,四川 攀枝花 617000)

        0 引言

        隨著信息時代的飛速發(fā)展,政協(xié)提案方式從傳統(tǒng)的文檔形式轉(zhuǎn)換到現(xiàn)有的基于網(wǎng)絡(luò)的政協(xié)提案系統(tǒng)。傳統(tǒng)的方式在人力物力上開銷很大,并且文檔的收集和提交受到區(qū)域和時間的限制,不能及時處理和流轉(zhuǎn)提案信息。但基于網(wǎng)絡(luò)的政協(xié)提案系統(tǒng)能很好地解決這些弊端,大大提升政協(xié)提案的處理周期,被大多數(shù)政府部門所運用。另外,政協(xié)提案系統(tǒng)中可能存在涉及國家機密的文件,因此系統(tǒng)在安全性上要求非常高。目前,一般的信息系統(tǒng)在安全性方面存在諸多的漏洞和問題,這些漏洞常被黑客利用并竊取系統(tǒng)信息。為了滿足政協(xié)提案系統(tǒng)對安全性的高要求,本文提出了基于Shiro框架的政協(xié)提案系統(tǒng),并針對系統(tǒng)的安全性問題進行研究與設(shè)計。

        1 政協(xié)提案系統(tǒng)安全性需求分析

        政協(xié)提案系統(tǒng)對于安全性的要求高于其他一般系統(tǒng)。在系統(tǒng)安全需求設(shè)計中,不僅需要有登錄認證、請求攔截、權(quán)限細化、防SQL注入以及防暴力破解等功能,而且需要滿足系統(tǒng)的保密性、完整性、可用性和抗毀性[1]。

        1.1 用戶登錄認證需求

        政協(xié)提案系統(tǒng)首先應(yīng)具備用戶登錄認證、授權(quán)以及賬戶異常處理等功能。由于政協(xié)提案系統(tǒng)為非公共信息處理系統(tǒng),因此需要進行用戶登錄認證,只有使用正確口令進行認證后才能進行系統(tǒng)操作。游客只能瀏覽首頁面的公告信息。

        用戶在登錄政協(xié)提案系統(tǒng)時,除了輸入密碼錯誤或用戶名錯誤導(dǎo)致登錄認證失敗外,賬號可能處于異常狀態(tài),如賬戶未激活、由于人員離職引起的賬戶注銷或休眠等情況。其次,異地登錄、多次認證失敗將引起系統(tǒng)安全機制對賬戶的主動凍結(jié)和休眠。對于賬號正常認證成功的用戶,通過Shiro安全框架確定用戶的角色并授權(quán)。政協(xié)提案系統(tǒng)的登錄認證用例圖如圖1所示。

        圖1 政協(xié)提案系統(tǒng)的登錄認證用例圖

        1.2 瀏覽器請求攔截

        政協(xié)提案系統(tǒng)應(yīng)具備請求攔截功能,攔截用戶的非法訪問和未授權(quán)請求。對于公共訪問頁面的信息,訪問者不需要授權(quán)就可以直接進行訪問瀏覽。但對于提案系統(tǒng)內(nèi)部信息則需要授權(quán)認證之后才能訪問。系統(tǒng)應(yīng)具備URL直接訪問攔截、登錄超時下的授權(quán)銷毀等功能。政協(xié)提案系統(tǒng)請求攔截流程圖如圖2所示。

        圖2 政協(xié)提案系統(tǒng)請求攔截流程圖

        1.3 用戶權(quán)限細化

        政協(xié)提案系統(tǒng)應(yīng)具備權(quán)限細化功能,可以為不同的用戶進行不同的權(quán)限設(shè)定。該系統(tǒng)將包含多個模塊,如個人信息模塊、公告信息模塊、提案模塊、提案審核模塊以及提案處理模塊等。不同職務(wù)的人員應(yīng)具備不同的權(quán)限,這就要求系統(tǒng)應(yīng)具備權(quán)限細化功能,能夠靈活、可變的處理所有用戶的權(quán)限。

        1.4 預(yù)防黑客攻擊和非法入侵

        除上述安全需求外,政協(xié)提案系統(tǒng)還應(yīng)具備一般信息系統(tǒng)預(yù)防黑客攻擊和非法入侵的功能。

        (1)防止SQL注入式攻擊。SQL注入式攻擊是普遍存在于信息系統(tǒng)中的攻擊方式。該攻擊通過欺騙服務(wù)器執(zhí)行惡意的SQL命令,使得數(shù)據(jù)庫暴露或非法認證登錄成功。

        (2)防止暴力破解。暴力破解是一種基于窮舉法的密碼破譯方法,IBM為美國軍方制造的“颶風(fēng)”超級計算機就是為了提高密碼的破譯效率而專門其制造的。因此防止暴力破解是信息系統(tǒng)必不可少的安全防護手段。

        (3)MD5混合加密機制。Message Digest Algorithm MD5(消息摘要算法第五版)是計算機安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護和密碼加密。雖然MD5是一種不可逆算法,但隨著信息技術(shù)的不斷發(fā)展,MD5庫已經(jīng)得到了極大的完善,簡單的MD5加密已經(jīng)不再安全。

        (4)防止網(wǎng)絡(luò)監(jiān)聽。網(wǎng)絡(luò)監(jiān)聽是黑客最常使用、最有效的網(wǎng)絡(luò)攻擊方法之一。通過監(jiān)視網(wǎng)絡(luò)狀態(tài)、截獲網(wǎng)絡(luò)傳輸信息可以有效地截獲用戶登錄認證的關(guān)鍵數(shù)據(jù)。也就是說,當(dāng)黑客偽造登錄頁面并將截獲的信息發(fā)送至主機將輕易的獲得授權(quán)。

        2 政協(xié)提案系統(tǒng)的安全性設(shè)計

        通過對政協(xié)提案系統(tǒng)的安全性需求進行分析,為了實現(xiàn)用戶登錄認證、權(quán)限細化、請求攔截以及一些常規(guī)黑客攻擊和非法入侵防護,提出基于Shiro安全框架的政協(xié)提案系統(tǒng),具體安全性功能設(shè)計如下。

        2.1 Shiro框架實現(xiàn)用戶身份認證和權(quán)限分配

        Apache Shiro是一個功能強大、靈活性較好的Java開源安全框架,提供了身份認證、訪問授權(quán)、數(shù)據(jù)加密和會話管理等功能,它能夠為任何應(yīng)用提供安全認證及身份控制,支持命令行應(yīng)用、移動應(yīng)用、企業(yè)應(yīng)用和大型網(wǎng)絡(luò)應(yīng)用等不同環(huán)境下的安全保障[2]。

        政協(xié)提案系統(tǒng)采用Shiro框架處理用戶登錄認證以及權(quán)限細化問題,能夠很好地滿足安全性需求。其次,Shiro提供了對WEB應(yīng)用的強大支持,并且能很好的與第三方框架進行集成,方便系統(tǒng)開發(fā)[3]。

        2.2 使用預(yù)編譯SQL以及正則實現(xiàn)防SQL注入

        SQL注入式攻擊一般是通過傳輸特殊字符給服務(wù)器,使得原本的SQL命令發(fā)生改變,從而欺騙服務(wù)器執(zhí)行惡意的SQL命令。因此,針對這一攻擊手段可以采用java.sql中的Prepared Statement接口來預(yù)編譯SQL語句,使SQL命令固化,不因傳輸?shù)膮?shù)而發(fā)生改變。其次,采用正則表達式(又稱規(guī)則表達式Regular Expression)限制用戶輸入特殊字符也能有效的避免SQL命令發(fā)生異常,防止SQL注入式攻擊[4-5]。

        政協(xié)提案系統(tǒng)采用預(yù)編譯SQL以及正則表達式處理系統(tǒng)中SQL語句,能很好的預(yù)防SQL注入式攻擊。保證系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)不被非法訪問者獲取。

        2.3 基于驗證碼以及復(fù)雜密碼防止暴力破解

        針對暴力破解這種基于窮舉法的密碼破譯方法,驗證碼是非常簡單、有效的方法。通過添加驗證碼,能大大降低黑客的攻擊次數(shù)和頻率[6]。另外,簡單的密碼非常容易被窮舉法破譯,因此為了增加黑客窮舉攻擊代價,在設(shè)置密碼時要求包含大小寫、數(shù)字及特殊字符,并且密碼長度在規(guī)定范圍之內(nèi),保證密碼足夠復(fù)雜,不易被破解。

        政協(xié)提案系統(tǒng)采用驗證碼以及復(fù)雜的密碼將能夠很好的防止暴力破解。

        2.4 使用MD5混合加密對數(shù)據(jù)庫進行加密

        MD5混合加密是基于MD5技術(shù),通過設(shè)計特定的公式對數(shù)據(jù)進行加密。這樣的加密方法是為了防止黑客通過查詢MD5密碼庫來獲得明文的有效手段。政協(xié)提案系統(tǒng)采用MD5混合加密能夠有效的滿足系統(tǒng)的保密性。即使數(shù)據(jù)被黑客獲取后,真實數(shù)據(jù)也很難被破譯。

        2.5 使用時間令牌防止網(wǎng)絡(luò)監(jiān)聽

        用戶關(guān)鍵數(shù)據(jù)在傳輸過程中很難避免被黑客截獲,這就意味著黑客可以偽裝成用戶向服務(wù)器發(fā)送二次請求,并獲得新的授權(quán)。政協(xié)提案系統(tǒng)可采用由系統(tǒng)產(chǎn)生一個基于系統(tǒng)時間的密文,客戶端和服務(wù)端各持一份。用戶的每次訪問都具有不同的時間令牌,防止黑客進行模擬登陸。其次,將用戶關(guān)鍵數(shù)據(jù)與時間令牌進行加密操作得到一個含有時間令牌的密文數(shù)據(jù),即使監(jiān)聽到關(guān)鍵數(shù)據(jù)也是無效的[7-8]。

        政協(xié)提案系統(tǒng)采用時間令牌加密關(guān)鍵數(shù)據(jù),能很好地避免網(wǎng)絡(luò)監(jiān)聽導(dǎo)致的數(shù)據(jù)泄漏和偽裝請求。

        3 系統(tǒng)實現(xiàn)

        通過對政協(xié)提案系統(tǒng)的安全性分析與設(shè)計,該系統(tǒng)采用Shiro安全框架實現(xiàn)用戶登錄認證和權(quán)限細化,使用預(yù)編譯SQL、MD5混合加密以及時間令牌加密關(guān)鍵數(shù)據(jù),防止常規(guī)黑客攻擊,具體實現(xiàn)如下。

        3.1 Shiro框架的配置

        首先在Java Web工程的web.xml文件中聲明一個Shiro Servlet過濾器以實現(xiàn)Shiro與Web應(yīng)用的集成[9]。

        其次,在與Shiro集成的Spring配置文件ApplicationContext.xml中配置不同用戶的訪問權(quán)限。

        其中anon表示允許用戶匿名訪問以/login.jsp開頭的URL,perms表示需要特定用戶認證才能使用,如/page_base_staff.action=perms["staff"]表示僅當(dāng)認證用戶為stuff才能訪問此路徑。authc表示主要用戶通過認證即可訪問以/*開頭的URL。

        3.2 采用預(yù)編譯SQL命令以及正則約束

        基于Shiro框架的政協(xié)提案系統(tǒng)采用預(yù)編譯SQL命令以及正則約束來實現(xiàn)SQL注入式攻擊的防范。下面分別介紹兩種方式在系統(tǒng)中的使用:

        (1)在用戶登錄過程中,采用預(yù)編譯SQL語句來實現(xiàn),使攻擊者無法改變SQL的結(jié)構(gòu)。用戶傳遞的參數(shù)采用“?”占位。

        ps對象包含語句“select*from t_user where uid=?”,它已發(fā)送給DBMS,并為執(zhí)行作好了準(zhǔn)備。在執(zhí)行PreparedStatement對象之前,必須設(shè)置每個?參數(shù)的值。無論參數(shù)值為什么,此SQL命令不會發(fā)生變化。

        (2)使用正則表達式來過濾傳入的參數(shù),首先需要創(chuàng)建正則表達式String CHECKSQL=“^(.+)\sand\s(.+)|(.+)\sor(.+)\s$”;再進行判斷是否匹配Pattern.matches(CHECKSQL,targerStr)。 其 中targerStr表示傳入的參數(shù),CHECKSQL表示約束條件,當(dāng)判斷為true時傳入的參數(shù)無效,頁面提示用戶輸入不合法。

        3.3 驗證碼

        基于Shiro框架的政協(xié)提案系統(tǒng)的驗證碼實現(xiàn)主要包含對驗證碼字符的隨機生成、干擾線的隨機添加以及關(guān)鍵字符的拉伸變形。

        首先隨機生成n位驗證碼字符,代碼如下:

        其中,n為生成驗證碼字符個數(shù);ele為驗證碼可選字符數(shù)組。然后對驗證碼圖片進行隨機線條干擾和旋轉(zhuǎn)拉伸:

        3.4 MD5對數(shù)據(jù)庫加密

        為了提高政協(xié)提案系統(tǒng)的安全性,在密碼方面采用了MD5混合加密算法,防止單一MD5加密被查表攻破,具體實現(xiàn)代碼如下:

        其中m,n取值范圍在0-32之間,且m<n。string_left、string_right為系統(tǒng)默認提供的前置字符串和后置字符串。

        3.5 時間令牌

        為了防止數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中被截獲破譯,政協(xié)提案系統(tǒng)采用了時間令牌來防止網(wǎng)絡(luò)監(jiān)聽。

        首先,在用戶發(fā)起請求時,由服務(wù)器生成一個包含時間的認證令牌,并將該令牌放入session容器中以便于識別用戶是否為正常認證。

        當(dāng)用戶進行登錄認證時,系統(tǒng)自動將密碼與時間令牌進行組合并使用MD5進行加密再發(fā)送服務(wù)端進行認證。

        服務(wù)端在接受到客戶端的認證數(shù)據(jù)后,系統(tǒng)自動從session域中獲得請求用戶的時間令牌,從數(shù)據(jù)庫中獲取用戶信息,并將兩組數(shù)據(jù)按照與客戶端相同的加密方法進行加密,得到密文db_pwd。比對服務(wù)器密文db_pwd與用戶提交密文user_pwd是否匹配并將時間令牌進行銷毀,匹配成功則認證通過,反之認證失敗。

        4 結(jié)語

        本文通過對政協(xié)提案系統(tǒng)的安全性進行了詳細的分析和設(shè)計,并提出了基于Shiro安全框架的政協(xié)提案系統(tǒng),使程序授權(quán)更加靈活,權(quán)限控制更加嚴格,系統(tǒng)更加安全。針對普通系統(tǒng)存在的SQL注入漏洞、明文密碼以及網(wǎng)絡(luò)監(jiān)聽,系統(tǒng)采用了預(yù)編譯SQL、驗證碼、MD5混合加密以及時間令牌等技術(shù)。經(jīng)驗證系統(tǒng)很好地防范了上述安全問題,提高了系統(tǒng)的安全性。

        猜你喜歡
        政協(xié)提案令牌黑客
        歡樂英雄
        多少個屁能把布克崩起來?
        稱金塊
        2021年全國青少年模擬政協(xié)提案征集活動“優(yōu)秀模擬政協(xié)提案作品”名單
        中國共青團(2022年3期)2022-03-19 21:37:14
        2021年全國青少年模擬政協(xié)提案征集活動優(yōu)秀組織單位名單
        中國共青團(2022年3期)2022-03-19 21:37:14
        淶水縣召開政協(xié)提案交辦工作會議
        鄉(xiāng)音(2021年5期)2021-04-14 23:32:37
        網(wǎng)絡(luò)黑客比核武器更可怕
        基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
        動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
        計算機工程(2018年8期)2018-08-17 00:26:54
        切實把政協(xié)提案辦理工作抓緊抓好
        精品综合久久久久久99| 久久成人国产精品免费软件| 久久九九久精品国产| 亚洲第一无码精品久久| 三级日本午夜在线观看| 亚洲av天堂免费在线观看| 疯狂撞击丝袜人妻| 国产亚洲精久久久久久无码苍井空| 精品人妻一区二区三区蜜臀在线| 亚洲一区二区三区四区地址| 精品国产一二三产品区别在哪| 狼人国产精品亚洲| 国产成人精品中文字幕| 中文字幕亚洲综合久久天堂av| 高潮迭起av乳颜射后入| 午夜亚洲AV成人无码国产| 黄色大片国产精品久久| 久久久久成人精品免费播放动漫| 亚洲美女又黄又爽在线观看| 亚洲区精选网址| 人妻少妇被粗大爽视频| 手机福利视频| 2021久久最新国产精品| 一本色道亚州综合久久精品| 亚洲天堂成人av在线观看| 精品深夜av无码一区二区| 亚洲另类激情专区小说婷婷久| 亚洲日本中文字幕乱码| 亚洲av日韩综合一区久热| 69精品丰满人妻无码视频a片| 欧洲AV秘 无码一区二区三 | 中文字幕在线看精品乱码| 国内精品卡一卡二卡三| 亚洲国产精品久久久久秋霞1| 蜜桃人妻午夜精品一区二区三区| 无码毛片内射白浆视频| 3344永久在线观看视频| 日本精品人妻在线观看| 国产精品自线一区二区三区| 国产熟妇高潮呻吟喷水| 久久精品国产只有精品96|