2012-02-26 14 views
9

Estoy diseñando una API que interactúa con MongoDB.Mongo ObjectIDs: ¿Seguro de usar en la naturaleza?

Ahora la pregunta es, si es segura para utilizar el ID de objeto prima para consultar objetos etc. podrían surgir problemas de seguridad cuando se utiliza el OID directamente (por ejemplo, en las consultas), o debería cifrar/descifrar antes dejan mi entorno de servidor?

Respuesta

10

Consulte la especificación de ID de objeto BSON here y sabrá si es seguro para usted usar.

Si intenta protegerse de los usuarios que envían URL diferentes de las secuencias de comandos (fuskators), entonces me parece que tiene poca seguridad. No habrá demasiadas combinaciones de partes 'máquina', 'pid'. La parte de 'tiempo' se puede calcular si el atacante puede tener una idea de cómo se insertaron los datos (especialmente si se usa un lote). 'inc' - muy débil.

No confiaré en ObjectID como la única seguridad.

Tenga en cuenta que no puede haber una respuesta correcta a la pregunta "¿es seguro?" En general. Debes decidir tú mismo.

PS. Pero tenga en cuenta que dicha seguridad basada en URL se perderá en el polvo cuando los usuarios compartan las URL que visitaron. Incluso el mejor cifrado no ayudará.

2

Creo que no es mucho más seguro, si no comparte los identificadores de objetos, porque un posible atacante, que podría conocer un posible problema de seguridad, también podría usar un ataque de fuerza bruta u otra cosa para obtener el identificaciones de objeto.

Eventualmente this question puede ayudarlo también.

Cuestiones relacionadas