TW202133050A - 用於將可執行代碼編碼在條碼中的系統和方法 - Google Patents

用於將可執行代碼編碼在條碼中的系統和方法 Download PDF

Info

Publication number
TW202133050A
TW202133050A TW110104181A TW110104181A TW202133050A TW 202133050 A TW202133050 A TW 202133050A TW 110104181 A TW110104181 A TW 110104181A TW 110104181 A TW110104181 A TW 110104181A TW 202133050 A TW202133050 A TW 202133050A
Authority
TW
Taiwan
Prior art keywords
barcode
executable code
code
computing device
codes
Prior art date
Application number
TW110104181A
Other languages
English (en)
Inventor
萬斯 克什納
Original Assignee
美商拉伯瓦爾控股公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商拉伯瓦爾控股公司 filed Critical 美商拉伯瓦爾控股公司
Publication of TW202133050A publication Critical patent/TW202133050A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/1434Barcodes with supplemental or add-on codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

一種用於將可執行代碼編碼到條碼中的系統。對應於應用軟體(application)的特定行為、特徵或測試程序的可執行代碼被編碼到條碼,諸如快速響應(quick response, QR)代碼(code)中。條碼可以被放置在特定行為、特徵或測試程序可能有用或期望的位置處。稍後,當用戶在該位置處時,他們可以使用他們的裝置來讀取條碼,並直接從條碼中提取可執行代碼。裝置及/或應用軟體然後可以執行可執行代碼,從而將相關聯的行為、特徵或測試程序結合到應用軟體中。

Description

