미디어 기기 핑거프린트란? 카메라·마이크 정보가 브라우저 식별에 쓰이는 방법
핵심 요약: 미디어 기기 핑거프린트는 브라우저가 제공하는 미디어 기기 정보를 사이트가 보조 식별 수단으로 활용하는 방식입니다. 웹 페이지는 열거 API로 카메라·마이크·스피커 목록을 읽고, 어디까지 읽을 수 있는지는 프라이버시 제한과 권한 상태가 결정합니다. 기기 수, 유형, 그룹 정보는 식별에 보조 신호가 될 수 있지만, 이것만으로 사용자 신원을 확정하지는 못합니다. 아래에서 열거 메커니즘, 식별 원리, 영향 요소, 확인 절차, MostMate 점검 순으로 설명합니다.
화상 회의를 시작하기 전에 브라우저는 보통 사용 가능한 카메라와 마이크를 목록으로 보여 주고 고르게 합니다. 그 뒤에서는 미디어 기기 열거 API인 enumerateDevices()가 동작합니다. 다른 웹 페이지도 이 API를 호출할 수 있습니다. 사용자가 권한을 주지 않아도 많은 브라우저는 제한적인 기기 정보를 반환하고, 이름·식별자·보이는 기기 수는 권한과 프라이버시 정책에 따라 달라집니다. MostMate는 안티디텍트 브라우저이며, 제품 전체 소개는 MostMate란?에서 볼 수 있습니다. 미디어 기기 측정값은 환경 일관성 점검에서 놓치기 쉬운 항목입니다. 이 글에서 이를 정리해 드립니다.
미디어 기기 핑거프린트란
미디어 기기 핑거프린트는 브라우저가 접근할 수 있는 미디어 기기 정보에서 만들어지는 식별 특징입니다. 열거 API가 반환하는 기기 수, 유형, 그룹 정보는 브라우저 눈에 보이는 이 머신의 오디오·비디오 하드웨어 구성을 나타냅니다. API의 정식 이름은 enumerateDevices이며 MediaDevices 계열에 속합니다. 카메라 권한을 요청할 때 쓰는 getUserMedia와 자매 API 관계인데, 권한을 요청할 때만 사용자 동의가 필요하고 기기를 점검하는 행위 자체에는 동의가 필요하지 않습니다.
API 세부 사항은 MDN의 enumerateDevices 문서를 참고하세요.
반환 결과에서 각 기기는 하나의 레코드를 차지하며 네 개의 필드를 가집니다. kind는 유형을 나타내고 오디오 입력, 오디오 출력, 비디오 입력으로 나뉩니다. deviceId는 기기 식별자, label은 기기 이름, groupId는 같은 물리 하드웨어를 공유하는 기기를 연결합니다. 정보량은 권한 상태에 따라 달라지는데, 주의점은 다음과 같습니다.
| 필드 | 주요 용도 | 주의할 점 |
|---|---|---|
| kind | 오디오 입력·오디오 출력·비디오 입력 구분 | 반환 내용은 브라우저 제한을 받을 수 있음 |
| deviceId | 기기 또는 기기 항목 구분 | 권한, 브라우저 설정, 데이터 삭제의 영향을 받을 수 있음 |
| label | 기기 이름 표시 | 보통 권한을 허용한 뒤에야 전체 이름을 읽을 수 있음 |
| groupId | 같은 물리 하드웨어의 기기 연결 | 브라우저의 프라이버시·권한 정책 제한을 받음 |
권한이 없어도 브라우저는 보통 웹 페이지의 열거 API 호출을 허용하지만, 반환되는 목록은 제한될 수 있습니다. 일부 브라우저는 기본값이 아닌 기기를 숨기고, 이름과 식별자가 비어 있을 수도 있습니다. 처리 방식은 브라우저마다 달라서, 감지 결과가 실제 연결된 전체 기기와 일치한다고 보기 어렵습니다. 실측을 기준으로 삼으세요.
기기 권한은 보통 사이트 단위로 관리됩니다. 해당 권한을 얻으면 웹 페이지는 더 많은 기기 정보를 읽을 수 있지만, 실제 반환 내용은 여전히 브라우저와 기기 상태의 영향을 받습니다.

