BR102022002419A2 - DEVICES AND ONE OR MORE COMPUTER READABLE NON-TRANSITORY MEDIA - Google Patents

DEVICES AND ONE OR MORE COMPUTER READABLE NON-TRANSITORY MEDIA Download PDF

Info

Publication number
BR102022002419A2
BR102022002419A2 BR102022002419-7A BR102022002419A BR102022002419A2 BR 102022002419 A2 BR102022002419 A2 BR 102022002419A2 BR 102022002419 A BR102022002419 A BR 102022002419A BR 102022002419 A2 BR102022002419 A2 BR 102022002419A2
Authority
BR
Brazil
Prior art keywords
secure processor
character
auditory cues
user
application processor
Prior art date
Application number
BR102022002419-7A
Other languages
Portuguese (pt)
Inventor
Cheryl N. Berkowitz
Jeff Blatman
Mary Katie Haritos
Siva Raja Sekhar Reddy Yeruva
Wako Takayama
Jacob Whitaker Abrams
Original Assignee
Clover Network, Llc
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 Clover Network, Llc filed Critical Clover Network, Llc
Publication of BR102022002419A2 publication Critical patent/BR102022002419A2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06K9/00
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Abstract

Um dispositivo inclui um display e um ou mais processadores que fazem com que um alto-falante associado ao dispositivo recite em série uma pluralidade de pistas auditivas. Cada uma dentre a pluralidade de pistas auditivas corresponde a um dentre um conjunto de caracteres e cada recitação da pluralidade de pistas auditivas ocorre em um período de tempo predeterminado. O um ou mais processadores também recebem uma entrada de toque no display a partir de um usuário durante a recitação da pluralidade de pistas auditivas, determinam um caractere a partir do conjunto de caracteres que corresponde à entrada de toque com base no período de tempo predeterminado e armazenam o caractere como um valor em uma sequência de informações específicas do usuário. A device includes a display and one or more processors that cause a speaker associated with the device to serially recite a plurality of auditory cues. Each of the plurality of auditory cues corresponds to one of a set of characters, and each recitation of the plurality of auditory cues occurs at a predetermined time period. The one or more processors also receive display touch input from a user during recitation of the plurality of auditory cues, determine a character from the set of characters that corresponds to the touch input based on the predetermined amount of time, and store the character as a value in a string of user-specific information.

Description

DISPOSITIVOS E UM OU MAIS MEIOS NÃO TRANSITÓRIOS LEGÍVEIS POR COMPUTADORDEVICES AND ONE OR MORE COMPUTER READABLE NON-TRANSITORY MEDIA

[001] Os Números de Identificação Pessoal (PIN) são amplamente utilizados para uma variedade de aplicações que requerem verificação de identidade. À medida que o uso de superfícies de toque aumentou, tornou-se comum fornecer interfaces para entrada de PIN que fazem uso de tecnologia de toque. Superfícies de toque, como dispositivos de tela sensível ao toque, geralmente dependem da capacidade de detecção visual de um usuário para interagir com um display do dispositivo de tela sensível ao toque. Os problemas surgem para usuários com deficiência visual que usam um dispositivo de tela sensível ao toque, pois eles não podem sentir o display visualmente.[001] Personal Identification Numbers (PIN) are widely used for a variety of applications that require identity verification. As the use of touch surfaces has increased, it has become commonplace to provide interfaces for PIN entry that make use of touch technology. Touch surfaces, such as touchscreen devices, often rely on a user's visual sensing ability to interact with a touchscreen device's display. Problems arise for visually impaired users using a touch screen device as they cannot visually feel the display.

SUMÁRIOSUMMARY

[002] De acordo com alguns aspectos da presente divulgação, um dispositivo é divulgado. O dispositivo inclui um display e um ou mais meios não transitórios legíveis por computador compreendendo instruções legíveis por computador armazenadas no mesmo, que quando executadas por um ou mais processadores do dispositivo, fazem com que o um ou mais processadores façam com que um alto-falante associado ao dispositivo recite serialmente uma pluralidade de pistas auditivas, de modo que cada uma dentre a pluralidade de pistas auditivas corresponda a um dentre um conjunto de caracteres, e de modo que cada recitação da pluralidade de pistas auditivas ocorra em um período de tempo predeterminado, recebam uma entrada de toque no display a partir de um usuário durante a recitação da pluralidade de pistas auditivas, determinem um caractere a partir do conjunto de caracteres que corresponde à entrada de toque com base no período de tempo predeterminado e armazenem o caractere como um valor em uma sequência de informações específicas do usuário.[002] In accordance with some aspects of the present disclosure, a device is disclosed. The device includes a display and one or more non-transient computer-readable media comprising computer-readable instructions stored therein, which when executed by one or more processors of the device, cause the one or more processors to cause a loudspeaker. associated with the device serially recite a plurality of auditory cues, such that each of the plurality of auditory cues corresponds to one of a set of characters, and such that each recitation of the plurality of auditory cues occurs in a predetermined period of time, receive a display touch input from a user during recitation of the plurality of auditory cues, determine a character from the set of characters that corresponds to the touch input based on the predetermined amount of time, and store the character as a value into a string of user-specific information.

[003] De acordo com alguns aspectos da presente divulgação, um ou mais meios não transitórios legíveis por computador tendo instruções legíveis por computador armazenadas no mesmo são divulgados. As instruções legíveis por computador quando executadas por um ou mais processadores de um dispositivo fazem com que o um ou mais processadores façam com que um altofalante associado ao dispositivo recite serialmente uma pluralidade de pistas auditivas, de modo que cada uma dentre a pluralidade de pistas auditivas corresponda a um dentre um conjunto de caracteres, e de modo que cada recitação da pluralidade de pistas auditivas ocorra em um período de tempo predeterminado, receba uma entrada de toque no display a partir de um usuário durante a recitação da pluralidade de pistas auditivas, determine um caractere a partir do conjunto de caracteres que corresponde à entrada de toque com base no período de tempo predeterminado e armazene o caractere como um valor em uma sequência de informações específicas do usuário.[003] In accordance with some aspects of the present disclosure, one or more non-transient computer-readable media having computer-readable instructions stored thereon are disclosed. The computer-readable instructions when executed by one or more processors of a device cause the one or more processors to cause a speaker associated with the device to serially recite a plurality of auditory cues such that each of the plurality of auditory cues matches one of a set of characters, and such that each recitation of the plurality of auditory cues occurs within a predetermined period of time, receives touch input on the display from a user during recitation of the plurality of auditory cues, determines a character from the character set that corresponds to touch input based on the predetermined amount of time and store the character as a value in a string of user-specific information.

[004] De acordo com alguns aspectos da presente divulgação, um dispositivo é divulgado. O dispositivo inclui um display de tela sensível ao toque, um alto-falante e um ou mais meios não transitórios legíveis por computador compreendendo instruções legíveis por computador armazenadas no mesmo, que quando executadas por um ou mais processadores do dispositivo sensível ao toque, fazem com que o um ou mais processadores façam com que um altofalante associado ao dispositivo recite serialmente uma pluralidade de pistas auditivas, de modo que cada uma dentre a pluralidade de pistas auditivas corresponda a um dentre um conjunto de caracteres, e em que cada recitação da pluralidade de pistas auditivas ocorra em um período de tempo predeterminado, recebam uma entrada de toque no display a partir de um usuário durante a recitação da pluralidade de pistas auditivas, determinem um caractere a partir do conjunto de caracteres que corresponde à entrada de toque com base no período de tempo predeterminado e armazenem o caractere como um valor em uma sequência de informações específicas do usuário.[004] In accordance with some aspects of the present disclosure, a device is disclosed. The device includes a touch screen display, a speaker, and one or more computer readable non-transient media comprising computer readable instructions stored therein, which when executed by one or more processors of the touch device, cause that the one or more processors cause a speaker associated with the device to serially recite a plurality of auditory cues, such that each of the plurality of auditory cues corresponds to one of a set of characters, and wherein each recitation of the plurality of auditory cues corresponds to one of a set of characters. auditory cues occur within a predetermined amount of time, receive touch input on the display from a user during recitation of the plurality of auditory cues, determine a character from the set of characters that corresponds to the touch input based on the time period of predetermined time and store the character as a value in a string of user-specific information.

[005] O sumário anterior é apenas ilustrativo e não se destina a ser limitativo de maneira alguma. Além dos aspectos ilustrativos, modalidades e recursos descritos acima, outros aspectos, modalidades e recursos se tornarão aparentes por referência aos desenhos a seguir e à descrição detalhada.[005] The foregoing summary is illustrative only and is not intended to be limiting in any way. In addition to the illustrative aspects, modalities and resources described above, other aspects, modalities and resources will become apparent by reference to the following drawings and the detailed description.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[006] A FIG. 1 é um diagrama de blocos exemplar de um dispositivo de ponto de venda, de acordo com algumas modalidades da presente divulgação.[006] FIG. 1 is an exemplary block diagram of a point of sale device, in accordance with some embodiments of the present disclosure.

[007] A FIG. 2 é um diagrama de blocos exemplar mostrando detalhes adicionais do dispositivo de ponto de venda da FIG. 1, de acordo com algumas modalidades da presente divulgação.[007] FIG. 2 is an exemplary block diagram showing further details of the point of sale device of FIG. 1, in accordance with some embodiments of the present disclosure.

[008] A FIG. 3 é um fluxograma exemplar esboçando operações para um mecanismo de batida sonora para receber entrada de dados no dispositivo de ponto de venda por um usuário com deficiência visual, de acordo com algumas modalidades da presente divulgação.[008] FIG. 3 is an exemplary flowchart outlining operations for a sonic tapping mechanism to receive data input to the point of sale device by a visually impaired user, in accordance with some embodiments of the present disclosure.

[009] A FIG. 4 é outro fluxograma exemplar esboçando certas operações da FIG. 3 em mais detalhes, de acordo com algumas modalidades da presente divulgação.[009] FIG. 4 is another exemplary flowchart outlining certain operations of FIG. 3 in more detail, in accordance with some embodiments of the present disclosure.

[010] A FIG. 5 é um diagrama de sequência exemplar mostrando interações entre um processador de aplicações e um processador seguro do dispositivo de ponto de venda das FIGS. 1 e 2 na implementação das operações das FIGS. 3 e 4, de acordo com algumas modalidades da presente divulgação.[010] FIG. 5 is an exemplary sequence diagram showing interactions between an application processor and a secure processor of the point of sale device of FIGS. 1 and 2 in implementing the operations of FIGS. 3 and 4, in accordance with some embodiments of the present disclosure.

[011] A FIG. 6 é um diagrama de sequência exemplar mostrando interações adicionais entre o processador de aplicações e o processador seguro, de acordo com algumas modalidades da presente divulgação.[011] FIG. 6 is an exemplary sequence diagram showing additional interactions between the application processor and the secure processor, in accordance with some embodiments of the present disclosure.

[012] A FIG. 7 é um display exemplar do dispositivo de ponto de venda das FIGS. 1 e 2, de acordo com algumas modalidades da presente divulgação.[012] FIG. 7 is an exemplary display of the point of sale device of FIGS. 1 and 2, in accordance with some embodiments of the present disclosure.

[013] Outras características e anteriores da presente divulgação se tornarão evidentes a partir da descrição a seguir e reivindicações anexas, tomadas em conjunto com os desenhos anexos. Entendendo que estes desenhos representam apenas várias modalidades de acordo com a divulgação e, portanto, não devem ser considerados limitantes de seu escopo, a divulgação será descrita com especificidade e detalhes adicionais através do uso dos desenhos anexos.[013] Other and foregoing features of the present disclosure will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings only represent various embodiments according to the disclosure and, therefore, should not be considered limiting its scope, the disclosure will be described with specificity and additional details through the use of the attached drawings.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[014] Na descrição detalhada a seguir, é feita referência aos desenhos anexos, os quais formam uma parte fazem do mesmo. Nos desenhos, símbolos semelhantes normalmente identificam componentes semelhantes, a menos que o contexto indique o contrário. As modalidades ilustrativas descritas na descrição detalhada, desenhos e reivindicações não devem ser limitantes. Outras modalidades podem ser utilizadas, e outras alterações podem ser feitas, sem se afastar do espírito ou escopo da matéria apresentada aqui. Será prontamente entendido que os aspectos da presente divulgação, como geralmente descritos na presente invenção, e ilustrados nas figuras, podem ser dispostos, substituídos, combinados e projetados em uma ampla variedade de configurações diferentes, todas as quais são explicitamente contempladas e fazem parte desta divulgação.[014] In the following detailed description, reference is made to the attached drawings, which form a part of the same. In drawings, like symbols normally identify like components unless the context indicates otherwise. The illustrative embodiments described in the detailed description, drawings and claims are not meant to be limiting. Other modalities may be used, and other alterations may be made, without departing from the spirit or scope of the material presented here. It will be readily understood that aspects of the present disclosure, as generally described in the present invention, and illustrated in the figures, can be arranged, substituted, combined and designed in a wide variety of different configurations, all of which are explicitly contemplated and form part of this disclosure. .

[015] A presente divulgação é geralmente direcionada a dispositivos de tela sensível ao toque para uso por usuários com deficiência visual (por exemplo, cegos ou com baixa visão). Usuários com deficiência visual geralmente contam com habilidades sensoriais táteis e auditivas para discernir as informações que estão sendo apresentadas. Por exemplo, um usuário com deficiência visual pode identificar as localizações das teclas em um teclado e interpretar os caracteres ou comandos dessas teclas se a configuração do teclado for ensinada, ou conhecida anteriormente. Isso não é possível com um dispositivo de tela sensível ao toque que possui uma superfície de display de contato lisa. Em alguns casos, guias táteis podem ser adicionadas a uma superfície de display do dispositivo de tela sensível ao toque. No entanto, essa abordagem não resolve a pluralidade de problemas que os usuários com deficiência visual enfrentam. Por exemplo, entradas de toque inadvertidas e indesejadas podem ser registradas na superfície de display à medida que as guias táteis são usadas para encontrar os pontos de toque de interesse. Além disso, usuários com deficiência visual podem não conseguir verificar suas entradas de toque usando apenas os significantes de ponto de toque. Em alguns casos, um dispositivo de áudio pode ser usado com o display de tela sensível ao toque para repetir a entrada do usuário em voz alta. Essa abordagem pode inadequadamente compartilhar informações privadas com outras pessoas próximas se estiver em um ambiente público.[015] The present disclosure is generally directed to touch screen devices for use by users who are visually impaired (eg, blind or have low vision). Visually impaired users often rely on tactile and auditory sensory skills to discern the information being presented. For example, a visually impaired user can identify the locations of keys on a keyboard and interpret the characters or commands on those keys if the keyboard layout is taught, or previously known. This is not possible with a touch screen device that has a smooth contact display surface. In some cases, tactile guides can be added to a touchscreen device's display surface. However, this approach does not solve the multitude of problems that visually impaired users face. For example, inadvertent and unwanted touch inputs can register on the display surface as tactile guides are used to find touch points of interest. Also, visually impaired users may not be able to verify their touch inputs using just the touch point signifiers. In some cases, an audio device can be used with the touchscreen display to repeat user input aloud. This approach may inappropriately share private information with others nearby if in a public setting.

[016] Um dispositivo de ponto de venda (POS) é um exemplo de um dispositivo de tela sensível ao toque onde um usuário pode ser solicitado a interagir com uma superfície de display do dispositivo POS sem assistência de outra parte para proteger a privacidade e as informações privadas do usuário. Por exemplo, em alguns casos, um usuário pode ser solicitado a inserir um PIN usando a superfície de display (por exemplo, para fornecer informações de pagamento, acessar uma conta de usuário ou para outros fins). Cada vez mais, os dispositivos POS têm superfícies de display lisas (por exemplo, superfícies de vidro, plástico, resina etc.) que não são muito propícias ao uso por usuários com deficiência visual. Um usuário sem deficiência visual (ou usuário com incapacidade visual) pode não ter dificuldade em utilizar um tal dispositivo POS para inserir seu PIN. No entanto, um usuário com deficiência visual pode ter dificuldades em inserir seu PIN no mesmo dispositivo POS sem quaisquer pistas ou superfícies táteis para ajudar o usuário com deficiência visual. Nessas situações, o usuário com deficiência visual pode precisar fornecer seu PIN a um funcionário/administrador no dispositivo POS, o que indesejavelmente fornece uma situação de segurança desvantajosa, pois tanto o funcionário/administrador quanto possíveis espiões podem ser capazes de obter o PIN.[016] A point of sale (POS) device is an example of a touch screen device where a user may be required to interact with a POS device display surface without assistance from another party to protect privacy and user's private information. For example, in some cases, a user may be required to enter a PIN using the display surface (for example, to provide payment information, access a user account, or for other purposes). Increasingly, POS devices have smooth display surfaces (eg glass, plastic, resin surfaces, etc.) that are not very conducive to use by visually impaired users. A visually impaired user (or visually impaired user) may not have difficulty using such a POS device to enter their PIN. However, a visually impaired user may struggle to enter their PIN on the same POS device without any cues or tactile surfaces to help the visually impaired user. In these situations, the visually impaired user may need to provide their PIN to an employee/manager at the POS device, which undesirably provides a disadvantageous security situation, as both the employee/manager and potential spies may be able to obtain the PIN.

[017] Assim, a presente divulgação fornece um mecanismo robusto e seguro para permitir que usuários com deficiência visual insiram dados (por exemplo, PIN) em um dispositivo de tela sensível ao toque, como um dispositivo POS, enquanto mantém as vantagens oferecidas aos usuários com incapacidade visual, fornecendo assim um mecanismo que pode ser usado por usuários com deficiência visual e usuários com incapacidade visual. Além disso, a presente divulgação protege a privacidade dos usuários com deficiência visual, bem como protege as informações confidenciais dos usuários contra espiões.[017] Thus, the present disclosure provides a robust and secure mechanism to allow visually impaired users to enter data (e.g., PIN) on a touch screen device, such as a POS device, while maintaining the advantages offered to users with visual impairment, thus providing a mechanism that can be used by visually impaired users and visually impaired users. In addition, this disclosure protects the privacy of visually impaired users, as well as protecting users' confidential information from eavesdroppers.

[018] Especificamente, a presente divulgação fornece um dispositivo de tela sensível ao toque (por exemplo, um dispositivo POS) que usa sinais auditivos ou pistas para permitir que um usuário com deficiência visual insira seu PIN. Em algumas modalidades, as pistas auditivas podem ser recitadas usando um altofalante associado ao dispositivo de tela sensível ao toque (por exemplo, dispositivo POS). As pistas auditivas podem ser configuradas de acordo com a configuração de PIN. Por exemplo, se o PIN inclui uma série de números, as pistas auditivas podem incluir números (por exemplo, 0-9). As pistas auditivas podem ser recitadas em um ou mais ciclos dependendo do número de valores no PIN. Por exemplo, se o PIN tiver 4 dígitos, as pistas auditivas podem ser recitadas em 4 ciclos, com cada ciclo recitando os números de 0-9. Em cada ciclo, quando o usuário com deficiência visual ouve a pista auditiva correspondente ao valor de PIN, o usuário com deficiência visual pode fornecer uma entrada de toque (por exemplo, batida) no dispositivo de tela sensível ao toque para inserir o PIN.[018] Specifically, the present disclosure provides a touchscreen device (e.g., a POS device) that uses auditory cues or cues to allow a visually impaired user to enter their PIN. In some embodiments, the auditory cues may be recited using a speaker associated with the touchscreen device (eg, POS device). Auditory cues can be configured according to the PIN configuration. For example, if the PIN includes a series of numbers, the auditory cues may include numbers (eg, 0-9). Auditory cues can be recited in one or more cycles depending on the number of values in the PIN. For example, if the PIN is 4 digits, the auditory cues can be recited in 4 cycles, with each cycle reciting the numbers 0-9. On each cycle, when the visually impaired user hears the auditory cue corresponding to the PIN value, the visually impaired user can provide touch input (eg tapping) on the touchscreen device to enter the PIN.