用於將可執行代碼編碼在條碼中的系統和方法
本發明提供了一種用於將可執行代碼編碼到條碼中的系統。對應於應用軟體的特定行為、特徵或測試程序的可執行代碼被編碼到條碼,諸如快速響應(quick response, QR)代碼中。條碼可以被放置在特定行為、特徵或測試程序可能有用或期望的位置處。稍後,當用戶在該位置處時,他們可以使用他們的裝置來讀取條碼,並直接從條碼中提取可執行代碼。裝置及/或應用軟體然後可以執行可執行代碼,從而將相關聯的行為、特徵或測試程序結合到應用軟體中。
當諸如計算機或智慧型手機的裝置期望執行應用軟體時,該裝置可以執行與儲存在該裝置上的應用軟體相對應的可執行代碼,或者可以從伺服器下載並執行與該應用軟體相對應的可執行代碼。通常,應用軟體可以使用本地儲存的代碼和從伺服器遠程檢索的代碼的組合。儲存應用軟體的可執行代碼中的一些或全部可能是期望的,因為與特定應用軟體行為或特徵相對應的可執行代碼的部分可以根據需要提供給裝置,從而導致對應用軟體的更低儲存要求。
然而,存在與從伺服器下載可執行代碼相關聯的缺點。特別地,下載可執行代碼需要裝置和伺服器之間的網路連接。對於在網路連接不可靠或不可用的位置處使用的裝置,下載某些應用軟體的可執行代碼可能不可行。這可能會迫使用戶主動下載他們可能需要或可能不需要的應用軟體行為和功能的可執行代碼,這可能會導致對應用軟體的過度和不必要的儲存要求。
本發明提供了一種用於將可執行代碼,編碼到條碼中的系統。對應於應用軟體的特定行為、特徵或測試程序的可執行代碼被編碼到條碼,諸如快速響應(quick response, QR) 代碼中。條碼被放置在特定行為、特徵、採樣程序或測試程序可能有用或期望的位置處。稍後,當用戶在該位置處時,他們可以使用他們的裝置來讀取條碼,並直接從條碼中提取可執行代碼。裝置及/或應用軟體然後可以執行可執行代碼,從而將相關聯的行為、特徵或測試程序結合到應用軟體中。替代性地或附加地,條碼可以從先前捕獲的圖像中讀取,或者從諸如電子郵件或SMS訊息的電子通信中讀取。
如可以理解的那樣,使用條碼來分發可執行代碼相對於現有技術提供了許多優點。首先,因為可執行代碼是由裝置及/或應用軟體直接從條碼中提取,所以不需要伺服器或網路連接來實現與可執行代碼相關聯的特定行為、特徵、採樣程序或測試程序。這在網路連接不可用或不可靠的遠程位置尤其有利,並且避免了與維護用於代碼分發目的的伺服器或網路基礎設施相關的成本。
在實施例中,提供了一種用於從條碼提取和執行代碼的方法。該方法包括:由計算裝置接收條碼,其中可執行代碼被編碼到條碼中;由計算裝置解碼條碼以提取可執行代碼;以及由計算裝置執行提取的可執行代碼。
實施例可以包括以下特徵中的一些或全部。可執行代碼可以包括LIMS基本代碼、JavaScript代碼或Smalltalk代碼。可執行代碼可以與採樣程序或測試程序相關聯。條碼可以位於與採樣程序或測試程序相關聯的位置。解碼條碼以提取可執行代碼可以包括提取可執行代碼而不使用與計算裝置相關聯的網路連接。接收條碼可以包括接收條碼的圖像並從圖像中檢索條碼。條碼可以包括矩陣代碼。條碼可以包括快速響應代碼。由計算裝置執行所提取的可執行代碼可以包括解密所提取的可執行代碼。該方法還可以包括解碼條碼以提取數位簽名;使用數位簽名認證所提取的可執行代碼;以及響應於認證執行所提取的可執行代碼。
在實施例中,提供了一種用於將可執行代碼編碼到條碼中的方法。該方法包括:由計算裝置接收可執行代碼,其中該可執行代碼定義測試程序或與位置相關聯的採樣程序;由計算裝置將可執行代碼編碼到條碼中;並將條碼放置在該位置。
實現方式可以包括以下特徵中的一些或全部。該方法還可以包括:生成數位簽名;以及將數位簽名編碼成條碼。該方法還可以包括:加密可執行代碼;以及將加密的可執行代碼編碼到條碼中。條碼可以包括矩陣代碼。該方法還可以包括發送包括條碼的電子通信。
在實施例中,提供了一種系統。該系統可以包括:至少一個處理器;和非暫時性計算機可讀介質。計算機可讀介質可以包括指令,這些指令在由至少一個處理器執行時使得系統:接收條碼,其中可執行代碼被編碼到條碼中;解碼條碼以提取可執行代碼;並執行提取的可執行代碼。
實施例可以包括以下特徵中的其中之一或全部。可執行代碼可以包括LIMS基本代碼、JavaScript代碼或Smalltalk代碼。可執行代碼可以與測試程序或採樣程序相關聯。解碼條碼以提取可執行代碼可以包括提取可執行代碼而不使用與系統相關聯的網路連接。條碼可以包括快速響應代碼。
通過研究以下附圖和詳細描述,其他系統、方法、特徵及/或優點對於本領域技術人員來說將變得或可能變得顯而易見。所有這些附加系統、方法、特徵及/或優點旨在包含在本說明書中,並受所附權利要求的保護。
附圖中的組件不必相對於彼此成比例。在幾個視圖中,相同的附圖標記指代相對應的部分。
圖1是示例條碼100的圖式。在所示的示例中,條碼100是QR代碼;然而,也可以使用其他類型的條碼,諸如代碼38、代碼39、交叉25代碼、PDF 417和矩陣代碼。
一般而言,條碼100可以將資料編碼在由條碼的明暗交替區域形成的矩陣或圖案中。當智慧型手機或諸如膝上型電腦的其他移動計算裝置捕獲條碼的圖像時,移動計算裝置上的軟體解碼條碼100並提取資料。
通常,條碼100用於編碼調用儲存在移動計算裝置上的現有可執行代碼或應用軟體的指令。例如,諸如ACME的公司可以在廣告上放置條碼100。公司可以將URL“www.acme.com”編碼到條碼100中。當用戶使用他們的移動計算裝置捕獲條碼100的圖像時,移動計算裝置可以提取URL,並使網頁瀏覽應用軟體打開URL。在該示例中,只有URL被編碼到條碼100中,並且URL的檢索和顯示依賴於與儲存在移動計算裝置上的網頁瀏覽應用軟體相對應的可執行代碼的存在以及移動裝置和ACME伺服器之間的網路連接。
作為另一示例,公司可以生產面向兒童的可收藏卡。每張卡可以包括圖像和字元的描述。此外,公司可以在每張卡上放置條碼100,該條碼包括相關聯的字元的標識符。該公司還可以提供與可收集卡相關聯的應用軟體,該應用軟體可以被下載到移動計算裝置。當用戶使用他們的移動計算裝置捕獲條碼100的圖像時,應用軟體可以從條碼中提取字元的標識符,並且可以使儲存的字元視頻在他們的移動計算裝置上向用戶播放。類似於前面的示例,與儲存的視頻的檢索和顯示相關的全部處理是使用先前下載並儲存在移動計算裝置上的可執行代碼來執行的。
如可以理解的那樣,上述兩個示例依賴於儲存在移動計算裝置或連接的伺服器上的現有可執行代碼的存在。另外,第一示例附加地需要移動計算裝置和伺服器之間的網路連接的可用性。因此,在所描述的示例中,條碼100對於沒有下載必需的應用軟體或者發現自己處於與伺服器沒有網路連接可用的環境中的用戶來說是無用的。
圖2是用於將可執行代碼217編碼成條碼227的示例條碼系統210的圖式。如圖所示,條碼系統210包括各種模組和組件(諸如代碼生成器215、條碼編碼器225和加密引擎235)。條碼系統210可以支持更多或更少的引擎、模組或組件。根據實施例,代碼生成器215、條碼編碼器225和加密引擎235中的每一個可以由一個或多個通用計算裝置(諸如關於圖8示出的計算系統800)一起或分別地實施。
代碼生成器215可以生成可執行代碼217。可執行代碼217可以是由諸如智慧型手機、膝上型計算機、視頻遊戲控制臺或平板計算機的移動計算裝置執行的代碼。可執行代碼217可以向移動計算裝置的應用軟體提供新的特徵、行為、採樣程序或測試程序。例如,該應用軟體可以是實驗室管理應用軟體,並且可執行代碼217可以用於特定類型樣本的新測試程序。在另一實施例中,該應用軟體可以是電子表格應用軟體,並且可執行代碼217可以用於可應用於資料庫的新功能。替代性地或附加地,可執行代碼217可以用於完整的應用軟體,該完整的應用軟體可以由移動計算裝置執行而不參考移動計算裝置上的任何現有應用軟體。在一些實施例中,可執行代碼217可以是LIMS基本代碼。可能支持其他類型的代碼,諸如JavaScript、BASIC、Smalltalk等。可以使用任何已知或未知的程式語言。
可執行代碼217可以與可執行代碼217可能被執行的特定位置相關聯。合適的位置包括實驗室、場所,以及甚至特定類型的機械或裝置。
條碼編碼器225可以由可執行代碼217生成條碼227。根據實施例,條碼227可以是二維(2D)的條碼,諸如QR代碼或矩陣代碼。可以支持其他類型的條碼227。可以使用用於通過編碼文本來生成條碼227的任何方法。
根據實施例,加密引擎235可以首先加密可執行代碼217以創造加密的可執行代碼237,而不是根據可執行代碼217生成條碼227。條碼編碼器225然後可以根據加密的可執行代碼237生成條碼227。加密引擎235可以使用與條碼系統210相關聯的私鑰來加密可執行代碼217。私鑰可以是僅條碼系統210知道的密鑰。可以存在分配給移動計算裝置的相對應的公鑰。移動計算裝置可以使用公鑰來解密加密的可執行代碼237,從而將可執行代碼217認證為來自條碼系統210。可以使用其他加密及/或認證方法。
進一步,加密引擎235可以使用可執行代碼217的一部分和條碼系統210的私鑰來生成數位簽名239,而不是加密可執行代碼217。數位簽名239可以與可執行代碼217一起被編碼到條碼227中,並且可以被移動計算裝置用於認證可執行代碼217。
所生成的條碼227可以放置在與可執行代碼217相關聯的位置。例如,如果可執行代碼217用於將在某個位置用於收集特定樣本的測試程序,則條碼227可以被列印到在該位置處顯示的標誌、標簽、卡或通知上。在另一示例中,如果可執行代碼217要控制實驗室處的特定裝置件或與該特定裝置件介面連接,則條碼227可以被打印到標簽上並粘貼到裝置上。條碼227可以以這樣的方式放置和顯示,以便被與移動計算裝置相關聯的用戶容易注意到,以及容易地被移動計算裝置接收或掃描。
在其他實施例中,條碼227可以電子郵件發送給用戶或以其他電子方式提供給用戶。用戶然後可以從電子郵件或其他類型的電子通信中導入、掃描或接收條碼227。
例如,參考圖4,示出了包括條碼227的示例標誌410。標誌410包括文本「掃描條碼以接收站#1的測試程序#3」,該文本向用戶指示條碼227包括對應於測試程序#3的可執行代碼,該測試程序旨在與站#1相對應的位置處使用。標誌410可以懸掛在與站#1相對應的位置處或其周圍。示例標誌410包括標簽、海報和卡片。
圖3是用於解碼條碼227以提取和執行由條碼系統210編碼到條碼227中的可執行代碼217的示例移動計算裝置310的圖式。如圖所示,移動計算裝置310包括各種模組和組件,諸如圖像引擎315、條碼解碼器325、解密引擎335和代碼執行引擎345。條碼系統210可以支持更多或更少的引擎、模組或組件。根據實施例,移動計算裝置可以由一個或多個通用計算裝置(諸如關於圖8示出的計算系統800)實施。
圖像引擎315可以接收條碼227的圖像317。根據實施例,圖像引擎315可以是在諸如智慧型手機的移動計算裝置310上通常配備的相機功能的一部分。通常,與移動計算裝置310相關聯的用戶可以在特定位置或其周圍看到條碼227。用戶可以通過將他們的移動計算裝置310指向條碼227來使圖像引擎315接收包括條碼227的圖像317。圖像引擎315然後可以接收圖像317,而用戶不必採取任何動作(諸如打開與他們的移動計算裝置310相關聯的相機應用軟體)。注意,當由圖像引擎315接收到圖像317時,圖像引擎315可以儲存或可以不儲存圖像317。
例如,返回參閱圖4,用戶可能正在移動計算裝置420上執行實驗室管理應用軟體。用戶可以看到標誌410上的條碼227,並且可以向實驗室管理應用軟體指示他們想要接收與條碼227相關聯的可執行代碼217。作為響應,實驗室管理軟體已經使用圖像引擎315將移動計算裝置420置於“掃描模式”,在該掃描模式中圖像引擎315可以接收條碼227的圖像317。如在移動計算裝置420的螢幕上可以看到的那樣,用戶已經在標線中對準標誌410的條碼227,以接收條碼227的圖像317。
回到圖3,在接收到圖像317之後,條碼解碼器325可以處理圖像317以提取可執行代碼217。可以使用用於解碼條碼227的任何系統或方法。
根據實施例,條碼解碼器325可以從條碼227提取加密的可執行代碼237及/或數位簽名239。在條碼解碼器325提取加密的可執行代碼237的情況下,解密引擎335可以嘗試使用條碼系統210的公鑰來解密加密的可執行代碼237。如果解密引擎335成功地解密了加密的可執行代碼237,則相對應的可執行代碼217被認證為由條碼系統210提供。否則,可執行代碼217沒有被認證。根據實施例,代碼執行引擎345可以僅執行已經被認證的可執行代碼217。
在條碼解碼器325提取數位簽名239的情況下,解密引擎335可以嘗試使用條碼系統210的公鑰和數位簽名239來認證可執行代碼217。特別地,解密引擎335可以解密數位簽名239,並且可以將解密的數位簽名239與可執行代碼217的一部分進行比較。如果它們匹配,則可執行代碼217被認證。否則,可執行代碼217沒有被認證。
代碼執行引擎345可以執行可執行代碼217。根據實施例,代碼執行引擎345可以執行可執行代碼217,以向諸如在移動計算裝置310上執行的實驗室管理應用軟體的應用提供新的行為、特徵、採樣程序或測試程序。
例如,繼續到圖5,示出了在已經成功提取與“測試程序#3”相對應的可執行代碼217之後的圖4的移動計算裝置420。因此,在移動計算裝置420的顯示器上的是可執行代碼217被成功提取並可選地被認證的指示。顯示器還包括被標記為“是”和“否”的用戶界面元素,移動裝置420的用戶可以使用這些用戶界面元素來開始執行與“測試程序#3”相對應的代碼或者跳過代碼的執行。
如可以理解的那樣,代碼執行引擎345可以僅使用從條碼227提取的可執行代碼217來提供新的特徵、行為、採樣程序或測試程序。因此,條碼227(和可執行代碼217)不包括對可執行代碼的其他來源(諸如網路來源或可以從中檢索附加可執行代碼的移動計算裝置310的位置)的任何引用。結果,移動計算裝置310可以從條碼227接收並執行可執行代碼217,而無需具有可用的網路連接、無需連接外部伺服器或資料源、或者無需事先下載或儲存任何附加的可執行代碼。
圖6是用於將可執行代碼編碼成條碼的示例方法600的圖式。方法600可以由條碼系統210實施。
在610,接收用於測試程序的可執行代碼。可以由條碼編碼器225從代碼生成器215接收可執行代碼217。可執行代碼217可以是LIMS基本代碼,並且其大小可以基於由條碼編碼器225生成的條碼227的類型來確定。可以接收其他類型的代碼。例如,如果條碼227是QR代碼,那麼可執行代碼217的最大大小可以是大約1264個字元。可以支持其他類型的已知和未知條碼227。
在615,可執行代碼被加密。可執行代碼217可以被加密引擎235加密以生成加密的可執行代碼237。可以使用任何類型的加密。替代性地,可執行代碼217可以不被加密,或者加密引擎235可以根據加密的可執行代碼237生成數位簽名239。
在620,加密的可執行代碼被編碼成條碼。加密的可執行代碼237可以由條碼編碼器225編碼成條碼227。替代性地,未加密的可執行代碼217可以被編碼到條碼227中,或者可執行代碼217和數位簽名239可以被編碼到條碼227中。可以使用用於將資料編碼成條碼227的任何方法。
在625,條碼被放置在與測試程序相關聯的位置。可以由用戶或管理員將條碼227與關於如何使用條碼227的指令和其代碼被編碼到條碼227中的特定測試程序的指示符一起放置。替代性地或附加地,條碼227可以被放置在分配給一個或多個用戶的卡上,或者條碼227可以被以電子的方式分配給一個或多個用戶(例如,電子郵件或SMS)。
圖7是用於根據條碼提取可執行代碼的示例方法700的圖式。方法700可以由移動計算裝置310實施。
在710,接收與測試程序相關聯的條碼的圖像。可以由條碼解碼器325從圖像引擎315接收圖像317。圖像317可以包括條碼227,並且可以由圖像引擎315在與測試程序相關聯的位置接收。例如,圖像317可以是放置在包括條碼227和相關聯的測試程序的指示的位置處的標誌、標簽或卡片。作為另一示例,圖像317可以從電子郵件或其他電子通信中接收。注意,方法700不限於測試程序,並且可以包括採樣程序、行為或特徵。
在715,條碼被解碼以提取與測試程序相對應的可執行代碼。條碼227可以由條碼解碼器325解碼。可以使用用於解碼條碼227的任何方法。根據實施例,條碼解碼器325可以提取可執行代碼217、可執行代碼217和數位簽名239或加密的可執行代碼237。
在725,可執行代碼被認證。可執行代碼217可以由解密引擎335認證。在其中提取加密的可執行代碼237的實施例中,解密引擎335可以通過使用與條碼系統210相關聯的公鑰解密加密的可執行代碼237來認證可執行代碼217。在其中提取可執行代碼217和數位簽名239的實施例中,解密引擎335可以通過使用與條碼系統210相關聯的公鑰解密數位簽名239來認證可執行代碼217。在其中僅提取可執行代碼217的實施例中,解密引擎335可以假設可執行代碼217是可信的。
如果可執行代碼217不能被認證,則方法700可以繼續到730。否則,方法700可以在735繼續。
在730,阻止執行可執行代碼217。可以由代碼執行引擎345阻止執行可執行代碼。根據實施例,代碼執行引擎345可以向移動計算裝置310的用戶顯示指示代碼不能被認證並且將不被執行的錯誤或警告。
在735,執行可執行代碼217。可執行代碼217可以由代碼執行引擎345執行。通過執行可執行代碼217,代碼執行引擎345可以使移動計算裝置310執行與條碼227相關聯的測試程序。
圖8示出了其中可以實施示例實施例和方面的示例性計算環境。計算系統環境僅是合適的計算環境的一個示例,並不旨在暗示對使用範圍或功能的任何限制。
可以使用許多其他通用或專用計算系統環境或配置。適於使用的眾所周知的計算系統、環境及/或配置的示例包括但不限於個人計算機、伺服器、手持裝置或膝上型裝置、多處理器系統、基於微處理器的系統、網絡個人計算機(PC)、小型計算機、主機計算機、嵌入式系統、包括上述系統或裝置中的任何一個的分佈式計算環境等。
可以使用由計算機執行的計算機可執行指令(諸如程序模組)。一般而言,程序模組包括執行特定的任務或實現特定的抽象資料類型的例程、程序、對象、組件、資料結構等。可以使用分佈式計算環境,其中任務由通過通信網絡或其他資料傳輸介質鏈接的遠程處理裝置執行。在分佈式計算環境中,程序模組和其他資料可以位於包括儲存器儲存裝置的本地計算機儲存介質和遠程計算機儲存介質兩者中。
參考圖8,用於實施本文描述的各方面的示例性系統包括計算裝置,諸如計算裝置800。在其最基本的配置中,計算裝置800通常包括至少一個處理單元802和儲存器804。根據計算裝置的確切配置和類型,儲存器804可以是揮發性的(諸如隨機存取記憶體(RAM))、非揮發性的(諸如唯讀記憶體(ROM)、快閃記憶體等),或者兩者的某種組合。這種最基本的配置在圖8中由虛線806示出。
計算裝置800可以具有附加的特徵/功能。例如,計算裝置800可以包括附加儲存器(可移動及/或不可移動的),包括但不限於磁碟或光碟或磁帶。這種附加儲存器在圖8中由可移動儲存器808和不可移動儲存器810示出。
計算裝置800通常包括各種有形的計算機可讀介質。計算機可讀介質可以是可以由裝置800訪問的任何可用有形介質,並且包括揮發性和非揮發性介質、可移動和不可移動介質。
有形計算機儲存介質包括以任何方法或技術實施的揮發性和非揮發性介質、以及可移動和不可移動介質,用於儲存諸如計算機可讀指令、資料結構、程序模組或其他資料的資訊。儲存器804、可移動儲存器808和不可移動儲存器810全部是計算機儲存介質的示例。有形的計算機儲存介質包括但不限於RAM、ROM、電可清除可編程式唯讀記憶體(EEPROM)、快閃記憶體或其他儲存器技術、CD-ROM、數位多功能光碟(DVD)或其他光儲存、卡匣磁帶、磁帶、磁碟機或其他磁性儲存裝置、或可以用於儲存所期望的資訊並可以由計算裝置800存取的任何其他介質。任何這樣的計算機儲存介質可以是計算裝置800的一部分。
計算裝置800可以包含允許該裝置與其他裝置通信的通信連接812。計算裝置800還可以具有輸入裝置814,諸如鍵盤、滑鼠、筆、語音輸入裝置、觸摸輸入裝置等。也可以包括輸出裝置816,諸如顯示器、揚聲器、印表機等。所有這些裝置在本領域中都是眾所周知的,並且在此不需要詳細討論。
應當理解的是,本文描述的各種技術可以結合硬件或軟件來實施,或者在適當的情況下結合兩者的組合來實施。因此,當前公開的主題的方法和裝置或其某些方面或部分可以採取實現在有形介質(諸如磁片、CD-ROM、硬碟驅動器或任何其他機器可讀儲存介質)中的程序代碼(即,指令)的形式,其中當程序代碼被加載到諸如計算機的機器中並由該機器執行時,該機器變成用於實踐當前公開的主題的裝置。在可編程計算機上執行程序代碼的情況下,計算裝置通常包括處理器、處理器可讀的儲存介質(包括揮發性和非揮發性記憶體及/或儲存元件)、至少一個輸入裝置和至少一個輸出裝置。一個或多個程序可以實施或利用結合當前公開的主題描述的程序,例如,通過使用應用軟體編程介面(API)、可重用控件等。這種程序可以以高級程式語言或面向對象的程式語言來實施以便與計算機系統通信。然而,如果期望的話,程序可以以組合語言或機器語言加以實施。在任何情況下,該語言可以是編譯或解議語言,並且它可以與硬件實現方式相結合。
儘管已經以特定於結構特徵及/或方法動作的語言描述了主題,但是應當理解的是,在所附權利要求中定義的主題不必限於以上描述的特定特徵或動作。相反,以上描述的特定特徵和動作是作為實施權利要求的示例形式公開的。
100:條碼 210:條碼系統 215:代碼生成器 217:可執行代碼 225:條碼編碼器 227:條碼 235:加密引擎 237:加密的可執行代碼 239:數位簽名 310:移動計算裝置 315:圖像引擎 317:圖像 325:條碼解碼器 335:解密引擎 345:代碼執行引擎 410:標誌 420:移動計算裝置 600, 700:方法 800:計算裝置 802:處理單元 804:儲存器 806:虛線 808:可移動儲存器 810:不可移動儲存器 812:通信連接 814:輸入裝置 816:輸出裝置
圖1是示例條碼的圖式;
圖2是示例條碼系統的圖式;
圖3是示例移動系統的圖式;
圖4是捕獲條碼圖像的移動系統的圖式;
圖5是執行從條碼圖像提取的代碼的移動系統的圖式;
圖6是用於將可執行代碼編碼成條碼的示例方法的圖式;
圖7是用於從條碼提取可執行代碼的示例方法的圖式;以及
圖8示出了示例計算裝置。
210:條碼系統
215:代碼生成器
217:可執行代碼
225:條碼編碼器
227:條碼
235:加密引擎
237:加密的可執行代碼
239:數位簽名

