Skip to main content
Log in

Developing non-interactive MPC with trusted hardware for enhanced security

  • regular contribution
  • Published:
International Journal of Information Security Aims and scope Submit manuscript

Abstract

Secure multiparty computation (MPC) is a promising technology for supporting privacy-preserving computation between multiple untrusted parties. Recent work has made progress reducing the number of online messages that must be sent by each participant to one, in an effort to improve communication overhead. These non-interactive protocols (NI-MPC) are efficient but do not offer standard security guarantees. A vital next step in the research is developing NI-MPC protocols that offer traditional security guarantees in the standard model. This is challenging, because protocols that are non-interactive are vulnerable to the residual function attack, and a malicious party can evaluate a function multiple times using different inputs to deduce the inputs provided by honest users. After proving NI-MPC protocols without extra trust assumptions cannot achieve fully malicious security, fairness, or robustness in the standard model, we solve this problem using trusted hardware. We then present two novel NI-MPC protocols that achieve standard privacy and correctness, and also provide guarantees of fairness and robustness (for the latter additional communication is necessary if an attack occurs). We also introduce the first implementation of an NI-MPC protocol with a one-round online phase that is secure in the standard model. In addition, we rigorously analyze the computational and communication complexity of existing protocols that require either two rounds of communication or one round of online communication. We demonstrate that our protocol outperforms or is comparable to their complexity. Furthermore, we provide rigorous proofs of correctness, security, fairness, and robustness in the covert and malicious adversary models.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Ananth, P., Choudhuri, A.R., Jain, A.: A new approach to round-optimal secure multiparty computation. In: CRYPTO, pp. 468–499. Springer (2017)

  2. Apuzzo, M.: How Strongmen Turned Interpol into Their Personal Weapon. The New York Times (2019)

  3. Arthur, W., Challener, D.: A practical guide to TPM 2.0: using the Trusted Platform Module in the new age of security. Apress (2015)

  4. Aumann, Y., Lindell, Y.: Security against covert adversaries: efficient protocols for realistic adversaries. In: TCC, pp. 137–156. Springer (2007)

  5. Badrinarayanan, S., Jain, A., Ostrovsky, R., Visconti, I.: Non-interactive secure computation from one-way functions (2018)

  6. Bahmani, R., Barbosa, M., Brasser, F., Portela, B., Sadeghi, AR., Scerri, G., Warinschi, B.: Secure multiparty computation from sgx. In: International Conference on Financial Cryptography and Data Security, pp. 477–497. Springer (2017)

  7. Beaver, D., Micali, S., Rogaway, P.: The round complexity of secure protocols. In: STOC, pp. 503–513. ACM (1990)

  8. Beimel, A., Gabizon, A., Ishai, Y., Kushilevitz, E., Meldgaard, S., Paskin-Cherniavsky, A.: Non-interactive secure multiparty computation. In: CRYPTO, pp. 387–404. Springer (2014)

  9. Ben-Efraim, A., Lindell, Y., Omri, E.: Optimizing semi-honest secure multiparty computation for the internet. In: CCS, pp. 578–590. ACM (2016)

  10. Benhamouda, F., Krawczyk, H., Rabin, T.: Robust non-interactive multiparty computation against constant-size collusion. In: CRYPTO, pp. 391–419. Springer (2017)

  11. Boyle, E., Gilboa, N., Ishai, Y.: Group-based secure computation: Optimizing rounds, communication, and computation. In: Eurocrypt, pp. 163–193. Springer (2017)

  12. Brassard, G., Crépeau, C., Robert, J.M.: All-or-nothing disclosure of secrets. In: Eurocrypt, pp. 234–238. Springer (1986)

  13. Brodkin, J.: Satellite internet faster than advertised, but latency still awful. Ars Technica (2013)

  14. Cachin, C., Camenisch, J., Kilian, J., Müller, J.: One-round secure computation and secure autonomous mobile agents. In: ICALP, pp. 512–523. Springer (2000)

  15. Choi, S.G., Hwang, K.W., Katz, J., Malkin, T., Rubenstein, D.: Secure multi-party computation of boolean circuits with applications to privacy in on-line marketplaces. In: CT-RSA, pp. 416–432. Springer (2012)

  16. Choudhuri, A.R., Green, M., Jain, A., Kaptchuk, G., Miers, I.: Fairness in an unfair world: Fair multiparty computation from public bulletin boards. In: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, pp. 719–728 (2017)

  17. Coaffee, J.: Terrorism, Risk and the Global City: Towards Urban Resilience. Routledge (2016)

  18. Cohen, R., Lindell, Y.: Fairness versus guaranteed output delivery in secure multiparty computation. J. Cryptol. 30(4), 1157–1186 (2017)

    Article  MathSciNet  Google Scholar 

  19. Damgård, I., Pastro, V., Smart, N., Zakarias, S.: Multiparty computation from somewhat homomorphic encryption. In: CRYPTO, pp. 643–662. Springer (2012)

  20. Damgård, I., Keller, M., Larraia, E., Pastro, V., Scholl, P., Smart, N.P.: Practical covertly secure mpc for dishonest majority–or: breaking the spdz limits. In: Esorics, pp. 1–18. Springer (2013)

  21. Garg, S., Srinivasan, A.: Garbled protocols and two-round mpc from bilinear maps. In: FOCS, pp. 588–599. IEEE (2017)

  22. Garg, S., Srinivasan, A.: Two-round multiparty secure computation from minimal assumptions. In: Eurocrypt, pp. 468–499. Springer (2018)

  23. Garg, S., Gentry, C., Halevi, S., Raykova, M.: Two-round secure mpc from indistinguishability obfuscation. In: TCC, , pp. 74–94. Springer (2014)

  24. Garg, S., Mukherjee, P., Pandey, O., Polychroniadou, A.: The exact round complexity of secure computation. In: Eurocrypt, pp. 448–476. Springer (2016)

  25. Garg, S., Miao, P., Srinivasan, A.: Two-round multiparty secure computation minimizing public key operations. In: CRYPTO, pp. 273–301, Springer (2018)

  26. Gennaro, R., Ishai, Y., Kushilevitz, E., Rabin, T.: On 2-round secure multiparty computation. In: CRYPTO, pp. 178–193, Springer (2002)

  27. Gilsinan, K.: Interpol at 100: Does the World’s Police Force Work? The Atlantic (2014)

  28. Gladman, W.H.B., Moxham ea, J.: MPIR: Multiple Precision Integers and Rationals (2015)

  29. Goldwasser, S., Kalai, Y.T., Rothblum, G.N.: One-time programs. In: Annual International Cryptology Conference, pp. 39–56. Springer (2008)

  30. Goodin, D.: Ex-army man cracks popular security chip. The Register (2010)

  31. Goodin, D.: Millions of high-security crypto keys crippled by newly discovered flaw. Ars Technica (2017)

  32. Gordon, S.D., Liu, F.H., Shi, E.: Constant-round mpc with fairness and guarantee of output delivery. In: CRYPTO, pp. 63–82. Springer (2015)

  33. Goyal, V., Mohassel, P., Smith, A.: Efficient two party and multi party computation against covert adversaries. In: Eurocrypt, pp. 289–306. Springer (2008)

  34. Goyal, V., Ishai, Y., Sahai, A., Venkatesan, R., Wadia, A.: Founding cryptography on tamper-proof hardware tokens. In: TCC, pp. 308–326. Springer (2010)

  35. Gunupudi, V., Tate, S.R.: Generalized non-interactive oblivious transfer using count-limited objects with applications to secure mobile agents. In: FC, pp. 98–112. Springer (2008)

  36. Halevi, S., Lindell, Y., Pinkas, B.: Secure computation on the web: computing without simultaneous interaction. In: CRYPTO, pp. 132–150. Springer (2011)

  37. Halevi, S., Ishai, Y., Jain, A., Kushilevitz, E., Rabin, T.: Secure multiparty computation with general interaction patterns. In: ITCS, pp. 157–168. ACM (2016)

  38. Halevi, S., Ishai, Y., Jain, A., Komargodski, I., Sahai, A., Yogev, E.: Non-interactive multiparty computation without correlated randomness. In: ASIACRYPT, pp. 181–211. Springer (2017)

  39. Halevi, S., Hazay, C., Polychroniadou, A., Venkitasubramaniam, M.: Round-optimal secure multi-party computation. In: CRYPTO, pp. 488–520. Springer (2018)

  40. Halevi, S., Ishai, Y., Kushilevitz, E., Rabin, T.: Best possible information-theoretic mpc. In: Theory of Cryptography Conference, pp. 255–281. Springer (2018)

  41. Hastings, M., Hemenway, B., Noble, D., Zdancewic, S.: Sok: General purpose compilers for secure multi-party computation. In: SoK: General Purpose Compilers for Secure Multi-Party Computation. IEEE (2019)

  42. Hazay, C., Polychroniadou, A., Venkitasubramaniam, M.: Composable security in the tamper-proof hardware model under minimal complexity. In: TCC, pp. 367–399. Springer (2016)

  43. Hemenway, B., Welser, W., IV., Baiocchi, D.: Achieving higher-fidelity conjunction analyses using cryptography to improve information sharing. RAND PROJECT AIR FORCE SANTA MONICA CA, Tech rep (2014)

    Google Scholar 

  44. Hemenway, B., Lu, S., Ostrovsky, R., Welser Iv, W.: High-precision secure computation of satellite collision probabilities. In: International Conference on Security and Cryptography for Networks, pp. 169–187. Springer (2016)

  45. Homer-Dixon, T.: The rise of complex terrorism. Foreign Policy 128, 52 (2002)

    Article  Google Scholar 

  46. Hu, Q., Xie, J., Wang, C.: Dynamic path planning and trajectory tracking using mpc for satellite with collision avoidance. ISA Trans. 84, 128–141 (2019)

    Article  Google Scholar 

  47. Irvine, C.E., Levitt, K.: Trusted hardware: can it be trustworthy? In: 2007 44th ACM/IEEE Design Automation Conference, pp. 1–4. IEEE (2007)

  48. Ishai, Y,. Kushilevitz, E., Ostrovsky, R., Prabhakaran, M., Sahai, A.: Efficient non-interactive secure computation. In: Eurocrypt, pp. 406–425. Springer (2011)

  49. Kamm, L., Willemson, J.: Secure floating point arithmetic and private satellite collision analysis. Int. J. Inf. Sec. 14(6), 531–548 (2015)

    Article  Google Scholar 

  50. Kaptchuk, G.: Giving state to the stateless: augmenting trustworthy computation with ledgers. In: NDSS (2019)

  51. Karl, R., Burchfield, T., Takeshi, J., Jung, T.: Non-interactive mpc with trusted hardware secure against residual function attacks. In: SecureComm (2019)

  52. Karn, P., Partridge, C.: Improving round-trip time estimates in reliable transport protocols. SIGCOMM, ACM 17, 2–7 (1987)

    Article  Google Scholar 

  53. Kolesnikov, V., Schneider, T.: Improved garbled circuit: Free xor gates and applications. In: ICALP, pp. 486–498. Springer (2008)

  54. Leader, S.H.: The rise of terrorism. Secur. Manag. 41(4), 34–9 (1997)

    Google Scholar 

  55. Lindell, Y.: Fast cut-and-choose-based protocols for malicious and covert adversaries. J. Cryptol. 29(2), 456–490 (2016)

    Article  MathSciNet  Google Scholar 

  56. Lindell, Y., Pinkas, B., Smart, N.P., Yanai, A.: Efficient constant round multi-party computation combining bmr and spdz. In: CRYPTO, pp. 319–338. Springer (2015)

  57. Makkes, M.X., Uta, A., Das, R.B., Bozdog, V.N., Bal, H. P\(\wedge \) 2-swan: Real-time privacy preserving computation for iot ecosystems. In: 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC), pp. 1–10. IEEE (2017)

  58. Malina, L., Hajny, J., Fujdiak, R., Hosek, J.: On perspective of security and privacy-preserving solutions in the internet of things. Comput. Netw. 102, 83–95 (2016)

    Article  Google Scholar 

  59. Marochko, A.: Tss.msr project description (2019) https://github.com/Microsoft/TSS.MSR

  60. Mathis, M., Semke, J., Mahdavi, J., Ott, T.: The macroscopic behavior of the tcp congestion avoidance algorithm, pp. 67–82. SIGCOMM (1997)

  61. Mood, B., Gupta, D., Carter, H., Butler, K., Traynor, P.: Frigate: a validated, extensible, and efficient compiler and interpreter for secure computation. In: EuroS&P, pp. 112–127. IEEE (2016)

  62. Mukherjee, P., Wichs, D.: Two round multiparty computation via multi-key fhe. Eurocrypt 9666, 735–763 (2016)

    MathSciNet  MATH  Google Scholar 

  63. Obana, S., Yoshida, M.: An efficient construction of non-interactive secure multiparty computation. In: CANS, pp. 604–614. Springer (2016)

  64. Oberhaus, D.: Spacex is banking on satellite internet. maybe it shouldn’t. Wired (2019)

  65. Padhye, J., Firoiu, V., Towsley, D., Kurose, J.: Modeling tcp throughput: a simple model and its empirical validation. SIGCOMM 28(4), 303–314 (1998)

    Article  Google Scholar 

  66. Parikh, N., Sundaresan, N.: Scalable and near real-time burst detection from ecommerce queries. In: ACM SIGKDD, ACM, KDD ’08, pp. 972–980 (2008)

  67. Pass, R., Shi, E., Tramer, F.: Formal abstractions for attested execution secure processors. In: Annual International Conference on the Theory and Applications of Cryptographic Techniques, pp. 260–289. Springer (2017)

  68. Rabin, M.: How to Exchange Secrets with Oblivious Transfer. Harvard University Technical Report (1981)

  69. Reese, H.: 1 in 10 Vehicles will be Autonomous by 2030. Tech Republic (2020)

  70. Russell, M.A.: Mining the social web. “O’Reilly Media, Inc.” (2011)

  71. Salyers, D.C., Striegel, A.D., Poellabauer, C.: Wireless reliability: rethinking 802.11 packet loss. In: WoWMoM, pp 1–4. IEEE (2008)

  72. Shamir, A.: How to share a secret. Commun. ACM 22(11), 612–613 (1979)

    Article  MathSciNet  Google Scholar 

  73. Tao, C.: Clumsy (2016). https://github.com/jagt/clumsy

  74. The OpenSSL Project.: OpenSSL: The open source toolkit for SSL/TLS (2003). www.openssl.org

  75. Wang, X.: A new paradigm for practical maliciously secure multi-party computation (2018)

  76. Wang, X., Ranellucci, S., Katz, J.: Authenticated garbling and efficient maliciously secure two-party computation. In: CCS, pp. 21–37. ACM (2017)

  77. Wang, X., Ranellucci, S., Katz, J.: Global-scale secure multiparty computation. In: CCS, pp. 39–56. ACM (2017)

  78. Wonder Network Staff.: Global ping statistics (2019). https://wondernetwork.com/pings/Shanghai

  79. Zartner, D.: The rise of transnational crime: International cooperation, state contributions, and the role of the global political economy. Int. Stud. Rev. 12(2), 316–319 (2010)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Taeho Jung.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Proof of Theorem 3