[019] Por exemplo, se o PIN for 1234, o primeiro ciclo pode recitar os números 0-9. Quando o usuário com deficiência visual ouve o número 1 sendo recitado, o usuário com deficiência visual pode bater no dispositivo de tela sensível ao toque para inserir o número 1. Em um segundo ciclo, os números de 0- 9 podem ser recitados novamente. Quando o usuário com deficiência visual ouve o número 2 sendo recitado, o usuário com deficiência visual pode bater no dispositivo de tela sensível ao toque para inserir o número 2. O terceiro e quarto ciclos podem ser repetidos semelhantemente para inserir os números 3 e 4 de PIN. Em algumas modalidades, em cada ciclo, as pistas auditivas podem continuar a ser recitadas após o usuário com deficiência visual fornecer a entrada de toque. Por exemplo, depois que o usuário bate 1 no dispositivo de tela sensível ao toque, os números de 2-9 ainda podem ser recitados para evitar uma situação na qual alguém ouça os sinais auditivos e detecte o PIN dessa maneira.[019] For example, if the PIN is 1234, the first cycle can recite the numbers 0-9. When the visually impaired user hears the number 1 being recited, the visually impaired user can tap the touchscreen device to input the number 1. In a second cycle, the numbers 0-9 can be recited again. When the visually impaired user hears the number 2 being recited, the visually impaired user can tap the touchscreen device to enter the number 2. The third and fourth cycles can be repeated similarly to enter the numbers 3 and 4 of PIN. In some embodiments, within each cycle, auditory cues may continue to be recited after the visually impaired user has provided touch input. For example, after the user taps 1 on the touchscreen device, the numbers 2-9 can still be recited to avoid a situation where someone hears the audio signals and detects the PIN that way.

[020] Assim, este mecanismo de batida sonora permite que um usuário com deficiência visual insira fácil e convenientemente dados confidenciais específicos do usuário (por exemplo, PIN) sem precisar de assistência ou se preocupar com privacidade ou espionagem.[020] Thus, this sonic tapping mechanism allows a visually impaired user to easily and conveniently enter user-specific confidential data (eg PIN) without needing assistance or worrying about privacy or eavesdropping.

[021] Deve-se entender que, embora a presente divulgação seja discutida no contexto de um dispositivo POS, a presente divulgação pode ser aplicável a qualquer tipo de dispositivo de tela sensível ao toque ou interface homemmáquina que permita que usuários com deficiência visual insiram dados. Além disso, embora a presente divulgação tenha sido discutida no contexto de inserção de um PIN, em outras modalidades, a presente divulgação pode ser usada para inserir outros tipos de dados, como informações de pagamento, endereço, código postal etc. Em geral, a presente divulgação pode ser usada para inserir quaisquer dados numéricos, dados alfabéticos, caracteres especiais e/ou caracteres alfanuméricos.[021] It should be understood that, although this disclosure is discussed in the context of a POS device, this disclosure may be applicable to any type of touch screen device or human-machine interface that allows visually impaired users to enter data . Furthermore, although the present disclosure has been discussed in the context of entering a PIN, in other embodiments, the present disclosure may be used to enter other types of data, such as payment information, address, zip code, etc. In general, the present disclosure can be used to enter any numerical data, alphabetic data, special characters and/or alphanumeric characters.

[022] Com referência agora à FIG. 1, mostra-se um diagrama de blocos exemplar de um dispositivo POS 100, de acordo com algumas modalidades da presente divulgação. Em algumas modalidades, o dispositivo POS 100 pode ser usado para facilitar a compra de bens e/ou serviços (por exemplo, em uma loja de varejo, em um restaurante, em um posto de gasolina etc.). O dispositivo POS 100 pode ser configurado para receber informações dos usuários e apresentar informações aos usuários. Em algumas modalidades, o dispositivo POS 100 pode ser configurado para apresentar informações aos usuários em uma variedade de maneiras. Por exemplo, em algumas modalidades, um alto-falante 105 associado ao dispositivo POS pode fornecer pistas auditivas, comandos de voz ou sons indicativos aos usuários (por exemplo, dizer a um usuário como inserir um PIN, facilitar a inserção de PIN, orientar o usuário através do processo de pagamento etc.). Em algumas modalidades, um display 110 pode ser uma interface gráfica de usuário configurada para fornecer informações visuais (por exemplo, para fornecer prompts para inserir dados etc.) a um usuário. O dispositivo POS 100 também pode ser configurado para apresentar saídas/informações para entidades diferentes de usuários. Por exemplo, o dispositivo POS 100 pode ser configurado para apresentar informações a sistemas externos, como impressoras, alto-falantes etc. Portanto, embora não mostrado, o dispositivo POS 100 pode ser associado a uma variedade de componentes de hardware, software, firmware ou combinações dos mesmos, que permitem que do dispositivo POS saia uma variedade de informações.[022] Referring now to FIG. 1, there is shown an exemplary block diagram of a POS device 100, in accordance with some embodiments of the present disclosure. In some embodiments, the POS device 100 can be used to facilitate the purchase of goods and/or services (eg, at a retail store, at a restaurant, at a gas station, etc.). The POS 100 device can be configured to receive information from users and present information to users. In some embodiments, the POS device 100 can be configured to present information to users in a variety of ways. For example, in some embodiments, a speaker 105 associated with the POS device can provide auditory cues, voice commands, or cues to users (e.g., telling a user how to enter a PIN, facilitating PIN entry, guiding the user through the payment process, etc.). In some embodiments, a display 110 can be a graphical user interface configured to provide visual information (eg, to provide prompts to enter data, etc.) to a user. The POS 100 device can also be configured to present outputs/information to entities other than users. For example, the POS 100 device can be configured to present information to external systems such as printers, speakers, etc. Therefore, although not shown, the POS device 100 can be associated with a variety of hardware, software, firmware or combinations thereof, which allow a variety of information to be output from the POS device.

[023] Da mesma forma, o dispositivo POS 100 pode ser configurado para receber informações a partir de usuários em uma variedade de maneiras. Por exemplo, em algumas modalidades, o dispositivo POS 100 pode ser associado a um microfone 115 para permitir que um usuário forneça pistas auditivas, comandos ou sons indicativos ao dispositivo POS (por exemplo, para falar no microfone para inserir informações como um PIN). Em algumas modalidades, o display 110 pode incluir um sensor de toque 120 para receber informações a partir do usuário (por exemplo, ao bater em uma área designada do display 110 para inserir informações como um PIN). Em virtude de ter o sensor de toque 120, o display 110 pode ser considerado um display de tela sensível ao toque. Assim, o dispositivo POS 100 pode fornecer uma interface de tela sensível ao toque e o display 110 pode ser configurado para exibir informações aos usuários, bem como servir como uma ferramenta para os usuários inserirem informações no dispositivo POS 100. O dispositivo POS 100 pode incluir outros mecanismos para receber entradas a partir dos usuários. Por exemplo, o dispositivo POS 100 pode ser configurado para receber as entradas do usuário usando tecnologias de entrada, incluindo, mas não se limitando a, um teclado, uma stylus, um mouse, um trackball, um keypad, outros tipos de reconhecimento de voz, reconhecimento de movimento, controladores remotos, detectores de gestos, como sensores de gestos ou câmeras, portas de entrada, um ou mais botões, mostradores, joysticks etc. que permitem que uma fonte externa, como o usuário, insira informações no dispositivo POS.[023] Likewise, the POS device 100 can be configured to receive information from users in a variety of ways. For example, in some embodiments, the POS device 100 may be associated with a microphone 115 to allow a user to provide auditory cues, commands or indicative sounds to the POS device (e.g., to speak into the microphone to enter information such as a PIN). In some embodiments, display 110 may include a touch sensor 120 to receive information from the user (eg, by tapping a designated area of display 110 to enter information such as a PIN). By virtue of having the touch sensor 120, the display 110 can be considered a touch screen display. Thus, the POS device 100 can provide a touch screen interface and the display 110 can be configured to display information to users, as well as serve as a tool for users to enter information into the POS device 100. The POS device 100 can include other mechanisms for receiving input from users. For example, the POS device 100 can be configured to receive user input using input technologies including, but not limited to, a keyboard, stylus, mouse, trackball, keypad, other types of voice recognition , motion recognition, remote controllers, gesture detectors such as gesture sensors or cameras, input ports, one or more buttons, dials, joysticks, etc. that allow an outside source, such as the user, to enter information into the POS device.

[024] De modo geral, o dispositivo POS 100 pode ser associado a qualquer tipo de componente de hardware, software e/ou firmware que permita que o dispositivo POS desempenhe as funções descritas na presente invenção. Assim, o dispositivo POS 100, e particularmente o display 110, podem ser configurados em uma variedade de maneiras para uso por usuários com deficiência visual e incapacidade visual. Um exemplo de um display é mostrado na FIG. 7 abaixo. Em algumas modalidades, o dispositivo POS 100 pode ser associado a outros dispositivos ou sistemas. Por exemplo, em algumas modalidades, o dispositivo POS 100 pode incluir ou ser associado a um dispositivo comercial que pode ser operado por um funcionário ou administrador comercial. Em algumas modalidades, o dispositivo POS 100 pode receber instruções a partir de um tal dispositivo comercial. Com base nas instruções recebidas, o dispositivo POS 100 pode emitir informações para um usuário ou solicitar informações a partir do usuário. Em algumas modalidades, com base nas instruções recebidas, o dispositivo POS 100 pode alterar um modo de operação. Por exemplo, em algumas modalidades, o dispositivo POS 100 pode comutar entre operar em um primeiro modo configurado para usuários com incapacidade visual e operar em um segundo modo configurado para usuários com deficiência visual. Em algumas modalidades, a mudança no modo de operação pode ser facilitada em uma variedade de maneiras. Por exemplo, em algumas modalidades, a mudança no modo de operação pode ser facilitada ao selecionar a opção apropriada a partir do dispositivo comercial e/ou do dispositivo POS 100. Em outras modalidades, a mudança no modo de operação pode ser facilitada ao plugar em um headset no dispositivo POS 100 e/ou no dispositivo comercial para ativar o segundo modo e permitir que um usuário com deficiência visual insira o PIN usando o display 110. Ao desplugar o headset, o modo de operação pode comutar de volta ao primeiro modo para usuários com incapacidade visual. Em outras modalidades, a mudança no modo de operação pode ser facilitada de outras maneiras.[024] In general, the POS device 100 can be associated with any type of hardware, software and/or firmware component that allows the POS device to perform the functions described in the present invention. Thus, the POS device 100, and particularly the display 110, can be configured in a variety of ways for use by visually impaired and visually impaired users. An example of a display is shown in FIG. 7 below. In some embodiments, the POS device 100 can be associated with other devices or systems. For example, in some embodiments, the POS device 100 can include or be associated with a business device that can be operated by a business employee or administrator. In some embodiments, the POS device 100 can receive instructions from such a commercial device. Based on instructions received, the POS device 100 can issue information to a user or request information from the user. In some embodiments, based on instructions received, the POS device 100 can change an operating mode. For example, in some embodiments, the POS device 100 can switch between operating in a first mode configured for visually impaired users and operating in a second mode configured for visually impaired users. In some embodiments, changing the mode of operation may be facilitated in a variety of ways. For example, in some embodiments, changing the mode of operation may be facilitated by selecting the appropriate option from the commercial device and/or the POS 100 device. In other embodiments, changing the mode of operation may be facilitated by plugging into a headset on the POS device 100 and/or the commercial device to activate the second mode and allow a visually impaired user to enter the PIN using the display 110. Upon unplugging the headset, the operating mode may switch back to the first mode for visually impaired users. In other embodiments, the change in mode of operation can be facilitated in other ways.

[025] O display 110 do dispositivo POS 100 pode formar o front-end do dispositivo POS. Um processador seguro 125, um processador de aplicações 130 e um controlador de toque 135 podem formar um backend do dispositivo POS 100. O processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 podem ser configurados para processar dados recebidos a partir de um usuário, apresentar dados ao usuário e, de outro modo, uma transação. Embora o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 sejam mostrados como componentes separados, em algumas modalidades, um ou mais desses componentes podem ser integrados em um único componente, e o único componente pode desempenhar as operações dos componentes individuais que são combinados. Em algumas modalidades, um ou mais dentre o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 podem estar localizados em uma ou mais placas de circuito impresso do dispositivo POS 100. Em algumas modalidades, cada um dentre o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 podem ser configurados como software, hardware, firmware ou uma combinação dos mesmos.[025] The display 110 of the POS device 100 can form the front end of the POS device. A secure processor 125, an application processor 130 and a touch controller 135 can form a backend of the POS device 100. The secure processor 125, the application processor 130 and the touch controller 135 can be configured to process data received from of a user, present data to the user, and otherwise a transaction. Although the secure processor 125, application processor 130, and touch controller 135 are shown as separate components, in some embodiments, one or more of these components may be integrated into a single component, and the single component may perform the operations of the components. individual that are combined. In some embodiments, one or more of the 125 secure processor, the 130 application processor, and the 135 touch controller may be located on one or more printed circuit boards of the POS device 100. In some embodiments, each of the 135 secure processor 125, application processor 130, and touch controller 135 may be configured as software, hardware, firmware, or a combination thereof.

[026] Embora não mostrado, cada um dentre o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 podem ser associados a um processador (por exemplo, uma unidade de processamento central). O processador pode ser implementado em hardware, firmware, software ou qualquer combinação dos mesmos. O processador pode ser configurado para executar instruções para implementar as várias funções do respectivo componente (por exemplo, o processador seguro, o processador de aplicações e o controlador de toque). “Executar uma instrução” significa que o processador pode desempenhar as operações chamadas por essa instrução. O processador pode recuperar um conjunto de instruções a partir de uma memória para execução. Por exemplo, em algumas modalidades, o processador pode recuperar as instruções a partir de um dispositivo de memória permanente como um dispositivo de memória somente de leitura (ROM) e copiar as instruções em uma forma executável para um dispositivo de memória temporária que geralmente é alguma forma de memória de acesso aleatório (RAM). A ROM e/ou RAM podem fazer parte de uma memória do dispositivo POS 100 e/ou memória alocada individualmente para o respectivo um dentre o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135. Em algumas modalidades, o processador pode ser configurado para executar instruções sem primeiro copiar essas instruções para a RAM. O processador pode ser um computador para fins especiais e incluir circuitos lógicos, circuitos de hardware etc. para realizar as instruções. O processador pode incluir um único processador autônomo, ou uma pluralidade de processadores que usam a mesma tecnologia de processamento ou diferente. As instruções podem ser escritas usando uma ou mais linguagens de programação, linguagem de script, linguagem assembly etc.[026] Although not shown, each of the secure processor 125, the application processor 130 and the touch controller 135 can be associated with a processor (for example, a central processing unit). The processor can be implemented in hardware, firmware, software or any combination thereof. The processor can be configured to execute instructions to implement the various functions of the respective component (for example, the secure processor, the application processor and the touch controller). “Execute an instruction” means that the processor can perform the operations called by that instruction. The processor can retrieve a set of instructions from memory for execution. For example, in some embodiments, the processor may retrieve instructions from a permanent memory device such as a read-only memory (ROM) device and copy the instructions in an executable form to a temporary memory device that is generally some form of random access memory (RAM). The ROM and/or RAM may be part of POS device memory 100 and/or individually allocated memory for the respective one of the secure processor 125, the application processor 130, and the touch controller 135. In some embodiments, the processor can be configured to execute instructions without first copying those instructions to RAM. The processor may be a special purpose computer and include logic circuits, hardware circuits, etc. to carry out the instructions. The processor may include a single stand-alone processor, or a plurality of processors using the same or different processing technology. Instructions can be written using one or more programming languages, scripting language, assembly language, etc.

[027] Um ou mais dentre o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 também podem incluir uma memória. Por exemplo, o processador seguro 125 é mostrado para incluir uma memória segura 140. Embora o processador de aplicações 130 e o controlador de toque 135 não sejam mostrados como incluindo uma memória, um ou ambos desses componentes podem incluir uma memória. A memória pode ser qualquer uma dentre uma variedade de memórias voláteis e/ou não voláteis que podem ser consideradas adequadas para uso com o dispositivo POS 100. Em algumas modalidades, a memória pode ser configurada para armazenar as instruções que são usadas pelo processador do componente subjacente (por exemplo, o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135). Além disso, embora não mostrado, cada um dentre o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 podem incluir, ou ser associados a, elementos adicionais ou diferentes (por exemplo, temporizadores) para permitir que esses componentes desempenhem as funções descritas na presente invenção.[027] One or more of the secure processor 125, the application processor 130 and the touch controller 135 may also include a memory. For example, secure processor 125 is shown to include secure memory 140. Although application processor 130 and touch controller 135 are not shown to include memory, one or both of these components may include memory. The memory may be any of a variety of volatile and/or non-volatile memories that may be deemed suitable for use with the POS device 100. In some embodiments, the memory may be configured to store the instructions that are used by the component's processor. underlying (e.g., secure processor 125, application processor 130, and touch controller 135). Furthermore, although not shown, each of the secure processor 125, application processor 130, and touch controller 135 may include, or be associated with, additional or different elements (e.g., timers) to allow these components to perform. the functions described in the present invention.

[028] O processador seguro 125 pode ser configurado para desempenhar operações seguras no dispositivo POS 100, tais como manipular informações de pagamento e identificar o PIN inserido no display 110. O processador seguro 125 pode estar em comunicação operativa com um processador de aplicações 130 e o controlador de toque 135. Por exemplo, em algumas modalidades, o processador seguro 125 pode receber uma comunicação/comando a partir do processador de aplicações 130 que o processo de entrada de PIN no display 110 está começando. Ao receber essa comunicação/comando, o processador seguro 125 pode começar o processo para reconhecer os caracteres PIN. Em algumas modalidades, ao receber os caracteres PIN, o processador seguro 125 pode criptografar os caracteres PIN e enviar o PIN criptografado para o processador de aplicações 130 para desempenhar ações adicionais. Assim, em algumas modalidades, o PIN do usuário pode ser conhecido apenas pelo processador seguro 125, aumentando assim a segurança do dispositivo POS 100 e limitando os componentes que estão cientes de informações confidenciais. De maneira similar, em algumas modalidades, o processador seguro 125 pode receber uma comunicação/comando do processador de aplicações 130 para começar a receber informações de pagamento. Ao receber a comunicação/comando, o processador seguro 125 pode começar a reconhecer os dados de pagamento. O processador seguro 125 também pode criptografar os dados de pagamento antes de enviar os dados de pagamento criptografados para o processador de aplicações 130. O processador seguro 125 e o processador de aplicações 130 podem ser configurados de maneira semelhante para manipular outros dados sensíveis.[028] The secure processor 125 can be configured to perform secure operations on the POS device 100, such as handling payment information and identifying the PIN entered on the display 110. The secure processor 125 can be in operative communication with an application processor 130 and touch controller 135. For example, in some embodiments, secure processor 125 may receive a communication/command from application processor 130 that the PIN entry process on display 110 is starting. Upon receiving this communication/command, the secure processor 125 can begin the process to recognize the PIN characters. In some embodiments, upon receiving the PIN characters, the secure processor 125 can encrypt the PIN characters and send the encrypted PIN to the application processor 130 to perform further actions. Thus, in some embodiments, the user's PIN may be known only to the secure processor 125, thereby increasing the security of the POS device 100 and limiting which components are aware of confidential information. Similarly, in some embodiments, secure processor 125 may receive a communication/command from application processor 130 to begin receiving payment information. Upon receiving the communication/command, the secure processor 125 can start to recognize the payment data. Secure processor 125 may also encrypt the payment data before sending the encrypted payment data to application processor 130. Secure processor 125 and application processor 130 may similarly be configured to handle other sensitive data.

[029] Em algumas modalidades, o processador seguro 125 pode ser um chip que é separado do processador de aplicações 130. O processador seguro 125 pode manipular informações confidenciais em um ambiente isolado para mitigar ataques de hardware e software, os quais podem comprometer dados de cartão confidenciais ou PIN do cliente. Em algumas modalidades, o chip separado pode ser exigido para atender aos requisitos de dispositivos de Ponto de Interação (POI) de Segurança de Transação por PIN (PTS) do Setor de Cartões de Pagamento (PCI) que definem um padrão de segurança que os dispositivos de pagamento que opcionalmente aceitam PINs e processam dados confidenciais da conta do titular do cartão.[029] In some embodiments, the secure processor 125 can be a chip that is separate from the application processor 130. The secure processor 125 can handle confidential information in an isolated environment to mitigate hardware and software attacks, which can compromise data from confidential card or customer PIN. In some embodiments, the separate chip may be required to meet the Payment Card Industry (PCI) PIN Transaction Security (PTS) Point of Interaction (POI) device requirements that define a security standard that devices payment gateways that optionally accept PINs and process sensitive cardholder account data.

