Systems and Methods for Providing Test Keys to Mobile Devices

Abstract
Embodiments of the invention provide systems and methods for providing test keys to mobile devices. According to one example embodiment of the invention, a method for providing test keys to mobile devices is provided. Identifying information for a mobile device or a secure element associated with the mobile device can be received. A test key to be provided to the mobile device is determined. The test key can be configured to facilitate the use of the mobile device within a test environment. The test key can be provided to the mobile device, wherein a production key stored on the secure element can be replaced by the test key. In certain embodiments, the operations of the method may be performed by one or more computers associated with the service provider.
Description
FIELD OF THE INVENTION

Embodiments of the invention relate generally to mobile devices, and more specifically to systems and methods for providing test keys to mobile devices.


BACKGROUND OF THE INVENTION

Mobile devices, such as cell phones, personal digital assistants (“PDAs”), smart phones, and other similar devices, have increasingly been utilized to provide additional functionality beyond traditional voice communications. One component of enabling the mobile devices to support these additional functionalities includes installing software applications on the mobile devices. Mobile device applications can facilitate a variety of services performed by or with the mobile devices, including payment applications (e.g., prepaid, credit, debit, etc.), loyalty or incentive applications, transportation payment applications, access control applications, entertainment applications, and the like. Given the sensitive nature of data that may be transmitted or communicated during the provision of a service, such as a payment service, authentication of mobile devices and/or the protection of data becomes critical. In some instances, a secure element, such as a smart card chip, is incorporated into a mobile device to facilitate the secure management of data and the encryption of device communications.


As different service providers wish to test mobile devices and/or mobile device applications, the service providers may wish to replace production keys initially installed on the secure elements of the devices with test keys. The test keys will allow the mobile devices to be utilized within a testing environment. Accordingly, there is an opportunity for systems and methods for providing test keys to mobile devices.


BRIEF DESCRIPTION OF THE INVENTION

Embodiments of the invention may provide systems and methods for providing test keys to mobile devices. According to one example embodiment of the invention, a method for providing test keys to mobile devices is provided. Identifying information for a mobile device or a secure element associated with the mobile device can be received. A test key to be provided to the mobile device is determined. The test key can be configured to facilitate the use of the mobile device within a test environment. The test key can be provided to the mobile device, wherein a production key stored on the secure element can be replaced by the test key. In certain embodiments, the operations of the method may be performed by one or more computers associated with a service provider.


According to another embodiment, a system for providing test keys to mobile devices is provided. The system may include at least one memory and at least one processor. The at least one memory may be configured to store computer-executable instructions. The at least one processor may be configured to access the at least one memory and execute the computer-executable instructions to: system for providing test keys to mobile devices, the system comprising: receive identifying information for a mobile device or a secure element associated with the mobile device; determine a test key to be provided to the mobile device, the test key configured to facilitate the use of the mobile device within a test environment; and provide the determined test key to the mobile device; wherein a production key stored on the secure element is replaced by the test key. In certain embodiments, one or more operations can be performed by one or more computers associated with a service provider.


According to yet another embodiment of the invention, a method for receiving test keys by mobile devices is provided. Identifying information from a mobile device or a secure element associated with the mobile device can be transmitted. A test key can be received at the mobile device, wherein the test key is configured to facilitate use of the mobile device within a test environment; and wherein a production key stored on the secure element is replaced by the test key. In certain embodiments, one or more operations can be performed by one or more processors associated with a mobile device.


Additional systems, methods, apparatus, features, and aspects are realized through the techniques of various embodiments of the invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. Other advantages and features can be understood with reference to the description and to the drawings.





BRIEF DESCRIPTION OF THE FIGURES


FIG. 1 illustrates a block diagram of an example key management system and associated integration, according to an example embodiment of the invention.



FIG. 2 illustrates a block diagram of an example key management integration and associated data flow, according to an example embodiment of the invention.



FIG. 3 illustrates a flow diagram of an example process for providing a test key to a mobile device, according to an example embodiment of the invention.



FIG. 4 illustrates a flow diagram of an example process for providing a test key to a mobile device via over the air provisioning, according to an example embodiment of the invention.





DETAILED DESCRIPTION

Various embodiments of the invention are directed to the provision of test keys to mobile devices. In other words, various embodiments of the invention are directed to the replacement of mobile device and/or secure element production keys with test keys that facilitate the use of the mobile devices within a test environment. In certain embodiments, a mobile device may be registered with or otherwise interact with a key management server (“KMS”) or key management service provider. During the registration, a production key associated with the mobile device or a secure element of the mobile device may be replaced with a test key. A wide variety of suitable methods may be utilized to facilitate the registration. For example, a registration request may be received by the KMS from the mobile device via a mobile or cellular communication. As another example, a registration request may be received by the KMS via one or more Web interfaces and/or Web servers associated with the KMS. As yet another example, the mobile device may be physically located near the KMS or near a kiosk associated with the KMS, and a registration request may be received via a contactless reader (e.g., a Near Field Communication (“NFC”) reader, etc.). As desired, a registration request may include identifying information for the mobile device and/or a secure element associated with the mobile device, as well as an identifier of a desired test environment. A wide variety of identifying information may be received as desired in various embodiments of the invention, such as card production life cycle (“CPLC”) information associated with the mobile device secure element.


Once a registration request (or other test key request) and identifying information have been received, the service provider may determine or generate a test key for the mobile device. As desired, a secure communications channel may be established with the mobile device secure element, and the secure element may be authenticated prior to determining the test key. A wide variety of suitable information may be utilized as desired to determine the test key. For example, in certain embodiments, at least a portion of the identifying information and a base level key, such as a master test key for a desired testing environment, may be utilized to generate the test key. In other words, a device specific test key may be generated or derived for the mobile device. Once generated, the test key may be provided to the mobile device for storage by the secure element. The test key may facilitate use of the mobile device within a desired testing environment, such as a development (“DEV”) testing environment, a quality assurance (“QA”) testing environment, and/or a client acceptance testing (“CAT”) or unit acceptance testing (“UAT”) environment. For example, the test key may allow the mobile device and/or the secure element to be authenticated by a testing environment server.


Additionally, in certain embodiments, the test key and/or the production key may be stored by the KMS and/or provided to one or more other parties. In this regard, the test key may be replaced by the production key at a subsequent point in time, thereby facilitating use of the mobile device and/or secure element within a commercial environment. Additionally, the test key and/or production key may be provided to a trusted service manager (“TSM”) associated with a commercial operating environment. In this regard, the TSM may identify test devices and limit the provision of commercial applications to the test devices and/or the ability of the test devices (i.e., devices having test keys) to be utilized for commercial purposes (e.g., commercial transactions, account provisioning, etc.). For example, the TSM may identify a test device by a test key and disallow commercial operations associated with the identified test device. As another example, the TSM may black list production keys that have been replaced by test keys, thereby limiting the use of the test devices outside of a testing environment. Although the KMS is described as being a separate entity from a TSM, in certain embodiments, at least a portion of the TSM functionality and the KSM functionality may be performed by a single entity. For example, the TSM may facilitate the rotation or replacement of production keys with test keys.


