メインコンテンツまでスキップ

SDK インストールガイド

MIZUHIKI アイデンティティ SDK は、MIZUHIKI 上に構築されたプロジェクトが MIZUHIKI ID の機能をアプリケーションに直接統合できるようにします。マイナンバーカードを通じてユーザーのアイデンティティを認証し、MIZUHIKI Verified(本人認証済み)ソウルバウンドトークンをミントすることで EVM アドレスへの証明を発行します。

注記

SDK はプライベートベータリリース中です。アクセスを取得するにはお問い合わせください

認証情報を受け取ったら、本ガイドに従ってプロジェクトの MIZUHIKI アイデンティティ SDK をセットアップしてください。

前提条件

MIZUHIKI アイデンティティ SDK を開始する前に、以下をご確認ください:

  • iOS 開発の場合:
    • Xcode 16.0 以降
    • iOS 16.0 以上のデプロイメントターゲット
    • NFC 対応デバイス:テスト用に iPhone 8 以降
    • Apple Developer Program メンバーシップ(NFC 機能に必要)(こちらから登録
  • 共通要件:
    • MIZUHIKI チームからのプロジェクト認証情報
    • プライベートパッケージレジストリ用アクセストークン
    • マイナンバーカード(本番テスト用)または互換性のある NFC カード(モックテスト用)

用語集

用語定義
eKYCElectronic Know Your Customer — デジタル本人確認プロセス
SBTSoulbound Token(ソウルバウンドトークン)— 本人確認済みアイデンティティを証明する転送不可能な NFT
MyNumber CardNFC チップ内蔵の日本国民 ID カード(マイナンバーカード)
EIP-191署名済みメッセージフォーマットに関する Ethereum 規格
Mock Environmentシミュレートされたカードとテストデータを使用するテスト環境
Production Environment実際のマイナンバーカードを使用するライブ環境
FeliCa日本の IC カードで使用される NFC 通信技術
EVMEthereum Virtual Machine — ブロックチェーンの実行環境
PIIPersonally Identifiable Information(個人識別情報)— 氏名、住所、ID 番号など特定の個人を識別するために使用できるデータ

環境設定

MIZUHIKI アイデンティティ SDK には mockproduction の 2 つのバージョンがあります。開発フェーズに応じて適切な環境を選択してください:

モック環境

目的: 実際のマイナンバーカードを使用しないテストおよび開発

設定:

  • SDK バージョン: mizuhiki-identity(iOS SDK には 1 つのパッケージに両バージョンが含まれています)
  • テストカード: FeliCa カード(交通系 IC、Edy、WAON など)または ISO/IEC 14443-4 Type-A カード(タッチ決済対応クレジットカード)
  • テストパスワード: ABC123(すべてのモックカードに共通のパスワード)
  • 制限事項: モック環境では実際のマイナンバーカードは使用できません
  • ユースケース: 開発、統合テスト、CI/CD パイプライン

対応テストカード:

カード種別NFC 規格
FeliCa カードSuica、Pasmo、Edy、WAONFeliCa(Sony)
Type-A カードタッチ決済対応クレジットカード、一部の交通系カードISO/IEC 14443-4 Type-A

本番環境

目的: ライブアプリケーション向けの実際のマイナンバーカード認証

設定:

  • SDK バージョン: mizuhiki-identity(iOS SDK には 1 つのパッケージに両バージョンが含まれています)
  • 必要なカード: 日本政府が発行した正規のマイナンバーカードのみ
  • パスワード: ユーザーの実際のマイナンバーカード暗証番号(6〜16 文字)
  • セキュリティ: 政府システムとの実際の暗号認証
  • ユースケース: 本番アプリケーション、実ユーザー認証

重要な注意事項:

  • ⚠️ パスワード試行回数: 誤ったパスワード入力によりカードがロックされます
  • 🏪 カードのロック解除: ロックされたカードはコンビニエンスストアまたは市区町村役場でロック解除が必要です
  • 🔒 セキュリティ: すべての認証データは安全な政府チャネルを通じて処理されます

環境の切り替え:

// Choose environment at compile time
#if MOCK
import MizuhikiIdentityMock
let client = MizuhikiIdentityMock.makeClient(projectId: "YOUR_PROJECT_ID")
#else
import MizuhikiIdentity
let client = MizuhikiIdentity.makeClient(projectId: "YOUR_PROJECT_ID")
#endif

SDK のインストールとセットアップ

開発環境に応じたプラットフォーム別のセットアップ手順に従ってください:

1. SDK パッケージレジストリのセットアップ

プライベートベータリリースのため、SDK はプライベートパッケージレジストリからダウンロードする必要があります。 プロジェクトの Swift パッケージレジストリをセットアップしてください。 その後、他のパッケージと同様に Xcode UI から MIZUHIKI アイデンティティ SDK をインストールできます。

ターミナルで以下のコマンドを実行します:

swift package-registry set --global https://swift.cloudsmith.io/mizuhiki/compliance/
swift package-registry login https://swift.cloudsmith.io/mizuhiki/compliance/ --token YOUR_TOKEN --no-confirm

YOUR_TOKEN をベータアクセスセットアップ時に提供されたトークンに置き換えてください。

2. SDK のインストール

  1. Xcode でプロジェクトを開きます
  2. File → Add Package Dependencies... に進みます
  3. 検索フィールドに mizuhiki と入力します
  4. プロンプトが表示された場合はキーチェーンパスワードを入力します(プライベートレジストリアクセスに必要)
  5. パッケージを選択してターゲットに追加します。iOS の場合、モックと本番 SDK は同じパッケージに含まれています。

3. NFC 機能の設定

NFC タグ読み取り機能の追加:

  1. プロジェクトナビゲーターでプロジェクトを選択します
  2. TARGETS 配下のアプリターゲットを選択します
  3. Signing & Capabilities タブに進みます
  4. Apple Developer チームが選択されていることを確認します
  5. + Capability をクリックして Near Field Communication Tag Reading を追加します

Info.plist の設定:

  1. Info タブを選択します
  2. Custom iOS Target Properties の下に以下のエントリを追加します:
キータイプ
Privacy - NFC Scan Usage DescriptionString"Reading MyNumber cards for identity verification"
ISO18092 system codes for NFC Tag Reader SessionArray以下の値を参照

NFC システムコード(モック環境):

  • 0003(交通系 IC カード)
  • FE00(電子マネー)
  • 88B4(FeliCa Lite-S)
注記

本番環境: 本番用の NFC システムコードは機密情報です。本番デプロイの準備が整ったら MIZUHIKI にお問い合わせください。

セットアップ参考画像:

Add NFC capability to your iOS project Configure the NFC capability for your project

iOS プロジェクトの NFC セットアップ

4. PII 暗号化キーのセットアップ

KYC 完了後、MIZUHIKI アイデンティティ SDK はユーザーの PII を暗号化された JWE データとして返します。 本番稼働前に、インテグレーターのバックエンド用の公開鍵・秘密鍵ペアを生成してください。

  1. 鍵ペアを生成します(OpenSSL + RSA を使用した例):
# Private key (keep this secret)
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out mizuhiki-pii-private-key.pem

# Public key (share this with the MIZUHIKI team)
openssl rsa -pubout -in mizuhiki-pii-private-key.pem -out mizuhiki-pii-public-key.pem
  1. 秘密鍵はバックエンドのみに保管してください(例:KMS、シークレットマネージャー、暗号化ボールト)。
  2. 秘密鍵を git にコミットしたり、モバイルアプリのバンドルに含めたりしないでください。
  3. 公開鍵を MIZUHIKI チームと共有することで、暗号化された PII がお客様のシステムに返されます。
セキュリティ要件
  • 秘密鍵はサーバーサイドのみに保管してください。
  • PII を復号するバックエンドサービスへのアクセスを制限してください。
  • 漏洩が疑われる場合は直ちに鍵をローテーションしてください。

次のステップ

SDK のインストールとセットアップが完了したら、MIZUHIKI ID をアプリケーションに統合する準備が整いました。

続いて行うこと:

  1. SDK の初期化 — アプリ内で MIZUHIKI アイデンティティ SDK クライアントをセットアップします
  2. KYC フローの実装 — ユーザー認証機能を追加します
  3. Verified SBT の発行 — ユーザーのアドレスにソウルバウンドトークンをミントします

次のページ: ユーザー認証ガイド →

はじめにチェックリスト

  • 開発環境

    • Xcode 16.0 以降がインストール済み
    • Apple Developer Program メンバーシップが有効
    • iOS 16.0 以上のデプロイメントターゲットが設定済み
  • SDK のインストール

    • Swift パッケージレジストリがトークンで設定済み
    • MIZUHIKI アイデンティティ SDK がプロジェクトの依存関係に追加済み
    • プロジェクトのビルドが成功
  • NFC 設定

    • NFC タグ読み取り機能が追加済み
    • プライバシー使用説明が設定済み
    • ISO18092 システムコードが Info.plist に追加済み
  • 統合の準備完了

    • MIZUHIKI チームから Project ID を取得済み
    • PII 鍵ペアが生成済み(秘密鍵は安全に保管)
    • 公開鍵を MIZUHIKI チームと共有済み
    • KYC フローの実装準備完了

インストールのトラブルシューティング

よくある問題:

問題プラットフォーム解決策
パッケージレジストリの認証に失敗iOS正しいトークンで swift package-registry login を再実行
依存関係の解決に失敗Android環境変数 MIZUHIKI_TOKEN が設定されているか確認
NFC 機能がないiOSApple Developer Program メンバーシップが有効かを確認

サポートが必要な場合: