The present patent disclosure relates generally to a communication system for providing communication to a plurality of devices and specifically to a system topology for secure end-to-end communications between wireless devices and application data sources.
A general concern in communications systems is security. Overhead associated with security features such as virtual private networks and encryption techniques may be too high for devices with restricted physical resources or limited transmission bandwidth. However the allowing access to services such as Web services requires secure communication, regardless of the type of device used.
A systems topologies disclosed herein provide a communication system for secure end-to-end communications to obviate or mitigate at least some of the aforementioned disadvantages.
An embodiment of the patent disclosure will now be described by way of example only with reference to the following drawings in which:
In accordance with an aspect of the present patent disclosure there is provided a secure end-to-end messaging system for providing secure end-to-end communication between a wireless device and an application data source. The secure end-to-end messaging system comprises a default application gateway (AG) for communicating with local application data sources and/or external application data sources that do not require secure communication, and a dedicated application gateway for securely communicating with external application data sources that require secure communication.
In accordance with another aspect of the present patent disclosure there is provided a method of providing secure end-to-end communication between a wireless device and an application data source. The method comprises the steps of receiving instructions from an application to send communication message from a wireless or mobile device to a back-end service, determining whether the application is associated with a dedicated AG, sending the communication messages via a default AG if the application is not associated with a dedicated AG and sending the communication messages via a dedicated application gateway if the application is not associated with the dedicated AG.
In accordance with another aspect of the present patent disclosure there is provided a system topology for secure communications between application data sources and wireless devices. The system topology comprises a default application gateway for communicating local or non-secure back-end services with a device and a dedicated application gateway for communicating external and secure back-end services with the device.
In accordance with another aspect of the present patent disclosure there is provided a computer-readable medium storing instructions or statements for use in the execution in a computer of a method of providing secure end-to-end communication between a wireless device and an application data source. The method comprises the steps of receiving instructions to send a communication message from a wireless or mobile device to a back-end service, determining whether the application calling the back-end service is associated with a dedicated application gateway, sending the communication messages via a default application gateway if the application is not associated with the dedicated application gateway and sending the communication messages via the dedicated application gateway if the application is associated with the dedicated application gateway.
In accordance with another aspect of the present patent disclosure there is provided a propagated signal carrier carrying signals containing computer-executable instructions that can be read and executed by a computer. The computer-executable instructions are used to execute a method of providing secure end-to-end communication between a wireless device and an application data source. The method comprises the steps of receiving instructions to send a communication message from a wireless or mobile device to a back-end service, determining whether the application calling the back-end service is associated with a dedicated application gateway, sending the communication messages via a default application gateway if the application is not associated with the dedicated application gateway and sending the communication messages via the dedicated application gateway if the application is associated with the dedicated application gateway.
An advantage of the present secure topology is the ability to provide secure communication end-to-end without any gap. The encrypted message from the mobile device is delivered to the dedicated application gateway (AG), located within the service provider firewall.
For convenience, like numerals in the description refer to like structures in the drawings. Referring to
The wireless devices 102 are typically personal digital assistants (PDAs), such as a Blackberry™ by Research in Motion for example, but may include other devices. Each of the wireless devices 102 includes a runtime environment (RE) capable of hosting a plurality of component applications.
Component applications comprise one or more data components, presentation components, and/or message components, which are written in a structured definition language such as Extensible Markup Language (XML). The component applications can further comprise workflow components which contain a series of instructions such as written in a subset of ECMAScript, and can be embedded in the XML in some implementations. Therefore, since the applications are compartmentalized, a common application can be written for multiple devices by providing corresponding presentation components without having to rewrite the other components. Further, large portions of the responsibility of typical applications are transferred to the runtime environment for the component application.
The wireless devices 102 are in communication with the application gateway 106 via the communication network 104. Accordingly, the communication network 104 may include several components such as a wireless network 110, a relay 112, a corporate device server 114 and/or a mobile data server 116 for relaying data between the wireless devices 102 and the application gateway 106.
The application gateway 106 comprises a gateway server 118 a provisioning server 120 and a discovery server 122. The gateway server 118 acts as a message broker between the runtime environment on the wireless devices 102 and the back-end services 108. The gateway server 118 is in communication with both the provisioning server 120 and the discovery server 122. The gateway server 118 is further in communication with a plurality of the back-end services 108, such as Web services 108a, database services 108b, as well as other enterprise services 108c, via a suitable link. For example, the gateway server 118 is connected with the Web services 108a and database services 108b via Simple Object Access Protocol (SOAP) and Java Database Connectivity (JDBC) respectively. Other types of back-end services 108 and their corresponding links will be apparent to a person of ordinary skill in the art.
Each wireless device 102 is initially provisioned with a service book establishing various protocols and settings, including connectivity information for the corporate server 114 and/or the mobile data server 116. These parameters may include a Uniform Resource Locator (URL) for the application gateway server 118 as well as its encryption key. Alternately, if the wireless device 102 is not initially provisioned with the URL and encryption key, they may be pushed to the wireless device 102 via the mobile data server 116. The mobile device 102 can then connect with the application gateway 106 via the URL of the application gateway server 118.
A provisioning service and a discovery service are provided by the provisioning server 120 and discovery server 120, respectively. An application gateway services layer provides wireless component application domain-specific services. These services provide efficient message transformation and delivery to backend services 108 and provide wireless device 102 and component application lifecycle management.
Referring to
Preferably, the corporate domain server 114 is configured and responsible for providing secure communication between device RE and Corporation domain. Preferably, if the corporate domain server 114 is not present, AG can provide secure communication with the device. In a corporation domain, a corporation system administrator publishes a component application in local registry 302. Or an authorized user of a trusted registry publishes the component application in trusted registries 304. Preferably, the component application is provisioned only through default corporate AG. A security handshake (for example, a security key exchange) will take place between the device and an AG when the application is provisioned. This exchange of security keys allows for encryption.
Advantageously, the introduction of a dedicated AG 204 provided end-to-end secure communications for an application on a device 102. Since the dedicated AG 204 is located within firewall of an application data source, there is no gap in secure data transmission. An application can be associated with a dedicated AG 204 hosted by the service provider and thus provide end-to-end security.
Referring to
Referring to
In the model of
An optional local registry 806 could be deployed with the dedicated AG 802 in Corporation B domain 800. In such case, the registry 806 in Corporation B domain should be configured as a trusted registry of local registry 302 in domain 300 of Corporation A. In case of MDS cluster, devices 102 communicate with a wireless component application AG (default Corporation AG 106 or dedicated AG 802) through different dedicated MDS in the cluster 116. A wireless component application AG pushes messages to devices 102 through a unique MDS (Pusher) 306 pre-configured in cluster.
Preferably:
Two component application publishing models are supported in the topology of
Referring to
In case of an MDS cluster, devices 102 communicate with a wireless component application AG 1806 through different dedicated MDS in the cluster. A wireless component application AG 1806 pushes messages to devices 102 through a unique MDS (Pusher) 1806 pre-configured in cluster 1816.
Preferably:
Referring to
Referring to
In the model of
An optional local registry 806 could be deployed with the dedicated AG 802 in Corporation A domain 800. In such case, the registry 806 in Corporation A domain should be configured as a trusted registry of local public registries 1802 and 2406 in public domains 1800 and 2400 respectively. In case of MDS cluster, devices 102 communicate with a wireless component application AG (default public AG (1806 and 2402) or dedicated AG 802) through different dedicated MDS in the cluster 116. A wireless component application AG pushes messages to devices 102 through a unique MDS (Pusher) pre-configured in cluster.
The system and methods according to the present patent disclosure may be implemented by any hardware, software or a combination of hardware and software having the above described functions. The software code, either in its entirety or a part thereof, may be stored in a computer readable memory. Further, a computer data signal representing the software code which may be embedded in a carrier wave may be transmitted via a communication network. Such a computer readable memory and a computer data signal are also within the scope of the present patent disclosure, as well as the hardware, software and the combination thereof.
While particular embodiments of the present patent disclosure have been shown and described, changes and modifications may be made to such embodiments without departing from the true scope of the patent disclosure.
This non-provisional application claims benefit of U.S. Provisional Application No. 60/672,019 filed Apr. 18, 2005, which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60672019 | Apr 2005 | US |