[030] O processador de aplicações 130 pode ser considerado um processador mestre para o dispositivo POS 100. Em algumas modalidades, o processador de aplicações 130 pode ser responsável por instanciar um sistema operacional para o dispositivo POS 100. Em algumas modalidades, o processador de aplicações 130 pode ser responsável por manipular a interação do processador seguro 125 com os diferentes mecanismos para emitir e inserir informações, e isolar o processador seguro desses mecanismos, melhorando assim a segurança do dispositivo POS. Por exemplo, as saídas de áudio (por exemplo, o alto-falante 105) podem ser gerenciadas pelo processador de aplicações 130 para recitar as pistas auditivas. Para "recitar" as pistas auditivas, o processador de aplicações 130 pode gerar um ou mais sinais para fazer com que o alto-falante 105 gere as pistas auditivas e emita as pistas auditivas. O conteúdo a ser exibido no display 110 também pode ser igualmente controlado pelo processador de aplicações 130. As comunicações entre o processador seguro 125 e o processador de aplicações 130 são discutidas em mais detalhes abaixo.[030] The application processor 130 can be considered a master processor for the POS device 100. In some embodiments, the application processor 130 can be responsible for instantiating an operating system for the POS device 100. In some embodiments, the application processor applications 130 may be responsible for handling the interaction of the secure processor 125 with the different mechanisms for issuing and inserting information, and isolating the secure processor from these mechanisms, thus improving the security of the POS device. For example, audio outputs (eg, speaker 105) may be managed by application processor 130 to recite the auditory cues. To "recite" the auditory cues, the application processor 130 can generate one or more signals to cause the speaker 105 to generate the auditory cues and output the auditory cues. The content to be displayed on display 110 may also be similarly controlled by application processor 130. Communications between secure processor 125 and application processor 130 are discussed in more detail below.

[031] O controlador de toque 135 pode ser configurado para detectar sinais de toque ou entradas a partir do display 110. Assim, em algumas modalidades, o controlador de toque 135 pode ser associado ao sensor de toque 120. Em algumas modalidades, o controlador de toque 135 pode ser configurado para detectar as coordenadas de toque (por exemplo, coordenadas X e coordenadas Y) do display 110 correspondentes ao local no display onde uma entrada de toque é recebida. Dependendo do tipo de dados que estão sendo inseridos no display 110, o controlador de toque 135 pode passar seletivamente esses dados (por exemplo, as coordenadas de toque dos dados) para o processador de aplicações 130 ou o processador seguro 125. Assim, em algumas modalidades, o controlador de toque 135 pode estar em comunicação operativa com o processador seguro 125 e o processador de aplicações 130. Em algumas modalidades, o controlador de toque 135 pode ser configurado de modo que as coordenadas de toque para operações não seguras, como ajustar as configurações do display 110, possam ser roteadas diretamente para o processador de aplicações 130, e coordenadas de toque para operações seguras, tais como inserir um PIN, podem ser roteadas diretamente para o processador seguro 125.[031] The touch controller 135 can be configured to detect touch signals or inputs from the display 110. Thus, in some embodiments, the touch controller 135 can be associated with the touch sensor 120. In some embodiments, the controller touch point 135 may be configured to detect touch coordinates (e.g., X coordinates and Y coordinates) of display 110 corresponding to the location on the display where a touch input is received. Depending on the type of data being entered into display 110, touch controller 135 can selectively pass that data (e.g., the touch coordinates of the data) to application processor 130 or secure processor 125. In some embodiments, touch controller 135 can be in operative communication with secure processor 125 and application processor 130. In some embodiments, touch controller 135 can be configured so that touch coordinates for non-secure operations, such as adjusting display settings 110 can be routed directly to application processor 130, and touch coordinates for secure operations, such as entering a PIN, can be routed directly to secure processor 125.

[032] Em algumas modalidades, o controlador de toque 135 pode ser configurado de modo que a conexão comunicativa entre o processador seguro 125 e o controlador de toque não atravesse o processador de aplicações 130. Por exemplo, em algumas modalidades, o controlador de toque 135 pode ser configurado de modo que todos os dados de toque (por exemplo, coordenadas de toque) a partir do controlador de toque sejam roteados primeiro para o processador seguro 125 e sejam roteados para frente para o processador de aplicações 130 apenas se tiver determinado que o controlador de toque não está sendo usado para fornecer informações de pagamento. Como outro exemplo, o controlador de toque 135 pode ser configurado para alterar um estado de roteamento para os dados de toque entre serem roteados para o processador de aplicações 130 e o processador seguro 125 com base em um modo detectado no qual o dispositivo POS 100 está operando. Em algumas modalidades, os dados podem ser roteados diretamente para o processador de aplicações 130 em um modo não seguro (por exemplo, onde dados não seguros estão sendo recebidos) e para o processador seguro 125 em um modo seguro (por exemplo, onde dados seguros estão sendo recebidos). O processador de aplicações 130, ou uma aplicação em execução nele, pode ser configurado para transmitir um comando, como um comando de início de entrada de sequência de acessibilidade, para o processador seguro 125 indicar quais dados confidenciais, como um PIN, devem ser inseridos no display 110 agora. Os dados do sensor de toque 120 podem ser roteados para o processador seguro 125 após o comando ser recebido pelo processador seguro. Em algumas modalidades, o processador seguro 125 pode enviar um reconhecimento do comando para indicar que o dispositivo POS 100 está agora em um modo de entrada de dados confidenciais. As interações entre o processador seguro 125, o processador de aplicações 130 e o controlador de toque 135 são discutidas em mais detalhes na FIG. 2.[032] In some embodiments, the touch controller 135 can be configured so that the communicative connection between the secure processor 125 and the touch controller does not pass through the application processor 130. For example, in some embodiments, the touch controller 135 may be configured so that all touch data (e.g., touch coordinates) from the touch controller is routed first to secure processor 125 and is routed forward to application processor 130 only if it has determined that the touch controller is not being used to provide payment information. As another example, touch controller 135 can be configured to change a routing state for touch data between being routed to application processor 130 and secure processor 125 based on a sensed mode that POS device 100 is in. operating. In some embodiments, data may be routed directly to application processor 130 in an unsecure mode (e.g., where unsecured data is being received) and to secure processor 125 in a secure mode (e.g., where secure data is being received). are being received). The application processor 130, or an application running thereon, may be configured to transmit a command, such as an accessibility sequence entry start command, to the secure processor 125 to indicate which sensitive data, such as a PIN, is to be entered. on display 110 now. Touch sensor data 120 may be routed to secure processor 125 after the command is received by the secure processor. In some embodiments, secure processor 125 may send a command acknowledgment to indicate that POS device 100 is now in a confidential data entry mode. Interactions between secure processor 125, application processor 130, and touch controller 135 are discussed in more detail in FIG. two.

[033] Voltando agora à FIG. 2, mostra-se de um dispositivo POS 200, de acordo com algumas modalidades da presente divulgação. O dispositivo POS 200 tem os mesmos componentes que o dispositivo POS 100 e, portanto, esses componentes não são descritos novamente. Assim, o dispositivo POS 200 tem um processador seguro 205 semelhante ao processador seguro 125, um processador de aplicações 210 semelhante ao processador de aplicações 130 e um controlador de toque 215 semelhante ao controlador de toque 135. O dispositivo POS 200 também inclui um display 220 semelhante ao display 110. Embora não mostrado, o display 220 pode incluir um sensor de toque (por exemplo, o sensor de toque 120). O dispositivo POS 200 também pode incluir dispositivo(s) de saída, como um dispositivo de saída de áudio ou alto-falante 225 (por exemplo, o alto-falante 105). Embora não mostrado, o dispositivo POS 200 também pode incluir dispositivo(s) de entrada, como um microfone semelhante ao microfone 115.[033] Returning now to FIG. 2, a POS device 200 is shown, in accordance with some embodiments of the present disclosure. The POS Device 200 has the same components as the POS Device 100 and therefore these components are not described again. Thus, the POS device 200 has a secure processor 205 similar to the secure processor 125, an application processor 210 similar to the application processor 130, and a touch controller 215 similar to the touch controller 135. The POS device 200 also includes a display 220 similar to display 110. Although not shown, display 220 may include a touch sensor (e.g., touch sensor 120). POS device 200 may also include output device(s), such as an audio output device or speaker 225 (eg, speaker 105). Although not shown, POS device 200 may also include input device(s) such as a microphone similar to microphone 115.

[034] O dispositivo POS 200 mostra as interações entre o processador seguro 205, o processador de aplicações 210 e o controlador de toque 215 em mais detalhes. Para que as entradas de toque (por exemplo, coordenadas de toque) sejam roteadas para um ou ambos o processador de aplicações 210 ou o processador seguro 205, em algumas modalidades, o controlador de toque 215 pode ser associado a um multiplexador 230. Em algumas modalidades, o multiplexador 230 pode ser implementado pelo controlador de toque 215 ou pode ser um elemento dedicado dentro do dispositivo POS 200. O multiplexador 230 pode ser configurado em software, hardware, firmware ou combinação dos mesmos. O controlador de toque 215 pode receber entradas de toque a partir de um sensor de toque (por exemplo, o sensor de toque 120) do display 220. O controlador de toque 215 pode enviar as entradas de toque para o multiplexador 230, que pode então encaminhar as entradas de toque para o respectivo um dentre o processador seguro 205 e/ou o processador de aplicações 210 dependendo do tipo (por exemplo, dados seguros ou dados não seguros) de entradas de toque, o modo (por exemplo, modo seguro, modo não seguro) no qual o dispositivo POS 200 está operando etc.[034] The POS device 200 shows the interactions between the secure processor 205, the application processor 210 and the touch controller 215 in more detail. In order for touch inputs (e.g., touch coordinates) to be routed to one or both of application processor 210 or secure processor 205, in some embodiments, touch controller 215 may be associated with a multiplexer 230. In these embodiments, multiplexer 230 may be implemented by touch controller 215 or it may be a dedicated element within POS device 200. Multiplexer 230 may be configured in software, hardware, firmware, or a combination thereof. Touch controller 215 may receive touch inputs from a touch sensor (e.g., touch sensor 120) of display 220. Touch controller 215 may send the touch inputs to multiplexer 230, which may then route the touch inputs to the respective one of the secure processor 205 and/or the application processor 210 depending on the type (e.g., secure data or non-secure data) of the touch inputs, the mode (e.g., secure mode, non-secure mode) in which the POS 200 device is operating, etc.

[035] Em algumas modalidades, o processador seguro 205 pode não apenas receber entradas de toque a partir do controlador de toque 215 através do multiplexador 230, mas também enviar dados como comandos para alterar o status do multiplexador. Por exemplo, em algumas modalidades, o processador seguro 205 pode controlar o fluxo de entradas de toque a partir do multiplexador 230 de modo que os dados seguros não sejam enviados para o processador de aplicações 210. Por exemplo, quando o processador de aplicações 210, ou uma aplicação em execução no mesmo, envia um comando como um comando de início de entrada de sequência de acessibilidade (por exemplo, indicando o início do processo de entrada de PIN) para o processador seguro 205, o processador seguro pode enviar um comando para o multiplexador 230 para comutar o status do multiplexador de modo que as entradas de toque sejam agora roteadas para o processador seguro. Assim, em algumas modalidades, a transmissão de entradas de toque a partir do multiplexador 230 pode ser controlada pelo processador seguro 205. Em outras modalidades, o processador de aplicações 210 pode ser configurado para controlar o multiplexador 230 diretamente.[035] In some embodiments, the secure processor 205 can not only receive touch inputs from the touch controller 215 through the multiplexer 230, but also send data such as commands to change the status of the multiplexer. For example, in some embodiments, secure processor 205 can control the flow of ring inputs from multiplexer 230 so that secure data is not sent to application processor 210. For example, when application processor 210, or an application running thereon, sends a command such as a reachability sequence entry start command (e.g., indicating the start of the PIN entry process) to the secure processor 205, the secure processor may send a command to multiplexer 230 to toggle the status of the multiplexer so that ring inputs are now routed to the secure processor. Thus, in some embodiments, transmission of ring inputs from multiplexer 230 may be controlled by secure processor 205. In other embodiments, application processor 210 may be configured to control multiplexer 230 directly.

[036] A FIG. 2 também ilustra exemplos de tipos de interface que podem ser usados para comunicação entre os diferentes componentes do dispositivo POS 200, como I2C (Protocolo de Circuito Inter-Integrado), GPIO (Entrada/Saída de Uso Geral), USB (Barramento Serial Universal), SPI (Interface Periférica Serial) e DSI (Interface Serial de Display). Em outras modalidades, interfaces adicionais ou diferentes podem ser usadas. Além disso, em algumas modalidades, um tipo de interface mostrado na FIG. 2 pode ser substituído por alternativas viáveis, dependendo, por exemplo, de restrições de projeto, requisitos da cadeia de suprimentos, disponibilidade de componentes etc. Por exemplo, SPI pode ser usado no lugar de USB e vice-versa. Vários componentes do dispositivo POS 200 podem estar envolvidos para que as entradas de toque sejam processadas dentro do dispositivo POS de diferentes maneiras (por exemplo, quando uma rotina de entrada de PIN estiver em execução no dispositivo POS 200 em oposição à quando o display está sendo usado para inserir/emitir informações não confidenciais). Por exemplo, o processador de aplicações 210, o processador seguro 205, o controlador de toque 215, o multiplexador 230, o display 220 e o alto-falante 225 podem estar envolvidos em receber e processar dados de toque.[036] FIG. 2 also illustrates examples of interface types that can be used for communication between the different components of the POS 200 device, such as I2C (Inter-Integrated Circuit Protocol), GPIO (General Purpose Input/Output), USB (Universal Serial Bus) , SPI (Serial Peripheral Interface) and DSI (Serial Display Interface). In other embodiments, additional or different interfaces may be used. Furthermore, in some embodiments, one type of interface shown in FIG. 2 can be replaced with viable alternatives depending on, for example, design constraints, supply chain requirements, component availability, etc. For example, SPI can be used instead of USB and vice versa. Various components of the POS 200 device can be involved so that touch inputs are processed within the POS device in different ways (e.g. when a PIN entry routine is running on the POS 200 device as opposed to when the display is being used to input/output non-confidential information). For example, the application processor 210, the secure processor 205, the touch controller 215, the multiplexer 230, the display 220 and the speaker 225 may be involved in receiving and processing touch data.

[037] Durante um processo de pagamento, por exemplo, o processador de aplicações 210 pode solicitar que o processador seguro 205 entre em um modo de entrada de PIN. Isso pode ser feito por meio de um comando específico, como o comando de início de entrada de sequência de acessibilidade enviado a partir do processador de aplicações 210 para o processador seguro 205. Em modalidades nas quais o processador de aplicações 210 e o processador seguro 205 são conectados por meio de uma interface USB, como no exemplo da FIG. 2, o processador de aplicações pode se comunicar com o processador seguro, por exemplo, via mensagens RPC (Chamada de Procedimento Remoto) por USB. A comunicação também pode ser desempenhada através de qualquer outra tecnologia alternativa viável. Em algumas modalidades, o processador seguro 205 pode usar uma GPIO conectada por fios ao multiplexador 230 para controlar onde os dados de toque fluem.[037] During a payment process, for example, the application processor 210 may request that the secure processor 205 enter a PIN entry mode. This may be done via a specific command, such as the reachability sequence entry start command sent from the application processor 210 to the secure processor 205. In embodiments in which the application processor 210 and the secure processor 205 are connected via a USB interface, as in the example in FIG. 2, the application processor can communicate with the secure processor, for example via RPC (Remote Procedure Call) messages over USB. Communication can also be performed via any other viable alternative technology. In some embodiments, secure processor 205 may use a GPIO hardwired to multiplexer 230 to control where the touch data flows.

[038] Como as entradas de toque podem ser dados confidenciais, como um PIN, pode ser benéfico manter as entradas de toque seguras. Em algumas modalidades, e conforme discutido acima, as entradas de toque podem fluir para o processador seguro 205 ou para o processador de aplicações 210, e apenas o processador seguro pode comutar o fluxo através do multiplexador 230. Em algumas modalidades, um mecanismo usado para proteger as entradas de toque pode incluir o processador seguro 205 comutando o multiplexador 230 de modo que as entradas de toque sejam alimentadas no próprio processador seguro, onde o processador de aplicações 210 não recebe entradas de toque até que a entrada de PIN seja concluída. Em algumas modalidades, o processador seguro 205 não envia nenhum dígito não criptografado de PIN (por exemplo, entradas de toque) para o processador de aplicações 210. Em algumas modalidades, o formato das entradas de toque pode ser específico do fornecedor e pode depender do fornecedor do controlador de toque 215. Em algumas modalidades, as mensagens RPC podem ser codificadas no formato de valor de comprimento de tag (TLV), no entanto, o TLV pode ser substituído por qualquer outra codificação de mensagem, como XML, JSON etc.[038] Since touch inputs can be sensitive data such as a PIN, it can be beneficial to keep touch inputs secure. In some embodiments, and as discussed above, touch inputs may flow to secure processor 205 or application processor 210, and only the secure processor may switch the stream through multiplexer 230. In some embodiments, a mechanism used to securing the touch inputs may include the secure processor 205 switching the multiplexer 230 such that the touch inputs are fed into the secure processor itself, where the application processor 210 does not receive touch inputs until the PIN entry is complete. In some embodiments, the secure processor 205 does not send any unencrypted PIN digits (e.g., touch inputs) to the application processor 210. In some embodiments, the format of the touch inputs may be vendor-specific and may depend on the touch controller vendor 215. In some embodiments, RPC messages may be encoded in tag length value (TLV) format, however, the TLV may be replaced with any other message encoding such as XML, JSON, etc.

[039] Quando o processador de aplicações 210 envia um comando para o processador seguro 205 indicando que a entrada de PIN deve começar, o processador seguro pode disparar o multiplexador 230 para comutar de modo que o processador seguro agora receba todos os dados de toque a partir do controlador de toque 215. O processador de aplicações 210 pode enviar mensagens periodicamente para o processador seguro 205, como mensagens RPC, solicitando informações sobre o estado do processo de entrada de PIN. O processador seguro 205 pode retornar eventos relevantes (por exemplo, também via mensagens RPC ou outros sinais) à medida que ocorrem, como "primeiro dígito inserido", "segundo dígito inserido", "cancelado" ou "entrada de PIN concluída". Em resposta a essas mensagens, o processador de aplicações 210 pode, então, fornecer algum feedback aos usuários ou de outra forma emitir informações através dos meios para emitir informações. Por exemplo, o processador de aplicações 210 pode gerenciar o display 220 de modo que um asterisco seja exibido no display (por exemplo, para usuários com incapacidade visual ou baixa visão) toda vez que um sinal é recebido a partir do processador seguro 205 que um dígito foi inserido. Como outro exemplo, o processador de aplicações 210 pode gerenciar o alto-falante 225 de modo que uma mensagem auditiva seja reproduzida toda vez que um sinal for recebido a partir do processador seguro 205 que um dígito foi inserido. Desta forma, o processador de aplicações 210 pode gerenciar os componentes do dispositivo POS 200 durante o processo de entrada de PIN enquanto os mantém isolados a partir do processador seguro 205 onde os dados confidenciais estão sendo processados.[039] When the application processor 210 sends a command to the secure processor 205 indicating that PIN entry is to begin, the secure processor may trigger the multiplexer 230 to switch so that the secure processor now receives all ring data from from touch controller 215. Application processor 210 may periodically send messages to secure processor 205, such as RPC messages, requesting information about the status of the PIN entry process. Secure processor 205 may return relevant events (e.g. also via RPC messages or other signals) as they occur, such as "first digit entered", "second digit entered", "canceled" or "PIN entry completed". In response to these messages, application processor 210 may then provide some feedback to users or otherwise output information via the means for outputting information. For example, application processor 210 can manage display 220 so that an asterisk is displayed on the display (e.g., for visually impaired or low vision users) whenever a signal is received from secure processor 205 that a digit has been entered. As another example, the application processor 210 can manage the loudspeaker 225 so that an auditory message is played every time a signal is received from the secure processor 205 that a digit has been entered. In this way, the application processor 210 can manage the components of the POS device 200 during the PIN entry process while keeping them isolated from the secure processor 205 where the confidential data is being processed.

