SSL 연결 사용¶
This guide describes how to a SSL-enabled secure Flower server (SuperLink
) can be
started and how a Flower client (SuperNode
) can establish a secure connections to
it.
보안 연결을 보여주는 전체 코드 예제는 ‘여기 <https://github.com/adap/flower/tree/main/examples/advanced-tensorflow>`_’에서 확인할 수 있습니다.
The code example comes with a README.md
file which explains how to start it.
Although it is already SSL-enabled, it might be less descriptive on how it does so.
Stick to this guide for a deeper introduction to the topic.
인증서¶
Using SSL-enabled connections requires certificates to be passed to the server and
client. For the purpose of this guide we are going to generate self-signed certificates.
As this can become quite complex we are going to ask you to run the script in
examples/advanced-tensorflow/certificates/generate.sh
with the following command
sequence:
cd examples/advanced-tensorflow/certificates
./generate.sh
This will generate the certificates in
examples/advanced-tensorflow/.cache/certificates
.
이 예의 맥락에서 SSL 인증서를 생성하는 접근 방식은 영감과 출발점이 될 수 있지만 프로덕션 환경에 대한 참조로 사용해서는 안 됩니다. 프로덕션 환경용 인증서를 올바르게 생성하는 문제에 대해서는 다른 출처를 참조하세요. 중요하지 않은 프로토타이핑 또는 연구 프로젝트의 경우, 이 가이드에 언급된 스크립트를 사용하여 생성한 자체 서명 인증서를 사용하는 것으로 충분할 수 있습니다.
서버(SuperLink)¶
다음 터미널 명령을 사용하여 이전에 생성한 인증서를 사용하는 서버(SuperLink)를 시작합니다:
flower-superlink
--ssl-ca-certfile certificates/ca.crt
--ssl-certfile certificates/server.pem
--ssl-keyfile certificates/server.key
인증서를 제공할 때 서버는 세 가지 인증서 경로의 튜플을 기대합니다: CA 인증서, 서버 인증서 및 서버 개인 키입니다.
클라이언트(SuperNode)¶
다음 터미널 명령을 사용하여 이전에 생성한 인증서를 사용하는 클라이언트(SuperNode)를 시작합니다:
flower-supernode
--root-certificates certificates/ca.crt
--superlink 127.0.0.1:9092
When setting root_certificates
, the client expects a file path to PEM-encoded root
certificates.
결론¶
이제 주어진 스크립트를 사용하여 자체 서명 인증서를 생성하고, SSL 사용 서버를 시작하고, 클라이언트가 보안 연결을 설정하는 방법을 배웠을 것입니다.
추가 리소스¶
인증서에 대해 더 자세히 알아보고 싶다면 이러한 추가 자료를 참고하세요:
‘암호화하세요 <https://letsencrypt.org/docs/>`_’