Restricting and preventing pairing attempts from virus attack and malicious software

Information

  • Patent Application
  • 20080003997
  • Publication Number
    20080003997
  • Date Filed
    June 30, 2006
    18 years ago
  • Date Published
    January 03, 2008
    16 years ago
Abstract
A method, device and system restrict and prevent virus attack and malicious software to a wireless communication device from a pairing attempt by another wireless communications device. A switch is included in a transmission path coupling a first device to a second device, wherein the second device is attempting to pair with first wireless communications device. A detector coupled to the transmission path, detects an address of the second wireless communications device in a pairing communication protocol between the first and second devices. A counter coupled to the detector counts the pairing attempts of the second device. A compare circuit compares the pairing attempts to a selected number N. The compare circuit signals the switch to open when the number of attempts equals or exceeds the number N, breaking the connection, thereby preventing the first device from receiving virus attacks and malicious software.
Description

DESCRIPTION OF DRAWINGS

These and other aspects, features and embodiments of the invention will be described below in a description of a preferred embodiment, taken in conjunction with an appended drawings, in which:



FIG. 1 is a representation of mobile terminals within a coverage area of base station for establishing a paired state between the terminal for the transfer of data there between where one terminal is unknown to the other terminal and incorporates the principles of the present invention;



FIG. 2 is a representation of functional hardware units included in the terminals of FIG. 1;



FIG. 3 is a representation of software installed in the terminals of FIG. 1 for implementing the aspects of the invention;



FIG. 4 is a flow diagram for establishing a paired state in the terminals of FIG. 1;



FIG. 5 is a flow diagram for a terminal blocking a connection request of an unknown terminal attempting to establish a paired state with terminal after several attempts in accordance with the principles of FIG. 1.



FIG. 5A is a representation of a reset and timer mechanism in the terminal of FIG. 1 for blocking connection requests of an unknown terminal device attempting to establish a paired state with the terminal





DESCRIPTION OF EMBODIMENT


FIG. 1 discloses a system 100 for pairing at least two terminals 102 and 104, typically standard mobile telephones and establishing a paired state for the terminals so that they can exchange data, speech, etc. on an as-needed basis. Pairing is described in the Bluetooth Specification, supra, Vol. 4, page 189, and Vol. 3, pages 251-252. Two procedures are defined. Either the user initiates the pairing or bonding procedure and enters a pass key with the explicit purpose of creating a secure relationship between the two Bluetooth devices, or the user is requested to enter a pass key during the established procedure, since the devices do not share a common link key beforehand. In the first case, the user is said to perform bonding by entering the passkey. In a second case, the user is said to authenticate using the passkey.


In one embodiment, the terminals 102 and 104 may be paired directly via a wireless connection 109. Alternatively, the terminals maybe linked to a base station 106 and paired via cellular connections (e.g. according to the GSM standard) 1081 and 1082. In turn, the base station 106 may be coupled to a base station controller 110 enabling the devices 102 and 104 to be paired with other communication devices outside the wireless networks 108 and 109 via a distributed information network 112, e.g. the Internet connected to a public switched telephone network (PSTN) 114, and other inter and intra networks, not shown.



FIG. 2 discloses functional units 200 installed in the terminals 102 and 104 for implementing a pairing process. A bus bar 202 powered from a power supply 201 serves the functional units. A central processing unit 204, typically a microprocessor, executes protocols for establishing communications between the terminals in implementing the pairing process. A memory 206 stores software and data used for the operation of the terminals in implementing the pairing process. An I/O circuit 208 receives input and provides output Radio Frequency (RF) signals via a communication interface 210 coupled to antenna, (not shown). The communication interface enables the terminals 102 and 104 to communicate using Bluetooth or IEEE 802.11 or other wireless communication protocols. A keyboard 212 includes standard mobile telephone keys including select, connect, disconnect, scroll, etc. keys. Selected keys can be used f6r multiple purposes, particularly when actuated a number of times. In the present instance, the select key can be uses as an “accept key” in the pairing process. The disconnect key can be used as a “reject key” for a pairing process, when the disconnect key is actuated a selected number of times. Alternatively, soft keys whose function is shown in the display 214 can be used to accept or reject a pairing process. A display 214 provides a visual presentation of information generated by the processor or user or related to accessing available menus or options including implementing the pairing process by keyboard selection. A pairing control circuit 216 is actuated automatically or by a user to reject a pairing connection as a precaution against a possible transfer of a virus or malicious software when an unknown terminal makes repeated attempts to access the terminal. The pairing control circuit is shown in FIG. 5A, which will be described hereinafter.