[040] O processador seguro 205 pode usar as entradas de toque para determinar os dígitos de PIN e criptografar o PIN assim que ele for totalmente inserido. O processador seguro 205 pode receber entradas de toque durante a entrada de PIN e converter as entradas de toque em dígitos de PIN (por exemplo, números). O processador seguro 205 pode enviar informações criptografadas para o processador de aplicações 210, as quais o processador de aplicações pode então enviar, por exemplo, para um gateway de pagamento e, eventualmente, para um emissor de cartão onde pode ser descriptografado e verificado. Em algumas modalidades, o processador de aplicações 210 pode não precisar acessar dados confidenciais não criptografados e, portanto, o gerenciamento dos outros componentes do dispositivo POS 200 pode ser desempenhado com segurança e isolado dos próprios dados confidenciais.[040] The 205 secure processor can use touch inputs to determine the PIN digits and encrypt the PIN once it is fully entered. The secure processor 205 can receive touch inputs during PIN entry and convert the touch inputs into PIN digits (e.g., numbers). The secure processor 205 can send encrypted information to the application processor 210, which the application processor can then send, for example, to a payment gateway and eventually to a card issuer where it can be decrypted and verified. In some embodiments, the application processor 210 may not need to access unencrypted confidential data and therefore management of the other components of the POS device 200 can be performed securely and isolated from the confidential data itself.

[041] Os componentes mostrados e explicados com referência ao dispositivo POS 100 e ao dispositivo POS 200 não são limitativos. O dispositivo POS 100 e o dispositivo POS 200 podem incluir componentes adicionais e serem conectados a periféricos que são úteis para o desempenho geral destinado desses terminais. Por exemplo, em algumas modalidades, o dispositivo POS 100 e o dispositivo POS 200 também podem incluir várias interfaces de pagamento, como interfaces NFC ou ICC ou um leitor de tarja magnética (MSR) e diversos periféricos, como um scanner de código de barras ou dispositivo de interface de pagamento externo. Além disso, embora os componentes do dispositivo POS 100 e do dispositivo POS 200 sejam mostrados como parte de um dispositivo unitário, eles podem ser distribuídos em uma pluralidade de dispositivos discretos. Por exemplo, o núcleo de processamento pode ser o componente principal do dispositivo POS 100 e do dispositivo POS 200 e todos os mecanismos para emitir ou inserir informações podem ser periféricos conectados ao núcleo principal. Como outro exemplo, o dispositivo POS 100 e o dispositivo POS 200 podem ser um dispositivo discreto que pode ser acoplado a um sistema existente de modo que o sistema possa ser aumentado com as funcionalidades divulgadas. O display 110 e o display 220 podem ser um display de um dispositivo de usuário pessoal sendo usado em combinação com o dispositivo POS 100 e o dispositivo POS 200. O alto-falante 105 ou o alto-falante 225 pode ser um alto-falante pessoal ou fones de ouvido conectados ao dispositivo POS 100 e ao dispositivo POS 200.[041] The components shown and explained with reference to the POS 100 device and the POS 200 device are not limiting. The POS 100 device and the POS 200 device may include additional components and be connected to peripherals that are useful for the overall intended performance of these terminals. For example, in some embodiments, the POS device 100 and POS device 200 may also include various payment interfaces, such as NFC or ICC interfaces or a magnetic stripe reader (MSR) and various peripherals, such as a bar code scanner or external payment interface device. Furthermore, although the components of the POS device 100 and the POS device 200 are shown as part of a unitary device, they may be distributed across a plurality of discrete devices. For example, the processing core can be the main component of the POS device 100 and the POS device 200 and all mechanisms for issuing or inputting information can be peripherals connected to the main core. As another example, POS device 100 and POS device 200 can be a discrete device that can be coupled to an existing system so that the system can be augmented with the disclosed functionalities. The display 110 and the display 220 can be a display of a personal user device being used in combination with the POS device 100 and the POS device 200. The loudspeaker 105 or the loudspeaker 225 can be a personal loudspeaker or headphones connected to the POS 100 device and the POS 200 device.

[042] Com referência agora à FIG. 3, mostra-se um fluxograma exemplar esboçando operações de um processo 300, de acordo com algumas modalidades da presente divulgação. O processo 300 é discutido em conjunto com o dispositivo POS 200. O processo 300 pode ser usado para receber um PIN a partir de um usuário com deficiência visual do dispositivo POS 200. O processo 300 inicia na operação 305 com o dispositivo POS 200 recebendo uma indicação para operar em um segundo modo para permitir que um usuário com deficiência visual interaja com o dispositivo POS 200. Conforme discutido acima, o segundo modo pode ser inserido de várias maneiras, como ao plugar um headset, por um pessoal selecionando o segundo modo (por exemplo, em um dispositivo comercial) etc. Em algumas modalidades, o usuário com deficiência visual também pode receber uma indicação para começar a interagir com o dispositivo POS 200. Por exemplo, o alto-falante 225, por instrução do processador de aplicações 210, do headset pode fornecer uma pista auditiva para o usuário começar a interagir com o dispositivo POS 200 para inserir o PIN. Em outras modalidades, o pessoal que selecionou o segundo modo pode notificar o usuário para iniciar a interagir com o dispositivo POS 200 e/ou uma mensagem pode ser exibida no display 220 (por exemplo, para usuários de baixa visão). Em outras modalidades, outros mecanismos podem ser usados para notificar o usuário para iniciar a interagir com o dispositivo POS 200.[042] Referring now to FIG. 3, there is shown an exemplary flowchart outlining operations of a process 300, in accordance with some embodiments of the present disclosure. Process 300 is discussed in conjunction with POS device 200. Process 300 may be used to receive a PIN from a visually impaired user of POS device 200. Process 300 begins at operation 305 with POS device 200 receiving a indication to operate in a second mode to allow a visually impaired user to interact with the POS 200 device. As discussed above, the second mode can be entered in a variety of ways, such as plugging in a headset, by personnel selecting the second mode ( e.g. on a commercial device) etc. In some embodiments, the visually impaired user may also be prompted to begin interacting with the POS device 200. For example, the speaker 225, at the direction of the application processor 210, of the headset may provide an auditory cue to the user begins to interact with the POS 200 device to enter the PIN. In other embodiments, personnel who selected the second mode can notify the user to start interacting with the POS device 200 and/or a message can be displayed on display 220 (eg, for low vision users). In other embodiments, other mechanisms can be used to notify the user to start interacting with the POS 200 device.

[043] O PIN pode ser associado (por exemplo, exclusivo para) ao usuário e pode ser necessário para uma variedade de propósitos. Por exemplo, em algumas modalidades, o PIN pode ser necessário para identificar o usuário, a conta do usuário, informações de pagamento etc. Em algumas modalidades, o PIN pode ser um conjunto predeterminado de valores (por exemplo, um conjunto de 4 números). Em outras modalidades, o PIN pode ser um conjunto pré-determinado de alfabetos, combinação de números e alfabetos etc. A explicação abaixo é em relação ao PIN sendo números. No entanto, em outras modalidades, o PIN pode assumir outras configurações. As pistas auditivas que são fornecidas ao usuário podem ser baseadas na configuração do PIN. Por exemplo, se o PIN for uma série de números, as pistas auditivas podem incluir números. Se o PIN for uma série de alfabetos, as pistas auditivas podem incluir alfabetos e assim por diante.[043] The PIN may be associated (eg, unique to) the user and may be required for a variety of purposes. For example, in some embodiments, the PIN may be required to identify the user, user account, payment information, etc. In some embodiments, the PIN can be a predetermined set of values (eg a set of 4 numbers). In other embodiments, the PIN can be a predetermined set of alphabets, combination of numbers and alphabets, etc. The explanation below is in regards to the PIN being numbers. However, in other modalities, the PIN can assume other configurations. The auditory cues that are provided to the user can be based on the PIN configuration. For example, if the PIN is a series of numbers, the auditory cues might include numbers. If the PIN is a series of alphabets, the auditory cues might include alphabets, and so on.

[044] Além disso, o usuário pode interagir com o dispositivo POS 200, e particularmente o display 220 do dispositivo POS, de uma variedade de maneiras para inserir o PIN. Por exemplo, em algumas modalidades, o dispositivo POS 200 pode ser programado para detectar interações de usuário, como batidas, toques por períodos de tempo predeterminados, deslizamentos em diferentes direções, gestos, comandos de voz ou outros tipos de entradas. Por exemplo, o usuário pode ser capaz de inserir um dígito de um PIN por batida (por exemplo, batida curta) em uma área designada do display 220. Em algumas modalidades, o usuário pode ser capaz de inserir comandos adicionais durante o processo de entrada de PIN, como comandos para cancelar, finalizar e/ou apagar. Em modalidades nas quais o usuário insere um dígito PIN por meio de batida, esses comandos adicionais podem ser fornecidos, por exemplo, ao deslizar em direções diferentes opostas às batidas, ou mantendo um dedo pressionado por um período de tempo predeterminado (por exemplo, uma batida longa). Como outro exemplo, os comandos podem ser fornecidos por comandos de voz, através do microfone 115. Em outras modalidades, o usuário pode inserir o PIN e outros comandos no dispositivo POS 200 de outras maneiras.[044] In addition, the user can interact with the POS device 200, and particularly the POS device display 220, in a variety of ways to enter the PIN. For example, in some embodiments, the POS device 200 can be programmed to detect user interactions such as taps, taps for predetermined periods of time, swiping in different directions, gestures, voice commands or other types of input. For example, the user may be able to enter one digit of a PIN per tap (eg, short tap) in a designated area of display 220. In some embodiments, the user may be able to enter additional commands during the entry process. PIN codes, such as cancel, end and/or delete commands. In modalities where the user enters a PIN digit via tapping, these additional commands can be given, for example, by swiping in different directions opposite the tapping, or holding down a finger for a predetermined period of time (for example, a long beat). As another example, commands can be given by voice commands through microphone 115. In other embodiments, the user can enter the PIN and other commands into the POS device 200 in other ways.

[045] As ações ou gestos do usuário podem ser mapeadas para comandos a serem executados pelo dispositivo POS 200. Uma lista não exaustiva de possíveis ações ou gestos do usuário pode incluir batidas, deslizamentos em direções diferentes, como deslizar para a direita, deslizar para a esquerda, deslizar para cima ou deslizar para baixo, pressionamentos longos em oposição a batidas, como manter um dedo pressionado até que o dispositivo determine que o comando foi inserido, ou comandos de voz, como dizer “excluir” para excluir, “cancelar” para cancelar, “finalizar”, “concluído” ou “entrar” para finalizar, “sim” para confirmar, “não” para rejeitar etc. Uma lista não exaustiva de comandos possíveis que podem ser mapeados para as ações ou gestos do usuário incluem inserir um dígito PIN, excluir, cancelar, finalizar, solicitar instruções, pular instruções, repetir instruções, confirmar, rejeitar ou mover para frente e para trás através do processo de entrada de PIN.[045] User actions or gestures can be mapped to commands to be executed by the POS 200 device. A non-exhaustive list of possible user actions or gestures can include taps, swipes in different directions, such as swiping right, swiping left, swipe up or swipe down, long presses as opposed to taps, such as holding down a finger until the device determines the command has been entered, or voice commands, such as saying “delete” to delete, “cancel” to cancel, “finalize”, “completed” or “enter” to finalize, “yes” to confirm, “no” to reject, etc. A non-exhaustive list of possible commands that can be mapped to user actions or gestures include entering a PIN digit, deleting, canceling, ending, prompting for instructions, skipping instructions, repeating instructions, confirming, rejecting, or moving back and forth through of the PIN entry process.

[046] Com base na entrada de toque detectada, o dispositivo POS 200 pode desempenhar ações. Por exemplo, em algumas modalidades, o dispositivo POS 200 (por exemplo, o processador de aplicações 210 e/ou o processador seguro 205) pode reconhecer, e diferenciar, entre uma batida curta e uma batida longa (por exemplo, um pressionar e segurar). Ao detectar uma ação de pressionar e segurar, o dispositivo POS 200 pode detectar que o usuário deseja cancelar o processo de entrada de PIN e reiniciar. Nesses casos, o processador de aplicações 210 e/ou o processador seguro 205 podem reiniciar o processo de entrada de PIN. Da mesma maneira, o processador de aplicações 210 e/ou o processador seguro 205 podem ser configurados para mapear as entradas do usuário no display 220 em ações específicas.[046] Based on the detected touch input, the POS 200 device can perform actions. For example, in some embodiments, POS device 200 (e.g., application processor 210 and/or secure processor 205) can recognize, and differentiate, between a short tap and a long tap (e.g., a press and hold ). Upon detecting a press and hold action, the POS 200 device can detect that the user wants to cancel the PIN entry process and restart. In such cases, the application processor 210 and/or the secure processor 205 may restart the PIN entry process. Likewise, application processor 210 and/or secure processor 205 can be configured to map user inputs on display 220 to specific actions.

[047] Além de ativar o segundo modo para permitir que o usuário com deficiência visual insira o PIN e indique ao usuário para começar a interagir com o dispositivo POS 200, o processador de aplicações 210 pode receber uma indicação, conforme discutido acima, de que o processo de entrada de PIN deve começar. Ao receber essa indicação, o processador de aplicações 210 pode enviar um comando para o processador seguro 205 que o processo de entrada de PIN deve começar. Ao receber esse comando a partir do processador de aplicações 210, o processador seguro 205 pode enviar um comando para o multiplexador 230 para começar a enviar quaisquer entradas de toque detectadas para o processador seguro em vez do processador de aplicações. Além disso, cada um dentre o processador de aplicações 210 e o processador seguro 205 podem redefinir um respectivo temporizador.[047] In addition to activating the second mode to allow the visually impaired user to enter the PIN and prompt the user to begin interacting with the POS device 200, the application processor 210 may receive an indication, as discussed above, that the PIN entry process should begin. Upon receiving such an indication, the application processor 210 may send a command to the secure processor 205 that the PIN entry process should begin. Upon receiving such a command from the 210 application processor, the 205 secure processor may send a command to the 230 multiplexer to begin sending any detected touch inputs to the secure processor instead of the application processor. Furthermore, each of the application processor 210 and the secure processor 205 can reset a respective timer.

[048] Especificamente, em algumas modalidades, cada um dentre o processador de aplicações 210 e o processador seguro 205 podem ter um temporizador associado aos mesmos. Por exemplo, o processador de aplicações 210 pode ter um primeiro temporizador e o processador seguro 205 pode ter um segundo temporizador. Cada um dentre o primeiro temporizador e o segundo temporizador pode ser um temporizador local no processador de aplicações 210 e no processador seguro 205, respectivamente. Em algumas modalidades, um ou ambos dentre o primeiro temporizador e o segundo temporizador podem ser um temporizador de hardware incorporado no processador de aplicações 210 e no processador seguro 205, respectivamente, e controlado pelo respectivo processador. Em outras modalidades, um ou ambos dentre o primeiro temporizador e o segundo temporizador podem ser um módulo de software instanciado no processador de aplicações 210 ou no processador seguro 205, respectivamente.[048] Specifically, in some embodiments, each of the application processor 210 and the secure processor 205 may have a timer associated therewith. For example, application processor 210 may have a first timer and secure processor 205 may have a second timer. Each of the first timer and second timer may be a local timer on application processor 210 and secure processor 205, respectively. In some embodiments, one or both of the first timer and the second timer may be a hardware timer built into application processor 210 and secure processor 205, respectively, and controlled by the respective processor. In other embodiments, one or both of the first timer and the second timer may be a software module instantiated in application processor 210 or secure processor 205, respectively.

[049] Durante cada ciclo, o processador de aplicações 210 e o processador seguro 205 podem redefinir seus respectivos temporizadores. Mais especificamente, o processo de entrada de PIN pode incluir uma pluralidade de ciclos dependendo do número de valores no PIN. Por exemplo, se o PIN for um número de 4 dígitos, o processo de entrada de PIN pode incluir 4 ciclos. No início de cada ciclo, o processador de aplicações 210 e o processador seguro 205 podem redefinir o primeiro temporizador e o segundo temporizador, respectivamente. O processador de aplicações 210 pode recitar as pistas auditivas para o usuário a uma velocidade predeterminada. Para um PIN que inclui números, as pistas auditivas podem incluir números que são recitados em uma ordem específica. Por exemplo, em cada ciclo, o processador de aplicações 210 pode recitar números 0-9 em uma ordem designada. Além disso, cada número pode ser recitado em um período de tempo predeterminado. Por exemplo, em algumas modalidades, o processador de aplicações 210 pode recitar o primeiro número (por exemplo, 0) no tempo, t0. O processador de aplicações 210 pode então recitar o segundo número (por exemplo, 1) no tempo, t(0+X). X pode ser considerado um período de espera ou intervalo entre a recitação de dois dígitos. O período de espera pode fornecer ao usuário tempo suficiente para inserir uma entrada antes que os próximos dígitos sejam recitados. Em algumas modalidades, X pode ser 3 ou 4 segundos. Em outras modalidades, X pode ser outro número de segundos. Assim, em algumas modalidades, o período de espera pode ser um período de tempo (t) predeterminado fixado para todos os usuários e para todas as instâncias do processo onde o usuário deve inserir um dígito de um PIN. Além disso, em algumas modalidades, o período de espera entre duas recitações consecutivas pode ser o mesmo. Em outras palavras, o mesmo período de espera pode ser usado ao longo de um ciclo. Em outras modalidades, o período de espera entre uma ou mais recitações consecutivas pode variar. Em outras palavras, períodos de espera de múltiplos valores podem ser usados em cada ciclo.[049] During each cycle, the application processor 210 and the secure processor 205 can reset their respective timers. More specifically, the PIN entry process may include a plurality of cycles depending on the number of values in the PIN. For example, if the PIN is a 4-digit number, the PIN entry process may include 4 cycles. At the start of each cycle, application processor 210 and secure processor 205 may reset the first timer and second timer, respectively. Application processor 210 may recite the auditory cues to the user at a predetermined rate. For a PIN that includes numbers, the auditory cues may include numbers that are recited in a specific order. For example, on each cycle, application processor 210 may recite numbers 0-9 in a designated order. Furthermore, each number can be recited in a predetermined amount of time. For example, in some embodiments, application processor 210 may recite the first number (e.g., 0) at time, t0. Application processor 210 can then recite the second number (eg, 1) in time, t(0+X). X can be thought of as a waiting period or break between reciting two digits. The wait period can provide the user with enough time to enter an entry before the next digits are recited. In some embodiments, X may be 3 or 4 seconds. In other embodiments, X may be another number of seconds. Thus, in some embodiments, the waiting period may be a predetermined period of time (t) fixed for all users and for all instances of the process where the user must enter a digit of a PIN. Furthermore, in some embodiments, the waiting period between two consecutive recitations may be the same. In other words, the same waiting period can be used throughout a cycle. In other embodiments, the waiting period between one or more consecutive recitations may vary. In other words, multivalued wait periods can be used in each cycle.

[050] O processador de aplicações 210 pode recitar cada número no período de tempo predeterminado com base no contador em execução no primeiro temporizador. Além disso, em algumas modalidades, o período de tempo predeterminado pode ser conhecido pelo processador seguro 205. Por exemplo, o processador seguro 205 pode saber que o processador de aplicações 210 recita o primeiro número (por exemplo, 0) no momento, t0, recita o segundo número (por exemplo, 1) no momento, t(0+X), recita o terceiro número (por exemplo, 2) no tempo, t(0+X), após o segundo número, recita o quarto número (por exemplo, 3) no tempo, t(0+X), após o terceiro número, e assim por diante. Em algumas modalidades, X entre a recitação de dois números pode ser o mesmo em algumas modalidades. Assim, o processador de aplicações 210 e o processador seguro 205 podem concordar no período de tempo/velocidade no qual os números são recitados. Portanto, no início de cada ciclo, o processador de aplicações 210 e o processador seguro 205 podem redefinir seus respectivos temporizadores. Em algumas modalidades, o processador seguro 205 também pode conhecer a ordem na qual os números estão sendo recitados pelo processador de aplicações 210.[050] The application processor 210 can recite each number in the predetermined time period based on the running counter in the first timer. Furthermore, in some embodiments, the predetermined time period may be known by the secure processor 205. For example, the secure processor 205 may know that the application processor 210 recites the first number (e.g., 0) at the time, t0, recite the second number (e.g. 1) at time, t(0+X), recite the third number (e.g. 2) at time, t(0+X), after the second number, recite the fourth number ( for example, 3) in time, t(0+X), after the third number, and so on. In some embodiments, X between the recitation of two numbers may be the same in some embodiments. Thus, the application processor 210 and the secure processor 205 can agree on the time period/speed at which the numbers are recited. Therefore, at the start of each cycle, the application processor 210 and the secure processor 205 may reset their respective timers. In some embodiments, the secure processor 205 may also know the order in which the numbers are being recited by the application processor 210.

