• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于二維條形碼的文書查驗與信息加密傳送

      2015-04-12 00:00:00吳偉
      現(xiàn)代電子技術 2015年2期

      摘 "要: 從訴訟文書查驗服務處理角度入手,以松耦合度整合現(xiàn)有的職能管理系統(tǒng),提出利用二維條形碼技術對相關法律文書進行數(shù)字簽名,通過智能手機等智能設備簡單互操作從而實現(xiàn)查驗相關具有法律效力文書真實性、完整性與不可抵賴性的作用,還可滿足數(shù)據(jù)加密傳送的需求。同時介紹了與之相關的二維碼生成選型、安全性論證、增益優(yōu)勢。

      關鍵字: 二維碼; 公文查驗; 信息加密傳送; 數(shù)字簽名

      中圖分類號: TN911?34 " " " " " " " " " 文獻標識碼: A " " " " " " " " " " " " " "文章編號: 1004?373X(2015)02?0052?04

      Official document validation and information encryption transmission based on QR code

      WU Wei

      (The People’s Court of Longhua District in Haikou, Haikou 570206, China)

      Abstract: Proceeding from validation of the official documents, the digital signature based on QR code technology is proposed for the related official documents to integrate the current functional management systems. The validation of truth, integrity and non?repudiation of the legal official documents can be realized by the simple interaction of smart phone and other smart equipments. It can meet the requirement of information encryption transmission. The model selection of QR code generation, security demonstration and gain superiority related to validation are introduced.

      Keywords: QR code; official document validation; information encryption transmission; digital signature

      近年來,不法分子通過私刻假公章偽造、篡改政府部門公文、法律文書進行詐騙的事情層出不窮,部分老百姓收到這類假的文書,由于未能冷靜思考以及缺少必要的判別能力,僅憑一紙“公文”,就輕信了不法分子,從而給自己造成了不必要的財產(chǎn)損失。另一方面,政府部門的之間公文傳送校驗一直為相關部門所困擾,究其原因即是公文的憑證僅能由其中的公章進行證明,而公章偽造容易以假亂真,無法進行有效鑒定,從而導致文書真實性、完整性與不可抵賴性無法得到保障。另外由于文書大都基于明文紙面打印的原因,因此一些需要保密的數(shù)據(jù)容易會被泄漏,給有關方面造成損失。得益于智能手機市場占有率高與易于拍照的特點,容量更大、優(yōu)點更多的二維條形碼[1](以下簡稱二維碼)正替代普通條形碼逐漸走進人民群眾的視野,只要拿著智能設備對著各種二維碼“掃一掃”,即可獲取相應的信息,為生活帶來了便利[2]。智能設備與二維碼的普及也為解決文書查驗與信息加密傳送工作帶來了出路。

      1 "方案二維碼應用

      二維碼是用某種特定的幾何圖形,按一定規(guī)律在平面分布的黑白相間的小方格,以圖形來記錄數(shù)據(jù)信息。二維碼相對一維碼優(yōu)點[3]如下:

      (1) 存儲容量大,可存儲4 000多個字母或1 800多個漢字信息,可滿足大多數(shù)的文書信息化應用;

      (2) 制作成本低,實現(xiàn)簡單;

      (3) 識別率高,具有糾錯功能,即使些許破損仍能識讀;

      (4) 普及速度快,得益于智能手機高普及率,二維碼已經(jīng)慢慢走進人民群眾的生活。

      為了解決現(xiàn)有絕大部分僅通過公章證明真?zhèn)蔚墓囊约拔臅子谠旒?、文書內容易于篡改、難以辨別、容易抵賴、明文打印的不足,本方案提供一種基于二維碼進行數(shù)字簽名查驗文書與信息加密傳達[4]的方法,該方法相對普通當事人及相關部門來說操作簡單,實用性強,相關部門僅需要投入較少的軟硬件設施即可杜絕假文書、篡改文書的現(xiàn)象。

      2 "設計與實現(xiàn)

      2.1 "總體設計

      通過在有關部門的文書流程化系統(tǒng)中集成數(shù)字簽名、二維碼生成打印、短信或彩信、WAP(無線應用協(xié)議)交互程序、數(shù)字簽名校驗功能,即可滿足本方案所需功能,還可按需加入IVR(交互式語音應答系統(tǒng))與TTS(文本轉語音)語音自助服務,提供更為人性化的服務。

      2.2 "普通公文二維碼生成

      具體流程如下:

      (1) 文書查驗系統(tǒng)為提取文書內容(全文或關鍵信息),如某傳票文書內容簡化為:案號:(2013)龍民一初字第XXX號;案由:合同糾紛;開庭時間:2013年5月21日;開庭地點:第二法庭。

      (2) 加入時間戳,形成原碼。

      (3) 將原碼經(jīng)MD5摘要算法生成系統(tǒng)惟一查驗碼。

      (4) 將查驗碼、原碼信息、文書查驗提示說明合并生成二維碼內容。

      (5) 進而通過二維碼生成程序生成最終的二維碼。二維碼生成方案都較為實用與成熟??筛鶕?jù)自身部署環(huán)境進行選擇。

      (6) 將二維碼連同文書一起打印,或是附加在文書上,二維碼生成步驟結束。

      采用Google Zxing[5]類庫創(chuàng)建二維碼圖片方法代碼如下:

      /**

      * @Description: 根據(jù)傳入的字符串生成對應二維碼圖像

      * @param qrString " " " " " " " " " " " " "二維碼字符串信息

      * @param width " " " " " " " " " " " " " " " "生成的圖像位寬

      * @param height " " " " " " " " " " " " " " " 生成的圖像位高

      * @param path " " " " " " " " " " " " " "二維碼圖像存放目錄

      * @throws Exception

      * @return String " " " " " " " " " " " " " " " " 二維碼圖像名稱

      */

      public void generate(String qrString, String path,int width, int height) throws Exception {

      log.info(\"GenerateQRCode??gt;start to generate qrcode.\"); File file = new File(path);

      //創(chuàng)建二維碼圖片數(shù)據(jù)數(shù)組對象

      BitMatrix bitMatrix = new MultiFormatWriter().encode(qrString,BarcodeFormat.QR_CODE,width, height);

      //圖片采用32位十六進制數(shù)的ARGB色彩模式進行存儲

      BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

      //利用二維碼數(shù)據(jù)創(chuàng)建圖片像素,根據(jù)數(shù)組元素分別設為黑白兩色

      for (int x = 0; x lt; width; x++) {

      for (int y = 0; y lt; height; y++) {

      image.setRGB(x, y, bitMatrix.get(x, y) == true ? BLACK ": WHITE);

      }

      }

      ImageIO.write(image, PNG_TYPE, file);

      log.info(\"GenerateQRCode??gt;end to generate qrcode.\");

      }

      2.3 "加密文書二維碼生成

      加密文書二維碼生成是在普通文書二維碼生成基礎上深化而來,下面以法院案件移送函為例將具體流程分解如下所述(見圖1)。lt;E:\王芳\現(xiàn)代電子技術201502\Image\07t1.tifgt;

      圖1 文書二維碼生成流程

      按照第2.2節(jié)普通文書二維碼生成第(4)步驟合并生成如下二維碼內容:

      查驗碼:…… [關于……一案,因……。根據(jù)……,現(xiàn)將該案移送你處,請查收。時間戳:…]

      (1) 將查驗碼經(jīng)RSA算法與對應私鑰進行加密,生成文書的數(shù)字簽名。

      (2) 對于需要加密傳送數(shù)據(jù)的文書,可將待加密的敏感信息通過RSA算法與接收方的公鑰進行加密,形成密文。待加密數(shù)據(jù)如下:

      被告銀行賬戶:中國…銀行,6226…,余額:…

      經(jīng)RSA算法與接收方的公鑰進行加密,獲得密文??紤]到加密算法計算量較大,加密大數(shù)據(jù)量的信息會不切實際,因此有必要限制需加密的信息量,從而保障加密功能的時效性。

      (3) 將查驗碼、原碼信息、數(shù)字簽名與密文合并生成二維碼內容:

      查驗碼:……[關于……一案,因……。根據(jù)……,現(xiàn)將該案移送你處,請查收。時間戳:…]數(shù)字簽名:…。密文:…。

      隨后步驟參照第2.2節(jié),將二維碼打印或是附加在文書上,生成步驟結束。

      相應的核心代碼簡述如下:

      String content = \"\";

      String beEncrypt=\"\";

      //在信息內容后面加入時間戳

      Timestamp timeStamp = new Timestamp(System.currentTimeMillis());

      content+=timeStamp;

      //使用MD5加密算法生成信息摘要,即查驗碼

      String md5Code = MD5Util.MD5(content);

      //查驗碼經(jīng)RSA算法與對應私鑰進行加密,生成數(shù)字簽名

      String signCode = RSAUtil.encryptByPrivateKey(md5Code, privateKey);

      //將需加密的內容經(jīng)RSA算法與接收方的公鑰進行加密,獲得密文

      String encryptContent = RSAUtil.encryptByPublicKey(beEncrypt, targetPublicKey);

      //將各部分組合形成最終二維碼內容

      String endContent =\"查驗碼:\"+md5Code+

      content + \"數(shù)字簽名:\" + signCode + \"密文:\" + encryptContent;

      //根據(jù)內容生成二維碼圖像

      QRUtil.generate(endContent, path, width, height);

      //加密文書二維碼生成過程結束

      2.4 "文書交互查驗

      如圖2所示,文書真實性與完整性查驗流程如下:

      (1) 當事人收到文書后,通過普通智能設備二維碼掃描應用,對準查驗二維碼進行掃描;掃描結果包含查驗碼、文書原始碼信息、文書查驗提示說明、數(shù)字簽名與密文;

      (2) 根據(jù)文書查驗說明,當事人可將文書查驗碼以短信、WAP或撥打語音服務等方式發(fā)送至有關部門的文書查驗系統(tǒng);

      (3) 文書查驗系統(tǒng)接收文書查驗碼。通過將查驗碼與數(shù)據(jù)庫中的記錄進行比對,由于是系統(tǒng)惟一標識,從而實現(xiàn)文書真實性查驗的目的;

      (4) 文書查驗系統(tǒng)發(fā)送真實性查驗結果反饋給當事人,如果查驗通過則在查驗結果中告知進行完整性查驗的相關說明與方式;

      (5) 當事人根據(jù)真實性查驗結果進行校驗;若文書為真,當事人可選進行文書完整性查驗。在文書真實性查驗結果中,包含文書完整性臨時查驗碼,當事人進行完整性查驗時需附加該臨時查驗碼;

      (6) 文書查驗系統(tǒng)接收完整性臨時查驗碼;根據(jù)該臨時查驗碼調取系統(tǒng)相關文書完整性數(shù)據(jù);根據(jù)當事人請求方式將文書的完整性數(shù)據(jù)進行反饋;

      (7) 當事人通過智能設備獲取到文書完整性數(shù)據(jù);將文書完整性數(shù)據(jù)與紙面文書進行比對;若比對結果為通過,則說明文書完整性未被破壞,驗證通過。

      圖2 文書交互查驗流程

      2.5 "加密數(shù)據(jù)提取

      包含文書查驗方案二——文書本地一次性查驗所與密文解密流程,具體步驟如下:

      (1) 接收方從二維碼掃描結果中提取文原始碼;對文書原始碼使用MD5摘要算法進行計算,獲取文書信息摘要;接收方從二維碼掃描結果中提取數(shù)字簽名。

      (2) 對數(shù)字簽名通過RSA算法與發(fā)送方公鑰進行計算,獲取原始文書摘要信息; 將摘要信息進行比對。

      (3) 若結果為不通過,則說明文書原始碼內容或二維碼信息在傳送過程中已被篡改。

      (4) 接收方需與發(fā)送方聯(lián)系進行二次確認,以保護雙方的利益。

      (5) 若比對結果為通過,則可對二維碼中密文解密,可先提取二維碼中的密文信息;對密文通過RSA算法與接收方的密鑰進行計算,獲取其中的原始信息,從而達到使用二維碼傳送加密信息的目的。

      相應的核心代碼簡述如下:

      // 將提取的正文實施摘要算法

      String md5Code = MD5Util.MD5(content);

      //將提取的數(shù)字簽名經(jīng)RSA算法與發(fā)送方公鑰進行解密

      String otherMd5Code = RSAUtil.decryptByPublicKey(signCode, sourcePublicKey);

      //將摘要信息進行比對

      if(!md5Code.equals(otherMd5Code)){

      alert(\"文書信息已被篡改,請聯(lián)系發(fā)送方進行二次確認\");

      return;

      }

      //比對通過

      //將密文經(jīng)RSA算法與接收方的私鑰進行解密,獲取原加密信息

      String sourceContent = RSAUtil.decryptByPrivateKey(beEncrypt, targetPrivateKey);

      //加密數(shù)據(jù)提取過程結束

      3 "安全性論證

      整個基于二維條形碼的文書查驗與信息加密傳送方案交互過程相對簡單安全,交互邏輯靈活可靠,受攻擊的方式較為局限,因此整個架構風險系數(shù)較低。具體說明如下:

      (1) 由于整個文書查驗系統(tǒng)與當事人網(wǎng)絡環(huán)境物理隔離,不存在網(wǎng)絡攻擊的可行性,安全系統(tǒng)大大增加。

      (2) 整個文書查驗系統(tǒng)與當事人僅通過移動通信網(wǎng)進行短信或WAP交互,如果只是進行短信交互,攻擊方式則僅為信息群發(fā)攻擊,但由于短信攻擊需要借助移動通信網(wǎng),因此攻擊成本較高,風險較高。

      (3) 安全性較強的交互查驗邏輯。文書查驗系統(tǒng)只允許同特定當事人手機號碼進行交互,這些特定的手機號碼是當事人立案時預留的,這樣就在很大程度上減少了不法分子對系統(tǒng)進行攻擊。在進行文書查驗時,某個當事人在一定時期內只能進行一次查驗,這樣就避免了單個手機號重復攻擊的可能。所有的查驗過程都需要進行日志記錄,方便后期溯源。加入統(tǒng)計分析算法,方便鎖定特定攻擊嫌疑人。

      (4) 文書查驗方案二與數(shù)據(jù)加密傳送均采用RSA公開密鑰密碼體制,RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)今的三十多年里,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一,因此RSA公開密鑰密碼體制在很大程度上保障了文書查驗的準確性與數(shù)據(jù)加密傳送的保密性。

      參考文獻

      [1] 楊秋英,陳立潮,高興元.二維條碼技術現(xiàn)狀及前景展望[J].山西電子技術,2002(2):20?23.

      [2] RUSS A. Two dimensional bar codes [J]. Adams Communications, 2002, 27(4): 15?18.

      [3] 李媛,錢琳林,孫云蘭,等.基于二維條碼的身份驗證系統(tǒng)[J].微計算機信息,2008,24(1):62?64.

      [4] 殷美桂.數(shù)字簽名技術的應用[M].電腦知識與技術,2009(36):12?14.

      [5] Google Project Hosting. Zxing [EB/OL]. [2013?04?04]. http://code.google.com/p/zxing.

      [6] 岳彬,張曉鐘,余向明.二維條碼在小包裝油料收發(fā)管理中的應用研究[J].現(xiàn)代電子技術,2008,31(18):38?40.

      蕉岭县| 大丰市| 托里县| 夏邑县| 鄂伦春自治旗| 东丰县| 巢湖市| 寿宁县| 抚顺市| 连城县| 西乌珠穆沁旗| 曲周县| 东至县| 麻栗坡县| 绩溪县| 灵丘县| 绩溪县| 尼勒克县| 西林县| 卓尼县| 和龙市| 于田县| 龙川县| 中西区| 固阳县| 利津县| 怀来县| 灵璧县| 若尔盖县| 顺义区| 沭阳县| 五河县| 织金县| 成武县| 南岸区| 邵武市| 敦煌市| 宁阳县| 泰州市| 黑龙江省| 闸北区|