Detailed Action
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
Claim 16 is currently amended.
Claims 1-20 are pending and examined.
Response to Remarks
35 U.S.C. § 101
Remark 1: Applicant argues “the claims are not directed to a generic computer process, but rather are directed to specific techniques used in combination with UICC devices. The inventors have recognized that devices with SI cards often undergo a bootstrapping procedure to establish a secure channel between the device and a server, over which a secret can be shared. They have in turn realized that, as this shared secret is therefore unique to the SI, the shared secret can be used to extend the chain of trust in DLT to the device. That is, any SII', even if it does not have additional secure elements or applets, can be affiliated with a unique and immutable identity on the DLT. In other words, by identifying transactions added to a block on a distributed ledger with a secret shared between a device and a BSF and stored on a UICC of the device, the digital identity of the device can be linked to the physical device. This can reduce the risk of identity fraud or misuse when interacting with a DLT node. This is not a generic transaction, but rather is an inventive technique addressing specific hardware environments using UICC devices”. (Applicant Arguments, 2025-09-15).
Response to Remark 1: Examiner respectfully disagrees, as claim 1 merely recites a generic sequence of secure-channel establishment, secret sharing/storage, and then using that secret to “identify” ledger transactions. The references to a UICC and BSF merely relate that idea to a particular technological environment and use conventional components for their ordinary functions (bootstrapping/authentication via BSF, key storage on UICC, and key-based transaction identification), which is field-of-use limitation rather than a technological improvement. The asserted benefits (“extend chain of trust”, immutable identity”, “reduce fraud”) are aspirational results not implemented by any claimed technical mechanism (e.g. no specific cryptographic construction, attestation flow, or distributed ledger rule change), so the claim is not meaningfully integrated into a practical application and lacks an inventive concept beyond routine, conventional security practices implemented on generic devices and servers. Accordingly, this contention is unpersuasive.
35 U.S.C. § 103
Remark 1: Applicant argues “such reasoning overlooks the requirement of claim 1 that the shared secret is specifically a secret that was shared between the device and the BSF over a secure channel that was secured using a pre-provisioned key stored within a UICC of the device and at the BSF. There is no mention in Trevethan of any UICC or BSF at all. Thus, the combination of features noted above (feature 1) is not disclosed in Trevethan. . . . even if there were motivation to combine the references in the first place (which there is not). For example, many SIMs and IoT devices do not have the capability to create a secret key by themselves. Thus, to be able to use these devices with a distributed ledger technology (DLT) node, a unique identity must be created for them. This provides a digital identity for the SIM / IoT device on the DLT node to allow the device to sign transactions directly at the DLT node. However, the inventors have recognized that this means that a device identity on the DLT is not securely bound to the physical device itself. In other words, the chain of trust required to enable transactions and exchanges of values between parties starts at the DLT node and does not extend to the device itself. The device identity is therefore prone to fraud or misuse. The inventors have recognized that devices with SIM cards often undergo a bootstrapping procedure to establish a secure channel between the device and a server, over which a secret can be shared. They have in turn realized that, as this shared secret is therefore unique to the SIM, the shared secret can be used to extend the chain of trust in DLT to the device. That is, any SIM, even if it does not have additional secure elements or applets, can be affiliated with a unique and immutable identity on the DLT. In other words, by identifying transactions added to a block on a distributed ledger with a secret shared between a device and a BSF and stored on a UICC of the device, the digital identity of the device can be linked to the physical device. This can reduce the risk of identity fraud or misuse when interacting with a DLT node.”. (Applicant Arguments, 2025-09-15).
Response to Remark 1: Examiner respectfully disagrees, as claim 1 does not require that the same reference disclose both 1) the UICC/BSF bootstrapped secure-channel shared-secret generation, and 2) the distributed ledger transaction addition/identification, rather here Haynes teaches the former and Trevethan the latter. Haynes describes the Generic Bootstrapping Architecture in which ‘the client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation’ and further that ‘GBA relies on a shared secret between the mobile terminal and an application server’, with the mobile terminal using UICC/SIM-based security settings to derive key material and establish post-bootstrapping security for securing communications. Trevethan teaches the ‘distributed ledger’ and ‘add transaction’ sections, defining blockchain to include ‘all forms of distributed ledgers’ and disclosing that a shared key (e.g. a shared secret) is used to form and submit a blockchain transaction for recording: ‘computing a first shared key, depositing the digital asset to a blockchain network by generating a funding transaction using the first shared key, and broadcasting the funding transaction to the blockchain network’. Indeed, Trevethan does teach the noted limitation as its transaction is generating using the shared secret/shared key (thereby ‘identified using’ that secret) and then broadcast for inclusion/recording on the blockchain, while Haynes supplies the claimed BSF/UICC bootstrapped secure-channel content and shared-secret derivation. Accordingly, this contention is unpersuasive.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Claims 1-9:
Step 1
Claims 1-9 are directed to a computer-implemented method (i.e., process). Therefore, these claims fall within the four statutory categories of invention, and thus must be further analyzed at Step 2A to determine if the claims are directed to a judicial exception (See MPEP 2106.03, subsection II).
Step 2A Prong One
In Prong One examiners evaluate whether the claim recites a judicial exception, i.e., whether a law of nature, natural phenomenon, or abstract idea is set forth or described in the claim. Claim 1 recites (i.e., sets forth or describes) an abstract idea of transaction ledger bookkeeping and identification thereof using a shared secret. Specifically, but for the additional elements, the claim under its broadest reasonable interpretation recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The certain method of organizing human activity grouping is used to describe fundamental economic principles or practices, commercial or legal interactions, and managing personal behavior or relationships or interactions between people. Fundamental economic principles or practices are relating to the economy and commerce, or recite hedging, insurance, and mitigating risks. Commercial or legal interactions recite agreements in the form of contracts, legal obligations, advertising, marketing or sales activities or behaviors, and business relations. Managing personal behavior or relationships or interactions between people recite social activities, teaching, and following rules or instructions. See MPEP § 2106.04(a)(2), subsection II. Also, but for the additional elements, the claim under its broadest reasonable interpretation recites limitations grouped within the “mental processes” grouping of abstract ideas. The mental processes abstract idea grouping is defined as concepts performed in the human mind, and examples of mental processes recite observations, evaluations, judgments, and opinions. Claims recite a mental process when they recite limitations that can practically be performed in the human mind, with or without the use of a physical aid. The use of a physical aid to help perform a mental step does not negate the mental nature of the limitation, but simply accounts for variations in memory capacity from one person to another. Further, claims can recite a mental process even if they are claimed as being performed on a computer. See MPEP § 2106.04(a)(2), subsection III. The claim limitations reciting the abstract idea are grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas because the limitations recite fundamental economic principles or practices, as they recite mitigating risk, commercial or legal interactions, as they recite sales activities or behaviors, managing personal behavior or relationships or interactions between people, as they recite following rules or instructions, and concepts that can practically be performed in the human mind, with or without the use of a physical aid. More specifically, the following underlined claim elements recite the abstract idea while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a).
creating a secure channel between a device and a bootstrapping server function, BSF, using a pre-provisioned key stored within a UICC of the device and at the BSF;
sharing a secret between the device and the BSF over the secure channel; storing the shared secret on the UICC of the device;
and adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.
Step 2A Prong Two
In Prong Two, examiners evaluate whether the claim as a whole integrates the exception into a practical application of that exception. A claim that integrates a judicial exception into a practical application will apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that the claim is more than a drafting effort designed to monopolize the judicial exception. Here, claim 1 as a whole, looking at the identified additional elements individually and in combination, does not integrate the judicial exception into a practical application. First, the non-underlined additional elements merely serve as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally link the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)). Additionally, regarding the specification and claims, there is no improvement in the functioning of a computer or an improvement to other technology or technical field present (MPEP §§ 2106.04(d)(1) and 2106.05(a)), there is no applying or using the judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition present (MPEP § 2106.04(d)(2)), there is no implementing the judicial exception with or using the judicial exception in conjunction with a particular machine or manufacture that is integral to the claim present (MPEP § 2106.05(b)), there is no effecting a transformation or reduction of a particular article to a different state or thing present (MPEP § 2106.05(c)), and there is no applying or using the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment present, such that the claim as a whole is more than a drafting effort designed to monopolize the exception (MPEP § 2106.05(e)). Thus, the claim as a whole is directed to a judicial exception and thus requires further analysis at Step 2B to determine if the claim as a whole, amounts to significantly more than the exception itself (See MPEP 2106.04, subsection II).
Step 2B
Step 2B determines whether the claim as a whole amount to significantly more than the exception itself. Evaluating additional elements to determine whether they amount to an inventive concept requires considering them both individually and in combination to ensure that they amount to significantly more than the judicial exception itself. Here, the additional elements, taken individually and in combination, do not result in claim 1, as a whole, amounting to significantly more than the judicial exception. As discussed previously with respect to Step 2A, the additional elements merely serve as a tool to perform an abstract idea and generally link the use of the judicial exception to a particular technological environment. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Dependent Claims
Claims 2-9 have also been analyzed. However, the subject matter of these claims also fails to recite patent eligible subject matter for the following reasons:
Claim 2 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
transmitting the shared secret to a server from the BSF, wherein the shared secret is used to secure a communications channel between the device and the server and the server adds the one or more transaction to the block of the distributed ledger.
Claim 3 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the one or more transaction is associated with a wallet identifier of the server within the distributed ledger and the one or more transaction is identified by: the server storing remotely from the device a transaction identifier of the one or more transaction added to the block of the distributed ledger; and the server mapping the stored transaction identifier to the shared secret.
Claim 4 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the transaction identifier is based on an identity of the UICC and the shared secret.
Claim 5 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the transaction added to the block is identified by a wallet identifier based on an identity of the UICC and the shared secret.
Claim 6 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
where the shared secret is stored within a trusted execution environment, TEE, of the UICC.
Claim 7 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas.
wherein the shared secret is a symmetric key.
Claim 8 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein creating the secure channel between the device and the BSF and sharing the secret between the device and the BSF over the secured channel uses generic bootstrap architecture, GBA, and/or according to the GSMA IoT Security Applet Interface Description, IoT SAFE.
Claim 9 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 1. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the device is any one of: an IoT device, a UE, a smartphone, a vehicle, an automobile, or an unmanned aerial vehicle.
Claims 10-15:
Step 1
Claims 10-15 are directed to a computer-implemented system (i.e., machine, and manufacture). Therefore, these claims fall within the four statutory categories of invention, and thus must be further analyzed at Step 2A to determine if the claims are directed to a judicial exception (See MPEP 2106.03, subsection II).
Step 2A Prong One
In Prong One examiners evaluate whether the claim recites a judicial exception, i.e., whether a law of nature, natural phenomenon, or abstract idea is set forth or described in the claim. Claim 10 recites (i.e., sets forth or describes) an abstract of transaction ledger bookkeeping and identification thereof using a shared secret. Specifically, but for the additional elements, the claim under its broadest reasonable interpretation recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The certain method of organizing human activity grouping is used to describe fundamental economic principles or practices, commercial or legal interactions, and managing personal behavior or relationships or interactions between people. Fundamental economic principles or practices are relating to the economy and commerce, or recite hedging, insurance, and mitigating risks. Commercial or legal interactions recite agreements in the form of contracts, legal obligations, advertising, marketing or sales activities or behaviors, and business relations. Managing personal behavior or relationships or interactions between people recite social activities, teaching, and following rules or instructions. See MPEP § 2106.04(a)(2), subsection II. Also, but for the additional elements, the claim under its broadest reasonable interpretation recites limitations grouped within the “mental processes” grouping of abstract ideas. The mental processes abstract idea grouping is defined as concepts performed in the human mind, and examples of mental processes recite observations, evaluations, judgments, and opinions. Claims recite a mental process when they recite limitations that can practically be performed in the human mind, with or without the use of a physical aid. The use of a physical aid to help perform a mental step does not negate the mental nature of the limitation, but simply accounts for variations in memory capacity from one person to another. Further, claims can recite a mental process even if they are claimed as being performed on a computer. See MPEP § 2106.04(a)(2), subsection III. The claim limitations reciting the abstract ideas are grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas because the limitations recite fundamental economic principles or practices, as they recite mitigating risk, commercial or legal interactions, as they recite sales activities or behaviors, and concepts that can practically be performed in the human mind, with or without the use of a physical aid. More specifically, the following underlined claim elements recite abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a).
A system comprising:
a distributed ledger;
a bootstrapping server function, BSF;
a device having a UICC;
one or more processor and memory, the memory containing program instructions to cause the one or more processor to:
create a secure channel between the device and the BSF, using a pre-provisioned key stored within the UICC of the device and at the BSF;
share a secret between the device and the BSF over the secure channel; and store the shared secret on the UICC of the device,
and add one or more transaction to a block of the distributed ledger, wherein the one or more transaction is identified using the shared secret.
Step 2A Prong Two
In Prong Two, examiners evaluate whether the claim as a whole integrates the exception into a practical application of that exception. A claim that integrates a judicial exception into a practical application will apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that the claim is more than a drafting effort designed to monopolize the judicial exception. Here, claim 10 as a whole, looking at the identified additional elements individually and in combination, does not integrate the judicial exception into a practical application. First, the non-underlined additional elements merely serve as a tool to perform the abstract idea (MPEP § 2106.05(f)). Additionally, regarding the specification and claims, there is no improvement in the functioning of a computer or an improvement to other technology or technical field present (MPEP §§ 2106.04(d)(1) and 2106.05(a)), there is no applying or using the judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition present (MPEP § 2106.04(d)(2)), there is no implementing the judicial exception with or using the judicial exception in conjunction with a particular machine or manufacture that is integral to the claim present (MPEP § 2106.05(b)), there is no effecting a transformation or reduction of a particular article to a different state or thing present (MPEP § 2106.05(c)), and there is no applying or using the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment present, such that the claim as a whole is more than a drafting effort designed to monopolize the exception (MPEP § 2106.05(e)). Thus, the claim as a whole is directed to a judicial exception and thus requires further analysis at Step 2B to determine if the claim as a whole, amounts to significantly more than the exception itself (See MPEP 2106.04, subsection II).
Step 2B
Step 2B determines whether the claim as a whole amount to significantly more than the exception itself. Evaluating additional elements to determine whether they amount to an inventive concept requires considering them both individually and in combination to ensure that they amount to significantly more than the judicial exception itself. Here, the additional elements, taken individually and in combination, do not result in claim 10, as a whole, amounting to significantly more than the judicial exception. As discussed previously with respect to Step 2A, the additional elements merely serve as a tool to perform an abstract idea, and generally links the use of the judicial exception to a particular technological environment. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Dependent Claims:
Claims 11-15 have also been analyzed. However, the subject matter of these claims also fails to recite patent eligible subject matter for the following reasons:
Claim 11 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 10. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
a server;
wherein the BSF is configured to transmit the shared secret to the server;
and wherein the program instructions further cause the one or more processor
to use the shared secret to secure a communications channel between the device and the server
and wherein the server adds the one or more transaction to a block of the distributed ledger.
Claim 12 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 10. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the one or more transaction is associated with a wallet identifier of the server, the server further comprising a database configured to store a transaction identifier of the one or more transaction added to the block of the distributed ledger, and a mapping of the stored transaction identifier to the shared secret shared.
Claim 13 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 10. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the transaction identifier is based on an identity of the UICC and the shared secret.
Claim 14 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 10. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the transaction added to the block is identified by a wallet identifier based on an identity of the UICC and the shared secret.
Claim 15 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 10. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the device comprises the one or more processor and the memory containing program instructions to cause the one or more processor to add the one or more transaction to the block of the distributed ledger.
Claims 16-20:
Step 1
Claims 16-20 are directed to a non-transitory computer-readable medium (i.e., machine, and manufacture). Therefore, these claims fall within the four statutory categories of invention, and thus must be further analyzed at Step 2A to determine if the claims are directed to a judicial exception (See MPEP 2106.03, subsection II).
Step 2A Prong One
In Prong One examiners evaluate whether the claim recites a judicial exception, i.e., whether a law of nature, natural phenomenon, or abstract idea is set forth or described in the claim. Claim 16 recites (i.e., sets forth or describes) an abstract of transaction ledger bookkeeping and identification thereof using a shared secret. Specifically, but for the additional elements, the claim under its broadest reasonable interpretation recites limitations grouped within the “certain methods of organizing human activity” grouping of abstract ideas. The certain method of organizing human activity grouping is used to describe fundamental economic principles or practices, commercial or legal interactions, and managing personal behavior or relationships or interactions between people. Fundamental economic principles or practices are relating to the economy and commerce, or recite hedging, insurance, and mitigating risks. Commercial or legal interactions recite agreements in the form of contracts, legal obligations, advertising, marketing or sales activities or behaviors, and business relations. Managing personal behavior or relationships or interactions between people recite social activities, teaching, and following rules or instructions. See MPEP § 2106.04(a)(2), subsection II. Also, but for the additional elements, the claim under its broadest reasonable interpretation recites limitations grouped within the “mental processes” grouping of abstract ideas. The mental processes abstract idea grouping is defined as concepts performed in the human mind, and examples of mental processes recite observations, evaluations, judgments, and opinions. Claims recite a mental process when they recite limitations that can practically be performed in the human mind, with or without the use of a physical aid. The use of a physical aid to help perform a mental step does not negate the mental nature of the limitation, but simply accounts for variations in memory capacity from one person to another. Further, claims can recite a mental process even if they are claimed as being performed on a computer. See MPEP § 2106.04(a)(2), subsection III. The claim limitations reciting the abstract ideas are grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas because the limitations recite fundamental economic principles or practices, as they recite mitigating risk, commercial or legal interactions, as they recite sales activities or behaviors, and concepts that can practically be performed in the human mind, with or without the use of a physical aid. More specifically, the following underlined claim elements recite abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a).
One or more computer readable media storing computer readable instructions that, when executed by a processor,
configure a data processing system to perform a method for recording transactions on a distributed ledger, the method comprising:
creating a secure channel between a device and a bootstrapping server function, BSF, using a pre-provisioned key stored within a UICC of the device and at the BSF;
sharing a secret between the device and the BSF over the secure channel; storing the shared secret on the UICC of the device;
and adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.
Step 2A Prong Two
In Prong Two, examiners evaluate whether the claim as a whole integrates the exception into a practical application of that exception. A claim that integrates a judicial exception into a practical application will apply, rely on, or use the judicial exception in a manner that imposes a meaningful limit on the judicial exception, such that the claim is more than a drafting effort designed to monopolize the judicial exception. Here, claim 16 as a whole, looking at the identified additional elements individually and in combination, does not integrate the judicial exception into a practical application. First, the non-underlined additional elements merely serve as a tool to perform the abstract idea (MPEP § 2106.05(f)). Additionally, regarding the specification and claims, there is no improvement in the functioning of a computer or an improvement to other technology or technical field present (MPEP §§ 2106.04(d)(1) and 2106.05(a)), there is no applying or using the judicial exception to effect a particular treatment or prophylaxis for a disease or medical condition present (MPEP § 2106.04(d)(2)), there is no implementing the judicial exception with or using the judicial exception in conjunction with a particular machine or manufacture that is integral to the claim present (MPEP § 2106.05(b)), there is no effecting a transformation or reduction of a particular article to a different state or thing present (MPEP § 2106.05(c)), and there is no applying or using the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment present, such that the claim as a whole is more than a drafting effort designed to monopolize the exception (MPEP § 2106.05(e)). Thus, the claim as a whole is directed to a judicial exception and thus requires further analysis at Step 2B to determine if the claim as a whole, amounts to significantly more than the exception itself (See MPEP 2106.04, subsection II).
Step 2B
Step 2B determines whether the claim as a whole amount to significantly more than the exception itself. Evaluating additional elements to determine whether they amount to an inventive concept requires considering them both individually and in combination to ensure that they amount to significantly more than the judicial exception itself. Here, the additional elements, taken individually and in combination, do not result in claim 16, as a whole, amounting to significantly more than the judicial exception. As discussed previously with respect to Step 2A, the additional elements merely serve as a tool to perform an abstract idea, and generally links the use of the judicial exception to a particular technological environment. Thus, there is no inventive concept in the claim and thus the claim is not eligible, warranting a rejection for lack of subject matter eligibility and concluding the eligibility analysis.
Dependent Claims:
Claims 17-20 have also been analyzed. However, the subject matter of these claims also fail to recite patent eligible subject matter for the following reasons:
Claim 17 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 16. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
further comprising the steps of: transmitting the shared secret to a server from the BSF, wherein the shared secret is used to secure a communications channel between the device and the server and the server adds the one or more transaction to the block of the distributed ledger.
Claim 18 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 16. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the one or more transaction is associated with a wallet identifier of the server within the distributed ledger and the one or more transaction is identified by: the server storing remotely from the device a transaction identifier of the one or more transaction added to the block of the distributed ledger; and the server mapping the stored transaction identifier to the shared secret.
Claim 19 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 16. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the transaction identifier is based on an identity of the UICC and the shared secret.
Claim 20 recites the following underlined claim elements as abstract ideas while the non-underlined claim elements recite additional elements according to MPEP 2106.04(a). The claim further recites the abstract idea of claim 16. In other words, it recites limitations grouped within the “certain methods of organizing human activity” and “mental processes” grouping of abstract ideas. The non-underlined additional elements fail to recite a practical application or significantly more than the abstract idea because it merely serves as a tool to perform the abstract idea (MPEP § 2106.05(f)), and generally links the use of the judicial exception to a particular technological environment (MPEP § 2106.05(h)).
wherein the transaction added to the block is identified by a wallet identifier based on an identity of the UICC and the shared secret.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim 1-7, and 9-20 is rejected under 35 U.S.C. 103 as being unpatentable over Haynes et al. (US20120159602A1) (hereinafter “Haynes”) in view of Trevethan et al. (US2020/0074464A1) (hereinafter “Trevethan”).
As per Claim 1, Haynes teaches:
A method for recording transactions on a . . ., the method comprising the steps of: creating a secure channel between a device and a bootstrapping server function, BSF, using a pre-provisioned key stored within a UICC of the device and at the BSF; (“Mobile terminals may utilize Universal Integrated Circuit Cards (UICCs) to access various types of networks. A UICC is a smart card used in mobile terminals in global system for mobile communications (GSM) and universal mobile telecommunications system (UMTS) networks. The UICC ensures the integrity and security of personal data. Generic bootstrapping architecture (GBA) is a standard defined by the Third Generation Partnership Project (3GPP) for an authentication of a user of a mobile terminal. GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access.” (Para. 0002), “. . .generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0006), “FIG. 1 is a diagram of an example network 100 in which systems and/or methods described herein may be implemented. As illustrated, network 100 may include a mobile terminal 110 with a UICC 115, a bootstrapping server function (BSF) 120, a network application function (NAF) 130, and a home subscriber server (HSS) 140 interconnected by a network 150. Components of network 100 may interconnect via wired and/or wireless connections. A single mobile terminal 110, UICC 115, BSF 120, NAF 130, HSS 140, and network 150 have been illustrated in FIG. 1 for simplicity. In practice, there may be more mobile terminals 110, UICCs 115, BSFs 120, NAFs 130, HSSs 140, and/or networks 150.”, (Para. 0013))
sharing a secret between the device and the BSF over the secure channel; (“. . .generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011), “GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access.”, (Para. 0002)
storing the shared secret on the UICC of the device; (“In implementations described herein, devices in network 100 may perform GBA authentication of mobile terminal 110. Mobile terminal 110 may send a hypertext transfer protocol (HTTP) request to BSF 120 that includes a user identity (e.g., an IP multimedia private identity (IMPI) or a temporary IP multimedia private identity (TMPI)). BSF 120 may communicate with HSS 140 to obtain GBA User Security Settings (GUSS) and a random number (RAND) that is used to calculate an authentication vector. BSF 120 may send the authentication vector and the RAND to mobile terminal 110. Mobile terminal 110 may use this information to calculate a corresponding authentication vector based on user secure settings stored in the UICC. Mobile terminal 110 may send the calculated values to BSF 120 for verification. Assuming the calculated values match, mobile terminal 110 may be considered authenticated and BSF 120 may provide a Bootstrapping Transaction Identifier (B-TID) and a key lifetime value to mobile terminal 110. Both mobile terminal 110 and BSF 120 may independently derive an actual key, referred to as a Ks_NAF, that may be used to secure communications between mobile terminal 110 and NAF 130. Generally, mobile terminal 110 may provide the B-TID to NAF 130 when initiating a GBA-enabled session. NAF 130 may then communicate with BSF 120 to validate mobile terminal 110 and obtain the Ks_NAF for the session.”, (Para. 0020), “Application client 500 may (e.g., based on a user selection of an application) interact with NAF 130 via a Ua interface to obtain services selected by the user. The Ua interface may be defined as the reference point between mobile terminal 110 and NAF 130 that carries the application protocol and is secured by deriving keys based on the key material agreed between mobile terminal 110 and BSF 120 as a result of authentication and key agreement procedures conducted over a Ub reference point. In one implementation, the interactions between application client 500 and NAF 130 may be performed using the HTTP. In another implementation, the interactions between application client 500 and NAF 130 may be performed using another type of protocol.”, (Para. 0046)).
and . . .
Haynes does not disclose:
“distributed ledger “ and “adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.” (claim 1).
However, as per Claim 1, Trevethan in the analogous art of secured digital transactions, teaches: “distributed ledger” and “and adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 2, Haynes teaches:
The method of claim 1 further comprising the steps of: transmitting the shared secret to a server from the BSF, wherein the shared secret is used to secure a communications channel between the device and the server . . .. (“generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.” (Para. 0011); “NAF 130 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, NAF 130 may include an application sever to provide applications, data, and/or services to mobile terminal 110. In one example implementation, NAF 130 may be a web server that hosts a website from which mobile terminal 110 can receive applications, data, and/or services. In another example, NAF 130 may be a content delivery server that provides broadcast video streams, Video on Demand (VoD) content, or other multimedia content. In other implementations, NAF 130 may provide location-based services.” (Para. 0017); “Generic bootstrapping architecture (GBA) is a standard defined by the Third Generation Partnership Project (3GPP) for an authentication of a user of a mobile terminal. GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access” (Para. 0002).
Haynes does not disclose:
“and the server adds the one or more transaction to the block of the distributed ledger” (claim 2).
However, as per Claim 2, Trevethan in the analogous art of secured digital transactions, teaches: “and the server adds the one or more transaction to the block of the distributed ledger” (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 3, Haynes teaches:
The method of claim 2, wherein the one or more transaction is associated with a wallet identifier of the server within the . . . and the one or more transaction is identified by: the server storing remotely from the device a transaction identifier of the. . .; and the server mapping the stored transaction identifier to the shared secret. (“UICC 115 may correspond to a UICC or another type of smart card. UICC 115 may include an integrated circuit and may facilitate the connection of mobile terminal 110 to network 150. UICC 115 may include information that identifies a particular subscription to network 100 (e.g., a particular subscriber). UICC 115 may include a one or more Subscriber Identity Module (SIMs). UICC 115 may request data from network devices and perform calculations, based on the requested data, to authenticate users of mobile terminal 110. BSF 120 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, BSF 120 may act as an intermediary element in network 150 that provides application independent functions for mutual authentication of mobile terminals (e.g., mobile terminal 110) and application servers (e.g., NAF 130) to each other and for “bootstrapping” the exchange of secret session keys afterwards. The bootstrap procedure may be initiated, for example, during initial power-up of mobile terminal 110 or in response to a message from a device in network 150 instructing mobile device 110 to begin a bootstrap operation. NAF 130 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, NAF 130 may include an application sever to provide applications, data, and/or services to mobile terminal 110. In one example implementation, NAF 130 may be a web server that hosts a website from which mobile terminal 110 can receive applications, data, and/or services. In another example, NAF 130 may be a content delivery server that provides broadcast video streams, Video on Demand (VoD) content, or other multimedia content. In other implementations, NAF 130 may provide location-based services.” (Para. 0015-0017)).
Haynes does not disclose:
“one or more transaction added to the block of the distributed ledger “ (claim 3).
However, as per Claim 3, Trevethan in the analogous art of secured digital transactions, teaches: “one or more transaction added to the block of the distributed ledger”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 4, Haynes teaches:
The method of claim 3, wherein the transaction identifier is based on an identity of the UICC and the shared secret. (“generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011)); “In implementations described herein, devices in network 100 may perform GBA authentication of mobile terminal 110. Mobile terminal 110 may send a hypertext transfer protocol (HTTP) request to BSF 120 that includes a user identity (e.g., an IP multimedia private identity (IMPI) or a temporary IP multimedia private identity (TMPI)). BSF 120 may communicate with HSS 140 to obtain GBA User Security Settings (GUSS) and a random number (RAND) that is used to calculate an authentication vector. BSF 120 may send the authentication vector and the RAND to mobile terminal 110. Mobile terminal 110 may use this information to calculate a corresponding authentication vector based on user secure settings stored in the UICC. Mobile terminal 110 may send the calculated values to BSF 120 for verification. Assuming the calculated values match, mobile terminal 110 may be considered authenticated and BSF 120 may provide a Bootstrapping Transaction Identifier (B-TID) and a key lifetime value to mobile terminal 110. Both mobile terminal 110 and BSF 120 may independently derive an actual key, referred to as a Ks_NAF, that may be used to secure communications between mobile terminal 110 and NAF 130. Generally, mobile terminal 110 may provide the B-TID to NAF 130 when initiating a GBA-enabled session. NAF 130 may then communicate with BSF 120 to validate mobile terminal 110 and obtain the Ks_NAF for the session.” (Para. 0020); “To perform GBA authentication, mobile terminal 110 may communicate with UICC 115 through standards-based interfaces (e.g., 3GPP TS 31.101). While these standard interfaces are generally available to the mobile operating system of mobile terminal 110, they are not generally available to particular applications that establish sessions with NAF 130. In implementations described herein, a middleware function may be provided to enable applications executing on mobile terminal 110 to initiate GBA authentication procedures and obtain GBA authentication information (e.g., a B-TID and a key lifetime from BSF 120, and a KS_NAF from UICC 115) for application-initiated sessions.” (Para. 0021).
As per Claim 5, Haynes teaches:
The method of claim 1, wherein . . . based on an identity of the UICC and the shared secret. (“UICC 115 may correspond to a UICC or another type of smart card. UICC 115 may include an integrated circuit and may facilitate the connection of mobile terminal 110 to network 150. UICC 115 may include information that identifies a particular subscription to network 100 (e.g., a particular subscriber). UICC 115 may include a one or more Subscriber Identity Module (SIMs). UICC 115 may request data from network devices and perform calculations, based on the requested data, to authenticate users of mobile terminal 110.”, (Para. 0015); “FIG. 1 is a diagram of an example network 100 in which systems and/or methods described herein may be implemented. As illustrated, network 100 may include a mobile terminal 110 with a UICC 115, a bootstrapping server function (BSF) 120, a network application function (NAF) 130, and a home subscriber server (HSS) 140 interconnected by a network 150. Components of network 100 may interconnect via wired and/or wireless connections. A single mobile terminal 110, UICC 115, BSF 120, NAF 130, HSS 140, and network 150 have been illustrated in FIG. 1 for simplicity. In practice, there may be more mobile terminals 110, UICCs 115, BSFs 120, NAFs 130, HSSs 140, and/or networks 150.” (Para. 0013).
Haynes does not disclose:
“the transaction added to the block is identified by a wallet identifier” (claim 3).
However, as per Claim 3, Trevethan in the analogous art of secured digital transactions, teaches: “the transaction added to the block is identified by a wallet identifier”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 6, Haynes teaches:
The method according to claim 1,where the shared secret is stored within a trusted execution environment, TEE, of the UICC. (“generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011); “FIG. 6 is a flow chart of an example process 600 for obtaining GBA authentication for an application client on a mobile terminal, according to an implementation described herein. In one example implementation, process 600 may be performed by mobile terminal 110. In other implementations, some or all of process 600 may be performed by another device or group of devices including or excluding mobile terminal 110. As shown in FIG. 6, process 600 may include initiating a call, with a GBA indication, to a NAF (block 610) and receiving, from the NAF, a denial and/or a validation request (block 620). For example, as described above in connection with FIG. 5, application client 500 may request services from NAF 130, via the Ua interface, using application protocols 540. NAF 130 may require GBA authentication of application client 500 before NAF 130 can provide the requested services. Thus, NAF 140 may deny the request from application client 500 and provide a request to application client 500 to provide authentication. Application client 500 may receive the request for authentication. A non-standard authentication request, for a UICC, may be generated (block 630), the authentication request may be converted into standard GBA syntax (block 640), and the GBA authentication request may be sent to the UICC (block 650). For example, as described above in connection with FIG. 5, application client 500 may generate a signal to UICC 115 (e.g., via GBA middleware client 510 and mobile OS 520) to initiate BSF functionality. Particularly, application client 500 may send a GBA authentication request in a non-standard (for GBA-purposes) format, via application interface 530, to request GBA authentication information. GBA middleware client 510 may receive the GBA authentication request (e.g., in the syntax of application client 500) and may convert the GBA authentication request into standard GBA syntax for mobile OS 520/UICC 115. GBA middleware client 510 may provide the GBA authentication request (e.g., in standard GBA syntax) to mobile OS 520 via terminal interface 540. Mobile OS 520 may receive the GBA authentication request and may communicate with UICC 115 to provide the GBA authentication request to UICC 115, as indicated by reference 560.” (Para. 0059-0060); “Mobile OS 520 may receive standard GBA commands via terminal interface 540 and provide the standard GBA commands to UICC 115. Mobile OS 520/UICC 115 may interact with BSF 120 via a Ub interface to obtain GBA authentication. The Ub interface may refer to the reference point between mobile terminal 110 and BSF 120. A mutual authentication procedure between UICC 115 (via mobile OS 520) and BSF 120 may take place using the Ub interface, and session keys may be bootstrapped based on GBA authentication and key agreement standards. For example, based on the GBA authentication request from application client 500, mobile OS 520 may initiate a GBA_U process to establish a secure key (referred to as Ks or the GBA_U key) by deriving the secure key, Ks, from another key (a subscriber authentication key) that is shared between UICC 115 and HSS 140. Mobile OS 520 may, thus, exchange information between UICC 115 and BSF 120.” (Para. 0051)
As per Claim 7, Haynes teaches:
The method according to claim 1,wherein the shared secret is a symmetric key. (“GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access.”, (Para. 0002); “Application client 500 may (e.g., based on a user selection of an application) interact with NAF 130 via a Ua interface to obtain services selected by the user. The Ua interface may be defined as the reference point between mobile terminal 110 and NAF 130 that carries the application protocol and is secured by deriving keys based on the key material agreed between mobile terminal 110 and BSF 120 as a result of authentication and key agreement procedures conducted over a Ub reference point. In one implementation, the interactions between application client 500 and NAF 130 may be performed using the HTTP. In another implementation, the interactions between application client 500 and NAF 130 may be performed using another type of protocol.” (Para. 0046))
As per Claim 9, Haynes teaches:
The method according to claim 1,wherein the device is any one of: an IoT device, a UE, a smartphone, a vehicle, an automobile, or an unmanned aerial vehicle. (“Application client 500 may (e.g., based on a user selection of an application) interact with NAF 130 via a Ua interface to obtain services selected by the user. The Ua interface may be defined as the reference point between mobile terminal 110 and NAF 130 that carries the application protocol and is secured by deriving keys based on the key material agreed between mobile terminal 110 and BSF 120 as a result of authentication and key agreement procedures conducted over a Ub reference point. In one implementation, the interactions between application client 500 and NAF 130 may be performed using the HTTP. In another implementation, the interactions between application client 500 and NAF 130 may be performed using another type of protocol. GBA middleware client 510 may include hardware or a combination of hardware and software to provide an interface between application client 500 and mobile OS 520/UICC 115. Generally, mobile terminal 110 may communicate with UICC 115 through published standard-group interfaces (e.g., defined in the 3GPP GBA Technical Specification). The interface specification may be available to an operating system implemented on mobile terminal 110 (e.g., mobile OS 520), but may not be consistently included in applications (e.g., application client 500). Thus, GBA middleware client 510 may provide an application interface 530 and a terminal interface 540 to manage GBA-based communications between application client 500 and mobile OS 520/UICC 115.” (Para. 0046-0047); “UICC 115 may correspond to a UICC or another type of smart card. UICC 115 may include an integrated circuit and may facilitate the connection of mobile terminal 110 to network 150. UICC 115 may include information that identifies a particular subscription to network 100 (e.g., a particular subscriber). UICC 115 may include a one or more Subscriber Identity Module (SIMs). UICC 115 may request data from network devices and perform calculations, based on the requested data, to authenticate users of mobile terminal 110.” (Para. 0015).
As per Claim 10, Haynes teaches:
A system comprising: a. . .; a bootstrapping server function, BSF; a device having a UICC; one or more processor and memory, the memory containing program instructions to cause the one or more processor to: create a secure channel between the device and the BSF, using a pre-provisioned key stored within the UICC of the device and at the BSF; (“Mobile terminals may utilize Universal Integrated Circuit Cards (UICCs) to access various types of networks. A UICC is a smart card used in mobile terminals in global system for mobile communications (GSM) and universal mobile telecommunications system (UMTS) networks. The UICC ensures the integrity and security of personal data. Generic bootstrapping architecture (GBA) is a standard defined by the Third Generation Partnership Project (3GPP) for an authentication of a user of a mobile terminal. GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access.” (Para. 0002), “. . .generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0006), “FIG. 1 is a diagram of an example network 100 in which systems and/or methods described herein may be implemented. As illustrated, network 100 may include a mobile terminal 110 with a UICC 115, a bootstrapping server function (BSF) 120, a network application function (NAF) 130, and a home subscriber server (HSS) 140 interconnected by a network 150. Components of network 100 may interconnect via wired and/or wireless connections. A single mobile terminal 110, UICC 115, BSF 120, NAF 130, HSS 140, and network 150 have been illustrated in FIG. 1 for simplicity. In practice, there may be more mobile terminals 110, UICCs 115, BSFs 120, NAFs 130, HSSs 140, and/or networks 150.”, (Para. 0013))
share a secret between the device and the BSF over the secure channel; and (“. . .generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011), “GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access.”, (Para. 0002)
store the shared secret on the UICC of the device, and (“In implementations described herein, devices in network 100 may perform GBA authentication of mobile terminal 110. Mobile terminal 110 may send a hypertext transfer protocol (HTTP) request to BSF 120 that includes a user identity (e.g., an IP multimedia private identity (IMPI) or a temporary IP multimedia private identity (TMPI)). BSF 120 may communicate with HSS 140 to obtain GBA User Security Settings (GUSS) and a random number (RAND) that is used to calculate an authentication vector. BSF 120 may send the authentication vector and the RAND to mobile terminal 110. Mobile terminal 110 may use this information to calculate a corresponding authentication vector based on user secure settings stored in the UICC. Mobile terminal 110 may send the calculated values to BSF 120 for verification. Assuming the calculated values match, mobile terminal 110 may be considered authenticated and BSF 120 may provide a Bootstrapping Transaction Identifier (B-TID) and a key lifetime value to mobile terminal 110. Both mobile terminal 110 and BSF 120 may independently derive an actual key, referred to as a Ks_NAF, that may be used to secure communications between mobile terminal 110 and NAF 130. Generally, mobile terminal 110 may provide the B-TID to NAF 130 when initiating a GBA-enabled session. NAF 130 may then communicate with BSF 120 to validate mobile terminal 110 and obtain the Ks_NAF for the session.”, (Para. 0020), “Application client 500 may (e.g., based on a user selection of an application) interact with NAF 130 via a Ua interface to obtain services selected by the user. The Ua interface may be defined as the reference point between mobile terminal 110 and NAF 130 that carries the application protocol and is secured by deriving keys based on the key material agreed between mobile terminal 110 and BSF 120 as a result of authentication and key agreement procedures conducted over a Ub reference point. In one implementation, the interactions between application client 500 and NAF 130 may be performed using the HTTP. In another implementation, the interactions between application client 500 and NAF 130 may be performed using another type of protocol.”, (Para. 0046)).
. . .
Haynes does not disclose:
“distributed ledger” and “adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.” (claim 10).
However, as per Claim 10, Trevethan in the analogous art of secured digital transactions, teaches: “distributed ledger” and “and adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 11, Haynes teaches:
The system of claim 10 further comprising: a server; wherein the BSF is configured to transmit the shared secret to the server; and wherein the program instructions further cause the one or more processor to use the shared secret to secure a communications channel between the device and the server and wherein . . .. (“generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011).
Haynes does not disclose:
“the server adds the one or more transaction to a block of the distributed ledger” (claim 11).
However, as per Claim 11, Trevethan in the analogous art of secured digital transactions, teaches: “the server adds the one or more transaction to a block of the distributed ledger”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 12, Haynes teaches:
The system of claim 11, wherein the one or more transaction is associated with a wallet identifier of the server, the server further comprising a database configured to store a transaction identifier of the. . ., and a mapping of the stored transaction identifier to the shared secret shared. (“UICC 115 may correspond to a UICC or another type of smart card. UICC 115 may include an integrated circuit and may facilitate the connection of mobile terminal 110 to network 150. UICC 115 may include information that identifies a particular subscription to network 100 (e.g., a particular subscriber). UICC 115 may include a one or more Subscriber Identity Module (SIMs). UICC 115 may request data from network devices and perform calculations, based on the requested data, to authenticate users of mobile terminal 110. BSF 120 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, BSF 120 may act as an intermediary element in network 150 that provides application independent functions for mutual authentication of mobile terminals (e.g., mobile terminal 110) and application servers (e.g., NAF 130) to each other and for “bootstrapping” the exchange of secret session keys afterwards. The bootstrap procedure may be initiated, for example, during initial power-up of mobile terminal 110 or in response to a message from a device in network 150 instructing mobile device 110 to begin a bootstrap operation. NAF 130 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, NAF 130 may include an application sever to provide applications, data, and/or services to mobile terminal 110. In one example implementation, NAF 130 may be a web server that hosts a website from which mobile terminal 110 can receive applications, data, and/or services. In another example, NAF 130 may be a content delivery server that provides broadcast video streams, Video on Demand (VoD) content, or other multimedia content. In other implementations, NAF 130 may provide location-based services.” (Para. 0015-0017)).
Haynes does not disclose:
“one or more transaction added to the block of distributed ledger “ (claim 12).
However, as per Claim 12, Trevethan in the analogous art of secured digital transactions, teaches: “one or more transaction added to the block of distributed ledger”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 13, Haynes teaches:
The system of claim 12, wherein the transaction identifier is based on an identity of the UICC and the shared secret. (“generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011)); “In implementations described herein, devices in network 100 may perform GBA authentication of mobile terminal 110. Mobile terminal 110 may send a hypertext transfer protocol (HTTP) request to BSF 120 that includes a user identity (e.g., an IP multimedia private identity (IMPI) or a temporary IP multimedia private identity (TMPI)). BSF 120 may communicate with HSS 140 to obtain GBA User Security Settings (GUSS) and a random number (RAND) that is used to calculate an authentication vector. BSF 120 may send the authentication vector and the RAND to mobile terminal 110. Mobile terminal 110 may use this information to calculate a corresponding authentication vector based on user secure settings stored in the UICC. Mobile terminal 110 may send the calculated values to BSF 120 for verification. Assuming the calculated values match, mobile terminal 110 may be considered authenticated and BSF 120 may provide a Bootstrapping Transaction Identifier (B-TID) and a key lifetime value to mobile terminal 110. Both mobile terminal 110 and BSF 120 may independently derive an actual key, referred to as a Ks_NAF, that may be used to secure communications between mobile terminal 110 and NAF 130. Generally, mobile terminal 110 may provide the B-TID to NAF 130 when initiating a GBA-enabled session. NAF 130 may then communicate with BSF 120 to validate mobile terminal 110 and obtain the Ks_NAF for the session.” (Para. 0020); “To perform GBA authentication, mobile terminal 110 may communicate with UICC 115 through standards-based interfaces (e.g., 3GPP TS 31.101). While these standard interfaces are generally available to the mobile operating system of mobile terminal 110, they are not generally available to particular applications that establish sessions with NAF 130. In implementations described herein, a middleware function may be provided to enable applications executing on mobile terminal 110 to initiate GBA authentication procedures and obtain GBA authentication information (e.g., a B-TID and a key lifetime from BSF 120, and a KS_NAF from UICC 115) for application-initiated sessions.” (Para. 0021).
As per Claim 14, Haynes teaches:
The system of claim 10, . . .based on an identity of the UICC and the shared secret. (“UICC 115 may correspond to a UICC or another type of smart card. UICC 115 may include an integrated circuit and may facilitate the connection of mobile terminal 110 to network 150. UICC 115 may include information that identifies a particular subscription to network 100 (e.g., a particular subscriber). UICC 115 may include a one or more Subscriber Identity Module (SIMs). UICC 115 may request data from network devices and perform calculations, based on the requested data, to authenticate users of mobile terminal 110.”, (Para. 0015); “FIG. 1 is a diagram of an example network 100 in which systems and/or methods described herein may be implemented. As illustrated, network 100 may include a mobile terminal 110 with a UICC 115, a bootstrapping server function (BSF) 120, a network application function (NAF) 130, and a home subscriber server (HSS) 140 interconnected by a network 150. Components of network 100 may interconnect via wired and/or wireless connections. A single mobile terminal 110, UICC 115, BSF 120, NAF 130, HSS 140, and network 150 have been illustrated in FIG. 1 for simplicity. In practice, there may be more mobile terminals 110, UICCs 115, BSFs 120, NAFs 130, HSSs 140, and/or networks 150.” (Para. 0013).
Haynes does not disclose:
“wherein the transaction added to the block is identified by a wallet identifier” (claim 12).
However, as per Claim 12, Trevethan in the analogous art of secured digital transactions, teaches: “wherein the transaction added to the block is identified by a wallet identifier”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 15, Haynes teaches:
The system of claim 14, wherein the device comprises the one or more processor and the memory containing program instructions to cause the one or more processor to . . .. (“FIG. 1 is a diagram of an example network 100 in which systems and/or methods described herein may be implemented. As illustrated, network 100 may include a mobile terminal 110 with a UICC 115, a bootstrapping server function (BSF) 120, a network application function (NAF) 130, and a home subscriber server (HSS) 140 interconnected by a network 150. Components of network 100 may interconnect via wired and/or wireless connections. A single mobile terminal 110, UICC 115, BSF 120, NAF 130, HSS 140, and network 150 have been illustrated in FIG. 1 for simplicity. In practice, there may be more mobile terminals 110, UICCs 115, BSFs 120, NAFs 130, HSSs 140, and/or networks 150.”, (Para. 0013); “In one implementation, GBA middleware client 510 may also include one or more memory devices (e.g., memory/storage 310, key storage 515, etc.) to store standards-based interfaces for UICC GBA commands. In one implementation, the standards-based interfaces for UICC GBA commands may be stored in one or more libraries. A library may be a block of memory locations (contiguous or non-contiguous memory locations) that stores a set of related rules, functions, or subroutines. In another implementation, standards-based interfaces for UICC GBA commands may be stored in another manner (e.g., as database records, tables, linked lists, etc.).” (Para. 0048))
Haynes does not disclose:
“add the one or more transaction to the block of the distributed ledger “ (claim 15).
However, as per Claim 15, Trevethan in the analogous art of secured digital transactions, teaches: “add the one or more transaction to the block of the distributed ledger” and “and adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 16, Haynes teaches:
One or more non-transitory computer readable media storing computer readable instructions that, when executed by a processor, configure a data processing system to perform a method for recording transactions on a . . ., the method comprising: creating a secure channel between a device and a bootstrapping server function, BSF, using a pre-provisioned key stored within a UICC of the device and at the BSF; (“(“Mobile terminals may utilize Universal Integrated Circuit Cards (UICCs) to access various types of networks. A UICC is a smart card used in mobile terminals in global system for mobile communications (GSM) and universal mobile telecommunications system (UMTS) networks. The UICC ensures the integrity and security of personal data. Generic bootstrapping architecture (GBA) is a standard defined by the Third Generation Partnership Project (3GPP) for an authentication of a user of a mobile terminal. GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access.” (Para. 0002), “. . .generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0006), “FIG. 1 is a diagram of an example network 100 in which systems and/or methods described herein may be implemented. As illustrated, network 100 may include a mobile terminal 110 with a UICC 115, a bootstrapping server function (BSF) 120, a network application function (NAF) 130, and a home subscriber server (HSS) 140 interconnected by a network 150. Components of network 100 may interconnect via wired and/or wireless connections. A single mobile terminal 110, UICC 115, BSF 120, NAF 130, HSS 140, and network 150 have been illustrated in FIG. 1 for simplicity. In practice, there may be more mobile terminals 110, UICCs 115, BSFs 120, NAFs 130, HSSs 140, and/or networks 150.”, (Para. 0013))
sharing a secret between the device and the BSF over the secure channel; (“. . .generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011), “GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access.”, (Para. 0002)
storing the shared secret on the UICC of the device; and (“In implementations described herein, devices in network 100 may perform GBA authentication of mobile terminal 110. Mobile terminal 110 may send a hypertext transfer protocol (HTTP) request to BSF 120 that includes a user identity (e.g., an IP multimedia private identity (IMPI) or a temporary IP multimedia private identity (TMPI)). BSF 120 may communicate with HSS 140 to obtain GBA User Security Settings (GUSS) and a random number (RAND) that is used to calculate an authentication vector. BSF 120 may send the authentication vector and the RAND to mobile terminal 110. Mobile terminal 110 may use this information to calculate a corresponding authentication vector based on user secure settings stored in the UICC. Mobile terminal 110 may send the calculated values to BSF 120 for verification. Assuming the calculated values match, mobile terminal 110 may be considered authenticated and BSF 120 may provide a Bootstrapping Transaction Identifier (B-TID) and a key lifetime value to mobile terminal 110. Both mobile terminal 110 and BSF 120 may independently derive an actual key, referred to as a Ks_NAF, that may be used to secure communications between mobile terminal 110 and NAF 130. Generally, mobile terminal 110 may provide the B-TID to NAF 130 when initiating a GBA-enabled session. NAF 130 may then communicate with BSF 120 to validate mobile terminal 110 and obtain the Ks_NAF for the session.”, (Para. 0020), “Application client 500 may (e.g., based on a user selection of an application) interact with NAF 130 via a Ua interface to obtain services selected by the user. The Ua interface may be defined as the reference point between mobile terminal 110 and NAF 130 that carries the application protocol and is secured by deriving keys based on the key material agreed between mobile terminal 110 and BSF 120 as a result of authentication and key agreement procedures conducted over a Ub reference point. In one implementation, the interactions between application client 500 and NAF 130 may be performed using the HTTP. In another implementation, the interactions between application client 500 and NAF 130 may be performed using another type of protocol.”, (Para. 0046)).
. . .
Haynes does not disclose:
“distributed ledger” and “adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.” (claim 16).
However, as per Claim 16, Trevethan in the analogous art of secured digital transactions, teaches: “distributed ledger” and “and adding one or more transaction to a block of a distributed ledger, wherein the one or more transaction is identified using the shared secret.”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 17, Haynes teaches:
The computer readable media of claim 16 further comprising the steps of: transmitting the shared secret to a server from the BSF, wherein the shared secret is used to secure a communications channel between the device and the server . . .. (“generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.” (Para. 0011); “NAF 130 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, NAF 130 may include an application sever to provide applications, data, and/or services to mobile terminal 110. In one example implementation, NAF 130 may be a web server that hosts a website from which mobile terminal 110 can receive applications, data, and/or services. In another example, NAF 130 may be a content delivery server that provides broadcast video streams, Video on Demand (VoD) content, or other multimedia content. In other implementations, NAF 130 may provide location-based services.” (Para. 0017); “Generic bootstrapping architecture (GBA) is a standard defined by the Third Generation Partnership Project (3GPP) for an authentication of a user of a mobile terminal. GBA relies on a shared secret between the mobile terminal (e.g., a client) and an application server. The client and the server are mutually authenticated through an intermediary server, referred to as a bootstrapping server function (BSF), that arranges a security relation between the client and the application server. In an enhanced form of GBA (referred to as GBA_U), the UICC on the mobile terminal is used to authenticate the user to the BSF. Once authenticated to the BSF, the mobile terminal may access the application server (also referred to as a network application function (NAF)) to obtain services. The NAF may communicate with the BSF to validate and authorize the mobile terminal's access” (Para. 0002).
Haynes does not disclose:
“and the server adds the one or more transaction to the block of the distributed ledger “ (claim 17).
However, as per Claim 17, Trevethan in the analogous art of secured digital transactions, teaches: “and the server adds the one or more transaction to the block of the distributed ledger”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 18, Haynes teaches:
The computer readable media of claim 17, wherein the one or more transaction is associated with a wallet identifier of the server within the . . . and the one or more transaction is identified by:the server storing remotely from the device a transaction identifier of the. . .; and the server mapping the stored transaction identifier to the shared secret. (“UICC 115 may correspond to a UICC or another type of smart card. UICC 115 may include an integrated circuit and may facilitate the connection of mobile terminal 110 to network 150. UICC 115 may include information that identifies a particular subscription to network 100 (e.g., a particular subscriber). UICC 115 may include a one or more Subscriber Identity Module (SIMs). UICC 115 may request data from network devices and perform calculations, based on the requested data, to authenticate users of mobile terminal 110. BSF 120 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, BSF 120 may act as an intermediary element in network 150 that provides application independent functions for mutual authentication of mobile terminals (e.g., mobile terminal 110) and application servers (e.g., NAF 130) to each other and for “bootstrapping” the exchange of secret session keys afterwards. The bootstrap procedure may be initiated, for example, during initial power-up of mobile terminal 110 or in response to a message from a device in network 150 instructing mobile device 110 to begin a bootstrap operation. NAF 130 may include one or more server devices, or other types of computation or communication devices, that gather, process, and/or provide information in a manner described herein. For example, NAF 130 may include an application sever to provide applications, data, and/or services to mobile terminal 110. In one example implementation, NAF 130 may be a web server that hosts a website from which mobile terminal 110 can receive applications, data, and/or services. In another example, NAF 130 may be a content delivery server that provides broadcast video streams, Video on Demand (VoD) content, or other multimedia content. In other implementations, NAF 130 may provide location-based services.” (Para. 0015-0017)).
Haynes does not disclose:
“one or more transaction added to the block of the distributed ledger “ (claim 18).
However, as per Claim 18, Trevethan in the analogous art of secured digital transactions, teaches: “one or more transaction added to the block of the distributed ledger”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
As per Claim 19, Haynes teaches:
The computer readable media of claim 18, wherein the transaction identifier is based on an identity of the UICC and the shared secret. (“generic bootstrapping architecture (GBA) to be used to authenticate users for third-party applications executed on a mobile terminal. The systems and/or methods may provide a standard interface to Universal Integrated Circuit Card (UICC) GBA commands that are required by the third-party application to authenticate to a network application function (NAF). The interface may include a set of procedures, functions, a shared library, or an application that facilitates third-party application communication to the UICC for the purpose of GBA authentication. Additionally, the interface may store previously used GBA authentication information so that the mobile terminal can access multiple NAFs without having to generate new credentials each time the mobile terminal re-connects to a NAF.”, (Para. 0011)); “In implementations described herein, devices in network 100 may perform GBA authentication of mobile terminal 110. Mobile terminal 110 may send a hypertext transfer protocol (HTTP) request to BSF 120 that includes a user identity (e.g., an IP multimedia private identity (IMPI) or a temporary IP multimedia private identity (TMPI)). BSF 120 may communicate with HSS 140 to obtain GBA User Security Settings (GUSS) and a random number (RAND) that is used to calculate an authentication vector. BSF 120 may send the authentication vector and the RAND to mobile terminal 110. Mobile terminal 110 may use this information to calculate a corresponding authentication vector based on user secure settings stored in the UICC. Mobile terminal 110 may send the calculated values to BSF 120 for verification. Assuming the calculated values match, mobile terminal 110 may be considered authenticated and BSF 120 may provide a Bootstrapping Transaction Identifier (B-TID) and a key lifetime value to mobile terminal 110. Both mobile terminal 110 and BSF 120 may independently derive an actual key, referred to as a Ks_NAF, that may be used to secure communications between mobile terminal 110 and NAF 130. Generally, mobile terminal 110 may provide the B-TID to NAF 130 when initiating a GBA-enabled session. NAF 130 may then communicate with BSF 120 to validate mobile terminal 110 and obtain the Ks_NAF for the session.” (Para. 0020); “To perform GBA authentication, mobile terminal 110 may communicate with UICC 115 through standards-based interfaces (e.g., 3GPP TS 31.101). While these standard interfaces are generally available to the mobile operating system of mobile terminal 110, they are not generally available to particular applications that establish sessions with NAF 130. In implementations described herein, a middleware function may be provided to enable applications executing on mobile terminal 110 to initiate GBA authentication procedures and obtain GBA authentication information (e.g., a B-TID and a key lifetime from BSF 120, and a KS_NAF from UICC 115) for application-initiated sessions.” (Para. 0021).
As per Claim 20, Haynes teaches:
The computer readable media of claim 16, . . .based on an identity of the UICC and the shared secret. (“UICC 115 may correspond to a UICC or another type of smart card. UICC 115 may include an integrated circuit and may facilitate the connection of mobile terminal 110 to network 150. UICC 115 may include information that identifies a particular subscription to network 100 (e.g., a particular subscriber). UICC 115 may include a one or more Subscriber Identity Module (SIMs). UICC 115 may request data from network devices and perform calculations, based on the requested data, to authenticate users of mobile terminal 110.”, (Para. 0015); “FIG. 1 is a diagram of an example network 100 in which systems and/or methods described herein may be implemented. As illustrated, network 100 may include a mobile terminal 110 with a UICC 115, a bootstrapping server function (BSF) 120, a network application function (NAF) 130, and a home subscriber server (HSS) 140 interconnected by a network 150. Components of network 100 may interconnect via wired and/or wireless connections. A single mobile terminal 110, UICC 115, BSF 120, NAF 130, HSS 140, and network 150 have been illustrated in FIG. 1 for simplicity. In practice, there may be more mobile terminals 110, UICCs 115, BSFs 120, NAFs 130, HSSs 140, and/or networks 150.” (Para. 0013).
Haynes does not disclose:
“wherein the transaction added to the block is identified by a wallet identifier” (claim 18).
However, as per Claim 18, Trevethan in the analogous art of secured digital transactions, teaches: “wherein the transaction added to the block is identified by a wallet identifier”. (See “we use the term ‘blockchain’ to include all forms of electronic, computer-based, distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. . . Each block contains a hash of the previous block to that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed.” (Para. 0002-0003); “As noted above, techniques described and suggested herein are applicable in a wide variety of contexts. Some contexts utilize a blockchain to manage a digital asset. The digital asset may be represented by a value that is recorded in a transaction on a blockchain. A record of a digital asset (or aggregate of records aggregating to the value) may be a prerequisite for entry of certain transactions on the blockchain, such as transactions that are said to “transfer” or “transfer control of” the digital asset. In some examples, the digital asset is a value whose transfer enables the execution of certain computer system logic. For instance, a computer system's programming may depend on a record of a digital asset whose appearance in the blockchain was caused by another computer. In some example, the digital asset (and the value(s) corresponding to the digital asset in a set of blockchain transactions, represents an amount of work for a computer system to perform, data to be processed by a computer system, or other inputs to algorithms executed by computer systems. In some examples, the digital asset is a portion or amount of cryptocurrency, although the scope of the present disclosure is widely applicable to other contexts that do not involve payments or cryptocurrency in general.” (Para. 0016); “In accordance with the invention, there may be provided a computer-implemented method as described above wherein the first refund transaction is cooperatively signed by the exchange platform and the first party using a two-party elliptic curve digital signature algorithm. Reassociating the digital asset from the first party to the second party may comprise: generating a second refund transaction payable to the second party from the digital asset using a second refund key; broadcasting the second refund transaction to the blockchain network after a second time period; and mining the second refund transaction to return the digital asset to the second party. The second refund transaction is cooperatively signed by the exchange platform and the second party using a two-party elliptic curve digital signature algorithm.” (Para. 0026); “The method may be described as an instant off-chain transaction (Tx) (which may be referred to as a transfer, such as in cryptocurrency applications). Additionally or alternatively, it may be described as a security or control method for securing or controlling the recording of certain transactions to a blockchain.” (Para. 0014).
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the method of Haynes with the technique of Trevethan to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Haynes in view of Trevethan et al. in further view of Laitienen et al. (US20110289315A1) (hereinafter “Laitienen”).
As per Claim 8, Haynes teaches:
The method according to claim 1,wherein creating the secure channel between the device and the BSF and sharing the secret between the device and the BSF over the secured channel uses generic bootstrap architecture, GBA, . . .. (“FIG. 5 is a diagram of example functional components mobile terminal 110. In one implementation, the functions described in connection with FIG. 5 may be performed by one or more components described in FIG. 3. As shown in FIG. 5, mobile terminal 110 may include an application client 500, a GBA middleware client 510 that includes GBA key storage 515, and a mobile operating system (OS) 520. Application client 500 may include a program or application that executes on mobile terminal 110 to provide a service from a network device (e.g., NAF 130). In one implementation, application client 500 may correspond to one of applications 315 (FIG. 3). For example, application client 500 may include a GBA-enabled application, such as a media player that receives streaming media content from NAF 130 and presents the streaming media to a user. In other implementations, application client may include a web browser or a client with a proprietary application protocol. Application client 500 may (e.g., based on a user selection of an application) interact with NAF 130 via a Ua interface to obtain services selected by the user. The Ua interface may be defined as the reference point between mobile terminal 110 and NAF 130 that carries the application protocol and is secured by deriving keys based on the key material agreed between mobile terminal 110 and BSF 120 as a result of authentication and key agreement procedures conducted over a Ub reference point. In one implementation, the interactions between application client 500 and NAF 130 may be performed using the HTTP. In another implementation, the interactions between application client 500 and NAF 130 may be performed using another type of protocol. GBA middleware client 510 may include hardware or a combination of hardware and software to provide an interface between application client 500 and mobile OS 520/UICC 115. Generally, mobile terminal 110 may communicate with UICC 115 through published standard-group interfaces (e.g., defined in the 3GPP GBA Technical Specification). The interface specification may be available to an operating system implemented on mobile terminal 110 (e.g., mobile OS 520), but may not be consistently included in applications (e.g., application client 500). Thus, GBA middleware client 510 may provide an application interface 530 and a terminal interface 540 to manage GBA-based communications between application client 500 and mobile OS 520/UICC 115.”, (Para. 0044-0047)).
Haynes and Trevethan does not disclose:
• “and/or according to the GSMA IoT Security Applet Interface Description, IoT SAFE” (claim 8).
However, as per Claim 8, Laitenen in the analogous art of secured digital transactions, teaches: “generic bootstrap architecture, GBA, and/or according to the GSMA IoT Security Applet Interface Description, IoT SAFE”. (See “The BSF retrieves the complete set of GBA user security settings and one Authentication Vector (AV, AV=RAND||AUTN||XRES||CK||IK) over the reference point Zh from the HSS (where || indicates concatenation). A similar construct exists for a 2G HLR.”, (Para. 0047), “(4) The UE checks the AUTN to verify that the challenge is from an authorized network; the UE also calculates CK, IK and RES. This will result in session keys IK and CK in both the BSF and the UE.”, (Para. 0051), “(7) The BSF generates key material Ks by concatenating CK and IK. The B-TID value is also generated in format of NAI by taking the base64 encoded RAND value from step (3), and the BSF server name, i.e.: base64encode(RAND)@BSF_servers_domain_name.”, (Para. 0054-0055))
It would have been obvious to one of ordinary skill in the art before the effective filing date to combine the methods of Haynes and Trevethan with the technique of Laitenen to include a feature to securely provide and exchange critical data between devices/servers, using UICC-resident secure hardware. Therefore, the incentives of providing increased security for the user provided a reason to make an adaptation, and the invention resulted from application of the prior knowledge in a predictable manner.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
The following prior art made of record and not relied upon is considered pertinent to applicant's disclosure: US20070234041A1 (Lakshmeshwar), discussing “The shared secret used to initially authenticate the APP_ME 406 and the NAF 402 may also be a one-time password. The password may be deleted at the NAF 402 once the terminal establishes trust with client's GAA_ME server 408. The shared secret may also be derived based on some mobile terminal characteristics. Furthermore, the authentication protocol between the APP_ME 406 and the NAF 402 itself may be any of the well-known authentication protocols. Once the authentication has been done, the method of securing the communication between AP_ME 406 and NAF 402 may be one of the well know methods. If a shared secret (e.g. username and password) is used, shared key TLS protocol is one alternative. In one embodiment of the invention, when the GAA_ME server 408 has successfully authenticated the APP_ME 406, using a certain NAF id, the GAA_ME server 408 may grant the APP_ME access only to the future instances of key Ks_NAF that belong to same NAF id, and other NAF specific keys would not be accessible. In another embodiment of the invention, a full access is granted to the APP_ME 406, i.e., it can get KS_NAF keys of any NAF.” (Para. 0052-0053)
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Justin A. Jimenez whose telephone number is (571) 270-3080. The examiner can normally be reached on 8:30 AM - 5:00 PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, John W. Hayes can be reached on 571-272-6708. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Justin Jimenez/
Patent Examiner, Art Unit 3697
/ARI SHAHABI/Primary Examiner, Art Unit 3697