Cách khôi phục khi quên mật khẩu quản trị IAMMETER
Nếu quên tên đăng nhập hoặc mật khẩu quản trị cho Web UI cục bộ của công tơ IAMMETER, bạn không cần thông tin đăng nhập cũ để khôi phục quyền truy cập. Quy trình khôi phục có chữ ký của IAMMETER xác minh quyền sở hữu thiết bị, tắt Admin Security và xóa thông tin quản trị cục bộ đã quên.
Hướng dẫn này dành riêng cho trường hợp quên mật khẩu Admin Security. Nếu vẫn biết thông tin hiện tại, hãy thay đổi hoặc tắt từ thẻ Security của thiết bị. Để thiết lập, truy cập API được bảo vệ và điều khiển dịch vụ, xem hướng dẫn Local Admin Security.
Trong trang này
- Quy trình khôi phục thực hiện những gì
- Trước khi bắt đầu
- Bước 1: Tạo payload khôi phục dùng một lần
- Bước 2: Nhận phản hồi khôi phục có chữ ký
- Bước 3: Gửi payload và chữ ký đến thiết bị
- Xử lý sự cố khôi phục mật khẩu
- Vì sao khôi phục cần thử thách một lần có chữ ký
- Tài liệu bảo mật IAMMETER liên quan
Quy trình khôi phục thực hiện những gì
Quy trình dùng ba thành phần:
- Thiết bị IAMMETER tạo payload khôi phục dùng một lần, riêng cho thiết bị.
- Dịch vụ IAMMETER Contributor kiểm tra tài khoản đã đăng nhập có quyền quản lý SN thiết bị, rồi ký chính xác payload đó.
- Thiết bị xác minh chữ ký Ed25519, xóa thông tin đã quên và tắt Admin Security.
Khôi phục không xóa dữ liệu năng lượng, cấu hình Wi-Fi hay cấu hình thiết bị. Sau khôi phục, bạn có thể mở Web UI cục bộ và đặt tên đăng nhập cùng mật khẩu quản trị mới.
Trước khi bắt đầu
Bạn cần:
- truy cập thiết bị IAMMETER trên cùng mạng cục bộ;
- địa chỉ IP cục bộ của thiết bị;
- tài khoản IAMMETER có quyền quản lý SN thiết bị;
- trình duyệt trên máy tính có thể truy cập Web UI cục bộ của thiết bị. Chỉ cần
curlhoặc ứng dụng HTTP khác nếu chọn cách gửi thủ công.
Bạn có thể kiểm tra firmware đã cài có hỗ trợ khôi phục có chữ ký bằng cách mở:
http://<device-ip>/api/admin/status
Tìm "recoverySupported":1 trong phản hồi. Nếu endpoint khôi phục không khả dụng, hãy cập nhật firmware tương thích hoặc liên hệ hỗ trợ IAMMETER trước khi tiếp tục.
Quan trọng: Thử thách chứa nonce dùng một lần. Giữ thiết bị bật và không yêu cầu thử thách khác cho đến khi POST khôi phục hoàn tất. Thử thách mới hoặc khởi động lại thiết bị sẽ làm payload trước mất hiệu lực.
Bước 1: Tạo payload khôi phục dùng một lần
Mở URL sau trong trình duyệt, thay <device-ip> bằng địa chỉ IP cục bộ của thiết bị IAMMETER:
http://<device-ip>/api/admin/recovery_challenge
Hoặc yêu cầu thử thách bằng curl:
curl "http://<device-ip>/api/admin/recovery_challenge"
Thiết bị trả về phản hồi tương tự:
{
"successful": 1,
"alg": "ed25519",
"payload": "reset_admin|DEVICE_SN|DEVICE_MAC|ONE_TIME_NONCE"
}
Sao chép toàn bộ giá trị payload. Không thay đổi ký tự, dấu phân cách, chữ hoa/thường, SN thiết bị, địa chỉ MAC hay nonce.

Không làm mới trang thử thách hoặc gọi lại
/api/admin/recovery_challengesau khi sao chép payload. Mỗi yêu cầu lập tức vô hiệu hóa thử thách trước đó.
Bước 2: Nhận phản hồi khôi phục có chữ ký
Đăng nhập hệ thống IAMMETER Contributor và mở:
Dán toàn bộ payload từ Bước 1 và gửi. Dịch vụ kiểm tra SN thiết bị trong payload có liên kết với tài khoản của bạn không. Sau xác minh, dịch vụ trả về chữ ký Ed25519 cho đúng payload đó.

Chữ ký chỉ hợp lệ với payload không thay đổi do thiết bị tạo ở Bước 1. Nếu định gửi yêu cầu thủ công bằng curl, hãy sao chép đúng chữ ký được trả về. Nếu cùng trình duyệt có thể truy cập thiết bị qua mạng cục bộ, bạn có thể hoàn thành bước tiếp theo ngay trên trang Contributor.
Bước 3: Gửi payload và chữ ký đến thiết bị
Cách A: Hoàn tất khôi phục trực tiếp trong trình duyệt
Nếu máy tính chạy trình duyệt ở cùng mạng với thiết bị IAMMETER và trình duyệt mở được Web UI cục bộ của thiết bị, bạn có thể gửi kết quả có chữ ký trực tiếp từ trang Contributor Admin Recovery:
- Trong Step 3: Send to your device, nhập địa chỉ IP cục bộ của thiết bị.
- Dùng thao tác khôi phục trên trang để gửi payload có chữ ký đến thiết bị.
- Chờ Recovery completed. Thông báo xác nhận thiết bị đã chấp nhận kết quả có chữ ký, xóa tên đăng nhập và mật khẩu quản trị cục bộ hiện có, đồng thời tắt Admin Security.

Cách dùng trình duyệt giúp không phải sao chép JSON khôi phục vào lệnh riêng. Cách này chỉ hoạt động khi trình duyệt kết nối trực tiếp được với IP cục bộ của thiết bị.
Cách B: Gửi yêu cầu khôi phục thủ công bằng curl
Chạy lệnh sau. Thay thế:
<device-ip>bằng địa chỉ IP cục bộ của thiết bị;<original-payload>bằng toàn bộ payload từ Bước 1;<signature>bằng chữ ký trả về ở Bước 2.
curl -X POST "http://<device-ip>/api/admin/recovery" \
-H "Content-Type: application/json" \
-d '{"payload":"<original-payload>","signature":"<signature>"}'
Ví dụ:
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 trong yêu cầu phải giống hệt payload được dịch vụ Contributor ký.
Bạn cũng có thể gửi cùng yêu cầu từ trang IAMMETER WEM API Test - Admin Security Public. Mở thao tác POST /api/admin/recovery, cung cấp cùng JSON khôi phục và gửi từ trình duyệt truy cập được IP cục bộ của thiết bị. Yêu cầu Swagger được gửi thẳng đến thiết bị, không qua proxy IAMMETER Cloud.
Sau khi xác minh thành công, thiết bị:
- xóa tên đăng nhập và mật khẩu quản trị cục bộ hiện có;
- tắt Admin Security;
- vô hiệu hóa nonce khôi phục để không thể dùng lại cùng payload và chữ ký.
Mở Web UI cục bộ của thiết bị, vào thẻ Security và cấu hình tên đăng nhập cùng mật khẩu quản trị mới nếu muốn bật lại Admin Security.
Xử lý sự cố khôi phục mật khẩu
Chữ ký bị từ chối
Nguyên nhân thường gặp nhất là đã yêu cầu thử thách mới sau khi tạo payload đầu tiên. Yêu cầu một payload mới, lấy chữ ký cho payload đó và gửi cặp tương ứng mà không làm mới trang thử thách.
Chữ ký cũng bị từ chối khi:
- thiết bị khởi động lại sau khi tạo payload;
- payload bị chỉnh sửa;
- chữ ký thuộc payload hoặc thiết bị khác;
- cùng payload và chữ ký đã được dùng thành công.
Thiết bị báo thiếu bộ nhớ
Xác minh Ed25519 cần đủ bộ nhớ trống. Thiết bị có thể trả về phản hồi tương tự:
{
"successful": 0,
"message": "low memory, please change to standalone mode",
"freeMemory": 18000,
"minFreeRequired": 28000
}
Khởi động lại thiết bị để giải phóng bộ nhớ tạm, sau đó tạo payload mới và hoàn tất khôi phục kịp thời. Không thể dùng lại payload tạo trước khi khởi động lại.
Vì sao khôi phục cần thử thách một lần có chữ ký
IAMMETER không cung cấp lệnh đặt lại nhà máy không cần xác thực để vượt qua bảo vệ quản trị. Thay vào đó:
- thiết bị tạo payload chứa thao tác khôi phục, SN, địa chỉ MAC và nonce ngẫu nhiên dùng một lần;
- dịch vụ Contributor xác minh tài khoản IAMMETER đã đăng nhập có quyền với SN thiết bị đó;
- IAMMETER ký đúng payload bằng khóa riêng Ed25519;
- thiết bị xác minh chữ ký bằng khóa công khai nhúng trong firmware;
- thử thách mới, khởi động lại hoặc khôi phục thành công sẽ vô hiệu hóa nonce hiện tại.
Ràng buộc quyền với cả định danh thiết bị và nonce dùng một lần ngăn payload cùng chữ ký bị thu thập trước đó được dùng lại về sau.
Tài liệu bảo mật IAMMETER liên quan
- Cấu hình Local Admin Security, API được bảo vệ, Modbus/TCP và SSDP
- Cập nhật firmware Admin Security và bối cảnh bảo mật EN 18031-1:2024
Bài EN 18031 giải thích công việc firmware liên quan đến bảo mật. Không nên hiểu đây là tuyên bố rằng một công tơ cụ thể đã được cấp chứng chỉ; thông tin chứng nhận sẽ được công bố riêng khi có sẵn.