Method and system for enabling user equipment to utilize secrecy - Patent Application 20070122997

User equipment secures digital communications by receiving and verifying secrets from a trusted source, generating keys for secure communications, addressing the challenge of unreliable randomness in existing devices.

JP2026503927APending Publication Date: 2026-02-03GURULOGIC MICROSYST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025528167
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-13
Filing Date
2024-01-08
Publication Date
2026-02-03

Smart Images

  • Figure 2026503927000001_ABST
    Figure 2026503927000001_ABST
Patent Text Reader

Abstract

The user equipment can utilize a secret in cryptographically protected communications and / or cryptographic authentication of data. The communication unit is configured to forward a secret received from a trusted external source to a key generation unit. The key generation unit is configured to generate one or more keys using the secret as a cryptographic seed and store the one or more keys in a key storage unit. The communication encryption / decryption unit is configured to retrieve the one or more keys from the key storage unit and use the one or more keys to cryptographically protect communications performed through the communication unit.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the technical field of security required for communications between digital devices utilizing digital services. In particular, the present invention relates to the problem of establishing secrets within user equipment for use in such communications without necessarily relying on capabilities specific to the user equipment. Examples of such secrets include, but are not limited to, user encryption keys and signature keys. BACKGROUND OF THE INVENTION

[0002] Security in digital communications involves multiple aspects, including confidentiality (only authorized parties can access information), authentication (parties must be sure they are who they are communicating with), integrity (information has not been altered in an unauthorized way), and non-repudiation (parties cannot deny having sent certain information). All of these aspects of security must ultimately be built on a secret piece of digital information (usually simply called the secret). To provide sufficient security against attempts to break the encryption, the secret must be derived from randomness.

[0003] True randomness is difficult to create because digital devices operate deterministically according to the laws of nature. To ensure the confidentiality and protection of verifiable information, it is important to recognize and verify where and how the randomness in question originates. In theory, randomness may appear correct and can be tested using various randomness testing techniques. However, if it is generated deterministically based on computational or logical functions whose variables can be manipulated or predicted in some way, malicious actors may be able to defeat it through modeling or brute force. For this reason, various techniques based on true randomness rather than pseudorandomness have been developed. One example of such a technique is to gather randomness from external data streams that are difficult to predict, such as naturally occurring noise.

[0004] The widely used PKI (Public Key Infrastructure) technology is a good example of how secrets can be used for secure digital communications. A communications device can randomly generate a private key and use a mathematical algorithm to derive the corresponding public key. The private key is freely distributed and used to encrypt communications intended for that device. Because only the device knows the private key, no one else can decrypt such encrypted communications. The communications device can also digitally sign communications sent using its private key, allowing others to verify the proper origin by successfully using the corresponding public key. A necessary condition for trust in such cases is that the generation of the private key is sufficiently random that a malicious party cannot guess it using publicly available information.

[0005] Examples of algorithms involving the generation and use of private and public keys include RSA (Rivest-Shamir-Adleman), DSA (Digital Signature Algorithm), and ECC (Elliptic Curve Cryptography). For example, when using ECC, the private key is stored in the URT. SK , public key to URT PKand can use an algorithm called Curve25519 to derive the public key from the private key.

[0006] As an example use case, consider digital communications between Party A and Party B. Party A is a centrally operated digital service, and Party B is an individual user. Party A's equipment was assembled and programmed by Party A itself, and its secure operation was verified by a trusted neutral instance, C. Therefore, Party A's equipment's ability to randomly generate secrets for use in its communications can be trusted. Party B, on the other hand, uses ordinary user equipment, such as a smartphone or laptop. This user equipment may or may not have unique features, such as specially designed and programmed circuitry for generating secrets. The user equipment was designed, manufactured, and programmed in Country X. However, if such circuitry exists, it may have been imported from Country Y. Whether Party B's user equipment can generate secrets random enough for Party B to use in its communications depends on many factors, few of which either Party A or B can check or truly trust. Even if a manufacturer guarantees that its product complies with certain standards for randomness, there may be industrial, commercial, and even governmental players with the motive and means to insert backdoors into algorithms and hardware solutions that appear to be confidential.

[0007] Prior art document US2018 / 0026950A1 describes a client application that cryptographically protects application data using application layer encryption keys.

[0008] Another prior art document, US2022 / 0070666A1, describes a method for secure communication between a medical sensor and a computing device.

[0009] Another prior art document, US Pat. No. 10,963,593 B1, describes a technique for enhancing information security in using key management systems and other providers of cryptographic services.

[0010] This section is provided to introduce some concepts in a simplified form that are described later in the detailed description. This section is not intended to be used to limit the scope of the claimed subject matter.

[0011] The goal is to provide methods and mechanisms for ensuring secure digital communication between parties without relying on randomness of unknown origin.

[0012] According to a first aspect, there is provided a system for enabling a user device to utilize a secret in cryptographically protected communications and / or cryptographic authentication of data. The system includes a communication unit, a communication encryption / decryption unit, a key generation unit, and a key storage unit. The communication unit is configured to transfer a secret received from a trusted external source to the key generation unit. The key generation unit is configured to generate one or more keys using the secret as a cryptographic seed and store the one or more keys in the key storage unit. The communication encryption / decryption unit is configured to cryptographically verify the immutability and integrity of the received secret before transferring the secret to the key generation unit. The verification is performed by verifying a digital signature received in association with the secret using a public key of a supposed sender of the secret. The communication encryption / decryption unit is configured to retrieve the one or more keys from the key storage unit and use the one or more keys to cryptographically protect communications performed through the communication unit.

[0013] In some embodiments, the communication unit is configured to establish a secure digital communication channel with a peer party and thereafter receive the secret over the secure digital communication channel, thereby making the peer party appear as the trusted external source, with the advantage that at least the reliable, high-entropy nature of the secret generated in the peer party's environment can be relied upon and still achieve sufficient digital security in the system.

[0014] In some embodiments, the communication units are configured to establish a secure digital communication channel using the Transport Layer Security standard, also known as TLS, which has at least the advantage of using standardized and well-known methods without imposing very specific requirements on the equipment and software involved.

[0015] In some embodiments, the communication unit is configured to receive the secret over a channel different from the channel used for the cryptographically protected communication performed through the communication unit when the communication encryption / decryption unit retrieves the one or more keys from the key storage unit, which has the advantage at least of avoiding potential security risks associated with the former channel when receiving the secret.

[0016] In some embodiments, the communication unit is configured to use at least one of optical fiber communication, near field communication, and communication via a manual user interface as the different channel, which has the advantage at least of providing sufficient differentiation from other channels and thus improving security.

[0017] In some embodiments, the communication encryption / decryption unit is configured to perform the cryptographic verification by comparing a received public key associated with the secret with a separately obtained public key of the supposed sender of the secret, which has at least the advantage that the reliability of the verification can be assessed based on knowledge of some known method.

[0018] In some embodiments, the key generation unit is configured to at least one of use the secret as a seed for a key generation algorithm and use information received from a user of the system and the secret as inputs to a key generation algorithm to generate the one or more keys, with at least the advantage that even if the confidentiality of the secret is compromised, it is still difficult to defeat the security of whatever the result of the key generation algorithm is used for.

[0019] In some embodiments, the system is configured to permanently discard at least one of the one or more keys generated by the key generation unit immediately after use, which includes at least the advantage that the discarded key cannot be compromised by unintended intermediate access by an unauthorized party to data stored by the system, since it is generated only for its immediate use and then discarded.

[0020] According to a second aspect, there is provided a method for enabling a user equipment to utilize a secret in cryptographically protected communications and / or cryptographic authentication of data, the method comprising: the user equipment receiving the secret from a trusted external source;

[0021] cryptographically verifying the immutability and integrity of the received secret; wherein said cryptographically verifying comprises verifying a received digital signature associated with said secret using a public key of the supposed sender of said secret, and said method further comprising:

[0022] After the cryptographic verification, generating one or more keys using the secret as a cryptographic seed. The method includes storing the one or more keys for later use, and retrieving the one or more keys and using the one or more keys to cryptographically protect communications performed by the user equipment.

[0023] In some embodiments, the method includes establishing a secure digital communications channel with a peer party and thereafter receiving the secret over the secure digital communications channel, thereby making the peer party appear as the trusted external source, with the advantage of being able to rely on the reliable, high-entropy nature of the secret generated in the peer party's environment while still achieving sufficient digital security in the system.

[0024]

[0006] In some embodiments, establishing the secure digital communications channel comprises at least one of the following: Use of the Transport Layer Security standard, also known as TLS, to establish said secure digital communications channel; · using optical fiber communications as said secure digital communications channel; · using near field communication as said secure digital communications channel; The secure digital communication channel may be communication via a manually operated user interface, which has the advantage at least of being able to use standardized and well-known methods without imposing very specific requirements on the equipment and software involved.

[0025] In some embodiments, the cryptographically verifying comprises comparing a received public key associated with the secret with a separately obtained public key of the supposed sender of the secret, which has the advantage at least that the reliability of the verification can be assessed based on knowledge of some known method.

[0026] In some embodiments, generating the one or more keys includes at least one of using the secret as a seed for a key generation algorithm and using information received from a user of the system and the secret as inputs to a key generation algorithm, with at least the advantage that even if the confidentiality of the secret is compromised, it is still difficult to defeat the security of whatever the result of the key generation algorithm is used for.

[0027] In some embodiments, the method includes permanently discarding at least one of the generated one or more keys immediately after use, which has the benefit of at least ensuring that the discarded key cannot be compromised by unintended intermediate access by an unauthorized party to data stored by the system.

[0028] According to a third aspect, there is provided a computer program product comprising one or more sets of one or more machine-readable instructions that, when executed by one or more processors, cause performance of a method of the type described above. [Brief explanation of the drawings]

[0029] In the following drawings: [Figure 1] 1 shows components of two communication devices. [Figure 2] 1 shows components of two communication devices. [Figure 3] Illustrates communication between two devices. [Figure 4] It shows the actions performed by the Trusted Center system. [Figure 5] 1 illustrates actions performed by a user equipment. [Figure 6] 1 shows an example of message content. [Figure 7] 1 shows an example of key generation. [Figure 8] 1 shows an example of key generation. [Figure 9] 1 shows an example of key generation. Detailed explanation

[0030] In the following description, reference is made to the accompanying drawings, which form a part of this disclosure, and which show, by way of illustration, specific forms in which the present disclosure may be embodied. It is to be understood that other forms may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, as the scope of the present disclosure is defined by the appended claims.

[0031] For example, it should be understood that disclosure related to a described method may also apply to a corresponding apparatus or system configured to perform that method, and vice versa. For example, where particular method steps are described, a corresponding apparatus may comprise units that perform the described method steps, even if such units are not explicitly described or shown in the figures. Conversely, for example, where a particular apparatus is described in terms of functional units, a corresponding method may include steps that perform the described functions, even if such steps are not explicitly described or shown in the figures. Furthermore, it should be understood that features of various example aspects described herein can be combined with each other, unless otherwise noted.

[0032] In the following description, we use the terms "trusted center system" and "user equipment." The former refers to a computer device or a system of interconnected computer devices that constitutes a trusted computing environment. This means that the configuration and operation of the trusted center system are known and verifiable by a party that is trusted by the parties involved. Examples of trusted center systems include, but are not limited to, computer systems of banks and government authorities. Other terms that may be used instead of or in addition to "trusted center system" are, at a minimum, "trusted environment," "trusted server," and "wallet provider."

[0033] A "user equipment" is not necessarily a single device and / or a device used by a single user. However, typical examples of "user equipment" include a user's smartphone, tablet, or laptop computer. Generally, a user equipment is a device or a system of interlinked devices used, among other things, for secure, cryptographically protected digital communication with one or more trusted center systems. While the configuration and operation of the user equipment, as well as the configuration and operation of the trusted center systems, are not known or verifiable, it can be assumed that for such digital communication (and for services that rely on such digital communication), the user equipment uses known types of installed and / or downloadable application programs.

[0034] 1, the trusted center system 100 includes a communications transceiver 101, a cryptographic engine represented as an encryption and decryption unit 102, and communication upper layer(s) 103. Upper layer 103 is a general term for all the service, application, and protocol layers that can utilize the trusted center system 100's ability to communicate with other devices and systems.

[0035] The trusted center system 100 can generate all cryptographic products and cryptographic elements required for cryptographically protected communication. The trusted center system 100 includes a source of randomness, represented in Figure 1 as the random generator 104. Seed information, such as environmental noise, can be used to generate true randomness. In a trusted server environment, true randomness generation is typically associated with the concept of a hardware secure module (HSM). An HSM is, for example, a specially constructed circuit board or device in a computer room used by the trusted center system. The output of the random generator 104 is a random bit string that the key generator 105 can use to generate one or more keys. The generated keys are stored in the key storage unit 106. The encryption / decryption unit 102 can retrieve keys from the key storage unit 106 as needed to perform encryption, decryption, digital signatures, and other cryptographic operations required for cryptographically protected communication.

[0036] 1 are essentially the same as the corresponding elements in the trusted center system: the communication transceiver 111, the encryption / decryption unit 112, the upper communication layer(s) 113, the random number generator 114, the key generator 115, and the key storage unit 116. These are coupled together and configured to perform the same operations as their counterparts in the trusted center system 100, only on a smaller scale, since the number of parties with which the user device 110 needs to perform cryptographically protected communications is usually significantly smaller than that of the trusted center system 100.

[0037] The system of Figure 1 suffers from the drawbacks discussed in the prior art section. It is unclear whether the random number generator 114 of the user equipment can generate a bit string with sufficient randomness. More importantly, it is unclear whether the secrets generated by the user equipment can be trusted, due to the possibility of so-called hidden backdoors, both in software and hardware. If such hidden backdoors exist, there is a good chance that they will be activated when the user equipment generates random numbers. This undermines the reliability of any operations in which the generated random numbers are used.

[0038] 2, the trusted center system 100 has all the same elements as in FIG. 1, although some of them may be programmed to perform additional operations, as will be explained in more detail below. The user equipment 210 has a communication unit 211, a communication encryption / decryption unit 212, a key generation unit 215, and a key storage unit 216. The upper communication layers in the user equipment 210 are represented by block 213. Like the upper layer 103, block 213 is also a general term for all service, application, and protocol layers that can utilize the user equipment 210's ability to communicate with other devices and systems.

[0039] It should be noted that for the purposes described herein, the user equipment 210 need not have its own random generator. However, this does not preclude the user equipment 210 from having its own random generator, since the user equipment may use more or less random input for other purposes. The communication unit 211 is configured to transfer a secret received from a trusted external source to the key generation unit 215. In the embodiment shown in FIG. 2, such transfer occurs through the communication encryption / decryption unit 212 and part of the upper communication layer included in block 213. The reasons for this configuration will be explained in more detail below. The key generation unit 215 is configured to use such transferred secret as a cryptographic seed to generate one or more keys and store them in the key storage unit 216. The communication encryption / decryption unit 212 is configured to retrieve one or more keys from the key storage unit 216 and use the one or more keys to cryptographically protect communications performed through the communication unit 211.

[0040] The keys in this context are, for example, user encryption and / or signature keys used in a PKI framework. Furthermore, the same principles can be used to generate and use other types of keys, such as the types used to establish secure communication channels whose security does not have to depend on manufacturer-specific features of the user's equipment, or the types used for cryptographic authentication of data.

[0041] The reason why the user equipment does not necessarily need to be equipped with a random generator is due to the principle that secret, i.e., random information, is provided from the trusted center system 100 to the user equipment 210. An example of a communication sequence using this principle is shown in Figure 3. On the left side of Figure 3, A represents the trusted center system, and on the right side, B represents the user equipment.

[0042] Steps 301 and 302 are preparatory steps that the trusted center system may take to prepare itself for the remaining operations shown in FIG.

[0043] These may have been performed much earlier and are only loosely conceptually connected to the other steps shown in Figure 3. In step 301, the trusted center system generates a random seed, and in step 302, the generated random seed is used to generate one or more keys for cryptographically protecting communications with the user equipment.

[0044] In step 303, the communication part of user equipment B and a peer party of trusted center system A establish a secure digital communication channel. The notion of peer party is used here to emphasize that while a trusted center system may, in at least some embodiments, refer to a larger system of interlinked computing devices that together comprise a trusted computing environment, only a limited portion of such a system may be involved in communications with an individual user equipment at a given time.

[0045] The method and mechanism for establishing a secure digital communication channel in step 303 is not critical. As an example, to establish a secure digital communication channel, the communicating portion of the user equipment and its peer party can be configured to use the Transport Layer Security (TSL) standard. As another example, an algorithm conforming to quantum-safe cryptography (QSC) can be used. This concept, currently under development, is sometimes referred to as post-quantum cryptography (PQC) or quantum-resistant cryptography (QRC). As another example, step 303 can involve bringing the user equipment into close enough proximity to wireless communication means or connecting them by a cable, such as a shielded electrical or optical fiber cable, to exchange information over a short distance under conditions deemed sufficiently secure, e.g., under the supervision of authorized officials. As yet another example, step 303 can involve using an optical fiber as a quantum channel and establishing an electrically controlled polarization system for encoding and decoding secrets via a photon pair source. This optical fiber communication principle is used in quantum key distribution (QKD). It can therefore also be used to transmit secret seeds or salts from a trusted computing environment, and is suitable as a secure digital communications channel because it is unbreakable by conventional methods.

[0046] If the secure digital communication channel established in step 303 includes a secure TLS connection, it is advantageous to use a communication protocol that allows for authentication of the parties. For example, if the HTTPS protocol is used, the user equipment must log on to the trusted center system using at least the basic Auth method. If trust is established between the parties regarding the exchange of token information required for login, a more advanced OAuth2.x method is even preferable. In conjunction with TLS, certificates can also be used for authentication between the parties. In this case, the user equipment does not need to log in using the above method. In such a case, the trusted center system authenticates the user equipment with a certificate digitally signed by the trusted center system itself or another trusted entity. These options may be generally described as a communication unit in the user equipment configured to establish a secure digital communication channel with a peer party. The communication unit is also configured to subsequently receive a secret through the secure digital communication channel.

[0047] Step 304 may or may not be present depending on the embodiment. In step 304, the user equipment requests a random seed from the trusted center system. This step is optional because in some cases the communication entity may be programmed so that a request from the user equipment is not necessary.

[0048] The trusted center system may initiate a secret transmission to the user equipment on its own initiative.

[0049] In step 305, the trusted center system generates a secret for later use by the user equipment. In Figure 3, this secret is referred to as a random seed. To generate the secret in step 305, the trusted center system utilizes its proven ability to ensure that the generated secret meets the criteria of true randomness. It should be noted that the order of the method steps shown in Figure 3 is not mandatory. For example, the trusted center system may have actually already generated the secret in question much earlier.

[0050] In step 306, the user equipment receives the secret from the trusted center system. As previously mentioned, the communication unit of the user equipment may be configured to receive the secret (due to the cryptographic protection used for the secret) over the same channel as that used for subsequent cryptographically protected communications. In an alternative example, the communication unit may be configured to receive the secret over a channel that is different from the channel used for subsequent cryptographically protected communications performed through the communication unit. Examples of such different channels include, but are not limited to, near-field wireless communications and communications via a manually operated user interface such as a keypad or touch-sensitive display.

[0051] In step 308, the user device's key generator uses the received secret as a cryptographic seed to generate one or more keys. Preferably, these keys are PKI framework keys. At least one of the generated keys may be stored in the user device's key store. However, according to an advantageous embodiment, the user's key store is not used to store the user's private key. Instead, a private key generation process is performed each time a private key is needed. As shown in step 307 of FIG. 3, a PIN code or corresponding personal, non-stored information may be received from the user prior to key generation in step 308. Note that step 307 may or may not be present depending on the embodiment. Examples of how the received secret, possibly together with a PIN code or the like, may be used as a cryptographic seed for key generation are described in more detail below.

[0052] The generated key may be used for communication. To this end, it may be considered that the communication encryption / decryption unit of the user equipment is configured to retrieve the one or more keys from the key storage unit (or directly from the key generation step) and use the one or more keys to cryptographically protect communications carried out through the communication unit of the user equipment. As part of such communication, a registration step 309 is shown in FIG. 3. The user equipment may, for example, ask a trusted central authority to store in its database a public key generated by the user equipment using a previously transmitted secret as a cryptographic seed. In a typical PKI framework, one or more public keys, such as a signature key (in the case of DSA) or a public encryption key (in the case of ECC and RSA), are stored (possibly in a signed form, as in DSA) in a database and / or in a user certificate (in the key storage unit of the user equipment).

[0053] In embodiments in which the private key generation process is performed anew each time a private key is needed, the concepts of storing such a private key and retrieving it for later use can be understood as "storing" the private key in the sense that it briefly exists in a digital register or the like at the moment it becomes available for use. The private key is then "retrieved" from the digital register or the like when the communications encryption / decryption unit uses it to cryptographically protect communications. In other words, the cycle of "storing for later use" and "retrieving and using" can be very short in time, after which the private key is permanently discarded from memory and regenerated at a later moment only if it is needed again.

[0054] Figure 4 shows example substeps that may be involved in step 305 of Figure 3, i.e., when the trusted center system prepares to provide the requested secret to the user device. Step 401 represents the actual generation of the requested secret. In step 402, the trusted center system provides cryptographic protection for the secret that is transmitted to the user device.

[0055] In step 402, the secret can be cryptographically protected, with or without direct association with the secure digital communication channel established in step 303 of FIG. 3. If trust has already been established between the trusted center system and the user device, the communicating parties can share asymmetric or symmetric encryption keys. As an example of a symmetric encryption key, the trusted center system and the user device can have a single-use encryption key previously transferred according to the PSK (Pre-Shared Key) model. This key can be used by the trusted center system to protect the secret with a block cipher or queue cipher, such as the AES256-CTR or ChaCha20 algorithm, in step 402. As an example of an asymmetric encryption key, the trusted center system and the user device can have previously transferred each other's public ECC keys, such as those generated with the Curve25519 algorithm. Between such keys, each party can calculate a common secret and use it as the common secret. Alternatively, encryption keys can be generated from the distributed key, which protects randomness with the corresponding block cipher or queue cipher.

[0056] To ensure confidentiality is not compromised, it is recommended to attempt to utilize several security layers to securely transfer secrets between the trusted center system and the user device. If it is not possible to implement reliable encryption between the trusted center system and the user device, the secret can be digitally signed with the trusted center system's private signing key. The recipient of the secret can then be assured of its immutability by checking it using the trusted center system's corresponding public signing key. As an example of such an embodiment, using the EdDSA digital signature scheme based on the Ed25519 algorithm is cost-effective and relatively secure. It is also recommended that the recipient verify that the secret's signature is valid, i.e., that the correct trusted center system verifiably signed the secret. This verification can be performed using the trusted center system's public signing key.

[0057] To protect against attack vectors aimed at modifying or tampering with the original information, it is highly advantageous to use a signature algorithm that includes hashing the information being signed or verified. Distributing the information being signed increases security and speeds up the signing and verification process. This is because the information being signed is changed into a hash code of a fixed size, making it more difficult to modify or tamper with. That is, even small changes result in a change in the distributed hash. Take the DSA method with an Ed25519 signing key as an example, which has a built-in hash for the information being signed. When using other signature algorithms that do not have a built-in hash, it is strongly recommended to hash the data with a one-way algorithm, such as SHA2 or SHA3, before generating the signature and verifying the signed information accordingly.

[0058] Step 403 in Figure 4 represents the process by which the trusted center system transmits the cryptographically protected secret to the user device. Depending on the selected communication method, the transmission may be in one or more parts.

[0059] Figure 5 shows an example of substeps that may be involved in step 308 of Figure 3. That is, the user device generates one or more keys using the received secret as a cryptographic seed and stores the one or more keys in a key store. Again, note that preferably, the private key is not stored in the user device's key store, but is instead generated anew each time it is needed, for example, using a currently received PIN code. Thus, much of what has been said here about storing one or more keys in a key store is also applicable to storing public keys and / or signed certificates containing such public keys.

[0060] Step 501 represents the user equipment performing operations to receive a transmission containing a secret. As previously noted, these operations may refer to receiving digital information in the form of a modulated carrier wave over a wired or wireless communications channel. Additionally or alternatively, these operations may refer to other methods of reception, such as optically reading a QR code or other optically readable information, or receiving information through a manually operated user interface.

[0061] In Fig. 4, it was assumed that the trusted center system used one or more methods to cryptographically protect the secret before transmission. Correspondingly, step 502 in Fig. 5 represents the user equipment cryptographically verifying the immutability and integrity of the received secret before it is transferred to the key generation unit. The exact method used for such verification is essentially the known counterpart of the method used by the trusted center system in step 402, examples of which have been described above. Further advantageous features are described below with reference to Fig. 6. In a preferred embodiment in which the user equipment logs into the trusted center system using the https protocol, the login information can be either a user identifier and password or a client certificate. In both cases, such identification information is configured in the user equipment in a service-specific manner.

[0062] Figure 6 shows a schematic representation of digitally transmitted information 601. Its subparts are the public (signature) key of the trusted center system, shown as block 602, the private signature, shown as block 603, and the secret itself, labeled "salt," shown as block 604. The entire digitally transmitted information 601 may be further encrypted for transmission, for example, by using the public key of the intended recipient, in which case successful decryption requires knowledge of the corresponding private key.

[0063] The trusted center system may use the Ed25519 algorithm to generate a private signature key and a corresponding public signature key. After generating the private key 604, the trusted center system can compose the digitally transmitted information 601 by combining the generated private key 604, a signature 603 calculated therefrom using the private signature key, and a public signature key 602. Note that the trusted center system does not need its own public signature key 602 in the signing process because it uses its private signature key to sign the information to be signed. In this proposed embodiment, the trusted center system's public signature key 602 is conveniently included in the transmitted information and is therefore transmitted together with the signed information, and the user device does not need to obtain it separately.

