iOS 엔지니어가 암호 키 공개 방식과 애플 인증서에 대해 조사했다

Apple Developer 사이트에서 인증서와 관련된 것을 많이 접했지만 WEB 앱 개발을 한 번도 접한 적이 없어서 이 근처의 구조를 거의 몰라서 찾아봤어요.
이해가 깊지 않아 아직 잘 모르겠지만 수시로 수정하겠습니다.

응용 개발에 필요한 CSR 파일은?


CSR은 인증서 서명을 요청한다는 뜻으로 인증국에 SSL 서버 인증서에 서명을 신청하는 내용을 말한다.CSR에는'공개 키'와 그 소유자 정보, 그리고 신청자가 해당하는 기밀 키를 가지고 있음을 표시하기 위해 신청자의 서명이 기재되어 있다.인증국은 인증서에 소유자 정보를 서명함으로써 소유자의 존재를 증명한다.SSL 통신에서 서버가 공개 키를 표시하고 이 키를 사용하여 암호화 통신을 시작합니다.SLL 서버 인증서는 공개 키와 그 부속 비밀 키의 소유자 정보를 기록합니다.

너무 헷갈려서 어지러워서 조금씩 알아봤어요.

공유 키 방식은?

  • 발송자는'공용 키'로 데이터를 암호화하여 수신자에게 발송한다.
  • 같은'공용 키'를 이용하여 수신자가 받은 데이터를 디코딩하여 데이터를 얻는다.
  • 공개 비밀번호 키는?

  • 송신자 측이 수신자 측이 공개한'공개 키'를 얻는다.그리고 얻은 '공개 키' 암호화로 데이터를 보내고 보내기
  • 수신자는'개인 키'를 이용하여 수신된 데이터를 디코딩하여 데이터를 얻는다.
  • SSL 통신이란?


    1단계:

  • 고객으로부터 서버에 SSL 커뮤니케이션 요청
  • 서버가 클라이언트에 SSL 인증서 및 공개 키를 전송
  • 클라이언트가 공개 키를 사용하여 공공 키를 암호화하여 서버에 전송
  • 서버는 기밀 키로 수신된 암호화된 데이터를 복호화하여 공용 키를 획득
  • 2단계:

  • 클라이언트가 공용 키로 통신 데이터를 암호화하여 서버에 전송
  • 서버는'공용 키'를 이용하여 수신된 암호화된 데이터를 복호화하여 데이터를 얻는다.
  • SSL 서버 인증서는 무엇입니까?


    SSL 통신만으로는 구조적 보안이 부족해 가짜 사이트에서 정보를 빼돌릴 우려가 있다.SSL 서버 인증서는 여기서 유용합니다.
    역할:
    1. 사이트 소유자 확인
    2. 통신 데이터의 암호화
    3. 변조 검출

    흐름도



    https://www.geotrust.co.jp/ssl_guideline/ssl_beginners/

    서명(전자 서명)은 무엇입니까?


    인증서 내용을 산열한 값을 인증국의 개인 키로 암호화한 데이터입니다.
    공개 암호화 키 방식에서는 공개 키 암호화·기밀 키를 사용해 복호화했지만, 전자 서명인 경우에는 기기 밀착키로 암호화하고 공개 키로 디코딩했다.
    구조로 삼다
    1. A가 비밀 키로 암호화한 정보를 받는다
    2. A씨의 공개 키 디코딩으로 완성된'오늘 마시러 가자! byA'
    3. A씨만 공개 키로 명문화 암호화를 할 수 있다.→ 성공을 증명한다!

    애플 인증서


    CSR 파일은 도대체 무엇입니까?


    CSR은 고객의 서버에서 생성되며 생성된 CSR을 인증 기관에 제출하면 인증 기관에서 서버 인증서를 서명하고 발행합니다.
    https://comodo.jp/beginner/csr.html
    CSR에는'공개 키'와 그 소유자 정보, 그리고 신청자가 해당하는 기밀 키를 가지고 있음을 표시하기 위해 신청자의 서명이 기재되어 있다.
    즉,cer 파일을 발행하는 데 사용되는 정보는 전자 서명 파일이다(그렇습니까?)

    cer 파일


    CSR을 애플 디벨로퍼 센터에 올리면 증명서(.cer)가 발행된다.이 인증서가 서명된 공개 키라고 생각하면
    https://qiita.com/edo_m18/items/6f10e57f95b25d9dab4e
    이 보도의 논평란에서 애플은 공개 키 서명에 대한 논평을 발표했다.
    '공개 키' 를 받은 사람은 애플의 서명을 통해 이 키가 '비밀 키 소유자' 에 속하는지 확인할 수 있다.
    또한 '공개 키' 로 2진법을 검증함으로써 '비밀 키의 소유자' 가 보낸 2진법을 검증할 수 있다.

    p12 파일


    사용자 개인 키와 디지털 서명이 포함된 파일
    일단 개발기가 변경되면 키체인에 저장된 기밀 키 등도 이용할 수 없기 때문에 이 p12를 내보내 다른 기기에서 이용하기도 한다.
    전체 패키지 실행 코드 탐지에 필요한 기밀 키
    = 없으면 개발 단위를 정할 수 없다.
    코드 발생기 인증서는 소프트웨어에 디지털 서명을 하는 데 사용되는 전자 서명 인증서다.인증 소프트웨어의 분배자는 사칭과 내용의 개조 등이 없이 소프트웨어를 사용자에게 전달할 수 있음을 보증한다.
    https://jp.globalsign.com/service/codesign/knowledge/
    cer 파일과 개인 키에서 내보낼 수 있습니다.

    Provisioning Profile


    인증서, 터미널, 응용 프로그램 세 가지가 일치하는 허가증
    Code Sign 용
    이거 없으면 실기 테스트나 발표가 안돼.

    참고 자료


    Xcode 구축 오류 - iOS Code Sign의 철저한 설명
    iOS 응용 프로그램의 미리 설정된 주위에서 그림을 만들어 보십시오

    좋은 웹페이지 즐겨찾기