일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- drift
- intent
- 테스트
- 앱바
- viewmodel
- textview
- activity
- ScrollView
- 계측
- TEST
- android
- data
- livedata
- tabbar
- textfield
- Coroutines
- appbar
- scroll
- binding
- Button
- Navigation
- 안드로이드
- DART
- CustomScrollView
- Compose
- LifeCycle
- Dialog
- Kotlin
- Flutter
- 앱
- Today
- Total
목록분류 전체보기 (358)
Study Record
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bc3ebw/btrnC14YRgf/zrtvkPnWqPKbKDLgqKKgrk/img.png)
※ 디지털 서명 예시 주민등록등본 => 인터넷에서 발급(인증서) 앱(코로나 앱) => 인터넷에서 확인(인증서) 1. 메시지 인증과 디지털 서명 디지털 서명도 메시지 인증과 마찬가지로 상대편에 대한 검증을 수행한다. 메시지 인증은 같은 키를 서로 나눠가진 상태로 메시지 인증을 하기 때문에 중간에 해커가 키를 탈취한 상태면 거짓행세를 할 수 있고 부인 방지에 대한 것은 제공해주지 못하기 때문에 주로 상대방에 대한 인증으로 디지털 서명을 사용한다. 2. 디지털 서명 방법 - 공개키 암호 공개키 암호의 private key를 사용해서 사인하고 상대편은 그 사인값을 public key로 검증한다. 공개키 암호에서 private key 는 오직 만든 사람만이 알 수 있다.(public key로는 private ke..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/boXvLK/btrnCPigMtO/ZjCaCuGesI98zBq23FJ5fk/img.png)
※ HTTPS 패킷을 복호화하는 작업은, 인증서에 포함되어 있는 공개키로 데이터를 암호화 하지 않고, 동적으로 생성되 키 쌍을 이용하여 데이터를 암호화할 수도 있기 때문에 서버의 비밀키를 보유하고 있다고하더라도 서버의 모든 SSL 트래픽을 복호화할 수 없다. 패킷 분석 실습 웹서버(Linux) : 192.168.10.200 클라이언트/사용자(Kali) : 192.168.10.60 ☞ 사용하는 프로그램 wireshark curl tcpdump [Linux] 웹서버 설정 (설치) # yum install httpd mod_ssl # systemctl restart httpd # systemctl status httpd [Kali] ㉮ 먼저, 상대편과 https 통신을 할 때 기본적으로 사용하는 암호화 알고리..
HMAC - SHA256 사용하기 from Crypto.Hash import HMAC, SHA256 message = b'hello' # message secretKey = b'secret' # key hMac = HMAC.new(secretKey, message, digestmod=SHA256) print(hMac.hexdigest()) HMAC - SHA256 유효성 검사 from Crypto.Hash import HMAC, SHA256 recMsg = b'hello' recvMac = '88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b' secretKey = b'secret' hMac = HMAC.new(secretKey, recMs..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cyaPxO/btrnCQHlMBR/d0KFQF0Z4lHMvM04rll0Kk/img.png)
안드로이드 스튜디오에서 직접 그래프를 그려보자! 먼저, 그래프를 그리기 위한 새로운 클래스를 만든다. class MyCanvas @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : View(context, attrs, defStyleAttr){ // 뷰의 내용이 렌더링 될때 호출 된다. override fun onDraw(canvas: Canvas?) { super.onDraw(canvas) // 그리고 싶은대로 그린다. } } onDraw() 함수 안에 그래프를 만들 코드를 작성해주면 된다. 기본적으로 canvas 로 그림을 그리기 위해서 Paint() 객체로 그림을 그릴 선 혹은..
arp cache table 관련 명령어 1. linux 명령어 # arp -s : IP번호의 MAC주소를 arp cache table에 정적으로 등록한다. - 동적으로 생성된 것과 IP가 같다면 정적으로 등록한 것이 우선시 된다. # arp -a : arp cache table 확인 # arp -d : IP 번호와 관련된 MAC 주소를 삭제한다. # arp -an : 해석된 이름을 보여주지 않고 arp cache table 내용을 보여준다. 2. window 명령어 c:\> arp -d : arp cache table 전체 내용 지움 c:\> arp -a : arp cache table 내용 확인 c:\> netsh interface show interface : 네트워크 인터페이스 이름 보기 c:\>..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b2USCb/btrnvoyJHQr/frsBcop98NI6JHG4GBbG5k/img.png)
1. 작업 개요 Window 에 Putty 프로그램을 깔아 Putty Key Generator 을 이용해서 private key 와 public key를 생성한 뒤, 리눅스 서버의 ssh에 public key를 등록한뒤, putty 로 만든 private key 를 로드하여 리눅스 서버의 ssh로 접속해본다. 2. 실습 Window : 192.168.10.202 Linux : 192.168.10.200 [Window] ㉮ Window 에 putty 프로그램을 다운받는다. https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html "putty-64bit-0.76-installer.msi" 다운받은 뒤 설치 ㉯ Putty Key Generator 프로그램..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cP6ADz/btrnBhkSwA2/ohzztyPE0qz94GZhh7H0b1/img.png)
1. 메시지 인증 코드(MAC) 개요 Alice 와 Bob의 통신 과정에서 메시지가 변조(무결성 침해)되어도 알 수 있는 방법이 없다. 따라서 메시지 인증 코드(MAC)는 메시지에 대한 인증을 위해 고안되었다. 1-1. 메시지 인증 코드 메시지 인증 코드(message authentication code)란, 무결성을 확인하고, 메세지에 대한 인증을 위한 코드이다. 입력값 : 메세지, 공유하는 키 출력값 : 고정 비트 길이의 코드 1-2. 메시지 인증 코드 과정 1-3. 메시지 인증 코드 VS 해시 함수 메시지 인증 코드는 메시지와 통신하는 두 사람의 공유 키를 사용하여 인증 코드를 만들지만 해시함수는 메시지만 사용하여 해시 출력값을 만든다. 1-4. 메시지 인증 코드에서 사용하는 공유 키 배송 문제 -..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmyaAu/btrnvo6eJ3R/utXKJmVllTUhsqa2haEqkK/img.png)
1. 작업 절차 1-1. 사전준비 Server 는 공개키 암호(RSA_OAEP)에서 사용할 privateKey 와 publicKey 를 새로 생성하거나 저장된 파일에서 가져온다. 1-2. 작업 과정 ① Server 는 Client 에게 public key 를 전송한다. ② Client 는 메시지 암/복호화에 사용할 대칭키를 만든다. ③ Client 는 난수 값(none) 과 대칭키를 이용하여 메시지(m)를 암호화(AES_CTR_E)하여 암호문(Msg_C)을 생성한다. ④ Client 는 Server 에게 보낼 대칭키를 Server 에게 받은 public key 를 이용하여 암호화(RSA_OAEP_E)하여 암호화한 대칭 키(Key_C)를 생성한다. ⑤ Client 는 난수 값(none), 암호문(Msg_C..