[0064] Subsequently, when the user device receives the digitally transmitted information 601, it first decrypts all outer layers of encryption to extract the public key 602, signature 603, and secret 604. If the public key 602 is the same as the public key that the user device knows from other sources to belong to the trusted center system, the cryptographic verification process of step 502 may involve a simple check by comparing the received public key 602 associated with the secret 604 with the separately obtained public key of the supposed sender of the secret. As a more thorough check, the user device may use the public key of the supposed sender of the secret to verify the received digital signature 603 associated with the secret 604. The user device may then input the decrypted content of the received information 601 into the corresponding Ed25519 algorithm. This algorithm will only give a positive result if this particular secret is immutable and in its entirety, originally generated by the trusted center system and signed with its private signature key.

[0065] Returning to Figure 5, after the user equipment has verified that it has received the secret in its original and correct form, it uses the secret as a cryptographic seed to generate one or more keys and stores the key or keys in its key store in step 503. Figures 7 and 8 show two detailed examples of how key generation can be performed.

[0066] In Figure 7, the secret received by the user equipment from the trusted center system is SALT The method of Figure 7 includes using the secret and information received from the user as input to a key generation algorithm. The information received from the user is shown in Figure 7 as URT PIN This may be, for example, a short PIN code that the user enters using a keypad or touch-sensitive display. In step 701, the key generator of the user equipment uses a hashing algorithm to generate the secret key URT as follows: SK Generate.

[0067] URT SK = Hash(URT PIN , URT SALT )

[0068] An example of a hash algorithm that can be used in this manner is the Argon2 algorithm, which is commonly known and widely used in the field of digital cryptography. In step 702, the key generator of the user equipment generates the public key URT using the Curve25519 algorithm. PK is generated as follows:

[0069] URT PK = Curve25519(URT SK ) = Curve25519(Hash(URT PIN , URT SALT )).

[0070] Generated Key URT SK and URT PKBoth of these can be stored in the key storage unit of the user equipment and can be used to cryptographically protect communications carried out through the communication unit of the user equipment. However, as already mentioned, the private key URT SK should not be kept for longer than is necessary for immediate use.

[0071] Figure 8 shows a somewhat simpler approach where the key generation unit of the user equipment uses only the received secret key (and additional information received from the user) as the seed for the key generation algorithm. SEED In step 801, the key generator of the user equipment generates a secret key KEY using the Ed25519 algorithm. SK and the public key KEY PK is generated as follows:

[0072] KEY SK ,KEY PK = Ed25519(KEY SEED ).

[0073] Another method is shown in steps 901 and 902 of Fig. 9. Here, a private key and a public key KEY SK and KEY PK is generated as follows:

[0074] KEY SK ,KEY PK = Ed25519(Hash(URT PIN , URT SALT )).

[0075] In even simpler embodiments, the user equipment may use the received secret (or a portion thereof) as a cryptographic key. Thus, the above-defined process of the key generator for using the received secret as a cryptographic seed to generate one or more keys should be broadly interpreted as using the secret, or a portion thereof, being just one way to generate one or more keys using said secret as a cryptographic seed.

[0076] This method of providing reliable randomness ensures that all devices that can communicate with the trusted center system receive high-quality randomness, thereby enabling secure cryptography. This technology, for example, enables users to use various e-commerce services using existing devices that lack a secure environment for implementing high-quality cryptographic functions. It also enables the development of new types of consumer products, such as wearable devices and clothing, that enable secure electronic transactions even with the simplest computing units. This solution ensures that external parties cannot manipulate the randomness underlying secret information. Furthermore, this technology can ensure extremely high security of secret information when using cryptographic algorithms that can fully utilize the entropy of the randomness to derive secret information. This theoretically makes it resistant to attacks by even the most powerful future quantum computers.

[0077] The ranges or values ​​set forth herein may be expanded or modified without losing the desired effect, and any embodiment may be combined with other embodiments unless expressly prohibited.

[0078] Although the subject matter of the present application has been described in language specific to structural features and / or operations, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or operations described above. Rather, the specific features and operations described above are disclosed as example forms of implementing the claims, and other equivalent features and operations are intended to be encompassed within the scope of the claims.

[0079] It should be understood that the above-described benefits and advantages may relate to one or more embodiments, and that the embodiments are not limited to those that solve any or all of the problems described or that have any or all of the benefits and advantages described. Furthermore, the number of components may be one or more, even if not specifically stated.

[0080] The steps of the methods described herein may be performed in any suitable order, or simultaneously where appropriate. Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subject matter described herein. Aspects of any of the above-described embodiments may be combined with aspects of any of the other embodiments described above to form further embodiments without losing their desired effect. The description of methods herein also applies equally to computer program products comprised of machine-readable instructions that, when executed by one or more processors, cause implementation of methods of the type disclosed herein.

