FDO 구현자와 함께하는 프로세스 데모
테이블 목차
- 서론
- FDO 구현에 대한 소개
- LF Edge 구현 소개
- FDO 사양 및 라이선스
- FDO 관련 LF Edge 프로젝트
- FDO 연동을 위한 SDK
- FIDO 장치 서버 및 온보딩 사양
- 데모 준비
- FDO 제조 과정
- FDO 오너 식별
- FDO 페이로드 다운로드
- FDO 인증
- FDO 클라이언트와 서버의 상호작용
- FDO 사용한 장치 인증서 다운로드
- FDO 전체 프로세스 개요
- 요약
- 자주 묻는 질문
FDO 구현을 통한 장치 온보딩 프로세스
서론
안녕하세요! 저는 랜디 템플턴입니다. 저는 LF Edge에서 FDO 사양의 Linux Foundation Edge 구현을 위한 아키텍트입니다. 오늘은 LF Edge 구현을 사용하여 FDO의 데모를 진행할 예정입니다. LF Edge 구현에 관심이 있다면 lfedge.org로 가실 수 있습니다. 하지만 주의해주세요. 세이프 디바이스 온보딩(secure device onboarding)이라 불리는 이 프로젝트의 이름은 2023년 2월에 FIDO 디바이스 온보딩(device onboarding)으로 변경될 예정입니다. 오늘은 이 오픈 소스 구현에 대해 자세히 설명하고, 페이로드 패키지의 다운로드 과정에 대한 데모를 진행하겠습니다.
FDO 구현에 대한 소개
LF Edge의 FDO 구현은 Apache 2.0 라이선스로 제공됩니다. 따라서 본 구현을 사용하여 제품 및 솔루션에 통합할 수 있습니다. IBM의 오픈 호라이즌 등 LF Edge 프로젝트에서 FDO 온보딩을 구현하는 다른 프로젝트들도 있습니다. LF Edge 구현을 사용하면 HUB에서 구현을 찾을 수 있습니다. 여기서는 PRI Fido OT와 같은 다양한 프로젝트를 확인할 수 있습니다. 이 데모에서는 자바로 구현된 클라이언트 측 구현체를 사용하겠지만, 보통은 C 기반의 구현체를 사용하게 됩니다. LF Edge 구현체 또는 다른 구현체를 혼용하여 사용할 수 있습니다.
LF Edge 구현의 FDO 관련 프로젝트
LF Edge에서는 다양한 서버를 제공합니다. Rendezvous 서버, 소유자 서버, 판매자 서버, 디바이스 제조 서버 등 모든 엔티티를 구현할 수 있는 서버들이 LF Edge 코드에서 확인할 수 있습니다. 이 데모에서는 간단히 기기에 온보딩 패키지를 다운로드하는 과정을 시뮬레이션하겠습니다.
FDO 연동을 위한 SDK
FDO 연동을 위한 SDK도 제공됩니다. FIDO iot에서 자바로 구현된 참조 구현체를 확인할 수 있습니다. 이 SDK를 사용하여 장치 서버 및 온보딩 사양과 상호작용할 수 있습니다. C 기반의 구현체는 Intel 장치 등에 사용될 수 있으며, 서버 측에서는 LF Edge 구현체나 다른 구현체와 혼용하여 사용할 수 있습니다. 이 SDK를 사용하면 장치와 서버 간의 인증서나 비밀번호와 같은 자격 증명을 안전하게 전달할 수 있습니다.
FIDO 장치 서버 및 온보딩 사양
FIDO iot는 FIDO 장치 서버의 참조 구현체입니다. 이 서버는 FIDO 장치의 서버 엔드를 위한 FIDO 디바이스 온보딩 사양의 구현체입니다. 이 데모에서는 자바로 구현된 클라이언트 측 구현체를 사용할 예정입니다. 일반적으로는 C 기반의 구현체를 사용하지만 사양에 따라 LF Edge 구현체를 사용할 수도 있습니다. 서버 측에서는 사양에 맞는 모든 명령을 처리하고 서명 검증 및 암호화 터널을 설정합니다.
FDO 구현을 통한 장치 온보딩 프로세스
FDO 구현을 통한 장치 온보딩 프로세스
FDO는 장치의 온보딩 프로세스를 자동화하고 자세히 제어할 수 있는 기능을 제공합니다. 이 데모에서는 실제로는 자동화되지만, 설명을 위해 수동으로 몇 가지 단계를 진행할 것입니다. 여기서는 FDO 제조 과정부터 장치의 소유자 식별, 페이로드 다운로드 및 인증 등의 과정을 차례대로 설명하겠습니다.
FDO 제조 과정
먼저, 제조되지 않은 상태의 장치를 가정하고 제조 과정을 시작합니다. 제조 과정에서는 FDO 자격 증명을 생성하게 됩니다. 이 자격 증명은 장치의 고유 식별자로 사용됩니다. FDO 디바이스 온보딩 사양에 따라 이 자격 증명이 생성됩니다. 이 과정에서는 장치에 관한 모든 정보를 알 수 없으며, 장치로부터 온보딩 패키지를 제공할 소유자 서버의 위치(렌디즈뷰 서버)만 알고 있습니다.
FDO 오너 식별
제조 과정을 거치고 나면 자격 증명이 제조된 상태로 장치를 실행합니다. 장치는 DI(protocol)를 실행하여 렌디즈뷰 서버의 위치를 확인합니다. 장치는 이를 통해 소유자 서버의 위치를 알아내고, 상호 인증 및 통신을 수행하는 TO2(protocol)를 초기화합니다. 이를 통해 장치와 서버 간에 신뢰할 수 있는 채널이 확립되며, 서버로부터 온보딩 패키지를 다운로드할 수 있습니다.
FDO 페이로드 다운로드
자격 증명을 획득한 장치는 소유자 서버와 통신하며, 서버로부터 온보딩 패키지를 다운로드합니다. 이 페이로드는 인증서, 비밀번호 등 장치가 DMs에 안전하게 연결되기 위해 필요한 모든 자격 증명을 포함할 수 있습니다. 이 페이로드는 암호화되어 전송되므로 안전한 통신 채널을 통해 전달됩니다.
FDO 인증
인증 절차를 거친 장치는 페이로드를 받은 후 서버와 클라이언트 간의 상호 작용을 계속합니다. 이 단계에서 장치는 서버와의 암호화된 터널을 통해 안전한 인증서 다운로드를 진행할 수 있습니다. 이 터널은 장치와 서버 간 모든 통신을 안전하게 보호합니다.
FDO 클라이언트와 서버의 상호작용
FDO 클라이언트와 서버는 상호작용하며 인증서나 자격 증명을 안전하게 교환합니다. 클라이언트는 서버로부터 안전한 설정 파일 및 기타 필요한 정보를 전달 받습니다. 이를 통해 장치는 DMs와 안전하게 연결되어 원활한 작동이 가능하게 됩니다.
장치 인증서 다운로드
FDO를 통한 온보딩 프로세스를 거쳐 장치에는 안전한 인증서가 다운로드됩니다. 이 인증서는 장치가 안전하게 DMs에 연결될 수 있도록 도와줍니다. 이 단계에서 장치가 모든 온보딩 과정을 통해 안전하게 인증되어 있음을 확인할 수 있습니다.
FDO 전체 프로세스 개요
위에서 설명한 FDO 구현을 통한 장치 온보딩 프로세스 요약을 아래와 같이 정리할 수 있습니다.
- FDO 제조 과정 시작: FDO 자격 증명 생성.
- FDO 오너 식별: 장치에서 렌디즈뷰 서버 위치 확인, 통신 초기화.
- FDO 페이로드 다운로드: 서버로부터 온보딩 패키지 다운로드.
- FDO 인증: 서버 및 클라이언트 간의 안전한 상호작용.
- FDO 클라이언트와 서버의 상호작용: 인증서 등 자격 증명 교환.
- 장치 인증서 다운로드: DMs와 안전한 연결을 위한 인증서 다운로드.
요약
FDO를 통한 장치 온보딩은 자동화되고 안전하며 효율적인 프로세스를 제공합니다. FDO 구현체를 사용하여 LF Edge와 다른 프로젝트에서 온보딩을 구현할 수 있습니다. 제조 과정부터 페이로드 다운로드, 인증 과정까지의 FDO 프로세스는 장치의 신뢰성과 안전성을 보장합니다. 지금까지 FDO에 대한 소개와 데모 과정을 설명해드렸습니다. 궁금한 점이 있다면 언제든지 질문해주세요!
자주 묻는 질문
Q: FDO 제조 과정에서 필요한 정보는 무엇인가요?
A: FDO 제조 과정에서는 장치에 대한 자세한 정보는 필요하지 않습니다. 단지 렌디즈뷰 서버의 위치 정보만 필요합니다.
Q: FDO 인증 과정에서 어떤 보안 기술이 사용되나요?
A: FDO 인증 과정에서는 서버와 장치 간의 통신을 위한 암호화된 터널이 설정됩니다. 이를 통해 페이로드 및 인증서와 같은 중요 정보가 안전하게 전송됩니다.
Q: FDO를 사용한 장치 온보딩은 어떤 장점이 있나요?
A: FDO를 사용한 장치 온보딩은 자동화 및 안전성을 보장합니다. 또한 다양한 구현체와의 호환성을 지원하므로 유연하게 사용할 수 있습니다.
Q: FDO 구현체를 사용하려면 어떤 라이선스를 준수해야 하나요?
A: LF Edge의 FDO 구현체는 Apache 2.0 라이선스를 준수해야 합니다. 그러므로 사용 시 해당 라이선스를 지키셔야 합니다.
Q: FDO 온보딩 프로세스는 어떻게 자동화될 수 있나요?
A: FDO 온보딩 프로세스는 자동화가 가능합니다. 실제 환경에서는 사용자의 개입 없이 자동으로 진행됩니다. 그러나 데모에서는 이해를 돕기 위해 일부 단계를 수동으로 진행하였습니다.
하이라이트
- FDO는 장치 온보딩을 자동화하고 안전하게 처리하는 기능을 제공합니다.
- LF Edge의 FDO 구현체는 Apache 2.0 라이선스를 사용합니다.
- FDO 구현체는 다양한 프로젝트와의 통합이 가능하며, C 및 Java 기반의 구현체를 포함합니다.
- FDO 온보딩 프로세스는 제조 과정, 소유자 식별, 페이로드 다운로드, 인증 등의 단계로 이루어집니다.
- FDO를 사용한 장치 온보딩은 자동화 및 안전성을 보장하며, 다양한 자격 증명을 안전하게 전달할 수 있습니다.
자원
- LF Edge: lfedge.org
- FDO 사양: [링크]
- LF Edge GitHub 저장소: [링크]
- LF Edge HUB: [링크]
- FIDO iot: [링크]
- LF Edge 프로젝트: [링크]