[051] Na operação 310, o processador de aplicações 210 começa a recitar as pistas auditivas. Por exemplo, o processador de aplicações 210 começa a recitar os números na ordem predeterminada na taxa predeterminada. Depois de recitar cada número, o processador de aplicações 210 espera por um período de espera antes de recitar o próximo número. Assim, o processador de aplicações 210 recita um número, aguarda pelo período de espera, então recita outro número, aguarda pelo período de espera, então recita ainda outro número e assim por diante, até que todos os números (por exemplo, 0-9) tenham sido recitados. Depois que cada número é recitado, o usuário pode inserir uma entrada de toque (por exemplo, batida no display 220) se o número PIN corresponder ao número recém recitado. Por exemplo, se o PIN for 1234, no primeiro ciclo, o processador de aplicações 210 pode recitar os números 0-9. Após o processador de aplicações 210 recitar o número 1 e antes do processador de aplicações recitar o número 2 (por exemplo, durante o período de espera entre os números 1 e 2), o usuário pode bater (ou fornecer outra entrada de toque designada) no display 220 para entrar o número 1. Da mesma maneira, no segundo ciclo, o processador de aplicações 210 pode recitar novamente os números 0-9. Após o processador de aplicações 210 recitar o número 2 e antes do processador de aplicações recitar o número 3, o usuário pode bater no display 220 para inserir o número 2 e assim por diante.[051] At operation 310, the application processor 210 begins reciting the auditory cues. For example, application processor 210 begins reciting the numbers in the predetermined order at the predetermined rate. After reciting each number, application processor 210 waits for a waiting period before reciting the next number. Thus, the application processor 210 recites a number, waits for the wait period, then recites another number, waits for the wait period, then recites yet another number, and so on, until all numbers (e.g., 0-9 ) have been recited. After each number is recited, the user can enter touch input (eg tap on display 220) if the PIN number matches the number just recited. For example, if the PIN is 1234, on the first cycle, application processor 210 might recite the numbers 0-9. After the application processor 210 recites number 1 and before the application processor 210 recites number 2 (e.g., during the wait period between numbers 1 and 2), the user may tap (or provide other designated touch input) on display 220 to enter the number 1. Likewise, on the second cycle, application processor 210 may recite the numbers 0-9. After the application processor 210 recites the number 2 and before the application processor recite the number 3, the user can tap on the display 220 to enter the number 2 and so on.

[052] Assim, na operação 315, o controlador de toque 215 recebe uma entrada de toque durante a recitação das pistas auditivas da operação 310. O controlador de toque 215 pode determinar as coordenadas de toque do display onde o usuário bateu (ou inseriu a entrada de toque). O controlador de toque 215 pode enviar as coordenadas de toque para o multiplexador 230, o qual pode então enviar as coordenadas de toque para o processador seguro 205.[052] Thus, in operation 315, the touch controller 215 receives a touch input during the recitation of the auditory cues of operation 310. The touch controller 215 can determine the touch coordinates of the display where the user has tapped (or entered the touch input). Touch controller 215 may send touch coordinates to multiplexer 230, which may then send touch coordinates to secure processor 205.

[053] Na operação 320, o processador seguro 205 converte as coordenadas de toque em um dígito. Conforme indicado acima, o processador seguro 205 também tem um temporizador (por exemplo, o segundo temporizador) que é redefinido no início de cada ciclo. O processador seguro 205 está ciente da taxa na qual os números são recitados. Por exemplo, o processador seguro 205 pode estar ciente do período de espera, o período de tempo predeterminado no qual cada número é recitado, configuração de PIN (por exemplo, número de dígitos no PIN) e/ou a ordem na qual o processador de aplicações 210 está recitando os números. Por exemplo, o processador seguro 205 pode saber que o processador de aplicações 210 está recitando os números na ordem 0-9, com um período de espera de X entre dois números.[053] In operation 320, secure processor 205 converts the touch coordinates to a digit. As noted above, secure processor 205 also has a timer (eg, second timer) that resets at the start of each cycle. Secure processor 205 is aware of the rate at which numbers are recited. For example, the secure processor 205 may be aware of the wait period, the predetermined time period in which each number is recited, PIN configuration (e.g., number of digits in the PIN), and/or the order in which the security processor 210 applications is reciting the numbers. For example, the secure processor 205 may know that the application processor 210 is reciting the numbers in order 0-9, with a wait period of X between two numbers.

[054] Em algumas modalidades, o processador seguro 205 pode observar o tempo (por exemplo, a partir do segundo temporizador) quando as coordenadas de toque são recebidas a partir do multiplexador 230. Com base no tempo que as coordenadas de toque são recebidas em relação à redefinição do segundo temporizador no ciclo atual, o processador seguro 205 pode converter esse tempo em um dígito. Por exemplo, em algumas modalidades, as coordenadas de toque podem ser recebidas em 5 segundos a partir de quando o segundo temporizador foi redefinido no ciclo atual. Uma vez que o processador seguro 205 está ciente do período de espera (por exemplo, 4 segundos) e ordem de recitação, o processador seguro pode determinar que as coordenadas de toque foram recebidas após o processador de aplicações 210 recitar dois dígitos (por exemplo, um dígito em 0 segundos e outro dígito em 4 segundos) e antes da recitação do terceiro dígito (por exemplo, terceiro dígito em 8 segundos). Uma vez que o processador seguro 205 sabe a ordem (por exemplo, 0-9) na qual os dígitos são recitados, no exemplo acima, o processador seguro pode saber que o segundo dígito que foi recitado é o número 1. Uma vez que as coordenadas de toque são recebidas entre os números 1 e 2, o processador seguro 205 pode determinar que as coordenadas de toque correspondem ao número 1.[054] In some embodiments, the secure processor 205 may observe the time (e.g., from the second timer) when the touch coordinates are received from the multiplexer 230. Based on the time that the touch coordinates are received at with respect to resetting the second timer in the current cycle, secure processor 205 may convert this time to a digit. For example, in some embodiments, touch coordinates can be received within 5 seconds from when the second timer was reset in the current cycle. Since the secure processor 205 is aware of the delay period (e.g., 4 seconds) and reciting order, the secure processor can determine that the touch coordinates have been received after the application processor 210 recites two digits (e.g., one digit at 0 seconds and another digit at 4 seconds) and before reciting the third digit (e.g. third digit at 8 seconds). Since the secure processor 205 knows the order (eg, 0-9) in which the digits are recited, in the example above, the secure processor can know that the second digit that was recited is the number 1. touch coordinates are received between the numbers 1 and 2, the secure processor 205 can determine that the touch coordinates correspond to the number 1.

[055] Em outras modalidades, em vez de calcular o período de tempo decorrido entre a redefinição do segundo temporizador e o recebimento das coordenadas de toque, o processador seguro 205 pode determinar o dígito com base na última pista auditiva recitada antes que a batida de usuário seja recebida. Por exemplo, em algumas modalidades, o processador seguro 205 pode determinar (por exemplo, com base no período de espera e no tempo de execução no segundo temporizador) qual dígito é recitado atualmente na pista auditiva. Por exemplo, o processador seguro 205 pode saber que o processador de aplicações 210 recita o número 0 em 0 segundos, número 1 em 4 segundos, número 3 em 8 segundos e assim por diante. Assim, com base no tempo no segundo temporizador, o processador seguro 205 pode saber qual dígito está sendo recitado no momento. Por exemplo, a 5 segundos da redefinição do segundo temporizador no ciclo atual, o processador seguro 205 sabe que o processador de aplicações 210 terminou de recitar o número 1 e está no período de espera antes de recitar o número 2 em 8 segundos. Assim, a cada segundo em um ciclo, o processador seguro 205 pode saber qual dígito na sequência de recitações foi recitado por último e qual dígito deve ser recitado em seguida. Quando o processador seguro 205 recebe indicação das coordenadas de toque durante um período de espera, em virtude de acompanhar o dígito atual (ou último) recitado no ciclo, o processador seguro pode saber qual dígito foi recitado imediatamente antes da entrada de toque ser recebida. Assim, o processador seguro 205 pode associar as coordenadas de toque com a última pista auditiva recitada na sequência. Por exemplo, se as coordenadas de toque forem recebidas em 5 segundos, o processador seguro 205 pode determinar que as coordenadas de toque foram recebidas após a recitação do número 1 e antes da recitação do número 2. Assim, quando as coordenadas de toque são recebidas, o processador seguro 205 pode saber o último número que foi recitado e determina que o último número é o dígito destinado ao usuário inserir.[055] In other embodiments, instead of calculating the period of time elapsed between resetting the second timer and receiving the ring coordinates, the secure processor 205 may determine the digit based on the last auditory cue recited before the ring beat. user is received. For example, in some embodiments, the secure processor 205 can determine (e.g., based on the wait period and the runtime in the second timer) which digit is currently recited in the auditory cue. For example, the secure processor 205 may know that the application processor 210 recites the number 0 in 0 seconds, number 1 in 4 seconds, number 3 in 8 seconds, and so on. Thus, based on the time in the second timer, the secure processor 205 can know which digit is currently being recited. For example, 5 seconds from resetting the second timer in the current cycle, the secure processor 205 knows that the application processor 210 has finished reciting the number 1 and is in the waiting period before reciting the number 2 in 8 seconds. Thus, every second in a cycle, the secure processor 205 can know which digit in the sequence of recitations was recited last and which digit should be recited next. When the secure processor 205 receives indication of the touch coordinates during a delay period, by virtue of tracking the current (or last) digit recited in the cycle, the secure processor can know which digit was recited immediately before the touch input is received. Thus, secure processor 205 can associate the touch coordinates with the last recited auditory cue in the sequence. For example, if touch coordinates are received within 5 seconds, secure processor 205 can determine that touch coordinates were received after recitation of number 1 and before recitation of number 2. Thus, when touch coordinates are received , secure processor 205 can know the last number that was recited and determines that the last number is the digit intended for the user to enter.

[056] Assim, em algumas modalidades, o processador seguro 205 pode determinar o dígito de duas maneiras: (1) calcular a quantidade de tempo decorrido entre a redefinição do segundo temporizador e o tempo de recebimento das coordenadas de toque, e (2) calcular o dígito com base no último dígito que foi recitado antes que as coordenadas de toque sejam recebidas. Na operação 325, ao converter as coordenadas de toque em um dígito, o processador seguro 205 armazena o dígito identificado em uma memória segura (por exemplo, a memória segura 140).[056] Thus, in some embodiments, the secure processor 205 can determine the digit in two ways: (1) calculate the amount of time elapsed between resetting the second timer and the time of receiving the touch coordinates, and (2) calculate the digit based on the last digit that was recited before the touch coordinates were received. At operation 325, upon converting the touch coordinates to a digit, the secure processor 205 stores the identified digit in a secure memory (eg, secure memory 140).

[057] Deve-se entender que, em algumas modalidades, o processador de aplicações 210 pode não saber quando o usuário bateu no display para manter a segurança. Em outras modalidades, o processador de aplicações 210 pode saber que uma entrada do usuário foi recebida, mas pode não saber as coordenadas de toque. Em algumas modalidades, e independentemente de o processador de aplicações 210 saber se o usuário inseriu a entrada ou não, o processador de aplicações pode continuar recitando os números. Por exemplo, se o usuário inserir uma entrada após a recitação do número 1, o processador de aplicações 210 ainda pode continuar a recitar os números 2-9 na mesma taxa (por exemplo, mesmo período de espera), evitando assim a possibilidade de que espiões possam ouvir às pistas auditivas e roubar o PIN. Depois que o processador de aplicações 210 termina de recitar os números 0-9, o processador de aplicações redefine o primeiro temporizador e começa a recitar os números 0-9 novamente. Para um PIN de N dígitos, o processador de aplicações 210 pode recitar os números 0-9 N vezes. Assim, na operação 330, o processador de aplicações 210 determina se todos os valores N de PIN foram recebidos. Se não, o processo 300 volta em loop à operação 310 onde o processador de aplicações 210 começa a recitar os números novamente. Assim, as operações 310-325 podem ser repetidas N vezes para um PIN de N dígitos.[057] It should be understood that, in some embodiments, the application processor 210 may not know when the user has tapped the display to maintain security. In other embodiments, application processor 210 may know that user input has been received, but may not know the touch coordinates. In some embodiments, and regardless of whether the application processor 210 knows whether the user has entered the entry or not, the application processor may continue reciting the numbers. For example, if the user enters an entry after reciting the number 1, the application processor 210 can still continue to recite the numbers 2-9 at the same rate (e.g., same waiting period), thus avoiding the possibility that spies can listen to the auditory cues and steal the PIN. After the application processor 210 finishes reciting the numbers 0-9, the application processor resets the first timer and begins reciting the numbers 0-9 again. For an N digit PIN, application processor 210 may recite the numbers 0-9 N times. Thus, in operation 330, application processor 210 determines whether all N PIN values have been received. If not, process 300 loops back to operation 310 where application processor 210 begins reciting the numbers again. Thus, operations 310-325 can be repeated N times for an N-digit PIN.

[058] Além disso, ao determinar na operação 330 que dígitos adicionais de PIN devem ser recebidos, o processador seguro 205 também redefine seu temporizador (por exemplo, segundo temporizador). Em algumas modalidades, o processador de aplicações 210 redefine seu temporizador (por exemplo, primeiro temporizador) ao recitar os números 0-9. Uma vez que o processador seguro 205 não recebe nenhuma comunicação adicional a partir do processador de aplicações após o comando inicial indicando que o processo de entrada de PIN está começando, o processador seguro depende de seu temporizador (por exemplo, segundo temporizador) para determinar quando esse segundo temporizador deve ser redefinido. Por exemplo, se o processador de aplicações 210 estiver recitando números com um período de espera de 4 segundos, o processador seguro pode saber que em 36 segundos, o processador de aplicações teria recitado todos os números de 0-9 em um ciclo. Assim, após 40 segundos, o processador seguro 205 pode redefinir automaticamente o segundo temporizador sem aguardar qualquer comunicação a partir do processador de aplicações 210. Em outras modalidades, o processador de aplicações 210 pode enviar um comando para o processador seguro 205 indicando que a entrada do próximo dígito está iniciando. Ao receber esse comando, o processador seguro 205 pode redefinir o segundo temporizador.[058] Furthermore, when determining in operation 330 that additional PIN digits are to be received, secure processor 205 also resets its timer (eg, second timer). In some embodiments, application processor 210 resets its timer (eg, first timer) by reciting the numbers 0-9. Since the secure processor 205 does not receive any further communication from the application processor after the initial command indicating that the PIN entry process is starting, the secure processor relies on its timer (e.g., second timer) to determine when that second timer must be reset. For example, if the application processor 210 is reciting numbers with a 4 second wait period, the secure processor can know that in 36 seconds, the application processor would have recited all the numbers 0-9 in one cycle. Thus, after 40 seconds, the secure processor 205 can automatically reset the second timer without waiting for any communication from the application processor 210. In other embodiments, the application processor 210 can send a command to the secure processor 205 indicating that the input of the next digit is starting. Upon receipt of this command, secure processor 205 may reset the second timer.

[059] Ao receber todos os dígitos de PIN (por exemplo, quando o processador de aplicações 210 determina na operação 330 que nenhum outro dígito deve ser recebido), o processo 300 termina na operação 335. Ao receber todos os dígitos, o processador seguro 205 criptografa o PIN e envia o PIN criptografado para o processador de aplicações 210 para processamento e encaminhamento adicionais. Embora o processador seguro 205 tenha sido descrito como identificando o dígito na operação 320 em cada ciclo, em algumas modalidades, o processador seguro pode receber as coordenadas de toque de todos os ciclos, registrar o tempo em cada ciclo quando a entrada é recebida e, na verdade, identificar os dígitos no final quando todos os dígitos tiverem sido recebidos.[059] Upon receipt of all PIN digits (for example, when the application processor 210 determines at operation 330 that no further digits are to be received), the process 300 terminates at operation 335. Upon receipt of all digits, the secure processor 205 encrypts the PIN and sends the encrypted PIN to the application processor 210 for further processing and forwarding. Although the secure processor 205 has been described as identifying the digit in operation 320 on each cycle, in some embodiments, the secure processor may receive the touch coordinates of all cycles, record the time in each cycle when input is received, and, actually identify the digits at the end when all the digits have been received.

[060] Além disso, em algumas modalidades, o usuário pode fornecer duas entradas em um único ciclo. Por exemplo, o usuário pode bater no display 220 após o dígito 1 e novamente após o dígito 2. Em algumas modalidades, o processador seguro 205 pode ser configurado para registrar apenas a primeira entrada. Em outras modalidades, o processador seguro 205 pode ser configurado para registrar a última entrada em cada ciclo.[060] In addition, in some modes, the user can provide two entries in a single cycle. For example, the user may tap display 220 after the digit 1 and again after the digit 2. In some embodiments, the secure processor 205 may be configured to record only the first entry. In other embodiments, secure processor 205 can be configured to record the last entry on each cycle.

[061] Voltando à FIG. 4, mostra-se um fluxograma exemplar esboçando um processo 400, de acordo com algumas modalidades da presente divulgação. O processo 400 pode ser desempenhado pelo processador seguro 205 em cada ciclo. Ao iniciar na operação 405, o processador seguro 205 redefine seu temporizador. No início do primeiro ciclo, o processador seguro 205 pode receber um comando a partir do processador de aplicações 210. Em resposta a esse comando, o processador seguro 205 pode redefinir o temporizador. Em ciclos subsequentes, o processador seguro 205 pode redefinir seu temporizador com base na quantidade de tempo decorrido desde a redefinição do temporizador no ciclo atual, conforme discutido acima, ou ao receber um comando a partir do processador de aplicações 210.[061] Returning to FIG. 4, there is shown an exemplary flowchart outlining a process 400, in accordance with some embodiments of the present disclosure. Process 400 may be performed by secure processor 205 on each cycle. Upon starting at operation 405, secure processor 205 resets its timer. At the start of the first cycle, secure processor 205 may receive a command from application processor 210. In response to that command, secure processor 205 may reset the timer. On subsequent cycles, secure processor 205 may reset its timer based on the amount of time that has elapsed since the timer was reset in the current cycle, as discussed above, or upon receiving a command from application processor 210.

[062] Na operação 415, o processador seguro 205 recebe coordenadas de toque a partir do multiplexador 230 e converte as coordenadas de toque em um caractere (por exemplo, dígito) nas operações 420 e 425 com base na quantidade de tempo decorrido desde a redefinição do temporizador no ciclo atual, como também discutido acima ou com base no último caractere recitado no ciclo atual, como também discutido acima. Na operação 430, o processador seguro 205 armazena o caractere identificado e o processo 400 termina na operação 435.[062] In operation 415, the secure processor 205 receives touch coordinates from the multiplexer 230 and converts the touch coordinates to a character (e.g., digit) in operations 420 and 425 based on the amount of time that has elapsed since the reset of the timer in the current cycle, as also discussed above, or based on the last character recited in the current cycle, as also discussed above. At operation 430, secure processor 205 stores the identified character and process 400 ends at operation 435.

[063] Com referência à FIG. 5, é mostrado um diagrama de sequência exemplar esboçando um processo mostrando as interações entre o processador de aplicações 210 e o processador seguro 205 durante o processo de entrada de PIN, de acordo com algumas modalidades da presente divulgação. O processo mostra o processador de aplicações 210 no lado esquerdo e o processador seguro 205 no lado direito. Na operação 500, o processador de aplicações 210 envia um comando para o processador seguro 205 para iniciar a captura de PIN. O processador de aplicações 210 pode enviar este comando no início do processo de entrada do PIN quando o processador de aplicações recebe uma indicação de que o processo de captura de PIN deve começar. Na operação 505, o processador seguro 205 envia um comando para o multiplexador 230 para começar a enviar entradas de toque para o processador seguro. O processador seguro 205 também pode enviar uma mensagem de volta, na operação 510, para o processador de aplicações 210 reconhecendo o comando da operação 500.[063] With reference to FIG. 5, there is shown an exemplary sequence diagram outlining a process showing the interactions between the application processor 210 and the secure processor 205 during the PIN entry process, in accordance with some embodiments of the present disclosure. The process shows application processor 210 on the left side and secure processor 205 on the right side. In operation 500, application processor 210 sends a command to secure processor 205 to begin PIN capture. The application processor 210 may send this command at the start of the PIN entry process when the application processor receives an indication that the PIN capture process should begin. In operation 505, secure processor 205 sends a command to multiplexer 230 to begin sending ring inputs to the secure processor. Secure processor 205 may also send a message back, at operation 510, to application processor 210 acknowledging the command at operation 500.