Theorem 5

Our protocols \(\pi _{private}\) and \(\pi _{fair+robust}\) correctly compute Boolean circuits as defined in Definition 1.

Proof

Recall that the circuit C is agreed upon prior to beginning the protocol. We note first that if the parties use their TPMs exactly as described in the protocol, they will use \(\mathsf {gen}\) to generate a \({\mathcal {W}}_i\)-time use count limited key pair (\({\mathcal {K}}_{\mathbf{p }_i}\), \({\mathcal {K}}_{\mathbf{s }_i}\)). The parties will later send their \({\mathcal {K}}_{\mathbf{p }_i}\) to the “separate” garbler. (This step is verified during attestation as described in Fig. 1.) The garbler must correctly use the garbling function \(\mathsf {garble}\) to convert the ordinary circuit C to a corresponding garbled circuit GC whose inputs map correctly to the corresponding outputs of the original circuit. Following this, the garbler takes the input wire labels \(x_{w,(0,1)}\) corresponding to wires controlled by \({\mathcal {P}}_i\) and must encrypt them with symmetric key \({\mathcal {R}}^{(i)}\) using \(\mathsf {enc\_sec}\), which is \({\mathsf {enc\_sec}({x_{w,(0,1)}})} = {\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf (0,1) })} \). Then, the garbler must use the function \(\mathsf {enc\_pub}\) to encrypt the wires with \({\mathcal {P}}_i\)’s public key \({\mathcal {K}}_{\mathbf{p }_i}\) along with a perfectly secret share (e.g., Shamir’s) of symmetric key \({\mathcal {R}}^{(i)}\) corresponding to the wire w, which is \(\mathsf {enc\_pub}(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf (0,1) }), {\mathcal {R}}^{(i)}_w) = \mathcal {PK}_{{\mathcal {K}}{_{p_{i}}}}(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf (0,1) }), {\mathcal {R}}^{(i)}_w\)). The garbler then must broadcast this ciphertext as \({\mathcal {C}}_{w,(0,1)}\) to party \({\mathcal {P}}_i\) along with the garbled circuit GC. Note that some index information is encoded into the ciphertext so the receiving \({\mathcal {P}}_i\) will know which ciphertext corresponds to the Boolean value 0 or 1. Because of the monotonic counter, the number of decryptions permitted using the public key is equal to the number of input wires of the garbled circuit, and each party can only decrypt one possible input for each wire. After receiving all ciphertexts \({\mathcal {C}}_{w,(0,1)}\), \({\mathcal {P}}_i\) chooses to decrypt the finite number they are permitted, that correspond to their desired input of 0 or 1 for each wire w using \(\mathsf {dec\_pub}\), which is \(\mathsf {dec\_pub} ({\mathcal {C}}_{w,\mathbf (0,1) }) = {(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf (0,1) }), {\mathcal {R}}^{(i)}_w)}\). From here, \({\mathcal {P}}_i\) can combine the shares of \({\mathcal {R}}^{(i)}_w\) to recover \({\mathcal {R}}^{(i)}\) and use \(\mathsf {dec\_sec}\) to decrypt \(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf (0,1) })\) and correctly recover the proper wire label as \( \mathsf {dec\_sec}(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf (0,1) })) = x_{w,\mathbf (0,1) }\). Then, as long as the garbler properly generated the garbled circuit GC, we know that \({\mathcal {P}}_i\) can input all \(x_{w,(0,1)}\) into GC to recover the circuit’s output.\(\square \)