사이트는 기기 정보로 브라우저 환경을 어떻게 식별하는가
기기 정보의 식별 가치는 장기 안정성에 있지만, 구분력은 제한적이라 보조 신호로만 쓸 수 있습니다. 세 가지로 나눠 설명합니다.
- 안정성에는 조건이 따른다. 하드웨어와 브라우저 설정이 그대로면 목록은 한동안 유지되어 보조 신호로 활용할 수 있습니다. 기기 연결, 권한 변화, 데이터 삭제, 프라이버시 정책이 모두 결과에 영향을 줄 수 있습니다.
- 조합과 그룹 정보. groupId는 같은 물리 기기 그룹에 속한 기기들을 연결합니다. 카메라와 마이크를 함께 가진 모니터가 대표적입니다. 제공하는 것은 기기 간 연관 정보일 뿐, 하드웨어 모델이나 진위를 직접 증명하지는 않습니다. 사이트는 다른 정보와 결합해 분석하는 보조 특징으로 활용합니다.
- 한계를 분명히 알아야 한다. 많은 사용자의 기기 구성은 똑같습니다. 노트북 한 대와 이어폰 하나라면 반환되는 수와 유형이 완전히 같습니다. 비슷한 구성의 사용자가 많기 때문에 미디어 기기 정보의 구분 능력은 제한적입니다. 사이트는 폰트, 화면 파라미터 같은 다른 신호와 결합해 브라우저 환경의 구분력을 높입니다.
구체적인 예를 하나 들겠습니다.
두 환경 모두 macOS를 쓴다고 하겠습니다. 한 환경에서는 비디오 입력 1개와 오디오 기기 2개가 감지되고, 다른 환경에서는 오디오 기기 1개만 반환됐습니다. 이 차이는 기기 구성에서 왔을 수도 있고, 권한 상태나 브라우저 정책과 관련일 수도 있습니다. 식별에 추가 정보를 주지만, 이 차이 하나만으로 두 환경이 서로 다른 기기라고 단정할 수는 없습니다. 수집하는 신호가 많을수록 환경 프로필은 완전해집니다.

미디어 기기 핑거프린트에 영향을 주는 요소
같은 환경의 미디어 기기 측정값도 조건에 따라 달라집니다. 이상한 결과는 흔한 원인부터 확인하고 결론을 내리세요. 네 가지 경우입니다.
- 기기 목록이 비어 있다. 기기가 실제로 없거나, 브라우저 프라이버시 보호, 실행 환경과 관련일 수 있습니다. 카메라 없는 데스크톱도 정상 구성이므로 빈 목록만으로 자동화 환경이라 단정하면 안 됩니다.
- 기기 수가 변한다. 외부 기기를 꽂거나 뽑고, 권한 설정을 바꾸면 반환 결과가 달라집니다.
- 기기 이름이나 ID가 변한다. 대체로 권한 상태, 브라우저 데이터 삭제, 기기 교체와 관련됩니다.
- 브라우저마다 결과가 다르다. 열거 API에 대한 프라이버시 정책이 회사마다 달라 목록을 브라우저끼리 비교하는 것은 의미가 없습니다.
기기 변경 자체는 정상적인 사건이며, 실제 사용자도 주변 기기를 자주 바꿉니다. 결과가 예상과 다를 때 비로소 기기 연결, 권한, 브라우저 설정을 겸해서 점검하세요.
브라우저의 미디어 기기 핑거프린트 확인 방법
감지에는 별도 도구가 필요하지 않습니다. 데모 페이지 하나로 전후 비교만 해도 미디어 기기 열거 결과를 어렵잖게 파악할 수 있으며, 핵심은 결과를 제대로 읽는 것입니다. 이 순서로 진행하세요.
- 현재 목록 확인. 브라우저에서 WebRTC 공식 샘플의 기기 열거 페이지를 열면 세 개의 드롭다운에 오디오 입력, 오디오 출력, 비디오 소스가 나열됩니다. 각 유형의 수와 항목을 적어 둡니다. 감지 페이지는 HTTPS 같은 보안 컨텍스트에서 열어야 하며, 결과가 반환되지 않으면 컨텍스트와 권한부터 확인하고 기기가 없다고 판단하지 마세요.
- 조건을 바꿔 관찰. 권한 상태를 동일하게 유지한 채 다른 브라우저나 환경에서 같은 페이지를 열고 두 결과를 비교합니다.
- 변화 원인 점검. 목록이 맞지 않으면 하드웨어 연결과 권한 설정부터, 그다음 브라우저 설정, 마지막으로 환경 구성의 문제를 살핍니다.
여기서 보는 것은 수, 유형, 조합이지 구체적인 수치가 아닙니다. 감지 페이지마다 표시 방식이 다르고 사이트 간 비교는 의미가 없으며, 같은 도구 안에서의 전후 비교만 유효합니다.
안티디텍트 브라우저에서 미디어 기기 정보 점검하는 방법
MostMate의 지문 설정(指纹设置)에는 현재 독립적인 미디어 기기 설정 항목이 없으며, 카메라·마이크·스피커의 열거 결과는 파라미터로 직접 바꿀 수 없습니다.
일상 점검은 세 단계로 진행합니다. 환경을 만들거나 편집할 때 먼저 지문 설정에서 운영체제 프로필을 확인합니다. 그다음 환경을 열고 앞 절의 감지를 한 번 실행해 결과를 기록합니다. 결과가 예상과 다르면 기기 연결과 권한, 브라우저 설정 순으로 점검하고 다른 핑거프린트 결과와 함께 분석합니다.
기기 연결, 브라우저 권한, 환경 구성을 조정한 뒤에는 감지를 다시 실행해 결과가 바뀌었는지 확인하세요. 프록시나 다른 핑거프린트 파라미터도 함께 조정했다면 네트워크 정보와 해당 핑거프린트 항목을 각각 확인해야 합니다. 두 감지 대상은 서로 다르니 혼동하지 마세요.
혼동하기 쉬운 두 기능의 경계를 분명히 하겠습니다. 지문 설정의 WebRTC가 다루는 것은 네트워크 주소 노출입니다. 실시간 통신 연결은 STUN 서버에 이 머신의 네트워크 주소를 조회할 수 있습니다. 실제 IP가 노출되는지는 브라우저, 프록시, 구체적인 설정에 따라 달라집니다. 설정 로직은 안티디텍트 브라우저의 WebRTC란? 글에서 다뤘습니다.
AudioContext는 렌더링 계열 핑거프린트로 브라우저가 오디오 신호를 처리하는 방식의 차이를 계산합니다. 설정 로직은 오디오 핑거프린트 편에서 다뤘습니다. 둘 다 미디어 기기 열거 제어와는 다르고 기기 점검 감지를 대체하지도 않습니다. 환경 격리의 경계는 환경 격리란? 글에서 다뤘습니다. 기기 목록 측정값은 격리 자체에는 영향을 주지 않지만, 사이트가 교차 검증에 사용합니다.

