プログラマ、趣味でプログラミング言語処理系実装に興味を持っている。3年前
オープンソースというのはソースコードがオープンなのであって、データがオープンとは限りません。
例えば、オープンソースの個人用のアドレス帳アプリがあるとして、それを使うと個人が登録したアドレスが全世界に公開されるわけには行きません。データの保存は、慎重を期して意図せざる他者からは読み書きができないように設計します。秘密鍵も特に慎重を期して扱うべきではありますが、ただのデータです。
この意味で、オープンソースかどうかは、データが公開されるかどうかとは独立の問題です。
さて、オープンソースかどうかと関わりなく、データや秘密鍵を意図せざる他者から読み取られないようにするには、
- 認証、誰がその情報にアクセスしようとしているのか。
- 認可、誰がアクセスしているかはわかったとして、その人がなにかにアクセスしようとしたとき、その何かに対してそのアクセスをその人がしてもよいかどうか
という仕組みを作り込むか、それらを提供するサービスやライブラリを正しい手順で呼び出すことによって実現します。
秘密鍵は、他のデータにアクセスできる権限を持っているという証になる認証のためのデータと言えます。秘密鍵データそのものに対しても、一段と厳しい認証と認可の設定を行います。
ソフトウェアエンジニア (2017–現在)3年前
プログラムの署名に使ってる秘密鍵や、プロジェクトの成果物を管理してるサーバーのアクセス情報でしょうかね。
どちらも開発者本人が管理してますよ。だから開発者が誰にも引き継ぐことなく連絡つかなくなってしまった場合は、そのプログラムを引き継ぐ人が現れたら別のサーバーで別の署名使ってリリースされることになります。
プロジェクトごとに方針が異なりますが、暗号化してネット上に置くケースが多いと思います。そして復号鍵はどこか安全な場所(オフライン)で管理。
または、機密情報を特定メンバだけが共有できるサービスをつかう場合も在るでしょう。たとえば Bitwarden Open Source Password Manager のような。
0 コメント:
コメントを投稿