[ 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) 세부 설명에 조금 차이가 있어 보이지만 전체적인 틀은 매우 비슷해 보인다.  몇 가지 포인트가 되는 단어를 추출해 이를 연결해보자면 아래와 같은 의미를 산출 할 수 있다. 독립적이지만 연관되어 있

[ Essay - Society ] 사회에 살아가기 위해서는 외국어는 꼭 배워야하는가( Is it necessary to learn a foreign language for live in society)


이 에세이는 나의 생각 카테고리 글 중에
<지금 시점에서 외국어를 배울 필요성이 있는가에 대해>의 연장선이다.


따라서 이런 주제를 사회로 좀 더 확장시켜서

<사회에 살아가기 위해서는 외국어는 꼭 배워야하는가>라는 주제로
에세이를 작성해보려 한다.

이에 아마 전에 쓴 부분과 중복되는 내용이 있을 것이다.

・사회와 외국어 그리고 머신러닝


최근에 알파고가 세상에 드러나면서 많은 변화가 있었다.

당시 일반 사람들에게는
AI가 세상을 정복하는게 아니냐는 식의 이야기가
뉴스에서 많이 떠돌았다.

뭐 실제로는 다르지만 말이다.

어쨋든 일반 사람들에게 까지
AI가 가능성이 있겠다는 인식을 심어주면서,
시장 개척의 가능성도 함께 드러났다.

그 이후 많은 기업들이 AI쪽으로 눈을 돌렸고,
실제로 이미 AI쪽에 올인을 건 기업도 많다.

그 만큼 미래의 산업은 AI가
중심이 될 것이라 기업들은 판단한 것 이다.

그리고 지금에서 실질적으로 느낄 수 있는
AI기술이 쓰이고 있는 곳은
마케팅과
이미지 인식 쪽인 컴퓨터 비전,
그리고 번역 기술인것 같다.

사실상 머신러닝은
지금 연구가 엄청 진행되고 있는 단계이기도 하고,
연구할 인원도 부족하며,
현실과 연결 시켜줄 엔지니어들도 사실 없다고 보면 된다.

하지만 이 머신러닝이 현실에 다양한 분야에
적용 될 정도의 기술로 발달 한다면,
아마 세상의 패러다임이 다시 한번 바뀔 것이다.

9년전 아이폰이 등장 한 것 처럼 말이다.

아이폰이 등장해 스마트 폰이라는
새로운 시장의 개척과
스마트폰에 관련된 다양한 시장이
개척되고 패러다임이 바뀌었다.

이에 대해 가장 득을 본 것은
아마 삼성전자와 구글일 것이다.

이와 같이 머신러닝 기술도 
새로운 시장이 개척되고 관련된
다양한 시장이 개척될 것 이다.

이 것이 우리의 가까운 미래이다.

내 생각에는 얼마 멀지 않은 것 같다.

・외국어 공부에 대한 필요성에 대해

그렇다면 과연
지금 시점에서 우리는 외국어 공부를 할 필요성에 있을까?

이 머신러닝이 도입되면서
가장 많은 발전을 이룬 것 중에 하나가
바로 번역이라 생각 한다.

내가 3년전쯤에 IOT에서
음성인식을 이용한 홈 시스템이라는
제목의 개인프로젝트를 했을 때 구글의 TTS를 사용했었는데,
인식률이 썩 좋진 않았다.

그 때 하면서 아마 한국어를
영어로 바꾸는 번역 텍스트쪽도 확인을 했었는데,

마찬가지로 번역이 그렇게 좋은 편이 아니였다.

어느 정도 이해 할 수는 있었지만,
전체적인 문맥을 이해할 수 는 없었다.

그래서 실제 영문을 봐 가면서 확인해야만 했다.

하지만,
최근에 코세라 강의를 이용하면서
구글 번역기를 다시 사용하게 됐는데,

놀랍게도 번역률이 뛰어났다.

대부분 본문을 보지 않아도,
단순에 문맥이 이해 될 정도 까지 발전되었다.

물론 중간중간 의역이 필요하지만,
이 정도면 사실상 뛰어나지 않나 싶다.

조금 시간이 걸리겠지만,
엄청 많이 걸리는 정도 까지는 아니다.

이 정도면 코세라의 대부분의 강의는
이런 방식으로 들어도 상관없을 정도 이다.

TTS는 트위치에서도 볼 수 있듯이
마치 진짜 사람이 말한 것 처럼 말 할 수도 있다.

이 정도 번역이 가능하다면
사실상 멀지 않은 미래에 번역가는 필요 없지도 모른다.

