김보안의 블로깅
  • 🏠 Home
  • 📚 Project
    • Blockchain
      • 🎦 PickMe
      • 🎦 IoTC
      • 🎦 Blackchain
      • 📃 Gemology
      • 🎦 PickMe
      • 🎦 PickMe
    • AI
      • 👋 A.I. Dream Reader
      • 🎦 A.I. Dream Reader
    • Security
      • 🎦 SNAC
    • Education
      • 🎦 Smart Lecture
  • 🤸‍♂ Hobby
    • Music
      • Violin
      • Guitar
      • Piano
      • Drum
    • Flower
      • Flower Certificate
    • Sport
      • Ski
      • Skateboard
      • Golf
      • Boxing

2015년 10월 9일 금요일

AWS Security Bootcamp

 SecureKim     오후 11:44     AWS, AWS 교육     No comments   


1. 교육 목적
앱, 운영체제, 방화벽, 데이터등 상위 계층에서 보안 문제가 발생시 책임은 사용자에게 있음을 분명히 함.
대신 AWS 인스턴스나 서비스 자체에 대한 보안성은 아마존에서 보장하고 책임짐.
아마존에서 구현해놓은 이러한 보안 서비스도 어느정도 사용자가 상황에 맞게 설정해야 하므로 이를 위해 교육 함.

2. 내용 요약
1. Preview
2. 데이터 암호화 (KMS), Replication
3. 권한 (IAM)
4. 보안 관련 모니터링

3. 주의 사항
여기서 나오는 서비스들은 AWS의 서비스이며, 계정이라 함은 OS의 계정이 아니라 AWS서비스의 계정임.
따라서 AWS 서비스, 이름에 대해 미리 알고 있어야 함. 예를 들어 AWS에서 쓰는 DNS서버를 Route53이라고 부름.

4. 교육 내용
1. Preview
요약 : 교육내용 전체 Preview, AWS의 서비스와 장점 (서버실을 직접 운영하면 생기는 단점들)

a. NACL(Network Access Control List)
방화벽과 동일한 방식. 사용자가 필요한 룰들을 설정해 놓으면
위에서부터 아래로 내려오면서 Inbound/Outbound 패킷을 Allow/Deny 할지 결정.

b. Security Group
룰 관리를 쉽게 하기 위해 계층적으로 되어있는 보안 규칙 그룹.
여러 보안 그룹들을 만들수 있고, 모든 그룹에 추가해야하는 공통의 룰이 있다면
해당 룰을 상위 그룹으로 설정하면 하위그룹에도 함께 적용됨.

c. VPE (Virtual Private Endpoint)
기존에는 EndPoint 를 위해 방화벽 룰들을 세우고 proxy구성을 해서 설정했어야 했는데
쉽게 그러한 설정을 해줄 수 있도록 새로 나온 서비스.

d. DDoS 대응 방안
대부분의 DDoS 공격이 TCP, UDP등 Layer3, Layer4 공격임.
따라서 AWS (S3, CloudFront, Route53)를 가장 앞단에 두면 대부분의 DDoS공격은 자동으로 막힘.
그리고 VPC를 구성해서 내부 서비스(EC2 ,WAS, DB 등)들을 보호.

2. 데이터 암호화
요약 : 아마존에서 제공하는 KMS서비스에 대한 것.
키는 아마존에서 관리하여 안전하고 사용자는 API호출해서 암호화 하면됨.

a. KMS (Key Management Service)
AWS데이터 암호화 서비스의 핵심임.
사용자는 가장 먼저 API로 MasterKey를 생성해 달라고 요청하고 이름을 지음.
MasterKey 자체는 어떠한 형태로도 제공되지 않으며 어떤 사용자도 알 수 없음.
어떤 데이터를 암호화 하고 싶으면 먼저 API로 DataKey를 요청.
그럼 MasterKey로 암호화된 DataKey와 평문 DataKey가 도착함.

도착한 평문 DataKey는 데이터 암호화하는데 쓰고 반드시 폐기해야함.
도착한 암호화된 DataKey는 저장해 놓고 다음에
API호출하면 KMS에서 MasterKey로 복호화해서 평문 DataKey를 전달해줌

모든 암/복호화를 KMS에서 처리하지 않고, DataKey를 발급받아 로컬에서 처리하라고 하는 이유는
속도 때문임. 대신 4KB 이하 작은 데이터는 KMS에서 직접 암호화 해줌.

a-1. 개인적으로 KMS에 대해 알아낸 점.
Decrypt 시 KMS는 어떤 MasterKey를 갖고 암호화 했는지 알아서 자동으로 복호화 한다고 함.
DataKey, Data 각각을 MasterKey로 암호화 한 결과를 유심히 보았는데 앞부분에 동일한 문자열이 붙음.
복호화시 암호화된 부분 중 앞쪽 문자열을 분석해 어떤 MasterKey로 암호화 되었는지 판별하는것으로 추정.

b. 가격
MasterKey는 한 계정에 최대 2개 생성가능.
키 하나당 $1/달
암,복호화 API 호출 $2/백만번

c. KMS 사용 가능 서비스(자동)
- EBS (Volume 단위 암호화)
- RDS (DB)
- Red Shift

d. Replication (RDS)
저장소 클라이언트는 현재 DB가 암호화 되어있는지 아닌지 알 수 없음.
따라서 일반적인 툴을 사용해서 DB를 Replication 하듯 사용하면 됨. (DB Full load 하고 보낸 다음 변경값 Capture해서 보내고 복사)
다른 Region으로 Replication 할때 PlainText이므로 반드시 VPN, SSL을 사용해서 보내 줘야함.

e. Replication (Red Shift)
Red Shift 자체가 AWS 에서 제공하는 서비스이므로 KMS 암호화된 상태로 보냄
다른 Region으로 Replication 될 때 암호화 된 snapshot이 전송됨.
MasterKey가 Region에 종속적이므로, 서로 다른 Region이면 MasterKey를 알 수 없음.
따라서 snapshot이 전송될 때 AWS 내부적으로 masterKey의 정보를 함께 보내줌.

3. IAM ( Identity and Access Management )
요약 : IAM을 통해 AWS 서비스 사용자 계정을 만들고 권한을 부여할 수 있음.
모든 AWS서비스에 대해 권한 제어를 IAM Policy로 할 수 있음.

a. Root 계정으로 모든 작업을 하는 것은 권장되지 않으므로
IAM을 통한 사용자 계정 제작 및 제한된 권한을 부여해서 사용 권장

b. IAM Policy
AWS의 모든 권한 제공의 핵심. Json형태로, 룰들을 섞어서 매우 정밀한 권한을 부여할 수 있음.
-Person 어떤 사용자에 대해서 Deny/Allow
-Action 어떤 행위에 대해서 Deny/Allow
-Resource 어떤 자원에 대해서 Deny/Allow
-Condition 어떤 IP, 시간에 대해서 Deny/Allow

Dynamo DB, Instance 접근, 콘솔 접근 등 모든 AWS 서비스에 대한 권한을 IAM Policy로 부여.
이러한 IAM Policy를 설정하는 권한도 IAM Policy로 부여.
방화벽 룰과 다르게 Deny가 룰 위치에 상관없이 가장 먼저 우선순위를 가진다.

c. IAM Policy Auto test
자신이 JSON 포맷으로 설정해 놓은 IAM Policy가 제대로 작동하는지 테스트 해 볼 수 있음.
자동으로 다양한 API를 던져보고 Allow/Deny 결과를 정리해서 보여줌.

d. Cognito
개발자들이 서비스를 제작할 때 로그인, 데이터 싱크/공유, SNS연동 등 당연히 만들어야 하는 모듈 존재
아마존은 이러한 필수 구성요소들을 미리 만들어놓고 쉽게 사용할 수 있도록 Cognito 서비스 제공.
이때 필요한 DB접근 권한, 사용자들의 권한, 개발자의 권한 등도 IAM Policy로 설정해서 사용.

4. Trusted Advisor Security
a. 이메일로 Security 관련 조언을 받을 수 있음. 물론 자동화된 조언.
이메일 Noti는 다음과 같이 구성되어 있음.
- Short Summary
- 조치했던 것과 개선점
- Security 체크에서 배제된 것 (설정 가능)

b. 점검 항목 (12가지)
- Security Group 특정 알려진 취약 포트 점검
- Security Group 전체 포트 점검
- ELB Listener SSL, TLS, Protocol suite 사용하는 Cipher가 안전한 것인지
- ELB Security 실제 포트는 닫혀있는데 Policy 에서는 Allow 되어있거나 한 것들 점검
- Bucket 권한 설정 (유/무) 점검
- RDS 보안 위협 불필요한 포트 Allow 점검
- IAM Use IAM 사용 여부
- IAM Password IAM Password 길이나 주기 점검
- MFA Root Multifactor 인증 사용 여부
- Cloud Trail 사용 여부
- Route53 설정 점검
- Cloud front Custom SSL 점검
- 인증서 검증 만료기간, 도메인 이름 등 점검

체크에서 배제하고 싶은것은 배제해서 이메일로 전달 받을 수 있고 취약부분은 링크가 제공되어 쉽게 개선 가능

c. Trusted Advisor Access Control
어떤 부분이 취약한지 종합적으로 알려주므로 이걸 볼 수 있는 권한도 IAM Policy로 제어해야함.

d. Logging
AWS 서비스는 API 콜로 이루어지고, 모든 API콜은 Logging됨.
권한을 가진 사용자가 적법하게 API를 호출했어도 AWS에 Logging되고 볼 수 있음.
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

2015년 6월 1일 월요일

대칭키 암호화 알고리즘, AES

 SecureKim     오후 5:37     대칭키 암호화, 비밀키 암호화, 알고리즘, AES, Security     2 comments   


오늘은 대칭키 암호화 알고리즘의 대표주자인 AES에 대해 포스팅 하려 합니다.

  • 대칭키 암호화 알고리즘
암호화와 복호화에 같은 암호 키를 쓰는 암호 알고리즘입니다.

  • 간단한 예시
대칭키는 RSA와 다르게 간단한 예시를 통해 대강 이해해 볼 수 있습니다.

(RSA와는 다르다! RSA와는!)

'각각의 문자를 key만큼씩 더한다'

라는 암호화 알고리즘을 생각해 봅시다.

원문  : KBS1tv

key가 1일 때

abcdefghijklmnopqrstuvwxyz 이니까

암호화: LCT2uw

복호화는 1씩 빼면 되겠죠?

여기서 키는 1로, 암호화와 복호화에 같은 키 1이 쓰였습니다.

이런 것을 대칭키 알고리즘이라고 합니다.
  • AES
Rijndael 암호에 기반한 블록 암호 방식으로
AES공모전에서 21개의 알고리즘 경쟁중 1등으로 선정되어
2001년 미국 표준 기술 연구소(NIST)에 의해 표준으로 제정되었습니다.

미 국가안보국에 의해 1급비밀에 사용할 수 있도록 승인된 알고리즘 중

최초로 공개되어 있는 알고리즘입니다.
-------------AES--------------

S-Box
ShiftRows
MixColumns
AddRoundKey
----------
이후
BASE64로 인코딩
PKCS7 / PKCS5 Padding
------------------------------

라는 과정을 거치는데요,


직접 구현해보지는 않았습니다.


C 구현 (https://github.com/saju/misc/blob/master/misc/openssl_aes.c?p=36)

Java 구현 (http://aesencryption.net/#Java-aes-encryption-example)

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

2015년 5월 22일 금요일

RSA에 대한 설명과 간단한 구현 (C++)

 SecureKim     오후 5:33     공개키 암호화, 구현, 설명, 암호시스템, 암호학, 코드, RSA, Security, SSL, TLS     No comments   


안녕하세요.

SSL에 대해 공부하던중 RSA가 잘 이해가 안되서 직접 간단하게 구현해 보았습니다.

이해를 돕기위해 색상을 넣었는데요.

노란색은 폐기.

초록색은 공개.

붉은색은 비공개 입니다.



  • RSA 준비과정


1. p!=q 인 소수 p,q 를 고릅니다.

2. N=p*q;

3. P=(p-1)*(q-1);

4. P를 바탕으로 다음을 만족하는 e를 찾습니다.

e<P , GCD(P,e) == 1;

5. e와 P를 이용해 다음을 만족하는 d를 찾습니다.

d*e%P==1

6. 이제 p와 q, P는 폐기합니다.

구해진 것들은 다음과 같습니다.

p,q,N,P,d,e

공개키는 N,e
개인키는 N,d




  • RSA 암호화

보내려는 메시지 M을 준비합니다. 상대방의 공개키 N,e를 확인합니다.

M을 N보다 작게 m으로 바꾸는데, 바꾸는 방법은 메시지와 함께 보내줍니다.

암호화 메시지 c = m^e % N 입니다.



  • RSA 복호화

암호화된 메시지 c를 받았습니다. 개인키 N,d 를 통해 변경된 메시지 m을 찾습니다.

변경된 메시지 m = c^d % N

m을 원래 메시지 M으로 바꾸면 됩니다. (이건 암호화 한 사람이 보내줍니다.)



  • 크래커

스니핑을 통해 메시지 c를 얻었다고 칩시다. m을 M으로 변환하는 방법도요.

공개키 N,e는 공개되어있기 때문에 쉽게 얻었습니다.

우리는 암호화 하는 방법을 알고 있습니다.

메시지 c=m^e % N 입니다.

그리고 우리는 c, N, e 를 알고있습니다.

그런데 말입니다. m을 구할 수 있을까요?


그러나 불행히도 c, N, e를 알아도 m을 구할 수는 없습니다.

왜냐하면 저 식을 만족하는 m의 개수가 엄청나게 많기 때문입니다.

예를들면, c가 8, N이 33, e가 3인경우

m은 2 , 35 ...등등이 될 수 있습니다.

또, 수가 크면 계산하는데 시간이 굉장히 오래 걸립니다.


그러므로

꼭 d를 알아야하는데, d*e%P==1 에서 나왔죠.

꼭 P를 알아야하는데, P=(p-1)*(q-1) 에서 나왔죠.

꼭 p, q를 알아야하는데, N = p * q이 보통 굉장히 크므로

N을 통해 p, q를 구하려면 굉장히 많은 시간이 걸립니다.





  •  증명 : m == c^d % N


c = m^e % N 이니까 (암호화 하는 부분 참조)

m = c^d % N 에 c를 대입하면 (m^e % N)^d % N 이죠.

mod연산의 특성에 따라

(m^e % N)^d % N == m^(e*d) % N

준비과정 5번에서 d*e%P==1 이었기 때문에 d*e=k*P+1 (k는 상수) 이고,

P=(p-1)*(q-1) 이기 때문에 m^(e*d) % N 에 대입하면

m^(k*(p-1)*(q-1)+1) % N 이 됩니다.


m^(k*(p-1)*(q-1)+1) % N == (m^(p-1))^(k*(q-1))*M % N

(m^(p-1))^k*(q-1))*m % N== 1^(k*(q-1))*m % N==m % N

이므로 c^d % N == m % N


m은 N보다 작으므로 m % N == m.

따라서 c^d % N == m


어떻게 이런걸 생각해 냈을까요?

결국 이 공로로  Rivest, Shamir, Adleman

세 사람은 2002년 튜링상을 받게됩니다.

부럽죠......



  • 안전성

1999. 8. 22 에 암호키 155자리 수가 네덜란드, 캐나다, 미국 등 구미 6개국의

11개 연구기관으로 이루어진 공동연구팀에 의해 292대의 PC와 워크스테이션 등을 활용해

작업 개시 7개월 반만에 RSA의 암호화에 사용하는 암호키(열쇠)인 512비트의 숫자

(암호코드 RSA­155)를 General Number Field Sieve방법을 이용하여

소인수 분해하는데 성공했습니다.


또한 소인수분해 알고리즘을 이용하지 않고도 공격이 가능한데,

그것은 RSA서명에 의한 RSA암호 공격입니다.

이것은 다음 글을 참고하길 바랍니다.

RSA 서명에 의한 RSA 암호 공격

따라서 취약해 지지 않기 위해서는 두 소수를 선택할 때 규칙을 따라야 합니다.

1. p, q의 크기가 거의 같을 것.

2. p-q 가 클 것.

3. p-1 이 큰 수를 인수로 가질 것.

4. p+1 이 큰 수를 인수로 가질 것.



이외에도 1993년 피터 쇼어는 쇼어 알고리즘을 발표,

양자 컴퓨터를 이용하여 임의의 정수를 다항 시간 안에

소인수 분해하는 방법을 발표하였기 때문에,

미래에 양자 컴퓨터가 상용화 된다면

결국 RSA는 무용지물이 될 것으로 예상됩니다.



  • 코드

//RSA 암호화 -> 해독하는 간단한 프로그램입니다.



#include
#include  
using namespace std;

int GCD(int a, int b)
{
 int tmp;
 while (1)
 {
  if (a < b) swap(a, b);

  if (a%b == 0) return b;
  else
  {
   tmp = a%b;
   a = b;
   b = tmp;
  }
 }
}


int Get_e(int P)
{
 int e;
 for (e = 2; e < P; e++)
 {
  if (GCD(P, e) == 1)
  {
   return e;
  }
 }
}

int Get_d(int P,int e)
{
 int d;
 for (d = 1;; d++)
 {
  if ((d*e) % P == 1)
  {
   return d;
  }
 }
}
int Get_m(int M, int N)
{
 int cnt=0;
 while (M > N)
 {
  M -= N;
  cnt++;
 }
 return cnt;
}


int PowWithMod(int x, int y, int mod)
{
 //x의 y승
 int ret = 1;
 int i;
 for (i = 0; i < y; i++)
 {
  ret = ret*(x%mod);
  ret %= mod;
 }
 return ret%mod;
}



void main()
{
 int p,q;
 int e, N, P, d, c;
 int m, M;
 int mf;
 int cnt;
 cout << "두 소수 p,q 입력 :"< cin >> p >> q;
 
 N = p*q;
 P = (p - 1)*(q - 1);
 e=Get_e(P);
 d = Get_d(P, e);
 system("cls");

 cout << "-RSA 암호화-" << endl;
 cout << "공개키는 <" < 입니다."< cout << "개인키는 <" << N << "," << d << "> 입니다." << endl;
 cout << "보내고 싶은 메시지를 입력하세요(M)" << endl;
 cin >> M;
 //임의의 방법으로 M->m으로 변환시킵니다. m은 N보다 작아야합니다.
 //이 코드에서 임의의 변환방법은 m이 N보다 클 때마다 N으로 빼주는 것입니다.
 //실제로는 더 복잡한 방법들이 사용됩니다.
 //또한 이 방법은 미리 메시지를 보낼 사람에게도 알려주어야 합니다.
 cnt = Get_m(M, N);
 m = M - cnt*N;
 //cout << "메시지 M이 N보다 작은 m으로 변환되었습니다. (N=" << N << ",m=" << m << ",cnt=" < system("cls");

 c = PowWithMod(m, e, N);

 cout << "-RSA 복호화-" << endl;
 cout << "당신은 암호화된 메시지를 얻었습니다." << endl;
 cout << "암호화된 메시지는 " << c << "입니다."< cout << "공개키는 입니다." << endl;
 cout << "복호화 한 후 cnt*N를 더하면 실제 메시지가 됩니다. (cnt*N="< cout << "실제 메시지는 무엇일까요?" << endl;
 cin >> p;
 m = PowWithMod(c, d, N);

 if (p == m + cnt*N) cout << "맞았습니다! ";
 else cout << "틀렸습니다! ";
 cout << "실제 메시지는 ("<< m + cnt*N << ") 입니다."<< endl;
 cout << "개인키는 였습니다." << endl;
}
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

2014년 11월 28일 금요일

[Tizen] 타이젠 웨어러블 앱 인증 받기

 SecureKim     오후 10:53     앱 인증, 인증, certificate, Tizen, wearable     No comments   




처음에 실제 타이젠 웨어러블 (기어 등) 을 컴퓨터에 연결하고 빌드하면

앱을 설치하지 못했다는 에러가 뜨는데요.


이는 인증을 받아야 하기 때문입니다.

이번 포스팅에서는 인증받는 법을 자세히 설명하도록 하겠습니다.


인증은 다음과 같이 크게 4가지로 구성됩니다.

1. 인증서 서명 요청 생성

2. 인증서 요청

3. 인증서 등록

4. 보안 프로파일에 인증서 추가


1.    인증서 서명 요청 생성
1.     상단의 Register Certificate 버튼을 누릅니다.

2.     Generate a certificate signing request 버튼을 누르고, new 를 클릭합니다.




3.     Name과 패스워드를 지정하고 Finish를 누릅니다.



4.     결과를 확인하고 CSR Path를 기억합니다.


2.     인증서 요청
1.     Request the Certificate 버튼을 누르고 로그인 한 후, 방금 Generate한 author.csr파일을 찾아서 업로드하고 Submit 버튼을 누릅니다.

2.     Certificate가 메일로 보내졌다는 메시지를 확인하고 창을 닫습니다.



3.     메일로 온 author.crt 파일을 다운받습니다.



4.     메일로 온 author.crt 파일과 처음에 기입했던 암호를 입력합니다.






3.     인증서 등록
1.     먼저 Device ID(DUID) 확인 방법입니다.
기기를 연결한 후 Connection Explorer 창에서 우클릭 해 속성창을 열어 확인합니다.



2.     Request a device profile 버튼을 누르고 각종 정보를 선택합니다.
이후 방금 확인했던 Device ID(DUID)를 기입하고 Submit을 클릭합니다.




3.     Profile이 메일로 보내졌다는 메시지를 확인하고 이 창을 닫습니다.


4.     메일로 온 device-profile.xml 파일 을 다운로드 받고 패스워드도 기입해 줍니다.


5.     결과를 확인합니다.



6.     권한을 자동으로 주기 위해 Permit to install applications 버튼을 클릭합니다.




4.    보안 프로파일에 인증서 추가
3번까지 하시면 자동으로 security profile에 추가가 됩니다. 여기서부터는 수동으로 인증서를 변경하는 방법입니다.

Window – Preferecnes 를 클릭하고 Tizen SDK – Security Profiles 를 선택하면 다음과 같이 수동으로 변경 할 수 있습니다.



Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

2014년 9월 22일 월요일

삼성 오픈 소스 컨퍼런스(SOSCON)를 다녀왔습니다.

 SecureKim     오후 2:07     삼성, 삼성 오픈 소스 컨퍼런스, 오픈소스, 컨퍼런스, Conference, IoT, Opensource, Samsung, Samsung Open Source CONference, SOSCON     2 comments   


안녕하세요!

이번에 그랜드 인터컨티넨탈 서울 파르나스 5층에서 열렸던

삼성 오픈소스 컨퍼런스(Samsung Open Source CONference)에 다녀왔는데요.

대부분의 세션이 학교에서는 얻을 수 없었던 지식을 얻을 수 있었던

아주 유익한 시간들이었습니다.






등록을 하면 '삼성 오픈 소스 컨퍼런스' 가 인쇄된

자그마한 충전기(2200mah)와 물병을 제공했는데

제 마음에 아주 쏙 들었답니다!

안그래도 휴대폰 배터리 양이 적어서 하나 사려고 했었거든요.

그렇게 좋은 느낌과 함께

시작된 오프닝!


위처럼 동시 통역기가 자리마다 있어

저처럼 영어를 못하더라도

외국분이 하시는 영어 발표를 쉽게 들을 수 있었답니다.

반대로 외국분들도 한국어 발표를 들을 수 있게 영어 번역이 되었어요. ^^




그런데 처음에는 위처럼 트랙 1,2,3 가 이어져 있었습니다.

그래서 옆에 발표가 다 들려서 어떻게 집중하나 걱정을 했었는데요.

무색하게도 어느 순간




방음벽이 생기는 마법이 일어났습니다!

시설이 참 좋더군요.



여러 트랙에서 좋은 발표들이 많이 있었는데

지면상 그 중에서도 가장 제 기억에 남았던

2개 세션을 소개 해 보도록 하겠습니다.



1. HTML5 Status update in W3C and Open Source (이원석, 삼성전자)

이 발표가 가장 좋았던 발표 중 하나였습니다.

웹에 관심이 있어도 HTML5 표준에 대한 문서가 너무 방대하기 때문에

그걸 다 살펴볼 수는 없는 노릇인데

이번 발표에서는 중요한 Feature만 콕 콕 찝어서 소개해 주셨거든요.


먼저 간단하게 HTML5에 대한 소개를 해주셨는데요.



Vision Mobile에 따르면

Cross-platform code portability , Low cost development 가

개발자가 HTML5를 선호 하는 이유 1,2 위라고 합니다.

정확히 맞는 것 같습니다. 이게 바로 제가 프로젝트를 진행 할때

웹으로 할 수 있는 부분은 최대한 웹으로 개발하는 이유이기 때문입니다.


그런데 여러 부분들에서

주요 브라우져간 파편화 이슈가 있다는 것도 문제 삼아 주셨습니다.

예를 들어 크롬에선 되는데 익스플로러에서는 깨지고

사실 이런 것들이 아직 많이 있습니다.


그래서 표준이 만들어 지고 있는 것이겠죠?


보스턴 시각으로 16일에 HTML5 Propose Recommendation 가 나오고

약 6주 후 10월 까지는 HTML5 표준 확정이 예상된다고 하셨습니다.


사실 HTML5 표준 안의 시작은 2004년 이었는데

확정되는데 거의 10년이 걸릴 정도로 방대한 작업이었습니다.


W3C에서 HTML 5.1 표준도 제정하는 중이라고 하는데요.

확정은 아니지만 이번에는 Feature 단위로 넘어갈 것 같다고 하셨습니다.

10년이나 걸린 HTML5 표준이 보여 주듯이

이런 큰 표준을 하나의 스펙으로 만들기엔 비 효율적이기 때문입니다.


그리고 이 방대한 HTML5 스펙에서 중요시 되고있는 Feature들을 소개해 주셨는데

저에게 가장 충격적이었던 것은 Service Worker 라는 Feature입니다.

저도 Web App Caching을 사용해서

오프라인으로 동작하는 웹 앱을 만들어 본 적이 있는데요.

Service Worker는 그 수준을 뛰어넘어 백그라운드 실행을 지원해 Push, Alarm 등

Persistent 시스템 이벤트 처리를 가능하며 네이티브 앱 수준의 UX를 제공한다고 합니다.


웹이 어떻게 발전하게 될지 막연하게만 알고 있었는데

이 발표를 통해 그림이 그려졌다고 할까요?


웹의 앞날이 정말 기대되네요~!


그리고 실제 W3C에 가서 표준을 제정하는 분들과 함께 회의도 하셨다고 하는데

이렇게 설명을 자세히 해주시니 좋기도 하고 한편으로는 부럽기도 했습니다.

저도 언젠가는 W3C 회의에 참석 해보고 싶네요.



2. 오픈소스를 이용한 IoT 네트워크 기술 (김기형, 아주대)

이 발표를 통해 IoT에서 중요한 네트워크 이슈들과

IoT 네트워킹에 대해 잘 알게 되어 좋았습니다.

시간이 짧아서 굉장히 아쉬울 정도였습니다.



IoT 네트워크 기술은 기존과 다른 표준 확립이 필요하다고 하는데요.

이미 WirelessHART 같은 표준이 확립되었고 점차 사용되고 있으며

언제쯤 사용될까 했었던 IPv6가

IoT에서 이미 대세라고 합니다.


강의하시는 분은 최근에 IETF에 다녀왔는데 IoT에 대한

보안을 비롯한 여러가지 이슈들에 대해 많은 논의가 있었다고 합니다.



그에 따라 실제 논의가 있었던 여러가지 이슈들을 소개해 주셨는데요.

위 사진은 IEEE802.11 VS IEEE802.15.4 에 대한 이슈입니다.

전 세계적으로 대부분의 무선인터넷에 쓰이는 IEEE802.11은

Star Topology 이기 때문에 액세스 포인트가 반드시 하나 이상 필요합니다.

반면에 IEEE802.15.4e Mesh 구조를 가져 Connectivity가 높긴 하지만

Bandwidth가 작아서 와이파이한테 신호로는 진다고 합니다.

그래서 IEEE802.11 VS IEEE802.15.4 구도가 나오네요.

사진에서 마지막에 Energy Consumption이라는 항목이 있는데요,

IoT시장은 배터리와의 싸움이라고 합니다. 배터리가 2년은 가야지

일일이 교환하면서 사용하기는 힘드니까요.

그래서 결국 IoT에서는 IEEE802.11 보다는

저가격, 저전력인 IEEE802.15.4 가 많이 쓰인다고 합니다.






이렇게 배터리에 민감한 IoT를 위해 비콘이 뜰때만 켜지고

나머지 시간은 자는, 즉 특정 타임슬롯에만 깨어나는

6TiSCH (여기서 T는 TDMA 겠죠?)가 표준화 중이며

IETF에서 오픈소스로 진행중이기 때문에 누구나 참여가 가능하다고 하는데요.

저도 공부를 많이 해서 여기에 기여를 하고 싶네요.


또 다른 이슈로는 ND-DAD를 소개해 주셨습니다.

IPv4는 95% 이상 DHCP를 쓰니까 ND(Neighborhood Detection)에

큰 문제가 없는 반면 IoT는 IPv6를 사용하기 때문에

DHCP를 써야하나 ND를 Optimizing 해야하나

하는 이슈가 드러나게 되었죠.

그런데 IoT에서 DAD(Duplicate Address Detection)는 쉽지 않은데요.

Mesh구조라 브로드캐스팅을 하면

배터리 소모가 굉장히 심하기 때문입니다.

대신 "IoT에 한해서 DAD를 안해도 된다" 예외적인 조항이 들어간 EUI64 표준이

표준화가 끝났고 어느정도 오픈소스로 구현되고 있다고 합니다.


이렇게 여러 IoT관련 세션을 통해 IoT관련 오픈소스가

정말 많이 각광을 받고 있다는 것을 몸으로 실감 할 수 있었고

IoT에서 배터리가 중요하기 때문에 자연적으로 네트워크 소프트웨어 기술이

중요하다는 것을 느꼈습니다.

하지만 옛날 하드웨어의 한계 때문에 소프트웨어를 최대한 작게 만들려고 노력했지만

지금은 하드웨어가 소프트웨어를 뛰어 넘고있듯

미래에는 배터리 기술도 많이 발전해서

'배터리를 크게 신경 안쓰는 날이 올 수도 있지 않을까?'

라는 생각도 개인적으로 한번 해봤네요.


로비에 있던 여러 부스 소개

이처럼 세션들이 모두 흥미로운 주제들로 가득했는데

트랙 뿐만 아니라 로비에도 여러가지 부스들이 설치되어 있어서

여러가지 즐길 거리가 많이 있었습니다.



로비는 먹거리로 가득차 있었는데 개인적으로

저는 미니햄버거가 제일 맛있었답니다!


또 로비에 있던 부스들 중 기억나는 걸 소개해 드리자면

(게임도 재미있었지만 필자가 경품을 못탄 관계로 스킵...)



IoT 에 관련된 제품이 있는 부스였는데

사진처럼 정육면체 큐브와 선풍기, 조명, 책갈피가 서로 통신합니다.

예를들어 책을 열면 책갈피의 압력센서가 조명에게 불을 켜라는 신호를 보내는 건데

아이디어가 재미있었습니다.

설명도 굉장히 자세하게 해 주셨는데요.


원래는 HTTP가 String을 그대로 보내는데 프로토콜 자체가 무거우니까

COAP라는 프로토콜을 이용해 바이너리로 바꿔

Light Weight한 통신을 할 수 있다고 합니다.

그런데 HTTP가 TCP기반이니까 COAP도 TCP기반인 줄 알았는데

UDP라고 하시더라구요.

그럼 더 가볍지만 신뢰성 문제가 있지 않나 했는데 역시 프로토콜 내부에

신뢰성을 유지하기 위한 장치가 마련되어 있다고 합니다.




이렇게 삼성 오픈소스 컨퍼런스에서 현장에 계신 분들을 통해

간접적으로나마 쉽게 배울 수 없는 세상의 동향을 좀 더 크게

파악 할 수 있어서 좋았습니다.

막연했던 안개가 걷히고 윤곽이 드러나는 느낌이었는데

저는 세션당 시간이 좀 짧아서 아쉬울 정도였습니다.

개인적으로 이런 좋은 자리가 계속 많이 있었으면

하는 기대를 하며 글을 마칩니다.




Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

2014년 7월 27일 일요일

[Windows 8] 원래 쓰던 와이파이 패스워드가 변경되었을 때

 SecureKim     오후 11:13     윈도우 8.1 와이파이 패스워드, 윈도우8 와이파이 패스워드 변경, Tip, wifi, windows     2 comments   



와이파이 패스워드가 변경되었을 때

연결이 계속 실패하는 현상이 있습니다.

패스워드가 변경되었는데 예전 패스워드로 접속을 시도해서 그렇습니다.

그럴땐 아래 사진처럼 와이파이를 열고 오른쪽을 클릭하고



연결 속성 보기를 클릭 한 다음

보안 탭 - 네트워크 보안 키 에서 바꿔 줄 수 있는건 아실 겁니다.




그런데 문제는 오른쪽 클릭 했을 때 위 선택창이 안 뜨는 경우 입니다.


이 경우 CMD 창에서 ncpa.cpl 으로 네트워크 연결을 연 다음

와이파이를 오른쪽 클릭하고 상태를 클릭하여

무선 속성 - 보안탭 에서 패스워드를 바꿀 수가 있습니다.



이것도 안된다?



이런 경우에는

윈도우 + R -> cmd

로 커맨드창을 연 다음


netsh wlan delete profile 공유기이름


을 하면 "공유기이름" 이 삭제되어


다시 패스워드 설정을 할 수 있게 됩니다.



Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
최근 게시물 이전 게시물 홈

페이지

  • 홈
  • Hobby

Categories

  • AI
  • AWS
  • Blockchain
  • Hardware
  • Javascript
  • Node.js
  • Plasma
  • Security
  • Study
  • Video
  • android
  • mysql
  • review
  • windows

Popular Posts

  • Termux 로 안드로이드에 우분투(GUI)와 VSCode설치하기
      많은 글들이 있지만 뭔가 대부분 잘 안됐다. 이번 기회에 정리한다. 0. 먼저 Termux와 Remote Desktop Manager를 설치한다. Remote Desktop Manager 대신 아래도 나쁘지 않다. 화면이 작지만 마우스 스크롤이나 ...
  • 블랙보드 강의 녹화 영상 다운로드 가능한 방법 (노설치)
    별도의 설치도 필요 없고 아주 쉽습니다. 구글 크롬브라우저 에서 블랙보드 녹화 영상에  다운로드 가능한 메뉴가 나오게 하는 코드입니다.  먼저 블랙보드 강의자료에 입장하고, 재생 버튼을 클릭 하지 않은 상태로 F12 를 입력합니다. 재생을 클릭하지 마...
  • 회사 프록시와 인증서에 고통받는 그대를 위한 글 (Bash, Gradle, Python, wget, nodejs(npm), apt-get, cURL, git, yarn, androidStudio)
    대기업에 입사하면 장단점이 있는데, 단점 중에 하나가 회사에서 프록시를 사용하여 트래픽 감시를 하므로 프록시 설정을 해주어야 한다는 점 입니다. 특히, 회사에서는 https 트래픽도 감시를 하므로 인증서도 설정해 주어야 합니다. 그런데 문...

Blog Archive

  • ▼  2026 (2)
    • ▼  2월 (2)
      • 태블릿에서 양자내성암호(격자암호) 돌려보기
      • 양자컴퓨터와 보안 위협 (쇼어 알고리즘)
  • ►  2025 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  7월 (1)
  • ►  2024 (2)
    • ►  11월 (2)
  • ►  2023 (2)
    • ►  10월 (1)
    • ►  1월 (1)
  • ►  2022 (10)
    • ►  12월 (1)
    • ►  11월 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  6월 (2)
    • ►  3월 (2)
  • ►  2021 (9)
    • ►  12월 (3)
    • ►  11월 (1)
    • ►  6월 (1)
    • ►  5월 (2)
    • ►  4월 (2)
  • ►  2020 (12)
    • ►  10월 (1)
    • ►  9월 (2)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (5)
    • ►  4월 (1)
    • ►  2월 (1)
  • ►  2019 (14)
    • ►  10월 (2)
    • ►  7월 (1)
    • ►  3월 (4)
    • ►  2월 (2)
    • ►  1월 (5)
  • ►  2018 (14)
    • ►  12월 (2)
    • ►  11월 (4)
    • ►  10월 (1)
    • ►  8월 (2)
    • ►  5월 (4)
    • ►  1월 (1)
  • ►  2017 (12)
    • ►  10월 (2)
    • ►  9월 (9)
    • ►  5월 (1)
  • ►  2016 (8)
    • ►  10월 (2)
    • ►  8월 (1)
    • ►  6월 (1)
    • ►  1월 (4)
  • ►  2015 (6)
    • ►  12월 (3)
    • ►  10월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
  • ►  2014 (10)
    • ►  11월 (1)
    • ►  9월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (3)
    • ►  4월 (1)
    • ►  3월 (2)
  • ►  2013 (28)
    • ►  12월 (3)
    • ►  11월 (6)
    • ►  10월 (6)
    • ►  9월 (6)
    • ►  8월 (1)
    • ►  7월 (3)
    • ►  6월 (3)

구독

글
Atom
글
전체 댓글
Atom
전체 댓글

로드 중입니다...

각오

직접 해보지 않은 것은 포스팅 하지 않겠습니다.

Copyright © 김보안의 블로깅 | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates