申し訳ありません。お使いのブラウザーはJavaScriptをサポートしていません。
サインイン

忘れた IAMMETER 管理者パスワードを復旧する方法

IAMMETER 電力量計のローカル Web UI の管理者ユーザー名やパスワードを忘れても、アクセスの復旧に古い認証情報は不要です。IAMMETER の署名付き復旧手順は機器の所有関係を確認し、Admin Security を無効にして、忘れたローカル管理者認証情報を消去します。

このガイドは Admin Security パスワードを忘れた場合のためのものです。現在の認証情報が分かる場合は、機器の Security タブから変更または無効化してください。設定、保護された API へのアクセス、サービス制御はローカル Admin Security ユーザーガイドを参照してください。

このページの目次

復旧手順で行われること

復旧フローは3つの要素で構成されます。

  1. IAMMETER 機器が、その機器に固有のワンタイム復旧 payload を生成します。
  2. IAMMETER Contributor サービスがログイン中のアカウントに対象機器 SN の管理権限があることを確認し、その payload に署名します。
  3. 機器が Ed25519 署名を検証し、忘れた認証情報を消去して Admin Security を無効にします。

復旧によってエネルギーデータ、Wi-Fi 設定、機器構成が消去されることはありません。復旧後はローカル Web UI を開き、新しい管理者ユーザー名とパスワードを設定できます。

開始前の準備

必要なもの:

  • 同じローカルネットワーク上の IAMMETER 機器へのアクセス;
  • 機器のローカル IP アドレス;
  • その機器 SN を管理する権限のある IAMMETER アカウント;
  • 機器のローカル Web UI に接続できるコンピューターのブラウザー。curl などの HTTP クライアントは、手動送信を選ぶ場合のみ必要です。

次のアドレスを開くと、インストール済みファームウェアが署名付き復旧に対応しているか確認できます。

http://<device-ip>/api/admin/status

応答内の "recoverySupported":1 を確認してください。復旧エンドポイントが利用できない場合は、対応ファームウェアに更新するか IAMMETER サポートに問い合わせてから続行してください。

**重要:**チャレンジにはワンタイム nonce が含まれます。機器の電源を維持し、復旧 POST が完了するまで新しいチャレンジを要求しないでください。新しいチャレンジや機器の再起動により、前の payload は無効になります。

ステップ 1:ワンタイム復旧 payload を生成

ブラウザーで次の URL を開き、<device-ip> を IAMMETER 機器のローカル IP アドレスに置き換えてください。

http://<device-ip>/api/admin/recovery_challenge

または curl でチャレンジを要求します。

curl "http://<device-ip>/api/admin/recovery_challenge"

機器は次のような応答を返します。

{
  "successful": 1,
  "alg": "ed25519",
  "payload": "reset_admin|DEVICE_SN|DEVICE_MAC|ONE_TIME_NONCE"
}

payload の値全体をコピーしてください。文字、区切り、大文字小文字、機器 SN、MAC アドレス、nonce を変更しないでください。

IAMMETER 電力量計からワンタイム Admin Security 復旧 payload を生成

payload のコピー後は、チャレンジページを再読み込みしたり /api/admin/recovery_challenge を再度呼び出したりしないでください。要求のたびに前のチャレンジは直ちに無効になります。

ステップ 2:署名付き復旧応答を取得

IAMMETER Contributor システムにログインして、次を開きます。

IAMMETER Admin Recovery

ステップ 1 の payload 全体を貼り付けて送信します。サービスは payload 内の機器 SN がアカウントに関連付けられているか確認します。確認後、その payload に対する Ed25519 署名を返します。

IAMMETER Admin Recovery アプリで Ed25519 復旧署名を生成

署名は、ステップ 1 で機器が生成した未変更の payload にのみ有効です。curl で手動送信する場合は、返された署名をそのままコピーしてください。同じブラウザーがローカルネットワーク経由で機器に接続できれば、Contributor ページから直接次のステップを完了できます。

ステップ 3:payload と署名を機器へ送信

方法 A:ブラウザーで直接復旧を完了

