Pilots

Streamline your online collaborations
> About > Pilots

Pilots

본 페이지는 KAFE에서 개발 중이거나 파일럿 서비스 중인 소프트웨어에 대해서 소개합니다. 파일럿 서비스가 종료되어 프로덕션 상태로 전환된 서비스의 목록은 KAFE>Guides의 Federation Tools and Services에서 확인하실 수 있습니다.

MFA(Multi-factor authentication)

미국 국립표준기술연구소(NIST)는 아이디 방식이 갖는 보안문제를 해결하기 위해 MFA(다요소 인증)의 적극적인 이용을 권고하고 있습니다. 다요소 인증은 둘 이상의 서로다른 인증 수단을 이용해 사용자를 인증하는 방식으로써 아이디와 결합된 OTP(일회용 비밀번호)가 대표적인 MFA 입니다.

일반적으로 ID 연합에서 아이디제공자(학연기관)는 MFA의 실행주체입니다. KAFE는 국내 학연기관이 OTP 소프트웨어를 무료로 이용할 수 있도록 아이디제공자 소프트웨어에 관련 기능을 업데이트하고 있습니다. 해당 소프트웨어는 학연 분야의 국제 표준인 MFA Profile을 준수함으로써 국외 ID 연합과도 호환되게 개발되었습니다. KAFE 회원기관은 2023년부터 OTP와 MFA Profile이 적용된 아이디제공자 소프트웨어를 이용하실 수 있습니다.

아이디제공자가 OTP를 실행하지 않거나 서비스제공자가 OTP를 구현하지 않아도 다요소 인증이 가능해 집니다. KAFE의 허브형 사용자인증관리시스템인 trustHub에도 OTP/MFA 기능이 탑재되어 연계된 서비스제공자에게 다요소 인증을 통한 안전한 로그인환경을 제공하고 있습니다.

easyConnect

KAFE는 SAML 2.0 보안규약을 이용해 연합인증 기술을 적용하고 있습니다. 하지만 SAML 소프트웨어를 웹 응용서비스에 통합하고 관리하는 것은 쉽지 않은 일입니다. SAML 인증규약 자체가 어렵고 복잡한 측면도 있지만 국내 웹 개발자들이 SAML 보다는 OAuth 인증규약에 더 익숙하기 때문입니다.

easyConnect는 OIDC(OpenID Connect) 인증규약을 이용해 연합인증 기술을 쉽게 구현할 수 있도록 도와줍니다. OIDC는 OAuth 2.0을 기반으로 동작하기 때문에 국내 개발자들도 easyConnect를 이용해 연합인증 기능을 빠르게 구현할 수 있습니다. Java,Python, PHP, Ruby 등 대부분의 프로그래밍 언어에서 OIDC 라이브러리를 이용할 수 있습니다. 참고로 Google 로그인도 OIDC를 이용하고 있습니다.

이제 서비스제공자도 쉽고 빠르게 KAFE에 참여할 수 있습니다. easyConnect를 이용하십시오.

SAML4J (SAML for Java applications)

Shibboleth는 아파치 httpd 모듈입니다. 일반적으로 Shibboleth를 이용해 서비스제공자를 구축하곤 합니다. 톰캣 등 웹 응용 서버(Web Application Server)의 앞 단에 아파치 웹 서버(Web Server)를 구축하고 Shibboleth를 이용해 SAML 메시지를 처리케 하면 연합인증을 보다 쉽게 구현할 수 있습니다. SAML 메시지를 아파치 웹 서버에서 처리하기 때문에 웹 응용은 SAML의 처리에 대해서 고민하지 않아도 된다는 장점이 있습니다.

하지만 국내 (과학기술 응용) 웹 서비스환경에서는 Shibboleth를 이용하는 것이 쉽지 않습니다. 다수의 과학기술 응용서비스들이 아파치 웹 서버를 이용하지 않고 WebtoB 웹 서버를 운영하고 있기 때문입니다. 또한 톰캣 대신에 JEUS를 웹 응용 서버로 이용하고 있는 점도 Shibboleth의 활용을 어렵게 합니다. 결과적으로 해당 과학기술 응용서비스들은 Spring Security SAML Extension 패키지를 이용해야 연합인증의 기능을 구현할 수 있습니다.

Spring SAML을 이용했을 때, 연합인증 적용을 위한 환경설정 방법이 쉽지 않습니다. 또한 프로덕션 서비스 중인 기존 웹 응용에 Spring SAML을 연동하고자 할 경우에는 상호간에 인증 세션이 충돌날 가능성이 높다는 문제가 있습니다. 국내 개발자들이 SAML에 대해 잘 알지 못하거나 SAML을 이용한 시스템 통합의 경험도 많이 부족한 상황입니다. 세션 충돌을 해결하지 못한 사례도 여러차례 발생했습니다.

KAFE는 Spring SAML을 대체할 SAML 소프트웨어 패키지, saml4j를 개발하고 있습니다. saml4j를 통해 앞서 예시한 문제점들을 해결하고자 합니다. saml4j를 통해 보다 쉽게 SAML 서비스 환경을 설정할 수 있습니다. 인증세션의 관리를 전자정부프레임워크 또는 웹 응용에 위임함으로써 세션 충돌 문제를 최소화하였습니다.