Appendix B: Proof of Theorem 4

We consider the multiparty setting where there is an honest majority, but a set of users A is corrupted. The simulator SIM works as follows:

  1. 1.

    Unless otherwise mentioned, SIM passes messages between adversary controlled users A and the trusted hardware.

  2. 2.

    Given the security parameter \(1^\lambda \), SIM generates random cryptographic keys within the TPM for the honest users P.

  3. 3.

    Next, SIM calls \(\mathsf {gen}\) and queries the TPM for each user in A or P to generate a random \({\mathcal {W}}_i\) time use count limited public/private key pair (\({\mathcal {K}}_{\mathbf{p }_i}\), \({\mathcal {K}}_{\mathbf{s }_i}\)) where \({\mathcal {W}}_i\) is the number of input wires \({\mathcal {P}}_i\) controls for circuit C. If a user in A does not successfully query the TPM, but \({\mathcal {A}}\) can forge the attestation to continue the protocol, SIM outputs \(\perp _{3}\) and exits.

  4. 4.

    SIM certifies \({\mathcal {K}}_{\mathbf{p }_i}\) for each \({\mathcal {P}}_i\) with an Attestation Identity Key for the TPM, and broadcasts \({\mathcal {K}}_{\mathbf{p }_i}\). If attestation fails they output \(\perp _{4}\) and abort. The simulator sees messages between \({\mathcal {A}}\) and the TPM and can see if the attestation fails but \({\mathcal {A}}\) does not abort. If this occurs, they output \(\perp _{attest}\) and exit.

  5. 5.

    SIM has the garbler \({\mathcal {G}}\), take the previously agreed upon circuit C and call \(\mathsf {garble}\), to compute a corresponding garbled circuit GC.

  6. 6.

    SIM has the garbler call \(\mathsf {hash}\) to compute the hash of each label and then splits one of each wire’s corresponding labels into shares using the random t out of n secret sharing scheme corresponding to each wire controlled by each player where t is the number of parties in the honest majority (i.e., \(\lfloor n/2 \rfloor + 1\) where n is the number of users). SIM then has the garbler call \(\mathsf {enc\_sec}\) to encrypt the each label with a random symmetric key, and \(\mathsf {enc\_pub}\) to encrypt each tuple of an encrypted label and share \({\mathcal {R}}^{(i)}_w\).

  7. 7.

    SIM has the garbler compute and broadcast \({\mathcal {C}}_{w,0} = \mathcal {PK}_{{{\mathcal {K}}}_{p_{i}}}(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x{w,0}), {\mathcal {R}}^{(i)}_w)\) and \({\mathcal {C}}_{w,1} = \mathcal {PK}_{{{\mathcal {K}}}_{p_{i}}}(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,0}), {\mathcal {R}}^{(i)}_w)\) for all \(w \in {\mathcal {W}}_i\), for all inputs controlled by honest parties along with the hash of each label and the t out of n secret shares of each parties’ input wire labels of the wire inputs corresponding to each wire controlled by each honest player. Then, SIM has the garbler compute and broadcast \({\mathcal {C}}_{w,0} = \mathcal {PK}_{{{\mathcal {K}}}_{p_{i}}}(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,0}), {\mathcal {R}}^{(i)}_w)\) and \({\mathcal {C}}_{w,1} = \mathcal {PK}_{{{\mathcal {K}}}_{p_{i}}}({\mathcal {SK}}_{{\mathcal {R}}^{(i)}}(x_{w,1}), {\mathcal {R}}^{(i)}_w)\) for all \(w \in {\mathcal {W}}_i\), for all inputs controlled by users in A along with the hash of each label and the t out of n secret shares of each parties’ input wire labels of the wire inputs corresponding to each wire controlled by each user in A.

  8. 8.

    SIM has the users in P decrypt either \({\mathcal {C}}_{w,0}\) or \({\mathcal {C}}_{w,1}\) at random (for \(w \in [{\mathcal {W}}_i]\)) using their private key \({\mathcal {K}}_{\mathbf{s }_i}\) stored on their TPM to get intermediate ciphertexts \({\mathcal {T}}_{w,0} = ( \mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,0}), {\mathcal {R}}^{(i)}_w)\) or \({\mathcal {T}}_{w,1} = ( \mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,0}), {\mathcal {R}}^{(i)}_w)\), by calling \(\mathsf {dec\_pub}\). Also, the \({\mathcal {A}}\) controlled users decrypt, similarly using \({\mathcal {K}}_{\mathbf{s }_i}\) stored on their TPM to get intermediate ciphertexts.

  9. 9.

    SIM extracts each \({\mathcal {R}}^{(i)}_w\) for each user in P which are then recombined to recover the symmetric key \({\mathcal {R}}^{(i)}\). Then, SIM uses each \({\mathcal {R}}^{(i)}\) to decrypt \(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,0})\), by calling \(\mathsf {dec\_sec}\), based on the choice of \({\mathcal {P}}_i\) to recover \(x_{w,0}\). The \({\mathcal {A}}\) controlled users similarly extracts each \({\mathcal {R}}^{(i)}_w\) to recover the corresponding symmetric key and decrypt their input choice using \(\mathsf {dec\_sec}\). If \({\mathcal {A}}\) deviates from the protocol (i.e., does not decrypt one input choice for each input to the function that they control), but is still able to correctly determine the missing \({\mathcal {R}}^{(i)}_w\) needed to reconstruct the symmetric key, SIM outputs \(\perp _{share}\) and exits.

  10. 10.

    If \({\mathcal {A}}\) aborts at any time during the previous two steps then we send abort to the ideal functionality but continue running SIM. If \({\mathcal {A}}\) is able to provide correct inputs to the circuit for all users participating, whose hash corresponds to the hash all users valid input, SIM outputs \(\perp _{10}\) and exits.

  11. 11.

    If \({\mathcal {A}}\) has not aborted, SIM broadcasts the honest parties chosen \(x_{w,i}\) to \({\mathcal {A}}\). If \({\mathcal {A}}\) does not send the inputs owned by the parties they control to SIM, but is able to provide correct inputs to the circuit for all users participating, whose hash corresponds to the hash all users valid input, SIM outputs \(\perp _{11}\) and exits.

  12. 12.

    We split the behavior of SIM into the following cases:

    1. (a)

      If \({\mathcal {A}}\) responds with the set of \(x_{w,i}\) that correspond to the inputs controlled by users in A, whose hashes verify successfully, SIM outputs the plaintext circuit output.

    2. (b)

      If \({\mathcal {A}}\) responds with a set of messages that do not correspond to the inputs controlled by the users in A (i.e., \(x_{w,i}\)), but can be used to construct the correct hash of the inputs controlled by A, SIM outputs \(\perp _{12}\) and exits.

    3. (c)

      If \({\mathcal {A}}\) responds with a set of messages that do not correspond to the inputs controlled by the users in A (i.e., \(x_{w,i}\)), and cannot be used to construct the correct hash of the inputs controlled by A, SIM broadcasts each user in P’s t out of n secret shares that correspond to the malicious parties’ labels that were not successfully verified to all other honest parties. SIM combines the shares to recover all of \(x_{w,0}\) or \(x_{w,1}\) that correspond to the inputs controlled by \({\mathcal {A}}\), and input these labels into the garbled circuit GC to reveal the output and return the plaintext circuit output.