Various embodiments of the invention utilize trusted service management functionality, which may be implemented by a TSM or a KMS, to facilitate integration between multiple service providers and multiple mobile devices operating on any number of carrier networks, each operated by a different mobile network operator (“MNO”). In certain embodiments, a KMS and/or a TSM may be a third party entity strategically positioned to provide mobile device key management, mobile device application provisioning services, and integration functionality for provisioning mobile devices with various keys, applications, and/or associated end user data.


Embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.



FIG. 1 represents a block diagram of an example system 100 for providing test keys to mobile devices, according to one embodiment of the invention. As shown in FIG. 1, a key management server (“KMS”) computer 110; multiple mobile network operator (“MNO”) computers 140a, 140b; multiple mobile devices 150a, 150b; and multiple trusted service provider (“TSM”) computers 160 may be in communication via at least one network 170 and/or multiple carrier networks 180a, 180b, each of the carrier networks 180a, 180b being associated with a respective MNO computer 140a, 140b. Each of these components will now be discussed in further detail.


First, the KMS computer 110 may include any number of processor-driven devices, including but not limited to, a server computer, a mainframe computer, one or more networked computers, a desktop computer, a personal computer, a laptop computer, a mobile computer, or any other processor-based device. In addition to having one or more processors 116, the KMS computer 110 may further include one or more memory devices 112, input/output (“I/O”) interface(s) 118, and network interface(s) 119. The memory 112 may be any computer-readable medium, coupled to the processor(s) 116, such as RAM, ROM, and/or a removable storage device for storing data files and a database management system (“DBMS”) to facilitate management of data files and other data stored in the memory 112 and/or stored in one or more separate databases 138. The memory 112 may also store various program modules, such as an operating system (“OS”), a TSM interface 121, a mobile network operator interface 122, an over the air provisioning provider interface 123, a device registration interface 124, a secure element preparation module 126, and an over the air provisioning module 130. The OS may be, but is not limited to, Microsoft Windows®, Apple OSX™, Unix, a mainframe computer operating system (e.g., IBM z/OS, MVS, OS/390, etc.), or a specially designed operating system. Each of the interfaces and modules 121, 122, 123, 124, 126, 130 may comprise computer-executable program instructions or software, including a dedicated program, for receiving, storing, extracting, managing, processing, and analyzing communications associated with test key provisioning to mobile devices 150a, 150b via any number of suitable networks, such as networks 170 and/or carrier networks 180a, 180b. The specific functions and operability of each of these interfaces and modules 121, 122, 123, 124, 126, 130, are described in greater detail below.


Still referring to the KMS computer 110, the I/O interface(s) 118 may facilitate communication between the processor 116 and various I/O devices, such as a keyboard, mouse, printer, microphone, speaker, monitor, bar code reader/scanner, RFID reader, contactless reader, or Hardware Security Modules (“HSMs”) 139 which facilitate secure key management (e.g., test key management for a variety of testing environments, etc.) and the like. With respect to HSMs, an HSM 139 may be external, such as connected to the KMS computer 110 via a network, or internally or proximately connected to the KMS computer 110. The network interface(s) 119 may take any of a number of forms, such as, but not limited to, a network interface card, a modem, a wireless network card, a cellular network card, or any other means operable for facilitating communications with one or more carrier networks 180a, 180b and/or other networks 170. Indeed, the TSM computer 110 can communicate directly with mobile devices 150a, 150b via the carrier networks 180a, 180b, respectively, via network interface(s) 119 and/or via one or more of suitable Web servers 137, the mobile network operator gateway 134, the over the air services gateway 135, and the device registration gateway 136. It will be appreciated that the KMS computer 110 may be implemented on a particular machine, which may include a computer that is designed, customized, configured, or programmed to perform at least one or more functions of the interfaces and modules 121, 122, 123, 124, 126, 130, according to an example embodiment of the invention.


Second, the MNO computers 140a, 140b may include any number of processor-driven devices, including but not limited to, a server computer, a mainframe computer, one or more networked computers, a desktop computer, a personal computer, a laptop computer, a mobile computer, or any other processor-based device. In addition to having one or more processors 146a, 146b, each of the MNO computers 140a, 140b may further include one or more memory devices 142a, 142b, input/output (“I/O”) interface(s) 148a, 148b, and network interface(s) 149a, 149b. The memory 142a, 142b may be any computer-readable medium, coupled to the processor(s) 146, such as RAM, ROM, and/or a removable storage device for storing data files and a DBMS to facilitate management of data files and other data stored in the memory 142a, 142b and/or stored in one or more separate databases. The memory 142a, 142b may also store various program modules, such as an operating system (“OS”), a communications module 144a, 144b, and an authentication module 145a, 145b. The OS may be, but is not limited to, Microsoft Windows®, Apple OSX™, Unix, a mainframe computer operating system (e.g., IBM z/OS, MVS, OS/390, etc.), or a specially designed operating system. The communications module 144a, 144b may comprise computer-executable program instructions or software, including a dedicated program, for facilitating communications with multiple mobile devices 150a, 150b operating on the respective carrier networks 180a, 180b, and for facilitating mobile device application provisioning and management via a common MNO messaging standard as implemented by the TSM computer 110. The authentication module 145a, 145b may comprise computer-executable program instructions or software, including a dedicated program, for facilitating the authentication of mobile devices 150a, 150b and/or the establishment of secure communications channels with mobile devices 150a, 150b. A wide variety of authentication procedures may be utilized as desired by an authentication module 145a, 145b. In certain embodiments of the invention, an MNO computer 140a, 140b may authenticate a mobile device 150a, 150b in a similar manner as the TSM 110.


Still referring to each MNO computer 140a, 140b, the I/O interface(s) 148a, 148b may facilitate communication between the processors 146a, 146b and various I/O devices, such as a keyboard, mouse, printer, microphone, speaker, monitor, bar code reader/scanner, RFID reader, and the like. The network interface(s) 149a, 149b may take any of a number of forms, such as, but not limited to, a network interface card, a modem, a wireless network card, a cellular network card, or any other means operable for facilitating communications with one or more carrier networks 180a, 180b and/or other network 170. It will be appreciated that the MNO computers 140a, 140b may be implemented on a particular machine, which may include a computer that is designed, customized, configured, or programmed to perform at least one or more functions of the communications module 144a, 144b, according to an example embodiment of the invention.


Third, the mobile devices 150a, 150b may be any mobile processor-driven device, such as a mobile phone, radio, pager, laptop computer, handheld computer, PDA, and the like, or any other processor-based mobile device for facilitating communications over one or more carrier networks 180a, 180b and/or for facilitating communications within a testing environment. For example, each mobile device 150a, 150b may be registered with a specific MNO computer 140a, 140b for communicating via the respective carrier network 180a, 180b. As another example, a mobile device 150a, 150b may not be registered with a specific MNO; however, the mobile device 150a, 150b may be specifically configured for operation within a testing environment. In addition to having one or more processors 156a, 156b, each of the mobile devices 150a, 150b may further include one or more memory devices 152a, 152b, input/output (“I/O”) interface(s) 158a, 158b, and network interface(s) 159a, 159b. The memory 152a, 152b may be any computer-readable medium, coupled to the processor(s) 156, such as RAM, ROM, and/or a removable storage device for storing data files. The memory 152a, 152b may also include secure elements 155a, 155b for maintaining mobile device applications and confidential data, as may be provisioned via the TSM computer 110 and associated provisioning services. In certain embodiments, a secure element 155a, 155b may be configured to store a key information, such as test key information, as well as certain identification information for the mobile device and the secure element 155a, 155b (e.g., CPLC information, etc.). As desired, the secure element 155a, 155b may utilize at least a portion of this information to generate requests, such as provisioning requests and/or transaction requests within a testing environment. In this regard, a mobile device 150a, 150b and/or an associated secure element 155a, 155b may be authenticated within the testing environment. Additionally, in certain embodiments, a secure element 155a, 155b may store an authentication module or program utilized by a mobile device 150a, 150b to tag an/or encrypt communications output by the mobile device 150a, 150b and/or to decrypt communications received by the mobile device 150a, 150b.


The memory 152a, 152b may also store any number of data files 153a, 153b and/or various program modules, such as an operating system (“OS”), end user interface module(s), and a provisioning module 154a, 154b (also referred to interchangeably herein as “KMS and/or testing environment administration software”). The OS may be any mobile operating system, including proprietary operating systems by a mobile device manufacturer or mobile network operator, or third party software vendor mobile operating system, such as, but not limited to, Microsoft Windows CE®, Microsoft Windows Mobile®, Symbian OS™, Apple iPhone™ OS, RIM BlackBerry® OS, Palm OS® by ACCESS, or Google Android™. The provisioning module 154a, 154b may comprise computer-executable program instructions or software, including a dedicated program, for facilitating mobile device application provisioning on general memory and/or on the secure elements 155a, 155b as carried out by the KMS computer 110 and/or various testing environment devices that are accessed once a test key has been loaded. According to various embodiments, the secure elements 155a, 155b may refer to any computer-readable storage in the memory 152 and/or may refer to any securitized medium having memory, such as a Universal Integrated Circuit Card (“UICC”), Subscriber Identity Module (“SIM”), and the like. In one example, the secure elements 155a, 155b may be operable with a RFID device or other NFC device associated with the mobile devices 150a, 150b. It is also appreciated that the secure elements 155a, 155b may be a separate embedded secure element (e.g., smart card chip) or a separate element (e.g., removable memory card, a key fob; connected via Bluetooth, etc.). For example, a secure element chip may be embedded in a mobile device 150a, 150b separately from a general operation chip utilized by the mobile device 150a, 150b. In certain embodiments, the secure elements 155a, 155b may include any suitable hardware and/or software, such as memory, processing components, and communications components. In certain embodiments, the secure elements 155a, 155b may be configured to communicate with other elements of the mobile devices 150a, 150b, such as a general or shared memory chip associated with the mobile devices 150a, 150b. For example, a mobile wallet may be stored in shared memory, and a secure element 155a, 155b may be accessed to encrypt and/or decrypt transactions generated by and/or received by the mobile wallet.


Still referring to each mobile device 150a, 150b, the I/O interface(s) 158a, 158b may facilitate communication between the processors 156a, 156b and various I/O devices, such as a keypad, touch screen, keyboard, mouse, printer, microphone, speaker, screen display, RFID device, NFC device, and the like. The network interface(s) 159a, 159b may take any of a number of forms to permit wireless communications according to various communications standards, such as, but not limited to, Code Division Multiple Access (“CDMA”), Global System for Mobile Communication (“GSM”), Universal Wireless Communications (“UWC”), Universal Mobile Telecommunications System (“UMTS”), or General Packet Radio Service (“GPRS”) communication standards as may be implemented by one or more carrier networks 180a, 180b. The network interfaces(s) 159a, 159b may further permit access to other networks 170, such as via one or more carrier networks 180a, 180b providing Internet or other network access, or via Wi-Fi communications onto a Wi-Fi network. It will be appreciated that the mobile devices 150a, 150b may be implemented on a particular machine, which may include a computer that is designed, customized, configured, or programmed to perform at least one or more functions of the provisioning module 154a, 154b and other mobile communications, including voice communications, data communications, short message service (“SMS”), wireless application protocol (“WAP”), multimedia message service (“MMS”), Internet communications, other wireless communications, and the like, according to an example embodiment of the invention.


Fourth, the TSM computers 160 may include any number of processor-driven devices, including but not limited to, a server computer, a mainframe computer, one or more networked computers, a desktop computer, a personal computer, a laptop computer, a mobile computer, or any other processor-based device. A TSM computer 160 may be configured to facilitate integration between multiple service providers and multiple mobile devices for various commercial purposes. In certain embodiments, a TSM may be a third party entity strategically positioned to provide mobile device application provisioning services and integration functionality for provisioning mobile device applications and associated end user data (e.g., encryption data, key information, etc.) to end users' mobile devices, to provide mobile device application-related lifecycle management services, to manage the many-to-many relationships between the multiple service providers and the MNOs operating the carrier networks, and/or to authenticate mobile devices during the processing of a wide variety of different requests and/or transactions. Applications that can be provisioned on mobile devices via a TSM can be any software application provided by a service provider and operable with a mobile device. According to one embodiment, near field communication (“NFC”) applications that enable subsequent transactions using NFC technology of the mobile device (e.g., radio frequency identification (“RFID”)) are among those mobile device applications provided by service providers. However, as used herein, mobile device applications are not limited to NFC-based applications. Example mobile device applications may include, but are not limited to, open loop and closed loop payment applications (e.g., MasterCard® PayPass™, Visa payWave™, American Express® ExpressPay, Discover® ZIP, NXP Mifare®, etc.), transit payment applications, loyalty applications, membership applications, electronic promotion and incentive applications, ticketing applications, access control and security applications, entertainment applications, retail shopping applications, and the like.


According to an aspect of the invention, a TSM may be configured to operate in conjunction with mobile devices that utilize production keys rather than test keys. Accordingly, the TSM computer 160 may be configured to receive information associated with mobile devices on which test keys have been loaded. In this regard, the TSM computer 160 may identify test devices and limit or eliminate the operations of the test devices that may be performed in a commercial environment. For example, the TSM computer 160 may prevent the provisioning of financial account information and/or financial applications to the test devices.


