CN109309661A - 对等(p2p)外围设备通信控制 - Google Patents

对等(p2p)外围设备通信控制 Download PDF

Info

Publication number
CN109309661A
CN109309661A CN201810833645.1A CN201810833645A CN109309661A CN 109309661 A CN109309661 A CN 109309661A CN 201810833645 A CN201810833645 A CN 201810833645A CN 109309661 A CN109309661 A CN 109309661A
Authority
CN
China
Prior art keywords
peripheral equipment
host
equipment
message
communication session
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201810833645.1A
Other languages
English (en)
Other versions
CN109309661B (zh
Inventor
布鲁斯·弗兰克·布克维克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NCR Voyix Corp
Original Assignee
NCR Corp
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 NCR Corp filed Critical NCR Corp
Publication of CN109309661A publication Critical patent/CN109309661A/zh
Application granted granted Critical
Publication of CN109309661B publication Critical patent/CN109309661B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/206Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/4401Bootstrapping
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0009Details of the software in the checkout register, electronic cash register [ECR] or point of sale terminal [POS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

主机建立与外围设备最新的自动、安全且对等(PSP)的通信会话。在所述通信会话期间,所述主机控制所传递的消息的串行化、优先级排序和传送。每个消息提供用于在所述主机和所述外围设备之间进行处理的命令指令和/或信息。

Description

对等(P2P)外围设备通信控制
技术领域
本公开涉及对等(P2P)外围设备通信控制。
背景技术
传统上,外围设备没有任何操作系统(OS),并且完全通过从外围设备连接的主机发送的固件和设备驱动程序命令进行控制。这意味着主机完全控制外围设备,外围设备主要是“哑”设备。
最近,外围设备包括有限的OS,使得这种外围设备比行业内可用的外围设备更加自主。尽管如此,大多数这些外围设备没有任何网络连通性(或包括极其有限的独立网络连通性),并且这些外围设备通常不支持处理除与外围设备一起封装的应用程序之外的任何定制应用程序(即使这些外围设备包括处理器)。
由于连通性有限并且处理定制应用程序有困难,因此虽然这些外围设备比其前代设备更加智能,但仍然只是最低限度“智能”。
发明内容
在各种实施方案中,提供了用于P2P外围设备通信控制的方法和系统。
根据一个实施方案,提供了一种用于P2P外围设备通信控制的方法。更具体地,检测到设备在与主机连接。指示设备作为主机的外围设备以附件操作模式进行重启。认证外围设备与主机的交互。最后,当消息在主机和外围设备之间传递并由主机控制时,利用以消息传递格式提供的通信来在主机和外围设备之间建立安全通信会话。
示例性实施方案1公开了一种方法,包括:检测连接到主机的设备;指示设备作为外围设备以附件操作模式进行重启;认证外围设备与主机的交互;以及当消息在主机和外围设备之间传递时,利用以消息传递格式提供的通信来在主机和外围设备之间建立安全通信会话,其中在安全通信会话期间由主机控制外围设备。
示例性实施方案2公开了实施方案1的方法,其中指示任选地还包括:确定外围设备用于与在主机上处理的POS应用程序进行交互的销售点(POS)接口的版本不正确;获得正确版本;将正确版本推送到外围设备;以及指示外围设备利用安装在外围设备上的正确版本进行安装并重启。
示例性实施方案3公开了实施方案2的方法,其中确定任选地还包括:确定外围设备用于与POS应用程序进行交互的操作系统(OS)的版本不正确;获得正确的OS版本;将正确的OS版本推送到外围设备;以及指示外围设备利用安装在外围设备上的正确的OS版本执行第二次重启。
示例性实施方案4公开了实施方案1的方法,其中认证任选地还包括:验证由外围设备提供的加密指纹;以及当加密指纹无效时将外围设备与主机断开连接。
示例性实施方案5公开了实施方案4的方法,其中验证任选地还包括在主机和外围设备之间交换配置信息。
示例性实施方案6公开了实施方案5的方法,其中交换任选地还包括向外围设备提供至少一些配置,所述至少一些配置专门针对待在外围设备上激活并且得到主机支持的特征。
示例性实施方案7公开了实施方案1的方法,任选地还包括:对在安全通信会话期间从外围设备接收的消息以及在安全通信会话期间由主机生成或者由第二外围设备生成的指向外围设备的其他消息进行串行化,所述第二外围设备与主机具有单独的安全通信会话。
示例性实施方案8公开了实施方案7的方法,其中串行化任选地还包括将串行化消息分类成用于下列的类别:交易处理、调试/日志处理和心跳处理。
示例性实施方案9公开了实施方案8的方法,其中分类任选地还包括对分类消息进行优先级排序,以确保较高优先级消息在较低优先级消息之前转发给外围设备或由外围设备接收。
示例性实施方案10公开了实施方案1的方法,任选地还包括将在安全通信会话期间从外围设备接收的至少一个消息传送给与主机具有第二安全通信会话的第二外围设备。
示例性实施方案11公开了实施方案1的方法,任选地还包括在第二通信会话期间传送由主机生成的至少一个消息以供外围设备进行处理。
示例性实施方案12公开了实施方案1的方法,任选地还包括在安全通信会话期间在主机上处理从外围设备发送的至少一个消息。
示例性实施方案13公开了所述方法,包括:在将设备连接到主机时,响应于主机指令将设备作为外围设备进行重启;向主机提供加密指纹以供主机认证;与主机交换配置信息;在外围设备和主机之间建立安全通信会话;在安全通信会话期间将第一消息传递给主机以在主机上进行处理;以及在安全通信会话期间在外围设备上处理从主机接收的第二消息。
示例性实施方案14公开了实施方案13的方法,其中重启任选地还包括以附件操作模式重启设备。
示例性实施方案15公开了实施方案14的方法,其中交换任选地还包括配置外围设备以便以发布者-订阅者模型格式处理消息,其中由在主机上处理的POS应用程序识别销售点(POS)消息。
示例性实施方案16公开了实施方案13的方法,任选地还包括将第三消息传递给主机以供与主机具有第二且单独的安全通信会话的第二外围设备进行处理。
示例性实施方案17公开了实施方案13的方法,任选地还包括处理从主机接收的第三消息,所述第三消息源自与主机具有第二且单独的安全通信会话的第二外围设备。
示例性实施方案18公开了实施方案13的方法,任选地还包括处理或发送从主机接收或由主机发送的作为诊断消息的第三消息。
示例性实施方案19公开了一种系统,包括:执行对等(P2)通信管理器的主机;以及执行主机接口的设备;其中P2P通信管理器被配置为:i)在检测到设备与主机有线连接时,指示设备作为外围设备进行重启;ii)与作为外围设备的设备建立安全通信会话;以及iii)通过在安全通信会话期间传递的消息在安全通信会话期间控制外围设备,并且其中主机接口被配置为:i)作为外围设备以附件操作模式重启设备以进行操作;ii)在设备上处理在安全通信会话期间从主机接收的消息中的一些消息;以及iii)在安全通信会话期间将消息的其他部分发送给主机以由主机或第二外围设备进行进一步处理。
示例性实施方案20公开了实施方案19的系统,其中主机和设备两者都是平板电脑。
附图说明
从参照附图借助于实例给出的以下具体描述,将明白本公开的这些和其他方面,附图中:
图1A是根据示例性实施方案的用于P2P外围设备通信控制的系统的示意图。
图1B是根据示例性实施方案的主机和外围设备用于建立提供外围设备的主机控制的认证通信会话的交互图。
图2是根据示例性实施方案的用于P2P外围设备通信控制的方法的示意图。
图3是根据示例性实施方案的用于P2P外围设备通信控制的另一方法的示意图;
图4是根据示例性实施方案的用于P2P外围设备通信控制的另一系统的示意图。
具体实施方式
图1A是根据示例性实施方案的用于P2P外围设备通信控制的系统100的示意图。仅出于说明目的而示出各种组件且呈现组件的布置。应当注意,也可以在不脱离本文在下面所呈现的P2P外围设备通信控制教导内容的情况下,按其他方式布置更多或更少组件。
本文在下面针对P2P外围设备通信控制呈现的技术、方法、系统可以在与系统100一起示出的组件的一个、全部或一些组合中全部或部分实现。这些技术和方法均在内存和/或永久性电脑可读存储媒体中被编程为可执行指令,并在与不同组件相关的一个或多个处理器中执行。
如本文所用,术语“外围设备(peripheral)”可以与短语“外围设备(peripheraldevice)”互换并同义地使用。
仅作为实例,外围设备可以包括打印机、读卡器、触摸屏显示器、非触摸屏显示器、条形码扫描仪、称重秤、相机、磁条卡读取器、EMV 嵌入式芯片卡读卡器等。
外围设备包括处理器和不具有或具有受限外部网络访问能力的有限OS。
如本文所用,“主机”是具有完全网络连通性、OS、存储器和存储设备的计算机设备。
主机配置有在主机OS内的主机的处理器上执行的销售点(POS)应用程序。主机由客户操作使得主机是自助服务终端(SST),或者可以由职员代表客户操作以进行客户交易。如本文所用,“操作员”包括客户和职员。此外,术语“操作员”可以与术语“用户”同义并且互换地使用。
系统100包括主机110和外围设备120。主机包括在主机110上执行的软件模块,包括连接模块111、认证模块112、配置模块113、消息处理器模块114和POS模块115。主机110通过有线连接120连接到外围设备130。外围设备130包括POS接口131。主机110和外围设备130都包括它们自己的OS(图1A中未示出)。
现在参照图1B讨论模块111至115和模块131的处理。
当在主机110和外围设备130之间建立有线连接120时,连接模块111和POS接口131进行交互,以执行图1B中的1至9所示的处理。
认证模块112和POS接口131执行处理10至12。
配置模块113和POS接口131在13处执行处理。
消息处理器模块114和POS接口131在14处执行处理。
POS模块115和POS接口131在15处执行处理。
现在讨论在1至14处描述的处理,其中上述模块111至115和模块131执行它们的上述指定处理。应当注意,在不脱离这里给出的教导内容情况下可以部署更多或更少的模块。例如,模块111至113可以是单个模块。
在1处,主机设备110检测通过有线连接120连接的外围设备130。在一个实施方案中,有线连接120是通用串行总线(USB)连接。这可以通过向主机110报告连接设备130的存在的传统OS机制来完成。
在2处,主机110指示外围设备130从设备操作模式切换到附件操作模式。作为响应,外围设备130以允许主机110控制的附件操作模式自己重启。
在3处,在外围设备130以附件操作模式操作的情况下,主机110和外围设备130彼此打开初始通信会话。
在5处,主机110验证外围设备130正在运行所列版本的POS接口131或者与POS模块115兼容的版本。
当POS接口131的版本需要更新到更新版本的POS接口131时,主机110从主机110可访问的外部网络连接下载正确版本,并且在5处将新版本动态地推送到外围设备130。作为响应,外围设备130安装新版本并在6处用新版本的接口131重启,并且当外围设备130完成自身重启时,处理从1处重新开始。任选地,并且在一些情况下,重启可能需要重启设备130。
在7处,主机验证外围设备130正在运行OS的最新可用版本。当外围设备130未运行最新版本或与主机110兼容的版本时,主机110从主机110可访问的外部网络连接下载正确版本,并在7处将新版本动态地推送到外围设备130。作为响应,外围设备130保存新版本的OS并在8处用新版本的OS重启,并且当外围设备130完成自身重启时,处理从1处重新开始。
在9处,在主机110和外围设备之间实现稳定且开放的初始连接。
在10处,主机110和外围设备130彼此认证。这可以用各种方式来完成。例如,并且在一个实施方案中,外围设备130包括预先打包的签名证书和哈希算法,该算法利用外围设备密钥对证书进行解密并散列证书以获取指纹(选择从证书获取的字符串)。指纹用证书解密并提供给主机110。主机用其签名证书解密指纹以获取第一指纹。接下来,主机110执行与在外围设备130上完成的处理相同的处理以获取第二指纹。比较第一指纹和第二指纹,并且如果它们匹配,则在主机110和外围设备130之间在12处作为认证的P2P连接继续进行处理。然而,如果指纹不匹配,则主机110在11处与外围设备130断开连接(图1B中的两条竖线所示的断开连接)。
在12处,建立主机110与外围设备130之间的安全且经认证的P2P连接。
在13处,主机110和外围设备130交换允许两者彼此通信的配置信息诸如设备类型、设备名称、设备标识符、用于通信的消息传递方法等。
在14处,主机110和外围设备两者都挂接、配置和处理针对POS模块114定制的相同的订阅者模块消息传递方案。
在15处,消息处理器114和POS模块115协作以控制消息处理以及从POS接口131发送的消息和发送至POS接口131的消息,以便在主机110和外围设备130之间的当前建立的安全P2P连接期间进行处理。
消息向外围设备130和主机110提供指令和/或信息,从而使其通过安全P2P连接彼此进行通信。
在一个实施方案中,消息采用对象表示法(JSON)。
消息被串行化并进行优先级排序以供消息处理器114进行处理。每个消息被标识为不同类型的消息诸如交易命令(用于在主机110上进行处理的交易)、心跳、调试/日志信息。例如,调试/日志的优先级低于交易命令。
作为与在安全P2P连接期间的消息传递相关联的处理的一个实例,考虑外围设备130是由客户操作的触摸屏显示器130,主机110由职员操作以进行交易,并且存在通过与主机110的单独、安全且独立的P2P连接而连接到主机110的至少另一个连接的P2P外围设备130(诸如打印机130)。在交易期间,主机110将显示命令发送到触摸屏130,作为触摸屏130呈现与交易相关的信息的消息。一个命令在触摸屏130上显示打印收据选项。触摸屏130(响应于客户触摸收据选项)将消息发送回主机110以打印收据,主机110通过主机110和打印机130之间单独的P2P连接将打印命令和打印数据(收据数据)发送到打印机130;作为响应,打印机130打印收据数据。
该实例示出了主机110可以具有多个单独外围设备130,每个单独外围设备130具有到主机110的其自己的独立安全P2P连接。外围设备130可以通过主机进行交互。通信通过消息传递实现,其中由主机110维持控制。
主机110可基于要接收消息的外围设备过滤接收到的消息,对用于在交易期间发送的消息进行优先级排序,并且向POS模块115发送或提供消息以进行交易处理。
在一个实施方案中,主机110和外围设备130包括Android OS,并且通过USB有线连接利用开放附件应用程序编程接口(API)来执行上述处理。
在一个实施方案中,主机110是平板电脑,并且外围设备130也是平板电脑。在一个实施方案中,主机上的显示器的尺寸大于外围设备130上的显示器的尺寸。在一个实施方案中,主机110和外围设备130彼此封装在单个外壳中。在一个实施方案中,主机110还包括附加的P2P连接的外围设备130,该外围设备包括相机,以及近场通信(NFC)设备、EMV读卡器和磁条读取器中的一个或多个。在一个实施方案中,系统100是POS终端。在一个实施方案中,系统100是SST。
这些实施例和其他实施例现已参照图2-4进行讨论。
图2是根据示例性实施方案的用于P2P外围设备通信控制的方法200的示意图。实施方法200的一个或多个软件模块被称为“主机外围设备连接管理器”。主机外围设备连接管理器被实施为可执行指令,所述可执行指令经编程且驻存在存储器和/或非暂态计算机可读(处理器可读)存储介质内,并由设备的一或多个处理器执行。执行主机外围设备连接管理器的设备的一个或多个处理器被专门配置和编程以处理主机外围设备连接管理器。主机外围设备连接管理器在其处理期间可访问一个或多个网络。所述网络可以是有线的、无线的,或有线与无线的组合。
在一个实施方案中,主机外围设备连接管理器实施模块111至115的全部或一些组合的处理。
在一个实施方案中,执行主机外围设备连接管理器的设备是主机110。
在一个实施方案中,执行主机外围设备连接管理器的设备是平板电脑。
在一个实施方案中,执行主机外围设备连接管理器的设备是POS终端。在一个实施方案中,POS终端是SST。
在210处,主机外围设备连接管理器检测连接到主机的设备。在一个实施方案中,这是有线连接。在一个实施方案中,这是USB连接。
在220处,主机外围设备连接管理器指示设备作为外围设备以附件操作模式进行重启。在一个实施方案中,一旦以附件操作模式重启设备,该设备即成为主机的外围设备。
在一个实施方案中,在221处,主机外围设备连接管理器确定外围设备用于与在主机上处理的POS应用程序进行交互的POS接口的版本不正确。作为响应,主机外围设备连接管理器:通过主机可用的网络连接获取POS接口的正确版本,通过有线连接动态地将POS接口的正确版本推送到外围设备,并且指示外围设备安装POS接口的正确版本并使用外围设备上安装的POS接口的正确版本进行重启。
在221和222的实施方案中,主机外围设备连接管理器确定外围设备用于与POS应用程序进行交互的OS版本不正确。作为响应,主机外围设备连接管理器通过网络连接获取OS的正确版本,动态地将OS的正确版本推送到外围设备,并且指示外围设备安装OS接口的正确版本并使用外围设备上的OS接口的正确版本进行重启。
在230处,主机外围设备连接管理器认证外围设备与主机的交互。
在一个实施方案中,在231处,主机外围设备连接管理器验证由外围设备提供的加密指纹,并且当加密指纹无效时主机外围设备连接管理器将外围设备与主机断开连接。
在231和232的实施方案中,主机外围设备连接管理器在主机和外围设备之间交换配置信息。
在232和233的实施方案中,主机外围设备连接管理器向外围设备提供至少一些配置信息,所述配置信息专门针对待在外围设备上激活并由在主机上处理的POS应用程序支持的处理特征。
在240处,当消息在安全通信会话期间在主机和外围设备之间传递时,主机外围设备连接管理器以消息传递格式在主机和外围设备之间建立安全通信会话。
在一个实施方案中,在241处,主机外围设备连接管理器对在安全通信会话期间从外围设备接收的消息进行串行化并且对在安全通信会话期间由主机生成或者由第二外围设备生成的指向外围设备的其他消息进行串行化,所述第二外围设备与主机具有单独且独立的安全通信会话。
在241和242的实施方案中,主机外围设备连接管理器将串行化消息分类成用于下列的类别:交易处理、调试/日志处理和心跳处理。
在242和243的实施方案中,主机外围设备连接管理器对分类消息进行优先级排序,以确保较高优先级消息在较低优先级消息之前转发给外围设备或由外围设备接收。
在240和244的实施方案中,主机外围设备连接管理器将在安全通信会话期间从外围设备接收的至少一个消息传送给第二外围设备,其中所述第二外围设备与主机具有第二且独立的安全通信会话。
在240和245的实施方案中,主机外围设备连接管理器传送由主机生成的至少一个消息,以在安全通信会话期间由外围设备进行处理。
在240和246的实施方案中,主机外围设备连接管理器在主机上处理在安全通信会话期间从外围设备发送的至少一个消息。
图3是根据示例性实施方案的用于P2P外围设备通信控制的另一个方法300的示意图。实施方法300的一个或多个软件模块在本文中被称为“外围设备连接管理器”。外围设备连接管理器被实施为可执行指令,并且被编程在存储器和/或非暂态计算机可读(处理器可读)存储介质内,并由设备的一或多个处理器执行。所述设备的处理器专门配置为执行外围设备连接管理器。
在一个实施方案中,外围设备连接管理器不能访问任何外部网络。外围设备连接管理器缺乏通过网络连接进行通信的能力。
本文描述的用于外围设备连接管理器的处理从外围设备的角度提供与P2P外围设备连接和通信相关联的处理。
在一个实施方案中,外围设备连接管理器实施以上关于POS接口131所讨论的处理的全部或一些组合。
在一个实施方案中,执行外围设备连接管理器的设备是外围设备130。
在一个实施方案中,执行外围设备连接管理器的设备是平板电脑。
在一个实施方案中,执行外围设备连接管理器的设备是以下之一:MSR读卡器、EMV读卡器、键盘、触摸屏显示器、打印机、条形码扫描仪、相机、称重秤、货币分配器、找零分配器等。
在310处,外围设备连接管理器在将设备连接到主机时作为外围设备重启设备(执行外围设备连接管理器的设备)。这使得设备作为由主机控制的外围设备进行操作。在一个实施方案中,外围设备缺乏到任何外部网络的网络连通性。
根据一个实施方案,外围设备连接管理器以附件操作模式重启设备。
在320处,外围设备连接管理器向主机提供加密指纹,用于对主机的外围设备进行认证。
在330处,外围设备连接管理器与主机交换配置信息。
在一个实施方案中,在331处,外围设备连接管理器配置外围设备以便以发布者-订阅者模块格式处理消息,其中POS消息由在主机上处理的POS应用程序识别。
在340处,外围设备连接管理器在外围设备和主机之间建立安全通信会话。
在350处,外围设备连接管理器在安全通信会话期间将第一消息传递给主机以供主机进行处理。
在360处,外围设备连接管理器在安全通信会话期间在外围设备上处理从主机接收的第二消息。
根据一个实施方案,在370处,外围设备连接管理器在安全通信会话期间将第三消息传递给主机以供第二外围设备进行处理,其中所述第二外围设备与主机具有第二且单独的P2P安全通信会话(其也是至主机的P2P连接)。
在一个实施方案中,在380处,外围设备连接管理器在安全通信会话期间处理从主机接收的源自第二外围设备的第三消息,其中所述第二外围设备与主机具有第二且单独的P2P安全通信会话(其也是至主机的P2P连接)。
在一个实施方案中,在390处,外围设备连接管理器处理或发送从主机接收或由主机发送的作为诊断消息的第三消息(调试、日志、心跳等)。
图4是根据示例性实施方案的用于P2P外围设备通信控制的系统400的示意图。系统400的组件被编程并驻存于存储器和/或非暂态计算机可读介质内,并且在系统400的多个设备的一个或多个处理器上执行。系统400的一个设备也有具有一个或多个网络的访问权限,并且可通过一个或多个网络进行通信;并且所述网络可以是有线的、无线的或有线和无线的组合。在一个实施方案中,系统的一个设备缺乏网络连接或通过外部网络进行通信的任何能力。
系统400被配置和编程为执行上面参照图1A至图1B和图2至图3所讨论的处理。
系统400包括具有P2P通信管理器402的主机401,并且系统400包括具有主机接口404的设备403。
在一个实施方案中,主机401是主机110。
在一个实施方案中,P2P通信管理器402实施上面关于模块111至115和方法200所讨论的处理的一些组合或全部。
在一个实施方案中,主机401是平板电脑。
在一个实施方案中,主机401是POS终端。在一个实施方案中,POS终端是SST。
在一个实施方案中,设备403是外围设备130。
在一个实施方案中,主机接口404执行上面针对模块131和方法300所讨论的处理的全部或一些组合。
在一个实施方案中,设备403是平板电脑。
在一个实施方案中,设备403是以下之一:MSR读卡器、EMV读卡器、键盘、触摸屏显示器、打印机、条形码扫描仪、相机、称重秤、货币分配器、找零分配器等。
在一个实施方案中,主机401和设备403封装在单个且相同的外壳中。
在一个实施方案中,主机401是第一平板电脑,而设备403是第二平板电脑。
P2P通信管理器402被配置为:i)在主机401的至少一个处理器上执行;ii)在检测到设备403与主机401有线连接时,指示设备403作为外围设备重启;iii)与作为外围设备的设备403建立安全通信会话;iv)通过在安全通信会话期间传递的消息在安全通信会话期间控制外围设备。
主机接口404被配置为:i)在设备403的至少一个处理器上执行;ii)重启设备403以作为外围设备以附件操作模式操作;iii)在安全通信会话期间在设备403上处理从主机401接收的消息中的一些消息;以及iv)在安全通信会话期间将消息的其他部分发送给主机401以由主机401或第二外围设备进行进一步处理。
在一个实施方案中,有线连接是USB连接。
在一个实施方案中,当作为外围设备重启时,设备403缺乏网络连接。
应了解,以特定形式(例如,组件或模块)描述软件仅为了辅助理解,且并不旨在限制可以实施那些功能的软件的架构或构建形式。举例来说,虽然模块可以说明为单独的模块,但可作为同源代码、个别组件加以实施,这些模块中的一些(但并非所有)可以组合,或可以在以任何其它方便方式构建的软件中实施所述功能。
此外,尽管软件模块被图解为在一个硬件上执行,但软件可以分布于单个装置的多个处理器上,或采用任何其它便利的形式。
在前述对实施例的描述中,出于简化本公开的目的而将各个特征一并归到单个实施例中。这种公开方法不应理解为反映所要求实施例的特征比各权利要求中明确表述的特征要多。相反,正如所附权利要求书所反映,本发明的主题少于单个公开的实施例的所有特征。因此,以下权利要求书在此并入具体实施方式,其中每项权利要求自身代表单独的示范性实施例。

Claims (12)

1.一种方法,包括:
检测连接到主机的设备;
指示所述设备作为外围设备以附件操作模式进行重启;
认证所述外围设备与所述主机的交互;以及
当消息在所述主机和所述外围设备之间传递时,利用以消息传递格式提供的通信来在所述主机和所述外围设备之间建立安全通信会话,其中在所述安全通信会话期间由所述主机控制所述外围设备。
2.根据权利要求1所述的方法,其中指示还包括:确定所述外围设备用于与在所述主机上处理的POS应用程序进行交互的销售点(POS)接口的版本不正确;获得正确版本;将所述正确版本推送到所述外围设备;以及指示所述外围设备利用安装在所述外围设备上的所述正确版本进行安装并重启。
3.根据前述权利要求中任一项所述的方法,其中确定还包括:确定所述外围设备用于与所述POS应用程序进行交互的操作系统(OS)的版本不正确;获得正确的OS版本;将所述正确的OS版本推送到所述外围设备;以及指示所述外围设备利用安装在所述外围设备上的所述正确的OS版本执行第二次重启。
4.根据前述权利要求中任一项所述的方法,其中认证还包括:验证由所述外围设备提供的加密指纹;以及当所述加密指纹无效时将所述外围设备与所述主机断开连接。
5.根据前述权利要求中任一项所述的方法,其中验证还包括在所述主机和所述外围设备之间交换配置信息。
6.根据前述权利要求中任一项所述的方法,其中交换还包括向所述外围设备提供至少一些配置,所述至少一些配置专门针对待在所述外围设备上激活并且得到所述主机支持的特征。
7.根据前述权利要求中任一项所述的方法,还包括:对在所述安全通信会话期间从所述外围设备接收的所述消息以及在所述安全通信会话期间由所述主机生成或者由第二外围设备生成的指向所述外围设备的其他消息进行串行化,所述第二外围设备与所述主机具有单独的安全通信会话。
8.根据前述权利要求中任一项所述的方法,其中串行化还包括将所述串行化消息分类成用于下列的类别:交易处理、调试/日志处理和心跳处理。
9.根据前述权利要求中任一项所述的方法,其中分类任选地还包括对所述分类消息进行优先级排序,以确保较高优先级消息在较低优先级消息之前转发给所述外围设备或由所述外围设备接收。
10.一种系统,包括:
执行对等(P2)通信管理器的主机;以及
执行主机接口的设备;
其中所述P2P通信管理器被配置为:i)在检测到所述设备与所述主机有线连接时,指示所述设备作为外围设备进行重启;ii)与作为所述外围设备的所述设备建立安全通信会话;以及iii)通过在所述安全通信会话期间传递的消息在所述安全通信会话期间控制所述外围设备,并且其中所述主机接口被配置为:i)作为所述外围设备以附件操作模式重启所述设备以进行操作;ii)在所述设备上处理在所述安全通信会话期间从所述主机接收的所述消息中的一些消息;以及iii)在所述安全通信会话期间将所述消息的其他部分发送给所述主机以由所述主机或第二外围设备进行进一步处理。
11.一种方法,包括权利要求1-9中的任意一个技术特征或者技术特征的任意组合。
12.一种系统,包括权利要求10中的任意一个技术特征或者技术特征的任意组合。
CN201810833645.1A 2017-07-28 2018-07-26 对等(p2p)外围设备通信控制 Active CN109309661B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/662,984 2017-07-28
US15/662,984 US10650367B2 (en) 2017-07-28 2017-07-28 Peer-to-peer (P2P) peripheral communication control

Publications (2)

Publication Number Publication Date
CN109309661A true CN109309661A (zh) 2019-02-05
CN109309661B CN109309661B (zh) 2021-07-27

Family

ID=63108413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810833645.1A Active CN109309661B (zh) 2017-07-28 2018-07-26 对等(p2p)外围设备通信控制

Country Status (3)

Country Link
US (4) US10650367B2 (zh)
EP (1) EP3435274B1 (zh)
CN (1) CN109309661B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10848972B2 (en) * 2017-10-18 2020-11-24 Microsoft Technology Licensing, Llc Mobile device wireless restricted peripheral sessions
IL258379A (en) * 2018-03-26 2018-05-31 Kazuar Advanced Tech Ltd Secure remote terminal
WO2021046704A1 (en) 2019-09-10 2021-03-18 Citrix Systems, Inc. Perhipheral device sharing over peer-to-peer connection
US10810570B1 (en) * 2019-09-30 2020-10-20 Square, Inc. Point of sale device with cradle for mobile computing device
US11294693B2 (en) * 2020-04-14 2022-04-05 Ncr Corporation Virtualized transaction terminal platform
US11961062B2 (en) 2021-03-31 2024-04-16 Zebra Technologies Corporation Methods and apparatuses to indicate off-platter weigh conditions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800639A (zh) * 2009-02-09 2010-08-11 华为终端有限公司 一种实现网银业务的方法、系统和设备
US20130229951A1 (en) * 2009-01-28 2013-09-05 Headwater Partners I Llc Automated device provisioning and activation
CN104539323A (zh) * 2014-12-25 2015-04-22 惠州Tcl移动通信有限公司 一种蓝牙低功耗组网互连方法及系统
CN105210091A (zh) * 2013-01-18 2015-12-30 塞恩斯伯里超级市场有限公司 用于处理产品数据的计算机系统
US20160094502A1 (en) * 2014-09-30 2016-03-31 Apple Inc. Service compatibility check for messages
CN106776401A (zh) * 2016-11-23 2017-05-31 东软集团股份有限公司 消息传输方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9871771B2 (en) 2014-11-25 2018-01-16 Ncr Corporation Cryptographic security profiles

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130229951A1 (en) * 2009-01-28 2013-09-05 Headwater Partners I Llc Automated device provisioning and activation
CN101800639A (zh) * 2009-02-09 2010-08-11 华为终端有限公司 一种实现网银业务的方法、系统和设备
CN105210091A (zh) * 2013-01-18 2015-12-30 塞恩斯伯里超级市场有限公司 用于处理产品数据的计算机系统
US20160094502A1 (en) * 2014-09-30 2016-03-31 Apple Inc. Service compatibility check for messages
CN104539323A (zh) * 2014-12-25 2015-04-22 惠州Tcl移动通信有限公司 一种蓝牙低功耗组网互连方法及系统
CN106776401A (zh) * 2016-11-23 2017-05-31 东软集团股份有限公司 消息传输方法和装置

Also Published As

Publication number Publication date
US20200265402A1 (en) 2020-08-20
EP3435274A1 (en) 2019-01-30
US20200265403A1 (en) 2020-08-20
CN109309661B (zh) 2021-07-27
US10990949B2 (en) 2021-04-27
US11816652B2 (en) 2023-11-14
US10650367B2 (en) 2020-05-12
US20220051217A1 (en) 2022-02-17
US20190034902A1 (en) 2019-01-31
EP3435274B1 (en) 2020-03-25
US11182764B2 (en) 2021-11-23

Similar Documents

Publication Publication Date Title
CN109309661A (zh) 对等(p2p)外围设备通信控制
JP7460248B2 (ja) 支払い処理方法、電子機器及びコンピュータプログラム
CN102737311B (zh) 网络银行安全认证方法和系统
CN108712257A (zh) 跨区块链的认证方法及装置、电子设备
US20160253664A1 (en) Attestation by proxy
US20150358820A1 (en) Method for Establishing Connection Between Devices, Configuration Device, and Wireless Device
CN109844789A (zh) 一种终端交易方法及终端
US10762498B2 (en) Method and system for secure transactions on a social network platform
CN108563405A (zh) 用于实现云连接打印机和应用程序框架的方法和设备
KR101364996B1 (ko) 스마트 단말에서 하드웨어를 이용한 전자금융 시스템 및 그 동작 방법
US10524299B1 (en) Peer-to-peer configuration
CN110024347A (zh) 安全构建网络结构
EP3816952A1 (en) Dual device point of sale system using short-range wireless connection
US11108765B2 (en) Information processing system, control method, and storage medium therefor
US20220038439A1 (en) Network provisioning and tokenization using a remote terminal
CN104933379B (zh) 身份证信息获取方法、装置及系统
US10469466B2 (en) Systems and methods for virtualization in distributed computing environment including a mobile monitor
US20220012730A1 (en) Service providing system, service providing device, service providing method, and service providing program
CN109547428A (zh) 验证密码及访问服务器的方法、系统以及存储介质
JP7391379B2 (ja) 公衆機器非接触操作システム、公衆機器非接触操作方法およびプログラム
US20230026526A1 (en) Method and system for configuring a mobile point-of-sales application
WO2016124032A1 (zh) 数据交互方法
JP2016157334A (ja) 印刷システム、印刷出力装置および認証サーバ
JP2022120615A (ja) 通信装置、機器、通信システム、認証方法、及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant