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 인증서를 생성하는 접근 방식은 영감과 출발점이 될 수 있지만 프로덕션 환경에 대한 참조로 사용해서는 안 됩니다. 프로덕션 환경용 인증서를 올바르게 생성하는 문제에 대해서는 다른 출처를 참조하세요. 중요하지 않은 프로토타이핑 또는 연구 프로젝트의 경우, 이 가이드에 언급된 스크립트를 사용하여 생성한 자체 서명 인증서를 사용하는 것으로 충분할 수 있습니다.

클라이언트(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 사용 서버를 시작하고, 클라이언트가 보안 연결을 설정하는 방법을 배웠을 것입니다.

추가 리소스

인증서에 대해 더 자세히 알아보고 싶다면 이러한 추가 자료를 참고하세요: