The present invention relates generally to the technical fields of Computer Security, Mobile Computing, Telecommunications, Digital Communications, and Computer Technology.
With the rapid proliferation of network enabled computing devices (the so-called Internet of Things, also referred to as IoT) along with ubiquitous mobile personal devices and conventional computing platforms, the importance of secure, reliable computing environments is paramount. Failure to properly implement security on these new network-enabled devices not only threatens the devices themselves but could be a vulnerability for entire networks and all associated users. This is a critical problem.
Secure access, management, and control of computing devices with compact or otherwise constrained processing hardware and networking hardware such as those found in the Internet of Things presents a number of challenges. Such devices may be constantly exposed to malicious attacks via the internet. These devices are usually remote and physically difficult or time-consuming to access directly by the permitted device users and administrators.
Many developers of IoT products and services do not focus on security as a priority—they understandably focus on their device or service features and capabilities. They typically acquire core computational components and component designs from a small set of candidate suppliers having the resources to produce such complex items in large numbers. Also, these devices tend to be computationally lightweight and therefore have limited resources with which to implement reliable security. Therefore, a successful solution must be compatible with any set of components for any purpose, shifting the burden of security to the present solution thus freeing product developers to focus on features and capabilities. Developers of computer code for such devices benefit from having secure computing tools and secure services present, available, and compatible so as to assist them in the development of secure computing code for the operation and control of these devices.
One key approach to defending these security-related systems and components from malicious attack is to have all or part of them reside in specially configured secure areas, partitions, or environments on the device hardware that are inaccessible to unauthorized parties, and which cannot be accessed for unauthorized purposes. The secure areas can be configured separate from the main device operating system, and represent “trusted worlds” or “secure worlds”. In some instances, the secure areas can be configured to prevent access to certain resources.
A further level of security can be provided if such secure areas or partitions are configured to be invisible and/or undetectable, to the greatest degree possible, to unauthorized parties, or under unauthorized circumstances. In such cases, the secure areas can be considered “secure worlds”, or “trusted worlds”, functionally and otherwise separate from non-trusted operations in the untrusted or “real” world. By analogy, one level of security is to lock the door, and a second level of security is to lock the door and hide it from view. The present invention is such a solution to the security problem for IoT (and IoT-like) devices.
One specification for the operation of such secure areas is provided by GlobalPlatform (2016). Furthermore, Steeves, 2015, (U.S. patent application Ser. No. 14/610,869) describes a dedicated data security service with extensive decryption capability associated with a computing cluster.
This invention discloses a system and method for securely accessing services held within such secure environments for permitted uses that are driven by requests for those services originating from outside the containing secure environments themselves.
The problem solved by the present invention is that of secure accessibility of services residing within a secure (trusted) computing environment from requests originating from outside of the secure (untrusted) environment. An important feature of the present invention concerns the inability of the unsecure requestor to know about trusted services or how to access them. The requestor need only know what it wants to do. That request is sent to a “clearing house” or “gateway” in the secure environment that does know what services are available and how to access them.
The present invention incorporates a Trusted Service Receiver (TSR) that resides within the secure environment. This is the gate keeper of the secure environment and all of its resources. The method begins with a requestor in the unsecure environment that needs something done in the secure environment. The requestor knows neither what services are needed (e.g. what they are called, what parameters they require) nor how to access them. The requestor only knows that services are needed in the secure environment. The request is coupled to any pertinent data, instructions, conditions, or anything else that may be needed. The request and associated data are encrypted into an encrypted data bundle (EDB) and the EDB is transmitted to the TSR in the secure environment. The TSR accepts and decrypts the EDB. Security policies are applied by the TSR to determine what services will be required and what parameters are associated with those service requests.
If the TSR determines that the request is allowed (permissible) but incomplete (e.g. missing parameter or other resource), the TSR may communicate with the requestor to complete the request depending on the stringency of the communication policy.
Each trusted service (TS) is now invoked by the TSR within the secure environment. The results of each TS are gathered by the TSR which, when complete, encrypts all results into an EDB which is transmitted back to the requestor in the unsecure environment.
The primary advantage of this solution is that it clearly separates the secure from the unsecure environments but the added benefit over previous solutions is that it also obscures any interface to protected services through the abstraction of the TSR, which results in superior overall security of the secure environment.
In the present invention, a set of computational services individually denoted TSj (101), is operating, or new operating instances of such services can be instantiated to operate, within the secure world denoted TW (104). These services are not visible from the non-trusted world RW (102), or from applications, services, resources, or operating systems in the RW (105). Separate from the TSj, a second service type known as a receiving service and hereinafter service TSR (103), is operated in the secure world.
Service TSR (
Service TSR thereby operates as a request-receiving service, decryption service, clearing house and gateway for received service calls. Additional security policies may be enforced at TSR to prevent unauthorized service usage (504). The EDB can also contain additional content such as attestation as to the trustworthiness of its instruction contents, that would be examinable once the EDB is decrypted to determine whether or not the accompanying instructions should be sent on to a TS for processing. Attestation information concerning the EDB may also be received separately from the EDB itself.
If any parameter is missing (505) the receiving service may respond in one of several ways, depending on security “stringency”, that is, how much information is allowed to be provided back to the requester, so as to minimize opportunities for malicious attack. At the highest level of stringency, no response is given when the TSR receives an incomplete or otherwise invalid request. It simply does not execute and the TSR moves on to the next request. At a lower level of stringency, a brief error message may be provided by the TSR in response to such a request. That alert may be nothing more than a warning that execution did not successfully complete. At the lowest level of stringency, the TSR may respond with an error message and some stipulation as to why the inbound request was incomplete or invalid, such as a list of missing parameters, such that the requester has the opportunity to try another request with a corrected parameter set (506). An instance of the invention may implement one or more of these stringency levels and may be configured such that a specific level is in effect if more than one level is available.
As a non-limiting example of the operation of the present invention (see
The requestor then creates an Encrypted Data Bundle (EDB) that includes a request for the protected resource and any associated data that the requestor wishes to include. (401, 501) Here, for example, if the requestor wishes to make an SQL query into a database (not knowing that it is protected), it would bundle and encrypt the access request to the database along with the necessary elements of a well-formed SQL query. The resulting EDB is then transmitted to the TSR. (402, 502) The TSR receives and decrypts the EDB. (403, 503) At this point in this example, the TSR may need to know the identity of the requestor in order to determine if access can be allowed. The requestor's identity was not included in the initial EDB. Therefore, depending on the level of stringency, the TSR will take one of three possible actions. (404, 505)
1. (Highest level) The TSR does nothing. The query is not executed and nothing is returned to the requestor.
2. (Mid-level) The TSR transmits a failure message to the requestor with no further information. The requestor now knows that the request to query the database was unsuccessful but does not know why.
2. (Lowest level) The TSR transmits a failure message to the requestor along with information as to why the request failed. (405, 506) Here, it may inform the requestor that the requestor's identity is required. In this way, the requestor can try again including the missing information. (406, 507)
At this point, either the request initiated by the requestor has failed and the process has ended, or the TSR has a valid request that it can act upon. The request is sent to the appropriate trusted service (TS). (407, 508) In this example, the database executes the SQL query which returns a result. (408, 509) That result is then bundled together with any other results associated with this requestor. The results are encrypted and transmitted back to the requestor. (409, 510)
As an alternate embodiment to the invention, individual receiving services TSRi can be set up to receive, decrypt, and communicate EDBs specifically for specific services TSi.
In another embodiment, as shown in
By the means described above, a service in the secure world can be exposed only through the described receiving service (TSR); a receiving service in the secure world is set up that will receive an encrypted EDB, decrypt it then process the contents as a sequence of service calls. Essentially this gives a remote code delivery and service management mechanism. The underlying communication channel has no visibility to the contents. The normal world NW also has no visibility. One use case for example is that a remote server can send different authentication sequences depending on the given situation.
The present invention is useful for any computing domain where trusted services must be maintained separately from untrusted services. Any industry that deal with sensitive data or processes that must be securely maintained will benefit from this invention because the complete abstraction of the services from the requestor yields superior security from probing or other unwanted attempts to access.
Number | Name | Date | Kind |
---|---|---|---|
5881225 | Worth | Mar 1999 | A |
7140035 | Karch | Nov 2006 | B1 |
7240015 | Karmouch | Jun 2007 | B1 |
7246233 | Brabson et al. | Jul 2007 | B2 |
7400891 | Aaron | Jul 2008 | B2 |
7640429 | Huang et al. | Dec 2009 | B2 |
7797544 | Dillaway | Sep 2010 | B2 |
7941647 | Yates | May 2011 | B2 |
8014721 | Johnson | Sep 2011 | B2 |
8037318 | Tahan | Oct 2011 | B2 |
8127982 | Casey et al. | Mar 2012 | B1 |
8135385 | Ohta | Mar 2012 | B2 |
8176336 | Mao | May 2012 | B1 |
8185959 | Bellwood | May 2012 | B2 |
8230399 | Vertes | Jul 2012 | B2 |
8285249 | Baker et al. | Oct 2012 | B2 |
8321498 | Maes | Nov 2012 | B2 |
8463819 | Shashikumar et al. | Jun 2013 | B2 |
8468586 | Kootayi et al. | Jun 2013 | B2 |
8468608 | Hernacki | Jun 2013 | B1 |
8538843 | Smith | Sep 2013 | B2 |
8922372 | Soffer | Jan 2014 | B2 |
8688592 | Abramson | Apr 2014 | B1 |
8880047 | Konicek | Nov 2014 | B2 |
8904483 | Martini | Dec 2014 | B1 |
9053456 | Verthein | Jun 2015 | B2 |
9264384 | Sundaresan | Feb 2016 | B1 |
9391782 | Mironenko | Jul 2016 | B1 |
9411962 | Attfield | Aug 2016 | B2 |
20010032320 | Abdelnur | Oct 2001 | A1 |
20020101826 | Giacopelli | Aug 2002 | A1 |
20020138814 | Katayama | Sep 2002 | A1 |
20030033541 | Edmark | Feb 2003 | A1 |
20030105951 | Brabson | Jun 2003 | A1 |
20030125925 | Walther | Jul 2003 | A1 |
20040123139 | Aiello | Jun 2004 | A1 |
20040123153 | Wright | Jun 2004 | A1 |
20040204949 | Shaji | Oct 2004 | A1 |
20050132202 | Billaway | Jun 2005 | A1 |
20050193196 | Huang | Sep 2005 | A1 |
20060005239 | Mondri | Jan 2006 | A1 |
20060026548 | Rosener | Feb 2006 | A1 |
20060059565 | Green | Mar 2006 | A1 |
20060150256 | Fanton | Jul 2006 | A1 |
20060236369 | Covington | Oct 2006 | A1 |
20060236385 | Innes | Oct 2006 | A1 |
20070150559 | Smith | Jun 2007 | A1 |
20080049937 | Pauker | Feb 2008 | A1 |
20080085698 | Gamm | Apr 2008 | A1 |
20080133914 | Isaacson | Jun 2008 | A1 |
20080184336 | Sarukkai | Jul 2008 | A1 |
20080194233 | Henry | Aug 2008 | A1 |
20080235508 | Ran | Sep 2008 | A1 |
20090031141 | Pearson | Jan 2009 | A1 |
20090089125 | Sultan | Apr 2009 | A1 |
20090100269 | Naccache | Apr 2009 | A1 |
20090193503 | Shevohenko | Jul 2009 | A1 |
20090198617 | Soghoian | Aug 2009 | A1 |
20090204785 | Yates, Jr. et al. | Aug 2009 | A1 |
20090205016 | Milas | Aug 2009 | A1 |
20090210707 | De Lutiis | Aug 2009 | A1 |
20090300174 | Floris | Dec 2009 | A1 |
20100011207 | Fox | Jan 2010 | A1 |
20100023454 | Exton | Jan 2010 | A1 |
20100023703 | Christie | Jan 2010 | A1 |
20100037058 | Zhuk | Feb 2010 | A1 |
20100037311 | He | Feb 2010 | A1 |
20100199325 | Raleigh | Aug 2010 | A1 |
20100216429 | Mahajan | Aug 2010 | A1 |
20100250370 | Jones et al. | Sep 2010 | A1 |
20110055890 | Gaulin | Mar 2011 | A1 |
20110063098 | Fischer | Mar 2011 | A1 |
20110077758 | Tran | Mar 2011 | A1 |
20110154034 | Bailey, Jr. | Jun 2011 | A1 |
20110173108 | Rjasekar | Jul 2011 | A1 |
20110173122 | Singhal | Jul 2011 | A1 |
20110251958 | Aubin | Oct 2011 | A1 |
20110258692 | Morrison | Oct 2011 | A1 |
20110270751 | Csinger | Nov 2011 | A1 |
20120030731 | Bhargava | Feb 2012 | A1 |
20120129450 | Lee | May 2012 | A1 |
20120197743 | Grigg | Aug 2012 | A1 |
20120197898 | Pandey | Aug 2012 | A1 |
20120214516 | Rosenberg | Aug 2012 | A1 |
20120216012 | Vorbach et al. | Aug 2012 | A1 |
20120270523 | Laudermilch | Oct 2012 | A1 |
20120317396 | Ellis, III | Dec 2012 | A1 |
20120323596 | Verhulst | Dec 2012 | A1 |
20120323717 | Kirsch | Dec 2012 | A1 |
20130029653 | Baker et al. | Jan 2013 | A1 |
20130080411 | Rolia | Mar 2013 | A1 |
20130086652 | Kavantzas | Apr 2013 | A1 |
20130125099 | Budiu | May 2013 | A1 |
20130130650 | Cheung | May 2013 | A1 |
20130144935 | Valdetaro | Jun 2013 | A1 |
20130145429 | Mendel | Jun 2013 | A1 |
20130212022 | Lanc | Aug 2013 | A1 |
20130253942 | Liu et al. | Sep 2013 | A1 |
20130275746 | Galdwin | Oct 2013 | A1 |
20130298664 | Gillette, II | Nov 2013 | A1 |
20140007193 | Qureshi | Jan 2014 | A1 |
20140013112 | Cidon | Jan 2014 | A1 |
20140096186 | Barton | Apr 2014 | A1 |
20140108695 | Rachakonda | Apr 2014 | A1 |
20140115659 | Attfield et al. | Apr 2014 | A1 |
20140143089 | Campos | May 2014 | A1 |
20140173700 | Awan | Jun 2014 | A1 |
20140195425 | Campos | Jul 2014 | A1 |
20140279474 | Evan | Sep 2014 | A1 |
20140359035 | Wang | Dec 2014 | A1 |
20140379361 | Mahakar | Dec 2014 | A1 |
20150113264 | Wang | Apr 2015 | A1 |
20150227925 | Filler | Aug 2015 | A1 |
20150271270 | Edlund | Sep 2015 | A1 |
20150278810 | Ramatchandirane | Oct 2015 | A1 |
20150302409 | Malek | Oct 2015 | A1 |
20150312277 | Rane et al. | Oct 2015 | A1 |
20150334133 | Schaffner et al. | Nov 2015 | A1 |
20150350254 | Hendrick et al. | Dec 2015 | A1 |
20150358822 | Hendrick et al. | Dec 2015 | A1 |
20160012216 | Attfield et al. | Jan 2016 | A1 |
20160314296 | Attfield et al. | Oct 2016 | A1 |
20170048714 | Attfield et al. | Feb 2017 | A1 |
20170244759 | Attfield et al. | Aug 2017 | A1 |
Number | Date | Country |
---|---|---|
1339199 | Aug 2003 | EP |
PCTUS06017123 | Jan 2008 | WO |
PCTUS08009313 | Feb 2009 | WO |
WO2015026389 | Feb 2015 | WO |
PCTUS1524932 | Apr 2015 | WO |
PCTUS1527561 | Apr 2015 | WO |
PCTUS1470897 | Dec 2015 | WO |
PCTUS15048526 | Mar 2016 | WO |
PCTUS1628481 | Oct 2016 | WO |
PCTUS16032502 | Nov 2016 | WO |
PCTUS16029144 | Feb 2017 | WO |
Entry |
---|
University of British Columbia, Department of Electrical and Computer Engineering, http://www.ece.ubc.ca//˜edc/379,ian99/lecgureslec 13.pdf, accessed May 2014. |
“Computer Architecture: A Quantitative Approach”, Hennessy J. and Patterson, D., 5th Ed. Morgan Kaufman (2011). |
“Computer Networks”, Tanenbaum, A. Andrew and Wetherall, D., 5th Ed. Prentice Hall (2010). |
“Prolog Programming: A First Course”, Brna, P. (Mar. 5, 2001). Retrieved from <http://homepages.inf.ed.ac.ud/pbrna/prolog.book/> on Mar. 16, 2013. |
NFC Forum (2007), “Near Field Communication and the NFC Forum: The Keys to Truly Interoperable Communications” (PDF), http://www.nfc-forum.org, retrieved Oct. 30, 2012. |
Landt, Jeremy (2001), “Shrouds of Time: The history of RFID”, AIM, Inc. pp. 5-7. |
Bluetooth Special Interest Group website, “A Look at the Basics of Bluetooth Wireless Technology”, http:www.bluetooth.com/Pages/Basics.aspx, retrieved Oct. 29, 2012. |
See e.g. H. Schildt, C ++—The Complete Reference, 2nd edition, pp. 67-70 McGraw Hill, 1995, ISBN 0-07-882123-1. |
K. Ashton, “That ‘Internet of Things’ Thing”, RFID Journal Jun. 22, 2009 (available online as of Oct. 20, 2013 at http://www.rfidjournal.com/articles/view?4986). |
T. White, Hadoop—The Definitive Guide, O'Reilly, 2009 978-0-596-52197-4. |
Nakamoto, Satoshi. “Bitcoin: A peer-to-peer electronic cash system.” Consulted Jan. 2012 (2008): 28. Obtained from http://www.cryptovest.co.ok/resources/Bitcoin%20paper%20 Original.pdf on Apr. 6, 2015. |
Bitcoin, Inc. “What are multi-signature transactions?”, Obtained from http://bitcoin.stackexchange.com/questions 3718/what-are-multi-signature-transactions on Apr. 6, 2015. |
Verilog, http://www.verilog.comm/, accessed May 12, 2014. |
L. Woods, ZS. Istvan, G. Alonzo Ibex(2014) An Intelligent Storage Engine with Support for Advanced SQL Off-loading. VLDB 2014k, Hangzhou, China, Sep. 2014. |
University of British Columbia, Department of Electrical and Computer Engineering, http://www.ece.ubc.ca//˜edc/379,jan99/lecgureslec 13.pdf, accessed May 2014. |
IEEE P 1076 Working Group. http://www.eda.org/twiki/bin/view.cgi/P1076, accessed May 12, 2014. |
Global Platform 2015—The Trusted Execution Environment: Delivering Enhanced Security at a Lower Cost to the Mobile Market—White Paper Jun. 2015, revised from Feb. 2011. |
Number | Date | Country | |
---|---|---|---|
62411436 | Oct 2016 | US |