FIG. 3 discloses software 300 installed in the memory 206 for operating the terminals and implementing the pairing process. The software includes various application programs 302 for carrying out useful tasks, such as word processing, spreadsheets, database management, etc., and processes connected with the pairing process. An optional cellular communication protocol 304 enables the terminals to communicate over a cellular communication system, e.g. global system mobile (GSM), general packet radio service (GPRS), etc. A short-range communication protocol 306 typically Bluetooth or IEEE 802.11, enables the terminals to communicate directly with each other at close distances, e.g. 3 to 100 meters and setup or participate in Ad Hoc short range networks. Security programs 308 include generating: (i) passkeys for use in implementing the pairing process; (ii) a list of devices by origin or address rejected for pairing; (iii) a list of devices by origin or address previously attempting to connect to the user device with a count of the number of times attempted, and signalling functional units to perform or provide services, and (iv) a list identifying approved pairing device enables the user to select a device for pairing. An operating system 310 manages the processor 204 in executing the pairing and other functions of the user device.



FIG. 4 describes a standard pairing process 400 for establishing a paired connection between the pairing devices 102 and 104 of FIG. 1. In a pairing procedure, after inquiry and paging, a service discovery protocol (SDP) is started in a step 402 to find the other one of the device pair. A link establishment procedure 310 is performed in a step 404 to establish a physical link between the devices. Both pairing devices involved in the wireless link enter the same Personal Identification Number (PIN) in a step 406. When the two pairing devices do not have a common link key, a Link Manager (LM) initiator in a step 408 sends a Link Manager Protocol (LMP) and a Protocol Data Unit (PDU) to the other or responder device. The responder device in a step 410 replies with an LMP accepted PDU. Both devices calculate an initialisation key (Kinit) in step 412 based on a PIN; a random number, and a Bluetooth address (BD_ADDDR). When both devices have calculated Kinit, a link key is created. However, if the responder rejects pairing, a LMP not accepted PDU is sent to the initiator with an error code “pairing not allowed”. Using the created link key, a link establishment procedure is performed in step 414. A connection establishment procedure is performed in step 416 to establish a channel or logical link between the devices. Thereafter in a step 418, a connection establishment procedure is performed to establish a connection between the devices. Between a connection request from one of the devices and a connection acknowledgement of the other device, an authentication procedure may be performed, and the pairing process ends in a step 420. Once the users have generated their correct PIN code, both devices can generate a link key which can be stored in the device memory allowing the device to skip authorisation and the authorisation process every time a device attempts to communicate with the other paired device.