We prove indistinguishability of the real and ideal worlds through a sequence of hybrids, via the following theorem:

Theorem 6

Assuming the TPM is secure, all parties use the TPM as the protocol describes, the public key and symmetric key encrypted ciphertexts supported by the TPM are IND-CCA secure, players properly perform attestation with their keys, a cryptographically secure hash function is used, an information-theoretically secure secret sharing scheme is used, and the semi-honest, non-colluding garbler correctly garbles circuits, our protocol \(\pi _{fair + robust}\) privately, fairly, and robustly computes Boolean circuits as defined in Definitions 2,5,6.

\(Hyb_0\): Identical to the real execution.

\(Hyb_1\): Identical to \(Hyb_0\) except that we introduce the following check. Observe the users in A and the attestation messages they send to the TPM. If a user in A does not successfully query the TPM, output \(\perp _{3}\) and exit.

Claim

Assuming the TPM is secure, \(Hyb_0\) is computationally indistinguishable from \(Hyb_1\).

Proof

\(Hyb_1\) outputs \(\perp _3\) with only negligible probability. If not, we can use \({\mathcal {A}}\) to forge the attestation feature of the TPM, thus breaking the TPM’s security. \(\square \)

\(Hyb_2\): Identical to \(Hyb_1\) except that we replace all the public/private key pairs \({\mathcal {K}}_{\mathbf{p }_i}\), \({\mathcal {K}}_{\mathbf{s }_i}\) with random keys.

