張彬, 王岳
(1濟南市質(zhì)量技術(shù)監(jiān)督局,山東濟南250002;
2國家網(wǎng)絡(luò)軟件產(chǎn)品質(zhì)量監(jiān)督檢驗中心(濟南),山東濟南250101)
二維碼的安全技術(shù)研究
張彬1, 王岳2
(1濟南市質(zhì)量技術(shù)監(jiān)督局,山東濟南250002;
2國家網(wǎng)絡(luò)軟件產(chǎn)品質(zhì)量監(jiān)督檢驗中心(濟南),山東濟南250101)
隨著信息安全獲得國家層面的關(guān)注,二維碼安全已成為社會普遍關(guān)注的焦點問題。本文以矩陣式二維碼中應(yīng)用最廣泛的QR碼為基礎(chǔ),通過論述QR碼的圖形結(jié)構(gòu)、編碼方式和編碼過程,總結(jié)了常見的攻擊二維碼的方法,并提出從編碼環(huán)節(jié)和解析環(huán)節(jié)協(xié)同引入安全機制的防護策略。目的在于從技術(shù)層面和二維碼產(chǎn)業(yè)的頂層架構(gòu)層面規(guī)范二維碼市場的運行秩序,促進二維碼行業(yè)形成統(tǒng)一的編碼體系、解析體系、應(yīng)用標準以及行業(yè)規(guī)范。
二維碼安全;QR碼;RC4加密算法;第三方認證
矩陣式二維碼是當前社會上應(yīng)用程度極高一種編碼技術(shù),主要應(yīng)用于信息發(fā)布、商家推廣、網(wǎng)站登錄、社交服務(wù)、電商支付、防偽溯源等方面。但是,在二維碼技術(shù)為大眾生活帶來便捷的同時,其與生俱來的安全隱愚也成為無法忽視的風(fēng)險。例如,當智能手機用戶掃描來源不明的二維碼時,可能立即被鏈接到惡意網(wǎng)站,使手機感染病毒或被植入木馬,造成不可預(yù)知的安全隱愚和經(jīng)濟損失。隨著國民經(jīng)濟的快速發(fā)展,消費者對二維碼應(yīng)用的需求與日俱增,對二維碼安全性、行業(yè)規(guī)范性的需求更加迫切。
結(jié)合實際生活中二維碼的應(yīng)用,針對QR碼的攻擊行為,本文致力于在無法控制攻擊源頭的情況下提高二維碼信息的安全性。設(shè)計在編碼環(huán)節(jié)引入雙重加密策略,在解碼環(huán)節(jié)采用認證技術(shù),從技術(shù)層面和二維碼行業(yè)監(jiān)管層面協(xié)同保證用戶獲得信息的安全性。
國外從上世紀八十年代開始了對二維碼技術(shù)的研究,研究早期主要針對二維碼的符號結(jié)構(gòu)、生成技術(shù)與編譯碼算法。比較成熟的碼制包括PDF417二維碼,QR碼,Code 49,Code 16K以及Code One碼[1],并且已經(jīng)由國際自動識別制造商協(xié)會AIM Global、美國國家標準學(xué)會ANSI完成了上述碼制的符號標準,其中QR代碼已經(jīng)有了國際標準,現(xiàn)行的版本為ISO/IEC 18004-2015 Information technology--Automatic identification and data capture techniques--QR Code 2005 bar code symbology specification[2]。國外對二維碼碼制的研究已經(jīng)相對成熟,但對二維碼安全技術(shù)的研究還處于探索階段。
我國對二維碼技術(shù)的研究起步略晚于國外。在學(xué)習(xí)國外研究成果的基礎(chǔ)上,我國制定了兩個二維碼國家標準:GB/T 17172 -1997《四一七條碼》以及GB/T 18284-2000《快速響應(yīng)矩陣碼》。在二維碼安全技術(shù)的研究方面,任勇金針對QR二維碼提出了一種基于Rijndae算法和異或運算的雙重加密算法[3],周慶等針對QR二維碼提出了基于Ising模型的加密算法[4],安吉旺等提出一種結(jié)合了RSA和口令的改進算法對編碼數(shù)據(jù)信息進行加密[5],于英政等提出了QR二維碼的多級融合加密算法[6]??梢钥闯?,當前對二維碼安全技術(shù)的研究主要集中于信息加密技術(shù)與編譯碼算法,忽視了二維碼行業(yè)中最缺失的體系管理與認證技術(shù)。
矩陣式二維碼中的QR碼是目前社會應(yīng)用度極高的一種碼制,相比其他碼制,QR碼具有信息密度高、編碼范圍廣、容錯能力強、譯碼可靠性高、易加密等優(yōu)勢,因此本文以QR碼為例,詳析二維碼的安全機制。
2.1 QR碼簡介
QR碼的“QR”取自快速響應(yīng)Quick Response[7]。QR碼1994年由日本Denso-Wave公司發(fā)明,QR碼標準JIS X 0510在1999 年1月發(fā)布,其現(xiàn)行實施的國際標準為ISO/IEC 18004-2015。QR碼支持的信息類型非常豐富,包括文本、圖片、網(wǎng)址鏈接、音頻、視頻等,并且支持對各種類型信息的加密。
QR碼是由若干個黑白方形模塊排列組成的正方形矩陣,分為編碼區(qū)域和功能圖形區(qū)域,深色模塊表示二進制“1”,淺色模塊表示二進制“0”,其符號規(guī)格根據(jù)編碼數(shù)據(jù)量自適應(yīng)調(diào)整,支持的數(shù)據(jù)類型包括數(shù)字型數(shù)據(jù)、字母數(shù)字型數(shù)據(jù)、8位字節(jié)型數(shù)據(jù)、中國漢字字符數(shù)據(jù)[7]。
2.2 QR碼編/譯碼原理
QR碼使用四種標準化編碼模式(數(shù)字、字母數(shù)字、二進制字節(jié)、漢字)將數(shù)據(jù)內(nèi)容轉(zhuǎn)換為二維碼圖形,而通過掃描識讀完成數(shù)據(jù)內(nèi)容輸出的譯碼過程則為編碼的逆過程。編/譯碼流程[8]如圖1所示:
圖1 二維碼編/譯碼流程
編碼階段:①獲取原始信息,分析其數(shù)據(jù)類型,根據(jù)分析結(jié)果選定編碼效率最高的編碼模式。②根據(jù)步驟1確定的編碼模式,將原始信息轉(zhuǎn)換為相應(yīng)的二進制比特流,完成信息編碼。③根據(jù)數(shù)據(jù)量將碼字分塊,采用糾錯編碼技術(shù)按塊生成相應(yīng)的糾錯信息碼,再按照分塊順序合并為最終糾錯碼。④將數(shù)據(jù)內(nèi)容和糾錯信息碼組成最終數(shù)據(jù)碼,添加模式信息、版本信息、尋像圖形、定位圖形和校正圖形等,掩模處理生成QR碼圖像。
譯碼階段:①通過尋像圖形和定位圖形確定QR碼的方向和位置,校正圖像,確定采樣網(wǎng)絡(luò)。②識別深淺模塊,讀取格式信息與版本信息,消除掩模,恢復(fù)數(shù)據(jù)內(nèi)容和糾錯信息碼,用糾錯碼進行錯誤檢查。③糾錯后將數(shù)據(jù)信息解碼。④輸出數(shù)據(jù)內(nèi)容。
2.3 二維碼玫擊
由于二維碼的數(shù)據(jù)內(nèi)容與制作來源難以監(jiān)管,編/譯碼過程完全開放,識讀軟件質(zhì)量參差不齊,在缺乏統(tǒng)一的管理規(guī)范的前提下,造成二維碼存在諸多安全漏洞,針對二維碼的攻擊方式也呈現(xiàn)出多樣性的特點。主要包括如下四類:
1)誘導(dǎo)登錄惡意網(wǎng)站:攻擊者只需將偽造、詐騙或釣魚等惡意網(wǎng)站的網(wǎng)址鏈接制作成二維碼圖形,在誘導(dǎo)用戶掃碼登錄其網(wǎng)站后,獲取用戶輸入的個人敏感信息、金融賬號等。
2)木馬植入:攻擊者將自動下載惡意軟件的命令編入二維碼,當用戶在缺少防護措施的情況下掃描該類二維碼時,用戶系統(tǒng)悄悄被植入了木馬、蠕蟲或隱匿軟件,攻擊者在后臺可以肆意破壞用戶文件,偷竊用戶信息,甚至遠程控制用戶,郡發(fā)吸費短信等等。
3)信息劫持:很多商家提供掃碼支付等在線支付手段,網(wǎng)絡(luò)支付平臺根據(jù)用戶訂單生成二維碼,方便用戶掃描支付。若攻擊者劫持了商家與用戶之間的通訊信息,并惡意修改訂單,這將對用戶和商家造成直接經(jīng)濟損失。
4)Web攻擊:隨著手機瀏覽器功能的日趨成熟,用戶能夠通過手機輸入網(wǎng)站域名或提交Web表單。攻擊者利用Web頁面的漏洞,將非法SQL語句插入二維碼信息,當用戶使用手機掃描二維碼登錄Web頁面時,惡意SQL語句被自動執(zhí)行(SQL注入)。若數(shù)據(jù)庫防范機制脆弱,則會造成數(shù)據(jù)庫被侵入,導(dǎo)致更嚴重的危害。
針對二維碼編譯碼流程中存在的安全漏洞,以及目前幾類曲型的攻擊方式,本文設(shè)計在編碼環(huán)節(jié)引入雙重加密策略,在譯碼環(huán)節(jié)進行解密,并使用認證手段進行安全管理。即采用信息加密技術(shù)保證二維碼信息的安全保密性,同時采用認證管理手段保證用戶獲得信息的正確性。
3.1 二維碼加密算法選擇
二維碼加密策略要求兼顧信息保密性與編譯碼復(fù)雜度。若為了獲得信息的絕對保密,而選用加密復(fù)雜度極高的加密算法,則編譯碼的應(yīng)用效率呈幾何級數(shù)下降;若為了提高編譯碼效率,忽視加密算法的安全等級,則失去了加密的意義。
對稱加密算法的優(yōu)點是加解密復(fù)雜度低、加密速度快、執(zhí)行效率高,不足之處在于其安全性依賴于密鑰保密性。序列密碼作為對稱加密算法的一種,采用隨機方式生成與明文序列長度相等的密鑰序列,即將密鑰、明文表示成連續(xù)的二進制流,對應(yīng)地進行加密。相對分組密碼,序列密碼具有加解密速度快、差錯傳播率低等優(yōu)點,而且容易檢測插入、刪除、重播等主動攻擊。序列密碼算法模型如下式所示:
式中E m,n()為加密函數(shù),D m,n()為解密函數(shù)。
RC4加密算法是曲型的序列密碼算法,應(yīng)用到二維碼編譯碼流程中時,密文序列長度固定且與明文序列長度相等,不會因為信息長度變化影響糾錯編碼的糾錯性能與二維碼圖形結(jié)構(gòu)。因此選用RC4加密算法引入二維碼編譯碼流程。
3.2 QR碼雙重加密策略
將RC4加解密算法應(yīng)用于QR碼的編碼、譯碼環(huán)節(jié)。如圖2所示:
圖2 二維碼信息加/解密過程
第一步,二維碼編碼階段,在分析原始信息之后、信息編碼之前引入RC4加密算法,對原始信息進行加密,加密過程如公式(4)所示。該次加密使得整個QR碼處理過程都在已加密信息的基礎(chǔ)上完成,即實現(xiàn)了二維碼信息的加密傳遞。
第二步,在信息編碼之后、糾錯編碼之前進行RC4二次加密,本步驟是對信息編碼之后生成的二進制比特流進行二次加密。RC4算法在加密過程中未改變二進制流的長度,因此不會影響后續(xù)糾錯編碼過程。
第三步,二維碼譯碼階段,首先在糾錯解碼和信息解碼之間進行第一次RC4解密,解密過程如公式(5)所示;繼而在信息解碼之后進行二次解密,還原二維碼原始信息。
3.3 QR碼認證與管理
提高二維碼安全性能的通常方式是在編譯碼環(huán)節(jié)引入加密算法,并對加密算法進行優(yōu)化,提高編譯碼執(zhí)行效率。但是“存在安全風(fēng)險不是因為二維碼編碼技術(shù)本身存在問題,而是因為‘用不好'”[9]。因此將編碼過程和譯碼過程規(guī)范化,是降低二維碼安全風(fēng)險的關(guān)鏈。
本文設(shè)計在二維碼編譯碼環(huán)節(jié)引入第三方認證管理機制。第三方認證管理,是指圍繞二維碼商戶的登記與注冊、二維碼的制作與使用、掃碼應(yīng)用程序的識讀與解析,建立國家統(tǒng)一的二維碼管理體系。
該體系分為認證平臺、解析平臺與數(shù)據(jù)檢索平臺三部分。商戶或個人需要通過認證平臺注冊與登記,按照行業(yè)標準制作生成官方認證的加密二維碼圖形。用戶在認證平臺下載官方授權(quán)的二維碼掃描識讀應(yīng)用程序,作為掃碼工具的唯一來源。用戶完成掃碼后,識讀應(yīng)用程序使用唯一私鑰對掃描信息進行解密,通過解析平臺對二維碼解析結(jié)果進行確認,完成對二維碼安全性的第一道防護;隨后將解析結(jié)果鏈接到認證平臺,認證平臺對惡意網(wǎng)址、虛假信息和惡意指令進行第二道攔截,為用戶屏蔽非法信息。依托官方數(shù)據(jù)檢索平臺的認證機制,檢索、確認信息來源的可靠性,最終將安全有效的掃碼結(jié)果反饋給用戶。認證、解析流程如圖3所示:
圖3 二維碼認證與管理
近年來,二維碼應(yīng)用技術(shù)已成為科技造福民生的曲型代表。它讓我們享受科技進步所帶來的生活便捷,但也在用戶“見碼就掃”的不良習(xí)慣下屢次使我們跌入陷阱。因此研究如何有效規(guī)避二維碼安全風(fēng)險具有重要現(xiàn)實意義。目前針對二維碼信息的加密算法已經(jīng)研究得相當深入,但制約其發(fā)展的最大障礙是缺失頂層架構(gòu),缺少統(tǒng)一的管理體系和行業(yè)標準。本文設(shè)計在編碼環(huán)節(jié)引入雙重RC4加密策略,在解析環(huán)節(jié)引入第三方認證管理手段,旨在從編碼機制、解析機制、二維碼認證管理機制等方面推動國家建立統(tǒng)一的二維碼管理體系。
此外,依托國家網(wǎng)絡(luò)軟件產(chǎn)品質(zhì)量監(jiān)督檢驗中心(濟南)的公共平臺,宣傳、規(guī)范二維碼統(tǒng)一管理體系的建立,推動二維碼產(chǎn)業(yè)的規(guī)范發(fā)展,是實現(xiàn)二維碼行業(yè)監(jiān)管的一種有效嘗試。
[1] 高彥受,許春根.安全實用的二維碼研究與實現(xiàn)[J].信息網(wǎng)絡(luò)安全,2012(10):47-50.
[2] ISO/IEC.ISO/IEC 18004-2015,Information Technology--Automatic Identification and Data Capture Techniques--QR Code 2005 Bar Code Symbology Specification[S].Switzerland:ISO,2015.
[3] 任勇金.基于Rijndae和異或運算的QR二維碼雙重加密研究[J].華章,2012(29):338.
[4] 周慶,黃黨志.基于Ising模型的QR碼加密算法[J].計算機應(yīng)用,2013,33(10):2861-2864.
[5] 安吉旺,徐凱宏.基于RSA和密鑰的二維碼加密編碼的研究[J].森林工程,2014,30(2):125-129.
[6] 于英政,許宏麗.基于QR二維碼的多級融合加密算計的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2014,42(12):2362 -2364.
[7] 國家質(zhì)量技術(shù)監(jiān)督局.GB/T18284-2000,快速響應(yīng)矩陣碼[S].北京:中國標準出版社,2000.
[8] 林佳華,楊永,任偉.QR二維碼的攻擊方法與防御措施[J].信息網(wǎng)絡(luò)安全,2013(5):29-32.
[9] 倪思潔.二維碼藏風(fēng)險技術(shù)監(jiān)管有高招[N].中國科學(xué)報,2013-04-04(4).
《通信技術(shù)》征稿啟示
《通信技術(shù)》是國內(nèi)創(chuàng)辦時間長、影響大的IT專業(yè)媒體,由中國電子科技集團公司主管、中國電子科技集團公司第三十研究所主辦,主要報道信源處理、傳輸、業(yè)務(wù)與系統(tǒng)、網(wǎng)絡(luò)、移動通信、信息安全等方面的先進技術(shù)、理論研究成果和最新動態(tài)。
自1967年創(chuàng)刊以來,《通信技術(shù)》一直以促進民族通信事業(yè)的發(fā)展為已任,搭建了一個聯(lián)系編讀交流、展示通信技術(shù)發(fā)展的良好平臺。在強化品質(zhì)、不斷創(chuàng)新的基礎(chǔ)上,《通信技術(shù)》將以嶄新的面貌出現(xiàn)在您的面前——更新穎的內(nèi)容、更美觀的版面、更精美的印刷。為擴大學(xué)術(shù)交流的渠道,本刊特向社會征集優(yōu)秀稿件。
熱誠歡迎通信技術(shù)領(lǐng)域從事科學(xué)、教學(xué)、技術(shù)開發(fā)、維護管理等方面的專家、學(xué)者、在校師生和相關(guān)技術(shù)人員踴躍投稿。
征稿內(nèi)容:信源處理;傳輸;業(yè)務(wù)和系統(tǒng);網(wǎng)絡(luò);移動通信;通信保密
在線投稿:www.txjszz.com/jwk_xxaq/ht-login.jsp
電 話:028-85169918/85151528 傳 真:028-85151528
《通信技術(shù)》編輯部
二O一四年一月一日
Research on Security Technology of TWo-Dimensional Code
ZHANG Bin1,WANG Yue2
(1Jinan Bureau of Quality and Technical Supervision,Jinan Shandong 250002,China;
2National Network Software Testing Center(Jinan),Jinan Shandong 250101,China)
With the great concern of information security from state level,the security of two-dimensional code becomes the focus of society.Based on QR code,the most widely-used one in matrix two-dimensional codes,the graphics structure,encoding mode and encoding process of QR code are expounded,several common methods attacking two-dimensional code summarized,and protection strategies in coordinate introduction of security mechanism from both encoding and parsing links also presented.The purpose is to regulate the operation order of two-dimensional code from technical level and the top-level architecture of two-dimensional code industry,thus promoting the two-dimensional code industry and forming the unified encoding system,analytical system,application standard and industry standard.
security of two-dimensional codes;QR code;RC4 encryption algorithm;third-party certification
TP309.7
A
1009-8054(2015)10-0110-04
張 彬(1974—),女,碩士,中級工程師,主要研究方向為信息安全,軟件工程;
王 岳(1987—),男,碩士,工程師,主要研究方向為信息安全,計算機網(wǎng)絡(luò)?!?/p>
2015-05-20
山東省質(zhì)量技術(shù)監(jiān)督局科研項目(No.2013KYZ23)