[064] Ao receber o reconhecimento a partir do processador seguro 205, o processador de aplicações 210 pode enviar uma mensagem na operação 515 para o processador seguro indicando que a recitação dos números deve começar. Ao receber a mensagem, o processador seguro 205 pode redefinir o segundo temporizador e enviar uma mensagem de volta ao processador de aplicações 210 na operação 525. O processador de aplicações 210 também pode redefinir o primeiro temporizador e começar a recitar os dígitos um por um. Por exemplo, o processador de aplicações 210 pode recitar um primeiro dígito (por exemplo, 0) na operação 530A, um segundo dígito na operação 530B, um terceiro dígito na operação 530C e assim por diante até que todos os dígitos 0-9 tenham sido recitados. Após finalizar a recitação de todos os dígitos, o processador de aplicações 210 começa a recitar o segundo ciclo na operação 535. O segundo ciclo e cada ciclo subsequente continuam então semelhantes ao primeiro ciclo.[064] Upon receiving the acknowledgment from the secure processor 205, the application processor 210 may send a message at operation 515 to the secure processor indicating that recitation of numbers should begin. Upon receiving the message, secure processor 205 may reset the second timer and send a message back to application processor 210 at operation 525. Application processor 210 may also reset the first timer and begin reciting the digits one by one. For example, application processor 210 may recite a first digit (e.g., 0) in operation 530A, a second digit in operation 530B, a third digit in operation 530C, and so on until all digits 0-9 have been recited. After finishing reciting all digits, application processor 210 begins reciting the second cycle in operation 535. The second cycle and each subsequent cycle then continues similar to the first cycle.

[065] Além disso, cada dígito é recitado após um período de espera 540A, 540B, 540C e assim por diante. Em cada período de espera, o processador seguro 205 aguarda para receber uma entrada de toque (por exemplo, coordenadas de toque). Quando a entrada de toque é recebida, o processador seguro 205 identifica e registra o caractere. Assim, o processador de aplicações 210 envia uma mensagem ao processador seguro 205 solicitando que o processador seguro capture um dígito de um PIN. O processador seguro 205 reconhece e volta em loop através de cada escolha de dígito de 0 a 9 com um tempo fixo entre as escolhas, chamando de volta para o processador de aplicações 210 para permitir que o processador de aplicações saiba quando o processador seguro iniciou o intervalo para uma escolha de dígito específica. Isso permite que o processador de aplicações 210 fale o dígito, e informe o usuário para bater se o dígito falado corresponder ao dígito de seu PIN. Esse processo é repetido para cada dígito do PIN até que todos os dígitos sejam capturados, ou até que o usuário falhe em selecionar um dígito e o processo termine em falha.[065] In addition, each digit is recited after a waiting period 540A, 540B, 540C, and so on. On each wait period, secure processor 205 waits to receive touch input (eg, touch coordinates). When touch input is received, secure processor 205 identifies and records the character. Thus, application processor 210 sends a message to secure processor 205 requesting that the secure processor capture a digit of a PIN. Secure processor 205 acknowledges and loops back through each digit choice from 0 to 9 with a fixed time between choices, calling back to application processor 210 to let the application processor know when the secure processor has started the process. range for a specific digit choice. This allows the application processor 210 to speak the digit, and inform the user to knock if the spoken digit matches the digit of their PIN. This process is repeated for each digit of the PIN until all digits are captured, or until the user fails to select a digit and the process ends in failure.

[066] Além disso, independentemente de quando ou se o usuário bater no display 220, o processador de aplicações 210 continua a falar os dígitos de zero a nove. Isso impede que o processador de aplicações 210 saiba qual dígito foi inserido. O PIN nunca é exposto ao processador de aplicações 210, e os dígitos de PIN selecionados nunca são exibidos ou falados de volta para o usuário. O processador de aplicações 210 pode ter permissão para saber se um dígito foi selecionado, após o processador de aplicações percorrer todas as escolhas de dígitos. Uma vez que um dígito é capturado no processador seguro 205, todos os eventos de toque adicionais podem ser ignorados, até que seja hora de capturar o próximo dígito do PIN. Esse processo é repetido para cada dígito do PIN até que todos os dígitos sejam capturados, ou até que o usuário falhe em selecionar um dígito e o processo termine em falha.[066] Furthermore, regardless of when or if the user taps on display 220, application processor 210 continues to speak the digits zero through nine. This prevents application processor 210 from knowing which digit has been entered. The PIN is never exposed to application processor 210, and the selected PIN digits are never displayed or spoken back to the user. The application processor 210 may be allowed to know if a digit has been selected after the application processor has gone through all the digit choices. Once a digit is captured at the 205 secure processor, all further touch events can be ignored until it is time to capture the next digit of the PIN. This process is repeated for each digit of the PIN until all digits are captured, or until the user fails to select a digit and the process ends in failure.

[067] O pseudocódigo de amostra implementado pelo processador seguro 205 pode ser o seguinte:
/**
* Wait millisToWait millseconds. Quando o tempo expira, retornar verdadeiro se um evento de toque
* ocorreu durante a espera, do contrário falso.
*/
boolean waitForTouch(int millisToWait);
/**
* Comutar o mux do controlador de toque para "AP" ou "SP". Os dados de
toque fluirão apenas para o
* processador selecionado.
*/
void setTouchMux(String selection);
/**
* Retornar a seleção de toque atual "AP" ou "SP"
*/
String getTouchMux();
/**
* Armazenar o PIN atual. Isso nunca é exposto fora do SP.
*/
int[] pinDigits = new int[4] ;
/**
* Invocar um callback ao AP.
*/
void invokeCallback(String methodName, Object... args);
void startCapturePin() {
setTouchMux("SP");
}
void stopCapturePin() {
setTouchMux("AP");
}
/**
* Obter um único dígito de um PIN. Se este método retornar verdadeiro então o valor
* pinDigits[digitNumber] é preenchido com o dígito selecionado. Se falso,
* então pinDigits[digitNumber] não é o dígito selecionado e não deve ser
* considerado.
*/
boolean captureDigit(int digitNumber, long digitPeriodMs) {
if (getTouchMux() != "SP") {
// Se formos invocados quando o controlador de toque SP não estiver selecionado
// retorna imediatamente com falha.
retorna falso;
}
int selected = -1;
for (int choice = 0; choice < 9; choice++) {
invokeCallback("onStartDigitChoice", digitNumber);
if (selected != -1) {
// O usuário já bateu, continua aguardando, mas ignora
outras batidas
wait(digitPeriodMs);
} else {
// Aguardar o usuário bater
if (waitForTouch(digitPeriodMs)) {
selected = choice
}
}
}
if (selected == -1) {
// Nenhum evento de toque recebido para qualquer escolha retorna falso;
} else {
// Registrar o digito batido
pinDigits[digitNumber] = selected
retornar verdadeiro
}
}
[067] The sample pseudocode implemented by the secure processor 205 may be as follows:
/**
* Wait millisToWait milseconds. When time expires, return true if a touch event
* occurred while waiting, otherwise false.
*/
boolean waitForTouch(int millisToWait);
/**
* Switch touch controller mux to "AP" or "SP". The data from
touch will only flow to the
* processor selected.
*/
void setTouchMux(String selection);
/**
* Return current ringtone selection "AP" or "SP"
*/
String getTouchMux();
/**
* Store current PIN. This is never exposed outside of SP.
*/
int[] pinDigits = new int[4] ;
/**
* Invoke a callback to the AP.
*/
void invokeCallback(String methodName, Object... args);
void startCapturePin() {
setTouchMux("SP");
}
void stopCapturePin() {
setTouchMux("AP");
}
/**
* Get a single digit of a PIN. If this method returns true then the value
* pinDigits[digitNumber] is filled with the selected digit. If false,
* then pinDigits[digitNumber] is not the selected digit and should not be
* considered.
*/
boolean captureDigit(int digitNumber, long digitPeriodMs) {
if (getTouchMux() != "SP") {
// If we are invoked when SP touch controller is not selected
// returns immediately on failure.
returns false;
}
int selected = -1;
for (int choice = 0; choice <9; choice++) {
invokeCallback("onStartDigitChoice", digitNumber);
if (selected != -1) {
// The user has already hit, continues to wait, but ignores
other beats
wait(digitPeriodMs);
} else {
// Wait for the user to hit
if (waitForTouch(digitPeriodMs)) {
selected = choice
}
}
}
if (selected == -1) {
// No touch events received for any choice return false;
} else {
// Register the typed type
pinDigits[digitNumber] = selected
return true
}
}

[068] No código acima e no código abaixo, SP é o processador seguro 205 e AP é o processador de aplicações 210. Um pseudocódigo exemplar para o processador de aplicações 210 é o seguinte:
String[] ORDINALS = {"first", "second", "third", "fourth"};
long DIGIT_CHOICE_PERIOD_MS = 3000; // 3 seconds
int DIGIT_COUNT = 4;
/**
* Este é um wrapper para invocar métodos RPC no Processador Seguro.
*/
class SecureProcessor {
...
}
/**
* Interface de callback entre SP e AP
*/
interface SecureProcessorCallback {
void onStartDigitChoice(int digitNumber);
}
void capturePin(long digitPerdiodMs) {
SecureProcessor.setListener(new SecureProcessorCallback() {
void onStartCaptureDigit(int digitChoice) {
// Falar a escolha de dígito atual. Se o usuário bater
// depois que isso é falado, mas antes do próximo dígito
// a escolha é falada, o SP irá registrar.
//
// O SP é um ambiente de execução simplificado e
// não tem a capacidade de desempenhar texto para
// falar então deve chamar de volta no AP.
speak(digitChoice);
}
});
SecureProcessor.startCapturePin(digitPerdiodMs);
try {
for (int i = 0; i < DIGIT_COUNT; i++) {
speak("Bata quando ouvir seu" + ORDINALS[i] + "dígito.")
if (!SecureProcessor.captureDigit(i, DIGIT_CHOICE_PERIOD_MS)) {
speak("Você falhou ao bater quando seu dígito foi falado.");
return;
}
}
speak("PIN inserido com sucesso.");
} finally {
SecureProcessor.stopCapturePin();
}
}
[068] In the code above and the code below, SP is the secure processor 205 and AP is the application processor 210. Exemplary pseudocode for the application processor 210 is as follows:
String[] ORDINALS = {"first", "second", "third", "fourth"};
long DIGIT_CHOICE_PERIOD_MS = 3000; // 3 seconds
int DIGIT_COUNT = 4;
/**
* This is a wrapper for invoking RPC methods on the Secure Processor.
*/
class SecureProcessor {
...
}
/**
* Callback interface between SP and AP
*/
interface SecureProcessorCallback {
void onStartDigitChoice(int digitNumber);
}
void capturePin(long digitPerdiodMs) {
SecureProcessor.setListener(new SecureProcessorCallback() {
void onStartCaptureDigit(int digitChoice) {
// Speak the current digit choice. If the user hits
// after this is spoken, but before the next digit
// choice is spoken, SP will register.
//
// The SP is a simplified runtime and
// does not have the ability to play text for
// speak then must call back on the AP.
speak(digitChoice);
}
});
SecureProcessor.startCapturePin(digitPerdiodMs);
try {
for (int i = 0; i <DIGIT_COUNT; i++) {
speak("Knock when you hear your" + ORDINALS[i] + "digit.")
if (!SecureProcessor.captureDigit(i, DIGIT_CHOICE_PERIOD_MS)) {
speak("You failed to hit when your digit was spoken.");
return;
}
}
speak("PIN entered successfully.");
} finally {
SecureProcessor.stopCapturePin();
}
}

[069] Com referência à FIG. 6, um diagrama exemplar descrevendo um processo 600 para comunicações entre um aplicativo de processador seguro ou aplicativo de pagamento seguro (SPA) 605, um provedor de conexão 610 e um processador seguro 615 é mostrado, de acordo com algumas modalidades da presente divulgação. O processador seguro 615 é análogo ao processador seguro 205. Em algumas modalidades, o processador seguro 615 (também referido como placa segura ou microcontrolador seguro) pode ser um chip no dispositivo POS (por exemplo, o dispositivo POS 200) que é separado do processador de aplicações, conforme discutido acima. O processador de aplicações (por exemplo, o processador de aplicações 210) pode ser um processador de aplicações principal executando um sistema operacional, como o Android. O processador seguro 615 pode manipular informações confidenciais em um ambiente isolado para mitigar ataques de hardware e software que podem comprometer dados confidenciais, tais como dados de cartão ou PIN de cliente no caso de dispositivos que são usados para processar informações de pagamento. A comunicação entre o processador seguro 615 e o processador de aplicações (por exemplo, o processador de aplicações 210) pode ocorrer de várias maneiras. Por exemplo, a comunicação entre um sistema operacional (como o Android), ou o processador de aplicações executando tal sistema operacional, e o processador seguro 615 pode ocorrer por meio de chamadas de procedimento remoto (RPCs). Como outro exemplo, a comunicação entre um sistema operacional (como o Android), ou o processador de aplicações executando tal sistema operacional, e o processador seguro 615 pode ocorrer por meio de sinais assíncronos.[069] With reference to FIG. 6, an exemplary diagram describing a process 600 for communications between a secure processor application or secure payment application (SPA) 605, a connection provider 610, and a secure processor 615 is shown, in accordance with some embodiments of the present disclosure. Secure processor 615 is analogous to secure processor 205. In some embodiments, secure processor 615 (also referred to as secure board or secure microcontroller) may be a chip in the POS device (e.g., POS device 200) that is separate from the secure processor. applications, as discussed above. The application processor (e.g. application processor 210) may be a main application processor running an operating system such as Android. Secure processor 615 can handle sensitive information in an isolated environment to mitigate hardware and software attacks that can compromise sensitive data such as card data or customer PIN in the case of devices that are used to process payment information. Communication between secure processor 615 and application processor (e.g., application processor 210) can occur in a variety of ways. For example, communication between an operating system (such as Android), or the application processor running such an operating system, and the 615 secure processor can occur via remote procedure calls (RPCs). As another example, communication between an operating system (such as Android), or the application processor running such an operating system, and the secure processor 615 can occur via asynchronous signals.

[070] As RPCs podem fornecer a maior parte da funcionalidade e podem ser servidos, por exemplo, por USB. O sistema operacional, ou o processador de aplicações executando tal sistema operacional, pode ser o host USB e o processador seguro 615 pode ser um dispositivo USB fornecendo uma interface de entrada em massa e saída em massa. O sistema operacional pode "acordar" o processador seguro 615 se o processador seguro estiver "adormecido" usando um sinal. O sistema operacional pode invocar um método de saída USB em massa para enviar o comando RPC e os dados de parâmetro associados. O sistema operacional pode invocar o método de entrada USB em massa e bloquear até que o processador seguro 615 responda ao RPC com dados de resposta. Em algumas modalidades, apenas um RPC pode ser invocado por vez. Os sinais podem ser implementados via GPIOs para fornecer um mecanismo para enviar notificações entre os dois processadores. Em algumas modalidades, um sinal de PARADA pode ser fornecido para notificar o processador seguro 615 para parar o que o processador seguro está fazendo em certas situações. Em algumas modalidades, um sinal NFC pode ser fornecido, por exemplo, para Mini/Mobile, para sinalizar que o sistema operacional pode reproduzir um tom de sucesso de batida NFC. Tal sinal pode ser necessário devido a requisitos de desempenho rigorosos impostos em pagamentos sem contato, que o micro seguro pode emitir o próprio bipe. Em algumas modalidades, um sinal de microevento seguro pode ser fornecido para notificar o sistema operacional que algo interessante/relevante acabou de acontecer no processador seguro 615, como uma inserção ou deslizamento de cartão ou um cartão com chip inserido.[070] RPCs can provide most of the functionality and can be served, for example, over USB. The operating system, or the application processor running such an operating system, may be the USB host and the secure processor 615 may be a USB device providing a bulk input and bulk output interface. The operating system can "wake up" the secure processor 615 if the secure processor is "asleep" using a signal. The operating system can invoke a bulk USB output method to send the RPC command and associated parameter data. The operating system can invoke the bulk USB input method and block until the 615 secure processor responds to the RPC with response data. In some embodiments, only one RPC can be invoked at a time. Signals can be implemented via GPIOs to provide a mechanism for sending notifications between the two processors. In some embodiments, a STOP signal may be provided to notify secure processor 615 to stop what the secure processor is doing in certain situations. In some embodiments, an NFC signal may be provided, for example, to Mini/Mobile, to signal that the operating system can play an NFC tap success tone. Such a signal may be necessary due to stringent performance requirements imposed on contactless payments, which the secure micro may beep itself. In some embodiments, a secure micro-event signal may be provided to notify the operating system that something interesting/relevant has just happened at secure processor 615, such as a card insert or slip or a chip card inserted.

[071] Em algumas modalidades, o sistema operacional pode servir como gatekeeper para o processador seguro 615 ao gerenciar a comunicação com o processador seguro. Por exemplo, um aplicativo privilegiado incluído na plataforma Android pode servir como gatekeeper para o processador seguro 615 fornecendo um ContentProvider que pode gerenciar todas as comunicações com o processador seguro. Em algumas modalidades, o ContentProvider pode ser implementado por um SecureBoardConnectionProvider (por exemplo, o provedor de conexão 610). O SecureBoardConnectionProvider pode fornecer uma interface para abrir e fechar uma sessão com o processador seguro 615 para garantir que as operações de RPC de várias etapas, como receber um pagamento, não sejam interrompidas por outras operações, como atualizar um relógio em tempo real ou injetar chaves.[071] In some embodiments, the operating system may serve as a gatekeeper for the secure processor 615 by managing communication with the secure processor. For example, a privileged application included in the Android platform can serve as a gatekeeper for the secure processor 615 by providing a ContentProvider that can manage all communications with the secure processor. In some embodiments, the ContentProvider may be implemented by a SecureBoardConnectionProvider (for example, the 610 connection provider). The SecureBoardConnectionProvider can provide an interface to open and close a session with the 615 secure processor to ensure that multi-step RPC operations, such as receiving a payment, are not interrupted by other operations, such as updating a real-time clock or injecting keys. .

[072] Em algumas modalidades, uma vez obtida uma sessão, um token pode ser retornado e o UID do chamador pode ser registrado. A partir de então, o chamador detendo o token pode invocar um RPC até que a sessão seja fechada. Pode haver limites de tempo em RPCs e sessões. As tentativas de abrir uma sessão quando uma sessão existente já está aberta podem ser bloqueadas em uma fila justa por uma determinada quantidade de tempo até que a sessão esteja disponível ou expire. Em algumas modalidades, os dispositivos POS podem incluir mais de um processador seguro. Em tais dispositivos onde existem vários processadores seguros, quando uma sessão é aberta, todos os processadores seguros podem ser reservados para o proprietário da sessão. Nesta situação, a chamada RPC pode incluir o processador seguro pretendido e os RPCs podem ser invocados em processadores seguros simultaneamente, se desejado.[072] In some embodiments, once a session is obtained, a token can be returned and the UID of the caller can be recorded. Thereafter, the caller holding the token can invoke an RPC until the session is closed. There may be time limits on RPCs and sessions. Attempts to open a session when an existing session is already open can be blocked in a fair queue for a given amount of time until the session is available or expires. In some embodiments, POS devices may include more than one secure processor. On such devices where there are multiple secure processors, when a session is opened all secure processors can be reserved for the session owner. In this situation, the RPC call can include the intended secure processor, and RPCs can be invoked on secure processors simultaneously, if desired.

