> For the complete documentation index, see [llms.txt](https://docs.wepin.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wepin.io/wepin/architecture.md).

# 아키텍처

위핀은 다음과 같은 엔티티로 구성됩니다.

<figure><img src="/files/5Erw8n9gwf9KsyKHFB8X" alt=""><figcaption></figcaption></figure>

* Cloud : 위핀은 SaaS(Software as a Service) 형태로 제공되는 클라우드 기반의 지갑 서비스입니다. 사용자가 개인키를 안전하게 암호화할 수 있도록 사용되는 KMS(Key Management System)와 저장된 키 데이터에 대한 자격을 확인하는 수단인 CIAM(Customer Identity Access Manager)을 활용합니다.
* 인증 제공자 : 인증 제공자는 사용자가 회원가입 및 로그인을 기존 시스템에서 가지고 있던 정보를 활용하여 지갑을 생성 및 제어하는데 활용할 수 있도록 지원합니다.
* 위젯 : 위젯은 위핀 지갑 기능을 손쉽게 활용할 수 있도록 앱에 빌트인 되는 애플리케이션입니다. 위핀 SDK를 설치하여 사용자가 앱 내에서 지갑 기능을 쉽게 활용할 수 있으며 , 앱이 필요한 사용자의 주소를 쉽게 불러올 수 있도록 상호작용합니다.
* 위핀 서버 : 위핀 서버는 지갑 및 블록체인과 상호 작용하기 위한 모든 처리를 담당하는 서비스의 핵심 기능을 가진 백엔드 시스템입니다. 블록체인 노드와 연결되어 거래를 전송하고 자산을 불러오며, 사용자의 요청에 의해 키를 생성 및 서명을 담당합니다. 키 생성과 서명과 같이 개인키 정보와 관련된 연산은 신뢰 실행 환경(Trusted Execution Environment) 하에서 실행되기 때문에 위핀 서버는 사용자의 개인키에 접근할 수 없습니다.

위핀에서 개인키를 활용한 작업에 대한 플로우를 아래 링크를 통해 확인하세요.&#x20;

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><strong>키 생성</strong></td><td><a href="/files/0yPDaKMdEIbF24CIVAzM">/files/0yPDaKMdEIbF24CIVAzM</a></td><td><a href="/pages/KpnmN2n54kNMRqNhlmOB">/pages/KpnmN2n54kNMRqNhlmOB</a></td></tr><tr><td align="center"><strong>서명</strong></td><td><a href="/files/dMHFlTbw32IoAQZ2OCh8">/files/dMHFlTbw32IoAQZ2OCh8</a></td><td><a href="/pages/3q63WniJVW3oihROae6q">/pages/3q63WniJVW3oihROae6q</a></td></tr><tr><td align="center"><strong>키 백업</strong></td><td><a href="/files/ux6xLfOfdXY0KHly1yWQ">/files/ux6xLfOfdXY0KHly1yWQ</a></td><td><a href="/pages/9odYk5QooDUB7Ne4OcmU">/pages/9odYk5QooDUB7Ne4OcmU</a></td></tr></tbody></table>
