OpenID Connect Self-issued OP 개요 ~ OpenID Technight#15 ~

8941 단어 OIDCSIOP
OpenID Connect Self-issued OP 개요
며칠 전 2018/3/23 김에서 열린 OpenID Technight#15에 참가했을 때 일어난 일들을 머릿속에서 완전히 사라지기 전에 필기를 남기고 싶습니다.
그래서 OpenID ConnectSelf-Sissued OP의 말을 Recruit씨가 했습니다.
OpenID Connect는 알기를 전제로 한 노트이기 때문에 "OpenID Connect는 무엇입니까?"다른 사람의 기사를 참고했다는 얘기다.
OpenID Connect Self-Sissued OP은 무엇입니까?
Self-issued OP?
OpenID Connect 규격으로 정의된 그거예요.
http://openid.net/specs/openid-connect-core-1_0.html#SelfIssued
OP(OpenID Provider)은 OpenID에 해당하는 인증 공급자를 나타냅니다.
인증 공급자, Google로 로그인하면 Google이 바로 그것입니다.
OpenID Connect에서 인증 공급자가 발행한 idtoken 인증으로 연합, "Self-ISsued"id나는 토큰의 OP를 발매한다고 생각한다.
두루뭉술하게 말하면 사용자 자신이 사용하는 클라이언트는 id이다토켄 느낌으로 발매할게요.
일반 OpenID Connect와 어떻게 다릅니까?
Flow는 완전히 Implicit Flow입니다.
Implicit Flow에 서명된 id토큰만 나오는 거예요.비슷한 느낌.
일반적인 Implicit Flow와 다른 점은 다음과 같습니다.
  • Authorization Endpoint는openid://맞춤형 방안
  • Provider ID(Token의 issuer)는 https://self-issued.me
  • client_id 설정redirect_uri의 값
  • id_token의 sub (사용자 식별자가 있는 곳) 에서 서명한 인증서의 손자국 기본 인코딩을 입력한 후
  • 그러니까
    개요 프로세스
    셀프-sissued OP의 스마트폰 앱을 만들었다면 이런 느낌으로 변했겠지
    물론, app=Self-issued OP

    id_token의 예
    발췌문OIDC 사양의 예
    {
       "iss": "https://self-issued.me",
       "sub": "NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs",
       "aud": "https://client.example.org/cb",
       "nonce": "n-0S6_WzA2Mj",
       "exp": 1311281970,
       "iat": 1311280970,
       "sub_jwk": {
         "kty":"RSA",
         "n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx
         4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMs
         tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2
         QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbI
         SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqb
         w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
         "e":"AQAB"
        }
      }
    
    sub_jwk에서 말한 것은 공개 키 정보이다.
    id_token을 받은 측이 이 키를 사용하여 서명 검증을 합니다.
    사양 범위를 벗어나다
    결정해야 하지만 규격의 범위를 벗어나는 일도 있다.
    다음은 이렇다.
  • 발행된 기밀 키를 고객 측에서 안전하게 보관하는 방법.
  • 보관하고 있는 비밀 키는 하나뿐인가.또는 여러 개를 저장하면 여러 계정에 대응할 수 있다.
  • 사용자에게 무엇을 Credential로 보여 주는지 확인합니다.
  • id_Token 수락자로서 Token 검증 후 얻은 표지부호는 인증서의 손자국이다.그걸 어떻게 알고 있는 표지부와 연결해?첫 컬래버레이션 시기는?1-2 많이, 많이. - 1 가능해요?잠깐만요.
  • Recrite 사용 방법
    OpenID Tech Night vol.15의 자료

    https://speakerdeck.com/rtechkouhou/openid-connect-self-issued-idpwoying-yong-sitasingle-sign-onfalseshi-zhuang
    특징은?
    iOS와 안드로이드는 조금 다른 것 같고 상반부는 iOS 앱의 조합으로 슬라이드에서 발췌한 것이 이것이다.

    다른 슬라이드에서 접한 내용도 대강 요약하였다.
  • 비밀 키의 안전 관리 방법→Shared KeyChain 활용
  • 동일한 버전의 저작권에서 공유(구직 앱 간 키 공유 가능)
  • 터미널 잠금장치와 연결 가능(터치 ID 사용 가능)
  • 고유의 ACR(Authentication Context Class Reference)과 AMR(Authentication Methods References)을 활용한다.
  • 사용자와의 상호 작용이 필요한 경우 기밀 키 소지로 인해 신속하게 제거되지 않도록 하기 위해
  • 채용하는 유니버설 인증 서비스(Recruit ID)는 OpenID Connect를 지원하는 OP이며, 인증 방법의 한 수단으로 Self-ISsued OP를 활용한다.
  • Recruit ID는 OP이며, Self-ISsued OP 사용 시 RP
  • 가 됩니다.
  • Recruit ID에는 OAuth 2.0의 확장 규격인 PKCE(ProofKey for Code Exchange/"쿠키 카페"로 읽힌다. OAuth의 요정)를 적용하여 라이선스 코드 횡취 공격 대응을 통해 안전성을 강화한다
  • 셀프-ISsued OP=스마트폰 애플리케이션=Public Client=client 사용시크릿이 없어 당시 우려했던'가로채기 인정코드 공격'대책을 잘 세웠다
  • 실제로는 어떤 응용 프로그램으로 실행됩니까?
    단도직입적으로 말하면 폰바레인 쇼핑센터

    그리고 물건을 사면 터치 아이디의 흐름이 움직일 것 같아요
    끝말
    사용자 자신의 터미널이 인증 서버가 되어 자원 서버가 되다
    상하문에 따라 인증/속성의 조합을 자유롭게 선택하여 사용할 수 있습니다!이렇게 말하다
    약 10년 전 희미하게 존재했던 것들이 현실감을 갖고 그리워진다.
    나는 그것이 내가 사회에 처음 들어왔을 때라고 생각한다Liberty Alliance Day 2007.
    OpenID도 Authentication 2입니다.0으로 나오는 방법 정도?기억이 잘 안 나요.
    Liberty Alliance에서 SSO의 표준 사양은 SAMLSecurity Assertion Markup Language입니다.
    OpenID가 아닌 SAML 주
    시위 전시 부스가 몇 개 있어요.
    그때부터 SAML의 IdP를 휴대전화 단말기에 세워'인증을 자신의 휴대전화에 집중하는 것'이라고 불렸다.
    스마트폰이 아닌 폴더폰의 시대.
    데모가 아닌 실제 서비스
    시대가 따라잡았다
    내 머리까지 내팽개치지 않도록 앞으로도 따라잡고 싶다

    좋은 웹페이지 즐겨찾기