[073] Em algumas modalidades, o aplicativo de pagamento seguro (SPA) 605 pode ser um dos usuários do processador seguro 615. No processo 600, a troca de chamadas para abrir e fechar sessão, despertar e adormecer processador seguro, transferências de entrada em massa e saída em massa etc., são fornecidas como exemplos de maneiras nas quais o SPA 605 e o processador seguro 615 podem iniciar uma sessão e trocar informações. Em outras modalidades, outras formas de comunicação são contempladas. Conforme ilustrado, o SPA 605 pode enviar uma chamada de função de sessão aberta de chamada para o provedor de conexão 610 que pode então enviar um sinal GPIO de despertar para o processador seguro 615. O sinal GPIO pode ser recebido por meio de uma conexão GPIO entre o processador seguro 615 e o processador de aplicações (por exemplo, o processador de aplicações 210). O provedor de conexão 610 pode então enviar uma resposta à chamada de função de sessão aberta de chamada para o SPA 605. O SPA 605 pode então enviar uma RPC de transferência de chamada para o provedor de conexão 610 que pode, por sua vez, iniciar uma transferência USB de saída em massa de dados para o processador seguro 615 usando outra chamada de função para o provedor de conexão. A transferência USB de saída em massa de dados pode passar ao processador seguro 615 todas as informações necessárias para conduzir a sessão (por exemplo, o valor sendo cobrado na transação que o SPA 605 está processando, um identificador de transação para a transação etc.). Para completar a sessão, o processador seguro 615 pode invocar uma chamada de procedimento remoto que leva a uma transferência USB de entrada em massa de dados. A transferência USB de entrada em massa ou dados pode envolver o processador seguro 615 transferindo os dados necessários para que o processo continue (por exemplo, informações de pagamento criptografadas, confirmação de autorização de transação etc.). O provedor de conexão 610 pode utilizar outros meios para passar as informações para frente e para trás com o processador seguro 615. Independentemente disso, o provedor de conexão 610 serve para retornar as informações solicitadas pela RPC de transferência inicial. Como tal, o processo 600 pode então continuar com o provedor de conexão 610 retornando os dados a partir da sessão em um sinal de retorno de RPC de transferência de chamada. Neste ponto, o SPA 605 pode então fechar a sessão ao enviar uma chamada de função de sessão fechada do provedor de conexão 610. Da mesma forma que o provedor de conexão 610 abriu a sessão, o provedor de conexão pode então retornar uma resposta de chamada de sessão de fechamento para o SPA 605 para confirmar que a sessão está completa e enviar uma GPIO ou sinal de chamada de procedimento remoto para o processador seguro 615 para colocar o sinal seguro processador em estado adormecido.[073] In some embodiments, the secure payment application (SPA) 605 may be one of the users of the secure processor 615. In the process 600, the exchange of calls to open and close session, wake and sleep secure processor, incoming transfers in bulk and bulk output, etc., are provided as examples of ways in which the SPA 605 and secure processor 615 can initiate a session and exchange information. In other modalities, other forms of communication are contemplated. As illustrated, SPA 605 may send a call open session function call to connection provider 610 which may then send a GPIO wakeup signal to secure processor 615. The GPIO signal may be received via a GPIO connection between the secure processor 615 and the application processor (e.g., application processor 210). Connection provider 610 may then send a response to the call open session function call to SPA 605. SPA 605 may then send a call transfer RPC to connection provider 610 which may in turn initiate a bulk output USB transfer of data to the 615 secure processor using another function call to the connection provider. The bulk output USB transfer of data can pass to the secure processor 615 all the information necessary to conduct the session (e.g., the amount being charged on the transaction that the SPA 605 is processing, a transaction identifier for the transaction, etc.) . To complete the session, secure processor 615 may invoke a remote procedure call which leads to an incoming bulk USB transfer of data. The incoming USB bulk or data transfer may involve the 615 secure processor transferring the data necessary for the process to continue (eg, encrypted payment information, transaction authorization confirmation, etc.). Connection provider 610 may use other means to pass the information back and forth with secure processor 615. Regardless, connection provider 610 serves to return the information requested by the initial transfer RPC. As such, process 600 can then continue with connection provider 610 returning the data from the session in a call transfer RPC return signal. At this point, the SPA 605 can then close the session by sending a connection provider 610 closed session function call. Just as the connection provider 610 opened the session, the connection provider can then return a call response closing session signal to the SPA 605 to confirm that the session is complete and sending a GPIO or remote procedure call signal to the secure processor 615 to place the secure signal processor in a sleep state.

[074] Voltando agora à FIG. 7, mostra-se um display 700 exemplar, de acordo com algumas modalidades da presente divulgação. O display 700 é análogo ao display 110 e 220. O display 700 pode ser parte de um dispositivo POS (por exemplo, o dispositivo POS 200). O display 700 fornece uma interface de usuário que facilita a interação humano-computador entre os usuários e os processadores de aplicações/seguros. O display 700 é configurado para receber entradas de usuário a partir dos usuários por meio de uma interface gráfica de usuário ("GUI") e transmitir essas entradas de usuário para os processadores de aplicações/seguros. O display 700 também é configurado para receber informações/saídas a partir dos processadores de aplicações/seguros e apresentar essas saídas/informações aos usuários por meio da GUI do display. A GUI pode apresentar uma variedade de ícones gráficos, janelas, indicadores visuais, menus, widgets visuais e outros indícios para facilitar a interação do usuário. Em outras modalidades, o display 700 pode ser configurado como outros tipos de interfaces de usuário, incluindo, por exemplo, interfaces de usuário baseadas em texto e outras interfaces homem-máquina. Assim, o display 700 pode ser configurado em uma variedade de maneiras.[074] Returning now to FIG. 7, an exemplary display 700 is shown, in accordance with some embodiments of the present disclosure. Display 700 is analogous to display 110 and 220. Display 700 may be part of a POS device (eg POS device 200). Display 700 provides a user interface that facilitates human-computer interaction between users and application/secure processors. Display 700 is configured to receive user input from users via a graphical user interface ("GUI") and transmit that user input to application/security processors. The display 700 is also configured to receive information/outputs from the application/secure processors and present that output/information to users through the GUI of the display. The GUI can feature a variety of graphical icons, windows, visual indicators, menus, visual widgets, and other cues to facilitate user interaction. In other embodiments, display 700 can be configured with other types of user interfaces, including, for example, text-based user interfaces and other human-machine interfaces. Thus, the display 700 can be configured in a variety of ways.

[075] O display 700 pode incluir uma área ativa 705 e botões como o botão de exclusão 710 e um botão de cancelamento 715. Em algumas modalidades, o botão de exclusão 710 e o botão de cancelamento 715 podem ser configurados para uso por usuários com incapacidade visual ou usuários com baixa visão. Em algumas modalidades, botões adicionais ou diferentes podem ser fornecidos. Além disso, a localização, formato e o tamanho de cada botão podem variar daquele que é mostrado. A área ativa 705 pode ser a área onde o sensor de toque 120 está localizado. Assim, em algumas modalidades, a área ativa 705 pode ser a área do display 700 onde usuários com deficiência visual podem inserir suas entradas de toque (por exemplo, batidas).[075] The display 700 may include an active area 705 and buttons such as a delete button 710 and a cancel button 715. In some embodiments, the delete button 710 and the cancel button 715 may be configured for use by users with visual impairment or users with low vision. In some embodiments, additional or different buttons may be provided. Also, the location, shape and size of each button may vary from what is shown. Active area 705 may be the area where touch sensor 120 is located. Thus, in some embodiments, the active area 705 may be the area of the display 700 where visually impaired users can enter their touch input (e.g., taps).

[076] Em algumas modalidades, a área ativa 705 do display 700 pode incluir um ou mais recursos táteis circundando a área ativa para permitir que um usuário com deficiência visual distinga a área ativa da superfície restante do display 700. Por exemplo, a área ativa 705 pode ser circundada por uma borda 720. Em algumas modalidades, a borda 720 pode ser uma borda elevada ou chanfrada para ajudar uma pessoa com deficiência visual a localizar a área ativa. Em outras modalidades, a borda 720 pode ser configurada de outras maneiras para permitir que um usuário com deficiência visual localize a área ativa. A área ativa 705 pode estar localizada dentro da borda 720. Em outras modalidades, outros tipos de recursos podem ser fornecidos para permitir que um usuário com deficiência visual identifique facilmente a área ativa.[076] In some embodiments, the active area 705 of the display 700 may include one or more tactile features surrounding the active area to allow a visually impaired user to distinguish the active area from the remaining surface of the display 700. For example, the active area 705 may be surrounded by a border 720. In some embodiments, the border 720 may be a raised or chamfered border to assist a visually impaired person in locating the active area. In other embodiments, edge 720 may be configured in other ways to allow a visually impaired user to locate the active area. Active area 705 may be located within rim 720. In other embodiments, other types of features may be provided to allow a visually impaired user to easily identify the active area.

[077] Além disso, quando o display 700 está em um modo de entrada de PIN, botões de toque e outras indicações de toque que relacionam toques em locais específicos na tela do display para ações específicas a serem tomadas pelo dispositivo POS podem ser desabilitadas. Por exemplo, uma interface de usuário regular durante um processo de entrada de PIN pode fornecer vários botões de ações, os quais podem fazer com que o dispositivo POS execute ações específicas quando o usuário toca nessa coordenada de toque específica, tal como os números em um teclado PIN na tela e botões para ações adicionais, como retroceder, cancelar ou entrar. Esses botões de ação podem não ser úteis para um usuário com deficiência visual e podem interferir quando esse usuário estiver interagindo com o dispositivo, levando o processo involuntariamente para uma direção indesejada. Desta forma, em algumas modalidades, uma interface diferente pode ser fornecida, onde um usuário com deficiência visual pode interagir com uma grande porção do display 700 sem risco de tocar erroneamente nos botões de ação e interferir involuntariamente no processo geral. Essa interface diferente pode ser diferente na medida que quaisquer botões de ação na tela podem ser desabilitados para que a tela seja responsiva apenas aos gestos do usuário, como batidas ou deslizamentos, independentemente da posição exata onde o gesto ocorreu na tela.[077] Additionally, when the 700 display is in a PIN entry mode, touch buttons and other touch indications that relate touches to specific locations on the display screen to specific actions to be taken by the POS device can be disabled. For example, a regular user interface during a PIN entry process might provide several action buttons, which could cause the POS device to perform specific actions when the user taps that specific touch coordinate, such as the numbers on a on-screen PIN pad and buttons for additional actions such as back, cancel or enter. These action buttons may not be useful for a visually impaired user and may interfere when that user is interacting with the device, unintentionally taking the process in an unwanted direction. In this way, in some embodiments, a different interface can be provided, where a visually impaired user can interact with a large portion of the display 700 without risk of mistakenly touching the action buttons and unintentionally interfering with the overall process. This different interface can be different in that any action buttons on the screen can be disabled so that the screen is only responsive to user gestures such as taps or swipes, regardless of the exact position where the gesture occurred on the screen.

[078] Em algumas modalidades, botões de ação específicos ainda podem ser necessários no display 700 enquanto o usuário com deficiência visual está interagindo com o display. Esses botões de ação podem ser necessários, por exemplo, para um administrador de dispositivo sair do modo de entrada de PIN ou realizar qualquer outra ação para avançar o processo. Nas modalidades onde tais botões de ação existem, esses podem ser fornecidos em um padrão não trivial de modo que um usuário com deficiência visual não dispare acidentalmente uma ação indesejada ao tentar inserir o PIN por meio através de batidas. Por exemplo, esses botões de ação podem ser ativados ao pressionar dois locais específicos marcados ao mesmo tempo. Como outro exemplo, uma confirmação adicional pode ser solicitada quando um usuário tenta pressionar um botão de ação na tela, e o botão de confirmação pode ser localizado em uma posição aleatória e não convencional na tela. Desta forma, um usuário com deficiência visual pode ser impedido de realizar ações indesejadas ao interagir com o display 700 enquanto o administrador do dispositivo ainda pode ter opções na tela para auxiliar no processo. Funcionalidade semelhante pode ser fornecida sem a apresentação de botões na tela, como exigir que um administrador de dispositivo insira um gesto especial conhecido ou padrão de toque para sair.[078] In some modalities, specific action buttons may still be required on the 700 display while the visually impaired user is interacting with the display. These action buttons may be needed, for example, for a device administrator to exit PIN entry mode or perform any other action to move the process forward. In embodiments where such action buttons exist, these can be provided in a non-trivial pattern so that a visually impaired user does not accidentally trigger an unwanted action when trying to enter the PIN via tapping. For example, these action buttons can be activated by pressing two specific marked locations at the same time. As another example, additional confirmation might be requested when a user attempts to press an on-screen action button, and the confirmation button might be located in a random, unconventional position on the screen. In this way, a visually impaired user can be prevented from performing unwanted actions when interacting with the 700 display while the device administrator can still have on-screen options to assist in the process. Similar functionality can be provided without presenting on-screen buttons, such as requiring a device administrator to enter a known special gesture or tap pattern to exit.

[079] Em modalidades específicas da invenção, enquanto um portador de PIN com deficiência visual está interagindo com o display 700, o conteúdo na tela pode ser útil para outros fins. Por exemplo, as mensagens podem ser exibidas durante todo o processo para que um terceiro, como um administrador de dispositivo, possa ajudar o portador de PIN e monitorar o progresso. Essas indicações podem ser projetadas no display 700 para assistência, individualmente ou em combinação com pistas auditivas. Instruções relevantes para um administrador de dispositivo, tal como, por exemplo, como sair do modo de entrada de PIN, também podem ser exibidas no display 700 enquanto o usuário está interagindo. Como outro exemplo, o display 700 pode mostrar uma indicação de progresso para o processo de entrada de PIN, por exemplo, ao incrementar uma estrela ou preenchendo uma barra de status toda vez que o usuário insere com sucesso um dígito de PIN, conforme mostrado pelo número de referência 725. Dessa forma, um administrador de dispositivo ou um usuário com baixa visão pode ser capaz de monitorar o progresso do processo de entrada de PIN. Alternativamente ou em combinação, a indicação de progresso pode ser fornecida em um display de administrador de dispositivo diferente.[079] In specific embodiments of the invention, while a visually impaired PIN holder is interacting with the display 700, the content on the screen can be useful for other purposes. For example, messages can be displayed throughout the process so that a third party, such as a device administrator, can assist the PIN holder and monitor progress. These cues can be projected onto the 700 display for assistance, individually or in combination with auditory cues. Instructions relevant to a device administrator, such as, for example, how to exit PIN entry mode, may also be displayed on display 700 while the user is interacting. As another example, the display 700 can show a progress indication for the PIN entry process, for example, by incrementing a star or filling a status bar every time the user successfully enters a PIN digit, as shown by the reference number 725. This way, a device administrator or a user with low vision may be able to monitor the progress of the PIN entry process. Alternatively or in combination, progress indication can be provided on a different device manager display.

[080] Assim, a presente divulgação fornece um mecanismo de batida sonora para permitir que usuários com deficiência visual insiram com segurança números de identificação pessoal (PINs) usando uma superfície com capacidade de toque (tal como um display de tela sensível ao toque). O mecanismo fornece um ambiente de computação seguro (por exemplo, o processador seguro 205) que é configurado para se conectar à superfície com capacidade de toque e identificar as batidas de usuário na superfície com capacidade de toque. Um processador de aplicações 210 pode ser configurado para emitir filas de áudio falado e fala, e enviar e receber mensagens de/para o processador seguro.[080] Thus, the present disclosure provides an audible tapping mechanism to allow visually impaired users to securely enter personal identification numbers (PINs) using a touch-capable surface (such as a touchscreen display). The engine provides a secure computing environment (eg, secure processor 205) that is configured to connect to the touch-capable surface and identify user taps on the touch-capable surface. An application processor 210 may be configured to output speech and speech queues and send and receive messages to and from the secure processor.

[081] O objeto descrito na presente invenção às vezes ilustra diferentes componentes contidos dentro de, ou conectados a, diferentes outros componentes. Deve ser entendido que tais arquiteturas representadas são meramente exemplares e que, de fato, muitas outras arquiteturas podem ser implementadas alcançando a mesma funcionalidade. Em um sentido conceitual, qualquer arranjo de componentes para alcançar a mesma funcionalidade é efetivamente "associado" de modo que a funcionalidade desejada seja alcançada. Assim, quaisquer dois componentes combinados na presente invenção para alcançar uma funcionalidade particular podem ser vistos como "associados a" um ao outro, de modo que a funcionalidade desejada seja alcançada, independentemente de arquiteturas ou componentes intermediários. Da mesma forma, quaisquer dois componentes assim associados também podem ser vistos como sendo "operacionalmente conectados" ou "operacionalmente acoplados" um ao outro para alcançar a funcionalidade desejada, e quaisquer dois componentes capazes de serem associados também podem ser vistos como sendo "operacionalmente acoplável" entre si para alcançar a funcionalidade desejada. Exemplos específicos de operacionalmente acopláveis incluem, mas não estão limitados a componentes fisicamente acopláveis e/ou interagindo fisicamente e/ou componentes interagíveis sem fio e/ou interagindo sem fio e/ou componentes interagíveis logicamente e/ou interagindo logicamente.[081] The object described in the present invention sometimes illustrates different components contained within, or connected to, different other components. It should be understood that such represented architectures are merely exemplary and that, in fact, many other architectures can be implemented achieving the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively "joined" so that the desired functionality is achieved. Thus, any two components combined in the present invention to achieve a particular functionality can be seen as "associated with" each other, so that the desired functionality is achieved, regardless of architectures or intermediate components. Likewise, any two components so associated can also be seen as being "operationally connected" or "operationally coupled" to one another to achieve the desired functionality, and any two components capable of being associated can also be seen as being "operationally coupling " with each other to achieve the desired functionality. Specific examples of operably attachable include, but are not limited to, physically attachable and/or physically interacting components and/or wirelessly interacting components and/or wirelessly interacting and/or logically interacting and/or logically interacting components.

[082] Com relação ao uso de substancialmente quaisquer termos plurais e/ou singulares neste documento, aqueles técnicos no assunto podem traduzir do plural para o singular e/ou do singular para o plural conforme apropriado ao contexto e/ou aplicação. As várias permutações singular/plural podem ser expressamente estabelecidas na presente invenção para fins de clareza.[082] With regard to the use of substantially any plural and/or singular terms in this document, those skilled in the art may translate from plural to singular and/or from singular to plural as appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth in the present invention for purposes of clarity.

