브라우저에서 AES를 사용하여 비밀번호 보호 URL.
링크 잠금은 이제 북마크 노크를 통해 안전하고 숨겨진 북마크를 지원합니다! 여기에서 자세히 알아보십시오.
Link Lock은 URL을 암호화 및 해독하는 도구입니다. 사용자가 암호화 된 URL을 방문하면 비밀번호를 제출합니다. 암호가 올바른 경우 Link Lock은 원래 URL을 검색 한 다음 여기에 리디렉션됩니다. 그렇지 않으면 오류가 표시됩니다. 사용자는 비밀번호 프롬프트 근처에 힌트를 추가 할 수도 있습니다.
각 암호화 된 URL은 애플리케이션에 의해 생성 된 링크 내에 전적으로 저장됩니다. 결과적으로 사용자는 링크 잠금으로 생성 한 모든 데이터를 제어합니다. 서버에 저장된 것은 없으며 쿠키, 추적 또는 가입이 없습니다.
링크 잠금에는 많은 용도가 있습니다.
robots.txt 존중하지 않는 기본 웹 스크레이퍼에 대해 효과적입니다. Link Lock은 GCM 모드에서 AES를 사용하여 비밀번호를 안전하게 암호화하고 안전한 키 파생을 위해 PBKDF2 및 SALTED SHA-256 (100,000 반복)을 암호화합니다. 암호화, 암호 해독 및 키 도출은 모두 SubtleCrypto API에 의해 수행됩니다. 초기화 벡터는 기본적으로 무작위로 표시되지만 소금은 그렇지 않습니다. 초기화 벡터와 소금의 무작위 배정은 "고급 옵션"을 통해 사용자가 활성화 또는 비활성화 할 수 있습니다. 소금 및 초기화 벡터는 암호화 된 데이터가 무작위로 생성되면 전송됩니다. API는 나중의 링크 잠금 버전이보다 안전하도록 업데이트 되더라도 이전 암호화 된 링크가 항상 작동하도록 버전으로 제공됩니다. 자세한 내용은 코드 (특히 api.js )를 읽으십시오.
여기에서 해커 뉴스 토론을 읽으십시오.
R/NetSec에서 논의하고 R/프로그래밍에 대해 논의했습니다.
코드는 읽기 위해 작성되었습니다. 특히 안전한 암호화 응용 프로그램을 구축한다고 믿지 않는 경우 읽으십시오. 특히:
SubtleCrypto API에 대한 MDN 튜토리얼을 기반으로합니다. 링크 잠금을 사용하여 검열을 피할 수 있습니다. jstrieb.github.io 도메인 이름으로 링크를 보내면 위험에 처하게된다면 도메인을 다른 도메인으로 바꾸십시오. 예를 들어 공유
https://wikipedia.org/#eyJ2IjoiMC4wLjEiLCJlIjoiYUgrNDhISkpBWWhkeFFMc0l0VlIzeFlma21mYlZCOFJ5Zz09In0=
대신
https://jstrieb.github.io/link-lock/#eyJ2IjoiMC4wLjEiLCJlIjoiYUgrNDhISkpBWWhkeFFMc0l0VlIzeFlma21mYlZCOFJ5Zz09In0=
모든 도메인은 wikipedia.org 대신에 사용할 수 있습니다. 이렇게하면 변경된 링크를 클릭하는 악의적 인 제 3자가 유효한 페이지로 이동하여 의심을 완화하는 데 도움이됩니다. 링크를 잠금 해제하기 위해 암호를 공유 할 때는 jstrieb.github.io/link-lock 또는 링크 잠금의 로컬 클론으로가는 경로로 도메인 이름을 전환하는 방법을 설명하십시오. 내 도메인에 대한 요청이 없기 때문에 검열을 피하기 위해서는 로컬 사본을 사용하는 것이 특히 권장됩니다.
또는 변경된 링크를 해독 페이지에 직접 붙여 넣습니다. 이 페이지는 붙여 넣은 링크의 도메인 이름을 확인하지 않고 "조각"( # 이후의 부분) 만 확인합니다. 예를 들어, 위의 위키 백과 링크는 도메인을 변경하지 않고 직접 붙여 넣고 해독 할 수 있습니다.
URL 페이지의 로컬 사본을 사용하는 것도 권장됩니다. 전체 웹 페이지는 이런 식으로 안전하고 비밀리에 공유 할 수 있습니다.
이 프로젝트는 적극적으로 유지됩니다. 최근 커밋이 없다면 모든 것이 순조롭게 진행되고 있음을 의미합니다! 링크 스토리지 프로토콜이 업데이트 되더라도 Link Lock은 100% 뒤로 호환되도록 설계되었으므로 잠긴 링크는 절대 파손되지 않습니다.
나에게 어떤 일이 일어 났고 프로젝트에서 계속 일할 수 없더라도 github 계정이 열리고 jstrieb.github.io 도메인이 온라인 상태 인 한 Link Lock은 계속 작동합니다.
이 프로그램이 출시되기 전에이 프로그램에 대한 피드백을 제공 한 사람들에게 감사합니다. Hacker News Second-Chance Pool에도 감사드립니다.
URL에서 비 하이퍼 텍스트 프로토콜을 허용하여 반영된 XSS 취약점을 발견 한 @iammandatory 덕분입니다. 이후 취약점은 고정되었습니다.
링크 잠금을 프랑스어로 번역하고 번역 된 버전을 호스팅 해 주신 Guillaume (@gverdun)에 감사드립니다. 마찬가지로, 독일어 버전을 번역하고 호스팅하기위한 Nele Hirsch (@ebildungslabor)와 Piotr Wereszczyński (@yoursenseicreeper)에게 폴란드어 버전을 번역하고 호스팅합니다.
프로젝트를 지원하기 위해 할 수있는 몇 가지 일이 있습니다.
이런 것들이 내가 구축 한 것을 계속 공유하도록 동기를 부여하고, 그들은 내 작품에 감사한다는 검증을 제공합니다! 또한 프로젝트를 개선하는 데 도움이됩니다. 미리 감사드립니다!
당신이 당신의 지원을 보여주기 위해 돈을 쓰는 것을 고집한다면, 나는 대신 다음 조직 중 하나에 관대 한 기부를하는 것이 좋습니다. 인터넷 자유를 옹호함으로써 이와 같은 조직은 웹에서 공개적으로 작업을 편안하게 풀어주는 데 도움이됩니다.