물론 통역사는 당연히 필요하다.

번역기에서 어떤 언어의 문화적 차이까지
잡아내기는 아마 쉽지 않을 것이다.

따라서 나라간의 통역이라던가
기업간의 회의 같은 중요한 자리에서는
당연히 통역사가 필요 할 것이다.

하지만 일반 사람들은 어떨까?

일반 사람들이 외국어가 필요할 때는 단지 여행을 할 때 뿐이다.

그렇다면 TTT(Text To Text)와
TTS(Text To Speech) 기술을 이용하면

여행은 충분이 가능할 것 이다.

이것은 전 세계 공통된 이야기이다.

이에 따라 언어의 문제가 어느정도 해결되니
여행을 갔을 때의 가장 불편한 점인
커뮤니케이션 문제가 해결 되었다.

현대인들은 여행할 때
스마트폰만 들고 있고,
데이터를 사용할 수 있는 조건을 가지고 있다면

더 이상 우스꽝스러운 몸짓과 손짓을 하지 않아도
먹을 곳, 잘 곳을 손쉽게 얻을 수 있다.

따라서 일반 사람들이
외국어를 배울 필요성은 사라졌다고 볼 수 있다.

사실 지금 당장이라도 이는 가능한 방법이다.

다만, 조금 불안성은 존재 하지만,
충분히 커뮤니케이션이 가능하다.

물론 외국에서 살고 싶은 사람에게는
해당되지 않는 이야기 일 수도 있다.

사용 할 수 있고,
충분히 커뮤니케이션은 가능 하겠지만

그 쪽 문화에 익숙해져야하는
외국인에게는 외국어를 직접 사용하면서
공부하는게 더 좋은 방법이다.

또한 사람과 사람 사이에 커뮤니케이션을 할 때,
여기에 기계가 들어간다는 것이
아직 사회에서 받아들여지지 않아
많은 사람들이 꺼려하는 것이 사실이다.

따라서 언제인지는 알 수 없으나
어쩌면 어떤 이유로 사람의 인식이 달라져

사람과 사람 사이의 커뮤니케이션에서 기계가 끼어드는 것에
거부감을 느끼지 않는다면,

아마 자연스럽게 우리는 실제로 목소리를 내지 않아도
커뮤니케이션을 할 수 있는 시대가 올 수 있을지도 모른다.

그렇게 된다면
현대인들은 인간들의 목소리 까지
기계에게 빼앗겨야한다는 사실에

통탄하고 비탄한 감정을 감추기는 쉽지 않겠지만,
언제나 늘 그랫듯이
훌륭하게 사회에 받아 들여질 것이다.

결론적으로 지금 시점에서

여행 목적으로
외국어를 공부할 필요성에 대해서는
사실상 지금의 기술로도 충분히 가능하기 때문에
외국어 공부는 할 필요가 없어 보인다.

문서의 경우에는
아직 까지는 조금 어색하다고는 할 수 있지만

3년내에 이 정도의 놀라운 발전을 본 바로는
멀지 않은 미래에
문서의 경우에 쉽게 문맥을 이해할 정도로
발전하지 않을 까하는 생각이 든다.

물론 언어의 문화적 부분까지 캐치해야 하는
나라간 나라 라던가,

기업과 기업에서의
중요한 회의의 자리에서는 통역이 당연히 필요하다.

현재로서는
변역기에서 이 문화적 부분까지
잡기에는 쉽지 않아 보이기 때문이다.

물론 번역기에서 이런 관습, 예의 등에서 나타나는 문화까지
번역기에서 잡아낼 수 있다면,

일반인들이 외국어를 배워야할 필요성을
전혀 느끼지 못할 것이고

과거 선조들이 살아왔던 세계와 마찬가지로
과거의 직업들이 자연스럽게 사라짐에따라

어쩌면
통역사라는 직업도 사라질지도 모른다.

하지만 현재로서는 번역기에서
그런것 까지 모두 잡아낸다는 것이 쉽지 않기 때문에

또한 모두 잡아낸다고 하더라도
아직 우리들에게 기계가 우리들의 목소리를 대신한다는
사실이 그것이 유용성이 높다고 한들
아직 꺼려지는 것이 사실이기 때문에

적어도 예전과 같이 외국어를 배워야 한다는 부담감이
많이 줄어 들지 않았나 싶다.

・현대인들에게 꼭 배워야하는 

'영어'라는 외국어에 대해


이상하게도
서양 국가보다 동양 국가에서 외국어 중에서
특히 '영어'에 대해 높은 평가를 하고 있다는 것을
이방인으로서 살아가면서 몸소 느꼈다.

왜냐하면,
내가 영어를 어느 정도 읽을 수 있으며,
조금 할 줄 안다는 사실이
그들에게서 호응을 이끌 정도 였기 때문이다.

만약 그들이 내가 만약
러시아어나 스페인어와 같은 것을 조금 할줄 안다고
말한다고 한들
그들은 영어와 같은 호응을 이끌어 낼 수 있을까?

나는 이끌어 낼 수 없다고 생각한다.

왜냐하면,
영어를 제외한 외국어에서는
어떠한 유용성을 느낄 수 없기 때문이다.

영어를 알고 있다면,
세계 어느 나라에서도 의사소통을 할 수 있으며,
인터넷에서 수 많은 자료들,
그리고 가장 연봉을 많이 받을 수 있는
미국에서 일도 할 수 있다는 점 등등

동양 국가에서는 '영어'를 사용할 수 있다는 점은
엄청난 유용성을 가진다고 생각되어 진다.

중국어를 배운다면, 중국에서
스페인어를 배운다면, 스페인에서 밖에 사용할 수 없으며
사용할 수 있다고 한들
'영어'가 가지는 유용성 보다는 크지 않다.

이런 '영어'가 가지는 이러한 유용성을 가질것에 대해서는
그 누구도 의문을 가지지 않으며,
나 또한 의문을 가지지 않는다.

그리고 이런 동양 국가들 중에서
아마 가장 관심이 높은 것은
나의 모국인 '한국'이리라 생각 된다.

그리고 나는 그런 나라에서
그런 교육을 받고 자라왔다.

그런 과정을 거쳐 지금의 내가 있다.

하지만,
엄청난 유용성을 가진다고 생각된다고 한들,
그것이 정말로 유용성을 가지고 있는 것은 아니다.

필요성과 유용성은 같은 개념이 아니다.

필요성을 가진다고 하더라도
그것이 유용성을 가진다고 볼 수 없다.

왜냐하면,
영어에 대해 배울 필요성이 있다고는 하지만

실제로 동양 국가들은
대개 자국의 언어를 가지고 있으며,
이를 국가의 언어로써 차용하고 있다.

이에 따라 국내에서는 대부분의 커뮤니케이션은
자국의 언어로 이용한다.

또한 대부분의 사람들은
평생 그 국가에서 떠나지 않고 머무르며,
국외에서 나가는 것은 대부분 여행 뿐이다.

국내에서 사는 사람과 비교하면
국외에서 사는 사람은 매우 드물다.

당연한 사실이다.

이러한 사실로서
영어에 대한 기대되는 유용성을 근거로
그에 대한 필요성이 언급될 수는 있지만,
그것이 정말로 유용하다고 볼 수 는 없다.

기대되는 것이 정말로 현실로 다가왔다면,
우리는 꿈을 위해, 이상을 위해 노력할 필요가 없다.

기대만 한다면,
모두 이루어질 것인데,
왜 굳이 노력할 필요가 있는가?

그럼에도 불구하고,

영어에 대한 필요성은 입이 부르틀 정도로
사회에서 강조하고
이를 공교육에 넣을 정도로 필요성을 강조하고,
교육자로부터 압박을 가하고 있다.

하지만
실제 국내에서는 굳이
영어로 업무를 할 이유가 없다.

외국 업무처와 커뮤니케이션을 해야할 필요가 있다면
외국어만 담당자만 몇 명 따로 두면 된다.

이러한 사실에 따라
사회 구성원 전원이 사회에 살아가기 위해서
외국어에 대한 유용성이 전혀 없다는 사실을 알 수 있다.

하지만,
영어에 대한 필요성에 대해서는 강조하지만,

사회안에서의 영어에 대한 유용성에 대해서는
아무런 논의도 하지 않는다.

그렇기에 정말로 영어가
그러한 유용성을 가지고 있느지에 대한
유용성에 대한 철학적 논의가 필요하다.

하지만,
누군가가 나에게
그런 논의를 한 적이 있는가?라고 묻는다면,
나는 쉽게 대답하기 힘들다.

왜냐하면,
나는 그러한 논의를 한다는 것을 본적이 없으며,

내가 어린시절에는 영어를 배운다는 것은
관습적으로 받아들여진 것이였기 때문이다.

나의 과거를 떠올려보면,

왜 영어를 배워야하는지에 대한
철학적인 논의없이
단순히 영어를 배웠어야 했던 시간들은

나에게 무척이나 괴로웠던 시간들이였으며,
결과적으로
나에게 큰 이점을 가져다 주지는 않았다.

물론 그러한 시간들 덕분에
어느 정도 영어를 읽을 수 있게 되었다는 사실에는
부정할 수 는 없지만,

거기에 투자한 시간에 비하면
그것이 큰 이점을 가져왔다고 생각하기는 힘들며,

그런 관점에서 저울질을 해보면
오히려 시간 낭비였다.

이는 나와 비슷한 교육을 받고 자라온 세대들이
충분히 공감하는 것이기도 하다.

공감은 하지만,
자신들이 스스로 어른이라
자칭하고 다니는 '어른'들에 의해

입이 봉쇄되어지는 그런 논제이기 때문에
언급해봤자 힘을 받을 수 없는 논제이기도 하다.

또한 내가 이방인으로서 살아가면서
다른 언어들을 배우면서 느껴왔던 것은

그 언어를 꼭 배워야만 하겠다면,
정말 기초적인 것만 배우고
그 나라에서 살아가면서 터득하는 것이
효율적이라는 것이다.

물론 기초적인 것만 배우고 가면
처음에는 힘들지는 모르겠으나

그 나라에 살아가면서
빠르게 언어가 향상되는 모습을 보여주면
회사에서도,
그 나라의 사회에서도 좋게 평가 받을 수 있으며,

또한 모국에서 1년 외국어를 공부하는 것 보다
그 외국어를 본국에서 사용하면서 1개월
공부하는 것이 훨씬 효율적이다.

나는 이방인으로 살아가면서
이러한 이점들을 맛 보았다.

그리고 어떤 사람들은
'그런 외국어를 
또는 기술을 과거에 배웠다면
외국어를
또는 기술을 배우는데 힘들지 않았을 탠데'

라고 흔히들 말하지만,

어처피 인생은 배움의 연속이고,
사회의 큰 파도에서 살아남으려면
무엇보다 유연해야되는데

저런 말을 하는 사람들은 대개
인생의 배움의 시기는 학생 시절이 끝이라 생각하며,

유연하지 못해
사회의 큰 파도에 휩쓸려가는 자들이 하는
변명에 불과하다.

그리고 기술이 발전이 빠르고,
패러다임의 변화가 빠른
IT업계에서 나는 저런 사람들을 수 없이 봤다.

그들의 변명은 조금씩 달랐지만
대개 위와 같은 변명이였다.

과연 그들이 변명하며 이야기하는 것 처럼
정말 자신이 외국어를 과거에 배웠으면,
그 기술을 과거에 배웠다면,
정말로 그의 삶이 나아졌을까?

그의 미래인 지금도
이런 배움을 원하지 않는데도 불구하고

정말로 과거로 가서
그런 기회가 주어진다고 했다면
그는 과연 배움을 원했을까?

그들이 과거로 가서 그런 외국어
그런 기술을 배웠다 할지라도,
또 한번 사회의 패러다임이 바뀌면
똑같은 말을 앵무새 처럼 반복할 것이다.

그들은 단지
자신의 탓으로 그러한 결과가 나온것에 대해
못 마땅 한것 뿐이며,
이러한 사실을 인정하고 싶지 않고 싶을 뿐이다.

인정하고 싶지 않기에
그들의 자아를 만족시킬 수 있는 행위는
사회에 불만을 표출하는 것 밖에 없다.

정말 비열한 행위라고 말할 수 밖에 없다.

한국에는 이런 뉘앙스에 말이 있지 않은가?

'과거는 현재를 비추는 거울이다'

이런 말에 따르면,

그가 그렇게 된 원인은
그의 과거는 배움을 원하지 않았기 때문에

그의 미래 또한
배움을 원하지 않아
사회의 거대한 파도에 휩쓸린 것 뿐이다.

전 세계에 있는 것들을
모두 배울 수는 없기에

외국어든 뭐든 공부라는 것은
그리고 배운다는 것은 관련 지식을
'최소한'만 배운 다음

살아가면서 자신에게 필요한 공부를
끊임없이 하는 수 밖에 없다.

이에 여전히 이러한 교육을 받고 자라가고 있는
나의 다음 세대들도 나이를 먹어감에 따라
나와 같은 의문이 들 것이다.

하지만,
영어라는 외국어를 배우는 것은
관습으로 자리 잡혀 있기 때문에

내가 이런 의문은 한다는 것은
어떤 사람들에게는
매우 불편할 것이라 생각할지는 모른다.

하지만 어쩌겠는가
실제로 그러한 교육을 받고 자라온 나를 포함한
나의 세대들의
대부분은 그러한 느낌을 받고 있다는 것은 사실이다.

하지만 이런 말을 할 수 없는 이유는
자칭 '어른'들에 의해

저 높이 있는 관악산에 사는
인간을 초월한 '도인'들을 보라며,

'너희들이 좀 더 노력(시험 공부)하지 않았기 때문에
그렇게 느끼는 것 뿐이다'라며,

나이 부터 시작해 사회적 지위 까지
온갖 권위를 다 내세우며
입을 막으려 할 것임은 틀림 없기 때문이다.

물론 이러한 이야기는 영어에 한정된 이야기는 아니다.

독일어, 일본어, 중국어 등
수 많은 사람들이
이런 외국어를 배워야 할 필요성에 대해서는
입이 부르틀 정도로 강조를 하지만,

이러한 이야기를 하는 사람들은 대개
외국어를 공부하지도,
외국어를 어느 정도 유창하게 할 수 있지도 않으며,
그런 외국에서 살아본 경험을 한 사람은 드물다.

또한 그런 외국어에 대한 유용성에 대해
사회에서 정말로 유용할 것인지 아닐것인지에 대한
철학적 논의하지는 않는다.

이런 충분한 철학적 논의가 없으니

그들의 설득 방법은
자신들의 아랫세대에게
논리적으로 설득하기 보다는

자신의 나이나,
사회적 지휘를 들먹이며 협박하는 방식이
좋은 방법이라고는 할 수 없으나,
어쩌면 가장 자연스러운 방법 일지도 모르겠다.

그들에게는
그러한 방법이 정당하다고 생각하기 때문에

그런 나이와 사회적 권위 앞에서
그 다음 세대는 굴복할 수 없을 것이다.

왜냐하면 사회에서는 '법보다 주먹이 가깝다'는
무적의 논리 하에서 그 누구도 벗어날 수 없으며

이런 주먹으로 나타나는 철퇴는
물리적으로, 정신적으로 나타나기 때문에
'인간'에게 있어서는 매우 두려운 것임에는 틀림 없다.

・결론

지금 까지 사회에서 살아가기 위해 외국어는 꼭 배워야하는가
를 주제로 논의를 해보았다.

그렇다면 이렇게 다시 한번 물을 수 있을 것이다.

사회를 살아가는 우리에게 외국어
그리고 '영어'는 꼭 배워야 하는가?

그에 대한 나의 대답은
그리고 나의 결론은
<좀 더 나은 자신의 인생을 위해
다른 것들에 시간을 투자하는 것이 옳다>라는 것 이다.

번역 기술이 발달하고 있고,
그리고 외국어의 유용성에 대한 논의가 충분치 않은 이상

그것이 영어라 할지라도
필요성과 유용성은 다른 이야기이기 때문에
딱히 외국어를 배울 필요성은 없어 보인다.

왜냐하면,
위에서도 언급했듯이

인생은 배움의 연속이며,
사회의 거대한 파도라는 패러다임의 변화에 따라
우리는 유연함을 가져야 하며,

거대한 파도에 올라타기 위해
끊임없이 공부해야 하기 때문이다.

파도에 올라타기 위한 조건이
언어이든 기술이던 무엇이던간에
사회에서 살아가기 위해서는
파도에 올라탈 수 있는 그러한 조건을 만족시켜야만 한다.

물론 내가 여기서 말하는 공부는
단순히 시험 공부를 말하는 것이 아니다.

여기서 말하는 공부는
동양에서 말하는 '깨달음'을 얻는 행위와 유사하며,
서양에서 말하는 '직감(intuition)'을 얻는 행위와 유사하다.

이 세계의 수 많은 자칭 '어른'들은
이런 공부를 등한시 하면서,
자신들의 다음 세대의 아이들에게는
많은 것을 요구하며 원한다.

그들은 알파벳 조차 영어 조차 제대로 배운적 없지만,
그 다음 세대 에게는 비지니스 레벨의 '영어'를 요구한다.

아이러니 하지 않은가?

그렇다고 해도
진짜로 비지니스 '영어'를 사용하는
직무는 정말 소수의 불과하다.

이러한 사실을
내가 나이를 들어가면서,
그리고 이방인으로서 살아가면서
느끼고 있기 때문에

어쩌면
대부분의 일반 사람들은 외국어를 배울 시간을 줄이고,
그 시간에 다른 것을 하는게 좋지 않나 싶다.

우리가 사용할 수 있는 시간은 유한하고,
소중하기 때문이다.

---------------------------------------------------------------------------------------------------

2020.04.06 초안 작성 완료 및 개행 완료

이 블로그의 인기 게시물

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

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

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