Claim

Assuming the IND-CCA security of the TPM’s public/private key pairs, \(Hyb_2\) is computationally indistinguishable from \(Hyb_1\).

Proof

This follows directly from the IND-CCA security. \(\square \)

\(Hyb_3\): Identical to \(Hyb_2\) except that we replace all the symmetric keys \({\mathcal {R}}^{(i)}\) with random keys.

Claim

Assuming the IND-CCA security of the symmetric key pairs, \(Hyb_3\) is computationally indistinguishable from \(Hyb_2\).

Proof

This follows directly from the IND-CCA security. \(\square \)

\(Hyb_4\): Identical to \(Hyb_3\) except that we add the following checks: 1) If for SIM, the attestation fails for the honest users in P, output \(\perp _4\) and exit. 2) If the attestation fails for a user controlled by \({\mathcal {A}}\), but they do not abort, output \(\perp _{attest}\) and exit.

Claim

Assuming the TPM is secure, \(Hyb_4\) is computationally indistinguishable from \(Hyb_3\).

Proof

\(Hyb_4\) outputs \(\perp _4\) and \(\perp _{attest}\) with only negligible probability. If not, we can use \({\mathcal {A}}\) to forge the attestation of the TPM, to break the TPM’s security. \(\square \)

\(Hyb_5\): Identical to \(Hyb_4\) except that SIM has the garbler compute and broadcast \({\mathcal {C}}_{w,\mathbf{0} }\) = \(\mathcal {PK}_{{{\mathcal {K}}}_{p_{i}}}({\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x{w,\mathbf{0} })}, {\mathcal {R}}^{(i)}_w)\) and \({\mathcal {C}}_{w,1}\) = \(\mathcal {PK}_{{\mathcal {K}}_{p_{i}}}({\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf{0} })}, {\mathcal {R}}^{(i)}_w)\) for all \(w \in {\mathcal {W}}_i\), for all inputs controlled by honest parties along with the hash of each label and the t out of n secret shares of each parties’ input wire labels of the wire inputs corresponding to each wire controlled by each honest player.

