잊어버린 IAMMETER 관리자 비밀번호 복구 방법
IAMMETER 전력량계의 로컬 Web UI 관리자 사용자 이름이나 비밀번호를 잊어도 접근을 복구하는 데 기존 자격 증명은 필요하지 않습니다. IAMMETER의 서명 기반 복구 절차는 기기 소유 관계를 확인하고 Admin Security를 비활성화하며 잊어버린 로컬 관리자 자격 증명을 삭제합니다.
이 가이드는 Admin Security 비밀번호를 잊은 경우를 위한 것입니다. 현재 자격 증명을 알고 있다면 기기의 Security 탭에서 변경하거나 비활성화하세요. 설정, 보호된 API 접근, 서비스 제어는 로컬 Admin Security 사용자 가이드를 참조하세요.
이 페이지의 내용
- 복구 절차가 수행하는 작업
- 시작 전 준비
- 1단계: 일회용 복구 payload 생성
- 2단계: 서명된 복구 응답 받기
- 3단계: payload와 서명을 기기에 제출
- 비밀번호 복구 문제 해결
- 복구에 서명된 일회용 챌린지가 필요한 이유
- 관련 IAMMETER 보안 문서
복구 절차가 수행하는 작업
복구 흐름에는 세 요소가 있습니다.
- IAMMETER 기기가 해당 기기에 고유한 일회용 복구 payload를 생성합니다.
- IAMMETER Contributor 서비스가 로그인 계정에 해당 기기 SN 관리 권한이 있는지 확인한 뒤 정확히 그 payload에 서명합니다.
- 기기가 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를 변경하지 마세요.

payload를 복사한 뒤 챌린지 페이지를 새로고침하거나
/api/admin/recovery_challenge를 다시 호출하지 마세요. 요청할 때마다 이전 챌린지가 즉시 무효화됩니다.
2단계: 서명된 복구 응답 받기
IAMMETER Contributor 시스템에 로그인하고 다음을 여세요.
1단계의 전체 payload를 붙여 넣고 제출하세요. 서비스는 payload의 기기 SN이 계정과 연결되어 있는지 확인합니다. 확인 후 정확히 그 payload에 대한 Ed25519 서명을 반환합니다.

서명은 1단계에서 기기가 생성한 변경되지 않은 payload에만 유효합니다. curl로 복구 요청을 수동 제출하려면 반환된 서명을 그대로 복사하세요. 같은 브라우저가 로컬 네트워크를 통해 기기에 접근할 수 있다면 Contributor 페이지에서 바로 다음 단계를 완료할 수 있습니다.
3단계: payload와 서명을 기기에 제출
옵션 A: 브라우저에서 직접 복구 완료
브라우저를 실행하는 컴퓨터가 IAMMETER 기기와 같은 네트워크에 있고 브라우저에서 기기의 로컬 Web UI를 열 수 있다면, Contributor Admin Recovery 페이지에서 서명된 복구 결과를 직접 보낼 수 있습니다.
- Step 3: Send to your device에서 기기의 로컬 IP 주소를 입력하세요.
- 페이지의 복구 작업을 사용해 서명된 payload를 기기에 보내세요.
- Recovery completed를 기다리세요. 이는 기기가 서명 결과를 수락하고 기존 로컬 관리자 사용자 이름과 비밀번호를 삭제했으며 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나 기기의 것임;
- 같은 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 문서는 보안 관련 펌웨어 작업을 설명합니다. 특정 계량기의 인증서가 이미 발급되었다는 의미로 읽어서는 안 됩니다. 인증 상세 정보는 준비되는 대로 별도로 공개됩니다.