KAFE에 참여하는 서비스제공자에 대해서 saml4j의 이용권한을 부여하고 있습니다. 권한이 있는 사용자는 KREONET git에서 saml4j를 다운로드 받을 수 있습니다.

Research Collaboration Zone

Social Login for last resort identity

사용자의 신원증명등급(Level of Assurance)이 중요하지 않은 웹 응용서비스들은 사용자에게 소셜 로그인을 허용하곤 합니다. 연합인증은 SAML을 보안메시지 규약으로 이용하지만 소셜 ID는 OAuth, OIDC, REST 등 SAML과 상이한 다른 메시지 규약을 이용합니다. 따라서 웹 응용서비스가 소셜 ID와 연합인증을 함께 지원하기 위해서는 별도의 사용자 인터페이스와 개별 규약을 구현해야 했습니다.

KAFE는 연합인증에서 사용자가 로그인하는 절차/방법과 동일하게 소셜 로그인이 가능하도록 Research Collaboration Zone을 개발했습니다. 서비스제공자가 소셜 로그인에 필요한 기능을 별도로 구현하지 않아도 소셜 로그인을 통해 웹 응용서비스를 이용할 수 있게 되었습니다. KAFE에 가입해 연합인증과 소셜 로그인을 함께 이용하십시오.

SAML-OIDC bridge

SAML 보안메시지 규약은 어렵고 복잡합니다. 서비스제공자가 자신의 웹 응용서비스에 SAML 기능을 추가하고 계정연합의 정책에서 따라 서비스환경을 설정해 가는 과정에는 많은 번거로운 작업이 따릅니다. 반면에 차세대 연합인증 규약으로 인정받고 있는 OIDC는 매우 간단한 구조를 가지고 있습니다. 수십라인의 코드만으로도 연합인증의 기능을 구현할 수 있습니다.

KAFE는 계정연합에 참여하는 서비스제공자가 보다 쉽게 연합인증 환경을 구현할 수 있도록 Research Collaboration Zone을 개발했습니다. 서비스제공자가 Research Collaboration Zone에 OIDC client를 등록하고 웹 응용에 OIDC 기능을 구현하면 SAML과 유사하게 연합인증의 기능을 이용할 수 있습니다. 이제 보다 쉬운 방법으로 연합인증을 이용하십시오.

Group, Role, and Attribute Management (GRAM)

식별정보제공자로 KAFE에 가입한 기관은 서비스제공자가 필요로 하는 필수속성만 제공합니다. 특정 웹 응용서비스에 종속된 속성정보는 부가속성제공자(Attribute Authority)를 통해 확보할 수 있습니다. 예를 들어, 소속기관이 다른 연구자들의 그룹정보는 식별정보제공자(식별정보제공자는 단일 기관의 사용자 정보만 관리)가 관리할 수 없기 때문에 부가속성제공자가 제공해야합니다. GRAM은 부가속성제공자입니다.

GRAM을 이용하는 서비스제공자는 사용자 그룹에 특화된 서비스 환경을 구성할 수 있습니다. 특정 그룹에 보다 많은 이용권한을 부여하거나, 그룹에 속한 사용자의 접속을 제한하거나, 특화된 서비스 화면을 해당 사용자들에게 보여줄 수 있습니다.

Manage your service by Yourself (MANY)

MANY는 Research Collaboration Zone의 관리서비스입니다. KAFE에 가입 중인 서비스제공자와 식별정보제공자는 SAML 메타데이터를 등록하거나 유효성을 스스로 검증할 수 있습니다. 또한 자신의 웹 응용서비스에 접근할 수 있는 식별정보제공자와 사용자 및 그룹을 제한할 수 있으며 소셜 로그인을 허용/제한하거나 OIDC client를 등록/삭제할 수 있습니다. 사용자가 Research Collaboration Zone을 통해 응용서비스에 로그인한 기록과 정보제공에 동의한 사실을 확인할 수 있습니다.

MANY를 통해 보다 안전하고 편리한 연합인증 환경을 구성하십시오.

SSH login with GRAM

ID/PW를 이용해 SSH에 로그인하는 방식은 보안상 안전하지 않을 수 있습니다. 패스워드 강도가 낮으면 무차별 대입공격(Brute force attack)이나 추측공격(Guess attack)에 대해 서버가 취약해집니다. 일반적으로 X.509 인증서나 SSH Keypair를 이용해 SSH 서버에 로그인하는 방법이 ID/PW 로그인 보다 안전한 방식으로 여겨집니다.

KAFE는 GRAM과 SSH Keypair를 이용해 SSH 서버에 보다 안전하게 로그인할 수 있는 기술을 개발하고 있습니다. 로그인 권한 강화, 키 길이와 키 유효기간의 관리, 패스워드 작성규칙의 강제 등을 통해 SSH 로그인의 보안 강도를 높일 예정입니다.

Contact

도움이 필요하시면 Q&A 게시판을 이용하거나 support@kafe.or.kr로 연락하십시오.
위로