FIG. 5 describes a process 500 for a wireless device to restrict the number of pairing attempts from an unknown wireless device and avoid the possible transfer of a virus or malicious software or both from the unknown device. In step 502, an unknown wireless device attempts to initiate a pairing process with a user wireless device via Bluetooth or IEEE 801.11 or like communication protocols. In step 504, the user device responds to the inquiring device by accessing a local or remote memory for display of a rejected list of devices, terminals or the like, previously considered by the user wireless device or other wireless devices and rejected for pairing because of security or other reasons. A decision 506 is made to determine whether the origin of the pairing attempt is on the rejected list. A “yes” condition initiates a step 508 to disconnect the terminal from the unknown terminal of the process, and exit the process in step 510. A “no” condition for the decision 506 initiates a decision 512 to determine whether or not to accept the pairing attempt. In step 514, a “yes” condition authorises a connection with the unknown device based on the absence of the pairing device on the rejected list and the number of pairing attempt being less than a selected number. A “no” condition in step 516 stores the pairing attempts in an attempt list in a local or remote memory, the list indicating the origin of the attempted but not connected pairing requests. The number of pairing attempts is determined individually for each unknown device. Alternatively, the number of pairing attempts is determined cumulatively for all unknown devices. The number of attempted pairings but not connected for the unknown device is counted in a step 518. In one embodiment, the number of pairing attempts is counted by counting only rejected pairing attempts occurring in sequence. In another embodiment, the number of pairing attempts is counted by counting rejected pairing attempts occurring during a certain time period. In still another embodiment, a decision 520 is performed to determine whether the attempted but not connected list contains pairing attempts exceeding a selected threshold “N” for any listed device. A “no” condition ends the process in the step 511. A “yes” conditions adds the listed device to the rejected list in a step 522, after which the process ends in the step 510.



FIG. 5A discloses the pairing control circuit 216 of FIG. 2 for restricting the pairing attempts of an unknown wireless device 550 in connecting to a user wireless device 552. The pairing control circuit includes a switching device 554 responsive to multiple inputs via an OR gate, and is normally closed. The switch is coupled to a transmission path 556 coupling the user wireless device 552 with the unknown wireless device 550 attempting to pair with the user's device via standard pairing processes of Bluetooth or IEEE 801.11 or other like wireless networks. The identity of the unknown or pairing device is detected by a detector 558 via the BT address included in the connect signal by the unknown device to the user device in attempting to establish a connection with the user device for the exchange of information. The detector 558 is connected to a counter 560 and provides the detect signal to the counter and to the processor 204 (FIG. 2). The processor is programmed to update the rejected list 504 (FIG. 5) or the attempt connect list 516 (FIG. 5) from the signal provided by the detect circuit. The counter 560 is responsive to the detect signals and counts the connect attempt signals sent by the unknown device to the user device 550. The counter provides an output to a standard compare circuit 561. Stored within the compare circuit is an attempt number N selected by the user and provided by the processor from the memory 206 (FIG. 2). The processor also updates the compare circuit with the number of previous attempts of the unknown device from the updated rejected list 504 (FIG. 5) or the attempt connect list 516 (FIG. 5) based on the origin or the BT address for the attempt connect signal provided by the detect circuit. When the count input to the compare circuit causes the count to exceed the number N for the identified or unknown device 550, the compare circuit provides a signal 562 to a latch (not shown) in the switch 554, causing the switch to latch open and break the transmission path coupling the devices 550 and 552, avoiding the possible transfer of a virus or malicious software to the user device. Alternatively, the number of pairing attempts counted for the second or pairing device and provided to the compare circuit may be those rejected pairing attempts occurring in sequence. Or, the number of pairing attempts counted and provided to the compare circuit may be those rejected pairing attempts occurring during a certain time period.


Also, the switch 554 may be opened via a connection 563 activated by a user actuating a “reject key” on the keyboard 212 (FIG. 2) multiple times, typically three times. The key actuation causes the processor 204 to access the security software 308 (FIG. 3) in the memory to transmit a signal to the latch (not shown) in the switch to latch open the transmission path 556. Both the signal transmitted to the switch by the compare circuit and the reject key are provided to the processor, which accesses the security software in the memory 206 (FIG. 2) to block out pop up notification to the user regarding pairing attempts.


The compare signal 562 and the reject signal 563 to the switch may also be provided to a timer 564, which after a selected time interval, provides a signal 565 to reset the latch and close the switch 554, enabling the coupling of the user device to other known and unknown devices seeking to pair with the user device.


