<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Mimul&#039;s Developer World - Digital Identity category</title>
  <link>http://www.mimul.com:80/pebble/default/categories/DigitalIdentity/</link>
  <description>미물의 개발 세상</description>
  <language>ko</language>
  <copyright>미물</copyright>
  <lastBuildDate>Fri, 10 Oct 2008 13:14:00 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  <image>
    <url>http://www.mimul.com/pebble/default/images/hhj.jpg</url>
    <title>Mimul&#039;s Developer World (Digital Identity category)</title>
    <link>http://www.mimul.com:80/pebble/default/</link>
  </image>
  
  
  <item>
    <title>Awt와 Servlet으로 Captcha 기능 구현</title>
    <link>http://www.mimul.com:80/pebble/default/2008/04/20/1208687407031.html</link>
    
      
        <description>
          구현 아이디어는 Awt를 가지고 Captcha에 해당하는 숫자나 문자를 표현하고 값의 비교는 세션이나 쿠키를 통해 비교해는 기능을 구현해 보았습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt; 1. HttpServlet을 상속받아 CaptchaImageServlet 구현&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;pre&gt;package com.mimul.web;&lt;br /&gt;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.Font;&lt;br /&gt;import java.awt.Graphics2D;&lt;br /&gt;import java.awt.Rectangle;&lt;br /&gt;import java.awt.image.BufferedImage;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;import javax.servlet.http.HttpSession;&lt;br /&gt;&lt;br /&gt;import org.apache.commons.lang.RandomStringUtils;&lt;br /&gt;import org.apache.commons.logging.Log;&lt;br /&gt;import org.apache.commons.logging.LogFactory;&lt;br /&gt;&lt;br /&gt;import com.sun.image.codec.jpeg.JPEGCodec;&lt;br /&gt;import com.sun.image.codec.jpeg.JPEGImageEncoder;&lt;br /&gt;&lt;br /&gt;public class CaptchaImageServlet extends HttpServlet {&lt;br /&gt;	 private static final long serialVersionUID = &lt;br /&gt;	     -5392776069139170498L;&lt;br /&gt;    private static final String CONTENT_TYPE = &amp;quot;image/jpeg&amp;quot;;&lt;br /&gt;    private static final Log log = &lt;br /&gt;         LogFactory.getLog(CaptchaImageServlet.class);&lt;br /&gt;    &lt;br /&gt;    protected void doGet(HttpServletRequest request, &lt;br /&gt;       HttpServletResponse response) throws ServletException, &lt;br /&gt;         IOException {&lt;br /&gt;        response.setContentType(CONTENT_TYPE);&lt;br /&gt;        response.setHeader(&amp;quot;Pragma&amp;quot;, &amp;quot;No-cache&amp;quot;);&lt;br /&gt;        response.setHeader(&amp;quot;Cache-Control&amp;quot;, &amp;quot;no-cache&amp;quot;);&lt;br /&gt;        response.setDateHeader(&amp;quot;Expires&amp;quot;, 0);&lt;br /&gt;        &lt;br /&gt;        String captchCode = &lt;br /&gt;           RandomStringUtils.randomAlphanumeric(4);&lt;br /&gt;        captchCode = captchCode.toLowerCase();&lt;br /&gt;        &lt;br /&gt;        BufferedImage image = new BufferedImage(80, 30, &lt;br /&gt;            BufferedImage.TYPE_INT_RGB);&lt;br /&gt;        Graphics2D grap2D = image.createGraphics();&lt;br /&gt;        Font font = new Font(&amp;quot;Bookman Old Style&amp;quot;, Font.BOLD, 25);&lt;br /&gt;        grap2D.setFont(font);&lt;br /&gt;        grap2D.setColor(Color.white);&lt;br /&gt;        grap2D.fill(new Rectangle(image.getWidth(), &lt;br /&gt;          image.getHeight()));&lt;br /&gt;        grap2D.setColor(Color.BLUE);&lt;br /&gt;&lt;br /&gt;        for (int i = 0; i &amp;lt; ((int) (Math.random() * 60) + 20); ++i) {&lt;br /&gt;            grap2D.fill(new Rectangle((int) (Math.random() * &lt;br /&gt;                    image.getWidth()),&lt;br /&gt;                    (int) (Math.random() * image.getHeight()), 1, 1));&lt;br /&gt;        }&lt;br /&gt;        grap2D.setPaint(Color.black);&lt;br /&gt;        grap2D.drawString(captchCode, 3, 23);&lt;br /&gt;        grap2D.dispose();&lt;br /&gt;        &lt;br /&gt;        HttpSession session = request.getSession();&lt;br /&gt;        session.setAttribute(&amp;quot;captchacode&amp;quot;,captchCode);&lt;br /&gt;        try {&lt;br /&gt;            JPEGImageEncoder encoder = &lt;br /&gt;               JPEGCodec.createJPEGEncoder(&lt;br /&gt;               response.getOutputStream());&lt;br /&gt;            encoder.encode(image);&lt;br /&gt;        } catch (Exception ex) {&lt;br /&gt;            log.info(ex);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt; 2. web.xml 추가&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;pre&gt; &lt;br /&gt;&amp;lt;servlet&amp;gt;&lt;br /&gt;	&amp;lt;description&amp;gt;Captcha Image Servlet Servlet&amp;lt;/description&amp;gt;&lt;br /&gt;	&amp;lt;display-name&amp;gt;CaptchaImage servlet&amp;lt;/display-name&amp;gt;&lt;br /&gt;	&amp;lt;servlet-name&amp;gt;CaptchaImageServlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;	&amp;lt;servlet-class&amp;gt;com.mimul.web.CaptchaImageServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;&amp;lt;/servlet&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;	&amp;lt;servlet-name&amp;gt;CaptchaImageServlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;	&amp;lt;url-pattern&amp;gt;/captchacode&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt; 3. Client에서 사용 방법 &lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;3.1 jsp 코드&lt;/u&gt;&lt;/strong&gt;
&lt;pre&gt;&amp;lt;input id=&amp;quot;code&amp;quot; name=&amp;quot;code&amp;quot; type=&amp;quot;text&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;img src=&amp;quot;&amp;lt;@http.basePath/&amp;gt;captchacode&amp;quot; alt=&amp;quot;Captcha Code&amp;quot; &lt;br /&gt;  onclick=&amp;quot;this.src=&#039;&amp;lt;@http.basePath/&amp;gt;captchacode?now=&#039; &lt;br /&gt;  + new Date().getTime()&amp;quot; /&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;u&gt;&lt;strong&gt; 3.2 Servlet 코드&lt;/strong&gt;&lt;/u&gt;
&lt;pre&gt;String code = request.getParameter(&amp;quot;code&amp;quot;);&lt;br /&gt;String sessionCode = &lt;br /&gt; (String)request.getSession().getAttribute(&amp;quot;captchacode&amp;quot;);&lt;br /&gt;&lt;br /&gt;if(StringUtils.isBlank(code)){&lt;br /&gt;	errors.add(getText(&amp;quot;errors.required&amp;quot;, &lt;br /&gt;	  new Object[]{getText(&amp;quot;comment.code&amp;quot;)}));&lt;br /&gt;}else{&lt;br /&gt;	if(!code.equals(sessionCode)) {&lt;br /&gt;		errors.add(getText(&amp;quot;errors.codeerror&amp;quot;));&lt;br /&gt;	}&lt;br /&gt;	mv.addObject(&amp;quot;code&amp;quot;, code);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;
        </description>
      
      
    
    
    
    <category>Digital Identity</category>
    
    <comments>http://www.mimul.com:80/pebble/default/2008/04/20/1208687407031.html#comments</comments>
    <guid isPermaLink="true">http://www.mimul.com:80/pebble/default/2008/04/20/1208687407031.html</guid>
    <pubDate>Sun, 20 Apr 2008 10:30:07 GMT</pubDate>
  </item>
  
  <item>
    <title>패스워드 생성기</title>
    <link>http://www.mimul.com:80/pebble/default/2008/04/14/1208099640000.html</link>
    
      
        <description>
          패스워드의 길이와 심벌(문자종류)을 체크기능 선택을 통해 강한 패스워드를 생성해주는 툴들입니다. 강한 패스워드를 원하시면 아래의 사이트로 방문하여 강한 패스워드 만드는데 도움이 되세요.&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href=&#034;http://www.mytsoftware.com/dailyproject/PassGen/PassGen.html&#034;&gt;PassGen&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;http://codedumper.com/password-generator-js&#034;&gt;password-generator&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;http://strongpasswordgenerator.com/&#034;&gt;Strongpasswordgenerator&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;http://supergenpass.com/genpass/&#034;&gt;GenPass&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;http://www.javascriptkit.com/epassword/index.htm&#034;&gt;Epassword&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;http://www.scriptfx.com/generators/password/password_generator.htm&#034;&gt;scriptFx&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#034;http://mistupid.com/computers/passwordgen.htm&#034;&gt;Password Generator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
    
    
    <category>Digital Identity</category>
    
    <comments>http://www.mimul.com:80/pebble/default/2008/04/14/1208099640000.html#comments</comments>
    <guid isPermaLink="true">http://www.mimul.com:80/pebble/default/2008/04/14/1208099640000.html</guid>
    <pubDate>Sun, 13 Apr 2008 15:14:00 GMT</pubDate>
  </item>
  
  <item>
    <title>패스워드 강도 체크하는 오픈 소스</title>
    <link>http://www.mimul.com:80/pebble/default/2008/03/29/1206784440000.html</link>
    
      
        <description>
          보안에 대한 인식이 강화되고 있는 상황에서 패스워드에 대한 강도를 알려주는 오픈 소스가 있어 소개해 드립니다. 가입이나 패스워드 변경 시 적용하여 고객으로 하여금 예측이 불가능한 패스워드를 기입하도록 유도하는데 효과가 있을것으로 보입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;1. &lt;a href=&#034;http://justwild.us/examples/password/&#034;&gt;Javascript/Java PasswordCheck Meter&lt;/a&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
문자열(대/소문자), 숫자, 특수문자를 가지고 패스워드 강도를 측정했습니다. Javascript외에 Java 소스도 제공하고 있습니다.&lt;br /&gt;
&lt;img alt=&#034;&#034; src=&#034;http://mimul.com/pebble/default/images/blog/security/paswd.png&#034; /&gt;&lt;br /&gt;
&lt;u&gt;데모 사이트 : http://www.mimul.com/examples/password/passwdmeter.html&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;2. &lt;a href=&#034;http://www.codeandcoffee.com/2007/07/16/how-to-make-a-password-strength-meter-like-google-v20/&#034;&gt;Password Strength Meter like Google&lt;/a&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
1번 예와 비슷하고 Javascript를 활용하여 패스워드의 강도를 측정하게 해줍니다. 그리고 측정 기준은 아래와 같습니다.&lt;br /&gt;
&lt;img src=&#034;http://mimul.com/pebble/default/images/blog/security/paswd1.png&#034; alt=&#034;&#034; /&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;패스워드 길이 : 5 Points: Less than 4 characters, 10 Points: 5 to 7 characters, 25 Points: 8 or more&lt;/li&gt;
    &lt;li&gt;문자열 : 0 Points: No letters, 10 Points: Letters are all lower case, 20 Points: Letters are upper case and lower case&lt;/li&gt;
    &lt;li&gt;숫자 : 0 Points: No numbers, 10 Points: 1 number, 20 Points: 3 or more numbers&lt;/li&gt;
    &lt;li&gt;특수문자 : 0 Points: No characters, 10 Points: 1 character, 25 Points: More than 1 character&lt;/li&gt;
    &lt;li&gt;조합 : 2 Points: Letters and numbers, 3 Points: Letters, numbers, and characters, 5 Points: Mixed case letters, numbers, and characters&lt;/li&gt;
    &lt;li&gt;결과 값 : &amp;gt;= 90: Very Secure, &amp;gt;= 80: Secure, &amp;gt;= 70: Very Strong, &amp;gt;= 60: Strong, &amp;gt;= 50: Average, &amp;gt;= 25: Weak, &amp;gt;= 0: Very Weak&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;데모 사이트 :&amp;nbsp; http://www.mimul.com/examples/password/demo.html&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;3.&amp;nbsp; &lt;a href=&#034;http://testcases.pagebakers.com/PasswordMeter/&#034;&gt;Password Meter&lt;/a&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
EXT JavaScript library기반으로 패스워드의 강도를 체크하는 오픈 소스입니다. 대/소문자 및 숫자, 심벌등을 조합하여 강도를 체크하는 기준으로 삼았습니다.&lt;br /&gt;
&lt;img src=&#034;http://mimul.com/pebble/default/images/blog/security/paswd2.png&#034; alt=&#034;&#034; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;데모 사이트 : http://www.mimul.com/examples/password/passwd2.html&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt; 4. &lt;a href=&#034;http://www.passwordmeter.com/&#034;&gt;Password Strength Meter&lt;/a&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
자체 Javascript로 만든 패스워드 강도 체크 라이브러리입니다. 패스워드 강도 결과치 측정 기준은 아래 데모 사이트에 가면 상세히 알 수 있습니다.&lt;br /&gt;
&lt;img src=&#034;http://mimul.com/pebble/default/images/blog/security/paswd3.png&#034; alt=&#034;&#034; /&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;
데모 사이트 : http://www.mimul.com/examples/password/pwd_meter/&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt; 5. &lt;a href=&#034;http://ajaxorized.com/?p=14&#034;&gt;Prototype/Scriptaculous Password Strength Meter&lt;/a&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Prototype/Scriptaculous를 활용한 패스워드 강도 체크.&lt;br /&gt;
&lt;img src=&#034;http://mimul.com/pebble/default/images/blog/security/paswd4.png&#034; alt=&#034;&#034; /&gt;&lt;br /&gt;
&lt;u&gt;데모 사이트 : http://www.mimul.com/examples/password/prototype_scriptaculous.html&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt; 6. &lt;a href=&#034;http://simplythebest.net/scripts/ajax/ajax_password_strength.html&#034;&gt;JQuery Password Strength Meter&lt;/a&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Jquery를 활용한 패스워드 강도 체크.&lt;br /&gt;
&lt;img alt=&#034;&#034; src=&#034;http://mimul.com/pebble/default/images/blog/security/paswd5.png&#034; /&gt;&lt;br /&gt;
&lt;u&gt; 데모 사이트 : http://mimul.com/examples/password/jquery/jquerypwdcheck.html&lt;br /&gt;
&lt;br /&gt;
[참고 사이트]&lt;br /&gt;
&lt;/u&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;u&gt;http://justwild.us/examples/password/&lt;/u&gt;&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;http://www.codeandcoffee.com/2007/07/16/how-to-make-a-password-strength-meter-like-google-v20/&lt;/u&gt;&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;http://testcases.pagebakers.com/PasswordMeter/&lt;/u&gt;&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;http://www.passwordmeter.com/&lt;/u&gt;&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;http://ajaxorized.com/?p=14&lt;/u&gt;&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;http://simplythebest.net/scripts/ajax/ajax_password_strength.html&lt;/u&gt;&lt;/li&gt;
    &lt;li&gt;&lt;u&gt;http://phiras.wordpress.com/2007/04/08/password-strength-meter-a-jquery-plugin/&lt;br /&gt;
    &lt;/u&gt;&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
    
    
    <category>Digital Identity</category>
    
    <comments>http://www.mimul.com:80/pebble/default/2008/03/29/1206784440000.html#comments</comments>
    <guid isPermaLink="true">http://www.mimul.com:80/pebble/default/2008/03/29/1206784440000.html</guid>
    <pubDate>Sat, 29 Mar 2008 09:54:00 GMT</pubDate>
  </item>
  
  <item>
    <title>Identity Management 시스템을 구축하기 위해 필요한 이슈 정리</title>
    <link>http://www.mimul.com:80/pebble/default/2008/01/18/1200667920000.html</link>
    
      
        <description>
          Identity Management 시스템을 구축하기 위해서 준비되어야할 정책에 관련된 전반적인 내용들을 카테고리화 했습니다. Identity 관련하여 기획하시는 분들에게 정책 결정에 도움이 될 거 같아서 공유합니다. 관련 정책 이슈 내용은 OpenID와 ID Federation을 같이 고민해 보았습니다.&lt;br /&gt;
부족한 부분이나 수정되어야 할 부분이 있으면 댓글 부탁드립니다. 좀더 정리가 필요해 보입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;strong&gt;1. Access Control Policy &lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;정의 : 인증 리소스의 접근 제어를 관리하고 가이드함&lt;/li&gt;
    &lt;li&gt;User : 자신의 identity를 입증할 경우 자신의 리소스 접근을 허용함&lt;/li&gt;
    &lt;li&gt;Owner : 전체 User를 관리하는 사용자, 모든 User의 리소스 접근을 허용하나 접근 로그로 추적이 가능하여야 함&lt;/li&gt;
    &lt;li&gt;접근 감시 : 누가 어떤 정보에 접근했는지 관리가 되어야 하고 6개월 이상 보관되어야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;strong&gt; 2. Authentication Policy&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;정의 : 인증에 관한 절차, 방식, 레벨, 감시 등의 정보를 가이드함&lt;/li&gt;
    &lt;li&gt;UserID : Unique한 정보이고 Naming and Certificates 정책에 의해 생성됨&lt;/li&gt;
    &lt;li&gt;인증 방식&lt;br /&gt;
    . 인증 타입 : OpenID 수용 여부, ID Federation(타 도메인 등등) 수용     &amp;nbsp;&amp;nbsp; &lt;br /&gt;
    . 인증 방식 : 쿠키를 통한 SSO를 처리하고 서비스에서 도메인 쿠키 셋팅함, 타도메인일 경우 쿠키 정보와 세션 정보를 디비에서 관리하여 진입 Consumer 사이트에서 사용자가 아이디 입력 후 IDP로 아이디 정보 제공하여 SSO 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;인증 레벨 &amp;nbsp;&amp;nbsp; &lt;br /&gt;
    . Casual : 패스워드 없이 단순한 토근 정보를 쿠키 설정으로 인증 처리&lt;br /&gt;
    . Standard : ID와 PASSWORD의 조합&lt;br /&gt;
    . Secure : ID와 PASSWORD의 조합에 부가적으로 Security Token 공유&lt;br /&gt;
    . Critical : ID와 PASSWORD의 조합에 부가적으로 분산된 Two Factor Authentication(OTP, BIO 등) 수&lt;/li&gt;
    &lt;li&gt;인증 API : 인증 정보는 데이터 베이스에서 저장하고 웹 방식과 AUTH API(TCP/IP, SOAP, REST 방식 등)를 정의함 &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;인증 감시&lt;br /&gt;
    . 인증 시도 User의 필수 정보는 로그나 DB로 관리(6개월 이상)하여 악용사례를 예방할 수 있어야 함&lt;br /&gt;
    . DDos 공격, 악의적 인증 정보 추측 등을 예방할 수 있어야 함&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;strong&gt;&amp;nbsp;3. Data Confidentiality Agreement&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;직원, 개발/운영자, 제휴사, Third party 관련자들에게 고객 데이터의 신뢰 확보를 위한 수단을 강구하여야 함(약관 및 책임 이행 서약서 등)&lt;/li&gt;
    &lt;li&gt;고객 데이터 제공시 필요한 프로세스 &lt;br /&gt;
    . 암호화 : 동기 방식의 암호화 알고리즘 사용&lt;br /&gt;
    . 폐기 기한 : 제휴 서비스 종료시에 자동 폐기 &lt;br /&gt;
    . 접근 레벨 : 접근 권한 관리&lt;br /&gt;
    . 제휴 서비스간의 개인 정보 연동 및 권한 : 개인정보 공유 항목 정의 및 권한/개인 정보 동기화&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;가입 정보는 최소화할하여 진입 장벽을 없앨 것&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;strong&gt;4. Encrypt Policy&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;공인된 암호화 알고리즘(동기/비동기 포함)을 사용하고 가이드를 배포함&lt;/li&gt;
    &lt;li&gt;고객 일부 정보는 암호화함(패스워드, 주민번호, 신용카드/계좌 번호 등)&lt;/li&gt;
    &lt;li&gt;Third Party와 정보 연동시에는 필히 암호화 알고리즘을 사용할 것&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;strong&gt;5. Password Policy&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;영/숫자/특수 문자 혼용 가능하며 복잡도 기준을 마련하여 심플한 패스워드는 제외하고, 패스워드 길이는 6-12자 이내 사용 등 정의&lt;/li&gt;
    &lt;li&gt;암호화 되어 저장됨&lt;/li&gt;
    &lt;li&gt;사용자에게 패스워드는 주기적(30, 60, 90일 등의 기준에 의해)으로 변경 요청함&lt;/li&gt;
    &lt;li&gt;Two Factor Authentication과 연동 가능하도록 설계 및 아키텍처 구성함&lt;/li&gt;
    &lt;li&gt;악의적 사용자 및 해킹 의심 가입자일 경우 관리회사에서 강제 패스워드 변경 가능 및 본인 확인 프로세스 적용할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;strong&gt;&lt;u&gt;6. Naming and Certificates&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;가입 정보&lt;br /&gt;
    . UserId : 6 ~ 12자이내로 OpenID행태, 이메일, 전화번호 등 제휴 사이트에 따라 다양한 아이디가 수용가능해야 하고 생성 규칙인 이메일, OpenID, 전화번호 등의 생성 규칙에 준함&lt;br /&gt;
    . 이름(40자 이내), 닉네임(40), 이메일(40), 생년월일(12), 성별(1), 우편번호(10), 국가(40), 언어(40), 타임존(40) 이 제공되며 주소, 전화번호, 지역 등은 서비스에 따라 별개로 관리함&lt;br /&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;Unique identitier : User Sequence Number(usn)를 사용함&lt;/li&gt;
    &lt;li&gt;가입정보 공개 여부는 사용자가 판단할 수 있도록 함&lt;/li&gt;
    &lt;li&gt;가입 인증을 위해서 OpenID일 경우 이메일 인증을 추가함&lt;/li&gt;
    &lt;li&gt;Federation 아이디들은 기존의 실명 확인 정보를 확인하여 매핑(본인 확인 거침) 함&lt;/li&gt;
    &lt;li&gt;로깅 : 연동/인증 정보는 로그과 6개월 이상 보관하여야 함&lt;/li&gt;
    &lt;li&gt;미성년 고객에 대한 관리 수단이 있어야 함(부모 동의 등)&lt;/li&gt;
    &lt;li&gt;개인 정보는 항상 신뢰성 보장 활동(아이디 상태 관리, 개인 정보 현행화)을 주기적으로 함&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;strong&gt;7. Federation Policy&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;OpenID 스펙 위에 제휴사의 인증 API를 통해 다른 인증 수단을 추가하는 방안 마련&lt;/li&gt;
    &lt;li&gt;제휴사와는 제휴를 통해 Federation 수단을 추가하고 사용자에게는 고지 의무를 가지므로 매핑 단계에서 가입과 동의, 약관 정보를 법규에 위반하지 않게 추가하여야 함&lt;/li&gt;
    &lt;li&gt;상호(제휴사와 인증 Provider)는 Security Token은 필수적으로 공유되어야 하고 필요한 개인정보는 고객 선택권에 따라 서비스로 정보가 연동될 수 있어야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;strong&gt;8. Privacy Policy&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;개인 고객은 개인이 identity를 확인하여 정보를 관리할 수 있음&lt;/li&gt;
    &lt;li&gt;법인 고객/그룹 고객 아이디일 경우 개인으로 사용할 수 없고 특정 서비스에서만 사용 관리를 해주어야 함&lt;/li&gt;
    &lt;li&gt;Chief Privacy Officer (CPO)에 의한 개인 정보 보호 정책이 준수되어야 하고 주기적인 관리(감사 포함)되어야 함&lt;/li&gt;
    &lt;li&gt;개인/법인의 고객 정보는 개인 정보 보호법 테두리내에서 운용되어야 함&lt;/li&gt;
    &lt;li&gt;개인 정보 보호 정책 안내 페이지를 제공함&lt;/li&gt;
    &lt;li&gt;P3P 규약 준수&lt;/li&gt;
&lt;/ul&gt;
&lt;u&gt;&lt;strong&gt;9. Provisioning Policy(선택적인 정책)&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;identity life cycle 관리&lt;/li&gt;
    &lt;li&gt;개인 정보 관리 툴 제공&lt;/li&gt;
    &lt;li&gt;일부 로우(가공이 안된) 통계 데이터 제공&lt;/li&gt;
    &lt;li&gt;외부 연동 인터페이스 규격 정의&lt;/li&gt;
    &lt;li&gt;보안 이슈에 대한 정의 및 해결 방안 도출&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
    
    
    <category>Digital Identity</category>
    
    <comments>http://www.mimul.com:80/pebble/default/2008/01/18/1200667920000.html#comments</comments>
    <guid isPermaLink="true">http://www.mimul.com:80/pebble/default/2008/01/18/1200667920000.html</guid>
    <pubDate>Fri, 18 Jan 2008 14:52:00 GMT</pubDate>
  </item>
  
  </channel>
</rss>