Claim

Assuming the public/private and symmetric encryption schemes are IND-CCA secure, \(Hyb_5\) is computationally indistinguishable from \(Hyb_4\).

Proof

This follows from the IND-CCA of the schemes. If not, we can leverage \({\mathcal {A}}\) to break the IND-CCA security of the encryption schemes. \(\square \)

\(Hyb_6\): Identical to \(Hyb_5\) except that SIM has the users in P decrypt either \({\mathcal {C}}_{w,0}\) or \({\mathcal {C}}_{w,1}\) at random (for \(w \in [{\mathcal {W}}_i]\)) using their private key \({\mathcal {K}}_{\mathbf{s }_i}\) stored on their TPM to get intermediate ciphertexts \({\mathcal {T}}_{w,0}\) = ( \(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf{0} }), {\mathcal {R}}^{(i)}_w)\) or \({\mathcal {T}}_{w,1} = ( {\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x_{w,\mathbf{1} })}, {{\mathcal {R}}^{(i)}_w})\), by calling \(\mathsf {dec\_pub}\).

Claim

Assuming the public/private encryption scheme is IND-CCA secure, \(Hyb_6\) is computationally indistinguishable from \(Hyb_5\).

Proof

This follows from the IND-CCA of the scheme. If not, we can use \({\mathcal {A}}\) to break the IND-CCA security. \(\square \)

