一種溯源應用系統與溯源電子秤的通訊方法
【專利摘要】本發明公開了一種溯源應用系統與溯源電子秤的通訊方法。本方法為:溯源應用系統為每一溯源秤生成一安全碼,且分別與每一溯源電子秤同步維護一請求序號;溯源應用系統分別向溯源電子秤發出配置信息請求、業務服務請;請求的頭部域中包含服務接口版本號、請求序號、認證碼、內容校驗碼;溯源電子秤利用自己的安全碼對收到的請求進行認證;如果認證未通過,則拒絕該請求;如果認證通過,溯源電子秤對請求的頭部域信息進行檢查,如果檢查不通過則返回驗證異常信息給溯源應用系統;如果通過則根據該請求的內容進行處理并將處理結果反饋給溯源應用系統。本發明實現了溯源秤與溯源應用系統的快速適配,有效防止惡意攻擊、信息竊聽和篡改等不安全因素。
【專利說明】一種溯源應用系統與溯源電子秤的通訊方法
【技術領域】
[0001]本發明涉及食品溯源項目中溯源應用系統與溯源電子秤之間的通訊方法,是針對國家商務部肉類蔬菜流通追溯體系建設項目,建立溯源電子秤與應用系統之間標準安全通訊方法。
【背景技術】
[0002]目前國家商務部肉類蔬菜流通追溯體系建設項目已在多個城市試點建設運行,該項目各個試點城市采用的應用系統承建商及硬件設備(溯源電子秤)供應商不同,而目前各家應用系統開發商與各品牌溯源電子秤都定義了不同的通訊協議,導致溯源應用系統與溯源電子秤的接口需隨著溯源電子秤品牌的不同而變化,同時,每個試點城市建設運行時,溯源電子秤和溯源應用系統都需要重新定義接口、聯調測試,資源和時間都產生了浪費。
[0003]同時,目前各地對于溯源電子秤和溯源應用系統之間通信的安全性考慮較少,且溯源電子秤制造廠商的嵌入程序技術參差不齊,協議所采用的安全技術既要保證其廣泛的支持性又不能過于復雜,需要進行綜合平衡考慮。目前考慮溯源不安全因素主要有:
[0004]I)惡意攻擊。黑客通過溯源電子秤提供的服務,破壞溯源電子秤內部信息和參數設置,導致溯源電子秤內部信息混亂或不可用,從而影響追溯功能的正常運行;
[0005]2)信息竊聽及篡改。黑客通過竊聽及篡改溯源電子秤與溯源應用系統之間通信信息,擾亂正常溯源信息和參數信息的傳輸,從而影響追溯功能的正常運行。
[0006]在食品溯源過程中,會涉及溯源業務中一些特殊問題,如商品分割、溯源電子秤批零兼營、溯源電子秤刷卡進場等問題。針對這些特殊問題,溯源應用系統與溯源電子秤需要配合,并進行特殊的實現考慮,目前,通訊協議中暫無對此特殊問題的考慮和解決辦法。而本發明對這些特殊問題進行了`充分的考慮,并提出較好解決辦法。
[0007]本發明建立了食品溯源項目中溯源應用系統與溯源電子秤進行交互通信方法,充分考慮各種不安全因素,防止惡意攻擊、防止竊聽、防止信息篡改等,并針對食品溯源項目中特殊業務問題,進行充分考慮和實現。
【發明內容】
[0008]針對現有技術中存在的問題,本發明的目的在于提供一個標準、通用、安全的溯源應用系統與溯源電子秤通訊方法。本發明采用多種安全控制機制,以及靈活、易擴展的Web服務方式,提供統一標準的溯源應用系統和溯源電子秤之間的通訊,實現溯源應用系統與溯源電子秤之間有效的信息交互,并有效避免溯源應用系統與溯源電子秤之間通訊安全隱
串
[0009]本發明的具體技術方案:
[0010]一種溯源應用系統與溯源電子秤的通訊方法,其步驟為:
[0011]I)溯源應用系統為每一溯源電子秤生成一安全碼,并分配給溯源電子秤;溯源應用系統分別與每一溯源電子秤同步維護一請求序號;[0012]2)溯源應用系統向溯源電子秤發出配置信息請求;所述配置信息請求的頭部域中包含服務接口版本號、請求序號、認證碼、內容校驗碼;
[0013]3)溯源電子秤利用自己的安全碼對收到的配置信息請求進行認證;如果認證未通過,則拒絕該配置信息請求;如果認證通過,溯源電子秤對配置信息請求的頭部域信息進行檢查,如果檢查不通過則返回驗證異常信息給溯源應用系統;如果通過則根據該配置信息請求的內容進行處理并將處理結果反饋給溯源應用系統,進行步驟4);
[0014]4)溯源應用系統向溯源電子秤發送業務服務請求;所述業務服務請求的頭部域中包含服務接口版本號、請求序號、認證碼、內容校驗碼;
[0015]5)溯源電子秤利用自己的安全碼對收到的業務服務請求進行認證;如果認證未通過,則拒絕該業務服務請求;如果認證通過,則溯源電子秤對該業務服務請求的頭部域信息進行檢查,如果檢查通過則根據該業務服務請求的內容進行處理并將處理結果反饋給溯源應用系統;如果檢查不通過則返回驗證異常信息給溯源應用系統。
[0016]進一步的,所述配置信息請求為一 HTTP請求;所述HTTP請求的頭域包括以下域信息:版本號X-Version, HTTP協議標準頭部域Content-Type,指定目標溯源電子秤IP地址域X-ScalesAddr,目標溯源電子秤所在流通節點的流通節點編號域X-RmNodeId,請求序號域 X-RequestNo,認證碼域 X-AuthToken,內容校驗碼域 X-ContentCheckcode。
[0017]進一步的,所述溯源電子秤對配置信息請求的頭部域信息進行檢查的方法為:溯源應用系統發送所述配置信息請求時,在請求頭部域標記本次請求序號;溯源秤服務對該請求頭部域中的請求序號進行核對,若請求序號不匹配,溯源電子秤返回正確的請求序號給溯源應用系統,溯源應用系統調準請求序號再次發送配置信息請求;若請求序號匹配,則溯源電子稱對配置信息請求頭部域中的其他信息進行檢查。
[0018]進一步的,所述請求序號為十進制數字,溯源應用系統每次發送配置信息請求或業務服務請求時,溯源應用系統和接收該請求的溯源電子稱同步維護的請求序號順序加I。
[0019]進一步的,所述認證碼的生成方法為:所述溯源應用系統首先利用秤安全碼和請求序號產生一認證明文;然后利用加密算法對該認證明文進行加密,得到認證密文;溯源應用系統對認證密文進行編碼,產生認證碼。
[0020]進一步的,所述秤安全碼選自O?9十個十進制數字,秤安全碼長度8個字節;所述秤安全碼為ASCII碼。
[0021]進一步的,所述認證明文為一認證明文字符串,其具體格式為:認證明文字符串=請求方法+ “#” +秤安全碼+ +X-RequestNo ;其中,請求方法是指HTTP協議中規定的請求方法,秤安全碼為ASCII碼值;X_RequeStN0為請求序號的十進制數字ASCII字符串。
[0022]進一步的,所述內容校驗碼的生成方法為:首先溯源應用系統對配置信息請求或業務服務請求所承載的內容實體生成信息摘要;然后溯源應用系統將信息摘要用秤安全碼進行加密,生成信息摘要密文;最后溯源應用系統對信息摘要密文進行編碼,得到所述內容驗證碼。
[0023]進一步的,所述配置信息請求包括獲取溯源秤規格信息,設置溯源電子秤所屬經營者,設置溯源電子秤參數,獲取溯源電子秤配置和狀態信息;所述配置信息請求、所述業務服務請求、所述溯源電子稱的應答信息均采用XML格式。
[0024]進一步的,所述溯源電子秤通過溯源電子秤服務接口與所述溯源應用系統通訊;所述溯源電子秤服務接口包括配置服務接口和業務服務接口 ;所述電子秤服務接口采用Http協議與XML格式實現。
[0025]下面對本發明的主要內容進行描述:
[0026]I)定義協議實現方式和服務接口。
[0027]>基于HTTP協議和XML格式實現服務。
[0028]HTTP請求頭域包括以下域信息:
[0029]X-Version域標明溯源秤服務接口的版本號,溯源電子秤服務接口收到請求后,首先確定是否支持服務版本號,若不支持客戶端版本號,返回“版本不支持”異常;X-Version域是必選域。
[0030]Content-Type域是HTTP協議標準頭部域,用于說明HTTP請求或應答傳輸實體的MIME類型及字符集;
[0031]X-ScalesAddr域指定目標溯源電子秤IP地址;
[0032]X-RmNodeId域表示目標溯源電子秤所在流通節點的流通節點編號,流通節點編號必須符合商務部關于肉類蔬菜流通追溯體系的規范。[0033]X-RequestNo域標記本次請求序號,溯源電子秤服務接口收到請求序號后進行核對;
[0034]X-AuthToken域為認證碼,溯源應用系統每次發送請求時,需要攜帶認證碼,溯源電子秤收到請求后,通過X-AuthToken域值對請求方進行認證;配置信息請求和業務服務請求都利用安全碼進行驗證。
[0035]X-ContentCheckcode域為內容校驗碼,請求所承載內容實體的驗證碼,用于防止請求內容被篡改。
[0036]HTTP應答頭域包括Content-Type域,在每次HTTP應答中,必須提供Content-Type域,用以指明所承載的應答實體和應答頭部信息的實體類型和字符集。
[0037]溯源秤服務請求和應答信息(內容實體)采用XML格式。本發明的信息格式以中文名作為元素內容或屬性值的方式進行說明。溯源秤服務請求和應答主要包括以下信息:
[0038]?溯源秤規格信息
[0039]?溯源秤網絡信息
[0040]?溯源秤流通節點信息
[0041]?溯源秤經營者信息
[0042]?溯源秤參數設置信息
[0043]?溯源秤狀態信息
[0044].PLU 信息
[0045]?溯源秤時間信息
[0046]?行政區域信息
[0047]?可銷售商品信息
[0048]?溯源秤進場信息
[0049]?溯源秤交易信息
[0050]>定義針對溯源應用系統和溯源電子秤間通訊協議的請求和應答機制;
[0051]>定義特定的HTTP應答碼、異常信息和溯源電子秤狀態碼;[0052]當溯源秤服務出現異常時,用599作為HTTP應答碼(599碼在HTTP/1.1協議中沒有被使用)。溯源應用系統針對特定HTTP應答碼進行HTTP協議層面的錯誤處理。應答碼599,即溯源秤服務應用出現的異常,應答的內容實體是一個表示異常對象的XML文檔,其中包含異常碼、異常說明信息、調試信息或者其它相關信息。異常信息分為基本異常信息、請求序號異常和溯源秤狀態異常3種類型。異常碼小于O的異常屬于普通異常;大于O的異常碼屬于協議規定的異常。
[0053]下表是協議預定義的異常碼:
[0055]
【權利要求】
1.一種溯源應用系統與溯源電子秤的通訊方法,其步驟為: 1)溯源應用系統為每一溯源電子秤生成一安全碼,并分配給溯源電子秤;溯源應用系統分別與每一溯源電子秤同步維護一請求序號; 2)溯源應用系統向溯源電子秤發出配置信息請求;所述配置信息請求的頭部域中包含服務接口版本號、請求序號、認證碼、內容校驗碼; 3)溯源電子秤利用自己的安全碼對收到的配置信息請求進行認證;如果認證未通過,則拒絕該配置信息請求;如果認證通過,溯源電子秤對配置信息請求的頭部域信息進行檢查,如果檢查不通過則返回驗證異常信息給溯源應用系統;如果通過則根據該配置信息請求的內容進行處理并將處理結果反饋給溯源應用系統,進行步驟4); 4)溯源應用系統向溯源電子秤發送業務服務請求;所述業務服務請求的頭部域中包含服務接口版本號、請求序號、認證碼、內容校驗碼; 5)溯源電子秤利用自己的安全碼對收到的業務服務請求進行認證;如果認證未通過,則拒絕該業務服務請求;如果認證通過,則溯源電子秤對該業務服務請求的頭部域信息進行檢查,如果檢查通過則根據該業務服務請求的內容進行處理并將處理結果反饋給溯源應用系統;如果檢查不通過則返回驗證異常信息給溯源應用系統。
2.如權利要求1所述的通訊方法,其特征在于所述配置信息請求為一HTTP請求;所述HTTP請求的頭域包括以下域信息:版本號X-Version,HTTP協議標準頭部域Content-Type,指定目標溯源電子秤IP地址域X-ScalesAddr,目標溯源電子秤所在流通節點的流通節點編號域X-RmNodeId,請求序號域X-RequestNo,認證碼域X-AuthToken,內容校驗碼域X-ContentCheckcode。
3.如權利要求1或2`所述的通訊方法,其特征在于所述溯源電子秤對配置信息請求的頭部域信息進行檢查的方法為:溯源應用系統發送所述配置信息請求時,在請求頭部域標記本次請求序號;溯源秤服務對該請求頭部域中的請求序號進行核對,若請求序號不匹配,溯源電子秤返回正確的請求序號給溯源應用系統,溯源應用系統調準請求序號再次發送配置信息請求;若請求序號匹配,則溯源電子稱對配置信息請求頭部域中的其他信息進行檢查。
4.如權利要求3所述的通訊方法,其特征在于所述請求序號為十進制數字,溯源應用系統每次發送配置信息請求或業務服務請求時,溯源應用系統和接收該請求的溯源電子稱同步維護的請求序號順序加I。
5.如權利要求1所述的通訊方法,其特征在于所述認證碼的生成方法為:所述溯源應用系統首先利用秤安全碼和請求序號產生一認證明文;然后利用加密算法對該認證明文進行加密,得到認證密文;溯源應用系統對認證密文進行編碼,產生認證碼。
6.如權利要求1或5所述的通訊方法,其特征在于所述秤安全碼選自O~9十個十進制數字,秤安全碼長度8個字節;所述秤安全碼為ASCII碼。
7.如權利要求6所述的通訊方法,其特征在于所述認證明文為一認證明文字符串,其具體格式為:認證明文字符串=請求方法+ “#” +秤安全碼+ +X-RequestNo ;其中,請求方法是指HTTP協議中規定的請求方法,秤安全碼為ASCII碼值;X_RequeStN0為請求序號的十進制數字ASCII字符串。
8.如權利要求1所述的通訊方法,其特征在于所述內容校驗碼的生成方法為:首先溯源應用系統對配置信息請求或業務服務請求所承載的內容實體生成信息摘要;然后溯源應用系統將信息摘要用秤安全碼進行加密,生成信息摘要密文;最后溯源應用系統對信息摘要密文進行編碼,得到所述內容驗證碼。
9.如權利要求1所述的通訊方法,其特征在于所述配置信息請求包括獲取溯源秤規格信息,設置溯源電子秤所屬經營者,設置溯源電子秤參數,獲取溯源電子秤配置和狀態信息;所述配置信息請求、所述業務服務請求、所述溯源電子稱的應答信息均采用XML格式。
10.如權利要求1所述的通訊方法,其特征在于所述溯源電子秤通過溯源電子秤服務接口與所述溯源應用系統通訊 ;所述溯源電子秤服務接口包括配置服務接口和業務服務接口 ;所述電子秤服務接口采用Http協議與XML格式實現。
【文檔編號】H04L29/06GK103685152SQ201210322353
【公開日】2014年3月26日 申請日期:2012年9月3日 優先權日:2012年9月3日
【發明者】何梅, 吳德有, 宿穎, 杜栓柱, 江波 申請人:無錫中科方德軟件有限公司