반응형

협업(Cooperation)과 경쟁(Competition)을 합쳐 Coopetition 협쟁(協爭)이라는 표현을 처음 쓴 것으로 알려진 인물은 에릭 슈미트 전 구글 최고경영자(CEO)입니다. 그는 삼성과 애플이 오랫동안 앙숙으로 지냈지만 결국 협력할 것은 협력하고 경쟁할 것은 경쟁하는 관계로 진화를 했듯이, 패권을 놓고 미국과 중국 역시 그렇게 가야한다고 말한바 있습니다. 또 하버드대의 그레이엄 앨리슨은 11세기 중국의 송나라와 요나라의 관계를 친구이자 적인 우적(Frenmity)으로 묘사하기도 했고요.

 

경쟁자끼리 협력하는 이유는 무엇일까요. 두 가지만 꼽는다면 (1) 경쟁 비용이 너무 많이 든다 (2) 프로젝트를 한 회사에서 관리하기에는 너무 크다. 하버드비즈니스리뷰의 설명입니다.

 

예를 들어 IT업계에는 스마트홈 표준 규격인 매터(Matter)를 도입할 움직임이 있는데요. 구글 아마존 삼성 LG 애플 필립스 등 수많은 기업들이 참여를 선언했어요. 스마트홈 디바이스 표준이 제각각이라 고객은 늘 불만이죠. 삼성 갤럭시폰으로 LG 디오스냉장고를 조작 못하니까요. 한 회사가 스마트홈 전체 시장을 독점할 수 없으니 협쟁이 필요할 것입니다. 예를 더 들어 보겠습니다.

 

독일 물류업체인 DHL은 미국의 물류업체인 UPS를 향해 이런 제안을 했어요.

 

🛺DHL: 미국 내에서 물류 배송을 UPS 네가 해주면 안 될까? 너희가 해주면 우리 회사는 약 10억달러를 아낄 수 있을 것 같아.

🚌UPS: (경쟁사 좋은 걸 내가 왜 해야하지??? 한데 내가 거절하면 FedEx에 달려가 제안을 하겠지?) 콜!

 

UPS 입장에선 DHL의 제안을 거절했다면, 아마 미국내 배송이라는 추가 수익을 FedEx에 빼앗길 수 있었겠죠? 이는 단적인 사례입니다. 애플은 사실 삼성과 LG의 경쟁자인데요. 하지만 삼성과 애플은 디스플레이 패널, 적층세라믹콘덴서, 카메라 모듈 등을 판매합니다. 왜? 두 회사 부품이 우수하지만, 꼭 삼성과 LG만 파는 것은 아니거든요.

 

🔎크게보기

협쟁이 이뤄지려면 경쟁사간에 두 가지가 필요합니다. 각각 자신의 분야에서 최고일 것. 기울어진 운동장이 아닐 것. 예를 들어 포드는 자신이 투자한 자율주행 업체인 아르고AI를 폭스바겐에 소개를 시켜서 투자를 받도록 했어요. 이유는? 어차피 폭스바겐 역시 자율주행 업체들을 찾고 있을 텐데, 그럴 바엔 포드가 투자한 자율주행 기술이 표준이 되도록 하는 것이 옳다고 생각한 것입니다. GM 넌 안 돼! 중요한 점은 협쟁을 하려면 CEO의 사고방식이 매우 유연해야합니다. 욕먹어도 괜찮다는 태세전환이 필요합니다. 애플의 스티브 잡스는 1997년 마이크로소프트가 더 이상 적이 아니라고 선언을 하고, 1억5000만 달러에 달하는 투자를 받습니다. 하지만 스티브 잡스나 빌 게이츠 모두 야유 세례를 받은 바 있습니다.

반응형
반응형

트위터, 직원 보너스 절반 줄이고 긴축 경영 돌입

 

https://zdnet.co.kr/view/?no=20220821090434 

 

트위터, 직원 보너스 절반 줄이고 긴축 경영 돌입

트위터가 임직원 보너스 절반을 줄이며 긴축경영에 돌입한다고 19일(현지시간) 뉴욕타임스(NYT) 등 복수 외신은 보도했다. 광고 수익 불확실성과 일론 머스크 테슬라 최고경영...

zdnet.co.kr

 

트위터가 임직원 보너스 절반을 줄이며 긴축경영에 돌입한다고 19일(현지시간) 뉴욕타임스(NYT) 등 복수 외신은 보도했다. 광고 수익 불확실성과 일론 머스크 테슬라 최고경영자(CEO)의 인수 파기 결정 등이 영향을 끼쳤다.

네드 시걸 트위터 최고재무책임자(CFO)는 재정 상태가 악화한 상태로, 연례 보너스를 줄이는 방안을 타개책으로 모색하고 있다고 임직원들에게 이메일을 보냈다. NYT는 익명의 트위터 직원 2명이 받은 메일 내용을 인용해 보도한 것으로 확인됐다.

회사 재무 구조가 나빠진 건 최근 글로벌 경기 침체와 러시아의 우크라이나 침공으로 광고주들이 지출을 줄인 점, 아울러 머스크의 트위터 인수 철회 결정 등이 원인으로 꼽힌다. 

일론 머스크 테슬라 최고경영자

올 초 머스크는 트위터를 440억달러(약 59조원)에 사들이겠다고 합의했지만, 가짜계정 정보 수치 등을 문제로 계약을 파기했다. 현재 트위터는 머스크를 상대로 계약 강제 이행을 요구하는 소송을 제기했다. 미국 델라웨어법원은 10월 17~21일 닷새간 재판을 진행한다.

 

반응형
반응형
  • HBO Max는 직원의 14%에 해당하는 70개의 일자리를 해고하고 있습니다.
  • 삭감은 4월에 Discovery가 WarnerMedia를 인수한 후 비용을 줄이기 위한 더 큰 Warner Bros. Discovery 노력의 일부입니다.
  • HBO Max와 Discovery+는 내년에 하나의 스트리밍 서비스로 통합됩니다.

https://www.cnbc.com/2022/08/15/hbo-max-cuts-14percent-of-staff-mainly-in-casting-acquisitions-and-reality-tv.html?utm_campaign=mb&utm_medium=newsletter&utm_source=morning_brew 

 

HBO Max cuts 14% of staff, or 70 employees, mainly in casting, acquisitions and reality TV divisions

The cuts are part of a larger Warner Bros. Discovery effort to reduce costs.

www.cnbc.com

Warner Bros. Discovery is eliminating 70 jobs at HBO Max, primarily from the division’s reality, casting and acquisitions departments, according to people familiar with the matter.

The job cuts, which amount to 14% of staff at the streamer, are part of a larger effort at Warner Bros. Discovery to eliminate overlap as HBO Max and Discovery+ come together as one streaming service. Discovery closed on its $43 billion acquisition of WarnerMedia in April. Chief Executive Officer David Zaslav has promised $3 billion in synergies from the merger.

 

Many of the employees who lost their jobs were members of teams that had been led by former HBO Max chief content officer Kevin Reilly that no longer fit within the new structure of Warner Bros. Discovery, two of the people said. Reilly left the company in 2020.

Zaslav is combining HBO Max and Discovery+ to form a new streaming service that will launch in the U.S. in mid-2023. Discovery will provide the reality programming for that product, making HBO Max’s reality division unnecessary, the people said. HBO also frequently works directly with casting directors, rather than using internal people, and has phased out many of its so-called pay-one deals, in which it acquires licensed films — work done by its acquisitions department.

Other departments affected include business affairs, programming and production, one of the people said.

No shows will be canceled as part of the job cuts, the people said. The job cuts aren’t targeted at HBO Max’s scripted series or films.

An HBO Max spokesperson declined to comment.

WATCH: Streaming is hard when you’re levered as much as Warner Bros. Discovery, says analyst

 
반응형
반응형

마이데이터의 제도적 기반은 개인신용정보 전송요구권 (신용정보법 제33조의2) 입니다.

마이데이터서비스는 금융소비자 개인의 금융정보(신용정보)를
통합 및 관리하여 주는 서비스를 말합니다.

 

