COMP3334代做、SQL设计编程代写
COMP3334 Project
End-to-end encrypted chat web application
Semester 2, 2023/2024
Nowadays, web services are the most
common form of applications that users are
exposed to. Web browsers become the most
popular application on a computer that
enables users to access those web services.
Ensuring the security of web services is
essential for the Internet. Moreover, privacy
of communications is an important feature of
modern times. Your job is to implement an
end-to-end encrypted chat web application
and secure various aspects of the website.
Overview
Objectives
1. Adapt a basic chat web application to become a secure E2EE chat web app
2. Comply with some of the requirements in NIST Special Publication 800-63B “Digital
Identity Guidelines – Authentication and Lifecycle Management” for US federal
agencies (which is also a reference for other types of systems)
3. Implement a secure MFA mechanism based on passwords and OTP (or FIDO2)
4. Encrypt communications between two users so that the server does not know the
content of the messages (E2E encryption)
5. Protect communications in transit by configuring a modern TLS deployment
6. Package a docker image of your web app
Requirements (authentication)
1. From NIST Special Publication 800-63B:
1. Comply with all SHALL and SHOULD requirements from sections listed below
2. Use the following authenticators:
• User-chosen Memorized Secret (i.e., password/passphrase)
• and Single-Factor OTP Device (e.g., Google Authenticator)
• or Single-Factor Cryptographic Device (e.g., Yubikey) if you have one
• and Look-Up Secrets (recovery keys)
• Comply with related requirements in §5.1 and §4.2.2
• §5.1.1.2: “Memorized secrets SHALL be salted and hashed using a suitable one-way key
derivation function”
• See our Password Security lecture for an appropriate function
• Memorized Secret Verifiers (§5.1.1.2)
• Choose “Passwords obtained from previous breach corpuses” and refer to
https://haveibeenpwned.com/API/v3#PwnedPasswords for the corpus to check against
• §5.2.8 and §5.2.9 are automatically complied
Requirements (authentication)
1. From NIST Special Publication 800-63B:
3. §5.2.2: Implement rate-limiting mechanisms AND image-based CAPTCHAs
4. Implement new account registration and bind authenticators (OTP/Yubikey and recovery keys) at
the same time
• Optional: provide a way to change authenticators after account registration
5. §7.1: Implement proper session binding requirements
6. Exceptions:
• OTP authenticators — particularly software-based OTP generators — SHOULD discourage and
SHALL NOT facilitate the cloning of the secret key onto multiple devices.
• Google Authenticator and related apps are OK
Requirements (E2EE chat)
2. Once users are logged in, secure chat messages between two users in a way so that the server cannot
decrypt the messages
1. Use the ECDH key exchange protocol to establish a shared secret between two users
• Leverage the WebCrypto API, see demo https://webkit.org/demos/webcrypto/ecdh.html
• Exchanged information during the key exchange can be sent through the server
• The server is trusted not to modify messages of the key exchange
• Choose P-384 as the underlying curve
2. Derive two 256-bit AES-GCM encryption keys and two 256-bit MAC keys from the shared secret
using HKDF-SHA256
• One key for encryption between user1 to user2, and another one from user2 to user1
• Using WebCrypto API again, see https://developer.mozilla.org/enUS/docs/Web/API/HkdfParams
• The salt should be unique so another key derivation in the future produces different keys, use
for instance a counter starting at 1
• The info parameter should represent the current context (e.g., “CHAT_KEY_USER1to2” for the
key for user1user2, and “CHAT_MAC_USER1to2” for the MAC key for user1user2)
Requirements (E2EE chat)
2. Once users are logged in, secure chat messages between two users in a way so that the server cannot
decrypt the messages
3. Messages will be encrypted using AES in GCM mode
• 96-bit IVs are counters representing the number of messages encrypted with the same key
• Note: GCM does not require unpredictable IVs, but unique IVs
• Send the IV together with the ciphertext to the recipient
• As a recipient, verify that IV
- ins群发软件/ins营销软件,2024新版功能全新上线火速爆粉联系天宇
- 群发云控怎样有利于海外营销
- TG/Telegram群发引流营销软件,电报如何采集隐藏用户/TG协议号
- Instagram营销软件购买指南,Ins自动引流推广采集软件一键搞定!
- Telegram群组活跃软件,TG自动化炒群工具,电报脚本炒群神器
- Instagram营销群发软件,Ins引流工具,让你的营销事半功倍!
- 数字战略巨星 海外高手揭秘 WhatsApp拉群营销工具是业务成功的奥秘所在
- 威雅学校:2024威雅校友英国首聚!共同编织校友网络,共创威雅美好未来
- Ins高效筛选助手,Instagram群发代发工具,让你的营销更高效!
- 解锁数字商海的全新纪元:2024年WhatsApp筛选器拉群人才引领行业巅峰
- 创意如梦 业务如画 WhatsApp拉群工具为您的品牌敲开创意的大门
- WhatsApp/ws群发/ws协议号/ws频道号出售
- 与客户通过WhatsApp拉群工具的亲切对话 是我最爱的生意喜悦时光
- 商业先锋推荐WhatsApp工具助力海外营销高手揭示市场趋势的独到智慧
- 未来商战,风起云涌,我一名科技魔法师,手握WhatsApp拉群营销工具,决心打破次元,开创业务新境界。
- 外贸小白求助 WhatsApp拉群营销工具哪个好用 大家有没有心得分享
- WhatsApp群发协议工具/ws协议号/ws频道号/ws业务咨询大轩
- Alpha律所管理系统,助力律师团队管理提效再升级
- Ins/Instagram营销采集机器人,ins博主粉丝精准采集利器全新登场!
- WhatsApp群发软件,ws营销软件/ws协议号/ws拉群/ws业务咨询大轩
- 数据洞察TG-WS-LINE云控/自动注册机/筛料/群发炸粉:Line代筛料子揭示您业务中的关键信息
- instagram外贸营销都在用的软件,ins最强营销引流群发助手
- 海外营销专家无一不推崇的WhatsApp拉群工具 助你轻松征服国际市场
- Instagram营销采集软件,ins超强采集私信工具/ig采集神器来袭
- Ins/Instagram精准引流软件,ins群发营销打粉新高度!
- TT语音公司六次上榜中国互联网综合实力百强企业
- LitePoint、Morse Micro与AzureWave合作,推动Wi-Fi HaLow在工业物联网中的应用
- WhatsApp拉群可以帮你海外市场实现了营销的巨大突破,从此站上了事业的巅峰
- 精准目标:zalo筛选器帮你精确锁定海外市场的核心受众
- 美国移民EB-5新闻:益博区域中心被起诉
推荐
- 如何经营一家好企业,需要具备什么要素特点 我们大多数人刚开始创办一家企业都遇到经营 科技
- 丰田章男称未来依然需要内燃机 已经启动电动机新项目 尽管电动车在全球范围内持续崛起,但丰田章男 科技
- 全力打造中国“创业之都”名片,第十届中国创业者大会将在郑州召开 北京创业科创科技中心主办的第十届中国创业 科技
- 智慧驱动 共创未来| 东芝硬盘创新数据存储技术 为期三天的第五届中国(昆明)南亚社会公共安 科技
- 苹果罕见大降价,华为的压力给到了? 1、苹果官网罕见大降价冲上热搜。原因是苹 科技
- 老杨第一次再度抓握住一瓶水,他由此产生了新的憧憬 瘫痪十四年后,老杨第一次再度抓握住一瓶水,他 科技
- 创意驱动增长,Adobe护城河够深吗? Adobe通过其Creative Cloud订阅捆绑包具有 科技
- 升级的脉脉,正在以招聘业务铺开商业化版图 长久以来,求职信息流不对称、单向的信息传递 科技
- B站更新决策机构名单:共有 29 名掌权管理者,包括陈睿、徐逸、李旎、樊欣等人 1 月 15 日消息,据界面新闻,B站上周发布内部 科技
- 疫情期间 这个品牌实现了疯狂扩张 记得第一次喝瑞幸,还是2017年底去北京出差的 科技