[083] Será entendido por aqueles dentro da técnica que, em geral, os termos usados na presente invenção e especialmente nas reivindicações anexas (por exemplo, corpos das reivindicações anexas) são geralmente entendidos como termos "abertos" (por exemplo, o termo " incluindo" deve ser interpretado como "incluindo, mas não limitado a", o termo "tendo" deve ser interpretado como "tendo ao menos", o termo "inclui" deve ser interpretado como "inclui, mas não se limita a" etc.). Será ainda entendido por aqueles dentro da técnica que se um número específico de uma recitação de reivindicação introduzida for pretendido, tal intenção será explicitamente recitada na reivindicação e, na ausência de tal recitação, tal intenção não está presente. Por exemplo, como um auxílio para a compreensão, as reivindicações anexas a seguir podem conter o uso das frases introdutórias "pelo menos um" e "um ou mais" para introduzir recitações de reivindicações. No entanto, o uso de tais frases não deve ser interpretado como implicando que a introdução de uma recitação de reivindicação pelos artigos indefinidos "um" ou "uma" limita qualquer reivindicação particular contendo tal recitação de reivindicação introduzida a divulgações contendo apenas uma tal recitação, mesmo quando a mesma reivindicação inclui as frases introdutórias "um ou mais" ou "pelo menos um" e artigos indefinidos como "um" ou "uma" (por exemplo, "um" e/ou "uma" deve ser tipicamente interpretado como "ao menos um" ou "um ou mais"); o mesmo se aplica ao uso de artigos definidos usados para introduzir recitações de reivindicação. Além disso, mesmo se um número específico de uma recitação de reivindicação introduzida seja explicitamente recitado, aqueles técnicos no assunto reconhecerão que tal recitação deve ser tipicamente interpretada como significando pelo menos o número recitado (por exemplo, a simples recitação de "duas recitações", sem outros modificadores, normalmente significa pelo menos duas recitações, ou duas ou mais recitações). Além disso, naquelas instâncias onde uma convenção análoga a "pelo menos um dentre A, B e C etc." é usado, em geral, tal construção é pretendida no sentido de que um técnico no assunto entenderia a convenção (por exemplo, "um sistema tendo pelo menos um dentre A, B e C" incluiria, mas não se limitaria a, sistemas que tem A sozinho, B sozinho, C sozinho, A e B juntos, A e C juntos, B e C juntos, e/ou A, B e C juntos etc.). Além disso, naquelas instâncias onde uma convenção análoga a "pelo menos um dentre A, B ou C etc." é usado, em geral, tal construção é pretendida no sentido de que um técnico no assunto entenderia a convenção (por exemplo, "um sistema tendo pelo menos um dentre A, B ou C" incluiria, mas não se limitaria a, sistemas que tem A sozinho, B sozinho, C sozinho, A e B juntos, A e C juntos, B e C juntos, e/ou A, B e C juntos etc.). Será ainda entendido por aqueles dentro da técnica que virtualmente qualquer palavra e/ou frase disjuntiva apresentando dois ou mais termos alternativos, seja na descrição, reivindicações ou desenhos, deve ser entendido para contemplar as possibilidades de incluir um dos termos, qualquer um dos termos, ou ambos os termos. Por exemplo, a frase "A ou B" será entendida como incluindo as possibilidades de "A" ou "B" ou "A e B". Além disso, salvo indicação em contrário, o uso das palavras “aproximado”, “cerca de”, “ao redor”, “substancialmente” etc., significa mais ou menos dez por cento.[083] It will be understood by those within the art that, in general, the terms used in the present invention and especially in the appended claims (e.g. bodies of the appended claims) are generally understood to be "open" terms (e.g. the term " including" shall be construed as "including but not limited to", the term "having" shall be construed as "having at least", the term "includes" shall be construed as "includes but is not limited to", etc. ). It will further be understood by those skilled in the art that if a specific number of an introduced claim recitation is intended, such intent will be explicitly recited in the claim and, in the absence of such recitation, such intent is not present. For example, as an aid to understanding, the appended claims below may contain the use of the introductory phrases "at least one" and "one or more" to introduce recitations of claims. However, the use of such phrases should not be interpreted as implying that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to disclosures containing only such a recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "a" (e.g., "a" and/or "a" would typically be interpreted as " at least one" or "one or more"); the same applies to the use of definite articles used to introduce claim recitations. Furthermore, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation is typically to be interpreted as meaning at least the recited number (e.g., the simple recitation of "two recitations", without other modifiers, usually means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to "at least one of A, B and C etc." is used, in general, such a construction is intended in the sense that one skilled in the art would understand the convention (e.g., "a system having at least one of A, B, and C" would include, but not be limited to, systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B and C together, etc.). Furthermore, in those instances where a convention analogous to "at least one of A, B or C etc." is used, in general, such a construction is intended in the sense that one skilled in the art would understand the convention (e.g., "a system having at least one of A, B, or C" would include, but not be limited to, systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B and C together, etc.). It will be further understood by those skilled in the art that virtually any disjunctive word and/or phrase featuring two or more alternative terms, whether in the description, claims or drawings, should be understood to contemplate the possibilities of including one of the terms, any of the terms, or both terms. For example, the phrase "A or B" will be understood to include the possibilities of "A" or "B" or "A and B". Also, unless otherwise noted, the use of the words “approximate”, “about”, “around”, “substantially”, etc., means plus or minus ten percent.

[084] A descrição anterior de modalidades ilustrativas foi apresentada para fins de ilustração e de descrição. Não se destina a ser exaustivo ou limitativo em relação à forma precisa divulgada, e modificações e variações são possíveis à luz dos ensinamentos acima ou podem ser adquiridas na prática das modalidades divulgadas. Pretende-se que o escopo da divulgação seja definido pelas reivindicações anexas à mesma e seus equivalentes.[084] The foregoing description of illustrative embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or limiting as to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired by practicing the disclosed embodiments. It is intended that the scope of the disclosure be defined by the claims appended thereto and their equivalents.

Claims (25)

Dispositivo caracterizado pelo fato de que compreende:
um display; e
um ou mais meios não transitórios legíveis por computador compreendendo instruções legíveis por computador armazenadas no mesmo que, quando executadas por um ou mais processadores do dispositivo, fazem o um ou mais processadores:
fazer com que um alto-falante associado ao dispositivo recite serialmente uma pluralidade de pistas auditivas, em que cada uma dentre a pluralidade de pistas auditivas corresponde a um dentre um conjunto de caracteres, e em que cada recitação da pluralidade de pistas auditivas ocorre em um período de tempo predeterminado;
receber uma entrada de toque no display a partir de um usuário durante a recitação da pluralidade de pistas auditivas;
determinar um caractere a partir do conjunto de caracteres que corresponde à entrada de toque com base no período de tempo predeterminado; e
armazenar o caractere como um valor em uma sequência de informações específicas do usuário.
Device characterized by the fact that it comprises:
a display; It is
one or more non-transient computer-readable media comprising computer-readable instructions stored thereon which, when executed by one or more processors of the device, do the one or more processors:
causing a speaker associated with the device to serially recite a plurality of auditory cues, wherein each of the plurality of auditory cues corresponds to one of a set of characters, and wherein each recitation of the plurality of auditory cues occurs at a predetermined period of time;
receiving a display touch input from a user during recitation of the plurality of auditory cues;
determining a character from the set of characters that corresponds to the touch input based on the predetermined time period; It is
store the character as a value in a user-specific information string.
Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações específicas do usuário são um número de identificação pessoal (PIN).Device, according to claim 1, characterized in that the user-specific information is a personal identification number (PIN). Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores executam adicionalmente instruções legíveis por computador para fazer com que a recitação de cada uma dentre a pluralidade de pistas auditivas seja separada por um período de espera, e em que a entrada de toque é recebida dentro do período de espera.Device according to claim 1, characterized in that the one or more processors additionally execute computer-readable instructions to cause the recitation of each one of the plurality of auditory cues to be separated by a waiting period, and in that touch input is received within the waiting period. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores executam adicionalmente instruções legíveis por computador para determinar o caractere a partir do conjunto de caracteres com base em uma quantidade de tempo decorrido entre um tempo de recebimento da entrada de toque e o início da recitação da pluralidade de pistas auditivas.Device according to claim 1, characterized in that the one or more processors additionally execute computer-readable instructions to determine the character from the character set based on an amount of time elapsed between an input receipt time of ringing and the beginning of the recitation of the plurality of auditory cues. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores executam adicionalmente instruções legíveis por computador para determinar o caractere a partir do conjunto de caracteres com base em:
rastrear qual caractere a partir do conjunto de caracteres é associado a cada recitação da pluralidade de pistas auditivas com base no período de tempo predeterminado; e
identificar o caractere que corresponde à entrada de toque com base em um último caractere recitado antes que a entrada de toque seja recebida.
Device according to claim 1, characterized in that the one or more processors additionally execute computer-readable instructions to determine the character from the character set based on:
tracking which character from the character set is associated with each recitation of the plurality of auditory cues based on the predetermined time period; It is
identify the character that corresponds to touch input based on a last character recited before touch input is received.
Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores compreendem um processador seguro e um processador de aplicações, em que o processador de aplicações executa instruções legíveis por computador para fazer com que o alto-falante recite a pluralidade de pistas auditivas, e em que o processador seguro executa instruções legíveis por computador para receber a entrada de toque e determinar o caractere a partir do conjunto de caracteres.Device according to claim 1, characterized in that the one or more processors comprise a secure processor and an application processor, wherein the application processor executes computer-readable instructions to cause the loudspeaker to recite the a plurality of auditory cues, and wherein the secure processor executes computer readable instructions to receive touch input and determine the character from the character set. Dispositivo, de acordo com a reivindicação 6, caracterizado pelo fato de que a sequência das informações específicas do usuário compreende um ou mais valores, e em que cada um dentre o um ou mais valores é recebido em cada ciclo de um ou mais ciclos de recitação em série da pluralidade de pistas auditivas.Device according to claim 6, characterized in that the sequence of user-specific information comprises one or more values, and in which each of the one or more values is received in each cycle of one or more recitation cycles in series of the plurality of auditory cues. Dispositivo, de acordo com a reivindicação 7, caracterizado pelo fato de que, em um primeiro ciclo dentre o um ou mais ciclos, o processador de aplicações executa instruções legíveis por computador para enviar um primeiro comando para o processador seguro indicando um início da sequência, e em que, ao receber o primeiro comando, o processador seguro executa instruções legíveis por computador para enviar um segundo comando para um multiplexador associado a um controlador de toque do dispositivo POS para enviar a entrada de toque para o processador seguro, em que o controlador de toque detecta a entrada de toque no display.Device according to claim 7, characterized in that, in a first cycle among the one or more cycles, the application processor executes computer-readable instructions to send a first command to the secure processor indicating a start of the sequence, and wherein, upon receiving the first command, the secure processor executes computer-readable instructions to send a second command to a multiplexer associated with a touch controller of the POS device to send the touch input to the secure processor, wherein the controller touch detects touch input on the display. Dispositivo, de acordo com a reivindicação 7, caracterizado pelo fato de que cada um dentre o processador de aplicações e o processador seguro compreende um temporizador, e em que cada um dentre o processador de aplicações e o processador seguro redefine o temporizador no início de cada um dentre o um ou mais ciclos.Device according to claim 7, characterized in that each of the application processor and the secure processor comprises a timer, and in which each of the application processor and the secure processor resets the timer at the beginning of each one of the one or more cycles. Dispositivo, de acordo com a reivindicação 7, caracterizado pelo fato de que cada um dentre o um ou mais valores é um número, e em que a pluralidade de pistas auditivas compreende números de 0 a 9.Device according to claim 7, characterized in that each of the one or more values is a number, and in which the plurality of auditory cues comprises numbers from 0 to 9. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o dispositivo é um dispositivo de ponto de venda (POS).Device according to claim 1, characterized in that the device is a point of sale (POS) device. Um ou mais meios não transitórios legíveis por computador caracterizado pelo fato de que compreende instruções legíveis por computador armazenadas no mesmo que, quando executadas por um ou mais processadores de um dispositivo, fazem o um ou mais processadores:
fazer com que um alto-falante associado ao dispositivo recite serialmente uma pluralidade de pistas auditivas, em que cada uma dentre a pluralidade de pistas auditivas corresponde a um dentre um conjunto de caracteres, e em que cada recitação da pluralidade de pistas auditivas ocorre em um período de tempo predeterminado;
receber uma entrada de toque no display a partir de um usuário durante a recitação da pluralidade de pistas auditivas;
determinar um caractere a partir do conjunto de caracteres que corresponde à entrada de toque com base no período de tempo predeterminado; e
armazenar o caractere como um valor em uma sequência de informações específicas do usuário.
One or more non-transient computer-readable media, characterized in that it comprises computer-readable instructions stored thereon that, when executed by one or more processors of a device, do the one or more processors:
causing a speaker associated with the device to serially recite a plurality of auditory cues, wherein each of the plurality of auditory cues corresponds to one of a set of characters, and wherein each recitation of the plurality of auditory cues occurs at a predetermined period of time;
receiving a display touch input from a user during recitation of the plurality of auditory cues;
determining a character from the set of characters that corresponds to the touch input based on the predetermined time period; It is
store the character as a value in a user-specific information string.
Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que as informações específicas do usuário são um número de identificação pessoal (PIN).One or more non-transient computer-readable means according to claim 12, characterized in that the user-specific information is a personal identification number (PIN). Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que o um ou mais processadores executam adicionalmente instruções legíveis por computador para fazer com que a recitação de cada uma dentre a pluralidade de pistas auditivas seja separada por um período de espera, e em que a entrada de toque é recebida dentro do período de espera.One or more non-transient computer-readable media according to claim 12, characterized in that the one or more processors additionally execute computer-readable instructions to cause the recitation of each of the plurality of auditory cues to be separated for a waiting period, and where touch input is received within the waiting period. Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que o um ou mais processadores executam adicionalmente instruções legíveis por computador para determinar o caractere a partir do conjunto de caracteres com base em uma quantidade de tempo decorrido entre um tempo de recebimento da entrada de toque e o início da recitação da pluralidade de pistas auditivas.One or more computer readable non-transient media according to claim 12, wherein the one or more processors further execute computer readable instructions to determine the character from the character set based on an amount of time elapsed between a time of receiving the touch input and the beginning of the recitation of the plurality of auditory cues. Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que o um ou mais processadores executam adicionalmente instruções legíveis por computador para determinar o caractere a partir do conjunto de caracteres com base em:
rastrear qual caractere a partir do conjunto de caracteres é associado a cada recitação da pluralidade de pistas auditivas com base no período de tempo predeterminado; e
identificar o caractere que corresponde à entrada de toque com base em um último caractere recitado antes que a entrada de toque seja recebida.
One or more non-transient computer-readable media according to claim 12, characterized in that the one or more processors additionally execute computer-readable instructions to determine the character from the character set based on:
tracking which character from the character set is associated with each recitation of the plurality of auditory cues based on the predetermined time period; It is
identify the character that corresponds to touch input based on a last character recited before touch input is received.
Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que o um ou mais processadores compreendem um processador seguro e um processador de aplicações, em que o processador de aplicações executa instruções legíveis por computador para fazer com que o alto-falante recite a pluralidade de pistas auditivas, e em que o processador seguro executa instruções legíveis por computador para receber a entrada de toque e determinar o caractere a partir do conjunto de caracteres.The one or more non-transient computer-readable media according to claim 12, wherein the one or more processors comprise a secure processor and an application processor, wherein the application processor executes computer-readable instructions to do having the loudspeaker recite the plurality of auditory cues, and wherein the secure processor executes computer-readable instructions to receive the touch input and determine the character from the character set. Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 17, caracterizado pelo fato de que a sequência das informações específicas do usuário compreende um ou mais valores, e em que cada um dentre o um ou mais valores é recebido em cada ciclo dentre um ou mais ciclos de recitação em série da pluralidade de pistas auditivas.One or more non-transient computer-readable media according to claim 17, characterized in that the sequence of user-specific information comprises one or more values, and each of the one or more values is received at each cycle one or more cycles of serial recitation of the plurality of auditory cues. Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 18, caracterizado pelo fato de que, em um primeiro ciclo dentre o um ou mais ciclos, o processador de aplicações executa instruções legíveis por computador para enviar um primeiro comando para o processador seguro indicando um início da sequência, e em que, ao receber o primeiro comando, o processador seguro executa instruções legíveis por computador para enviar um segundo comando para um multiplexador associado a um controlador de toque do dispositivo POS para enviar a entrada de toque para o processador seguro, em que o controlador de toque detecta a entrada de toque no display.One or more non-transient computer-readable media according to claim 18, characterized in that, in a first cycle of the one or more cycles, the application processor executes computer-readable instructions to send a first command to the secure processor indicating a start of the sequence, and wherein, upon receiving the first command, the secure processor executes computer readable instructions to send a second command to a multiplexer associated with a touch controller of the POS device to send the touch input to the secure processor, where the touch controller detects touch input on the display. Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 18, caracterizado pelo fato de que cada um dentre o processador de aplicações e o processador seguro compreende um temporizador, e em que cada um dentre o processador de aplicações e o processador seguro redefine o temporizador no início de cada um dentre o um ou mais ciclos.One or more non-transient computer-readable media according to claim 18, wherein each of the application processor and the secure processor comprises a timer, and wherein each of the application processor and the secure processor secure resets the timer at the start of each of the one or more cycles. Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que cada um dentre o um ou mais valores é um número, e em que a pluralidade de pistas auditivas compreende números de 0 a 9.One or more non-transient computer-readable media according to claim 12, characterized in that each of the one or more values is a number, and wherein the plurality of auditory cues comprises numbers from 0 to 9. Um ou mais meios não transitórios legíveis por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que o dispositivo é um dispositivo de ponto de venda (POS).One or more non-transient computer-readable media according to claim 12, characterized in that the device is a point-of-sale (POS) device. Dispositivo caracterizado pelo fato de que compreende:
um display de tela sensível ao toque;
um alto-falante; e
um ou mais meios não transitórios legíveis por computador compreendendo instruções legíveis por computador armazenadas no mesmo que, quando executadas por um ou mais processadores do dispositivo de tela sensível ao toque, fazem o um ou mais processadores:
fazer com que um alto-falante associado ao dispositivo recite serialmente uma pluralidade de pistas auditivas, em que cada uma dentre a pluralidade de pistas auditivas corresponde a um dentre um conjunto de caracteres, e em que cada recitação da pluralidade de pistas auditivas ocorre em um período de tempo predeterminado;
receber uma entrada de toque no display a partir de um usuário durante a recitação da pluralidade de pistas auditivas;
determinar um caractere a partir do conjunto de caracteres que corresponde à entrada de toque com base no período de tempo predeterminado; e
armazenar o caractere como um valor em uma sequência de informações específicas do usuário.
Device characterized by the fact that it comprises:
a touchscreen display;
a loudspeaker; It is
one or more non-transient computer-readable media comprising computer-readable instructions stored thereon which, when executed by one or more processors of the touch screen device, do the one or more processors:
causing a speaker associated with the device to serially recite a plurality of auditory cues, wherein each of the plurality of auditory cues corresponds to one of a set of characters, and wherein each recitation of the plurality of auditory cues occurs at a predetermined period of time;
receiving a display touch input from a user during recitation of the plurality of auditory cues;
determining a character from the set of characters that corresponds to the touch input based on the predetermined time period; It is
store the character as a value in a user-specific information string.
Dispositivo, de acordo com a reivindicação 23, caracterizado pelo fato de que a sequência das informações específicas do usuário compreende um ou mais valores, e em que cada um dentre o um ou mais valores é recebido em cada ciclo de um ou mais ciclos de recitação em série da pluralidade de pistas auditivas.Device according to claim 23, characterized in that the sequence of user-specific information comprises one or more values, and in which each of the one or more values is received in each cycle of one or more recitation cycles in series of the plurality of auditory cues. Invenção de produto, processo, sistema, kit, meio ou uso caracterizada pelo fato de que compreende um ou mais elementos descritos no presente pedido de patente.Invention of product, process, system, kit, means or use characterized by the fact that it comprises one or more elements described in the present patent application.
BR102022002419-7A 2021-11-30 2022-02-08 DEVICES AND ONE OR MORE COMPUTER READABLE NON-TRANSITORY MEDIA BR102022002419A2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/538,569 2021-11-30

Publications (1)

Publication Number Publication Date
BR102022002419A2 true BR102022002419A2 (en) 2023-06-06

Family

ID=

Similar Documents

Publication Publication Date Title
EP3232299B1 (en) Physical key component, terminal, and touch response method and device
US11710126B2 (en) Hardware device for entering a pin via tapping on a touch screen display
US8810365B2 (en) Random location authentication
EP2733594A1 (en) Method and apparatus for unlocking mobile terminal
CN107257952B (en) User interface and method for inputting characters in a protected manner
US20150332038A1 (en) Secure entry of secrets
WO2014090132A1 (en) Electronic equipment and unlocking method of screen thereof
WO2014121730A1 (en) Electronic device and screen unlocking method thereof
WO2016177000A1 (en) Method for entering operating system desktop and mobile intelligent terminal
CN105045618B (en) The method and mobile terminal that a kind of application starts
EP2713328A1 (en) Validating a transaction with a secure input without requiring pin code entry
WO2014090139A1 (en) Electronic equipment and unlocking method of screen thereof
BR102022002419A2 (en) DEVICES AND ONE OR MORE COMPUTER READABLE NON-TRANSITORY MEDIA
US20230169481A1 (en) Touch screen device for entering data using auditory signals
US20180239889A1 (en) Validating human input devices when connected to a computer
JP2015041276A (en) Authentication method for terminal device, terminal device, and program
CN109478224A (en) The display equipment of safety
WO2014146551A1 (en) Method for locking and unlocking touch screen mobile phone which is unlocked based on pattern pairing mode
KR101538454B1 (en) Method and apparatus for inputting password, and recording medium for storing program using the same
US9628668B2 (en) Electronic device and authentication method therein
KR20150063899A (en) Method and Device for Unlocking Input using the Combination of Password Number and Pattern Image Input of Smartphone
KR101421964B1 (en) Method of controlling mobile device and apparatus performing the same and media storing the same
KR102291715B1 (en) Door lock control system by interaction with wearable terminal
CN112118348A (en) Control method and control system for electronic equipment, electronic equipment and storage device
KR20150016645A (en) Apparatus and method for displaing massage in a divice