단말 기능 연동, 기술보다 외부 변수가 더 어렵습니다

15년 현장 경험이 말하는 단말기 기능 연동 진짜 문제 출입통제 연동과 2차 인증 연동


모바일 앱을 지난 15년 동안 50여 개를 만들어왔습니다. 모바일 앱을 만들면 처음에는 앱만 만듭니다. 그러다가 사용하면서 요구 사항이 늘어나게 됩니다. 오늘은 그중에서 요 몇 년 사이에 가장 많이 요청해오는 연동 관련 요구 사항 두 가지를 말해 보려고 합니다.

하이브리드 앱(Hybrid App)이 카메라, GPS, 생체 인식 같은 단말기 기능을 쓰려면
브릿지(Bridge)라는 통신 구조를 거칩니다.

화면은 웹 기술(React)로 만들지만, 카메라나 센서 같은 하드웨어는 웹이 직접 건드릴 수 없습니다. 그래서 중간에 다리 역할을 하는 코드가 필요합니다. 화면에서 "카메라 켜줘"라고 요청하면, 브릿지가 그 요청을 받아 안드로이드나 iOS의 네이티브 기능을 호출하고, 결과를 다시 화면으로 돌려줍니다.

말로는 간단합니다. 그런데 사실 실제 현장에서는 이 "간단한 호출" 뒤에 생각보다 복잡한 일들이 숨어 있습니다.

첫 번째, 생체인식:정식 솔루션과 약식 구현 사이

몇 년 전부터 교육부의 보안 강화 방침에 따라 대학 모바일 시스템에 2차 인증이 요구되기 시작했습니다.

예전에는 아이디와 비밀번호만 있으면 로그인이 됐습니다. 지금은 그것만으로는 안 됩니다. 생체인증(바이오 인증) 같은 2차 인증을 구현해야 하는 경우가 늘고 있습니다.

기술적으로 정식 방법은 FIDO(Fast Identity Online)라는 표준에 맞춘 인증 솔루션을 도입하는 겁니다. 사용자 기기에서 생체인증을 거치면, 그 결과를 암호화된 키 체계로 서버와 주고받아 검증하는 방식입니다.
이걸 학교 시스템에 맞게 구축하려면 솔루션 비용이 4~5천만 원 발생합니다. 거기에 기존 앱을 다시 커스텀하는 비용이 추가로 듭니다.

예산이 부족한 학교들은 이 비용을 감당하기 어렵습니다. 그래서 다른 방법을 씁니다.

브릿지를 통해 스마트폰 OS가 기본 제공하는 생체인증 기능(지문, 얼굴 인식)을 직접 호출하는 겁니다. 사용자가 폰 잠금을 풀 때 쓰는 그 인증을 그대로 앱 로그인의 2차 인증 절차로 가져다 쓰는 방식입니다.

정식 FIDO 통합처럼 서버와 암호화 키를 주고받는 체계까지는 아닙니다. "폰 잠금이 풀려 있으면 본인으로 간주한다"는 더 단순한 구현입니다.
솔루션 도입 비용은 들지 않지만, 정식 FIDO 체계만큼의 보안 수준은 아닙니다. 예산과 보안 사이에서 생각하게 된 고육지책입니다. 그래서 학교마다 다른 선택을 하게 됩니다.

두 번째, 출입통제 연동:기술보다 구조가 더 어렵습니다

모바일 앱 연동에서 의뢰가 많은 또 다른 영역이 출입통제 시스템입니다. 국내 주요 보안 업체와 연동하는 일입니다.

이름만 보면 다 대기업이라 깔끔하게 정리돼 있을 것 같습니다. 실제로는 그렇지 않습니다.

지역마다 대리점(업자)이 다릅니다. 그 출입통제 기기에 들어가는 소프트웨어(펌웨어)를 개발하는 업체도 또 다릅니다. 그래서 같은 브랜드라도 지역에 따라 실제로 협의해야 하는 회사가 다 다릅니다.

초기 연동 작업을 할때 정말 많이 고생했습니다. 고객과 만나서 미팅을 해야하는데 펌웨어 업체는 참석하지 않고 보안업체 영업자만 참석했습니다. 기술적 이야기가 필요한 상황에는 미팅 끝나고 전달하겠다고 합니다. 그러면 2주 걸립니다. 정말 커뮤니케이션하기가 너무 어려웠습니다. 

연동을 시작하려면 출입통제 업체로부터 SDK, 연동 가이드, 테스트 단말기를 받아야 합니다. 그런데 이게 업체마다 받기 쉬운 곳도 있고 유난히 어려운 곳도 있습니다.

실제 개발 작업은 보통 1달이면 끝납니다. 그런데 계약하고, 자료를 받고, 테스트 단말기를 확보하는 데까지 거의 한 달이 걸립니다. 거기에 출입통제 업체와 학교 측이 연동 규칙(어떤 정보를 주고받을지)을 정하는 데 또 2~3주가 걸립니다. 코드를 짜는 시간보다 그 코드를 짜기 위한 준비 시간이 더 오래 걸리는 현실입니다.

두 가지가 가리키는 같은 지점

생체인식과 출입통제, 전혀 다른 영역인데 결국 비슷한 곳에서 막힙니다.

기술적으로 단말기 기능을 호출하는 브릿지 자체는 어렵지 않습니다. 문제는 그 기능 뒤에 있는 외부 변수입니다. 예산이 부족하면 정식 솔루션 대신 약식 구현을 선택해야 합니다. 협력업체가 지역마다 다르면 자료 하나 받는 데도 시간이 걸립니다.

브릿지 통신을 설계할 때, 그 뒤에 어떤 외부 솔루션이나 협력업체가 연결돼 있는지를 먼저 파악하는 게 실제 개발 기간을 예측하는 데 훨씬 중요합니다.

함께 보면 좋은 글

하이브리드 앱이 처음 자리 잡게 된 배경이 궁금하다면. 앱 하나로 안드로이드·iOS 동시에 잡는 기업용 모바일 플랫폼, 왜 아직도 필요한가?

다음 이전