마이데이터(MyData)란 은행 계좌, 신용카드 내역 등의 금융 데이터 주인은 금융사가 아닌 개인이며, 개인의 동의하에 여러 금융사에 흩어진 금융 내역을 통합 관리할 수 있는 방안을 토대로 진행되는 사업을 의미합니다.


 마이데이터 사업과 관련된 시기별 2019년부터의 금융권 움직임을 정리해봤습니다. 최근 2-3년간의 금융권 움직임은 "데이터의 개방"이라고 할 수 있겠습니다.


 데이터 3법 발의로 인해 법적으로는 2020년 8월부터 마이데이터 산업이 가능해졌습니다. 2020년 8월 5일로 실행된 데이터 3법의 내용은 다음과 같습니다. 이 중에서 마이데이터와 관련이 있는 법안은 "신용 정보법"입니다. 신용 정보법을 통해 금융권의 다양한 데이터를 빅데이터화하고, 이를 통합 조회하는 것에 대한 법적 토대가 마련된 것 입니다.



 마이데이터 활용의 가장 쉬운 예를 들면 개인의 동의 이후 금융사를 비롯한 마이데이터 사업을 승인받은 사업자들은 개인의 정보를 공통 플랫폼에 제공하고, 이 플랫폼을 통해 개인의 금융 정보 빅데이터를 추출하고 이를 활용하여 개인의 신용과 소비 트렌드 등을 분석하여 재테크 상품 등을 추천할 수 있습니다.



다수의 마이데이터 사업자들이 은행, 보험사, 증권사, 핀테크 업체와 같은 금융사지만, 마이데이터는 금융 외에 구매, 통신, 의료, 교통 등 온라인 서비스에서 파생된 정보들로 범위가 훨씬 넓고 다양한 산업 간의 시너지를 예상할 수 있습니다.



마이데이터 사업자의 심사 기준은 크게 6가지 기준입니다.

● 자본금 요건

● 물적 시설

● 사업 계획의 타당성

● 대주주 적격성

● 신청인의 임원 적격성

● 전문성 요건 


마이데이터 사업에서 가장 중요한 부분은 사용자 개인이 마이데이터 서비스에 가입 및 정보 제공과 활용에 동의하는 방식, 마이데이터를 통해 제공되는 정보의 범위, 사업자 간 플랫폼 사이의 데이터 전송 방식은 얼마나 안전할지, 소비자 보호 방안은 무엇일지가 관건입니다. 이 중에서도 마이데이터를 통해 제공되는 정보를 어디까지 허용할지가 최대 관심사입니다.



2021년 8월 4일부터 마이데이터 사업자들은 표준API를 통해 개인신용정보를 수집·활용하여 소비자에게 서비스를 제공할 예정입니다. 이전에 정보 수집을 위해 스크래핑 등의 취약한 보안 방식을 사용하였다면 표준 API를 통해 본인 직접인증 및 안전한 전송방식 활용한다는 취지입니다.



가이드라인은 마이데이터 사업 자체가 새롭게 운영되는 산업인 만큼, 정보제공범위, 운영절차 및 법령상 의무, 유의사항 등에 대해 구체적인 내용을 담았습니다. 이를 위해 은행, 보험, 카드, 증권, 핀테크 등 70여개 기업이 ‘19.5월부터 ’20.9월까지 데이터 표준 API 워킹그룹을 운영하고 관련 회의를 총 94회 운영하였다고 합니다.



마이데이터 가이드라인 주요내용은 다음과 같습니다.



1. 제공정보 범위

① (여·수신, 금투) 예·적금(납입액, 금리, 만기 등), 대출(잔액, 금리, 만기 등), 투자상품(예수금, 매입종목, 거래단가·수량, 평가금액 등) 등

② (보험) 가입상품(계약, 특약, 납입내역, 자기부담금 등), 대출(잔액, 상환내역 등)

③ (카드) 월 이용정보(금액, 일시, 결제예정총액), 카드대출, 포인트 등

④ (전자금융) 선불발행정보(잔액, 충전계좌), 거래내역(일시, 금액), 주문내역정보*(12개 범주화) 등

* 가전/전자, 도서/문구, 패션/의류, 스포츠, 화장품, 아동/유아, 식품, 생활/가구, 여행/교통, 문화/레저, 음식, e쿠폰/기타 12개로 분류하여 최소수집 및 목적 명확성 원칙 下 제공

⑤ (기타) 통신 청구·납부·결제정보, 조세 및 4대보험 납부확인 등



2. 소비자 권리보호

① (명확한 동의) 쉬운 용어 사용, 시각화 등을 통해 알고 하는 동의 원칙을 구현, 자유로운 동의·거부·철회 허용

② (정보보호 강화) 서비스 탈퇴를 쉽게, 플랫폼에 저장된 신용정보를 완전히 삭제

③ (과당경쟁 방지) 과도한 경제적 이익 제공을 조건으로 한 모집 금지, 기존 가입현황 및 사업자별 특화서비스 안내

④ (보안관리) 관리적·물리적·기술적 보안사항 준수 및 기능 적합성 심사 및 보안 취약점 점검 의무화



3. 전송절차 

① (전송요구) 정보주체가 정보제공기관(예: 금융회사), 수신기관(예: 마이데이터 플랫폼), 대상정보 등을 구체적으로 선택하여 요구


② (본인인증) 정보주체가 안전하고 신뢰할 수 있는 방식의 인증으로 다수의 정보제공자에게 전송요구권 행사 가능


③ (정보전송) 정보유출 등의 위험이 없는 방식으로 실시간 전송

※ API, PDS 등 구축 시점인 8.4일부터 안전한 방식으로 전송

- (금융기관→마이데이터 사업자) 마이데이터 앱을 통해 전송요구시 정보제공자는 API등으로 마이데이터 사업자에게 정보전송 

※ 다른 프로그램이 특정 기능·데이터에 접근할 수 있도록 미리 정한 통신규칙(고객 정보를 수집하는 대상, 이용기간, 접근 범위 제한 등 관리 가능)

- (금융기관→他 금융기관/개인) 종합포털을 통해 전송요구시 他 금융회사 또는 종합포털 내 개인별 PDS(Personal Data Storage)로 전송 -> 마이데이터 종합포털 내 구축되는 본인의 데이터를 안전하게 저장·관리하는 플랫폼

반응형
반응형

모든 개발작업이 그러하듯 본 과정보다 전처리가 중요하다. 음식 만들기 전 재료준비/손질에 대부분의 시간이 소요되는 것과 다를것이 없다.

반응형
반응형

악마가 될 직원은 뽑지마라

How Leaders Create a High Performance Culture | Ian McClean | Talks at Google

https://www.youtube.com/watch?v=auojtsHPIM8 

The 7 Do's and Don'ts that form an effective leader's operating system! In this talk you will hear from business leader, consultant, facilitator, coach and writer Ian McClean, on how leaders create a winning, dynamic high-performance culture. Founder of Flow Group, Ian has worked with international leaders and organisations to improve their performance for over 25 years. Today he focuses on the neuroscience behind Greenline Communications & the importance of separating intention from impact and how to save time through better interactions. Moderated by Karoline O'Sullivan.

 

효과적인 리더의 운영 체제를 구성하는 7가지 해야 할 일과 하지 말아야 할 일! 

이 강연에서는 비즈니스 리더, 컨설턴트, 촉진자, 코치 및 작가 Ian McClean으로부터 리더가 성공적이고 역동적인 고성능 문화를 만드는 방법에 대해 듣게 될 것입니다. 

Flow Group의 설립자인 Ian은 25년 넘게 국제 지도자 및 조직과 협력하여 성과를 개선해 왔습니다. 

오늘날 그는 Greenline Communications의 이면에 있는 신경 과학, 의도와 영향을 분리하는 것의 중요성, 더 나은 상호 작용을 통해 시간을 절약하는 방법에 중점을 둡니다. 

Karoline O'Sullivan이 중재했습니다.

 


반면 또 다른 빅테크인 구글은 선량한 인재를 뽑는 방식으로 이러한 딜레마를 피하려고 해요. 구글은 작년 기준으로 전 세계에 139995명에 달하는 직원들을 두고 있는데요. 채용 절차가 까다롭기로 정평이... 특히 직원수가 2만명에 불과할 때도 채용 담당자만 1000명이 넘었다는 도시 전설이 있고요.

 

일반적인 기업은 적당한 인재를 뽑아서 엄청난 고과를 주고 관리를 하지만, 구글은 반대로 채용에 온 신경을 쓰는 조직이에요. 한때 한 명을 뽑는데 평균 150~500시간을 들인다는 소문도 있었고요. 이를 통해 구글이 얻는 것은? 조직 문화를 망칠 직원이 들어오는 것을 방지하는 것이죠. 크게 세가지 원칙이 있대요.

 

·         시키지 않아도 자발적으로 한다

·         지적인 겸손함을 발휘한다

·         그럼에도, 머무려는 사람은 차단한다

 

구글의 선발은 크게 자기반성(Self-reflection)→일자리 찾기→이력서 작성→온라인 제출→인터뷰→선발인데요. 특히 자기반성 부분부터 숨이 턱! 첫문장을 읽어보면? "혹시, 열정을 내고 싶지 않은 일을 잘한적이 있나요? 사실 흥미롭지 않은 일에 성과를 내기는 어렵거든요. 아래 몇가지 중 스스로에 물어보세요."

 

·         혼자하는 것이 성과가 좋나요? 팀으로 하는 것이 성과가 좋나요?

·         문제를 직접 해결하는 것이 좋나요? 팀워크로 얻는 성과가 많나요?

·         함께 일한 최고의 팀을 설명해 보세요.

 

이력서를 통과해도 빡센 것은 마찬가지. 인터뷰 절차? 전화 인터뷰 30~60분씩 두차례. 현장 면접 약 5명과 각각 45분씩 진행. 이 절차를 통과하면 고용위원회에서 적합한 일을 찾아보고, C레벨의 리뷰를 받고 드디어 채용! 이런 과정을 거치다 보니, 실제로 이곳에서 만난 구글러들의 성품은 매우매우 훌륭했어요.

반응형
반응형

일을 더 잘하게 합시다. - reWork withgoogle.com

 

구글에서는 설문을 통해 리더들이 9가지 원칙을 점검하는지 스스로를 되묻게 한대요. 한번씩 읽어볼만 해요.

 

1.     직원들이 성과를 낼 수 있도록 "실행 가능한" 피드백을 주세요.

2.     팀원을 인간답게 배려해주세요.

3.     세세하게 관리하지 마세요.

4.     관점이 달라도 존중해 주세요.

5.     결과를 달성하도록 해주세요

6.     정보사항을 제대로 공유해 주세요

7.     더 나아가, 팀원들의 경력이 쌓일수 있도록 멘토링해주세요

8.     목표치 명확하게 전달해 주세요.

9.    이제 당신은 훌륭한 리더입니다.

 

https://rework.withgoogle.com/

 

re:Work

Let's Make Work Better. Research, ideas, and practices from Google and others, to put people first.

rework.withgoogle.com

일을 더 잘하게 합시다.

re:Work는 사람을 최우선으로 생각하는 데 도움이 되는 Google 및 기타 업체의 사례, 연구 및 아이디어 모음입니다.

re:Work with Google에 대해 자세히 알아보세요. 

 

About re:Work

Let's Make Work Better. Research, ideas, and practices from Google and others, to put people first.

rework.withgoogle.com

시작하다

re:Work는 직장에서 영향력을 미칠 수 있는 방법을 중심으로 구성되어 있습니다. 각 주제에는 특정 과제를 해결하기 위한 도구와 통찰력이 포함되어 있습니다.

  • 목표 설정목표를 설정하여 노력을 조정하고, 목표를 전달하고, 프로세스를 측정합니다.
  • 고용직무 설명, 구조화된 인터뷰, 고용 위원회 등을 통해 더 나은 고용 결정을 내립니다.
  • 혁신혁신을 위한 기술을 구축하고 이를 직장의 일부로 만드는 방법을 배우십시오.
  • 학습 및 개발학습을 모든 사람의 업무의 일부로 만들어 직원이 성장하고 발전할 수 있도록 역량을 강화하십시오.
  • 관리자무엇이 훌륭한 관리자인지 파악하고 피드백과 개발 기회를 제공하십시오.
  • 사람 분석과학과 데이터를 사용하여 정보에 입각한 객관적인 결정을 내립니다.
  • 팀 효율성과 심리적 안전을 촉진하는 방법을 검토합니다.
  • 편향되지 않음모든 사람을 교육하고, 측정하고, 책임을 지도록 함으로써 무의식적 편견의 영향을 줄입니다.

 

반응형
반응형

SSO(Single Sign-On) 구현을 위한 토큰(Token)의 활용

 


ID/PW 로그인
AccessToken / RefreshToken 생성
AccessToken 소멸하면 RefreshToken으로 인증서버에 AccessToken 재요청
RefreshToken 소멸시 재로그인
 * JWT(JSON Web Token)
 * Token은 Base64 Encoding으로 한다. 토큰에 서명(signiture)부분을 추가해서 서명에 비밀키를 사용. 

 

====================================================================

 

SSO(Single Sign-On)는 무엇인가?

SSO(Single Sign-On)은 한 번의(Single) 로그인 인증(Sign-On)으로 여러 개의 서비스를 추가적인 인증 없이 사용할 수 있는 기술이다. 인증은 하나의 시스템(인증 서버)에서 수행하고, 그 인증 서버가 서비스를 각각 담당하는 서버에 인증 정보를 알려주는 방식이다.




주로 다양한 서비스를 유사한 도메인 혹은 동일한 탑 레벨 도메인(TLD:Top Level Domain)을 서비스하는 엔터프라이즈 서비스 제공자들이 사용자에게 간편한 로그인을 제공하기 위해 사용한다.

예를 들면, 이런 흐름이다.
① www.samsung.com에서 로그인을 하면, 인증 서버 account.samsung.com으로 이동한다.
② account.samsung.com에서 로그인을 성공하면 다시 www.samsung.com으로 돌아온다.
③ 삼성의 다른 서비스에 접속하면, 별도의 추가 로그인 없이 이미 로그인된 상태로 서비스를 즐긴다.

같은 맥락으로 Gmail에 Google 계정으로 로그인을 하면, YouTube나 Google Drive는 별도 로그인 없이 Gmail 로그인에 사용한 구글 계정을 동일하게 사용하는 것도 SSO 기술이다.

SSO를 구현하기 위한 기술 요소는?

SSO를 구현하려 한다면 인증 서버를 준비하고, 이를 다양한 서비스들과 어떻게 인증 관련으로 연계할지 설계해야 한다. 인증 서버에서 인증을 성공적으로 마쳤다는 '증거'를 다른 서비스들이 어떻게 믿게 만들 것인지에 대한 기술적 고민도 필요하다.

기업 내 솔루션에서 SSO는 전통적으로는 모든 사용자(직원)의 인증 정보를 담고 있는 AD(Active Directory)이나 LDAP(Lightweight Directory Access Protocol)을 적용한 솔루션들을 많이 사용해왔다.

SSO의 직접적인 구현을 위해서 여러 가지 방법이 있겠지만 이 글은 인증 토큰(authentication token)을 사용한 SSO 방식에 대한 글이다. 여기서 토큰이란, 최초 인증이 성공한 사용자에게 일종의 증표로 인증 서버가 발급하는 정보다.

예전의 웹 개발에서는 로그인에 성공한 사용자는 웹 서버와 Session을 맺고, SessionID 정보를 쿠키로 받아, 그 쿠키를 로그인의 증표로 사용하였다. 모든 요청 헤더에 SessionID 쿠키를 넣고 웹 서버에 접속을 하면, 웹 서버는 서버에 보관한 Session 정보와 비교하여 유효하게 로그인한 사용자임을 확인하고 콘텐츠를 제공하는 방식이었다. 매번 요청마다 서버가 Session 정보를 확인해야 하는 부담, 서버가 Session 정보를 어디엔가(DB 혹은 Redis) 저장해야 하는 번거로움과 복잡한 구현 방식이 단점이라 할 수 있다.

이에 반해 토큰 방식은 Session 방식과 다르게 서버가 각각 로그인한 사용자의 세션 정보를 따로 보관하지 않는다. 한번 인증 토큰이 클라이언트에게 발급하면, 클라이언트는 추후 요청부터는 그 토큰을 포함하고, 서버는 클라이언트 요청에 포함된 토큰을 그때그때 확인할 뿐이다. 현재 Facebook, YouTube를 비롯한 소셜미디어, 포탈, 이커머스 서비스처럼 가입자 기반의 로그인 인증이 필요한 서비스들이 토큰 인증 방식을 많이 사용하고 있다.

초기에는 SSO가 저변화되면서 많은 서비스들이 SSO 상용 서비스에서 제공하는 SAML(Security Assertion Markup Language) 방식을 사용하였다. SAML은 XML 형태의 마크업으로, 간단한 정보 전달을 위해 많은 태그가 사용되는 비효율성이 있다. 그 이후부터는 SSO에서도 토큰을 사용하고 있다.


토큰을 사용한 SSO 서비스 다이어그램 

SSO에서 세션과 토큰을 어떻게 사용하는지 아래 다이어그램으로 이해해보자.



① 사용자는 Service1에 접속하여 로그인 버튼을 클릭한다.
② Service1은 인증 서비스(idP: Identity provider)로 해당 요청을 Redirect 한다.
③ 인증 서비스는 사용자에게 로그인 화면을 제공한다.
④ 사용자는 ID/PW (혹은 OAUTH2.0)을 입력한다.
⑤ 인증 서비스는 회원 DB와 비교하여 ID/PW가 올바르면 인증 토큰을 발급하며 Service1으로 돌려보낸다.
⑥ Service1은 발급된 토큰을 확인하고, 올바른 토큰이라면 사용자의 로그인 처리를 해준다.
⑦ 사용자는 Service2에 접속한다.
⑧ Service2는 이 사용자의 세션이 아직 유효한지 확인하고 유효하다면, Service2 용도의 토큰을 발급한다.
⑨ Service1은 발급된 토큰을 확인하고, 올바른 토큰이라면 사용자의 로그인 처리를 해준다.


여전히 세션이 필요한 이유는 한번 발급된 토큰만 믿을 수없기도 하고, 일반적으로 토큰은 짧은 유효 시간을 갖는데 비해, 서버에는 세션 정보를 오랫동안 보관하고 그 기간 내에 재접속한 사용자를 지원할 수 있기 때문이다.


유효 시간이 만료된 토큰 사용자가 다시 로그인하는 것은 불편하니, 다음과 같은 방법을 사용한다.

- 인증 서버는 ID/PW를 DB에서 확인하고, 정상 로그인이면 AccessToken과 RefreshToken을 발행한다.
- AccessToken은 exp가 짧다. 만료되면 RefreshToken으로 인증 서버에게 AccessToken를 재요청한다.
- RefreshToken은 exp가 상대적으로 길고, 인증 서버의 세션 정보를 포함한다.
- AccessToken 재요청을 받은 인증 서버는 RefreshToken과 세션 정보를 비교 후 재발급해준다.
- RefreshToken 마저 유효 시간이 지나면, 사용자는 다시 ID/PW 로그인을 해야 한다.

한번 로그인했던 Facebook이나 YouTube의 로그인이 상당 기간 필요 없는 것은 위의 방법을 사용하기 때문이다. 브라우저의 쿠키와 temporary internet folder를 삭제하면 모든 토큰은 삭제된다. 때에 따라 AccessToken을 cookie에 저장하고, cookie는 브라우저가 닫히면 삭제되도록 설정할 수도 있다.


토큰에는 어떤 정보가 있고 어떻게 확인하나?

여기에서의 핵심은 토큰이 어떤 정보를 가지고 있고, 각 Service1과 Service2가 유효한 토큰임을 어떻게 확인할 것인지에 대한 디자인이다. 토큰의 종류는 여러 가지이지만 예제에선 JWT(JSON Web Token)을 사용하였다.



① 인증 서버(idP)와 각 Service 서버들은 사전에 비밀키(private key)를 공유한다.
② ID/PW로 정상적인 인증이 확인되면, 인증 서버는 토큰에 이메일, 이름, 유효 시간 등을 입력하여 발급한다.
③ 토큰을 Base64 Encoding 한다. 암호화가 아닌 인코딩이기 때문에 내용은 누구나 알 수 있다.
④ 토큰에 서명(signature) 부분을 추가하여 위 변조를 방지한다. 서명에 비밀키를 사용한다.
⑤ HTTPS 보안 채널로 토큰 확인을 요청한다. 토큰이 유실되더라도 비밀키가 없는 해커는 내용을 변조할 수 없다.
⑥ Service 서버는 비밀키로 토큰 변조 여부를 확인하고, email 등의 사용자 정보 확인 후, 인증 처리를 해준다.

이 방식의 장점은 가벼운 토큰을 사용하여 인증 처리 작업을 하는 서비스들이 부담을 갖지 않는 구조이고, 비밀키 없이는 토큰을 변조하지 못한다는 보안성이다.

단점은 아무리 HTTPS로 토큰을 보낸다고 하더라도, 중간자 공격 등으로 토큰을 훔친 해커는 토큰을 변조하지 않고 그대로 사용한다면, 로그인한 사용자와 동일하게 보일 수 있다는 보안 취약점이다. 그래서 User-Agent 혹은 IP 주소를 확인한다거나, 추가적인 여러 가지 보완책을 마련해야 한다. Naver 서비스의 경우, AccessToken이 유효하더라도 사용자의 IP 주소가 바뀌면 다시 로그인을 하도록 하는 것도 이런 이유 때문이다.


SSO(Single Sign-On) 구현을 위한 토큰(Token)의 활용 : https://brunch.co.kr/@sangjinkang/36

반응형

+ Recent posts