\(Hyb_7\): Identical to \(Hyb_6\) except SIM extracts each \({\mathcal {R}}^{(i)}_w\) for each user in P which are then recombined to recover the symmetric key \({\mathcal {R}}^{(i)}\). Then SIM uses each \({\mathcal {R}}^{(i)}\) to decrypt \(\mathcal {SK}_{{\mathcal {R}}^{(i)}}(x{w,\mathbf{0} })\), by calling \(\mathsf {dec\_sec}\), based on the choice of \({\mathcal {P}}_i\) to recover \(x_{w,0}\).

Claim

Assuming the public/private encryption scheme is IND-CCA secure, \(Hyb_7\) is computationally indistinguishable from \(Hyb_6\).

Proof

This follows from the IND-CCA of the scheme. If not, we can leverage \({\mathcal {A}}\) to break the IND-CCA security. \(\square \)

\(Hyb_8\): Identical to \(Hyb_7\), except that if \({\mathcal {A}}\) deviates from the protocol (i.e., does not decrypt one input choice for each input to the function that they control), but is still able to correctly determine the missing \({\mathcal {R}}^{(i)}_w\) needed to reconstruct the symmetric key, SIM outputs \(\perp _{share}\) and exits.

Claim

Assuming the secret sharing scheme is information-theoretically secure, \(Hyb_8\) is computationally indistinguishable from \(Hyb_7\).

Proof

\(\perp _{share}\) is output with negligible probability. This follows from the information-theoretic security of the secret sharing scheme. If \({\mathcal {A}}\) is able to determine the correct share to recover \({\mathcal {R}}^{(i)}_w\), we can leverage \({\mathcal {A}}\) to break the information-theoretic security of the secret sharing scheme. \(\square \)

\(Hyb_9\): Identical to \(Hyb_8\), except that if \({\mathcal {A}}\) aborts during steps 1–3 of the online phase, we send abort to the ideal functionality. Also we add the following check: If \({\mathcal {A}}\) is able to provide correct inputs to the circuit for all users participating, whose hash corresponds to the hash all users valid input, SIM outputs \(\perp _{10}\) and exits.

Claim

Assuming the hash is cryptographically secure (i.e., collision resistant and pre-image resistant), \(Hyb_9\) is computationally indistinguishable from \(Hyb_8\).

Proof

\(\perp _{10}\) is output with negligible probability. This follows from the collision resistance and pre-image resistance of the hash function. If \({\mathcal {A}}\) is able to provide correct inputs to the circuit for all users participating, whose hash corresponds to the hash all users valid input, we can leverage \({\mathcal {A}}\) to break the cryptographic security of the hash function. \(\square \)