In addition to having one or more processors 166, each of the TSM computers 160 may further include one or more memory devices 162, input/output (“I/O”) interface(s) 168, and network interface(s) 169. The memory 162 may be any computer-readable medium, coupled to the processor(s) 166, such as RAM, ROM, and/or a removable storage device for storing data files and a DBMS to facilitate management of data files and other data stored in the memory 162 and/or stored in one or more separate databases 175 (e.g., a database of key information and/or authentication information, etc.). The memory 162 may also store various program modules, such as an operating system (“OS”) and a key management module 164. The OS may be, but is not limited to, Microsoft Windows®, Apple OSX™, Unix, a mainframe computer operating system (e.g., IBM z/OS, MVS, OS/390, etc.), or a specially designed operating system. The key management module 164 may comprise computer-executable program instructions or software, including a dedicated program, for managing keys, authenticating mobile devices, and/or identifying test devices that are not suitable for operation within a commercial environment.


Still referring to each TSM computer 160 the I/O interface(s) 168 may facilitate communication between the processors 166 and various I/O devices, such as a keyboard, mouse, printer, microphone, speaker, monitor, bar code reader/scanner, RFID reader, and the like. The network interface(s) 169 may take any of a number of forms, such as, but not limited to, a network interface card, a modem, a wireless network card, a cellular network card, or any other means operable for facilitating communications with the network 170. It will be appreciated that the TSM computer 160 may be implemented on a particular machine, which may include a computer that is designed, customized, configured, or programmed to perform at least one or more functions of the key management module 164 and/or other TSM functions as described above, according to an example embodiment of the invention. Additionally, in certain embodiments, the TSM computer 160 may be combined with the KSM computer 110. In other words, a single server may be provided that facilitates management and/or provisioning of both test devices and commercial devices (e.g., mobile devices having production keys, etc.).


The network 170 may include any telecommunication and/or data network, whether public, private, or a combination thereof, including a local area network, a wide area network, an intranet, an internet, the Internet, intermediate handheld data transfer devices, a publicly switched telephone network (“PSTN”), a cellular network, and/or any combination thereof and may be wired and/or wireless. The network 170 may also allow for real time, near real time, off-line, and/or batch transactions to be transmitted between or among the KMS computer 110, the MNO computer(s) 140a, 140b, the mobile devices 150a, 150b, and the TSM computers 160. Due to network connectivity, various methodologies as described herein may be practiced in the context of distributed computing environments. It will also be appreciated that the network 170 may include a plurality of networks, each with devices such as gateways and routers for providing connectivity between or among networks 170. Instead of, or in addition to, a network 170, dedicated communication links may be used to connect the various devices in accordance with an example embodiment.


The mobile carrier networks 180a, 180b may include any cellular telecommunication network, each operated by a respective mobile network operator. The mobile carrier networks may be implemented to operate according to one or more wireless technology formats, including, but not limited to, CDMA, GSM, UWC, UMTS, GPRS, and/or any “generation” or version thereof. Accordingly, in one embodiment, each mobile device 150a, 150b is configured to operate primarily on a certain carrier network 180a, 180b as operated by the mobile network operator with which the mobile device end user has an agreement and with which the mobile device is registered. It is appreciated, however, that, according to various embodiments, mobile devices 150a, 150b and carrier networks 180a, 180b may be configured to permit interoperability of mobile devices on non-registered carrier networks 180a, 180b.


Generally, each of the memories and data storage devices, such as the memories 112, 142a, 142b, 152a, 152b, 162 and the databases 138, 175 and/or any other memory and data storage device, can store data and information for subsequent retrieval. In this manner, the system 100 can store various received or collected information in memory or a database associated with one or more of the KMS computer(s) 110, the MNO computer(s) 140a, 140b, the mobile devices 150a, 150b, and/or the TSM computer(s) 160. The memories and databases can be in communication with each other and/or other databases, such as a centralized database, or other types of data storage devices. When needed, data or information stored in a memory or a database may be transmitted to a centralized database capable of receiving data, information, or data records from more than one database or other data storage devices. In other embodiments, the databases shown can be integrated or distributed into any number of databases or other data storage devices.


Suitable processors, such as the processors 116, 146a, 146b, 156a, 156b, 166, may comprise a microprocessor, an application-specific integrated circuit (“ASIC”), and/or state machine. Example processors can be those provided by Intel Corporation (Santa Clara, Calif.), AMD Corporation (Sunnyvale, Calif.), and Motorola Corporation (Schaumburg, Ill.). According to various embodiments, one or more of the computers can be configured as a multi-processor computer having multiple processors 116, 146a, 146b, 156a, 156b, 166 providing parallel and/or redundant processing capabilities. Such processors comprise, or may be in communication with, media, for example, computer-readable media, which stores instructions that, when executed by the processor, cause the processor to perform the elements described herein. Embodiments of computer-readable media include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor with computer-readable instructions. Other examples of suitable media include, but are not limited to, a floppy disk, pen drive, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, EPROM, EEPROM, a configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read instructions. Also, various other forms of computer-readable media may transmit or carry instructions to a computer, including a router, gateway, private or public network, or other transmission device or channel, both wired and wireless. The instructions may comprise code from any computer-programming language, including but not limited to, assembly, C, C++, C#, Visual Basic, Java, Python, Perl, JavaScript, GPSS, LISP, SAS, Parlay, JAIN, or Open Mobile Architecture.


The system 100 shown in and described with respect to FIG. 1 is provided by way of example only. Numerous other operating environments, system architectures, and device configurations are possible. Other system embodiments can include fewer or greater numbers of components and may incorporate some or all of the functionality described with respect to the system components shown in FIG. 1. For example, a respective KMS may be provided for each of a plurality of testing environments. In addition, the designation of system components by “a” and “b” is not intended to limit the number of possible components, but instead are provided for illustrative purposes to indicate that more than one of the respective components can be provided. Accordingly, embodiments of the invention should not be construed as being limited to any particular operating environment, system architecture, or device configuration.



FIG. 2 illustrates an example block diagram 200 illustrating data flow and integration points between the KMS computer 110 and the various other entities that may participate in mobile device test key rotation, such as multiple MNO computers 140, and multiple mobile devices 150, according to one embodiment of the invention. An example operation of the block diagram 200 of FIG. 2 will be described separately and in conjunction with the flow diagrams of FIGS. 3-4.


As generally described above, a KMS and associated KMS computer 110 may be operable to provide test keys to mobile devices and/or mobile device secure elements. These test keys allow the mobile devices to be utilized within various testing environments, such as a DEV environment, a QA environment, or a CAT or UAT environment. In certain embodiments, the KMS computer 110 may additionally be operable to load, delete, and manage mobile device applications and associated end user data on test mobile devices on behalf of various testing entities. In other embodiments, one or more servers associated with testing entities may be configured to provide application management functionality. Additionally, the KMS computer 110 and/or separate testing entity servers may be operable to facilitate the authentication of test mobile devices. According to various embodiments, the KMS computer 110 may be operable to provide, but is not limited to, one or more of the following functions: to act as a single point of integration between testing service providers, MNOs, and other TSMs; to load key information and/or mobile device applications over the air to mobile devices; to accept, prepare and personalize mobile device application end user data; to enable other entities to authenticate mobile devices and/or end users; to manage secured keys (e.g., cryptographic keys, master keys, rotated keys, test keys, etc.) used for testing application provisioning, personalization, and/or authentication of mobile devices; to manage mobile device application lifecycles on behalf of service providers over the life of an application; to manage mobile device lifecycles on behalf of MNOs over the life of a handset; and to provide billing and other administration functions to support relationships between MNOs and service providers, and between the KMS and each MNO and service provider.


Various services provided by the KMS computer 110 can be implemented by one or more of the secure element preparation module 126 and/or the over the air provisioning module 130. The secure element preparation module 126 may be configured to facilitate preparing mobile device secure elements, such as requesting increased space allocated on the secure element for provisioning applications and verifying secure element properties with the MNO. According to various embodiments, the secure element preparation module 126 may further be configured to receive and/or provide personalization data associated with mobile device applications for each end user during provisioning. In one example, the KMS computer 110 may generate or identify a test key to be provided to a mobile device secure element, and the KMS computer 110 may coordinate the provisioning of the test key to the secure element. As desired, a wide variety of suitable techniques may be utilized to facilitate the provisioning of the test key to a mobile device, such as over the air provisioning via a carrier network, Web-based communications (e.g., communications managed by one or more Web servers 137, and/or contactless provisioning (e.g., radio frequency provisioning, NFC provisioning, etc.) on mobile devices that are situated in relatively close proximity to the KMS computer 110.


The over the air provisioning module 130 may be configured to facilitate the OTA provisioning of mobile device applications and associated end user data with multiple mobile devices. As described in more detail herein, the OTA provisioning module 130 may facilitate communications with third party OTA provisioning providers via the OTA services gateway 135, and/or can facilitate direct provisioning by the KMS computer 110. It is appreciated that, according to some embodiments, the functions of the OTA provisioning module 130 may also be implemented in one or more of the MNO computers 140 and/or within functions implemented by the carrier networks 180a, 180b, either instead of, or in combination with, those provided in the TSM computer via the OTA provisioning module 130.


In certain embodiments, an authentication module may be provided and configured to provide administration and maintenance functions for secured keys (e.g., test keys, production keys, etc.) in accordance with KMS security policies, MNO security policies, test environment security policies, and/or TSM security policies. Various functions performed by the KMS computer 110 may integrate with the authentication module to provide security for end users, MNOs, test environment devices, and TSMs. According to an aspect of the invention, the authentication module may be configured to format key information, such as test key or rotated test key information, for communication to a mobile device and/or provisioning or storage on a secure element associated with the mobile device. In this regard, the mobile device may be authenticated during subsequent requests within a testing environment or a TSM environment.


In certain embodiments, the MNOs and associated MNO computers 140 may be operable to provide the communications channel to reach and provision test key information and/or various mobile device applications and associated end user data on end users' mobile devices. According to various embodiments, each MNO computer 140 may be operable to provide, but is not limited to, one or more of the following functions: provide the TSM computer with information on mobile device secure elements and unique mobile device identity modules (e.g., Universal Subscriber Identity Modules (“USIMs”)) throughout the lifecycle; provide a communications gateway via a respective carrier network for OTA provisioning of mobile device applications; provide a mobile device user interface for accessing provisioned mobile device applications on each mobile device (e.g., a mobile wallet); facilitate management of secured keys used to securely load and delete mobile device applications on mobile device secure elements; interface with the KMS computer; facilitate authentication of the end user interfacing with the KMS; facilitate allocating memory for mobile device applications on the end users' mobile devices; communicate to the KMS computer that unique end user identity modules have changed; communicate to the KMS computer the status of unique mobile device identity modules (e.g., which USIMs have been lost, stolen, damaged, replaced by new mobile devices, etc.); and facilitate management of any tariffs and fees associated with application provisioning communications.


An MNO gateway 134 and associated MNO interface 122 are operable for providing a common point of integration between the TSM computer 110 and the multiple MNO computers 140. According to one embodiment, the MNO interface 122 is configured to communicate with each MNO according to the same common MNO message standard, as described further herein. Moreover, according to various embodiments, the MNO gateway 134 and associated MNO interface 122 are further operable to permit the TSM computer 110 to communicate with mobile devices 150 via a respective carrier network operated by each MNO.


The TSMs and associated TSM computers 160 are operable to provide one or more provisioning services, authentication services, key management services, and/or integration services to mobile devices that are utilized within commercial non-test environments. In accordance with an aspect of the invention, the TSM computers 160 may receive information associated with test devices (e.g., device identifiers, secure element identifiers, test keys, production keys, etc.), and the TSM computers 160 may limit commercial functionality provided for the test devices. In this regard, the use of the test devices may be limited to suitable test environments. A TSM gateway 133 and associated TSM interface 121 are operable for providing a common point of integration between the KMS computer 110 and the multiple TSMs 160.


The mobile devices 150 represent the respective end users that are utilized and/or will be utilized in test environments. In certain embodiments, a test mobile device 150 may have a contractual relationship with an MNOs (e.g., for operating on a respective carrier network). According to various embodiments, each mobile device 150 may be operable to provide, but is not limited to, one or more of the following functions: activate mobile devices and/or secure elements with an MNO and/or test environment; register for and request test keys and/or mobile device applications for use in a test environment; download mobile device applications and associated end user data on mobile device secure elements; authenticate the respective end user and/or mobile device within a test environment; and/or perform transactions within a test environment using the provisioned mobile device applications (e.g., a payment transaction at a retailer, etc.).


An OTA services gateway 135 and associated OTA services interface 123 are operable to facilitate provisioning of key information and/or mobile device applications and associated end user data to mobile devices 150. According to one embodiment, the OTA services gateway 135 may be configured to permit the KSM computer 110 to transact with third party OTA provisioning providers to perform all or some of the OTA provisioning services with mobile devices 150, such as by utilizing a common provisioning messaging standard for all third party OTA provisioning providers in a manner similar to that described with reference to the MNO interface 122. According to another embodiment, the OTA services gateway 135 may be configured to permit the KMS computer 110 to provision mobile device applications and associated end user data directly to the mobile devices 150, such as via one or more carrier networks. According to various embodiments, the MNO gateway 134 and associated MNO interface 122 may be utilized at least in part to provide OTA provisioning by the TSM computer 110, such as for accessing and communicating over a respective MNO carrier network.


A device registration gateway 136 and associated device registration interface 124 are operable to facilitate communications with mobile devices for registering to receive test keys and/or mobile device applications, and the like. In certain embodiments, MNO computers 140 and/or other service providers may provide registration applications for mobile devices (e.g., mobile device-based registration interface, Internet-based registration interface, etc.). Thus, the device registration gateway 136 and associated device registration interface 124 may provide a common integration point and associated common messaging standard for receiving and responding to such requests. According to another embodiment, the KMS computer 110 may be configured to provide similar registration services to mobile devices, such as may be performed on behalf of the MNOs and/or other service provider.


According to an aspect of the invention, methods for providing test keys to mobile devices may be provided. In certain embodiments, a test key may be generated for a mobile device that facilitates use of the mobile device within a testing environment. For example, a test key may be generated during the registration of a mobile device with a KMS computer 110, and a production key for a mobile device secure element may be replaced with a test key. Although the provision of test keys is described for mobile devices, the provision of test keys may be performed for a wide variety of other devices, such as tablet computers and/or other devices that may not be capable of communications via a carrier network. FIG. 3 illustrates a flow diagram of an example method 300 for providing a test key to a mobile device, according to an example embodiment of the invention. The method 300 may be performed by a suitable key management system, such as the system 100 illustrated in FIG. 1. The method 300 may begin at block 305.


At block 305, registration request may be received for a mobile device, such as one of the mobile devices 150 illustrated in FIG. 1. For example, a registration request to activate the mobile device for use within a testing environment may be received. The request may be received utilizing a wide variety of suitable communication techniques. For example, the request may be received via an MNO and/or carrier network. As another example, the request may be received via a suitable Web interface and/or Web server associated with the KMS computer 110. As yet another example, the request may be received based upon a positioning of a mobile device 150 in proximity to a contactless reader/writer device or other suitable device, such as a kiosk or other reader/or writer device, that facilitates the provision of a test key to the mobile device 150. In yet other embodiments, a registration request may not be received, and the provision of a test key may be initiated by the KMS computer 110. As desired, a wide variety of information may be received from the mobile device 150 during a registration request and/or in association with the provisioning of a test key to the mobile device 150. Examples of suitable information that may be received include, but are not limited to, an identification information for the mobile device 150, identification information for a secure element associated with the mobile device 150 (e.g., card production life cycle (“CPLC”) information and/or other identifying information associated with a secure element (e.g., the ICCID, IMSI, etc.)), information associated with a production key associated with the mobile device 150, and/or an identifier of a desired testing environment (e.g., a DEV environment, a QA environment, or a CAT or UAT environment).


At block 310, a desired testing environment for the mobile device 150 may be identified. For example, information received from the mobile device 150 may be evaluated in order to determine or identify a desired testing environment. As another example, input received from other entities (e.g., a testing service provider) and/or via one or more I/O devices (e.g., a keyboard, mouse, etc.) may be evaluated in order to identify a desired testing environment. For example, a testing environment indication may be entered into a kiosk associated with the KMS computer 110, directly entered into the KMS computer 110 by a user, and/or received via a Web server from a service provider conducting testing on the mobile device 150.


At block 315, a test key may be generated, determined, or derived for the mobile device 150 and/or the secure element. In certain embodiments, a base level key, such as a master key determined by a testing service provider or a mobile device manufacturer, may be utilized to generate or derive the rotated key. Additionally, a wide variety of suitable rotation techniques (e.g., a key schedule, etc.) and/or other methods or derivation techniques may be utilized as desired to derive a test key. For example, additional information may be combined with the base level key during a derivation of a test key. In certain embodiments, at least a portion of the received identifying information, such as CPLC information and/or an identifier of the secure element, may be utilized in conjunction with the base level key to derive a test key. For example, an identifier of the secure element may be combined (e.g., added, multiplied, etc.) with the base level key to derive a test key for the mobile device 150. In other embodiments, test keys may be specified by a testing entity for provision to mobile devices 150 and a next available test key may be selected. Indeed, a wide variety of suitable methods and/or techniques may be utilized to identify a suitable test key. As desired, the test keys that are utilized for a testing environment may be unique to the testing environment and/or determined based upon an identification of the testing environment.


Additionally, in certain embodiments of the invention, identifying information for the mobile device 150 may be modified or updated by the KMS computer 110. For example, received CPLC information may be modified or updated by the KMS computer 110. A wide variety of different aspects of CPLC information and/or identifying information may be updated as desired in various embodiments, such as date information, version information, key version information, etc. In certain embodiments, the updated identifying information may be utilized in the derivation of a rotated key.


At block 315, the generated or derived test key and/or any updated identifying information may be provided by the KMS computer 110 to the mobile device 150. For example, the test key and/or identifying information may be provisioned or otherwise provided to a secure element of the mobile device 150. According to an aspect of the invention, a production key or manufacturer provided key associated with the secure element may be replaced with the test key. In this regard, the test key may be utilized by the mobile device 150 to facilitate identification and/or authentication of the mobile device 150 within a designated testing environment, as well as for the encryption and/or decryption of communications within the testing environment.


At block 320, the KMS computer 110 may store or direct the storage of the generated test key, the production key that was originally stored on the mobile device 150, and/or identifying information for the mobile device 150 and/or secure element in one or more suitable memory devices, such as the databases 138 illustrated in FIG. 1. In this regard, the KMS computer 110 and/or various testing environment servers may access the information to facilitate an authentication of the mobile device 150 at a subsequent point in time, such as during the processing of testing environment requests. Additionally, the KMS computer 110 may access the information to facilitate a replacement of the test key on a mobile device 150 with the original production key that was previously removed from the secure element.


At block 330, which may be optional in certain embodiments of the invention, information associated with the test key provision may be provided to a wide variety of other entities, such as a testing environment server and/or to a TSM. A wide variety of information may be provided as desired in various embodiments of the invention, such as identification information for the mobile device 150 and/or the secure element, test key information, and/or information associated with the product keys. A testing environment server may utilize the received information to facilitate the authentication of the mobile device 150 within the testing environment and/or to facilitate the provisioning of various applications to the mobile device 150 and the processing of various transactions associated with the mobile device 150. A TSM may utilize the received information to facilitate the identification and/or blacklisting of test devices. In this regard, a TSM that is utilized in a commercial environment may limit and/or prohibit the functionality of test devices within the commercial environment. Additionally, the TSM may identify and/or address various security breaches within a commercial environment. For example, the TSM may prevent a security breach resulting from an attempted fraudulent loading of a production key originally associated with a test device onto another device.


The method 300 may end following block 330.



FIG. 4 illustrates a flow diagram of an example method 400 for providing a test key to a mobile device via over the air provisioning, according to an example embodiment of the invention. The method 400 may be one example of the operations that may be performed to facilitate the method 300 of FIG. 3. It will be appreciated that other methods and/or techniques other than OTA provisioning, such as Web-based techniques and/or contactless reader communications, may be utilized to facilitate the provision of test keys to mobile devices. The method 400 may be performed by a suitable key management system, such as the system 100 illustrated in FIG. 1. The method 400 may begin at block 402.


At block 402 a user may activate a mobile device, such as one of the mobile devices 150 illustrated in FIG. 1. In certain embodiments, the activation of the mobile device 150 may be an initial activation of the mobile device 150. Based upon an activation of the mobile device 150, the mobile device 150 may attempt to facilitate a registration with the MNO computer 140 and/or a KMS computer, such as the KMS computer 110 illustrated in FIG. 1. As an alternative to an activation of the mobile device 150 to initiate the request of a test key, a mobile device 150 may be situated in close proximity to the KMS computer 110 or associated key rotation device, and the KMS computer 110 may initiate the key rotation. As yet another alternative, a user command may be received by the mobile device 150, and a key rotation may be requested based at least in part upon receipt of the user command.


In certain embodiments, once the mobile device 150 has been activated and/or once a user has logged into the mobile device 150 and request a key rotation, a suitable authentication notification may be sent to the MNO computer 140. The MNO computer 140 may validate the mobile device 150, and an authentication token may be returned to the mobile device 150. The authentication token may be utilized to form a relatively secure communications channel between the mobile device 150 and the MNO computer 140.


At block 404, a registration request or key rotation request may be generated by the mobile device 150, and the generated request may be output for communication to the MNO computer 140. As desired, the request may include an identifier of a desired testing environment in which the mobile device 150 will be utilized. The request may be received and processed by the MNO computer 140 at block 406. In response to the request, a request identifier may be output by the MNO computer 140 at block 408 for communication to the mobile device 150. As desired, an instruction for the mobile device 150 to contact the KMS computer 110 for key rotation purposes utilizing the request identifier may also be communicated to the mobile device 150. In certain embodiments, contact information for the KMS computer 110 may also be communicated to the mobile device 150.


The request identifier and/or associated information may be received by the mobile device 150 at block 410. At block 412, a test registration request may be generated by the mobile device 150 and output for communication to the KMS computer 110. In certain embodiments, the request identifier may be utilized to generate the test registration request and/or direct the transmission of the test registration request to the KMS computer 110. The test registration request may be received and processed by the KMS computer 110 at block 414. As desired in various embodiments, any number of suitable networks and/or communications techniques may be utilized to facilitate the communication of the request to the KMS computer 110. For example, the request may be communicated via a suitable carrier network, such as one of the carrier networks 180 illustrated in FIG. 1. In certain embodiments, the request may be communicated directly to the KMS computer 110. In other embodiments, the request may be communicated through any number of intermediary systems and/or devices, such as an MNO computer 140. During the processing of the test registration request, the KMS computer 110 may request an OTA proxy associated with the mobile device 150 be woken up or activated. For example, a request for OTA proxy activation may be sent to the MNO computer 140 at block 416. In certain embodiments, the MNO computer 140 may be requested to wake up an OTA proxy that is stored on a general or shared memory or general operation chip associated with the mobile device 150. The MNO computer 140 may receive the request at block 418 and push or otherwise communicate a request to wake up the OTA proxy to the mobile device 150.


At block 420, the OTA proxy wake up request may be received by the mobile device 150. The OTA proxy associated with the mobile device 150 may be activated and/or woken up, and an OTA proxy message associated with the registration of the mobile device 150 may be communicated by the mobile device 150 to the KMS computer 110 at block 422. The OTA proxy registration message may be received by the KMS computer 110 at block 424. In certain embodiments, a secure communications channel may be established between the KMS computer 110 and the mobile device 150 (or the mobile device secure element). As desired, a wide variety of suitable techniques may be utilized to authenticate a secure communications channel. For example, a registration identifier received from the mobile device 150 and a registration identifier received from the MNO computer 140 may be compared to facilitate the authentication of a secure communications channel. As another example, one or more Application Protocol Data Unit (“APDU”) commands may be utilized to facilitate the authentication of a secure communications channel. As yet another example, any number of suitable handshake procedures may be utilized to facilitate the authentication and/or the establishment of a secure communications channel.


At block 426, identifying information for the mobile device 150 and/or a mobile device secure element may be requested by the KMS computer 110. For example, the mobile device 150 may be requested to communicate identifying information to the KMS computer 110 via the secure communications channel. A wide variety of different types of identifying information may be requested as desired in various embodiments of the invention, including but not limited to, an identifier of a desired testing environment, an identifier of the secure element, CPLC information for the secure element, production key information stored on the secure element, and/or an identifier of production key information (e.g., a numerical identifier of a production key stored within a list of production keys, etc.).


At block 428, the request for identifying information may be received by the mobile device 150 via the secure communications channel, and the requested information may be returned to the KMS computer 110 by the mobile device 150 at block 430. At block 432, the KMS computer 110 may receive and process the requested identifying information. In certain embodiments of the invention, the KMS computer 110 may determine at block 434 whether the secure element may be authenticated. For example, at least a portion of the received identifying information may be compared to expected identifying information, and a determination may be made as to whether the secure element and/or the mobile device 150 is valid based at least in part upon the comparison. In one example embodiment, received CPLC information may be compared to stored CPLC information, such as CPLC information previously received from a device manufacturer or other third party data source. If it is determined at block 434 that the secure element is not authenticated, then operations may continue at block 436, and the mobile device 150 may be marked as an invalid mobile device, and the key rotation process may end. As desired, a registration error message may be communicated by the KMS computer 110 to the mobile device 150 for display or other presentation to a user. The error message may be received and processed by the mobile device 150 at block 438, and operations may end following block 438.


If, however, it is determined at block 434, that the secure element is authenticated and/or that the mobile device 150 is valid, then operations may continue at block 440. At block 440, a test key may be generated or derived for the mobile device 150 and/or the secure element. A wide variety of suitable methods and/or techniques may be utilized as desired to generate or derive a test key. For example, a desired testing environment may be identified, and a next available test key for the desired testing environment may be accessed from memory and/or obtained from a device associated with the testing environment. As another example, a base level key associated with the testing environment, such as a master key, may be utilized to generate or derive a test key for the testing environment. For example, a wide variety of suitable rotation techniques (e.g., a key schedule, etc.) and/or other methods or derivation techniques may be utilized as desired to derive a test key from the master key. As desired, additional information may be combined with the base level key during a derivation of a test key. For example, at least a portion of the received identifying information, such as CPLC information and/or an identifier of the secure element, may be utilized in conjunction with the base level key to derive a test key for the mobile device 150.


Additionally, in certain embodiments of the invention, identifying information for the mobile device 150 may be modified or updated by the KMS computer 110 at block 440. For example, received CPLC information may be modified or updated by the KMS computer 110. A wide variety of different aspects of CPLC information and/or identifying information may be updated as desired in various embodiments, such as date information, version information, key version information, etc. In certain embodiments, the updated identifying information may be utilized in the derivation of a test key.


At block 442, the generated or derived test key and/or any updated identifying information may be communicated or transmitted by the KMS computer 110 to the mobile device 150. For example, the test key and/or identifying information may be provisioned or otherwise provided to a secure element of the mobile device 150 via the OTA proxy. The mobile device 150 may receive and store the test key and/or identifying information at block 444. For example, the test key and/or identifying information may be stored on the secure element, and the production key may be replaced on the secure element. In this regard, the test key may be utilized by the mobile device 150 and/or the secure element to facilitate identification of the mobile device 150 within the testing environment and/or the encrypt and/or decryption of communications within the testing environment.


At block 446, the test key, information utilized to derive the test key, received identifying information, updated identifying information, the production key, and/or information utilized to identify the production key may be stored by the KMS computer 110 in one or more suitable memory devices, such as the databases 138 illustrated in FIG. 1. In this regard, the stored information may be subsequently accessed to facilitate authentication of the mobile device 150 by the KMS computer 110 and, as desired, replacement of the test key with the production key. Additionally or alternatively, in certain embodiments, at least a portion of the information may be communicated by the KMS computer 110 to one or more TSMs 160, such as a TSM that facilitates authentication and/or integration of mobile devices within a commercial environment. In this regard, the TSM may facilitate subsequent identification of and/or blacklisting of the test mobile device 150 within a commercial environment. Additionally, the TSM may facilitate the identification of potential security risks based upon an attempted use of the production key associated with the test mobile device 150 within a commercial environment. The communicated information may be received and stored by the TSMs at block 448.


The method 400 may end following either block 438 or block 448.


The operations described and shown in the methods 300 and 400 of FIGS. 3-4 may be carried out or performed in any suitable order as desired in various embodiments of the invention. Additionally, in certain embodiments, at least a portion of the operations may be carried out in parallel. Furthermore, in certain embodiments, less than or more than the operations described in FIGS. 3-4 may be performed.


The invention is described above with reference to block and flow diagrams of systems, methods, apparatuses, and/or computer program products according to example embodiments of the invention. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and the flow diagrams, respectively, can be implemented by computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, or may not necessarily need to be performed at all, according to some embodiments of the invention.


Various block and/or flow diagrams of systems, methods, apparatus, and/or computer program products according to example embodiments of the invention are described above. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, respectively, can be implemented by computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, or may not necessarily need to be performed at all, according to some embodiments of the invention.


These computer-executable program instructions may be loaded onto a special purpose computer or other particular machine, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks. As an example, embodiments of the invention may provide for a computer program product, comprising a computer-usable medium having a computer-readable program code or program instructions embodied therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.


Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special purpose hardware and computer instructions.


Many modifications and other embodiments of the invention set forth herein will be apparent having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims
  • 1. A computer-implemented method for providing test keys to mobile devices, the method comprising: receiving identifying information for a mobile device or a secure element associated with the mobile device;determining a test key to be provided to the mobile device, the test key configured to facilitate the use of the mobile device within a test environment; andproviding the determined test key to the mobile device;wherein a production key stored on the secure element is replaced by the test key, andwherein the above operations are performed by one or more computers associated with a key management service provider.
  • 2. The computer-implemented method of claim 1, further comprising: identifying the test environment in which the mobile device will be utilized; anddetermining the test key based at least in part upon the identified test environment.
  • 3. The computer-implemented method of claim 2, wherein identifying the test environment comprises identifying one of a development test environment, a quality assurance test environment, a client acceptance testing test environment, or a unit acceptance testing test environment.
  • 4. The computer-implemented method of claim 1, wherein receiving identifying information for a mobile device comprises receiving identifying information via one of (i) a wide area network, (ii) a mobile carrier network, or (iii) a locally connected device.
  • 5. The computer-implemented method of claim 1, wherein determining a test key comprises deriving a test key based at least in part upon the identifying information for the mobile device.
  • 6. The computer-implemented method of claim 1, further comprising: storing information associated with the production key to facilitate a subsequent replacement of the test key with the stored production key.
  • 7. The computer-implemented method of claim 1, further comprising: providing information associated with at least one of the test key or the production key to a trusted service manager in order to limit the utilization of the mobile device within a commercial environment.
  • 8. A system for providing test keys to mobile devices, the system comprising: at least one memory configured to store computer-executable instructions; andat least one processor configured to access the at least one memory and execute the computer-executable instructions to: receive identifying information for a mobile device or a secure element associated with the mobile device;determine a test key to be provided to the mobile device, the test key configured to facilitate the use of the mobile device within a test environment; andprovide the determined test key to the mobile device;wherein a production key stored on the secure element is replaced by the test key, andwherein the above operations are performed by one or more computers associated with a key management service provider.
  • 9. The system of claim 8, wherein the at least one processor is further configured to execute the computer-executable instructions to: identify the test environment in which the mobile device will be utilized; anddetermine the test key based at least in part upon the identified test environment.
  • 10. The system of claim 9, wherein the computer-executable instructions to identify the test environment comprise instructions to identify one of a development test environment, a quality assurance test environment, a client acceptance testing test environment, or a unit acceptance testing test environment.
  • 11. The system of claim 8, wherein the computer-executable instructions to receive identifying information for a mobile device comprise instructions to receive identifying information via one of (i) a wide area network, (ii) a mobile carrier network, or (iii) a locally connected device.
  • 12. The system of claim 8, wherein the computer-executable instructions to determine a test key comprise instructions to derive a test key based at least in part upon the identifying information for the mobile device.
  • 13. The system of claim 8, wherein the at least one processor is further configured to execute the computer-executable instructions to: store information associated with the production key to facilitate a subsequent replacement of the test key with the stored production key.
  • 14. The system of claim 8, wherein the at least one processor is further configured to execute the computer-executable instructions to: provide information associated with at least one of the test key or the production key to a trusted service manager in order to limit the utilization of the mobile device within a commercial environment.
  • 15. A computer-implemented method for providing test keys to mobile devices, the method comprising: transmitting identifying information from a mobile device or a secure element associated with the mobile device;receiving a test key at the mobile device, wherein the test key is configured to facilitate use of the mobile device within a test environment;wherein a production key stored on the secure element is replaced by the test key, andwherein the above operations are performed by one or more computer processors associated with the mobile device.
  • 16. The computer-implemented method of claim 15, wherein the test key is based at least in part on the test environment previously identified for the mobile device.
  • 17. The computer-implemented method of claim 15, wherein transmitting identifying information from a mobile device comprises transmitting identifying information via one of (i) a wide area network, (ii) a mobile carrier network, or (iii) a locally connected device.
  • 18. The computer-implemented method of claim 15, wherein receiving a test key comprises receiving a test key based at least in part upon the identifying information from the mobile device.
  • 19. The computer-implemented method of claim 15, further comprising: storing information associated with the production key to facilitate a subsequent replacement of the test key with the stored production key.
  • 20. The computer-implemented method of claim 15, further comprising: transmitting information associated with at least one of the test key or the production key to a trusted service manager in order to limit the utilization of the mobile device within a commercial environment.
RELATED APPLICATION

This application claims priority to U.S. Ser. No. 61/490,501, titled “Trusted Service Manager,” filed on May 26, 2011, the contents of which are incorporated herein by reference.

Provisional Applications (1)
Number Date Country
61490501 May 2011 US