TWI518598B - 條碼防竄改系統及其方法 - Google Patents
條碼防竄改系統及其方法 Download PDFInfo
- Publication number
- TWI518598B TWI518598B TW103103091A TW103103091A TWI518598B TW I518598 B TWI518598 B TW I518598B TW 103103091 A TW103103091 A TW 103103091A TW 103103091 A TW103103091 A TW 103103091A TW I518598 B TWI518598 B TW I518598B
- Authority
- TW
- Taiwan
- Prior art keywords
- tamper
- barcode
- resistant
- code
- information
- Prior art date
Links
Description
本發明係關於一種條碼產生與識別技術,尤其是一種條碼防竄改系統及其方法。
條碼的應用在日常生活中已越來越廣泛,常見於各項商品、優待券、入場券、禮券、現金券、海報或書籍中。在各領域所使用的條碼,如活動廣告(DM)上的條碼、商品上的條碼等,主要目的是方便使用者讀取條碼,以清楚知悉條碼所提供的資訊內容。
現在商品標籤大部分採用一維或二維條碼,其內容是以明碼產生,故無使用防竄改機制,但在現行條碼廣泛應用下,若其用途僅是資訊提供,則較無使用上的安全疑義,但若條碼其用途是代表有價證券時,則容易被有心人士竄改製作,因此,防止條碼被竄改後大量製造是相當重要的。傳統的防竄改機制,例如特殊油墨、鐳射標籤、鋼印、特殊紙張…等等,這些傳統防竄改技術的防竄改能力薄弱且容易被破解,對於使用者而言,這些傳統的防竄改機制還是處於被竄改的危險之中,且對條碼使用者來說,具防竄改機制的條碼可提供使用上的保障,避免條碼遭竄改而產生錯誤資訊,甚至是有價證卷的偽造。另外,現行條碼除缺乏防
竄改內容機制外,也無法透過條碼來確認條碼發行人,如此降低條碼應用性,特別是於商家間聯合促銷時的商家確認。
因此,若考量條碼使用安全性的話,防止條碼被竄改後大量製造生產是必要的,特別是針對有價證券的條碼,若條碼產生方式被破解或是被輕易大量複製,則不僅造成商家損失,更讓條碼無法有效應用,故防止條碼被不肖廠商竄改或大量製造,實為本技術領域之人亟欲解決的技術課題。
本發明提出一種條碼防竄改系統及其方法,利用難以察覺的差異產生防竄改條碼,且不影響條碼讀取下,讓使用者辨識出是否為防竄改條碼,以強化條碼使用上的安全性。
本發明係提供一種條碼防竄改系統,其包括:用於接收條碼內容之條碼輸入模組、防竄改字碼產生模組以及用於輸出防竄改條碼之條碼輸出模組,其中,該防竄改字碼產生模組包括條碼產生單元、雜湊值產生單元以及防竄改字碼加入單元,該條碼產生單元利用條碼產生器讀取該條碼內容以產生條碼資訊,該雜湊值產生單元用於該條碼內容與預設之加密鑰匙之結合,以利用雜湊函數處理該條碼內容與該加密鑰匙而得到固定長度之雜湊值,該防竄改字碼加入單元設定該雜湊值為一被除數,執行該被除數除以該條碼資訊之字碼數量以得到一商數與一餘數之計算,再以一預設之防竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼,並以該商數作為下次計算之被除數,重複執行該被除數除以該條碼資訊之字碼數量以得到新的餘數和商數之計算,並依上述規則將該防竄改字碼加入該條碼資訊內,直到該防竄改字碼完全加入至該條碼資訊為止,且該防竄改字碼之字碼數量在該條碼資
訊之容錯值範圍內,最後,由該條碼輸出模組將具有該防竄改字碼之條碼資訊輸出。
本發明還提出一種條碼防竄改方法,係包括:輸入條碼內容以產生條碼資訊;利用該條碼內容與預設之加密鑰匙之結合,以透過雜湊函數處理該條碼內容與該加密鑰匙而得到固定長度之雜湊值;設定該雜湊值為一被除數,執行該被除數除以該條碼資訊之字碼數量以得到一商數與一餘數之計算;再以一預設之防竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼;以該商數作為下次計算之被除數,重複執行該被除數除以該條碼資訊之字碼數量以得到新的餘數和商數之計算,並依上述規則將該防竄改字碼加入該條碼資訊內,直到該防竄改字碼完全加入至該條碼資訊為止,且該防竄改字碼之字碼數量在該條碼資訊之容錯值範圍內;以及輸出具有該防竄改字碼之條碼資訊,以作為防竄改條碼。
本發明還提出一種防竄改條碼識別器,用於識別所讀取之待辨識條碼是否為防竄改條碼,該防竄改條碼識別器包括:條碼解碼單元、防竄改字碼位置單元及防竄改識別單元。該條碼解碼單元用於解碼該待辨識條碼以得到該待辨識條碼之條碼內容,該防竄改字碼位置單元用於將該待辨識條碼之條碼內容與預設之加密鑰匙透過雜湊函數計算以得到防竄改字碼位置,其中,該防竄改條碼係利用該加密鑰匙所產生者,該防竄改識別單元係依據該防竄改字碼位置由該待辨識條碼之條碼資訊中得到防竄改資訊,比對該防竄改資訊與該防竄改條碼產生時所加入之防竄改資訊,以於兩者相同時判斷該待辨識條碼為該防竄改條碼。
相較於習知技術,本發明所提出之條碼防竄改系統及其方法,係於一般條碼中加入肉眼難以察覺差異的防竄改條碼,並
且不影響一般條碼的讀取,因此,是一種可用於產生別人無法竄改條碼的條碼編碼機制。此外,透過相似原理的驗證機制,讓使用者可辨識出待辨識條碼是否為防竄改條碼,並透過防竄改字碼的確認,進而知悉其代表來源或出處,如此,將使防竄改條碼的應用更廣泛。
1‧‧‧條碼防竄改系統
11‧‧‧條碼輸入模組
12‧‧‧防竄改字碼產生模組
121‧‧‧條碼產生單元
122‧‧‧雜湊值產生單元
123‧‧‧防竄改字碼加入單元
13‧‧‧條碼輸出模組
14‧‧‧防竄改條碼識別模組
141‧‧‧條碼解碼單元
142‧‧‧防竄改字碼位置單元
143‧‧‧防竄改識別單元
2‧‧‧顯示裝置
100‧‧‧條碼內容
200‧‧‧防竄改條碼
300‧‧‧待辨識條碼
51、52、53‧‧‧字碼
S301至S306、S401至S404‧‧‧步驟
第1圖為本發明之條碼防竄改系統的系統示意圖;第2圖為本發明之條碼防竄改系統另一實施例的系統示意圖;第3圖為本發明之條碼防竄改方法的步驟圖;第4圖為本發明之條碼防竄改方法中識別防竄改條碼的步驟圖;以及第5A至5D圖為本發明之條碼防竄改方法中將防竄改字碼加入條碼之具體實施例的示意圖。
以下藉由特定的具體實施形態說明本發明之技術內容,熟悉此技藝之人士可由本說明書所揭示之內容輕易地瞭解本發明之優點與功效。然本發明亦可藉由其他不同的具體實施形態加以施行或應用。
第1圖係說明本發明之條碼防竄改系統的系統示意圖。如圖所示,條碼防竄改系統1是於條碼中加入肉眼難以察覺的防竄改字碼而成為防竄改條碼,其實施對象可為常見的一維條碼、二維條碼或彩色條碼。其中加入之防竄改字碼所代表之防竄改資訊其表示涵義可為有意義資訊或無意義資訊,主要提供使用者利用
機器判斷該防竄改條碼的來源或出處之依據。前述所謂之字碼(module)是條碼中用來標記資料的圖形,以QR-code為例,其字碼就是一個小的黑色或白色的方塊,條碼即是由眾多字碼所共同組成。舉例來說,假設防竄改資訊為“CD”,“CD”此兩字的ASCII CODE為“01000011 01000100”,假定在此實施例的白色字碼為“0”,黑色字碼為“1”,因此可得防竄改字碼的方塊顏色順序為“白黑白白白白黑黑白黑白白白黑白白”,如果以四色的彩色條碼為例,意即一字碼可表示兩位元,假定在此實施例的白色字碼為“00”紅色字碼為“01”綠色字碼為“10”藍色字碼為“11”,因此可得防竄改字碼的方塊顏色順序為“紅白白藍紅白紅白”。該條碼防竄改系統1包括:條碼輸入模組11、防竄改字碼產生模組12以及條碼輸出模組13。
條碼輸入模組11用於接收條碼內容100,具體來說,本實施例所述之防竄改條碼是於一般條碼中加入防竄改字碼,故條碼輸入模組11接收條碼產生器所輸入之條碼內容100,以用於後續防竄改條碼的產生。
防竄改字碼產生模組12是用於在條碼內容100中加入防竄改字碼,該防竄改字碼產生模組12包括條碼產生單元121、雜湊值產生單元122以及防竄改字碼加入單元123。其中,該防竄改字碼可置入條碼資訊的空白處或未使用地區,也可置入原先條碼使用記載資訊的位置。在一實施例中,該防竄改字碼是可以取代原本條碼資料的內容,取代內容在容錯值範圍內即可。
條碼產生單元121利用條碼產生器讀取該條碼輸入模組11所接收之條碼內容,以產生對應該條碼內容之條碼資訊,例如一維
條碼或二維條碼,但不以此為限。在一實施例中,該條碼資訊為未加入任何防竄改字碼的條碼。其中條碼資訊可包括條碼圖案等等。
雜湊值產生單元122用於將該條碼輸入模組11所接收之條碼內容與預設之加密鑰匙(encryption key)結合,利用雜湊函數(hash function)處理該條碼內容與該加密鑰匙而得到固定長度之雜湊值。雜湊函數是一種從任何一種資料,透過其演算法,求出或內嵌一組特別的數位編碼,其可對任意長度的訊息輸入產生固定長度的雜湊值。在一實施例中,可藉由雜湊函數來產生雜湊值。
於此,所述之加密鑰匙可為使用者所設定的參數或由機器自動產生,此參數可以是編號、亂數、文字、文數字等等,或者,加密鑰匙可為一段資料,此資料可以是使用者密碼(例如David1234),也可以是亂數產生(例如12345abcd),當加密鑰匙與該條碼輸入模組的條碼內容同時輸入至雜湊函數時將可使同一雜湊函數產生專屬於使用者的雜湊值。
防竄改字碼加入單元123用於設定該雜湊值產生單元122所產生之雜湊值為一被除數,執行該被除數除以該條碼資訊之字碼數量以得到一商數與一餘數之計算,再以一預設之防竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼,並以該商數作為下次計算之被除數,重複執行該被除數除以該條碼資訊之字碼數量以得到新的餘數和商數之計算,並依上述規則將該防竄改字碼加入該條碼資訊內,直到該防竄改字碼完全加入至該條碼資訊為止。由上可知,防竄改字碼加入單元123以雜湊值為被除數,將該被除數除以該條碼資訊之字碼數量而得到商數與餘數,接著將該防竄改字碼取代該餘數所
對應到之條碼資訊上的資料字碼,藉此將防竄改字碼加入至條碼內。
再來,以前述取得之商數作為下次計算之被除數,並以此商值除以該條碼資訊之字碼數量而得到新的餘數和商數,同理,繼續將剩餘的防竄改字碼取代該新的餘數所對應到之條碼資訊上的資料字碼,之後,以上述規則重複執行除法計算以及將防竄改字碼逐一取代計算出之資料字碼,直到該防竄改字碼完全加入至該條碼資訊為止。其中條碼資訊包括條碼圖案。
上述之防竄改字碼為一段字碼,該段字碼的產生方式是將一防竄改資訊以字碼作表示,更具體來說,防竄改資訊是供店家利用機器來確認是否為防竄改條碼的資訊,可以為有意義資訊或無意義資訊,有意義資訊指非亂碼的資訊,例如店家名稱、作者名稱、服務資訊或商品資訊等,而無意義資訊則是如“536523563”之類者等等,兩者使用時機則可視店家是否為同一店家而定。當為不同店家,想要使用簡單的確認方式但預先又沒訂好雙方共同認定的防竄改資訊時,則需使用顯而易見的有意義資訊,以便讓店家可以利用機器快速的判定是否為防篡改條碼。反之,無意義資訊則可使用於店家為同一店家時,因為店家當然知悉條碼產生時所加入之防竄改資訊。此為防竄改資訊可由機器的顯示器顯示而加以判斷。機器可定義為條碼辯識器或包括有條碼辯識器之條碼產生器等等。
該防竄改字碼之字碼數量在該條碼資訊之容錯值範圍內即可,不同條碼資訊之字碼數量可有不同容錯值範圍,亦即當條碼中有部分字碼錯誤時,若字碼錯誤數量少於可容錯值時,則不影
響防竄改條碼讀取。因此,於本實施例之防竄改字碼之字碼數量是容錯值範圍內。容錯值為在條碼設定之安全等級下,所能更正錯誤字碼的最大值。當防竄改字碼加入條碼後,仍可被讀取出條碼內容,一般來說,防竄改字碼之字碼數量以不超過容錯值的一半為原則,但仍可視需求而變動。
此外,於防竄改字碼取代條碼資訊上餘數所對應到的資料字碼過程中,當該餘數所對應到的資料字碼已成為該防竄改字碼時,則位移至少一個字碼以加入該防竄改字碼,例如將防竄改字碼加入於該餘數所對應到之資料字碼的下一個或上一個字碼,而此位移規則也可由使用者自行決定,因而於防竄改字碼辨識過程時,機器也可以同樣位移規則對防竄改字碼的分配位置進行識別。
條碼輸出模組13用於輸出該防竄改字碼加入單元123所產生之具有防竄改字碼的條碼資訊,所輸出之條碼資訊則可以條碼形式產出以作為防竄改條碼200。
另外,為了使防竄改字碼具有變化性,可透過將用於表示防竄改字碼之防竄改資訊轉成二位元後,透過加或減一固定值之改值機制來改變該防竄改資訊所代表的值,如此,可強化防竄改字碼的保護。
第2圖係說明本發明之條碼防竄改系統另一實施例的系統示意圖。如圖所示,條碼防竄改系統1中除了條碼輸入模組11、防竄改字碼產生模組12和條碼輸出模組13,更包括用於辨識防竄改條碼之防竄改條碼識別模組14,其中,該防竄改條碼識別模組14包括條碼解碼單元141、防竄改字碼位置單元142以及防竄改識別單元143。在一實施例中,防竄改條碼識別模組14可為單一
防竄改條碼識別器,亦即,防竄改條碼識別的機制可單獨出來或為單一設備,無需與防竄改字碼產生的機制結合在一起。
條碼解碼單元141係透過條碼解碼器,解碼該條碼輸入模組11所讀取之待辨識條碼300以得到待辨識條碼之條碼內容。
防竄改字碼位置單元142用於將該待辨識條碼之條碼內容與該加密鑰匙透過該雜湊函數計算以得到防竄改字碼位置,此處所述之加密鑰匙和雜湊函數皆為防竄改條碼產生時所使用之加密鑰匙和雜湊函數,也就是說,以相同加密鑰匙和雜湊函數可計算出防竄改字碼以取代方式所加入的位置,因此,透過防竄改字碼位置單元142計算出防竄改字碼的所在位置。
防竄改識別單元143是依據該防竄改字碼位置由該待辨識條碼圖形中得到防竄改字碼,再將防竄改字碼轉換回防竄改資訊,比對該防竄改資訊與該防竄改條碼產生時所加入之防竄改資訊,來判斷該待辨識條碼是否為該防竄改條碼,並將辨識結果由顯示裝置2顯示。如前所述,防竄改字碼位置單元142以相同加密鑰匙和雜湊函數計算出防竄改字碼位置,防竄改識別單元143則依據該防竄改字碼位置自待辨識條碼資訊中取得防竄改字碼,再將防竄改字碼轉換回防竄改資訊,之後,比對防竄改資訊與產生防竄改條碼時所加入之防竄改資訊是否相同,若相同則表示該待辨識條碼為防竄改條碼,反之則該待辨識條碼不是防竄改條碼。在一實施例中,加入防竄改字碼的條碼內容,其中防竄改字碼或加入防竄改字碼的條碼內容可儲存在一儲存器(圖中未示),待辨識防竄改字碼時,自該儲存器取出防竄改字碼或加入防竄改字碼的條碼內容加以比對,以確認是否為原先產生的防竄改字碼。
上述辨識機制,是以產生防竄改條碼所使用之加密鑰匙和雜湊函數取得防竄改字碼的所在位置,進而取得防竄改資訊,若防竄改資訊與產生條碼時加入之防竄改資訊相同時,則可判斷待辨識條碼為先前所產生之防竄改條碼,此辨識目的可提供使用者確認條碼的來源是否正確。因此,若條碼遭到竄改或者偽造者在不知悉加密鑰匙和雜湊函數下大量製造條碼時(有固定排序的條碼),透過此辨識機制則可判斷防竄改條碼的真偽。
第3圖係說明本發明之條碼防竄改方法的步驟圖。如圖所示,於步驟S301中,係輸入條碼內容以產生條碼資訊。此步驟係說明,由條碼產生器讀取一般條碼,並由此條碼取得不具備防竄改內容的條碼資訊,以供後續透過本發明所提出之防竄改條碼產生機制,於該條碼資訊中加入防竄改字碼。
於步驟S302中,係利用該條碼內容結合預設之加密鑰匙以透過雜湊函數得到固定長度之雜湊值。此步驟係將條碼內容與預設之加密鑰匙結合,並透過雜湊函數產生固定長度之雜湊值,其中,加密鑰匙可為使用者或由機器自動產生所設定的參數,該參數可為編號、亂數、文字、文數字等。加密鑰匙可為一段資料,可以是使用者密碼或者是一亂數,且於加密鑰匙與條碼內容同時輸入至雜湊函數時,將透過該雜湊函數產生例如專屬於使用者的雜湊值。
於步驟S303中,係設定該雜湊值為一被除數,計算該被除數除以該條碼資訊之字碼數量得到一商數與一餘數。具體來說,此步驟目的是要將防竄改字碼加入條碼資訊內,因此,以步驟S302得到之雜湊值為被除數,計算被除數除以條碼資訊之字碼數量以
得到商數與餘數,之後將運用餘數關係將防竄改字碼加入條碼資訊內。
於步驟S304中,係將防竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼。如前所述,前一步驟得到之餘數是用於以防竄改字碼取代條碼資訊上該餘數所對應到的資料字碼,藉此將防竄改字碼加入條碼資訊中,該防竄改字碼可為有意義資訊或無意義資訊的一段字碼。
於步驟S305中,係以該商數作為下次計算之被除數,重複執行該被除數除以該條碼資訊之字碼數量以得到新的餘數和商數,並依上述規則將該防竄改字碼加入該條碼資訊內,直到該防竄改字碼完全加入至該條碼資訊為止,且該防竄改字碼之字碼數量在該條碼資訊之容錯值範圍內。前一步驟教導如何將防竄改字碼加入條碼資訊中,之後,可以相同方式,將先前取的商數作下次計算之被除數,再次除以條碼資訊之字碼數量,所取得餘數,則為剩下的防竄改字碼加入條碼資訊的參考依據,而商值同樣也可成為再下一次計算時的被除數,之後,重複執行上述計算,直到該防竄改字碼完全加入至該條碼資訊為止。
此外,在以防竄改字碼取代條碼資訊上該餘數所對應到的資料字碼時,當該餘數所對應到的資料字碼已成為該防竄改字碼時,亦即該資料字碼位置已為防竄改字碼時,則可或上或下位移至少一個字碼以加入該防竄改字碼,同樣地,位移機制亦可由使用者視情況來設定。
另外,若考量防竄改字碼的安全性,亦可將用於表示防竄改字碼之防竄改資訊轉成二位元後,透過加或減一固定值之改值機
制,以改變該防竄改資訊所代表的值,因而若其他人非法產生條碼時,在不知此改值機制下,同樣無法輕易產生防竄改條碼。
為了不影響讀取條碼內容,將限定防竄改字碼之字碼數量不可以超過條碼資訊之容錯值範圍。於本實施例中,可考慮設定防竄改字碼之字碼數量在容錯值之一半為原則,但此數量可依據需求而調整。
於步驟S306中,係輸出具有該防竄改字碼之條碼資訊,以作為防竄改條碼。此步驟是說明,前一步驟已將防竄改字碼完全加入至條碼資訊中,因而本步驟將輸出一個具有防竄改字碼之條碼資訊來作為防竄改條碼。
第4圖係說明本發明之條碼防竄改方法中識別防竄改條碼的步驟圖。於步驟S401中,係讀取待辨識條碼以得到該待辨識條碼之條碼內容。此步驟係說明,使用者可透過條碼讀取器讀取待辨識條碼,並可透過條碼解碼器來解碼該待辨識條碼,藉此得到該待辨識條碼之條碼內容。
於步驟S402中,係將該待辨識條碼之條碼內容與該加密鑰匙透過該雜湊函數計算以得到防竄改字碼位置。此步驟為了取得先前加入防竄改字碼的所在位置,因此利用產生防竄改條碼時所使用之加密鑰匙和雜湊函數,對待辨識條碼之條碼內容進行計算,以由該待辨識條碼中取得若採用相同於先前防竄改條碼產生所使用規則下,要加入防竄改字碼的位置。
於步驟S403中,係依據該防竄改字碼位置由該待辨識條碼圖形中得到防竄改字碼,再將防竄改字碼轉換以得到防竄改資訊。具體來說,此步驟是依據前一步驟所取得之防竄改字碼位置,自
該待辨識條碼資訊中得到防竄改資訊,由於先前採用相同加密鑰匙和雜湊函數,因而計算出來的防竄改字碼位置所取得的防竄改資訊,理當相同於防竄改條碼產生時所加入的防竄改資訊。
於步驟S404中,係用來比對該防竄改資訊與該防竄改條碼產生時所加入之防竄改資訊,以判斷該待辨識條碼是否為該防竄改條碼。如前所述,將前一步驟所取得之防竄改資訊與先前防竄改條碼產生時所加入之防竄改資訊進行比對,若兩者相同,則可判斷該待辨識條碼為防竄改條碼,反之,則判斷該待辨識條碼非為防竄改條碼。
驗證防竄改資訊是否屬於防竄改條碼時,其應用情境可能有兩種,一種為同一店家情況,另一種則為不同店家。
在同一店家時,驗證該防竄改資訊是否為產生條碼時所加入的防竄改資訊,如果兩者相同時,則為防竄改條碼,但如果兩者不相同時,則非為防竄改條碼。
在不同店家情況下,想要快速辨識,但雙方又無預先約定防竄改資訊,因而導致讀取條碼的店家不知道防竄改資訊的內容而無法辨識出防竄改資訊是否正確,因此,所使用的防竄改資訊應為顯而易見的有意義資訊,如店家名稱、作者名稱或服務資訊等,因而上述步驟S404只要驗證所得到的防竄改資訊是否為有意義資訊即可確認是否為防竄改條碼。
接下來,透過一具體實施範例來說明,防竄改條碼的產生過程。
首先,輸入條碼內容至一無防竄改條碼產生器中,取得一無防竄改的條碼,以QR code為例,如下面表一所示,版本3的QR
code的資料區域(Data area)有567字碼,且於高容錯率時有170個容錯字碼數。
假設防竄改字碼數為D,D是不大於容錯值的正整數,設定可為小於容錯字碼數的一半。由於防竄改字碼的總碼數D不會超過容錯字碼數,因此一般解碼器可正確辨識出條碼內容。
輸入條碼內容,將條碼內容與加密鑰匙透過一雜湊函數取得固定長度的雜湊值,如果要增加破解困難度可多進行幾次雜湊函數運算,意即將第一雜湊函數輸出之雜湊值輸入至第二雜湊函數中再將第二雜湊函數輸出之雜湊函數輸入至第三雜湊函數…等,多進行幾次雜湊函數運算後輸出之雜湊值其破解難度會提升,而此處的加密鑰匙(encryption key)為使用者所設定之編號、亂數、文字、文數字等參數,假設雜湊函數式H( ),條碼內容為M,防竄改字碼數量為D,輸出的雜湊值為h,雜湊值長度為L,條碼資料字碼總數為N,條碼資料字碼總數長度為L2,則可得到H(M+key)=hL的數學式,其中,L>D*L2。
之後,將上述所得到之雜湊值除以條碼內容的字碼數量,即X÷N以得到商數a和餘數b,之後,需注意者,第一次計算時X為雜湊值,之後第二次及之後的計算則為其前次所得到的商數值。
請參照第5A至5D圖,係說明本發明之條碼防竄改方法中將
防竄改字碼加入條碼之具體實施例的示意圖。第5A圖即以QR-code Version 1為例,標示出208個字碼的資料區域及其位置。為了方便說明,我們將此實施例的防竄改資訊設定為“110”,而條碼資料字碼總數為208,其條碼資料字碼總數化做二進位為11010000,因此其長度為8。假定雜湊值二位元長度為26(雜湊值長度為L,防竄改字碼數量為D,條碼資料字碼總數長度為L2,L>D*L2,因此,於此26>3*8位數)。假設計算出的十進位雜湊值為26840267。接著請參照第5B圖。
於第5B圖中,當第一次運算時,將26840267除以208得到商數為129039,餘數為155,則將防竄改第一字碼值1,對應到條碼資料區域第155位置的字碼51,將其字碼值改為“1”。倘若我們假定在此實施例的白色字碼為“0”黑色字碼為“1”的話,則如圖所示,第5B圖中的第155位置顯示出黑色圖形,以對應防竄改字碼的第一字碼值1。然後請參照第5C圖。
於第5C圖中,我們將第一次運算後的商數129039除以208,得到商數為620,餘數為79,將防竄改第二字碼值1,對應到資料區域第79位置的字碼52,將第79位置之字碼值改為“1”,因此,第5C圖中的第79位置會顯示黑色圖形。
再參照第5D圖,我們將第二次運算後的商數620除以208,得到商數為2,餘數為204,於是將防竄改第三字碼值0,對應到資料區域第204位置的字碼53,將其字碼值改為“0”,因此,圖上的第204位置會顯示白色圖形。若實施例為彩色條碼時,此時之防竄改字碼即為將防竄改資訊以彩色條碼之字碼表示,意同於如果彩色條碼一字碼可包含3位元且假設防竄改資訊為9位元,
那即可用三個彩色條碼字碼做表示,因此雖然彩色條碼不同於上述的QR-code,我們仍可運用同樣的雜湊值產生方法與防竄改字碼加入的方法得到防竄改之彩色條碼。
此外,在以防竄改字碼取代條碼資訊上該餘數所對應到的資料字碼時,當餘數對應到的資料字碼已經是防竄改字碼時,可位移至少一個字碼來加入防竄改字碼,例如加一字碼或減一字碼。同時,位移機制也可由使用者視情況來設定。
防竄改字碼的總碼數D應該小於條碼本身可以容錯值,這樣可正確辨識出防竄改條碼的條碼內容,在一實施例中,可將防竄改字碼的總碼數設定為小於容錯字碼數的一半。
因此,一般QR code或彩色條碼辨識器能可辨識出其條碼內容,且因在其容許的容錯值範圍內,故讀取條碼內容時將不受這些經過防竄改處理的部分的影響,並且透過前面所述之辨識比對機制,可分辨待辨識條碼是否為防竄改條碼。
防竄改條碼的一具體應用範例可用於聯合行銷。所謂店家聯合行銷是指複數個店家為對方做行銷,例如將A店家優惠券放到B店家中時需要確認優惠券發行人為A(A店家要為優惠券負責),當消費者到A店家消費時,A店家要得知是B店家所介紹來的客人,故可作分潤用。因此,可在聯合行銷傳單上使用防竄改條碼,店家A將優惠券(此優惠券包含防竄改條碼,且其防竄改資訊可為B店的店家資訊)放置於B店家中,消費者在B店家拍到A店家優惠券條碼,消費者透過一般條碼讀取器瞭解優惠券內容後將優惠券條碼帶至A店家,對於A店家而言,可透過此防竄改條碼來確定此張優惠券是自己店裡發出的優惠券且內容未被竄
改,並且可以透過防竄改資訊來了解是B店家所帶來的客戶。因此,透過優惠券上可能使用的辨識記號,例如鋼印、浮水印或戳章等,再搭配防竄改條碼,將可大幅提升條碼的安全性和實用性。
此防竄改條碼的另一具體應用範例可用於入場券或禮券。一般來說,入場券及禮券的條碼編號通常為一個固定排序,例如FNR2369054,FNR2369056,FNR2369058…等,當此固定排序邏輯被掌握之後,除了票面上印刷外幾乎沒有其他的安全機制,這會導致有心人士仿製後也難以被察覺。透過防竄改條碼,發行入場券或禮券之企業可使用防竄改條碼來做入場券或禮券的條碼,標號也是跟之前一樣有一個固定的排序,且在不影響原內容讀取下即可加入防竄改機制,就算有心人士想仿製票券的排序編號,也無法產生正確的防竄改條碼,或者於使用時也會被發現是仿製票券。因此,透過入場券或禮券上可能使用鋼印、浮水印或戳章之辨識記號,並配合防竄改條碼的使用,將可避免入場券或禮券被大量偽造。
與習知技術相比較,本發明所提出之條碼防竄改系統及其方法,係於一般條碼中加入肉眼難以察覺差異的防竄改條碼,且由於防竄改字碼之字碼數量在條碼資訊之容錯值範圍內,於條碼讀取時會將該些防竄改字碼當成雜訊忽略,不影響一般條碼的讀取,由於他人無法取得加密鑰匙,因而可產生別人無法竄改的條碼。另外,透過相似於防竄改條碼產生的驗證機制,可辨識出待辨識條碼是否為防竄改條碼,若加上將防竄改字碼為有意義的資訊下,例如店家名稱、作者名稱或服務資訊等,則於條碼讀取後,使用者可以該防竄改字碼識別出其代表來源或出處,此讓防
竄改條碼的應用更全面。
上述實施形態僅例示性說明本發明之原理及其功效,而非用於限制本發明。任何熟習此項技藝之人士均可在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。因此,本發明之權利保護範圍,應如後述之申請專利範圍所列。
1‧‧‧條碼防竄改系統
11‧‧‧條碼輸入模組
12‧‧‧防竄改字碼產生模組
121‧‧‧條碼產生單元
122‧‧‧雜湊值產生單元
123‧‧‧防竄改字碼加入單元
13‧‧‧條碼輸出模組
100‧‧‧條碼內容
200‧‧‧防竄改條碼
Claims (11)
- 一種條碼防竄改系統,其包括:條碼輸入模組,係用於接收條碼內容;防竄改字碼產生模組,包括:條碼產生單元,係用以讀取該條碼內容以產生條碼資訊;雜湊值產生單元,係用於該條碼內容與預設之加密鑰匙之結合,以利用雜湊函數處理該條碼內容與該加密鑰匙而得到固定長度之雜湊值;以及防竄改字碼加入單元,係設定該雜湊值為一被除數,執行該被除數除以該條碼資訊之字碼數量得到一商數與一餘數之計算,再以一預設之防竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼,並以該商數作為下次計算之被除數,重複執行該被除數除以該條碼資訊之字碼數量以得到新的餘數和商數之計算,並依上述規則將該防竄改字碼加入該條碼資訊內,直到該防竄改字碼完全加入至該條碼資訊為止,且該防竄改字碼之字碼數量在該條碼資訊之容錯值範圍內;以及條碼輸出模組,係用於輸出具有該防竄改字碼之條碼資訊。
- 如申請專利範圍第1項所述之條碼防竄改系統,其中,該條碼防竄改系統係透過加或減一固定值之改值機制來改變該防竄改字碼上的值。
- 如申請專利範圍第1項所述之條碼防竄改系統,其中,於該防 竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼過程中,當該餘數所對應到的資料字碼已成為該防竄改字碼時,則位移至少一個字碼或由使用者決定位移的字碼數以得到該條碼資訊上供該防竄改字碼取代之資料字碼。
- 如申請專利範圍第1項所述之條碼防竄改系統,更包括防竄改條碼識別模組,係識別該條碼輸入模組所讀取之待辨識條碼,該防竄改條碼識別模組包括:條碼解碼單元,係透過條碼解碼器解碼該待辨識條碼以得到該待辨識條碼之條碼內容;防竄改字碼位置單元,係用於將該待辨識條碼之條碼內容與該加密鑰匙透過該雜湊函數計算以得到防竄改字碼位置;以及防竄改識別單元,係依據該防竄改字碼位置由該待辨識條碼之條碼資訊中得到防竄改資訊,比對該防竄改資訊與該防竄改條碼產生時所加入之防竄改資訊,以於兩者相同時判斷該待辨識條碼為該防竄改條碼。
- 如申請專利範圍第1項所述之條碼防竄改系統,其中,該加密鑰匙包括編號、亂數、文字或文數字。
- 一種條碼防竄改方法,係包括:輸入條碼內容以產生條碼資訊;利用該條碼內容與預設之加密鑰匙之結合,以透過雜湊函數處理該條碼內容與該加密鑰匙而得到固定長度之雜湊值;設定該雜湊值為一被除數,執行該被除數除以該條碼資訊之字碼數量以得到一商數與一餘數之計算; 再以一預設之防竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼;以該商數作為下次計算之被除數,重複執行該被除數除以該條碼資訊之字碼數量以得到新的餘數和商數之計算,並依上述規則將該防竄改字碼加入該條碼資訊內,直到該防竄改字碼完全加入至該條碼資訊為止,且該防竄改字碼之字碼數量在該條碼資訊之容錯值範圍內;以及輸出具有該防竄改字碼之條碼資訊,以作為防竄改條碼。
- 如申請專利範圍第6項所述之條碼防竄改方法,其中,該防竄改字碼係透過加或減一固定值之改值機制來改變該防竄改字碼上的值。
- 如申請專利範圍第6項所述之條碼防竄改方法,其中,於該防竄改字碼取代該條碼資訊上該餘數所對應到的資料字碼之步驟中,包括當該餘數所對應到的資料字碼已成為該防竄改字碼時,則位移至少一個字碼或由使用者決定位移的字碼數以得到該條碼資訊上供該防竄改字碼取代之資料字碼。
- 如申請專利範圍第6項所述之條碼防竄改方法,更包括識別該防竄改條碼之步驟,該步驟包括:讀取待辨識條碼以得到該待辨識條碼之條碼內容;將該待辨識條碼之條碼內容與該加密鑰匙透過該雜湊函數計算以得到防竄改字碼位置;依據該防竄改字碼位置由該待辨識條碼之條碼資訊中得到防竄改資訊;以及比對該防竄改資訊與該防竄改條碼產生時所加入之防竄 改資訊,以於兩者相同時判斷該待辨識條碼為該防竄改條碼。
- 如申請專利範圍第6項所述之條碼防竄改方法,其中,該加密鑰匙包括編號、亂數、文字或文數字。
- 一種防竄改條碼識別器,包括:條碼解碼單元,係用於解碼待辨識條碼以得到該待辨識條碼之條碼內容;防竄改字碼位置單元,係用於將該待辨識條碼之條碼內容與預設之加密鑰匙透過雜湊函數計算以得到防竄改字碼位置,其中,該防竄改字碼位置係指防竄改字碼加入至防竄改條碼中的位置;以及防竄改識別單元,係依據該防竄改字碼位置由該待辨識條碼之條碼資訊中得到防竄改資訊,比對該防竄改資訊與該防竄改條碼產生時所加入之防竄改資訊,以於兩者相同時判斷該待辨識條碼為該防竄改條碼。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103103091A TWI518598B (zh) | 2014-01-28 | 2014-01-28 | 條碼防竄改系統及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103103091A TWI518598B (zh) | 2014-01-28 | 2014-01-28 | 條碼防竄改系統及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201530437A TW201530437A (zh) | 2015-08-01 |
TWI518598B true TWI518598B (zh) | 2016-01-21 |
Family
ID=54342748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103103091A TWI518598B (zh) | 2014-01-28 | 2014-01-28 | 條碼防竄改系統及其方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI518598B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529633B (zh) * | 2015-09-10 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 二维码的生成方法、解码方法以及装置 |
-
2014
- 2014-01-28 TW TW103103091A patent/TWI518598B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW201530437A (zh) | 2015-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853610B2 (en) | Combined two-dimensional code, electronic certificate carrier, and generation and reading apparatus and method | |
JP5739876B2 (ja) | 一意識別子、一意識別子を提供するための方法、および一意識別子の使用 | |
JP4783021B2 (ja) | 無作為に生ずる特徴を備えた耐偽造性及び耐タンバ性ラベル | |
US8542871B2 (en) | Brand protection and product authentication using portable devices | |
CN102930317B (zh) | 图书二维码标识生成装置、二维码标识识别装置及系统 | |
US20050132194A1 (en) | Protection of identification documents using open cryptography | |
US20120308003A1 (en) | Authentic barcodes using digital signatures | |
US20130166455A1 (en) | Creating and using digital currency | |
US20140095398A1 (en) | Double ID Anti-Counterfeit Method and System | |
CN104854642A (zh) | 用于使用物理特征标记制造物品的方法和设备 | |
CN112534775B (zh) | 数字文件防伪保护 | |
JPWO2009122730A1 (ja) | 物品処理方法 | |
WO2014139386A1 (zh) | 防伪系统及其标签的形成、嵌入、解读、鉴别及权属改变方法 | |
CN103577986A (zh) | 一种多级二维码防伪方法 | |
RU2651167C2 (ru) | Способ и система для маркировки изделия, изделие, промаркированное таким образом, и способ и система для аутентификации промаркированного изделия | |
CN103810457A (zh) | 基于可靠数字签名和二维码的离线证照防伪方法 | |
CN105761091A (zh) | 一种红包码二级二维码防伪编码方法 | |
US20170262861A1 (en) | Transmit an authentication mark | |
CN104574119A (zh) | 一种商品鉴真溯源的方法 | |
CN104899748A (zh) | 基于标识认证技术的二维码与刮刮码复合鉴真方法 | |
CN107003833A (zh) | 伪造品防止 | |
EP2697785A1 (en) | Authentic barcodes using digital signatures | |
TWI518598B (zh) | 條碼防竄改系統及其方法 | |
CN104751341A (zh) | 基于二维码动态口令的商品防伪方法 | |
RU2684498C2 (ru) | Способ сертификации и аутентификации защищенных документов на основании результата измерения отклонений относительного положения в различных процессах, вовлеченных в изготовление таких защищенных документов |