This presentation is locked until  .

Mitch Negus

PhD Candidate

UC Berkeley, Dept. of Nuclear Engineering

No Data, No Problem

Giving nuclear inspectors better tools
without revealing state secrets

The following content includes static images of terrorism that some may find distressing.

Viewer discretion is advised.

Nuclear inspectors prevent material from being diverted to weapons purposes.
IAEA inspectors IAEA inspectors
The Treaty on the Non-Proliferation of Nuclear Weapons
States parties to the NPT States parties to the NPT
Privacy
Privacy
Security
Privacy
Security

Secure Multiparty Computation

Secure Multiparty Computation

MPC

A Brief History of MPC

MPC timeline (blank) MPC timeline (early) MPC timeline (middle) MPC timeline (late)
What can we DO?
What types of DATA?
Why hasn't it been DEPLOYED?

Radiation Spectra

gamma spectrum for uranium ore uranium ore sample

keV: kiloelectronvolts

What can we DO?
What types of DATA?
Why hasn't it been DEPLOYED?

MPC isn't yet used in safeguards today, due in part to:

MPC isn't yet used in safeguards today, due in part to:

  1. Technical requirements
    Viable MPC is a relatively new development.
  2. Risk-averse inspectorate
    Technologies must be rigorously proven, limiting reliance on the cutting edge.
  3. Limited pool of expertise
    Primary focus is on nuclear technology, so overlap with advanced cryptography is thin.

$ A \stackrel{?}{=} B $

Digital logic circuits can evaluate any computable function.

2 Parties

  1. Facility:
    $F$
  2. IAEA:
    $I$
  3. $F \stackrel{?}{=} I$

2 Parties

  $\times$  

2 Inputs

  1. $F$
    $=F_1 F_0$
  2. $I$
    $\,=I_1 I_0$
  3. $F \stackrel{?}{=} I$
$\{$
$0 = 00_2$
$1 = 01_2$
$2 = 10_2$
$3 = 11_2$

Facility's Viewpoint

$ F = F_1 F_0 $
$ \;I = I_1 I_0 $
circuit evaluating equality
$F_0$
$I_0$
$X_0$
0
6fd0
🔑
0
32f1
🔑
1
ed56
••••
fddd
0
6fd0
🔑
1
c4d4
🔑
0
bd67
••••
ad11
1
131b
🔑
0
32f1
🔑
0
bd67
••••
c2bf
1
131b
🔑
1
c4d4
🔑
1
ed56
••••
4b0e
$F_1$
$I_1$
$X_1$
0
5e4d
🔑
0
253e
🔑
1
19b6
••••
0d14
0
5e4d
🔑
1
767a
🔑
0
7d2f
••••
cd16
1
41cb
🔑
0
253e
🔑
0
7d2f
••••
12cf
1
41cb
🔑
1
767a
🔑
1
19b6
••••
6dc9
$X_0$
$X_1$
$X$
0
bd67
🔑
0
7d2f
🔑
0
bbe9
••••
6f4e
0
bd67
🔑
1
19b6
🔑
0
bbe9
••••
b49c
1
ed56
🔑
0
7d2f
🔑
0
bbe9
••••
712a
1
ed56
🔑
1
19b6
🔑
1
0084
••••
f4de

Facility's Viewpoint

$ F = F_1 F_0 $
$ F = 1 \, 1_2 $
$ \;I = I_1 I_0 $
$ \;I = \, ? \, ? $
circuit evaluating equality
$F_0$
$I_0$
$X_0$
🔑
🔑
••••
ad11
🔑
🔑
••••
4b0e
🔑
🔑
••••
fddd
🔑
🔑
••••
c2bf
$F_1$
$I_1$
$X_1$
🔑
🔑
••••
6dc9
🔑
🔑
••••
12cf
🔑
🔑
••••
cd16
🔑
🔑
••••
0d14
$X_0$
$X_1$
$X$
🔑
🔑
••••
712a
🔑
🔑
••••
b49c
🔑
🔑
••••
f4de
🔑
🔑
••••
6f4e

Oblivious Transfer

Facility
🔑 (0) = 32f1
🔑 (1) = c4d4
$\longrightarrow$
OT
Inspector
$\longleftarrow$
🔑 (1)?
$\longrightarrow$
🔑 = c4d4

Inspector's Viewpoint

$ F = F_1 F_0 $
$ F = \, ? \, ? $
$ \;I = I_1 I_0 $
$ \;I = 1 \, 0_2 $
circuit evaluating equality circuit evaluating equality
$F_0$
$I_0$
$X_0$
••••
ad11
131b
32f1
••••
bd67
4b0e
••••
fddd
••••
c2bf
$F_1$
$I_1$
$X_1$
41cb
767a
••••
19b6
6dc9
••••
12cf
••••
cd16
••••
0d14
$X_0$
$X_1$
$X$
••••
712a
bd67
19b6
••••
bbe9
0
b49c
••••
f4de
••••
6f4e

Existing Frameworks

Fairplay logo ABY logo
MPyC logo Obliv-C logo

(and more...)

750 hours
750 hours
31 ¼ days

CypherCircuit

CypherCircuit

Circuits can be built and evaluated in just a few lines of code.

Facility

												# Build a circuit
												circuit = CircuitBoard()
												A, B = Wire(circuit), Wire(circuit)
												OneBitComparator(A, B)

												# Run the protocol as the circuit generator
												with Generator(circuit, evaluator_address) as facility:
													vector = '1-'
													facility.evaluate_protocol(vector)
											
Inspector

												# Run the protocol as the circuit evaluator
												with Evaluator(circuit, generator_address) as inspector:
													vector = '-0'
													inspector.evaluate_protocol(vector)
											

Circuits can be explored and analyzed on the fly.


												>>> wire0.value
												>>> wire1.value
												False

												>>> wire2.value
												True

												>>> and_gate = And(wire1, wire2)
												>>> and_gate.output_wire.value
												False

												>>> and_gate.truthtable
												W0001  W0002  |  W0003
												——————————————————————
												  0      0    |    0
												  0      1    |    0
												  1      0    |    0
												  1      1    |    1
											

												>>> and_gate.label()
												>>> and_gate.labeltable()
												 W0001    W0002   |   W0003
												————————————————————————————
												70850a…  b54f72…  |  e785bd…
												70850a…  d430d6…  |  e785bd…
												11faae…  b54f72…  |  e785bd…
												11faae…  d430d6…  |  86fa19…

												>>> and_gate.garble()
												>>> and_gate.tokentable
												encrypted
												—————————
												 44e869…
												 98ddc3…
												 bf0f97…
												 590a8a…

											

ECG

cardiogram highlighted anomaly in cardiogram

Heartbeat Anomaly Detected

Cardiogram data sourced from the Beth Israel Deaconness Congestive Heart Failure database

Modeling Urban Scenarios and Experiments

MUSE

Modeling Urban Scenarios and Experiments

February 2019

Oak Ridge National Laboratory

REDC

Lab
Facility

233Pa
drum
HFIR

Research
Reactor

NaI detector

February 2019

Oak Ridge National Laboratory

REDC

Lab
Facility

233Pa
drum
HFIR

Research
Reactor

NaI detector

MUSE – Oblivious Safeguards Anomaly Detection

keV: kiloelectronvolts

Still to come...

  • Enhanced efficiency
  • Malicious adversaries
  • Spoofed inputs

This research was advised by Dr. Rachel Slaybaugh (UC Berkeley) and Dr. David Farley (Sandia National Laboratories).

Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

We acknowledge the support of the NA-22 Office of Proliferation Detection (NA-221) and especially that of the NA-221/Safeguards Program manager, Dr. Chris Ramos, in funding this work.

Special thanks goes to Jared Johnson, Andrew Nicholson, Daniel Archer, Michael Willis, Irakli Garishvili, Andrew Rowe, Ian Stewart, and James Ghawaly developing, curating, and providing access to the MUSE dataset.

Approved for unlimited unclassified release (SAND2021-0391 C).

Get in touch with Mitch by reaching out to negus@berkeley.edu

Image Attributions