BR102022002419A2 - DEVICES AND ONE OR MORE COMPUTER READABLE NON-TRANSITORY MEDIA - Google Patents
DEVICES AND ONE OR MORE COMPUTER READABLE NON-TRANSITORY MEDIA Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G06K9/00—
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject 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
[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.
[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.
[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.
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
/**
* 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
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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)
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.
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.
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.
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 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.
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 |