자주 묻는 질문
카메라와 마이크를 허용하지 않아도 사이트는 기기 정보를 읽을 수 있나요?
일부는 읽을 수 있습니다. 권한이 없어도 열거 API 자체는 호출할 수 있지만 목록이 제한될 수 있습니다. 일부 브라우저는 기본값이 아닌 기기를 숨기고 이름과 식별자가 비어 있을 수도 있습니다. 권한은 사이트별로 계산되므로 허가를 받은 적 있는 사이트일수록 더 완전한 필드를 읽습니다. 세부 동작은 브라우저와 버전에 따라 다릅니다.
미디어 기기 핑거프린트로 특정 컴퓨터를 특정할 수 있나요?
특정할 수 없습니다. 기기 목록은 수많은 사용자 사이에서 겹칩니다. 사이트는 이를 IP, 폰트, 화면 파라미터 같은 신호와 교차 검증해야 하며, 기기 정보는 그중 보조 증거 한 조각입니다.
미디어 기기 핑거프린트와 WebRTC 누출은 같은 건가요?
서로 다른 문제입니다. 미디어 기기 열거는 브라우저 API로 기기 정보를 가져옵니다. WebRTC IP 노출은 실시간 통신 과정에서 일어나며 네트워크 주소와 관련됩니다. 감지 대상, 원리, 점검 방법이 모두 달라서 WebRTC의 IP 감지 결과로 미디어 기기 감지를 대신할 수 없습니다.
카메라나 마이크를 바꾸면 핑거프린트가 바뀌나요?
바뀝니다. 기기 목록은 하드웨어를 따라가며, 주변 기기를 꽂았다 뽑거나 이어폰을 바꿔도 열거 결과가 달라집니다. 개별 환경에게 기기 변경은 정상적인 사건입니다. 결과가 예상과 다를 때 기기 연결, 권한, 브라우저 설정 순으로 점검하세요.
안티디텍트 브라우저로 미디어 기기 핑거프린트를 수정할 수 있나요?
MostMate에는 현재 독립적인 미디어 기기 설정 항목이 없어 열거 결과를 파라미터로 직접 수정할 수 없습니다. 할 수 있는 것은 환경 프로필을 합리적으로 유지하고, 환경 안에서 측정값을 실측하며, 다른 핑거프린트 파라미터와 일관성을 확인하는 것입니다.
맺음말
미디어 기기 열거는 복잡한 그래픽이나 오디오 렌더링 없이도 API 호출 한 번으로 브라우저가 현재 접근을 허용하는 미디어 기기 정보를 가져올 수 있습니다. 구분력은 제한적이지만 일부 식별 시나리오에서는 다른 브라우저 특징과 결합해 쓸 수 있습니다. 이 신호의 구분력은 제한적이며, 일부 식별 시나리오에서 다른 특징과 함께 보조 판단에 쓰입니다. 안티디텍트 브라우저를 쓴다면 환경마다 기기 점검을 실측해 두고, 결과가 변할 때 하드웨어·권한·브라우저 설정 순으로 점검하세요. 처음부터 환경을 구축하고 싶다면 MostMate 다운로드에서 받아 구축한 뒤 환경 하나하나 검증하고 실전에 투입하세요.
MOSTMATE
안전한 다중 계정 관리, 더 간편하게
첫 계정부터 MostMate와 함께 더 안전하고 스마트하며 효율적인 다중 계정 운영을 시작하세요.
- 독립적인 프로필. 일관된 식별 정보.
- AI 자동화 · 계정 건전성 · 팀 운영



