PROVIDING SECURE INTER-APPLICATION COMMUNICATION FOR A MOBILE OPERATING ENVIRONMENT
First Claim
1. A method for providing transmission of data between applications in a mobile operating environment, comprising:
- initiating a handshake with a mobile application that includes a unique identifier of a primary mobile application and a random number generated for the handshake;
receiving and verifying a response to the handshake, the response includes at least a second number;
sending a data event to the mobile application that includes the second number or a version of the second number, if the response to the handshake is verified; and
freezing execution of the primary application until a data event response from the mobile application is received, the data event response includes at least the second number or the version of the second number.
1 Assignment
0 Petitions
Accused Products
Abstract
Providing for secure and efficient communication for mobile applications executed in a mobile operating environment is described herein. As an example, a primary mobile application can initiate a handshake that includes a unique identifier of the primary application and a random number for signing and/or certifying responsive requests. A recipient application can reference the unique identifier with a list of certified primary applications to verify the primary application. If verified, the recipient responds with the random number and a second random number that can sign and/or certify data requests sent by the primary application. According to some embodiments, random numbers can be hashed and/or truncated to provide low power encryption for such numbers. Further, round-trip policies can be enforced to provide reliable transmission of data. Accordingly, reliable, secure and low power synchronous communication can be conducted in a mobile environment.
145 Citations
50 Claims
-
1. A method for providing transmission of data between applications in a mobile operating environment, comprising:
-
initiating a handshake with a mobile application that includes a unique identifier of a primary mobile application and a random number generated for the handshake; receiving and verifying a response to the handshake, the response includes at least a second number; sending a data event to the mobile application that includes the second number or a version of the second number, if the response to the handshake is verified; and freezing execution of the primary application until a data event response from the mobile application is received, the data event response includes at least the second number or the version of the second number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for providing transmission of data between applications in a mobile operating environment, comprising:
-
a secure session module configured to initiate a handshake with a recipient application, wherein the handshake includes a unique ID of a primary application and a random number; a verification module configured to receive and verify a response to the handshake, the response includes at least a second number; a communication module configured to send a data event to the recipient application that includes the second number or a version of the second number, if the response to the handshake is verified; and a transmission management module configured to freeze execution of the primary application until a data event response from the mobile application is received, the data event response includes at least the second number or the version of the second number. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. At least one processor that provides transmission of data between applications in a mobile operating environment, comprising:
-
a first module that initiates a handshake with a mobile application that includes a unique identifier of a primary mobile application and a random number generated for the handshake; a second module that receives and verifies a response to the handshake, the response includes at least a second number; a third module that sends a data event to the mobile application that includes the second number or a version of the second number, if the response to the handshake is verified; and a fourth module that freezes execution of the primary mobile application until a data event response is received that includes at least the increment of the second number.
-
-
24. An apparatus that provides transmission of data between applications in a mobile operating environment, comprising:
-
means for initiating a handshake with a mobile application that includes a unique identifier of a primary mobile application and a random number generated for the handshake; means for receiving and verifying a response to the handshake, the response includes at least a second number; means for sending a data event to the mobile application that includes the second number or a version of the second number, if the response to the handshake is verified; and means for freezing execution of the primary mobile application until a data event response is received that includes at least the increment of the second number.
-
-
25. A computer program product, comprising:
-
a computer-readable medium containing instructions for providing data transmission security for mobile environment applications, comprising; a first set of instructions configured to cause a computer to initiate a handshake with a mobile application that includes a unique identifier of a primary mobile application and a random number generated for the handshake; a second set of instructions configured to cause a computer to receive and verify a response to the handshake, the response includes at least a second number; a third set of instructions configured to cause a computer to send a data event to the mobile application that includes the second number or a version of the second number, if the response to the handshake is verified; and a fourth set of instructions configured to cause a computer to freeze execution of the primary mobile application until a data event response is received that includes at least the second number or the version of the second number.
-
-
26. A method for providing data transmission between applications in a mobile operating environment, comprising:
-
receiving a handshake request from a primary application that includes a unique ID of the primary application or a random number generated by the primary application; referencing the unique ID against a list of trusted primary application identifiers; sending a handshake response to the primary application if the unique ID matches an ID of the list of trusted primary application identifiers; receiving a data event request; and responding to the data event request prior to receiving or processing additional data event requests. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. An apparatus that provides data transmission between applications in a mobile operating environment, comprising:
-
a security module configured to receive a handshake request from a primary application that includes a unique ID of the primary application or a random number generated by the primary application; a reference module configure to verify the unique ID against a list of trusted primary application identifiers; an interface module configured to send a handshake response to the primary application if the unique ID matches an ID of the list of trusted primary application identifiers and configured to receive a data event request; and a management module configured require the interface module to respond to the data event request prior to receiving additional data event requests. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. At least one processor that provides data transmission between applications in a mobile operating environment, comprising:
-
a first module that receives a handshake request from a primary application that includes a unique ID of the primary application or a random number generated by the primary application; a second module that references the unique ID against a list of trusted primary application identifiers; a third module that sends a handshake response to the primary application if the unique ID matches an ID of the list of trusted primary application identifiers; a fourth module that receives a data event request; and a fifth module that responds to the data event request prior to receiving additional data event requests.
-
-
49. An apparatus that provides data transmission between applications in a mobile operating environment, comprising:
-
means for receiving a handshake request from a primary application that includes a unique ID of the primary application or a random number generated by the primary application; means for referencing the unique ID against a list of trusted primary application identifiers; means for sending a handshake response to the primary application if the unique ID matches an ID of the list of trusted primary application identifiers; means for receiving a data event request; and means for delaying receipt of additional data event requests until a response to the data event request is initiated.
-
-
50. A computer program product, comprising:
-
a computer-readable medium containing instructions for providing data transmission between applications in a mobile operating environment, comprising; a first set of instructions configured to cause a computer to receive a handshake request from a primary application that includes a unique ID of the primary application or a random number generated by the primary application; a second set of instructions configured to cause a computer to reference the unique ID against a list of trusted primary application identifiers; a third set of instructions configured to cause a computer to send a handshake response to the primary application if the unique ID matches an ID of the list of trusted primary application identifiers; a fourth set of instructions configured to cause a computer to receive a data event request; and a fifth set of instructions configured to cause a computer to respond to the data event request prior to receiving additional data event requests.
-
Specification