Abstract:
Given the rise in popularity of communicating personal, private, sensitive, or vital peer-to-peer or peer-to-group information over potentially insecure text messaging infrastructure, it would be desirable to provide a solution that enables the exchange of this type of information securely over at least one path via data and/or voice networks. Furthermore, it would be highly desirable to enable access to the secure exchange of information over the at least one path by a given entity, as well as other computer applications that the given entity may use.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of the following applications which are also incorporated herein by reference as if expressly set forth:
       U.S. Provisional Patent Application No. 61/557,598 filed Nov. 9, 2011 entitled “Systems And Methods For Enabling Secure Messaging, Command, And Control Of Remote Devices, Communicated Via A Short Message Service Or Other Message Oriented Communications Mediums” [attorney docket 5579-8];   U.S. Provisional Patent Application No. 61/556,635 filed Nov. 7, 2011 entitled “Secure Messaging” [attorney docket 5579-4] and counterpart nonprovisional application Ser. No. ______ filed concurrently herewith;   U.S. Provisional Patent Application No. 61/556,652 filed Nov. 7, 2011 entitled “Systems And Methods Using One Time Pads During The Exchange Of Cryptographic Material” [attorney docket 5579-6] and counterpart non-provisional application Ser. No. ______ filed concurrently herewith,   U.S. patent application Ser. No. 12/940,213 filed Nov. 5, 2010 [attorney docket 5579-3];   U.S. Provisional Patent Application No. 61/351,979 filed Jun. 7, 2010 [attorney docket 5579-2].       
 
     
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0007]    N/A 
       FIELD 
       [0008]    The technology herein relates to message security, and more particularly to secure exchange of message oriented and/or command and control data between at least one server class system e.g. utilized by an organization and at least one peer system over potentially diverse communications paths. The technology herein further relates to a server class system that can also act as a gateway for other applications to exchange secure messages with at least one peer system. 
       BACKGROUND AND SUMMARY 
       [0009]    Today, a significant amount of information is communicated via the Short Message Service (SMS) infrastructure that is provided by mobile phone carriers worldwide. Other message oriented communications paths also exist, such as Twitter, and Google Groups. This type of communications has become widely popular over traditional voice conversations because it offers the participants some semblance of privacy in a room. No longer can an individual just eavesdrop on at least part of a conversation. In this simple case, an interloper needs to be close enough to be able to read the screen of the communicating device. 
         [0010]    While a naive user may believe that text conversations are private, in fact some nefarious party can easily purchase technology over the Internet or elsewhere that allows him to monitor the communications exchange. Thus, no real security exists in the vast majority of modern text messaging. An attacker can easily intercept and read the texts you send to your friends, your family, your business colleagues and others. 
         [0011]    Even with the inherent security risks, many entities who ought to be concerned about security and secrecy have embraced the technology due to the immediacy of the communications. Doctors and nurses may use the technology to exchange patient information, even though this type of information is required by law to be secured. Financial institutions often send updates to their customers about their account balances, transactions, trades, etc., that could easily be intercepted by malicious parties. Other use cases abound. 
         [0012]    Some shy away from using these communications paths due to the insecurity, but these vital and resilient communication channels have proven useful during times when other paths such as traditional voice and data networks are either overloaded or inaccessible, especially during natural or unanticipated disasters. During these occurrences, it has been well documented, even by the US government that:
       “because wireless networks may be congested during an emergency, sending a text message may work better than placing a voice call.” (http://www.fcc.gov/guides/emergency-communications)       
 
         [0014]    Consider government officials who need to exchange secure but potentially unclassified information. Other critical infrastructure such as a country&#39;s energy grid, sensors, or other machine to machine (M2M) communications provide for command and control of the equipment. Individuals with mal-intent could easily create havoc during the exchange of information in these scenarios. 
         [0015]    Thus, with the proliferation of mobile, portable, or other remote computing devices being utilized in day-to-day communications, retaining secure access with these devices is of paramount importance. Prior art is filed with examples of how to provide for secure communications with these devices over traditional data interconnects such as IP based networks, virtual private networks, transport layer security, etc. 
         [0000]    However, many of these mediums are bandwidth constrained. Trying to layer traditional methods of securing communications onto these environments may prove fruitless as well as potentially exacerbate an already difficult situation. Therefore, it would be highly desirable to provide a lightweight solution that enables secure access to and communications with these computing devices over message oriented channels as an alternative. 
         [0016]    Furthermore, many systems today are unable to participate in any correspondence via this technology, or are saddled with additional overhead when communicating information to peer systems through some existing gateway infrastructure. 
         [0017]    The exemplary illustrative non-limiting technology herein addresses these needs in a multitude of ways. Exemplary illustrative non-limiting technology herein thus provides methods and systems provided by a server based computing system utilized by an organization or entity to communicate securely with mobile, portable, or other embedded systems via message oriented communications facilities. 
         [0018]    An example non-limiting Protected Mobility Enterprise Console (PMEC) allows an organization or entity to utilize these alternate communications paths through a provided console interface and/or via exposed web services that other applications can use to send and receive potentially private information. The exemplary illustrative non-limiting technology herein provides, among other things, security of communications between the PMEC and collaborating devices. 
         [0019]    To enable secure exchange of message oriented communications and maintain access to cooperating devices, services such as those provided by a protected mobility enterprise console (PMEC) can be utilized. In one exemplary illustrative non-limiting arrangement, the PMEC is an application that can be installed by a given organization on a generic computer based platform, or provided as a hosted/managed service for a given entity. Its illustrative non-limiting core functionality allows individuals, operators, or other applications to securely exchange sometimes critical information with other devices that are within its domain. The exchange of information can be accomplished over Internet related protocols such as HTTP, alternatively through messaging services that provide gateway services to wireless network short messaging services, or directly through interconnects with communication carriers. 
         [0020]    Enabling more than one communications path to potentially critical infrastructure or personnel via the cooperating computing devices provides for resiliency of information flow and in some cases helps maintain business continuity. First responders, governments, military, may also find these services useful. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    These and other features and advantages will be better and more completely understood by referring to the following detailed description of exemplary non-limiting illustrative embodiments in conjunction with the drawings of which: 
           [0022]      FIG. 1  is a block diagram of a non-limiting example illustrative PMEC based system. 
           [0023]      FIG. 1A  is an example illustrative flowchart of program control steps stored in a non-transitory storage medium and executed by the example illustrative PMEC. 
           [0024]      FIG. 2  is a non-limiting sample web page or other display used to input operator/administrator credentials to access/configure PMEC functionality. 
           [0025]      FIG. 3  is a non-limiting sample web page or other display used to provide the operator/administrator with a quick “dashboard” overview. 
           [0026]      FIG. 4  is a non-limiting sample web page or other display used to display information about a particular user associated with the PMEC. 
           [0027]      FIG. 5  is a non-limiting sample web page or other display used to display information about groups of users associated with the PMEC. 
           [0028]      FIG. 6  is a non-limiting sample web page or other display used to display information about groups of users/devices associated with the PMEC. 
           [0029]      FIG. 7  is a non-limiting sample web page or other display used to display reporting information about the state of different commands/message oriented communications exchanged with a particular group, user or device. 
           [0030]      FIG. 8  is a non-limiting sample web page or other display used to display information about administrators and operators, as well as an audit of the functions/communication that have been requested by the person and which also allows the additional/deletion of administrators/operators. 
           [0031]      FIG. 9  is a non-limiting sample web page or other display used to allow entry and display of configuration and system parameters used in the exemplary non-limiting operation of the application. 
           [0032]      FIG. 10  is a non-limiting sample web page or other display used to allow the addition/deletion as well as display of the different exemplary device types that the system is in communications with. 
           [0033]      FIG. 11  is a non-limiting sample web page or other display used to allow the addition/deletion as well as the display of different communications carriers the system ultimately may use to communicate with the exemplary devices. 
           [0034]      FIGS. 12A and 12B  are a non-limiting sample web page or other display used to allow entry of an illustrative message that will be subsequently sent to a selected user/device. 
       
    
    
     DETAILED DESCRIPTION 
     Example Illustrative Protected Mobility Enterprise Console Application and Services 
       [0035]      FIG. 1  shows an example non-limiting schematic diagram of a system  10  including a Protected Mobility Enterprise Console (PMEC)  20 . In the example shown, PMEC  20  is located behind the firewall  40  of an enterprise (e.g., organization or entity) and communicates with an organization/entity network  42 . Computing devices  34  such as personal computers, laptop computers, smart phones, tablet computers and a variety of other devices can communicate via network  42  with PMEC  20  and vice versa. PMEC  20  can be located anywhere. If located in the cloud or provided by a managed service provider for the customer, PMEC  20  would be moved from inside the organizations network to the other side of the organization&#39;s firewall  40 . PMEC services could then be securely access using any number of communications technologies such as VPNs, transport level security such as SSL/TLS, direct connection between the organizations and the cloud service providers network, etc. 
         [0036]    As shown in  FIG. 1 , the example non-limiting PMEC  20  is logically architected into separate functional areas or modules, each providing separate capabilities that may be geographically/physically dispersed to enable the system to scale. They are for example: 
         [0037]    Operator/Administrator interface ( 22 ) 
         [0038]    Web service interface ( 24 ) 
         [0039]    Cryptographic interface ( 26 ) 
         [0040]    Message Router/transport interface ( 28 ) 
         [0041]    Gateway interfaces ( 30 ) 
         [0042]    Auditing/reporting interface ( 32 ). 
         [0043]    In the example shown, PMEC  20  interacts with a variety of devices that may connect to it from the Internet or other data network(s) and/or from voice/cellular network(s)  46 . For example, PMEC  20  can securely or insecurely interact with cellular capable devices  46   a  such as smart phones, cellular telephones, tablet computers, laptop computers and the like that communicate using GSM, LTE or other cellular wireless protocols. PMEC  20  can also interact securely or insecurely with WiFi or other networked devices  44   a  such as laptop computers, tablet computers, smartphones, etc. that interconnect with the internet/data network(s)  44 . It is also compatible with third party SMS/messaging service provider(s)  50  that in turn may interconnect with the voice/cellular network(s)  46  and the Internet/data network(s)  44 . 
         [0044]    After installation, Operators/Administrators use the operators services  22  interface to configure/manage the PMEC  20  application ( FIG. 1A , block  82 ). The operator services  22  may employ a database service to hold configuration, policy, and/or key information, or this information can be inputted on demand, or both. Communications with at least one cooperating device can also be instantiated through this interface as it uses the facilities of the other provided services  24 - 32  to complete the task 
         [0045]    After configuration, and access to the web service interface  24  is enabled, other applications can now interact with the exposed API via standard protocols such as HTTP(s) or other common remote procedure call mechanism that may be used for inter-process communications ( FIG. 1A , block  84 ). The API allows other applications to exchange message-oriented communications, including but not limited to, locating a device, sending information, (de)registering devices, etc., with the at least one device that is within the PMEC&#39;s domain. 
         [0046]    Whether the message oriented communications is generated via the Web user interface  24 , or through communications via the Web services interface, for secure messaging the PMEC  20  may use its cryptographic service interface  26  to secure the message if the at least one device is registered within the PMEC&#39;s domain ( FIG. 1A , block  86 ,  88 ). Given the appropriate cryptographic material, the cryptographic services interface  26  will appropriately cipher the message and return it for further processing by the PMEC  20 . 
         [0047]    While PMEC  20  can send and receive secure messages, sending/receiving non secure messages is also possible (i.e.  FIG. 1A ). Clearly this would be the case if the PMEC  20  did not have an associated public keys for a device. However, in the example non-limiting implementation, an operator/application may also choose to send a clear text message. If the application/operator chooses to send a secure message, and an associated public key is not known by the PMEC, an error can be returned. 
         [0048]    Assuming no error has occurred, once the message has been processed by the cryptographic service interface, the PMEC&#39;s message router  28  is then handed the message to correctly exchange the communiqué with its intended target(s) ( FIG. 1A , block  88 ). If the message is outbound, the message is handed off to PMEC gateway service  50  for ultimate distribution via the at least one message gateway service such as etherSMS™. If the information is inbound, the message is then handed off to either the Web User interface service  24  and/or the Web Services interface for consumption by the Administrator/operator, an external application in communications with the Web Service API, or both. 
         [0049]    If the message router  28  determines that the message is destined for at least one of the devices that is within the PMEC&#39;s domain, based on policy and configuration, the service will then forward the communiqué via the at least one of the configured messaging channel ( FIG. 1A , block  90 ). The messaging channel interconnects can be Internet based service such as etherSMS™, Skype, Twitter, to a wireless carrier&#39;s network  46 , other, etc. Alternate paths for the communications to occur can be easily envisioned by those skilled in the art. 
         [0050]    In one example non-limiting configuration, the PMEC  20  in conjunction with a cooperating computer application such as ProtectedSMS, as defined in co-pending patent application No. 61/556,635 filed Nov. 7, 2011 entitled “Secure Messaging” [attorney docket 5579-4], enables message-oriented communications to be exchanged with various ones of such devices in a secure manner. By using the defined lightweight Contact Registration Exchange as described in co-pending application co-pending patent application No. 61/556,635 filed Nov. 7, 2011 entitled “Secure Messaging” [attorney docket 5579-4] the PMEC can establish a database of public key(s) for devices in within its domain. 
         [0051]    Assuming secure messaging is desired, once the public keys are exchanged via the mechanisms outlined in co-pending application co-pending patent application No. 61/556,635 filed Nov. 7, 2011 entitled “Secure Messaging” [attorney docket 5579-4] between the at least one target device and a PMEC (e.g. registered), message-oriented communications can be sent or received securely. In one exemplary embodiment illustrated in  FIGS. 12A and 12B , the PMEC  20  is able to send a number of different command and control messages to the at least one collaborative device. 
         [0052]    In this non-limiting example, the PMEC  20  can initiate a command to the device such as to: 
         [0053]    Unregister or deregister 
         [0054]    Reset Pin 
         [0055]    Locate 
         [0056]    Wipe Data 
         [0057]    Disable Pin 
         [0058]    other 
         [0000]    along with sending and/or receiving secure text messages as illustrated by  FIG. 12 . 
         [0059]    Additional services can be provided. For example, there may be a need to send the same information to multiple recipients, such as a “locate” command. In one example scenario, a team of first responders are in the field handling a situation. A commander may need to determine the location of his/her team members. As indicated in  FIG. 5 , an administrator can easily define groups of users and/or devices. By simply selecting the group via the non-limiting illustrative web user interface, an operator can send a locate command/request to a plurality of devices that are associated with the selected group. As each request/response is processed, the operator of the PMEC  20  can view the status of each command. The location of each device may be reported back to the PMEC  20  as GPS or other location coordinates that could be easily displayed via existing mapping applications such as Google Maps. More sophisticated maps could be used to give in-building or three-dimensional displays of the location of each device. 
         [0060]    Another advantage that can be realized via the group communications can also be enhanced by the PMEC  20  becoming the relay agent for multiparty communications. By the at least one device responding to a group text message, the PMEC  20  could replicate that information and send that to the other members of the group. This could potentially increase cost savings considering some current pricing models for message-oriented communications. In one illustrative example, many communications carriers charge a price for each message sent and each one received. Without the PMEC  20 , it is possible in one scenario, that if one of at least a plurality of devices responds to a group message, and that the at least one device would have to send a message to each other participant of the group. Having the PMEC  20  involved would allow the initiating device to send the message once to the PMEC, and have the PMEC then replicate the message potentially reducing the cost of total number of messages communicated. 
         [0061]    In one illustrative embodiment, each operator/administrator may log in via the web user interface to access the services available via the console.  FIG. 2  is one non-limiting example of a login page. Here credential information is captured and validated against an entity&#39;s policy information to determine who, what, when, where, and how a particular operator/administrator may access the PMEC services. The credential information is also used to create an audit trail of the operator/administrator&#39;s actions. 
         [0062]      FIG. 3  is a non-limiting example of a landing page once a user&#39;s credentials have been verified. This “dashboard” may list information about the health and status of the system. However, based on the role of the individual, more or less information may be displayed. As an illustrative non-limiting example, a certain operator may have restricted access for information pertaining to certain groups. The operator may also be potentially restricted from registering new devices, reconfiguring system parameters, reviewing audit logs, etc. 
         [0063]      FIG. 4  is a non-limiting example of a web page allowing an operator/administrator to enter/modify/delete information regarding users that are within the PMEC&#39;s domain. This information may be used to help an operator/administrator manage communications to an at least one device, depending on how an entity chooses to associated devices and users. 
         [0064]    As described previously, in  FIG. 5  the non-limiting illustrative embodiment allows for an authorized operator/administrator to create groups of devices or users. As depicted, these groups can be defined as a collection of users, devices, or both. This allows an entity to flexibly communicate or issue command and control message to individuals that may have more than one device. Alternatively, if the devices are headless, or have no user associated with it, the entity can easily communicate with a subset of devices within the PMEC&#39;s domain. 
         [0065]      FIG. 6  is a non-limiting illustrative embodiment of a web page that allows an authorized operator/administrator to add/modify/delete devices within the PMEC&#39;s domain. Through this interface, information such as carrier, type of device, phone number/network identifier, etc. can be easily entered and recorded for subsequent use by the system. 
         [0066]      FIG. 7  is a non-limiting illustrative embodiment of a web page that provides for an authorized operator/administrator to review system logs and audit trail. As indicated by the exemplary diagram, the information can be sorted, or filtered by any number of parameters such as operator/administrator name, command/message type, date range, etc., to limit the information displayed. Other sorting or reporting facilities can be easily envisioned by those schooled in the art. 
         [0067]      FIG. 8  is a non-limiting illustrative embodiment of a web page that allows an authorized user to add/delete/modify administrator/operators to the PMEC system. In some environments, certain privileges and rights can be assigned to each operator/administrator potentially limiting access to PMEC  20 &#39;s functionality. Other information, including, but not limited to an audit trail of what operations a particular operator/administrator issued may also be displayed. 
         [0068]      FIG. 9  is a non-limiting illustrative embodiment of a web page that allows an authorized administrator/operator to enter configuration for the PMEC system. Information that may be entered by the operator/administrator may be, but not limited to a specific site name, credential information for gateway services such as those provided by etherSMS™, polling interval (if any) for message-oriented communications, delivery attempts, retry timeouts, one time passcode requirements as defined by co-pending U.S. Provisional Patent Application No. 61/556,652 filed Nov. 7, 2011 entitled “Systems And Methods Using One Time Pads Quring The Exchange Of Cryptographic Material” [attorney docket 5579-6], etc. Other configuration and policy information can easily envisioned by those schooled in the art. 
         [0069]    Similarly  FIG. 10  and  FIG. 11  is a non-limiting illustrative embodiment of web pages that enable an authorized operator/administrator to add/modify/delete device types and carriers that enable the authorized administrator/operator will used when defining user/device account/profile/configuration information. For instance, based on a specified carrier, configuration may include, but not limited to an email gateway information used for sending SMS information, what MMS URL to use, etc. Device type information may include, but not limited to, message limitations, any transcoding that may be necessary, what interface to used, such as etherSMS™ or cellular messaging services, etc. Other information can be easily envisioned by those schooled in the art. 
         [0070]    Along with the operator/administrator interface, the PMEC exposes a number of API&#39;s that via a web services interface that other applications may use to exchange message-oriented and/or command and control information to and from devices within the PMEC&#39;s domain. This service can then be accessed by an entity&#39;s other applications including, but not limited to, Customer Relation Management (CRM), Machine-to-Machine (M2M) communications for infrastructure command and control, etc. If a device/user cryptographic credentials have been registered with the at least one PMEC, applications can communicate securely to the intended device(s) and/or user(s). 
       Example 
       [0071]    Consider the following non-limiting usage scenario; a financial institution would like to send out alert information to at least one of their customers via message-oriented communications, due to the immediacy of the information. In many cases today, an institution may send an email, however, access can be cumbersome. The user may not be notified of the availability of the information as they may have to log onto a website to gain access to their email, etc., delaying the notification. Furthermore, the exchange may take multiple steps to provide the information to the intended party. Other impediments can be easily envisioned. Instead, by using the PMEC  20 , the same financial application that generated the email can send an alert to the at least one customer via alternative message-oriented communication. This information can be delivered to the at least one customer&#39;s device in a secure manner. Through the web service API, the application can send the PMEC  20  via standard protocols such as Internet HTTP(s), the user/device identification information (e.g. name, phone number, network ID, etc.) along with the information to be sent. The PMEC  20  will then generate a secure message through its cryptographic services. Once complete, together with a companion product such as ProtectedSMS, as described in co-pending application U.S. Provisional Patent Application No. 61/556,635 filed ON Nov. 7, 2011 entitled “Secure Messaging” [attorney docket 5579-4]; that is installed on the at least one customer&#39;s device, the PMEC will then forward the secure message to the at least one customer&#39;s device via its message router service, sending the message via the at least one gateway service such as etherSMS™. Alternate paths may also be available and/or used in coincidence with communications that may consider least cost routing, etc. Because ProtectedSMS also allows for messages to require a read return receipt, the initiating application can then determine if the message being sent was at least received by the intended at least one customer device and the operator opened the message. 
         [0072]    Alternatively, a similar scenario can be easily envisioned using the PMEC&#39;s group functionality to exchange message-oriented communications securely with a plurality of customers/devices. 
         [0073]    The PMEC can also interface with additional gateway services such as those provided by etherSMS™ to enable communications via cellular wireless SMS channels or within the etherSMS™ network, via other Internet base messaging services (Twitter, Skype, Peep, etc.), or directly to cellular wireless carriers networks, based on its configuration and/or infrastructure available. 
         [0074]    While the technology herein has been described in connection with exemplary illustrative non-limiting embodiments, the invention is not to be limited by the disclosure. The invention is intended to be defined by the claims and to cover all corresponding and equivalent arrangements whether or not specifically disclosed herein.