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

        ?

        一種具有數(shù)字簽名的二維碼技術(shù)

        2018-03-20 09:10:24譚德林李均利

        譚德林,李均利

        (四川師范大學(xué),四川 成都 610068)

        0 引 言

        二維碼技術(shù)最早是由日本在20世紀(jì)70年代提出的,它使用某種特定的二維圖形按一定的規(guī)律在二維平面上繪制黑白相間的二維條形碼圖形來(lái)保存和記錄信息。而二維碼在存儲(chǔ)數(shù)據(jù)時(shí),一般使用二進(jìn)制對(duì)其進(jìn)行編碼。也即使用“0”和“1”的信息串來(lái)表示二維碼中存儲(chǔ)的信息,這也符合計(jì)算機(jī)的信息表示方式。二維碼中存儲(chǔ)的數(shù)據(jù)只有被相應(yīng)的設(shè)備掃描后,方可獲取其所存儲(chǔ)的信息。二維碼的種類很多,其相應(yīng)的編碼和讀取方式也不同,常見的有堆疊式二維碼和矩陣式二維碼[1]。其中堆疊式二維碼也稱為行排式二維碼,主要有Code 16K、Code 49、PDF417等編碼方式;矩陣式二維碼主要有QR Code、Code One、MaxiCode、Data Matrix[2]、HanXinCode、GridMatrix等編碼方式[3]。在以上編碼方式中,QR碼的使用最為廣泛。

        隨著二維碼的應(yīng)用越來(lái)越廣泛,特別是二維碼制作過(guò)程的簡(jiǎn)單和開放[4],許多不法分子瞅準(zhǔn)機(jī)會(huì),將二維碼作為其犯罪作案的新途徑[5]。如利用二維碼傳播病毒、植入木馬;利用二維碼引導(dǎo)用戶訪問(wèn)釣魚網(wǎng)站等惡意網(wǎng)站;利用二維碼訪問(wèn)吸費(fèi)軟件等。這不但影響了人們的日常生活,同時(shí)也造成了一定的社會(huì)經(jīng)濟(jì)損失。而究其原因,主要是用戶在掃描二維碼時(shí),無(wú)法識(shí)別該二維碼來(lái)源的真?zhèn)?,從而?dǎo)致在掃描時(shí)不能對(duì)二維碼制作者進(jìn)行識(shí)別,也無(wú)法在出問(wèn)題后追究二維碼制作者的責(zé)任[6-7]。

        鑒于上述問(wèn)題,文中提出了基于RSA數(shù)字簽名的二維碼技術(shù),并通過(guò)實(shí)驗(yàn)對(duì)該技術(shù)進(jìn)行驗(yàn)證。

        1 QR碼工作原理

        QR碼于1994年由日本的Denso-Wave公司發(fā)明,其主要支持文本、圖片、網(wǎng)址鏈接、音頻、視頻等,并通過(guò)掩膜技術(shù)對(duì)存儲(chǔ)的信息進(jìn)行保密,其編解碼過(guò)程[8]如圖1和圖2所示。

        圖1 編碼過(guò)程

        圖2 解碼過(guò)程

        2 RSA數(shù)字簽名

        2.1 RSA數(shù)字簽名簡(jiǎn)介

        數(shù)字簽名是眾多密碼學(xué)工具中最重要的一種,目前已經(jīng)得到了廣泛應(yīng)用。數(shù)字簽名與不安全信道上的密鑰簡(jiǎn)歷共同構(gòu)成了公鑰密碼學(xué)中最重要的內(nèi)容。數(shù)字簽名與手寫簽名一樣,能夠提供對(duì)簽名內(nèi)容的識(shí)別。尤其是它們都提供了一種能保證每個(gè)用戶驗(yàn)證消息的方法,即能夠確認(rèn)消息來(lái)源于何處,有誰(shuí)可傳遞等。

        數(shù)字簽名如同手寫簽名一樣,用來(lái)證明某個(gè)人的確生成了某個(gè)消息。但是與手寫簽名不同的是,數(shù)字簽名只適用于數(shù)字信息中。數(shù)字簽名的基本原理是對(duì)消息簽名的一方使用私鑰,而對(duì)消息接收的一方使用公鑰。此時(shí),只有擁有私鑰的一方才能對(duì)數(shù)字消息進(jìn)行簽名,進(jìn)而保證了數(shù)字簽名的正確性。數(shù)字簽名與密碼學(xué)一樣,也具有安全服務(wù)要求,其種類也較多。主要包括保密性、完整性、消息驗(yàn)證、不可否認(rèn)性、身份驗(yàn)證/實(shí)體驗(yàn)證、訪問(wèn)控制、可用性、審計(jì)、匿名等。

        目前能作為數(shù)字簽名算法的主要是公鑰密碼算法,如RSA公鑰密碼算法、Elgamal數(shù)字簽名算法及其變體DSA。為了方便和易于理解,對(duì)RSA數(shù)字簽名方案進(jìn)行介紹。RSA數(shù)字簽名是由RSA公鑰密碼方案演變過(guò)來(lái)的,而RSA公鑰密碼體制由Rivest,Shamir和Adleman等于1977年提出,以它的發(fā)明者們的名字首字母命名[9]。其算法思想如下:

        密鑰生成:p,q是兩個(gè)大素?cái)?shù),且有n=pq,根據(jù)歐拉定理,φ(n)=(p-1)(q-1)。隨機(jī)選擇整數(shù)d,e,使得gcd(d,φ(n))=1,ed≡1(φ(n)),則公鑰pk=(n,e),私鑰sk=d。

        加密:明文空間M中的任意消息m,對(duì)應(yīng)密文為c=Epk(m)=me(modn)。

        解密:m=Dsk(c)=cd(modn)。

        而RSA數(shù)字簽名與加解密過(guò)程剛好相逆。假設(shè)用戶A發(fā)送一個(gè)簽名的消息x給用戶B,且密鑰與上面RSA密碼方案相同,則數(shù)字簽名過(guò)程為:

        s=sigkpr(x)≡xdmodn

        驗(yàn)證過(guò)程為:

        x'≡verkpub(x,s)≡semodn

        x'≡xmodn,表示簽名有效,否則表示簽名無(wú)效。

        2.2 RSA數(shù)字簽名安全性分析

        安全性是密碼學(xué)方案或數(shù)字簽名的首要考慮因素。一個(gè)不安全的密碼學(xué)方案是無(wú)實(shí)用價(jià)值的。與其他所有非對(duì)稱方案一樣,數(shù)字簽名也需要保證其公鑰是可信的,也即驗(yàn)證方所擁有的公鑰的確是與簽名所用的私鑰相對(duì)應(yīng)的。目前針對(duì)RSA數(shù)字簽名的攻擊主要包括:算法攻擊和存在性偽造攻擊。其中算法攻擊,也即通過(guò)計(jì)算私鑰來(lái)破解底層的RSA方案,其所面對(duì)的困難性是基于大整數(shù)因式分解,為了單純地防止該類攻擊,則要求有較長(zhǎng)的模長(zhǎng)度。對(duì)于智能手機(jī),明顯是不理想的,因而實(shí)際使用RSA數(shù)字簽名時(shí),都不是使用單純的RSA數(shù)字簽名,而是使用RSA的概率簽名標(biāo)準(zhǔn),也即PSS;而存在性攻擊,也即允許攻擊者生成隨機(jī)消息x的有效簽名,以冒充正常簽名,從而獲得相應(yīng)的公鑰或者從中破解出私鑰,最后達(dá)到攻擊數(shù)字簽名的目的。

        為了解決以上攻擊,一般方案是使用RSA填充技術(shù),也即概率簽名標(biāo)準(zhǔn)技術(shù)。粗略地講,即是對(duì)消息格式化。所謂消息格式化,就是使用一定規(guī)則,讓消息驗(yàn)證者能夠區(qū)分消息的有效性和無(wú)效性。RSA填充技術(shù)是基于RSA密碼體制的簽名方案,它結(jié)合了消息驗(yàn)證、消息編碼以及數(shù)字簽名技術(shù)。應(yīng)該說(shuō),RSA填充技術(shù)能夠很好地防止以上各種攻擊,在目前的RSA數(shù)字簽名中應(yīng)用廣泛。

        3 具有數(shù)字簽名的二維碼技術(shù)

        為了解決目前二維碼技術(shù)無(wú)法對(duì)二維碼制作者進(jìn)行認(rèn)證以及無(wú)法追究制作者責(zé)任的現(xiàn)狀[10],文中提出了具有數(shù)字簽名的二維碼技術(shù)。該技術(shù)主要是借助RSA數(shù)字簽名的工作原理來(lái)完成對(duì)二維碼制作者的驗(yàn)證。其工作過(guò)程如圖3所示。

        3.1 具有數(shù)字簽名的QR編碼端

        由圖3(a)可知,具有數(shù)字簽名的QR碼編碼階段與普通QR碼編碼相比,增加了“數(shù)字簽名”步驟。也即具有數(shù)字簽名的QR碼編碼是在其編碼階段的數(shù)據(jù)碼字序列的首部加上數(shù)字簽名和明文,也即相應(yīng)的簽名和明文,即s和x。其中s=xd,x即為明文,然而該明文卻并不是具有隱私性的明文,而是經(jīng)過(guò)哈希函數(shù)H摘要后的信息。

        圖3 具有數(shù)字簽名的QR碼編解碼過(guò)程

        3.2 具有數(shù)字簽名的QR解碼端

        由圖3(b)可知,具有數(shù)字簽名的QR碼解碼分為很多步驟。與普通QR解碼端相比,其增加了“驗(yàn)證數(shù)字簽名”步驟。該步驟通過(guò)獲取數(shù)據(jù)碼字序列中存儲(chǔ)的數(shù)字簽名s以及與簽名相對(duì)應(yīng)的明文x,然后利用公布的公鑰e進(jìn)行計(jì)算,也即e.s=(xd)emodn。如果以上運(yùn)算結(jié)果與明文x相等,則表示通過(guò)數(shù)字簽名驗(yàn)證,掃描者可以繼續(xù)掃描二維碼中的數(shù)據(jù)碼字序列以讀取二維碼中存儲(chǔ)的信息;如果以上運(yùn)算結(jié)果與明文x不相等,則表示沒(méi)通過(guò)驗(yàn)證,掃描者將停止掃描二維碼中的數(shù)據(jù)碼字序列。

        4 實(shí)驗(yàn)測(cè)試

        實(shí)驗(yàn)操作平臺(tái)為Windows 7旗艦版,二維碼生成平臺(tái)使用Visual C++ 6.0對(duì)開源的QR二維碼生成算法源碼進(jìn)行編輯與運(yùn)行[11],也即在其數(shù)據(jù)碼字序列生成后,再在其序列首加上需要簽名的明文x以及對(duì)應(yīng)的簽名s,并生成最終的二維碼,且以圖像形式進(jìn)行存儲(chǔ)。在源代碼中,生成二維碼的函數(shù)原型為BOOL EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMaskingNo, LPCSTR lpsSource, int ncSource)。只需在生成的數(shù)據(jù)碼字序列的首部加上要簽名的明文x以及對(duì)應(yīng)的簽名s即可。

        然后使用Android模擬器pc版模擬微信掃描功能[12-14]。具體做法是將上述生成的二維碼圖像導(dǎo)入模擬器相冊(cè),并在模擬器中點(diǎn)擊登錄微信,再點(diǎn)擊掃一掃功能,并選擇模擬器相冊(cè)中相應(yīng)二維碼圖像,即可以進(jìn)行掃描。在掃描過(guò)程中,首先分別獲取要簽名的明文x以及對(duì)應(yīng)的簽名s,然后根據(jù)獲取的簽名s與公鑰e進(jìn)行模指數(shù)運(yùn)算,并得到一個(gè)值x',最后將x'與x進(jìn)行比較。如果x'與x相等,則繼續(xù)掃描下面的數(shù)據(jù)碼字序列并獲得其中所存儲(chǔ)的信息;如果x'與x不相等,則掃描端停止掃描。

        5 結(jié)束語(yǔ)

        針對(duì)二維碼存在的安全隱患,提出了一種具有數(shù)字簽名的二維碼技術(shù)。該技術(shù)使得在掃描二維碼數(shù)據(jù)之前,先對(duì)二維碼的來(lái)源進(jìn)行識(shí)別。只有當(dāng)識(shí)別通過(guò)后,才能繼續(xù)讀取二維碼中的相應(yīng)信息;如果二維碼識(shí)別未通過(guò),則停止讀取二維碼中的信息。實(shí)驗(yàn)測(cè)試表明,該技術(shù)可以有效防止用戶去掃描一些非法二維碼,如通過(guò)二維碼訪問(wèn)吸費(fèi)軟件、非法網(wǎng)站、木馬或感染病毒等,進(jìn)而提高了二維碼技術(shù)的安全性。然而,該技術(shù)也存在一些問(wèn)題,如其掃描速度比普通的二維碼掃描速度低。因此,接下來(lái)的工作就是在保證二維碼制作者身份認(rèn)證的同時(shí),提高二維碼掃描的速度。

        [1] 黃文培.一種基于信息隱藏的圖像二維碼設(shè)計(jì)[D].成都:西南交通大學(xué),2015.

        [2] 漢信碼[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2008.

        [3] 婁良宇,張 健,梅 鋒,等.二維碼應(yīng)用與安全[J].通信管理與技術(shù),2014(3):60-61.

        [4] 鄭 君,李海霞.基于動(dòng)態(tài)二維碼的安全身份認(rèn)證方案的研究[J].湖北理工學(xué)院學(xué)報(bào),2015,31(2):35-38.

        [5] 馬立林.云計(jì)算環(huán)境下基于二維碼的移動(dòng)終端身份認(rèn)證方案[J].微電子學(xué)與計(jì)算機(jī),2016,33(1):140-143.

        [6] 張新文,李華康,楊一濤,等.基于二維碼技術(shù)的個(gè)人信息隱私保護(hù)物流系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2016,33(11):3455-3459.

        [7] 凌康杰,岳學(xué)軍,劉永鑫,等.基于移動(dòng)互聯(lián)的農(nóng)產(chǎn)品二維碼溯源系統(tǒng)設(shè)計(jì)[J].華南農(nóng)業(yè)大學(xué)學(xué)報(bào),2017,38(3):118-124.

        [8] 張 豐,施 勇,薛 質(zhì).二維QR碼在電子商務(wù)中應(yīng)用的安全性研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2017,27(3):131-135.

        [9] MERKLE R C,HELLMAN M.Hiding information and signatures in trapdoor knapsacks[J].IEEE Transactions on Information Theory,1978,24(5):525-530.

        [10] 馬尚寅,高關(guān)心,劉嘉吉,等.基于微信的考勤管理系統(tǒng)身份認(rèn)證及位置識(shí)別方法的實(shí)現(xiàn)機(jī)制[J].計(jì)算機(jī)與現(xiàn)代化,2017(3):8-12.

        [11] 祁 慧.基于Android系統(tǒng)的QR碼識(shí)別技術(shù)研究與實(shí)現(xiàn)[D].南京:東南大學(xué),2015.

        [12] 羅春玲.二維條碼QR的糾錯(cuò)改進(jìn)研究[D].武漢:武漢理工大學(xué),2013.

        [13] 韓 芳.主動(dòng)式二維碼考勤系統(tǒng)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(1):134-135.

        [14] 周平平.微信小程序會(huì)殺死APP嗎[J].計(jì)算機(jī)與網(wǎng)絡(luò),2017,43(1):47.

        情色视频在线观看一区二区三区| 久久国内精品自在自线| 偷拍一区二区三区高清视频| 国产欧美一区二区精品久久久| 婷婷午夜天| 一本色道久久99一综合| 久久人妻av无码中文专区| 成人免费毛片在线播放| 国产精品网站91九色| 亚洲av永久无码精品放毛片| 1000部拍拍拍18勿入免费视频下载| 亚洲一区不卡在线导航| 中文字幕亚洲一二三区| 久久久国产精品| 人妻av乱片av出轨| 国产免费看网站v片不遮挡| 加勒比一区二区三区av| 亚洲av高清天堂网站在线观看| aa片在线观看视频在线播放| 又粗又硬又黄又爽的免费视频| 亚洲日韩欧美国产高清αv| 99久久国语露脸国产精品| 日本视频一区二区三区观看| 五月开心婷婷六月综合| 国产偷国产偷精品高清尤物| 天堂…在线最新版资源| 国产精品视频一区日韩丝袜| 视频一区中文字幕日韩| 日韩三级一区二区不卡| 久久久久久曰本av免费免费| 亚洲日韩精品欧美一区二区一| 免费 无码 国产精品| 亚洲中文字幕第一第二页| 国产精品无码制服丝袜| 丰满少妇大力进入av亚洲| 亚洲香蕉毛片久久网站老妇人| 久久人妻中文字幕精品一区二区| 日韩aⅴ人妻无码一区二区| 在线视频这里只有精品| 午夜亚洲精品一区二区| 免费观看mv大片高清|