Claims (20)

  1. 一種用於從條碼提取和執行代碼的方法,包括: 由計算裝置接收條碼,其中可執行代碼被編碼到所述條碼中; 由所述計算裝置解碼所述條碼以提取所述可執行代碼;以及 由所述計算裝置執行提取的所述可執行代碼。
  2. 如請求項1所述之用於從條碼提取和執行代碼的方法,其中所述可執行代碼包括LIMS基本代碼、JavaScript代碼或Smalltalk代碼。
  3. 如請求項1所述之用於從條碼提取和執行代碼的方法,其中所述可執行代碼與採樣程序或測試程序相關聯。
  4. 如請求項3所述之用於從條碼提取和執行代碼的方法,其中所述條碼位於與所述採樣程序或所述測試程序相關聯的位置處。
  5. 如請求項1所述之用於從條碼提取和執行代碼的方法,其中解碼所述條碼以提取所述可執行代碼包括提取所述可執行代碼而不使用與所述計算裝置相關聯的網路連接。
  6. 如請求項1所述之用於從條碼提取和執行代碼的方法,其中接收所述條碼包括接收所述條碼的圖像並從所述圖像中檢索所述條碼。
  7. 如請求項1所述之用於從條碼提取和執行代碼的方法,其中所述條碼包括矩陣代碼。
  8. 如請求項1所述之用於從條碼提取和執行代碼的方法,其中所述條碼包括快速響應(quick response , QR)代碼。
  9. 如請求項1所述之用於從條碼提取和執行代碼的方法,其中由所述計算裝置執行提取的所述可執行代碼還包括解密提取的所述可執行代碼。
  10. 如請求項1所述之用於從條碼提取和執行代碼的方法,還包括: 解碼所述條碼以提取數位簽名; 使用所述數位簽名,認證提取的所述可執行代碼;以及 響應於所述認證,執行提取的所述可執行代碼。
  11. 一種用於將可執行代碼編碼到條碼中的方法,包括: 由計算裝置接收可執行代碼,其中所述可執行代碼定義了與位置相關聯的測試程序或採樣程序; 由所述計算裝置,將所述可執行代碼編碼到條碼中;以及 將所述條碼放置在所述位置處。
  12. 如請求項11所述之用於將可執行代碼編碼到條碼中的方法,還包括: 生成數位簽名;以及 將所述數位簽名編碼到所述條碼中。
  13. 如請求項11所述之用於將可執行代碼編碼到條碼中的方法,還包括: 加密所述可執行代碼;以及 將加密的所述可執行代碼編碼到所述條碼中。
  14. 如請求項11所述之用於將可執行代碼編碼到條碼中的方法,其中所述條碼包括矩陣代碼。
  15. 如請求項11所述之用於將可執行代碼編碼到條碼中的方法,還包括發送包括所述條碼的電子通信。
  16. 一種系統,包括: 至少一個處理器;以及 非暫時性計算機可讀介質,所述非暫時性計算機可讀介質包括指令,所述指令在被所述至少一個處理器執行時使得所述系統: 接收條碼,其中可執行代碼被編碼到所述條碼中; 解碼所述條碼以提取所述可執行代碼;以及 執行提取的所述可執行代碼。
  17. 如請求項16所述之系統,其中所述可執行代碼包括LIMS基本代碼、JavaScript代碼或Smalltalk代碼。
  18. 如請求項16所述之系統,其中所述可執行代碼與測試程序或採樣程序相關聯。
  19. 如請求項16所述之系統,其中解碼所述條碼以提取所述可執行代碼包括提取所述可執行代碼而不使用與所述系統相關聯的網路連接。
  20. 如請求項16所述之系統,其中所述條碼包括快速響應(quick response , QR)代碼。