It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Accordingly, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims
  • 1. A method of restricting access to a first wireless communication device from an unknown wireless communications device, comprising: a) receiving at the first wireless communication device at least one pairing attempt from the unknown wireless communications device using a communication protocol for pairing;b) determining a pairing attempt number rejected for pairing with the unknown wireless communication device by a user at the first wireless communication device; andc) deciding to reject the pairing attempt by the unknown communications device depending on the pairing attempt number.
  • 2. The method of claim 1, wherein earlier pairing attempts are stored in a list in order to determine the pairing attempts by the unknown user rejected by the user.
  • 3. The method of claim 1 or 2, wherein the pairing attempt number by the unknown user rejected by the user is determined by counting only pairing attempts rejected in a sequence.
  • 4. The method of claim 1 or 2, wherein the pairing attempt number is determined by counting only pairing attempts rejected during a certain period of time.
  • 5. The method of claim 1 wherein the determination to reject the pairing attempt is made when the pairing attempt number exceeds a threshold.
  • 6. The method of claim 1 wherein the pairing attempt number is determined individually for each unknown devices.
  • 7. The method of claim 1 wherein the pairing attempt number is determined cumulatively for all unknown devices.
  • 8. The method of claim 1 further comprising: d) detecting an address of the unknown wireless communications device from the communication protocol;e) generating a first or rejected list containing the addresses of the unknown wireless communication devices rejected for pairing by the first wireless communication device; andf) generating a second or attempted list containing the addresses of the unknown wireless communications devices, not included in the first list, and including the number of pairings attempted by the unknown wireless communications device with the first wireless communications device.
  • 9. The method of claim 8 further comprising: g) determining if the unknown wireless communications device is listed in the rejected list and terminating the pairing attempt if the unknown wireless communication device is so listed in the first or rejected list;h) determining if the unknown wireless communications device is listed in the second or attempt list, and if so, update a count of the pairing attempts, and if not, add the unknown wireless communications device to the second or attempt list including a count indication for the pairing attempt; andi) determining if the count of the pairing attempts is more than N pairing attempts.
  • 10. The method of claim 9 further comprising: j) terminating the pairing attempt for the unknown wireless communication device if the number of pairing attempts by the unknown wireless communication device equals or exceeds the number N.
  • 11. The method of claim 9 further comprising: j) adding the unknown wireless communication device to the rejected list if the number of pairing attempts by the unknown wireless communication device equals or exceeds the number N.
  • 12. The method of claim 1 further comprising: d) initiating a timer after terminating a pairing attempt to place the first wireless communication device in condition for receiving another pairing attempt by an unknown wireless communication device after a selected time interval.
  • 13. The method of claim 1 further comprising: d) terminating a pairing attempt by an unknown user by a user operating a reject key included in the first wireless communication device.
  • 14. The method of claim 9 further comprising: j) counting the pairing attempts of the unknown wireless communications device and updating the count in the attempt list at the address listed in the attempt list for the unknown wireless communications device.
  • 15. The method of claim 14 further comprising; k) comparing the count of the unknown wireless communications device in the attempt list to the number N, and if less than the number N accepting the pairing of the first and unknown wireless communication devices.
  • 16. The method of claim 1 further comprising: h) blocking a pop up notification from appearing in a display included in the first wireless communication device when a pairing attempt is terminated.
  • 17. The method of claim 9 further comprising: j) updating a compare circuit in the first wireless communications device for the determination of pairing or termination of pairing from the data stored in the attempt list and the number N stored in a memory included in the first wireless communications device.
  • 18. The method of claim 9 further comprising: j) storing an address for each pairing attempt in the attempt list and updating a count of the pairing attempts by the respective unknown wireless communication devices included in the attempt list.
  • 19. A device for restricting and preventing virus attack and malicious software to a wireless communication device from a pairing attempt by another wireless communications device, comprising: a) a first wireless communications device;b) a second and unknown wireless communications device activating a wireless communications protocol for pairing the second wireless communications device with the first wireless communications device;c) a processor included in the first wireless communications device, the processor including at least a memory; a pairing control circuit and software configured for: i) determining a pairing attempt number rejected for pairing with the unknown wireless communication device by a user at the first wireless communication device; andii) deciding to reject the pairing attempt by the unknown communications device depending on the pairing attempt number.
  • 20. The device of claim 19 wherein the processor is further configured for: iii) generating and storing in the memory a first or rejected list containing the addresses of the unknown wireless communication devices rejected for pairing by the first wireless communication device;iv) generating and storing in the memory a second or attempted list containing the addresses of the unknown wireless communications devices, not included in the first list, and including a count of the number of pairings attempted by the unknown wireless communications device with the first wireless communications device; andv) determining if the unknown wireless communications device is listed in the rejected list and terminating the pairing attempt if the unknown wireless communication device is so listed in the first or rejected list.
  • 21. The device of claim 20 further comprising: vi) determining if the unknown wireless communications device is listed in a second or attempt list, and if so, updating a count of the pairing attempts, and if not, adding the unknown wireless communications device to the second or attempt list including a count indication for the pairing attempt; andvii) determining if the count of the pairing attempts exceeds more than a number N.
  • 22. The device of claim 21 further comprising: viii) circuit means adding the unknown wireless communication device to the rejected list if the number of pairing attempts by the unknown wireless communication device equals or exceeds the number N.
  • 23. The device of claim 19 further comprising: ix) a timer activated after a pairing attempt by the second wireless communications device is terminated by the first wireless communication device to place the first wireless communication device in condition for receiving another pairing attempt by an unknown wireless communication device after a selected time interval.
  • 24. The device of claim 19 further comprising: x) a reject key when operated terminating a pairing attempt by an unknown user.
  • 25. The device of claim 19 further comprising: xi) a counter counting the pairing attempts of the unknown wireless communications device and updating the count in the attempt list at the address listed in the attempt list for the unknown wireless communications device.
  • 26. The device of claim 19 further comprising: xii) a compare circuit comparing the count of the unknown wireless communications device in the attempt list to the number N, and if less than the number N completing the pairing of the first and unknown wireless communication devices.
  • 27. The device of claim 19 wherein the processor is adapted to further block a pop up notification from appearing in a display included in the first wireless communication device when a pairing attempt is terminated.
  • 28. The device of claim 26 wherein the compare circuit in the first wireless communications device is updated for the determination of pairing or termination of pairing from the data stored in the attempt list and the number N stored in a memory included in the first wireless communications device.
  • 29. The device of claim 19 wherein the memory is adapted to store an address for each pairing attempt in the attempt list and updating a count of the pairing attempt by the respective unknown wireless communication devices included in the attempt list.
  • 30. A system restricting and preventing virus attack and malicious software to a wireless communication device from a pairing attempt by another wireless communications device, comprising: a) a first wireless communications device and a second wireless communications device coupled together via a transmission path, the second wireless communications device attempting to pair with the first wireless communications device, wherein the second wireless communications device is unknown to the first wireless communications device;b) a switching device included in the transmission path;c) a detector coupled to the transmission path and detecting an address of the second wireless communications device in a pairing communication protocol between the second and first wireless communications devices;d) a counter coupled to the detector and counting the pairing attempts of the second wireless communications at the address identified by the detector; ande) a compare circuit coupled to the counter, the compare circuit comparing attempts counted by the counter for the second wireless communications device at the identified address to a selected number N, the compare circuit signaling the switching device to open, breaking the coupling between the first and second wireless communications device when the attempts equal or exceed the number N, thereby preventing the first wireless communications device from receiving virus attacks and malicious software.
  • 31. The system of claim 30 further comprising: f) a processor responsive to the compare circuit signal to block a pop up notification from appearing in a display included in the first wireless communication device when a pairing attempt is terminated.
  • 32. The system of claim 30 further comprising: f) a timer coupled to the switch and activated after termination of a pairing attempt and a selected time interval to close the switch, and place the first wireless communication device in condition for receiving another pairing attempt by an unknown wireless communication device.