<div dir="auto"><div>There are two ways to handle multiple authorizations needed:<div dir="auto">1) Secret data is shared across multiple locations/holders, or</div><div dir="auto">2) Secret data is stored in a trusted system which itself requires multiple authorizations.</div><div dir="auto"><br></div><div dir="auto">You could perhaps put together multiple trusted systems, each of which has a share of the secret data, and then have single authorizations for each of those multiple systems.  But that that point, you're opening up a huge can of logistical worms that you seriously need to examine through the lens of a threat model evaluation, particularly against potentially rogue system administrators and backup operators.</div><div dir="auto"><br></div><div dir="auto">There is no possible way to have a distributed secret key without distributing secret data across multiple entities/systems, though.  Whether those entities are in the custody of those who possess the authority to use them is unimportant, but if they are not then your threat model must include attacks by those whose custody those entities/systems are actually in. (Multiple encrypted containers/home directories for those shares might work on the same system, but you still need to "send the secret data around" to each of them.)</div><div dir="auto"><br></div>In any case, I am unaware of any existing system which meets your requirement 3.  Admittedly, I haven't specifically searched for such.</div><div dir="auto"><br></div><div dir="auto">-Kyle H<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Sun, May 24, 2020, 05:04 Erich Eckner <<a href="mailto:openssl@eckner.net" target="_blank" rel="noreferrer">openssl@eckner.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA256<br>
<br>
Hi,<br>
<br>
we're looking into setting up a CA with openssl, but we would like to <br>
distribute the secret key amongst multiple persons. We're aware of <br>
Shamir's secret sharing algorithm, but we'd like to know if there is some <br>
algorithm supported by openssl, that fulfills the following requirements <br>
(2 and 3 are not fulfilled by Shamir's algorithm):<br>
<br>
1. Secret key shared amongst N persons, M<N shares sufficient for using <br>
the key.<br>
<br>
2. No secret material (or parts thereof) needs to be sent around, <br>
preferably not even during creation of the key.<br>
<br>
3. Secret key will not be assembled from the shares for the acutal <br>
operation. E.g. each share operates independently, and the intermediate <br>
result is sent around, after M keyparts operated on it, the signature is <br>
complete and can be used.<br>
<br>
If this is not supported by openssl, we're also open for suggestions of <br>
other (open source, free-to-use) software, that can achieve this and <br>
creates standard X.509 certificates (not sure if I termed that correctly).<br>
<br>
Thank you in advance!<br>
<br>
Regards,<br>
Erich<br>
<br>
-----BEGIN PGP SIGNATURE-----<br>
<br>
iQIzBAEBCAAdFiEE3p92iMrPBP64GmxZCu7JB1Xae1oFAl7KRVMACgkQCu7JB1Xa<br>
e1rhyBAAvzJUrwcyRLpdme/mWsF/ftuA8nqv/ccw4be9Q1Y/S72MU/7UhKW2dBE0<br>
jp2tBV4zq5D3i37ElCy+Mco97cCQ+Ikg3pOtYaMYkK0hoybBlyX6onX0Y7jQhP2W<br>
N2v07HaN5RxtunxJgh7wUkWMy5arigKY9e645vJh5c8Ii5pwBb8QMwwMUJfb/1Hv<br>
5yrF4x8la3lmqQSsAwkj0FFhAAmh+Xe/v4D+uoEzmTHY7vi9hGJsAAYNmJkwsIAb<br>
M/lK43wZRAXVbotFOVrud10wchBOSUtY0w6T5apmNJ/ArA61EbuFVtUUjjBYiv87<br>
oVxr+3pydjJLDW4WczcKLKQdNbhGPhmmz4DDHxvhLXSTrtFAPUm4Qb3VeM1AO0it<br>
Gs943eoBkUrga6813sBmulbtM3fnfDbJro0/ZqQnh4/vRKQUy6LvMj2W/M/8Fn1C<br>
M8um53J35/BAakZhOHaNvDrVty4bEJ0y1fNs7JNNpQfB+WjL8C04g2uExNJmAKgG<br>
0dmZxDNGrPLKrltz+R39j0gbA4P1hnYkcgAYFcGho0z468IV5sgleHN3FhAp1qr5<br>
/TAuD2rwuPxT9wXf726n09iYJpq6jVhpBuF74mBNbyDdTzeeJtVq9mqngmhWqOCw<br>
KJcTXIhIem2wTA2yfhzf1PNK58hU55/lB36TnRryapp1rXLu1uU=<br>
=+60v<br>
-----END PGP SIGNATURE-----<br>
</blockquote></div></div></div>