TW110104181A 2020-02-05 2021-02-04 用於將可執行代碼編碼在條碼中的系統和方法 TW202133050A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/782237 2020-02-05
US16/782,237 US20210240956A1 (en) 2020-02-05 2020-02-05 Systems and methods for encoding executable code in barcodes

Publications (1)

Publication Number Publication Date
TW202133050A true TW202133050A (zh) 2021-09-01

Family

ID=74759564

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110104181A TW202133050A (zh) 2020-02-05 2021-02-04 用於將可執行代碼編碼在條碼中的系統和方法

Country Status (3)

Country Link
US (1) US20210240956A1 (zh)
TW (1) TW202133050A (zh)
WO (1) WO2021158778A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230289537A1 (en) * 2022-03-11 2023-09-14 Language Line Services, Inc. System for rendering electronic medical record data and language interpretation data on disparate devices at a healthcare provider location

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002021264A2 (en) * 2000-09-06 2002-03-14 Sun Microsystems, Inc. Method and apparatus for representing executable content within a barcode (scanlet)
US20120308003A1 (en) * 2011-05-31 2012-12-06 Verisign, Inc. Authentic barcodes using digital signatures
CN110457025B (zh) * 2018-05-07 2022-04-12 腾讯科技(深圳)有限公司 条形码的显示方法和装置、存储介质及电子装置