ブラウザーを実行するコンピューターが IAMMETER 機器と同じネットワークにあり、機器のローカル Web UI を開ける場合は、Contributor Admin Recovery ページから署名付き復旧結果を直接送信できます。

  1. Step 3: Send to your device に機器のローカル IP アドレスを入力します。
  2. ページ上の復旧操作で署名付き payload を機器へ送ります。
  3. Recovery completed を待ちます。これは機器が署名結果を受け入れ、既存のローカル管理者ユーザー名とパスワードを消去し、Admin Security を無効にしたことを示します。

ブラウザーと機器が同じローカルネットワークにある場合に Contributor ページから IAMMETER Admin Security パスワードを直接復旧

このブラウザー方式では、復旧 JSON を別のコマンドにコピーする必要がありません。ブラウザーが機器のローカル IP アドレスへ直接接続できる場合のみ利用できます。

方法 B:curl で復旧要求を手動送信

次のコマンドを実行します。以下を置き換えてください。

  • <device-ip>:機器のローカル IP アドレス;
  • <original-payload>:ステップ 1 の payload 全体;
  • <signature>:ステップ 2 で返された署名。
curl -X POST "http://<device-ip>/api/admin/recovery" \
  -H "Content-Type: application/json" \
  -d '{"payload":"<original-payload>","signature":"<signature>"}'

例:

curl -X POST "http://192.168.1.100/api/admin/recovery" \
  -H "Content-Type: application/json" \
  -d '{"payload":"reset_admin|DEVICE_SN|DEVICE_MAC|ONE_TIME_NONCE","signature":"128_HEX_CHARACTER_SIGNATURE"}'

この要求の payload は、Contributor サービスが署名した payload と完全に一致している必要があります。

IAMMETER WEM API Test - Admin Security Public ページから同じ復旧要求を送ることもできます。POST /api/admin/recovery 操作を開き、同じ復旧 JSON を入力して、機器のローカル IP アドレスへ接続できるブラウザーから送信してください。Swagger の要求は機器へ直接送られ、IAMMETER Cloud による代理接続ではありません。

検証が成功すると、機器は次を実行します。

  • 既存のローカル管理者ユーザー名とパスワードを消去;
  • Admin Security を無効化;
  • 同じ payload と署名が再利用されないよう復旧 nonce を無効化。

機器のローカル Web UI を開き、Security タブへ移動します。Admin Security を再び有効にする場合は、新しい管理者ユーザー名とパスワードを設定してください。

パスワード復旧のトラブルシューティング

署名が拒否される

最も一般的な原因は、最初の payload を生成した後に新しい復旧チャレンジを要求したことです。新しい payload を一つ要求し、その署名を取得して、チャレンジページを再読み込みせずに一致する組み合わせを送信してください。

次の場合も署名は拒否されます。

  • payload 生成後に機器が再起動した;
  • payload が編集された;
  • 別の payload または機器の署名である;
  • 同じ payload と署名がすでに正常に使用された。

機器がメモリー不足を報告する

Ed25519 検証には十分な空きメモリーが必要です。機器は次のような応答を返す場合があります。

{
  "successful": 0,
  "message": "low memory, please change to standalone mode",
  "freeMemory": 18000,
  "minFreeRequired": 28000
}

機器を再起動して一時メモリーを解放し、新しい payload を生成して速やかに復旧を完了してください。再起動前に作成した payload は再利用できません。

署名付きワンタイムチャレンジが必要な理由

IAMMETER は、管理者保護を回避するための認証不要の工場出荷時リセットコマンドを公開していません。代わりに次の仕組みを使います。

  • 機器が復旧操作、機器 SN、MAC アドレス、ランダムなワンタイム nonce を含む payload を作成;
  • Contributor サービスが、ログイン済み IAMMETER アカウントに対象機器 SN の権限があることを確認;
  • IAMMETER が Ed25519 秘密鍵でその payload に署名;
  • 機器がファームウェア内蔵の公開鍵で署名を検証;
  • 新しいチャレンジ、再起動、正常な復旧で現在の nonce を無効化。

認可を機器の識別情報とワンタイム nonce の両方に結び付けることで、以前取得された payload と署名が後から再利用されることを防ぎます。

関連する IAMMETER セキュリティ文書

EN 18031 の記事はセキュリティ関連のファームウェア作業を説明しています。特定の電力量計の証明書がすでに発行されたという意味ではありません。認証の詳細は正式に利用可能になり次第、別途公開されます。

トップ