[ Architecture, Technology ,Web ] SSO(Single Sign On) 그리고 SAML에 대해

이미지
이번 프로젝트 내부에서 어쩌다보니  유저 인증 관련 업무를 담당하게 되었고, 해야하는 업무는 내부에 사용했던 적이 없던  새로운 개발 플랫폼에서  SSO의 프로토콜 중  SAML을 이용해 앱의 인증을 구현해야만 했다. SSO를 생각해본적 조차 없는 상황에 이를 새로운 개발 플랫폼에 도입해야 했기 때문에 많은 시행착오를 겪었으나 구현에 성공하였으며 덕분에 SSO에 대한 전반적인 지식을 쌓을 수 있었다. 이번에는 그러한 과정에서 나온 지식들과 경험을  공유하고자 한다. SSO에 대한 정의 먼저 사전적 정의 부터 살펴보자. 다만, 기술적인 용어다보니 자주 사용하는 옥스포드 사전에 정의를 찾을 수 없기 때문에  검색으로 찾을 수 있는 정의를 몇 가지 살펴보고 교차 검증을 해보자. 첫 번째 정의를 살펴보자. Single sign-on (SSO) is an identification method that enables users to log in to multiple applications and websites with one set of credentials.  SSO는 웹사이트에서 한 번의 인증(one set of credentials)으로 복수의 어플리케이션에 로그인 할 수 있는 인증(identification) 방법(method) 이다. 두 번째는 위키피디아의 정의이다. Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID to any of several related, yet independent, software systems. SSO는 독립적이지만 연관되어있는 몇몇 소프트웨어에 대해 하나의 ID로 로그인을 할 수 있도록 하는 인증 구조(scheme) 세부 설명에 조금 차이가 있어 보이지만 전체적인 틀은 매우 비슷해 보인다.  몇 가지 포인트가 되는 단어를 추출해 이를 연결해보자면 아래와 같은 의미를 산출 할 수 있다. 독립적이지만 연관되어 있

[ 생각 ] 현대 교육을 통해 나오는 '우수한 인간'과 사회가 원하는 '우수한 인간'에 대해


이번에는 현대 교육과 사회가 원하는
'우수한 인간'에 대해 이야기를 해보자.



주제는 현대 교육으로부터 출발했지만,
시작하다 보니 우수한 인간까지 가버렸다.

따라서 현대 교육에 대해 이야기 하면서,
'창의력'이라는 특성에 대해 이야기하고,
이런 특성을 어떻게 하면 얻을 수 있을까에 대해 이야기를 해보려고 한다.

최근에 밀의 책을 주로 읽었으니
이런 주제에 대해,
밀의 생각을 조금 빌려올지도 모르겠다.

어쨋든 기존 교육방법이 현재(2020년)에
맞지 않는 느낌이 드는 것은 한국만이 아닌듯 싶다.

왜냐하면,
사회가 급속도로 발전한 만큼,
변화라는 거대한 파도는 그에 비례해서 주기가 빠르게 변했다.

따라서 그 만큼,
사회에서 원하는 인재상도 빠르게 바뀌었다.

하지만,
현대 교육, 그러니깐 세계의 대부분 교육방법은
지식을 단지 쑤셔넣기에 집중하는 것에 크게 벗어나지 못했다.

이렇게 지식을 쑤셔넣어,
누가누가 얼마나 잘 쑤셔넣었는지 대결이라도 하듯이 테스트를 보고,
그에 따른 점수를 부여 받는다.

이런 점수에 따라 교육을 받는 아이들은 평가 받게되며,
교육을 훌륭하게 받은 아이,
교육을 훌륭하게 받지 못한 아이로 분류 된다.

현대 교육은 이런 시험 점수를 통해 
객관적인 평가를 내리며,
(물론 그것이 정말로 객관적인지는 생각해볼 법 하다)

현대 교육 완수자들은
이런 객관적인 평가를 가지고 사회에 내보내지게 된다.

하지만 사회가 급속도로 발전하면서,
사회가 원하는 인간은 흔히 '창의력' 있는 인간으로 빠르게 바뀌었다.

왜냐하면 
첫 번째로, 빠르게 그리고 더 많이 더 다양하게 
공산품을 생산 해야 하는 2차 산업에서 
서비스 위주의 3차 산업으로 
고부가가치가 변했기 때문이다.

2차 산업에 필요한 것은 
다량의 공산품을 정해진 규칙에 맞게 
생산하기 위한 교육, 
즉 정해진 시간에 학교(혹은 직장)로 등교(혹은 출근)하고
학교가 정한 구제적인 미션을 달성하는 것이다.

이런 2차 산업에서 중요한 것은 무엇일까?

룰에 벗어나지 않는 것이다.

더 많은 생산을 하기 위해서는 
정해진 자리에서 정해진 기계를 좋은 품질로 
똑같은 물건을 다음 공정 인원에게 넘겨야 한다.

그렇지 않으면 전체적인 품질이 떨어지게 될 것이다.

분업을 위해 모두가 같은 시간에 
같은 장소에 모여야 하며,
같은 시간에 작업을 종료해야 된다.

또한 기계를 다룰 정도의 학습 능력 또한 필요하다.

나는 이에 대해 구체적인 증거를 보일 수는 없지만
본격적으로 학교가 세워진 이유가 여기에 있다고 보고 있다.

대외적으로는 
국가는 국민들의 교육을 위해 
기업은 사회를 위해
학교를 세웠다고 이야기하지만 말이다.

정말 소수 사회를 위해 행동한 사람이 있기야 하겠지만
이런 사람이 얼마나 되겠는가?

그들의 검은 속내야 어찌되었건

교육을 받는 입장에서는 무료로 
질 좋은 교육을 받을 수 있었고 
자신이 잘 하기만 한다면 
어느 정도 삶을 보장받을 수 있었으며

기업은 질 좋은 인력을 공급 받을 수 있게 되었고

정부는 개인과 기업으로 부터 
더 높은 세금을 거둘 수 있을테니
모두에게 나쁘지 않는 거래이다.

그러니깐 기업과 정부 입장에서는
학교라는 공공 기관과 교육이라는 것은 
확실하게 리턴을 가져다줄 투자할 만한 대상인 것이다.

물론 이 삼각 관계는 꽤나 긴 기간 유지되었다.
위에서 이야기 했던 
고부가가치가 변하기 전까지는 말이다.

두 번째로 인터넷의 발전으로 
그리고 공유함으로써 나타나는 이득이
숨기고 감추는 것으로 생기는 이득보다 
아득히 높은 것이 증명되면서 
질 높은 지식이 끊임 없이 인터넷에 공개되기 때문이다.

그런 시대에서 지식 쑤셔넣기는 의미를 상실 한다.

왜냐하면 
현대 교육에서 가르치는 정도의 지식은
인터넷에 검색하면 나오기 때문이다.

갑자기 지구에 유성이 떨어져서 
문명이 파괴되지 않는 이상
굳이 지식을 배우기 위해 학교를 다닐 필요가 없게 되었다.

즉, 어떤 사람들이 주장하는 것 처럼
외워서 얻는 지식들은 더 이상 유용하지 않다는 이야기 이다.

현대 사회의 패러다임은 
지식을 얼마나 잘 쑤셔넣어서 잘 알고있느냐가 아닌
어떻게 활용하느냐에 달려 있다.

하지만, 문제는 
국가 교육 시스템은 매우 반응이 느리고,
민주주의라는 시스템하에서는 많은 과정이 필요하며
그리고 이런 교육 시스템하에 형성된 시장 무너지게되며
(한국의 경우 수능이라는 
시스템의 교육 시장이 매우 크기 때문에
꽤나 위험하지 않을까 싶다)

이런 현대 교육을 훌륭하게 완수해 
사회에 높은 위치를 차지하고 
많은 이익을 누려왔던 기성 세대들은 
이 달콤한 열매를 손에서 놓고 싶지 않을 것 이다.

따라서 이런 사회의 요구에 
빠르게 대응하기는 힘들 것 이다.

조금 더 강력하게 말하자면 바뀔 수 가 없을 것 이다.

따라서 교육을 통해 나오는 인간과
실제 사회에서 원하는 인간의 미스매치가 일어난다.

현재(2020년)이 그런 미스매치가 일어나는 
어떤 고점에 와 있다고 나는 생각하고 있다.

현대의 교육은 이런 높은 점수를 받는 인간을
우수한 인간으로서 사회로 내보내지지만,

아이러니하게도 
현재의 사회는 창의력이 높은 우수한 인간을 원한다.

그에 따라,
실제 사회에서 원하는 창의력있는 인간은
사회에서 높은 가치를 부여 받는다.

하지만, 창의력은 눈에 보이는 능력이 아니다.

높은 창의력을 가진 사람이
보통 어떤 한 특성을 보여준다고는 할 수 있지만,
그 특성을 가진다고 해서,
그 사람이 높은 창의력을 가지리란 보장은 없다.

따라서 사회를 구성하는 큰 틀인 회사에서는
이런 창의력 높은 인간을 선별하고 뽑기 위해
다양한 방법을 통해 선출하고 있다.

지금 시점에서 그나마 확률이 높은 선출 방법은
이미 많은 기업들에 의해 제시된듯 싶다.

그렇다면, 이런 상황,
교육과 사회가 원하는 우수한 인간이 
미스매치가 이루어지고 있는 이런 시점에서,

이런 미스매치에 따라 창의력이 높은 인간의 가치는 
더더욱 높아지고 있는 시점에서,

각 개인들은 자신의 가치를 증명하려면,
자신이 창의력을 보유하고 있다는 듯이 사회에 증명해야 한다.

여기서 내가 '있다'가 아닌 '있다는 듯'이 라고 말한 이유는
창의력은 눈에 보이는 것이 아니기 때문이다.

그 사람이 창의력이라는 능력이 있다고
결과를 통해 가정할 뿐이지,

그 사람이 진짜 창의력이라는 것을 가지고 있는지는 아무도 모른다.

또한 애초에 창의력이라는 개념조차
애매모호 한것이 사실이며,
창의력이 무엇인지에 대한 
철학적 논의조차 진행되고 있지 않다.

왜냐하면 자본주의 사회가 지배하고 있는 현실에서
우리는 자본을 모으기 바쁘기 때문이다.

따라서 현재 창의력이 정확히 무엇인지 알 수 없다.

아는 사람이 있다면,
부디 나에게 알려줬으면 한다.
(물론 적절하다면)

그렇기 때문에 꼭 창의력이라고 불리는 것을 가질 필요는 없다.

창의력과 비슷한 것이기만 해도,
결과로서 증명할 수 있다면

그 개인은 사회에서 창의력이 있는 사람으로서 
가치를 평가 받을 것이다.

다시 말하지만,
창의력이 무엇이고,
정말 가지고 있는지가 중요한 것이 아니다.

창의력이 있는 것 처럼 결과적으로 보여주면,

즉, 당신이 유사 창의력이나 
창의력이 있다고 결과적으로 증명할 수 있다면

당신은 사회로부터 창의력있는 사람으로서 평가 받을 수 있다.

다시한번 강조하지만,
여기서 그 사람이 정말 창의력이 있는지 없는지는
그 다지 중요하지 않다는 것을 강조하고 싶다.

그럼 이제 창의력과 유사 창의력을 
포함한 개념을 적당히 이름 붙여보자.

추상화된 창의력(abstracted Creativity)의 영문을 따와
추상화된 ab와 창의력의 (c)reativity를 합쳐,

Abreativity라 정의하겠다.
c는 발음하기 힘들어서 삭제 처리했다.

영어로 이름을 지은 이유는 한국어로 해보려하니깐,
너무 어감이 이상해서이다.

어쨋든 앞으로 나는 '창의력'과 '유사 창의력'을 합친 개념을
추상화된 창의력인 Abreativity라 칭하겠다.

그럼 이런 Abreativity를 얻어내기 위해 어떤 방식을 통해
함양하는 것이 가장 좋을까?

나는 철학적 능력을 기르는 것으로
함양하는 것이 가장 좋다고 생각한다.

현대에 들어서 과학을 너무 강조한 나머지,
현대인들은 모든 학문의 출발점인 철학을
너무 등한시 하고 있다고 생각하고 있다.

여기서 철학은 대학교에서
배우는 사상가들의 철학을 학문으로서
배우고 연구하는 것을 말하는 것이 아니다.

나는 그런 연구를 하는 
연구자들을 무시하는 것은 아니지만,
그것으로 부터 무언가 '부분적 진리'를 발견하지 못한다면,
그것은 죽은것과 다름없고, 
가치가 없다고 생각하기 때문이다.

탐구는 학자들만의 것은 분명 아니다.

물론 나에게 가치가 없다고,
다른 개인들에게도 가치가 없다고는
생각하지 않기 때문에 안심하길 바란다.

어쨋든 내가 말하는 철학은
'왜?'라는 근본적인 생각에서 나오는 것들을 말한다.
'인간은 무엇인가?'
'인간은 왜 존재하는가?'
물론 고대에서는
인간은 신의 피조물이며,
신의 대리자로서 신과 닮은 형태로 
지구에 창조되었다고 생각했지만

현대에 와서는 대부분 그렇게 생각하지는 않아 보인다.

어쨋든 여기서 해야하는 철학적 생각은 다음과 같다.

'나는 누구인가' 부터 시작해 자기자신을 분석하고,
'나는 어떨때 행복한가'를 통해 자신만의 행복을 분석하며,
'나의 꿈은 무엇인가'를 통해 자신의 이상과 비전을 분석하여
자기 자신을 정의 내린다.

그리고 나는에서 '다른 사람들은'으로 바꾸어서
자신의 가족,학교,회사 등을 비롯한 공동체에서
나라라는 큰 틀의 공동체,
그리고 인간을 정의 한다.

그리고 자신이라는 개인과 큰 틀의 인간을 비교해
타협점을 찾고, 자신만의 특별함(unique)을 찾는 것이다.

왜냐하면 개인과 공동체를 비교하면서
자신만의 특별함(unique)을 찾아낼 수 있고,

그 특별함(unique)이 
현재 사회에서 요구되어지는 특별함(unique)이라면,
그것은 다른 사람들로 하여금 
'Abreativity'가 있는 사람으로서 보일 수 있다.

나는 이 과정,
자신을 정의내리고, 
타인을 정의내리는 이 과정 속에서

즉, 성찰과 고찰이라는 불순물 제거 작업을 통해
우리는 수많은 '부분적 진리'라는 원석을 발견 할 것인데,
그 중에 하나인 '부분적 진리'가 이 Abreativity라는 것이다.

따라서 이런 고찰과 성찰은 
개인의 인생에서도,
가치있는 사람이 되기 위해서도 가장 중요한 것이다.

이런 과정은 완성되는 것이 아닌 
살아가면서 끊임없이 개선된다.

왜냐하면,
나는 인간은 무한한 가능성을 
가지고 있다고 믿기 때문이다.

무한한 가능성을 가지고 있지만,
그에 비례해 시간은 무한하지 않기 때문에
자신만의 특별함(unique)을 찾기 힘든 것이라고 생각한다.

또한 모순적이게도 이 과정은 완성되어서는 안된다.
설사 정말로 완성되었다고 하더라도
자기 기만에 빠지는 순간 도로 후퇴하고 말기 때문이다. 

하지만, 그 특별함을 찾고 함양했다고 한들
그 특별함이 사회에 요구되지 않는 특별함이라면,
가치를 지니지 못 할 것이다.

가치를 지니지 못한다면,
그렇다면 그 개인은 특별함(unique)을 가졌지만,
'Abreativity'가 있는 사람은 아니다.

왜냐하면 현재 사회는 'Abreativity'가 있는 사람을 원하기 때문이다.

물론 이 글을 보는 사람이 누구인지는 잘 모르겠으나,
당신이 이런 방법으로 'Abreativity'를 얻을 수 있을지는 나도 모르겠다.

하지만 사회는 'Abreativity'가 있는 사람을 원하며,
당신도 이를 느끼고 있을 것이다.

나는 여기에 한 가지 방법을 제시했을 뿐 이다.

따라서 내 방법이 마음에 안든다고,
내 논리적 약점을 찾아내서 비판한다고 한들,

나는 딱히 해줄말은 없다.

나는 단지, 
밀이 말한 것처럼,

어떤 한 개인의 의견에는
'부분적 진리'가 대게 포함되어 있다고 믿고 있으며,

내 의견에도 포함되어 있듯이,
당신이 어떤 생각을 가지고 있던간에
'부분적 진리'가 포함되어 있음을 믿어 의심치 않기 때문이다.

여기 까지 해서 내가 하고 싶은 이야기를 해보았다.

아마 이 점에 대해서는 국가와 관계없이
대부분의 사람들이 느끼고 있으리라 생각된다.

왜냐하면,
한국에서도, 일본에서도, 
중국에서도 이런 현상은 나타나며,
이 세 국가는 아직도
개인보다 공동체를 우선시하는 경향이 아직까지도 있다.

따라서 이런 '개성'을 가지는것은 
공동체에서 탐탁치않게 여길 것이다.

어쩌면 억압받고, 탄압받으며, 
공동체에서 배제당할지도 모르겠다.

확실히 말하자면 
당신이 가지고 있는 어떤 개성이 
어떤 이유에서든 공동체에 반하는 영향을 주게 된다면
확실하게 배제 당할 것 이다.

그럼에도 불구하고 
여기서 개인으로 해야하는 것은
이런 사회의 요구에 따라 
'Abreativity'를 함양하는 것이 최선이라 생각한다.

왜냐하면, 그런 공동체조차 자본주의 공동체인 이상,
사회에서 요구되는 개성이라면 또는 그에 근접한 개성이라면,
뜻이 맞지 않더라도 이익이 된다고 판단된다면
함부로 공동체에서 배제하려 하지 않을 것이기 때문이다.

공동체 조차 어느정도 사회적 위치에 위치하는
개인들에게 철퇴를 내리는 것이 쉽지 않기 때문이다.

생각해보아라.
이런 Abreativity를 가지고 있는 
일론 머스크를 미국은 함부로 할 수 없다.

국가는 일론 머스크가 마음에 들지 않더라도 
마음껏 철퇴를 휘둘기는 힘들 것이다.

철퇴를 내리기 위한 정당성을 확보하기 위해
발에 땀이 나도록 뛰어다녀야 하기 때문이며,
리스크가 매우 크기 때문이다.

물론 반대로 이야기하면,
어느 정도 사회적 위치에 위치하지 않는
개인들에게는 철퇴가 쉽게 내려질 것이다.

그렇기 때문에 자유는 절대적으로 지켜져야만 하는 것 이다.

어쨋든
만약 어떤 개인이 'Abreativity'를 함양하고,
그것이 사회에서 가치를 지니고 있는 것이 된다면,
그 개인은 흔히 말하는 높은 급료를 받는 직업을 얻을 수 있을 것이다.

자본주의 사회에서 높은 급료를 받는 직업이
비교적 높은 사회적 지위를 가지고 있으며,

그렇지 않더라도 그러한 인식이 있기 때문에 
그 개인은 자본주의 사회에서 비교적 높은 위치를 차지 할 수 있다.

거기에 그 직업의 일이 자신이 좋아하는 일이라면
그 개인은 자신의 행복마저 손에 사로잡을 수 있을 것이다.

자, 여기서 이 글을 읽는 사람이 누군지는 모르겠다.
아마 나의 개인 블로그에 올릴 예정이기에 언젠가
누군가가 읽으리라 예상된다.

나의 논지에 동의한다면,
당신은 'Abreativity'를 함양하는 것이 바람직하다.

나의 논지에 동의하지 않아도 좋다.
하지만 한번 생각해보기를 바란다.

사회가 원하는 우수한 인간은 무엇인가?
그리고 그 우수한 인간은 어떤 특성을 가진 인간 인가를 말이다.

수 많은 자격증과 
그 외의 수 많은 증서와도 같은 것을 가진 인간이
정말 사회에서 가치를 높게 평가 받는지 말이다.

물론 여기서 말하는 사회는 세계 사회를 말한다.

그리고 그 끝에 도달하게 될 곳은
디테일한 면은 조금 다를 수 있지만
큰 틀에서는 나와 크게 다르지는 않을 것이다.

나는 'Abreativity'가 있는 인간을 
우수한 인간이라 생각했을 뿐이다.

나와 의견과 다르더라도,
당신이 그것이 사회에서 우수한 인간 인간의 특성이라면

그것을 함양하는것이 좋다.

그것은 당신의 자유다.

사실 현대 민주주의 시스템에서는 
젊은 사람들에게 칼자루가 쥐어져 있지 않기 때문에
빠른 시간 안에 이를 바꾸는 것은 사실 불가능에 가깝다.

대다수의 기성 세대 사람들은 
그 밑 세대에 그다지 관심 없으며

대외적으로는 미래를 위한다고 이야기하지만
사실 그들 중 대부분은 
자신의 손에 쥐고 있는 열매를 놓치고 싶지 않을 뿐이며,
다른 누군가가 이 열매를 가져가는 것은 더더욱 싫을 뿐이다.

그렇기 때문에 
사회가 어떤 것을 요구한다고 한들
그런 요구는 그들의 우선 순위에서 한참이나 밀려 있다. 

하지만 오해하지 말기를 바란다.

그 곳에 뜻이 있다고 생각하는 사람들은 
당당하게 그 앞을 향해 걸어가길 바란다.

내가 이 세상에서 가장 좋아하는 사람이 있다면
말을 타고 저 앞에 있는 기차를 향해 돌진하는  
동키호테와도 같은 사람들이다.

이 블로그의 인기 게시물

[ Web ] 웹 애플리케이션 아키텍처 (Web Application Architecture)

[ Web ] 서버 사이드(Sever Side) ? 클라이언트 사이드(Client Side)? 1 [서론, 클라이언트 사이드(Client Side)]

[ Web ] 웹 애플리케이션? 웹 사이트?(Web Application? Web Site?)