일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Flutter TextField
- FLUTTER
- Python
- mfc
- 안드로이드 구글맵
- android architecture component
- Kotlin
- Java
- Django REST framework
- android push
- kodility
- livedata
- dart
- 코틀린
- C
- Rxjava2
- flutter firestore
- C++
- Android
- Django REST Android
- RxAndroid
- Django REST
- UWP
- 프로그래머스
- NDK
- RxJava
- 안드로이드
- 알고리즘
- Android P
- C/C++
- Today
- Total
개발하는 두더지
SHA-1 지원 중단으로 인한 SHA-2 표준 적용 본문
모든 OS, 브라우저에서 SHA-1 알고리즘을 지원 중단하고 SHA-2 계열( SHA-224, SHA-256, SHA-384, SHA-512 )을 지원합니다. SHA-256을 가장 많이 사용하므로 SHA-2가 일반적으로 SHA-256을 의미한다고 봐도 될것 같습니다.
SHA는 Secure Hash Algorithm으로 안전한 해시 알고리즘을 의미합니다. SHA-1은 미국 국가안전국(NSA)이 개발해 미국 국립표준기술원(NIST)이 표준으로 공표했습니다. 하지만 SHA-1은 160비트의 메시지 다이제스트를 생성하는데 무차별 대입 공격으로 동일한 해시를 만들 수 있는 취약점이 제기되면서 2011년 1월(NIST 문서 SP800-131A) SHA-2가 새로운 권장 해시 표준이 되었습니다.
NIST의 권장사항으로 모든 인증기관 CA에서 SHA-1 인증서 발급을 중단하고 2016년부터 모든 OS, 브라우저에서 SHA-1 알고리즘 지원 중단을 공표했습니다. 물론 글 작성시간인 2018년까지 SHA-1 인증이 차단되지는 않고 경고 메시지가 출력됩니다.
2017년에 올라온 기사에 따르면 구글 크롬은 버전 57에서 SHA-1 을 쓸 수 있게 해놓았지만 2019년 1월 1일까지 지원을하고 완전히 차단한다고 합니다.
인터넷 익스플로러 IE는 스마트 스크린이란 경고메시지를 보여주는 필터 있습니다. 윈도우 8 버전대, 윈도우 서버 2012버전대에는 SHA-2 서명 기능이 이미 포함되어 있기 때문에 업데이트가 필요하지 않는데 윈도우 7, 윈도우 서버 2008 버전대에는 SHA-2를 지원하지 않아 보안 업데이트를 하거나 수동으로 해야합니다. 3033929 업데이트에서 다중 서명을 지원하고, 다중 디지털 서명을 볼 수 있는 UI 지원하는 등 여러 기능이 추가됩니다.
윈도우에서 코드 사인 인증서를 사용하는 경우 SHA-1 이 완전 지원 중단되기 전까지는 아래와 같이 사용할 수 있습니다. 내부망으로 이루어진 기업체 같이 제한적인 환경을 제외하고는 요즘 윈도우 10 사용자들이 많으며 랜섬웨어와 같은 공격때문에 보안 업데이트를 많이 했을 것으로 보아 대부분의 PC는 SHA-2 을 지원할 것으로 예상됩니다.
1. 보안 업데이트 진행
2. SHA-1 , SHA-2 다중 서명
3. SHA-1 인증 평판 올리기 ( 다운로드 횟수가 1만번 이상이면 인증 평판이 올라간다고 합니다. MS에 유료로 맡길 수도 있고, 수동으로도 가능합니다 )
4. SHA-2 서명
SHA-1 과 SHA-2를 구분하는 방법은 아래 사진 2개를 보시면 됩니다. SHA-1, SHA256 으로 서명 해시 알고리즘을 보면 구분할 수 있습니다.
SHA-1
SHA-2
SHA-1 에 대한 취약점이 제기되면서 2011년부터 SHA-2가 해시 알고리즘 표준이 되었지만 2016년까지 세계적으로 적용되고 있지는 않았습니다. 당시 SHA-1 의 취약점은 이론적인 이야기일 뿐이였기 때문이였는데, 2016년에 암호화를 사용하는 세계의 주요 업체(구글, MS등)에서 2018년 1월 1일까지 SHA-1에서 SHA-2로의 전환을 의무화하였습니다. 그리고 2017년 초까지 많은 업체들이 SHA-2로 업데이트를 완료했고 2017년 중순에 구글에서 SHA-1 충돌 공격 성공을 발표함으로써 전 세계 대부분의 기업들이 SHA-2로 전환을 완료했습니다.
'알고리즘' 카테고리의 다른 글
[Kodility] OddOccurrencesInArray (0) | 2019.01.30 |
---|---|
[Kodility] A binary gap (1) | 2019.01.29 |
[리트코드 102] Binary Tree Level Order Traversal (0) | 2018.09.15 |
[리트코드 94] Binary Tree Inorder Traversal (0) | 2018.09.15 |
[프로그래머스] 행렬의 곱셈 (0) | 2018.04.20 |