Ver1.0 2025/07/01更新はじめにサニーズは、現在β版として、マイナンバーカード対応のプライバシー管理ツールを提供しています。今後、安全なパスワードなどを自動生成・自動入力するパスワードマネージャーとしての機能も追加し、お客さまのデジタルライフに平穏をもたらす存在となります。サニーズは、お客さまに安心してご利用いただくために透明性を重視しており、このホワイトペーパーもその一環となります。サニーズはスタートアップです。一般的に、スタートアップはスピードが命だと言われます。しかし、サニーズは同時に、お客さまの機密メモやパスワードなど、極めて機密性の高い情報を取り扱う企業でもあります。そのためサニーズでは、スタートアップであれど、セキュリティを最優先します。暗号化アーキテクチャE2E(End to End)暗号化お客さまのレコード(パスワードや機密メモなど)は、Argon2id、PBKDF2、ソルトを用いたハッシュ化などにより保護されています。すべての暗号化キーは、デバイス上のクライアント(お客さまの端末)によって生成および管理され、すべての暗号化はローカルで行われます。ゼロ知識アーキテクチャ(Zero Knowledge Architecture)すべてのレコード(※)はクライアントによって暗号化されており、サニーズのサーバーには、暗号化された情報のみが保持されます。言い換えると、生のレコードがそのままサニーズのサーバーに置かれることはありません。レコードを復号できるのはお客さま本人のみであり、たとえサニーズの運営であっても確認をすることができません。また、そのようなことがないように万全の対策をしていますが、万一サニーズのサーバーに外部から侵入があったとしても、サーバーにあるのは暗号化済みの情報のみのため、直ちにパスワードなどが漏えいすることはありません。※会員登録時に登録されたメールアドレスは、運営からの連絡で用いる場合などにおいて、運営のみで確認できる必要があるため、クライアントでの暗号化の対象外です。また、合い言葉のヒント(後述)も対象外です。認証システムデジタル認証アプリサニーズの会員登録やログインには、「デジタル認証アプリ」の利用が必須です。デジタル認証アプリは、デジタル庁が提供しているアプリで、マイナンバーカードを使った認証が行えるものです。デジタル認証アプリによるマイナンバーカードの読み取りを必須とすることで、認証強度を高めると同時に、復旧コードなどと異なりマイナンバーカードは再発行が可能なことから、セキュリティと可用性を両立します。パスキー今後、ログイン方法として、パスキーも採用予定です。デジタル認証アプリは可用性が高いもののやや煩雑であるため、日常的な利用には不向きな面があります。そこでパスキーを採用することで、普段はパスキーでログインをし、なんらかの事情でパスキーを利用できない場合は合い言葉とデジタル認証アプリでログインをする、といった使い分けを想定しています。暗号化・ハッシュ化の詳細会員登録のプロセス合い言葉の設定→メールアドレス認証→デジタル認証アプリを用いたマイナンバーカードの読み取りの順に行います。合い言葉会員登録の最初のステップである「合い言葉」が設定されると、サニーズはクライアントで、Argon2idを使用して合い言葉をストレッチし、さらにソルトを加えます。これによって作られる値が、256bitのマスターキーとなります。マスターキーは、HKDFを使用して512bitの鍵を導出します。マスターキーと、ストレッチされたマスターキーが、サニーズのサーバーに保存・送信されることはありません。さらに、マスターキーと合い言葉から、マスターパスワードハッシュを生成します。マスターパスワードハッシュと「合い言葉のヒント(後述)」はサーバーに送信され、今後ログインをする際に認証のために利用されます。なお、マスターパスワードハッシュと合い言葉のヒントは、サーバー側でハッシュ化されます。次に、RSA鍵のペアを生成し、RSA公開鍵と、マスターキーで暗号化されたRSA秘密鍵をサーバーに送ります。加えて、暗号論的擬似乱数生成器(CSPRNG)を利用して512bitの対称鍵も生成します。この鍵をRSA公開鍵で暗号化し、サーバーに送信します。合い言葉のヒント合い言葉はお客さま本人のみが知っており、それを忘れるとサニーズにログインができなくなります。忘れることを防ぐために、合い言葉を思い出すための「ヒント」も任意で登録できます。ヒントはサニーズのサーバーで保持されるため、合い言葉そのものや個人情報、合い言葉を他人が推測できるものは登録しないでください。デジタル認証アプリ合い言葉の設定とメールアドレス認証が終わると、デジタル庁が提供する「デジタル認証アプリ」によるマイナンバーカードの読み取りが必要となります。デジタル認証アプリを通じて、サニーズはデジタル庁から「利用者識別子」「姓名」「生年月日」を取得します。これらはハッシュ化されたうえでサニーズのサーバーで保持され、今後ログインをする際に認証のために利用されます。※サニーズがデジタル庁から、マイナンバー(個人番号12桁)を取得することはありません。また、性別や住所を取得することもありません。ログインのプロセスサニーズにログインするには、まずメールアドレスと合い言葉を入力します。会員登録の際と同様に、サニーズはクライアントで、Argon2idを使用して合い言葉をストレッチし、さらにソルトを加え、マスターキーを生成します。さらにマスターキーからマスターパスワードハッシュが生成され、これをサーバーに送信し、認証をします。その後、サーバーからクライアントに、マスターキーで暗号化されたRSA秘密鍵が送信されます。生成済みのマスターキーを使ってクライアントでそれを復号し、ペアとなるRSA公開鍵を使って対称鍵を復号します。合い言葉の入力後、デジタル認証アプリによるマイナンバーカードの読み取りが行われ、デジタル庁から送信された値をハッシュ化し、認証に使用します。保管庫お客さまの保管庫に関連するすべてのレコード(パスワードや機密メモなど)は、E2Eで暗号化されています。各レコードはそれぞれ別の鍵で暗号化され、それらの鍵も対称鍵で暗号化されます。復号するには合い言葉やデジタル認証アプリが必要です。復号は必ずクライアントで実施されるため、暗号化されていないレコードがサニーズのサーバーに送信されることはありません。データ保護保存時クライアントとサーバーの二層において、暗号化が行われます。一層目お客さまのレコードは、まずデバイス上のクライアントによって暗号化され、判読不能な文字列となります。二層目クライアント(一層目)で暗号化がされたレコードが、サニーズのサーバー(二層目)に送られ、サーバー上でさらなる暗号化が行われます。暗号化AES-CBCやArgon2idなどによる暗号化やハッシュ化が行われます。サニーズのサーバーは、暗号化された保管庫データの保存と、同期にのみ使用されます。暗号化されていないデータをサーバーに置くことはありません。通信時デバイス上のクライアントによって暗号化されない限り、お客さまのレコードがサニーズのサーバーに送られることはありません。HTTPS・TLSクライアントとサニーズのサーバー間の通信は、SSL/TLSにより保護されています。また、HTTPS化によって、すべての通信はTLSの使用が強制されます。セキュリティ監査脆弱性診断プロダクトのローンチにあたり、サニーズはセキュリティ企業による脆弱性診断を受けています。また、今後も定期的に診断を受ける予定です。認証(今後予定)今後、ISO27001等の取得を想定していますが、現時点では未取得です。