\(Hyb_{10}\): Identical to \(Hyb_9\), except we add the following check: If \({\mathcal {A}}\) does not send the inputs owned by the parties they control to SIM, but is able to provide correct inputs to the circuit for all users participating, whose hash corresponds to the hash all users valid input, SIM outputs \(\perp _{11}\) and exits.

Claim

Assuming the hash is cryptographically secure (i.e., collision resistant and pre-image resistant), \(Hyb_{10}\) is computationally indistinguishable from \(Hyb_9\).

Proof

\(\perp _{11}\) is output with negligible probability. This follows from the collision resistance and pre-image resistance of the hash function. If \({\mathcal {A}}\) does not send the inputs owned by the parties they control to SIM, but is able to provide correct inputs to the circuit for all users participating, whose hash corresponds to the hash all users valid input, we can leverage \({\mathcal {A}}\) to break the cryptographic security of the hash function. \(\square \)

\(Hyb_{11}\): Identical to \(Hyb_{10}\), except we add the following checks:

  1. 1.

    If \({\mathcal {A}}\) responds with the set of \(x_{w,i}\) that correspond to the inputs controlled by users in A, whose hashes verify successfully, SIM outputs the plaintext circuit output.

  2. 2.

    If \({\mathcal {A}}\) responds with a set of messages that do not correspond to the inputs controlled by the users in A (i.e., \(x_{w,i}\)), but can be used to construct the correct hash of the inputs controlled by A, SIM outputs \(\perp _{12}\) and exits.

  3. 3.

    If \({\mathcal {A}}\) responds with a set of messages that do not correspond to the inputs controlled by the users in A (i.e., \(x_{w,i}\)), and cannot be used to construct the correct hash of the inputs controlled by A, SIM broadcasts each user in P’s t out of n secret shares that correspond to the malicious parties’ labels that were not successfully verified to all other honest parties. SIM combines the shares to recover all of \(x_{w,0}\) or \(x_{w,1}\) that correspond to the inputs controlled by \({\mathcal {A}}\), and input these labels into the garbled circuit GC to reveal the output and return the plaintext circuit output.

Claim

Assuming the hash is cryptographically secure (i.e., collision resistant and pre-image resistant), \(Hyb_{11}\) is computationally indistinguishable from \(Hyb_{10}\).

Proof

If \({\mathcal {A}}\) can create a set of messages that do not correspond to the inputs controlled by the users in A, but can be used to construct the correct hash of the inputs controlled by A, then we can leverage \({\mathcal {A}}\) to break the cryptographic security of the hash function. Thus, \(\perp _{12}\) is output with negligible probability. \(\square \)

Note that \(Hyb_{11}\) is the same as our simulator. Also, recall it is known which wires are owned by which parties, since this is agreed upon beforehand, and so because all data sent can be traced back to the sending party who owns the wire, any cheating party can be identified. Note that by the security of the hash function, no information can be gained from the hashes of the labels sent by the garbler, as any hashed value should be equivalent to sampling from a uniformly random distribution. Recall that \({\mathcal {K}}_{\mathbf{p }_i}\) is only usable \({\mathcal {W}}_i\) times due to the monotonic counter. If the value of \({\mathcal {W}}_i\) is correctly calculated beforehand, each party will only be able to decrypt one intermediate ciphertext for each input wire. If the adversary chooses to behave maliciously during step 4 of the Online phase, the probability that this behavior will be detected during the Verify and Evaluate phase is negligible by the security of the hash function (i.e., the adversary would have to find a collision to the cryptographically secure hash function). The adversary will be able to receive their prescribed output, but all of the honest parties will be able to send and combine their t out of n secret shares that correspond to the malicious parties’ labels to recover all the labels that correspond to the malicious parties’ controlled wires, thus supporting fair/robust NI-MPC. They can then input the labels into the garbled circuit GC to reveal the output. This demonstrates that for the class of all functions F, our protocol is secure against adversaries \({\mathcal {A}}\) since:

$$\begin{aligned} {\text {IDEAL}}_{{{\mathcal {S}}}, F}\left( 1^{\lambda }, X, z\right) \approx _{c} {\text {REAL}}_{{\mathcal {A}}, \pi }\left( 1^{\lambda }, X, z\right) \end{aligned}$$

Therefore, the adversary cannot distinguish between real and simulated executions and our protocol securely computes Boolean circuits as defined in Definition 2. Furthermore, all players, regardless of whether they behave honestly or maliciously, will receive fair/robust output as discussed in Definitions 5 and/or 6.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Karl, R., Burchfield, H., Takeshita, J. et al. Developing non-interactive MPC with trusted hardware for enhanced security. Int. J. Inf. Secur. 21, 777–797 (2022). https://doi.org/10.1007/s10207-022-00583-w

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10207-022-00583-w

Keywords

Navigation