# 서명

<figure><img src="https://834152021-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGcQ5iayny62s5KuY3VoA%2Fuploads%2FVGRb3ikWBWCBkB0w4nTB%2Fsign.png?alt=media&#x26;token=051c2b40-e2b0-42c0-baee-c43695649135" alt=""><figcaption></figcaption></figure>

키 생성 절차와 마찬가지로, 로그인한 사용자는 암호화된 키가 저장된 스토리지에 접근할 수 있는 토큰을 받아 서명이 필요한 트랜잭션과 함께 위핀 서버에 요청합니다. 서버는 사용자의 토큰을 이용하여 암호화된 개인키를 가져 온 후 사용자가 제출한 PIN을 활용하여 개인키를 복호화 합니다. 복호화된 키로 트랜잭션에 서명한 후 개인키는 다시 안전하게 암호화하여 클라우드에 저장됩니다.

서명을 위한 연산도 마찬가지로 신뢰 실행 환경에서만 실행됩니다. 따라서 서명 생성시 메모리에 로드되는 개인키는 위핀 서버에서 접근할 수 없기 때문에, 서버는 개인키 정보를 알 수 없습니다. 서버는 단지 연산을 실행해주는 역할을 할 뿐, 개인키의 정보는 공개되지 않으며, 거래에 서명하는 프로토콜 전 과정에서 암호화된 채로 상호 작용합니다.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wepin.io/wepin/architecture/sign.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
