김보안의 블로깅
  • 🏠 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년 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

2014년 6월 15일 일요일

해피밀 맥도날드 마리오 LED 개조하기

 SecureKim     오후 6:26     마리오 분해, 마리오 LED, 마리오 USB달기, 맥도날드 마리오, 해피밀 마리오, 해피밀 마리오 개조, 해피밀 마리오 분해, Happymeal mario, Hardware, LED 달기     2 comments   



지금 유행하는 해피밀 마리오!

요새 맥도날드에서 마리오 장난감을 사면 해피밀을 주고있죠.

저는 물음표 마리오를 구매했는데요.

예전부터 안에 불이 들어오게 하고싶었어요.

그래서 날잡고 개조를 시작했습니다 !!



먼저, 분해를 해야하는데요. 저는 분해에 가장 많은 시간이 소요됬습니다.

처음엔 그냥 나사만 빼면 분해될 줄 알았는데요. 아니더라구요.

인터넷 찾아봐도 분해법이 아무데도 없어서

결국..

결국 그냥 옆면(스피커 없는 쪽)을 드릴로 뚫어버렸습니다.



첨엔 저 스위치 부분이 눌러지길래 저기를 눌러서 빼는줄 알았어요.


뚫어서 보니 하.. 각 모서리에 접합부가 있는데

이 싸람들이 거기다 본드를 발라놨더군요.

그래서 나사로 접합되는 부분을 제외하고

펜치로 모서리 접합부를 다 잘라버렸습니다.




드릴로 뚫어버려 !!



보이시죠? 저 잘려진 모서리 4개의 기둥. 저게 다 본드로 붙여져 있었습니다.

자 이제 배터리의 전압을 재 봅니다.

3V 정도가 되네요


3V 전압이 들어오고.. USB는 5V니까 2V만큼 전압 강하가 필요한데요.

저항을 둬서 하면 되겠지..


라고 생각했는데 아니야!! 


60Hz 노이즈가 있어!!


그래서 선택지는

1. 60Hz 노치필터를 설계해서 적용한 다음 소리가 나는 부분과

불빛이 나는 부분을 합치고 저항을 계산해서 달고 USB단자에 연결해 건전지를 없앰

2. LED를 건전지에 연결

3. 불빛은 USB, 소리는 건전지로 분리



저는 비루한 SW학과생이므로 1번은 포기




2번은 LED가 전력 소모량이 커서 하루도 못간다고 카더라.

결국 선택은 3번!







회로에 LED를 연결하고

전류가 적정선을 넘지 않도록 저항을 달아주고

USB선과 납땜 한 후 스파크 튀지 않도록 절연 테이프를 감아줬습니다.


기둥을 드릴로 뚫어서 USB선을 집어넣고 완성!







그리고 언젠가 스피커도 연결해 볼까 합니다.



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

  • Network Ping Batch - 윈도우 네트워크 핑 스크립트
    네트워크 상태를 ping을 통해 시각적으로 보여주는 배치파일입니다. (왼쪽 IP에는 Ping이 안나가고 있고, 오른쪽 IP 에는 Ping이 나가고 있습니다.) 제가 만들었고 라이센스 없습니다. ----------------------------...
  • 회사 프록시와 인증서에 고통받는 그대를 위한 글 (Bash, Gradle, Python, wget, nodejs(npm), apt-get, cURL, git, yarn, androidStudio)
    대기업에 입사하면 장단점이 있는데, 단점 중에 하나가 회사에서 프록시를 사용하여 트래픽 감시를 하므로 프록시 설정을 해주어야 한다는 점 입니다. 특히, 회사에서는 https 트래픽도 감시를 하므로 인증서도 설정해 주어야 합니다. 그런데 문...
  • 블랙보드 강의 녹화 영상 다운로드 가능한 방법 (노설치)
    별도의 설치도 필요 없고 아주 쉽습니다. 구글 크롬브라우저 에서 블랙보드 녹화 영상에  다운로드 가능한 메뉴가 나오게 하는 코드입니다.  먼저 블랙보드 강의자료에 입장하고, 재생 버튼을 클릭 하지 않은 상태로 F12 를 입력합니다. 재생을 클릭하지 마...

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