[0081] As used herein, the terms "comprising," "comprising," "including," and "having" are used to mean including specified methods, blocks, or elements, but such blocks or elements do not constitute an exclusive list and a method or apparatus may include additional blocks or elements.

[0082] It will be understood that the above description is provided by way of example only, and that various modifications may be made by those skilled in the art. The above specification, examples, and data provide a complete description of the structure and use of the exemplary embodiments. While various embodiments have been described with a certain degree of particularity, or with reference to one or more specific embodiments, those skilled in the art could make numerous modifications to the disclosed embodiments without departing from the spirit or scope of the present specification.

Claims

1. 1. A system for enabling user equipment to utilize secrecy in at least one of cryptographically secured communications and cryptographic authentication of data, the system comprising: ・Communications Department and a communication encryption / decryption unit; a key generation unit; a key storage unit; Equipped with the communication unit is configured to forward a secret received from a trusted external source to the key generation unit; the key generator is configured to generate one or more keys using the secret as a cryptographic seed and store the one or more keys in the key store; The communication encryption / decryption unit cryptographically verifying the immutability and integrity of the received secret before the secret is transferred to the key generation unit, said cryptographically verifying comprising using the public key of the supposed sender of the secret to verify a received digital signature relating to the secret; Retrieving the one or more keys from the key store and using the one or more keys to cryptographically protect communications performed through the communications unit; configured to perform system.

2. The system of claim 1 , wherein the communication unit is configured to establish a secure digital communication channel with a peer party and thereafter receive the secret over the secure digital communication channel.

3. 3. The system of claim 2, wherein the communication unit is configured to use the Transport Layer Security standard, also known as TLS, to establish the secure digital communication channel.

4. 10. The system of claim 9, wherein the communication unit is configured to receive the secret over a channel different from a channel used for the cryptographically protected communication performed through the communication unit when the communication encryption / decryption unit retrieves the one or more keys from the key storage unit.

5. The system of claim 4 , wherein the communication unit is configured to use at least one of communication via a cable or optical fiber, short-range wireless communication, and communication via a manually operated user interface as the different channels.

6. 10. A system according to any preceding claim, wherein the communication encryption / decryption unit is configured to perform the cryptographic verification by comparing a received public key associated with the secret with a separately obtained public key of the supposed sender of the secret.

7. In order to generate the one or more keys, the key generation unit using said secret as a seed for a key generation algorithm; using said secret and information received from a user of said system as input to a key generation algorithm; 10. A system according to any preceding claim, configured to perform at least one of:

8. The system of claim 7 , configured to permanently discard at least one of the one or more keys generated by the key generator immediately after use.

9. 1. A method for enabling a user equipment to utilize secrecy in at least one of encrypted secure communications and encrypted authentication of data, the method comprising: receiving a secret from a trusted source external to said user equipment; cryptographically verifying the immutability and integrity of the received secret; wherein said cryptographically verifying comprises verifying a received digital signature associated with said secret using a public key of the supposed sender of said secret, and said method further comprising: - after said cryptographic verification, generating one or more keys using said secret as a cryptographic seed; storing said one or more keys for later use; - deriving said one or more keys and using said one or more keys to cryptographically protect communications performed by said user equipment; A method comprising:

10. - Establishing a secure digital communication channel with a peer party; thereafter receiving the secret over the secure digital communications channel, thereby making the peer party appear as the trusted external source; 10. The method of claim 9, comprising:

11. Establishing the secure digital communication channel comprises: - Establishing a secure digital communication channel using the Transport Layer Security standard, also known as TLS; - using cable or fiber optic communication as the secure digital communication channel; - using near field communication as the secure digital communication channel; - using communication via a manually operated user interface as the secure digital communication channel; The method of claim 10, comprising at least one of:

12. 12. A method according to any one of claims 9 to 11, wherein said cryptographically verifying comprises comparing a received public key associated with said secret with a separately obtained public key of the supposed sender of said secret.

13. generating the one or more keys using said secret as a seed for a key generation algorithm; using said secret and information received from a user of said system as input to a key generation algorithm; 13. The method of claim 9, comprising at least one of:

14. 14. The method of claim 13, comprising permanently discarding at least one of the one or more generated keys immediately after use.

15. A computer program product comprising one or more sets of one or more machine-readable instructions which, when executed by one or more processors, cause the computer program product to perform the method of any of claims 9 to 14.