Also Published As

Publication number Publication date
US20210240956A1 (en) 2021-08-05
WO2021158778A1 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
US20200259832A1 (en) Techniques for authentication via a mobile device
US10803185B2 (en) Optically readable format of encrypted data
US8838983B2 (en) Article of manufacture for securing data in 2D bar codes using SSL
US8887290B1 (en) Method and system for content protection for a browser based content viewer
WO2020233047A1 (zh) 页面测试的方法及装置
HRP20150416T1 (hr) Postupak i uređaj za označivanje objekata
CN113553572A (zh) 资源信息获取方法、装置、计算机设备和存储介质
CN116662941A (zh) 信息加密方法、装置、计算机设备和存储介质
CN110263882B (zh) 图像生成方法、信息获取方法、装置和电子设备
Wahsheh et al. Evaluating Security, Privacy and Usability Features of QR Code Readers.
CN110753257A (zh) 数据显示方法、显示终端、服务器、显示系统和存储介质
CN108900472B (zh) 信息的传输方法和装置
CN114626079A (zh) 基于用户权限的文件查看方法、装置、设备及存储介质
TW202133050A (zh) 用於將可執行代碼編碼在條碼中的系統和方法
CN102255728B (zh) 计算机系统身份识别方法
CN113792307A (zh) 印章管理方法、装置及电子设备
US10607001B2 (en) Web-based electronic document service apparatus capable of authenticating document editing and operating method thereof
JP2006285697A (ja) ファイル管理方法及びファイル管理システム
CN107729345B (zh) 网站数据处理方法、装置、网站数据处理平台及存储介质
Sahu et al. Encryption in QR code using stegnography
JP3221969U (ja) 暗号化ギャラリー管理システム
CN113645239B (zh) 一种应用登录方法、装置、用户终端及存储介质
US20240113879A1 (en) Generating ownership tags for decentralized verification
US20240113889A1 (en) Verifying ownership using decentralized verification
JP2006033198A (ja) データ管理システム、データ管理方法及びそのためのプログラム